/* One container, spacing scale and surface palette for every template. */
:root{--container:80rem;--space:clamp(1.25rem,4vw,4rem);--section-space:clamp(2.5rem,4.5vw,4rem);--surface:#1e211a;--surface-muted:#1a1c17}
body .container,body .site-footer>.container{width:min(var(--container),calc(100% - var(--space)*2));max-width:var(--container);margin-inline:auto}
.ap-template-content{width:100%;max-width:none}
.ap-template-content>:is(.wp-block-group,.wp-block-shortcode,.project-cta){margin-block:0}
.ap-template-content>p:empty,.ap-template-content .home-hero>p:empty{display:none}
.ap-template-content :is(.home-section,.work-section,.process-section,.about-section,.about-principles){padding-block:var(--section-space)}
.ap-template-content :is(.about-intro,.services-intro,.portfolio-intro){padding-block:var(--section-space)}
.ap-template-content .contact-main,.ap-document{padding-block:var(--section-space)}
.ap-template-content .service-detail{padding-block:var(--section-space)}
.ap-template-content .services-detail-list{padding-block:0}
.ap-template-content .portfolio-collection{padding-block:0 var(--section-space)}
.ap-template-content .about-brand-band{padding-block:2rem}
/* Prevent stacked block margins from adding a second section-sized gap. */
.ap-template-content .about-audience-list{margin-bottom:1.25rem}
.ap-template-content .ap-link-row{margin-block:0}
.ap-template-content .portfolio-intro-actions{margin-top:1.5rem}
/* Responsive hero, including WordPress shortcode and legacy group wrappers. */
.ap-template-content .home-hero{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1.12fr);grid-template-areas:"copy visual" "baseline baseline";align-items:center;gap:2rem clamp(1.5rem,3vw,3rem);min-height:0;padding-block:var(--section-space) 1.5rem}
.ap-template-content .home-hero>.wp-block-group__inner-container{display:contents}
.ap-template-content .home-hero .hero-copy{grid-area:copy;min-width:0;margin:0}
.ap-template-content .home-hero .hero-globe{grid-area:visual;width:100%;max-width:36rem;min-width:0;margin:0 auto}
.ap-template-content .home-hero>:is(.wp-block-shortcode,p):has(.hero-globe){grid-area:visual;margin:0;min-width:0}
.ap-template-content .home-hero .hero-baseline{grid-area:baseline;position:static;inset:auto;width:100%;margin:0;padding-top:1.25rem}
.ap-template-content .home-hero .globe-scene{min-height:0;aspect-ratio:1.12;max-height:32rem}
.ap-template-content .home-hero .hero-disciplines{margin-top:1.5rem}
/* Accent sections share one dark woven surface across all pages. */
.ap-template-content :is(.process-section,.about-principles,.contact-bottom){background-color:var(--surface-muted);background-image:url('../textures/woven.svg');color:var(--text);border-block:1px solid var(--line)}
.ap-template-content :is(.process-section,.about-principles) :is(.section-summary,.section-kicker p,.process-grid p,.about-description,.about-principle-grid p){color:var(--muted)}
.ap-template-content :is(.process-section,.about-principles) :is(h2 em,.section-index,.about-kicker>p:first-child,.process-grid article>p:first-child){color:var(--gold-light)}
.ap-template-content :is(.process-section,.about-principles) :is(.section-index,.about-kicker>p:first-child,.process-grid article,.about-principle-grid article){border-color:#af9c6d55}
.ap-template-content .work-section{background:transparent;color:var(--text)}
.ap-template-content .work-section :is(.section-summary,.section-kicker p,.showreel-caption){color:var(--muted)}
.ap-template-content .work-section :is(h2 em,.section-index){color:var(--gold-light)}
.ap-template-content .work-section .button-outline{color:var(--text);border-color:var(--gold)}
.ap-template-content .contact-bottom{padding-block:var(--section-space)}
/* A contained CTA panel has a visible edge, texture and compact spacing. */
body .project-cta{margin:0;padding-block:1.5rem var(--section-space);background:transparent;color:var(--text)}
.project-cta .ap-cta-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2rem;padding:clamp(1.75rem,3.5vw,3rem);border:1px solid #af9c6d55;border-radius:.75rem;background-color:#24271e;background-image:radial-gradient(ellipse at top right,#af9c6d18,transparent 70%),url('../textures/woven.svg');box-shadow:inset 3px 0 0 #af9c6d}
.project-cta .ap-cta-copy{min-width:0}.project-cta .eyebrow{margin:0;color:var(--gold-light)}
.project-cta h2{font-size:clamp(1.875rem,3.2vw,3rem);line-height:1.15;margin:1rem 0;max-width:50rem;letter-spacing:-.04em}
.project-cta h2 em{font-style:normal;color:var(--gold-light)}
.project-cta h2+p{max-width:44rem;margin:0;font-size:1.0625rem;line-height:1.8;color:var(--muted)}
.project-cta .button{white-space:nowrap;margin:0;min-height:48px}
@media(max-width:57.99rem){.ap-template-content .home-hero{grid-template-columns:minmax(0,1fr);grid-template-areas:"copy" "visual" "baseline";gap:2rem}.ap-template-content .home-hero .hero-globe{max-width:28rem}.project-cta .ap-cta-panel{grid-template-columns:minmax(0,1fr);gap:1.5rem}.project-cta .button{justify-self:start}}
@media(max-width:36rem){.ap-template-content .home-hero .hero-globe{max-width:23rem}.ap-template-content .home-hero .hero-baseline{gap:.75rem}.project-cta .ap-cta-panel{padding:1.5rem}}
/* Original GitHub hero rhythm and globe proportions. */
.ap-template-content .home-hero{padding-top:clamp(3rem,5vw,5rem);column-gap:clamp(1rem,3vw,3rem)}
.ap-template-content .home-hero .hero-copy h1{margin-block:1.2rem 1.7rem}
.ap-template-content .home-hero .hero-description{margin:0;max-width:29rem;line-height:1.8}
.ap-template-content .home-hero .hero-copy .actions{display:flex;align-items:center;flex-wrap:wrap;gap:1.5rem;margin-block:2rem 0}
.ap-template-content .home-hero .actions>.wp-block-buttons,.ap-template-content .home-hero .actions>.ap-link-row{margin:0}
.ap-template-content .home-hero .actions .ap-link-row a{display:inline-flex;align-items:center;gap:.7rem;min-height:48px}
.ap-template-content .home-hero .hero-disciplines{margin-top:2.2rem;gap:1rem}
.hero-disciplines>p+p::before{content:'•';color:var(--gold);margin-right:.75rem}
.hero-kicker::before{content:'';width:.45rem;height:.45rem;border-radius:50%;background:var(--gold);flex:none}
.ap-template-content .home-hero .hero-globe{max-width:none}
.ap-template-content .home-hero .globe-scene{aspect-ratio:1.05;max-height:none;min-height:20rem}
.hero-globe .globe-fallback{animation:none;transform:none;filter:none}
.hero-globe .globe-ready>.globe-fallback{opacity:0;animation:none}
.globe-scene>canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.globe-caption>span::before{content:'';width:.4rem;height:.4rem;background:var(--gold);border-radius:50%;display:inline-block;margin-right:.6rem}
/* A compact, balanced signature panel for the About page. */
.ap-template-content .about-brand-band{background:transparent;border:0;padding-block:1.5rem}
.ap-template-content .about-brand-band>.container{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.25fr);align-items:center;gap:clamp(1.5rem,4vw,4rem);padding:clamp(1.5rem,3vw,2.5rem);border:1px solid #af9c6d40;border-radius:.75rem;background:radial-gradient(ellipse at top left,#af9c6d0c,transparent 75%),url('../textures/woven.svg'),var(--surface-muted)}
.ap-template-content .about-brand-signature{display:grid;grid-template-columns:clamp(5rem,7vw,6.5rem) minmax(0,1fr);align-items:center;gap:1.5rem}
.ap-template-content .about-brand-signature .wp-block-image{width:100%;margin:0}
.ap-template-content .about-brand-signature img{width:100%;height:auto;max-height:9rem;object-fit:contain}
.ap-template-content .about-brand-signature>p{font-size:1rem;line-height:1.6;letter-spacing:0;margin:0;color:var(--muted)}
.ap-template-content .about-brand-band>.container>p{font-size:clamp(1.5rem,2.6vw,2.25rem);line-height:1.4;letter-spacing:-.025em;max-width:32rem;justify-self:end;margin:0;color:var(--gold-light)}
/* The original portfolio collection hierarchy supplies the missing space. */
.ap-template-content .portfolio-group{padding-top:clamp(2rem,4vw,3rem)}
.ap-template-content .collection-heading{margin-bottom:2rem;gap:1rem;align-items:baseline}
.ap-template-content .collection-heading h2{margin:0;font-size:var(--heading-size)}
@media(max-width:57.99rem){.ap-template-content .home-hero .hero-globe{max-width:30rem}.ap-template-content .home-hero .globe-scene{min-height:0}.ap-template-content .about-brand-band>.container{grid-template-columns:minmax(0,1fr)}.ap-template-content .about-brand-band>.container>p{justify-self:start}}
@media(max-width:36rem){.ap-template-content .home-hero .hero-copy h1{margin-block:1.2rem 1.5rem}.ap-template-content .home-hero .hero-disciplines{margin-top:1.8rem}.ap-template-content .home-hero .hero-globe{max-width:26rem}.ap-template-content .collection-heading{align-items:start;flex-direction:column;gap:.5rem;margin-bottom:1.5rem}}
