:root{
  --bg:#060d18;
  --bg2:#08111f;
  --teal:#22D3EE;
  --ice:#d8eaf0;
  --muted:rgba(180,210,220,.45);
  --dim:rgba(120,160,180,.3);
  --line:rgba(34,211,238,.12);
}

*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;scrollbar-gutter:stable;}
body{
  background:var(--bg);
  color:var(--ice);
  font-family:'Rajdhani',sans-serif;
  overflow-x:hidden;
  cursor:none;
}
body.menu-open{overflow:hidden;touch-action:none;}
body.socionics-home-page{
  --bg:#020407;
  --bg2:#050914;
  --muted:rgba(220,235,242,.72);
  --dim:rgba(155,178,194,.48);
  --line:rgba(148,185,204,.15);
  --quadra-alpha:#22D3EE;
  --quadra-beta:#A78BFA;
  --quadra-gamma:#FBBF24;
  --quadra-delta:#34D399;
  --quadra-alpha-rgb:34,211,238;
  --quadra-beta-rgb:167,139,250;
  --quadra-gamma-rgb:251,191,36;
  --quadra-delta-rgb:52,211,153;
  --quadra-alpha-sigil:#08A6C5;
  --quadra-beta-sigil:#8B5CF6;
  --quadra-gamma-sigil:#E99A10;
  --quadra-delta-sigil:#12AA7C;
  --quadra-alpha-sigil-rgb:8,166,197;
  --quadra-beta-sigil-rgb:139,92,246;
  --quadra-gamma-sigil-rgb:233,154,16;
  --quadra-delta-sigil-rgb:18,170,124;
  background:
    radial-gradient(ellipse 72% 44% at 54% -12%,rgba(126,112,255,.16),transparent 72%),
    radial-gradient(ellipse 42% 34% at 86% 18%,rgba(192,132,252,.075),transparent 68%),
    radial-gradient(ellipse 36% 30% at 12% 22%,rgba(34,211,238,.055),transparent 70%),
    radial-gradient(ellipse 64% 34% at 50% 112%,rgba(66,44,122,.12),transparent 74%),
    #020407;
}

a,button,input,select,textarea{font:inherit;}
button{color:inherit;}

#cur{
  position:fixed;
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--teal);
  pointer-events:none;
  z-index:9999;
  transform:translate(-50%,-50%);
  box-shadow:0 0 10px var(--teal);
  transition:width .15s,height .15s,opacity .2s;
}
#cur-ring{
  position:fixed;
  width:30px;
  height:30px;
  border:1px solid rgba(34,211,238,.32);
  border-radius:50%;
  pointer-events:none;
  z-index:9998;
  transform:translate(-50%,-50%);
  box-shadow:0 0 18px rgba(34,211,238,.08);
  transition:width .18s,height .18s,border-color .18s,opacity .2s;
}
#bg-canvas,#shoot-canvas{
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
}
#shoot-canvas{z-index:1;}
.bg-glow{
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(ellipse 80% 46% at 52% -12%,rgba(126,112,255,.14),transparent 72%),
    radial-gradient(ellipse 42% 34% at 84% 18%,rgba(192,132,252,.075),transparent 68%),
    radial-gradient(ellipse 38% 32% at 12% 22%,rgba(34,211,238,.055),transparent 70%),
    radial-gradient(ellipse 68% 34% at 50% 110%,rgba(66,44,122,.1),transparent 74%);
  opacity:.9;
}
body.socionics-home-page #bg-canvas{opacity:.72;}
body.socionics-home-page #shoot-canvas{opacity:.74;}

