/* Fluid responsive layer. Loaded after reference geometry by WordPress and preview. */
:root{--page-gutter:clamp(1.25rem,4vw,4.5rem);--page-inset:clamp(2.5rem,8vw,9rem);--content-max:96rem}
html,body{max-width:100%;overflow-x:clip}
.shell,.value-band{width:calc(100% - var(--page-inset));max-width:var(--content-max)}
.page-home,.page-solutions,.page-vision{padding-bottom:clamp(2.25rem,3vw,3.25rem)}
.hero h1{font-size:clamp(3.35rem,5.15vw,5.35rem)}
.section-head h2{font-size:clamp(2rem,2.65vw,2.75rem)}
.hero-copy>p:not(.eyebrow):not(.trust-line){font-size:clamp(1rem,.88vw,1.0625rem)}
.orbital{display:none}
.hero-visual canvas{opacity:.2;mix-blend-mode:screen}
.button,.menu-toggle,.solution-card>a,.contact-options article>span:last-child{min-width:2.75rem;min-height:2.75rem}
.solution-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.people-card{height:auto;min-height:clamp(15rem,18vw,18rem)}
.people-illustration{min-height:100%}
.contact-grid{height:auto;min-height:clamp(28.5rem,33vw,32rem)}
.contact-form textarea{height:auto;min-height:clamp(6rem,8vw,8rem)}

@media(min-width:821px){
  .page-vision .hero{grid-template-columns:minmax(0,48%) minmax(0,52%);align-items:center;min-height:auto}
  .page-vision .hero-visual{position:relative;right:auto;top:auto;width:100%;height:auto;aspect-ratio:3/2;transform:none;translate:none;overflow:hidden;align-self:center;justify-self:stretch;mask-image:none}
  .page-vision .hero-visual img{width:100%;height:100%;object-fit:contain;object-position:center}
}

@media(min-width:1080px){
  .hero{min-height:clamp(32rem,38vw,40rem);grid-template-columns:minmax(0,44%) minmax(0,56%)}
  .page-solutions .hero,.page-vision .hero{grid-template-columns:minmax(0,48%) minmax(0,52%)}
  .page-solutions .hero-copy,.page-vision .hero-copy{max-width:none;padding-right:clamp(1rem,2vw,2rem)}
  .page-vision .hero{min-height:auto}
  .hero-visual{right:calc(var(--page-gutter) * -1);top:50%;width:60%;height:auto;aspect-ratio:3/2;transform:translateY(-50%)}
  .hero-visual img{object-fit:contain;object-position:center}
  .page-contact .hero{min-height:clamp(28rem,34vw,35rem);grid-template-columns:48% 52%}
  .contact-visual img{width:100%;right:0;object-fit:contain;object-position:center}
  .solution-grid--detailed .solution-card{min-height:clamp(28rem,33vw,34rem)}
  .solution-grid--detailed .solution-art{height:clamp(15rem,19vw,20rem)}
  .vision-art{min-height:clamp(23rem,28vw,28rem)}
  .hero-core-brand{left:58%;top:45%}
  .hero-visual .orbital,.hero-visual .hero-core-brand{display:none}
  .contact-brand-panel,.contact-table-orb-brand{display:none}
}

@media(min-width:1080px) and (max-width:1199px){
  .hero{min-height:34rem;grid-template-columns:42.5% 57.5%}
  .hero-visual{right:-2.8125rem;top:-1.3125rem;width:65.6%;height:auto;aspect-ratio:3/2;overflow:visible;transform:none}
  .page-solutions .hero{min-height:34rem}
  .page-vision .hero{min-height:auto}
  .page-solutions .hero,.page-vision .hero{grid-template-columns:minmax(0,48%) minmax(0,52%)}
  .page-contact .hero{min-height:27rem;grid-template-columns:50% 50%}
  .brand{width:17rem}
  .primary-nav{gap:4rem;margin-right:2rem}
  .hero h1{font-size:clamp(3.95rem,5.8vw,4.15rem)}
  .page-vision .hero h1{font-size:clamp(3.45rem,5.1vw,3.7rem)}
  .hero-copy{padding-left:1rem}
  .hero-visual img{object-fit:contain;object-position:center;transform:none}
  .hero-visual:after,.contact-visual:after{display:none}
  .hero-visual .orbital,.hero-visual .hero-core-brand{display:none}
  .page-home .hero{grid-template-columns:45% 55%}
  .page-home .people-card{margin-top:0}
  .page-contact .hero{min-height:27.9rem}
  .page-contact .contact-visual img{width:100%;height:100%;right:0;object-fit:contain;object-position:center;transform:none}
  .page-contact .contact-brand-panel,.page-contact .contact-table-orb-brand{display:none}
  .solution-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .solution-grid--detailed .solution-card{min-height:32rem}
  .solution-grid--detailed .solution-art{height:18.7rem}
  .value-band{grid-template-columns:repeat(4,minmax(0,1fr))}
  .value-band article:nth-child(2){border-right:1px solid var(--border)}
}

