:root {
  --navy-950:#020714; --navy-900:#061027; --navy-800:#0c1a39;
  --starlight:#f7f4ed; --moon:#cdd8f0; --gold:#d2ad70; --gold-soft:#ecd3a0;
  --violet:#8d79bd; --line:rgba(226,196,143,.28); --sans:Pretendard,"Noto Sans KR","Malgun Gothic",sans-serif;
  --mystic-serif:"Noto Serif KR","Nanum Myeongjo","Batang","바탕",Georgia,serif;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; overflow-x:hidden; color:var(--starlight); background:var(--navy-950); font-family:var(--sans); }
a { color:inherit; text-decoration:none; }
button { font:inherit; }
.sr-only { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }
.skip-link { position:fixed;z-index:100;left:18px;top:-80px;padding:12px 16px;color:#071024;background:#fff; }
.skip-link:focus { top:18px; }
:focus-visible { outline:3px solid rgba(236,211,160,.75);outline-offset:4px; }

.landing-header { position:fixed;z-index:30;inset:0 0 auto;height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,5vw,76px);color:#faf6ec;border-bottom:1px solid transparent;transition:background .35s,border-color .35s,backdrop-filter .35s; }
.landing-header.scrolled { background:rgba(2,7,20,.76);border-color:rgba(208,218,239,.12);backdrop-filter:blur(14px); }
.brand-placeholder { font:600 13px/1 Georgia,serif;letter-spacing:.24em; }
.desktop-nav { display:flex;gap:clamp(24px,3vw,48px);font-size:13px;color:rgba(247,244,237,.8); }
.desktop-nav a { transition:color .2s; }
.desktop-nav a:hover { color:var(--gold-soft); }
.menu-trigger,.mobile-nav { display:none; }

.hero { position:relative;min-height:200svh;background:var(--navy-950); }
.hero-stage { position:sticky;top:0;height:100svh;overflow:hidden;isolation:isolate;background:var(--navy-950); }
.hero-image { position:absolute;z-index:-4;inset:0;margin:0;overflow:hidden;background:#030817; }
.hero-image video { width:100%;height:100%;display:block;object-fit:cover;object-position:center;filter:saturate(.94) brightness(.84) contrast(1.04);transform:none; }
.image-shade { position:absolute;z-index:-3;inset:0;background:linear-gradient(90deg,rgba(2,7,20,.76) 0%,rgba(2,7,20,.48) 25%,rgba(2,7,20,.13) 46%,transparent 66%),linear-gradient(180deg,rgba(2,7,20,.2),transparent 48%,rgba(2,7,20,.22) 62%,rgba(2,7,20,.93) 100%); }

.star-layer { position:absolute;z-index:-1;inset:0;pointer-events:none; }
.star-layer i { position:absolute;left:var(--x);top:var(--y);display:block;border-radius:50%;background:#fff;animation:twinkle 7s var(--d) ease-in-out infinite; }
.stars-back i { width:2px;height:2px;opacity:.4;box-shadow:0 0 7px 1px rgba(210,224,255,.62); }
.stars-mid { animation:mid-drift 20s ease-in-out infinite alternate; }
.stars-mid i { width:3px;height:3px;opacity:.62;box-shadow:0 0 13px 3px rgba(215,225,255,.68);animation-duration:4.8s; }
.front-particles { position:absolute;z-index:2;inset:0;pointer-events:none; }
.front-particles i { position:absolute;bottom:-3%;width:3px;height:3px;border-radius:50%;background:var(--gold-soft);box-shadow:0 0 12px 4px rgba(236,211,160,.65);opacity:0;animation:particle-rise 15s linear infinite; }
.front-particles i:nth-child(1){left:16%;animation-delay:-3s}.front-particles i:nth-child(2){left:48%;animation-delay:-9s;animation-duration:18s}.front-particles i:nth-child(3){left:73%;animation-delay:-13s;animation-duration:17s}.front-particles i:nth-child(4){left:91%;animation-delay:-6s;animation-duration:20s}
.front-particles i:nth-child(5){left:36%;animation-delay:-15s;animation-duration:19s}.front-particles i:nth-child(6){left:84%;animation-delay:-1s;animation-duration:22s}

.floating-numbers { position:absolute;z-index:1;inset:0;pointer-events:none; }
.floating-numbers span { position:absolute;left:var(--x);top:var(--y);color:rgba(232,213,177,.68);font:400 clamp(20px,2vw,30px)/1 Georgia,serif;text-shadow:0 0 15px rgba(237,205,145,.45);animation:number-float var(--t) var(--d) ease-in-out infinite; }
.floating-numbers span:nth-child(3n+2) { color:rgba(207,220,247,.54); }
.floating-numbers span:nth-child(4n) { color:rgba(176,157,215,.5); }
.orbital-lines { position:absolute;z-index:0;inset:0;pointer-events:none;overflow:hidden; }
.orbital-lines i { position:absolute;display:block;width:min(66vw,980px);aspect-ratio:1;border:1px solid rgba(223,194,140,.13);border-radius:50%;right:-11%;top:-18%;animation:orbit-drift 26s ease-in-out infinite alternate; }
.orbital-lines i:nth-child(2){width:min(52vw,760px);right:-3%;top:3%;border-color:rgba(169,184,228,.11);animation-delay:-12s;animation-duration:33s}
.hair-light { position:absolute;z-index:2;left:35%;top:8%;width:45%;height:70%;pointer-events:none;filter:drop-shadow(0 0 5px rgba(239,211,161,.32)); }
.hair-light i { position:absolute;left:12%;width:72%;height:28%;border-top:1px solid rgba(241,211,158,.38);border-radius:50%;transform-origin:90% 50%;animation:hair-glow 8s ease-in-out infinite; }
.hair-light i:nth-child(1){top:12%;width:62%;animation-delay:-2s}.hair-light i:nth-child(2){top:37%;left:2%;width:86%;animation-duration:10s}.hair-light i:nth-child(3){top:64%;left:18%;width:64%;opacity:.65;animation-delay:-5s;animation-duration:9s}
.hair-light i:nth-child(4){top:27%;left:-6%;width:74%;opacity:.46;animation-delay:-6s;animation-duration:11s}.hair-light i:nth-child(5){top:52%;left:9%;width:78%;opacity:.52;animation-delay:-3.5s;animation-duration:9.5s}
.hair-dust { position:absolute;z-index:3;left:34%;top:8%;width:48%;height:70%;pointer-events:none; }
.hair-dust i { position:absolute;width:3px;height:3px;border-radius:50%;background:#f5ddaa;box-shadow:0 0 11px 3px rgba(239,210,157,.68);animation:hair-dust-flow 9s ease-in-out infinite; }
.hair-dust i:nth-child(1){left:18%;top:18%;animation-delay:-1s}.hair-dust i:nth-child(2){left:41%;top:31%;animation-delay:-6s;animation-duration:11s}.hair-dust i:nth-child(3){left:65%;top:46%;animation-delay:-3s;animation-duration:10s}.hair-dust i:nth-child(4){left:28%;top:62%;animation-delay:-8s;animation-duration:12s}.hair-dust i:nth-child(5){left:76%;top:24%;animation-delay:-4.5s;animation-duration:10.5s}

.hero-copy { position:absolute;z-index:4;left:clamp(28px,7vw,108px);bottom:64px;width:min(42vw,520px);text-shadow:0 3px 24px rgba(0,0,0,.62); }
.hero-message { margin:0;color:#fffaf0;font-family:var(--mystic-serif);font-size:clamp(38px,4.1vw,60px);line-height:1.34;letter-spacing:-.045em;font-weight:500;text-shadow:0 2px 25px rgba(186,201,240,.18),0 3px 28px rgba(0,0,0,.7); }
.hero-message span { display:block;white-space:nowrap; }
.intro-heading h2 b { margin:0 .08em;color:var(--gold);font-family:Georgia,serif;font-size:.72em;font-weight:400; }
.hero-support { margin:24px 0 31px;color:rgba(205,216,239,.78);font-size:15px;line-height:1.7; }
.hero-cta { min-height:60px;width:min(100%,310px);display:inline-flex;align-items:center;justify-content:space-between;padding:0 22px;color:#fff9ec;border:1px solid rgba(226,190,126,.72);background:rgba(5,14,34,.55);box-shadow:0 13px 36px rgba(0,0,0,.24),inset 0 0 22px rgba(209,171,105,.05);backdrop-filter:blur(8px);font-size:14px;transition:transform .22s,background .22s; }
.hero-cta:hover { transform:translateY(-2px);background:rgba(151,112,54,.2); }
.scroll-cue { position:absolute;z-index:5;left:50%;bottom:24px;display:flex;flex-direction:column;align-items:center;gap:8px;color:rgba(235,238,247,.55);font-size:9px;letter-spacing:.22em;transform:translateX(-50%); }
.scroll-cue span { width:1px;height:34px;background:linear-gradient(var(--gold-soft),transparent);animation:scroll-pulse 2.5s ease-in-out infinite; }

.intro-preview { position:relative;min-height:86svh;padding:clamp(110px,12vw,175px) clamp(24px,8vw,124px);overflow:hidden;background:radial-gradient(circle at 50% 0,rgba(61,72,119,.22),transparent 37%),linear-gradient(180deg,#020714,#071127); }
.intro-preview::before { content:"";position:absolute;inset:0;pointer-events:none;opacity:.25;background-image:radial-gradient(circle,#cdd8f0 0 1px,transparent 1.4px);background-size:160px 140px; }
.intro-heading { position:relative;max-width:760px;margin:0 auto 64px;text-align:center; }
.intro-heading>p { margin:0 0 22px;color:var(--gold);font-size:10px;letter-spacing:.25em; }
.intro-title { position:relative;height:clamp(82px,8vw,122px);margin:0 0 20px;overflow:hidden;color:#fffaf0;font-family:var(--mystic-serif);font-size:clamp(62px,7.2vw,104px);letter-spacing:-.055em;line-height:1;font-weight:600;text-shadow:0 0 26px rgba(156,171,221,.14); }
.dual-title { position:absolute;inset:0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.2em; }
.title-slot { position:relative;height:100%;display:block;overflow:hidden; }
.title-slot>span,.title-slot>strong { position:absolute;inset:0;display:flex;align-items:center;white-space:nowrap; }
.slot-left>span,.slot-left>strong { justify-content:flex-end; }.slot-right>span,.slot-right>strong { justify-content:flex-start; }
.title-slot>span { color:rgba(205,216,239,.72);font-size:.54em;font-weight:400;letter-spacing:-.035em;opacity:0;filter:blur(5px);transform:translateY(82%); }
.title-slot>strong { color:#fffaf0;font-weight:600;opacity:0;filter:blur(7px);transform:translateY(75%); }
.title-x { color:var(--gold);font-family:Georgia,serif;font-size:.72em;font-weight:400;opacity:.25; }
.intro-preview.title-active .title-slot>span { animation:title-slot-swipe .5s cubic-bezier(.2,.72,.22,1) calc(var(--order) * .36s) both; }
.intro-preview.title-active .slot-right>span { animation-delay:calc(var(--order) * .36s + .1s); }
.intro-preview.title-active .title-slot>strong { animation:title-slot-lock .76s cubic-bezier(.18,.8,.2,1) 1.28s forwards; }
.intro-preview.title-active .slot-right>strong { animation-delay:1.38s; }
.intro-preview.title-active .title-x { animation:title-x-lock .6s ease 1.32s forwards; }
.intro-heading>span { color:rgba(213,221,240,.72);font-size:15px;line-height:1.8; }
.intro-card { position:relative;max-width:980px;margin:0 auto;display:grid;grid-template-columns:1fr auto 1fr auto 1.15fr;align-items:stretch;border:1px solid rgba(206,217,241,.14);background:rgba(8,20,47,.56);box-shadow:0 26px 70px rgba(0,0,0,.2);backdrop-filter:blur(8px); }
.intro-card>div { min-height:210px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px;text-align:center; }
.intro-card>i { align-self:center;color:rgba(226,196,143,.55);font:300 26px Georgia,serif; }
.intro-card small { color:rgba(191,203,230,.55);font-size:9px;letter-spacing:.2em; }
.intro-card strong { margin:12px 0 9px;color:#fff8e9;font-family:var(--mystic-serif);font-size:23px;font-weight:500; }
.intro-card p { margin:0;color:rgba(209,218,238,.66);font-size:13px; }
.intro-card .card-result { background:linear-gradient(135deg,rgba(174,135,72,.14),rgba(73,63,113,.12)); }
.intro-card .card-result strong { color:var(--gold-soft); }
.reveal { opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease; }
.reveal.visible { opacity:1;transform:none; }
.phase-marker { min-height:130px;display:grid;place-items:center;padding:24px;color:rgba(208,217,238,.48);border-top:1px solid rgba(208,217,238,.1);background:#061027;text-align:center;font-size:11px;letter-spacing:.08em; }

@keyframes image-luma { from{filter:saturate(.92) brightness(.82) contrast(1.04)} to{filter:saturate(.98) brightness(.87) contrast(1.03)} }
@keyframes twinkle { 0%,100%{opacity:.22;transform:scale(.7)} 50%{opacity:.9;transform:scale(1.25)} }
@keyframes mid-drift { from{transform:translate3d(-3px,2px,0)} to{transform:translate3d(7px,-5px,0)} }
@keyframes particle-rise { 0%{opacity:0;transform:translate3d(0,0,0)} 18%{opacity:.55} 80%{opacity:.25} 100%{opacity:0;transform:translate3d(28px,-106vh,0)} }
@keyframes number-float { 0%,100%{opacity:.3;transform:translate3d(0,-4px,0)} 50%{opacity:.68;transform:translate3d(6px,7px,0)} }
@keyframes orbit-drift { from{transform:translate3d(-4px,0,0) rotate(-4deg)} to{transform:translate3d(7px,4px,0) rotate(5deg)} }
@keyframes hair-glow { 0%,100%{opacity:.3;transform:rotate(-1.5deg) translateX(-2px)} 50%{opacity:.72;transform:rotate(1.5deg) translateX(5px)} }
@keyframes hair-dust-flow { 0%,100%{opacity:.18;transform:translate3d(-5px,5px,0) scale(.7)} 48%{opacity:.95;transform:translate3d(8px,-7px,0) scale(1.2)} }
@keyframes scroll-pulse { 0%,100%{opacity:.25;transform:scaleY(.65);transform-origin:top} 50%{opacity:.8;transform:scaleY(1)} }
@keyframes title-slot-swipe { 0%{opacity:0;filter:blur(6px);transform:translateY(84%)} 27%,54%{opacity:.88;filter:blur(0);transform:translateY(0)} 100%{opacity:0;filter:blur(5px);transform:translateY(-86%)} }
@keyframes title-slot-lock { to{opacity:1;filter:blur(0);transform:translateY(0)} }
@keyframes title-x-lock { to{opacity:1;text-shadow:0 0 18px rgba(226,196,143,.45)} }

@media (max-width:1100px) {
  .hero-image video { transform:none; }
  .image-shade { background:linear-gradient(90deg,rgba(2,7,20,.72),rgba(2,7,20,.4) 35%,rgba(2,7,20,.08) 64%),linear-gradient(180deg,rgba(2,7,20,.2),transparent 44%,rgba(2,7,20,.2) 61%,rgba(2,7,20,.94)); }
  .hero-copy { left:48px;bottom:58px;width:48vw; }
  .hero-message { font-size:clamp(36px,5vw,52px); }
  .hair-light { left:39%;width:48%; }
}
@media (max-width:720px) {
  .landing-header { height:66px;padding:0 20px; }
  .desktop-nav { display:none; }
  .menu-trigger { width:42px;height:42px;display:flex;flex-direction:column;justify-content:center;gap:7px;padding:10px;border:0;color:inherit;background:transparent; }
  .menu-trigger i { width:22px;height:1px;display:block;background:currentColor; }
  .mobile-nav { position:absolute;display:grid;top:66px;left:14px;right:14px;padding:10px;background:rgba(2,7,20,.96);border:1px solid rgba(208,218,239,.14);box-shadow:0 18px 48px rgba(0,0,0,.28); }
  .mobile-nav[hidden] { display:none; }
  .mobile-nav a { padding:13px 12px;color:rgba(247,244,237,.82);font-size:14px; }
  .hero-image video { object-position:47% center;filter:saturate(.94) brightness(.76) contrast(1.03);transform:none; }
  .image-shade { background:linear-gradient(180deg,rgba(2,7,20,.38),transparent 36%,rgba(2,7,20,.25) 54%,rgba(2,7,20,.97) 83%,#020714); }
  .hero-copy { left:0;bottom:72px;width:100%;padding:0 22px;text-align:left; }
  .hero-message { max-width:none;font-size:clamp(30px,9vw,38px);letter-spacing:-.055em; }
  .hero-support { margin:15px 0 23px;font-size:13px; }
  .hero-cta { width:100%; }
  .scroll-cue { display:none; }
  .floating-numbers span:nth-child(n+7) { display:none; }
  .hair-light { left:8%;top:8%;width:80%;height:57%; }
  .orbital-lines i { width:105vw;right:-54%;top:-5%; }
  .intro-preview { min-height:auto;padding:100px 20px 90px; }
  .intro-heading { margin-bottom:42px; }
  .intro-title { height:clamp(62px,18vw,80px);font-size:clamp(48px,14vw,62px); }
  .intro-heading>span { display:block;padding:0 14px; }
  .intro-card { grid-template-columns:1fr; }
  .intro-card>div { min-height:145px; }
  .intro-card>i { transform:rotate(90deg); }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important; }
  .hero-image video { transform:none; }
  .reveal { opacity:1;transform:none; }
  .title-slot>span { display:none; }
  .title-slot>strong,.title-x { opacity:1;filter:none;transform:none; }
}

/* F2 — six-section landing */
.desktop-nav { gap:clamp(14px,1.8vw,30px); }
.desktop-nav a,.nav-todo { white-space:nowrap; }
.nav-todo { padding:0;color:rgba(247,244,237,.8);border:0;background:transparent;cursor:not-allowed;font-size:13px; }
.hero-message { font-size:clamp(25px,2.6vw,39px);line-height:1.38; }
.hero-main-title { margin:13px 0 0;color:#fffaf0;font-family:var(--mystic-serif);font-size:clamp(60px,6.2vw,94px);line-height:1.06;letter-spacing:-.065em;font-weight:600;white-space:nowrap;text-shadow:0 0 32px rgba(157,177,231,.15),0 4px 32px rgba(0,0,0,.72); }
.hero-main-title b { margin:0 .08em;color:var(--gold);font-family:Georgia,serif;font-size:.7em;font-weight:400; }
.hero-support { margin-top:16px; }

.integration-section { min-height:auto;padding-bottom:clamp(130px,15vw,220px); }
.intro-heading h3,.section-heading h3 { margin:24px 0 0;color:rgba(241,239,232,.86);font-family:var(--mystic-serif);font-size:clamp(24px,2.4vw,36px);line-height:1.5;font-weight:400;letter-spacing:-.035em; }
.perspective-pair { position:relative;max-width:1120px;margin:80px auto 0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:30px; }
.perspective-card { position:relative;min-height:420px;padding:60px 46px 48px;overflow:hidden;border:1px solid rgba(202,215,245,.14);background:linear-gradient(145deg,rgba(13,29,64,.72),rgba(6,15,37,.52));box-shadow:0 28px 72px rgba(0,0,0,.2);text-align:center; }
.perspective-card.reveal:first-child { transform:translateX(-55px); }.perspective-card.reveal:last-child { transform:translateX(55px); }.perspective-card.reveal.visible { transform:none; }
.perspective-card small,.integration-result small { color:var(--gold);font-size:9px;letter-spacing:.23em; }
.perspective-card h3 { margin:15px 0 8px;color:#fff8ea;font-family:var(--mystic-serif);font-size:38px;font-weight:500; }
.perspective-card strong { color:rgba(220,226,241,.82);font-size:15px;font-weight:500; }
.perspective-card p { margin:24px 0 0;color:rgba(199,210,236,.64);font-size:14px;line-height:1.9; }
.perspective-orbit { width:112px;aspect-ratio:1;margin:0 auto 16px;display:grid;place-items:center;border:1px solid rgba(211,184,132,.26);border-radius:50%;animation:soft-orbit 16s linear infinite; }
.perspective-orbit::before,.perspective-orbit i { content:"";display:block;border-radius:50%; }
.perspective-orbit::before { width:40px;height:40px;border:1px solid rgba(221,230,248,.45);box-shadow:0 0 20px rgba(160,183,233,.13); }
.perspective-orbit i { position:absolute;width:7px;height:7px;background:var(--gold-soft);box-shadow:0 0 12px var(--gold);transform:translateY(-56px); }
.saju-card .perspective-orbit { border-color:rgba(158,174,220,.26);animation-direction:reverse; }
.pair-x { color:rgba(225,196,142,.72);font:400 34px Georgia,serif; }
.choice-flow { max-width:760px;margin:90px auto 0;display:flex;align-items:center;justify-content:center;gap:24px;color:rgba(230,235,247,.72);font-size:14px; }
.choice-flow i { color:rgba(211,173,106,.56);font-style:normal; }
.integration-conclusion { margin:52px auto 0;text-align:center;color:rgba(208,218,240,.7);font-family:var(--mystic-serif);font-size:clamp(24px,2.5vw,36px);line-height:1.55; }
.integration-conclusion strong { color:#fff8e9;font-weight:500; }
.integration-result { max-width:760px;margin:80px auto 0;padding:55px 40px;border:1px solid rgba(221,188,127,.28);background:radial-gradient(circle at 50% 0,rgba(144,114,73,.17),transparent 55%),rgba(10,22,49,.62);box-shadow:0 0 65px rgba(196,156,87,.06);text-align:center; }
.integration-result h3 { margin:15px 0 20px;color:#fff8e9;font-family:var(--mystic-serif);font-size:clamp(30px,3vw,44px);font-weight:500; }
.integration-result p { margin:0;color:rgba(205,215,237,.68);font-size:14px;line-height:1.9; }

.numerology-section,.special-section,.testimonials-section,.free-analysis-section { position:relative;overflow:hidden;background:#061027; }
.special-section { overflow:clip; }
.numerology-section { padding:clamp(120px,13vw,190px) clamp(24px,8vw,124px);background:radial-gradient(circle at 20% 30%,rgba(64,67,119,.18),transparent 30%),linear-gradient(180deg,#061027,#081431); }
.section-heading { position:relative;max-width:850px;margin:0 auto 75px;text-align:center; }
.section-heading>p { margin:0 0 22px;color:var(--gold);font-size:10px;letter-spacing:.25em; }
.section-heading h2 { margin:0;color:#fff9ed;font-family:var(--mystic-serif);font-size:clamp(45px,5vw,72px);line-height:1.15;letter-spacing:-.055em;font-weight:550; }
.section-heading>span { display:block;margin-top:24px;color:rgba(201,212,237,.67);font-size:14px;line-height:1.85; }
.numerology-features { max-width:1150px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:14px; }
.number-feature { min-height:330px;padding:40px 25px;border:1px solid rgba(201,215,244,.13);background:rgba(8,20,47,.55);text-align:center; }
.number-feature:nth-child(2){transition-delay:.08s}.number-feature:nth-child(3){transition-delay:.16s}.number-feature:nth-child(4){transition-delay:.24s}
.number-feature>small { color:rgba(214,183,128,.65);font:10px Georgia,serif;letter-spacing:.2em; }
.number-feature h3 { margin:13px 0 10px;color:#fff8e9;font-family:var(--mystic-serif);font-size:24px;font-weight:500; }
.number-feature p { margin:0;color:rgba(200,211,234,.63);font-size:13px;line-height:1.7; }
.feature-icon { position:relative;width:86px;height:86px;margin:0 auto 30px;display:grid;place-items:center;border:1px solid rgba(211,185,134,.28);border-radius:50%; }
.essence-icon i { width:12px;height:12px;border-radius:50%;background:var(--gold-soft);box-shadow:0 0 18px var(--gold); }
.essence-icon::after { content:"";position:absolute;inset:16px;border:1px solid rgba(202,215,241,.32);border-radius:50%;animation:icon-pulse 4s ease-in-out infinite; }
.strength-icon { grid-template-columns:repeat(3,8px);gap:7px;align-content:center;justify-content:center; }.strength-icon i { width:8px;height:8px;border-radius:50%;background:var(--gold-soft);box-shadow:0 0 10px var(--gold);animation:strength-light 3s ease-in-out infinite; }.strength-icon i:nth-child(2){animation-delay:.4s}.strength-icon i:nth-child(3){animation-delay:.8s}
.relation-icon i { position:absolute;width:34px;height:34px;border:1px solid rgba(213,224,246,.55);border-radius:50%; }.relation-icon i:first-child{left:20px}.relation-icon i:last-child{right:20px;border-color:rgba(222,190,132,.55)}
.cycle-icon i { width:48px;height:48px;border:1px solid rgba(203,216,243,.38);border-radius:50%; }.cycle-icon::after { content:"";position:absolute;top:16px;left:40px;width:7px;height:7px;border-radius:50%;background:var(--gold-soft);box-shadow:0 0 10px var(--gold);animation:cycle-dot 7s linear infinite;transform-origin:3px 27px; }
.number-language { margin:90px auto 0;text-align:center;color:rgba(206,217,239,.7);font-family:var(--mystic-serif);font-size:clamp(24px,2.4vw,34px);line-height:1.6; }.number-language strong{color:#fff8e9;font-weight:500}
.silicon-note { max-width:1050px;margin:110px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:70px;padding:52px;border-top:1px solid rgba(201,216,245,.15);border-bottom:1px solid rgba(201,216,245,.15);background:rgba(4,13,34,.34); }
.silicon-note small { color:var(--gold);font-size:9px;letter-spacing:.18em; }.silicon-note h3{margin:19px 0 0;color:#f5f1e8;font-family:var(--mystic-serif);font-size:27px;line-height:1.5;font-weight:500}.silicon-note p{margin:0;color:rgba(195,207,232,.65);font-size:14px;line-height:1.85}

.special-section { padding:clamp(120px,13vw,190px) clamp(24px,7vw,110px);background:radial-gradient(circle at 45% 45%,rgba(76,63,113,.2),transparent 32%),linear-gradient(180deg,#081431,#040b1d); }
.special-layout { max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1.2fr .8fr;gap:80px;align-items:start; }
.circular-visual { position:sticky;top:110px;width:min(100%,650px);aspect-ratio:1;margin:0 auto; }
.circular-visual svg { width:100%;height:100%;overflow:visible;transform:rotate(-.1deg); }
.visual-ring,.center-line,.visual-node { fill:none;stroke:rgba(202,215,242,.2);stroke-width:1; }
.visual-ring.inner { stroke:rgba(213,182,126,.16);stroke-dasharray:4 9;animation:ring-turn 32s linear infinite;transform-origin:center; }
.center-line { stroke:rgba(197,211,241,.12);transition:stroke .5s; }.visual-node{fill:#0b1732;stroke:rgba(221,190,131,.55);stroke-width:2;transition:fill .5s,filter .5s}
.orbit-pointer { position:absolute;left:calc(50% - 5px);top:calc(50% - 5px);width:10px;height:10px;border-radius:50%;background:var(--gold-soft);box-shadow:0 0 16px 4px rgba(220,180,109,.55);transform:rotate(0deg) translateY(-41%) translateY(-205px);transform-origin:5px 5px;transition:transform .8s cubic-bezier(.2,.75,.2,1); }
.circular-visual[data-active="2"] .orbit-pointer { transform:rotate(120deg) translateY(-41%) translateY(-205px); }.circular-visual[data-active="3"] .orbit-pointer{transform:rotate(240deg) translateY(-41%) translateY(-205px)}
.circular-visual[data-active="1"] .node-one,.circular-visual[data-active="2"] .node-two,.circular-visual[data-active="3"] .node-three{fill:var(--gold-soft);filter:drop-shadow(0 0 8px var(--gold))}
.node-label { position:absolute;color:rgba(206,216,238,.68);font-size:13px;transition:color .45s,text-shadow .45s; }.node-label small{display:block;margin-bottom:5px;color:rgba(210,175,111,.55);font:9px Georgia,serif}.label-one{left:50%;top:0;transform:translate(-50%,-20%);text-align:center}.label-two{right:-2%;bottom:22%}.label-three{left:-1%;bottom:22%;text-align:right}
.circular-visual[data-active="1"] .label-one,.circular-visual[data-active="2"] .label-two,.circular-visual[data-active="3"] .label-three{color:#fff8e9;text-shadow:0 0 14px rgba(225,195,139,.4)}
.visual-center { position:absolute;left:50%;top:50%;width:220px;transform:translate(-50%,-50%);text-align:center; }.visual-center strong{display:block;color:#fff7e7;font-family:var(--mystic-serif);font-size:38px;line-height:1.15;font-weight:500}.visual-center span{display:block;margin-top:15px;color:rgba(197,208,231,.56);font-size:12px;line-height:1.7}
.special-steps { padding-top:40px; }.special-step{min-height:62vh;display:flex;flex-direction:column;justify-content:center;padding:35px;border-left:1px solid rgba(203,216,244,.13);opacity:.36;transition:opacity .5s,border-color .5s}.special-step.is-active{opacity:1;border-color:rgba(222,188,126,.62)}.special-step small{color:var(--gold);font-size:9px;letter-spacing:.2em}.special-step h3{margin:15px 0 12px;color:#fff8e9;font-family:var(--mystic-serif);font-size:35px;font-weight:500}.special-step p{margin:0;color:rgba(202,213,236,.66);font-size:14px;line-height:1.7}
.special-conclusion { max-width:700px;margin:100px auto 0;text-align:center;color:rgba(207,217,238,.68);font-family:var(--mystic-serif);font-size:clamp(30px,3.5vw,50px);line-height:1.5; }.special-conclusion strong{color:#fff8e9;font-weight:500}

.testimonials-section { padding:clamp(120px,13vw,190px) 24px 150px;background:linear-gradient(180deg,#040b1d,#071229); }
.testimonial-list { max-width:1000px;margin:0 auto; }
.testimonial-item { min-height:78svh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border-top:1px solid rgba(201,214,242,.1); }
.testimonial-item blockquote { margin:32px 0;color:#fff8e9;font-family:var(--mystic-serif);font-size:clamp(36px,4.4vw,64px);line-height:1.45;letter-spacing:-.04em; }
.testimonial-item>p { color:rgba(218,195,153,.68);font-size:13px; }.dev-badge{padding:7px 10px;color:rgba(203,214,239,.5);border:1px dashed rgba(203,214,239,.2);font-size:9px;letter-spacing:.08em}
.testimonial-question { margin:80px auto 0;text-align:center;color:#fff8e9;font-family:var(--mystic-serif);font-size:clamp(34px,4vw,58px); }

.free-analysis-section { min-height:100svh;display:grid;place-items:center;padding:120px 24px;background:radial-gradient(circle at 50% 50%,rgba(131,101,61,.16),transparent 30%),linear-gradient(180deg,#071229,#030817); }
.free-analysis-copy { position:relative;z-index:2;max-width:760px;text-align:center; }.free-analysis-copy>p{color:var(--gold);font-size:10px;letter-spacing:.25em}.free-analysis-copy h2{margin:22px 0;color:#fff8e9;font-family:var(--mystic-serif);font-size:clamp(48px,6vw,84px);line-height:1.25;letter-spacing:-.055em;font-weight:550}.free-analysis-copy>span{display:block;color:rgba(204,215,238,.7);font-size:15px}.free-analysis-cta{width:min(100%,470px);min-height:64px;margin-top:42px;color:rgba(255,249,236,.56);border:1px solid rgba(217,181,117,.38);background:rgba(135,101,48,.12);box-shadow:0 0 38px rgba(219,179,104,.08);cursor:not-allowed;font-size:15px}.free-analysis-copy>small{display:block;margin-top:14px;color:rgba(201,211,232,.42);font-size:10px;letter-spacing:.05em}
.cta-stars { position:absolute;inset:0;pointer-events:none; }.cta-stars i{position:absolute;left:50%;top:50%;width:3px;height:3px;border-radius:50%;background:#fff;box-shadow:0 0 11px 2px #dce6ff;animation:cta-gather 12s ease-in-out infinite}.cta-stars i:nth-child(2){animation-delay:-3s}.cta-stars i:nth-child(3){animation-delay:-6s}.cta-stars i:nth-child(4){animation-delay:-9s}.cta-stars span{position:absolute;color:rgba(218,190,139,.28);font:25px Georgia,serif}.cta-stars span:nth-of-type(1){left:18%;top:32%}.cta-stars span:nth-of-type(2){right:22%;top:24%}.cta-stars span:nth-of-type(3){right:17%;bottom:24%}
.phase-note { min-height:100px;display:grid;place-items:center;color:rgba(202,212,234,.4);border-top:1px solid rgba(202,214,241,.1);background:#030817;font-size:11px;letter-spacing:.08em;text-align:center; }

@keyframes soft-orbit{to{transform:rotate(360deg)}}@keyframes icon-pulse{0%,100%{opacity:.25;transform:scale(.85)}50%{opacity:.75;transform:scale(1)}}@keyframes strength-light{0%,100%{opacity:.25}50%{opacity:1}}@keyframes cycle-dot{to{transform:rotate(360deg)}}@keyframes ring-turn{to{transform:rotate(360deg)}}@keyframes cta-gather{0%{opacity:0;transform:translate(calc(var(--dx, -38vw)),calc(var(--dy, -32vh))) scale(.6)}45%{opacity:.55}100%{opacity:0;transform:translate(0,0) scale(1.3)}}

@media(max-width:1024px){.desktop-nav{gap:14px;font-size:11px}.nav-todo{font-size:11px}.perspective-pair{gap:18px}.perspective-card{padding-inline:28px}.numerology-features{grid-template-columns:repeat(2,1fr)}.special-layout{grid-template-columns:1.1fr .9fr;gap:35px}.visual-center strong{font-size:30px}.orbit-pointer{transform:rotate(0) translateY(-165px)}.circular-visual[data-active="2"] .orbit-pointer{transform:rotate(120deg) translateY(-165px)}.circular-visual[data-active="3"] .orbit-pointer{transform:rotate(240deg) translateY(-165px)}}
@media(max-width:720px){.desktop-nav{display:none}.mobile-nav .nav-todo{padding:13px 12px;text-align:left}.hero-main-title{font-size:clamp(43px,13vw,58px);white-space:normal}.hero-message{font-size:clamp(20px,6.4vw,27px)}.perspective-pair{grid-template-columns:1fr;gap:18px}.pair-x{text-align:center}.perspective-card{min-height:370px}.choice-flow{gap:8px;font-size:12px;flex-wrap:wrap}.integration-result{padding:45px 20px}.numerology-features{grid-template-columns:1fr}.silicon-note{grid-template-columns:1fr;gap:30px;padding:35px 22px}.special-layout{display:block}.circular-visual{position:relative;top:auto;width:min(100%,440px);margin-bottom:60px}.special-steps{padding:0}.special-step{min-height:50vh}.node-label{font-size:10px}.label-two{right:0}.label-three{left:0}.visual-center{width:150px}.visual-center strong{font-size:25px}.visual-center span{font-size:9px}.orbit-pointer{transform:rotate(0) translateY(-36vw)}.circular-visual[data-active="2"] .orbit-pointer{transform:rotate(120deg) translateY(-36vw)}.circular-visual[data-active="3"] .orbit-pointer{transform:rotate(240deg) translateY(-36vw)}.testimonial-item{min-height:72svh}.testimonial-item blockquote{font-size:clamp(31px,9vw,46px)}.free-analysis-cta{width:100%}}
@media(prefers-reduced-motion:reduce){.perspective-orbit,.visual-ring.inner,.feature-icon::after,.strength-icon i,.cycle-icon::after,.cta-stars i{animation:none!important}.special-step{opacity:1}.orbit-pointer{display:none}}

/* F2 PATCH 04 — latest integrated landing adjustments */
.number-example { max-width:980px;margin:0 auto;padding:clamp(42px,5vw,68px) clamp(22px,5vw,70px);border:1px solid rgba(209,222,248,.14);background:radial-gradient(circle at 50% 70%,rgba(180,137,70,.14),transparent 38%),rgba(5,16,40,.55);box-shadow:0 30px 80px rgba(0,0,0,.18);text-align:center; }
.example-label { margin:0 0 18px;color:var(--gold);font-size:9px;letter-spacing:.24em; }
.example-title { margin:0;color:#fff8e9;font-family:var(--mystic-serif);font-size:clamp(30px,3.4vw,46px);line-height:1.35;font-weight:500;letter-spacing:-.04em; }
.example-description { margin:16px 0 36px;color:rgba(199,211,236,.68);font-size:14px;line-height:1.8; }
.calculation-flow { display:grid;justify-items:center;gap:11px; }
.calc-stage,.calc-arrow { opacity:0;transform:translateY(10px); }
.number-example.visible .calc-stage,.number-example.visible .calc-arrow { animation:calculation-step .62s cubic-bezier(.22,.7,.2,1) calc(var(--step) * .48s + .2s) forwards; }
.date-stage { display:flex;align-items:center;gap:12px;color:#fff8e9;font-family:var(--mystic-serif);font-size:clamp(30px,3.5vw,48px);letter-spacing:.02em; }
.date-stage i { color:rgba(218,182,116,.58);font-style:normal;font-weight:300; }
.calc-arrow { color:rgba(218,182,116,.48);font:300 20px/1 Georgia,serif; }
.pattern-caption,.integration-caption { margin:0;color:rgba(225,232,246,.78);font-family:var(--mystic-serif);font-size:clamp(16px,1.7vw,21px);line-height:1.5; }
.signal-map { position:relative;width:min(100%,760px);height:118px;display:grid;grid-template-columns:repeat(4,1fr);align-items:end;gap:18px; }
.signal-map svg { position:absolute;inset:0;width:100%;height:100%;overflow:visible; }
.signal-map path { fill:none;stroke:rgba(218,185,126,.42);stroke-width:1;stroke-dasharray:1;stroke-dashoffset:1;filter:drop-shadow(0 0 4px rgba(222,188,128,.22)); }
.number-example.visible .signal-map path { animation:signal-line 1.05s ease 1.45s forwards; }
.signal-map span { position:relative;z-index:1;display:grid;place-items:center;min-height:42px;color:rgba(235,238,247,.78);border:1px solid rgba(207,220,245,.18);border-radius:999px;background:rgba(8,20,48,.82);box-shadow:0 0 0 rgba(220,184,117,0);font:400 clamp(10px,1.2vw,13px)/1 Georgia,serif;letter-spacing:.08em;opacity:0; }
.number-example.visible .signal-map span { animation:signal-node .55s ease calc(1.78s + var(--node) * .12s) forwards; }
.convergence { position:relative;width:min(82%,620px);height:62px; }
.convergence i { position:absolute;top:4px;width:25%;height:1px;background:linear-gradient(90deg,transparent,rgba(222,190,132,.58));transform-origin:right;opacity:.65; }
.convergence i:nth-child(1){left:0;transform:rotate(12deg)}.convergence i:nth-child(2){left:25%;transform:rotate(5deg)}.convergence i:nth-child(3){right:25%;transform:rotate(-5deg) scaleX(-1)}.convergence i:nth-child(4){right:0;transform:rotate(-12deg) scaleX(-1)}
.convergence span { position:absolute;left:50%;bottom:2px;width:8px;height:8px;border-radius:50%;background:var(--gold-soft);box-shadow:0 0 0 rgba(222,188,126,0);transform:translateX(-50%); }
.number-example.visible .convergence span { animation:convergence-glow .7s ease 2.7s forwards; }
.result-stage { min-width:210px;display:flex;align-items:center;justify-content:center;gap:18px;padding:12px 28px;border-top:1px solid rgba(222,187,124,.28);border-bottom:1px solid rgba(222,187,124,.28); }
.result-stage span { color:rgba(222,229,244,.65);font-size:13px;letter-spacing:.08em; }
.result-stage strong { color:#fff3d7;font:400 clamp(64px,7vw,96px)/1 Georgia,serif;text-shadow:0 0 28px rgba(220,178,104,.42); }
.number-keywords,.number-question { opacity:0;transform:translateY(8px); }
.number-example.visible .number-keywords { animation:calculation-step .7s ease 4.05s forwards; }
.number-example.visible .number-question { animation:calculation-step .7s ease 4.45s forwards; }
.number-keywords { margin:32px 0 0;color:#fff8e9;font-family:var(--mystic-serif);font-size:clamp(19px,2.2vw,28px); }.number-keywords i{margin:0 .35em;color:var(--gold);font-style:normal}
.number-question { margin:16px 0 0;color:rgba(199,211,236,.63);font-size:14px; }
.number-context { max-width:650px;margin:38px auto 0;padding-top:28px;border-top:1px solid rgba(207,219,243,.1);color:rgba(197,209,233,.58);font-size:13px;line-height:1.75; }
.number-context strong { color:rgba(246,238,222,.82);font-family:var(--mystic-serif);font-size:17px;font-weight:500; }
.number-context p { margin:12px 0 0; }

.special-layout { max-width:760px;display:block; }
.circular-visual { position:relative;top:auto;width:min(70vw,650px); }
.special-active-copy { min-height:0;margin:0;padding:0;border:0;background:transparent;text-align:center; }
.special-active-copy small { color:var(--gold);font:9px Georgia,serif;letter-spacing:.18em; }
.special-active-copy h3 { margin:12px 0 9px;color:#fff8e9;font-family:var(--mystic-serif);font-size:clamp(26px,2.5vw,36px);line-height:1.2;font-weight:500; }
.special-active-copy p { max-width:210px;margin:0 auto;color:rgba(202,213,237,.72);font-size:13px;line-height:1.65; }
.special-static-list { display:none; }
.special-conclusion { margin-top:42px; }
.special-conclusion span { display:block;color:rgba(207,217,238,.2);text-shadow:none;transition:none; }
.special-conclusion.visible span { animation:conclusion-light .58s ease calc(var(--line) * .62s + .15s) forwards; }

.testimonials-section { padding:clamp(95px,9vw,135px) 24px 75px; }
.testimonials-section .section-heading { max-width:1120px;margin-bottom:34px; }
.testimonials-section .section-heading h2 { font-size:clamp(34px,3.5vw,50px);white-space:nowrap; }
.testimonial-item { min-height:50svh; }
.testimonial-item blockquote { margin:25px 0;font-size:clamp(31px,3.4vw,48px); }

@keyframes calculation-step { to{opacity:1;transform:translateY(0)} }
@keyframes signal-line { to{stroke-dashoffset:0} }
@keyframes signal-node { to{opacity:1;box-shadow:0 0 18px rgba(220,184,117,.14)} }
@keyframes convergence-glow { to{box-shadow:0 0 22px 5px rgba(222,188,126,.35)} }
@keyframes conclusion-light { to{color:#fff8e9;opacity:1;text-shadow:0 0 17px rgba(224,187,119,.3)} }

@media(max-width:720px){
  .number-example{padding:40px 18px}.date-stage{gap:8px}.signal-map{gap:6px;height:104px}.signal-map span{min-height:38px;font-size:9px;letter-spacing:.02em}.convergence{width:92%;height:54px}.result-stage{min-width:180px}.number-keywords{line-height:1.7}.number-question{max-width:230px;margin-inline:auto;line-height:1.7}.number-context br{display:none}
  .circular-visual{width:min(92vw,440px);margin-bottom:0}.special-conclusion{margin-top:34px;font-size:clamp(28px,8.5vw,39px)}
  .testimonials-section .section-heading h2{font-size:clamp(31px,9vw,40px);white-space:normal}.testimonial-item{min-height:48svh}.testimonial-item blockquote{font-size:clamp(28px,8vw,40px)}
}

@media(prefers-reduced-motion:reduce){
  .calc-stage,.calc-arrow,.number-keywords,.number-question,.special-conclusion span,.signal-map span{opacity:1;transform:none;animation:none!important}
  .signal-map path{stroke-dashoffset:0;animation:none!important}.convergence span{box-shadow:0 0 22px 5px rgba(222,188,126,.25);animation:none!important}
  .special-static-list{display:none}
}

/* Desktop 900+ must remain a single horizontal comparison row. */
@media(min-width:900px){
  .perspective-pair{display:grid;grid-template-columns:minmax(0,1fr) 72px minmax(0,1fr);align-items:stretch}
  .perspective-card{min-width:0;height:100%}
  .pair-x{width:72px;display:grid;place-items:center;align-self:stretch}
}

.silicon-note{position:relative;isolation:isolate;overflow:hidden;background:rgba(4,13,34,.78)}
.silicon-note::before{content:"";position:absolute;z-index:0;inset:-3px;background:url("./assets/silicon-valley-tech-district-many-buildings.png") center 56%/cover no-repeat;filter:blur(1px) saturate(.7) contrast(.82);opacity:.78;transform:scale(1.015)}
.silicon-note::after{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,rgba(3,10,27,.68),rgba(5,15,36,.6) 48%,rgba(3,10,27,.68))}
.silicon-note>*{position:relative;z-index:2}

.celestial-map-bg{position:absolute;z-index:0;inset:0;overflow:hidden;pointer-events:none;background:radial-gradient(circle at 50% 42%,rgba(124,102,158,.11),transparent 34%);opacity:.9}
.celestial-map-bg::after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(180deg,transparent,rgba(4,11,29,.62) 75%)}
.celestial-map-bg svg{position:absolute;left:50%;top:calc(44% + var(--map-y,0px));width:max(125vw,1500px);height:auto;transform:translate(-50%,-50%);overflow:visible}
.map-orbits circle,.map-orbits ellipse,.map-orbits path,.constellation-lines path{fill:none;stroke:rgba(199,213,241,.14);stroke-width:1}
.map-orbits ellipse{stroke:rgba(222,190,131,.13);stroke-dasharray:5 13}.orbit-set-two path{stroke:rgba(182,164,218,.12)}
.constellation-lines path{stroke:rgba(202,216,243,.11);stroke-dasharray:2 7}
.map-stars circle{fill:rgba(235,220,188,.3);filter:drop-shadow(0 0 5px rgba(229,199,144,.24));animation:map-node-pulse 5.5s ease-in-out infinite}.map-stars circle:nth-child(3n+2){animation-delay:-1.8s}.map-stars circle:nth-child(3n){animation-delay:-3.4s}
.orbit-set-one{transform-box:fill-box;transform-origin:center;animation:celestial-drift-one 90s ease-in-out infinite alternate}
.orbit-set-two,.constellation-lines{transform-box:fill-box;transform-origin:center;animation:celestial-drift-two 110s ease-in-out infinite alternate}
.special-section>.section-heading,.special-section>.special-layout,.special-section>.special-conclusion{position:relative;z-index:1}

@keyframes celestial-drift-one{from{transform:rotate(-1.3deg) translate3d(-4px,2px,0)}to{transform:rotate(1.8deg) translate3d(7px,-3px,0)}}
@keyframes celestial-drift-two{from{transform:rotate(1deg) translate3d(5px,-2px,0)}to{transform:rotate(-1.5deg) translate3d(-6px,4px,0)}}
@keyframes map-node-pulse{0%,100%{opacity:.5}50%{opacity:1}}

@media(max-width:720px){
  .silicon-note::before{background-position:center 58%;opacity:.72}.silicon-note::after{background:rgba(3,10,27,.64)}
  .celestial-map-bg svg{top:40%;width:220vw}.celestial-map-bg{opacity:.72}
}

@media(prefers-reduced-motion:reduce){
  .orbit-set-one,.orbit-set-two,.constellation-lines,.map-stars circle{animation:none!important;transform:none}
}
