/* Shared identity: existing Arial typography, original logo, blue and warm accent. */
body.cm-design{--cm-ink:#172734;--cm-blue:#174f70;--cm-blue-dark:#10394f;--cm-accent:#d97826;--cm-paper:#f6f8f9;--cm-line:#dbe3e8;--cm-muted:#53616c;--cm-radius:12px;color:var(--cm-ink);background:#fff;font-family:Arial,Helvetica,sans-serif}
.cm-design h1,.cm-design h2,.cm-design h3,.cm-design h4{font-family:Arial,Helvetica,sans-serif;letter-spacing:-.025em;line-height:1.18;color:var(--cm-ink)}
.cm-design .main-menu>li>a{font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif;font-size:13px;letter-spacing:0}
.cm-design a:focus-visible,.cm-design button:focus-visible,.cm-design input:focus-visible,.cm-design textarea:focus-visible,.cm-design select:focus-visible,.cm-design summary:focus-visible{outline:3px solid var(--cm-accent);outline-offset:4px}
.cm-design .banner-wrap{padding-top:20px;padding-bottom:20px;background:#fff;color:var(--cm-ink)}
.cm-design .banner-inner{padding-block:0}
.cm-design .logo-wrap a.logo,.cm-design .logo-wrap a.logo picture{display:block;width:150px;height:53px}
.cm-design .logo-wrap img.logo-default{width:150px;height:53px;object-fit:contain;filter:none!important}
.cm-design .navbar-wrap{border-block:1px solid var(--cm-line);background:#fff}
.cm-design .main-menu>li>a:hover,.cm-design .main-menu>li.current-menu-item>a{color:var(--cm-blue)}
.cm-design .entry-content{font-size:18px;line-height:1.75}
.cm-design .entry-content h2{font-size:clamp(24px,2.6vw,32px);margin-top:1.7em}
.cm-design .entry-content h3{font-size:clamp(21px,2vw,26px)}
.cm-design .entry-content a:not(.cm-button){color:var(--cm-blue);text-decoration:underline;text-underline-offset:3px}
.cm-design .entry-content table{font-size:16px;border-color:var(--cm-line)}
.cm-design .entry-content th{background:var(--cm-paper);color:var(--cm-ink)}
.cm-design .entry-content input:not([type=checkbox]):not([type=radio]),.cm-design .entry-content textarea,.cm-design .entry-content select,.cm-design .wpcf7 input[type=email]{border:1px solid #93a6b3;border-radius:6px;padding:12px;font:inherit;max-width:100%}
.cm-design input[type=submit],.cm-design .wpcf7-submit,.cm-design .cm-button{border:0;border-radius:6px;background:var(--cm-blue);color:#fff;min-height:44px;padding:12px 20px;font:700 15px Arial,Helvetica,sans-serif;cursor:pointer;text-decoration:none!important}
.cm-design input[type=submit]:hover,.cm-design .cm-button:hover{background:var(--cm-blue-dark)}
.cm-shell{width:min(1180px,calc(100% - 64px));margin-inline:auto}
.cm-home{padding-bottom:64px;font-size:16px;line-height:1.6}
.cm-home *,.cm-resource-page *{box-sizing:border-box}
.cm-home h1,.cm-home h2,.cm-home h3,.cm-home p,.cm-resource-page h1{margin:0}
.cm-home a{text-decoration:none}
.cm-intro{display:grid;grid-template-columns:1.3fr 1fr;gap:64px;align-items:center;padding:48px 0 38px}
.cm-kicker{display:block;color:var(--cm-blue);font-size:11px;font-weight:700;line-height:1.5;letter-spacing:.1em;text-transform:uppercase}
.cm-intro h1{font-size:clamp(36px,4.2vw,56px);margin:12px 0 14px;line-height:1.03}
.cm-intro>div>p:last-child{color:var(--cm-muted);font-size:17px;max-width:450px}
.cm-search{padding:24px;background:var(--cm-paper);border:1px solid var(--cm-line);border-radius:var(--cm-radius)}
.cm-search label{display:block;font-size:15px;font-weight:700;margin-bottom:12px}
.cm-search>div{display:flex;gap:8px}
.cm-search input{min-width:0;width:100%;height:48px;border:1px solid #93a6b3;border-radius:6px;background:#fff;padding:10px 12px;font:16px Arial,Helvetica,sans-serif}
.cm-search button{background:var(--cm-blue);color:#fff;border:0;border-radius:6px;font:700 14px Arial,Helvetica,sans-serif;padding:12px 16px;cursor:pointer}
.cm-search button:hover{background:var(--cm-blue-dark)}
.cm-home section{margin-block:0 56px}
.cm-section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:22px}
.cm-section-heading h2{font-size:clamp(24px,2.6vw,32px)}
.cm-section-heading .cm-kicker{margin-bottom:6px}
.cm-section-heading>span{font-size:13px;color:var(--cm-muted)}
.cm-feature-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:28px}
.cm-card{height:100%;overflow:hidden;background:#fff;border:1px solid var(--cm-line);border-radius:var(--cm-radius);transition:box-shadow .2s}
.cm-card:hover{box-shadow:0 8px 24px #17273412}
.cm-card__image{display:block;aspect-ratio:16/9;background:linear-gradient(135deg,#e7eff3,#f9e9d9);overflow:hidden}
.cm-card__image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s}
.cm-card:hover .cm-card__image img{transform:scale(1.025)}
.cm-card__placeholder{height:100%;display:grid;place-items:center;color:var(--cm-blue);font-size:16px;font-weight:700}
.cm-card__body{padding:22px}
.cm-card h3{font-size:20px;margin:8px 0 14px}
.cm-card h2{font-size:clamp(25px,2.7vw,35px);margin:9px 0 13px}
.cm-card h2 a,.cm-card h3 a{display:block;color:var(--cm-ink);background:none}
.cm-card h2 a:hover,.cm-card h3 a:hover{color:var(--cm-blue);text-decoration:underline;text-underline-offset:4px}
.cm-card__body>p:not(.cm-meta){font-size:16px;color:var(--cm-muted);margin-bottom:18px}
.cm-meta{display:flex;flex-wrap:wrap;gap:5px;color:var(--cm-muted);font-size:12px;line-height:1.5}
.cm-related{display:grid;gap:16px;align-content:start}
.cm-related .cm-card{display:grid;grid-template-columns:124px 1fr;min-height:136px}
.cm-related .cm-card__image{height:100%;aspect-ratio:auto}
.cm-related .cm-card__body{padding:14px 16px}
.cm-related .cm-card h3{font-size:18px;margin:6px 0 10px}
.cm-needs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 56px}
.cm-needs a{display:grid;grid-template-columns:1fr auto;gap:10px;padding:21px 20px;border:1px solid var(--cm-line);border-top:3px solid var(--cm-accent);border-radius:8px;color:var(--cm-ink);background:#fff}
.cm-needs a:hover{background:var(--cm-paper);border-color:var(--cm-blue)}
.cm-needs strong{font-size:17px;line-height:1.35}
.cm-needs a>span:last-child{color:var(--cm-blue);font-size:20px}
.cm-need-number{grid-column:1/-1;color:var(--cm-muted);font-size:11px;letter-spacing:.1em}
.cm-grid{display:grid;gap:24px}
.cm-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}
.cm-grid--four{grid-template-columns:repeat(4,minmax(0,1fr))}
.cm-text-link{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-weight:700;font-size:13px;color:var(--cm-blue)}
.cm-text-link:hover{text-decoration:underline!important;text-underline-offset:4px}
.cm-resources{background:var(--cm-paper);border:1px solid var(--cm-line);border-radius:16px;padding:32px}
.cm-tool-card{display:flex;flex-direction:column;padding:26px;background:#fff;border:1px solid var(--cm-line);border-radius:var(--cm-radius)}
.cm-tool-icon{display:grid;place-items:center;width:42px;height:42px;margin-bottom:20px;border-radius:10px;background:#eaf1f5;color:var(--cm-blue);font-size:26px}
.cm-tool-card h3,.cm-tool-card h2{font-size:23px;margin:8px 0 12px;line-height:1.2}
.cm-tool-card h3 a,.cm-tool-card h2 a{display:block;color:var(--cm-ink)}
.cm-tool-card>p:not(.cm-kicker){color:var(--cm-muted);font-size:15px;margin-bottom:20px}
.cm-tool-card .cm-text-link{margin-top:auto}
.cm-dossier{display:block;padding:26px 22px;border-top:3px solid var(--cm-accent);border-radius:0 0 8px 8px;background:var(--cm-blue);color:#fff}
.cm-dossier h3{font-size:22px;color:#fff;min-height:54px;margin-bottom:14px}
.cm-dossier p{font-size:14px;color:#e5edf2;margin-bottom:24px}
.cm-dossier>span{font-size:13px;font-weight:700}
.cm-dossier:hover{background:var(--cm-blue-dark)}
.cm-newsletter{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;padding:38px 42px;background:var(--cm-paper);border:1px solid var(--cm-line);border-left:4px solid var(--cm-accent);border-radius:12px}
.cm-newsletter h2{font-size:32px;margin:10px 0 14px}
.cm-newsletter p{font-size:15px;color:var(--cm-muted)}
.cm-newsletter .wpcf7 input[type=email]{width:100%;background:#fff;color:var(--cm-ink);margin:10px 0}
.cm-newsletter .wpcf7 form{position:relative}
.cm-newsletter .wpcf7 input[type=submit]{position:static!important;float:none!important;inset:auto!important;transform:none!important;display:inline-block!important;background:var(--cm-blue)!important;color:#fff!important;border-radius:6px!important}
.cm-newsletter .wpcf7 input[type=email]{position:static!important;border-radius:6px!important}
.cm-newsletter .wpcf7 p{margin-bottom:12px}
.cm-newsletter .wpcf7-response-output{font-size:14px}
.cm-skip{position:fixed;top:10px;left:20px;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;background:#fff;color:var(--cm-blue);z-index:99999}
.cm-skip:focus{width:auto;height:auto;padding:14px;clip-path:none}
.cm-resource-page{padding-block:40px 72px;max-width:1000px;font-size:18px;line-height:1.7}
.cm-resource-page h1{font-size:clamp(32px,4.8vw,52px);margin:12px 0 20px}
.cm-resource-page .cm-lead{color:var(--cm-muted);font-size:20px;margin-bottom:32px}
.cm-resource-content{max-width:780px;margin-top:32px}
.cm-resource-content label{display:block;font-weight:700;margin:12px 0}
.cm-resource-content input[type=number]{display:block;width:180px;max-width:100%;padding:10px;border:1px solid #93a6b3;border-radius:6px;font:inherit}
.cm-resource-content output{display:block;padding:24px;margin:24px 0;border:1px solid var(--cm-line);border-left:4px solid var(--cm-accent);background:var(--cm-paper);font-size:22px;font-weight:700}
.cm-resource-content .cm-copy-text{width:100%;min-height:260px;font:16px/1.6 Arial,Helvetica,sans-serif}
.cm-resource-content input[type=checkbox]{width:20px;height:20px;margin-right:10px;vertical-align:middle;accent-color:var(--cm-blue)}
.cm-resource-content details{padding:16px;border:1px solid var(--cm-line);border-radius:8px;margin-block:16px}
.cm-resource-content summary{cursor:pointer;font-weight:700}
.cm-design .footer-wrap{border-top:1px solid var(--cm-line)}
.cm-footer{border-top:1px solid var(--cm-line);background:var(--cm-paper);padding:40px 0 20px;font-size:14px;line-height:1.6}
.cm-footer__top{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:48px;padding-bottom:32px}
.cm-footer img{display:block;width:150px;height:53px;object-fit:contain;margin-bottom:20px}
.cm-footer p{max-width:280px;color:var(--cm-muted)}
.cm-footer ul{list-style:none;margin:0;padding:0}
.cm-footer a{display:inline-flex;align-items:center;min-height:38px;color:var(--cm-blue);font-weight:700}
.cm-footer__tools{display:flex;flex-direction:column;align-items:start}
.cm-footer__bottom{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;border-top:1px solid var(--cm-line);padding-top:20px;color:var(--cm-muted);font-size:12px}
.cm-footer__bottom>div{display:flex;gap:20px}
@media(max-width:767px){.cm-footer__top{grid-template-columns:1fr;gap:24px}.cm-footer__bottom{flex-direction:column;gap:8px}}
@media(min-width:1025px){.cm-design .main-menu>li>a{padding-inline:12px}.cm-design .navbar-inner{min-height:60px}}
@media(max-width:1024px){.cm-intro{gap:28px}.cm-feature-grid{grid-template-columns:1.25fr 1fr}.cm-related .cm-card{grid-template-columns:86px 1fr}.cm-related .cm-card h3{font-size:16px}.cm-grid--four{grid-template-columns:repeat(2,minmax(0,1fr))}.cm-grid{gap:18px}.cm-resources{padding:24px}.cm-tool-card{padding:20px}.cm-needs a{padding:18px 14px}.cm-newsletter{padding:30px;gap:28px}}
@media(max-width:767px){.cm-shell{width:calc(100% - 36px)}.cm-intro{grid-template-columns:1fr;padding-top:28px;gap:24px}.cm-intro h1{font-size:42px}.cm-search{padding:18px}.cm-search>div{flex-wrap:wrap}.cm-search button{min-height:44px;width:100%}.cm-feature-grid{grid-template-columns:1fr;gap:20px}.cm-card__body{padding:20px}.cm-card h2{font-size:28px}.cm-related .cm-card{grid-template-columns:100px 1fr;min-height:130px}.cm-related .cm-card h3{font-size:18px}.cm-needs{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.cm-needs strong{font-size:16px}.cm-grid--three{grid-template-columns:1fr}.cm-home section,.cm-needs{margin-bottom:38px}.cm-section-heading{align-items:start;flex-wrap:wrap;gap:8px;margin-bottom:18px}.cm-section-heading>span{display:none}.cm-section-heading h2{font-size:27px}.cm-resources{padding:22px 18px;margin-inline:-4px}.cm-tool-card{padding:24px}.cm-grid--four{gap:12px}.cm-dossier{padding:20px 16px}.cm-dossier h3{font-size:20px;min-height:72px}.cm-newsletter{grid-template-columns:1fr;padding:26px;gap:20px}.cm-newsletter h2{font-size:28px}.cm-resource-page{padding-top:28px}.cm-design .entry-content{font-size:17px}}
@media(prefers-reduced-motion:reduce){.cm-card,.cm-card__image img{transition:none}.cm-card:hover .cm-card__image img{transform:none}}
@media print{.cm-design .header-wrap,.cm-design .footer-wrap,.cm-search,.cm-needs,.cm-newsletter,.cm-resource-content button{display:none}.cm-shell{width:100%}.cm-resource-content input{border:1px solid #777}.cm-card{break-inside:avoid}}

/* Practical tool actions: touch targets, local progress and export fallback. */
.cm-tool-actions{display:flex;flex-wrap:wrap;gap:12px;margin-block:20px}
.cm-design .cm-button--secondary{background:#fff;color:var(--cm-blue);border:1px solid var(--cm-blue)}
.cm-design .cm-button--secondary:hover{background:var(--cm-paper)}
.cm-resource-content [data-cm-checklist] label{display:flex;align-items:flex-start;gap:12px;min-height:48px;padding:12px;border:1px solid var(--cm-line);border-radius:8px;cursor:pointer;font-weight:400;line-height:1.5}
.cm-resource-content [data-cm-checklist] input[type=checkbox]{flex:0 0 20px;margin:3px 0 0}
.cm-resource-content [data-cm-progress]{font-weight:700;color:var(--cm-blue)}
.cm-resource-content [hidden]{display:none!important}
.cm-resource-content button:disabled{opacity:.55;cursor:not-allowed}
@media(max-width:767px){.cm-tool-actions{flex-direction:column}.cm-tool-actions .cm-button{width:100%;white-space:normal;line-height:1.4}.cm-resource-content input[type=number]{min-height:48px;width:100%}}
@media print{.cm-tool-actions,[data-cm-download-status],#cm-estimation-copy-status,#cm-estimation-copy{display:none!important}}