@media(max-width:1079px){
  :root{--page-gutter:clamp(1.5rem,3.5vw,2.75rem);--page-inset:clamp(3rem,7vw,5.5rem)}
  .primary-nav{gap:clamp(1.25rem,2.6vw,2.4rem)}
  .hero{min-height:clamp(30rem,48vw,34rem);grid-template-columns:46% 54%}
  .hero h1{font-size:clamp(3rem,5.5vw,4.4rem)}
  .hero-visual{right:calc(var(--page-gutter) * -.65);top:50%;width:58%;height:auto;aspect-ratio:3/2;transform:translateY(-50%)}
  .hero-visual img{object-fit:contain;object-position:center}
  .people-card{grid-template-columns:42% 58%;min-height:15rem}
  .people-card>div:last-child{padding:clamp(1.25rem,2.5vw,2rem)}
  .solution-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .page-home .solution-card{height:auto;min-height:13rem}
  .solution-grid--detailed .solution-card{min-height:clamp(27rem,48vw,31rem)}
  .solution-grid--detailed .solution-art{height:clamp(16rem,27vw,19rem)}
  .value-band{grid-template-columns:repeat(2,minmax(0,1fr))}
  .value-band article:nth-child(2){border-right:0}
  .vision-story{grid-template-columns:38% 62%}
  .approach{grid-template-columns:1fr}
  .approach-steps{margin-top:1.5rem}
  .page-contact .hero{grid-template-columns:47% 53%;min-height:28rem}
  .page-contact .contact-visual{position:relative;right:auto;top:auto;width:100%;height:auto;aspect-ratio:3/2;align-self:center;transform:none;translate:none}
  .contact-visual img{width:100%;right:0;object-fit:contain;object-position:center}
  .contact-grid{grid-template-columns:minmax(0,56%) minmax(0,44%);gap:1rem}
}

@media(min-width:821px) and (max-width:1079px){
  .hero-visual .orbital,.hero-visual .hero-core-brand{display:none}
  .contact-brand-panel,.contact-table-orb-brand{display:none}
  .hero-visual img,.contact-visual img{transform:none}
}

@media(max-width:820px){
  :root{--header:5.2rem;--page-gutter:clamp(1.1rem,4vw,2rem);--page-inset:clamp(2.2rem,8vw,4rem)}
  .brand{width:clamp(11.5rem,28vw,13rem)}
  .menu-toggle{display:block;position:relative;z-index:55;width:3rem;height:3rem}
  .primary-nav{position:fixed;z-index:50;inset:0;background:rgba(251,248,242,.97);backdrop-filter:blur(18px);display:flex;flex-direction:column;justify-content:center;gap:.55rem;visibility:hidden;opacity:0;transition:opacity .25s,visibility .25s}
  .primary-nav.is-open{visibility:visible;opacity:1}
  .primary-nav a{display:flex;align-items:center;justify-content:center;min-height:3.25rem;padding:.6rem 1rem;font:500 clamp(1.45rem,5vw,1.8rem) var(--serif)}
  body.menu-open{overflow:hidden}
  .menu-open .menu-toggle span:first-child{transform:translateY(7px) rotate(45deg)}
  .menu-open .menu-toggle span:nth-child(2){opacity:0}
  .menu-open .menu-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .hero,.page-contact .hero{display:grid;grid-template-columns:minmax(0,1fr);min-height:0;padding-top:clamp(1.5rem,5vw,2.5rem)}
  .hero>*,.hero-copy,.contact-visual{min-width:0;max-width:100%}
  .hero-copy{padding:.5rem 0 0}
  .hero h1,.page-vision .hero h1,.page-contact .hero h1{font-size:clamp(3rem,10vw,4.5rem);line-height:.94}
  .hero-copy>p:not(.eyebrow):not(.trust-line){max-width:38rem}
  .hero-visual,.contact-visual{position:relative;right:auto;top:auto;width:100%;height:auto;aspect-ratio:3/2;margin:0;mask-image:linear-gradient(0deg,var(--pearl),#000 10%,#000 100%);transform:none}
  .hero-visual img,.contact-visual img{position:absolute;inset:0;width:100%;height:100%;right:auto;object-fit:contain;object-position:center}
  .hero-visual:after,.contact-visual:after{background:linear-gradient(0deg,var(--pearl),transparent 18%)}
  .hero-core-brand{left:55%;top:50%;width:clamp(2.5rem,7vw,3.5rem)}
  .contact-brand-panel,.contact-table-orb-brand{display:none}
  .people-card{grid-template-columns:1fr;min-height:0}
  .people-illustration{height:auto;min-height:0;aspect-ratio:16/9}
  .people-card>div:last-child{display:block;padding:clamp(1.35rem,4vw,2rem)}
  .mini-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
  .mini-steps span:nth-child(2){border-right:0}
  .section{padding-block:clamp(2.25rem,6vw,3rem)}
  .vision-story,.contact-grid{grid-template-columns:1fr}
  .trust-block{grid-template-columns:1fr}.trust-block>.button{justify-self:start}
  .vision-art{min-height:0;aspect-ratio:3/2}
  .contact-grid{min-height:0;gap:1rem}
  .contact-options{grid-template-rows:none}
  .approach-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}
  .footer-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) auto;gap:clamp(.8rem,2.5vw,1.5rem)}
  .footer-grid .brand{width:10.5rem}
}

