/* Shared social signatures and comfortable contact/bio dialogs. */
.b-header-actions{display:flex;align-items:center;gap:24px}
.b-nav .b-header-actions>nav{gap:22px}
.b-nav .b-nav-book{white-space:nowrap}
.b-socials{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-shrink:0}
.b-socials a{display:grid;place-items:center;min-width:30px;width:30px;height:36px;line-height:1}
.b-socials a svg{width:22px;height:22px;fill:currentColor;stroke:none}
.b-socials .b-social-flame{width:7px;height:11px;fill:var(--brand-orange);stroke:none;flex:0 0 7px}
.b-socials a:hover,.b-socials a:focus-visible{color:var(--brand-orange)}
.b-nav .b-socials{color:#172423}
.b-footer .b-socials{color:#f3eddf}
#detail:has(.b-contact-sheet),#detail:has(.b-bio-sheet){width:calc(100% - 40px);max-width:760px;max-height:calc(100dvh - 48px);padding:58px 60px 48px;overflow:auto;background:#f3eddf;color:#172423;box-sizing:border-box}
#detail .close{position:absolute;top:12px;right:16px;width:44px;height:44px;padding:0;display:grid;place-items:center;font:32px/1 'DM Sans',sans-serif;color:#172423}
#detail :is(.b-contact-sheet,.b-bio-sheet) .eyebrow{font:600 14px/1.5 'DM Sans',sans-serif;letter-spacing:.1em;text-transform:uppercase;margin:0 0 18px;color:var(--brand-orange)}
#detail :is(.b-contact-sheet,.b-bio-sheet) h2{font:400 clamp(36px,4.6vw,58px)/1.08 'DM Serif Display',Georgia,serif;letter-spacing:-.035em;margin:0 0 28px}
#detail .b-contact-sheet h2 em{color:var(--brand-orange)}
#detail .b-contact-deck{max-width:54ch;margin:-10px 0 28px;font:18px/1.55 Georgia,serif}
#detail .b-bio-copy{max-width:60ch}
#detail .b-bio-copy p{font:18px/1.75 Georgia,serif;margin:0 0 22px;max-width:none}
#detail .b-bio-copy p:last-child{margin-bottom:0}
#b-contact-form{display:grid;grid-template-columns:1fr 1fr;gap:22px 20px;margin-top:0}
#b-contact-form label{display:grid;gap:8px;min-width:0;font:500 15px/1.5 'DM Sans',sans-serif}
#b-contact-form :is(input,select){width:100%;min-width:0;min-height:48px;padding:12px;border:1px solid #647269;background:#fff9;border-radius:0;color:#172423;box-sizing:border-box;font:16px/1.5 'DM Sans',sans-serif}
#b-contact-form :is(input,select):focus-visible{outline:2px solid var(--brand-orange);outline-offset:2px}
#b-contact-form .cta{grid-column:1/-1;justify-self:start;display:inline-flex;gap:0;margin:6px 0 0;background:var(--brand-orange);color:#fff;padding:14px 22px;border:0;font:500 16px/1.5 'DM Sans',sans-serif}
#b-contact-form .cta:hover{background:var(--brand-orange-deep)}
#b-contact-form .b-form-note{grid-column:1/-1;font:13px/1.6 'DM Sans',sans-serif;margin:0;max-width:52ch;color:#172423b3}
.case-nav>.b-socials{margin-left:0}
@media(max-width:1100px) and (min-width:701px){.b-header-actions{gap:15px}.b-nav .b-header-actions>nav{gap:16px}.b-nav{gap:20px}.case-nav>span{display:none}}
@media(max-width:700px){
 .b-header-actions{flex-direction:column;align-items:flex-end;gap:5px}
 .b-nav .b-header-actions>nav .b-nav-book{display:inline-flex;font-size:13px}
 .b-header-actions .b-socials{gap:6px}
 .b-header-actions .b-socials a{width:28px;min-width:28px;height:30px}
 .b-header-actions .b-socials a svg{width:20px;height:20px}
 #detail:has(.b-contact-sheet),#detail:has(.b-bio-sheet){width:calc(100% - 24px);max-height:calc(100dvh - 24px);padding:58px 24px 30px}
 #detail :is(.b-contact-sheet,.b-bio-sheet) .eyebrow{font-size:13px}
 #detail :is(.b-contact-sheet,.b-bio-sheet) h2{font-size:36px;margin-bottom:24px}
 #detail .b-contact-deck{font-size:17px;margin-top:-8px;margin-bottom:24px}
 #detail .b-bio-copy p{font-size:17px;line-height:1.7;margin-bottom:20px}
 #b-contact-form{grid-template-columns:1fr;gap:18px}
 #b-contact-form .cta{justify-self:stretch;justify-content:center}
 .case-nav{flex-wrap:wrap}.case-nav>.b-socials{margin-left:auto}
}
#detail .b-bio-sheet h2{margin-bottom:8px}
#detail .b-bio-title{font:500 15px/1.5 'DM Sans',sans-serif;color:var(--brand-orange);margin:0 0 30px}
.b-bio-recognition{margin-top:34px;padding-top:28px;border-top:1px solid #17242330}
.b-bio-recognition h3{font:600 13px/1.5 'DM Sans',sans-serif;letter-spacing:.1em;margin:0 0 20px;color:var(--brand-orange)}
.b-bio-recognition ul{list-style:none;margin:0;padding:0;display:grid;gap:20px}
.b-bio-recognition li{display:grid;gap:4px}
.b-bio-recognition strong{font:600 14px/1.5 'DM Sans',sans-serif;letter-spacing:.02em}
.b-bio-recognition li span{font:16px/1.6 Georgia,serif}
@media(min-width:701px){.b-legendary .b-nav>span{position:static;transform:none;flex:1;min-width:0;white-space:normal}.b-header-actions{flex-shrink:0}}

/* Give the complete contact headline a single calm desktop line. */
@media(min-width:701px){
 #detail:has(.b-contact-sheet){max-width:960px;padding-left:48px;padding-right:48px}
 #detail .b-contact-sheet h2{font-size:clamp(28px,3.8vw,44px);white-space:nowrap}
}

@media(max-width:700px){.b-nav .b-header-actions>nav .b-nav-insights{display:inline-flex;font-size:13px}}

/* Compact marks with generous hit areas and a quiet trademark. */
.b-nav>span sup,.case-nav>span sup{font-size:.5em;line-height:0;vertical-align:super;margin-left:.08em}
.b-nav .b-socials a svg,.case-nav .b-socials a svg{width:18px;height:18px}
.b-nav .b-socials a,.case-nav .b-socials a{width:36px;min-width:36px;height:36px}
@media(min-width:701px){.b-nav .b-header-actions{gap:26px}}

/* Keep the agency descriptor with the wordmark, in the navigation’s own type. */
.b-brand-lockup{display:flex;flex-direction:column;align-items:flex-start;gap:0;flex-shrink:0}
.b-nav .b-brand-tagline{font:400 12px/1.5 'DM Sans',sans-serif;letter-spacing:0;white-space:nowrap;text-align:left}
.case-nav .b-brand-tagline{font:400 14px 'DM Sans',sans-serif;letter-spacing:0;white-space:nowrap;text-align:left}
.b-brand-tagline sup{font-size:.5em;line-height:0;vertical-align:super;margin-left:.08em}
.b-legendary .b-nav{padding-top:11px;padding-bottom:11px}
@media(max-width:700px){.b-nav .b-brand-tagline{font-size:13px}.b-legendary .b-nav{min-height:130px;flex-wrap:nowrap}.case-nav .b-brand-lockup{width:100%}}

.b-nav .b-brand-tagline,.case-nav .b-brand-tagline{font-style:italic}
@media(min-width:981px){
 .b-nav .b-header-actions{flex:1;margin-left:38px;gap:26px}
 .b-nav .b-header-actions>nav{flex:1;justify-content:space-between;gap:24px}
 .b-nav .b-header-actions>nav a{font-size:15px}
 .b-nav .b-brand-tagline{font-size:15px}
}

/* Keep navigation as a compact group in the available center. */
@media(min-width:701px){.b-nav .b-header-actions{margin-left:0;gap:26px}.b-nav .b-header-actions>nav{justify-content:center;gap:30px}}
@media(min-width:701px) and (max-width:950px){.b-nav .b-header-actions>nav{gap:18px}.b-nav .b-header-actions>nav a{font-size:14px}}

/* A complete, compact mobile menu keeps every destination available. */
.b-menu-toggle{display:none}
.b-nav-panel{display:flex;align-items:center;gap:26px}
@media(min-width:701px){.b-nav .b-nav-panel>nav{display:flex;align-items:center;justify-content:center;gap:30px}}
@media(max-width:700px){
 .b-legendary .b-nav{min-height:auto;flex-wrap:nowrap;align-items:flex-start;padding:16px 6%}
 .b-nav .b-header-actions{display:block;flex:0 0 auto;margin-top:4px}
 .b-menu-toggle{display:inline-flex;align-items:center;gap:10px;padding:10px 0;font:600 14px/1 'DM Sans',sans-serif;letter-spacing:.06em;text-transform:uppercase}
 .b-menu-toggle i,.b-menu-toggle i::before,.b-menu-toggle i::after{display:block;width:20px;height:1px;background:currentColor;transition:transform .2s ease}
 .b-menu-toggle i{position:relative}.b-menu-toggle i::before,.b-menu-toggle i::after{content:"";position:absolute;left:0}.b-menu-toggle i::before{top:-6px}.b-menu-toggle i::after{top:6px}
 .b-nav.is-menu-open .b-menu-toggle i{background:transparent}.b-nav.is-menu-open .b-menu-toggle i::before{transform:translateY(6px) rotate(45deg)}.b-nav.is-menu-open .b-menu-toggle i::after{transform:translateY(-6px) rotate(-45deg)}
 .b-nav-panel{display:none}
 .b-nav.is-menu-open .b-nav-panel{display:flex;position:absolute;top:100%;left:0;right:0;z-index:20;flex-direction:column;align-items:stretch;gap:18px;padding:20px 6% 24px;background-color:var(--site-paper,#f3eddf);background-image:var(--parchment-surface);background-size:auto,1000px auto;box-shadow:0 12px 20px #1724231c;border-top:1px solid #17242320}
 .b-nav .b-nav-panel>nav{display:flex;flex-direction:column;align-items:stretch;gap:0;margin:0}
 .b-nav .b-nav-panel>nav a{display:flex!important;padding:13px 0;border-bottom:1px solid #17242322;font-size:18px!important}
 .b-nav .b-nav-panel .b-socials{display:flex;justify-content:flex-start;gap:9px}
 .b-nav .b-nav-panel .b-socials a{width:34px;min-width:34px;height:34px}
}

.b-registered-logo{display:inline-flex;align-items:flex-start;gap:3px}
.b-registered-logo>sup{font:400 13px/1 'DM Sans',sans-serif;position:relative;top:9px}
.b-socials .b-social-flame{width:11px;height:17px;flex-basis:11px}
.b-socials .b-social-flame-core{fill:#f3c78d}
.b-footer .b-socials .b-social-flame{width:15px;height:22px;flex-basis:15px;fill:var(--brand-orange-light)}

/* On larger screens, reserve the center of the header for navigation. */
@media(min-width:701px){
 .b-legendary .b-nav{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:24px}
 .b-nav .b-header-actions,.b-nav .b-nav-panel{display:contents}
 .b-nav .b-brand-lockup{grid-column:1;justify-self:start}
 .b-nav .b-nav-panel>nav{grid-column:2;justify-self:center}
 .b-nav .b-nav-panel>.b-socials{grid-column:3;justify-self:end}
}

/* Case studies and insights use this same menu pattern outside the homepage shell. */
@media(min-width:701px){
 .case-nav{position:relative}
 .case-nav-panel{position:absolute;left:6%;right:6%;top:50%;transform:translateY(-50%);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:0;margin-left:0}
 .case-nav-panel nav{grid-column:2;justify-self:center}
 .case-nav-panel .b-socials{grid-column:3;justify-self:end}
 .case-menu-toggle{display:none}
}
@media(max-width:700px){
 .case-nav{position:relative;flex-wrap:nowrap;align-items:flex-start}
 .case-nav .b-brand-lockup{width:auto;flex:1}
 .case-menu-toggle{display:inline-flex;align-items:center;gap:10px;margin-top:7px;padding:10px 0;font:600 14px/1 'DM Sans',sans-serif;letter-spacing:.06em;text-transform:uppercase}
 .case-menu-toggle i,.case-menu-toggle i::before,.case-menu-toggle i::after{display:block;width:20px;height:1px;background:currentColor;transition:transform .2s ease}
 .case-menu-toggle i{position:relative}.case-menu-toggle i::before,.case-menu-toggle i::after{content:"";position:absolute;left:0}.case-menu-toggle i::before{top:-6px}.case-menu-toggle i::after{top:6px}
 .case-nav.is-menu-open .case-menu-toggle i{background:transparent}.case-nav.is-menu-open .case-menu-toggle i::before{transform:translateY(6px) rotate(45deg)}.case-nav.is-menu-open .case-menu-toggle i::after{transform:translateY(-6px) rotate(-45deg)}
 .case-nav-panel{display:none}
 .case-nav.is-menu-open .case-nav-panel{display:flex;position:absolute;top:100%;left:0;right:0;z-index:20;flex-direction:column;align-items:stretch;gap:18px;padding:20px 6% 24px;background-color:var(--site-paper,#f3eddf);background-image:var(--parchment-surface);background-size:auto,1000px auto;box-shadow:0 12px 20px #1724231c;border-top:1px solid #17242320}
 .case-nav-panel nav{display:flex;flex-direction:column;align-items:stretch;gap:0;width:auto}
 .case-nav-panel nav a{display:flex;padding:13px 0;border-bottom:1px solid #17242322;font-size:18px}
 .case-nav-panel .b-socials{display:flex;justify-content:flex-start;gap:9px}
 .case-nav-panel .b-socials a{width:34px;min-width:34px;height:34px}
}

.b-legendary .b-footer-bottom>button[data-contact]{display:inline-flex;align-items:center;justify-content:center;background:var(--brand-orange);color:#fffaf0;border:1px solid var(--brand-orange);padding:17px 24px;min-height:56px;line-height:1.3;text-decoration:none;cursor:pointer}
.b-legendary .b-footer-bottom>button[data-contact]:hover{background:var(--brand-orange-deep);border-color:var(--brand-orange-deep)}
.b-legendary .b-footer-bottom>button[data-contact]:focus-visible{outline:2px solid #f3eddf;outline-offset:5px}

/* Contact details stay local until the visitor chooses to send the email. */
#b-contact-form .b-form-wide,#b-contact-form .b-form-required,#b-contact-form .b-form-consent,#b-contact-form .b-form-status{grid-column:1/-1}
#b-contact-form .b-form-required{margin:0;font:14px/1.5 'DM Sans',sans-serif;color:#172423}
#b-contact-form textarea{width:100%;min-height:100px;box-sizing:border-box;resize:vertical;padding:12px;border:1px solid #65716d;background:#fff9;color:#172423;border-radius:0;font:16px/1.5 'DM Sans',sans-serif}
#b-contact-form .b-form-consent{display:flex;align-items:flex-start;gap:12px;font:15px/1.5 'DM Sans',sans-serif}
#b-contact-form .b-form-consent input{flex:0 0 22px;width:22px;min-height:22px;height:22px;margin:2px 0 0;accent-color:#172423}
#b-contact-form a{color:#172423;text-decoration:underline;text-underline-offset:3px}
#b-contact-form :is(input,textarea,select,a,button):focus-visible{outline:3px solid #172423;outline-offset:4px}
#b-contact-form .b-form-note{color:#3c4b46;font-size:14px;max-width:70ch}
#b-contact-form .b-form-status{margin:0;font:15px/1.55 'DM Sans',sans-serif;color:#172423}
#b-contact-form .b-form-status:empty{display:none}
#b-contact-form .cta{background:#172423;color:#f3eddf}
#b-contact-form .cta:hover{background:#30443b}
