/* Veynto V3 Design System */
:root{
  --forest-950:#062d1f;
  --forest-900:#073a27;
  --forest-800:#0f5132;
  --green:#2e7d32;
  --lime:#86ed65;
  --yellow:#ffc107;
  --cream:#f7f3ea;
  --paper:#fcfbf8;
  --white:#fff;
  --ink:#10231a;
  --muted:#5d6c64;
  --line:#e5eae5;
  --pale:#f1f8ed;
  --max:1180px;
  --radius-sm:12px;
  --radius-md:18px;
  --radius-lg:24px;
  --shadow:0 12px 34px rgba(15,81,50,.055);
  --shadow-hover:0 20px 46px rgba(15,81,50,.10);
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:"DM Sans",system-ui,sans-serif;color:var(--ink);background:var(--paper);line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{text-decoration:none;color:inherit}
button,input,select{font:inherit}button{cursor:pointer}
.container{width:min(calc(100% - 48px),var(--max));margin-inline:auto}

h1,h2,h3,.brand-text strong{font-family:"Inter Tight",system-ui,sans-serif}
h1,h2,h3{font-weight:700}

/* Brand */
.site-header{position:absolute;z-index:20;inset:0 0 auto;height:88px;display:flex;align-items:center;gap:40px;padding:0 max(24px,calc((100vw - var(--max))/2));color:#fff}
.brand{display:inline-flex;align-items:center;gap:8px}.brand-mark{width:47px;height:47px;flex:none}.brand-text{display:flex;flex-direction:column;line-height:1}.brand-text strong{font-size:27px;letter-spacing:-1.7px;font-weight:800}.brand-text small{margin-top:5px;font-size:7px;letter-spacing:.15px;opacity:.82}
.main-nav{display:flex;gap:34px;margin:auto}.main-nav a{font-size:14px;font-weight:500;opacity:.88;transition:opacity .18s ease}.main-nav a:hover{opacity:.58}

/* Buttons */
.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:999px;padding:13px 24px;background:var(--lime);color:#102b1a;font-weight:700;font-size:14px;box-shadow:0 7px 20px rgba(91,217,72,.13);transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.button:hover{transform:translateY(-2px);box-shadow:0 12px 27px rgba(91,217,72,.20)}.button-small{padding:10px 21px;font-size:13px}.button-outline{color:#fff;background:transparent;border:1px solid rgba(255,255,255,.76);box-shadow:none}.button-outline:hover{background:rgba(255,255,255,.07);box-shadow:none}.dark-text{color:#102b1a}

/* Hero */
.hero{position:relative;overflow:hidden;background:var(--forest-900);color:#fff;min-height:650px}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 45%,rgba(83,174,95,.14),transparent 29%),linear-gradient(112deg,var(--forest-950) 0%,#073a27 58%,#0b452e 100%)}
.hero-inner{position:relative;z-index:1;width:min(calc(100% - 48px),var(--max));min-height:650px;margin:auto;display:grid;grid-template-columns:1.05fr .95fr;align-items:center}.hero-copy{padding:112px 0 58px;max-width:600px}.eyebrow{margin-bottom:12px;color:#9df37c;font-size:11px;font-weight:700;letter-spacing:2.35px;line-height:1.2}.eyebrow.green{color:var(--green)}
h1{font-size:clamp(52px,6.2vw,78px);line-height:.94;letter-spacing:-4.3px;margin-bottom:25px;font-weight:800}h1 span,h2 span{color:var(--lime)}.hero-description{max-width:530px;color:rgba(255,255,255,.77);font-size:16px;line-height:1.58}.hero-actions{display:flex;gap:14px;margin-top:29px;flex-wrap:wrap}.hero-points{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:51px}.hero-points div{display:flex;align-items:center;gap:9px;color:rgba(255,255,255,.84);font-size:11px;line-height:1.25}.line-icon{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;color:var(--lime);font-size:0}.line-icon:before{content:"";display:block;width:19px;height:19px;background:currentColor;mask-size:contain;mask-position:center;mask-repeat:no-repeat;-webkit-mask-size:contain;-webkit-mask-position:center;-webkit-mask-repeat:no-repeat}.line-icon.leaf:before{mask-image:url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2"%3E%3Cpath d="M20 4C10 5 5 10 5 20c5-1 10-4 13-9 2-4 2-7 2-7Z"/%3E%3Cpath d="M5 20c3-6 7-9 13-13"/%3E%3C/svg%3E')}.line-icon.dumbbell:before{mask-image:url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round"%3E%3Cpath d="M3 10v4M6 8v8M9 11h6M15 8v8M18 10v4"/%3E%3C/svg%3E')}.line-icon.heart:before{mask-image:url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2"%3E%3Cpath d="M20.8 8.6c0 5.5-8.8 10.4-8.8 10.4S3.2 14.1 3.2 8.6A4.6 4.6 0 0 1 12 6.1a4.6 4.6 0 0 1 8.8 2.5Z"/%3E%3C/svg%3E')}.line-icon.users:before{mask-image:url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2"%3E%3Ccircle cx="9" cy="8" r="3"/%3E%3Ccircle cx="17" cy="9" r="2.5"/%3E%3Cpath d="M3 20c.5-4 2.5-6 6-6s5.5 2 6 6M15 15c3 0 5 1.5 6 5"/%3E%3C/svg%3E')}
.hero-art{height:100%;min-height:560px;display:flex;align-items:center;justify-content:flex-end;overflow:visible}.hero-art img{width:min(620px,55vw);max-width:none;margin-right:-92px;object-fit:cover;mix-blend-mode:normal;filter:saturate(.96) contrast(1.02);transform:translateY(5px)}

/* Sections */
.section{padding:76px 0}.tools-section{background:#fff}.tools-layout{display:grid;grid-template-columns:1fr 1.45fr;gap:54px;align-items:center}.section-intro{max-width:420px}.section h2{font-size:43px;line-height:1.03;letter-spacing:-2.4px;margin-bottom:18px}.section-intro>p:not(.eyebrow),.purpose-copy>p:not(.eyebrow){color:#4f5f57;font-size:15px;line-height:1.58;margin-bottom:24px}

/* Tools */
.tool-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;position:relative}.tool-card{min-height:216px;padding:20px 17px 15px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow);display:flex;flex-direction:column;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.tool-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover);border-color:#d9e4da}.tool-card.active-tool{box-shadow:0 14px 38px rgba(15,81,50,.08)}
.tool-icon,.benefit-icon{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:#eaf8e7;color:#18823b;margin-bottom:14px}.tool-icon svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.tool-card h3{font-size:15px;letter-spacing:-.35px;margin-bottom:8px}.tool-card p{font-size:12px;color:#59675f;line-height:1.45}.card-button{margin-top:auto;border:0;border-radius:8px;background:#edf8f4;color:#17744a;padding:9px 10px;font-weight:600;font-size:12px;transition:background .18s ease,transform .18s ease}.card-button:hover{background:#e2f3eb;transform:translateY(-1px)}.coming-note{position:absolute;right:8px;bottom:-38px;font-family:"DM Sans",sans-serif;font-size:14px;font-style:italic;color:#263a30;transform:rotate(-4deg)}.coming-note:before{content:"↳";margin-right:6px;font-family:serif;font-size:22px}

/* Calculator */
.calculator-panel{background:var(--pale);padding:48px 24px}.calculator-card{position:relative;width:min(560px,100%);margin:auto;background:#fff;border:1px solid var(--line);border-radius:20px;padding:34px;box-shadow:0 20px 55px rgba(15,81,50,.12)}.close-calculator{position:absolute;top:13px;right:15px;border:0;background:transparent;font-size:28px;color:#7a8780}.calculator-card h2{font-size:35px;line-height:1.05;letter-spacing:-1.7px;margin-bottom:10px}.calculator-note{color:var(--muted);font-size:13px;margin-bottom:24px}.calculator-card form{display:grid;gap:8px}.calculator-card label{font-size:13px;font-weight:600;margin-top:8px}.calculator-card input,.calculator-card select{width:100%;padding:12px 13px;border:1px solid #d9e1db;border-radius:9px;background:#fff;color:var(--ink);outline:none}.calculator-card input:focus,.calculator-card select:focus{border-color:#54a96b;box-shadow:0 0 0 3px rgba(84,169,107,.12)}.calculator-result{margin-top:18px;padding:15px;border-radius:10px;background:#f1f8ed;color:#245b3a;font-size:14px;display:none}.calculator-result:empty{display:none}

/* Purpose */
.purpose-section{background:#fff}.purpose-layout{display:grid;grid-template-columns:1fr 1fr;gap:58px;align-items:center}.purpose-image{overflow:hidden;border-radius:15px;box-shadow:0 12px 34px rgba(0,0,0,.06)}.purpose-image img{width:100%;display:block;aspect-ratio:1.72;object-fit:cover}.purpose-copy{max-width:530px}.purpose-copy h2{font-size:39px;line-height:1.03;letter-spacing:-2.2px;margin-bottom:18px}.purpose-copy span{color:var(--green)}

/* Principles */
.why-section{background:var(--pale);padding-bottom:42px}.why-inner>h2{font-size:43px;line-height:1.03;letter-spacing:-2.4px;margin-bottom:45px}.benefit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:36px}.benefit{text-align:center}.benefit-icon{margin:0 auto 13px}.benefit-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.benefit h3{font-size:14px;margin-bottom:6px}.benefit p{font-size:12px;color:#53625a;line-height:1.45;max-width:190px;margin:auto}

/* Early access */
.early-access{margin-top:48px;padding:21px 24px;background:var(--forest-950);color:#fff;border-radius:15px;display:grid;grid-template-columns:1.3fr 1fr;gap:22px;align-items:center;position:relative;box-shadow:0 16px 40px rgba(6,45,31,.10)}.early-brand{display:flex;align-items:center;gap:13px}.early-brand .brand-mark{width:56px;height:56px}.early-brand h3{font-size:17px;margin-bottom:2px}.early-brand p{font-size:12px;color:rgba(255,255,255,.75)}.signup-form{display:flex;gap:10px}.signup-form input{min-width:0;flex:1;border:0;border-radius:8px;padding:12px 14px;color:var(--ink);outline:none}.signup-form .button{white-space:nowrap}.signup-message{grid-column:2;font-size:11px;color:#9df37c;display:none}

/* Footer */
.site-footer{background:#fff;padding:28px 0 22px;border-top:1px solid var(--line)}.footer-inner{display:grid;grid-template-columns:1.35fr .8fr .8fr .8fr;gap:30px;align-items:center}.brand-dark{color:var(--ink)}.footer-brand .brand-mark{width:43px;height:43px}.footer-brand .brand-text strong{font-size:25px}.footer-brand p{font-size:11px;color:#7b8781;margin-top:13px}.footer-links{display:flex;gap:25px;font-size:12px}.footer-links a:hover{color:var(--green)}.footer-social{display:flex;gap:15px;align-items:center}.footer-social a{width:22px;height:22px;display:grid;place-items:center;color:#0e1e17;transition:color .18s ease,transform .18s ease}.footer-social a:hover{color:var(--green);transform:translateY(-1px)}.footer-social svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.footer-meta{text-align:right}.footer-note{font-family:"DM Sans",sans-serif;font-size:14px;font-style:italic;line-height:1.1;transform:rotate(-4deg);margin-bottom:12px}.site-url{font-size:11px;color:#859089;font-weight:600}.site-url:hover{color:var(--green)}

/* Soft entrance motion */
@media (prefers-reduced-motion:no-preference){
  .hero-copy{animation:heroIn .65s ease both}.hero-art{animation:artIn .8s .08s ease both}.tool-card,.benefit,.purpose-copy{animation:fadeUp .55s ease both}
}
@keyframes heroIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes artIn{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:none}}
@keyframes fadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

@media(max-width:950px){
  .site-header{padding:0 24px}.main-nav{gap:20px}.hero-inner{grid-template-columns:1fr}.hero-copy{padding-top:125px;padding-bottom:40px}.hero-art{position:absolute;right:-170px;bottom:-35px;min-height:420px;opacity:.34}.hero-art img{width:590px;margin:0}.hero-points{max-width:620px}.tools-layout,.purpose-layout{grid-template-columns:1fr}.section-intro,.purpose-copy{max-width:620px}.benefit-grid{grid-template-columns:repeat(2,1fr)}.footer-inner{grid-template-columns:1.5fr 1fr 1fr}.footer-meta{display:none}
}
@media(max-width:680px){
  .site-header{height:76px;padding:0 18px}.main-nav{display:none}.site-header .button-small{margin-left:auto}.brand-mark{width:41px;height:41px}.brand-text strong{font-size:24px}.hero{min-height:760px}.hero-inner{min-height:760px;width:min(calc(100% - 36px),var(--max))}.hero-copy{padding-top:110px}.hero h1{font-size:49px;letter-spacing:-3.2px}.hero-description{font-size:15px}.hero-actions{flex-direction:row;align-items:center}.hero-points{grid-template-columns:repeat(2,1fr);gap:20px;margin-top:40px}.hero-art{right:-195px;bottom:-10px;opacity:.28}.hero-art img{width:560px}.container{width:min(calc(100% - 36px),var(--max))}.section{padding:58px 0}.section h2,.why-inner>h2{font-size:34px}.tool-grid{grid-template-columns:1fr}.tool-card{min-height:205px}.coming-note{position:static;display:block;margin:4px auto 0}.calculator-card{padding:28px 20px}.purpose-copy h2{font-size:33px}.benefit-grid{grid-template-columns:1fr 1fr;gap:30px 15px}.early-access{grid-template-columns:1fr;padding:22px}.signup-form{flex-direction:column}.signup-message{grid-column:1}.footer-inner{grid-template-columns:1fr 1fr}.footer-links{flex-direction:column;gap:9px}.footer-social{justify-content:flex-end}.footer-brand{grid-column:1/-1}
}
@media(max-width:430px){
  .site-header .button-small{padding:9px 13px;font-size:11px}.hero h1{font-size:44px}.hero-actions{flex-direction:column;align-items:flex-start}.hero-actions .button{width:auto}.benefit-grid{grid-template-columns:1fr}.footer-inner{grid-template-columns:1fr}.footer-social{justify-content:flex-start}.footer-meta{display:none}
}

/* V4 interaction layer */
:root{--display:"Bricolage Grotesque",sans-serif;--body:"DM Sans",sans-serif}
body{font-family:var(--body)}
h1,h2,h3,.brand-text strong,.calculator-card h2{font-family:var(--display);font-variation-settings:"opsz" 60}
.hero h1{font-weight:700;letter-spacing:-4.2px}
.section h2,.purpose-copy h2,.why-inner>h2{font-weight:650;letter-spacing:-2.2px}


.hero-art img{will-change:transform;transition:transform .65s cubic-bezier(.2,.8,.2,1)}
.tool-card,.benefit,.purpose-copy,.purpose-image{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.75,.2,1)}
.tool-card.is-visible,.benefit.is-visible,.purpose-copy.is-visible,.purpose-image.is-visible{opacity:1;transform:none}
.tool-card:nth-child(2){transition-delay:.06s}.tool-card:nth-child(3){transition-delay:.12s}.benefit:nth-child(2){transition-delay:.06s}.benefit:nth-child(3){transition-delay:.12s}.benefit:nth-child(4){transition-delay:.18s}

.mobile-nav{display:none}
@media(max-width:680px){
  body{padding-bottom:68px}
  .mobile-nav{position:fixed;z-index:25;left:10px;right:10px;bottom:10px;height:58px;display:grid;grid-template-columns:repeat(4,1fr);align-items:center;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:rgba(6,54,34,.95);box-shadow:0 15px 45px rgba(0,0,0,.22);backdrop-filter:blur(14px)}
  .mobile-nav a{display:grid;justify-items:center;gap:1px;color:rgba(255,255,255,.72);font-size:18px}.mobile-nav small{font-size:9px;font-weight:700;letter-spacing:.2px}.mobile-nav a:hover,.mobile-nav a:focus{color:var(--lime)}
}
@media(prefers-reduced-motion:reduce){.tool-card,.benefit,.purpose-copy,.purpose-image{opacity:1;transform:none;transition:none}.hero-art img{transition:none}}
