/* Aterra landing page. Layout only; colour and type come from the design system. */
body{overflow-x:hidden}
a{color:var(--copper);text-decoration:none}
a:hover{color:#B15328}
.wrap{width:100%;max-width:var(--container);margin:0 auto;padding:0 var(--space-6);overflow-wrap:break-word}
@media (min-width:900px){.wrap{padding:0 var(--space-10)}}

/* Brand lockup */
.ftr__brand{display:flex;flex-direction:column;gap:var(--space-3)}
.ftr__desc{font-family:var(--font-label);font-size:var(--type-label);letter-spacing:.14em;text-transform:uppercase;color:var(--text-tertiary);line-height:1}

/* Header */
.hdr{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--limestone) 88%,transparent);backdrop-filter:blur(10px);border-bottom:var(--border-hairline) solid transparent;transition:border-color var(--duration-base) var(--ease-standard)}
.hdr[data-scrolled="true"]{border-bottom-color:var(--line-hairline)}
.hdr__in{display:flex;align-items:center;justify-content:space-between;height:76px;gap:var(--space-6)}
.hdr__logo{color:var(--text-primary);text-decoration:none;display:inline-flex}
.hdr__logo:hover{color:var(--text-primary)}
.hdr__nav{display:none;align-items:center;gap:var(--space-8)}
.hdr__link{font-size:var(--type-sm);color:var(--text-secondary);text-decoration:none;transition:var(--transition-control)}
.hdr__link:hover{color:var(--text-primary)}
.hdr__cta{display:none}
.hdr__burger{display:inline-flex}
@media (min-width:920px){.hdr__nav,.hdr__cta{display:flex}.hdr__burger{display:none}}
.mnav{border-top:var(--border-hairline) solid var(--line-hairline);background:var(--limestone);padding:var(--space-4) 0 var(--space-6)}
.mnav a{display:block;padding:var(--space-4) 0;font-size:var(--type-h3);color:var(--text-primary);text-decoration:none;border-bottom:var(--border-hairline) solid var(--line-soft)}

/* Hero */
.hero{padding:var(--space-16) 0 var(--space-16)}
@media (min-width:900px){.hero{padding:var(--space-24) 0 var(--space-20)}}
.hero__grid{display:grid;gap:var(--space-12);grid-template-columns:minmax(0,1fr)}
@media (min-width:1000px){.hero__grid{grid-template-columns:minmax(0,1.02fr) minmax(0,1fr);gap:var(--space-16);align-items:center}}
.hero__title{font-size:var(--type-hero);font-weight:var(--weight-semibold);line-height:var(--leading-tight);letter-spacing:var(--tracking-hero);margin:var(--space-6) 0 var(--space-8);max-width:16ch;text-wrap:balance}
.hero__lead{font-family:var(--font-editorial);font-size:var(--type-lead);line-height:var(--leading-relaxed);color:var(--text-secondary);max-width:50ch;text-wrap:pretty}
.hero__actions{display:flex;flex-wrap:wrap;gap:var(--space-4);margin-top:var(--space-8)}
.hero__note{font-family:var(--font-label);font-size:var(--type-xs);color:var(--text-tertiary);margin:var(--space-4) 0 0}
.hero__meta{display:flex;flex-wrap:wrap;gap:var(--space-4) var(--space-8);margin-top:var(--space-12);padding-top:var(--space-5);border-top:var(--rule)}
.hero__meta span{font-family:var(--font-label);font-size:var(--type-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-tertiary)}

/* Bands */
.band{padding:var(--section-y) 0}
.band--lg{padding:var(--section-y-lg) 0}
.band--dark{background:var(--basalt)}
.band--rule{border-top:var(--rule)}
.head{margin-bottom:var(--space-16)}
.head--tight{margin-bottom:var(--space-10)}

/* Problem */
.probs{display:grid;gap:var(--space-10);grid-template-columns:minmax(0,1fr)}
@media (min-width:880px){.probs{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-12)}}
.prob{border-top:var(--border-hairline) solid var(--line-hairline);padding-top:var(--space-5);height:100%}
.prob__i{display:block;font-family:var(--font-label);font-size:var(--type-label);letter-spacing:var(--tracking-label);color:var(--copper);margin-bottom:var(--space-4)}
.prob__t{font-size:var(--type-h3);line-height:1.28;margin:0 0 var(--space-4);max-width:24ch;text-wrap:pretty}
.prob__d{font-size:var(--type-sm);line-height:var(--leading-relaxed);color:var(--text-secondary);max-width:44ch}

