:root{--brown:#3e2723;--red:#b21411;--red-dark:#8f100e;--cream:#f9f5f0;--tan:#e8dcd2;--taupe:#8a7a70;--ink:#4a3a32;--muted:#6b5a50;--surface:#ffffff;--surface-2:#fffdfb;--line:#ead9cd;--maxw:1150px;--nav-h:70px;--fs-caption:0.875rem;--fs-body:1rem;--fs-body-lg:1.125rem;--fs-h3:1.3125rem;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:48px;--sp-8:64px;--r-sm:10px;--r-md:16px;--r-pill:999px;--shadow-sm:0 1px 3px rgba(62,39,35,0.06),0 1px 2px rgba(62,39,35,0.04);--shadow-md:0 6px 22px rgba(62,39,35,0.09);--shadow-lg:0 18px 50px rgba(62,39,35,0.16);--focus:0 0 0 3px rgba(178,20,17,0.35)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 16px);-webkit-text-size-adjust:100%}body{font-family:Helvetica Neue,Arial,sans-serif;background:var(--cream);color:var(--ink);font-size:var(--fs-body);line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.serif,h1,h2,h3,h4{font-family:Georgia,Times New Roman,serif;color:var(--brown)}a{color:inherit}img,video{max-width:100%}:focus-visible{outline:2px solid var(--red);outline-offset:2px;border-radius:4px}.skip-link{position:absolute;left:12px;top:-60px;z-index:1000;background:var(--brown);color:var(--cream);padding:10px 16px;border-radius:var(--r-sm);font-size:var(--fs-caption);font-weight:600;text-decoration:none;transition:top .15s ease}.skip-link:focus{top:12px}.section{padding:64px 5vw;max-width:var(--maxw);margin:0 auto}.kicker{letter-spacing:2.5px;font-size:.75rem;font-weight:700;color:var(--red);text-transform:uppercase}.kicker,h2.sec{margin-bottom:14px}h2.sec{font-size:clamp(27px,3.4vw,38px);line-height:1.2;letter-spacing:-.01em}.lead{font-size:var(--fs-body-lg);color:var(--ink);max-width:720px;line-height:1.65}.dark{background:var(--brown)}.dark,.dark h1,.dark h2,.dark h3,.dark h4{color:var(--cream)}.dark .lead,.dark p{color:var(--tan)}.dark .serif{color:var(--cream)}.btn,.btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:12px 26px;border-radius:var(--r-pill);font-weight:600;font-size:.9375rem;line-height:1.1;text-decoration:none;cursor:pointer;border:1.5px solid transparent;transition:background .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease,border-color .18s ease;touch-action:manipulation}.btn{background:var(--red);color:#fff;box-shadow:0 4px 14px rgba(178,20,17,.25)}.btn:hover{background:var(--red-dark);transform:translateY(-1px);box-shadow:0 8px 20px rgba(178,20,17,.3)}.btn:active{transform:translateY(0);box-shadow:0 3px 10px rgba(178,20,17,.25)}.btn-ghost{background:transparent;color:var(--brown);border-color:var(--brown)}.btn-ghost:hover{background:var(--brown);color:var(--cream);transform:translateY(-1px)}.dark .btn-ghost{color:var(--cream);border-color:var(--cream)}.dark .btn-ghost:hover{background:var(--cream);color:var(--brown)}.btn-ghost:focus-visible,.btn:focus-visible{outline:2px solid var(--brown);outline-offset:3px}.dark .btn-ghost:focus-visible{outline-color:var(--cream)}nav.site-nav{position:-webkit-sticky;position:sticky;top:0;min-height:var(--nav-h);background:rgba(249,245,240,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line);z-index:50;display:flex;align-items:center;justify-content:space-between;padding:12px 5vw}.site-nav .brand{display:inline-flex;align-items:center;text-decoration:none;border-radius:6px}.site-nav .links{display:flex;gap:4px;align-items:center;flex-wrap:wrap}.site-nav .links a{color:var(--brown);text-decoration:none;font-size:.9375rem;font-weight:500;padding:8px 12px;border-radius:var(--r-sm);transition:color .15s ease,background .15s ease}.site-nav .links a:hover{color:var(--red);background:rgba(178,20,17,.06)}.site-nav .links a.active{color:var(--red);font-weight:600}.site-nav .links a.btn{color:#fff;margin-left:6px}.site-nav .links a.btn:hover{color:#fff;background:var(--red-dark)}.nav-toggle{display:none;width:44px;height:44px;background:none;border:none;font-size:22px;cursor:pointer;color:var(--brown);border-radius:var(--r-sm)}.nav-toggle,.ph{align-items:center;justify-content:center}.ph{border:2px dashed #c9b8ab;border-radius:var(--r-md);background:repeating-linear-gradient(45deg,#f3ece4,#f3ece4 12px,#efe6dc 0,#efe6dc 24px);display:flex;text-align:center;color:var(--muted);font-size:var(--fs-caption);padding:14px;font-style:italic}.hero{display:grid;grid-template-columns:.82fr 1.18fr;grid-gap:48px;gap:48px;align-items:center;padding:72px 5vw 56px;max-width:var(--maxw);margin:0 auto}.hero h1{font-size:clamp(34px,4.8vw,56px);line-height:1.1;letter-spacing:-.015em}.hero p.sub{font-size:var(--fs-body-lg);margin:20px 0 30px;color:var(--ink);line-height:1.6;max-width:56ch}.hero .cta-row{display:flex;gap:14px;flex-wrap:wrap}.hero-media{aspect-ratio:16/10;position:relative}.hero-video{width:100%;height:100%;object-fit:cover;display:block;box-shadow:var(--shadow-lg)}.hero-video,.photo{border-radius:var(--r-md)}.photo{position:relative;overflow:hidden;background:#efe6dc}.photo img{width:100%;height:100%;object-fit:cover;display:block}.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));grid-gap:18px;gap:18px;margin-top:32px}.exp{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .18s ease,box-shadow .18s ease}.exp:hover{transform:translateY(-5px);box-shadow:var(--shadow-md)}.exp .ph{border:none;border-radius:0;aspect-ratio:4/3}.exp .txt{padding:16px 18px}.exp h3{font-size:1.0625rem}.exp p{font-size:.9375rem;color:var(--muted);margin-top:4px}.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:22px;gap:22px;margin-top:32px}.step{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .18s ease,box-shadow .18s ease}.step:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.dark .step{border-color:rgba(232,220,210,.14)}.step .ph{border:none;border-radius:0;aspect-ratio:16/10}.step .txt{padding:20px 22px}.step .n{font-family:Georgia,serif;color:var(--red);font-weight:700;font-size:.8125rem;letter-spacing:2px}.step h3{font-size:1.125rem;margin:4px 0 6px}.step p{font-size:.9375rem;color:var(--muted);line-height:1.55}.timeline{margin-top:32px;border-left:2px solid var(--line);padding-left:26px;display:grid;grid-gap:22px;gap:22px}.timeline .t{position:relative;font-size:var(--fs-body);color:var(--ink);line-height:1.55}.timeline .t:before{content:"";position:absolute;left:-33px;top:6px;width:12px;height:12px;border-radius:50%;background:var(--red);box-shadow:0 0 0 4px var(--cream)}.timeline .time{font-family:Georgia,serif;color:var(--red);font-weight:700}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:22px;gap:22px;margin-top:34px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:30px;box-shadow:var(--shadow-sm);position:relative;transition:transform .18s ease,box-shadow .18s ease;display:flex;flex-direction:column}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.card.hero-card{background:var(--brown);border-color:var(--brown);color:var(--cream);box-shadow:var(--shadow-md)}.card.hero-card p{color:var(--tan)}.card .emoji{font-size:30px;line-height:1}.card h3{font-size:var(--fs-h3);margin:12px 0 8px}.card.hero-card h3{color:var(--cream)}.card p{font-size:var(--fs-body);color:var(--muted);line-height:1.55}.card .price{color:var(--red);font-weight:700;font-size:1.0625rem;margin-top:16px;display:block;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.card.hero-card .price{color:#f3b6b0}.card .card-link{margin-top:auto;padding-top:18px}.badge{position:absolute;top:0;right:24px;background:var(--red);color:#fff;font-size:.625rem;letter-spacing:1.5px;font-weight:700;padding:6px 12px;border-radius:0 0 8px 8px;text-transform:uppercase}.strip{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:36px;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:30px;gap:30px;box-shadow:var(--shadow-sm);margin-top:30px}.strip h3{font-size:1.0625rem;margin-bottom:8px;line-height:1.3}.strip p{font-size:var(--fs-body);color:var(--muted);line-height:1.55}.logobar{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;align-items:center}.logobar span{font-family:Georgia,serif;font-size:.9375rem;color:var(--cream);padding:9px 18px;border:1px solid rgba(232,220,210,.28);border-radius:var(--r-pill);white-space:nowrap}.tubes{display:flex;gap:34px;justify-content:center;margin:28px 0;align-items:flex-end;flex-wrap:wrap}.tubewrap{cursor:pointer;text-align:center;border:none;background:none;padding:8px;border-radius:var(--r-sm);font:inherit;color:inherit;transition:transform .15s ease}.tubewrap:hover{transform:translateY(-3px)}.tube{width:64px;height:190px;border:2px solid var(--taupe);border-radius:30px;background:#fff;position:relative;overflow:hidden;margin:0 auto}.fill{position:absolute;bottom:0;width:100%;transition:height .4s cubic-bezier(.34,1.3,.64,1)}.tlabel{font-size:.875rem;margin-top:10px;color:var(--brown);font-weight:500}.tcount{font-size:.8125rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.note,.tcount{color:var(--muted)}.note{font-size:var(--fs-caption);font-style:italic;margin-top:14px;line-height:1.5}.dark .note{color:var(--tan)}.centerc{text-align:center}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.faq{margin-top:26px;max-width:820px}.faq details{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:4px 22px;margin-bottom:12px;box-shadow:var(--shadow-sm);transition:box-shadow .18s ease}.faq details[open]{box-shadow:var(--shadow-md)}.faq summary{font-weight:600;font-size:1rem;list-style:none;cursor:pointer;padding:16px 0;display:flex;justify-content:space-between;align-items:center;gap:16px;color:var(--brown)}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";color:var(--red);font-size:22px;line-height:1;flex-shrink:0;transition:transform .2s ease}.faq details[open] summary:after{content:"–"}.faq p{font-size:var(--fs-body);color:var(--muted);margin:0 0 16px;line-height:1.6}.math{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:22px;gap:22px;margin-top:30px}.math .m{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:32px;box-shadow:var(--shadow-sm)}.math .m.dark2{background:var(--brown);border-color:var(--brown);color:var(--cream)}.math .m.dark2 p{color:var(--tan)}.big{font-family:Georgia,serif;font-size:clamp(28px,3.2vw,36px);font-weight:700;color:var(--red);line-height:1.15}.dark2 .big{color:#f3b6b0}.gate{max-width:480px;margin:40px auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:38px;box-shadow:var(--shadow-md);text-align:left}.gate h3{text-align:center}.gate .field{margin:16px 0}.gate label{display:block;font-size:var(--fs-caption);font-weight:600;color:var(--ink);margin-bottom:6px}.gate label .req{color:var(--red);margin-left:2px}.gate input,.gate select{width:100%;padding:13px 14px;border:1.5px solid var(--line);border-radius:var(--r-sm);font-size:var(--fs-body);background:var(--cream);font-family:inherit;color:var(--brown);transition:border-color .15s ease,box-shadow .15s ease}.gate input:focus,.gate select:focus{outline:none;border-color:var(--red);box-shadow:var(--focus)}.gate .micro{font-size:.8125rem;color:var(--muted);margin-top:14px;text-align:center;line-height:1.5}.gate .err{color:var(--red);font-size:var(--fs-caption);margin-top:10px;font-weight:500}.pricetable{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:20px;gap:20px;margin-top:30px}.pt{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:28px;box-shadow:var(--shadow-sm)}.pt h4{font-family:Georgia,serif;font-size:1.125rem;margin-bottom:14px}.pt ul{list-style:none}.pt li{font-size:.9375rem;margin:8px 0;color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pt li strong{color:var(--red)}footer.site-footer{background:var(--brown);color:var(--tan);padding:56px 5vw;margin-top:48px}.site-footer .inner{max-width:var(--maxw);margin:0 auto;display:flex;flex-wrap:wrap;gap:28px;justify-content:space-between;align-items:flex-start}.site-footer p{color:var(--tan);line-height:1.6}.site-footer .brand{font-family:Georgia,serif;font-size:22px;color:var(--cream);display:inline-flex}.site-footer a{color:var(--tan);text-decoration:none;border-radius:4px;transition:color .15s ease}.site-footer a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}.site-footer .links{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:.9375rem}.site-footer .legal{width:100%;border-top:1px solid rgba(232,220,210,.2);margin-top:28px;padding-top:20px;font-size:.8125rem;color:var(--tan);line-height:1.7}.tagline{font-family:Georgia,serif;font-style:italic;font-size:clamp(20px,2.6vw,28px);color:var(--red);text-align:center}.divider{height:1px;background:var(--line);border:none;max-width:var(--maxw);margin:10px auto}.spaced>*+*{margin-top:14px}.checklist{list-style:none;margin-top:18px;display:grid;grid-gap:14px;gap:14px;max-width:760px}.checklist li{position:relative;padding-left:32px;font-size:var(--fs-body);color:var(--ink);line-height:1.55}.dark .checklist li{color:var(--tan)}.checklist li:before{content:"✓";position:absolute;left:0;top:1px;width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;background:rgba(178,20,17,.1);color:var(--red);border-radius:50%;font-size:12px;font-weight:700}.dark .checklist li:before{background:rgba(243,182,176,.16);color:#f3b6b0}@media (max-width:860px){.section{padding:48px 5vw}.hero{grid-template-columns:1fr;padding:40px 5vw 32px;gap:32px}.site-nav .links{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;background:var(--cream);border-bottom:1px solid var(--line);box-shadow:var(--shadow-md);padding:14px 5vw 22px;gap:4px}.site-nav .links.open{display:flex}.site-nav .links a{padding:12px 14px;font-size:1rem}.site-nav .links a.btn{margin:8px 0 0;justify-content:center}.nav-toggle{display:inline-flex}.card,.math .m,.strip{padding:26px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}