/* ============================================================
   Island Mountain - Aurora presentation layer
   Loads after css/style.min.css. Brand intro reveal, traveling
   node edges, security map, section reveals, footer.
   ============================================================ */

:root{
  --au-copper:#f59e0b; --au-copper-light:#fbbf24; --au-copper-deep:#d97706; --au-white-hot:#fff7ed;
  --au-ink:#080d18; --au-slate:#0f172a; --au-slate-2:#131c31; --au-slate-3:#0d1424;
  --au-line:rgba(148,163,184,.14);
  --au-muted:#93a3ba;
}
@property --au-angle{ syntax:"<angle>"; inherits:false; initial-value:0deg; }

/* ---------------- Intro reveal ---------------- */
#aurora-intro{ position:fixed; inset:0; z-index:10000; background:#000; display:flex; align-items:center; justify-content:center; overflow:hidden;
  transition:opacity .85s ease, visibility .85s ease; }
#aurora-intro video{ width:100%; height:100%; object-fit:cover; }
/* Mobile: the intro is a compact crest centered on pure black (~37% of the 16:9 frame's width).
   Fit-to-width (contain) keeps it undistorted; because the container and the video share a black
   background the letterbox is invisible, so we scale the centered crest up to ~65% of screen width
   for presence. overflow:hidden on #aurora-intro clips the (black, invisible) surplus. */
