
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
*,*::before,*::after{box-sizing:border-box;}
body{margin:0;}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  .ns-root .reveal{opacity:1!important;transform:none!important;transition:none!important;}
  .blob,.marquee-track,.shiny,.spinner{animation:none!important;}
}

.ns-root{
  --bg:#08090a;
  --panel:rgba(255,255,255,.035);
  --line:rgba(255,255,255,.1);
  --text:#f3f1e7;
  --dim:#9b9686;
  --forest:#4fce88;
  --accent:#d7ff3d;
  position:relative;
  font-family:'Inter',sans-serif;
  background:var(--bg);
  color:var(--text);
  font-weight:300;
  overflow-x:hidden;
  isolation:isolate;
}
.ns-root *{box-sizing:border-box;}
.ns-root h1,.ns-root h2,.ns-root h3,.ns-root p,.ns-root ul,.ns-root ol,.ns-root figure,.ns-root blockquote{margin:0;padding:0;}
.ns-root a{cursor:pointer;text-decoration:none;color:inherit;}
.ns-root a.btn-solid,.ns-root a.nav-cta{color:#0a0a0a;}
.ns-root button{font-family:inherit;cursor:pointer;}
.ns-root .reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease, transform .7s ease;}
.ns-root .reveal.is-visible{opacity:1;transform:translateY(0);}

/* GLASS */
.glass{background:var(--panel);border:1px solid var(--line);backdrop-filter:blur(16px);position:relative;box-shadow:inset 0 1px 1px rgba(255,255,255,.08);}