nav{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:200;
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:1.2rem clamp(1.5rem,3vw,3rem);
  background:rgba(6,13,24,.85);
  backdrop-filter:blur(20px);
  border-bottom:1px solid var(--line);
}
.nav-logo{display:flex;align-items:center;gap:.85rem;text-decoration:none;cursor:none;}
.logo-hex{width:28px;height:28px;flex-shrink:0;}
.logo-hex svg{width:100%;height:100%;display:block;}
.nav-logo-text{
  font-family:'Share Tech Mono',monospace;
  font-size:.65rem;
  letter-spacing:.28em;
  color:var(--ice);
  line-height:1.48;
  display:flex;
  flex-direction:column;
}
.nav-logo-system{
  font-size:.46rem;
  letter-spacing:.34em;
  color:rgba(34,211,238,.52);
  margin-top:.18rem;
  line-height:1.2;
}
.nav-right{display:flex;align-items:center;gap:clamp(.7rem,1.4vw,1.5rem);}
.desktop-nav{display:flex;align-items:center;gap:.45rem;margin-left:auto;}
.nav-link,.nav-drop-btn{
  font-family:'Share Tech Mono',monospace;
  font-size:.58rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(180,210,220,.55);
  text-decoration:none;
  background:transparent;
  border:0;
  padding:.75rem .8rem;
  cursor:none;
  transition:color .25s;
}
.nav-link:hover,.nav-drop:hover .nav-drop-btn{color:var(--teal);}
.nav-link-support{color:rgba(251,191,36,.72);}
.nav-drop{position:relative;}
.nav-drop-menu{
  position:absolute;
  top:100%;
  left:50%;
  transform:translateX(-50%) translateY(12px);
  width:260px;
  border:1px solid var(--line);
  background:rgba(6,13,24,.96);
  backdrop-filter:blur(22px);
  opacity:0;
  pointer-events:none;
  transition:opacity .25s,transform .25s;
  padding:.55rem;
  box-shadow:0 18px 60px rgba(0,0,0,.25),0 0 30px rgba(34,211,238,.06);
}
.nav-drop:hover .nav-drop-menu,
.nav-drop:focus-within .nav-drop-menu{
  opacity:1;
  pointer-events:all;
  transform:translateX(-50%) translateY(0);
}
.nav-drop-item{
  display:block;
  padding:.85rem .9rem;
  border:1px solid transparent;
  text-decoration:none;
  color:var(--ice);
  cursor:none;
  transition:background .25s,border-color .25s;
}
.nav-drop-item:hover{background:rgba(34,211,238,.06);border-color:rgba(34,211,238,.18);}
.nav-drop-title{
  display:block;
  font-family:'Share Tech Mono',monospace;
  font-size:.58rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(220,240,245,.72);
  margin-bottom:.25rem;
}
.nav-drop-desc{
  display:block;
  font-size:.76rem;
  letter-spacing:.02em;
  line-height:1.45;
  color:rgba(180,210,220,.38);
}
.nav-cta{
  font-family:'Share Tech Mono',monospace;
  font-size:.68rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  padding:.75rem clamp(1.05rem,1.6vw,1.8rem);
  border:1px solid rgba(34,211,238,.35);
  color:var(--ice);
  text-decoration:none;
  cursor:none;
  background:transparent;
  transition:background .3s,border-color .3s,box-shadow .3s;
}
.nav-cta:hover{background:rgba(34,211,238,.07);border-color:var(--teal);box-shadow:0 0 20px rgba(34,211,238,.15);}
.nav-burger{
  display:none;
  width:44px;
  height:44px;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
  background:none;
  border:none;
  cursor:none;
  padding:0;
  flex-shrink:0;
}
.nav-burger span{
  display:block;
  width:22px;
  height:1px;
  background:var(--ice);
  transition:transform .35s ease,opacity .25s ease,background-color .25s ease;
  transform-origin:center;
}
.nav-burger.open span:nth-child(1){transform:translateY(6px) rotate(45deg);}
.nav-burger.open span:nth-child(2){opacity:0;transform:scaleX(0);}
.nav-burger.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}
.mob-menu{
  position:fixed;
  inset:0;
  width:100vw;
  height:100dvh;
  z-index:190;
  background:rgba(6,13,24,.97);
  backdrop-filter:blur(24px);
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  align-items:center;
  gap:1.35rem;
  padding-top:6.7rem;
  opacity:0;
  pointer-events:none;
  overflow-y:auto;
  transition:opacity .4s ease;
  overscroll-behavior:contain;
}
.mob-menu.open{opacity:1;pointer-events:all;}
.mob-menu a{
  font-family:'Share Tech Mono',monospace;
  font-size:.85rem;
  letter-spacing:.35em;
  text-transform:uppercase;
  color:rgba(180,210,220,.5);
  text-decoration:none;
  cursor:none;
  transition:color .3s;
  padding:.8rem 2rem;
  border:1px solid transparent;
  text-align:center;
}
.mob-menu a:hover{color:var(--teal);}
.mob-menu a.mob-primary{
  color:var(--ice);
  border-color:rgba(34,211,238,.35);
  background:rgba(34,211,238,.06);
}
.mob-menu-group{display:flex;flex-direction:column;align-items:center;gap:1.35rem;width:100%;}
.mob-divider{width:40px;height:1px;background:var(--line);}
.mob-search-wrap{
  width:min(520px,82vw);
  border:1px solid rgba(34,211,238,.25);
  background:rgba(8,17,31,.72);
  padding:.75rem 1rem;
  margin-bottom:.55rem;
  box-shadow:0 0 24px rgba(34,211,238,.08);
}
.mob-search-input{
  width:100%;
  background:transparent;
  border:none;
  outline:none;
  color:var(--ice);
  font-family:'Share Tech Mono',monospace;
  font-size:.7rem;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.mob-search-input::placeholder{color:rgba(180,210,220,.35);}

.search-overlay{
  position:fixed;
  inset:0;
  z-index:260;
  background:rgba(6,13,24,.96);
  backdrop-filter:blur(22px);
  display:none;
  align-items:flex-start;
  justify-content:center;
  padding:7rem 1.5rem 2rem;
}
.search-overlay.open{display:flex;}
.search-panel{
  width:min(760px,100%);
  border:1px solid var(--line);
  background:rgba(8,17,31,.92);
  box-shadow:0 0 50px rgba(34,211,238,.08);
  position:relative;
}
.search-close{
  position:absolute;
  right:1rem;
  top:1rem;
  background:none;
  border:none;
  color:rgba(180,210,220,.5);
  font-size:1.4rem;
  cursor:pointer;
}
.search-head{padding:2rem 2rem 1rem;border-bottom:1px solid var(--line);}
.search-label{
  font-family:'Share Tech Mono',monospace;
  font-size:.55rem;
  letter-spacing:.35em;
  text-transform:uppercase;
  color:rgba(34,211,238,.5);
  margin-bottom:.8rem;
}
.search-input{
  width:100%;
  background:rgba(6,13,24,.6);
  border:1px solid rgba(34,211,238,.18);
  color:var(--ice);
  padding:1rem 1.1rem;
  font-family:'Share Tech Mono',monospace;
  font-size:.7rem;
  letter-spacing:.12em;
  outline:none;
  text-transform:uppercase;
}
.search-results{max-height:55vh;overflow:auto;padding:.8rem;}
.search-result{
  display:block;
  width:100%;
  text-align:left;
  text-decoration:none;
  border:1px solid rgba(34,211,238,.08);
  background:rgba(6,13,24,.45);
  padding:1rem 1.1rem;
  margin-bottom:.55rem;
  cursor:pointer;
}

#main-view,#type-page,#func-page,#quadra-page,#compare-page,#quiz-page,#theory-page{
  position:relative;
  z-index:10;
}
#type-page,#func-page,#quadra-page,#compare-page,#quiz-page,#theory-page{display:none;}
#quadra-page,#type-page,#func-page,#compare-page,#quiz-page,#theory-page{
  min-height:100vh;
  padding-top:5rem;
  background:var(--bg);
}
html.socionics-initial-subroute:not(.socionics-route-resolved) body.socionics-home-page #main-view,
html.socionics-subroute-pending body.socionics-home-page #main-view{
  display:none!important;
}
html.socionics-initial-type:not(.socionics-route-resolved) body.socionics-home-page #type-page,
html.socionics-initial-function:not(.socionics-route-resolved) body.socionics-home-page #func-page,
html.socionics-initial-quadra:not(.socionics-route-resolved) body.socionics-home-page #quadra-page,
html.socionics-initial-compare:not(.socionics-route-resolved) body.socionics-home-page #compare-page,
body.socionics-pending-type #type-page,
body.socionics-pending-function #func-page,
body.socionics-pending-quadra #quadra-page,
body.socionics-pending-compare #compare-page{
  display:block!important;
}
.socionics-route-loading{
  min-height:calc(100vh - 9rem);
  display:grid;
  place-items:center;
  padding:5rem 1.5rem;
  color:rgba(220,240,245,.7);
  font-family:'Share Tech Mono',monospace;
  font-size:.62rem;
  letter-spacing:.22em;
  text-transform:uppercase;
}
.socionics-route-loading::before{
  content:'';
  width:38px;
  height:38px;
  margin:0 auto 1.1rem;
  border:1px solid rgba(34,211,238,.38);
  border-top-color:rgba(34,211,238,.9);
  border-radius:50%;
  display:block;
  animation:routeLoadingSpin .9s linear infinite;
}
@keyframes routeLoadingSpin{to{transform:rotate(360deg);}}