/* Capabilities */
.caps{display:grid;gap:var(--space-10);grid-template-columns:minmax(0,1fr)}
@media (min-width:760px){.caps{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-12) var(--space-16)}}
.cap{border-top:var(--border-hairline) solid var(--line-hairline);padding-top:var(--space-5)}
.cap__i{font-family:var(--font-label);font-size:var(--type-label);letter-spacing:var(--tracking-label);color:var(--copper)}
.cap__t{font-size:var(--type-h2);margin:var(--space-4) 0 var(--space-3)}
.cap__d{font-size:var(--type-sm);line-height:var(--leading-relaxed);color:var(--text-secondary);max-width:46ch}
.cap__list{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-5)}

/* Process */
.steps{display:grid;gap:var(--space-10);grid-template-columns:minmax(0,1fr)}
@media (min-width:880px){.steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-12)}}
.step{border-top:var(--border-hairline) solid var(--line-hairline);padding-top:var(--space-5)}
.step__i{font-family:var(--font-label);font-size:var(--type-label);letter-spacing:var(--tracking-label);color:var(--text-accent)}
.step__t{font-size:var(--type-h1);margin:var(--space-4) 0 var(--space-4)}
.step__d{font-size:var(--type-sm);line-height:var(--leading-relaxed);color:var(--text-secondary)}

/* Agencies */
.eng{display:grid;gap:var(--space-8);grid-template-columns:minmax(0,1fr);margin-top:var(--space-16)}
@media (min-width:900px){.eng{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:var(--space-16);align-items:start}}
.eng__lead{font-family:var(--font-editorial);font-size:var(--type-lead);line-height:var(--leading-relaxed);color:var(--text-primary);max-width:26ch;margin:0}
.eng p{font-size:var(--type-body);line-height:var(--leading-relaxed);color:var(--text-secondary);max-width:60ch}
.eng p + p{margin-top:var(--space-5)}
.facts{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-8);margin-top:var(--space-16);padding-top:var(--space-8);border-top:var(--rule)}
@media (min-width:700px){.facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-8) var(--space-12)}}
@media (min-width:1040px){.facts{grid-template-columns:repeat(3,minmax(0,1fr))}}
.facts dt{font-family:var(--font-label);font-size:var(--type-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-tertiary)}
.facts dd{margin:var(--space-3) 0 0;font-size:var(--type-sm);line-height:var(--leading-relaxed);color:var(--text-primary);max-width:36ch}

/* Questions */
.faq{border-top:var(--border-hairline) solid var(--line-hairline);max-width:960px}
.faq details{border-bottom:var(--border-hairline) solid var(--line-hairline)}
.faq summary{list-style:none;cursor:pointer;display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-8);padding:var(--space-6) 0;transition:color var(--duration-fast) var(--ease-standard)}
.faq summary::-webkit-details-marker{display:none}
.faq__q{font-size:var(--type-h3);color:var(--text-primary);max-width:40ch}
.faq summary:hover .faq__q{color:var(--copper)}
.faq summary:focus-visible{outline:none;box-shadow:var(--focus-shadow)}
.faq__x{font-family:var(--font-label);font-size:var(--type-sm);color:var(--text-tertiary);flex:none;transition:transform var(--duration-base) var(--ease-standard)}
.faq details[open] .faq__x{transform:rotate(45deg)}
.faq__a{font-size:var(--type-sm);line-height:var(--leading-relaxed);color:var(--text-secondary);max-width:64ch;margin:0 0 var(--space-8)}

