/*
Theme Name: Not Another Cliché
Theme URI: https://notanothercliche.com/
Author: Not Another Cliché LLC
Description: Production block theme for Not Another Cliché. Built around locked CRO, SEO/AEO/GEO, accessibility, and content-model decisions.
Version: 1.8.0
Requires at least: 6.7
Tested up to: 7.1.1
Requires PHP: 8.1
Text Domain: not-another-cliche
*/
:root{
  --petrol:#073B3A;--teal:#006D68;--apricot:#FF9B71;--peach:#FFD5C2;
  --chalk:#FBFAF7;--mist:#DCE7E5;--black:#202322;--slate:#5A625F;
  --line:rgba(32,35,34,.14);--white:#fff;--serif:"Instrument Serif",Georgia,serif;
  --sans:"Manrope",Arial,sans-serif;--max:1280px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--chalk);color:var(--black);font-family:var(--sans);line-height:1.55}
a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}svg,img{display:block;max-width:100%;height:auto}
.container{width:min(calc(100% - 40px),var(--max));margin-inline:auto}.eyebrow{font-size:.72rem;text-transform:uppercase;letter-spacing:.16em;font-weight:700;color:var(--petrol)}
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;line-height:.98;margin:0}h1{font-size:clamp(3.2rem,6vw,6.5rem);letter-spacing:-.035em}h2{font-size:clamp(2.4rem,4.5vw,4.7rem);letter-spacing:-.03em}h3{font-size:clamp(1.55rem,2.2vw,2.3rem)}
p{margin:.8rem 0 0}.lead{font-size:clamp(1rem,1.5vw,1.25rem);max-width:62ch;color:#454B49}.small{font-size:.88rem;color:var(--slate)}
.section{padding:88px 0;border-top:1px solid var(--line)}.section-head{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:end;margin-bottom:42px}.section-head .lead{justify-self:end}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.65rem;min-height:48px;padding:.82rem 1.15rem;border:1px solid transparent;font-size:.92rem;font-weight:700;transition:.22s ease;cursor:pointer}
.btn.primary{background:var(--apricot);color:var(--black)}.btn.primary:hover{background:#ff8654;transform:translateY(-2px)}.btn.secondary{background:transparent;border-color:var(--petrol);color:var(--petrol)}.btn.secondary:hover{background:var(--mist);transform:translateY(-2px)}
.text-link{display:inline-flex;align-items:center;gap:.45rem;font-weight:700;color:var(--petrol)}.text-link::after{content:"→";color:var(--apricot);transition:transform .2s}.text-link:hover::after{transform:translateX(4px)}
.site-header{position:sticky;top:0;z-index:100;background:rgba(251,250,247,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.header-inner{height:82px;display:flex;align-items:center;gap:26px}.brand{display:flex;align-items:center;gap:12px;min-width:280px}.brand-mark{width:46px;height:46px;flex:none}.brand-name{font-family:var(--serif);font-size:1.42rem;line-height:1}.brand-plus{color:var(--apricot);font-family:var(--sans)}
/* Scoped to #nav, the header's primary navigation. A bare `nav` selector also
   matches nav.footer-links and nav.toc, and the mobile rules below then position
   the footer menus over the hero. site.js already targets #nav. */
#nav{display:flex;align-items:center;gap:26px;margin-left:auto;font-size:.86rem;font-weight:600}#nav a{position:relative}#nav a::after{content:"";position:absolute;height:2px;background:var(--apricot);left:0;right:100%;bottom:-8px;transition:.2s}#nav a:hover::after{right:0}.header-cta{margin-left:10px}.menu-toggle{display:none;margin-left:auto;border:0;background:transparent;font-size:1.5rem}
.page-hero{padding:54px 0 34px}.page-hero-shell{display:grid;grid-template-columns:1.05fr .95fr;border:1px solid var(--line);background:var(--white);min-height:500px;overflow:hidden}
.page-copy{padding:54px;display:flex;flex-direction:column;justify-content:center}.page-copy .lead{margin-top:20px}.page-art{position:relative;min-height:500px;background:var(--mist);overflow:hidden;display:grid;place-items:center}
.page-art .brand-mark{width:min(58%,430px);height:auto}.page-art::before{content:"";position:absolute;width:220px;height:220px;background:var(--apricot);right:-60px;top:-60px;clip-path:polygon(100% 0,100% 100%,0 0)}.page-art::after{content:"";position:absolute;width:280px;height:240px;background:var(--petrol);left:-90px;bottom:-70px;clip-path:polygon(0 100%,100% 100%,0 0)}
.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-top:28px}.pill{display:inline-flex;padding:.5rem .75rem;border:1px solid var(--line);font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;background:var(--white)}
.cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.cards-2{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.card{background:var(--white);border:1px solid var(--line);padding:26px;position:relative;overflow:hidden;transition:.25s}.card:hover{transform:translateY(-4px);box-shadow:0 16px 30px rgba(32,35,34,.08)}.card .icon{width:42px;color:var(--petrol);margin-bottom:24px}.card h3{font-size:1.8rem}.card p{color:#59615e}.card .accent{position:absolute;left:0;bottom:0;height:4px;width:0;background:var(--apricot);transition:.25s}.card:hover .accent{width:100%}
.cap-list{border-top:1px solid var(--line)}.cap-row{display:grid;grid-template-columns:56px 1.05fr 1.5fr auto;gap:24px;padding:28px 0;border-bottom:1px solid var(--line);align-items:start}.cap-row .icon{width:40px;color:var(--petrol)}.cap-row h3{font-size:2rem}.cap-row p{margin:0;color:#525a57}.cap-row:hover h3{color:var(--teal)}
.problem-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.problem{padding:30px;border:1px solid var(--line);background:white}.problem.problem-a{border-top:4px solid var(--apricot)}.problem.problem-b{border-top:4px solid var(--teal)}.problem ul{padding-left:1.1rem;margin-bottom:0}
.deliverables{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);background:white}.deliverable{padding:24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:170px}.deliverable:nth-child(4n){border-right:0}.deliverable .icon{width:34px;color:var(--teal);margin-bottom:22px}.deliverable strong{display:block}
.work-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.work-card{border:1px solid var(--line);background:white;overflow:hidden}.work-art{height:270px;background:var(--mist);position:relative}.work-art svg{width:100%;height:100%}.work-body{padding:26px}.work-body .eyebrow{margin-bottom:10px}.work-body p{color:#56605d}
.filter-row{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0 36px}.filter-btn{border:1px solid var(--line);background:white;padding:.55rem .8rem;font-weight:700;cursor:pointer}.filter-btn.active,.filter-btn:hover{background:var(--petrol);color:var(--chalk);border-color:var(--petrol)}
.case-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:60px}.case-main{max-width:820px}.case-main h2{font-size:3rem;margin-top:2.2rem}.case-main h3{margin-top:1.8rem}.case-main ul{padding-left:1.1rem}.case-aside{position:sticky;top:110px;align-self:start}.meta-box{background:var(--mist);padding:24px}.meta-row{padding:14px 0;border-bottom:1px solid rgba(32,35,34,.13)}.meta-row:last-child{border-bottom:0}.meta-row b{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:4px}
.arch-diagram{margin:30px 0;background:var(--petrol);padding:34px;color:var(--chalk)}.flow{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;align-items:center}.flow-step{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);padding:16px;text-align:center;min-height:120px;display:grid;place-items:center}.flow-step .icon{width:30px;color:var(--apricot);margin-bottom:8px}
.profile{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px;align-items:start}.portrait{background:linear-gradient(135deg,var(--mist),var(--peach));min-height:520px;position:relative;overflow:hidden}.portrait::after{content:"";position:absolute;left:16%;right:16%;bottom:0;height:75%;background:var(--petrol);clip-path:ellipse(42% 52% at 50% 62%);opacity:.88}
.fact-list{border-top:1px solid var(--line)}.fact{display:grid;grid-template-columns:180px 1fr;gap:18px;padding:16px 0;border-bottom:1px solid var(--line)}.fact strong{font-size:.8rem;text-transform:uppercase;letter-spacing:.1em}.fact span{color:#4f5754}
.proc-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:50px}.proc-panel{background:white;border:1px solid var(--line);padding:30px}.proc-panel h3{margin-bottom:18px}
.insights-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.insight{border:1px solid var(--line);background:white;overflow:hidden;transition:.25s}.insight:hover{transform:translateY(-4px);box-shadow:0 16px 28px rgba(32,35,34,.08)}.insight-art{height:210px;background:var(--mist)}.insight-art svg{width:100%;height:100%}.insight-body{padding:24px}.insight h3{font-size:1.75rem;margin-top:10px}
.article-layout{display:grid;grid-template-columns:220px minmax(0,760px) 1fr;gap:44px}.toc{position:sticky;top:110px;align-self:start;font-size:.85rem}.toc a{display:block;padding:8px 0;color:#53605c}.toc a:hover{color:var(--teal)}.article h2{font-size:2.7rem;margin-top:2.3rem}.article h3{font-size:1.8rem;margin-top:1.7rem}.article p,.article li{font-size:1.06rem}.article ul{padding-left:1.2rem}.article-aside{align-self:start}.callout{background:var(--peach);padding:24px;position:sticky;top:110px}.callout h3{font-size:1.8rem}
.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:55px}.contact-panel{background:var(--petrol);color:var(--chalk);padding:44px}.contact-panel .eyebrow{color:var(--peach)}.contact-panel p{color:#d8e4e1}.form{display:grid;gap:18px}.form label{display:grid;gap:8px;font-size:.85rem;font-weight:700}.form input,.form textarea{width:100%;border:1px solid var(--line);background:white;padding:14px}.form input:focus,.form textarea:focus{outline:2px solid var(--apricot);outline-offset:1px}.form textarea{min-height:180px;resize:vertical}
.accordion{border-top:1px solid var(--line)}.acc-item{border-bottom:1px solid var(--line)}.acc-button{width:100%;border:0;background:transparent;padding:20px 0;display:flex;justify-content:space-between;gap:20px;text-align:left;font-weight:700;cursor:pointer}.acc-content{display:none;padding:0 0 22px;max-width:780px;color:#4f5855}.acc-item.open .acc-content{display:block}.acc-item.open .acc-button span:last-child{transform:rotate(45deg)}
.cta{padding:0;border-top:1px solid var(--line)}.cta-grid{display:grid;grid-template-columns:1.15fr .85fr}.cta-copy{background:var(--petrol);color:var(--chalk);padding:58px}.cta-copy .eyebrow{color:var(--peach)}.cta-copy p{color:#d8e5e2;max-width:60ch}.cta-art{min-height:350px;background:var(--mist);position:relative;overflow:hidden}.cta-art .brand-mark{width:58%;height:auto;position:absolute;left:21%;top:16%}.cta-float{position:absolute;right:28px;bottom:28px}
footer{background:var(--black);color:var(--chalk);padding:52px 0}.footer-grid{display:grid;grid-template-columns:1.3fr .7fr .7fr;gap:50px}.footer-title{font-family:var(--serif);font-size:2.2rem;line-height:1.04}.footer-links{display:grid;gap:8px}.footer-small{margin-top:38px;padding-top:22px;border-top:1px solid rgba(255,255,255,.15);display:flex;justify-content:space-between;gap:20px;color:#cfd3d1;font-size:.78rem}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease}.reveal.visible{opacity:1;transform:none}
.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.review-card{background:white;border:1px solid var(--line);padding:24px}.review-card h3{font-size:1.65rem}.review-card code{font-size:.75rem;color:var(--slate)}
.error-shell{min-height:72vh;display:grid;place-items:center;text-align:center}.error-num{font-family:var(--serif);font-size:11rem;color:var(--petrol);line-height:.7}.error-mark{width:210px;margin:0 auto 28px}
@media(max-width:1020px){
  .header-inner{height:72px}.brand{min-width:auto}#nav{display:none;position:absolute;top:72px;left:0;right:0;background:var(--chalk);padding:24px 20px 30px;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}#nav.open{display:flex}.menu-toggle{display:block}.header-cta{display:none}
  .page-hero-shell,.section-head,.profile,.proc-grid,.contact-grid,.cta-grid{grid-template-columns:1fr}.page-art{min-height:380px}.section-head .lead{justify-self:start}
  .cards-3,.insights-grid,.review-grid{grid-template-columns:1fr 1fr}.deliverables{grid-template-columns:1fr 1fr}.deliverable:nth-child(2n){border-right:0}
  .case-layout{grid-template-columns:1fr}.case-aside{position:static}.article-layout{grid-template-columns:1fr}.toc,.callout{position:static}.toc{display:none}.flow{grid-template-columns:1fr 1fr}.flow-step:last-child{grid-column:1/-1}
}
@media(max-width:680px){
  .container{width:min(calc(100% - 24px),var(--max))}.brand-name{font-size:1.17rem}.brand-mark{width:38px;height:38px}.page-copy{padding:34px 24px}.page-art{min-height:300px}.section{padding:62px 0}
  .cards-3,.cards-2,.insights-grid,.work-grid,.review-grid,.problem-grid,.deliverables{grid-template-columns:1fr}.cap-row{grid-template-columns:44px 1fr}.cap-row p,.cap-row .text-link{grid-column:2}.deliverable{border-right:0}
  .flow{grid-template-columns:1fr}.flow-step:last-child{grid-column:auto}.fact{grid-template-columns:1fr;gap:4px}.footer-grid{grid-template-columns:1fr}.footer-small{flex-direction:column}.error-num{font-size:7rem}
}

/* v3 content/system refinements */
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.content-intro{max-width:820px}
.statement-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.statement{border-top:4px solid var(--apricot);background:white;padding:28px;border-left:1px solid var(--line);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.statement:nth-child(2){border-top-color:var(--teal)}.statement:nth-child(3){border-top-color:var(--petrol)}
.statement h3{font-size:1.8rem}.statement p{color:#56605d}
.outcome-list{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line)}
.outcome{display:grid;grid-template-columns:48px 1fr;gap:16px;padding:24px 0;border-bottom:1px solid var(--line)}
.outcome:nth-child(odd){padding-right:28px;border-right:1px solid var(--line)}.outcome:nth-child(even){padding-left:28px}
.outcome .icon{width:32px;color:var(--teal)}.outcome h3{font-size:1.55rem}.outcome p{font-size:.92rem;color:#56605d}
.context-cta{margin-top:46px;padding:30px;background:var(--mist);display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center}
.context-cta h3{font-size:2rem}.context-cta p{margin-top:6px;max-width:65ch}
.journey{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--line);background:white}
.journey-step{padding:24px 18px;border-right:1px solid var(--line);position:relative;min-height:170px}
.journey-step:last-child{border-right:0}.journey-step .num{font-size:.72rem;color:var(--teal);font-weight:700;letter-spacing:.15em;margin-bottom:28px}
.journey-step h3{font-size:1.5rem}.journey-step p{font-size:.86rem;color:#59615e}
.journey-step::after{content:"→";position:absolute;right:-9px;top:47%;width:18px;height:18px;display:grid;place-items:center;background:var(--chalk);color:var(--apricot);z-index:2}
.journey-step:last-child::after{display:none}
.signal-map{display:grid;grid-template-columns:.9fr 1.1fr;gap:18px}
.signal-source{background:var(--petrol);color:var(--chalk);padding:34px}
.signal-source .eyebrow{color:var(--peach)}.signal-source p{color:#dce7e5}
.signal-destinations{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.signal-box{background:white;border:1px solid var(--line);padding:24px;min-height:165px}.signal-box .icon{width:34px;color:var(--teal);margin-bottom:20px}.signal-box h3{font-size:1.45rem}
.architecture-flow{display:grid;grid-template-columns:repeat(5,1fr);background:var(--petrol);padding:20px;gap:10px}
.arch-node{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.17);padding:22px 16px;color:var(--chalk);min-height:150px;position:relative;display:flex;flex-direction:column;justify-content:center}
.arch-node .icon{width:32px;color:var(--apricot);margin-bottom:14px}.arch-node strong{font-size:.95rem}.arch-node small{color:#dce7e5;margin-top:6px}
.arch-node::after{content:"→";position:absolute;right:-12px;top:48%;color:var(--apricot);font-weight:700;z-index:2}.arch-node:last-child::after{display:none}
.evidence-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.evidence{background:white;border:1px solid var(--line);padding:24px}.evidence .icon{width:34px;color:var(--teal);margin-bottom:18px}.evidence h3{font-size:1.55rem}
.priority-table{border:1px solid var(--line);background:white}.priority-row{display:grid;grid-template-columns:1.3fr .6fr .6fr .6fr;padding:16px 20px;border-bottom:1px solid var(--line);align-items:center}.priority-row:last-child{border-bottom:0}.priority-row.header{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700;background:var(--mist)}
.scope-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);background:white}.scope{padding:25px;border-right:1px solid var(--line)}.scope:last-child{border-right:0}.scope .icon{width:35px;color:var(--teal);margin-bottom:22px}.scope h3{font-size:1.55rem}.scope p{font-size:.88rem;color:#58615e}
.case-index{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}.case-index a{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;padding:.5rem .7rem;border:1px solid var(--line);background:white}
.case-index a:hover{background:var(--mist)}
.next-links{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.next-link{background:white;border:1px solid var(--line);padding:26px}.next-link h3{font-size:1.7rem}
.benefit-note{font-family:var(--serif);font-size:clamp(1.8rem,3vw,3rem);line-height:1.04;max-width:900px}
.byline{display:flex;gap:14px;align-items:center;margin-top:22px;font-size:.84rem;color:var(--slate)}
.byline-dot{width:36px;height:36px;border-radius:50%;background:var(--petrol);display:grid;place-items:center;color:var(--chalk);font-family:var(--serif);font-size:1rem}
.proc-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.status{display:inline-flex;align-items:center;gap:8px;padding:.5rem .7rem;background:var(--mist);font-size:.78rem;font-weight:700}.status::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--apricot)}
.article-note{padding:22px 24px;background:var(--mist);border-left:4px solid var(--teal);margin:28px 0}.article-note strong{display:block;margin-bottom:6px}
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.related{background:white;border:1px solid var(--line);padding:24px}.related .eyebrow{margin-bottom:8px}.related h3{font-size:1.55rem}
.contact-choice{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:26px}.contact-choice div{padding:18px;border:1px solid rgba(255,255,255,.18)}.contact-choice strong{display:block;color:var(--peach)}
.review-note{padding:20px 24px;background:var(--peach);margin-bottom:28px;border-left:4px solid var(--petrol)}
@media(max-width:1020px){
  .statement-grid,.evidence-grid,.related-grid{grid-template-columns:1fr 1fr}
  .journey{grid-template-columns:1fr 1fr}.journey-step:nth-child(2n){border-right:0}.journey-step{border-bottom:1px solid var(--line)}.journey-step:last-child{grid-column:1/-1}
  .journey-step::after{display:none}.signal-map{grid-template-columns:1fr}.signal-destinations{grid-template-columns:repeat(3,1fr)}
  .architecture-flow{grid-template-columns:1fr 1fr}.arch-node::after{display:none}.arch-node:last-child{grid-column:1/-1}
  .scope-grid{grid-template-columns:1fr 1fr}.scope:nth-child(2n){border-right:0}.scope{border-bottom:1px solid var(--line)}
}
@media(max-width:680px){
  .statement-grid,.outcome-list,.evidence-grid,.related-grid,.next-links,.contact-choice,.signal-destinations,.scope-grid{grid-template-columns:1fr}
  .outcome:nth-child(odd){padding-right:0;border-right:0}.outcome:nth-child(even){padding-left:0}
  .journey{grid-template-columns:1fr}.journey-step{border-right:0}.journey-step:last-child{grid-column:auto}
  .architecture-flow{grid-template-columns:1fr}.arch-node:last-child{grid-column:auto}
  .scope{border-right:0}.context-cta{grid-template-columns:1fr}
  .priority-row{grid-template-columns:1fr}.priority-row.header{display:none}.priority-row span:not(:first-child)::before{content:attr(data-label) ": ";font-weight:700}
}

/* V4 conversion-path and lead-form system */
:focus-visible{outline:3px solid var(--apricot);outline-offset:3px}
.mobile-inquiry{display:none}
.path-grid{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--line);background:var(--white)}
.path-card{padding:24px 20px;border-right:1px solid var(--line);min-height:235px;position:relative;display:flex;flex-direction:column;transition:.22s}
.path-card:last-child{border-right:0}.path-card .icon{width:38px;color:var(--petrol);margin-bottom:26px}.path-card h3{font-size:1.5rem}.path-card p{font-size:.86rem;color:#58615e}.path-card .text-link{margin-top:auto;padding-top:18px}.path-card:hover{background:var(--mist);transform:translateY(-3px)}
.route-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;color:var(--teal);font-weight:700;margin-bottom:10px}
.dual-route{display:grid;grid-template-columns:1fr 1fr;gap:18px}.route-panel{background:white;border:1px solid var(--line);padding:30px}.route-panel .icon{width:40px;color:var(--teal);margin-bottom:22px}.route-panel h3{font-size:2rem}.route-panel p{color:#56605d}.route-panel .btn{margin-top:22px}
.intent-wrap{margin-bottom:30px}.intent-title{font-family:var(--serif);font-size:2rem;line-height:1;margin-bottom:8px}.intent-help{color:#59615e;margin-bottom:18px}
.intent-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.intent-btn{border:1px solid var(--line);background:white;padding:16px;text-align:left;cursor:pointer;min-height:76px;transition:.2s;color:var(--black)}/* Both inherited body's 1.55 ratio, so the 12.48px description rendered at
   19.34px leading and read as separate lines rather than a paragraph.
   The 4px gap keeps label and description apart now the leading is tighter. */
.intent-btn strong{display:block;line-height:1.25}.intent-btn span{display:block;margin-top:4px;font-size:.78rem;line-height:1.35;color:#67706d}.intent-btn[aria-pressed="true"]{border-color:var(--petrol);background:var(--mist);box-shadow:inset 0 0 0 1px var(--petrol)}
.selected-intent{display:inline-flex;align-items:center;gap:8px;padding:.45rem .7rem;background:var(--mist);font-size:.78rem;font-weight:700;margin:0 0 20px}.selected-intent::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--apricot)}
.required-note{font-size:.78rem;color:var(--slate);margin-bottom:4px}.field-error{min-height:1.1em;color:#9c2f25;font-size:.78rem;font-weight:600;margin-top:3px}.input-error{border-color:#9c2f25!important;box-shadow:0 0 0 1px #9c2f25}.form-trust{font-size:.8rem;color:#5b6461;margin-top:-6px}.prototype-note{font-size:.78rem;padding:12px 14px;background:var(--mist);border-left:3px solid var(--apricot)}
.form-success{display:none;background:var(--mist);padding:28px;border-left:4px solid var(--teal)}.form-success.show{display:block}.form-success h3{font-size:2rem}
.partner-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);background:white}.partner-card{padding:26px;border-right:1px solid var(--line);min-height:210px}.partner-card:last-child{border-right:0}.partner-card .icon{width:36px;color:var(--teal);margin-bottom:20px}.partner-card h3{font-size:1.55rem}.partner-card p{font-size:.87rem;color:#58615e}
.path-proof{display:grid;grid-template-columns:.8fr 1.2fr;gap:40px;align-items:start}.proof-points{display:grid;gap:0;border-top:1px solid var(--line)}.proof-point{display:grid;grid-template-columns:40px 1fr;gap:14px;padding:18px 0;border-bottom:1px solid var(--line)}.proof-point .icon{width:28px;color:var(--teal)}
.micro-next{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:26px}.micro-next .small{margin:0}
@media(max-width:1080px){.path-grid{grid-template-columns:1fr 1fr}.path-card{border-bottom:1px solid var(--line)}.path-card:nth-child(2n){border-right:0}.path-card:last-child{grid-column:1/-1}.partner-grid{grid-template-columns:1fr 1fr}.partner-card:nth-child(2n){border-right:0}.partner-card{border-bottom:1px solid var(--line)}}
@media(max-width:1020px){#nav .mobile-inquiry{display:block}.intent-grid{grid-template-columns:1fr 1fr}.path-proof{grid-template-columns:1fr}}
@media(max-width:680px){.path-grid,.dual-route,.partner-grid,.intent-grid{grid-template-columns:1fr}.path-card,.partner-card{border-right:0}.path-card:last-child{grid-column:auto}.intent-btn{min-height:68px}}


/* V5 accessibility and inclusive UX hardening. No CRO or search paths changed. */
.skip-link{position:fixed;left:16px;top:12px;z-index:1000;padding:.7rem 1rem;background:var(--black);color:var(--chalk);font-weight:700;transform:translateY(-160%);transition:transform .15s ease}
.skip-link:focus{transform:translateY(0)}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
html{scroll-padding-top:100px}
html:not(.js) .reveal{opacity:1!important;transform:none!important}
#main-content{scroll-margin-top:100px}
#nav a{padding-block:4px}
:focus-visible{outline:3px solid var(--black)!important;outline-offset:3px!important;box-shadow:0 0 0 6px var(--chalk)!important}
.intent-btn{position:relative}
.intent-btn[aria-pressed="true"] span{color:#59615e}
.intent-btn[aria-pressed="true"]::after{content:"✓";position:absolute;right:10px;top:8px;font-weight:800;color:var(--petrol)}
.filter-btn[aria-pressed="true"]::before{content:"✓ ";font-weight:800}
.context-cta h2{font-size:2rem}
.cap-row h2{font-size:2rem}
.work-body h2,.insight-body h2{font-size:1.75rem}
.proc-panel h2{font-size:2rem;margin-bottom:18px}
.priority-table-native{width:100%;border-collapse:collapse;background:white;border:1px solid var(--line)}
.priority-table-native th,.priority-table-native td{padding:16px 20px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.priority-table-native thead th{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;background:var(--mist)}
.priority-table-native tbody tr:last-child th,.priority-table-native tbody tr:last-child td{border-bottom:0}
.priority-table-native tbody th{font-weight:500}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .reveal,.js .reveal{opacity:1!important;transform:none!important}
  .card:hover,.insight:hover,.path-card:hover,.btn:hover{transform:none!important}
}
@media(forced-colors:active){
  .intent-btn[aria-pressed="true"],.filter-btn[aria-pressed="true"]{outline:2px solid ButtonText;outline-offset:2px}
  .intent-btn[aria-pressed="true"]::after,.filter-btn[aria-pressed="true"]::before{color:ButtonText}
}
@media(max-width:680px){
  .priority-table-native,.priority-table-native thead,.priority-table-native tbody,.priority-table-native tr,.priority-table-native th,.priority-table-native td{display:block;width:100%}
  .priority-table-native thead{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
  .priority-table-native tr{padding:14px 0;border-bottom:1px solid var(--line)}
  .priority-table-native tbody th,.priority-table-native td{border:0;padding:5px 16px}
  .priority-table-native td::before{content:attr(data-label) ": ";font-weight:700}
}


/* Reflow resilience for user text-spacing overrides. */
.page-hero-shell>*,.cap-row>*,.article-layout>*,.cards-3>*,.cards-2>*,.work-grid>*,.related-grid>*,.next-links>*{min-width:0}
h1,h2,h3,h4,.pill,.small,.text-link,.byline span{overflow-wrap:anywhere}
.byline{flex-wrap:wrap}



/* WordPress production integration */
.wp-site-blocks{padding:0;margin:0}.site-main,.nac-page-pattern{margin:0!important;padding:0!important;max-width:none!important}.site-main>.wp-block-post-content{margin:0!important}
.wp-block-post-content>.nac-page-pattern{margin-block-start:0!important}.wp-block-html{margin-block-start:0}
.admin-bar .site-header{top:32px}@media(max-width:782px){.admin-bar .site-header{top:46px}}
.skip-link{position:fixed;left:12px;top:10px;z-index:10000;background:var(--black);color:var(--chalk);padding:12px 16px;transform:translateY(-180%);transition:transform .15s}.skip-link:focus{transform:none}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.nac-page-pattern>.wp-block-html{margin:0}

/* Forminator: keep the approved short-form visual system */
.nac-forminator-shell{min-width:0}.nac-forminator-shell .selected-intent{margin-bottom:18px}
.nac-forminator-shell .forminator-ui.forminator-custom-form{margin:0!important;padding:0!important;background:transparent!important}
.nac-forminator-shell .forminator-row{margin:0 0 18px!important;padding:0!important}
.nac-forminator-shell .forminator-col{padding:0!important}
.nac-forminator-shell .forminator-field{margin:0!important}
.nac-forminator-shell .forminator-label{display:block!important;margin:0 0 8px!important;color:var(--black)!important;font-family:var(--sans)!important;font-size:.85rem!important;font-weight:700!important;line-height:1.45!important}
.nac-forminator-shell .forminator-required{color:#9c2f25!important}
.nac-forminator-shell input.forminator-input,.nac-forminator-shell textarea.forminator-textarea{width:100%!important;border:1px solid var(--line)!important;border-radius:0!important;background:#fff!important;color:var(--black)!important;padding:14px!important;box-shadow:none!important;font-family:var(--sans)!important;font-size:1rem!important}
.nac-forminator-shell textarea.forminator-textarea{min-height:180px!important;resize:vertical!important}
.nac-forminator-shell input.forminator-input:focus,.nac-forminator-shell textarea.forminator-textarea:focus{outline:3px solid var(--black)!important;outline-offset:3px!important;box-shadow:0 0 0 6px var(--chalk)!important}
.nac-forminator-shell .forminator-error-message{color:#9c2f25!important;font-size:.78rem!important;font-weight:700!important;background:transparent!important;padding:6px 0 0!important;margin:0!important}
.nac-forminator-shell .forminator-button-submit{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:48px!important;border:1px solid transparent!important;border-radius:0!important;background:var(--apricot)!important;color:var(--black)!important;padding:.82rem 1.15rem!important;font-family:var(--sans)!important;font-size:.92rem!important;font-weight:700!important;box-shadow:none!important;cursor:pointer!important;transition:.22s ease!important}
.nac-forminator-shell .forminator-button-submit:hover{background:#ff8654!important;transform:translateY(-2px)}
.nac-forminator-shell .forminator-button-submit:focus-visible{outline:3px solid var(--black)!important;outline-offset:3px!important;box-shadow:0 0 0 6px var(--chalk)!important}
.nac-forminator-shell .forminator-response-message{border-radius:0!important;border:0!important;border-left:4px solid var(--teal)!important;background:var(--mist)!important;color:var(--black)!important;padding:18px 20px!important;box-shadow:none!important}
.nac-forminator-shell .forminator-response-message.forminator-error{border-left-color:#9c2f25!important}
.nac-forminator-shell .form-trust{margin-top:14px}.nac-forminator-shell .form-privacy{font-size:.78rem;color:var(--slate);margin-top:8px}.nac-forminator-shell .form-privacy a{text-decoration:underline;text-underline-offset:2px}

/* Native Query Loop on Insights */
ul.wp-block-post-template.insights-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
ul.wp-block-post-template.insights-grid>li{margin:0}.insight-query-card{height:100%;border:1px solid var(--line);background:#fff;overflow:hidden;transition:.25s}.insight-query-card:hover{transform:translateY(-4px);box-shadow:0 16px 28px rgba(32,35,34,.08)}.insight-query-card .wp-block-post-featured-image{height:210px;margin:0;background:var(--mist);overflow:hidden}.insight-query-card .wp-block-post-featured-image img{width:100%;height:100%;object-fit:cover}.insight-query-card .insight-body{padding:24px}.insight-query-card .wp-block-post-title{font-family:var(--serif);font-weight:400;font-size:1.75rem;line-height:.98;margin:10px 0 0}.insight-query-card .wp-block-post-excerpt{font-size:.88rem;color:var(--slate)}.insight-query-card .wp-block-post-excerpt__more-link{font-weight:700;color:var(--petrol)}
.wp-block-query-no-results{padding:28px;background:var(--mist)}
@media(max-width:1020px){ul.wp-block-post-template.insights-grid{grid-template-columns:1fr 1fr}}@media(max-width:680px){ul.wp-block-post-template.insights-grid{grid-template-columns:1fr}}

/* Privacy page */
.privacy-copy{max-width:820px}.privacy-copy h2{font-size:2.7rem;margin-top:2.2rem}.privacy-copy h3{font-size:1.7rem;margin-top:1.8rem}.privacy-copy ul{padding-left:1.2rem}.privacy-copy p,.privacy-copy li{font-size:1.02rem}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.reveal,.card,.insight-query-card,.btn,.path-card,.text-link::after{transition:none!important;transform:none!important}.reveal{opacity:1!important}}

/* V1.1 editorial homepage visual system */
.nac-home-hero{padding:28px 0 0;background:var(--chalk)}
.nac-home-hero-shell{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);background:#fff;border:1px solid var(--line);overflow:hidden;min-height:610px}
.nac-home-hero-copy{padding:clamp(38px,5vw,72px);display:flex;flex-direction:column;justify-content:center;min-width:0}
.nac-home-hero-copy h1{font-size:clamp(3.2rem,5.25vw,6rem);line-height:.91;letter-spacing:-.045em;max-width:9.4ch;margin-top:18px}
.nac-home-hero-copy .lead{font-size:clamp(1rem,1.32vw,1.16rem);max-width:48ch;margin-top:24px;color:#404845}
.nac-home-hero-copy .hero-actions{margin-top:30px}
.nac-home-hero-copy .micro-next{margin-top:20px}
.nac-home-hero-media{position:relative;min-width:0;min-height:610px;background:var(--mist);overflow:hidden}
.nac-home-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center}
.nac-home-hero-line{position:absolute;top:24px;right:24px;width:56px;height:3px;background:var(--apricot);z-index:2}
/* The four disciplines used to be burnt into home-architecture.webp, along with
   the tagline. Both are out of the pixels now. The tagline already exists as
   text in parts/footer.html so it is not repeated here; these words existed
   nowhere else, so they are carried as real text.
   Solid petrol rather than a scrim: the photo is object-fit:cover, so which
   part of it sits under this block changes with the viewport, and chalk on
   petrol holds 13:1 whatever ends up behind it. */
.nac-home-hero-marks{position:absolute;top:44px;right:24px;z-index:2;margin:0;padding:2px 20px;list-style:none;background:var(--petrol);color:var(--chalk)}
.nac-home-hero-marks li{font-size:.66rem;line-height:1;letter-spacing:.2em;text-transform:uppercase;font-weight:600;padding:11px 0;white-space:nowrap}
.nac-home-hero-marks li+li{border-top:1px solid rgba(251,250,247,.24)}
.nac-home-hero-proof{position:absolute;left:0;bottom:0;z-index:3;width:min(82%,620px);display:grid;grid-template-columns:minmax(0,1.3fr) minmax(128px,.7fr);background:rgba(251,250,247,.97);border-top:1px solid rgba(32,35,34,.12);border-right:1px solid rgba(32,35,34,.12);box-shadow:0 -10px 40px rgba(7,59,58,.09);transition:transform .24s ease,box-shadow .24s ease}
.nac-home-hero-proof:hover{transform:translateY(-4px);box-shadow:0 -16px 44px rgba(7,59,58,.15)}
.nac-home-proof-copy{padding:24px 26px;display:flex;flex-direction:column;justify-content:center;gap:7px;min-width:0}
.nac-home-proof-copy strong{font-family:var(--serif);font-size:clamp(1.45rem,2.2vw,2rem);font-weight:400;line-height:.98}
.nac-home-proof-copy>span:not(.route-label):not(.text-link){font-size:.84rem;color:#59615e}
.nac-home-proof-image{min-height:180px;background:var(--mist);overflow:hidden}
.nac-home-proof-image img{width:100%;height:100%;object-fit:cover}
.nac-start-section{padding-top:92px}
.nac-home-capabilities-section{background:#fff}
.nac-home-capabilities{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:1px solid var(--line);background:#fff}
.nac-home-cap{position:relative;display:flex;flex-direction:column;min-height:285px;padding:26px 22px 22px;border-right:1px solid var(--line);transition:background .22s ease,transform .22s ease}
.nac-home-cap:last-child{border-right:0}
.nac-home-cap:hover{background:var(--mist);transform:translateY(-3px)}
.nac-home-cap .icon{width:36px;height:36px;color:var(--petrol);margin-bottom:34px;flex:none}
.nac-home-cap h3{font-family:var(--serif);font-size:1.56rem;line-height:1.02}
.nac-home-cap p{font-size:.84rem;color:#58615e;margin-top:12px}
.nac-home-cap-arrow{display:block;margin-top:auto;padding-top:18px;color:var(--apricot);font-size:1.35rem;line-height:1}
.nac-home-approach{background:linear-gradient(180deg,var(--chalk) 0,var(--chalk) 55%,#fff 55%,#fff 100%)}
.nac-editorial-strip{display:grid;grid-template-columns:1.4fr .78fr .78fr .78fr;margin-top:54px;min-height:350px;background:var(--petrol);overflow:hidden;border:1px solid rgba(32,35,34,.08)}
.nac-editorial-copy{padding:42px;color:var(--chalk);display:flex;flex-direction:column;justify-content:center}
.nac-editorial-copy .eyebrow{color:var(--peach)}
.nac-editorial-copy h2,.nac-editorial-copy h3{font-size:clamp(2.6rem,4vw,4.3rem);max-width:8.5ch;margin-top:16px}
.nac-editorial-copy p{max-width:42ch;color:#d8e5e2}
.nac-on-dark{color:var(--chalk);margin-top:22px}
.nac-editorial-image{min-width:0;overflow:hidden;background:#173f3e}
.nac-editorial-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.88) contrast(1.03)}
.nac-editorial-data img{object-position:56% center}
.nac-editorial-message{padding:36px 26px;background:var(--peach);font-family:var(--serif);font-size:clamp(1.55rem,2.4vw,2.4rem);line-height:1.02;display:flex;flex-direction:column;justify-content:center}
.nac-editorial-message span{display:block}
.nac-editorial-message i{display:block;width:48px;height:2px;background:var(--petrol);margin-top:28px}
.nac-home-work{background:#fff}
.nac-work-card-photo .work-art img{width:100%;height:100%;object-fit:cover}
.nac-work-art-form{display:grid;place-items:center;background:linear-gradient(135deg,var(--peach),#fff)}
.nac-form-visual{width:min(72%,360px);background:#fff;border:1px solid var(--line);padding:28px;box-shadow:0 18px 45px rgba(32,35,34,.10)}
.nac-form-visual span{display:block;height:13px;background:var(--mist);margin-bottom:15px}
.nac-form-visual span:nth-child(2){width:86%}.nac-form-visual span:nth-child(3){width:68%}
.nac-form-visual strong{display:inline-block;margin-top:7px;background:var(--apricot);padding:10px 20px;font-size:.82rem}

@media(max-width:1100px){
  .nac-home-hero-shell{grid-template-columns:1fr 1fr;min-height:570px}
  .nac-home-hero-copy{padding:44px 38px}
  .nac-home-hero-copy h1{font-size:clamp(3rem,5.4vw,4.9rem)}
  .nac-home-hero-media{min-height:570px}
  .nac-home-hero-proof{width:92%;grid-template-columns:1.25fr .75fr}
  .nac-home-capabilities{grid-template-columns:repeat(3,1fr)}
  .nac-home-cap{border-bottom:1px solid var(--line)}
  .nac-home-cap:nth-child(3n){border-right:0}.nac-home-cap:nth-child(4),.nac-home-cap:nth-child(5){border-bottom:0}
  .nac-editorial-strip{grid-template-columns:1.2fr .8fr .8fr}
  .nac-editorial-image:last-child{display:none}
}
@media(max-width:820px){
  .nac-home-hero{padding-top:12px}
  .nac-home-hero-shell{grid-template-columns:1fr;min-height:0}
  .nac-home-hero-copy{padding:42px 28px 38px}
  .nac-home-hero-copy h1{font-size:clamp(2.8rem,10vw,4.9rem);max-width:10.5ch}
  .nac-home-hero-copy .lead{max-width:58ch}
  .nac-home-hero-media{min-height:430px}
  .nac-home-hero-marks{top:38px;right:18px;padding:2px 16px}
  .nac-home-hero-marks li{font-size:.62rem;padding:9px 0}
  .nac-home-hero-proof{left:16px;right:16px;bottom:16px;width:auto}
  .nac-home-capabilities{grid-template-columns:1fr 1fr}
  .nac-home-cap:nth-child(3n){border-right:1px solid var(--line)}
  .nac-home-cap:nth-child(2n){border-right:0}
  .nac-home-cap:nth-child(4){border-bottom:1px solid var(--line)}
  .nac-home-cap:last-child{grid-column:1/-1;border-right:0}
  .nac-editorial-strip{grid-template-columns:1fr 1fr}
  .nac-editorial-copy{grid-column:1/-1}
  .nac-editorial-message{min-height:250px}
  .nac-editorial-image:last-child{display:block}
  .nac-editorial-data{display:none}
}
@media(max-width:680px){
  .header-inner{gap:10px}
  .brand{gap:8px;min-width:0}
  .brand svg,.brand .brand-mark{width:32px;height:32px}
  .brand-name{font-size:1.02rem;white-space:nowrap}
  .menu-toggle{font-size:1.35rem;padding:8px}
  .nac-home-hero-shell{border-left:0;border-right:0}
  .nac-home-hero-copy{order:1}
  .nac-home-hero-media{order:2}
  /* Backward-safe rendering while a database-stored pre-1.1 Home pattern is still present. */
  .nac-slug-home .page-hero-shell .page-copy{order:1}
  .nac-slug-home .page-hero-shell .page-art{order:2;min-height:260px}
  .nac-slug-home .page-hero-shell .page-art .brand-mark{width:min(52%,180px);height:auto}
  .nac-home-hero-copy{padding:36px 24px 32px}
  .nac-home-hero-copy .eyebrow{font-size:.64rem;letter-spacing:.14em}
  .nac-home-hero-copy h1{font-size:clamp(2.65rem,13vw,3.75rem);line-height:.94;letter-spacing:-.04em;max-width:none}
  .nac-home-hero-copy .lead{font-size:1rem;margin-top:20px}
  .nac-home-hero-copy .hero-actions{display:grid;grid-template-columns:1fr;gap:10px}
  .nac-home-hero-copy .hero-actions .btn{width:100%}
  .nac-home-hero-media{min-height:390px}
  .nac-home-hero-marks{top:30px;right:12px;padding:2px 13px}
  .nac-home-hero-marks li{font-size:.58rem;letter-spacing:.16em;padding:8px 0}
  .nac-home-hero-image{object-position:51% center}
  .nac-home-hero-proof{grid-template-columns:1fr 106px;left:12px;right:12px;bottom:12px}
  .nac-home-proof-copy{padding:17px 18px}
  .nac-home-proof-copy strong{font-size:1.28rem}
  .nac-home-proof-copy>span:not(.route-label):not(.text-link){display:none}
  .nac-home-proof-copy .text-link{font-size:.78rem}
  .nac-home-proof-image{min-height:128px}
  .nac-start-section{padding-top:68px}
  .nac-home-capabilities{grid-template-columns:1fr}
  .nac-home-cap,.nac-home-cap:nth-child(3n),.nac-home-cap:nth-child(2n){border-right:0;border-bottom:1px solid var(--line);min-height:0;padding:22px;display:grid;grid-template-columns:42px 1fr 28px;column-gap:14px;align-items:start}
  .nac-home-cap:last-child{grid-column:auto;border-bottom:0}
  .nac-home-cap .icon{grid-row:1/4;margin:0;width:30px;height:30px}
  .nac-home-cap h3{font-size:1.45rem}
  .nac-home-cap p{grid-column:2/3;margin-top:8px}
  .nac-home-cap-arrow{grid-column:3;grid-row:1/4;margin:0;padding:2px 0 0;text-align:right}
  .nac-editorial-strip{grid-template-columns:1fr;margin-top:40px}
  .nac-editorial-copy{grid-column:auto;padding:32px 24px}
  .nac-editorial-copy h2,.nac-editorial-copy h3{font-size:2.75rem;max-width:9ch}
  .nac-editorial-message{min-height:210px;padding:30px 24px}
  .nac-editorial-image{min-height:250px}
  .nac-editorial-data{display:none}
}


/* V1.1.2 mobile/root-layout hardening.
   WordPress block-layout wrappers must not create space between the theme header
   and the first page section. This also protects against stale spacer blocks in
   an older Site Editor template override. */
body.nac-site .wp-site-blocks,
body.nac-site .wp-site-blocks > *,
body.nac-site .wp-block-template-part,
body.nac-site .site-main,
body.nac-site .site-main > .wp-block-post-content,
body.nac-site .wp-block-post-content > .nac-page-pattern,
body.nac-site .nac-page-pattern > .wp-block-html{
  margin-block-start:0!important;
}
body.nac-site .wp-site-blocks > .wp-block-spacer,
body.nac-site .wp-site-blocks > .wp-block-template-part + .wp-block-spacer,
body.nac-site .site-main > .wp-block-spacer:first-child,
body.nac-site .wp-block-post-content > .wp-block-spacer:first-child{
  display:none!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
}
body.nac-site .site-main,
body.nac-site .wp-block-post-content{
  padding-block-start:0!important;
}
body.nac-site .wp-block-post-content > .nac-page-pattern > .wp-block-html:first-child,
body.nac-site .wp-block-post-content > .nac-page-pattern > .wp-block-html:first-child > :first-child{
  margin-block-start:0!important;
}

@media(max-width:680px){
  body.nac-site .page-hero{padding:18px 0 24px!important;margin:0!important}
  body.nac-site .page-hero-shell{grid-template-columns:1fr!important;min-height:0!important;align-content:start!important}
  body.nac-site .page-copy{padding:28px 22px!important;justify-content:flex-start!important;min-height:0!important}
  body.nac-site .page-copy h1{font-size:clamp(2.65rem,12.5vw,3.6rem);line-height:.94;letter-spacing:-.04em;max-width:none}
  body.nac-site .page-copy .lead{font-size:1rem;line-height:1.55;margin-top:18px}
  body.nac-site .page-art{min-height:260px!important}
}

/* Back to top.
   z-index 90 deliberately sits BELOW the sticky .site-header (100) and the
   .skip-link (1000/10000), so this can never cover either.
   The [hidden] rule is load-bearing: `display:inline-flex` here outranks the
   user agent's own `[hidden]{display:none}`, so without it the button would
   be permanently visible on every page including short ones. */
.nac-to-top{position:fixed;right:20px;bottom:20px;z-index:90;display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;padding:0;border:1px solid var(--black);border-radius:0;background:var(--chalk);color:var(--black);cursor:pointer;box-shadow:0 2px 10px rgba(0,0,0,.14);transition:background .2s ease,transform .2s ease}
.nac-to-top[hidden]{display:none}
.nac-to-top:hover{background:var(--apricot);transform:translateY(-2px)}
.nac-to-top:focus-visible{outline:3px solid var(--black);outline-offset:3px;box-shadow:0 0 0 6px var(--chalk)}
@media(max-width:1020px){.nac-to-top{right:14px;bottom:14px;width:42px;height:42px}}
@media(prefers-reduced-motion:reduce){.nac-to-top{transition:none}.nac-to-top:hover{transform:none}}

/* Architecture variants for the split nonprofit case studies.
   ---------------------------------------------------------------------------
   The base .architecture-flow is a five-node, left-to-right funnel: it hard
   codes repeat(5,1fr) and puts a "next" arrow after every node but the last.
   Two of the three case studies are not that shape, so each gets a variant
   rather than being bent into the funnel.

   .architecture-hub   A system composition, not a sequence. Same five boxes,
                       no arrows, wrapped in .architecture-system so the group
                       reads as one environment. Used where the nodes are parts
                       of an operating model that runs in parallel, and an arrow
                       between them would assert an order that does not exist.

   .arch-six           A six-stage journey, laid out 3 x 2 at desktop width.
                       Six columns in a 1200px container leaves ~190px a node
                       for a two-line label, and less on a 1100px laptop, which
                       is the cramming the brief rules out.

                       Sequence is carried by a counter rather than by arrows,
                       because a wrapped grid cannot carry it with arrows
                       honestly: a down arrow under node 3 sits above node 6,
                       while reading order actually continues at node 4. The
                       number is correct at every breakpoint, including the
                       single-column stack, and it is reinforcement rather than
                       the only signal, since DOM order already gives assistive
                       technology the sequence.

                       Scoped to min-width:1021px so the variant does not exist
                       at the two breakpoints below, where the base rules
                       already collapse the grid to 2 then 1 column. The one
                       base rule that must be cancelled below 1021px is
                       .arch-node:last-child{grid-column:1/-1}, which exists to
                       stop an odd fifth node being orphaned in a 2-column grid.
                       Six nodes divide evenly, so that rule would instead push
                       the last one onto a full-width row of its own. */
.architecture-system{background:var(--petrol);padding:20px}
.arch-system-head{color:var(--chalk);font-size:.72rem;text-transform:uppercase;letter-spacing:.16em;font-weight:700;padding:2px 2px 16px}
.architecture-system .architecture-flow{background:none;padding:0}
.architecture-hub .arch-node::after{display:none}
.architecture-flow.arch-six{counter-reset:archstep}
.arch-six .arch-node{counter-increment:archstep;padding-top:30px}
.arch-six .arch-node::after{display:none}
.arch-six .arch-node::before{content:counter(archstep);position:absolute;top:10px;right:14px;font-size:.74rem;font-weight:800;color:var(--apricot);letter-spacing:.08em}
@media(min-width:1021px){
  .architecture-flow.arch-six{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:1020px){
  .arch-six .arch-node:last-child{grid-column:auto}
}