/* AMBIENT BG */
.ns-bg{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;}
.blob{position:absolute;width:60vw;height:60vw;border-radius:50%;filter:blur(120px);mix-blend-mode:screen;opacity:.28;}
.blob-a{background:var(--accent);top:-10%;left:-10%;animation:float1 24s ease-in-out infinite;}
.blob-b{background:var(--forest);bottom:-15%;right:-10%;animation:float2 30s ease-in-out infinite;}
@keyframes float1{0%,100%{transform:translate(0,0) scale(1);}50%{transform:translate(8%,6%) scale(1.15);}}
@keyframes float2{0%,100%{transform:translate(0,0) scale(1);}50%{transform:translate(-8%,-6%) scale(1.2);}}
.grain{position:absolute;inset:-10%;background:#000;opacity:.5;filter:url(#novsite-noise);mix-blend-mode:overlay;}
.guide{position:absolute;top:0;bottom:0;width:1px;background:rgba(255,255,255,.06);display:none;}
@media(min-width:1100px){.guide{display:block;}.guide-l{left:calc(50% - 34rem);}.guide-r{left:calc(50% + 34rem);}}

/* NAV */
.ns-root nav{position:sticky;top:0;z-index:50;background:rgba(8,9,10,.4);backdrop-filter:blur(14px);border-bottom:1px solid transparent;transition:border-color .25s,background .25s;}
.ns-root nav.scrolled{border-color:var(--line);background:rgba(8,9,10,.75);}
.nav-inner{max-width:1240px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:1.1rem 2.5rem;position:relative;z-index:1;}
.nav-logo{display:flex;align-items:center;gap:9px;font-family:'Fraunces',serif;font-size:1.35rem;font-weight:700;letter-spacing:-1px;color:var(--text);}
.wordmark{white-space:nowrap;}
.nav-logo em,.f-logo em{color:var(--accent);font-style:italic;}
.mark{width:16px;height:16px;border-radius:5px;background:linear-gradient(135deg,var(--accent),var(--forest));display:inline-block;flex-shrink:0;}
.nav-links{display:flex;gap:2.2rem;list-style:none;margin:0;padding:0;}
.nav-links a{font-size:13px;color:var(--dim);transition:color .2s;}
.nav-links a:hover{color:var(--text);}
.nav-cta{background:var(--text);color:#0a0a0a;padding:11px 22px;font-size:13px;border:none;border-radius:100px;font-weight:600;transition:background .2s,transform .2s;}
.nav-cta:hover{background:var(--accent);transform:translateY(-1px);}
.nav-burger{display:none;background:none;border:none;color:var(--text);padding:6px;}
.nav-burger .icon-close{display:none;}
.nav-burger.open .icon-open{display:none;}
.nav-burger.open .icon-close{display:block;}
.nav-mobile{display:none;}
@media(max-width:860px){
  .nav-links,.nav-cta{display:none;}
  .nav-burger{display:block;}
  .nav-inner{padding:1rem 1.5rem;}
  .nav-mobile{display:flex;flex-direction:column;border-top:1px solid var(--line);position:relative;z-index:1;}
  .nav-mobile[hidden]{display:none;}
  .nav-mobile a{padding:1rem 1.5rem;font-size:14px;border-bottom:1px solid var(--line);color:var(--dim);}
}

/* HERO */
.hero{max-width:1240px;margin:0 auto;padding:6.5rem 2.5rem 4.5rem;position:relative;z-index:1;}
.hero-inner{max-width:760px;}
@media(max-width:700px){.hero{padding:3.5rem 1.4rem 2.5rem;}}
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:var(--panel);border:1px solid var(--line);backdrop-filter:blur(10px);color:var(--accent);font-size:12px;padding:7px 16px;border-radius:100px;margin-bottom:2.2rem;font-weight:500;}
.hero h1{font-family:'Fraunces',serif;font-size:clamp(2.8rem,7vw,5.4rem);font-weight:700;line-height:.98;letter-spacing:-2px;margin:0 0 1.8rem;color:var(--text);}
.shiny{
  font-style:italic;font-weight:500;
  background-image:linear-gradient(to right,#08090a 0%,#143323 15%,#d7ff3d 45%,#eaffb0 55%,#143323 75%,#08090a 100%);
  background-size:200% auto;
  -webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;
  filter:url(#novsite-noise);
  animation:shiny 6s linear infinite;
  display:inline-block;
}
@keyframes shiny{0%{background-position:-200% center;}100%{background-position:200% center;}}
.hero-sub{font-size:18px;color:var(--dim);line-height:1.75;max-width:520px;margin:0 0 2.6rem;}
.hero-btns{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:3rem;}
.btn-solid{display:inline-flex;align-items:center;gap:8px;background:var(--text);color:#0a0a0a;padding:15px 28px;font-size:14px;border:none;border-radius:100px;font-weight:600;transition:background .2s,transform .2s;}
.btn-solid:hover{background:var(--accent);transform:translateY(-2px);}
.btn-solid.full{width:100%;justify-content:center;margin-top:.4rem;}
.btn-line{background:transparent;color:var(--text);padding:15px 28px;font-size:14px;border:1.5px solid var(--line);border-radius:100px;transition:border-color .2s,background .2s;}
.btn-line:hover{border-color:var(--accent);background:rgba(255,255,255,.03);}
.hero-proof{display:flex;align-items:center;gap:1.4rem;flex-wrap:wrap;list-style:none;margin:0;padding:0;}
.hero-proof li{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--dim);}
.hero-proof li svg{color:var(--forest);flex-shrink:0;}
.hero-proof li.sep{width:4px;height:4px;border-radius:50%;background:var(--line);padding:0;}

/* ICON UTILITY */
.icon{flex-shrink:0;vertical-align:middle;color:currentColor;}

/* MARQUEE */
.marquee-wrap{position:relative;z-index:1;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(255,255,255,.02);padding:1.1rem 0;overflow:hidden;}
.marquee-track{display:flex;gap:2.6rem;white-space:nowrap;width:max-content;animation:scroll 26s linear infinite;}
@keyframes scroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.marquee-item{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--dim);flex-shrink:0;}
.marquee-item i{width:4px;height:4px;border-radius:50%;background:#4a4636;display:inline-block;}

/* SECTIONS */
.section{position:relative;z-index:1;padding:6.5rem 2.5rem;}
@media(max-width:700px){.section{padding:4rem 1.4rem;}}
.section-inner{max-width:1240px;margin:0 auto;}
.eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:1.2rem;font-family:'Space Mono',monospace;font-size:11px;letter-spacing:2.5px;text-transform:uppercase;color:var(--accent);font-weight:700;}
.eyebrow i{width:26px;height:2px;background:var(--accent);border-radius:2px;display:inline-block;}
.sec-title{font-family:'Fraunces',serif;font-size:clamp(2rem,4.4vw,3.1rem);font-weight:700;line-height:1.06;letter-spacing:-1.5px;margin:0 0 1.1rem;color:var(--text);}
.sec-title em{font-style:italic;font-weight:500;color:var(--forest);}
.sec-sub{font-size:16px;color:var(--dim);line-height:1.8;max-width:540px;}

/* MOCK / CONFIGURATOR */
.mock{border-radius:22px;overflow:hidden;margin-top:3rem;}
.mock-bar{display:flex;align-items:center;gap:1rem;padding:.9rem 1.2rem;border-bottom:1px solid var(--line);}
.tl{display:flex;gap:6px;}
.tl i{width:10px;height:10px;border-radius:50%;display:inline-block;}
.mock-url{display:flex;align-items:center;gap:6px;background:rgba(255,255,255,.05);border-radius:100px;padding:5px 14px;font-size:11.5px;color:var(--dim);font-family:'Space Mono',monospace;}
.mock-bar-spacer{flex:1;}
.mock-body{display:grid;grid-template-columns:260px 1fr;min-height:340px;}
@media(max-width:760px){.mock-body{grid-template-columns:1fr;}}
.mock-side{padding:1.4rem;border-right:1px solid var(--line);}
@media(max-width:760px){.mock-side{border-right:none;border-bottom:1px solid var(--line);}}
.mock-side-label{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--dim);margin-bottom:.8rem;font-weight:600;}
.mock-input{width:100%;background:rgba(255,255,255,.04);border:1px solid var(--line);color:var(--text);font-family:'Inter',sans-serif;font-size:13.5px;padding:11px 13px;border-radius:10px;outline:none;transition:border-color .2s,background .2s;}
.mock-input::placeholder{color:#6b6656;}
.mock-input:focus{border-color:var(--accent);background:rgba(255,255,255,.06);}
.goal-chips{display:flex;flex-wrap:wrap;gap:.4rem;}
.goal-chip{background:rgba(255,255,255,.04);border:1px solid var(--line);color:var(--dim);font-size:11.5px;padding:6px 11px;border-radius:100px;transition:all .15s;}
.goal-chip:hover{border-color:var(--accent);}
.goal-chip.active{background:var(--accent);border-color:var(--accent);color:#0a0a0a;font-weight:600;}
.mock-preview{display:flex;align-items:center;justify-content:center;padding:2rem;background:radial-gradient(circle at 50% 30%,rgba(215,255,61,.06),transparent 65%),#0d100d;min-height:220px;}
.mock-preview-content{text-align:center;}
.mock-logo{font-family:'Fraunces',serif;font-size:1.5rem;font-weight:700;margin-bottom:.5rem;color:var(--text);text-transform:capitalize;}
.mock-tag{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:1.2rem;color:var(--dim);}
.mock-btn{display:inline-block;font-size:11px;padding:9px 20px;border-radius:100px;font-weight:600;background:var(--accent);color:#0a0a0a;}
.mock-result{padding:1.6rem 1.6rem 1.8rem;border-top:1px solid var(--line);}
.cr-top{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--dim);margin-bottom:1rem;}
.cr-top svg{color:var(--accent);}
.cr-top strong{color:var(--text);}
.cr-feats{display:grid;grid-template-columns:1fr 1fr;gap:.6rem .8rem;margin-bottom:1.3rem;}
@media(max-width:600px){.cr-feats{grid-template-columns:1fr;}}
.cr-feat{display:flex;align-items:center;gap:8px;font-size:13px;color:#d5d0be;}
.cr-feat svg{color:var(--forest);flex-shrink:0;}
.cr-empty-hint{font-size:13px;color:var(--dim);margin-bottom:1.3rem;}

/* FEATURE BREAKDOWN */
.feat-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start;}
@media(max-width:900px){.feat-grid{grid-template-columns:1fr;gap:2.4rem;}}
.chip-static-row{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.6rem;}
.chip-static{font-size:12px;color:var(--dim);padding:7px 14px;border-radius:100px;border:1px solid var(--line);background:rgba(255,255,255,.03);}
.feat-panel{border-radius:20px;padding:1.6rem;}
.feat-panel-label{font-size:12px;color:var(--dim);margin-bottom:1rem;padding-left:.3rem;}
.feat-sub-grid{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;}
@media(max-width:520px){.feat-sub-grid{grid-template-columns:1fr;}}
.feat-sub{border-radius:14px;padding:1.1rem;}
.feat-sub-top{display:flex;align-items:center;gap:9px;margin-bottom:.6rem;}
.feat-sub-icon{width:26px;height:26px;border-radius:8px;border:1px solid;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.feat-sub-name{font-size:13.5px;font-weight:600;color:var(--text);}
.feat-sub-desc{font-size:12px;color:var(--dim);line-height:1.55;margin-bottom:.6rem;}
.feat-sub-items{font-size:11px;color:#7a7563;}

/* PROCESS */
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:3.2rem;list-style:none;padding:0;}
@media(max-width:760px){.process-grid{grid-template-columns:1fr 1fr;}}
.ps{padding:2rem 1.6rem;border-radius:18px;}
.ps-num{font-family:'Space Mono',monospace;font-size:2rem;font-weight:700;color:rgba(255,255,255,.14);margin-bottom:.9rem;}
.ps-icon{width:36px;height:36px;border-radius:10px;background:rgba(255,255,255,.05);color:var(--forest);display:flex;align-items:center;justify-content:center;margin-bottom:1rem;}
.ps-name{font-size:15px;font-weight:600;margin-bottom:.4rem;color:var(--text);}
.ps-desc{font-size:13px;color:var(--dim);line-height:1.65;}

/* TESTIMONIALS */
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:3rem;}
@media(max-width:860px){.testi-grid{grid-template-columns:1fr;}}
.testi-card{border-radius:18px;padding:1.8rem;margin:0;}
.testi-quote-icon{color:var(--accent);opacity:.6;margin-bottom:.8rem;}
.testi-card blockquote{margin:0 0 1.4rem;font-size:14.5px;color:#dcd8c8;line-height:1.65;}
.testi-card figcaption{padding-top:1rem;border-top:1px solid var(--line);}
.testi-name{font-size:13.5px;font-weight:600;color:var(--text);}
.testi-role{font-size:12px;color:var(--dim);margin-top:1px;}

/* ABOUT */
.about-inner{display:grid;grid-template-columns:1.1fr .9fr;gap:5rem;align-items:start;}
@media(max-width:860px){.about-inner{grid-template-columns:1fr;gap:2.6rem;}}
.about-inner p{font-size:15px;color:var(--dim);line-height:1.9;margin-bottom:1.1rem;}
.values-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:2rem;}
@media(max-width:500px){.values-grid{grid-template-columns:1fr;}}
.val-card{border-radius:14px;padding:1.3rem;}
.val-icon{width:30px;height:30px;border-radius:8px;background:rgba(255,255,255,.05);color:var(--forest);display:flex;align-items:center;justify-content:center;margin-bottom:.7rem;}
.val-name{font-size:13.5px;font-weight:600;margin-bottom:.3rem;color:var(--text);}
.val-desc{font-size:12px;color:var(--dim);line-height:1.6;}
.about-stats{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.4rem;}
.astat{border-radius:16px;padding:1.6rem 1.3rem;}
.astat-val{font-family:'Fraunces',serif;font-size:2.2rem;font-weight:700;color:var(--forest);letter-spacing:-1px;}
.astat-lbl{font-size:11.5px;color:var(--dim);margin-top:2px;}
.about-quote{border-radius:16px;padding:1.8rem;margin:0;}
.aq-text{font-family:'Fraunces',serif;font-size:1.1rem;font-style:italic;color:var(--text);line-height:1.5;margin-bottom:1rem;}
.aq-author{font-size:12px;color:var(--dim);letter-spacing:.5px;}

/* FINAL CTA + CONTACT */
.final-cta{border-radius:26px;overflow:hidden;position:relative;}
.final-glow{position:absolute;top:0;left:50%;transform:translateX(-50%);width:700px;height:400px;background:radial-gradient(circle,rgba(215,255,61,.14),transparent 70%);pointer-events:none;}
.final-inner{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:3rem;padding:3rem;}
@media(max-width:860px){.final-inner{grid-template-columns:1fr;padding:1.8rem;gap:2rem;}}
.contact-detail{display:flex;flex-direction:column;gap:.9rem;margin-top:.4rem;list-style:none;padding:0;}
.cd-item{display:flex;align-items:center;gap:11px;font-size:13.5px;color:#cfcab8;}
.cd-icon{width:30px;height:30px;border-radius:8px;background:rgba(255,255,255,.06);color:var(--forest);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.form-2{display:grid;grid-template-columns:1fr 1fr;gap:.9rem;margin-bottom:.9rem;}
@media(max-width:480px){.form-2{grid-template-columns:1fr;}}
.fg{margin-bottom:.9rem;}
.fg label{display:block;font-size:10px;letter-spacing:1.3px;text-transform:uppercase;color:var(--dim);margin-bottom:7px;font-weight:600;}
.fg input,.fg select,.fg textarea{width:100%;border:1px solid var(--line);padding:12px 14px;font-family:'Inter',sans-serif;font-size:13.5px;color:var(--text);outline:none;border-radius:10px;background:rgba(255,255,255,.04);transition:border-color .2s;}
.fg input::placeholder,.fg textarea::placeholder{color:#6b6656;}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--accent);background:rgba(255,255,255,.06);}
.fg select option{background:#0e1210;color:var(--text);}
.goal-pill{display:inline-flex;align-items:center;gap:6px;background:rgba(215,255,61,.1);color:var(--accent);font-size:11.5px;padding:5px 11px;border-radius:100px;margin:-.2rem 0 .9rem;font-weight:500;}
.form-note{font-size:11.5px;color:#6b6656;text-align:center;margin-top:.8rem;}

/* FOOTER */
footer{position:relative;z-index:1;padding:4rem 2.5rem 2.6rem;border-top:1px solid var(--line);}
@media(max-width:700px){footer{padding:3rem 1.4rem 2rem;}}
.footer-inner{max-width:1240px;margin:0 auto;}
.footer-top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:3rem;margin-bottom:2.6rem;padding-bottom:2.6rem;border-bottom:1px solid var(--line);}
@media(max-width:700px){.footer-top{grid-template-columns:1fr 1fr;gap:2rem;}}
.f-brand .f-logo{display:flex;align-items:center;gap:8px;font-family:'Fraunces',serif;font-size:1.25rem;font-weight:700;color:var(--text);margin-bottom:.8rem;}
.f-brand p{font-size:13px;color:var(--dim);line-height:1.7;}
.f-col-title{font-size:10.5px;letter-spacing:2px;text-transform:uppercase;color:#6b6656;margin-bottom:1rem;font-weight:600;}
.f-col-links{display:flex;flex-direction:column;gap:.6rem;}
.f-col-links a{font-size:13px;color:var(--dim);transition:color .2s;}
.f-col-links a:hover{color:var(--accent);}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;}
.f-copy{font-size:12px;color:#6b6656;}
.f-copy span{color:var(--accent);}
.f-badge{background:rgba(255,255,255,.05);color:var(--dim);font-size:11px;padding:6px 14px;border-radius:100px;letter-spacing:.3px;border:1px solid var(--line);}


/* ACCESSIBILITY / PERFORMANCE HELPERS */
.skip-link{position:absolute;top:-100px;left:1rem;background:var(--accent);color:#0a0a0a;padding:10px 18px;border-radius:8px;font-size:13px;font-weight:700;z-index:200;transition:top .2s;}
.skip-link:focus{top:1rem;}
.ns-root :focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px;}
img{max-width:100%;display:block;}
noscript div{position:fixed;inset:0;z-index:999;background:#08090a;color:#f3f1e7;display:flex;align-items:center;justify-content:center;padding:2rem;text-align:center;font-family:sans-serif;}

/* FORM LOADING / SUCCESS / ERROR STATES */
.btn-solid[disabled]{opacity:.7;cursor:not-allowed;}
.spinner{width:15px;height:15px;border:2px solid rgba(10,10,10,.25);border-top-color:#0a0a0a;border-radius:50%;display:inline-block;animation:spin .7s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}
.form-msg{display:none;align-items:center;gap:9px;font-size:13px;padding:11px 14px;border-radius:10px;margin-top:1rem;}
.form-msg.show{display:flex;}
.form-msg.success{background:rgba(79,206,136,.12);color:var(--forest);border:1px solid rgba(79,206,136,.3);}
.form-msg.error{background:rgba(255,95,87,.12);color:#ff8078;border:1px solid rgba(255,95,87,.3);}
.form-area.is-sent .fg,.form-area.is-sent .form-2,.form-area.is-sent .btn-solid.full,.form-area.is-sent .form-note,.form-area.is-sent .goal-pill{display:none;}

/* 404 PAGE */
.error-page{min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:2rem;position:relative;z-index:1;}
.error-code{font-family:'Fraunces',serif;font-size:clamp(5rem,18vw,9rem);font-weight:700;line-height:1;letter-spacing:-4px;background-image:linear-gradient(to right,#08090a 0%,#143323 15%,#d7ff3d 45%,#eaffb0 55%,#143323 75%,#08090a 100%);background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;filter:url(#novsite-noise);animation:shiny 6s linear infinite;margin-bottom:1rem;}
.error-inner p{color:var(--dim);font-size:16px;max-width:420px;margin:0 auto 2.2rem;line-height:1.7;}