.hero{
  height:100vh;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
  padding:0 2rem;
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
.hero::before,.hero::after{content:none;}
.hero > *{position:relative;z-index:1;}
.hero-eyebrow{
  font-family:'Share Tech Mono',monospace;
  font-size:.62rem;
  letter-spacing:.38em;
  text-transform:uppercase;
  color:var(--teal);
  margin-bottom:1.8rem;
  display:flex;
  align-items:center;
  gap:1.2rem;
  opacity:0;
  animation:fadeUp .72s ease .12s forwards;
}
.eyebrow-line{width:36px;height:1px;background:linear-gradient(to right,transparent,var(--teal));}
.eyebrow-line.r{background:linear-gradient(to left,transparent,var(--teal));}
.hero h1{
  font-family:'Cormorant Garamond',serif;
  font-weight:700;
  font-size:clamp(4rem,11vw,9rem);
  line-height:.88;
  text-transform:uppercase;
  letter-spacing:.02em;
  opacity:1;
}
.hero h1 .l1,.hero h1 .l2{display:block;position:relative;opacity:1;}
.hero h1 .l1{color:var(--ice);text-shadow:0 0 60px rgba(200,230,240,.12);}
.hero h1 .l2{color:var(--teal);text-shadow:0 0 40px rgba(34,211,238,.4);}
.hero h1 .l1::after,.hero h1 .l2::after{
  content:attr(data-text);
  position:absolute;
  inset:0;
  background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.42) 50%,transparent 70%);
  background-size:240% 100%;
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  opacity:0;
  pointer-events:none;
  animation:heroTitleSheen 4.6s ease-in-out 1.1s infinite;
}
.hero h1 .l1::after{content:'PERSONA';}
.hero h1 .l2::after{content:'TYPES';animation-delay:1.28s;}
.hero-sub{
  margin-top:1.6rem;
  max-width:min(900px,92vw);
  font-size:clamp(1.02rem,1.24vw,1.16rem);
  font-weight:400;
  color:rgba(200,220,230,.58);
  line-height:1.82;
  opacity:0;
  animation:fadeUp .9s ease 1.12s forwards;
  text-wrap:pretty;
}
.hero-sub strong{color:var(--teal);font-weight:600;}
.hero-btns{
  margin-top:2.8rem;
  display:flex;
  gap:1rem;
  align-items:center;
  opacity:0;
  animation:fadeUp .9s ease 1.3s forwards;
  flex-wrap:wrap;
  justify-content:center;
}
.hero-btn-primary,.hero-btn-secondary{
  font-family:'Share Tech Mono',monospace;
  font-size:.68rem;
  letter-spacing:.25em;
  text-transform:uppercase;
  padding:1rem 2.4rem;
  text-decoration:none;
  cursor:none;
  transition:all .3s;
}
.hero-btn-primary{
  border:1px solid rgba(34,211,238,.4);
  color:var(--ice);
  background:rgba(34,211,238,.08);
  position:relative;
  overflow:hidden;
}
.hero-btn-primary::before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,transparent,rgba(34,211,238,.07),transparent);
  transform:translateX(-100%);
  transition:transform .6s ease;
}
.hero-btn-primary:hover::before{transform:translateX(100%);}
.hero-btn-primary:hover{border-color:var(--teal);background:rgba(34,211,238,.14);box-shadow:0 0 28px rgba(34,211,238,.2);}
.hero-btn-secondary{
  border:1px solid rgba(120,160,180,.2);
  color:rgba(180,210,220,.55);
  background:transparent;
}
.hero-btn-secondary:hover{border-color:rgba(120,160,180,.4);color:var(--ice);}
.scroll-ind{
  position:absolute;
  bottom:2.5rem;
  left:0;
  right:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:.5rem;
  opacity:0;
  animation:fadeUp .8s ease 1.6s forwards;
}
.scroll-ind span{
  font-family:'Share Tech Mono',monospace;
  font-size:.55rem;
  letter-spacing:.4em;
  text-transform:uppercase;
  color:rgba(34,211,238,.35);
}
.scroll-chev{color:rgba(34,211,238,.35);font-size:.8rem;animation:cb 2s ease-in-out infinite;}

