@font-face { font-family: Inter; src: url('/fonts/inter-400.woff2') format('woff2'); font-weight: 400; font-display: swap; }
@font-face { font-family: Inter; src: url('/fonts/inter-600.woff2') format('woff2'); font-weight: 600; font-display: swap; }
@font-face { font-family: Fraunces; src: url('/fonts/fraunces-600.woff2') format('woff2'); font-weight: 600; font-display: swap; }
:root { --forest:#2e4f3a; --sage:#6c8f6a; --soft:#a7c49a; --cream:#f6f2e8; --sand:#eaddc6; --surface:#fffcf6; --text:#203329; --muted:#66736b; }
* { box-sizing: border-box; } html { scroll-behavior: smooth; } body { margin:0; background:var(--cream); color:var(--text); font-family:Inter,system-ui,sans-serif; }
a { color:inherit; text-decoration:none; } .site-header { position:absolute; z-index:5; top:0; left:50%; display:flex; width:min(1180px,calc(100% - 48px)); height:92px; align-items:center; justify-content:space-between; transform:translateX(-50%); }
.brand { display:flex; align-items:center; gap:9px; font:600 25px Fraunces,serif; }.brand img { width:42px; height:42px; object-fit:contain; }.site-header nav, footer nav { display:flex; align-items:center; gap:28px; font-size:14px; }.nav-cta { display:inline-flex; min-height:44px; align-items:center; justify-content:center; padding:0 19px; border:1px solid rgba(46,79,58,.24); border-radius:999px; }
.hero { position:relative; display:grid; min-height:850px; grid-template-columns:minmax(0,1.04fr) minmax(360px,.96fr); align-items:center; gap:60px; overflow:hidden; padding:150px max(48px,calc((100vw - 1180px)/2)) 86px; background:radial-gradient(circle at 18% 22%,rgba(255,255,255,.82),transparent 29%),var(--cream); }
.hero::after { content:""; position:absolute; right:-8%; bottom:-30%; width:54vw; height:54vw; border-radius:50%; background:rgba(167,196,154,.2); }.eyebrow { margin:0 0 18px; color:var(--sage); font-size:12px; font-weight:600; letter-spacing:.13em; text-transform:uppercase; }
h1,h2 { margin:0; font-family:Fraunces,Georgia,serif; font-weight:600; letter-spacing:-.035em; }h1 { font-size:clamp(56px,6.2vw,88px); line-height:.98; }h1 em { color:var(--sage); font-style:normal; }.hero-text { max-width:610px; margin:30px 0 0; color:var(--muted); font-size:18px; line-height:1.7; }.hero-actions { display:flex; gap:12px; margin-top:34px; }.primary,.secondary { display:inline-flex; min-height:52px; align-items:center; justify-content:center; padding:0 25px; border-radius:14px; font-weight:600; }.primary { background:var(--forest); color:white; box-shadow:0 10px 25px rgba(46,79,58,.2); }.secondary { border:1px solid rgba(46,79,58,.18); background:rgba(255,252,246,.58); }.trial-note { margin:14px 0 0; color:var(--muted); font-size:12px; }
.hero-visual { position:relative; z-index:1; display:grid; place-items:center; min-height:590px; }.hero-visual img { position:relative; z-index:2; width:min(390px,78%); height:auto; filter:drop-shadow(0 30px 40px rgba(32,51,41,.2)); }.halo { position:absolute; width:min(500px,92%); aspect-ratio:1; border-radius:50%; background:rgba(255,252,246,.92); box-shadow:0 0 0 54px rgba(234,221,198,.32); }
.trust-strip { display:grid; width:min(1180px,calc(100% - 48px)); grid-template-columns:repeat(3,1fr); margin:-38px auto 0; border:1px solid rgba(46,79,58,.1); border-radius:24px; background:rgba(255,252,246,.92); box-shadow:0 18px 55px rgba(46,79,58,.08); }.trust-strip article { padding:34px; border-right:1px solid rgba(46,79,58,.1); }.trust-strip article:last-child { border:0; }.trust-strip strong { color:var(--soft); font:600 25px Fraunces,serif; }.trust-strip h2 { margin:15px 0 8px; font:600 21px Inter,sans-serif; letter-spacing:-.02em; }.trust-strip p,.feature-section p,.privacy-section p { margin:0; color:var(--muted); line-height:1.65; }
.feature-section { display:grid; width:min(1180px,calc(100% - 48px)); grid-template-columns:.8fr 1.2fr; gap:80px; margin:150px auto; }.section-copy h2,.privacy-section h2,.closing h2 { font-size:clamp(40px,4vw,62px); line-height:1.04; }.section-copy > p:last-child { margin-top:25px; font-size:17px; }.feature-grid { display:grid; grid-template-columns:1fr 1fr; gap:15px; }.feature-grid article { min-height:230px; padding:28px; border:1px solid rgba(46,79,58,.1); border-radius:22px; background:var(--surface); box-shadow:0 12px 35px rgba(46,79,58,.05); }.feature-grid span { color:var(--sage); font-size:11px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }.feature-grid h3 { margin:48px 0 9px; font-size:21px; }.feature-grid p { font-size:14px; }
.privacy-section { display:grid; min-height:600px; grid-template-columns:.75fr 1.25fr; align-items:center; gap:80px; padding:90px max(48px,calc((100vw - 1100px)/2)); background:var(--forest); color:white; }.privacy-section > img { width:min(340px,78%); margin:auto; filter:drop-shadow(0 22px 50px rgba(0,0,0,.18)); }.privacy-section .eyebrow { color:var(--soft); }.privacy-section p:not(.eyebrow) { max-width:680px; margin-top:25px; color:#d9e3da; font-size:18px; }.text-link { display:inline-flex; min-height:48px; align-items:center; gap:10px; margin-top:22px; color:var(--sand); font-weight:600; }
.closing { padding:150px 24px; text-align:center; }.closing h2 { margin-bottom:34px; }.closing .primary { min-width:160px; }footer { display:flex; width:min(1180px,calc(100% - 48px)); min-height:130px; align-items:center; gap:35px; margin:auto; border-top:1px solid rgba(46,79,58,.13); }footer p { flex:1; color:var(--muted); font-size:13px; }
@media (max-width:840px) { .site-header { height:76px; }.site-header nav a:not(.nav-cta) { display:none; }.hero { min-height:auto; grid-template-columns:1fr; padding:125px 24px 65px; text-align:center; }.hero-copy { position:relative; z-index:2; }.hero-text { margin-left:auto; margin-right:auto; }.hero-actions { justify-content:center; }.hero-visual { min-height:500px; }.trust-strip { grid-template-columns:1fr; margin-top:24px; }.trust-strip article { border-right:0; border-bottom:1px solid rgba(46,79,58,.1); }.feature-section { grid-template-columns:1fr; gap:45px; margin:100px auto; }.privacy-section { grid-template-columns:1fr; gap:38px; text-align:center; }.privacy-section p:not(.eyebrow) { margin-left:auto; margin-right:auto; } }
@media (max-width:560px) { .site-header { width:calc(100% - 32px); }.brand { font-size:22px; }.brand img { width:36px; height:36px; }.nav-cta { padding:0 14px; font-size:12px; }.hero { padding-left:18px; padding-right:18px; }.hero h1 { font-size:48px; }.hero-text { font-size:16px; }.hero-actions { flex-direction:column; }.hero-visual { min-height:440px; }.hero-visual img { width:300px; max-width:88%; }.trust-strip,.feature-section { width:calc(100% - 28px); }.trust-strip article { padding:26px; }.feature-grid { grid-template-columns:1fr; }.privacy-section { padding:72px 22px; }.closing { padding:100px 20px; }footer { width:calc(100% - 32px); flex-wrap:wrap; padding:30px 0; }footer p { order:3; flex-basis:100%; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