@media(max-width:560px){
  :root{--page-gutter:clamp(.9rem,4.5vw,1.3rem);--page-inset:clamp(1.8rem,9vw,2.6rem)}
  .site-header{height:4.8rem}
  .brand{width:11.25rem}
  .hero h1,.page-vision .hero h1{font-size:clamp(2.55rem,11.7vw,3.55rem)}
  .page-contact .hero h1{font-size:clamp(2.45rem,11.2vw,3.35rem)}
  .hero h1,.hero-copy p{max-width:100%;overflow-wrap:break-word}
  .eyebrow{max-width:100%;white-space:normal}
  .button-row{display:grid;grid-template-columns:1fr}
  .button-row .button,.contact-form .button{width:100%;justify-content:center;min-height:3rem}
  .hero-visual,.contact-visual{aspect-ratio:3/2}
  .people-illustration{aspect-ratio:4/3}
  .solution-grid{grid-template-columns:1fr}
  .solution-grid--detailed .solution-card{min-height:clamp(29rem,135vw,34rem)}
  .solution-grid--detailed .solution-art{height:clamp(18rem,82vw,22rem)}
  .value-band{grid-template-columns:1fr}
  .value-band article{border-right:0;border-bottom:1px solid var(--border);padding:1rem .35rem}
  .field-grid{grid-template-columns:1fr;gap:0}
  .contact-form{padding:1.25rem}
  .contact-form input,.contact-form textarea{min-height:3rem}
  .contact-options article{padding:1.15rem;gap:.85rem}
  .contact-options h2{font-size:1.3rem}
  .company-contacts dl,.trust-points{grid-template-columns:1fr}.company-contacts dl div:last-child{grid-column:auto}.trust-block{padding:1.35rem}.trust-block>.button{width:100%;justify-self:stretch}
  .approach{padding:1.25rem}
  .approach-steps{grid-template-columns:1fr}
  .site-footer{padding:1.5rem 0 .75rem}
  .footer-grid{grid-template-columns:1fr;justify-items:center;gap:.75rem;text-align:center}
  .footer-grid .brand{width:11rem;margin:auto}
  .footer-grid>p{margin:0 auto;text-align:center}
  .footer-links{justify-self:center;flex-direction:column;align-items:center;gap:.35rem}
  .copyright{margin-top:.8rem;padding-top:.7rem}
}

@media(hover:hover) and (pointer:fine){
  .solution-card:hover{transform:translateY(-7px);box-shadow:0 26px 55px rgba(100,65,21,.13),inset 0 1px #fff}
  .solution-card:hover .solution-art img{transform:scale(1.035)}
}
@media(hover:none),(pointer:coarse){
  .solution-card:hover{transform:none}
  .solution-card:hover .solution-art img{transform:none}
  .button,.primary-nav a,.solution-card>a,.contact-options article>span:last-child{min-height:3rem}
}
@media(prefers-reduced-motion:reduce){.hero-visual canvas{display:none}}
