:root {
  --bg:       #060d18;
  --bg2:      #08111f;
  --teal:     #5FE3E0;
  --ice:      #d8eaf0;
  --muted:    rgba(180,210,220,0.45);
  --dim:      rgba(120,160,180,0.3);
  --line:     rgba(95,227,224,0.12);
}
*{margin:0;padding:0;box-sizing:border-box;}
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;}

#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(95,227,224,.32);border-radius:50%;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);box-shadow:0 0 18px rgba(95,227,224,.08);transition:width .18s,height .18s,border-color .18s,opacity .2s;}
.tap-glow{position:fixed;left:0;top:0;width:9px;height:9px;border-radius:50%;background:var(--teal);pointer-events:none;z-index:9997;transform:translate(-50%,-50%);box-shadow:0 0 12px var(--teal),0 0 28px rgba(95,227,224,.35);animation:tapGlowDot .52s ease-out forwards;}
.tap-glow::before{content:'';position:absolute;inset:-14px;border:1px solid rgba(95,227,224,.42);border-radius:50%;animation:tapGlowRing .52s ease-out forwards;}
@keyframes tapGlowDot{0%{opacity:.95;transform:translate(-50%,-50%) scale(.7);}70%{opacity:.6;transform:translate(-50%,-50%) scale(1.15);}100%{opacity:0;transform:translate(-50%,-50%) scale(.35);}}
@keyframes tapGlowRing{0%{opacity:.62;transform:scale(.28);}100%{opacity:0;transform:scale(1.85);}}

#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 70% 55% at 50% 0%,rgba(20,60,100,.55) 0%,transparent 70%),
             radial-gradient(ellipse 40% 40% at 90% 50%,rgba(10,40,80,.25) 0%,transparent 60%),
             radial-gradient(ellipse 60% 30% at 10% 100%,rgba(5,25,55,.35) 0%,transparent 60%);}

/* NAV */
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;}
.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-text span{display:block;}
.nav-logo-system{font-size:.46rem;letter-spacing:.34em;color:rgba(95,227,224,.52);margin-top:.18rem;line-height:1.2;}
.nav-right{display:flex;align-items:center;gap:clamp(.7rem,1.4vw,1.5rem);}
.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(95,227,224,.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(95,227,224,.07);border-color:var(--teal);box-shadow:0 0 20px rgba(95,227,224,.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:center;align-items:center;gap:2.5rem;opacity:0;pointer-events:none;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:1rem 2rem;border:1px solid transparent;}
.mob-menu a:hover{color:var(--teal);}
.mob-menu a.mob-primary{color:var(--ice);border-color:rgba(95,227,224,.35);background:rgba(95,227,224,.06);}
.mob-menu a.mob-primary:hover{border-color:var(--teal);box-shadow:0 0 20px rgba(95,227,224,.15);}
.mob-divider{width:40px;height:1px;background:var(--line);}
.mob-menu-group{display:flex;flex-direction:column;align-items:center;gap:1.35rem;width:100%;}
.mob-menu-label{display:none;}
@media(max-width:700px){
  nav{padding:1rem 1.5rem;}
  .nav-cta{display:none;}
  .nav-burger{display:flex;}
}
@media (max-width:700px), (hover:none), (pointer:coarse){
  body{cursor:auto;}
  #cur,
  #cur-ring{display:none!important;}
  .nav-burger{
    cursor:pointer;
    transform:none!important;
    will-change:auto;
    touch-action:manipulation;
    -webkit-tap-highlight-color:transparent;
  }
  .nav-burger span{
    animation:none!important;
    transition:none!important;
    will-change:auto;
    backface-visibility:hidden;
  }
  nav{
    background:rgba(6,13,24,.96);
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
  }
  .mob-menu{
    left:0;
    right:0;
    width:auto;
    height:100%;
    min-height:100vh;
    min-height:100svh;
    transform:none!important;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
    scrollbar-width:none;
    -ms-overflow-style:none;
  }
  .mob-menu::-webkit-scrollbar{display:none;}
}

#main-view{position:relative;z-index:10;}
#type-page{display:none;position:relative;z-index:10;}
#func-page{display:none;position:relative;z-index:10;}
#quadra-page{display:none;position:relative;z-index:10;}
#theory-page{display:none;position:relative;z-index:10;min-height:100vh;padding-top:5rem;background:var(--bg);}

/* ─────────────────────────────────────
   QUADRA DETAIL PAGE
───────────────────────────────────── */
#quadra-page{min-height:100vh;padding-top:4.5rem;background:var(--bg);}
.qp-back{display:inline-flex;align-items:center;gap:.7rem;font-family:'Share Tech Mono',monospace;font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(95,227,224,.5);cursor:none;padding:0 3rem;margin-top:2.5rem;margin-bottom:2rem;transition:color .3s;background:none;border:none;}
@media(max-width:700px){#quadra-page{padding-top:4rem;}.qp-back{margin-top:1.5rem;margin-bottom:1.5rem;}}
.qp-back:hover{color:var(--teal);}
.qp-back svg{transition:transform .3s;}
.qp-back:hover svg{transform:translateX(-3px);}

/* Hero */
.qp-hero{padding:3.5rem 3rem 5rem;max-width:1200px;margin:0 auto;position:relative;}
@media(max-width:700px){.qp-hero{padding:2.5rem 1.5rem 3.5rem;}}
.qp-hero-inner{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start;}
.qp-eyebrow{font-family:'Share Tech Mono',monospace;font-size:.55rem;letter-spacing:.4em;text-transform:uppercase;margin-bottom:1.4rem;display:inline-flex;align-items:center;gap:.8rem;}
.qp-eyebrow-dot{width:6px;height:6px;border-radius:50%;}
.qp-name{font-family:'Cormorant Garamond',serif;font-size:clamp(4.4rem,11vw,8.4rem);font-weight:700;line-height:.92;margin-bottom:1rem;}
.qp-tagline{font-family:'Cormorant Garamond',serif;font-size:1.5rem;font-style:italic;font-weight:400;margin-bottom:2rem;}
.qp-desc{font-size:1.05rem;color:rgba(200,220,230,.75);line-height:2;max-width:520px;margin-bottom:2.5rem;}
.qp-sigil-large{width:200px;height:200px;margin-bottom:2rem;filter:drop-shadow(0 0 30px var(--qpc,rgba(95,227,224,.35)));opacity:.85;}
.qp-sigil-large svg{width:100%;height:100%;}

/* Values Block */
.qp-section{border-top:1px solid var(--qps-line,var(--line));padding:5rem 3rem;max-width:1200px;margin:0 auto;}
.qp-section.colored-border{--qps-line:rgba(var(--qp-rgb,77,217,213),.18);}
.qp-sec-label{font-family:'Share Tech Mono',monospace;font-size:.55rem;letter-spacing:.4em;text-transform:uppercase;color:rgba(95,227,224,.4);margin-bottom:2rem;}
.qp-sec-heading{font-family:'Cormorant Garamond',serif;font-size:clamp(1.8rem,4vw,3rem);font-weight:700;margin-bottom:2.5rem;color:var(--ice);}
.qp-values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
.qp-value-card{background:var(--bg2);padding:2.2rem 1.8rem;position:relative;overflow:hidden;transition:background .35s;}
.qp-value-card:hover{background:rgba(12,25,50,.9);}
.qp-value-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--qvc,var(--teal));transform:scaleX(0);transform-origin:left;transition:transform .4s ease;}
.qp-value-card:hover::before{transform:scaleX(1);}
.qp-value-glyph{font-family:'Cormorant Garamond',serif;font-size:2.8rem;font-weight:700;line-height:1;margin-bottom:.5rem;}
.qp-value-func-label{font-family:'Share Tech Mono',monospace;font-size:.5rem;letter-spacing:.3em;margin-bottom:.8rem;opacity:.5;}
.qp-value-name{font-family:'Cormorant Garamond',serif;font-size:1rem;font-weight:600;margin-bottom:.6rem;}
.qp-value-desc{font-size:.82rem;color:rgba(180,210,220,.5);line-height:1.85;}

/* Types 2x2 Grid */
.qp-types-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);}
.qp-type-card{background:var(--bg2);padding:2.5rem 2.2rem;cursor:none;transition:background .35s;position:relative;overflow:hidden;}
.qp-type-card:hover{background:rgba(12,25,50,.9);}
.qp-type-card::after{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--qtc,var(--teal));transform:scaleX(0);transform-origin:left;transition:transform .4s ease;}
.qp-type-card:hover::after{transform:scaleX(1);}
.qp-type-role{font-family:'Share Tech Mono',monospace;font-size:.52rem;letter-spacing:.3em;text-transform:uppercase;margin-bottom:.8rem;}
.qp-type-code{font-family:'Cormorant Garamond',serif;font-size:3rem;font-weight:700;line-height:1;margin-bottom:.3rem;}
.qp-type-name{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1rem;margin-bottom:1rem;}
.qp-type-funcs{display:flex;gap:.35rem;flex-wrap:wrap;margin-bottom:1rem;}
.qp-type-desc{font-size:.82rem;color:rgba(180,210,220,.45);line-height:1.75;}
.qp-type-relations{margin-top:1.2rem;display:flex;flex-wrap:wrap;gap:.4rem;}
.qp-rel-tag{font-family:'Share Tech Mono',monospace;font-size:.5rem;padding:.2rem .6rem;border:1px solid rgba(95,227,224,.15);color:rgba(95,227,224,.5);}
.qp-type-explore{margin-top:1rem;font-family:'Share Tech Mono',monospace;font-size:.52rem;letter-spacing:.15em;opacity:0;transform:translateX(-4px);transition:opacity .25s,transform .25s;}
.qp-type-card:hover .qp-type-explore{opacity:1;transform:translateX(0);}

/* Strengths & Blindspots */
.qp-sb-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);}
.qp-sb-col{background:var(--bg2);padding:2.5rem 2.2rem;}
.qp-sb-head{font-family:'Share Tech Mono',monospace;font-size:.55rem;letter-spacing:.3em;text-transform:uppercase;margin-bottom:1.5rem;}
.qp-sb-list{list-style:none;display:flex;flex-direction:column;gap:.9rem;}
.qp-sb-list li{display:flex;gap:.9rem;font-size:.9rem;color:rgba(200,220,230,.65);line-height:1.7;}
.qp-sb-dot{width:4px;height:4px;border-radius:50%;flex-shrink:0;margin-top:.6rem;}

/* Quadra Nav Strip */
.qp-nav-strip{position:sticky;top:68px;z-index:150;background:rgba(6,13,24,.95);backdrop-filter:blur(20px);border-bottom:1px solid var(--line);border-top:1px solid var(--line);padding:0 3rem;display:flex;align-items:center;gap:0;}
.qp-nav-item{font-family:'Share Tech Mono',monospace;font-size:.6rem;letter-spacing:.25em;text-transform:uppercase;padding:1rem 1.4rem;cursor:pointer;transition:color .2s,border-color .2s;color:rgba(180,210,220,.3);border-bottom:2px solid transparent;border-top:none;border-left:none;border-right:none;background:none;position:relative;}
.qp-nav-item:hover{color:rgba(180,210,220,.7);}
.qp-nav-item.active{color:var(--qpnc,var(--teal));border-bottom-color:var(--qpnc,var(--teal));}
.qp-nav-dot{width:5px;height:5px;border-radius:50%;display:inline-block;margin-right:.55rem;vertical-align:middle;flex-shrink:0;}
@media(max-width:700px){.qp-nav-strip{top:60px;padding:0 .5rem;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;}.qp-nav-strip::-webkit-scrollbar{display:none;}.qp-nav-item{padding:.85rem .9rem;font-size:.5rem;letter-spacing:.18em;white-space:nowrap;}}

/* Mistype Warnings */
.qp-mistype-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);}
.qp-mistype-card{background:var(--bg2);padding:2.5rem 2.2rem;position:relative;overflow:hidden;}
.qp-mistype-header{display:flex;align-items:flex-start;gap:1.2rem;margin-bottom:1.5rem;}
.qp-mistype-quadra-badge{font-family:'Share Tech Mono',monospace;font-size:.55rem;letter-spacing:.2em;text-transform:uppercase;padding:.35rem .8rem;border:1px solid;flex-shrink:0;margin-top:.15rem;}
.qp-mistype-title{font-family:'Cormorant Garamond',serif;font-size:1.2rem;font-weight:700;color:var(--ice);line-height:1.3;}
.qp-mistype-subtitle{font-family:'Share Tech Mono',monospace;font-size:.55rem;letter-spacing:.15em;color:rgba(180,210,220,.35);margin-top:.3rem;}
.qp-mistype-body{font-size:.88rem;color:rgba(200,220,230,.6);line-height:1.9;margin-bottom:1.4rem;}
.qp-mistype-divider{height:1px;background:var(--line);margin-bottom:1.2rem;}
.qp-mistype-tell{font-family:'Share Tech Mono',monospace;font-size:.52rem;letter-spacing:.15em;text-transform:uppercase;color:rgba(95,227,224,.4);margin-bottom:.7rem;}
.qp-mistype-tell-body{font-size:.85rem;color:rgba(180,210,220,.5);line-height:1.85;font-style:italic;}

/* Collective Shadow */
.qp-shadow-block{border:1px solid var(--line);background:rgba(6,13,24,.6);position:relative;overflow:hidden;}
.qp-shadow-block::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(to right,transparent,rgba(200,80,80,.5),transparent);}
.qp-shadow-inner{padding:3rem 3rem;}
.qp-shadow-label{font-family:'Share Tech Mono',monospace;font-size:.52rem;letter-spacing:.35em;text-transform:uppercase;color:rgba(200,80,80,.45);margin-bottom:1.5rem;}
.qp-shadow-quote{font-family:'Cormorant Garamond',serif;font-size:clamp(1.3rem,3vw,2rem);font-style:italic;font-weight:600;color:var(--ice);line-height:1.5;margin-bottom:2rem;position:relative;padding-left:1.5rem;}
.qp-shadow-quote::before{content:'';position:absolute;left:0;top:.2em;bottom:.2em;width:2px;background:rgba(200,80,80,.4);}
.qp-shadow-body{font-size:.95rem;color:rgba(200,220,230,.6);line-height:2;max-width:780px;}
.qp-shadow-patterns{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:2.5rem;}
.qp-shadow-pattern{background:var(--bg2);padding:1.8rem 1.6rem;}
.qp-shadow-pattern-label{font-family:'Share Tech Mono',monospace;font-size:.5rem;letter-spacing:.25em;text-transform:uppercase;color:rgba(200,80,80,.4);margin-bottom:.7rem;}
.qp-shadow-pattern-body{font-size:.85rem;color:rgba(180,210,220,.5);line-height:1.8;}

/* Feeling — editorial upgrade */
.qp-feel-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);}
.qp-feel-col{background:var(--bg2);padding:2.8rem 2.5rem;position:relative;}
.qp-feel-head{font-family:'Share Tech Mono',monospace;font-size:.55rem;letter-spacing:.3em;text-transform:uppercase;margin-bottom:1.5rem;}
.qp-feel-pull{font-family:'Cormorant Garamond',serif;font-size:1.35rem;font-style:italic;font-weight:600;line-height:1.5;margin-bottom:1.5rem;padding-bottom:1.2rem;border-bottom:1px solid var(--line);}
.qp-feel-body{font-size:.9rem;color:rgba(200,220,230,.55);line-height:2.}

@media(max-width:700px){.qp-nav-strip{padding:0 1rem;overflow-x:auto;gap:0;}.qp-nav-item{padding:.9rem 1rem;font-size:.52rem;white-space:nowrap;}.qp-mistype-grid{grid-template-columns:1fr;}.qp-shadow-patterns{grid-template-columns:1fr;}.qp-shadow-inner{padding:2rem 1.5rem;}}

/* CTA */
.qp-cta{border-top:1px solid var(--line);padding:5rem 3rem;text-align:center;}
.qp-cta-text{font-family:'Cormorant Garamond',serif;font-size:clamp(1.6rem,4vw,3rem);font-weight:700;color:var(--ice);margin-bottom:1rem;}
.qp-cta-sub{font-family:'Share Tech Mono',monospace;font-size:.6rem;letter-spacing:.12em;color:rgba(120,160,180,.4);margin-bottom:2.5rem;line-height:1.9;}
.qp-cta-btn{display:inline-block;font-family:'Share Tech Mono',monospace;font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;padding:1rem 2.5rem;border:1px solid rgba(95,227,224,.4);color:var(--ice);background:rgba(95,227,224,.07);cursor:none;transition:all .3s;text-decoration:none;margin:0 .5rem;}
.qp-cta-btn:hover{border-color:var(--teal);background:rgba(95,227,224,.14);box-shadow:0 0 30px rgba(95,227,224,.2);}
.qp-cta-btn.secondary{border-color:rgba(120,160,180,.2);color:rgba(180,210,220,.5);}
.qp-cta-btn.secondary:hover{border-color:rgba(120,160,180,.4);color:var(--ice);}

/* Responsive */
@media(max-width:1000px){.qp-hero-inner{grid-template-columns:1fr;gap:2rem;}.qp-values-grid{grid-template-columns:repeat(2,1fr);}.qp-sb-grid,.qp-feel-grid{grid-template-columns:1fr;}}
@media(max-width:700px){.qp-hero,.qp-section,.qp-cta,.qp-back{padding-left:1.5rem;padding-right:1.5rem;}.qp-types-grid,.qp-hist-grid,.qp-values-grid{grid-template-columns:1fr;}.qp-sigil-large{width:120px;height:120px;}}

/* HERO */
.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;}
.tech-orb{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:340px;height:340px;pointer-events:none;opacity:.18;z-index:0;}
.tech-orb svg{width:100%;height:100%;}

.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(95,227,224,.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;}
@keyframes shine{0%,100%{background-position:200% 0;}40%,60%{background-position:-200% 0;}}

.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{font-family:'Share Tech Mono',monospace;font-size:.68rem;letter-spacing:.25em;text-transform:uppercase;padding:1rem 2.4rem;border:1px solid rgba(95,227,224,.4);color:var(--ice);background:rgba(95,227,224,.08);text-decoration:none;cursor:none;transition:all .3s;position:relative;overflow:hidden;}
.hero-btn-primary::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(95,227,224,.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(95,227,224,.14);box-shadow:0 0 28px rgba(95,227,224,.2);}
.hero-btn-secondary{font-family:'Share Tech Mono',monospace;font-size:.68rem;letter-spacing:.25em;text-transform:uppercase;padding:1rem 2.4rem;border:1px solid rgba(120,160,180,.2);color:rgba(180,210,220,.55);background:transparent;text-decoration:none;cursor:none;transition:all .3s;}
.hero-btn-secondary:hover{border-color:rgba(120,160,180,.4);color:var(--ice);}
@keyframes heroTitleSheen{0%,68%{opacity:0;background-position:220% 0;}76%{opacity:.82;}90%,100%{opacity:0;background-position:-120% 0;}}
@media(max-width:700px){
  .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;}
}
@media(prefers-reduced-motion:reduce){
  .hero-eyebrow,.hero h1 .l1::after,.hero h1 .l2::after,.hero-sub,.hero-btns{animation:none!important;opacity:1;}
  .hero h1 .l1::after,.hero h1 .l2::after{opacity:0;}
}

/* QUIZ */
.quiz-section{padding:7rem 3rem;background:rgba(8,17,31,.5);}
.quiz-wrap{max-width:680px;margin:0 auto;}
.hero-quiz-shell{border:1px solid var(--line);background:rgba(6,13,24,.85);backdrop-filter:blur(16px);position:relative;overflow:hidden;}
.hero-quiz-shell::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(to right,transparent,var(--teal),transparent);}
.hq-progress{padding:1.4rem 2rem;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:1.4rem;}
.hq-prog-label{font-family:'Share Tech Mono',monospace;font-size:.55rem;letter-spacing:.3em;color:rgba(95,227,224,.5);white-space:nowrap;}
.hq-prog-track{flex:1;height:3px;background:rgba(95,227,224,.08);position:relative;overflow:hidden;border-radius:2px;}
.hq-prog-fill{height:100%;background:linear-gradient(to right,var(--teal),rgba(95,227,224,.7));width:0%;transition:width .6s cubic-bezier(.4,0,.2,1);border-radius:2px;position:relative;}
.hq-prog-fill::after{content:'';position:absolute;right:0;top:0;bottom:0;width:20px;background:linear-gradient(to right,transparent,rgba(255,255,255,.4));animation:progShimmer 1.5s ease infinite;}
@keyframes progShimmer{0%,100%{opacity:0;}50%{opacity:1;}}
.hq-prog-num{font-family:'Share Tech Mono',monospace;font-size:.6rem;letter-spacing:.15em;color:rgba(95,227,224,.6);white-space:nowrap;min-width:150px;text-align:right;}
#hq-q-inner{transition:opacity .22s ease,transform .22s ease;}
#hq-q-inner.fading{opacity:0;transform:translateY(6px);}
.hq-body{padding:2.2rem 2rem 1.5rem;}
.hq-q-num{font-family:'Share Tech Mono',monospace;font-size:.52rem;letter-spacing:.4em;color:rgba(95,227,224,.4);margin-bottom:.8rem;}
.hq-q-text{font-family:'Cormorant Garamond',serif;font-size:1.35rem;font-weight:600;color:var(--ice);line-height:1.4;margin-bottom:1.8rem;text-align:left;}
.hq-options{display:flex;flex-direction:column;gap:.6rem;}
.hq-opt{display:flex;align-items:flex-start;gap:.9rem;width:100%;padding:.9rem 1.2rem;border:1px solid rgba(95,227,224,.1);background:rgba(6,13,24,.5);color:inherit;font:inherit;appearance:none;cursor:none;transition:border-color .2s,background .2s;position:relative;overflow:hidden;text-align:left;}
.hq-opt:hover{border-color:rgba(95,227,224,.3);background:rgba(12,25,50,.7);}
.hq-opt:focus-visible,.hq-btn:focus-visible{outline:2px solid rgba(95,227,224,.75);outline-offset:3px;}
.hq-opt.selected{border-color:var(--teal);background:rgba(95,227,224,.08);box-shadow:0 0 16px rgba(95,227,224,.1);}
.hq-bullet{width:12px;height:12px;border:1px solid rgba(95,227,224,.3);border-radius:50%;flex-shrink:0;margin-top:.2rem;transition:all .25s;background:transparent;position:relative;}
.hq-opt.selected .hq-bullet{border-color:var(--teal);background:var(--teal);box-shadow:0 0 0 0 rgba(95,227,224,.5);animation:bulletPulse .5s ease forwards;}
@keyframes bulletPulse{0%{box-shadow:0 0 0 0 rgba(95,227,224,.6);}60%{box-shadow:0 0 0 7px rgba(95,227,224,0);}100%{box-shadow:0 0 0 0 rgba(95,227,224,0);}}
.hq-opt-text{font-family:'Rajdhani',sans-serif;font-size:.95rem;font-weight:500;color:rgba(200,217,220,.65);line-height:1.45;transition:color .2s;}
.hq-opt.selected .hq-opt-text{color:var(--ice);}
.hq-footer{padding:1.2rem 2rem;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;}
.hq-btn{font-family:'Share Tech Mono',monospace;font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;padding:.75rem 1.8rem;border:1px solid rgba(95,227,224,.35);color:var(--ice);background:rgba(95,227,224,.07);cursor:none;transition:all .3s;}
.hq-btn:hover{border-color:var(--teal);background:rgba(95,227,224,.14);box-shadow:0 0 20px rgba(95,227,224,.15);}
.hq-btn:disabled{opacity:.3;pointer-events:none;}
.hq-btn.ghost{background:transparent;border-color:rgba(120,160,180,.2);color:rgba(180,210,220,.4);}
.hq-btn.ghost:hover{border-color:rgba(120,160,180,.4);color:var(--ice);}
.hq-result{padding:0;text-align:center;display:none;overflow:hidden;}
.hq-result-top{height:2px;background:linear-gradient(to right,transparent,var(--teal),transparent);transform:scaleX(0);animation:resultLineIn .6s ease .1s forwards;}
@keyframes resultLineIn{to{transform:scaleX(1);}}
.hq-result-inner{padding:2.8rem 2rem 2.2rem;}
.hq-result-orb{width:56px;height:56px;margin:0 auto 1.8rem;position:relative;opacity:0;animation:fadeUp .6s ease .3s forwards;}
.hq-result-orb svg{width:100%;height:100%;}
.hq-result-code{font-family:'Cormorant Garamond',serif;font-size:5rem;font-weight:700;color:var(--teal);line-height:1;margin-bottom:.35rem;letter-spacing:.08em;display:flex;justify-content:center;gap:.04em;}
.hq-result-code .rc-letter{opacity:0;transform:translateY(12px);display:inline-block;text-shadow:0 0 40px rgba(95,227,224,.6);}
.hq-result-code .rc-letter.in{animation:letterIn .4s cubic-bezier(.2,0,.2,1) forwards;}
@keyframes letterIn{to{opacity:1;transform:none;}}
.hq-result-name{font-family:'Share Tech Mono',monospace;font-size:.6rem;letter-spacing:.35em;text-transform:uppercase;color:rgba(95,227,224,.55);margin-bottom:1.5rem;opacity:0;animation:fadeUp .5s ease .9s forwards;}
.hq-result-desc{font-family:'Cormorant Garamond',serif;font-size:1.05rem;font-style:italic;color:var(--muted);line-height:1.85;max-width:480px;margin:0 auto 1.8rem;opacity:0;animation:fadeUp .5s ease 1.1s forwards;}
.hq-result-funcs{display:flex;gap:.4rem;justify-content:center;flex-wrap:wrap;margin-bottom:1.5rem;opacity:0;animation:fadeUp .5s ease 1.25s forwards;}
.hq-rf{font-family:'Share Tech Mono',monospace;font-size:.58rem;padding:.25rem .65rem;border:1px solid rgba(95,227,224,.3);color:var(--teal);background:rgba(95,227,224,.06);}
.hq-rf.dim{border-color:rgba(120,160,180,.15);color:rgba(120,160,180,.4);background:transparent;}
.hq-result-note{font-family:'Share Tech Mono',monospace;font-size:.55rem;letter-spacing:.1em;color:rgba(120,160,180,.35);margin-bottom:1.8rem;line-height:1.8;opacity:0;animation:fadeUp .5s ease 1.4s forwards;}
.hq-result-actions{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap;opacity:0;animation:fadeUp .5s ease 1.55s forwards;}
.hq-result-glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:200px;height:200px;background:radial-gradient(circle,rgba(95,227,224,.08) 0%,transparent 70%);pointer-events:none;opacity:0;animation:glowFade .8s ease .5s forwards;}
@keyframes glowFade{to{opacity:1;}}
.hq-retake{font-family:'Share Tech Mono',monospace;font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;padding:.75rem 1.6rem;border:1px solid rgba(120,160,180,.2);color:rgba(180,210,220,.5);background:transparent;cursor:none;transition:all .3s;}
.hq-retake:hover{border-color:rgba(120,160,180,.4);color:var(--ice);}
.hq-book{font-family:'Share Tech Mono',monospace;font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;padding:.75rem 1.6rem;border:1px solid rgba(95,227,224,.35);color:var(--ice);background:rgba(95,227,224,.08);text-decoration:none;cursor:none;transition:all .3s;}
.hq-book:hover{border-color:var(--teal);background:rgba(95,227,224,.15);box-shadow:0 0 20px rgba(95,227,224,.15);}
.hq-view-type{font-family:'Share Tech Mono',monospace;font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;padding:.75rem 1.6rem;border:1px solid rgba(95,227,224,.6);color:var(--teal);background:rgba(95,227,224,.05);cursor:none;transition:all .3s;}
.hq-view-type:hover{border-color:var(--teal);background:rgba(95,227,224,.12);box-shadow:0 0 20px rgba(95,227,224,.2);}

.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(95,227,224,.35);}
.scroll-chev{color:rgba(95,227,224,.35);font-size:.8rem;animation:cb 2s ease-in-out infinite;}
@keyframes cb{0%,100%{transform:translateY(0);opacity:.35;}50%{transform:translateY(5px);opacity:.8;}}

/* SECTIONS */
.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;}
.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);}
.feat-icon{color:var(--teal);flex-shrink:0;display:flex;align-items:center;}
.q-sigil{width:36px;height:36px;margin-bottom:1.5rem;display:flex;align-items:center;filter:drop-shadow(0 0 8px var(--qc,var(--teal)));}

/* METHOD */
.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;transition:background .35s;}
.mini-card:hover{background:rgba(12,25,50,.9);}
.mini-card::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:var(--teal);transform:scaleX(0);transform-origin:left;transition:transform .4s ease;}
.mini-card:hover::before{transform:scaleX(1);}
.mini-icon{width:32px;height:32px;margin-bottom:1.4rem;display:flex;align-items:center;filter:drop-shadow(0 0 6px rgba(95,227,224,.4));}
.mini-title{font-family:'Cormorant Garamond',serif;font-size:1.3rem;font-weight:600;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;}

/* QUADRAS */
.quadra-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:3rem;}
.q-card{background:var(--bg2);padding:2.5rem 2.2rem;position:relative;overflow:hidden;cursor:none;transition:background .4s;}
.q-card:hover{background:rgba(12,25,50,.9);}
.q-card::after{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--qc,var(--teal));transform:scaleX(0);transform-origin:left;transition:transform .45s ease;}
.q-card:hover::after{transform:scaleX(1);}
.q-brk{position:absolute;bottom:1rem;right:1rem;width:14px;height:14px;border-bottom:1px solid rgba(95,227,224,.2);border-right:1px solid rgba(95,227,224,.2);transition:width .3s,height .3s,border-color .3s;}
.q-card:hover .q-brk{width:20px;height:20px;border-color:rgba(95,227,224,.5);}
.q-card-explore{font-family:'Share Tech Mono',monospace;font-size:.52rem;letter-spacing:.15em;color:rgba(95,227,224,.3);margin-top:1rem;opacity:0;transform:translateX(-4px);transition:opacity .25s,transform .25s;}
.q-card:hover .q-card-explore{opacity:1;transform:translateX(0);}
.q-name{font-family:'Cormorant Garamond',serif;font-size:1.5rem;font-weight:700;color:var(--qc,var(--teal));margin-bottom:.3rem;}
.q-arch{font-family:'Share Tech Mono',monospace;font-size:.6rem;letter-spacing:.12em;color:rgba(120,160,180,.5);margin-bottom:1.5rem;}
.q-tags{display:flex;flex-wrap:wrap;gap:.4rem;}
.q-tag{font-family:'Share Tech Mono',monospace;font-size:.6rem;letter-spacing:.08em;padding:.25rem .6rem;border:1px solid rgba(95,227,224,.12);color:rgba(180,210,220,.4);transition:all .25s;}
.q-card:hover .q-tag{border-color:rgba(95,227,224,.25);color:var(--ice);}

/* TYPES GRID */
.types-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
.t-card{background:var(--bg2);padding:1.8rem 1.6rem;position:relative;overflow:hidden;cursor:none;opacity:0;transform:translateY(14px);transition:opacity .55s ease,transform .55s ease,background .35s;}
.t-card.vis{opacity:1;transform:none;}
.t-card:hover{background:rgba(12,25,50,.9);}
.t-card::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:var(--tc,var(--teal));transform:scaleX(0);transform-origin:center;transition:transform .4s ease;}
.t-card:hover::before{transform:scaleX(1);}
.t-dot{width:5px;height:5px;border-radius:50%;background:var(--tc,var(--teal));box-shadow:0 0 6px var(--tc,var(--teal));margin-bottom:1.2rem;}
.t-acronym{font-family:'Cormorant Garamond',serif;font-size:1.6rem;font-weight:700;color:var(--ice);margin-bottom:.2rem;}
.t-role{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:.85rem;color:var(--teal);margin-bottom:1rem;}
.t-funcs{display:flex;gap:.3rem;flex-wrap:wrap;margin-bottom:1rem;}
.fp{font-family:'Share Tech Mono',monospace;font-size:.55rem;padding:.2rem .45rem;border:1px solid rgba(95,227,224,.25);color:var(--teal);background:rgba(95,227,224,.05);}
.fp.d{border-color:rgba(120,160,180,.12);color:rgba(120,160,180,.3);background:transparent;}
.t-desc{font-size:.82rem;font-weight:400;color:rgba(180,210,220,.35);line-height:1.75;}
.t-explore{margin-top:1.2rem;font-family:'Share Tech Mono',monospace;font-size:.52rem;letter-spacing:.15em;color:rgba(95,227,224,.3);opacity:0;transform:translateX(-4px);transition:opacity .25s,transform .25s;}
.t-card:hover .t-explore{opacity:1;transform:translateX(0);}

/* DICHOTOMIES — with toggle */
.dich-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:3rem;}
.d-card{background:var(--bg2);padding:2.2rem 2rem;position:relative;overflow:hidden;cursor:none;transition:background .35s;}
.d-card:hover{background:rgba(12,25,50,.9);}
.d-label{font-family:'Share Tech Mono',monospace;font-size:.55rem;letter-spacing:.3em;text-transform:uppercase;color:rgba(95,227,224,.5);margin-bottom:1.2rem;}
.d-poles{display:flex;align-items:center;gap:.8rem;margin-bottom:1.2rem;}
.d-pole{font-family:'Cormorant Garamond',serif;font-size:1.1rem;font-weight:700;flex:1;padding:.4rem .6rem;border:1px solid transparent;transition:all .25s;position:relative;}
.d-pole.a{color:var(--teal);}
.d-pole.b{color:rgba(180,210,220,.5);text-align:right;}
.d-pole.active-pole{border-color:rgba(95,227,224,.3);background:rgba(95,227,224,.06);box-shadow:0 0 12px rgba(95,227,224,.08);}
.d-pole.b.active-pole{border-color:rgba(180,210,220,.25);background:rgba(180,210,220,.04);box-shadow:none;color:var(--ice);}
.d-slash{font-family:'Share Tech Mono',monospace;color:var(--dim);font-size:.65rem;}
.d-line{height:1px;margin-bottom:1.2rem;background:linear-gradient(to right,rgba(95,227,224,.2),rgba(120,160,180,.1));}
.d-text{font-size:.85rem;color:rgba(180,210,220,.35);line-height:1.8;font-style:italic;}
/* Toggle expansion */
.d-expand{max-height:0;overflow:hidden;transition:max-height .4s cubic-bezier(.4,0,.2,1),opacity .3s ease;opacity:0;margin-top:0;}
.d-expand.open{max-height:300px;opacity:1;margin-top:1.2rem;}
.d-expand-inner{border-top:1px solid var(--line);padding-top:1.2rem;}
.d-expand-label{font-family:'Share Tech Mono',monospace;font-size:.5rem;letter-spacing:.3em;text-transform:uppercase;margin-bottom:.8rem;}
.d-expand-label.a{color:rgba(95,227,224,.5);}
.d-expand-label.b{color:rgba(180,210,220,.4);}
.d-expand-body{font-family:'Rajdhani',sans-serif;font-size:.9rem;color:rgba(200,220,230,.65);line-height:1.8;}
.d-expand-types{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.9rem;}
.d-expand-type-tag{font-family:'Share Tech Mono',monospace;font-size:.52rem;padding:.18rem .5rem;border:1px solid rgba(95,227,224,.2);color:rgba(95,227,224,.6);}
.d-expand-type-tag.b-tag{border-color:rgba(180,210,220,.15);color:rgba(180,210,220,.4);}
.d-tap-hint{font-family:'Share Tech Mono',monospace;font-size:.48rem;letter-spacing:.15em;color:rgba(95,227,224,.25);margin-top:1rem;text-align:right;}

/* RELATIONS */
.rel-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:3rem;}
.r-card{background:var(--bg2);padding:1.8rem 2rem;display:flex;gap:1.4rem;align-items:flex-start;cursor:none;transition:background .35s;position:relative;overflow:hidden;}
.r-card:hover{background:rgba(12,25,50,.9);}
.r-card::before{content:'';position:absolute;left:0;top:20%;bottom:20%;width:1px;background:linear-gradient(to bottom,transparent,var(--teal),transparent);opacity:0;transition:opacity .4s;}
.r-card:hover::before{opacity:1;}
.r-card::after{content:'+';position:absolute;right:1.25rem;top:1.15rem;font-family:'Share Tech Mono',monospace;font-size:.75rem;color:rgba(95,227,224,.28);transition:color .25s,transform .25s;}
.r-card.open::after{content:'-';color:var(--teal);}
.r-card:focus-visible{outline:2px solid rgba(95,227,224,.65);outline-offset:3px;}
.r-icon{
  width:1.85rem;
  height:1.85rem;
  flex:0 0 1.85rem;
  position:relative;
  color:rgba(220,245,250,.82);
  filter:drop-shadow(0 0 5px rgba(95,227,224,.38));
  transition:filter .3s,transform .3s;
}
.r-icon::before,.r-icon::after,.r-icon span{
  content:'';
  position:absolute;
  box-sizing:border-box;
  display:none;
}
.r-icon svg{
  width:100%;
  height:100%;
  display:block;
  overflow:visible;
  stroke:currentColor;
  fill:none;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.r-icon-duality svg,
.r-icon-conflict svg,
.r-icon-semi svg{
  fill:none;
}
.r-card:hover .r-icon{filter:drop-shadow(0 0 10px rgba(95,227,224,.8));transform:translateY(-1px);}
.r-icon-duality::before{inset:.24rem;border:2px solid currentColor;transform:rotate(45deg);}
.r-icon-duality span{left:50%;top:50%;width:.36rem;height:.36rem;border-radius:50%;background:var(--teal);transform:translate(-50%,-50%);box-shadow:0 0 14px var(--teal);}
.r-icon-identity::before{inset:.2rem;border:2px solid currentColor;border-radius:50%;}
.r-icon-identity::after{inset:.52rem;border:2px solid currentColor;border-radius:50%;opacity:.58;}
.r-icon-activation::before{inset:.2rem;border:2px solid currentColor;border-radius:50%;}
.r-icon-activation::after{left:50%;top:.12rem;bottom:.12rem;width:2px;background:currentColor;transform:translateX(-50%);}
.r-icon-activation span{top:50%;left:.12rem;right:.12rem;height:2px;background:currentColor;transform:translateY(-50%);}
.r-icon-mirror::before{inset:.28rem;border:2px solid currentColor;transform:rotate(45deg);}
.r-icon-mirror::after{left:50%;top:50%;width:.34rem;height:.34rem;border-radius:50%;background:var(--teal);transform:translate(-50%,-50%);}
.r-icon-conflict::before{left:.58rem;top:.12rem;width:.48rem;height:1.34rem;border-left:2px solid currentColor;border-bottom:2px solid currentColor;transform:skewX(-20deg);}
.r-icon-conflict::after{right:.42rem;top:.46rem;width:.48rem;height:1.06rem;border-right:2px solid currentColor;border-top:2px solid currentColor;transform:skewX(-20deg);}
.r-icon-quasi::before{inset:.22rem;border:2px solid currentColor;}
.r-icon-quasi::after{left:50%;top:.22rem;bottom:.22rem;width:2px;background:currentColor;transform:translateX(-50%);}
.r-icon-quasi span{top:50%;left:.22rem;right:.22rem;height:2px;background:currentColor;transform:translateY(-50%);}
.r-icon-business::before{inset:.22rem;border:2px solid currentColor;border-radius:50%;}
.r-icon-business::after{right:.02rem;top:.02rem;width:.68rem;height:.68rem;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(18deg);}
.r-icon-semi::before{left:50%;top:.12rem;width:2px;height:1.4rem;background:linear-gradient(to bottom,transparent,currentColor,transparent);transform:translateX(-50%);}
.r-icon-semi::after{top:50%;left:.12rem;width:1.4rem;height:2px;background:linear-gradient(to right,transparent,currentColor,transparent);transform:translateY(-50%);}
.r-icon-semi span{inset:.48rem;border:1px solid currentColor;transform:rotate(45deg);opacity:.72;}
.r-name{font-family:'Cormorant Garamond',serif;font-size:1rem;font-weight:700;letter-spacing:.08em;color:var(--ice);margin-bottom:.4rem;}
.r-desc{font-size:.82rem;color:rgba(180,210,220,.35);line-height:1.75;}
.r-more{max-height:0;opacity:0;overflow:hidden;transition:max-height .35s ease,opacity .25s ease;margin-top:0;}
.r-card.open .r-more{max-height:520px;opacity:1;margin-top:1rem;}
.r-detail{border-top:1px solid rgba(95,227,224,.1);padding-top:.8rem;margin-top:.8rem;}
.r-detail:first-child{margin-top:0;}
.r-detail-head{font-family:'Share Tech Mono',monospace;font-size:.48rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(95,227,224,.45);margin-bottom:.35rem;}
.r-detail-copy{font-size:.82rem;color:rgba(200,220,230,.58);line-height:1.65;}
@media(hover:none),(pointer:coarse){
  .r-card{cursor:pointer!important;}
}

/* CTA */
.cta-section{padding:8rem 3rem;text-align:center;position:relative;}
.cta-section::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:1px;height:60px;background:linear-gradient(to bottom,transparent,rgba(95,227,224,.3));}
.cta-eyebrow{font-family:'Share Tech Mono',monospace;font-size:.58rem;letter-spacing:.5em;text-transform:uppercase;color:rgba(95,227,224,.5);margin-bottom:1.5rem;}
.cta-heading{font-family:'Cormorant Garamond',serif;font-size:clamp(2.5rem,6vw,5rem);font-weight:700;color:var(--ice);margin-bottom:1rem;line-height:1;}
.cta-heading span{color:var(--teal);}
.cta-sub{font-size:1rem;color:var(--muted);max-width:400px;margin:0 auto 4rem;line-height:1.9;}
.cta-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);max-width:860px;margin:0 auto;}
.cta-card{background:var(--bg2);padding:2.8rem 2rem;position:relative;overflow:hidden;cursor:none;transition:background .35s;text-decoration:none;display:block;text-align:left;}
.cta-card:hover{background:rgba(12,25,50,.95);}
.cta-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--cc,var(--teal));transform:scaleX(0);transform-origin:left;transition:transform .4s ease;}
.cta-card:hover::before{transform:scaleX(1);}
.cta-card-icon{width:36px;height:36px;margin-bottom:1.5rem;filter:drop-shadow(0 0 8px var(--cc,rgba(95,227,224,.4)));}
.cta-card-title{font-family:'Cormorant Garamond',serif;font-size:1.2rem;font-weight:700;color:var(--ice);margin-bottom:.6rem;}
.cta-card-desc{font-family:'Share Tech Mono',monospace;font-size:.6rem;letter-spacing:.08em;color:rgba(120,160,180,.5);line-height:1.7;}
.cta-card-arrow{font-family:'Share Tech Mono',monospace;font-size:.6rem;color:var(--cc,var(--teal));margin-top:1.4rem;letter-spacing:.15em;opacity:0;transform:translateX(-6px);transition:opacity .3s,transform .3s;}
.cta-card:hover .cta-card-arrow{opacity:1;transform:translateX(0);}
.cta-cards.services{max-width:1120px;grid-template-columns:repeat(3,1fr);}
.cta-card-kicker{font-family:'Share Tech Mono',monospace;font-size:.48rem;letter-spacing:.22em;text-transform:uppercase;color:var(--cc,var(--teal));margin-bottom:.65rem;opacity:.72;}
.cta-card-desc strong{color:rgba(220,240,245,.78);font-weight:600;}
.cta-card-list{margin-top:1rem;display:flex;flex-direction:column;gap:.45rem;}
.cta-card-list span{font-family:'Share Tech Mono',monospace;font-size:.52rem;letter-spacing:.08em;color:rgba(180,210,220,.38);line-height:1.5;}

/* Dual pair feature */
.dual-section{background:linear-gradient(180deg,rgba(8,17,31,.4),rgba(6,13,24,.82));position:relative;overflow:hidden;padding-top:6rem;padding-bottom:6rem;}
.dual-section::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 10%,rgba(95,227,224,.055),transparent 42%);pointer-events:none;}
.dual-section .sec-inner{max-width:none;}
.dual-section .sec-label,.dual-section .sec-heading,.dual-section .dual-grid{width:min(1200px,100%);margin-left:auto;margin-right:auto;}
.dual-section .dual-intro{width:min(1200px,100%);margin-left:auto;margin-right:auto;}
.dual-section .sec-heading{margin-bottom:1rem;}
.dual-intro{font-size:.95rem;color:var(--muted);line-height:1.9;max-width:1200px;margin-bottom:3.1rem;padding-right:min(46vw,560px);}
.dual-finder{position:relative;z-index:1;display:block;min-height:clamp(840px,94vh,980px);background:radial-gradient(circle at 52% 18%,rgba(95,227,224,.16),transparent 28%),radial-gradient(circle at 76% 54%,rgba(139,111,255,.12),transparent 36%),radial-gradient(circle at 39% 72%,rgba(201,168,76,.09),transparent 34%),linear-gradient(135deg,rgba(5,11,22,.98),rgba(7,20,38,.86) 44%,rgba(5,11,22,.96));border:1px solid rgba(95,227,224,.18);margin:0 0 2rem;overflow:hidden;box-shadow:inset 0 0 180px rgba(95,227,224,.055),0 18px 70px rgba(0,0,0,.22);}
.dual-finder::before{content:'';position:absolute;inset:-12% -8%;background-image:radial-gradient(circle at 7% 19%,rgba(220,245,255,.42) 0 1px,transparent 1.9px),radial-gradient(circle at 18% 62%,rgba(95,227,224,.36) 0 1px,transparent 1.8px),radial-gradient(circle at 28% 31%,rgba(201,168,76,.32) 0 1px,transparent 1.8px),radial-gradient(circle at 41% 78%,rgba(139,111,255,.34) 0 1px,transparent 1.8px),radial-gradient(circle at 55% 18%,rgba(220,245,255,.34) 0 1px,transparent 1.9px),radial-gradient(circle at 69% 72%,rgba(111,207,151,.33) 0 1px,transparent 1.8px),radial-gradient(circle at 82% 27%,rgba(95,227,224,.36) 0 1px,transparent 1.8px),radial-gradient(circle at 94% 64%,rgba(220,245,255,.3) 0 1px,transparent 1.8px),radial-gradient(circle at 61% 93%,rgba(201,168,76,.28) 0 1px,transparent 1.8px);opacity:.48;pointer-events:none;animation:dualSkyDrift 24s ease-in-out infinite alternate;}
.dual-finder::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,11,22,.82) 0%,rgba(5,11,22,.58) 27%,rgba(5,11,22,.08) 54%,rgba(5,11,22,.22) 100%),linear-gradient(0deg,rgba(5,11,22,.9) 0%,rgba(5,11,22,.54) 18%,transparent 48%);pointer-events:none;}
.dual-finder-panel,.dual-map-wrap,.dual-finder-result{background:transparent;}
.dual-finder-panel{position:absolute;z-index:6;left:clamp(2rem,4vw,4.2rem);top:clamp(2rem,5vh,4rem);width:min(520px,34vw);padding:0;display:flex;flex-direction:column;justify-content:flex-start;}
.dual-finder-kicker{font-family:'Share Tech Mono',monospace;font-size:.5rem;letter-spacing:.28em;text-transform:uppercase;color:var(--teal);margin-bottom:1rem;}
.dual-finder-title{font-family:'Cormorant Garamond',serif;font-size:clamp(3.2rem,4.85vw,5.35rem);font-weight:700;color:var(--ice);line-height:.98;margin-bottom:1.25rem;max-width:560px;text-shadow:0 0 38px rgba(95,227,224,.08);}
.dual-finder-copy{font-size:.9rem;line-height:1.85;color:rgba(180,210,220,.52);margin-bottom:1.6rem;max-width:430px;}
.dual-finder-select{width:100%;border:1px solid rgba(95,227,224,.34);background:rgba(6,13,24,.44);color:var(--ice);font-family:'Share Tech Mono',monospace;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;padding:.95rem 1rem;outline:none;cursor:none;backdrop-filter:blur(10px);}
.dual-finder-select:focus{border-color:var(--teal);box-shadow:0 0 0 1px rgba(95,227,224,.18);}
.dual-map-wrap{position:absolute;left:36%;right:3%;top:3%;bottom:clamp(300px,32vh,340px);z-index:2;padding:0;display:block;overflow:visible;}
.dual-map-wrap::before{content:'';position:absolute;inset:-10% -4% -8%;background-image:radial-gradient(circle at 9% 18%,rgba(220,245,255,.32) 0 1px,transparent 1.8px),radial-gradient(circle at 17% 76%,rgba(95,227,224,.3) 0 1px,transparent 1.8px),radial-gradient(circle at 34% 8%,rgba(201,168,76,.28) 0 1px,transparent 1.8px),radial-gradient(circle at 49% 88%,rgba(139,111,255,.28) 0 1px,transparent 1.8px),radial-gradient(circle at 63% 22%,rgba(111,207,151,.28) 0 1px,transparent 1.8px),radial-gradient(circle at 81% 82%,rgba(220,245,255,.24) 0 1px,transparent 1.8px),radial-gradient(circle at 92% 12%,rgba(95,227,224,.28) 0 1px,transparent 1.8px);opacity:.5;pointer-events:none;animation:dualSkyDrift 28s ease-in-out infinite alternate-reverse;}
.dual-map-wrap::after{content:'';position:absolute;left:77%;top:12%;width:138px;height:1px;border:0;border-radius:999px;background:linear-gradient(90deg,transparent,rgba(220,245,255,.9),rgba(95,227,224,.18));filter:drop-shadow(0 0 8px rgba(95,227,224,.65));opacity:0;transform:rotate(-24deg) translateX(-180px);animation:dualShootingStar 8.5s ease-in-out infinite;}
.dual-connection{position:absolute;left:50%;top:50%;width:0;height:1.2px;z-index:1;transform-origin:0 50%;background:linear-gradient(90deg,var(--line-a,var(--teal)),rgba(235,250,255,.9),var(--line-b,var(--teal)),var(--line-a,var(--teal)));background-size:220% 100%;box-shadow:0 0 16px var(--line-a,var(--teal)),0 0 34px var(--line-b,var(--teal));opacity:.78;transition:opacity .35s ease,filter .35s ease,background .5s,box-shadow .5s;animation:dualThread 4.2s ease-in-out infinite;}
.dual-connection.is-redrawing{opacity:0;filter:blur(1px) brightness(1.25);}
.dual-connection.is-drawing{opacity:.86;filter:brightness(1.18);}
.dual-connection::before,.dual-connection::after{content:'';position:absolute;top:50%;width:7px;height:7px;border-radius:50%;background:currentColor;transform:translateY(-50%);box-shadow:0 0 12px currentColor;}
.dual-connection::before{left:-3px;color:var(--line-a,var(--teal));}
.dual-connection::after{right:-3px;color:var(--line-b,var(--teal));}
.dual-map-core{position:absolute;z-index:6;left:60%;top:46%;transform:translate(-50%,-50%);text-align:center;border:0;background:transparent;padding:1rem 1.6rem;min-width:210px;pointer-events:none;text-shadow:0 0 18px rgba(95,227,224,.18);}
.dual-map-core-label{font-family:'Share Tech Mono',monospace;font-size:.46rem;letter-spacing:.3em;text-transform:uppercase;color:rgba(95,227,224,.56);margin-bottom:.35rem;}
.dual-map-core-pair{font-family:'Cormorant Garamond',serif;font-size:1.55rem;font-weight:700;color:var(--ice);transition:opacity .28s ease,transform .28s ease;}
.dual-star{position:absolute;left:calc(var(--x)*1%);top:calc(var(--y)*1%);transform:translate(-50%,-50%);z-index:3;width:58px;height:34px;border:0;background:transparent;color:rgba(200,230,235,.38);font-family:'Share Tech Mono',monospace;font-size:.58rem;letter-spacing:.14em;cursor:none;transition:color .42s ease,text-shadow .42s ease,transform .55s cubic-bezier(.22,1,.36,1),opacity .42s ease;}
.dual-star::before{content:'';position:absolute;left:50%;top:-3px;width:5px;height:5px;border-radius:50%;background:var(--dual-star-color,var(--teal));opacity:.38;transform:translateX(-50%);box-shadow:0 0 9px var(--dual-star-color,var(--teal));transition:opacity .22s,width .22s,height .22s,top .22s;animation:dualTwinkle 5.8s ease-in-out infinite;}
.dual-star:hover,.dual-star.active,.dual-star.mate{color:var(--ice);text-shadow:0 0 12px var(--dual-star-color,var(--teal));}
.dual-star:hover::before,.dual-star.active::before,.dual-star.mate::before{opacity:1;width:8px;height:8px;top:-6px;box-shadow:0 0 16px var(--dual-star-color,var(--teal)),0 0 28px var(--dual-star-color,var(--teal));animation:dualStarGlow 3.2s ease-in-out infinite;}
.dual-star.active,.dual-star.mate{z-index:5;transform:translate(-50%,-50%) scale(1.12);animation:dualPulse 3.4s ease-in-out infinite;}
.dual-star.mate{color:var(--dual-star-color,var(--teal));}
.dual-star.igniting,.dual-star.answering{color:var(--ice);}
.dual-star.igniting::before,.dual-star.answering::before{opacity:1;width:10px;height:10px;top:-7px;box-shadow:0 0 18px var(--dual-star-color,var(--teal)),0 0 44px var(--dual-star-color,var(--teal));}
.dual-star.igniting::after,.dual-star.answering::after{content:'';position:absolute;left:50%;top:-2px;width:9px;height:9px;border:1px solid var(--dual-star-color,var(--teal));border-radius:50%;transform:translate(-50%,-50%) scale(.5);opacity:0;box-shadow:0 0 18px var(--dual-star-color,var(--teal));animation:dualAnswerPulse .95s ease-out 1;}
.dual-star.answering::after{animation-delay:.08s;}
.dual-finder.is-changing .dual-map-core-pair{opacity:.28;transform:translateY(4px);}
.dual-finder-result{position:absolute;z-index:7;left:clamp(2rem,4vw,4.2rem);right:clamp(2rem,4vw,4.2rem);bottom:clamp(1.7rem,4vh,3rem);height:clamp(230px,24vh,265px);display:flex;align-items:center;padding:1.35rem 0 0;border-top:1px solid rgba(95,227,224,.16);backdrop-filter:blur(3px);overflow:hidden;transition:opacity .36s ease,transform .36s ease;}
.dual-finder-result.is-updating{opacity:.42;transform:translateY(6px);}
.dual-finder-result::before{content:'';position:absolute;left:0;right:0;top:-1px;height:1px;background:linear-gradient(90deg,transparent,var(--dr,var(--teal)),rgba(201,168,76,.45),transparent);opacity:.75;}
.dual-result-main{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(360px,1.25fr) minmax(260px,.8fr);gap:clamp(1.4rem,3vw,3.5rem);align-items:center;width:100%;}
.dual-result-identity,.dual-result-narrative,.dual-result-side{min-width:0;}
.dual-result-kicker{font-family:'Share Tech Mono',monospace;font-size:.5rem;letter-spacing:.24em;text-transform:uppercase;color:var(--dr,var(--teal));margin-bottom:.8rem;}
.dual-result-title{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,3vw,3.05rem);font-weight:700;color:var(--ice);line-height:1.05;margin-bottom:1rem;}
.dual-result-title span{color:var(--dr,var(--teal));}
.dual-result-copy{font-size:.92rem;color:rgba(200,220,230,.58);line-height:1.85;margin-bottom:1rem;}
.dual-function-ribbon{display:flex;gap:.45rem;flex-wrap:wrap;margin:.2rem 0 1.2rem;}
.dual-function-chip{font-family:'Share Tech Mono',monospace;font-size:.52rem;letter-spacing:.12em;text-transform:uppercase;color:var(--fc);border:1px solid color-mix(in srgb,var(--fc) 35%,transparent);background:color-mix(in srgb,var(--fc) 8%,transparent);padding:.34rem .52rem;text-shadow:0 0 8px color-mix(in srgb,var(--fc) 45%,transparent);}
.dual-result-exchange{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;background:transparent;border:0;margin:0 0 1rem;}
.dual-result-exchange div{background:transparent;padding:0 0 0 1rem;border-left:1px solid color-mix(in srgb,var(--dr,var(--teal)) 34%,transparent);}
.dual-result-exchange b{display:block;font-family:'Share Tech Mono',monospace;font-size:.48rem;letter-spacing:.16em;text-transform:uppercase;color:var(--dr,var(--teal));margin-bottom:.4rem;}
.dual-result-exchange span{font-size:.78rem;line-height:1.55;color:rgba(200,220,230,.58);}
.dual-result-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:.75rem;align-items:center;}
.dual-result-action{font-family:'Share Tech Mono',monospace;font-size:.5rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(220,240,245,.62);border:0;border-bottom:1px solid rgba(95,227,224,.22);background:transparent;padding:.45rem 0;cursor:none;}
.dual-result-action.primary{color:var(--ice);border:1px solid color-mix(in srgb,var(--dr,var(--teal)) 44%,transparent);background:color-mix(in srgb,var(--dr,var(--teal)) 8%,transparent);padding:.72rem .95rem;}
.dual-result-action:hover{border-color:var(--dr,var(--teal));color:var(--ice);}
.dual-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);position:relative;z-index:1;}
.dual-pair-card{background:rgba(8,17,31,.78);padding:2rem;position:relative;overflow:hidden;transition:background .35s,transform .35s;}
.dual-pair-card:hover{background:rgba(12,25,50,.9);transform:translateY(-2px);}
.dual-pair-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--dc,var(--teal));transform:scaleX(0);transform-origin:left;transition:transform .4s ease;}
.dual-pair-card:hover::before{transform:scaleX(1);}
.dual-kicker{font-family:'Share Tech Mono',monospace;font-size:.5rem;letter-spacing:.28em;text-transform:uppercase;color:var(--dc,var(--teal));opacity:.68;margin-bottom:1.2rem;}
.dual-orbit{display:grid;grid-template-columns:1fr 54px 1fr;align-items:center;gap:.75rem;margin-bottom:1.25rem;}
.dual-type-pill{border:1px solid color-mix(in srgb,var(--dc,var(--teal)) 30%,transparent);background:rgba(6,13,24,.45);padding:1rem .8rem;min-height:118px;color:inherit;cursor:none;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;transition:border-color .25s,background .25s;}
.dual-type-pill:hover{border-color:var(--dc,var(--teal));background:rgba(95,227,224,.045);}
.dual-type-sigil{display:block;width:42px;height:42px;color:var(--dc,var(--teal));opacity:.72;margin-bottom:.55rem;filter:drop-shadow(0 0 10px color-mix(in srgb,var(--dc,var(--teal)) 38%,transparent));}
.dual-type-sigil svg{width:100%;height:100%;}
.dual-code{font-family:'Cormorant Garamond',serif;font-size:1.45rem;font-weight:700;color:var(--ice);line-height:1;}
.dual-name{font-family:'Share Tech Mono',monospace;font-size:.48rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(180,210,220,.4);margin-top:.35rem;}
.dual-link{height:54px;border:1px solid color-mix(in srgb,var(--dc,var(--teal)) 24%,transparent);display:flex;align-items:center;justify-content:center;color:var(--dc,var(--teal));font-family:'Share Tech Mono',monospace;font-size:.88rem;background:radial-gradient(circle,rgba(95,227,224,.055),transparent 68%);}
.dual-copy{font-size:.82rem;color:rgba(180,210,220,.42);line-height:1.75;min-height:70px;}
.dual-actions{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1.25rem;}
.dual-action{font-family:'Share Tech Mono',monospace;font-size:.52rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(220,240,245,.72);border:1px solid color-mix(in srgb,var(--dc,var(--teal)) 26%,transparent);background:rgba(6,13,24,.4);padding:.62rem .9rem;cursor:none;}
.dual-action:hover{border-color:var(--dc,var(--teal));color:var(--ice);}

.compat-tool{position:relative;z-index:2;margin:2.5rem auto 3rem;width:min(1200px,100%);border:1px solid rgba(95,227,224,.16);background:linear-gradient(135deg,rgba(8,17,31,.78),rgba(8,17,31,.42));overflow:hidden;}
.compat-tool::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(to right,transparent,var(--teal),transparent);opacity:.75;}
.compat-tool-inner{position:relative;z-index:1;display:grid;grid-template-columns:minmax(260px,.72fr) minmax(420px,1.28fr);gap:1px;background:rgba(95,227,224,.1);}
.compat-tool-copy,.compat-tool-panel{background:rgba(6,13,24,.58);padding:2rem;}
.compat-tool-kicker{font-family:'Share Tech Mono',monospace;font-size:.5rem;letter-spacing:.28em;text-transform:uppercase;color:rgba(95,227,224,.56);margin-bottom:.85rem;}
.compat-tool-title{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,4vw,3.35rem);line-height:1.02;color:var(--ice);margin-bottom:1rem;}
.compat-tool-title span{color:var(--teal);}
.compat-tool-text{font-size:.94rem;line-height:1.85;color:rgba(200,220,230,.58);max-width:520px;}
.compat-select-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:.85rem;align-items:end;margin-bottom:1.25rem;}
.compat-select label{display:block;font-family:'Share Tech Mono',monospace;font-size:.48rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(95,227,224,.45);margin-bottom:.45rem;}
.compat-select select{width:100%;border:1px solid rgba(95,227,224,.22);background:rgba(5,12,22,.7);color:var(--ice);font-family:'Share Tech Mono',monospace;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;padding:.85rem .9rem;outline:none;cursor:none;}
.compat-select select:focus{border-color:rgba(95,227,224,.55);box-shadow:0 0 0 1px rgba(95,227,224,.16);}
.compat-vs{font-family:'Share Tech Mono',monospace;font-size:.55rem;letter-spacing:.18em;color:rgba(95,227,224,.5);padding-bottom:.95rem;}
.compat-output{border:1px solid rgba(95,227,224,.12);background:radial-gradient(circle at 16% 18%,color-mix(in srgb,var(--rc,var(--teal)) 10%,transparent),transparent 42%),rgba(5,12,22,.44);padding:1.35rem;min-height:220px;position:relative;overflow:hidden;}
.compat-output::before{content:'';position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(to right,var(--rc,var(--teal)),transparent);opacity:.5;}
.compat-output-kicker{font-family:'Share Tech Mono',monospace;font-size:.48rem;letter-spacing:.22em;text-transform:uppercase;color:var(--rc,var(--teal));margin-bottom:.75rem;}
.compat-output-title{font-family:'Cormorant Garamond',serif;font-size:clamp(1.8rem,3.2vw,2.55rem);line-height:1.04;color:var(--ice);margin-bottom:.65rem;}
.compat-output-title span{color:var(--rc,var(--teal));}
.compat-output-tone{display:inline-flex;border:1px solid color-mix(in srgb,var(--rc,var(--teal)) 32%,transparent);background:color-mix(in srgb,var(--rc,var(--teal)) 8%,transparent);font-family:'Share Tech Mono',monospace;font-size:.48rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(235,248,252,.72);padding:.34rem .58rem;margin-bottom:1rem;}
.compat-output-copy{font-size:.9rem;line-height:1.78;color:rgba(200,220,230,.62);margin-bottom:.85rem;max-width:760px;}
.compat-output-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(95,227,224,.1);border:1px solid rgba(95,227,224,.09);margin-top:1.15rem;}
.compat-mini{background:rgba(6,13,24,.55);padding:1rem;}
.compat-mini-head{font-family:'Share Tech Mono',monospace;font-size:.45rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(95,227,224,.48);margin-bottom:.45rem;}
.compat-mini-copy{font-size:.78rem;line-height:1.6;color:rgba(200,220,230,.56);}
.compat-output-actions{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1.2rem;}
.compat-action{font-family:'Share Tech Mono',monospace;font-size:.5rem;letter-spacing:.15em;text-transform:uppercase;color:rgba(220,240,245,.7);border:1px solid rgba(95,227,224,.2);background:rgba(95,227,224,.045);padding:.66rem .85rem;cursor:none;}
.compat-action:hover{border-color:var(--rc,var(--teal));color:var(--ice);}

/* Journal */
.research-section{background:rgba(8,17,31,.35);}
.research-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:2.6rem;}
.research-card{background:var(--bg2);padding:2rem 1.8rem;position:relative;overflow:hidden;min-height:210px;}
.research-card::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:var(--rc,var(--teal));opacity:.7;}
.research-kicker{font-family:'Share Tech Mono',monospace;font-size:.48rem;letter-spacing:.25em;text-transform:uppercase;color:var(--rc,var(--teal));opacity:.72;margin-bottom:1rem;}
.research-title{font-family:'Cormorant Garamond',serif;font-size:1.2rem;font-weight:700;color:var(--ice);margin-bottom:.7rem;}
.research-copy{font-size:.82rem;color:rgba(180,210,220,.42);line-height:1.75;}
.research-status{position:absolute;bottom:1.3rem;left:1.8rem;font-family:'Share Tech Mono',monospace;font-size:.48rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(180,210,220,.28);}
.pulse-panel{margin-top:2.8rem;border:1px solid rgba(95,227,224,.14);background:linear-gradient(135deg,rgba(8,17,31,.72),rgba(8,17,31,.38));display:grid;grid-template-columns:minmax(280px,.82fr) minmax(420px,1.18fr);gap:1px;position:relative;overflow:hidden;}
.pulse-panel::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(to right,transparent,var(--teal),transparent);opacity:.75;}
.pulse-copy,.pulse-map{background:rgba(6,13,24,.52);padding:2rem;position:relative;z-index:1;}
.pulse-kicker{font-family:'Share Tech Mono',monospace;font-size:.5rem;letter-spacing:.26em;text-transform:uppercase;color:rgba(95,227,224,.55);margin-bottom:.9rem;}
.pulse-title{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,4vw,3.3rem);line-height:1.03;color:var(--ice);margin-bottom:1rem;}
.pulse-text{font-size:.94rem;line-height:1.85;color:rgba(200,220,230,.58);max-width:520px;}
.pulse-feed{position:relative;margin-top:1.45rem;min-height:118px;}
.pulse-feed-item{position:absolute;inset:0;border:1px solid color-mix(in srgb,var(--pc,var(--teal)) 28%,transparent);border-left:2px solid var(--pc,var(--teal));background:linear-gradient(135deg,color-mix(in srgb,var(--pc,var(--teal)) 9%,transparent),rgba(5,12,22,.56));padding:1rem 1.1rem 1rem 1rem;font-size:.88rem;line-height:1.55;color:rgba(210,230,236,.62);opacity:0;transform:translateY(10px);transition:opacity .55s ease,transform .55s ease,filter .55s ease;filter:blur(1px);pointer-events:none;}
.pulse-feed-item.active{opacity:1;transform:none;filter:none;pointer-events:auto;}
.pulse-feed-time{display:block;font-family:'Share Tech Mono',monospace;font-size:.46rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(220,240,245,.34);margin-bottom:.45rem;}
.pulse-feed-item strong{font-family:'Share Tech Mono',monospace;font-size:.62rem;letter-spacing:.12em;color:var(--pc,var(--teal));}
.pulse-constellation{position:relative;min-height:360px;border:1px solid rgba(95,227,224,.1);background:radial-gradient(circle at 56% 45%,rgba(95,227,224,.08),transparent 46%);overflow:hidden;}
.pulse-star{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);font-family:'Share Tech Mono',monospace;font-size:.54rem;letter-spacing:.14em;color:rgba(210,230,236,.5);text-align:center;}
.pulse-star::before{content:'';display:block;width:var(--s,8px);height:var(--s,8px);border-radius:50%;background:var(--pc,var(--teal));box-shadow:0 0 calc(var(--s,8px)*2.5) var(--pc,var(--teal));margin:0 auto .45rem;opacity:.85;}
.pulse-star.hot{color:rgba(240,250,252,.78);}
.pulse-star.hot::before{animation:pulseGlow 2.8s ease-in-out infinite;}
@keyframes pulseGlow{0%,100%{transform:scale(1);opacity:.75}50%{transform:scale(1.45);opacity:1}}

.site-footer{padding:4rem 3rem 2.2rem;border-top:1px solid var(--line);background:linear-gradient(180deg,rgba(8,17,31,.58),rgba(6,13,24,.96));position:relative;z-index:10;}
.site-footer::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(to right,transparent,rgba(95,227,224,.45),transparent);opacity:.65;}
.site-footer-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:minmax(240px,1.25fr) repeat(3,minmax(150px,.7fr));gap:2.5rem;}
.site-footer-brand{font-family:'Cormorant Garamond',serif;font-size:2rem;line-height:1;color:var(--ice);margin-bottom:.55rem;}
.site-footer-system-row{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;flex-wrap:wrap;}
.site-footer-system{font-family:'Share Tech Mono',monospace;font-size:.52rem;letter-spacing:.28em;text-transform:uppercase;color:rgba(95,227,224,.55);}
.site-footer-copy{font-size:.88rem;line-height:1.75;color:rgba(180,210,220,.48);max-width:360px;}
.site-footer-col-title{font-family:'Share Tech Mono',monospace;font-size:.5rem;letter-spacing:.28em;text-transform:uppercase;color:rgba(95,227,224,.48);margin-bottom:1rem;}
.site-footer-links{display:grid;gap:.65rem;}
.site-footer-links a{font-family:'Share Tech Mono',monospace;font-size:.56rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(190,220,228,.46);text-decoration:none;cursor:none;transition:color .25s,transform .25s;text-wrap:balance;}
.site-footer-links a:hover{color:var(--teal);transform:translateX(3px);}
.site-footer-links a.footer-primary{color:rgba(235,248,252,.72);}
.site-footer-links a.footer-accent{color:rgba(95,227,224,.72);}
.site-footer-bottom{max-width:1200px;margin:3rem auto 0;padding-top:1.2rem;border-top:1px solid rgba(95,227,224,.08);display:flex;justify-content:space-between;gap:1rem;align-items:center;font-family:'Share Tech Mono',monospace;font-size:.48rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(120,160,180,.32);}
.site-footer-bottom a{color:rgba(95,227,224,.48);text-decoration:none;cursor:none;}
.site-footer-system-link{display:block;width:max-content;font-family:'Share Tech Mono',monospace;font-size:.5rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(139,111,255,.7);text-decoration:none;cursor:none;}
.site-footer-system-link:hover{color:rgba(180,165,255,.9);}
.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(95,227,224,.34);background:rgba(95,227,224,.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;transition:border-color .25s ease,background .25s ease,box-shadow .25s ease,transform .25s ease;}
.foundation-theory-btn.secondary{border-color:rgba(180,210,220,.18);background:rgba(180,210,220,.025);color:rgba(220,236,242,.62);}
.foundation-theory-btn:hover{border-color:rgba(95,227,224,.72);background:rgba(95,227,224,.12);box-shadow:0 0 26px rgba(95,227,224,.14);transform:translateY(-2px);}
.foundation-theory-btn.secondary:hover{border-color:rgba(95,227,224,.48);color:rgba(235,248,252,.86);}
.theory-back{display:inline-flex;align-items:center;gap:.7rem;font-family:'Share Tech Mono',monospace;font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(95,227,224,.55);cursor:none;padding:0 3rem;margin-top:2.5rem;margin-bottom:1rem;transition:color .3s;background:none;border:none;}
.theory-back:hover{color:var(--teal);}
.theory-wrap{max-width:1240px;margin:0 auto;padding:2rem 3rem 6rem;}
.theory-hero{border:1px solid rgba(95,227,224,.16);background:radial-gradient(circle at 18% 8%,rgba(95,227,224,.09),transparent 32%),linear-gradient(135deg,rgba(8,17,31,.78),rgba(6,13,24,.45));padding:4rem;position:relative;overflow:hidden;}
.theory-hero::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(to right,transparent,var(--teal),transparent);opacity:.75;}
.theory-kicker{font-family:'Share Tech Mono',monospace;font-size:.55rem;letter-spacing:.32em;text-transform:uppercase;color:rgba(95,227,224,.58);margin-bottom:1.1rem;}
.theory-title{font-family:'Cormorant Garamond',serif;font-size:clamp(3rem,7vw,6.2rem);font-weight:700;line-height:.95;color:var(--ice);max-width:920px;margin-bottom:1.3rem;}
.theory-title span{color:var(--teal);}
.theory-lede{font-size:1.08rem;line-height:1.95;color:rgba(200,220,230,.66);max-width:760px;}
.theory-section{border:1px solid rgba(95,227,224,.12);border-top:0;background:rgba(8,17,31,.34);padding:3rem 4rem;}
.theory-section-title{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,4vw,3.35rem);line-height:1.05;color:var(--ice);margin-bottom:1.35rem;}
.theory-section-title span{color:var(--teal);}
.theory-copy{font-size:1rem;line-height:1.9;color:rgba(200,220,230,.62);max-width:820px;margin-bottom:1.1rem;}
.theory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:rgba(95,227,224,.12);border:1px solid rgba(95,227,224,.12);margin-top:1.6rem;}
.theory-card{background:rgba(6,13,24,.68);padding:1.55rem;min-height:220px;}
.theory-card-kicker{font-family:'Share Tech Mono',monospace;font-size:.5rem;letter-spacing:.24em;text-transform:uppercase;color:rgba(95,227,224,.55);margin-bottom:.8rem;}
.theory-card-title{font-family:'Cormorant Garamond',serif;font-size:1.55rem;line-height:1.1;color:var(--ice);margin-bottom:.75rem;}
.theory-card-copy{font-size:.93rem;line-height:1.75;color:rgba(200,220,230,.58);}
.theory-matrix{width:100%;border-collapse:collapse;margin:1.6rem 0 1.35rem;border:1px solid rgba(95,227,224,.14);background:rgba(6,13,24,.46);}
.theory-matrix th,.theory-matrix td{border:1px solid rgba(95,227,224,.12);padding:1.15rem 1.25rem;text-align:left;vertical-align:top;}
.theory-matrix th{font-family:'Share Tech Mono',monospace;font-size:.52rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(95,227,224,.68);background:rgba(95,227,224,.04);}
.theory-matrix td{font-size:.95rem;line-height:1.72;color:rgba(200,220,230,.62);}
.theory-matrix td:first-child{font-family:'Cormorant Garamond',serif;font-size:1.25rem;line-height:1.15;color:rgba(235,248,252,.85);}
.theory-callout-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(95,227,224,.12);border:1px solid rgba(95,227,224,.12);margin:1.35rem 0;}
.theory-callout{background:rgba(6,13,24,.66);padding:1.45rem;}
.theory-callout-title{font-family:'Cormorant Garamond',serif;font-size:1.45rem;line-height:1.1;color:var(--ice);margin-bottom:.65rem;}
.theory-callout-title span{color:var(--teal);}
.theory-callout-copy{font-size:.96rem;line-height:1.78;color:rgba(200,220,230,.62);}
.theory-detail-list{border:1px solid rgba(95,227,224,.12);background:rgba(8,17,31,.3);margin-top:1.35rem;}
.theory-detail-list details{border-bottom:1px solid rgba(95,227,224,.09);}
.theory-detail-list details:last-child{border-bottom:0;}
.theory-detail-list summary{list-style:none;cursor:none;padding:1.15rem 1.35rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;font-family:'Cormorant Garamond',serif;font-size:1.35rem;font-weight:700;color:rgba(235,248,252,.86);}
.theory-detail-list summary::-webkit-details-marker{display:none;}
.theory-detail-list summary::after{content:'+';font-family:'Share Tech Mono',monospace;font-size:.7rem;color:rgba(95,227,224,.55);}
.theory-detail-list details[open] summary::after{content:'-';}
.theory-detail-copy{padding:0 1.35rem 1.3rem;font-size:.96rem;line-height:1.8;color:rgba(200,220,230,.6);max-width:980px;}
.theory-pill-row{display:flex;flex-wrap:wrap;gap:.55rem;margin:1.35rem 0 .3rem;}
.theory-pill{font-family:'Share Tech Mono',monospace;font-size:.52rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(95,227,224,.74);border:1px solid rgba(95,227,224,.18);background:rgba(95,227,224,.045);padding:.45rem .62rem;}
@media(max-width:820px){
  .site-footer{padding:2.4rem 1.35rem 1.6rem;}
  .site-footer-inner{grid-template-columns:1fr 1fr;gap:1.45rem 1.2rem;}
  .site-footer-brand-block{grid-column:1/-1;}
  .site-footer-brand{font-size:1.75rem;margin-bottom:.35rem;}
  .site-footer-system-row{margin-bottom:.75rem;gap:.85rem;}
  .site-footer-copy{display:none;}
  .site-footer-col-title{margin-bottom:.65rem;}
  .site-footer-links{gap:.42rem;}
  .site-footer-links a{font-size:.5rem;letter-spacing:.13em;line-height:1.45;}
  .site-footer-bottom{margin-top:1.55rem;padding-top:.9rem;gap:.55rem;}
}
@media(max-width:520px){
  .site-footer-inner{grid-template-columns:1fr 1fr;gap:1.25rem .9rem;}
  .site-footer-brand-block{grid-column:1/-1;}
  .site-footer-links a{font-size:.48rem;}
  .site-footer-bottom{font-size:.42rem;line-height:1.55;}
  .site-footer-bottom a{display:none;}
}
@media(max-width:700px){
  #theory-page{padding-top:4.2rem;}
  .theory-back{padding:0 1.5rem;margin-top:1.4rem;margin-bottom:.8rem;}
  .theory-wrap{padding:1rem 1.5rem 4rem;}
  .theory-hero{padding:2.4rem 1.5rem;}
  .theory-section{padding:2.2rem 1.5rem;}
  .theory-grid,.theory-callout-grid{grid-template-columns:1fr;}
  .theory-matrix{display:block;overflow-x:auto;}
  .theory-matrix th,.theory-matrix td{min-width:180px;padding:1rem;}
  .theory-card{min-height:0;}
  .foundation-actions{flex-direction:column;align-items:stretch;}
  .foundation-theory-btn{width:100%;max-width:360px;}
}

.reveal{opacity:0;transform:translateY(18px);transition:opacity .8s ease,transform .8s ease;}
.reveal.vis{opacity:1;transform:none;}
@keyframes fadeUp{from{opacity:0;transform:translateY(24px);}to{opacity:1;transform:none;}}
@keyframes dualSkyDrift{from{transform:translate3d(0,0,0);opacity:.42;}to{transform:translate3d(-12px,9px,0);opacity:.68;}}
@keyframes dualTwinkle{0%,100%{opacity:.32;}45%{opacity:.74;}70%{opacity:.44;}}
@keyframes dualPulse{0%,100%{filter:brightness(1);text-shadow:0 0 12px var(--dual-star-color,var(--teal));}50%{filter:brightness(1.35);text-shadow:0 0 18px var(--dual-star-color,var(--teal)),0 0 34px var(--dual-star-color,var(--teal));}}
@keyframes dualStarGlow{0%,100%{box-shadow:0 0 16px var(--dual-star-color,var(--teal)),0 0 28px var(--dual-star-color,var(--teal));}50%{box-shadow:0 0 22px var(--dual-star-color,var(--teal)),0 0 46px var(--dual-star-color,var(--teal));}}
@keyframes dualThread{0%,100%{background-position:0 50%;opacity:.66;filter:brightness(1);}50%{background-position:100% 50%;opacity:.96;filter:brightness(1.45);}}
@keyframes dualShootingStar{0%,64%{opacity:0;transform:rotate(-24deg) translateX(-180px);}70%{opacity:.92;}82%{opacity:0;transform:rotate(-24deg) translateX(210px);}100%{opacity:0;transform:rotate(-24deg) translateX(210px);}}
@keyframes dualAnswerPulse{0%{opacity:.82;transform:translate(-50%,-50%) scale(.45);}68%{opacity:.28;}100%{opacity:0;transform:translate(-50%,-50%) scale(3.2);}}
@media(prefers-reduced-motion:reduce){.dual-finder::before,.dual-map-wrap::before,.dual-map-wrap::after,.dual-connection,.dual-star,.dual-star::before,.dual-star::after{animation:none!important;}}

/* ─────────────────────────────────────
   TYPE DETAIL PAGE
───────────────────────────────────── */
#type-page{min-height:100vh;padding-top:5rem;background:var(--bg);position:relative;z-index:10;}
.tp-back{display:inline-flex;align-items:center;gap:.7rem;font-family:'Share Tech Mono',monospace;font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(95,227,224,.5);cursor:none;padding:0 3rem;margin-top:2rem;margin-bottom:3.5rem;transition:color .3s;background:none;border:none;}
.tp-back:hover{color:var(--teal);}
.tp-back svg{transition:transform .3s;}
.tp-back:hover svg{transform:translateX(-3px);}
.tp-hero{padding:0 3rem 5rem;max-width:1200px;margin:0 auto;}
.tp-top{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start;margin-bottom:5rem;}
.tp-quadra-badge{font-family:'Share Tech Mono',monospace;font-size:.55rem;letter-spacing:.3em;text-transform:uppercase;margin-bottom:1.5rem;display:inline-flex;align-items:center;gap:.6rem;}
.tp-quadra-dot{width:6px;height:6px;border-radius:50%;}
.tp-code{font-family:'Cormorant Garamond',serif;font-size:clamp(5rem,12vw,9rem);font-weight:700;line-height:.85;color:var(--ice);margin-bottom:.3rem;}
.tp-name{font-family:'Cormorant Garamond',serif;font-size:1.6rem;font-style:italic;font-weight:400;color:var(--teal);margin-bottom:2rem;}
.tp-desc{font-size:1.05rem;font-weight:400;color:rgba(200,220,230,.75);line-height:1.95;max-width:520px;margin-bottom:2.5rem;}
.tp-dichots{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem;}
.tp-dichotag{font-family:'Share Tech Mono',monospace;font-size:.58rem;letter-spacing:.1em;padding:.3rem .8rem;border:1px solid rgba(95,227,224,.2);color:rgba(180,210,220,.5);}
.tp-func-block{margin-bottom:3rem;}
.tp-func-title{font-family:'Share Tech Mono',monospace;font-size:.58rem;letter-spacing:.35em;text-transform:uppercase;color:rgba(95,227,224,.4);margin-bottom:1.5rem;}
.tp-funcs{display:flex;flex-direction:column;gap:.6rem;}
/* Function rows now clickable */
.tp-func-row{display:flex;align-items:center;gap:1.2rem;padding:1rem 1.4rem;border:1px solid rgba(95,227,224,.08);background:rgba(8,17,31,.5);transition:all .3s;cursor:none;position:relative;}
.tp-func-row:hover{border-color:rgba(95,227,224,.25);background:rgba(12,25,50,.7);}
.tp-func-row:not(.dim-row):hover{border-color:rgba(95,227,224,.35);}
.tp-func-row.dim-row{opacity:.45;}
.tp-func-row:not(.dim-row)::after{content:'→';position:absolute;right:1rem;font-family:'Share Tech Mono',monospace;font-size:.52rem;color:rgba(95,227,224,.3);opacity:0;transform:translateX(-4px);transition:all .25s;}
.tp-func-row:not(.dim-row):hover::after{opacity:1;transform:translateX(0);}
.tp-func-badge{font-family:'Share Tech Mono',monospace;font-size:.65rem;padding:.3rem .7rem;flex-shrink:0;min-width:36px;text-align:center;}
.tp-func-pos{font-family:'Share Tech Mono',monospace;font-size:.5rem;letter-spacing:.15em;color:rgba(120,160,180,.4);flex-shrink:0;min-width:70px;}
.tp-func-desc{font-size:.85rem;color:rgba(200,220,230,.6);line-height:1.65;}
.tp-func-row:hover .tp-func-desc{color:rgba(180,210,220,.7);}
.tp-section{border-top:1px solid var(--line);padding:4rem 3rem;max-width:1200px;margin:0 auto;}
.tp-sec-label{font-family:'Share Tech Mono',monospace;font-size:.55rem;letter-spacing:.4em;text-transform:uppercase;color:color-mix(in srgb,var(--type-color,var(--teal)) 58%,rgba(220,240,245,.32));margin-bottom:2rem;}
.tp-sec-heading{font-family:'Cormorant Garamond',serif;font-size:clamp(1.8rem,4vw,3rem);font-weight:700;margin-bottom:2rem;}
.tp-sec-heading .a{color:var(--type-color,var(--teal));}
.tp-traits-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);}
.tp-trait-col{background:var(--bg2);padding:2.2rem 2rem;}
.tp-trait-col-head{font-family:'Share Tech Mono',monospace;font-size:.55rem;letter-spacing:.3em;text-transform:uppercase;margin-bottom:1.5rem;}
.tp-trait-list{list-style:none;display:flex;flex-direction:column;gap:.85rem;}
.tp-trait-list li{display:flex;gap:.9rem;font-size:.9rem;color:rgba(200,220,230,.65);line-height:1.65;}
.tp-trait-dot{width:4px;height:4px;border-radius:50%;flex-shrink:0;margin-top:.6rem;}
.tp-model-graph-intro{
  max-width:760px;
  margin:-.35rem 0 1.4rem;
  color:rgba(200,220,230,.58);
  font-size:.98rem;
  line-height:1.85;
}
.tp-model-graph-intro strong{
  color:rgba(235,248,252,.82);
  font-weight:700;
}
.tp-model-graph-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
}
.tp-model-graph-card{
  --metric-color:var(--type-color,var(--teal));
  border:1px solid color-mix(in srgb,var(--metric-color) 28%,var(--line));
  background:
    radial-gradient(circle at 18% 12%,color-mix(in srgb,var(--metric-color) 10%,transparent),transparent 34%),
    linear-gradient(135deg,rgba(8,17,31,.88),rgba(6,13,24,.68));
  padding:1.55rem;
  position:relative;
  overflow:hidden;
}
.tp-model-graph-card::before{
  content:'';
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--metric-color),transparent);
  opacity:.72;
}
.tp-model-graph-head{
  position:relative;
  z-index:1;
  display:grid;
  gap:.35rem;
  margin-bottom:1rem;
}
.tp-model-graph-kicker{
  font-family:'Share Tech Mono',monospace;
  font-size:.48rem;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:color-mix(in srgb,var(--metric-color) 76%,var(--ice));
}
.tp-model-graph-head h3{
  font-family:'Rajdhani',sans-serif;
  font-size:1.55rem;
  line-height:1.05;
  color:var(--ice);
  margin:0;
}
.tp-model-graph-head p{
  margin:.2rem 0 0;
  color:rgba(180,210,220,.55);
  font-size:.9rem;
  line-height:1.65;
}
.tp-model-graph-body{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(260px,.98fr) minmax(190px,.72fr);
  gap:1.2rem;
  align-items:center;
}
.tp-octagon-wrap{
  display:grid;
  place-items:center;
  min-height:310px;
}
.tp-octagon-graph{
  width:min(330px,100%);
  height:auto;
  overflow:visible;
  filter:drop-shadow(0 18px 42px rgba(0,0,0,.28));
}
.tp-oct-grid{
  fill:none;
  stroke:rgba(140,165,190,.14);
  stroke-width:1;
}
.tp-oct-grid--outer{
  stroke:color-mix(in srgb,var(--metric-color) 34%,rgba(140,165,190,.24));
}
.tp-oct-axis{
  stroke:rgba(140,165,190,.12);
  stroke-width:1;
  stroke-dasharray:2 5;
}
.tp-oct-area{
  fill:color-mix(in srgb,var(--metric-color) 17%,transparent);
  stroke:color-mix(in srgb,var(--metric-color) 78%,var(--ice));
  stroke-width:2;
}
.tp-oct-point{
  fill:var(--tf-color);
  stroke:#07111f;
  stroke-width:2;
}
.tp-oct-label{
  font-family:'Share Tech Mono',monospace;
  pointer-events:none;
}
.tp-oct-label-code{
  fill:var(--tf-color);
  font-size:12px;
  font-weight:700;
}
.tp-oct-label-score{
  fill:rgba(200,220,230,.58);
  font-size:8px;
  letter-spacing:.08em;
}
.tp-model-legend{
  display:grid;
  gap:.58rem;
}
.tp-model-legend-row{
  display:grid;
  grid-template-columns:1fr auto;
  gap:.36rem .65rem;
  align-items:center;
  padding:.45rem 0;
  border-bottom:1px solid rgba(140,165,190,.12);
}
.tp-model-legend-row.is-valued-position{
  padding:.55rem .65rem .52rem;
  border:1px solid rgba(var(--tf-rgb),.22);
  border-left:2px solid var(--tf-color);
  background:linear-gradient(90deg,rgba(var(--tf-rgb),.105),rgba(var(--tf-rgb),.026));
  box-shadow:0 0 22px rgba(var(--tf-rgb),.075);
}
.tp-model-legend-main{
  display:flex;
  align-items:baseline;
  gap:.5rem;
  min-width:0;
}
.tp-model-legend-main strong{
  color:var(--tf-color);
  font-family:'Share Tech Mono',monospace;
  font-size:.88rem;
  line-height:1;
}
.tp-model-legend-main span{
  color:rgba(220,240,245,.66);
  font-family:'Rajdhani',sans-serif;
  font-size:.86rem;
  font-weight:600;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.tp-model-legend-meta{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:.48rem;
  color:rgba(180,210,220,.48);
  font-family:'Share Tech Mono',monospace;
  font-size:.48rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  min-width:0;
}
.tp-model-legend-meta b{
  color:var(--tf-color);
  font-size:.58rem;
}
.tp-model-legend-row.is-valued-position .tp-model-legend-meta span{
  color:rgba(230,246,250,.72);
}
.tp-model-legend-row.is-valued-position .tp-model-legend-meta b{
  text-shadow:0 0 12px rgba(var(--tf-rgb),.35);
}
.tp-model-legend-row i{
  grid-column:1/-1;
  display:block;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--tf-color) var(--bar),rgba(120,145,165,.16) var(--bar));
  box-shadow:0 0 14px rgba(var(--tf-rgb),.18);
}
@media(max-width:1000px){
  .tp-model-graph-grid{grid-template-columns:1fr;}
  .tp-model-graph-body{grid-template-columns:minmax(260px,.95fr) minmax(210px,.7fr);}
}
@media(max-width:700px){
  .tp-model-graph-intro{font-size:.94rem;line-height:1.75;}
  .tp-model-graph-card{padding:1.15rem;}
  .tp-model-graph-body{grid-template-columns:1fr;gap:.9rem;}
  .tp-octagon-wrap{min-height:260px;}
  .tp-octagon-graph{width:min(300px,100%);}
  .tp-oct-label-code{font-size:11px;}
  .tp-oct-label-score{font-size:7.5px;}
  .tp-model-legend-row{padding:.5rem 0;}
  .tp-model-legend-main span{font-size:.82rem;}
}
.tp-famous-grid{display:none;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
.tp-famous-card{background:var(--bg2);padding:1.8rem 1.6rem;}
.tp-famous-name{font-family:'Cormorant Garamond',serif;font-size:1.1rem;font-weight:600;color:var(--ice);margin-bottom:.3rem;}
.tp-famous-field{font-family:'Share Tech Mono',monospace;font-size:.55rem;letter-spacing:.12em;color:rgba(95,227,224,.45);}
.tp-dual-panel{border:1px solid color-mix(in srgb,var(--type-color,var(--teal)) 28%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--type-color,var(--teal)) 8%,transparent),rgba(8,17,31,.94) 42%,rgba(8,17,31,.78));position:relative;overflow:hidden;margin-bottom:1.6rem;}
.tp-dual-panel::before{content:'';position:absolute;inset:-120px auto auto -120px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--type-color,var(--teal)) 18%,transparent),transparent 65%);pointer-events:none;}
.tp-dual-head{position:relative;z-index:1;display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:start;padding:2.2rem 2.2rem 1.6rem;}
.tp-dual-kicker{font-family:'Share Tech Mono',monospace;font-size:.52rem;letter-spacing:.28em;text-transform:uppercase;color:var(--type-color,var(--teal));margin-bottom:.9rem;}
.tp-dual-title{font-family:'Cormorant Garamond',serif;font-size:clamp(1.9rem,4vw,3.2rem);font-weight:700;color:var(--ice);line-height:1.05;margin-bottom:.85rem;}
.tp-dual-title span{color:var(--type-color,var(--teal));}
.tp-dual-summary{font-size:1rem;line-height:1.85;color:rgba(200,220,230,.64);max-width:820px;}
.tp-dual-mark{display:grid;place-items:center;width:120px;height:120px;border:1px solid color-mix(in srgb,var(--type-color,var(--teal)) 32%,transparent);background:rgba(6,13,24,.45);color:var(--type-color,var(--teal));filter:drop-shadow(0 0 18px color-mix(in srgb,var(--type-color,var(--teal)) 28%,transparent));}
.tp-dual-mark .type-sigil{width:82px;height:82px;}
.tp-dual-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border-top:1px solid var(--line);}
.tp-dual-card{background:rgba(7,16,31,.9);padding:1.6rem 1.7rem;}
.tp-dual-card-head{font-family:'Share Tech Mono',monospace;font-size:.5rem;letter-spacing:.22em;text-transform:uppercase;color:var(--type-color,var(--teal));opacity:.75;margin-bottom:.85rem;}
.tp-dual-card-title{font-family:'Cormorant Garamond',serif;font-size:1.25rem;font-weight:700;color:var(--ice);margin-bottom:.7rem;}
.tp-dual-card-copy{font-size:.9rem;color:rgba(200,220,230,.62);line-height:1.75;}
.tp-dual-details{position:relative;z-index:1;background:rgba(6,13,24,.62);border-top:1px solid var(--line);}
.tp-dual-details summary{list-style:none;cursor:none;padding:1.35rem 2.2rem;font-family:'Share Tech Mono',monospace;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(220,240,245,.72);}
.tp-dual-details summary::-webkit-details-marker{display:none;}
.tp-dual-details summary::after{content:'+';float:right;color:var(--type-color,var(--teal));}
.tp-dual-details[open] summary::after{content:'-';}
.tp-dual-details-body{display:grid;grid-template-columns:1.2fr .8fr;gap:1px;background:var(--line);border-top:1px solid var(--line);}
.tp-dual-detail-copy,.tp-dual-detail-list{background:rgba(7,16,31,.9);padding:1.6rem 2rem;font-size:.9rem;color:rgba(200,220,230,.62);line-height:1.85;}
.tp-dual-detail-list ul{margin:0;padding-left:1.1rem;}
.tp-dual-detail-list li{margin-bottom:.7rem;}
.tp-compat-subhead{font-family:'Share Tech Mono',monospace;font-size:.55rem;letter-spacing:.26em;text-transform:uppercase;color:color-mix(in srgb,var(--type-color,var(--teal)) 58%,rgba(220,240,245,.32));margin:2rem 0 1rem;}
.tp-compat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:color-mix(in srgb,var(--type-color,var(--teal)) 16%,transparent);border:1px solid color-mix(in srgb,var(--type-color,var(--teal)) 16%,transparent);}
.tp-compat-card{background:var(--bg2);padding:1.6rem 1.8rem;transition:background .3s;}
.tp-compat-card:hover{background:rgba(12,25,50,.9);}
.tp-compat-card{cursor:none;position:relative;touch-action:manipulation;-webkit-tap-highlight-color:transparent;}
.tp-compat-card::after{content:'+';position:absolute;top:1.25rem;right:1.35rem;font-family:'Share Tech Mono',monospace;font-size:.7rem;color:color-mix(in srgb,var(--type-color,var(--teal)) 50%,rgba(220,240,245,.28));transition:transform .25s,color .25s;}
.tp-compat-card.open::after{content:'-';color:var(--type-color,var(--teal));}
.tp-compat-card:focus-visible{outline:2px solid color-mix(in srgb,var(--type-color,var(--teal)) 72%,transparent);outline-offset:3px;}
.tp-compat-rel{font-family:'Cormorant Garamond',serif;font-size:1rem;font-weight:700;color:var(--ice);margin-bottom:.25rem;}
.tp-compat-type{font-family:'Share Tech Mono',monospace;font-size:.6rem;letter-spacing:.15em;margin-bottom:.5rem;}
.tp-compat-desc{font-size:.82rem;color:rgba(200,220,230,.55);line-height:1.7;}
.tp-compat-more{max-height:0;opacity:0;overflow:hidden;transition:max-height .35s ease,opacity .25s ease;margin-top:0;}
.tp-compat-card.open .tp-compat-more{max-height:360px;opacity:1;margin-top:1rem;}
.tp-compat-mini{border-top:1px solid color-mix(in srgb,var(--type-color,var(--teal)) 14%,transparent);padding-top:.85rem;margin-top:.85rem;}
.tp-compat-mini-head{font-family:'Share Tech Mono',monospace;font-size:.48rem;letter-spacing:.2em;text-transform:uppercase;color:color-mix(in srgb,var(--type-color,var(--teal)) 58%,rgba(220,240,245,.3));margin-bottom:.35rem;}
.tp-compat-mini-copy{font-size:.82rem;color:rgba(200,220,230,.58);line-height:1.65;}
.tp-compat-bar{height:2px;margin-top:.8rem;border-radius:1px;}
.tp-notes-grid,.tp-mistype-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
.tp-note-card,.tp-mistype-card{background:var(--bg2);padding:1.55rem 1.65rem;}
.tp-note-kicker,.tp-mistype-code{font-family:'Share Tech Mono',monospace;font-size:.52rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(95,227,224,.55);margin-bottom:.7rem;}
.tp-note-title{font-family:'Cormorant Garamond',serif;font-size:1.2rem;font-weight:700;color:var(--ice);margin-bottom:.55rem;}
.tp-note-copy,.tp-mistype-copy{font-size:.88rem;color:rgba(200,220,230,.6);line-height:1.7;}
.tp-mistype-name{font-family:'Cormorant Garamond',serif;font-size:1.05rem;color:var(--ice);margin-bottom:.55rem;}
.tp-constellation{position:relative;display:grid;grid-template-columns:minmax(280px,.9fr) 1.35fr;gap:1px;border:1px solid color-mix(in srgb,var(--type-color,var(--teal)) 16%,transparent);background:linear-gradient(135deg,color-mix(in srgb,var(--type-color,var(--teal)) 18%,transparent),color-mix(in srgb,var(--type-color,var(--teal)) 5%,transparent) 34%,rgba(10,20,38,.6));overflow:hidden;}
.tp-constellation::before{content:'';position:absolute;inset:2.5rem auto auto 2.5rem;width:320px;height:320px;border:1px solid color-mix(in srgb,var(--type-color,var(--teal)) 16%,transparent);border-radius:50%;box-shadow:0 0 50px color-mix(in srgb,var(--type-color,var(--teal)) 8%,transparent);pointer-events:none;}
.tp-constellation::after{content:'';position:absolute;right:14%;top:18%;width:180px;height:180px;border:1px dashed color-mix(in srgb,var(--type-color,var(--teal)) 20%,transparent);border-radius:50%;pointer-events:none;}
.tp-constellation-core,.tp-constellation-card{position:relative;background:rgba(7,16,31,.88);z-index:1;}
.tp-constellation-core{padding:2.4rem;display:flex;flex-direction:column;justify-content:center;min-height:390px;}
.tp-constellation-mark{font-family:'Cormorant Garamond',serif;font-size:clamp(4.2rem,8vw,7rem);font-weight:700;line-height:.85;color:var(--type-color,var(--teal));text-shadow:0 0 44px color-mix(in srgb,var(--type-color,var(--teal)) 22%,transparent);margin-bottom:1.1rem;}
.tp-constellation-name{font-family:'Cormorant Garamond',serif;font-size:1.8rem;font-style:italic;color:var(--ice);margin-bottom:1.25rem;}
.tp-constellation-copy{font-size:1rem;line-height:1.9;color:rgba(200,220,230,.66);max-width:560px;}
.tp-constellation-paths{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:color-mix(in srgb,var(--type-color,var(--teal)) 16%,transparent);}
.tp-constellation-card{padding:1.7rem 1.7rem 1.8rem;min-height:195px;}
.tp-constellation-chip{display:inline-flex;align-items:center;gap:.55rem;font-family:'Share Tech Mono',monospace;font-size:.54rem;letter-spacing:.2em;text-transform:uppercase;color:color-mix(in srgb,var(--type-color,var(--teal)) 68%,rgba(220,240,245,.34));margin-bottom:1rem;}
.tp-constellation-chip::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--type-color,var(--teal));box-shadow:0 0 10px var(--type-color,var(--teal));}
.tp-constellation-title{font-family:'Cormorant Garamond',serif;font-size:1.35rem;font-weight:700;color:var(--ice);line-height:1.12;margin-bottom:.8rem;}
.tp-constellation-card p{font-size:.92rem;line-height:1.78;color:rgba(200,220,230,.62);margin:0;}
.tp-dynamics-grid{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:.2rem .2rem 1rem;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--type-color,var(--teal)) 42%,transparent) transparent;}
.tp-dynamics-grid::-webkit-scrollbar{height:6px;}
.tp-dynamics-grid::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--type-color,var(--teal)) 42%,transparent);border-radius:999px;}
.tp-dynamic-card{background:var(--bg2);border:1px solid color-mix(in srgb,var(--type-color,var(--teal)) 16%,transparent);padding:1.8rem 1.75rem;min-height:235px;min-width:min(430px,78vw);scroll-snap-align:start;}
.tp-scenario-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:color-mix(in srgb,var(--type-color,var(--teal)) 16%,transparent);border:1px solid color-mix(in srgb,var(--type-color,var(--teal)) 16%,transparent);}
.tp-scenario-card{background:var(--bg2);padding:1.8rem 1.75rem;min-height:220px;}
.tp-scenario-kicker{font-family:'Share Tech Mono',monospace;font-size:.5rem;letter-spacing:.2em;text-transform:uppercase;color:color-mix(in srgb,var(--type-color,var(--teal)) 64%,rgba(220,240,245,.32));margin-bottom:.85rem;}
.tp-scenario-title{font-family:'Cormorant Garamond',serif;font-size:1.25rem;font-weight:700;color:var(--ice);line-height:1.15;margin-bottom:.75rem;}
.tp-scenario-copy{font-size:.9rem;color:rgba(200,220,230,.62);line-height:1.78;}
.tp-compass-section{position:relative;overflow:hidden;}
.tp-compass-section::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 10% 0,color-mix(in srgb,var(--type-color,var(--teal)) 14%,transparent),transparent 32%),radial-gradient(circle at 92% 18%,rgba(201,168,76,.08),transparent 30%);pointer-events:none;}
.tp-compass-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:color-mix(in srgb,var(--type-color,var(--teal)) 28%,rgba(95,227,224,.12));border:1px solid color-mix(in srgb,var(--type-color,var(--teal)) 32%,rgba(95,227,224,.14));}
.tp-compass-card{position:relative;overflow:hidden;background:linear-gradient(150deg,rgba(7,16,31,.94),rgba(8,17,31,.82));padding:1.8rem 1.75rem 1.65rem;min-height:420px;display:flex;flex-direction:column;transition:transform .28s ease,border-color .28s ease,background .28s ease;}
.tp-compass-card::before{content:'';position:absolute;inset:0 0 auto;height:2px;background:linear-gradient(90deg,var(--type-color,var(--teal)),transparent);opacity:.8;}
.tp-compass-card::after{content:'';position:absolute;right:-72px;top:-72px;width:180px;height:180px;border:1px solid color-mix(in srgb,var(--type-color,var(--teal)) 16%,transparent);border-radius:50%;box-shadow:0 0 44px color-mix(in srgb,var(--type-color,var(--teal)) 9%,transparent);pointer-events:none;}
.tp-compass-card:hover{transform:translateY(-3px);background:linear-gradient(150deg,rgba(10,22,42,.98),rgba(8,17,31,.88));}
.tp-compass-icon{width:48px;height:48px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--type-color,var(--teal)) 36%,transparent);background:color-mix(in srgb,var(--type-color,var(--teal)) 10%,rgba(6,13,24,.6));color:var(--type-color,var(--teal));margin-bottom:1.1rem;box-shadow:0 0 24px color-mix(in srgb,var(--type-color,var(--teal)) 12%,transparent);}
.tp-compass-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.tp-compass-kicker{font-family:'Share Tech Mono',monospace;font-size:.5rem;letter-spacing:.24em;text-transform:uppercase;color:color-mix(in srgb,var(--type-color,var(--teal)) 72%,rgba(220,240,245,.58));margin-bottom:.7rem;}
.tp-compass-card h3{font-family:'Cormorant Garamond',serif;font-size:clamp(1.55rem,2vw,2rem);line-height:1.02;color:var(--ice);margin:0 0 .8rem;}
.tp-compass-title{font-family:'Rajdhani',sans-serif;font-size:1.02rem;font-weight:700;color:rgba(225,242,248,.82);line-height:1.25;margin-bottom:.85rem;}
.tp-compass-card p{color:rgba(200,220,230,.64);font-size:.92rem;line-height:1.78;margin:0 0 1.15rem;}
.tp-compass-list{list-style:none;margin:0 0 1.25rem;padding:0;display:grid;gap:.7rem;}
.tp-compass-list li{position:relative;color:rgba(220,236,242,.72);font-size:.88rem;line-height:1.55;padding-left:1.05rem;}
.tp-compass-list li::before{content:'';position:absolute;left:0;top:.62em;width:5px;height:5px;border-radius:50%;background:var(--type-color,var(--teal));box-shadow:0 0 10px var(--type-color,var(--teal));}
.tp-compass-dual-cta{
  display:grid;
  gap:.2rem;
  margin:.15rem 0 1.25rem;
  padding:.75rem .8rem;
  border:1px solid color-mix(in srgb,var(--type-color,var(--teal)) 24%,rgba(120,145,165,.18));
  background:linear-gradient(90deg,color-mix(in srgb,var(--type-color,var(--teal)) 9%,transparent),rgba(6,13,24,.18));
  color:rgba(220,240,245,.72);
  text-decoration:none;
  transition:border-color .25s ease,background .25s ease,color .25s ease,transform .25s ease;
}
.tp-compass-dual-cta span{
  font-family:'Share Tech Mono',monospace;
  font-size:.52rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--type-color,var(--teal));
}
.tp-compass-dual-cta b{
  font-family:'Rajdhani',sans-serif;
  font-size:.82rem;
  line-height:1.35;
  font-weight:600;
  color:rgba(220,238,244,.68);
}
.tp-compass-dual-cta:hover{
  transform:translateY(-1px);
  border-color:color-mix(in srgb,var(--type-color,var(--teal)) 48%,transparent);
  background:linear-gradient(90deg,color-mix(in srgb,var(--type-color,var(--teal)) 14%,transparent),rgba(6,13,24,.25));
  color:var(--ice);
}
.tp-compass-watch{margin-top:auto;border-top:1px solid color-mix(in srgb,var(--type-color,var(--teal)) 18%,rgba(120,145,165,.12));padding-top:.9rem;color:rgba(200,220,230,.6);font-size:.82rem;line-height:1.62;}
.tp-compass-watch span{display:block;font-family:'Share Tech Mono',monospace;font-size:.48rem;letter-spacing:.2em;text-transform:uppercase;color:color-mix(in srgb,var(--type-color,var(--teal)) 68%,rgba(220,240,245,.5));margin-bottom:.35rem;}
@media(max-width:1220px) and (min-width:1001px){
  .tp-compass-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .tp-compass-card{min-height:390px;}
  .tp-compass-card--purpose{grid-column:1/-1;min-height:0;}
}
@media(max-width:1000px){
  .tp-compass-grid{grid-template-columns:1fr;}
  .tp-compass-card{min-height:0;}
}
@media(max-width:700px){
  .tp-compass-card{padding:1.35rem 1.2rem 1.25rem;}
  .tp-compass-icon{width:42px;height:42px;margin-bottom:.95rem;}
  .tp-compass-icon svg{width:21px;height:21px;}
  .tp-compass-card h3{font-size:1.55rem;}
  .tp-compass-title{font-size:.98rem;}
  .tp-compass-card p,.tp-compass-list li,.tp-compass-watch{font-size:.84rem;line-height:1.68;}
}
.tp-compass-title,.tp-compass-card p,.tp-compass-list li,.tp-compass-watch{overflow-wrap:break-word;}
.tp-dynamic-kicker,.tp-block-kicker,.tp-similar-kicker{font-family:'Share Tech Mono',monospace;font-size:.5rem;letter-spacing:.18em;text-transform:uppercase;color:color-mix(in srgb,var(--type-color,var(--teal)) 62%,rgba(220,240,245,.32));margin-bottom:.75rem;}
.tp-dynamic-title,.tp-block-title,.tp-similar-title{font-family:'Cormorant Garamond',serif;font-size:1.2rem;font-weight:700;color:var(--ice);line-height:1.15;margin-bottom:.65rem;}
.tp-dynamic-copy,.tp-block-copy,.tp-similar-copy{font-size:.88rem;color:rgba(200,220,230,.6);line-height:1.7;}
.tp-block-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:color-mix(in srgb,var(--type-color,var(--teal)) 16%,transparent);border:1px solid color-mix(in srgb,var(--type-color,var(--teal)) 16%,transparent);}
.tp-block-card{background:var(--bg2);padding:1.8rem 1.65rem;min-height:300px;display:flex;flex-direction:column;}
.tp-block-funcs{display:flex;gap:.4rem;flex-wrap:wrap;margin:.85rem 0 1rem;}
.tp-block-chip{font-family:'Share Tech Mono',monospace;font-size:.56rem;padding:.24rem .62rem;border:1px solid color-mix(in srgb,var(--type-color,var(--teal)) 30%,transparent);color:var(--type-color,var(--teal));background:color-mix(in srgb,var(--type-color,var(--teal)) 7%,transparent);}
.tp-similar-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
.tp-similar-card{background:var(--bg2);padding:1.8rem 1.75rem;}
.tp-similar-code{font-family:'Share Tech Mono',monospace;font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(95,227,224,.7);margin-bottom:.55rem;}
.tp-similar-divider{height:1px;background:rgba(95,227,224,.1);margin:1rem 0;}
.tp-cta{border-top:1px solid var(--line);padding:5rem 3rem;text-align:center;}
.tp-cta-text{font-family:'Cormorant Garamond',serif;font-size:clamp(1.6rem,4vw,3rem);font-weight:700;color:var(--ice);margin-bottom:1rem;}
.tp-cta-text span{color:var(--teal);}
.tp-cta-sub{font-family:'Share Tech Mono',monospace;font-size:.6rem;letter-spacing:.12em;color:rgba(120,160,180,.4);margin-bottom:2.5rem;line-height:1.9;}
.tp-cta-btn{display:inline-block;font-family:'Share Tech Mono',monospace;font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;padding:1rem 2.5rem;border:1px solid rgba(95,227,224,.4);color:var(--ice);background:rgba(95,227,224,.07);cursor:none;transition:all .3s;text-decoration:none;}
.tp-cta-btn:hover{border-color:var(--teal);background:rgba(95,227,224,.14);box-shadow:0 0 30px rgba(95,227,224,.2);}
@media(hover:none),(pointer:coarse){
  .tp-compat-card{cursor:pointer!important;}
}

/* ─────────────────────────────────────
   FUNCTION DETAIL PAGE
───────────────────────────────────── */
#func-page{min-height:100vh;padding-top:5rem;background:var(--bg);position:relative;z-index:10;}
.fp-back{display:inline-flex;align-items:center;gap:.7rem;font-family:'Share Tech Mono',monospace;font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(95,227,224,.5);cursor:none;padding:0 3rem;margin-top:2rem;margin-bottom:3.5rem;transition:color .3s;background:none;border:none;}
.fp-back:hover{color:var(--teal);}
.fp-back svg{transition:transform .3s;}
.fp-back:hover svg{transform:translateX(-3px);}
.fp-hero{padding:0 3rem 5rem;max-width:1100px;margin:0 auto;}
.fp-eyebrow{font-family:'Share Tech Mono',monospace;font-size:.55rem;letter-spacing:.4em;text-transform:uppercase;color:rgba(95,227,224,.45);margin-bottom:1.2rem;}
.fp-code{font-family:'Cormorant Garamond',serif;font-size:clamp(6rem,14vw,11rem);font-weight:700;line-height:.82;letter-spacing:.04em;margin-bottom:.4rem;}
.fp-full-name{font-family:'Cormorant Garamond',serif;font-size:1.8rem;font-style:italic;font-weight:400;margin-bottom:2.5rem;}
.fp-desc{font-size:1.05rem;color:rgba(200,220,230,.75);line-height:1.95;max-width:640px;margin-bottom:2rem;}
.fp-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:3rem;}
.fp-tag{font-family:'Share Tech Mono',monospace;font-size:.55rem;letter-spacing:.12em;padding:.3rem .75rem;border:1px solid;transition:all .25s;}
.fp-section{border-top:1px solid var(--line);padding:4rem 3rem;max-width:1100px;margin:0 auto;}
.fp-sec-label{font-family:'Share Tech Mono',monospace;font-size:.55rem;letter-spacing:.4em;text-transform:uppercase;color:rgba(95,227,224,.4);margin-bottom:1.8rem;}
.fp-sec-heading{font-family:'Cormorant Garamond',serif;font-size:clamp(1.6rem,3.5vw,2.6rem);font-weight:700;margin-bottom:1.8rem;}
/* Manifestation cards */
.fp-manifest-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
.fp-manifest-card{background:var(--bg2);padding:2rem 2rem;}
.fp-manifest-head{font-family:'Share Tech Mono',monospace;font-size:.55rem;letter-spacing:.25em;text-transform:uppercase;margin-bottom:.9rem;}
.fp-manifest-body{font-size:.9rem;color:rgba(200,220,230,.6);line-height:1.85;}
/* Valuing types */
.fp-types-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem;}
.fp-type-chip{font-family:'Share Tech Mono',monospace;font-size:.6rem;letter-spacing:.1em;padding:.3rem .75rem;border:1px solid;cursor:none;transition:all .25s;}
.fp-type-chip:hover{background:rgba(95,227,224,.08);}
/* Position table */
.fp-pos-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
.fp-pos-card{background:var(--bg2);padding:1.6rem 1.4rem;}
.fp-pos-num{font-family:'Share Tech Mono',monospace;font-size:.52rem;letter-spacing:.2em;color:rgba(95,227,224,.35);margin-bottom:.5rem;}
.fp-pos-name{font-family:'Cormorant Garamond',serif;font-size:1rem;font-weight:600;color:var(--ice);margin-bottom:.4rem;}
.fp-pos-desc{font-size:.78rem;color:rgba(180,210,220,.4);line-height:1.7;}
.fp-pos-card.active-pos{background:rgba(12,25,50,.8);}
.fp-pos-card.active-pos .fp-pos-num{opacity:1;}
/* Contrast: ego vs weak */
.fp-contrast{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);}
.fp-contrast-col{background:var(--bg2);padding:2rem 2rem;}
.fp-contrast-head{font-family:'Share Tech Mono',monospace;font-size:.52rem;letter-spacing:.3em;text-transform:uppercase;margin-bottom:1rem;}
.fp-contrast-body{font-size:.88rem;color:rgba(200,220,230,.6);line-height:1.85;}


/* FULL UPGRADE — quiz credibility + result intelligence */
.hq-result-breakdown{margin:1.8rem auto 1.4rem;max-width:500px;padding:1.4rem 1.2rem;border:1px solid rgba(95,227,224,.12);background:rgba(8,17,31,.52);position:relative;overflow:hidden;opacity:0;animation:fadeUp .5s ease 1.32s forwards;}
.hq-result-breakdown::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(to right,transparent,var(--teal),transparent);}
.hq-breakdown-title{font-family:'Share Tech Mono',monospace;font-size:.52rem;letter-spacing:.32em;text-transform:uppercase;color:rgba(95,227,224,.55);margin-bottom:.75rem;}
.hq-breakdown-copy{font-family:'Share Tech Mono',monospace;font-size:.55rem;letter-spacing:.08em;color:rgba(180,210,220,.42);line-height:1.8;margin:.8rem auto;}
.hq-signal-list{display:flex;justify-content:center;flex-wrap:wrap;gap:.45rem;margin:.9rem 0;}
.hq-confidence,.hq-alternatives{display:flex;justify-content:center;align-items:center;gap:.55rem;flex-wrap:wrap;font-family:'Share Tech Mono',monospace;font-size:.55rem;letter-spacing:.12em;color:rgba(180,210,220,.45);margin:.7rem auto;opacity:0;animation:fadeUp .5s ease 1.42s forwards;}
.hq-confidence strong{color:var(--teal);font-weight:500;}
.hq-warning{max-width:520px;margin:1rem auto 1.6rem;padding:1rem 1.2rem;border:1px solid rgba(200,160,80,.18);background:rgba(200,160,80,.045);font-family:'Share Tech Mono',monospace;font-size:.52rem;letter-spacing:.08em;color:rgba(220,200,160,.55);line-height:1.75;opacity:0;animation:fadeUp .5s ease 1.5s forwards;}
@media(max-width:700px){.hq-result-breakdown{padding:1.2rem .95rem}.hq-confidence,.hq-alternatives{font-size:.5rem}}

/* WAITLIST */
.waitlist-section{padding:7rem 3rem;position:relative;}
.waitlist-section::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:1px;height:60px;background:linear-gradient(to bottom,transparent,rgba(95,227,224,.3));}
.waitlist-inner{max-width:640px;margin:0 auto;}
.waitlist-shell{border:1px solid var(--line);background:rgba(8,17,31,.8);backdrop-filter:blur(16px);position:relative;overflow:hidden;}
.waitlist-shell::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(to right,transparent,var(--teal),transparent);}
.waitlist-header{padding:2.5rem 2.5rem 0;}
.waitlist-eyebrow{font-family:'Share Tech Mono',monospace;font-size:.55rem;letter-spacing:.4em;text-transform:uppercase;color:rgba(95,227,224,.5);margin-bottom:1rem;}
.waitlist-title{font-family:'Cormorant Garamond',serif;font-size:2rem;font-weight:700;color:var(--ice);margin-bottom:.6rem;}
.waitlist-title span{color:var(--teal);}
.waitlist-sub{font-family:'Share Tech Mono',monospace;font-size:.6rem;letter-spacing:.1em;color:rgba(120,160,180,.45);line-height:1.85;margin-bottom:2rem;}
.waitlist-form{padding:0 2.5rem 2.5rem;display:flex;flex-direction:column;gap:1rem;}
.wf-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.wf-field{display:flex;flex-direction:column;gap:.5rem;}
.wf-field label{font-family:'Share Tech Mono',monospace;font-size:.52rem;letter-spacing:.3em;text-transform:uppercase;color:rgba(95,227,224,.45);}
.wf-field input,.wf-field textarea{font-family:'Share Tech Mono',monospace;font-size:.7rem;letter-spacing:.06em;padding:.9rem 1.1rem;background:rgba(6,13,24,.6);border:1px solid rgba(95,227,224,.12);color:var(--ice);outline:none;transition:border-color .25s,box-shadow .25s;resize:none;}
.wf-field input::placeholder,.wf-field textarea::placeholder{color:rgba(120,160,180,.3);}
.wf-field input:focus,.wf-field textarea:focus{border-color:rgba(95,227,224,.4);box-shadow:0 0 16px rgba(95,227,224,.08);}
.wf-optional{font-family:'Share Tech Mono',monospace;font-size:.48rem;letter-spacing:.15em;color:rgba(120,160,180,.3);margin-left:.4rem;}
.wf-submit{font-family:'Share Tech Mono',monospace;font-size:.68rem;letter-spacing:.25em;text-transform:uppercase;padding:1.1rem 2rem;border:1px solid rgba(95,227,224,.4);color:var(--ice);background:rgba(95,227,224,.08);cursor:none;transition:all .3s;position:relative;overflow:hidden;margin-top:.5rem;}
.wf-submit::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(95,227,224,.07),transparent);transform:translateX(-100%);transition:transform .6s ease;}
.wf-submit:hover::before{transform:translateX(100%);}
.wf-submit:hover{border-color:var(--teal);background:rgba(95,227,224,.14);box-shadow:0 0 28px rgba(95,227,224,.2);}
.wf-submit:disabled{opacity:.4;pointer-events:none;}
.wf-success{display:none;padding:3rem 2.5rem;text-align:center;}
.wf-success-icon{width:48px;height:48px;margin:0 auto 1.5rem;filter:drop-shadow(0 0 12px rgba(95,227,224,.5));}
.wf-success-title{font-family:'Cormorant Garamond',serif;font-size:1.8rem;font-weight:700;color:var(--teal);margin-bottom:.6rem;}
.wf-success-msg{font-family:'Share Tech Mono',monospace;font-size:.6rem;letter-spacing:.1em;color:rgba(120,160,180,.5);line-height:1.9;}
@media(max-width:600px){.wf-row{grid-template-columns:1fr;}.waitlist-header,.waitlist-form{padding-left:1.5rem;padding-right:1.5rem;}}

/* RESPONSIVE */
@media(max-width:1000px){.types-grid{grid-template-columns:repeat(2,1fr);}.dich-grid{grid-template-columns:repeat(2,1fr);}.method-grid,.tp-top{grid-template-columns:1fr;gap:3rem;}.tp-traits-grid,.tp-compat-grid{grid-template-columns:1fr;}.fp-manifest-grid,.fp-contrast{grid-template-columns:1fr;}.fp-pos-grid{grid-template-columns:repeat(2,1fr);}.cta-cards.services{grid-template-columns:repeat(2,1fr);}.dual-grid,.research-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:700px){nav{padding:1.1rem 1.5rem;}.sec{padding:5rem 1.5rem;}.quadra-grid,.types-grid,.dich-grid,.rel-grid,.mini-grid,.tp-famous-grid,.dual-grid,.research-grid{grid-template-columns:1fr;}footer{flex-direction:column;gap:.8rem;padding:2rem;}.tp-hero,.tp-section,.tp-cta,.tp-back,.fp-hero,.fp-section,.fp-back{padding-left:1.5rem;padding-right:1.5rem;}.cta-cards,.cta-cards.services{grid-template-columns:1fr;}.dual-pair-card{padding:1.55rem}.dual-orbit{grid-template-columns:1fr;}.dual-link{height:38px}.hq-result-actions{flex-direction:column;align-items:center;}.hq-footer{flex-direction:column;gap:.8rem;}.hq-options{gap:.5rem;}.hq-opt{padding:.8rem 1rem;}.fp-pos-grid{grid-template-columns:1fr;}}

/* Socionics profile database carousel */
.profile-additions{
  margin-top:2.8rem;
  border:1px solid rgba(95,227,224,.16);
  background:
    radial-gradient(ellipse at 10% 20%,rgba(95,227,224,.08),transparent 34%),
    radial-gradient(ellipse at 82% 15%,rgba(139,111,255,.08),transparent 34%),
    linear-gradient(135deg,rgba(8,17,31,.86),rgba(6,13,24,.58));
  position:relative;
  overflow:hidden;
}
.profile-additions::before{
  content:'';
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:1px;
  background:linear-gradient(90deg,var(--teal),#8b6fff,#c9a84c,transparent);
  opacity:.88;
}
.profile-additions-head{
  display:flex;
  justify-content:space-between;
  gap:2rem;
  align-items:flex-end;
  padding:2rem clamp(1.3rem,3vw,2.35rem) 1rem;
}
.profile-additions-title{
  margin-top:.65rem;
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(2.2rem,4vw,4.5rem);
  line-height:.95;
  color:var(--ice);
}
.profile-additions-copy{
  max-width:760px;
  margin:1rem 0 0;
  color:rgba(200,220,230,.62);
  line-height:1.8;
  font-size:1rem;
}
.profile-additions-link{
  flex:0 0 auto;
  border:1px solid rgba(95,227,224,.25);
  padding:.85rem 1rem;
  color:rgba(216,234,240,.75);
  text-decoration:none;
  font-family:'Share Tech Mono',monospace;
  font-size:.55rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  background:rgba(95,227,224,.04);
}
.profile-carousel-shell{
  position:relative;
  padding:1.3rem clamp(1.15rem,3vw,2.1rem) 2.4rem;
}
.profile-carousel{
  display:flex;
  gap:1.15rem;
  overflow-x:auto;
  overflow-y:visible;
  scroll-snap-type:x mandatory;
  scroll-padding-left:1px;
  padding:.55rem 0 1.15rem;
  scrollbar-width:none;
}
.profile-carousel::-webkit-scrollbar{display:none}
.profile-shared-card{
  --profile-accent:var(--teal);
  --profile-accent-rgb:95,227,224;
  --profile-secondary:#8b6fff;
  --profile-secondary-rgb:139,111,255;
  --profile-warm:#c9a84c;
}
.profile-shared-card[data-profile-quadra="Alpha"]{
  --profile-accent:#5fe3e0;
  --profile-accent-rgb:95,227,224;
  --profile-secondary:#77d59a;
  --profile-secondary-rgb:119,213,154;
  --profile-warm:#c9a84c;
}
.profile-shared-card[data-profile-quadra="Beta"]{
  --profile-accent:#8b6fff;
  --profile-accent-rgb:139,111,255;
  --profile-secondary:#ff6b9d;
  --profile-secondary-rgb:255,107,157;
  --profile-warm:#ff6b2b;
}
.profile-shared-card[data-profile-quadra="Gamma"]{
  --profile-accent:#c9a84c;
  --profile-accent-rgb:201,168,76;
  --profile-secondary:#ff6b9d;
  --profile-secondary-rgb:255,107,157;
  --profile-warm:#5fe3e0;
}
.profile-shared-card[data-profile-quadra="Delta"]{
  --profile-accent:#77d59a;
  --profile-accent-rgb:119,213,154;
  --profile-secondary:#5fe3e0;
  --profile-secondary-rgb:95,227,224;
  --profile-warm:#c9a84c;
}
.profile-shared-card,.profile-card-placeholder{
  flex:0 0 clamp(260px,23vw,315px);
  min-height:0;
  display:flex;
  flex-direction:column;
  scroll-snap-align:start;
  border:1px solid rgba(var(--profile-accent-rgb),.18);
  background:
    radial-gradient(circle at 18% 12%,rgba(var(--profile-accent-rgb),.18),transparent 30%),
    radial-gradient(circle at 86% 4%,rgba(var(--profile-secondary-rgb),.14),transparent 34%),
    radial-gradient(circle at 24% 84%,rgba(201,168,76,.06),transparent 32%),
    linear-gradient(155deg,rgba(10,22,39,.94),rgba(6,13,24,.9) 58%,rgba(12,22,38,.86));
  position:relative;
  overflow:hidden;
  isolation:isolate;
  transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}
.profile-shared-card::before,.profile-card-placeholder::before{
  content:'';
  position:absolute;
  inset:-30% -40% auto;
  height:58%;
  background:linear-gradient(110deg,transparent,rgba(var(--profile-accent-rgb),.13),rgba(var(--profile-secondary-rgb),.1),transparent);
  transform:translateX(-45%) rotate(-9deg);
  opacity:.72;
  transition:transform .65s ease,opacity .35s ease;
  z-index:-1;
}
.profile-shared-card::after,.profile-card-placeholder::after{
  content:'';
  position:absolute;
  inset:0;
  background:
    linear-gradient(to bottom,rgba(255,255,255,.028),transparent 28%),
    radial-gradient(circle at 72% 38%,rgba(var(--profile-accent-rgb),.08),transparent 25%);
  pointer-events:none;
}
.profile-shared-card:hover,.profile-shared-card.preview-open,.profile-card-placeholder:hover{
  transform:translateY(-4px);
  border-color:rgba(var(--profile-accent-rgb),.46);
  box-shadow:0 22px 60px rgba(0,0,0,.32),0 0 48px rgba(var(--profile-accent-rgb),.11);
}
.profile-shared-card:hover::before,.profile-shared-card.preview-open::before,.profile-card-placeholder:hover::before{
  transform:translateX(18%) rotate(-9deg);
  opacity:1;
}
.profile-card-image{
  height:auto;
  min-height:0;
  aspect-ratio:16/9;
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 50%,rgba(var(--profile-accent-rgb),.22),transparent 28%),
    linear-gradient(135deg,rgba(var(--profile-accent-rgb),.08),rgba(var(--profile-secondary-rgb),.1));
}
.profile-card-image[data-image-ratio="square"]{aspect-ratio:1/1}
.profile-card-image[data-image-ratio="landscape"]{aspect-ratio:16/10}
.profile-card-image[data-image-ratio="banner"]{aspect-ratio:16/7}
.profile-shared-card .profile-card-image[data-image-ratio],
.profile-card-placeholder .profile-card-image{
  aspect-ratio:16/9;
}
.profile-shared-visual{position:relative}
.profile-card-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:var(--profile-img-x,50%) var(--profile-img-y,50%);
  display:block;
  filter:saturate(.95) contrast(1.05);
  transform:scale(calc(var(--profile-img-zoom,1) * 1.3));
  transform-origin:var(--profile-img-x,50%) var(--profile-img-y,50%);
}
.profile-card-image::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(to bottom,transparent 35%,rgba(6,13,24,.9));
}
.profile-card-image .profile-image-mark,
.profile-card-image>span{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  font-family:'Cormorant Garamond',serif;
  font-size:5.6rem;
  line-height:1;
  color:rgba(var(--profile-accent-rgb),.52);
  text-shadow:0 0 34px rgba(var(--profile-accent-rgb),.2);
}
.profile-new{
  position:absolute;
  top:.8rem;
  left:.8rem;
  z-index:2;
  border:1px solid rgba(201,168,76,.48);
  background:rgba(201,168,76,.12);
  color:#f0d981;
  padding:.35rem .48rem;
  font-family:'Share Tech Mono',monospace;
  font-size:.5rem;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.profile-card-body{
  padding:1.25rem 1.25rem 1.55rem;
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
}
.profile-card-main{
  display:flex;
  flex-direction:column;
  min-height:13rem;
}
.profile-card-footer{
  display:flex;
  flex:1 1 auto;
  flex-direction:column;
  margin-top:1rem;
}
.profile-card-proof{
  flex:0 0 auto;
}
.profile-card-kicker,.profile-card-source,.profile-requested{
  font-family:'Share Tech Mono',monospace;
  font-size:.52rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(var(--profile-accent-rgb),.68);
}
.profile-shared-card h3,.profile-card-placeholder h3{
  margin:.45rem 0 .65rem;
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(2.05rem,3.1vw,2.65rem);
  line-height:1;
  color:var(--ice);
  max-width:92%;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.profile-card-type{
  color:var(--profile-accent);
  font-family:'Share Tech Mono',monospace;
  font-size:.72rem;
  letter-spacing:.26em;
  text-transform:uppercase;
  margin-bottom:.75rem;
}
.profile-preview-summary{
  margin:.78rem 0 0;
  color:rgba(200,220,230,.62);
  font-size:.92rem;
  line-height:1.58;
  display:-webkit-box;
  -webkit-line-clamp:var(--profile-summary-lines,2);
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.profile-card-typed,
.profile-typed-badge{
  display:inline-flex;
  align-items:center;
  gap:.48rem;
  border:1px solid rgba(72,230,164,.42);
  background:linear-gradient(90deg,rgba(72,230,164,.17),rgba(72,230,164,.045));
  padding:.42rem .58rem;
  color:rgba(196,255,226,.92);
  font-family:'Share Tech Mono',monospace;
  font-size:.48rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  box-shadow:0 0 22px rgba(72,230,164,.08);
  position:relative;
  overflow:hidden;
  max-width:100%;
}
.profile-card-typed svg,
.profile-typed-badge svg{
  width:1.22rem;
  height:1.22rem;
  flex:0 0 auto;
  color:#48e6a4;
  fill:rgba(72,230,164,.16);
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
  filter:drop-shadow(0 0 10px rgba(72,230,164,.34));
}
.profile-card-typed span,
.profile-typed-badge span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
}
.profile-card-typed::after,
.profile-typed-badge::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent);
  transform:translateX(-120%);
  animation:profileVerifiedSheen 3.8s ease-in-out infinite;
}
.profile-preview-summary + .profile-card-typed,
.profile-preview-summary + .profile-typed-badge{margin-top:.95rem}
.profile-card-functions,.profile-pop-functions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.42rem;
  margin:1rem 0 .35rem;
}
.profile-card-functions span,.profile-pop-functions span,
.profile-card-functions .profile-function-card,.profile-pop-functions .profile-function-card{
  --fn-rgb:var(--profile-accent-rgb);
  min-width:0;
  text-align:left;
  border:1px solid rgba(var(--fn-rgb),.25);
  background:linear-gradient(135deg,rgba(var(--fn-rgb),.07),rgba(255,255,255,.012));
  color:rgba(var(--fn-rgb),.92);
  padding:.5rem .55rem;
  font-family:'Share Tech Mono',monospace;
  display:block;
}
.profile-function-card[data-function="Ti"]{--fn-rgb:95,227,224}
.profile-function-card[data-function="Ne"]{--fn-rgb:95,227,224}
.profile-function-card[data-function="Fe"]{--fn-rgb:245,115,170}
.profile-function-card[data-function="Fi"]{--fn-rgb:119,213,154}
.profile-function-card[data-function="Se"]{--fn-rgb:201,168,76}
.profile-function-card[data-function="Si"]{--fn-rgb:119,213,154}
.profile-function-card[data-function="Ni"]{--fn-rgb:139,111,255}
.profile-function-card[data-function="Te"]{--fn-rgb:201,168,76}
.profile-card-functions b,.profile-pop-functions b,
.profile-card-functions .profile-function-card b,.profile-pop-functions .profile-function-card b{
  display:block;
  color:rgb(var(--fn-rgb));
  font-size:.68rem;
  line-height:1;
  letter-spacing:.14em;
  font-weight:700;
}
.profile-card-functions em,.profile-pop-functions em,
.profile-card-functions .profile-function-card em,.profile-pop-functions .profile-function-card em{
  display:block;
  margin-top:.24rem;
  color:rgba(200,220,230,.43);
  font-style:normal;
  font-size:.46rem;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.profile-card-source{margin-top:.45rem;color:rgba(200,220,230,.5)}
.profile-card-tags{
  display:flex;
  flex-wrap:wrap;
  gap:.4rem;
  margin-top:.75rem;
  max-height:2rem;
  overflow:hidden;
}
.profile-card-tags>.profile-chip{
  border:1px solid rgba(139,111,255,.24);
  color:rgba(210,205,255,.72);
  padding:.32rem .44rem;
  font-family:'Share Tech Mono',monospace;
  font-size:.48rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  display:inline-flex;
  gap:.35rem;
  align-items:center;
}
.profile-card-tags b,
.profile-chip-label{
  color:rgba(139,111,255,.95);
  font-weight:400;
}
.profile-card-tags em,
.profile-chip-value{
  color:rgba(226,224,255,.78);
  font-style:normal;
}
.profile-requested{
  display:block;
  margin-top:auto;
  padding-top:.85rem;
  border-top:1px solid rgba(201,168,76,.18);
  color:rgba(240,217,129,.78);
  line-height:1.45;
}
.profile-preview-popover{
  position:absolute;
  left:1rem;
  right:1rem;
  bottom:1rem;
  z-index:5;
  border:1px solid rgba(95,227,224,.38);
  border-top-color:rgba(95,227,224,.72);
  background:
    radial-gradient(circle at 88% 0%,rgba(95,227,224,.18),transparent 36%),
    linear-gradient(155deg,rgba(8,17,31,.98),rgba(6,13,24,.96));
  padding:1.1rem;
  box-shadow:0 18px 55px rgba(0,0,0,.5),0 0 34px rgba(95,227,224,.08);
  opacity:0;
  pointer-events:none;
  transform:translateY(10px) scale(.98);
  transition:opacity .22s ease,transform .22s ease;
  max-height:58%;
  overflow:auto;
}
.profile-card.preview-open .profile-preview-popover{
  opacity:1;
  pointer-events:auto;
  transform:translateY(0) scale(1);
}
.profile-preview-kicker{
  font-family:'Share Tech Mono',monospace;
  font-size:.48rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:rgba(95,227,224,.7);
}
.profile-preview-popover strong{
  display:block;
  margin:.4rem 0;
  color:var(--ice);
  font-family:'Cormorant Garamond',serif;
  font-size:1.3rem;
}
.profile-preview-popover p{
  color:rgba(200,220,230,.62);
  line-height:1.65;
  font-size:.86rem;
  margin:.45rem 0 .85rem;
}
.profile-preview-popover a{
  color:var(--teal);
  font-family:'Share Tech Mono',monospace;
  font-size:.52rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(95,227,224,.38);
  background:rgba(95,227,224,.06);
  padding:.62rem .75rem;
  margin-top:.1rem;
  min-height:38px;
  transition:background .25s,border-color .25s,transform .25s;
}
.profile-preview-popover a:hover{background:rgba(95,227,224,.12);border-color:rgba(95,227,224,.7);transform:translateY(-1px);}
.profile-carousel-nav{
  position:absolute;
  top:50%;
  z-index:6;
  width:42px;
  height:42px;
  border:1px solid rgba(95,227,224,.32);
  background:rgba(6,13,24,.88);
  color:var(--ice);
  transform:translateY(-50%);
  font-size:1.6rem;
  line-height:1;
}
.profile-carousel-nav.prev{left:.35rem}
.profile-carousel-nav.next{right:.35rem}
@media(max-width:900px){
  .profile-additions-head{display:block}
  .profile-additions-link{display:inline-flex;margin-top:1rem}
  .profile-carousel-nav{display:none}
}
@media(max-width:700px){
  .profile-card{flex-basis:min(76vw,300px);min-height:0}
  .profile-card-image{min-height:0}
  .profile-card-body{padding:1rem 1rem 1.2rem}
  .profile-card-main{min-height:12.15rem}
  .profile-shared-card h3,.profile-card-placeholder h3{font-size:2rem}
  .profile-card-functions{gap:.34rem;margin:.75rem 0 .2rem}
  .profile-card-functions .profile-function-card{padding:.38rem .45rem}
  .profile-card-tags{display:none}
  .profile-requested{
    display:block;
    margin-top:.85rem;
    padding-top:.8rem;
  }
  .profile-additions{margin-left:-.2rem;margin-right:-.2rem}
}
@keyframes profileVerifiedPulse{
  0%,100%{box-shadow:0 0 0 3px rgba(72,230,164,.1),0 0 16px rgba(72,230,164,.72);}
  50%{box-shadow:0 0 0 7px rgba(72,230,164,.035),0 0 25px rgba(72,230,164,1);}
}
@keyframes profileVerifiedSheen{
  0%,62%{transform:translateX(-120%);}
  78%,100%{transform:translateX(120%);}
}
@media(max-width:1000px){.dual-finder{min-height:auto;display:flex;flex-direction:column;}.dual-finder-panel{position:relative;left:auto;top:auto;width:auto;padding:2rem;}.dual-map-wrap{position:relative;left:auto;right:auto;top:auto;bottom:auto;height:520px;min-height:520px;overflow:hidden;}.dual-map-core{left:50%;top:48%;}.dual-finder-result{position:relative;left:auto;right:auto;bottom:auto;height:auto;display:block;overflow:visible;padding:1.5rem 2rem 2rem;}.dual-result-main{grid-template-columns:1fr;gap:1.2rem;}.tp-dual-head,.tp-dual-details-body{grid-template-columns:1fr;}.tp-dual-mark{width:96px;height:96px;}.tp-dual-grid{grid-template-columns:1fr;}}
@media(max-width:700px){.dual-finder-panel,.dual-finder-result{padding:1.65rem;}.dual-finder-title{font-size:clamp(3.1rem,17vw,5.2rem);}.dual-map-wrap{height:410px;min-height:410px;}.dual-map-core{left:50%;top:48%;}.dual-star{width:42px;height:28px;font-size:.48rem;}.dual-result-exchange{grid-template-columns:1fr;}.tp-dual-head{padding:1.6rem;}.tp-dual-card,.tp-dual-detail-copy,.tp-dual-detail-list{padding:1.35rem;}.tp-dual-details summary{padding:1.1rem 1.35rem;}}

/* LOADER */
#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{content:none;}
#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(95,227,224,.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(95,227,224,.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(95,227,224,0);line-height:1.4;}
.loader-wordmark.typing small{animation:wmarkSubReveal .85s ease .45s forwards;}
@keyframes wmarkReveal{from{opacity:0;transform:translateY(5px);}to{opacity:1;transform:translateY(0);}}
@keyframes wmarkSubReveal{to{color:rgba(169,244,247,.74);}}
.loader-line{display:none;}
@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(95,227,224,.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(95,227,224,.13));}}

@media (prefers-reduced-motion:reduce){
  .loader-wordmark,.loader-wordmark span{animation:none;}
  .loader-wordmark{opacity:1;transform:none;}
  .loader-wordmark small{color:rgba(169,244,247,.74);}
}

/* SCAN-LINE WIPE — fixed: fades opacity before repositioning */
#scan-wipe{
  position:fixed;top:0;left:0;right:0;height:3px;
  background:linear-gradient(to right,transparent,var(--teal),rgba(95,227,224,.3));
  z-index:9000;pointer-events:none;
  transform:translateY(-4px);
  opacity:0;
  box-shadow:0 0 20px rgba(95,227,224,.5),0 0 60px rgba(95,227,224,.15);
}
#scan-overlay{position:fixed;inset:0;background:transparent;z-index:8999;pointer-events:none;}

/* ─────────────────────────────────────
   PHASE 1 — SEARCH + COMPARE TYPES
───────────────────────────────────── */
.mob-search-wrap{width:min(520px,82vw);border:1px solid rgba(95,227,224,.25);background:rgba(8,17,31,.72);padding:.75rem 1rem;box-shadow:0 0 24px rgba(95,227,224,.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(95,227,224,.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(95,227,224,.5);margin-bottom:.8rem;}
.search-input{width:100%;background:rgba(6,13,24,.6);border:1px solid rgba(95,227,224,.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-input:focus{border-color:rgba(95,227,224,.45);box-shadow:0 0 20px rgba(95,227,224,.08);}
.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(95,227,224,.08);background:rgba(6,13,24,.45);padding:1rem 1.1rem;margin-bottom:.55rem;cursor:pointer;transition:background .25s,border-color .25s;}
.search-result:hover{background:rgba(95,227,224,.06);border-color:rgba(95,227,224,.25);}
.search-result-kicker{font-family:'Share Tech Mono',monospace;font-size:.48rem;letter-spacing:.28em;text-transform:uppercase;color:rgba(95,227,224,.45);margin-bottom:.35rem;}
.search-result-title{font-family:'Cormorant Garamond',serif;font-size:1.25rem;font-weight:700;color:var(--ice);}
.search-result-desc{font-size:.78rem;color:rgba(180,210,220,.45);line-height:1.55;margin-top:.3rem;}
.search-empty{padding:1.5rem;font-family:'Share Tech Mono',monospace;font-size:.62rem;letter-spacing:.12em;color:rgba(180,210,220,.38);line-height:1.8;}

#compare-page{display:none;position:relative;z-index:10;min-height:100vh;padding-top:5rem;background:var(--bg);}
.cp-back{display:inline-flex;align-items:center;gap:.7rem;font-family:'Share Tech Mono',monospace;font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(95,227,224,.5);cursor:pointer;padding:0 3rem;margin-top:2rem;margin-bottom:2.5rem;transition:color .3s;background:none;border:none;}
.cp-back:hover{color:var(--teal);}
.cp-wrap{max-width:1120px;margin:0 auto;padding:0 3rem 6rem;}
.cp-eyebrow{font-family:'Share Tech Mono',monospace;font-size:.55rem;letter-spacing:.4em;text-transform:uppercase;color:rgba(95,227,224,.5);margin-bottom:1rem;}
.cp-title{font-family:'Cormorant Garamond',serif;font-size:clamp(3rem,8vw,6rem);font-weight:700;line-height:.95;margin-bottom:1rem;}
.cp-title span{color:var(--teal);}
.cp-intro{font-size:1rem;color:rgba(180,210,220,.55);line-height:1.9;max-width:620px;margin-bottom:3rem;}
.cp-select-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:1rem;align-items:start;margin-bottom:2.5rem;}
.cp-vs{font-family:'Share Tech Mono',monospace;font-size:.7rem;letter-spacing:.25em;color:rgba(95,227,224,.45);padding-top:1.1rem;}
.cp-select{position:relative;}
.cp-select label{display:block;font-family:'Share Tech Mono',monospace;font-size:.52rem;letter-spacing:.3em;text-transform:uppercase;color:rgba(95,227,224,.45);margin-bottom:.55rem;}
.cp-input{width:100%;background:rgba(8,17,31,.75);border:1px solid rgba(95,227,224,.18);padding:1rem 1.1rem;color:var(--ice);font-family:'Share Tech Mono',monospace;font-size:.72rem;letter-spacing:.12em;outline:none;text-transform:uppercase;}
.cp-input:focus{border-color:rgba(95,227,224,.45);box-shadow:0 0 18px rgba(95,227,224,.08);}
.cp-suggestions{position:absolute;left:0;right:0;top:100%;z-index:30;background:rgba(6,13,24,.97);border:1px solid rgba(95,227,224,.18);border-top:none;max-height:230px;overflow:auto;display:none;}
.cp-suggestions.open{display:block;}
.cp-suggestion{padding:.85rem 1rem;border-top:1px solid rgba(95,227,224,.08);cursor:pointer;}
.cp-suggestion:hover{background:rgba(95,227,224,.08);}
.cp-suggestion-code{font-family:'Cormorant Garamond',serif;font-size:1.25rem;font-weight:700;color:var(--ice);margin-right:.4rem;}
.cp-suggestion-meta{font-family:'Share Tech Mono',monospace;font-size:.52rem;letter-spacing:.15em;color:rgba(180,210,220,.42);}
.cp-common{margin-bottom:2.5rem;}
.cp-common-title{font-family:'Share Tech Mono',monospace;font-size:.55rem;letter-spacing:.32em;text-transform:uppercase;color:rgba(95,227,224,.45);margin-bottom:.8rem;}
.cp-chip-row{display:flex;flex-wrap:wrap;gap:.55rem;}
.cp-chip{font-family:'Share Tech Mono',monospace;font-size:.58rem;letter-spacing:.12em;border:1px solid rgba(95,227,224,.18);background:rgba(95,227,224,.04);color:rgba(200,230,235,.62);padding:.55rem .8rem;cursor:pointer;}
.cp-chip:hover{border-color:rgba(95,227,224,.4);color:var(--ice);}
.cp-output{display:none;}
.cp-output.open{display:block;}
.cp-summary{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);margin-bottom:2rem;}
.cp-type-panel{background:var(--bg2);padding:2rem;}
.cp-type-code{font-family:'Cormorant Garamond',serif;font-size:3.3rem;font-weight:700;line-height:.9;color:var(--ctc,var(--teal));}
.cp-type-name{font-family:'Cormorant Garamond',serif;font-size:1.2rem;font-style:italic;color:var(--ice);margin:.4rem 0 1rem;}
.cp-type-meta{font-family:'Share Tech Mono',monospace;font-size:.55rem;letter-spacing:.16em;color:rgba(180,210,220,.42);margin-bottom:1rem;text-transform:uppercase;}
.cp-type-desc{font-size:.88rem;color:rgba(200,220,230,.55);line-height:1.8;}
.cp-rows{border:1px solid var(--line);background:var(--line);}
.cp-row{display:grid;grid-template-columns:1fr 210px 1fr;gap:1px;margin-bottom:1px;}
.cp-cell{background:var(--bg2);padding:1.3rem 1.35rem;font-size:.88rem;color:rgba(200,220,230,.6);line-height:1.8;}
.cp-mid{background:rgba(8,17,31,.95);display:flex;align-items:center;justify-content:center;text-align:center;font-family:'Share Tech Mono',monospace;font-size:.52rem;letter-spacing:.25em;text-transform:uppercase;color:rgba(95,227,224,.5);padding:1rem;}
.cp-note{margin-top:1.5rem;border:1px solid rgba(200,160,80,.18);background:rgba(200,160,80,.045);padding:1rem 1.2rem;font-family:'Share Tech Mono',monospace;font-size:.55rem;letter-spacing:.08em;color:rgba(220,200,160,.55);line-height:1.75;}
@media(max-width:760px){
  .search-overlay{padding-top:5.5rem;}
  .search-head{padding:1.5rem 1.2rem .9rem;}
  .cp-back,.cp-wrap{padding-left:1.5rem;padding-right:1.5rem;}
  .cp-select-grid{grid-template-columns:1fr;gap:1rem;}
  .cp-vs{text-align:center;padding-top:0;}
  .cp-summary,.cp-row{grid-template-columns:1fr;}
  .cp-mid{order:-1;padding:.75rem;}
}


/* ─────────────────────────────────────
   PHASE 1 NAV POLISH — DESKTOP DROPDOWNS + MENU FIXES
───────────────────────────────────── */
.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-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(95,227,224,.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(95,227,224,.06);border-color:rgba(95,227,224,.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-family:'Rajdhani',sans-serif;
  font-size:.76rem;
  letter-spacing:.02em;
  line-height:1.45;
  color:rgba(180,210,220,.38);
}

/* keep mobile sidebar content below fixed header */
.mob-menu{
  justify-content:flex-start;
  padding-top:6.7rem;
  gap:1.35rem;
  overflow-y:auto;
}
.mob-search-wrap{margin-bottom:.55rem;}
.mob-menu a{padding:.8rem 2rem;}
.mob-menu-group + .mob-menu a,
.mob-menu-group a + a,
.mob-menu > a + a{
  margin-top:.1rem;
}
.mob-menu a.mob-primary{
  color:var(--ice);
  border-color:rgba(95,227,224,.35);
  background:rgba(95,227,224,.06);
}
.mob-menu a.mob-primary:hover{
  color:var(--teal);
  border-color:rgba(95,227,224,.7);
  background:rgba(95,227,224,.1);
  box-shadow:0 0 20px rgba(95,227,224,.15);
}

.cp-final-cta{
  margin-top:2.5rem;
  border:1px solid var(--line);
  background:rgba(8,17,31,.72);
  padding:2rem;
  text-align:center;
  position:relative;
  overflow:hidden;
}
.cp-final-cta::before{
  content:'';
  position:absolute;
  top:0;left:0;right:0;height:1px;
  background:linear-gradient(to right,transparent,var(--teal),transparent);
}
.cp-final-title{
  font-family:'Cormorant Garamond',serif;
  font-size:1.6rem;
  font-weight:700;
  color:var(--ice);
  margin-bottom:.65rem;
}
.cp-final-copy{
  max-width:520px;
  margin:0 auto 1.4rem;
  font-size:.9rem;
  color:rgba(180,210,220,.5);
  line-height:1.8;
}
.cp-final-actions{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap;}
.cp-final-btn{
  font-family:'Share Tech Mono',monospace;
  font-size:.58rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  padding:.85rem 1.35rem;
  border:1px solid rgba(95,227,224,.35);
  color:var(--ice);
  text-decoration:none;
  background:rgba(95,227,224,.07);
  cursor:none;
  transition:all .25s;
}
.cp-final-btn:hover{border-color:var(--teal);background:rgba(95,227,224,.14);box-shadow:0 0 20px rgba(95,227,224,.16);}
.cp-final-btn.secondary{background:transparent;border-color:rgba(120,160,180,.22);color:rgba(180,210,220,.55);}
.cp-final-btn.secondary:hover{color:var(--ice);border-color:rgba(120,160,180,.42);box-shadow:none;}

@media(max-width:900px){
  .desktop-nav{display:none;}
}
@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:700px){
  .mob-menu{padding-top:5.9rem;gap:1rem;}
}


/* ─────────────────────────────────────
   TYPE SIGILS — 16 ABSTRACT SVG IDENTITIES
───────────────────────────────────── */
.type-sigil{color:var(--tc,var(--teal));position:relative;display:inline-flex;align-items:center;justify-content:center;filter:drop-shadow(0 0 16px color-mix(in srgb,currentColor 35%,transparent));}
.type-sigil svg{width:100%;height:100%;display:block;overflow:visible;}
.type-sigil .sg-orbit{transform-origin:50px 50px;animation:sgOrbit 18s linear infinite;}
.type-sigil .sg-counter{transform-origin:50px 50px;animation:sgOrbitReverse 24s linear infinite;}
.type-sigil .sg-pulse{animation:sgPulse 2.8s ease-in-out infinite;}
.type-sigil .sg-draw{stroke-dasharray:160;stroke-dashoffset:160;animation:sgDraw 2.4s ease forwards;}
.type-sigil .sg-flicker{animation:sgFlicker 4.5s ease-in-out infinite;}
@keyframes sgOrbit{to{transform:rotate(360deg)}}
@keyframes sgOrbitReverse{to{transform:rotate(-360deg)}}
@keyframes sgPulse{0%,100%{opacity:.45;transform:scale(.98)}50%{opacity:1;transform:scale(1.03)}}
@keyframes sgDraw{to{stroke-dashoffset:0}}
@keyframes sgFlicker{0%,100%{opacity:.55}50%{opacity:1}}

.t-sigil{width:62px;height:62px;margin-bottom:1.05rem;opacity:.88;}
.t-card{position:relative;}
.t-card .t-sigil{transition:transform .35s ease,opacity .35s ease;}
.t-card:hover .t-sigil{transform:translateY(-2px) scale(1.04);opacity:1;}
.t-card .t-acronym{margin-top:.15rem;}

.tp-sigil-large{width:210px;height:210px;margin-bottom:1.8rem;opacity:.9;--tc:var(--type-color,var(--teal));}
.tp-sigil-large svg{width:100%;height:100%;}
.tp-top{align-items:center;}

.qp-type-card .t-sigil{width:56px;height:56px;margin-bottom:1rem;}
.hq-result-orb.type-result-sigil{width:78px;height:78px;margin-bottom:1.4rem;--tc:var(--result-color,var(--teal));}
.cp-type-sigil{width:76px;height:76px;margin-bottom:1.1rem;--tc:var(--ctc,var(--teal));}
.cp-type-panel .cp-type-sigil + .cp-type-code{margin-top:.1rem;}

@media(max-width:700px){
  .t-sigil{width:54px;height:54px;}
  .tp-sigil-large{width:140px;height:140px;margin-bottom:1.2rem;}
  .cp-type-sigil{width:64px;height:64px;}
}


/* ─────────────────────────────────────
   TYPE PAGE SIGIL ALIGNMENT + TYPE JUMP NAV
───────────────────────────────────── */
.tp-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;margin-bottom:.35rem;}
.tp-title-row .tp-code{margin-bottom:0;}
/* removed sigil */ .tp-title-sigil{width:96px;height:96px;flex:0 0 96px;opacity:.86;transform:translateY(.15rem);}
/* removed sigil */ .tp-title-sigil .type-sigil,/* removed sigil */ .tp-title-sigil svg{width:100%;height:100%;}
/* removed sigil */ .tp-title-sigil .type-sigil{--tc:var(--type-color,var(--teal));}
.tp-jump-wrap{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:0 3rem;margin-top:1.6rem;margin-bottom:2.2rem;}
.tp-type-jump{position:relative;display:flex;align-items:center;gap:.7rem;}
.tp-jump-label{font-family:'Share Tech Mono',monospace;font-size:.52rem;letter-spacing:.24em;text-transform:uppercase;color:rgba(95,227,224,.45);white-space:nowrap;}
.tp-type-select{min-width:210px;appearance:none;-webkit-appearance:none;border:1px solid rgba(95,227,224,.22);background:rgba(8,17,31,.72);color:rgba(220,240,245,.78);font-family:'Share Tech Mono',monospace;font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;padding:.75rem 2.2rem .75rem .9rem;outline:none;cursor:none;}
.tp-type-jump::after{content:'⌄';position:absolute;right:.8rem;top:50%;transform:translateY(-52%);color:rgba(95,227,224,.55);pointer-events:none;font-size:.9rem;}
.tp-type-select:focus{border-color:rgba(95,227,224,.5);box-shadow:0 0 18px rgba(95,227,224,.08);}
@media(max-width:700px){
  .tp-jump-wrap{padding:0 1.5rem;align-items:flex-start;flex-direction:column;gap:1rem;margin-top:1rem;margin-bottom:1.8rem;}
  .tp-type-jump{width:100%;flex-direction:column;align-items:flex-start;}
  .tp-type-select{width:100%;}
  .tp-title-row{align-items:center;gap:1rem;}
  /* removed sigil */ .tp-title-sigil{width:72px;height:72px;flex-basis:72px;}
}


/* ─────────────────────────────────────
   TYPE PAGE POLISH — SIGIL CLOSER + CLEAN TYPE NAV
───────────────────────────────────── */
.tp-title-row{
  justify-content:flex-start !important;
  align-items:center !important;
  gap:1.1rem !important;
}
/* removed sigil */ .tp-title-sigil{
  width:78px !important;
  height:78px !important;
  flex:0 0 78px !important;
  transform:translateY(.05rem) !important;
}
.tp-jump-label{display:none !important;}
.tp-jump-wrap{
  align-items:flex-start !important;
  gap:1rem !important;
}
.tp-type-jump{width:min(420px,100%) !important;}
.tp-type-select{
  width:100% !important;
}
@media(max-width:700px){
  .tp-title-row{
    justify-content:flex-start !important;
    gap:.9rem !important;
  }
  /* removed sigil */ .tp-title-sigil{
    width:58px !important;
    height:58px !important;
    flex-basis:58px !important;
  }
  .tp-type-jump{width:100% !important;}
}


/* ─────────────────────────────────────
   SIGIL POSITION FINAL — RIGHT FLOAT (BALANCED)
───────────────────────────────────── */
.tp-header-wrap{
  position:relative;
}
/* removed sigil */ .tp-title-sigil{
  position:absolute !important;
  right:2.2rem;
  top:2.2rem;
  width:110px !important;
  height:110px !important;
  opacity:.9;
}
.tp-title-row{
  position:relative;
}
@media(max-width:700px){
  /* removed sigil */ .tp-title-sigil{
    position:absolute;
    right:1.2rem;
    top:1.8rem;
    width:78px !important;
    height:78px !important;
  }
}
@media (prefers-reduced-motion:reduce){
  body{cursor:auto;}
  #cur,#cur-ring{display:none!important;}
}


/* FINAL SIGIL ALIGNMENT */
.tp-header-wrap {
  position: relative;
}
/* removed sigil */ .tp-title-sigil {
  position: absolute;
  right: 2rem;
  top: 0;
  width: 120px;
  height: 120px;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  opacity: 0.9;
}
.tp-title-row {
  position: relative;
  padding-top: 0.2rem;
}
.tp-subtitle {
  margin-top: 0.4rem;
}
@media (max-width: 700px) {
  /* removed sigil */ .tp-title-sigil {
    right: 1.2rem;
    top: 0;
    width: 85px;
    height: 85px;
  }
}


/* SIGIL FINAL TWEAK */
/* removed sigil */ .tp-title-sigil {
  right: 1.4rem !important; /* moved left */
  width: 140px !important;  /* enlarged */
  height: 140px !important;
}
@media (max-width: 700px) {
  /* removed sigil */ .tp-title-sigil {
    right: 0.8rem !important;
    width: 95px !important;
    height: 95px !important;
  }
}


/* QUADRA PALETTE TUNING — ALPHA AIRY / DELTA GROUNDED */
.q-card[data-quadra="Alpha"]{
  --qc:#5FE3E0 !important;
}
.q-card[data-quadra="Delta"]{
  --qc:#6FCF97 !important;
}
.t-card[data-type="ILE"],
.t-card[data-type="SEI"],
.t-card[data-type="ESE"],
.t-card[data-type="LII"]{
  --tc:#5FE3E0 !important;
}
.t-card[data-type="LSE"],
.t-card[data-type="EII"],
.t-card[data-type="IEE"],
.t-card[data-type="SLI"]{
  --tc:#6FCF97 !important;
}
.q-card[data-quadra="Alpha"] .q-name,
.q-card[data-quadra="Alpha"] .q-card-explore{
  color:#5FE3E0 !important;
}
.q-card[data-quadra="Delta"] .q-name,
.q-card[data-quadra="Delta"] .q-card-explore{
  color:#6FCF97 !important;
}
.q-card[data-quadra="Alpha"] .q-sigil,
.q-card[data-quadra="Alpha"] .q-dot{
  filter:drop-shadow(0 0 18px rgba(143,211,255,.28));
}
.q-card[data-quadra="Delta"] .q-sigil,
.q-card[data-quadra="Delta"] .q-dot{
  filter:drop-shadow(0 0 18px rgba(111,207,151,.24));
}


/* ─────────────────────────────────────
   PHASE 2 — IN-SITE QUIZ PAGE + HOMEPAGE RHYTHM
───────────────────────────────────── */
#quiz-page{
  display:none;
  position:relative;
  z-index:10;
  min-height:100vh;
  padding-top:5rem;
  background:
    radial-gradient(ellipse 70% 45% at 50% 0%, rgba(95,227,224,.07), transparent 70%),
    var(--bg);
}
#quiz-page .quiz-section{
  min-height:calc(100vh - 5rem);
  display:flex;
  align-items:center;
  padding-top:4rem;
  padding-bottom:6rem;
}
.quiz-page-back{
  display:inline-flex;
  align-items:center;
  gap:.7rem;
  font-family:'Share Tech Mono',monospace;
  font-size:.58rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:rgba(95,227,224,.5);
  cursor:none;
  padding:0 3rem;
  margin-top:2rem;
  margin-bottom:1rem;
  transition:color .3s;
  background:none;
  border:none;
}
.quiz-page-back:hover{color:var(--teal);}
.quiz-page-back svg{transition:transform .3s;}
.quiz-page-back:hover svg{transform:translateX(-3px);}

/* Homepage Compare feature block */
.compare-feature-section{
  padding:6rem 3rem;
  background:rgba(6,13,24,.55);
  position:relative;
}
.compare-feature-card{
  max-width:980px;
  margin:0 auto;
  border:1px solid var(--line);
  background:linear-gradient(135deg, rgba(8,17,31,.88), rgba(12,25,50,.54));
  padding:3rem;
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:3rem;
  align-items:center;
  position:relative;
  overflow:hidden;
}
.compare-feature-card::before{
  content:'';
  position:absolute;
  top:0;left:0;right:0;height:1px;
  background:linear-gradient(to right,transparent,var(--teal),transparent);
}
.compare-feature-card::after{
  content:'';
  position:absolute;
  inset:auto -20% -35% 45%;
  height:220px;
  background:radial-gradient(circle, rgba(95,227,224,.08), transparent 65%);
  pointer-events:none;
}
.compare-feature-kicker{
  font-family:'Share Tech Mono',monospace;
  font-size:.55rem;
  letter-spacing:.4em;
  text-transform:uppercase;
  color:rgba(95,227,224,.5);
  margin-bottom:1rem;
}
.compare-feature-title{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(2rem,4vw,3.2rem);
  line-height:1;
  color:var(--ice);
  margin-bottom:1rem;
}
.compare-feature-title span{color:var(--teal);}
.compare-feature-copy{
  font-size:1rem;
  color:rgba(180,210,220,.5);
  line-height:1.9;
  max-width:540px;
  margin-bottom:1.8rem;
}
.compare-feature-btn{
  display:inline-block;
  font-family:'Share Tech Mono',monospace;
  font-size:.62rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  padding:.95rem 1.7rem;
  border:1px solid rgba(95,227,224,.35);
  color:var(--ice);
  text-decoration:none;
  background:rgba(95,227,224,.07);
  cursor:none;
  transition:transform .25s,background .25s,border-color .25s,box-shadow .25s;
}
.compare-feature-btn:hover{
  transform:translateY(-2px);
  border-color:var(--teal);
  background:rgba(95,227,224,.14);
  box-shadow:0 0 24px rgba(95,227,224,.14);
}
.compare-feature-visual{
  border:1px solid rgba(95,227,224,.12);
  background:rgba(6,13,24,.45);
  padding:1rem;
  display:grid;
  gap:1px;
  position:relative;
  z-index:1;
}
.compare-mini-row{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  gap:1px;
  background:rgba(95,227,224,.08);
}
.compare-mini-cell{
  background:rgba(8,17,31,.92);
  padding:1rem;
  min-height:74px;
}
.compare-mini-code{
  font-family:'Cormorant Garamond',serif;
  font-size:1.7rem;
  font-weight:700;
  color:var(--teal);
}
.compare-mini-label{
  font-family:'Share Tech Mono',monospace;
  font-size:.48rem;
  letter-spacing:.18em;
  color:rgba(180,210,220,.35);
  margin-top:.25rem;
}
.compare-mini-vs{
  background:rgba(8,17,31,.95);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 .8rem;
  font-family:'Share Tech Mono',monospace;
  font-size:.55rem;
  letter-spacing:.18em;
  color:rgba(95,227,224,.45);
}

/* Micro-interactions */
.q-card,.t-card,.mini-card,.r-card,.d-card,.cta-card{
  transition:transform .25s ease, background .35s ease, border-color .25s ease, box-shadow .25s ease;
}
.q-card:hover,.t-card:hover,.mini-card:hover,.r-card:hover,.d-card:hover,.cta-card:hover{
  transform:translateY(-3px);
}
.hero-btn-primary:hover,.hero-btn-secondary:hover,.nav-cta:hover,.hq-btn:hover{
  transform:translateY(-2px);
}

/* Mobile-only carousel rhythm for quadras */
@media(max-width:700px){
  .quadra-grid{
    display:flex;
    overflow-x:auto;
    gap:1rem;
    background:transparent;
    border:none;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    padding:0 1.2rem 1rem;
    margin-left:-1.2rem;
    margin-right:-1.2rem;
    scrollbar-width:none;
  }
  .quadra-grid::-webkit-scrollbar{display:none;}
  .quadra-grid .q-card{
    min-width:82%;
    scroll-snap-align:center;
    border:1px solid var(--line);
  }
  .compare-feature-section{padding:4.5rem 1.5rem;}
  .compare-feature-card{
    grid-template-columns:1fr;
    padding:2rem 1.5rem;
    gap:2rem;
  }
  #quiz-page .quiz-section{
    align-items:flex-start;
    padding:2.5rem 1.5rem 5rem;
  }
  .quiz-page-back{
    padding:0 1.5rem;
    margin-top:1.5rem;
  }
}


/* ─────────────────────────────────────
   PHASE 2 CAROUSEL CORRECTION
   Quadras stay visible; feature cards swipe on mobile
───────────────────────────────────── */

/* Reset quadras back to normal stacked/grid behavior */
.quadra-grid{
  display:grid !important;
  grid-template-columns:repeat(2,1fr) !important;
  gap:1px !important;
  background:var(--line) !important;
  border:1px solid var(--line) !important;
  overflow:visible !important;
  scroll-snap-type:none !important;
  padding:0 !important;
  margin-left:0 !important;
  margin-right:0 !important;
}
.quadra-grid .q-card{
  min-width:0 !important;
  scroll-snap-align:none !important;
  border:none !important;
}

/* Make the method/feature cards swipeable on mobile instead */
.feature-swipe-hint{
  display:none;
  font-family:'Share Tech Mono',monospace;
  font-size:.52rem;
  letter-spacing:.25em;
  text-transform:uppercase;
  color:rgba(95,227,224,.42);
  margin:.75rem 0 1.2rem;
}

@media(max-width:700px){
  .quadra-grid{
    grid-template-columns:1fr !important;
  }

  .method-grid{
    display:block !important;
  }

  .mini-grid{
    display:flex !important;
    overflow-x:auto !important;
    gap:1rem !important;
    background:transparent !important;
    border:none !important;
    scroll-snap-type:x mandatory !important;
    -webkit-overflow-scrolling:touch !important;
    padding:0 1.2rem 1rem !important;
    margin-left:-1.2rem !important;
    margin-right:-1.2rem !important;
    scrollbar-width:none !important;
  }
  .mini-grid::-webkit-scrollbar{display:none;}

  .mini-grid .mini-card{
    min-width:82% !important;
    scroll-snap-align:center !important;
    border:1px solid var(--line) !important;
    min-height:260px !important;
  }

  .feature-swipe-hint{
    display:block;
  }
}


/* FIX: carousel spacing + density */
.mini-grid{
  gap:1.4rem !important;
}
.mini-grid .mini-card{
  padding:1.2rem 1.2rem 1.4rem !important;
  min-height:200px !important;
}
.mini-card h3{
  margin-bottom:.6rem !important;
}
.mini-card p{
  line-height:1.6 !important;
  font-size:.9rem !important;
}




/* ─────────────────────────────────────
   V30 FIXES — CLEAN METHOD CAROUSEL + QUADRA INTERACTION
───────────────────────────────────── */

/* Desktop method cards: no thick cross-looking background */
.mini-grid{
  background:transparent !important;
  border:1px solid var(--line) !important;
  gap:0 !important;
}
.mini-grid .mini-card{
  border-right:1px solid var(--line) !important;
  border-bottom:1px solid var(--line) !important;
}
.mini-grid .mini-card:nth-child(2n){
  border-right:0 !important;
}
.mini-grid .mini-card:nth-last-child(-n+2){
  border-bottom:0 !important;
}

/* Quadra cards are interactive again */
.q-card{
  pointer-events:auto !important;
  cursor:none !important;
}
.q-card .q-card-explore{
  pointer-events:auto !important;
}

/* Dots hidden on desktop */
.method-carousel-dots{
  display:none;
}

/* Mobile feature carousel */
@media(max-width:700px){
  .method-grid{
    display:block !important;
  }

  .feature-swipe-hint{
    margin-top:1.8rem !important;
    margin-bottom:1.15rem !important;
  }

  .mini-grid{
    display:flex !important;
    overflow-x:auto !important;
    gap:1rem !important;
    background:transparent !important;
    border:0 !important;
    scroll-snap-type:x mandatory !important;
    -webkit-overflow-scrolling:touch !important;
    padding:0 1.5rem .8rem !important;
    margin-left:-1.5rem !important;
    margin-right:-1.5rem !important;
    scrollbar-width:none !important;
  }
  .mini-grid::-webkit-scrollbar{display:none;}

  .mini-grid .mini-card{
    min-width:82% !important;
    min-height:215px !important;
    scroll-snap-align:center !important;
    border:1px solid var(--line) !important;
    padding:1.8rem 1.5rem !important;
  }

  .method-carousel-dots{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:.55rem;
    margin-top:.75rem;
  }

  .method-dot{
    width:28px;
    height:3px;
    border:0;
    background:rgba(95,227,224,.12);
    position:relative;
    overflow:hidden;
    cursor:none;
    padding:0;
  }
  .method-dot::before{
    content:'';
    position:absolute;
    inset:0;
    background:var(--teal);
    transform:scaleX(0);
    transform-origin:left;
  }
  .method-dot.active::before{
    animation:methodDotLoad 4s linear forwards;
  }
  @keyframes methodDotLoad{
    to{transform:scaleX(1);}
  }
}

/* V53 - type dossier polish */
.tp-hero{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  max-width:min(1380px,calc(100% - 3rem));
  margin:0 auto 4rem;
  padding:clamp(2.2rem,4vw,3.4rem);
  border:1px solid color-mix(in srgb,var(--type-color,var(--teal)) 24%,rgba(255,255,255,.04));
  background:
    radial-gradient(circle at 12% 12%,color-mix(in srgb,var(--type-color,var(--teal)) 15%,transparent),transparent 34%),
    radial-gradient(circle at 88% 18%,rgba(255,255,255,.055),transparent 30%),
    linear-gradient(145deg,rgba(8,17,31,.94),rgba(5,11,21,.86) 52%,rgba(8,17,31,.72));
  box-shadow:0 26px 80px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.035);
}
.tp-hero::before{
  content:"";
  position:absolute;
  inset:-28% -32% auto;
  height:58%;
  background:linear-gradient(110deg,transparent,color-mix(in srgb,var(--type-color,var(--teal)) 18%,transparent),rgba(255,255,255,.07),transparent);
  opacity:.76;
  transform:translateX(-22%) rotate(-8deg);
  pointer-events:none;
  z-index:-1;
}
.tp-hero::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--type-color,var(--teal)),rgba(235,250,255,.58),transparent);
  opacity:.72;
  pointer-events:none;
}
.tp-hero > *{
  position:relative;
  z-index:1;
}
.tp-top{
  margin-bottom:0;
  align-items:stretch;
}
.tp-left{
  min-width:0;
  align-self:center;
}
.tp-quadra-badge{
  padding:.56rem .72rem;
  border:1px solid color-mix(in srgb,var(--type-color,var(--teal)) 28%,transparent);
  background:linear-gradient(90deg,color-mix(in srgb,var(--type-color,var(--teal)) 9%,transparent),rgba(255,255,255,.018));
  box-shadow:0 0 26px color-mix(in srgb,var(--type-color,var(--teal)) 8%,transparent);
}
.tp-quadra-dot{
  width:7px;
  height:7px;
}
.tp-code{
  text-shadow:0 0 42px color-mix(in srgb,var(--type-color,var(--teal)) 26%,transparent);
}
.tp-name{
  color:color-mix(in srgb,var(--type-color,var(--teal)) 62%,var(--ice));
  margin-bottom:1.55rem;
}
.tp-desc{
  max-width:780px;
  color:rgba(226,239,245,.86);
  font-size:clamp(1.08rem,1.35vw,1.23rem)!important;
  line-height:1.86!important;
  margin-bottom:1.55rem;
  text-wrap:pretty;
}
.tp-dichots{
  max-width:840px;
  gap:.66rem;
  margin-bottom:0;
}
.tp-dichotag{
  position:relative;
  display:inline-flex;
  align-items:center;
  min-height:38px;
  overflow:hidden;
  padding:.52rem .78rem;
  border:1px solid color-mix(in srgb,var(--type-color,var(--teal)) 32%,transparent);
  background:
    linear-gradient(90deg,color-mix(in srgb,var(--type-color,var(--teal)) 15%,transparent),rgba(255,255,255,.018)),
    rgba(6,13,24,.58);
  color:rgba(235,248,252,.88);
  box-shadow:0 0 24px color-mix(in srgb,var(--type-color,var(--teal)) 8%,transparent),inset 0 1px 0 rgba(255,255,255,.035);
  font-size:.62rem;
  letter-spacing:.16em;
  line-height:1.1;
  text-transform:uppercase;
}
.tp-dichotag span{
  position:relative;
  z-index:1;
}
.tp-dichotag::after{
  content:"";
  position:absolute;
  inset:-1px;
  background:linear-gradient(105deg,transparent 22%,rgba(255,255,255,.2) 48%,transparent 74%);
  transform:translateX(-125%);
  animation:tpSignalSheen 4.2s ease-in-out infinite;
  animation-delay:var(--tag-delay,0s);
  pointer-events:none;
}
.tp-func-block{
  position:relative;
  overflow:hidden;
  height:100%;
  margin-bottom:0;
  padding:1.25rem;
  border:1px solid color-mix(in srgb,var(--type-color,var(--teal)) 18%,rgba(255,255,255,.03));
  background:linear-gradient(155deg,rgba(8,17,31,.82),rgba(6,13,24,.68));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03),0 20px 56px rgba(0,0,0,.18);
}
.tp-func-block::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:1px;
  background:linear-gradient(90deg,var(--type-color,var(--teal)),transparent);
  opacity:.58;
}
.tp-func-title{
  color:color-mix(in srgb,var(--type-color,var(--teal)) 68%,rgba(235,248,252,.42));
  font-size:.6rem;
  letter-spacing:.28em;
}
.tp-funcs{
  gap:.58rem;
}
.tp-func-row{
  border-color:color-mix(in srgb,var(--type-color,var(--teal)) 14%,transparent);
  background:linear-gradient(135deg,rgba(8,17,31,.72),rgba(6,13,24,.54));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.018);
}
.tp-func-row:hover{
  border-color:color-mix(in srgb,var(--type-color,var(--teal)) 34%,transparent);
  background:linear-gradient(135deg,rgba(12,25,50,.78),rgba(6,13,24,.66));
}
.tp-func-pos{
  color:rgba(171,202,214,.56);
}
.tp-func-desc{
  color:rgba(219,234,240,.72);
}
.tp-func-row:hover .tp-func-desc{
  color:rgba(235,248,252,.86);
}
.tp-section{
  border-top-color:color-mix(in srgb,var(--type-color,var(--teal)) 16%,rgba(255,255,255,.03));
}
.tp-sec-heading{
  color:rgba(235,248,252,.96);
}
.tp-trait-col,
.tp-compat-card,
.tp-note-card,
.tp-mistype-card,
.tp-dynamic-card,
.tp-scenario-card,
.tp-block-card{
  background:linear-gradient(155deg,rgba(8,17,31,.82),rgba(6,13,24,.68));
}
.tp-trait-list li,
.tp-compat-desc,
.tp-note-copy,
.tp-mistype-copy,
.tp-dynamic-copy,
.tp-block-copy,
.tp-similar-copy,
.tp-scenario-copy,
.tp-model-graph-intro{
  color:rgba(216,232,238,.72);
}
@keyframes tpSignalSheen{
  0%,58%{transform:translateX(-125%);}
  76%,100%{transform:translateX(125%);}
}
@media(min-width:1001px){
  .tp-hero{
    padding:clamp(2.6rem,4vw,3.8rem);
  }
  .tp-top{
    grid-template-columns:minmax(0,1fr) minmax(390px,.52fr);
    gap:clamp(2.4rem,4vw,4.5rem);
  }
  .tp-right{
    display:block;
  }
  .tp-func-block{
    grid-column:auto;
    grid-row:auto;
    margin:0;
  }
  .tp-funcs{
    display:flex;
    flex-direction:column;
  }
  .tp-func-row{
    display:grid;
    grid-template-columns:48px minmax(76px,92px) minmax(0,1fr);
    align-items:flex-start;
    gap:.78rem;
    min-height:0;
    padding:.82rem .95rem;
  }
  .tp-func-row::after{
    top:.72rem;
    right:.72rem;
  }
  .tp-func-badge{
    min-width:38px;
  }
  .tp-func-pos{
    min-width:0;
    padding-top:.2rem;
    font-size:.47rem;
  }
  .tp-func-desc{
    max-width:none;
    font-size:.83rem;
    line-height:1.55;
  }
}
@media(max-width:1000px){
  .tp-hero{
    max-width:calc(100% - 2rem);
    padding:2rem 1.65rem 2.2rem;
  }
  .tp-top{
    grid-template-columns:1fr;
    gap:1.6rem;
  }
  .tp-func-block{
    height:auto;
  }
}
@media(max-width:700px){
  .tp-hero{
    max-width:calc(100% - 1rem);
    padding:1.55rem 1.15rem 1.7rem;
  }
  .tp-quadra-badge{
    max-width:100%;
    white-space:normal;
    line-height:1.5;
    letter-spacing:.18em;
  }
  .tp-code{
    font-size:clamp(4.7rem,24vw,6.9rem);
  }
  .tp-name{
    font-size:1.55rem;
    margin-bottom:1.15rem;
  }
  .tp-desc{
    font-size:1rem!important;
    line-height:1.72!important;
    margin-bottom:1.2rem;
  }
  .tp-dichots{
    gap:.48rem;
  }
  .tp-dichotag{
    flex:1 1 calc(50% - .3rem);
    justify-content:center;
    min-height:36px;
    padding:.5rem .48rem;
    font-size:.52rem;
    letter-spacing:.11em;
    text-align:center;
  }
  .tp-func-block{
    padding:1rem;
  }
  .tp-func-row{
    display:grid;
    grid-template-columns:42px minmax(0,1fr);
    gap:.5rem .7rem;
    padding:.82rem;
  }
  .tp-func-pos{
    min-width:0;
  }
  .tp-func-desc{
    grid-column:1/-1;
    font-size:.82rem;
    line-height:1.55;
  }
}
@media(prefers-reduced-motion:reduce){
  .tp-dichotag::after{
    animation:none!important;
    opacity:0;
  }
}


/* ─────────────────────────────────────
   V31 FIX — METHOD CAROUSEL SPACING + LEFT DOTS
───────────────────────────────────── */
@media(max-width:700px){
  /* Creates the missing breathing room between the bullet list and carousel cards */
  .mini-grid{
    margin-top:1.9rem !important;
  }

  /* Dots should sit directly below the cards and align with the card's left edge */
  .method-carousel-dots{
    justify-content:flex-start !important;
    padding-left:1.5rem !important;
    margin-top:.35rem !important;
    margin-bottom:2.2rem !important;
  }

  /* Slightly tighter card bottom spacing so dots feel attached to carousel */
  .mini-grid{
    padding-bottom:.35rem !important;
  }
}


/* ─────────────────────────────────────
   V32 FIX — SINGLE CAROUSEL RHYTHM + TIGHTER DOTS
───────────────────────────────────── */
@media(max-width:700px){
  .mini-grid{
    padding-bottom:.15rem !important;
  }
  .method-carousel-dots{
    justify-content:flex-start !important;
    padding-left:1.5rem !important;
    margin-top:.1rem !important;
    margin-bottom:1.7rem !important;
  }
  .method-dot.active::before{
    animation:methodDotLoad 3.2s linear forwards !important;
  }
}

/* Mobile stability: keep carousel manual-only and prevent horizontal page drift */
@media(max-width:700px){
  html,
  body{
    max-width:100% !important;
    overflow-x:hidden !important;
  }

  .mini-grid{
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
    padding-left:0 !important;
    padding-right:0 !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    overscroll-behavior-x:contain !important;
  }

  .mini-grid .mini-card{
    min-width:82% !important;
  }
}


/* Quadra cards: only the explore control navigates */
.q-card{cursor:default !important;}
.q-card-explore{
  background:transparent;
  border:0;
  padding:0;
  text-align:left;
  cursor:none;
}
.q-card-explore:hover{
  color:var(--qc,var(--teal));
}


/* V33 — Quadra card navigation correction */
.q-card{
  cursor:default !important;
}
.q-card-explore{
  display:block;
  width:max-content;
  background:transparent !important;
  border:0 !important;
  padding:0 !important;
  text-align:left;
  font:inherit;
  font-family:'Share Tech Mono',monospace !important;
  font-size:.52rem !important;
  letter-spacing:.15em !important;
  color:rgba(95,227,224,.3);
  cursor:none !important;
}
.q-card-explore:hover{
  color:var(--qc,var(--teal)) !important;
}


/* V34 — TYPE CATALOG + COMPARE UPGRADE */
.types-tools{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin:1.5rem 0 2rem;flex-wrap:wrap}
.type-filter-row{display:flex;gap:.45rem;flex-wrap:wrap}
.type-filter-btn{font-family:'Share Tech Mono',monospace;font-size:.52rem;letter-spacing:.16em;text-transform:uppercase;padding:.55rem .8rem;border:1px solid rgba(95,227,224,.14);background:rgba(8,17,31,.55);color:rgba(180,210,220,.45);cursor:none;transition:all .25s ease}
.type-filter-btn.active,.type-filter-btn:hover{color:var(--ice);border-color:rgba(95,227,224,.38);background:rgba(95,227,224,.08)}
.type-inline-search{min-width:240px;max-width:320px;flex:1;border:1px solid rgba(95,227,224,.14);background:rgba(8,17,31,.55);color:var(--ice);font-family:'Share Tech Mono',monospace;font-size:.56rem;letter-spacing:.14em;text-transform:uppercase;padding:.72rem .9rem;outline:none}
.type-inline-search::placeholder{color:rgba(180,210,220,.28)}
.type-inline-search:focus{border-color:rgba(95,227,224,.42);box-shadow:0 0 18px rgba(95,227,224,.08)}
.t-card{min-height:245px}
.t-card.hidden-by-filter{display:none!important}
.t-card.active-type-card,.t-card:hover{transform:translateY(-4px) scale(1.012);box-shadow:0 16px 40px rgba(0,0,0,.18),0 0 28px rgba(95,227,224,.10)}
.t-card.active-type-card::before,.t-card:hover::before{transform:scaleX(1)}
.t-preview{margin-top:1rem;padding-top:.9rem;border-top:1px solid rgba(95,227,224,.08);font-family:'Cormorant Garamond',serif;font-size:.98rem;line-height:1.45;font-style:italic;color:rgba(220,235,240,.55);opacity:0;max-height:0;overflow:hidden;transform:translateY(4px);transition:opacity .25s ease,max-height .3s ease,transform .25s ease}
.t-card.active-type-card .t-preview,.t-card:hover .t-preview{opacity:1;max-height:80px;transform:none}
.t-card-actions{display:flex;gap:.55rem;flex-wrap:wrap;margin-top:1rem;opacity:0;max-height:0;overflow:hidden;transition:opacity .25s ease,max-height .3s ease}
.t-card.active-type-card .t-card-actions,.t-card:hover .t-card-actions{opacity:1;max-height:80px}
.t-card-action{font-family:'Share Tech Mono',monospace;font-size:.48rem;letter-spacing:.12em;text-transform:uppercase;border:1px solid rgba(95,227,224,.18);background:rgba(95,227,224,.05);color:rgba(220,240,245,.65);padding:.45rem .62rem;cursor:none;transition:all .25s ease}
.t-card-action:hover{border-color:var(--tc,var(--teal));color:var(--ice);background:rgba(95,227,224,.1)}
.t-card-action.secondary{background:transparent;border-color:rgba(120,160,180,.14);color:rgba(180,210,220,.42)}

.cp-toolbar{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;margin:-.8rem 0 2rem;flex-wrap:wrap}
.cp-tool-note{font-family:'Share Tech Mono',monospace;font-size:.52rem;letter-spacing:.12em;line-height:1.7;color:rgba(180,210,220,.36);max-width:440px}
.cp-swap-btn{font-family:'Share Tech Mono',monospace;font-size:.55rem;letter-spacing:.16em;text-transform:uppercase;padding:.72rem 1rem;border:1px solid rgba(95,227,224,.2);background:rgba(95,227,224,.05);color:rgba(220,240,245,.68);cursor:none;transition:all .25s ease}
.cp-swap-btn:hover{border-color:var(--teal);color:var(--ice);background:rgba(95,227,224,.1)}
.cp-key-diff{display:none;border:1px solid rgba(95,227,224,.14);background:linear-gradient(135deg,rgba(95,227,224,.06),rgba(8,17,31,.68));padding:1.3rem 1.4rem;margin-bottom:2rem;position:relative;overflow:hidden}
.cp-key-diff.open{display:block}
.cp-key-diff::before{content:'';position:absolute;top:0;left:0;bottom:0;width:2px;background:var(--teal)}
.cp-key-label{font-family:'Share Tech Mono',monospace;font-size:.5rem;letter-spacing:.28em;text-transform:uppercase;color:rgba(95,227,224,.55);margin-bottom:.55rem}
.cp-key-text{font-family:'Cormorant Garamond',serif;font-size:1.35rem;line-height:1.45;color:rgba(230,245,248,.82)}
.cp-common{padding:1.2rem;border:1px solid rgba(95,227,224,.1);background:rgba(8,17,31,.42)}
.cp-common-title{display:flex;align-items:center;gap:.7rem}
.cp-common-title::after{content:'';height:1px;flex:1;background:linear-gradient(to right,rgba(95,227,224,.18),transparent)}
.cp-chip{transition:transform .2s ease,background .25s ease,border-color .25s ease}.cp-chip:hover{transform:translateY(-2px)}
.cp-output.open{animation:cpFadeIn .35s ease both}@keyframes cpFadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.cp-rows{border:0;background:transparent;display:grid;gap:.9rem}
.cp-row{display:grid;grid-template-columns:1fr 180px 1fr;gap:1px;margin-bottom:0;border:1px solid var(--line);background:var(--line)}
.cp-mid{background:rgba(6,13,24,.96);color:rgba(95,227,224,.62)}
.cp-cell{background:linear-gradient(180deg,rgba(8,17,31,.92),rgba(8,17,31,.72))}
@media(max-width:760px){.types-tools{align-items:stretch}.type-inline-search{max-width:none;width:100%;flex-basis:100%}.type-filter-row{width:100%}.type-filter-btn{flex:1;text-align:center}.cp-toolbar{align-items:stretch}.cp-swap-btn{width:100%}.cp-row{grid-template-columns:1fr}}


/* ─────────────────────────────────────
   V36 CLEAN REBUILD — READABILITY + FUNCTION ENTRY
───────────────────────────────────── */
body{font-size:17px;}
.sec-body{font-size:1.18rem !important;line-height:2 !important;}
.mini-desc,.t-desc,.r-desc,.d-text,.cta-card-desc,.tp-desc,.qp-desc,.cp-intro,.cp-cell,.cp-note{
  font-size:1rem !important;
  line-height:1.85 !important;
}
.t-role,.q-arch,.mini-title,.cta-card-title{letter-spacing:.03em;}
.t-card{padding:2rem 1.65rem !important;}
.mini-card{padding:2.25rem 2rem !important;}
.q-card{padding:2.65rem 2.25rem !important;}
.cp-type-desc{font-size:.98rem !important;line-height:1.85 !important;}
.cp-cell{color:rgba(200,220,230,.68) !important;}
.hq-q-text{font-size:1.55rem !important;}
.hq-opt-text{font-size:1.05rem !important;}
.hq-result-desc{font-size:1.16rem !important;}
@media(max-width:700px){
  body{font-size:16px;}
  .sec{padding:5.8rem 1.5rem !important;}
  .sec-body{font-size:1.06rem !important;line-height:1.9 !important;}
  .mini-desc,.t-desc,.r-desc,.d-text,.cta-card-desc,.tp-desc,.qp-desc,.cp-intro,.cp-cell,.cp-note{
    font-size:.98rem !important;
    line-height:1.75 !important;
  }
  .hq-q-text{font-size:1.34rem !important;}
  .hq-opt-text{font-size:1rem !important;}
}


/* Function System section */
.function-system-section{
  background:rgba(8,17,31,.42);
}
.function-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1px;
  background:var(--line);
  border:1px solid var(--line);
  margin-top:3rem;
}
.function-card{
  background:var(--bg2);
  border:0;
  text-align:left;
  padding:2rem 1.6rem;
  min-height:190px;
  cursor:none;
  position:relative;
  overflow:hidden;
  transition:background .3s ease,transform .25s ease,box-shadow .25s ease;
}
.function-card::before{
  content:'';
  position:absolute;
  top:0;left:0;right:0;height:1px;
  background:var(--teal);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .35s ease;
}
.function-card:hover{
  background:rgba(12,25,50,.92);
  transform:translateY(-3px);
  box-shadow:0 12px 35px rgba(0,0,0,.18);
}
.function-card:hover::before{transform:scaleX(1);}
.function-code{
  font-family:'Cormorant Garamond',serif;
  font-size:2.35rem;
  font-weight:700;
  color:var(--teal);
  line-height:1;
  margin-bottom:.55rem;
}
.function-name{
  font-family:'Share Tech Mono',monospace;
  font-size:.6rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:rgba(220,240,245,.68);
  margin-bottom:.85rem;
}
.function-line{
  font-family:'Rajdhani',sans-serif;
  font-size:.96rem;
  line-height:1.75;
  color:rgba(180,210,220,.48);
}
.function-entry-btn{
  display:inline-block;
  margin-top:1.15rem;
  font-family:'Share Tech Mono',monospace;
  font-size:.5rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(95,227,224,.5);
  border:1px solid rgba(95,227,224,.18);
  padding:.52rem .68rem;
  background:rgba(95,227,224,.04);
  text-decoration:none;
  cursor:none;
  transition:all .25s ease;
}
.function-entry-btn:hover{
  color:var(--ice);
  border-color:rgba(95,227,224,.42);
  background:rgba(95,227,224,.1);
}
@media(max-width:900px){
  .function-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:700px){
  .function-grid{
    display:flex;
    overflow-x:auto;
    gap:1rem;
    background:transparent;
    border:0;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    padding:0 1.5rem 1rem;
    margin-left:-1.5rem;
    margin-right:-1.5rem;
    scrollbar-width:none;
  }
  .function-grid::-webkit-scrollbar{display:none;}
  .function-card{
    min-width:78%;
    scroll-snap-align:center;
    border:1px solid var(--line);
  }
}


/* ─────────────────────────────────────
   V37 — COGNITIVE GRID + MONO HIERARCHY FIX
───────────────────────────────────── */

/* Reduce oversized Share Tech Mono/sub-label hierarchy back down */
.q-arch,
.mini-desc,
.function-name,
.cg-name,
.cta-card-desc,
.cp-tool-note,
.cp-note,
.t-funcs,
.sec-label span,
.feature-swipe-hint,
.type-filter-btn,
.type-inline-search,
.cp-swap-btn,
.cp-key-label,
.cp-common-title,
.q-card-explore,
.t-card-action,
.function-entry-btn{
  font-size:.58rem !important;
  letter-spacing:.18em !important;
  line-height:1.65 !important;
  opacity:.72;
}

.mini-desc,
.cta-card-desc,
.cp-tool-note,
.cp-note{
  font-size:.62rem !important;
  line-height:1.75 !important;
  letter-spacing:.14em !important;
}

.q-arch{
  font-size:.56rem !important;
  letter-spacing:.22em !important;
}

.cta-card-desc{
  max-width:420px;
}

/* Cognitive Grid */
.function-grid{display:none !important;}

.cognitive-grid{
  position:relative;
  margin:3.6rem auto 0;
  width:min(760px,100%);
  min-height:560px;
  border:1px solid rgba(95,227,224,.16);
  background:
    radial-gradient(circle at center, rgba(95,227,224,.08), transparent 34%),
    linear-gradient(180deg, rgba(8,17,31,.72), rgba(8,17,31,.45));
  overflow:hidden;
}

.cognitive-grid::before{
  content:'';
  position:absolute;
  inset:12%;
  border:1px solid rgba(95,227,224,.08);
  clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);
}

.cg-center{
  position:absolute;
  left:50%;
  top:50%;
  width:170px;
  height:170px;
  transform:translate(-50%,-50%);
  border:1px solid rgba(95,227,224,.25);
  border-radius:50%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  background:rgba(6,13,24,.72);
  box-shadow:0 0 45px rgba(95,227,224,.07);
  z-index:2;
}

.cg-core{
  font-family:'Cormorant Garamond',serif;
  color:var(--ice);
  font-size:1.55rem;
  line-height:1;
}

.cg-sub{
  margin-top:.55rem;
  font-family:'Share Tech Mono',monospace;
  color:rgba(95,227,224,.55);
  font-size:.48rem;
  letter-spacing:.2em;
  text-transform:uppercase;
}

.cg-node{
  position:absolute;
  width:138px;
  height:102px;
  border:1px solid rgba(95,227,224,.2);
  background:rgba(8,17,31,.82);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:.35rem;
  cursor:none;
  z-index:3;
  transition:transform .25s ease, border-color .25s ease, background .25s ease, box-shadow .25s ease;
}

.cg-node::before{
  content:'';
  position:absolute;
  inset:-7px;
  border:1px solid rgba(95,227,224,.08);
  opacity:0;
  transition:opacity .25s ease;
}

.cg-node:hover{
  transform:translateY(-4px) scale(1.03);
  border-color:rgba(95,227,224,.55);
  background:rgba(95,227,224,.08);
  box-shadow:0 0 34px rgba(95,227,224,.12);
}

.cg-node:hover::before{opacity:1;}

.cg-code{
  font-family:'Cormorant Garamond',serif;
  color:var(--teal);
  font-size:2.3rem;
  font-weight:700;
  line-height:1;
}

.cg-name{
  font-family:'Share Tech Mono',monospace;
  color:rgba(220,240,245,.55);
  text-transform:uppercase;
}

.cg-ne{left:18%;top:11%;}
.cg-ni{right:18%;top:11%;}
.cg-se{left:7%;top:42%;}
.cg-si{right:7%;top:42%;}
.cg-te{left:18%;bottom:11%;}
.cg-ti{right:18%;bottom:11%;}
.cg-fe{left:50%;top:2.5%;transform:translateX(-50%);}
.cg-fi{left:50%;bottom:2.5%;transform:translateX(-50%);}

.cg-fe:hover{transform:translateX(-50%) translateY(-4px) scale(1.03);}
.cg-fi:hover{transform:translateX(-50%) translateY(-4px) scale(1.03);}

.cg-line{
  position:absolute;
  background:linear-gradient(to right, transparent, rgba(95,227,224,.16), transparent);
  z-index:1;
}
.cg-line-h{
  left:9%;
  right:9%;
  top:50%;
  height:1px;
}
.cg-line-v{
  top:8%;
  bottom:8%;
  left:50%;
  width:1px;
  background:linear-gradient(to bottom, transparent, rgba(95,227,224,.16), transparent);
}

.cg-orbit{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  border:1px dashed rgba(95,227,224,.09);
  border-radius:50%;
  pointer-events:none;
}
.cg-orbit-1{width:300px;height:300px;}
.cg-orbit-2{width:470px;height:470px;}

@media(max-width:700px){
  .cognitive-grid{
    min-height:500px;
    margin-top:2.8rem;
  }
  .cg-center{
    width:118px;
    height:118px;
  }
  .cg-core{
    font-size:1.1rem;
  }
  .cg-sub{
    font-size:.4rem;
    letter-spacing:.16em;
  }
  .cg-node{
    width:96px;
    height:78px;
  }
  .cg-code{
    font-size:1.8rem;
  }
  .cg-name{
    font-size:.45rem !important;
    letter-spacing:.14em !important;
  }
  .cg-ne{left:10%;top:13%;}
  .cg-ni{right:10%;top:13%;}
  .cg-se{left:2.5%;top:43%;}
  .cg-si{right:2.5%;top:43%;}
  .cg-te{left:10%;bottom:13%;}
  .cg-ti{right:10%;bottom:13%;}
  .cg-fe{top:3%;}
  .cg-fi{bottom:3%;}
  .cg-orbit-1{width:210px;height:210px;}
  .cg-orbit-2{width:330px;height:330px;}

  .q-arch,
  .mini-desc,
  .function-name,
  .cta-card-desc,
  .cp-tool-note,
  .cp-note{
    font-size:.56rem !important;
    line-height:1.65 !important;
  }
}


/* ─────────────────────────────────────
   V38 — COGNITIVE CONSTELLATION FUNCTIONS
───────────────────────────────────── */

.cognitive-grid{
  border:0 !important;
  background:
    radial-gradient(circle at center, rgba(95,227,224,.14), transparent 28%),
    radial-gradient(circle at 50% 50%, rgba(95,227,224,.05), transparent 55%) !important;
  min-height:590px !important;
  overflow:visible !important;
}

.cognitive-grid::before{
  inset:9% !important;
  border:1px solid rgba(95,227,224,.07) !important;
  opacity:.9;
}

.cognitive-grid::after{
  content:'';
  position:absolute;
  inset:3%;
  pointer-events:none;
  background:
    linear-gradient(to right, rgba(95,227,224,.22), transparent 70%) top left/90px 1px no-repeat,
    linear-gradient(to bottom, rgba(95,227,224,.22), transparent 70%) top left/1px 90px no-repeat,
    linear-gradient(to left, rgba(95,227,224,.22), transparent 70%) top right/90px 1px no-repeat,
    linear-gradient(to bottom, rgba(95,227,224,.22), transparent 70%) top right/1px 90px no-repeat,
    linear-gradient(to right, rgba(95,227,224,.22), transparent 70%) bottom left/90px 1px no-repeat,
    linear-gradient(to top, rgba(95,227,224,.22), transparent 70%) bottom left/1px 90px no-repeat,
    linear-gradient(to left, rgba(95,227,224,.22), transparent 70%) bottom right/90px 1px no-repeat,
    linear-gradient(to top, rgba(95,227,224,.22), transparent 70%) bottom right/1px 90px no-repeat;
  opacity:.65;
}

.cg-center{
  border-color:rgba(95,227,224,.28) !important;
  background:
    radial-gradient(circle at center, rgba(95,227,224,.12), rgba(6,13,24,.72) 65%) !important;
  box-shadow:
    0 0 55px rgba(95,227,224,.12),
    inset 0 0 28px rgba(95,227,224,.05) !important;
  animation:cgCenterPulse 5.5s ease-in-out infinite;
}

@keyframes cgCenterPulse{
  0%,100%{box-shadow:0 0 45px rgba(95,227,224,.09), inset 0 0 22px rgba(95,227,224,.04);}
  50%{box-shadow:0 0 70px rgba(95,227,224,.18), inset 0 0 34px rgba(95,227,224,.08);}
}

.cg-node{
  width:112px !important;
  height:112px !important;
  border:0 !important;
  border-radius:50%;
  background:transparent !important;
  box-shadow:none !important;
  gap:.2rem !important;
}

.cg-node::before{
  inset:7px !important;
  border:1px solid rgba(95,227,224,.26) !important;
  border-radius:50%;
  opacity:.65 !important;
  box-shadow:0 0 22px rgba(95,227,224,.08);
  animation:cgNodeBreathe 4.8s ease-in-out infinite;
}

.cg-node::after{
  content:'';
  position:absolute;
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--teal);
  top:13px;
  right:18px;
  box-shadow:0 0 18px rgba(95,227,224,.75);
  opacity:.65;
}

@keyframes cgNodeBreathe{
  0%,100%{transform:scale(.96);opacity:.42;}
  50%{transform:scale(1.06);opacity:.82;}
}

.cg-code{
  font-size:2.55rem !important;
  text-shadow:0 0 18px rgba(95,227,224,.22);
  z-index:2;
}

.cg-name{
  font-size:.46rem !important;
  letter-spacing:.18em !important;
  color:rgba(220,240,245,.45) !important;
  z-index:2;
}

.cg-node:hover{
  background:transparent !important;
  box-shadow:none !important;
}

.cg-node:hover::before{
  opacity:1 !important;
  border-color:rgba(95,227,224,.65) !important;
  box-shadow:0 0 42px rgba(95,227,224,.22);
}

.cg-node:hover .cg-code{
  color:var(--ice);
}

.cg-line-h,
.cg-line-v{
  opacity:.65 !important;
}

.cg-line.cg-pair{
  position:absolute;
  height:1px;
  background:linear-gradient(to right, transparent, rgba(95,227,224,.20), transparent);
  transform-origin:center;
  z-index:1;
  opacity:.7;
}

.cg-pair-ne-ni{
  top:24%;
  left:27%;
  width:46%;
}
.cg-pair-se-si{
  top:51%;
  left:16%;
  width:68%;
}
.cg-pair-te-ti{
  bottom:24%;
  left:27%;
  width:46%;
}
.cg-pair-fe-fi{
  left:50%;
  top:18%;
  height:64%;
  width:1px;
  background:linear-gradient(to bottom, transparent, rgba(95,227,224,.20), transparent);
}

.cg-orbit{
  border-style:solid !important;
  border-color:rgba(95,227,224,.07) !important;
  animation:cgOrbitSpin 34s linear infinite;
}
.cg-orbit-2{
  animation-duration:52s;
  animation-direction:reverse;
}
@keyframes cgOrbitSpin{
  from{transform:translate(-50%,-50%) rotate(0deg);}
  to{transform:translate(-50%,-50%) rotate(360deg);}
}

/* better node positions for orbit feel */
.cg-fe{top:1.5% !important;}
.cg-fi{bottom:1.5% !important;}
.cg-ne{left:15% !important;top:16% !important;}
.cg-ni{right:15% !important;top:16% !important;}
.cg-se{left:3% !important;top:43% !important;}
.cg-si{right:3% !important;top:43% !important;}
.cg-te{left:15% !important;bottom:16% !important;}
.cg-ti{right:15% !important;bottom:16% !important;}

@media(max-width:700px){
  .cognitive-grid{
    min-height:520px !important;
    margin-top:2.4rem !important;
  }
  .cg-center{
    width:112px !important;
    height:112px !important;
  }
  .cg-node{
    width:84px !important;
    height:84px !important;
  }
  .cg-node::after{
    width:5px;
    height:5px;
    top:10px;
    right:13px;
  }
  .cg-code{
    font-size:2rem !important;
  }
  .cg-name{
    font-size:.38rem !important;
    letter-spacing:.12em !important;
  }
  .cg-ne{left:7% !important;top:15% !important;}
  .cg-ni{right:7% !important;top:15% !important;}
  .cg-se{left:-1% !important;top:43% !important;}
  .cg-si{right:-1% !important;top:43% !important;}
  .cg-te{left:7% !important;bottom:15% !important;}
  .cg-ti{right:7% !important;bottom:15% !important;}
  .cg-fe{top:2% !important;}
  .cg-fi{bottom:2% !important;}
  .cg-pair-ne-ni{top:24%;left:25%;width:50%;}
  .cg-pair-se-si{top:51%;left:12%;width:76%;}
  .cg-pair-te-ti{bottom:24%;left:25%;width:50%;}
}


.cg-ne::before{animation-delay:.1s}
.cg-ni::before{animation-delay:.5s}
.cg-se::before{animation-delay:.9s}
.cg-si::before{animation-delay:1.3s}
.cg-te::before{animation-delay:1.7s}
.cg-ti::before{animation-delay:2.1s}
.cg-fe::before{animation-delay:2.5s}
.cg-fi::before{animation-delay:2.9s}


/* ─────────────────────────────────────
   V39 — FUNCTION IDENTITY + CTA PANEL + SYSTEM NAV
───────────────────────────────────── */

.cg-node{
  color:var(--fc,var(--teal));
}
.cg-node::before{
  border-color:color-mix(in srgb,var(--fc) 48%, transparent) !important;
  box-shadow:0 0 24px color-mix(in srgb,var(--fc) 20%, transparent) !important;
}
.cg-node::after{
  background:var(--fc) !important;
  box-shadow:0 0 18px color-mix(in srgb,var(--fc) 75%, transparent) !important;
}
.cg-code{
  color:var(--fc) !important;
  text-shadow:0 0 22px color-mix(in srgb,var(--fc) 30%, transparent) !important;
}
.cg-node:hover::before,
.cg-node.active-function::before{
  border-color:color-mix(in srgb,var(--fc) 78%, transparent) !important;
  box-shadow:0 0 46px color-mix(in srgb,var(--fc) 30%, transparent) !important;
}
.cg-node.active-function{
  transform:translateY(-5px) scale(1.06) !important;
}
.cg-node.active-function .cg-code{
  color:var(--ice) !important;
}
.cg-node:not(.active-function).dimmed-function{
  opacity:.34;
  filter:saturate(.6);
}
.cg-line.cg-pair{
  overflow:hidden;
}
.cg-line.cg-pair::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.65),transparent);
  transform:translateX(-120%);
  animation:cgEnergyFlow 3.8s ease-in-out infinite;
  opacity:.35;
}
.cg-pair-se-si::after{animation-delay:.7s;}
.cg-pair-te-ti::after{animation-delay:1.4s;}
.cg-pair-fe-fi::after{
  background:linear-gradient(180deg,transparent,rgba(255,255,255,.65),transparent);
  transform:translateY(-120%);
  animation:cgEnergyFlowVertical 4.2s ease-in-out infinite;
  animation-delay:2.1s;
}
@keyframes cgEnergyFlow{
  0%{transform:translateX(-120%);opacity:0;}
  25%{opacity:.45;}
  55%{opacity:.25;}
  100%{transform:translateX(120%);opacity:0;}
}
@keyframes cgEnergyFlowVertical{
  0%{transform:translateY(-120%);opacity:0;}
  25%{opacity:.45;}
  55%{opacity:.25;}
  100%{transform:translateY(120%);opacity:0;}
}

.cognitive-grid .particle{
  position:absolute;
  width:3px;
  height:3px;
  border-radius:50%;
  background:rgba(95,227,224,.55);
  box-shadow:0 0 10px rgba(95,227,224,.5);
  pointer-events:none;
  animation:cgParticleFloat 7s ease-in-out infinite;
}
.cognitive-grid .particle:nth-child(1){left:22%;top:70%;animation-delay:.2s;}
.cognitive-grid .particle:nth-child(2){left:68%;top:74%;animation-delay:1.4s;}
.cognitive-grid .particle:nth-child(3){left:18%;top:28%;animation-delay:2.2s;}
.cognitive-grid .particle:nth-child(4){left:78%;top:30%;animation-delay:3s;}
@keyframes cgParticleFloat{
  0%,100%{transform:translateY(0);opacity:.18;}
  45%{transform:translateY(-18px);opacity:.75;}
}

.cg-panel{
  position:absolute;
  left:50%;
  bottom:-6.4rem;
  transform:translateX(-50%);
  width:min(560px,92%);
  border:1px solid rgba(95,227,224,.16);
  background:rgba(6,13,24,.92);
  box-shadow:0 20px 55px rgba(0,0,0,.28),0 0 30px rgba(95,227,224,.08);
  padding:1.1rem 1.25rem;
  z-index:7;
  opacity:0;
  pointer-events:none;
  transition:opacity .3s ease, transform .3s ease, border-color .25s ease;
}
.cg-panel.open{
  opacity:1;
  pointer-events:auto;
  transform:translateX(-50%) translateY(-.35rem);
}
.cg-panel-kicker{
  font-family:'Share Tech Mono',monospace;
  font-size:.48rem;
  letter-spacing:.22em;
  color:rgba(95,227,224,.45);
  text-transform:uppercase;
  margin-bottom:.4rem;
}
.cg-panel-title{
  font-family:'Cormorant Garamond',serif;
  font-size:1.45rem;
  color:var(--ice);
  line-height:1;
  margin-bottom:.4rem;
}
.cg-panel-text{
  font-size:.9rem;
  line-height:1.55;
  color:rgba(185,210,220,.55);
  margin-bottom:.85rem;
}
.cg-panel-actions{
  display:flex;
  gap:.6rem;
  flex-wrap:wrap;
}
.cg-panel-btn{
  font-family:'Share Tech Mono',monospace;
  font-size:.5rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  border:1px solid rgba(95,227,224,.18);
  background:transparent;
  color:rgba(220,240,245,.55);
  padding:.58rem .72rem;
  cursor:none;
  transition:all .25s ease;
}
.cg-panel-btn.primary{
  background:rgba(95,227,224,.07);
  color:rgba(240,250,252,.78);
}
.cg-panel-btn:hover{
  border-color:var(--fc,var(--teal));
  color:var(--ice);
  background:rgba(95,227,224,.1);
}

.func-back-system{
  display:inline-flex;
  align-items:center;
  gap:.7rem;
  font-family:'Share Tech Mono',monospace;
  font-size:.58rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:rgba(95,227,224,.5);
  cursor:none;
  margin-bottom:2.2rem;
  transition:color .25s ease;
}
.func-back-system:hover{
  color:var(--teal);
}

@media(max-width:700px){
  .cognitive-grid{
    margin-bottom:8rem !important;
  }
  .cg-panel{
    bottom:-7.6rem;
    padding:1rem;
  }
  .cg-panel-title{
    font-size:1.25rem;
  }
  .cg-panel-text{
    font-size:.82rem;
  }
  .cg-panel-btn{
    flex:1;
    text-align:center;
  }
}


/* ─────────────────────────────────────
   V40 — FUNCTION PANEL BELOW MAP + FUNCTION PAGE CTAS
───────────────────────────────────── */
.cognitive-grid{
  margin-bottom:1.6rem !important;
}

.cg-panel{
  position:relative !important;
  left:auto !important;
  bottom:auto !important;
  transform:none !important;
  width:min(680px,100%) !important;
  margin:1.35rem auto 0 !important;
  opacity:0;
  display:none;
  pointer-events:none;
}

.cg-panel.open{
  display:block;
  opacity:1;
  pointer-events:auto;
  transform:none !important;
  animation:cgPanelRise .32s ease both;
}

@keyframes cgPanelRise{
  from{opacity:0;transform:translateY(12px);}
  to{opacity:1;transform:none;}
}

.cg-panel-close{
  position:absolute;
  top:.85rem;
  right:.9rem;
  border:0;
  background:transparent;
  color:rgba(220,240,245,.5);
  font-family:'Share Tech Mono',monospace;
  font-size:1rem;
  cursor:none;
  transition:color .2s ease,transform .2s ease;
}
.cg-panel-close:hover{
  color:var(--teal);
  transform:scale(1.08);
}

/* function page CTA injected by JS */
.func-page-cta{
  margin-top:4rem;
  border:1px solid rgba(95,227,224,.16);
  background:linear-gradient(135deg,rgba(8,17,31,.86),rgba(12,25,50,.5));
  padding:2rem;
  position:relative;
  overflow:hidden;
}
.func-page-cta::before{
  content:'';
  position:absolute;
  top:0;left:0;right:0;height:1px;
  background:linear-gradient(to right,transparent,var(--teal),transparent);
}
.func-cta-kicker{
  font-family:'Share Tech Mono',monospace;
  font-size:.5rem;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:rgba(95,227,224,.5);
  margin-bottom:.8rem;
}
.func-cta-title{
  font-family:'Cormorant Garamond',serif;
  font-size:1.8rem;
  line-height:1.05;
  color:var(--ice);
  margin-bottom:.7rem;
}
.func-cta-text{
  color:rgba(185,210,220,.58);
  line-height:1.75;
  max-width:560px;
  margin-bottom:1.3rem;
}
.func-cta-actions{
  display:flex;
  gap:.7rem;
  flex-wrap:wrap;
}
.func-cta-btn{
  font-family:'Share Tech Mono',monospace;
  font-size:.52rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  padding:.72rem .9rem;
  border:1px solid rgba(95,227,224,.2);
  background:rgba(95,227,224,.06);
  color:rgba(240,250,252,.78);
  cursor:none;
  transition:all .25s ease;
}
.func-cta-btn.secondary{
  background:transparent;
  color:rgba(185,210,220,.55);
}
.func-cta-btn:hover{
  border-color:var(--teal);
  color:var(--ice);
  box-shadow:0 0 24px rgba(95,227,224,.12);
}
.func-footer-note{
  margin-top:1.2rem;
  font-family:'Share Tech Mono',monospace;
  font-size:.5rem;
  line-height:1.7;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgba(185,210,220,.32);
}

@media(max-width:700px){
  .cognitive-grid{
    margin-bottom:1.1rem !important;
  }
  .cg-panel{
    margin-top:1rem !important;
  }
  .func-page-cta{
    padding:1.45rem;
  }
  .func-cta-actions{
    flex-direction:column;
  }
  .func-cta-btn{
    width:100%;
  }
}


/* ─────────────────────────────────────
   V41 — VERIFIED FINAL FIXES
───────────────────────────────────── */

/* Elegant function-page CTA: like type page ending, not boxed footer */
.func-page-cta{
  margin:5.5rem auto 1rem !important;
  padding:4.5rem 1.5rem 5rem !important;
  border:0 !important;
  border-top:1px solid rgba(95,227,224,.12) !important;
  background:transparent !important;
  box-shadow:none !important;
  text-align:center !important;
  max-width:760px !important;
  position:relative !important;
}
.func-page-cta::before{
  content:'' !important;
  position:absolute !important;
  top:-1px !important;
  left:50% !important;
  width:120px !important;
  height:1px !important;
  transform:translateX(-50%) !important;
  background:linear-gradient(to right,transparent,var(--teal),transparent) !important;
}
.func-cta-kicker,.func-footer-note{display:none !important;}
.func-cta-title{
  font-family:'Cormorant Garamond',serif !important;
  font-size:clamp(2rem,5vw,3.25rem) !important;
  line-height:1.06 !important;
  color:var(--ice) !important;
  margin:0 auto 1.1rem !important;
  max-width:680px !important;
}
.func-cta-title .accent{color:var(--teal);}
.func-cta-text{
  max-width:560px !important;
  margin:0 auto 2rem !important;
  color:rgba(185,210,220,.52) !important;
  line-height:1.9 !important;
  font-size:1rem !important;
}
.func-cta-actions{
  display:flex !important;
  justify-content:center !important;
  gap:.85rem !important;
  flex-wrap:wrap !important;
}
.func-cta-btn{
  min-width:210px !important;
  text-align:center !important;
  background:rgba(95,227,224,.045) !important;
}
.func-cta-btn.secondary{opacity:.75;}

/* Function panel always below map */
.cognitive-grid{margin-bottom:1.15rem !important;}
.cg-panel{
  position:relative !important;
  left:auto !important;
  right:auto !important;
  bottom:auto !important;
  top:auto !important;
  transform:none !important;
  width:min(680px,100%) !important;
  margin:1.15rem auto 0 !important;
  display:none !important;
  opacity:0 !important;
  pointer-events:none !important;
  z-index:5 !important;
}
.cg-panel.open{
  display:block !important;
  opacity:1 !important;
  pointer-events:auto !important;
  animation:cgPanelRiseV41 .32s ease both !important;
}
@keyframes cgPanelRiseV41{
  from{opacity:0;transform:translateY(12px);}
  to{opacity:1;transform:translateY(0);}
}
.cg-panel-close{
  position:absolute;
  top:.85rem;
  right:.9rem;
  border:0;
  background:transparent;
  color:rgba(220,240,245,.5);
  font-family:'Share Tech Mono',monospace;
  font-size:1rem;
  cursor:none;
  transition:color .2s ease,transform .2s ease;
}
.cg-panel-close:hover{
  color:var(--teal);
  transform:scale(1.08);
}

@media(max-width:700px){
  .func-page-cta{
    padding:3.6rem 1rem 4rem !important;
    margin-top:4.5rem !important;
  }
  .func-cta-actions{
    flex-direction:column !important;
    align-items:stretch !important;
  }
  .func-cta-btn{width:100% !important;}
}


/* ─────────────────────────────────────
   V42 — VERIFIED PANEL BELOW FUNCTION MAP
───────────────────────────────────── */
#functions .cognitive-grid{
  margin-bottom:2.2rem !important;
  overflow:visible !important;
}

/* The function detail window is now a real block below the map */
#functions .cg-panel[data-panel-location="below-map"]{
  position:relative !important;
  inset:auto !important;
  left:auto !important;
  right:auto !important;
  top:auto !important;
  bottom:auto !important;
  transform:none !important;
  width:min(680px,100%) !important;
  max-width:680px !important;
  margin:0 auto 0 !important;
  display:none !important;
  opacity:0 !important;
  pointer-events:none !important;
  z-index:1 !important;
  border:1px solid rgba(95,227,224,.18) !important;
  background:linear-gradient(135deg,rgba(8,17,31,.92),rgba(8,17,31,.68)) !important;
  box-shadow:0 18px 55px rgba(0,0,0,.20),0 0 28px rgba(95,227,224,.06) !important;
}

#functions .cg-panel[data-panel-location="below-map"].open{
  display:block !important;
  opacity:1 !important;
  pointer-events:auto !important;
  animation:cgPanelBelowRiseV42 .34s ease both !important;
}

@keyframes cgPanelBelowRiseV42{
  from{opacity:0;transform:translateY(14px);}
  to{opacity:1;transform:translateY(0);}
}

#functions .cg-panel[data-panel-location="below-map"]::before{
  content:'' !important;
  position:absolute !important;
  top:-1px !important;
  left:0 !important;
  right:0 !important;
  height:1px !important;
  background:linear-gradient(to right,transparent,var(--fc,var(--teal)),transparent) !important;
}

.cg-panel-close{
  position:absolute !important;
  top:.8rem !important;
  right:.9rem !important;
  border:0 !important;
  background:transparent !important;
  color:rgba(220,240,245,.5) !important;
  font-family:'Share Tech Mono',monospace !important;
  font-size:1rem !important;
  cursor:none !important;
}

@media(max-width:700px){
  #functions .cognitive-grid{
    margin-bottom:1.4rem !important;
  }
  #functions .cg-panel[data-panel-location="below-map"]{
    width:100% !important;
  }
}


/* ─────────────────────────────────────
   V44 — RESTORE FUNCTION MINI PANEL
───────────────────────────────────── */
#functions .cg-panel[data-panel-location="below-map"]{
  position:relative !important;
  inset:auto !important;
  transform:none !important;
  display:none !important;
  opacity:0 !important;
  pointer-events:none !important;
  width:min(680px,100%) !important;
  max-width:680px !important;
  margin:1.25rem auto 0 !important;
  z-index:2 !important;
}
#functions .cg-panel[data-panel-location="below-map"].open{
  display:block !important;
  opacity:1 !important;
  pointer-events:auto !important;
  animation:cgPanelBelowRiseV44 .32s ease both !important;
}
@keyframes cgPanelBelowRiseV44{
  from{opacity:0;transform:translateY(12px);}
  to{opacity:1;transform:translateY(0);}
}


/* ─────────────────────────────────────
   V45 — RESTORE FUNCTION GLOW + FIX FE/FI CENTERING
───────────────────────────────────── */

/* Remove dimming behavior completely */
.cg-node.dimmed-function{
  opacity:1 !important;
  filter:none !important;
}

/* Active function should glow, not make everything else disappear */
.cg-node.active-function{
  opacity:1 !important;
  filter:none !important;
  box-shadow:none !important;
}

.cg-node.active-function::before{
  opacity:1 !important;
  border-color:color-mix(in srgb,var(--fc) 82%, transparent) !important;
  box-shadow:
    0 0 36px color-mix(in srgb,var(--fc) 35%, transparent),
    0 0 72px color-mix(in srgb,var(--fc) 16%, transparent) !important;
  animation:activeFunctionGlowV45 2.4s ease-in-out infinite !important;
}

.cg-node.active-function::after{
  opacity:1 !important;
  transform:scale(1.35);
  box-shadow:
    0 0 18px color-mix(in srgb,var(--fc) 85%, transparent),
    0 0 36px color-mix(in srgb,var(--fc) 40%, transparent) !important;
}

.cg-node.active-function .cg-code{
  color:var(--ice) !important;
  text-shadow:
    0 0 18px color-mix(in srgb,var(--fc) 55%, transparent),
    0 0 38px color-mix(in srgb,var(--fc) 28%, transparent) !important;
}

@keyframes activeFunctionGlowV45{
  0%,100%{
    box-shadow:
      0 0 30px color-mix(in srgb,var(--fc) 28%, transparent),
      0 0 62px color-mix(in srgb,var(--fc) 12%, transparent);
  }
  50%{
    box-shadow:
      0 0 46px color-mix(in srgb,var(--fc) 45%, transparent),
      0 0 90px color-mix(in srgb,var(--fc) 20%, transparent);
  }
}

/* Fix centered top/bottom nodes when active */
.cg-fe.active-function{
  transform:translateX(-50%) translateY(-5px) scale(1.06) !important;
}
.cg-fi.active-function{
  transform:translateX(-50%) translateY(-5px) scale(1.06) !important;
}

/* Keep regular hover centered too */
.cg-fe:hover{
  transform:translateX(-50%) translateY(-4px) scale(1.03) !important;
}
.cg-fi:hover{
  transform:translateX(-50%) translateY(-4px) scale(1.03) !important;
}

/* Mini-window animation: cleaner reveal + soft glow */
#functions .cg-panel[data-panel-location="below-map"].open{
  animation:panelConstellationRevealV45 .42s cubic-bezier(.2,.8,.2,1) both !important;
}

@keyframes panelConstellationRevealV45{
  0%{
    opacity:0;
    transform:translateY(18px) scale(.985);
    box-shadow:0 10px 32px rgba(0,0,0,.12),0 0 0 rgba(95,227,224,0);
  }
  70%{
    opacity:1;
    transform:translateY(-2px) scale(1.002);
  }
  100%{
    opacity:1;
    transform:translateY(0) scale(1);
    box-shadow:0 18px 55px rgba(0,0,0,.20),0 0 34px color-mix(in srgb,var(--fc,var(--teal)) 14%, transparent);
  }
}

#functions .cg-panel[data-panel-location="below-map"]::after{
  content:'' !important;
  position:absolute !important;
  inset:-1px !important;
  pointer-events:none !important;
  border:1px solid color-mix(in srgb,var(--fc,var(--teal)) 32%, transparent) !important;
  opacity:0 !important;
}

#functions .cg-panel[data-panel-location="below-map"].open::after{
  animation:panelBorderPulseV45 1.8s ease-out 1 !important;
}

@keyframes panelBorderPulseV45{
  0%{opacity:.9;transform:scale(1.015);}
  100%{opacity:0;transform:scale(1.055);}
}


/* V46 — QUADRA ATMOSPHERE CARDS / SUBTLE */
.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;}
.q-card[data-quadra]{
  position:relative;
  overflow:hidden;
  border-color:rgba(95,227,224,.10);
  transition:background .35s ease, transform .25s ease, box-shadow .3s ease, border-color .3s ease;
}
.q-card[data-quadra]::before{
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 16% 12%, color-mix(in srgb,var(--qc,var(--teal)) 14%, transparent), transparent 26%),
    linear-gradient(135deg, color-mix(in srgb,var(--qc,var(--teal)) 5%, transparent), transparent 50%);
  opacity:.58;
  transition:opacity .35s ease;
}
.q-card[data-quadra]:hover::before{opacity:.92;}
.q-card[data-quadra]:hover{
  box-shadow:0 18px 55px rgba(0,0,0,.18),0 0 34px color-mix(in srgb,var(--qc,var(--teal)) 13%, transparent);
  border-color:color-mix(in srgb,var(--qc,var(--teal)) 35%, rgba(95,227,224,.1));
}
.q-card[data-quadra] > *{position:relative;z-index:2;}
.q-atmo{
  margin:1rem 0 1.15rem;
  padding:.85rem 0 0;
  border-top:1px solid color-mix(in srgb,var(--qc,var(--teal)) 18%, transparent);
}
.q-atmo-label{
  font-family:'Share Tech Mono',monospace;
  font-size:.5rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:color-mix(in srgb,var(--qc,var(--teal)) 72%, rgba(220,240,245,.4));
  margin-bottom:.55rem;
}
.q-atmo-text{
  color:rgba(190,215,225,.58);
  font-size:.98rem;
  line-height:1.75;
  max-width:520px;
}
.quadra-section-cta{
  margin:3.1rem auto 0;
  padding:3.2rem 1.5rem 3.5rem;
  text-align:center;
  border-top:1px solid rgba(95,227,224,.12);
  max-width:820px;
  position:relative;
}
.quadra-section-cta::before{
  content:'';
  position:absolute;
  top:-1px;
  left:50%;
  transform:translateX(-50%);
  width:130px;
  height:1px;
  background:linear-gradient(to right,transparent,var(--teal),transparent);
}
.quadra-cta-title{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(2rem,5vw,3rem);
  color:var(--ice);
  line-height:1.05;
  margin-bottom:.95rem;
}
.quadra-cta-title .accent{color:var(--teal);}
.quadra-cta-text{
  max-width:580px;
  margin:0 auto 1.6rem;
  color:rgba(185,210,220,.55);
  line-height:1.8;
}
.quadra-cta-actions{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:.8rem;
}
.quadra-cta-btn{
  font-family:'Share Tech Mono',monospace;
  font-size:.55rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  border:1px solid rgba(95,227,224,.22);
  background:rgba(95,227,224,.055);
  color:rgba(240,250,252,.76);
  padding:.85rem 1.1rem;
  min-width:210px;
  cursor:none;
  transition:all .25s ease;
}
.quadra-cta-btn.secondary{background:transparent;color:rgba(185,210,220,.55);}
.quadra-cta-btn:hover{border-color:var(--teal);color:var(--ice);box-shadow:0 0 26px rgba(95,227,224,.12);}
.q-card[data-quadra="Alpha"]{--qc:#63E6E2;}
.q-card[data-quadra="Beta"]{--qc:#8F6CFF;}
.q-card[data-quadra="Gamma"]{--qc:#D8B85A;}
.q-card[data-quadra="Delta"]{--qc:#7DDBA8;}

.tp-func-row,
.tp-quadra-badge,
.qp-nav-item,
.qp-type-card,
.fp-type-chip,
.t-card-action,
.q-card-explore,
.dual-result-action,
.cp-type-action{
  text-decoration:none;
}

.tp-compat-links{
  display:flex;
  flex-wrap:wrap;
  gap:.65rem;
  margin-top:1rem;
}

.tp-compat-links a{
  border:1px solid color-mix(in srgb,var(--type-color,var(--teal)) 22%,transparent);
  color:rgba(220,240,245,.72);
  font-family:'Share Tech Mono',monospace;
  font-size:.52rem;
  letter-spacing:.14em;
  padding:.55rem .7rem;
  text-decoration:none;
  text-transform:uppercase;
}

.tp-compat-links a:hover{
  border-color:color-mix(in srgb,var(--type-color,var(--teal)) 50%,transparent);
  color:var(--type-color,var(--teal));
}
.nav-link-support{
  color:rgba(255,151,151,.78)!important;
}
.nav-link-support:hover{
  color:#ffb0b0!important;
}
.mob-support{
  border:1px solid rgba(255,95,95,.3)!important;
  background:linear-gradient(90deg,rgba(255,95,95,.09),rgba(41,171,224,.055))!important;
  color:rgba(255,226,226,.9)!important;
}
.home-support-panel{
  margin-top:1.4rem;
  border:1px solid rgba(41,171,224,.26);
  background:
    radial-gradient(circle at 88% 8%,rgba(255,95,95,.16),transparent 34%),
    linear-gradient(145deg,rgba(8,17,31,.86),rgba(6,13,24,.68));
  padding:clamp(1.25rem,3vw,2rem);
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:1.4rem;
  align-items:center;
}
.home-support-title{
  margin:.45rem 0 .55rem;
  color:var(--ice);
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(2rem,4vw,3.2rem);
  line-height:1;
}
.home-support-copy p{
  margin:0;
  max-width:760px;
  color:rgba(200,220,230,.62);
  font-size:1rem;
  line-height:1.75;
}
.home-support-copy p + p{
  margin-top:.45rem;
}
.home-support-actions{
  display:flex;
  gap:.7rem;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.home-support-btn,.home-support-kofi,.tp-support-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  border:1px solid rgba(255,95,95,.42);
  background:linear-gradient(90deg,rgba(255,95,95,.16),rgba(41,171,224,.08));
  color:#fff;
  padding:.82rem 1rem;
  text-decoration:none;
  font-family:'Share Tech Mono',monospace;
  font-size:.56rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  cursor:none;
  transition:border-color .25s,background .25s,transform .25s;
}
.home-support-kofi{
  border-color:rgba(41,171,224,.36);
  background:rgba(41,171,224,.07);
  color:rgba(214,242,255,.88);
}
.home-support-kofi--icon{
  width:48px;
  min-width:48px;
  padding:.7rem;
}
.home-support-kofi--icon svg{
  width:1.15rem;
  height:1.15rem;
  fill:none;
  stroke:currentColor;
  stroke-width:1.45;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.home-support-kofi--icon svg path:nth-child(3){
  fill:currentColor;
  stroke:none;
}
.home-support-btn:hover,.home-support-kofi:hover,.tp-support-btn:hover{
  border-color:rgba(255,95,95,.78);
  background:linear-gradient(90deg,rgba(255,95,95,.24),rgba(41,171,224,.12));
  transform:translateY(-1px);
}
.tp-support-band{
  margin:0 auto;
  max-width:1380px;
  border-top:1px solid rgba(var(--type-rgb,95,227,224),.22);
  border-bottom:1px solid rgba(255,95,95,.18);
  background:
    radial-gradient(circle at 92% 18%,rgba(255,95,95,.14),transparent 32%),
    linear-gradient(135deg,rgba(var(--type-rgb,95,227,224),.065),rgba(6,13,24,.58));
  padding:clamp(1.6rem,4vw,2.5rem) clamp(1.5rem,6vw,4rem);
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:1.25rem;
  align-items:center;
}
.tp-support-kicker{
  color:rgba(var(--type-rgb,95,227,224),.7);
  font-family:'Share Tech Mono',monospace;
  font-size:.52rem;
  letter-spacing:.22em;
  text-transform:uppercase;
}
.tp-support-title{
  margin:.55rem 0 .45rem;
  color:var(--ice);
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(1.8rem,3.4vw,2.8rem);
  line-height:1;
}
.tp-support-copy p{
  margin:0;
  max-width:720px;
  color:rgba(200,220,230,.62);
  font-size:.98rem;
  line-height:1.7;
}
@media(max-width:700px){
  .quadra-intro{font-size:1rem;line-height:1.8;margin-bottom:2.2rem;}
  .q-atmo-text{font-size:.94rem;}
  .quadra-section-cta{padding:2.8rem 0 3.2rem;}
  .quadra-cta-actions{flex-direction:column;}
  .quadra-cta-btn{width:100%;}
}


/* V47 — QUIZ UX + RESULT PAGE UPGRADE */
.quiz-actions,.hq-actions,.quiz-nav,.hq-nav,.hq-footer{position:sticky!important;bottom:0!important;z-index:20!important;background:linear-gradient(to top,rgba(5,12,22,.98),rgba(5,12,22,.86) 70%,transparent)!important;border-top:1px solid rgba(95,227,224,.13)!important;padding:1rem 1rem calc(1rem + env(safe-area-inset-bottom))!important;margin:2rem -1rem -1rem!important;display:flex!important;justify-content:center!important;gap:.8rem!important;backdrop-filter:blur(10px)}
.quiz-actions button,.hq-actions button,.quiz-nav button,.hq-nav button,.hq-footer button{min-width:145px}.quiz-actions button:not(:disabled):last-child,.hq-actions button:not(:disabled):last-child,.quiz-nav button:not(:disabled):last-child,.hq-nav button:not(:disabled):last-child,.hq-footer button:not(:disabled):last-child{box-shadow:0 0 28px rgba(95,227,224,.12);border-color:rgba(95,227,224,.42)!important}
.quiz-progress,.hq-progress{position:relative;overflow:hidden}.quiz-progress::after{content:'';position:absolute;top:0;bottom:0;left:0;width:var(--quiz-progress,4%);background:linear-gradient(to right,rgba(95,227,224,.18),rgba(95,227,224,.55));box-shadow:0 0 18px rgba(95,227,224,.3);transition:width .35s ease}.hq-progress::after{display:none!important}.quiz-option,.hq-option,.hq-opt,.option{transition:border-color .25s ease,background .25s ease,transform .2s ease,box-shadow .25s ease!important}.quiz-option.selected,.hq-option.selected,.hq-opt.selected,.option.selected,.quiz-option.active,.hq-option.active,.hq-opt.active,.option.active{border-color:rgba(95,227,224,.6)!important;background:rgba(95,227,224,.06)!important;box-shadow:0 0 28px rgba(95,227,224,.12)!important;transform:translateY(-1px)}
.result-action-hub,.result-stack-visual,.result-share-panel,.result-next-steps,.result-meaning-panel{width:min(720px,100%);margin:2rem auto 0;border:1px solid rgba(95,227,224,.14);background:linear-gradient(135deg,rgba(8,17,31,.82),rgba(8,17,31,.48));position:relative;overflow:hidden}.result-action-hub::before,.result-stack-visual::before,.result-share-panel::before,.result-next-steps::before,.result-meaning-panel::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(to right,transparent,var(--teal),transparent);opacity:.8}.result-panel-inner{padding:2rem;position:relative;z-index:2}.result-kicker{font-family:'Share Tech Mono',monospace;font-size:.5rem;letter-spacing:.24em;color:rgba(95,227,224,.52);text-transform:uppercase;margin-bottom:.75rem}.result-panel-title{font-family:'Cormorant Garamond',serif;font-size:clamp(1.8rem,4.8vw,2.75rem);color:var(--ice);line-height:1.05;margin-bottom:.85rem}.result-panel-title .accent{color:var(--teal)}.result-panel-text{color:rgba(185,210,220,.56);line-height:1.85;max-width:620px}.result-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;margin-top:1.35rem}.result-action-btn,.result-share-btn{font-family:'Share Tech Mono',monospace;font-size:.52rem;letter-spacing:.14em;text-transform:uppercase;border:1px solid rgba(95,227,224,.20);background:rgba(95,227,224,.055);color:rgba(240,250,252,.78);padding:.86rem .9rem;cursor:none;transition:all .25s ease}.result-action-btn.primary{grid-column:1/-1;border-color:rgba(95,227,224,.42);box-shadow:0 0 26px rgba(95,227,224,.11)}.result-action-btn:hover,.result-share-btn:hover{color:var(--ice);border-color:var(--teal);box-shadow:0 0 28px rgba(95,227,224,.14)}.result-meaning-list{display:grid;gap:.75rem;margin-top:1.2rem}.result-meaning-item{color:rgba(190,215,225,.62);line-height:1.7;padding-left:1.1rem;position:relative}.result-meaning-item::before{content:'';position:absolute;left:0;top:.7rem;width:5px;height:5px;border-radius:50%;background:var(--teal);box-shadow:0 0 12px rgba(95,227,224,.6)}.result-stack-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.65rem;margin-top:1.4rem}.result-stack-cell{min-height:82px;border:1px solid rgba(95,227,224,.14);display:flex;flex-direction:column;justify-content:center;align-items:center;background:rgba(5,12,22,.36)}.result-stack-code{font-family:'Cormorant Garamond',serif;font-size:2rem;color:var(--teal);line-height:1}.result-stack-role{font-family:'Share Tech Mono',monospace;font-size:.42rem;letter-spacing:.15em;color:rgba(185,210,220,.44);text-transform:uppercase;margin-top:.45rem;text-align:center}.result-next-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-top:1.25rem}.result-next-pill{border:1px solid rgba(95,227,224,.16);background:rgba(95,227,224,.035);padding:.9rem .75rem;text-align:center;font-family:'Share Tech Mono',monospace;font-size:.52rem;letter-spacing:.13em;text-transform:uppercase;color:rgba(220,240,245,.62);cursor:none}.result-next-pill:hover{color:var(--ice);border-color:rgba(95,227,224,.45);box-shadow:0 0 22px rgba(95,227,224,.1)}.result-share-row{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.25rem}.result-share-btn{flex:1;min-width:160px}.result-share-status{font-family:'Share Tech Mono',monospace;font-size:.48rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(95,227,224,.55);margin-top:.8rem;min-height:1em}
@media(max-width:700px){.quiz-actions,.hq-actions,.quiz-nav,.hq-nav,.hq-footer{margin-left:-1.25rem!important;margin-right:-1.25rem!important}.quiz-actions button,.hq-actions button,.quiz-nav button,.hq-nav button,.hq-footer button{min-width:0;flex:1}.result-panel-inner{padding:1.45rem}.result-action-grid,.result-next-grid{grid-template-columns:1fr}.result-stack-grid{grid-template-columns:repeat(2,1fr)}}

/* V48 - concise hybrid quiz result */
.hq-result-breakdown,.hq-confidence,.hq-alternatives,.hq-warning,.hq-result-actions{display:none!important}
.result-v47-upgrade{margin-top:2rem}
.result-confidence-panel,.result-why-panel,.result-life-panel,.result-relationship-panel,.result-close-panel,.result-action-hub{width:min(720px,100%);margin:1.35rem auto 0;border:1px solid rgba(95,227,224,.14);background:linear-gradient(135deg,rgba(8,17,31,.82),rgba(8,17,31,.48));position:relative;overflow:hidden;text-align:left}
.result-confidence-panel::before,.result-why-panel::before,.result-life-panel::before,.result-relationship-panel::before,.result-close-panel::before,.result-action-hub::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(to right,transparent,var(--teal),transparent);opacity:.8}
.result-panel-inner{padding:2rem;position:relative;z-index:2}
.result-kicker{font-family:'Share Tech Mono',monospace;font-size:.5rem;letter-spacing:.24em;color:rgba(95,227,224,.52);text-transform:uppercase;margin-bottom:.75rem}
.result-panel-title{font-family:'Cormorant Garamond',serif;font-size:clamp(1.65rem,4.5vw,2.4rem);color:var(--ice);line-height:1.08;margin-bottom:.85rem}
.result-panel-title .accent{color:var(--teal)}
.result-plain-text,.result-panel-text{color:rgba(200,220,226,.62);line-height:1.9;max-width:640px}
.result-bullet-list{display:grid;gap:.72rem;margin:1.1rem 0 1.15rem;padding:0;list-style:none}
.result-bullet-list li{color:rgba(210,230,236,.68);line-height:1.65;padding-left:1.1rem;position:relative}
.result-bullet-list li::before{content:'';position:absolute;left:0;top:.72rem;width:5px;height:5px;border-radius:50%;background:var(--teal);box-shadow:0 0 12px rgba(95,227,224,.6)}
.result-bullet-code{font-family:'Share Tech Mono',monospace;font-size:.72rem;color:var(--teal);letter-spacing:.08em}
.result-relationship-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1rem}
.result-mini-head{font-family:'Share Tech Mono',monospace;font-size:.5rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(95,227,224,.5);margin-bottom:.65rem}
.result-relationship-grid .result-bullet-list{margin:.2rem 0 0}
.result-close-list{display:grid;gap:.7rem;margin:1rem 0 0;padding:0;list-style:none}
.result-close-list li{border:1px solid rgba(95,227,224,.12);background:rgba(5,12,22,.28);padding:.85rem 1rem;color:rgba(210,230,236,.68);line-height:1.55}
.result-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;margin-top:1.35rem}
.result-action-btn,.result-share-btn{font-family:'Share Tech Mono',monospace;font-size:.52rem;letter-spacing:.14em;text-transform:uppercase;border:1px solid rgba(95,227,224,.20);background:rgba(95,227,224,.055);color:rgba(240,250,252,.78);padding:.86rem .9rem;cursor:none;transition:all .25s ease}
.result-action-btn.primary{grid-column:1/-1;border-color:rgba(95,227,224,.42);box-shadow:0 0 26px rgba(95,227,224,.11)}
.result-action-btn:hover,.result-share-btn:hover{color:var(--ice);border-color:var(--teal);box-shadow:0 0 28px rgba(95,227,224,.14)}
@media(max-width:700px){.result-panel-inner{padding:1.45rem}.result-action-grid,.result-relationship-grid{grid-template-columns:1fr}}
/* V49 - Option A visual result cards */
.hq-result-funcs,.hq-result-breakdown,.hq-result-actions{display:none!important}
.hq-confidence{display:flex!important}
.hq-alternatives{display:flex!important}
.hq-warning{display:block!important}
.result-confidence-panel,.result-close-panel{display:none!important}
.result-signal-panel,.result-dichotomy-panel,.result-dual-panel,.result-life-panel,.result-relationship-panel,.result-typing-panel,.result-action-hub{width:min(720px,100%);margin:1.35rem auto 0;border:1px solid rgba(95,227,224,.14);background:linear-gradient(135deg,rgba(8,17,31,.82),rgba(8,17,31,.48));position:relative;overflow:hidden;text-align:left}
.result-signal-panel::before,.result-dichotomy-panel::before,.result-dual-panel::before,.result-life-panel::before,.result-relationship-panel::before,.result-typing-panel::before,.result-action-hub::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(to right,transparent,var(--teal),transparent);opacity:.8}
.result-signal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;margin:1.2rem 0}
.result-signal-card{min-height:132px;border:1px solid rgba(95,227,224,.14);background:radial-gradient(circle at top right,rgba(95,227,224,.08),transparent 48%),rgba(5,12,22,.34);padding:1rem;display:flex;flex-direction:column;justify-content:space-between}
.result-signal-code{align-self:flex-start;font-family:'Share Tech Mono',monospace;font-size:.52rem;letter-spacing:.18em;color:var(--teal);border:1px solid rgba(95,227,224,.24);padding:.22rem .45rem}
.result-signal-title{font-family:'Cormorant Garamond',serif;font-size:1.32rem;line-height:1.05;color:var(--ice);margin-top:1.1rem}
.result-signal-copy{font-size:.82rem;line-height:1.55;color:rgba(190,215,225,.56);margin-top:.45rem}
.result-dichotomy-grid{display:grid;grid-template-columns:1fr;gap:.8rem;margin:1rem 0 .9rem}
.result-dichotomy-card{border:1px solid rgba(95,227,224,.13);background:rgba(5,12,22,.32);padding:1rem 1.1rem}
.result-dichotomy-chip{display:inline-block;font-family:'Share Tech Mono',monospace;font-size:.5rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(240,250,252,.72);border:1px solid rgba(95,227,224,.18);background:rgba(95,227,224,.045);padding:.38rem .58rem;margin-bottom:.65rem}
.result-dichotomy-copy{font-size:.92rem;line-height:1.75;color:rgba(200,220,230,.62)}
.result-dual-head{display:flex;gap:1rem;align-items:flex-start;justify-content:space-between}
.result-dual-title{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,4vw,3rem);line-height:1.05;color:var(--ice);margin:.25rem 0 1rem}
.result-dual-title span{color:var(--teal)}
.result-dual-mark{width:76px;height:76px;opacity:.32;flex:0 0 auto;color:var(--teal)}
.result-dual-mark svg{width:100%;height:100%}
.result-dual-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(95,227,224,.12);border:1px solid rgba(95,227,224,.12);margin-top:1.1rem}
.result-dual-give{background:rgba(6,13,24,.6);padding:1rem}
.result-dual-give b{display:block;font-family:'Share Tech Mono',monospace;font-size:.5rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(95,227,224,.58);margin-bottom:.55rem}
.result-dual-give span{font-size:.88rem;line-height:1.65;color:rgba(200,220,230,.58)}
.result-life-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;margin:1.15rem 0}
.result-life-card{border:1px solid rgba(95,227,224,.12);background:rgba(5,12,22,.32);padding:1rem 1rem 1.05rem;min-height:104px;position:relative}
.result-life-card::before{content:'';position:absolute;left:1rem;top:1rem;width:18px;height:2px;background:var(--teal);box-shadow:0 0 12px rgba(95,227,224,.45)}
.result-life-copy{padding-top:1.05rem;color:rgba(210,230,236,.68);line-height:1.58}
.result-relationship-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1rem}
.result-relation-box{border:1px solid rgba(95,227,224,.12);background:rgba(5,12,22,.28);padding:1rem}
.result-relation-box .result-bullet-list{margin:.2rem 0 0}
.result-typing-panel .result-panel-title{max-width:560px}
.result-typing-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.25rem}
.result-typing-actions .result-action-btn{flex:1;min-width:180px;text-align:center}
@media(max-width:700px){.result-signal-grid,.result-life-grid,.result-relationship-grid{grid-template-columns:1fr}.result-signal-card{min-height:112px}}
/* V50 - restore top function strip and old-style final panels */
.hq-result-funcs{display:flex!important}
.result-next-steps,.result-share-panel{width:min(720px,100%);margin:1.35rem auto 0;border:1px solid rgba(95,227,224,.14);background:linear-gradient(135deg,rgba(8,17,31,.82),rgba(8,17,31,.48));position:relative;overflow:hidden;text-align:center}
.result-next-steps::before,.result-share-panel::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(to right,transparent,var(--teal),transparent);opacity:.8}
.result-next-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-top:1.25rem}
.result-next-pill{border:1px solid rgba(95,227,224,.16);background:rgba(95,227,224,.035);padding:.9rem .75rem;text-align:center;font-family:'Share Tech Mono',monospace;font-size:.52rem;letter-spacing:.13em;text-transform:uppercase;color:rgba(220,240,245,.62);cursor:none}
.result-next-pill:hover{color:var(--ice);border-color:rgba(95,227,224,.45);box-shadow:0 0 22px rgba(95,227,224,.1)}
.result-share-row{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.25rem}
.result-share-btn{flex:1;min-width:160px}
.result-share-status{font-family:'Share Tech Mono',monospace;font-size:.48rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(95,227,224,.55);margin-top:.8rem;min-height:1em}
@media(max-width:700px){.result-next-grid{grid-template-columns:1fr}.result-share-row{flex-direction:column}}
/* V51 - homepage type card sigil watermarks */
.types-grid .t-card>.t-sigil{position:absolute;top:1.15rem;right:1.15rem;width:58px;height:58px;margin:0;color:var(--tc,var(--teal));opacity:.14;pointer-events:none;z-index:1;filter:drop-shadow(0 0 12px color-mix(in srgb,var(--tc,var(--teal)) 45%,transparent));transition:opacity .3s ease,transform .3s ease}
.types-grid .t-card:hover>.t-sigil,.types-grid .t-card.active-type-card>.t-sigil{opacity:.36;transform:translateY(-2px) scale(1.05)}
.types-grid .t-card>.t-sigil svg{width:100%;height:100%}
.types-grid .t-card>:not(.t-sigil){position:relative;z-index:2}
@media(max-width:700px){.types-grid .t-card>.t-sigil{width:52px;height:52px;opacity:.12}}
/* V52 - desktop type profile layout */
@media(min-width:1001px){
  #type-page{padding-top:4.5rem}
  .tp-jump-wrap{max-width:1380px;margin-left:auto!important;margin-right:auto!important;padding-left:4rem!important;padding-right:4rem!important}
  .tp-hero{max-width:1380px;padding-left:4rem;padding-right:4rem;padding-bottom:6rem}
  .tp-top{grid-template-columns:1fr;grid-template-rows:auto auto;gap:4rem;align-items:start}
  .tp-left{min-width:0}
  .tp-right{display:contents}
  .tp-code{font-size:clamp(7rem,9vw,10.5rem);letter-spacing:.01em}
  .tp-name{font-size:1.9rem;margin-bottom:2.25rem}
  .tp-desc{max-width:720px;font-size:1.08rem!important;line-height:2!important;margin-bottom:2.8rem}
  .tp-dichots{max-width:760px;gap:.65rem}
  .tp-dichotag{padding:.42rem 1rem}
  .tp-desktop-sigil{display:none}
  .tp-desktop-sigil .type-sigil,.tp-desktop-sigil svg{width:100%;height:100%}
  .tp-func-block{grid-column:1/-1;grid-row:2;margin:1.4rem 0 0}
  .tp-func-title{margin-bottom:1.45rem}
  .tp-funcs{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
  .tp-func-row{min-height:132px;display:grid;grid-template-columns:58px 116px minmax(0,1fr);align-items:flex-start;gap:1.1rem;padding:1.35rem 1.5rem}
  .tp-func-row::after{top:1rem;right:.9rem}
  .tp-func-badge{min-width:38px}
  .tp-func-pos{min-width:0;width:auto;padding-top:.25rem}
  .tp-func-desc{font-size:.94rem;line-height:1.75;max-width:520px}
  .tp-section{max-width:1380px;padding-left:4rem;padding-right:4rem}
  .tp-trait-list li,.tp-compat-desc{font-size:.98rem;line-height:1.75}
  .tp-note-copy,.tp-mistype-copy,.tp-compat-mini-copy,.tp-dynamic-copy,.tp-block-copy,.tp-similar-copy{font-size:.94rem;line-height:1.75}
}
@media(max-width:1000px){
  .tp-desktop-sigil{display:none}
  .tp-notes-grid,.tp-mistype-grid,.tp-block-grid,.tp-similar-grid,.tp-scenario-grid{grid-template-columns:1fr}
  .tp-constellation{grid-template-columns:1fr}
  .tp-constellation-core{min-height:0;padding:2rem}
  .tp-constellation-paths{grid-template-columns:1fr}
}
/* V47 duality compare reveal + mobile intro polish */
.cp-dual-unlock{position:relative;margin:0 0 2rem;border:1px solid color-mix(in srgb,var(--cpa,var(--teal)) 26%,transparent);background:radial-gradient(circle at 18% 18%,color-mix(in srgb,var(--cpa,var(--teal)) 12%,transparent),transparent 34%),radial-gradient(circle at 86% 62%,color-mix(in srgb,var(--cpb,var(--teal)) 10%,transparent),transparent 36%),rgba(8,17,31,.72);overflow:hidden;}
.cp-dual-unlock::before{content:'';position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,var(--cpa,var(--teal)),rgba(235,250,255,.72),var(--cpb,var(--teal)));opacity:.75;}
.cp-dual-inner{position:relative;padding:2rem;display:grid;grid-template-columns:minmax(220px,.8fr) minmax(360px,1.2fr);gap:2.4rem;align-items:start;}
.cp-dual-kicker{font-family:'Share Tech Mono',monospace;font-size:.52rem;letter-spacing:.28em;text-transform:uppercase;color:color-mix(in srgb,var(--cpa,var(--teal)) 72%,var(--ice));margin-bottom:.8rem;}
.cp-dual-title{font-family:'Cormorant Garamond',serif;font-size:clamp(2.1rem,4vw,3.4rem);line-height:1.02;color:var(--ice);margin-bottom:1rem;}
.cp-dual-title span{color:color-mix(in srgb,var(--cpa,var(--teal)) 48%,var(--cpb,var(--teal)));}
.cp-dual-pairline{font-family:'Share Tech Mono',monospace;font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(180,210,220,.48);line-height:1.7;}
.cp-dual-copy{font-size:1rem;line-height:1.9;color:rgba(200,220,230,.64);margin-bottom:1.1rem;}
.cp-dual-gives{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(95,227,224,.14);border:1px solid rgba(95,227,224,.12);margin:1.3rem 0 1.1rem;}
.cp-dual-give{background:rgba(6,13,24,.62);padding:1.15rem;}
.cp-dual-give b{display:block;font-family:'Share Tech Mono',monospace;font-size:.5rem;letter-spacing:.18em;text-transform:uppercase;color:color-mix(in srgb,var(--cpa,var(--teal)) 55%,var(--ice));margin-bottom:.55rem;}
.cp-dual-give:nth-child(2) b{color:color-mix(in srgb,var(--cpb,var(--teal)) 55%,var(--ice));}
.cp-dual-give span{font-size:.92rem;line-height:1.65;color:rgba(200,220,230,.58);}
.cp-dual-care{border-left:1px solid color-mix(in srgb,var(--cpb,var(--teal)) 42%,transparent);padding-left:1rem;font-size:.9rem;line-height:1.8;color:rgba(220,210,190,.58);}
.cp-type-actions{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1.25rem;}
.cp-type-action{font-family:'Share Tech Mono',monospace;font-size:.5rem;letter-spacing:.16em;text-transform:uppercase;border:1px solid rgba(95,227,224,.18);background:rgba(95,227,224,.045);color:rgba(220,240,245,.68);padding:.62rem .9rem;cursor:none;transition:all .25s ease;}
.cp-type-action:hover{border-color:var(--ctc,var(--teal));color:var(--ice);background:rgba(95,227,224,.09);}
.cp-quadra-cell{max-width:560px;}
.cp-quadra-name{font-family:'Cormorant Garamond',serif;font-size:1.35rem;line-height:1.15;color:var(--ice);margin-bottom:.35rem;}
.cp-quadra-tag{font-family:'Share Tech Mono',monospace;font-size:.52rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(95,227,224,.58);margin-bottom:.75rem;}
.cp-quadra-values{display:flex;gap:.45rem;flex-wrap:wrap;margin-bottom:.75rem;}
.cp-quadra-value{font-family:'Share Tech Mono',monospace;font-size:.48rem;letter-spacing:.14em;text-transform:uppercase;border:1px solid rgba(95,227,224,.14);background:rgba(95,227,224,.04);color:rgba(220,240,245,.55);padding:.32rem .5rem;}
.cp-quadra-copy{font-size:.92rem;line-height:1.75;color:rgba(200,220,230,.62);}
.tp-dichotomy-profile{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:rgba(95,227,224,.12);border:1px solid rgba(95,227,224,.12);}
.tp-dich-profile-card{background:rgba(6,13,24,.62);min-height:0;}
.tp-dich-profile-card summary{list-style:none;cursor:none;padding:1.25rem 1.35rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;}
.tp-dich-profile-card summary::-webkit-details-marker{display:none;}
.tp-dich-profile-name{font-family:'Cormorant Garamond',serif;font-size:1.35rem;font-weight:700;color:var(--ice);}
.tp-dich-profile-axis{font-family:'Share Tech Mono',monospace;font-size:.48rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(95,227,224,.5);text-align:right;}
.tp-dich-profile-card summary::after{content:'+';font-family:'Share Tech Mono',monospace;font-size:.68rem;color:rgba(95,227,224,.52);}
.tp-dich-profile-card[open] summary::after{content:'-';}
.tp-dich-profile-copy{padding:0 1.35rem 1.35rem;font-size:.95rem;line-height:1.78;color:rgba(200,220,230,.62);}
.cp-dich-context{max-width:560px;}
.cp-dich-title{font-family:'Cormorant Garamond',serif;font-size:1.25rem;color:var(--ice);margin-bottom:.7rem;}
.cp-dich-chips{display:flex;gap:.45rem;flex-wrap:wrap;margin-bottom:.8rem;}
.cp-dich-chip{font-family:'Share Tech Mono',monospace;font-size:.48rem;letter-spacing:.13em;text-transform:uppercase;border:1px solid rgba(95,227,224,.14);background:rgba(95,227,224,.035);color:rgba(220,240,245,.54);padding:.32rem .5rem;}
.cp-dich-copy{font-size:.92rem;line-height:1.75;color:rgba(200,220,230,.6);}
.quiz-context{max-width:1100px;margin:2.4rem auto 3rem;border:1px solid rgba(95,227,224,.14);background:linear-gradient(135deg,rgba(8,17,31,.78),rgba(8,17,31,.42));display:grid;grid-template-columns:1.1fr .9fr;gap:1px;position:relative;overflow:hidden;}
#quiz-page .sec-inner{display:flex;flex-direction:column;}
#quiz-page .sec-label{order:0;}
#quiz-page .sec-heading{order:1;}
#quiz-page .quiz-context{order:2;}
#quiz-page .quiz-wrap{order:3;}
#quiz-page .quiz-faq{order:4;}
.quiz-context::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(to right,transparent,var(--teal),transparent);opacity:.75;}
.quiz-context-panel{background:rgba(6,13,24,.42);padding:2rem;position:relative;z-index:1;}
.quiz-context-panel.main{grid-row:span 2;}
.quiz-context-kicker{font-family:'Share Tech Mono',monospace;font-size:.52rem;letter-spacing:.26em;text-transform:uppercase;color:rgba(95,227,224,.55);margin-bottom:.85rem;}
.quiz-context-title{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,4.2vw,3.2rem);line-height:1.06;color:var(--ice);margin-bottom:1rem;}
.quiz-context-copy{font-size:1rem;line-height:1.9;color:rgba(200,220,230,.62);margin:.85rem 0;}
.quiz-result-list{list-style:none;display:grid;gap:.45rem;margin:.9rem 0 1rem;}
.quiz-result-list li{position:relative;padding-left:1rem;font-size:.94rem;line-height:1.6;color:rgba(200,220,230,.64);}
.quiz-result-list li::before{content:'';position:absolute;left:0;top:.65rem;width:4px;height:4px;border-radius:50%;background:var(--teal);box-shadow:0 0 10px rgba(95,227,224,.65);}
.quiz-faq{width:min(1100px,100%);max-width:1100px;margin:3rem auto 0;border:1px solid rgba(95,227,224,.12);background:rgba(8,17,31,.42);}
.quiz-faq-title{font-family:'Share Tech Mono',monospace;font-size:.55rem;letter-spacing:.28em;text-transform:uppercase;color:rgba(95,227,224,.5);padding:1.3rem 1.6rem;border-bottom:1px solid rgba(95,227,224,.1);}
.quiz-faq details{border-bottom:1px solid rgba(95,227,224,.08);}
.quiz-faq details:last-child{border-bottom:0;}
.quiz-faq summary{list-style:none;cursor:none;padding:1.25rem 1.6rem;font-family:'Cormorant Garamond',serif;font-size:1.15rem;font-weight:700;color:rgba(235,248,252,.84);position:relative;}
.quiz-faq summary::-webkit-details-marker{display:none;}
.quiz-faq summary::after{content:'+';position:absolute;right:1.6rem;top:50%;transform:translateY(-50%);font-family:'Share Tech Mono',monospace;font-size:.7rem;color:rgba(95,227,224,.5);}
.quiz-faq details[open] summary::after{content:'-';}
.quiz-faq-copy{padding:0 1.6rem 1.35rem;font-size:.96rem;line-height:1.85;color:rgba(200,220,230,.58);max-width:860px;}
#quiz-page.quiz-has-result .quiz-context{display:none;}
#quiz-page.quiz-has-result .quiz-faq{display:none;}
@media(min-width:1001px){
  #quiz-page.quiz-has-result .quiz-wrap{max-width:980px;width:100%;}
  #quiz-page.quiz-has-result .hero-quiz-shell{max-width:980px;margin:0 auto;}
  #quiz-page.quiz-has-result .hq-result-inner{padding:3.35rem 3.4rem 3.15rem;}
  #quiz-page.quiz-has-result .result-v47-upgrade{width:100%;max-width:980px;margin:2.2rem auto 0;display:block;}
  #quiz-page.quiz-has-result .result-signal-panel,
  #quiz-page.quiz-has-result .result-dichotomy-panel,
  #quiz-page.quiz-has-result .result-dual-panel,
  #quiz-page.quiz-has-result .result-life-panel,
  #quiz-page.quiz-has-result .result-relationship-panel,
  #quiz-page.quiz-has-result .result-typing-panel,
  #quiz-page.quiz-has-result .result-action-hub,
  #quiz-page.quiz-has-result .result-next-steps,
  #quiz-page.quiz-has-result .result-share-panel{width:100%;margin:1.35rem auto 0;}
  #quiz-page.quiz-has-result .result-life-grid,
  #quiz-page.quiz-has-result .result-relationship-grid,
  #quiz-page.quiz-has-result .result-dual-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:760px){
  .dual-section .dual-intro{padding-right:0!important;max-width:none!important;width:100%!important;}
  .cp-dual-inner{grid-template-columns:1fr;padding:1.4rem;gap:1.5rem;}
  .cp-dual-gives{grid-template-columns:1fr;}
  .cp-dual-copy{font-size:.98rem;line-height:1.8;}
  .cp-type-actions{margin-top:1rem;}
  .quiz-context{grid-template-columns:1fr;margin:2rem auto;}
  .quiz-context-panel.main{grid-row:auto;}
  .quiz-context-panel{padding:1.45rem;}
  .quiz-faq{margin-top:2rem;}
  .tp-dichotomy-profile{grid-template-columns:1fr;}
  .result-dual-head{display:block}
  .result-dual-mark{margin:.8rem 0 0}
  .result-dual-grid{grid-template-columns:1fr}
  .pulse-panel{grid-template-columns:1fr}
  .pulse-copy,.pulse-map{padding:1.45rem}
  .pulse-constellation{min-height:420px}
  .compat-tool-inner{grid-template-columns:1fr}
  .compat-select-grid{grid-template-columns:1fr}
  .compat-vs{padding:0;text-align:center}
  .compat-output-grid{grid-template-columns:1fr}
  .home-support-panel,.tp-support-band{grid-template-columns:1fr}
  .home-support-actions{justify-content:flex-start}
  .home-support-btn,.home-support-kofi,.tp-support-btn{width:100%}
}

/* Restore method carousel mobile auto slider + dot progress */
@media(max-width:700px){
  .mini-grid{
    display:flex !important;
    overflow-x:auto !important;
    gap:1rem !important;
    scroll-snap-type:x mandatory !important;
    -webkit-overflow-scrolling:touch !important;
    scrollbar-width:none !important;
  }

  .mini-grid::-webkit-scrollbar{
    display:none;
  }

  .mini-grid .mini-card{
    min-width:82% !important;
    scroll-snap-align:center !important;
  }

  .method-carousel-dots{
    display:flex;
    justify-content:flex-start;
    gap:.55rem;
    margin-top:.1rem;
    margin-bottom:1.7rem;
  }

  .method-dot{
    width:28px;
    height:3px;
    border:0;
    background:rgba(95,227,224,.12);
    overflow:hidden;
    padding:0;
    position:relative;
  }

  .method-dot::before{
    content:'';
    position:absolute;
    inset:0;
    background:var(--teal);
    transform:scaleX(0);
    transform-origin:left;
  }

  .method-dot.active::before{
    animation:methodDotLoad 3.2s linear forwards;
  }

  @keyframes methodDotLoad{
    to{transform:scaleX(1);}
  }
}

/* V56 - type dossier desktop rhythm: intro first, readable Model A below */
@media(min-width:1001px){
  .tp-hero{
    max-width:min(1380px,calc(100% - 3rem));
    padding:clamp(2.6rem,4vw,3.8rem)!important;
  }
  .tp-top{
    grid-template-columns:1fr!important;
    grid-template-rows:auto auto!important;
    gap:2.35rem!important;
    align-items:start!important;
  }
  .tp-left{
    align-self:start!important;
  }
  .tp-right{
    display:block!important;
    grid-column:1/-1!important;
    grid-row:2!important;
  }
  .tp-desc{
    max-width:1120px!important;
    font-size:clamp(1.08rem,1.35vw,1.23rem)!important;
    line-height:1.86!important;
  }
  .tp-dichots{
    max-width:1120px!important;
    gap:.66rem!important;
  }
  .tp-dichotag{
    padding:.52rem .78rem!important;
  }
  .tp-func-block{
    height:auto!important;
    margin:0!important;
    padding:1.8rem 2rem!important;
  }
  .tp-funcs{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:.9rem!important;
  }
  .tp-func-row{
    display:grid!important;
    grid-template-columns:62px minmax(112px,140px) minmax(0,1fr)!important;
    align-items:flex-start!important;
    gap:1.05rem!important;
    min-height:138px!important;
    padding:1.25rem 1.35rem!important;
  }
  .tp-func-row::after{
    top:1rem!important;
    right:1rem!important;
  }
  .tp-func-badge{
    min-width:58px!important;
    padding:.42rem .7rem!important;
    font-size:.72rem!important;
  }
  .tp-func-pos{
    min-width:0!important;
    padding-top:.34rem!important;
    font-size:.56rem!important;
    letter-spacing:.16em!important;
    color:rgba(175,208,220,.68)!important;
  }
  .tp-func-desc{
    max-width:none!important;
    font-size:1rem!important;
    line-height:1.68!important;
    color:rgba(226,239,245,.78)!important;
  }
  .tp-func-row.dim-row{
    opacity:1!important;
  }
  .tp-func-row.dim-row .tp-func-badge{
    color:rgba(180,213,224,.7)!important;
    border-color:rgba(120,180,200,.28)!important;
    background:rgba(120,180,200,.045)!important;
  }
  .tp-func-row.dim-row .tp-func-pos{
    color:rgba(175,208,220,.52)!important;
  }
  .tp-func-row.dim-row .tp-func-desc{
    color:rgba(210,226,235,.66)!important;
  }
}
@media(min-width:1001px) and (max-width:1180px){
  .tp-funcs{
    grid-template-columns:1fr!important;
  }
}

/* V57 - homepage database motion polish */
#main-view{
  --home-card-glow:rgba(95,227,224,.16);
  --home-panel-line:rgba(95,227,224,.18);
}

#main-view > .sec{
  position:relative;
}

#main-view > .sec::before{
  content:'';
  position:absolute;
  left:clamp(1.2rem,5vw,7rem);
  right:clamp(1.2rem,5vw,7rem);
  top:0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(95,227,224,.24),rgba(220,245,250,.12),transparent);
  opacity:.68;
  pointer-events:none;
}

#main-view > .sec::after{
  content:'';
  position:absolute;
  left:50%;
  top:0;
  width:min(260px,42vw);
  height:1px;
  transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,rgba(95,227,224,.65),transparent);
  box-shadow:0 0 22px rgba(95,227,224,.2);
  opacity:.45;
  pointer-events:none;
}

#main-view .sec-inner{
  position:relative;
}

#main-view .sec-label span{
  color:rgba(113,245,241,.88);
  text-shadow:0 0 14px rgba(95,227,224,.16);
}

#main-view .sec-label-line{
  box-shadow:0 0 12px rgba(95,227,224,.18);
}

#main-view .sec-heading .accent,
#main-view .cta-heading span{
  text-shadow:0 0 28px rgba(95,227,224,.16);
}

#main-view .mini-card,
#main-view .t-card,
#main-view .d-card,
#main-view .dual-pair-card,
#main-view .research-card,
#main-view .cta-card{
  isolation:isolate;
}

#main-view .mini-card{--home-card-color:var(--teal);}
#main-view .t-card{--home-card-color:var(--tc,var(--teal));}
#main-view .d-card{--home-card-color:var(--teal);}
#main-view .dual-pair-card{--home-card-color:var(--dc,var(--teal));}
#main-view .research-card{--home-card-color:var(--rc,var(--teal));}
#main-view .cta-card{--home-card-color:var(--cc,var(--teal));}
#main-view .profile-card{--home-card-color:var(--profile-accent,var(--teal));}

#main-view .mini-card::after,
#main-view .t-card::after,
#main-view .d-card::after,
#main-view .dual-pair-card::after,
#main-view .research-card::after,
#main-view .cta-card::after{
  content:'';
  position:absolute;
  inset:-1px;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(112deg,transparent 16%,transparent 36%,color-mix(in srgb,var(--home-card-color,var(--teal)) 18%,transparent) 48%,rgba(255,255,255,.07) 52%,transparent 66%,transparent 100%);
  transform:translateX(-125%);
  opacity:.9;
  transition:transform .76s cubic-bezier(.16,1,.3,1);
  mix-blend-mode:screen;
}

#main-view .mini-card:hover::after,
#main-view .t-card:hover::after,
#main-view .d-card:hover::after,
#main-view .dual-pair-card:hover::after,
#main-view .research-card:hover::after,
#main-view .cta-card:hover::after{
  transform:translateX(125%);
}

#main-view .mini-card > *,
#main-view .t-card > *,
#main-view .d-card > *,
#main-view .dual-pair-card > *,
#main-view .research-card > *,
#main-view .cta-card > *{
  position:relative;
  z-index:2;
}

#main-view .mini-card::before,
#main-view .t-card::before,
#main-view .dual-pair-card::before,
#main-view .research-card::before,
#main-view .cta-card::before{
  z-index:3;
}

#main-view .q-tag,
#main-view .fp,
#main-view .dual-function-chip,
#main-view .compat-action,
#main-view .profile-card-functions .profile-function-card{
  transition:border-color .25s ease,background .25s ease,color .25s ease,text-shadow .25s ease,box-shadow .25s ease;
}

#main-view .q-card:hover .q-tag,
#main-view .t-card:hover .fp:not(.d),
#main-view .dual-type-pill:hover .dual-code,
#main-view .profile-card:hover .profile-card-functions .profile-function-card{
  text-shadow:0 0 12px color-mix(in srgb,var(--home-card-color,var(--qc,var(--teal))) 48%,transparent);
}

#functions .cognitive-grid{
  transition:filter .35s ease,box-shadow .35s ease;
}

#functions .cg-line{
  transition:opacity .35s ease,box-shadow .35s ease,filter .35s ease;
}

#functions .cg-center{
  transition:box-shadow .35s ease,border-color .35s ease,background .35s ease;
}

#functions .cg-name{
  transition:color .25s ease,text-shadow .25s ease;
}

@media(hover:hover) and (pointer:fine){
  #main-view .mini-card:hover,
  #main-view .q-card[data-quadra]:hover,
  #main-view .d-card:hover,
  #main-view .r-card:hover,
  #main-view .dual-pair-card:hover,
  #main-view .research-card:hover,
  #main-view .cta-card:hover,
  #main-view .profile-card:hover{
    transform:translateY(-4px);
    box-shadow:0 18px 48px rgba(0,0,0,.24),0 0 34px color-mix(in srgb,var(--home-card-color,var(--qc,var(--teal))) 12%,transparent),inset 0 0 0 1px color-mix(in srgb,var(--home-card-color,var(--qc,var(--teal))) 24%,transparent);
  }

  #main-view .t-card.vis:hover,
  #main-view .t-card.active-type-card{
    transform:translateY(-5px) scale(1.018);
  }

  #main-view .compat-tool:hover,
  #main-view .compare-feature-card:hover,
  #main-view .pulse-panel:hover,
  #main-view .profile-additions:hover,
  #main-view .home-support-panel:hover{
    transform:translateY(-3px);
    box-shadow:0 20px 58px rgba(0,0,0,.24),0 0 38px rgba(95,227,224,.09);
    border-color:rgba(95,227,224,.24);
  }

  #functions .cognitive-grid:hover{
    filter:brightness(1.05) saturate(1.08);
    box-shadow:0 0 64px rgba(95,227,224,.075);
  }

  #functions .cognitive-grid:hover .cg-line{
    opacity:1;
    filter:brightness(1.35);
    box-shadow:0 0 18px rgba(95,227,224,.22);
  }

  #functions .cognitive-grid:hover .cg-center{
    border-color:rgba(95,227,224,.42);
    background:rgba(6,13,24,.82);
    box-shadow:0 0 50px rgba(95,227,224,.12),inset 0 0 0 1px rgba(95,227,224,.08);
  }

  #functions .cg-node:hover .cg-name{
    color:rgba(238,250,252,.78);
    text-shadow:0 0 12px var(--fc,var(--teal));
  }
}

@media(prefers-reduced-motion:no-preference){
  #main-view .reveal{
    transform:translateY(22px);
    filter:saturate(.86) brightness(.94);
    transition:opacity .78s ease,transform .78s cubic-bezier(.16,1,.3,1),filter .78s ease;
  }

  #main-view .reveal.vis{
    filter:saturate(1) brightness(1);
  }

  #main-view .mini-grid.reveal .mini-card,
  #main-view .quadra-grid.reveal .q-card,
  #main-view .research-grid.reveal .research-card,
  #main-view .cta-cards.reveal .cta-card{
    opacity:0;
    transform:translateY(18px) scale(.985);
  }

  #main-view .mini-grid.reveal.vis .mini-card,
  #main-view .quadra-grid.reveal.vis .q-card,
  #main-view .research-grid.reveal.vis .research-card,
  #main-view .cta-cards.reveal.vis .cta-card{
    animation:homeCardRiseV57 .74s cubic-bezier(.16,1,.3,1) forwards;
    animation-delay:var(--home-stagger-delay,0ms);
  }

  #main-view .sec-label.reveal.vis .sec-label-line,
  #main-view .reveal.vis .sec-label-line{
    animation:homeLineScanV57 .82s ease both;
  }
}

@keyframes homeCardRiseV57{
  from{opacity:0;transform:translateY(18px) scale(.985);}
  to{opacity:1;transform:none;}
}

@keyframes homeLineScanV57{
  from{transform:scaleX(.2);opacity:.35;}
  to{transform:scaleX(1);opacity:1;}
}

@media(prefers-reduced-motion:reduce){
  #main-view .mini-grid.reveal .mini-card,
  #main-view .quadra-grid.reveal .q-card,
  #main-view .research-grid.reveal .research-card,
  #main-view .cta-cards.reveal .cta-card{
    opacity:1!important;
    transform:none!important;
    animation:none!important;
  }

  #main-view .mini-card::after,
  #main-view .t-card::after,
  #main-view .d-card::after,
  #main-view .dual-pair-card::after,
  #main-view .research-card::after,
  #main-view .cta-card::after{
    display:none;
  }
}

/* V58 - homepage type catalog dossier polish */
#types .types-tools{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(220px,300px);
  align-items:center;
  gap:.75rem 1rem;
  margin:1.35rem 0 1.75rem;
  padding:1rem;
  border:1px solid rgba(95,227,224,.16);
  background:linear-gradient(135deg,rgba(95,227,224,.055),rgba(8,17,31,.72) 55%,rgba(12,25,50,.5));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.018),0 18px 54px rgba(0,0,0,.13);
}

#types .type-filter-row{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
}

#types .type-filter-btn{
  --filter-color:var(--teal);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.48rem;
  min-height:2.45rem;
  padding:.68rem .92rem;
  border:1px solid color-mix(in srgb,var(--filter-color) 25%,rgba(160,205,220,.12));
  background:linear-gradient(135deg,rgba(9,19,34,.82),rgba(13,31,52,.56));
  color:rgba(220,238,242,.58);
  font-size:.54rem;
  letter-spacing:.17em;
  line-height:1;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.018);
}

#types .type-filter-btn[data-filter="Beta"]{--filter-color:#8b6fff;}
#types .type-filter-btn[data-filter="Gamma"]{--filter-color:#c9a84c;}
#types .type-filter-btn[data-filter="Delta"]{--filter-color:#6FCF97;}

#types .type-filter-btn::before{
  content:'';
  width:.38rem;
  height:.38rem;
  flex:0 0 auto;
  border-radius:999px;
  background:var(--filter-color);
  box-shadow:0 0 12px color-mix(in srgb,var(--filter-color) 55%,transparent);
  opacity:.52;
  transition:opacity .25s ease,transform .25s ease,box-shadow .25s ease;
}

#types .type-filter-btn:hover,
#types .type-filter-btn.active{
  border-color:color-mix(in srgb,var(--filter-color) 58%,rgba(220,245,250,.2));
  background:linear-gradient(135deg,color-mix(in srgb,var(--filter-color) 13%,rgba(9,19,34,.9)),rgba(13,31,52,.68));
  color:var(--ice);
  box-shadow:0 0 28px color-mix(in srgb,var(--filter-color) 12%,transparent),inset 0 0 0 1px color-mix(in srgb,var(--filter-color) 18%,transparent);
}

#types .type-filter-btn:hover::before,
#types .type-filter-btn.active::before{
  opacity:1;
  transform:scale(1.18);
  box-shadow:0 0 18px color-mix(in srgb,var(--filter-color) 78%,transparent);
}

#types .type-inline-search{
  min-width:0;
  width:100%;
  max-width:none;
  min-height:2.45rem;
  padding:.72rem .95rem;
  border-color:rgba(95,227,224,.2);
  background:rgba(6,13,24,.62);
  color:rgba(232,247,250,.84);
  font-size:.56rem;
  letter-spacing:.16em;
}

#types .type-inline-search:focus{
  border-color:rgba(95,227,224,.5);
  background:rgba(7,17,31,.78);
  box-shadow:0 0 24px rgba(95,227,224,.12),inset 0 0 0 1px rgba(95,227,224,.08);
}

#types .type-result-count{
  grid-column:1/-1;
  justify-self:end;
  font-family:'Share Tech Mono',monospace;
  font-size:.5rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(180,216,224,.44);
}

#types .types-grid{
  border-color:rgba(95,227,224,.18);
  background:rgba(95,227,224,.16);
  box-shadow:0 24px 70px rgba(0,0,0,.16);
}

#main-view #types .t-card{
  min-height:348px;
  display:flex;
  flex-direction:column;
  padding:2.2rem 1.85rem 1.5rem!important;
  background:
    radial-gradient(circle at 82% 16%,color-mix(in srgb,var(--tc,var(--teal)) 13%,transparent),transparent 34%),
    linear-gradient(180deg,rgba(11,24,43,.88),rgba(6,13,24,.94));
  transition:opacity .55s ease,transform .55s cubic-bezier(.16,1,.3,1),background .35s ease,box-shadow .35s ease,border-color .35s ease;
}

#main-view #types .t-card::before{
  height:2px;
  background:linear-gradient(90deg,transparent,var(--tc,var(--teal)),rgba(235,250,252,.6),var(--tc,var(--teal)),transparent);
  box-shadow:0 0 18px color-mix(in srgb,var(--tc,var(--teal)) 36%,transparent);
}

#main-view #types .t-card:hover,
#main-view #types .t-card.active-type-card{
  background:
    radial-gradient(circle at 82% 16%,color-mix(in srgb,var(--tc,var(--teal)) 22%,transparent),transparent 38%),
    linear-gradient(180deg,rgba(13,29,51,.94),rgba(7,15,28,.98));
  box-shadow:0 24px 64px rgba(0,0,0,.24),0 0 38px color-mix(in srgb,var(--tc,var(--teal)) 14%,transparent),inset 0 0 0 1px color-mix(in srgb,var(--tc,var(--teal)) 24%,transparent);
}

#types .t-dot{
  width:.48rem;
  height:.48rem;
  margin-bottom:1.1rem;
  box-shadow:0 0 16px var(--tc,var(--teal));
}

#types .t-acronym{
  margin-top:0!important;
  color:rgba(232,247,250,.94);
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(3.25rem,4.7vw,4.45rem);
  line-height:.82;
  letter-spacing:.01em;
  text-shadow:0 0 22px color-mix(in srgb,var(--tc,var(--teal)) 25%,transparent);
}

#types .t-role{
  margin:.38rem 0 .45rem;
  color:var(--tc,var(--teal));
  font-family:'Cormorant Garamond',serif;
  font-size:1.28rem;
  font-style:italic;
  line-height:1.1;
  text-shadow:0 0 16px color-mix(in srgb,var(--tc,var(--teal)) 17%,transparent);
}

#types .t-quadra-badge{
  width:max-content;
  max-width:100%;
  margin:.05rem 0 1.05rem;
  padding:.28rem .58rem .3rem;
  border:1px solid color-mix(in srgb,var(--tc,var(--teal)) 28%,rgba(180,210,220,.12));
  background:color-mix(in srgb,var(--tc,var(--teal)) 8%,rgba(8,17,31,.62));
  color:color-mix(in srgb,var(--tc,var(--teal)) 72%,rgba(235,250,252,.68));
  font-family:'Share Tech Mono',monospace;
  font-size:.48rem;
  letter-spacing:.18em;
  line-height:1;
  text-transform:uppercase;
}

#types .t-funcs{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.44rem;
  margin:.1rem 0 1rem;
}

#types .fp{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  padding:.46rem .25rem;
  border-color:color-mix(in srgb,var(--tc,var(--teal)) 28%,rgba(160,205,220,.12));
  background:rgba(6,13,24,.42);
  color:color-mix(in srgb,var(--tc,var(--teal)) 82%,rgba(235,250,252,.72));
  font-size:.7rem;
  line-height:1;
}

#types .fp.d{
  color:rgba(160,190,200,.38)!important;
  border-color:rgba(160,190,200,.13)!important;
  background:rgba(5,10,20,.28);
}

#types .t-desc{
  min-height:5.25rem;
  margin:0;
  color:rgba(218,236,242,.66);
  font-size:.94rem;
  line-height:1.62;
}

#types .t-explore{
  margin-top:auto;
  padding-top:1rem;
  color:color-mix(in srgb,var(--tc,var(--teal)) 68%,rgba(230,246,250,.42))!important;
  font-size:.54rem;
  letter-spacing:.18em;
  opacity:.58;
  transform:translateY(4px);
}

#types .t-card:hover .t-explore,
#types .t-card.active-type-card .t-explore{
  opacity:1;
  transform:translateX(4px);
  text-shadow:0 0 14px color-mix(in srgb,var(--tc,var(--teal)) 46%,transparent);
}

#types .t-preview{
  margin-top:.95rem;
  padding-top:.85rem;
  border-top:1px solid color-mix(in srgb,var(--tc,var(--teal)) 18%,rgba(170,210,220,.08));
  color:rgba(224,240,244,.7);
  font-size:1.02rem;
  line-height:1.48;
}

#types .t-card.active-type-card .t-preview,
#types .t-card:hover .t-preview{
  max-height:95px;
}

#types .t-card-actions{
  gap:.6rem;
  margin-top:.9rem;
}

#types .t-card.active-type-card .t-card-actions,
#types .t-card:hover .t-card-actions{
  max-height:92px;
}

#types .t-card-action{
  border-color:color-mix(in srgb,var(--tc,var(--teal)) 24%,rgba(180,220,230,.12));
  background:color-mix(in srgb,var(--tc,var(--teal)) 8%,rgba(7,16,30,.62));
  color:rgba(230,246,250,.72);
  padding:.56rem .7rem;
}

#types .t-card-action:hover{
  border-color:color-mix(in srgb,var(--tc,var(--teal)) 62%,rgba(240,252,255,.2));
  background:color-mix(in srgb,var(--tc,var(--teal)) 15%,rgba(7,16,30,.72));
  box-shadow:0 0 18px color-mix(in srgb,var(--tc,var(--teal)) 13%,transparent);
}

#types .t-card-action.secondary{
  border-color:rgba(170,205,214,.14);
  color:rgba(190,220,226,.54);
}

#types .types-grid .t-card>.t-sigil{
  top:1.2rem;
  right:1.2rem;
  width:72px;
  height:72px;
  opacity:.16;
}

#types .types-grid .t-card:hover>.t-sigil,
#types .types-grid .t-card.active-type-card>.t-sigil{
  opacity:.5;
  transform:translateY(-3px) scale(1.08) rotate(2deg);
  filter:drop-shadow(0 0 22px color-mix(in srgb,var(--tc,var(--teal)) 58%,transparent));
}

@media(min-width:701px) and (max-width:1000px){
  #main-view #types .t-card{
    min-height:365px;
  }
}

@media(max-width:700px){
  #types .types-tools{
    grid-template-columns:1fr;
    gap:.75rem;
    margin:1.1rem 0 1.25rem;
    padding:.85rem;
  }

  #types .type-filter-row{
    width:100%;
    flex-wrap:nowrap;
    overflow-x:auto;
    overscroll-behavior-x:contain;
    scroll-snap-type:x proximity;
    padding-bottom:.15rem;
  }

  #types .type-filter-row::-webkit-scrollbar,
  #types .types-grid::-webkit-scrollbar{
    display:none;
  }

  #types .type-filter-btn{
    flex:0 0 auto;
    white-space:nowrap;
    scroll-snap-align:start;
  }

  #types .type-result-count{
    justify-self:start;
  }

  #types .types-grid{
    display:flex!important;
    grid-template-columns:none!important;
    gap:1rem!important;
    overflow-x:auto;
    overflow-y:hidden;
    overscroll-behavior-x:contain;
    scroll-snap-type:x mandatory;
    margin-left:-.25rem;
    margin-right:-.25rem;
    padding:.2rem .25rem 1rem;
    border:0;
    background:transparent;
    box-shadow:none;
  }

  #main-view #types .t-card{
    flex:0 0 min(84vw,350px);
    min-height:428px;
    scroll-snap-align:center;
    border:1px solid rgba(95,227,224,.16);
    padding:2rem 1.45rem 1.35rem!important;
  }

  #types .t-acronym{
    font-size:clamp(3rem,18vw,4rem);
  }

  #types .t-desc{
    min-height:6.4rem;
    font-size:.93rem;
  }

  #types .t-preview{
    font-size:.98rem;
  }

  #types .types-grid .t-card>.t-sigil{
    width:58px;
    height:58px;
  }
}

/* V59 - homepage dual pair dossier polish */
#duals .dual-grid{
  width:min(1240px,100%);
  gap:1px;
  border-color:rgba(95,227,224,.17);
  background:rgba(95,227,224,.16);
  box-shadow:0 26px 78px rgba(0,0,0,.18);
}

#main-view #duals .dual-pair-card{
  min-height:430px;
  display:flex;
  flex-direction:column;
  padding:2.25rem 2rem 1.65rem!important;
  background:
    radial-gradient(circle at 86% 12%,color-mix(in srgb,var(--dc,var(--teal)) 15%,transparent),transparent 33%),
    linear-gradient(180deg,rgba(11,24,43,.88),rgba(6,13,24,.94));
  transition:opacity .55s ease,transform .55s cubic-bezier(.16,1,.3,1),background .35s ease,box-shadow .35s ease;
}

#main-view #duals .dual-pair-card::before{
  height:2px;
  background:linear-gradient(90deg,transparent,var(--dc,var(--teal)),rgba(235,250,252,.58),var(--dc,var(--teal)),transparent);
  box-shadow:0 0 18px color-mix(in srgb,var(--dc,var(--teal)) 38%,transparent);
  transform-origin:center;
}

#main-view #duals .dual-pair-card:hover,
#main-view #duals .dual-pair-card:focus-within{
  background:
    radial-gradient(circle at 86% 12%,color-mix(in srgb,var(--dc,var(--teal)) 25%,transparent),transparent 37%),
    linear-gradient(180deg,rgba(13,29,51,.95),rgba(7,15,28,.98));
  box-shadow:0 24px 66px rgba(0,0,0,.26),0 0 42px color-mix(in srgb,var(--dc,var(--teal)) 14%,transparent),inset 0 0 0 1px color-mix(in srgb,var(--dc,var(--teal)) 25%,transparent);
}

#duals .dual-kicker{
  width:max-content;
  max-width:100%;
  margin:0 0 .72rem;
  padding:.3rem .58rem;
  border:1px solid color-mix(in srgb,var(--dc,var(--teal)) 28%,rgba(180,210,220,.12));
  background:color-mix(in srgb,var(--dc,var(--teal)) 8%,rgba(8,17,31,.62));
  color:color-mix(in srgb,var(--dc,var(--teal)) 72%,rgba(235,250,252,.7));
  font-size:.48rem;
  letter-spacing:.2em;
  line-height:1;
}

#duals .dual-pair-title{
  display:flex;
  align-items:baseline;
  gap:.58rem;
  margin-bottom:1.1rem;
  color:rgba(232,247,250,.95);
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(2.45rem,4.2vw,3.85rem);
  font-weight:700;
  line-height:.88;
  text-shadow:0 0 24px color-mix(in srgb,var(--dc,var(--teal)) 23%,transparent);
}

#duals .dual-pair-title i{
  color:var(--dc,var(--teal));
  font-family:'Share Tech Mono',monospace;
  font-size:.34em;
  font-style:normal;
  font-weight:400;
  text-shadow:0 0 16px color-mix(in srgb,var(--dc,var(--teal)) 48%,transparent);
}

#duals .dual-orbit{
  grid-template-columns:minmax(0,1fr) 72px minmax(0,1fr);
  gap:.8rem;
  margin:0 0 1.15rem;
  position:relative;
}

#duals .dual-type-pill{
  min-height:148px;
  padding:1.15rem .9rem;
  border-color:color-mix(in srgb,var(--dc,var(--teal)) 28%,rgba(180,210,220,.12));
  background:linear-gradient(180deg,rgba(6,13,24,.68),rgba(7,17,31,.48));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.018);
  overflow:hidden;
  position:relative;
  transition:border-color .28s ease,background .28s ease,box-shadow .28s ease,transform .28s ease;
}

#duals .dual-type-pill::before{
  content:'';
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 50% 12%,color-mix(in srgb,var(--dc,var(--teal)) 16%,transparent),transparent 48%);
  opacity:.68;
  pointer-events:none;
}

#duals .dual-type-pill:hover,
#duals .dual-type-pill:focus-visible{
  transform:translateY(-2px);
  border-color:color-mix(in srgb,var(--dc,var(--teal)) 64%,rgba(235,250,252,.24));
  background:linear-gradient(180deg,color-mix(in srgb,var(--dc,var(--teal)) 11%,rgba(8,17,31,.82)),rgba(7,17,31,.6));
  box-shadow:0 16px 32px rgba(0,0,0,.18),0 0 24px color-mix(in srgb,var(--dc,var(--teal)) 13%,transparent);
}

#duals .dual-type-pill>*{
  position:relative;
  z-index:1;
}

#duals .dual-type-sigil{
  width:54px;
  height:54px;
  margin-bottom:.65rem;
  opacity:.78;
  filter:drop-shadow(0 0 16px color-mix(in srgb,var(--dc,var(--teal)) 48%,transparent));
  transition:opacity .25s ease,transform .25s ease,filter .25s ease;
}

#duals .dual-type-pill:hover .dual-type-sigil,
#duals .dual-type-pill:focus-visible .dual-type-sigil{
  opacity:1;
  transform:translateY(-2px) scale(1.06);
  filter:drop-shadow(0 0 24px color-mix(in srgb,var(--dc,var(--teal)) 65%,transparent));
}

#duals .dual-code{
  color:rgba(234,248,250,.95);
  font-size:2.34rem;
  line-height:.86;
  text-shadow:0 0 20px color-mix(in srgb,var(--dc,var(--teal)) 22%,transparent);
}

#duals .dual-name{
  margin-top:.55rem;
  color:rgba(190,220,226,.55);
  font-size:.5rem;
  letter-spacing:.16em;
  line-height:1.45;
}

#duals .dual-link{
  width:64px;
  height:64px;
  justify-self:center;
  align-self:center;
  border-radius:999px;
  border-color:color-mix(in srgb,var(--dc,var(--teal)) 36%,rgba(180,210,220,.12));
  background:radial-gradient(circle,color-mix(in srgb,var(--dc,var(--teal)) 15%,rgba(6,13,24,.72)),rgba(6,13,24,.8) 63%);
  box-shadow:0 0 26px color-mix(in srgb,var(--dc,var(--teal)) 12%,transparent),inset 0 0 0 1px color-mix(in srgb,var(--dc,var(--teal)) 14%,transparent);
  position:relative;
  z-index:2;
  overflow:visible;
}

#duals .dual-link::before{
  content:'';
  position:absolute;
  left:-1rem;
  right:-1rem;
  top:50%;
  height:1px;
  transform:translateY(-50%);
  background:linear-gradient(90deg,transparent,var(--dc,var(--teal)),rgba(235,250,252,.62),var(--dc,var(--teal)),transparent);
  box-shadow:0 0 16px color-mix(in srgb,var(--dc,var(--teal)) 34%,transparent);
  z-index:-1;
}

#duals .dual-link::after{
  content:'';
  position:absolute;
  inset:.42rem;
  border:1px solid color-mix(in srgb,var(--dc,var(--teal)) 42%,transparent);
  border-radius:999px;
  animation:dualPairOrbitV59 4.8s linear infinite;
}

#duals .dual-pair-headline{
  margin:.35rem 0 .72rem;
  color:var(--dc,var(--teal));
  font-family:'Cormorant Garamond',serif;
  font-size:1.25rem;
  font-style:italic;
  line-height:1.16;
  text-shadow:0 0 16px color-mix(in srgb,var(--dc,var(--teal)) 18%,transparent);
}

#duals .dual-mini-ribbon{
  display:flex;
  flex-wrap:wrap;
  gap:.42rem;
  margin:0 0 1rem;
}

#duals .dual-mini-ribbon .dual-function-chip{
  font-size:.5rem;
  padding:.32rem .5rem;
}

#duals .dual-copy{
  min-height:5.1rem;
  margin:0;
  color:rgba(218,236,242,.66);
  font-size:.93rem;
  line-height:1.68;
}

#duals .dual-actions{
  margin-top:auto;
  padding-top:1.15rem;
  gap:.65rem;
}

#duals .dual-action{
  border-color:color-mix(in srgb,var(--dc,var(--teal)) 24%,rgba(180,220,230,.12));
  background:color-mix(in srgb,var(--dc,var(--teal)) 7%,rgba(7,16,30,.62));
  color:rgba(230,246,250,.7);
  padding:.62rem .78rem;
  transition:border-color .25s ease,background .25s ease,color .25s ease,box-shadow .25s ease,opacity .25s ease,transform .25s ease;
}

#duals .dual-action.primary{
  border-color:color-mix(in srgb,var(--dc,var(--teal)) 46%,rgba(235,250,252,.18));
  background:color-mix(in srgb,var(--dc,var(--teal)) 12%,rgba(7,16,30,.72));
  color:rgba(238,250,252,.9);
}

#duals .dual-action:hover,
#duals .dual-action:focus-visible{
  border-color:color-mix(in srgb,var(--dc,var(--teal)) 66%,rgba(240,252,255,.2));
  background:color-mix(in srgb,var(--dc,var(--teal)) 16%,rgba(7,16,30,.78));
  color:var(--ice);
  box-shadow:0 0 18px color-mix(in srgb,var(--dc,var(--teal)) 14%,transparent);
}

@media(hover:hover) and (pointer:fine){
  #duals .dual-actions{
    opacity:0;
    max-height:0;
    overflow:hidden;
    transform:translateY(8px);
    transition:opacity .25s ease,max-height .3s ease,transform .25s ease;
  }

  #duals .dual-pair-card:hover .dual-actions,
  #duals .dual-pair-card:focus-within .dual-actions{
    opacity:1;
    max-height:92px;
    transform:none;
  }
}

@keyframes dualPairOrbitV59{
  from{transform:rotate(0deg) scale(.92);opacity:.44;}
  50%{opacity:.88;}
  to{transform:rotate(360deg) scale(.92);opacity:.44;}
}

@media(min-width:701px) and (max-width:1050px){
  #duals .dual-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  #main-view #duals .dual-pair-card{
    min-height:458px;
    padding:2rem 1.55rem 1.45rem!important;
  }

  #duals .dual-orbit{
    grid-template-columns:1fr 58px 1fr;
  }

  #duals .dual-link{
    width:54px;
    height:54px;
  }
}

@media(max-width:700px){
  #duals .dual-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:1rem;
    border:0;
    background:transparent;
    box-shadow:none;
  }

  #main-view #duals .dual-pair-card{
    min-height:auto;
    border:1px solid rgba(95,227,224,.16);
    padding:1.85rem 1.35rem 1.35rem!important;
  }

  #duals .dual-pair-title{
    font-size:clamp(2.25rem,15vw,3.1rem);
    flex-wrap:wrap;
  }

  #duals .dual-orbit{
    grid-template-columns:1fr;
    gap:.65rem;
  }

  #duals .dual-type-pill{
    min-height:132px;
  }

  #duals .dual-link{
    width:100%;
    height:42px;
    border-radius:0;
  }

  #duals .dual-link::before{
    left:50%;
    right:auto;
    top:-.75rem;
    bottom:-.75rem;
    width:1px;
    height:auto;
    transform:translateX(-50%);
    background:linear-gradient(180deg,transparent,var(--dc,var(--teal)),rgba(235,250,252,.62),var(--dc,var(--teal)),transparent);
  }

  #duals .dual-link::after{
    inset:.38rem calc(50% - 20px);
  }

  #duals .dual-code{
    font-size:2.15rem;
  }

  #duals .dual-copy{
    min-height:0;
    font-size:.93rem;
  }

  #duals .dual-actions{
    opacity:1;
    max-height:none;
    overflow:visible;
    transform:none;
  }

  #duals .dual-action{
    flex:1 1 100%;
    text-align:center;
  }
}

@media(prefers-reduced-motion:reduce){
  #duals .dual-link::after{
    animation:none;
  }
}

/* V60 - function constellation signal polish */
#functions .cognitive-grid{
  --active-fc:var(--teal);
  border:0!important;
  background:
    radial-gradient(circle at 50% 50%,rgba(95,227,224,.13),transparent 24%),
    radial-gradient(circle at 50% 50%,rgba(95,227,224,.045),transparent 58%)!important;
  box-shadow:none!important;
  isolation:isolate;
}

#functions .cognitive-grid::after{
  content:none!important;
  display:none!important;
}

#functions .cognitive-grid::before{
  opacity:.5!important;
  border-color:rgba(95,227,224,.055)!important;
}

#functions .cg-orbit{
  border-color:rgba(95,227,224,.06)!important;
}

#functions .cg-line{
  transition:opacity .55s ease,filter .55s ease,background .55s ease,box-shadow .55s ease;
}

#functions .cognitive-grid.has-function-signal .cg-line{
  opacity:.28!important;
  filter:saturate(.75) brightness(.82);
}

#functions .cognitive-grid.has-function-signal .cg-orbit{
  border-color:color-mix(in srgb,var(--active-fc) 16%,rgba(95,227,224,.04))!important;
  filter:drop-shadow(0 0 20px color-mix(in srgb,var(--active-fc) 8%,transparent));
}

#functions .cg-signal-line{
  position:absolute;
  left:var(--signal-start-x,50%);
  top:var(--signal-start-y,50%);
  width:var(--signal-length,0px);
  height:2px;
  transform:rotate(var(--signal-angle,0deg));
  transform-origin:0 50%;
  border-radius:999px;
  background:linear-gradient(90deg,color-mix(in srgb,var(--active-fc) 18%,transparent),rgba(235,250,252,.18),color-mix(in srgb,var(--active-fc) 16%,transparent));
  box-shadow:0 0 18px color-mix(in srgb,var(--active-fc) 24%,transparent);
  opacity:0;
  overflow:hidden;
  pointer-events:none;
  z-index:2;
  transition:opacity .55s ease,filter .55s ease;
}

#functions .cognitive-grid.has-function-signal .cg-signal-line{
  opacity:.92;
  filter:brightness(1.1);
}

#functions .cg-signal-line span{
  display:block;
  width:100%;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--active-fc) 72%,rgba(245,252,255,.78)),rgba(255,255,255,.78),color-mix(in srgb,var(--active-fc) 68%,transparent));
  box-shadow:0 0 20px color-mix(in srgb,var(--active-fc) 48%,transparent),0 0 40px color-mix(in srgb,var(--active-fc) 20%,transparent);
  opacity:.72;
  transform:scaleX(1);
  transform-origin:0 50%;
}

#functions .cognitive-grid.is-routing .cg-signal-line span{
  animation:cgSignalTraceV60 1.45s cubic-bezier(.16,1,.3,1) both;
}

@keyframes cgSignalTraceV60{
  0%{transform:scaleX(0);opacity:0;}
  18%{opacity:1;}
  72%{transform:scaleX(1);opacity:.96;}
  100%{transform:scaleX(1);opacity:.72;}
}

#functions .cg-signal-orbit{
  position:absolute;
  left:var(--signal-end-x,50%);
  top:var(--signal-end-y,50%);
  width:148px;
  height:148px;
  border:1px solid color-mix(in srgb,var(--active-fc) 42%,transparent);
  border-radius:50%;
  box-shadow:0 0 28px color-mix(in srgb,var(--active-fc) 18%,transparent),inset 0 0 28px color-mix(in srgb,var(--active-fc) 7%,transparent);
  opacity:0;
  pointer-events:none;
  transform:translate(-50%,-50%) scale(.86);
  transition:opacity .58s ease,transform .58s cubic-bezier(.16,1,.3,1),border-color .45s ease,box-shadow .45s ease;
  z-index:4;
}

#functions .cognitive-grid.has-function-signal .cg-signal-orbit{
  opacity:1;
  transform:translate(-50%,-50%) scale(1);
}

#functions .cg-signal-orbit span{
  position:absolute;
  inset:-1px;
  border-radius:inherit;
  animation:cgActiveOrbitV60 6.4s linear infinite;
}

#functions .cg-signal-orbit span::before{
  content:'';
  position:absolute;
  left:50%;
  top:-4px;
  width:8px;
  height:8px;
  border-radius:50%;
  background:color-mix(in srgb,var(--active-fc) 86%,white);
  box-shadow:0 0 16px var(--active-fc),0 0 34px color-mix(in srgb,var(--active-fc) 46%,transparent);
  transform:translateX(-50%);
}

@keyframes cgActiveOrbitV60{
  from{transform:rotate(0deg);}
  to{transform:rotate(360deg);}
}

#functions .cg-node{
  transition:opacity .55s ease,filter .55s ease,transform .7s cubic-bezier(.16,1,.3,1)!important;
}

#functions .cognitive-grid.has-function-signal .cg-node:not(.signal-function):not(.active-function){
  opacity:.68!important;
  filter:saturate(.78) brightness(.82);
}

#functions .cognitive-grid.has-function-signal .cg-node:not(.signal-function):not(.active-function)::before{
  opacity:.32!important;
}

#functions .cg-node.signal-function,
#functions .cg-node.active-function{
  z-index:6!important;
  transform:translateY(-8px) scale(1.13)!important;
}

#functions .cg-fe.signal-function,
#functions .cg-fe.active-function{
  transform:translateX(-50%) translateY(-8px) scale(1.13)!important;
}

#functions .cg-fi.signal-function,
#functions .cg-fi.active-function{
  transform:translateX(-50%) translateY(-8px) scale(1.13)!important;
}

#functions .cg-node.signal-function::before,
#functions .cg-node.active-function::before{
  opacity:1!important;
  border-color:color-mix(in srgb,var(--fc) 86%,transparent)!important;
  box-shadow:
    0 0 44px color-mix(in srgb,var(--fc) 42%,transparent),
    0 0 92px color-mix(in srgb,var(--fc) 18%,transparent),
    inset 0 0 28px color-mix(in srgb,var(--fc) 10%,transparent)!important;
  animation:activeFunctionBloomV60 4.8s ease-in-out infinite!important;
}

#functions .cg-node.signal-function::after,
#functions .cg-node.active-function::after{
  opacity:1!important;
  transform:scale(1.6);
}

#functions .cg-node.signal-function .cg-code,
#functions .cg-node.active-function .cg-code{
  color:rgba(245,252,255,.98)!important;
  text-shadow:
    0 0 18px color-mix(in srgb,var(--fc) 68%,transparent),
    0 0 44px color-mix(in srgb,var(--fc) 34%,transparent)!important;
}

#functions .cg-node.signal-function .cg-name,
#functions .cg-node.active-function .cg-name{
  color:rgba(232,246,250,.76)!important;
  text-shadow:0 0 12px color-mix(in srgb,var(--fc) 42%,transparent);
}

@keyframes activeFunctionBloomV60{
  0%,100%{
    transform:scale(1.02);
    box-shadow:
      0 0 34px color-mix(in srgb,var(--fc) 34%,transparent),
      0 0 72px color-mix(in srgb,var(--fc) 14%,transparent),
      inset 0 0 24px color-mix(in srgb,var(--fc) 8%,transparent);
  }
  50%{
    transform:scale(1.11);
    box-shadow:
      0 0 56px color-mix(in srgb,var(--fc) 52%,transparent),
      0 0 112px color-mix(in srgb,var(--fc) 22%,transparent),
      inset 0 0 36px color-mix(in srgb,var(--fc) 13%,transparent);
  }
}

#functions .cg-center{
  z-index:5!important;
  transition:border-color .75s ease,background .75s ease,box-shadow .75s ease,filter .75s ease;
}

#functions .cg-center::after{
  content:none!important;
  display:none!important;
  position:absolute;
  left:50%;
  top:calc(100% + .9rem);
  min-width:190px;
  transform:translateX(-50%) translateY(6px);
  color:color-mix(in srgb,var(--active-fc) 74%,rgba(235,250,252,.74));
  font-family:'Share Tech Mono',monospace;
  font-size:.5rem;
  letter-spacing:.22em;
  line-height:1.5;
  text-transform:uppercase;
  text-shadow:0 0 16px color-mix(in srgb,var(--active-fc) 42%,transparent);
  opacity:0;
  pointer-events:none;
  transition:opacity .48s ease,transform .48s ease;
}

#functions .cognitive-grid.has-function-signal .cg-center{
  border-color:color-mix(in srgb,var(--active-fc) 54%,rgba(95,227,224,.18))!important;
  background:
    radial-gradient(circle at center,color-mix(in srgb,var(--active-fc) 16%,rgba(6,13,24,.84)),rgba(6,13,24,.76) 64%)!important;
  box-shadow:
    0 0 64px color-mix(in srgb,var(--active-fc) 22%,transparent),
    inset 0 0 34px color-mix(in srgb,var(--active-fc) 9%,transparent)!important;
  filter:brightness(1.08);
}

#functions .cognitive-grid.has-function-signal .cg-center::after{
  opacity:1;
  transform:translateX(-50%) translateY(0);
}

@media(max-width:700px){
  #functions .cognitive-grid{
    background:
      radial-gradient(circle at 50% 50%,rgba(95,227,224,.12),transparent 25%),
      radial-gradient(circle at 50% 50%,rgba(95,227,224,.04),transparent 60%)!important;
  }

  #functions .cg-signal-line{
    height:1.5px;
  }

  #functions .cg-signal-orbit{
    width:108px;
    height:108px;
  }

  #functions .cg-node.signal-function,
  #functions .cg-node.active-function{
    transform:translateY(-5px) scale(1.1)!important;
  }

  #functions .cg-fe.signal-function,
  #functions .cg-fe.active-function,
  #functions .cg-fi.signal-function,
  #functions .cg-fi.active-function{
    transform:translateX(-50%) translateY(-5px) scale(1.1)!important;
  }

  #functions .cg-center::after{
    min-width:150px;
    top:calc(100% + .68rem);
    font-size:.42rem;
    letter-spacing:.16em;
  }
}

@media(prefers-reduced-motion:reduce){
  #functions .cg-signal-orbit span,
  #functions .cognitive-grid.is-routing .cg-signal-line span,
  #functions .cg-node.signal-function::before,
  #functions .cg-node.active-function::before{
    animation:none!important;
  }
}

/* V61 - unique information-element signal signatures */
#functions .cg-signal-line::before,
#functions .cg-signal-line::after,
#functions .cg-signal-orbit::before,
#functions .cg-signal-orbit::after{
  content:'';
  position:absolute;
  pointer-events:none;
  opacity:0;
}

/* Ne: branching possibility paths */
#functions .cognitive-grid[data-active-func="Ne"] .cg-signal-line::before,
#functions .cognitive-grid[data-active-func="Ne"] .cg-signal-line::after{
  right:5%;
  top:50%;
  width:34%;
  height:1px;
  transform-origin:0 50%;
  background:linear-gradient(90deg,color-mix(in srgb,var(--active-fc) 42%,transparent),transparent);
  box-shadow:0 0 14px color-mix(in srgb,var(--active-fc) 28%,transparent);
  animation:cgNeBranchV61 4.8s ease-in-out infinite;
}

#functions .cognitive-grid[data-active-func="Ne"] .cg-signal-line::before{
  transform:rotate(-28deg);
}

#functions .cognitive-grid[data-active-func="Ne"] .cg-signal-line::after{
  transform:rotate(28deg);
  animation-delay:.42s;
}

@keyframes cgNeBranchV61{
  0%,100%{opacity:.08;clip-path:inset(0 100% 0 0);}
  35%{opacity:.58;clip-path:inset(0 18% 0 0);}
  62%{opacity:.28;clip-path:inset(0 0 0 0);}
}

/* Ni: slow temporal ring sweep */
#functions .cognitive-grid[data-active-func="Ni"] .cg-signal-orbit::before{
  inset:-8px;
  border-radius:50%;
  background:conic-gradient(from 0deg,transparent 0 58%,color-mix(in srgb,var(--active-fc) 18%,transparent) 64%,rgba(245,250,255,.74) 72%,color-mix(in srgb,var(--active-fc) 58%,transparent) 78%,transparent 88% 100%);
  -webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 5px),#000 calc(100% - 4px));
  mask:radial-gradient(farthest-side,transparent calc(100% - 5px),#000 calc(100% - 4px));
  animation:cgNiSweepV61 7.4s linear infinite;
}

@keyframes cgNiSweepV61{
  from{opacity:.72;transform:rotate(0deg);}
  to{opacity:.72;transform:rotate(360deg);}
}

/* Se: decisive pressure wave */
#functions .cognitive-grid[data-active-func="Se"] .cg-signal-orbit::after{
  inset:-16px;
  border:2px solid color-mix(in srgb,var(--active-fc) 48%,transparent);
  border-radius:50%;
  box-shadow:0 0 34px color-mix(in srgb,var(--active-fc) 24%,transparent);
  animation:cgSeImpactV61 2.65s cubic-bezier(.16,1,.3,1) infinite;
}

#functions .cognitive-grid[data-active-func="Se"] .cg-signal-line span{
  filter:brightness(1.35) saturate(1.2);
}

@keyframes cgSeImpactV61{
  0%{opacity:.72;transform:scale(.82);}
  55%{opacity:.18;transform:scale(1.34);}
  100%{opacity:0;transform:scale(1.52);}
}

/* Si: soft breathing comfort halo */
#functions .cognitive-grid[data-active-func="Si"] .cg-signal-orbit{
  animation:cgSiComfortV61 5.8s ease-in-out infinite;
  box-shadow:0 0 44px color-mix(in srgb,var(--active-fc) 18%,transparent),inset 0 0 34px color-mix(in srgb,var(--active-fc) 10%,transparent);
}

#functions .cognitive-grid[data-active-func="Si"] .cg-signal-orbit::before{
  inset:-18px;
  border-radius:50%;
  background:radial-gradient(circle,color-mix(in srgb,var(--active-fc) 14%,transparent),transparent 64%);
  animation:cgSiMistV61 6.2s ease-in-out infinite;
}

@keyframes cgSiComfortV61{
  0%,100%{transform:translate(-50%,-50%) scale(.96);filter:blur(0);}
  50%{transform:translate(-50%,-50%) scale(1.08);filter:blur(.2px);}
}

@keyframes cgSiMistV61{
  0%,100%{opacity:.18;transform:scale(.92);}
  50%{opacity:.48;transform:scale(1.12);}
}

/* Te: measured ticks along the route */
#functions .cognitive-grid[data-active-func="Te"] .cg-signal-line::before{
  inset:-7px 0;
  opacity:.74;
  background:repeating-linear-gradient(90deg,color-mix(in srgb,var(--active-fc) 64%,rgba(255,255,255,.62)) 0 2px,transparent 2px 18px);
  -webkit-mask:linear-gradient(90deg,transparent,black 15%,black 85%,transparent);
  mask:linear-gradient(90deg,transparent,black 15%,black 85%,transparent);
  animation:cgTeTicksV61 4.8s linear infinite;
}

@keyframes cgTeTicksV61{
  from{background-position:0 0;}
  to{background-position:36px 0;}
}

/* Ti: geometric structure locks into place */
#functions .cognitive-grid[data-active-func="Ti"] .cg-signal-orbit::before{
  inset:11px;
  border:1px solid color-mix(in srgb,var(--active-fc) 52%,transparent);
  transform:rotate(45deg) scale(.86);
  box-shadow:0 0 22px color-mix(in srgb,var(--active-fc) 22%,transparent);
  animation:cgTiLockV61 4.2s ease-in-out infinite;
}

#functions .cognitive-grid[data-active-func="Ti"] .cg-signal-orbit::after{
  left:50%;
  top:50%;
  width:118%;
  height:1px;
  background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--active-fc) 58%,rgba(255,255,255,.42)),transparent);
  transform:translate(-50%,-50%);
  box-shadow:0 0 18px color-mix(in srgb,var(--active-fc) 22%,transparent);
  animation:cgTiAxisV61 4.2s ease-in-out infinite;
}

@keyframes cgTiLockV61{
  0%{opacity:0;transform:rotate(45deg) scale(.72);}
  35%,72%{opacity:.72;transform:rotate(45deg) scale(1);}
  100%{opacity:.22;transform:rotate(45deg) scale(.94);}
}

@keyframes cgTiAxisV61{
  0%{opacity:0;transform:translate(-50%,-50%) rotate(-18deg) scaleX(.55);}
  35%,72%{opacity:.62;transform:translate(-50%,-50%) rotate(0deg) scaleX(1);}
  100%{opacity:.18;transform:translate(-50%,-50%) rotate(18deg) scaleX(.78);}
}

/* Fe: expressive ripple wave */
#functions .cognitive-grid[data-active-func="Fe"] .cg-signal-orbit::before,
#functions .cognitive-grid[data-active-func="Fe"] .cg-signal-orbit::after{
  inset:-12px;
  border:1px solid color-mix(in srgb,var(--active-fc) 48%,transparent);
  border-radius:50%;
  animation:cgFeRippleV61 3.6s ease-out infinite;
}

#functions .cognitive-grid[data-active-func="Fe"] .cg-signal-orbit::after{
  animation-delay:1.15s;
}

@keyframes cgFeRippleV61{
  0%{opacity:.56;transform:scale(.78);}
  70%{opacity:.08;transform:scale(1.42);}
  100%{opacity:0;transform:scale(1.55);}
}

/* Fi: inward relational glow */
#functions .cognitive-grid[data-active-func="Fi"] .cg-signal-orbit{
  background:radial-gradient(circle,color-mix(in srgb,var(--active-fc) 18%,transparent) 0 18%,transparent 54%);
  box-shadow:0 0 26px color-mix(in srgb,var(--active-fc) 14%,transparent),inset 0 0 54px color-mix(in srgb,var(--active-fc) 18%,transparent);
  animation:cgFiInwardV61 5.4s ease-in-out infinite;
}

#functions .cognitive-grid[data-active-func="Fi"] .cg-node.signal-function::before,
#functions .cognitive-grid[data-active-func="Fi"] .cg-node.active-function::before{
  box-shadow:
    inset 0 0 34px color-mix(in srgb,var(--fc) 24%,transparent),
    inset 0 0 74px color-mix(in srgb,var(--fc) 12%,transparent),
    0 0 38px color-mix(in srgb,var(--fc) 28%,transparent)!important;
}

@keyframes cgFiInwardV61{
  0%,100%{filter:brightness(.92);transform:translate(-50%,-50%) scale(1.03);}
  50%{filter:brightness(1.22);transform:translate(-50%,-50%) scale(.92);}
}

@media(max-width:700px){
  #functions .cognitive-grid[data-active-func="Ne"] .cg-signal-line::before,
  #functions .cognitive-grid[data-active-func="Ne"] .cg-signal-line::after{
    width:30%;
  }

  #functions .cognitive-grid[data-active-func="Ti"] .cg-signal-orbit::after{
    width:106%;
  }
}

@media(prefers-reduced-motion:reduce){
  #functions .cg-signal-line::before,
  #functions .cg-signal-line::after,
  #functions .cg-signal-orbit::before,
  #functions .cg-signal-orbit::after{
    animation:none!important;
  }
}

/* V62 - centered orbit + revised function signatures */
#functions .cg-node.signal-function,
#functions .cg-node.active-function{
  transform:scale(1.13)!important;
}

#functions .cg-fe.signal-function,
#functions .cg-fe.active-function,
#functions .cg-fi.signal-function,
#functions .cg-fi.active-function{
  transform:translateX(-50%) scale(1.13)!important;
}

#functions .cg-signal-orbit span::after{
  content:'';
  position:absolute;
  pointer-events:none;
  opacity:0;
}

/* Ne: three faint possible paths with separate endpoints */
#functions .cognitive-grid[data-active-func="Ne"] .cg-signal-line::before,
#functions .cognitive-grid[data-active-func="Ne"] .cg-signal-line::after{
  opacity:0!important;
  animation:none!important;
}

#functions .cognitive-grid[data-active-func="Ne"] .cg-signal-orbit{
  border-color:color-mix(in srgb,#B38CFF 24%,transparent);
  box-shadow:0 0 36px rgba(179,140,255,.16),inset 0 0 30px rgba(95,227,224,.04);
}

#functions .cognitive-grid[data-active-func="Ne"] .cg-signal-orbit span{
  inset:0;
  animation:none;
}

#functions .cognitive-grid[data-active-func="Ne"] .cg-signal-orbit::before,
#functions .cognitive-grid[data-active-func="Ne"] .cg-signal-orbit::after,
#functions .cognitive-grid[data-active-func="Ne"] .cg-signal-orbit span::after{
  left:50%;
  top:50%;
  width:104px;
  height:2px;
  transform-origin:0 50%;
  border-radius:999px;
  animation:cgNePossibilityPathV62 5.4s ease-in-out infinite;
}

#functions .cognitive-grid[data-active-func="Ne"] .cg-signal-orbit::before{
  transform:rotate(-38deg);
  background:
    radial-gradient(circle at 100% 50%,rgba(179,140,255,.95) 0 3px,transparent 4px),
    linear-gradient(90deg,rgba(179,140,255,.58),transparent 78%);
  box-shadow:0 0 18px rgba(179,140,255,.2);
}

#functions .cognitive-grid[data-active-func="Ne"] .cg-signal-orbit::after{
  transform:rotate(-4deg);
  background:
    radial-gradient(circle at 100% 50%,rgba(95,227,224,.92) 0 3px,transparent 4px),
    linear-gradient(90deg,rgba(95,227,224,.5),transparent 78%);
  box-shadow:0 0 18px rgba(95,227,224,.18);
  animation-delay:.42s;
}

#functions .cognitive-grid[data-active-func="Ne"] .cg-signal-orbit span::after{
  transform:rotate(32deg);
  background:
    radial-gradient(circle at 100% 50%,rgba(255,138,174,.86) 0 3px,transparent 4px),
    linear-gradient(90deg,rgba(255,138,174,.44),transparent 78%);
  box-shadow:0 0 18px rgba(255,138,174,.16);
  animation-delay:.84s;
}

#functions .cognitive-grid[data-active-func="Ne"] .cg-signal-orbit span::before{
  opacity:.5;
  background:#B38CFF;
  box-shadow:0 0 18px rgba(179,140,255,.62),0 0 34px rgba(95,227,224,.22);
}

@keyframes cgNePossibilityPathV62{
  0%,100%{opacity:0;clip-path:inset(0 100% 0 0);filter:blur(.15px);}
  22%{opacity:.7;clip-path:inset(0 34% 0 0);}
  54%{opacity:.38;clip-path:inset(0 0 0 0);}
  78%{opacity:.12;clip-path:inset(0 0 0 0);filter:blur(.6px);}
}

/* Si: concentric settling rings and a soft cushion glow */
#functions .cognitive-grid[data-active-func="Si"] .cg-signal-orbit{
  background:radial-gradient(ellipse at 50% 64%,rgba(125,219,168,.17),rgba(125,219,168,.055) 38%,transparent 70%);
  box-shadow:0 0 34px rgba(125,219,168,.13),inset 0 0 42px rgba(125,219,168,.1);
  animation:cgSiSettleShellV62 6.8s ease-in-out infinite;
}

#functions .cognitive-grid[data-active-func="Si"] .cg-signal-orbit::before,
#functions .cognitive-grid[data-active-func="Si"] .cg-signal-orbit::after{
  inset:-18px;
  border:1px solid rgba(125,219,168,.34);
  border-radius:50%;
  background:transparent;
  animation:cgSiSettlingRingV62 6.4s ease-in-out infinite;
}

#functions .cognitive-grid[data-active-func="Si"] .cg-signal-orbit::after{
  inset:-6px;
  border-color:rgba(220,255,236,.26);
  animation-delay:1.1s;
}

#functions .cognitive-grid[data-active-func="Si"] .cg-signal-orbit span::before{
  opacity:0;
}

@keyframes cgSiSettleShellV62{
  0%,100%{transform:translate(-50%,-50%) scale(1.02);filter:blur(.2px) brightness(.98);}
  50%{transform:translate(-50%,-50%) scale(.96);filter:blur(0) brightness(1.12);}
}

@keyframes cgSiSettlingRingV62{
  0%{opacity:0;transform:scale(1.26);}
  34%{opacity:.52;transform:scale(1.06);}
  72%{opacity:.26;transform:scale(.94);}
  100%{opacity:0;transform:scale(.9);}
}

/* Te: moving calibration ticks plus an output progress scan */
#functions .cognitive-grid[data-active-func="Te"] .cg-signal-line{
  height:4px;
  background:linear-gradient(90deg,rgba(227,154,85,.14),rgba(235,250,252,.2),rgba(227,154,85,.12));
}

#functions .cognitive-grid[data-active-func="Te"] .cg-signal-line::before{
  inset:-8px 0;
  opacity:.75;
  background:repeating-linear-gradient(90deg,rgba(255,205,142,.82) 0 2px,transparent 2px 16px);
  -webkit-mask:linear-gradient(90deg,transparent,black 13%,black 88%,transparent);
  mask:linear-gradient(90deg,transparent,black 13%,black 88%,transparent);
  animation:cgTeCalibrationTicksV62 3.1s linear infinite;
}

#functions .cognitive-grid[data-active-func="Te"] .cg-signal-line::after{
  left:0;
  top:50%;
  height:100%;
  width:100%;
  transform:translateY(-50%) scaleX(0);
  transform-origin:0 50%;
  border-radius:999px;
  background:linear-gradient(90deg,rgba(227,154,85,.12),rgba(255,225,175,.84),rgba(227,154,85,.34));
  box-shadow:0 0 18px rgba(227,154,85,.3),0 0 34px rgba(227,154,85,.12);
  animation:cgTeProgressV62 4.2s cubic-bezier(.16,1,.3,1) infinite;
}

@keyframes cgTeCalibrationTicksV62{
  from{background-position:0 0;}
  to{background-position:32px 0;}
}

@keyframes cgTeProgressV62{
  0%{opacity:0;transform:translateY(-50%) scaleX(0);}
  24%{opacity:.95;transform:translateY(-50%) scaleX(.48);}
  48%,68%{opacity:.78;transform:translateY(-50%) scaleX(1);}
  100%{opacity:0;transform:translateY(-50%) scaleX(1);}
}

/* Fe: expressive wave arcs radiating outward */
#functions .cognitive-grid[data-active-func="Fe"] .cg-signal-orbit{
  border-color:rgba(255,138,174,.4);
  box-shadow:0 0 42px rgba(255,138,174,.18),inset 0 0 30px rgba(255,138,174,.06);
}

#functions .cognitive-grid[data-active-func="Fe"] .cg-signal-orbit::before,
#functions .cognitive-grid[data-active-func="Fe"] .cg-signal-orbit::after,
#functions .cognitive-grid[data-active-func="Fe"] .cg-signal-orbit span::after{
  inset:-18px;
  border-radius:50%;
  background:conic-gradient(from 18deg,transparent 0 12%,rgba(255,138,174,.58) 16%,rgba(255,220,230,.78) 20%,rgba(255,138,174,.35) 25%,transparent 31% 52%,rgba(255,138,174,.38) 57%,transparent 66% 100%);
  -webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 5px),#000 calc(100% - 4px));
  mask:radial-gradient(farthest-side,transparent calc(100% - 5px),#000 calc(100% - 4px));
  animation:cgFeExpressionArcV62 4.6s ease-out infinite;
}

#functions .cognitive-grid[data-active-func="Fe"] .cg-signal-orbit::after{
  inset:-32px;
  animation-delay:.8s;
}

#functions .cognitive-grid[data-active-func="Fe"] .cg-signal-orbit span::after{
  inset:-46px;
  animation-delay:1.6s;
}

@keyframes cgFeExpressionArcV62{
  0%{opacity:0;transform:scale(.68) rotate(-10deg);}
  30%{opacity:.72;}
  72%{opacity:.16;transform:scale(1.18) rotate(26deg);}
  100%{opacity:0;transform:scale(1.34) rotate(38deg);}
}

/* Fi: relationship dots settling into personal distance */
#functions .cognitive-grid[data-active-func="Fi"] .cg-signal-orbit{
  background:radial-gradient(circle,rgba(215,140,255,.16) 0 20%,transparent 58%);
  box-shadow:0 0 30px rgba(215,140,255,.15),inset 0 0 58px rgba(215,140,255,.18);
  animation:cgFiCoreV62 5.8s ease-in-out infinite;
}

#functions .cognitive-grid[data-active-func="Fi"] .cg-signal-orbit::before{
  left:50%;
  top:50%;
  width:5px;
  height:5px;
  border-radius:50%;
  background:rgba(245,228,255,.94);
  box-shadow:
    -2px -54px 0 0 rgba(215,140,255,.82),
    47px -29px 0 1px rgba(255,138,174,.7),
    35px 42px 0 0 rgba(179,140,255,.62),
    -48px 24px 0 1px rgba(95,227,224,.58),
    -31px -24px 0 0 rgba(245,228,255,.72);
  transform:translate(-50%,-50%) scale(.82);
  animation:cgFiRelationDotsV62 5.8s ease-in-out infinite;
}

#functions .cognitive-grid[data-active-func="Fi"] .cg-signal-orbit::after{
  left:50%;
  top:50%;
  width:112px;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(215,140,255,.46),rgba(245,228,255,.35),transparent);
  box-shadow:0 33px 0 -0.2px rgba(95,227,224,.24),0 -28px 0 -0.2px rgba(255,138,174,.22);
  transform:translate(-50%,-50%) rotate(-31deg) scaleX(.72);
  animation:cgFiBondLinesV62 5.8s ease-in-out infinite;
}

#functions .cognitive-grid[data-active-func="Fi"] .cg-signal-orbit span::before{
  opacity:0;
}

@keyframes cgFiCoreV62{
  0%,100%{filter:brightness(.92);transform:translate(-50%,-50%) scale(.98);}
  50%{filter:brightness(1.22);transform:translate(-50%,-50%) scale(.94);}
}

@keyframes cgFiRelationDotsV62{
  0%{opacity:0;transform:translate(-50%,-50%) scale(.58);}
  34%{opacity:.86;transform:translate(-50%,-50%) scale(1.02);}
  72%{opacity:.58;transform:translate(-50%,-50%) scale(.96);}
  100%{opacity:.2;transform:translate(-50%,-50%) scale(.9);}
}

@keyframes cgFiBondLinesV62{
  0%{opacity:0;transform:translate(-50%,-50%) rotate(-31deg) scaleX(.28);}
  38%{opacity:.72;transform:translate(-50%,-50%) rotate(-31deg) scaleX(1);}
  74%{opacity:.34;transform:translate(-50%,-50%) rotate(-31deg) scaleX(.86);}
  100%{opacity:0;transform:translate(-50%,-50%) rotate(-31deg) scaleX(.66);}
}

@media(max-width:700px){
  #functions .cg-node.signal-function,
  #functions .cg-node.active-function{
    transform:scale(1.1)!important;
  }

  #functions .cg-fe.signal-function,
  #functions .cg-fe.active-function,
  #functions .cg-fi.signal-function,
  #functions .cg-fi.active-function{
    transform:translateX(-50%) scale(1.1)!important;
  }

  #functions .cognitive-grid[data-active-func="Ne"] .cg-signal-orbit::before,
  #functions .cognitive-grid[data-active-func="Ne"] .cg-signal-orbit::after,
  #functions .cognitive-grid[data-active-func="Ne"] .cg-signal-orbit span::after{
    width:78px;
  }

  #functions .cognitive-grid[data-active-func="Fe"] .cg-signal-orbit::after{
    inset:-24px;
  }

  #functions .cognitive-grid[data-active-func="Fe"] .cg-signal-orbit span::after{
    inset:-34px;
  }
}

@media(prefers-reduced-motion:reduce){
  #functions .cognitive-grid[data-active-func] .cg-signal-line::before,
  #functions .cognitive-grid[data-active-func] .cg-signal-line::after,
  #functions .cognitive-grid[data-active-func] .cg-signal-orbit,
  #functions .cognitive-grid[data-active-func] .cg-signal-orbit::before,
  #functions .cognitive-grid[data-active-func] .cg-signal-orbit::after,
  #functions .cognitive-grid[data-active-func] .cg-signal-orbit span,
  #functions .cognitive-grid[data-active-func] .cg-signal-orbit span::before,
  #functions .cognitive-grid[data-active-func] .cg-signal-orbit span::after{
    animation:none!important;
  }
}
