/* AeroMarketing shared design system / service pages */
:root{
  --bg:#0A0908;
  --bg-alt:#100E0D;
  --card:#161413;
  --card-hi:#1C1917;
  --accent:#E8453A;
  --accent-btn:#CE382D;
  --accent-btn-h:#B62F26;
  --heading:#F7F5F4;
  --body:#B8B0AA;
  --muted:#9A918B;
  --border:rgba(255,255,255,0.07);
  --border-hi:rgba(255,255,255,0.14);
  --radius:4px;
  --font-d:'Outfit',sans-serif;
  --font-b:'Plus Jakarta Sans',sans-serif;
  --font-m:'JetBrains Mono',monospace;
  --max:1200px;
  --ease:cubic-bezier(0.23,1,0.32,1);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--font-b);background:var(--bg);color:var(--body);
  line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3,h4{font-family:var(--font-d);color:var(--heading);line-height:1.05;
  letter-spacing:-0.03em;text-wrap:balance}
p{text-wrap:pretty}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
::selection{background:var(--accent);color:#fff}

.wrap{max-width:var(--max);margin:0 auto;padding:0 28px}
.mono{font-family:var(--font-m);font-size:.7rem;font-weight:500;
  letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}

/* ---- HEADER ---- */
.hdr{position:sticky;top:0;z-index:100;background:rgba(10,9,8,.82);
  backdrop-filter:blur(14px);border-bottom:1px solid var(--border)}
.hdr-in{max-width:var(--max);margin:0 auto;padding:0 28px;height:68px;
  display:flex;align-items:center;justify-content:space-between;gap:24px}
.hdr-logo img{height:38px;width:auto;mix-blend-mode:screen}
.hdr-nav{display:flex;align-items:center;gap:30px}
.hdr-nav a{font-size:.83rem;font-weight:500;color:var(--body);transition:color .18s var(--ease)}
.hdr-r{display:flex;align-items:center;gap:16px}
.hdr-tel{font-family:var(--font-m);font-size:.82rem;font-weight:500;color:var(--heading);white-space:nowrap}

/* ---- BUTTONS ---- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;
  font-family:var(--font-b);font-weight:600;font-size:.92rem;padding:14px 24px;
  border-radius:var(--radius);min-height:48px;border:1px solid transparent;
  cursor:pointer;text-align:center;
  transition:background .18s var(--ease),border-color .18s var(--ease),transform .16s var(--ease)}
.btn-p{background:var(--accent-btn);color:#fff}
.btn-o{background:transparent;color:var(--heading);border-color:var(--border-hi)}
.btn-s{padding:11px 18px;min-height:42px;font-size:.85rem}
.btn:active{transform:scale(.975);transition-duration:100ms}
@media (hover:hover) and (pointer:fine){
  .btn-p:hover{background:var(--accent-btn-h)}
  .btn-o:hover{border-color:var(--heading);background:rgba(255,255,255,.04)}
  .hdr-nav a:hover{color:var(--heading)}
}

/* ---- REVEAL ---- */
@media (prefers-reduced-motion:no-preference){
  .rev{opacity:0;transform:translateY(20px);
    transition:opacity .62s var(--ease),transform .62s var(--ease)}
  .rev.on{opacity:1;transform:none}
  .rev[data-d="1"]{transition-delay:60ms}
  .rev[data-d="2"]{transition-delay:120ms}
  .rev[data-d="3"]{transition-delay:180ms}
  .rev[data-d="4"]{transition-delay:240ms}
}

/* ---- SERVICE PAGE HERO ---- */
.shero{position:relative;padding:96px 0 76px;overflow:hidden;
  border-bottom:1px solid var(--border)}
.shero::before{content:'';position:absolute;top:-40%;left:-8%;
  width:820px;height:640px;pointer-events:none;
  background:radial-gradient(ellipse at center,rgba(232,69,58,.07) 0%,transparent 62%)}
.shero-in{position:relative;display:grid;grid-template-columns:1.2fr .8fr;
  gap:56px;align-items:end}
.crumb{display:flex;align-items:center;gap:11px;margin-bottom:28px;
  font-family:var(--font-m);font-size:.92rem;font-weight:500;letter-spacing:.11em;
  text-transform:uppercase;color:var(--body)}
.crumb a{color:var(--body);transition:color .18s var(--ease)}
@media (hover:hover) and (pointer:fine){.crumb a:hover{color:var(--heading)}}
.crumb .n{color:var(--accent);font-weight:700;font-size:.98rem}
@media (max-width:720px){.crumb{font-size:.8rem;gap:8px}.crumb .n{font-size:.85rem}}
.shero h1{font-size:clamp(2.5rem,5.6vw,4.2rem);font-weight:900;
  letter-spacing:-.04em;margin-bottom:22px}
.shero h1 em{font-style:normal;color:var(--accent)}
.shero-sub{font-size:1.06rem;max-width:50ch;margin-bottom:32px}
.shero-cta{display:flex;flex-wrap:wrap;gap:12px}

/* spec rail */
.rail{border-left:1px solid var(--border);padding-left:30px;padding-bottom:6px}
.rail-row{display:flex;justify-content:space-between;align-items:baseline;
  gap:16px;padding:13px 0;border-bottom:1px solid var(--border)}
.rail-row:last-child{border-bottom:0}
.rail-k{font-family:var(--font-m);font-size:.68rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--muted)}
.rail-v{font-size:.9rem;font-weight:600;color:var(--heading);text-align:right}