.sec{padding:7rem 3rem;}
.sec-inner{max-width:1200px;margin:0 auto;}
.sec-label{display:flex;align-items:center;gap:1.2rem;margin-bottom:1.5rem;}
.sec-label span{
  font-family:'Share Tech Mono',monospace;
  font-size:.58rem;
  letter-spacing:.4em;
  text-transform:uppercase;
  color:var(--teal);
}
.sec-label-line{width:36px;height:1px;background:linear-gradient(to right,var(--teal),transparent);}
.sec-heading{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(2.2rem,5vw,4rem);
  font-weight:700;
  line-height:1.1;
  margin-bottom:1.8rem;
}
.sec-heading .accent{color:var(--teal);}
.sec-body{
  font-size:1.1rem;
  font-weight:400;
  color:var(--muted);
  line-height:1.9;
  max-width:580px;
  margin-bottom:2.5rem;
}
.sec-body strong{color:var(--ice);font-weight:600;}
.quadra-intro{
  max-width:760px;
  margin:1.15rem 0 2.7rem;
  color:rgba(185,210,220,.58);
  font-size:1.08rem;
  line-height:1.9;
}
.quadra-intro strong{color:var(--ice);font-weight:600;}
.foundation-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.5rem;}
.foundation-theory-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:1rem 1.35rem;
  border:1px solid rgba(34,211,238,.34);
  background:rgba(34,211,238,.06);
  font-family:'Share Tech Mono',monospace;
  font-size:.58rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:rgba(235,248,252,.78);
  cursor:none;
  text-decoration:none;
}
.foundation-theory-btn.secondary{
  border-color:rgba(180,210,220,.18);
  background:rgba(180,210,220,.025);
  color:rgba(220,236,242,.62);
}
.method-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start;}
.mini-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
.mini-card{
  background:var(--bg2);
  padding:2.2rem 2rem;
  position:relative;
  overflow:hidden;
  cursor:none;
  text-decoration:none;
  color:inherit;
}
.mini-title{
  font-family:'Cormorant Garamond',serif;
  font-size:1.3rem;
  font-weight:600;
  font-style:italic;
  color:var(--ice);
  margin-bottom:.5rem;
}
.mini-desc{
  font-family:'Share Tech Mono',monospace;
  font-size:.62rem;
  letter-spacing:.06em;
  color:rgba(120,160,180,.5);
  line-height:1.7;
}
.method-map{
  --method-grid-line:rgba(34,211,238,.16);
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:1px!important;
  border:1px solid var(--method-grid-line)!important;
  background:var(--method-grid-line)!important;
  overflow:hidden!important;
  box-shadow:0 26px 72px rgba(0,0,0,.28),0 0 48px rgba(34,211,238,.045);
}
body.socionics-home-page #main-view .method-map .method-map-item{
  --method-color:#22D3EE;
  --method-rgb:34,211,238;
  display:block!important;
  min-height:clamp(190px,18vw,240px);
  padding:clamp(1.55rem,2.6vw,2.35rem)!important;
  border:0!important;
  border-radius:0!important;
  color:inherit;
  text-decoration:none;
  transform:none!important;
  box-shadow:none!important;
  background:
    radial-gradient(circle at 88% 10%,rgba(var(--method-rgb),.09),transparent 36%),
    linear-gradient(155deg,rgba(5,12,22,.82),rgba(8,17,31,.52) 54%,rgba(3,6,12,.74))!important;
}
body.socionics-home-page #main-view .method-map .method-map-item:nth-child(2){
  --method-color:#C084FC;
  --method-rgb:192,132,252;
}
body.socionics-home-page #main-view .method-map .method-map-item:nth-child(3){
  --method-color:#34D399;
  --method-rgb:52,211,153;
}
body.socionics-home-page #main-view .method-map .method-map-item:nth-child(4){
  --method-color:#FB7185;
  --method-rgb:251,113,133;
}
body.socionics-home-page #main-view .method-map .method-map-item::before{
  content:'';
  position:absolute;
  inset:0 auto 0 0;
  width:1px;
  height:auto;
  background:linear-gradient(to bottom,transparent,rgba(var(--method-rgb),.64),transparent)!important;
  opacity:.68;
  transform:none!important;
  box-shadow:0 0 18px rgba(var(--method-rgb),.16);
}
body.socionics-home-page #main-view .method-map .method-map-item::after{
  border-radius:0!important;
}
body.socionics-home-page #main-view .method-map .method-map-item:hover{
  background:
    radial-gradient(circle at 88% 10%,rgba(var(--method-rgb),.14),transparent 38%),
    linear-gradient(155deg,rgba(7,15,27,.92),rgba(9,20,36,.64) 54%,rgba(4,8,15,.86))!important;
  box-shadow:inset 0 0 0 1px rgba(var(--method-rgb),.16)!important;
}
body.socionics-home-page #main-view .method-map-node{
  display:inline;
  width:auto;
  height:auto;
  margin-right:.45rem;
  border:0;
  background:none;
  color:rgba(214,231,238,.74);
  font-family:'Share Tech Mono',monospace;
  font-size:.82rem;
  letter-spacing:.06em;
  box-shadow:none;
}
body.socionics-home-page #main-view .method-map-copy{
  display:inline;
}
body.socionics-home-page #main-view .method-map .mini-title{
  display:inline;
  margin:0;
  color:rgba(248,252,253,.96);
  font-size:clamp(1.34rem,1.9vw,1.72rem);
  line-height:1;
  letter-spacing:0!important;
  text-shadow:0 0 18px rgba(var(--method-rgb),.13);
}
body.socionics-home-page #main-view .method-map .mini-desc{
  display:block;
  margin-top:.72rem;
  max-width:20rem;
  color:rgba(214,231,238,.62)!important;
  font-size:clamp(.75rem,.92vw,.95rem)!important;
  line-height:1.9!important;
  letter-spacing:.22em;
}
body.socionics-home-page #main-view .method-map-arrow{
  display:inline-block;
  margin-left:.35rem;
  color:rgba(var(--method-rgb),.74);
  font-family:'Share Tech Mono',monospace;
  font-size:1rem;
  text-shadow:0 0 14px rgba(var(--method-rgb),.18);
  transform:none!important;
}
@media(max-width:760px){
  .method-map{
    grid-template-columns:1fr!important;
  }
  body.socionics-home-page #main-view .method-map .method-map-item{
    min-height:175px;
  }
}
.feat-list{list-style:none;display:flex;flex-direction:column;gap:.9rem;}
.feat-list li{
  display:flex;
  align-items:center;
  gap:.9rem;
  font-family:'Share Tech Mono',monospace;
  font-size:.72rem;
  letter-spacing:.08em;
  color:rgba(180,210,220,.6);
}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .8s ease,transform .8s ease;}
.reveal.vis{opacity:1;transform:none;}