@media (max-width:700px){ #aurora-intro video{ object-fit:contain; transform:scale(1.78); transform-origin:center; } }
#aurora-intro .au-skip{ position:absolute; right:22px; bottom:22px; z-index:2; background:rgba(0,0,0,.45); border:1px solid rgba(255,255,255,.28);
  color:#fff; border-radius:999px; padding:9px 20px; cursor:pointer; letter-spacing:.02em; font:600 .85rem/1 'Inter',system-ui,sans-serif; backdrop-filter:blur(4px); }
#aurora-intro .au-skip:hover{ border-color:var(--au-copper); color:var(--au-copper-light); }
html.intro-done #aurora-intro{ opacity:0; visibility:hidden; pointer-events:none; }
html:not(.js) #aurora-intro{ display:none; }
@media (prefers-reduced-motion:reduce){ #aurora-intro{ transition:none; } }

/* ---------------- Reveal + stagger ---------------- */
.js .au-reveal{ opacity:0; }
.js .au-reveal.in{ animation:auRise .72s cubic-bezier(.22,.61,.36,1) both; }
.js .au-stagger>*{ opacity:0; }
.js .au-stagger.in>*{ animation:auRise .72s cubic-bezier(.22,.61,.36,1) both; animation-delay:calc(var(--i,0)*90ms); }
@keyframes auRise{ from{opacity:0; transform:translateY(18px);} to{opacity:1; transform:none;} }

/* ============================================================
   Traveling node edge (.beam-card) now lives in css/card-nodes.css
   as the single source of truth: one edge node that fires the top +
   right edges in sequence. Load card-nodes.css after this file.
   ============================================================ */

/* ---------------- Type-led hero ---------------- */
.au-hero{ position:relative; min-height:90vh; display:flex; flex-direction:column; justify-content:center; padding:150px 0 88px; overflow:hidden;
  background:radial-gradient(1100px 720px at 78% -12%, #1b2a49 0%, var(--au-slate) 54%, var(--au-ink) 100%); }
.au-hero .container{ position:relative; z-index:3; }
.au-hero::before{ content:""; position:absolute; inset:0; z-index:1; opacity:.5; pointer-events:none;
  background-image:radial-gradient(rgba(148,163,184,.10) 1px, transparent 1.4px); background-size:30px 30px;
  -webkit-mask-image:radial-gradient(120% 90% at 40% 8%, #000 28%, transparent 72%); mask-image:radial-gradient(120% 90% at 40% 8%, #000 28%, transparent 72%); }
.au-hero::after{ content:""; position:absolute; z-index:0; width:720px; height:720px; right:-160px; top:-170px; border-radius:50%;
  background:radial-gradient(circle, rgba(245,158,11,.15), transparent 60%); pointer-events:none; }
.au-eyebrow{ letter-spacing:.3em; text-transform:uppercase; font-size:.75rem; font-weight:700; color:var(--au-copper-light); }
.au-h1{ font-family:'Space Grotesk','Inter',system-ui,sans-serif; font-size:clamp(2.6rem,6vw,4.5rem); line-height:1.04; font-weight:800; letter-spacing:-.02em; margin:.26em 0 0; max-width:16ch; }
.au-h1 .au-word{ display:inline-block; white-space:nowrap; }
.au-h1 .char{ display:inline-block; }
.js .au-h1.in .char{ animation:auChar .55s cubic-bezier(.22,.61,.36,1) both; animation-delay:calc(var(--c)*22ms); }
@keyframes auChar{ from{opacity:0; transform:translateY(.5em);} to{opacity:1; transform:none;} }
.au-hrule{ width:0; max-width:560px; height:3px; margin:26px 0 24px; border-radius:2px;
  background:linear-gradient(90deg,var(--au-copper),var(--au-white-hot)); box-shadow:0 0 14px rgba(245,158,11,.6); }
.js .au-hero.in .au-hrule{ animation:auRule 1s .5s cubic-bezier(.22,.61,.36,1) both; }
@keyframes auRule{ from{width:0;opacity:0;} to{width:100%;opacity:1;} }
.au-grad{ background:linear-gradient(100deg,var(--au-white-hot),var(--au-copper-light) 44%,var(--au-copper-deep)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.au-rotator{ display:inline-grid; vertical-align:top; }
.au-rotator>span{ grid-area:1/1; opacity:0; transform:translateY(.3em); transition:opacity .5s ease, transform .5s ease; white-space:nowrap; }
.au-rotator>span.on{ opacity:1; transform:none; }
.au-sub{ max-width:56ch; color:var(--au-muted); font-size:1.14rem; line-height:1.65; margin:0 0 28px; }
.au-badges{ display:flex; gap:10px; flex-wrap:wrap; margin-bottom:30px; }
.au-badge{ font-size:.78rem; color:#ecd9b4; border:1px solid rgba(245,158,11,.34); background:rgba(245,158,11,.06); border-radius:999px; padding:8px 16px; white-space:nowrap; }
.au-ctas{ display:flex; gap:14px; flex-wrap:wrap; }

/* ---------------- Trust marquee ---------------- */
.au-marquee{ --gap:3rem; display:flex; gap:var(--gap); overflow:hidden; padding:22px 0; user-select:none; background:var(--au-ink); border-top:1px solid var(--au-line); border-bottom:1px solid var(--au-line);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent); mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent); }
.au-marquee__track{ flex-shrink:0; display:flex; gap:var(--gap); align-items:center; min-width:100%; justify-content:space-around; animation:auMarquee 32s linear infinite; }
.au-marquee:hover .au-marquee__track{ animation-play-state:paused; }
.au-mq-item{ color:#7f90a8; font-weight:700; letter-spacing:.1em; font-size:.9rem; white-space:nowrap; text-transform:uppercase; }
.au-mq-item b{ color:var(--au-copper-light); }
@keyframes auMarquee{ from{transform:translateX(0);} to{transform:translateX(calc(-100% - var(--gap)));} }

/* ---------------- Sections (dense, deliberate backgrounds) ---------------- */
.au-section{ padding:72px 0; position:relative; background:var(--au-slate); }
.au-section--alt{ background:var(--au-slate-3); }
.au-section--ink{ background:var(--au-ink); }
.au-eyebrow-c{ letter-spacing:.24em; text-transform:uppercase; font-size:.75rem; font-weight:700; color:var(--au-copper); display:inline-block; margin-bottom:.5rem; }
.au-h2{ font-family:'Space Grotesk','Inter',system-ui,sans-serif; font-size:clamp(1.85rem,3.6vw,2.7rem); font-weight:800; letter-spacing:-.01em; margin:0 0 .5em; line-height:1.08; }
.au-lede{ color:var(--au-muted); font-size:1.05rem; line-height:1.7; max-width:60ch; }

/* Agentic Orchestration & Security Map */
.au-map-wrap{ position:relative; border-radius:20px; margin-top:26px; padding:16px 16px 10px; overflow:hidden;
  background:radial-gradient(130% 130% at 50% 0%, #2b4166, #16233f); border:1px solid rgba(148,163,184,.22); }
.au-map{ width:100%; height:auto; display:block; }
.au-bandnum{ fill:var(--au-copper); font:800 15px 'Inter',system-ui,sans-serif; }
.au-bandlabel{ fill:#9aabc2; font:700 15px 'Inter',system-ui,sans-serif; letter-spacing:.16em; text-transform:uppercase; }
.au-cell{ fill:rgba(19,28,49,.95); stroke:rgba(148,163,184,.26); stroke-width:1.2; }
.au-cell-wsf{ fill:rgba(58,38,8,.52); stroke:rgba(245,158,11,.68); stroke-width:1.6; }
.au-cell-aog{ fill:rgba(6,46,34,.68); stroke:rgba(16,185,129,.7); stroke-width:1.6; }
.au-ct-aog{ fill:#d1fae5; }
.au-cell-threat{ fill:rgba(45,17,20,.74); stroke:rgba(239,68,68,.44); stroke-width:1.2; }
.au-ct{ fill:#eef2f8; font:600 23px 'Inter',system-ui,sans-serif; text-anchor:middle; }
.au-ct-t{ fill:#fda4a4; font:600 18px 'Inter',system-ui,sans-serif; text-anchor:middle; }
.au-ct-wsf{ fill:var(--au-white-hot); font-weight:700; }
.au-flow{ fill:none; stroke:url(#auWire); stroke-width:1.6; opacity:.4; }
.au-attack{ fill:none; stroke:#ef4444; stroke-width:1.5; stroke-dasharray:6 7; opacity:.5; animation:auDash 1.1s linear infinite; }
.au-tele{ fill:none; stroke:#38bdf8; stroke-width:1.3; stroke-dasharray:2 8; opacity:.42; animation:auDashUp 1.3s linear infinite; }
.au-impact{ fill:#fca5a5; animation:auImpact 1.7s ease-in-out infinite; }
.au-flowdot{ offset-rotate:auto; animation:auFlow 3.1s linear infinite; filter:drop-shadow(0 0 6px rgba(251,191,36,.95)); }
.au-atkdot{ offset-rotate:auto; animation:auFlow 2.3s linear infinite; filter:drop-shadow(0 0 5px #ef4444); }
.au-teledot{ offset-rotate:auto; animation:auFlow 2.8s linear infinite; filter:drop-shadow(0 0 5px #38bdf8); }
.au-fd1{offset-path:path("M170,128 L170,240")} .au-fd2{offset-path:path("M470,128 L470,240");animation-delay:-.7s}
.au-fd3{offset-path:path("M770,128 L770,240");animation-delay:-1.4s} .au-fd4{offset-path:path("M1070,128 L1070,240");animation-delay:-2.1s}
.au-fd5{offset-path:path("M170,320 L170,424");animation-delay:-1s} .au-fd6{offset-path:path("M470,320 L470,424");animation-delay:-1.8s}
.au-fd7{offset-path:path("M770,320 L770,424");animation-delay:-.4s} .au-fd8{offset-path:path("M1070,320 L1070,424");animation-delay:-2.5s}
.au-fd9{offset-path:path("M770,128 L770,240");animation-delay:-1.9s} .au-fd10{offset-path:path("M470,320 L470,424");animation-delay:-.9s}
.au-ad1{offset-path:path("M135,640 C 135,585 170,558 170,520")} .au-ad2{offset-path:path("M329,640 C 329,585 470,558 470,520");animation-delay:-.6s}
.au-ad3{offset-path:path("M523,640 C 523,585 470,558 470,520");animation-delay:-1.2s} .au-ad4{offset-path:path("M717,640 C 717,585 770,558 770,520");animation-delay:-.4s}
.au-ad5{offset-path:path("M911,640 C 911,585 770,558 770,520");animation-delay:-1.5s} .au-ad6{offset-path:path("M1105,640 C 1105,585 1070,558 1070,520");animation-delay:-.9s}
.au-td1{offset-path:path("M320,418 L320,128")} .au-td2{offset-path:path("M620,418 L620,128");animation-delay:-1.1s} .au-td3{offset-path:path("M920,418 L920,128");animation-delay:-2s}
@keyframes auFlow{ to{ offset-distance:100%; } }
@keyframes auDash{ to{ stroke-dashoffset:-26; } }
@keyframes auDashUp{ to{ stroke-dashoffset:20; } }
@keyframes auImpact{ 0%,100%{ opacity:.35; } 50%{ opacity:1; } }
.au-maplegend{ display:flex; gap:26px; flex-wrap:wrap; justify-content:center; margin-top:14px; color:var(--au-muted); font-size:.86rem; }
.au-maplegend span{ display:inline-flex; align-items:center; gap:9px; }
.au-lg-line{ width:24px; border-top:2px solid var(--au-copper); }
.au-lg-dash{ width:24px; border-top:2px dashed #ef4444; }
.au-lg-tele{ width:24px; border-top:2px dotted #38bdf8; }
.au-lg-dot{ width:11px; height:11px; border-radius:50%; background:#fca5a5; }

/* Statement */
.au-statement{ text-align:center; color:#fff; position:relative; overflow:hidden; background:linear-gradient(135deg,#1c1104 0%,#6b400d 46%,#a86a10 100%); }
.au-statement::after{ content:""; position:absolute; inset:0; opacity:.14; background-image:radial-gradient(rgba(255,255,255,.5) 1px, transparent 1.4px); background-size:30px 30px; pointer-events:none; }
.au-statement .au-h2{ font-size:clamp(2rem,4.4vw,3.2rem); }

/* Product spotlight (light contrast band) */
.au-spotlight{ background:linear-gradient(180deg,#eef1f6,#e3e8f0); color:#1e293b; }
.au-spotlight .au-h2{ color:#0f172a; } .au-spotlight .au-lede{ color:#475569; } .au-spotlight .au-eyebrow-c{ color:var(--au-copper-deep); }
.au-spot-grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:44px; align-items:center; margin-top:20px; }
.au-spot-media{ border-radius:16px; overflow:hidden; }
.au-spot-media video{ width:100%; height:auto; display:block; border-radius:16px; box-shadow:0 24px 60px rgba(15,23,42,.2); }
.au-spot-thumbs{ display:flex; gap:14px; margin-top:14px; }
.au-spot-thumbs img{ width:calc(50% - 7px); aspect-ratio:4/3; object-fit:cover; border-radius:12px; box-shadow:0 12px 30px rgba(15,23,42,.16); }
.au-tw::after{ content:''; display:inline-block; width:.5ch; height:1em; background:var(--au-copper); margin-left:4px; vertical-align:-.12em; animation:auBlink 1.05s step-end infinite; }
@keyframes auBlink{ 50%{ opacity:0; } }

/* Manifesto */
.au-manifesto{ background:linear-gradient(180deg,var(--au-ink),#0c1322); text-align:center; padding:104px 0; }
.au-manifesto h2{ font-family:'Space Grotesk','Inter',system-ui,sans-serif; font-size:clamp(2rem,4.8vw,3.4rem); font-weight:800; line-height:1.1; letter-spacing:-.02em; max-width:20ch; margin:0 auto; }
.au-manifesto .dim{ color:#586b8a; }

/* Film slot */
.au-videoslot{ position:relative; width:100%; max-width:940px; margin:20px auto 0; aspect-ratio:16/9; border-radius:18px; overflow:hidden;
  background:radial-gradient(120% 120% at 50% 42%, #17253f, #0b1120); display:flex; align-items:center; justify-content:center; }
.au-videoslot .vs-inner{ text-align:center; color:#cbd5e1; z-index:3; }
.au-videoslot .vs-play{ width:76px; height:76px; border-radius:50%; margin:0 auto 16px; display:flex; align-items:center; justify-content:center;
  background:rgba(245,158,11,.16); border:1.5px solid rgba(245,158,11,.55); color:var(--au-copper-light); font-size:30px; box-shadow:0 0 30px rgba(245,158,11,.28); }
.au-videoslot .vs-label{ letter-spacing:.22em; text-transform:uppercase; font-size:.74rem; color:var(--au-copper-light); font-weight:700; }

/* Cards (Why) */
.au-cardgrid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:18px; margin-top:26px; }
.au-card{ border-radius:16px; background:rgba(19,28,49,.72); border:1px solid var(--au-line); padding:28px 24px; text-align:center; }
.au-card .au-ic{ width:54px; height:54px; margin:0 auto 16px; }
.au-card .au-ic img{ width:100%; height:100%; object-fit:contain; }
.au-card h3{ margin:0 0 14px; font-size:1.14rem; font-weight:700; color:#f1f5f9; }
.au-chk{ list-style:none; margin:0; padding:0; display:inline-block; text-align:left; }
.au-chk li{ display:flex; gap:10px; align-items:flex-start; color:var(--au-muted); font-size:.93rem; line-height:1.5; margin:9px 0; }
.au-chk li::before{ content:""; flex:0 0 auto; width:16px; height:16px; margin-top:2px; background:var(--au-copper-light);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round' d='M4 12l5 5L20 6'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round' d='M4 12l5 5L20 6'/%3E%3C/svg%3E") center/contain no-repeat; }

/* Builder band */
.au-band{ position:relative; padding:96px 0; background-position:center right; background-size:cover; background-repeat:no-repeat; }
.au-band .au-lede{ color:#cbd5e1; }

/* Footer */
.au-footer .footer-brand p{ color:var(--au-muted); font-size:.92rem; line-height:1.6; max-width:34ch; }
.au-social{ display:flex; gap:12px; margin-top:16px; }
.au-social a{ width:38px; height:38px; border-radius:50%; background:rgba(148,163,184,.12); display:flex; align-items:center; justify-content:center; color:#cbd5e1; font-size:1.05rem; text-decoration:none; }
.au-social a:hover{ background:var(--au-copper); color:#1a1206; }
.au-linkfarm{ margin:36px 0 0; padding-top:26px; border-top:1px solid rgba(148,163,184,.12); display:flex; flex-wrap:wrap; gap:9px 20px; }
.au-linkfarm a{ color:#647089; font-size:.8rem; text-decoration:none; white-space:nowrap; }
.au-linkfarm a:hover{ color:var(--au-copper-light); }
.au-legal{ color:#4a5871; font-size:.76rem; line-height:1.7; margin:24px 0 0; }
.au-legallinks{ display:flex; flex-wrap:wrap; gap:9px 20px; margin-top:6px; }
.au-legallinks a{ color:#647089; font-size:.8rem; text-decoration:none; }
.au-legallinks a:hover{ color:var(--au-copper-light); }

@media (max-width:900px){
  .au-spot-grid{ grid-template-columns:1fr; }
  .au-hero{ min-height:auto; padding:120px 0 64px; }
  .au-section{ padding:56px 0; }
}

/* ---------------- Reduced motion ---------------- */
@media (prefers-reduced-motion:reduce){
  .js .au-reveal, .js .au-stagger>*, .js .au-h1 .char{ opacity:1 !important; animation:none !important; transform:none !important; }
  .au-flowdot, .au-atkdot, .au-teledot, .au-attack, .au-tele, .au-impact, .beam-card::before, .au-marquee__track{ animation:none !important; }
  .au-hrule{ width:100% !important; animation:none !important; }
  .au-rotator>span{ transition:none; }
}

/* Marquee: no edge fade */
.au-marquee{ -webkit-mask-image:none; mask-image:none; }

/* Centered hero and section headers */
.au-hero .container{ text-align:center; }
.au-h1, .au-hrule, .au-sub{ margin-left:auto; margin-right:auto; }
.au-badges, .au-ctas{ justify-content:center; }
.au-section > .container > .au-eyebrow-c{ display:block; text-align:center; }
.au-section > .container > .au-h2{ text-align:center; }
.au-section > .container > .au-lede{ text-align:center; margin-left:auto; margin-right:auto; }

/* Scroll reveal: sections rise and fade in; JS failsafe forces visible */
.js .au-reveal{ opacity:0; }
.js .au-stagger>*{ opacity:0; }
@keyframes auRise{ from{ opacity:0; transform:translateY(26px); } to{ opacity:1; transform:none; } }

/* Statement band: dark with copper aura */
.au-statement{ background:radial-gradient(1000px 560px at 50% -6%, rgba(245,158,11,.16), transparent 58%), linear-gradient(180deg,#0e1626,#0a0f1c) !important; color:#f4ecdd; }
.au-statement .au-h2{ font-size:clamp(2rem,4.4vw,3rem); }

/* Marquee: copper hairlines, sheen, gradient marks */
.au-marquee{
  background:
    linear-gradient(180deg, rgba(245,158,11,.10), rgba(245,158,11,.02) 46%, rgba(245,158,11,.07)),
    var(--au-ink);
  border-top:1px solid rgba(245,158,11,.32);
  border-bottom:1px solid rgba(245,158,11,.32);
  box-shadow:inset 0 0 46px rgba(245,158,11,.06);
  padding:24px 0;
}
.au-mq-item{ color:var(--au-copper); }
.au-mq-item b{
  background:linear-gradient(100deg,var(--au-white-hot),var(--au-copper-light) 55%,var(--au-copper-deep));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}

/* Spotlight: magenta band, copper type */
.au-spotlight{
  background:linear-gradient(180deg, var(--au-ink) 0%, #33102d 20%, #47163c 52%, #2a0e24 82%, var(--au-slate) 100%) !important;
  color:#f0d3a4;
}
.au-spotlight .au-h2{ color:var(--au-copper-light) !important; }
.au-spotlight .au-eyebrow-c{ color:var(--au-copper-light) !important; }
.au-spotlight .au-lede{ color:#eecfa0 !important; }
.au-spot-media video{ box-shadow:0 24px 60px rgba(0,0,0,.5); }
.au-spot-thumbs img{ aspect-ratio:1/1; object-fit:contain; background:#f2f4f7; box-shadow:0 12px 30px rgba(0,0,0,.4); }
.au-spot-copy{ text-align:center; }
.au-spot-copy .au-lede{ margin-left:auto; margin-right:auto; }

/* Hero: Summit product photo under a dark veil */
.au-hero{
  background:
    linear-gradient(180deg, rgba(8,13,24,.88) 0%, rgba(13,20,36,.64) 48%, rgba(8,13,24,.94) 100%),
    url('../images/summit-photo3.webp') center 40% / cover no-repeat;
}
/* Spotlight thumb: single, full-width to match the video above */
.au-spot-thumbs{ justify-content:center; }
.au-spot-thumbs img{ width:100%; }
/* Statement infographic */
.au-infographic{ display:block; width:100%; max-width:920px; height:auto; margin:12px auto 30px;
  border-radius:16px; border:1px solid rgba(245,158,11,.28); box-shadow:0 26px 70px rgba(0,0,0,.5); }

/* Founder portrait band */
.au-founder{ display:flex; gap:38px; align-items:center; flex-wrap:wrap; }
.au-founder img{ width:230px; height:288px; object-fit:cover; border-radius:18px; flex:0 0 auto;
  border:2px solid rgba(245,158,11,.45); box-shadow:0 18px 44px rgba(0,0,0,.55); }
.au-founder>div{ flex:1 1 340px; }
@media (max-width:700px){ .au-founder{ justify-content:center; text-align:center; } .au-founder img{ width:105px; height:132px; } }

/* ---------------- Mobile hero fit (phones <=600px) ---------------- */
@media (max-width:600px){
  /* Bug fix: the desktop headline clamp floor (2.6rem) + max-width:16ch overflow a
     phone viewport and clip. Shrink the type so it wraps inside the screen. */
  .au-h1{ font-size:clamp(1.7rem,7.6vw,2.55rem); max-width:100%; letter-spacing:-.015em; }
  /* Rotating subhead spans are white-space:nowrap -> let them wrap on mobile. */
  .au-sub{ font-size:1rem; }
  .au-rotator>span{ white-space:normal; }
  /* CTAs stack full-width for thumb reach instead of crowding one row. */
  .au-ctas{ gap:10px; }
  .au-ctas .btn{ flex:1 1 100%; text-align:center; }
  /* Bug fix: the Summit server sits in the left third of summit-photo3.webp; a
     centered `cover` crop drops it off-screen on a portrait box. Bias the crop
     left so the product stays framed, and tighten hero padding. */
  .au-hero{
    padding:108px 0 56px;
    background:
      linear-gradient(180deg, rgba(8,13,24,.84) 0%, rgba(13,20,36,.58) 46%, rgba(8,13,24,.95) 100%),
      url('../images/summit-photo3.webp') 30% 45% / cover no-repeat;
  }
}

/* ---------------- Verticals: image-backed, node-animated cards ---------------- */
.au-vgrid{ display:grid; grid-template-columns:repeat(2,1fr); gap:16px; max-width:760px; margin:26px auto 0; }
.au-vcard{ display:flex; flex-direction:column; text-decoration:none; color:inherit;
  background:rgba(19,28,49,.72); border:1px solid var(--au-line); border-radius:16px;
  transition:border-color .25s ease, transform .25s ease, box-shadow .25s ease; }
.au-vcard:hover{ border-color:rgba(245,158,11,.5); transform:translateY(-3px); box-shadow:0 18px 40px rgba(0,0,0,.4); }
/* Inner wrapper clips the photo (rounded top) WITHOUT clipping the edge node,
   which rides .au-vcard itself (no overflow:hidden on the card). */
.au-vcard-img{ border-radius:16px 16px 0 0; overflow:hidden; aspect-ratio:3/2; background:var(--au-slate-2); }
.au-vcard-img img{ width:100%; height:100%; object-fit:cover; display:block; }
.au-vcard-body{ padding:16px 16px 18px; display:flex; flex-direction:column; gap:7px; flex:1 1 auto; text-align:left; }
.au-vcard-body h3{ margin:0; font-size:1.04rem; font-weight:700; color:#f1f5f9; }
.au-vcard-body p{ margin:0; color:var(--au-muted); font-size:.86rem; line-height:1.5; }
.au-vcard-go{ margin-top:auto; padding-top:4px; color:var(--au-copper-light); font-weight:700; font-size:.82rem;
  display:inline-flex; align-items:center; gap:6px; transition:gap .25s ease; }
.au-vcard:hover .au-vcard-go{ gap:11px; }
@media (max-width:600px){
  .au-vgrid{ gap:12px; }
  .au-vcard-body{ padding:12px 12px 14px; gap:5px; }
  .au-vcard-body h3{ font-size:.95rem; }
  .au-vcard-body p{ font-size:.8rem; line-height:1.45; }
  .au-vcard-go{ font-size:.78rem; }
}

/* ---------------- How every Summit is made - build-process step cards ---------------- */
.au-hm-steps{ display:flex; flex-direction:column; gap:12px; margin:24px auto 0; max-width:560px; }
.au-hm-step{ display:flex; gap:14px; align-items:flex-start; padding:15px 18px; border-radius:14px; text-align:left;
  background:rgba(19,28,49,.72); border:1px solid var(--au-line); }
.au-hm-idx{ flex:0 0 auto; font-family:'Space Grotesk','Inter',system-ui,sans-serif; font-weight:800; font-size:1.05rem; line-height:1.3; color:var(--au-copper-light); }
.au-hm-step h3{ margin:0 0 3px; font-size:1.06rem; font-weight:700; color:#eef3fb; }
.au-hm-step p{ margin:0; color:var(--au-muted); font-size:.9rem; line-height:1.5; }
@media (max-width:600px){
  .au-hm-steps{ gap:10px; margin-top:18px; }
  .au-hm-step{ padding:12px 14px; gap:11px; }
  .au-hm-step h3{ font-size:.98rem; }
  .au-hm-step p{ font-size:.84rem; }
}