/* ---- SECTIONS ---- */
.sec{padding:96px 0;position:relative}
.sec-alt{background:var(--bg-alt);border-top:1px solid var(--border);
  border-bottom:1px solid var(--border)}
.sec-hd{max-width:60ch;margin-bottom:56px}
.sec-hd h2{font-size:clamp(2rem,4.2vw,3rem);font-weight:800;margin-bottom:16px}
.sec-hd p{font-size:1.02rem}

/* graph paper */
.grid-tex{position:absolute;inset:0;pointer-events:none;opacity:.5;
  background-image:linear-gradient(rgba(255,255,255,.028) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(255,255,255,.028) 1px,transparent 1px);
  background-size:34px 34px;
  -webkit-mask-image:radial-gradient(ellipse 78% 62% at 50% 45%,#000 30%,transparent 78%);
  mask-image:radial-gradient(ellipse 78% 62% at 50% 45%,#000 30%,transparent 78%)}

/* ---- WORKFLOW DIAGRAM ---- */
.flow{position:relative;display:grid;gap:0;max-width:900px}
.step{position:relative;display:grid;grid-template-columns:64px 1fr;
  gap:22px;padding:20px 0 24px}
.step-n{font-family:var(--font-m);font-size:.86rem;font-weight:700;
  letter-spacing:.04em;color:var(--muted);padding-top:3px;
  transition:color .5s var(--ease)}
.step.on .step-n{color:var(--accent)}
.step-b{background:var(--card);border:1px solid var(--border);
  border-radius:var(--radius);padding:19px 22px;position:relative;
  transition:border-color .5s var(--ease),background .5s var(--ease)}
.step.on .step-b{border-color:var(--border-hi);background:var(--card-hi)}
.step-b h4{font-size:1.02rem;font-weight:700;letter-spacing:-.015em;margin-bottom:5px}
.step-b p{font-size:.9rem;margin:0}
.step-b .tag{display:inline-block;margin-top:10px;font-family:var(--font-m);
  font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--muted);border:1px solid var(--border);
  border-radius:var(--radius);padding:4px 9px}
.step::after{content:'';position:absolute;left:9px;top:42px;bottom:-24px;width:1px;
  background:linear-gradient(180deg,var(--accent) 0%,rgba(232,69,58,.22) 100%);
  transform:scaleY(0);transform-origin:top;transition:transform .55s var(--ease)}
.step:last-child::after{display:none}
.step.on::after{transform:scaleY(1)}
@media (prefers-reduced-motion:reduce){
  .step::after{transform:scaleY(1)}
  .step .step-n,.step .step-b{transition:none}
}
.flow-foot{margin-top:34px;max-width:900px;padding:22px 26px;
  border-radius:var(--radius);border:1px solid rgba(232,69,58,.28);
  background:rgba(232,69,58,.05)}
.flow-foot p{color:var(--heading);font-size:1rem;font-weight:500;margin:0}

/* ---- LEDGER ROWS ---- */
.ledger{border-top:1px solid var(--border)}
.led{display:grid;grid-template-columns:88px 1fr 1.25fr;gap:32px;
  align-items:start;padding:28px 0;border-bottom:1px solid var(--border)}
.led-n{font-family:var(--font-m);font-size:1.35rem;font-weight:700;
  color:var(--muted);line-height:1}
.led h3{font-size:1.24rem;font-weight:700}
.led p{font-size:.94rem;margin:0}

/* ---- DELIVERABLE CARDS ---- */
.dlv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
.dlv{background:var(--card);border:1px solid var(--border);
  border-radius:var(--radius);padding:24px;
  transition:border-color .22s var(--ease),background .22s var(--ease)}
@media (hover:hover) and (pointer:fine){
  .dlv:hover{border-color:var(--border-hi);background:var(--card-hi)}
}
.dlv-n{font-family:var(--font-m);font-size:.73rem;font-weight:700;
  color:var(--accent);letter-spacing:.05em}
.dlv h3{font-size:1.14rem;font-weight:700;margin:11px 0 8px}
.dlv p{font-size:.89rem;margin:0}

/* ---- NOT US ---- */
.not-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.not{display:flex;gap:15px;align-items:flex-start;padding:20px 22px;
  border:1px solid var(--border);border-radius:var(--radius);background:var(--card)}
.not-x{font-family:var(--font-m);font-size:.95rem;font-weight:700;
  color:var(--accent);line-height:1.4;flex:none}
.not h4{font-size:1rem;font-weight:700;margin-bottom:5px}
.not p{font-size:.88rem;margin:0}

/* ---- FAQ ---- */
.faq{max-width:800px;border-top:1px solid var(--border)}
.fq{border-bottom:1px solid var(--border)}
.fq-q{width:100%;background:none;border:0;cursor:pointer;text-align:left;
  display:flex;justify-content:space-between;align-items:center;gap:24px;
  padding:24px 0;font-family:var(--font-d);font-size:1.06rem;font-weight:700;
  color:var(--heading);letter-spacing:-.015em}
.fq-i{font-family:var(--font-m);font-size:1.1rem;color:var(--muted);flex:none;
  transition:transform .28s var(--ease),color .28s var(--ease)}
.fq.open .fq-i{transform:rotate(45deg);color:var(--accent)}
.fq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .34s var(--ease)}
.fq.open .fq-a{grid-template-rows:1fr}
.fq-a>div{overflow:hidden}
.fq-a p{padding-bottom:24px;font-size:.94rem;max-width:66ch}
@media (prefers-reduced-motion:reduce){.fq-a{transition:none}}

/* ---- NEXT SERVICE NAV ---- */
.nxt-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.nxt{display:flex;justify-content:space-between;align-items:center;gap:20px;
  padding:24px 26px;background:var(--card);border:1px solid var(--border);
  border-radius:var(--radius);
  transition:border-color .22s var(--ease),background .22s var(--ease)}
@media (hover:hover) and (pointer:fine){
  .nxt:hover{border-color:var(--border-hi);background:var(--card-hi)}
  .nxt:hover .nxt-go{color:var(--accent)}
}
.nxt-k{font-family:var(--font-m);font-size:.7rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--muted);display:block;margin-bottom:6px}
.nxt h4{font-size:1.14rem;font-weight:700}
.nxt-go{font-family:var(--font-m);font-size:1rem;color:var(--muted);
  transition:color .22s var(--ease)}

