@charset "UTF-8";
/* =========================================================================
   VenusHawk — "Morning Star" FX layer.
   Loads after vh.css + vh-pages.css and re-tunes the Dawn system to the
   brand's vivid gradient (magenta → orange → gold, from the V mark),
   and adds the motion system (word reveals, stagger, spotlight, sheen).
   No markup/content changes required — pure progressive enhancement.
   ========================================================================= */

:root{
  /* brand gradient, sampled from the V mark */
  --vh-pink:#ff3d7c;
  --vh-red:#ff5757;
  --vh-orange:#ff7a45;
  --vh-gold:#ffb84d;
  --venus:linear-gradient(115deg,var(--vh-pink),var(--vh-orange) 55%,var(--vh-gold));
  --venus-soft:linear-gradient(115deg,rgba(255,61,124,0.14),rgba(255,122,69,0.12) 55%,rgba(255,184,77,0.10));
  /* wake the Dawn tokens up */
  --dawn:#ff6a4d;
  --dawn-2:#ffb59a;            /* icons / eyebrows / small labels: warm peach */
  --dawn-deep:#e8481f;
  --gold:#ffcf87;
  --dusk:#c06bff;
  --line-warm:rgba(255,140,100,0.36);
  --aura:radial-gradient(circle at 50% 45%,rgba(255,150,90,0.95),rgba(255,70,120,0.55) 40%,rgba(170,80,240,0.28) 68%,transparent 78%);
}

