/* The comparison control belongs to the preview, outside each design's header. */
.preview-picker{position:fixed;right:16px;bottom:16px;z-index:100;background:#17261d;color:#f8f8ee;border:1px solid #5d715f;border-radius:16px;box-shadow:0 8px 32px #0002;font-size:12px;font-family:inherit}
.preview-picker>summary{display:flex;align-items:center;gap:12px;padding:8px 12px;cursor:pointer;list-style:none;min-height:40px}.preview-picker>summary::-webkit-details-marker{display:none}.preview-picker>summary>span{color:#c1d1b9}.preview-picker>summary strong{font-weight:600}.preview-picker>summary b{font-size:16px;transition:transform 500ms cubic-bezier(.22,1,.36,1)}.preview-picker[open]>summary b{transform:rotate(180deg)}
.preview-picker__list{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:8px;position:absolute;bottom:calc(100% + 8px);right:0;width:320px;background:#17261df5;backdrop-filter:blur(16px);border:1px solid #5d715f;border-radius:16px;box-shadow:0 8px 32px #0002}.preview-picker__list a{display:flex;gap:8px;align-items:center;padding:8px 12px;border:1px solid #5d715f;border-radius:8px;font-size:12px;transition:background-color 300ms cubic-bezier(.22,1,.36,1),transform 500ms cubic-bezier(.22,1,.36,1)}.preview-picker__list a:hover{background:#354c3b}.preview-picker__list a.is-active{background:#dce4cb;color:#17261d}.preview-picker__list a b{font-weight:600;opacity:.7}.preview-picker a:focus-visible,.preview-picker summary:focus-visible{outline:3px solid #b6c98b;outline-offset:4px}
@media(max-width:640px){.preview-picker{right:8px;bottom:8px}.preview-picker>summary strong{display:none}.preview-picker__list{width:min(320px,calc(100vw - 16px))}}
body{padding-bottom:64px}
.preview-bar,body.admin-bar .preview-bar{position:fixed;top:auto;bottom:15px;left:auto;right:15px;transform:none;width:max-content;max-width:calc(100vw - 24px);min-height:0;z-index:100;padding:6px 8px;display:flex;flex-wrap:nowrap;gap:4px;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:#13231b;color:#f6f8ef;box-shadow:0 15px 45px rgba(0,0,0,.22);white-space:nowrap}
.preview-bar__label{display:none}
.preview-choice{border-radius:999px;padding:5px 11px;line-height:1.15}
.preview-choice b{font-size:.66rem}
.design-3 .preview-bar{background:#13231b}

.site-header{z-index:80}
.site-header a:focus-visible,.site-header button:focus-visible{outline:3px solid #ba543e;outline-offset:3px}
.site-header .primary-nav{margin:0}
.site-header .primary-nav a{white-space:normal}

/* Route: compact service navigation with a separate contact line. */
.site-header--route{background:#f7f7ec;border-bottom:1px solid #c6d4c2}
.route-head__top{background:#254d36;color:#ebf2df;font-size:.72rem}
.route-head__top .container{min-height:29px;display:flex;justify-content:space-between;align-items:center;gap:20px}
.route-head__top a{font-weight:800}
.route-head__main{min-height:74px;display:flex;align-items:center;gap:30px}
.route-head__brand{display:flex;align-items:center;gap:11px;flex:none;color:#234a34}
.route-head__brand span{width:44px;height:44px;border-radius:50%;border:2px solid currentColor;display:grid;place-items:center;font-family:Georgia,serif;font-size:1.7rem;font-weight:700}
.route-head__brand strong{font-size:1.05rem;text-transform:uppercase;letter-spacing:.06em}
.route-head__nav{display:flex;gap:23px;align-items:center;margin-left:auto!important}
.route-head__nav a{font-size:.8rem;font-weight:750}
.route-head__nav a:hover{color:#b14d38}
.route-head__cta{background:#e0d095;color:#233a29;padding:12px 17px;border-radius:30px;font-size:.8rem;font-weight:800;white-space:nowrap;display:flex;gap:12px;align-items:center}
.route-head__cta:hover{background:#f0dea0;transform:translateY(-2px)}

/* Journal: the masthead is the brand; section navigation reads like an index. */
.site-header--journal{background:#f8f7f0;color:#1d2b22;border-bottom:0}
.journal-head__line{display:flex;justify-content:space-between;gap:20px;padding:9px 0;border-bottom:1px solid #64776b;font-size:.7rem;font-weight:750}
.journal-head__mast{min-height:104px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.journal-head__mast>a{font-family:Georgia,serif;font-size:clamp(3rem,6vw,6.2rem);font-weight:400;letter-spacing:-.095em;line-height:.95}
.journal-head__mast>span{font-family:Georgia,serif;font-size:1.12rem;line-height:1.15;text-align:right}
.journal-head__rule{border-top:3px double #26392b;border-bottom:2px solid #26392b}
.journal-head__rule>.container{display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:47px}
.journal-head__nav{display:flex;gap:27px;align-items:center}
.journal-head__nav a{font-family:Georgia,serif;font-weight:400!important;font-size:.86rem!important}
.journal-head__nav a:hover{text-decoration:underline;text-underline-offset:4px}
.journal-head__cta{font-size:.8rem;font-weight:800;border-left:1px solid #879488;padding:10px 0 10px 20px;white-space:nowrap}
.journal-head__cta:hover{color:#a64839}

/* Panel: utilitarian segmented command bar. */
.site-header--panel{background:#0b1917;color:#e1eddb;border-bottom:1px solid #456a55}
.panel-head__main{min-height:78px;display:flex;align-items:stretch;gap:0}
.panel-head__brand{display:flex;align-items:center;gap:10px;padding-right:25px;border-right:1px solid #365744;flex:none}
.panel-head__brand>span{width:38px;height:38px;border:1px solid #7ba684;display:grid;place-items:center;color:#d3e6aa;font-family:Georgia,serif;font-size:1.9rem}
.panel-head__brand strong{font-size:.92rem;letter-spacing:.04em}.panel-head__brand small{display:block;font-size:.63rem;color:#97b39d}
.panel-head__nav{display:flex;align-items:stretch;gap:0;margin-left:auto!important}
.panel-head__nav a{display:flex;align-items:center;gap:6px;padding:0 14px;border-right:1px solid #365744;font-size:.79rem;font-weight:700}
.panel-head__nav a:first-child{border-left:1px solid #365744}
.panel-head__nav a span{color:#aecaa2;font-size:.66rem}
.panel-head__nav a:hover{background:#1c3329;color:#dbeca8}
.panel-head__cta{align-self:center;background:#d6e2a2;color:#173021;padding:11px 14px;margin-left:17px;font-size:.8rem;font-weight:850;white-space:nowrap}
.panel-head__cta:hover{background:#e4eeae;transform:translateY(-2px)}

/* Dialogue: a human portrait mark and conversational navigation. */
.site-header--dialogue{background:#f4f8f1;border-bottom:0;box-shadow:0 8px 20px rgba(31,70,42,.045)}
.dialogue-head__main{min-height:86px;display:flex;align-items:center;gap:22px}
.dialogue-head__brand{display:flex;align-items:center;gap:11px;flex:none}
.dialogue-head__brand>span{width:45px;height:45px;border-radius:50%;background:#cce0c9;overflow:hidden;display:flex;align-items:end;justify-content:center}
.dialogue-head__brand img{height:100%;width:100%;object-fit:contain;object-position:bottom}
.dialogue-head__brand strong{display:block;font-size:.9rem;line-height:1.15}.dialogue-head__brand small{display:block;color:#6e8471;font-weight:500;font-size:.7rem;margin-top:3px}
.dialogue-head__nav{display:flex;align-items:center;gap:3px;margin-left:auto!important}
.dialogue-head__nav a{font-size:.78rem;font-weight:750;padding:9px 12px;border-radius:22px}
.dialogue-head__nav a:hover{background:#dfeede;color:#275b3b}
.dialogue-head__cta{background:#346b49;color:#fff;border-radius:28px;padding:12px 18px;font-size:.8rem;font-weight:800;display:flex;gap:12px;white-space:nowrap}
.dialogue-head__cta:hover{background:#27583b;transform:translateY(-2px)}

/* Dossier: full-height side rail, so the hero starts at the top of the page. */
.design-5{--file-rail:214px}
.site-header--file,.design-5 .site-header--file{position:fixed;top:0;left:0;bottom:0;width:var(--file-rail);background:#294432;color:#f6f5e8;border:0;display:flex;flex-direction:column;box-shadow:4px 0 0 #94aa8b}
.file-head__top{padding:25px 21px;border-bottom:1px solid #66846a}
.file-head__brand{display:flex;align-items:center;gap:10px}
.file-head__brand>span{width:42px;height:42px;background:#e0dfbf;color:#304c35;display:grid;place-items:center;font-family:Georgia,serif;font-size:1.6rem;font-weight:700}
.file-head__brand strong{font-size:1rem;text-transform:uppercase;line-height:1.1;letter-spacing:.025em}.file-head__brand small{display:block;font-size:.62rem;font-weight:500;text-transform:none;color:#bdcfbd;margin-top:4px}
.site-header--file .menu-toggle{color:#f6f5e8;border-color:#93af97;background:#34563d}
.file-head__nav{display:flex;flex-direction:column;align-items:stretch;gap:0;margin:26px 0 auto!important}
.file-head__nav a{display:flex;align-items:center;gap:12px;padding:17px 21px;border-bottom:1px solid #4f7055;font-size:.84rem;font-weight:750}
.file-head__nav a:first-child{border-top:1px solid #4f7055}
.file-head__nav a span{color:#cbd09d;font-family:Georgia,serif;font-size:.88rem}
.file-head__nav a:hover{background:#3e6046;color:#fff}
.file-head__bottom{display:grid;gap:12px;padding:20px;border-top:1px solid #66846a;font-size:.74rem;font-weight:750}
.file-head__bottom a:last-child{display:block;background:#ab503c;color:#fff;padding:13px 11px;font-size:.79rem;text-align:center}
.file-head__bottom a:last-child:hover{background:#c26549}
.design-5 main,.design-5 .site-footer{margin-left:var(--file-rail)}
.design-5 .file-hero__grid{min-height:720px}

@media(max-width:1200px){
 .route-head__main{gap:18px}.route-head__nav{gap:15px}.route-head__nav a{font-size:.72rem}
 .journal-head__nav{gap:15px}.journal-head__nav a{font-size:.78rem!important}
 .panel-head__nav a{padding:0 8px;font-size:.7rem}.panel-head__cta{font-size:.74rem;margin-left:8px}
 .dialogue-head__nav a{padding:8px;font-size:.72rem}
}
@media(max-width:950px){
 .route-head__main,.panel-head__main,.dialogue-head__main{min-height:72px}
 .site-header .menu-toggle{display:block;margin-left:auto}
 .site-header .primary-nav{display:none;position:absolute;top:100%;left:0;right:0;z-index:82;background:var(--surface);color:var(--ink);padding:14px 20px 20px;box-shadow:0 15px 20px rgba(0,0,0,.14);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0}
 .site-header .primary-nav.is-open{display:flex}
 .site-header .primary-nav a,.site-header .primary-nav a:first-child{display:block;border:0;border-bottom:1px solid var(--line);padding:12px;font-size:.93rem!important;background:transparent}
 .site-header .primary-nav a span{display:inline;margin-right:8px}
 .route-head__cta,.panel-head__cta,.dialogue-head__cta{display:none}
 .journal-head__mast{min-height:83px}.journal-head__mast>a{font-size:4.5rem}.journal-head__mast>span{display:none}.journal-head__mast .menu-toggle{display:block}
 .journal-head__rule>.container{min-height:0}.journal-head__cta{display:none}
 .site-header--file,.design-5 .site-header--file{position:relative;width:auto;height:auto;min-height:0;display:block;box-shadow:none}
 .file-head__top{display:flex;align-items:center;justify-content:space-between;padding:14px 24px}
 .file-head__nav{margin:0!important}
 .file-head__bottom{display:none}
 .design-5 main,.design-5 .site-footer{margin-left:0}
 .design-5 .file-hero__grid{min-height:0}
}
@media(max-width:640px){
 body{padding-bottom:60px}
 .preview-bar,body.admin-bar .preview-bar{left:8px;right:8px;bottom:8px;transform:none;width:auto;max-width:none;padding:5px;justify-content:flex-start;overflow-x:auto;scrollbar-width:none}
 .preview-bar::-webkit-scrollbar{display:none}
 .preview-bar__label{display:none}
 .preview-choice{flex:1 1 0;padding:7px 3px;justify-content:center;min-width:0;font-size:.65rem}
 .preview-choice b{display:none}
 .route-head__top{display:none}.route-head__main{min-height:68px}.route-head__brand span{width:37px;height:37px;font-size:1.4rem}.route-head__brand strong{font-size:.9rem}
 .journal-head__line{font-size:.6rem;padding:7px 0}.journal-head__line span:nth-child(2),.journal-head__line a{display:none}
 .journal-head__mast{min-height:72px;gap:12px}.journal-head__mast>a{font-size:2.7rem}.journal-head__mast .menu-toggle{white-space:nowrap;font-size:.8rem;padding:8px 10px}.journal-head__rule{height:5px}
 .panel-head__brand{padding-right:0;border-right:0}.panel-head__brand strong{font-size:.82rem}.panel-head__brand small{font-size:.58rem}
 .dialogue-head__main{min-height:68px}.dialogue-head__brand>span{width:40px;height:40px}.dialogue-head__brand strong{font-size:.79rem}.dialogue-head__brand small{font-size:.62rem}
 .file-head__top{padding:12px 17px}.file-head__brand>span{width:38px;height:38px}
}