/* ---- FINAL CTA ---- */
.fcta{position:relative;padding:110px 0;text-align:center;overflow:hidden}
.fcta::before{content:'';position:absolute;bottom:-45%;left:50%;
  transform:translateX(-50%);width:1000px;height:700px;pointer-events:none;
  background:radial-gradient(ellipse at center,rgba(232,69,58,.09) 0%,transparent 64%)}
.fcta-in{position:relative}
.fcta h2{font-size:clamp(2.1rem,5vw,3.6rem);font-weight:900;
  letter-spacing:-.04em;margin-bottom:18px}
.fcta p{font-size:1.04rem;max-width:52ch;margin:0 auto 32px}
.fcta-cta{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}

/* ---- FOOTER ---- */
.ftr{border-top:1px solid var(--border);padding:64px 0 32px;background:var(--bg-alt)}
.ftr-top{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:44px;margin-bottom:48px}
.ftr-logo img{height:34px;width:auto;mix-blend-mode:screen;margin-bottom:16px}
.ftr-tag{font-size:.92rem;max-width:34ch}
.ftr h5{font-family:var(--font-m);font-size:.72rem;font-weight:500;
  letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:16px}
.ftr ul{list-style:none;display:grid;gap:9px}
.ftr ul a{font-size:.9rem;color:var(--body);transition:color .18s var(--ease)}
@media (hover:hover) and (pointer:fine){.ftr ul a:hover{color:var(--heading)}}
.ftr-btm{border-top:1px solid var(--border);padding-top:24px;display:flex;
  justify-content:space-between;flex-wrap:wrap;gap:14px;font-size:.82rem;color:var(--muted)}
