/* Nothing You Could Do remains the handwritten brand voice. */
:root{--body:Montserrat,Arial,sans-serif;--serif:BonVivant,Georgia,serif;--display:BonVivant,Georgia,serif}
body{font-family:var(--body);font-size:16px;line-height:1.7;letter-spacing:.005em}
h1,h2,h3,h4{font-family:var(--display);font-weight:700;letter-spacing:-.035em;line-height:1.16;text-wrap:balance}
p{max-width:65ch;text-wrap:pretty}
.handwritten,.offerings-strapline,.offering-tag{font-family:Handwritten,cursive;font-weight:400;letter-spacing:0;line-height:1.45}
/* The logo remains in its established type treatment. */
.brand-mark{font-family:BonVivant,Georgia,serif}
.brand-name{font-family:Montserrat,Arial,sans-serif}
.work-section,.working-together{--sc-font-display:BonVivant,Georgia,serif;--sc-font-text:Montserrat,Arial,sans-serif}
.home-page .hero-copy{width:min(calc(100% - var(--gutter)*2),1120px);padding-top:160px;margin-bottom:32px}
.home-page .hero h1{line-height:1.08;letter-spacing:-.05em;font-weight:700}
.home-page .hero-first{font-size:clamp(58px,6.8vw,98px)}
.home-page .hero-second{font-size:clamp(36px,4.5vw,64px);line-height:1.16;letter-spacing:-.035em;margin-top:8px}
.home-page .hero-note{font-size:clamp(25px,2.3vw,32px);max-width:1000px;margin:24px auto 16px}
.home-page .hero-summary{font-size:16px;line-height:1.75;max-width:650px}
.home-page .hero-landscape{height:clamp(280px,32vw,440px)}
.editorial-intro{padding-top:clamp(144px,11vw,176px);padding-bottom:48px}
.editorial-intro h1{font-size:clamp(40px,5vw,72px);line-height:1.12;max-width:1000px;letter-spacing:-.04em;overflow-wrap:normal}
.intro-bottom{margin-top:24px}
.intro-bottom>p{font-size:17px;line-height:1.75;max-width:62ch}
.consulting-services .offerings-intro h2{font-family:var(--display);font-weight:700;font-size:clamp(34px,3.9vw,56px);line-height:1.17;letter-spacing:-.035em;-webkit-text-stroke:0}
.consulting-services .offerings-intro>p{font-family:var(--body);font-size:16px;line-height:1.75}
.home-service-row h3,.service-directory-title h2{font-size:clamp(26px,2.2vw,33px);line-height:1.25;letter-spacing:-.025em}
.home-service-row p,.service-directory-item>p,.service-directory-points{font-size:15px;line-height:1.75}
.story-heading h2,.work-section .story-heading h2,.who-section .story-heading h2{font-size:clamp(36px,4.2vw,60px);line-height:1.15;font-weight:700;letter-spacing:-.035em}
.work-item h3,.project-editorial-caption h2{font-size:clamp(28px,2.6vw,38px);line-height:1.22;letter-spacing:-.025em}
.team-person h3,.team-editorial-person h3{font-size:clamp(24px,2vw,29px);line-height:1.25}
.values-intro h3,.value-band h4{font-size:clamp(28px,3vw,42px);line-height:1.2}
.service-focus h2,.working-caption h2,.company-story h2,.case-chapters h2,.development-experience h2{font-size:clamp(30px,3vw,44px);line-height:1.2}
.service-route h2,.connected-services h2,.brief-kit h2,.principles-editorial h2{font-size:clamp(32px,3.5vw,48px);line-height:1.2}
.service-route h3,.brief-kit h3,.principles-editorial h3,.development-experience-grid h3{font-size:clamp(25px,2.3vw,32px);line-height:1.23}
.next-conversation h2,.closing-faq h2,.closing-contact-copy>h2{font-size:clamp(34px,4vw,56px);line-height:1.16}
.closing-form h2{font-size:clamp(28px,3vw,40px);line-height:1.2}
.case-narrative>aside h2,.case-scope h2,.next-project h2{font-size:clamp(30px,3.2vw,46px);line-height:1.2}
@media(max-width:699px){
 :root{--gutter:20px}
 .home-page .hero-copy{padding-top:128px;margin-bottom:24px}
 .home-page .hero-copy .eyebrow{font-size:10px;letter-spacing:1px;margin-bottom:20px;line-height:1.7}
 .home-page .hero-first{font-size:clamp(40px,11.4vw,52px)}
 .home-page .hero-second{font-size:clamp(25px,7.6vw,34px);margin-top:7px}
 .home-page .hero-note{font-size:clamp(21px,5.7vw,26px);max-width:340px;line-height:1.45;margin:20px auto 14px;text-wrap:balance}
 .home-page .hero-summary{font-size:15px;max-width:36ch;line-height:1.7}
 .home-page .hero-landscape{width:calc(100% - 32px);height:250px}
 .home-page .hero-circle{width:116px;height:116px;padding:12px;bottom:106px;font-size:12px;gap:8px;box-shadow:0 6px 24px #efb30030}
 .hero-circle .icon{width:20px;height:20px}
 .hero-bottom{font-size:10px;gap:18px}
 .editorial-intro{padding-top:128px;padding-bottom:32px}
 .editorial-intro h1{font-size:clamp(30px,8.2vw,38px);line-height:1.2;letter-spacing:-.03em}
 .intro-bottom{margin-top:20px;gap:16px}
 .intro-bottom>p{font-size:16px;line-height:1.7}
 .handwritten{font-size:25px}
 .home-service-row h3,.service-directory-title h2{font-size:clamp(23px,6.15vw,28px);line-height:1.25}
 .service-directory-grid{gap:32px}
 .story-heading h2,.work-section .story-heading h2,.who-section .story-heading h2,.consulting-services .offerings-intro h2{font-size:clamp(30px,8.2vw,38px);line-height:1.2}
 .work-item h3,.project-editorial-caption h2{font-size:clamp(25px,6.8vw,31px);line-height:1.24}
 .work-item figcaption{padding:24px}
 .work-caption-location,.work-caption-title{font-size:15px;line-height:1.7}
 .team-person h3,.team-editorial-person h3{font-size:23px;line-height:1.25}
 .service-focus h2,.working-caption h2,.company-story h2,.case-chapters h2,.development-experience h2,.service-route h2,.connected-services h2,.brief-kit h2,.principles-editorial h2,.case-narrative>aside h2,.case-scope h2,.next-project h2{font-size:29px;line-height:1.23}
 .service-route h3,.brief-kit h3,.principles-editorial h3,.development-experience-grid h3,.value-band h4,.values-intro h3{font-size:25px;line-height:1.25}
 .next-conversation h2,.closing-faq h2,.closing-contact-copy>h2{font-size:clamp(30px,8.2vw,38px);line-height:1.2}
 .closing-form h2{font-size:28px;line-height:1.25}
 .who-story>p,.working-caption p,.company-story p,.case-chapters p,.development-experience-grid p,.service-focus-copy>p,.service-focus .scope-list{font-size:16px;line-height:1.75}
 .closing-form input,.closing-form select,.closing-form textarea{font-size:16px}
 .service-directory-item>p,.service-directory-points,.home-service-row p{font-size:15px}
}

@media(max-width:699px){
 .nav-contact{font-size:12px}
 .team-person p,.team-role,.work-caption-location,.case-facts dt,.case-facts dd,.case-map figcaption{font-size:13px;line-height:1.65}
 .closing-form label{font-size:14px;line-height:1.6}
 .closing-form .form-explanation,.closing-form .field-help,.form-actions>a,.form-explanation,.form-status{font-size:12px;line-height:1.65}
 .closing-questions summary,.closing-questions p{font-size:14px;line-height:1.7}
 .closing-contact-copy>p,.friday-footer p{font-size:15px;line-height:1.7}
 .direct-contact strong{font-size:16px;overflow-wrap:anywhere}
 .direct-contact span,.direct-contact address{font-size:13px;line-height:1.7}
 .friday-footer-main nav a{font-size:13px;min-height:44px}
 .friday-footer-bottom,.footer-place{font-size:11px;line-height:1.7}
 .button,.form-actions .button{font-size:14px;min-height:48px}
}

/* Centre only inner-page headings on phones; prose keeps its existing alignment. */
@media(max-width:699px){
 .inner-page main h1,
 .inner-page main h2,
 .inner-page main h3,
 .inner-page main h4{text-align:center;margin-inline:auto}
}

/* Keep mobile team and values cards internally aligned. */
@media(max-width:699px){
 .inner-page .team-editorial .editorial-section-title{display:block}
 .inner-page .team-editorial .editorial-section-title>p{text-align:center;margin:16px auto 0}
 .inner-page .team-editorial-person{grid-template-columns:62px minmax(0,1fr);gap:20px;align-items:center;padding:24px}
 .inner-page .team-editorial-person>div:last-child{min-width:0;text-align:center}
 .inner-page .team-editorial-person h3{margin:0 0 8px;line-height:1.25}
 .inner-page .team-editorial-person .team-role{margin:0 auto;line-height:1.6}
 .inner-page .team-editorial-person .team-bio{text-align:left}
 .inner-page .principles-editorial article{grid-template-columns:22px minmax(0,1fr) 22px;gap:12px 8px;align-items:center;padding:24px 20px}
 .inner-page .principles-editorial article>span{grid-column:1;grid-row:1;padding-top:0;align-self:center}
 .inner-page .principles-editorial article>h3{grid-column:2;grid-row:1;margin:0}
 .inner-page .principles-editorial article>p{grid-column:2;grid-row:2;text-align:center;margin:0;font-size:14px;line-height:1.65}
}
@media(max-width:359px){
 .inner-page .team-editorial-person{grid-template-columns:54px minmax(0,1fr);gap:16px;padding:20px}
}

/* Unnumbered homepage services and collaboration content. */
.home-page .home-service-row>a{grid-template-columns:minmax(0,1fr) 24px}
.home-page .collaboration-step::after{content:none}
@media(max-width:699px){.home-page .home-service-row>a{grid-template-columns:minmax(0,1fr) 20px}}

/* A softer heading weight and balanced mobile lead/brief text. */
.inner-page .working-caption h3{font-weight:500}
@media(max-width:699px){
 .inner-page .intro-bottom>p,.inner-page .brief-kit>p{text-align:center;margin-inline:auto}
 .inner-page .brief-kit article{grid-template-columns:22px minmax(0,1fr) 22px;gap:12px 8px;padding:24px 20px}
 .inner-page .brief-kit article>span{grid-column:1;grid-row:1;padding-top:0;align-self:center}
 .inner-page .brief-kit article>h3{grid-column:2;grid-row:1;margin:0}
 .inner-page .brief-kit article>p{grid-column:2;grid-row:2;text-align:center;margin:0;font-size:14px;line-height:1.65}
}

/* Open up the mobile hero copy and let navigation step aside while reading. */
.site-header{transition:transform 240ms cubic-bezier(.22,1,.36,1)}
.site-header.header-hidden{transform:translateY(calc(-100% - 40px));pointer-events:none}
.site-header:focus-within{pointer-events:auto}
.home-page .site-header:not(.is-scrolled) .nav-shell{background:transparent;border-color:transparent;border-radius:0;box-shadow:none}
.home-page .site-header.is-scrolled .nav-shell{border-radius:20px;box-shadow:0 4px 18px #082e2718}
.home-page.menu-open .site-header .nav-shell{background:var(--green);border-color:#315249;border-radius:20px}
@media(max-width:699px){
 .home-page .hero-copy{width:calc(100% - 32px)}
 .home-page .hero-summary{width:100%;max-width:none;padding:0;font-size:16px;line-height:1.65}
 .home-page .hero-summary .desktop-break{display:none}
}

/* Restore the scroll-drawn journey; keep its phone composition compact. */
.home-page .journey-connector{z-index:0}
.home-page .collaboration-step figure{z-index:1}
@media(max-width:699px){
 .home-page .working-together .story-heading{position:static;margin-bottom:36px}
 .home-page .working-together .story-heading h2{font-size:clamp(34px,10vw,44px);line-height:1.12;font-weight:700;letter-spacing:-.025em}
 .home-page .collaboration-steps{width:100%;max-width:520px;gap:72px}
 .home-page .collaboration-step{width:100%;min-width:0}
 .home-page .collaboration-step h3{font-size:clamp(26px,7.3vw,30px);line-height:1.22;font-weight:700}
 .home-page .collaboration-step p{font-size:15px;line-height:1.75}
 .home-page .journey-connector{width:84px;height:56px;left:24px;bottom:-64px;transform:none}
 .home-page .collaboration-finish{gap:20px;max-width:100%;margin-top:40px}
 .home-page .collaboration-finish>p{min-width:0;flex:1;font-size:clamp(24px,6.8vw,29px);line-height:1.2}
}

/* Use BonVivant's real bold face for headings overridden by older scene rules. */
.home-page .work-item h3,
.home-page .working-together .story-heading h2,
.home-page .collaboration-step h3{font-weight:700}
