/* Shared sizing and controls for the public portfolio and Journal. */
:root{--site-header-height:80px;--site-gutter:clamp(20px,5vw,96px)}
html{scroll-padding-top:calc(var(--site-header-height) + 20px)}
body{font-family:'Arial Rounded MT Bold','Nunito Sans','Segoe UI',Arial,sans-serif}
button,input,textarea,select{font:inherit}
.header,.header.compact{min-height:var(--site-header-height);padding:14px var(--site-gutter);gap:24px;box-sizing:border-box}
.header .wordmark{flex-shrink:0}.header-actions{flex-shrink:0;gap:12px}.header .pill{min-height:44px;box-sizing:border-box;white-space:nowrap}
.header>nav:not(.mobile-menu){gap:30px}.header nav a{min-height:44px;display:inline-flex;align-items:center}
.header nav.mobile-menu{max-height:calc(100dvh - var(--site-header-height));overflow-y:auto;overscroll-behavior:contain;gap:10px;background:#fff}
.header nav.mobile-menu[hidden]{display:none}
.header nav.mobile-menu a{font-size:15px;padding:10px 4px}
.hero-editorial>*,.hero-bottom>*,.service-story>*,.service-card>*,.process-section>*,.about-content>*,.index-layout>*,.section-top>*{min-width:0}
.chapter-row strong,.service-title h3,.about-content h2,.record h2{overflow-wrap:break-word}
.chapter-topic-links button,.filters button,.journal-tabs a{min-height:44px;font-size:12px;box-sizing:border-box}
.chapter-topic-links button{padding:10px 13px}.chapter-preview p{font-size:13px;line-height:1.7}
.journal-intro{padding-top:calc(var(--site-header-height) + 60px)}
.journal-intro h1{font-size:clamp(52px,7vw,96px);line-height:1.05}.journal-intro>p{max-width:680px;font-size:clamp(16px,1.5vw,19px)}
.journal-tabs{gap:10px}.section-top h2{font-size:clamp(36px,5vw,72px)}
.notebook .tools{gap:20px}.notebook .tools>.filters{flex:1;gap:8px}.notebook .search{min-height:44px;font-size:16px;max-width:100%;box-sizing:border-box}
.chapter-row,.step-number,.rail-links a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.field input,.field textarea{font-size:16px;max-width:100%}.purpose-options{flex-wrap:wrap}.purpose-option>span{min-height:44px}
.published-assets img,.published-assets video,#reader-content img{max-width:100%;height:auto}.published-detail,.cms-idea-body{overflow-wrap:anywhere}
.process-step .step-number{min-width:44px;min-height:44px}.process-step p{max-width:40ch}
@media(min-width:701px){.header>nav:not(.mobile-menu){display:flex}.header .menu-toggle,.header nav.mobile-menu{display:none}}
@media(min-width:701px) and (max-width:1000px){
 .hero-editorial{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.hero h1{font-size:clamp(48px,7.2vw,72px)}
 .hero-feature.capability-preview{padding:22px}.hero-live-visual{gap:10px}.capability-preview-title{font-size:30px}.capability-preview-links a{gap:8px}.capability-preview-links a span{font-size:11px}
 .about-content{gap:35px}.about-content h2{font-size:clamp(36px,4.5vw,48px)}
}
@media(min-width:701px) and (max-width:900px){
 .service-story{display:grid;grid-template-columns:210px minmax(0,1fr);align-items:start;gap:20px;padding:0 5%}
 .service-rail{display:block;position:sticky;top:calc(var(--site-header-height) + 18px);height:auto;padding:20px 0;align-self:start;max-height:none}
 .service-rail>b{font-size:46px;margin:25px 0}.rail-links{gap:6px;overflow:visible}.rail-links a{min-height:44px;font-size:13px;gap:10px;padding:10px}
 .service-chapter{padding:45px 0;scroll-margin-top:calc(var(--site-header-height) + 20px)}.service-card{display:grid;grid-template-columns:1fr;gap:25px}
 .service-title h3{font-size:36px}.service-card>.capability-visual{grid-column:1;min-height:200px}.service-details{grid-template-columns:1fr;gap:20px}.service-card .service-details li{font-size:14px}
 .index-layout{grid-template-columns:235px minmax(0,1fr);gap:25px}.index-aside{display:block;top:calc(var(--site-header-height) + 20px)}
 .chapter-row strong{font-size:25px}.index-list>.chapter-row{padding:22px;gap:14px}
}
@media(max-width:900px){
 .process-section{display:block}.process-heading{display:contents}.process-overview{margin-bottom:26px}.process-overview>.muted{max-width:52ch}
 .process-live-preview{position:sticky;top:calc(var(--site-header-height) + 12px);z-index:12;display:flex;align-items:center;gap:18px;max-width:none;margin:0 0 24px;padding:14px 20px;background:#fffaf6;box-shadow:0 8px 24px #48211408}
 .process-live-preview .capability-art{width:120px;height:100px;flex-shrink:0}.process-live-preview>div{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin:0;max-width:none}
 .process-live-preview strong{font-size:15px}.process-list{margin-top:24px}.process-step{padding-top:28px;padding-bottom:40px;gap:20px}.process-step h3{font-size:clamp(25px,4vw,34px)}
 .notebook .tools{flex-direction:column;align-items:stretch}.notebook .search{width:100%}.record{grid-template-columns:1fr;gap:20px}
}
@media(max-width:700px){
 :root{--site-header-height:70px;--site-gutter:5vw}
 .header,.header.compact{padding:10px var(--site-gutter);gap:10px}.header .wordmark{font-size:28px;letter-spacing:-1.6px}.header>nav:not(.mobile-menu){display:none}
 .header-actions{gap:8px}.header .pill{font-size:11px;padding:10px 13px;gap:9px}.header .menu-toggle{display:block;min-height:44px;padding:10px 13px;border:1px solid #ddd;border-radius:999px;font-size:12px;color:#232323;background:#fff}
 .header nav.mobile-menu{display:flex}.header nav.mobile-menu[hidden]{display:none}
 .hero{padding-top:calc(var(--site-header-height) + 55px)}.hero-editorial,.hero-bottom{grid-template-columns:1fr}.hero h1{font-size:clamp(48px,12vw,82px)}
 .hero-feature.capability-preview{padding:24px}.hero-live-visual{height:145px}.hero-copy p{font-size:17px;line-height:1.7}.hero-foot{gap:18px;flex-wrap:wrap}
 .intro-strip>p{font-size:clamp(22px,5.2vw,30px)}.services-intro{min-height:0;padding-top:70px;padding-bottom:65px}.services-intro h2{font-size:clamp(42px,9vw,66px)}
 .service-story{display:block;padding:0}.service-rail{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;position:sticky;top:var(--site-header-height);z-index:14;height:auto;max-height:none;padding:12px 6%;background:#faf8f7;border-bottom:1px solid #e4d8d2;box-shadow:0 7px 18px #48211406}
 .service-rail>.eyebrow:first-child{font-size:10px}.service-rail>b{margin:0;font-size:26px;line-height:1}.service-rail>b span{font-size:13px}.service-rail>.eyebrow:last-child{display:none}
 .rail-links.merged-toolkit{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;overflow:visible}
 .rail-links.merged-toolkit a{min-height:44px;padding:9px 10px;gap:7px;line-height:1.3;font-size:11px}.rail-links.merged-toolkit a>span{font-size:9px}.rail-links.merged-toolkit a:last-child{grid-column:1/-1}.rail-links a.active:before{display:none}
 .service-chapter{padding:45px 6%;scroll-margin-top:calc(var(--site-header-height) + 215px)}.service-card{grid-template-columns:1fr}.service-title h3{font-size:clamp(34px,8.5vw,45px)}.service-card>.capability-visual{grid-column:1}.service-details{grid-template-columns:1fr}
 .process-live-preview{top:calc(var(--site-header-height) + 10px);padding:12px 16px;gap:14px}.process-live-preview .capability-art{width:90px;height:90px}.process-live-preview strong{font-size:14px}.process-live-preview>div>span{font-size:11px}.process-step{padding-left:20px;gap:15px}
 .about-content h2{font-size:clamp(36px,8vw,48px)}.about-copy p{font-size:16px}.about-signature-art{max-width:100%;box-sizing:border-box}
 .journal-intro{padding-top:calc(var(--site-header-height) + 45px)}.journal-intro h1{font-size:clamp(48px,11vw,72px);margin-top:25px}.journal-intro>p{font-size:17px;line-height:1.7}
 .journal-tabs{gap:8px}.journal-tabs a{font-size:12px;padding:11px 15px}.section-top h2{font-size:clamp(36px,8vw,56px)}
 .index-layout{display:block}.index-aside{display:block;top:calc(var(--site-header-height) + 12px)}.chapter-preview p{font-size:12px}.chapter-topic-links button{font-size:11px;padding:9px 12px}.index-list>.chapter-row{min-height:120px}
 .notebook{padding:40px 5%}.notebook .filters{gap:7px}.notebook .filters button{font-size:12px;padding:10px 13px}.record h2{font-size:clamp(36px,8vw,56px);overflow-wrap:normal}.record-copy p{font-size:15px}
 .footer-top{flex-direction:row;align-items:center;flex-wrap:wrap}.footer-top nav{flex-wrap:wrap;gap:20px}.footer-top nav a{min-height:44px;display:inline-flex;align-items:center}
 .footer-bottom{font-size:10px;line-height:1.7;flex-wrap:wrap;gap:15px}.footer-bottom>span:nth-child(2){display:block}
}
@media(max-width:380px){
 .header,.header.compact{padding-inline:4%;gap:7px}.header .wordmark{font-size:26px}.header .pill{font-size:10px;padding-inline:11px;gap:7px}.header .menu-toggle{font-size:11px;padding-inline:11px}
 .hero-feature.capability-preview{padding:20px}.capability-preview-links a{gap:10px}.capability-preview-links a span{font-size:10px}
 .chapter-preview{padding:16px}.chapter-preview h3{font-size:20px}.chapter-topic-links button{padding:9px 10px}.chapter-row strong{font-size:23px}.index-list>.chapter-row{padding:18px;gap:10px}
 .cms-section-nav a{font-size:11px;padding:10px 6px;gap:4px}.cms-top-links{flex-wrap:wrap;justify-content:flex-end}.cms-collection-heading{flex-wrap:wrap}.cms-idea-meta a{overflow-wrap:anywhere}
}
@media(max-height:550px) and (max-width:900px){
 .service-rail,.process-live-preview,.index-aside{position:static}.service-chapter{scroll-margin-top:calc(var(--site-header-height) + 15px)}
}
@media(hover:none){.chapter-topic-links button:hover,.purpose-option:hover>span,.pill:hover{transform:none}}
.journal-intro h1>span{display:inline}
@media(max-width:700px){.enquiry-heading h2{font-size:clamp(48px,10vw,66px)}.enquiry-heading h2 br{display:block}}
.service-rail>b{display:block}

/* Enquiry actions share a clear baseline without empty status spacing. */
.idea-form .enquiry-footer{margin-top:28px;padding-top:28px;border-top:1px solid #e8ddd7}
.idea-form .enquiry-submit-row{display:flex;align-items:center;justify-content:space-between;gap:24px}
.idea-form .enquiry-submit-row>.pill{display:inline-flex;align-items:center;justify-content:center;flex:none;gap:26px;min-height:56px;padding:16px 26px;border:1px solid #b93f2a;border-radius:999px;background:#b93f2a;color:#fff;font-size:14px;line-height:1.3;white-space:nowrap}
.idea-form .enquiry-submit-row>.pill:hover{background:#a23524;border-color:#a23524}
.idea-form .enquiry-submit-row>.pill:focus-visible{outline:3px solid #b93f2a;outline-offset:4px}
.idea-form .enquiry-submit-row>.pill:disabled{opacity:.65;cursor:default}
.idea-form .enquiry-availability{margin:0;max-width:27ch;color:#6f6864;font-size:12px;line-height:1.6;text-align:right;text-wrap:balance}
.idea-form .enquiry-privacy{margin:18px 0 0;max-width:none;color:#6f6864;font-size:12px;line-height:1.7;text-wrap:pretty}
.idea-form .idea-status[hidden]{display:none}
@media(max-width:600px){.idea-form .enquiry-footer{margin-top:24px;padding-top:24px}.idea-form .enquiry-submit-row{flex-direction:column;align-items:stretch;gap:16px}.idea-form .enquiry-submit-row>.pill{width:100%;justify-content:space-between;padding-inline:24px}.idea-form .enquiry-availability{max-width:none;text-align:left;text-wrap:pretty}.idea-form .enquiry-privacy{margin-top:10px;max-width:42ch;text-wrap:balance}}

/* Keep portfolio headings clear of filters, cards and the empty state. */
.work .section-heading{margin-bottom:clamp(32px,3.5vw,56px);align-items:flex-end;gap:clamp(24px,4vw,64px)}
.work .section-heading h2{line-height:1.1;text-wrap:balance}
.work .section-heading>p{max-width:32ch;margin:0 0 4px;line-height:1.7;text-wrap:pretty}
.work .published-work{min-width:0}
.work .portfolio-pending{padding:clamp(24px,2.8vw,36px);gap:24px;background:#fffcfa;border-color:#e8ddd7}
.work .portfolio-pending>p{max-width:54ch;margin:0;line-height:1.7;text-wrap:pretty}
.work .portfolio-pending>.pill{flex:none;white-space:nowrap}
@media(max-width:800px){.work .section-heading>p{margin-top:20px;max-width:42ch}.work .portfolio-pending{align-items:flex-start;flex-direction:column}}
