
*{margin:0;padding:0;box-sizing:border-box}
body{background:#080808;color:#fff;font-family:'DM Sans',sans-serif;-webkit-font-smoothing:antialiased;min-height:100vh}
::selection{background:rgba(255,255,255,0.1);color:#fff}
::placeholder{color:rgba(255,255,255,0.13)}
html{scroll-behavior:smooth}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
button{font-family:'DM Sans',sans-serif}

@keyframes semUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@keyframes semRing{0%,100%{transform:translate(-50%,-50%) scale(1);opacity:0.3}50%{transform:translate(-50%,-50%) scale(1.06);opacity:0.8}}
@keyframes semBlink{0%,100%{opacity:0.2}50%{opacity:1}}
@keyframes marquee{0%{transform:translateX(0)}100%{transform:translateX(-33.333%)}}
@keyframes semSweep{0%{left:-50%}100%{left:150%}}

.fade{opacity:0;transform:translateY(40px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1)}
.fade.vis{opacity:1;transform:none}

.grad-text{background:linear-gradient(135deg,rgba(255,255,255,.38),rgba(255,255,255,.12));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.grad-num{background:linear-gradient(180deg,#fff 15%,rgba(255,255,255,.45) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.inst{font-family:'Instrument Sans',sans-serif}

.ring{position:absolute;top:50%;left:50%;border-radius:50%;border:1px solid rgba(255,255,255,.025);animation:semRing 8s ease-in-out infinite}
.pulse-dot{width:6px;height:6px;border-radius:50%;background:#fff;animation:semBlink 2.5s ease-in-out infinite;flex-shrink:0}

/* HEADER */
header{position:fixed;top:0;left:0;right:0;z-index:1000;padding:18px 0;transition:all .5s cubic-bezier(.16,1,.3,1)}
header.scrolled{padding:10px 0;background:rgba(8,8,8,.9);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-bottom:1px solid rgba(255,255,255,.04)}
.nav-inner{max-width:1360px;margin:0 auto;padding:0 28px;display:flex;justify-content:space-between;align-items:center}
.logo-img{height:24px;width:auto;filter:drop-shadow(0 0 8px rgba(255,255,255,.2));cursor:pointer}
.nav-links{display:flex;gap:32px;align-items:center}
.nav-link{background:none;border:none;font-size:13px;font-weight:500;color:rgba(255,255,255,.4);cursor:pointer;padding:4px 0;border-bottom:1px solid transparent;transition:all .4s;letter-spacing:.5px}
.nav-link:hover{color:#fff}
.nav-link.active{color:#fff;border-bottom-color:rgba(255,255,255,.4)}
.nav-cta{background:#fff;color:#080808;border:none;padding:10px 26px;font-size:12px;font-weight:700;cursor:pointer;letter-spacing:1.5px;text-transform:uppercase;transition:all .4s}
.nav-cta:hover{box-shadow:0 0 24px rgba(255,255,255,.15);transform:translateY(-1px)}
.mob-btn{display:none;background:none;border:none;color:#fff;cursor:pointer;padding:8px}
.mob-menu{position:fixed;inset:0;z-index:999;background:rgba(8,8,8,.98);backdrop-filter:blur(30px);display:none;flex-direction:column;align-items:center;justify-content:center;gap:28px}
.mob-menu.open{display:flex}
.mob-menu a{color:#fff;background:none;border:none;color:#fff;font-family:'Instrument Sans',sans-serif;font-size:32px;font-weight:700;cursor:pointer;letter-spacing:-1px}

/* BUTTONS */
.btn{display:inline-block;padding:15px 36px;font-size:12px;font-weight:700;cursor:pointer;letter-spacing:1.5px;text-transform:uppercase;transition:all .4s cubic-bezier(.16,1,.3,1);border:none;text-align:center}
.btn-p{background:#fff;color:#080808}
.btn-p:hover{transform:translateY(-2px);box-shadow:0 4px 30px rgba(255,255,255,.18)}
.btn-o{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.12)}
.btn-o:hover{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.3);transform:translateY(-2px)}

/* LAYOUT */
.sec{padding:120px 28px}
.sec-alt{background:rgba(255,255,255,.008)}
.wrap{max-width:1360px;margin:0 auto}
.label{display:flex;align-items:center;gap:14px;margin-bottom:24px}
.label-line{width:40px;height:1px;background:linear-gradient(90deg,rgba(255,255,255,.4),transparent)}
.label span{font-size:12px;font-weight:700;letter-spacing:3.5px;text-transform:uppercase;color:rgba(255,255,255,.3)}
h1{font-family:'Instrument Sans',sans-serif;font-weight:700;letter-spacing:-2.5px;line-height:1.02;color:#fff}
h2{font-family:'Instrument Sans',sans-serif;font-weight:700;letter-spacing:-2px;line-height:1.06;color:#fff}
h3{font-family:'Instrument Sans',sans-serif;font-weight:600;color:#fff}

/* CARDS */
.card{padding:44px 36px;border:1px solid rgba(255,255,255,.05);background:rgba(255,255,255,.008);transition:all .6s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}
.card::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent);opacity:0;transition:opacity .6s}
.card:hover::before{opacity:1}
.card.hov{cursor:pointer}
.card.hov:hover{border-color:rgba(255,255,255,.1);background:rgba(255,255,255,.025);transform:translateY(-3px);box-shadow:0 16px 48px rgba(0,0,0,.5)}
.card h3{font-size:22px;margin-bottom:12px;letter-spacing:-.3px}
.card p{font-size:14px;color:rgba(255,255,255,.35);line-height:1.7}

.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:64px}
.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2px}
.grid-4{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}

/* HERO */
.hero{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;padding:140px 28px 100px;text-align:center}
.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.013) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.013) 1px,transparent 1px);background-size:64px 64px;opacity:.7}
.spotlight{position:absolute;inset:0;pointer-events:none;z-index:1;background:radial-gradient(600px circle at 50% 40%,rgba(255,255,255,.03),transparent 60%);transition:background .2s ease-out}
.hero-badge{display:inline-flex;align-items:center;gap:10px;padding:9px 24px;border:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.015);backdrop-filter:blur(12px);margin-bottom:40px;border-radius:100px;position:relative;overflow:hidden}
.hero-badge::after{content:'';position:absolute;top:0;left:-50%;width:50%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.05),transparent);animation:semSweep 5s ease-in-out infinite}
.hero-badge span{font-size:12px;font-weight:600;color:rgba(255,255,255,.45);letter-spacing:2.5px;text-transform:uppercase}
.hero h1{font-size:clamp(42px,8vw,92px);letter-spacing:-4px;line-height:.96;margin-bottom:32px}
.hero-sub{font-size:clamp(15px,2vw,18px);color:rgba(255,255,255,.32);line-height:1.8;max-width:520px;margin:0 auto 52px}
.hero-btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}

/* MARQUEE */
.marquee-wrap{padding:18px 0;border-top:1px solid rgba(255,255,255,.03);border-bottom:1px solid rgba(255,255,255,.03);overflow:hidden;white-space:nowrap}
.marquee{display:inline-flex;animation:marquee 35s linear infinite}
.marquee span{font-family:'Instrument Sans',sans-serif;font-size:clamp(12px,1.5vw,16px);font-weight:700;color:rgba(255,255,255,.07);text-transform:uppercase;letter-spacing:5px;padding:0 48px;white-space:nowrap}

/* STATS */
.stat{text-align:center;padding:24px 16px}
.stat-v{font-family:'Instrument Sans',sans-serif;font-size:38px;font-weight:700;letter-spacing:-1px}
.stat-l{font-size:12px;color:rgba(255,255,255,.22);font-weight:600;letter-spacing:2px;text-transform:uppercase;margin-top:8px}

/* PROCESS */
.proc{display:flex;gap:36px;padding:36px 0;border-bottom:1px solid rgba(255,255,255,.04);align-items:baseline}
.proc-n{font-family:'Instrument Sans',sans-serif;font-size:56px;font-weight:800;min-width:80px;line-height:1;background:linear-gradient(180deg,rgba(255,255,255,.07),transparent);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.proc h3{font-size:24px;margin-bottom:8px}
.proc p{font-size:15px;color:rgba(255,255,255,.32);line-height:1.7;max-width:560px}

/* PILLS */
.pill{padding:18px 36px;border:1px solid rgba(255,255,255,.06);font-family:'Instrument Sans',sans-serif;font-size:16px;font-weight:600;color:rgba(255,255,255,.4);transition:all .5s cubic-bezier(.16,1,.3,1)}
.pill:hover{border-color:rgba(255,255,255,.2);color:#fff;box-shadow:0 0 30px rgba(255,255,255,.04)}

/* FORM */
.form-inp{width:100%;padding:16px 18px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.06);color:#fff;font-family:'DM Sans',sans-serif;font-size:14px;outline:none;transition:all .4s;box-sizing:border-box}
.form-inp:focus{border-color:rgba(255,255,255,.15);box-shadow:0 0 24px rgba(255,255,255,.03)}
select.form-inp{cursor:pointer;-webkit-appearance:none;appearance:none}
select.form-inp option{background:#111}
textarea.form-inp{resize:vertical}
.form-lbl{font-size:12px;font-weight:700;color:rgba(255,255,255,.18);letter-spacing:3px;text-transform:uppercase;margin-bottom:10px;display:block}

/* FOUNDER PHOTO */
.photo-frame{aspect-ratio:3/4;position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.06)}
.photo-frame img{width:100%;height:100%;object-fit:cover;object-position:center top}
.photo-grad{position:absolute;bottom:0;left:0;right:0;height:40%;background:linear-gradient(transparent,rgba(8,8,8,.95))}
.photo-name{position:absolute;bottom:28px;left:28px;right:28px}
.corner{position:absolute;width:28px;height:28px}

/* FOOTER */
footer{background:#060606;padding:80px 28px 36px;border-top:1px solid rgba(255,255,255,.04)}
.foot-top{display:flex;justify-content:space-between;flex-wrap:wrap;gap:48px;margin-bottom:48px}
.foot-links a,.foot-links button{display:block;background:none;border:none;color:rgba(255,255,255,.25);font-family:'DM Sans',sans-serif;font-size:14px;cursor:pointer;padding:5px 0;transition:color .3s;text-align:left}
.foot-links a:hover,.foot-links button:hover{color:#fff}
.foot-bot{border-top:1px solid rgba(255,255,255,.04);padding-top:24px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}
.foot-bot p{font-size:12px;color:rgba(255,255,255,.12)}

/* SCROLL PROGRESS */
.progress{position:fixed;top:0;left:0;height:2px;background:linear-gradient(90deg,rgba(255,255,255,.5),#fff);z-index:1002;width:0%;transition:width .1s linear;box-shadow:0 0 12px rgba(255,255,255,.4)}

@media(max-width:768px){
  .nav-links .nav-link,.nav-cta{display:none}
  .mob-btn{display:block}
  .sec{padding:80px 20px}
  .grid-2{gap:48px}
  .grid-4{grid-template-columns:repeat(2,1fr)}
  .proc{gap:20px}
  .proc-n{font-size:40px;min-width:56px}
}

/* ═══ v2 additions ═══ */
@view-transition{navigation:auto}
.skip{position:absolute;left:-9999px;top:8px;background:#fff;color:#080808;padding:10px 18px;z-index:2000;font-weight:700;font-size:14px}
.skip:focus{left:8px}
a.card{display:block;color:inherit}
.nav-link{display:inline-block}
.nav-cta{display:inline-block}
.nav-link.active{color:#fff;border-bottom-color:rgba(255,255,255,.4)}
h3.k,.card h3.k{font-family:'DM Sans',sans-serif;font-size:12px;font-weight:700;color:rgba(255,255,255,.3);letter-spacing:3px;text-transform:uppercase;margin-bottom:12px}
.kick{font-size:12px;font-weight:700;color:rgba(255,255,255,.25);letter-spacing:3px;margin-bottom:18px}
.hero-fade{opacity:0;animation:semUp .9s cubic-bezier(.16,1,.3,1) forwards;animation-delay:var(--d,0s)}
.logo-img{height:24px;width:auto}
.foot-logo{height:30px;width:auto}
.foot-links a{display:block;padding:7px 0}
.foot-note{color:rgba(255,255,255,.6);font-size:13px;line-height:1.7;margin-top:14px;max-width:300px}
.stat-l,.form-lbl,.label span{color:rgba(255,255,255,.62)}
.nav-link{color:rgba(255,255,255,.62)}
.kick{color:rgba(255,255,255,.5)!important}
h3.k,.card h3.k{color:rgba(255,255,255,.6)}
.marquee span{color:rgba(255,255,255,.07)}
.sec p{color:rgba(255,255,255,.62)}
.pill{color:rgba(255,255,255,.62)}
.proc p{color:rgba(255,255,255,.58)}
.card p{color:rgba(255,255,255,.62)}
.hero-sub{color:rgba(255,255,255,.65)}
.grad-text{background:linear-gradient(135deg,rgba(255,255,255,.62),rgba(255,255,255,.34));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.foot-links a,.foot-links button{color:rgba(255,255,255,.66)}
.foot-bot p,.foot-bot a{color:rgba(255,255,255,.6)}
.foot-bot a:hover{color:#fff}
.marquee span{color:rgba(255,255,255,.07)}

/* FAQ */
.faq{max-width:860px}
.faq details{border-bottom:1px solid rgba(255,255,255,.06);padding:0}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:26px 0;font-family:'Instrument Sans',sans-serif;font-size:20px;font-weight:600;color:#fff;letter-spacing:-.3px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';font-size:26px;font-weight:300;color:rgba(255,255,255,.4);transition:transform .4s cubic-bezier(.16,1,.3,1);flex-shrink:0}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 48px 28px 0;font-size:16px;line-height:1.75;color:rgba(255,255,255,.55)}

/* ═══ PIXEL SEAM (scroll-driven dissolve between sections) ═══ */
.seam{position:relative;height:0;z-index:5;pointer-events:none}
.seam canvas{position:absolute;left:0;top:0;width:100%;display:block;pointer-events:none}
@media (prefers-reduced-motion:reduce){.seam{display:none}.fade,.hero-fade{opacity:1!important;transform:none!important;animation:none!important}html{scroll-behavior:auto}}
@media(max-width:768px){
  .nav-links .nav-link,.nav-cta{display:none}
  .foot-links a{padding:12px 0}
  .faq summary{font-size:17px;padding:22px 0}
  .faq details p{padding-right:0;font-size:15px}
  .mob-menu a{padding:6px 0}
  .btn{padding:17px 32px}
}