/* Contact */
.ct{display:grid;gap:var(--space-12);grid-template-columns:minmax(0,1fr)}
@media (min-width:960px){.ct{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:var(--space-16);align-items:start}}
.ct__title{font-size:var(--type-d1);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-display);line-height:var(--leading-display);margin:var(--space-6) 0 var(--space-8);max-width:16ch}
.ct__lead{font-family:var(--font-editorial);font-size:var(--type-lead);line-height:var(--leading-relaxed);color:var(--text-secondary);max-width:48ch}
.contact__mail{display:inline-block;font-family:var(--font-display);font-size:var(--type-d1);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-display);color:var(--limestone);text-decoration:none;border-bottom:var(--border-hairline) solid var(--basalt-500);padding-bottom:var(--space-3);margin-top:var(--space-10);transition:var(--transition-control)}
.contact__mail span{white-space:nowrap}
@media (max-width:640px){.contact__mail{font-size:clamp(1.25rem,6.2vw,1.875rem)}}
.contact__mail:hover{color:#E08B5C;border-color:#E08B5C}
.send{display:grid;gap:var(--space-5);margin:0}
.send__h{font-family:var(--font-label);font-size:var(--type-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-tertiary);margin-bottom:var(--space-1)}
.send > div{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-5);align-items:baseline;border-top:var(--border-hairline) solid var(--basalt-500);padding-top:var(--space-4)}
.send > div dt{font-family:var(--font-label);font-size:var(--type-label);letter-spacing:var(--tracking-label);color:var(--text-accent)}
.send > div dd{margin:0;font-size:var(--type-sm);line-height:var(--leading-relaxed);color:var(--text-secondary)}

/* Footer */
.ftr{background:var(--basalt);border-top:var(--border-hairline) solid var(--line-hairline);padding:var(--space-12) 0 var(--space-10)}
.ftr__top{display:flex;flex-wrap:wrap;gap:var(--space-8);justify-content:space-between;align-items:flex-start;padding-bottom:var(--space-8)}
.ftr__bottom{display:flex;flex-wrap:wrap;gap:var(--space-4) var(--space-8);justify-content:space-between;align-items:baseline;padding-top:var(--space-6);border-top:var(--border-hairline) solid var(--basalt-500)}
.ftr__links{display:flex;flex-wrap:wrap;gap:var(--space-4) var(--space-8)}
.ftr__links a{font-size:var(--type-sm);color:var(--text-secondary);text-decoration:none}
.ftr__links a:hover{color:var(--text-primary)}
.ftr__meta,.ftr__legal{font-family:var(--font-label);font-size:var(--type-xs);color:var(--text-tertiary);letter-spacing:.02em}

/* Scroll reveal */
.rise{min-width:0;opacity:0;transform:translateY(var(--reveal-distance));transition:opacity var(--duration-slow) var(--ease-out),transform var(--duration-slow) var(--ease-out)}
.rise.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rise{opacity:1;transform:none;transition:none}}

/* Diagrams */
.diagram-rail{width:100%}
.dia-cap{font-family:var(--font-label);font-size:var(--type-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-tertiary);margin:var(--space-6) 0 0}
.diagram{width:100%;height:auto;display:block}
@media (max-width:820px){.diagram-rail{overflow-x:auto;margin:0 calc(var(--space-6) * -1);padding:0 var(--space-6) var(--space-2);-webkit-overflow-scrolling:touch}.diagram{min-width:560px}}
.dg-line{stroke:var(--line-strong);stroke-width:1;fill:none}
.dg-flow{stroke:var(--copper);stroke-width:1.25;fill:none;stroke-dasharray:3 9;animation:dg-move var(--duration-ambient) linear infinite}
.dg-flow--b{animation-delay:-3s}
.dg-flow--c{animation-delay:-6s}
.dg-box{fill:var(--chalk);stroke:var(--line-strong);stroke-width:1}
.dg-fill{fill:var(--basalt)}
.dg-accent{fill:var(--copper)}
.dg-label{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;fill:var(--slate-400)}
.dg-key{font-family:var(--font-sans);font-size:14px;font-weight:500;fill:var(--basalt)}
.dg-note{font-family:var(--font-sans);font-size:13px;fill:var(--slate)}
.dg-scan{stroke:var(--moss);stroke-width:1;animation:dg-scan calc(var(--duration-ambient) * .8) var(--ease-standard) infinite}
.dg-pulse{animation:dg-pulse calc(var(--duration-ambient) * .5) var(--ease-standard) infinite}
@keyframes dg-move{to{stroke-dashoffset:-96}}
@keyframes dg-scan{0%,100%{transform:translateY(0)}50%{transform:translateY(124px)}}
@keyframes dg-pulse{0%,100%{opacity:.2}50%{opacity:1}}
@media (prefers-reduced-motion:reduce){.dg-flow,.dg-scan,.dg-pulse{animation:none}}