body.socionics-home-page #main-view > section:not(.hero){
  contain:layout style;
}

@supports (content-visibility:auto){
  body.socionics-home-page.home-cv-enabled:not(.home-cv-scrolled) #main-view > section.home-cv-deferred:not(.home-cv-active):not(.home-cv-hash):not(:target){
    content-visibility:auto;
    contain-intrinsic-size:1px var(--home-cv-size,900px);
  }
}

body.home-effects-paused #bg-canvas,
body.home-effects-paused #shoot-canvas{
  opacity:0!important;
}

body.home-effects-paused :is(.home-quadra-card__sigil-spin,.home-quadra-card__sigil-spin-reverse,.home-quadra-card__sigil-pulse){
  animation-play-state:paused!important;
}

#loader{
  position:fixed;
  inset:0;
  z-index:10000;
  background:linear-gradient(180deg,#081426 0%,#060d18 58%,#040914 100%);
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:1rem;
  transition:opacity .32s ease;
  overflow:hidden;
}
#loader::before,#loader::after{content:none;}
#loader.hidden{pointer-events:none;}
.loader-wordmark{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(3.1rem,8.6vw,5.8rem);
  line-height:.9;
  letter-spacing:0;
  text-transform:none;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:.78rem;
  position:relative;
  z-index:1;
  text-align:center;
  animation:wmarkReveal .9s ease .12s both;
}
.loader-wordmark::before{
  content:"";
  position:absolute;
  left:50%;
  top:46%;
  width:min(82vw,760px);
  height:220px;
  transform:translate(-50%,-50%);
  background:radial-gradient(ellipse at center,rgba(255,255,255,.14) 0%,rgba(185,252,255,.1) 34%,rgba(34,211,238,.045) 55%,transparent 72%);
  filter:blur(18px);
  opacity:.85;
  z-index:-1;
  pointer-events:none;
}
.loader-wordmark span{
  display:block;
  color:transparent;
  background:linear-gradient(116deg,rgba(230,244,250,.88) 0%,rgba(255,255,255,.96) 28%,rgba(255,249,218,.98) 39%,#fff 45%,rgba(185,252,255,1) 50%,#fff 56%,rgba(255,255,255,.94) 66%,rgba(226,242,248,.86) 100%);
  background-size:430% 100%;
  -webkit-background-clip:text;
  background-clip:text;
  text-shadow:0 0 26px rgba(255,255,255,.12);
  filter:drop-shadow(0 0 18px rgba(255,255,255,.12)) drop-shadow(0 0 34px rgba(34,211,238,.16));
  animation:loaderDiagonalShine 4.4s cubic-bezier(.45,0,.2,1) infinite;
}
.loader-wordmark small{
  display:block;
  font-family:'Share Tech Mono',monospace;
  font-size:clamp(.54rem,1.1vw,.68rem);
  letter-spacing:.28em;
  text-transform:uppercase;
  color:rgba(34,211,238,0);
  line-height:1.4;
}
.loader-wordmark.typing small{animation:wmarkSubReveal .85s ease .45s forwards;}
#scan-wipe{
  position:fixed;
  top:0;
  left:0;
  right:0;
  height:3px;
  background:linear-gradient(to right,transparent,var(--teal),rgba(34,211,238,.3));
  z-index:9000;
  pointer-events:none;
  transform:translateY(-4px);
  opacity:0;
  box-shadow:0 0 20px rgba(34,211,238,.5),0 0 60px rgba(34,211,238,.15);
}
#scan-overlay{position:fixed;inset:0;background:transparent;z-index:8999;pointer-events:none;}