/* ---------- ambient space: richer nebula + film grain ---------- */
body::before{
  background:
    radial-gradient(60% 44% at 84% 0%,rgba(255,110,60,0.22),transparent 58%),
    radial-gradient(50% 40% at 0% 34%,rgba(210,70,240,0.19),transparent 60%),
    radial-gradient(44% 36% at 70% 62%,rgba(255,60,120,0.10),transparent 62%),
    radial-gradient(66% 48% at 98% 88%,rgba(255,150,70,0.16),transparent 60%),
    linear-gradient(180deg,#0b0714 0%,#050409 55%,#090610 100%);
}
body::after{content:"";position:fixed;inset:0;z-index:80;pointer-events:none;opacity:0.35;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.82' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.045 0'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E")}

/* ---------- base accents ---------- */
a{color:#ffb59a}
a:hover{color:#ffd6c2}
::selection{background:rgba(255,80,110,0.38);color:#fff}
:focus-visible{outline-color:#ff8a5e}

/* section corner glows, turned up to brand hues */
.band:nth-of-type(odd)::after{background:radial-gradient(circle,rgba(255,110,66,0.26),rgba(255,70,90,0.08) 46%,transparent 70%)}
.band:nth-of-type(even)::after{background:radial-gradient(circle,rgba(214,70,240,0.22),rgba(255,60,130,0.07) 46%,transparent 70%)}
.band:nth-of-type(odd)::before{background:radial-gradient(circle,rgba(120,150,255,0.15),transparent 64%)}
.band:nth-of-type(even)::before{background:radial-gradient(circle,rgba(255,150,80,0.17),transparent 64%)}

/* ---------- scroll progress: the dawn line ---------- */
.scrollbar{height:3px}
.scrollbar__fill{background:var(--venus);box-shadow:0 0 14px rgba(255,100,80,0.75)}

/* ---------- eyebrows: gradient ink + live dot ---------- */
.eyebrow{background:linear-gradient(100deg,#ffc9b2,#ff9d8a 50%,#ffcf9a);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:#ffb59a}
.eyebrow::before{background:var(--venus);box-shadow:0 0 12px rgba(255,110,80,0.9)}
.hero .eyebrow::before{animation:fx-dot 2.6s ease-out infinite}
@keyframes fx-dot{0%{box-shadow:0 0 0 0 rgba(255,110,80,0.55),0 0 12px rgba(255,110,80,0.9)}70%{box-shadow:0 0 0 8px rgba(255,110,80,0),0 0 12px rgba(255,110,80,0.9)}100%{box-shadow:0 0 0 0 rgba(255,110,80,0),0 0 12px rgba(255,110,80,0.9)}}

/* ---------- buttons: morning-star primary ---------- */
.btn{overflow:hidden}
.btn--primary,.btn--light{background:#fff;color:#0a0b12;font-weight:620;border:0;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.6),0 10px 30px -12px rgba(255,255,255,0.22)}
.btn--primary:hover,.btn--light:hover{background:#e9eaf0;color:#0a0b12;transform:translateY(-2px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.7),0 16px 40px -14px rgba(255,255,255,0.28)}
.btn--primary::after,.btn--light::after{content:"";position:absolute;top:0;bottom:0;left:-70%;width:45%;transform:skewX(-22deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,0.5),transparent);opacity:0;transition:none;pointer-events:none}
.btn--primary:hover::after,.btn--light:hover::after{animation:fx-sheen 0.85s var(--ease)}
@keyframes fx-sheen{0%{left:-70%;opacity:1}100%{left:130%;opacity:1}}
.btn--ghost{border-color:rgba(255,255,255,0.3);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.btn--ghost:hover{border-color:rgba(255,150,110,0.65);background:rgba(255,110,70,0.09);color:#fff;box-shadow:0 0 0 1px rgba(255,150,110,0.2),0 12px 34px -14px rgba(255,90,70,0.5)}
.leader{color:#ffb59a}
.leader:hover{color:#ffd6c2}

/* ---------- certbar ---------- */
.certbar__mark{border-color:rgba(255,150,110,0.34);color:#ffe4d6}
/* SECASURE partner marks: quiet monochrome */
.certbar__logo,.hero__by img[src*="secasure"],.foot__by img[src*="secasure"]{opacity:1}

/* ---------- masthead / nav ---------- */
.masthead[data-scrolled="true"]{border-bottom-color:rgba(255,140,100,0.2)}
.brandmark img{transition:filter 0.3s var(--ease)}
.brandmark:hover img{filter:drop-shadow(0 0 14px rgba(255,110,90,0.55))}
.nav__link{transition:color 0.18s var(--ease),background-color 0.18s var(--ease)}
.nav__link:hover{background:rgba(255,255,255,0.06)}
.nav__link[aria-current="page"]{background:rgba(255,255,255,0.07)}
@media (min-width:921px){
.nav__menu{min-width:344px;padding:0.5rem;border-color:rgba(255,140,100,0.24);background:rgba(13,12,22,0.97);box-shadow:0 24px 70px rgba(0,0,0,0.65),0 0 0 1px rgba(255,255,255,0.03),0 -1px 0 rgba(255,150,110,0.25) inset}
.nav__menu-tx small{white-space:nowrap}
}
.nav__menu-tx small{display:block;font-size:var(--t-xs);font-weight:400;color:var(--txt-mut);margin-top:2px;transition:color 0.2s var(--ease)}
.nav__menu-link{padding:0.62rem 0.75rem;gap:0.8rem}
.nav__menu-link:hover{background:linear-gradient(100deg,rgba(255,80,100,0.13),rgba(255,160,80,0.06))}
.nav__menu-link:hover .nav__menu-tx small{color:var(--txt-dim)}
.nav__menu-ic{transition:color 0.2s var(--ease),border-color 0.2s var(--ease),background 0.2s var(--ease),transform 0.2s var(--ease)}
.nav__menu-link:hover .nav__menu-ic{background:linear-gradient(135deg,#ff4066,#ff7a45 60%,#ffb84d);border-color:transparent;color:#fff;transform:scale(1.06)}
.nav__menu li{opacity:0;transform:translateY(-6px);transition:opacity 0.3s var(--ease),transform 0.3s var(--ease)}
.nav__item--has-menu[data-open="true"] .nav__menu li{opacity:1;transform:none}
.nav__item--has-menu[data-open="true"] .nav__menu li:nth-child(1){transition-delay:0.03s}
.nav__item--has-menu[data-open="true"] .nav__menu li:nth-child(2){transition-delay:0.07s}
.nav__item--has-menu[data-open="true"] .nav__menu li:nth-child(3){transition-delay:0.11s}
.nav__item--has-menu[data-open="true"] .nav__menu li:nth-child(4){transition-delay:0.15s}
.nav__item--has-menu[data-open="true"] .nav__menu li:nth-child(5){transition-delay:0.19s}
.nav__item--has-menu[data-open="true"] .nav__menu li:nth-child(6){transition-delay:0.23s}
@media (max-width:920px){.nav__menu li{opacity:1;transform:none}}

/* =========================================================================
   HERO — sunrise
   ========================================================================= */
/* gold horizon glow bleeding out of the hero's floor */
.hero::before{content:"";position:absolute;z-index:0;left:50%;bottom:-34%;transform:translateX(-50%);width:150%;aspect-ratio:2.8;border-radius:50%;pointer-events:none;
  background:radial-gradient(50% 50% at 50% 50%,rgba(255,168,92,0.20),rgba(255,90,120,0.08) 46%,transparent 72%);filter:blur(46px)}
/* auras: warmer, brighter dawn cycle */
@keyframes dawnA{0%,100%{--ac1:rgba(220,58,168,0.62);--ac2:rgba(168,52,205,0.22)}34%{--ac1:rgba(255,96,92,0.68);--ac2:rgba(255,66,78,0.26)}66%{--ac1:rgba(255,150,58,0.74);--ac2:rgba(255,104,38,0.3)}}
@keyframes dawnB{0%,100%{--bc1:rgba(248,66,198,0.58);--bc2:rgba(190,58,248,0.24)}40%{--bc1:rgba(255,110,142,0.58);--bc2:rgba(248,80,112,0.24)}72%{--bc1:rgba(255,176,86,0.58);--bc2:rgba(255,128,50,0.24)}}
/* intro sequence — crumbs → eyebrow → (words via JS) → lede → actions → byline */
@keyframes fx-up{from{opacity:0;transform:translateY(22px);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}
.hero .crumbs{animation:fx-up 0.7s var(--ease) 0.05s both}
.hero .eyebrow{animation:fx-up 0.7s var(--ease) 0.12s both}
.hero__lede{animation:fx-up 0.85s var(--ease) 0.5s both}
.hero__actions{animation:fx-up 0.85s var(--ease) 0.66s both}
.hero__by{animation:fx-up 0.85s var(--ease) 0.82s both}
/* headline: word-by-word sunrise (spans added by JS; graceful without) */
.fx-words .hw{display:inline-block;
  opacity:0;transform:translateY(0.55em) rotate(1.2deg);filter:blur(10px);animation:fx-word 0.9s var(--ease) forwards;animation-delay:calc(0.18s + var(--wi,0)*0.075s)}
@keyframes fx-word{60%{filter:blur(0)}100%{opacity:1;transform:none;filter:none}}
.hero__scroll::after{animation:fx-line 2.2s var(--ease) infinite;transform-origin:left center}
@keyframes fx-line{0%{transform:scaleX(0.2);opacity:0.4}55%{transform:scaleX(1);opacity:1}100%{transform:scaleX(0.2);opacity:0.4}}
.ffx{background:rgba(20,14,22,0.55);border-color:rgba(255,150,110,0.22)}
.ffx::before{background:var(--venus)}

/* =========================================================================
   SCROLL MOTION SYSTEM
   ========================================================================= */
[data-reveal]{transform:translateY(22px);filter:blur(7px);transition:opacity 0.9s var(--ease),transform 0.9s var(--ease),filter 0.9s var(--ease)}
[data-reveal].is-in{filter:none}
/* staggered children (tagged by JS) */
[data-fx-stagger]>*{opacity:0;transform:translateY(18px);filter:blur(5px);transition:opacity 0.75s var(--ease),transform 0.75s var(--ease),filter 0.75s var(--ease);transition-delay:calc(var(--fxi,0)*75ms)}
[data-fx-stagger].fx-in>*{opacity:1;transform:none;filter:none}

/* cursor spotlight (elements tagged .fx-spot by JS) */
.fx-spot{position:relative}
.fx-spot::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity 0.35s var(--ease);z-index:0;
  background:radial-gradient(260px circle at var(--mx,50%) var(--my,50%),rgba(255,140,100,0.13),transparent 62%)}
.fx-spot:hover::after{opacity:1}
/* pricing comparison, stat strip + contact info cards: static panels — no cursor spotlight, no hover lift */
.vs__col.fx-spot::after,.stats--price .stat.fx-spot::after,.infocard.fx-spot::after{content:none}
.stats--price .stat:hover{transform:none;border-color:var(--line)}
.infocard:hover{transform:none;border-color:var(--line)}
/* glossy sheen on the highlighted column (re-declared here so the fx layer can't override it) */
.vs__col--new.fx-spot::after,.vs__col--new::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:1;transition:none;z-index:0;
  background:radial-gradient(120% 90% at 85% -10%,rgba(255,107,61,0.18),transparent 55%),linear-gradient(165deg,rgba(255,255,255,0.2) 0%,rgba(255,255,255,0.07) 30%,transparent 55%)}

/* =========================================================================
   COMPONENT GLOW-UPS
   ========================================================================= */
/* generic panels: warm on hover */
.card:hover,.cap:hover,.stat:hover,.related__card:hover,.src:hover,.step:hover,.jcard:hover,.hopitem:hover,.infocard:hover{border-color:rgba(255,140,100,0.36)}
.card,.cap,.stat,.related__card,.src,.step,.jcard,.hopitem,.infocard{transition:border-color 0.3s var(--ease),background-color 0.3s var(--ease),transform 0.3s var(--ease)}
.stat:hover,.infocard:hover{transform:translateY(-3px)}
.stat__n{background:linear-gradient(115deg,#fff 30%,#ffd2ba 75%,#ffb894);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}

/* agent index rows */
.agrow:hover .agrow__ic{background:linear-gradient(135deg,rgba(255,64,102,0.24),rgba(255,184,77,0.18));border-color:rgba(255,150,110,0.5)}
.agrow:hover .agrow__go{color:#ffcf87}
.agcov{border-color:rgba(255,140,100,0.26)}
.agcov:hover{border-color:rgba(255,150,110,0.5);box-shadow:0 18px 60px -30px rgba(255,90,70,0.55)}
.agcov__go{color:#fff}

/* coverage surfaces — pin icon to a full-height first column (fixes auto-placement) */
.surface{grid-template-columns:auto 1fr;grid-template-rows:auto 1fr}
.surface__ic{grid-row:1/3;grid-column:1}
.surface h3,.surface p{grid-column:2}
.surface:hover .surface__ic{background:linear-gradient(135deg,rgba(255,64,102,0.22),rgba(255,184,77,0.16));border-color:rgba(255,150,110,0.5)}
.surface__ic{transition:color 0.25s var(--ease),border-color 0.25s var(--ease),background 0.25s var(--ease)}

/* definition rows / trio */
.dfrow dt::before{background:var(--venus)}
.trio__n{opacity:1}

/* marquee chips */
.sigflow__chip--in:not(.sigflow__chip--hot)::before{background:var(--venus)}

/* consoles / instrument panels: gradient hairline across the top */
.lingraph,.feed,.tmodel,.vlist,.crew,.ask,.scen,.asset,.codewrap{
  background-image:linear-gradient(90deg,transparent,rgba(255,150,110,0.55) 50%,transparent);
  background-size:min(360px,72%) 1px;background-position:top center;background-repeat:no-repeat;
  background-color:rgba(255,255,255,0.024)}
.brain,.scan{
  background-image:linear-gradient(90deg,transparent,rgba(255,150,110,0.55) 50%,transparent),linear-gradient(180deg,rgba(255,255,255,0.045),rgba(255,255,255,0.012));
  background-size:min(360px,72%) 1px,100% 100%;background-position:top center,0 0;background-repeat:no-repeat}
.codewrap{background-color:#05060a}
.crew{background-color:#060509}
.crew .wslot{background:#0a0910}
.vlist{background-color:#060509}
.bsen.on{border-color:rgba(255,120,90,0.6);background:linear-gradient(115deg,rgba(255,64,102,0.16),rgba(255,122,69,0.14) 55%,rgba(255,184,77,0.12));box-shadow:0 0 20px rgba(255,100,70,0.24)}
.ev{transition:background-color 0.2s var(--ease)}
.ev:hover{background:rgba(255,130,90,0.045)}
.scen__tab.is-active{background:rgba(255,100,70,0.1)}
.scen__tab.is-active::after{background:var(--venus);box-shadow:0 0 12px rgba(255,110,80,0.8)}

/* privacy gate + facts */
.pgate{border-color:rgba(255,140,100,0.18)}
.pgate__dot{background:var(--vh-gold);box-shadow:0 0 10px var(--vh-gold)}
.pfact{border-left:0;padding-left:calc(var(--s-4) + 2px);position:relative}
.pfact::before{content:"";position:absolute;left:0;top:0.2em;bottom:0.2em;width:2px;border-radius:2px;background:linear-gradient(180deg,var(--vh-pink),var(--vh-gold))}

/* steps + numbers */
.step__n{background:linear-gradient(135deg,rgba(255,64,102,0.16),rgba(255,184,77,0.12));color:#ffcf9a;border-color:rgba(255,150,110,0.3)}

/* FAQ */
.faq__q:hover{background:rgba(255,130,90,0.05)}
.faq__item[data-open="true"]{background:linear-gradient(180deg,rgba(255,130,90,0.045),transparent)}

/* forms */
.field input:focus,.field textarea:focus{border-color:#ff7a52;box-shadow:0 0 0 3px rgba(255,110,70,0.22)}

/* closer */
.closer__aura{background:radial-gradient(circle,rgba(255,140,90,0.16),rgba(220,80,220,0.06) 40%,transparent 62%)}
.closer h2{background:linear-gradient(115deg,#fff 35%,#ffd8c4 70%,#ffb894);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.closer__direct a:hover{color:#ffd6c2}

/* footer */
.foot::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,130,90,0.55) 30%,rgba(205,90,245,0.45) 70%,transparent)}
.foot{border-top-color:transparent}
.foot__links a{transition:color 0.16s var(--ease),transform 0.16s var(--ease)}
.foot__links a:hover{transform:translateX(3px)}
.foot__social a:hover{border-color:rgba(255,150,110,0.5);background:linear-gradient(135deg,rgba(255,64,102,0.16),rgba(255,184,77,0.12))}

/* crumbs */
.crumbs a:hover{color:#ffd6c2}

/* pills never wrap mid-text — containers wrap whole pills instead */
.tag,.bsen,.agrow__tags span,.levent__surf,.sflow__k span,.hopitem__k span,.csrow__how{white-space:nowrap}

/* =========================================================================
   ACCESSIBILITY / FALLBACKS
   ========================================================================= */
@media (hover:none){.fx-spot::after{display:none}}
@media (prefers-reduced-motion:reduce){
  .hero .crumbs,.hero .eyebrow,.hero__lede,.hero__actions,.hero__by{animation:none}
  .fx-words .hw{opacity:1;transform:none;filter:none;animation:none}
  [data-reveal]{filter:none;transform:none}
  [data-fx-stagger]>*{opacity:1;transform:none;filter:none;transition:none}
  .eyebrow::before,.hero .eyebrow::before,.hero__scroll::after{animation:none}
  .btn--primary::after,.btn--light::after{display:none}
  .fx-spot::after{display:none}
}