.ftr-btm a{color:var(--muted)}

.msb{display:none}

/* ---- RESPONSIVE ---- */
@media (max-width:1000px){
  .shero-in{grid-template-columns:1fr;gap:40px;align-items:start}
  .rail{border-left:0;border-top:1px solid var(--border);padding-left:0;padding-top:8px}
  .ftr-top{grid-template-columns:1fr 1fr}
}
@media (max-width:820px){.hdr-nav{display:none}}
@media (max-width:720px){
  .wrap{padding:0 20px}
  .shero{padding:64px 0 56px}
  .sec{padding:72px 0}
  .sec-hd{margin-bottom:40px}
  .not-grid,.nxt-grid{grid-template-columns:1fr}
  .led{grid-template-columns:52px 1fr;gap:14px 18px}
  .led p{grid-column:2}
  .step{grid-template-columns:44px 1fr;gap:14px}
  .step::after{left:7px}
  .fcta{padding:72px 0}
  .ftr-top{grid-template-columns:1fr;gap:34px}
  .hdr-tel{display:none}
  body{padding-bottom:76px}
  .msb{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:200;gap:10px;
    padding:12px 16px;background:rgba(16,14,13,.96);backdrop-filter:blur(14px);
    border-top:1px solid var(--border)}
  .msb .btn{flex:1;padding:12px 14px}
}

/* ---- LEGAL PAGES ---- */
.legal{padding:80px 0 96px;position:relative}
.legal-in{max-width:760px;margin:0 auto;padding:0 28px}
.legal-hd{padding-bottom:34px;margin-bottom:44px;border-bottom:1px solid var(--border)}
.legal-hd h1{font-size:clamp(2.2rem,5vw,3.4rem);font-weight:900;
  letter-spacing:-.04em;margin-bottom:16px}
.legal-meta{font-family:var(--font-m);font-size:.76rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--muted)}
.legal-section{margin-bottom:40px}
.legal-section h2{font-size:1.3rem;font-weight:700;margin-bottom:14px;
  letter-spacing:-.02em}
.legal-section h3{font-size:1.04rem;font-weight:700;margin:22px 0 10px}
.legal-section p{font-size:.98rem;margin-bottom:14px;max-width:70ch}
.legal-section ul,.legal-section ol{margin:0 0 16px 20px}
.legal-section li{font-size:.98rem;margin-bottom:9px;max-width:68ch}
.legal-section a{color:var(--accent);text-decoration:underline;
  text-underline-offset:3px}
.legal-section strong{color:var(--heading);font-weight:600}
.legal-callout{border:1px solid rgba(232,69,58,.28);background:rgba(232,69,58,.05);
  border-radius:var(--radius);padding:22px 26px;margin:24px 0}
.legal-callout p{color:var(--heading);margin-bottom:10px}
.legal-callout p:last-child{margin-bottom:0}
.legal-callout strong{color:var(--heading)}
@media (max-width:720px){
  .legal{padding:52px 0 68px}
  .legal-in{padding:0 20px}
  .legal-hd{margin-bottom:32px;padding-bottom:26px}
}