@keyframes fadeUp{from{opacity:0;transform:translateY(24px);}to{opacity:1;transform:none;}}
@keyframes heroTitleSheen{0%,68%{opacity:0;background-position:220% 0;}76%{opacity:.82;}90%,100%{opacity:0;background-position:-120% 0;}}
@keyframes cb{0%,100%{transform:translateY(0);opacity:.35;}50%{transform:translateY(5px);opacity:.8;}}
@keyframes wmarkReveal{from{opacity:0;transform:translateY(5px);}to{opacity:1;transform:translateY(0);}}
@keyframes wmarkSubReveal{to{color:rgba(169,244,247,.74);}}
@keyframes loaderDiagonalShine{
  0%,14%{background-position:165% 0;filter:drop-shadow(0 0 18px rgba(255,255,255,.1)) drop-shadow(0 0 30px rgba(34,211,238,.13));}
  44%,58%{background-position:28% 0;filter:drop-shadow(0 0 28px rgba(255,255,255,.24)) drop-shadow(0 0 54px rgba(185,252,255,.22));}
  86%,100%{background-position:-120% 0;filter:drop-shadow(0 0 18px rgba(255,255,255,.1)) drop-shadow(0 0 30px rgba(34,211,238,.13));}
}

@media(max-width:1180px){
  .desktop-nav{gap:.18rem;}
  .nav-link,.nav-drop-btn{padding:.7rem .55rem;font-size:.54rem;letter-spacing:.15em;}
  .nav-cta{font-size:.6rem;letter-spacing:.17em;padding:.72rem .9rem;}
}
@media(max-width:900px){
  .desktop-nav{display:none;}
}
@media(max-width:700px){
  body{cursor:auto;}
  #cur,#cur-ring{display:none!important;}
  nav{padding:1rem 1.5rem;background:rgba(6,13,24,.96);backdrop-filter:none;-webkit-backdrop-filter:none;}
  .nav-cta{display:none;}
  .nav-burger{display:flex;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;}
  .mob-menu{height:100%;min-height:100vh;min-height:100svh;padding-top:5.9rem;gap:1rem;backdrop-filter:none;-webkit-backdrop-filter:none;}
  .mob-menu a{font-size:.75rem;letter-spacing:.26em;}
  .search-overlay{padding-top:5.5rem;}
  .hero{height:auto;min-height:100svh;padding:6.5rem 1.25rem 4.2rem;}
  .hero-eyebrow{font-size:.52rem;letter-spacing:.18em;gap:.75rem;line-height:1.5;max-width:100%;}
  .eyebrow-line{width:22px;}
  .hero-sub{font-size:1rem;line-height:1.68;max-width:100%;}
  .hero-btns{width:100%;}
  .hero-btn-primary,.hero-btn-secondary{width:100%;padding:1rem 1.15rem;}
  .sec{padding:5rem 1.5rem;}
  .method-grid,.mini-grid{grid-template-columns:1fr;}
  .foundation-actions{flex-direction:column;align-items:stretch;}
  .foundation-theory-btn{width:100%;max-width:360px;}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important;}
  .hero-eyebrow,.hero h1 .l1::after,.hero h1 .l2::after,.hero-sub,.hero-btns,.scroll-ind,.loader-wordmark,.loader-wordmark span{animation:none!important;opacity:1;}
  .hero h1 .l1::after,.hero h1 .l2::after{opacity:0;}
  .loader-wordmark{transform:none;}
  .loader-wordmark small{color:rgba(169,244,247,.74);}
}
