/* Caddium public site: house style (SITE-basis-en-home).
 *
 * One stylesheet for the public pages. Two parts, on purpose:
 *
 *  1. The chrome (offer bar, header, footer, install hint). It is unlayered and
 *     uses names of its own (`site-*`), so it looks the same on every public
 *     page, also on the pages that still load an older stylesheet next to this
 *     one.
 *  2. The page styles, inside `@layer site`. An unlayered rule always beats a
 *     layered one, so on a page that still carries an older stylesheet the old
 *     rules keep winning and nothing there changes; on a page that loads only
 *     this file the layer is simply the whole page.
 *
 * Tokens are `--c-*` because the older stylesheets already own `--green`,
 * `--gold` and friends with other values.
 */
@font-face{font-family:"Sora";src:url(/static/fonts/sora-variable.woff2?v=20261104.2) format("woff2");font-weight:100 800;font-display:swap}
@font-face{font-family:"Inter";src:url(/static/fonts/inter-variable.woff2?v=20261104.2) format("woff2");font-weight:100 900;font-display:swap}
:root{--c-green:#073f2f;--c-green-2:#14503C;--c-ground:#F7F7F5;--c-paper:#fffefa;--c-ink:#1E1E1E;--c-muted:#55655B;--c-gold:#d99a08;--c-gold-text:#80672E;--c-tint:#E4EBE3;--c-line:#DDE3DC;--c-head:"Sora","Trebuchet MS",sans-serif;--c-body:"Inter","Segoe UI",sans-serif}

.hidden{display:none!important}
.skip-link{position:absolute;left:12px;top:-80px;z-index:100;display:inline-flex;align-items:center;min-height:44px;background:var(--c-green);color:#fff;font:600 .9rem var(--c-body);padding:0 18px;border-radius:999px;text-decoration:none}
.skip-link:focus{top:12px}

/* Offer bar: filled and shown by renderFreeOffer() in shared.js. */
.site-offer{display:flex;align-items:center;justify-content:center;min-height:44px;background:var(--c-gold);color:var(--c-green);font:600 .88rem/1.35 var(--c-body);text-align:center;padding:6px 16px;text-decoration:none}
.site-offer:hover{text-decoration:underline;text-underline-offset:3px}

/* Header */
.site-head{position:sticky;top:0;z-index:50;border-bottom:1px solid var(--c-line);font-family:var(--c-body);color:var(--c-ink);line-height:1.55}
.site-head *{box-sizing:border-box}
.site-head::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(255,254,250,.92);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.site-wrap{max-width:1180px;margin:0 auto;padding-inline:24px}
.site-head__bar{display:flex;align-items:center;justify-content:space-between;gap:16px;height:76px}
.site-brand{display:flex;align-items:center;gap:10px;flex:none;min-height:44px}
.site-brand__icon{display:block;width:46px;height:46px;border-radius:12px}
.site-brand__word{display:block;height:26px;width:auto}
.site-menu__list{display:flex;gap:26px;margin:0;padding:0;list-style:none;font-weight:500;font-size:.95rem}
.site-head .site-menu__link{color:var(--c-ink);text-decoration:none}
.site-head .site-menu__link:hover,.site-head .site-menu__link.active{color:var(--c-green)}
.site-head .site-menu__link.active{font-weight:600}
.site-menu__mobile{display:none}
.site-head__actions{display:flex;align-items:center;gap:18px}
.site-auth{display:inline-flex;align-items:center}
.site-head .site-login{font-weight:600;color:var(--c-green);font-size:.95rem;text-decoration:none}
.site-head .site-login:hover{text-decoration:underline;text-underline-offset:3px}
.site-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font:600 .92rem var(--c-body);padding:10px 22px;border:1.5px solid transparent;cursor:pointer;white-space:nowrap;text-decoration:none}
.site-head .site-btn--primary{background:var(--c-green);color:#fff}
.site-head .site-btn--primary:hover{background:var(--c-green-2)}
.site-burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:0 12px;border:1.5px solid var(--c-line);border-radius:999px;background:transparent;cursor:pointer}
.site-burger span{display:block;height:2px;border-radius:2px;background:var(--c-green)}
.site-backdrop{display:none}

/* Language picker: the markup comes from i18n.js (mountPickers). */
.site-lang{position:relative;flex:none}
.site-lang .lang-picker-btn{display:inline-flex;align-items:center;gap:6px;font:600 .85rem var(--c-body);color:var(--c-green);background:transparent;border:1.5px solid var(--c-line);border-radius:999px;padding:6px 12px;cursor:pointer}
.site-lang .lang-picker-btn:hover{border-color:#C3CEC2}
.site-lang .lang-globe{display:none}
.site-lang .lang-caret{width:11px;height:11px;flex:none}
.site-lang .lang-picker-btn[aria-expanded="true"] .lang-caret{transform:rotate(180deg)}
.site-lang .lang-picker-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:70;display:grid;min-width:160px;margin:0;padding:6px;list-style:none;background:#fff;border:1px solid var(--c-line);border-radius:14px;box-shadow:0 18px 40px rgba(15,61,46,.14)}
.site-lang .lang-picker-menu[hidden]{display:none}
.site-lang .lang-picker-menu li{display:flex;align-items:center;min-height:44px;padding:0 12px;border-radius:9px;font-size:.92rem;color:var(--c-ink);cursor:pointer}
.site-lang .lang-picker-menu li:hover{background:var(--c-ground)}
.site-lang .lang-picker-menu li[aria-selected="true"]{font-weight:600;color:var(--c-green);background:var(--c-tint)}
.site-head a:focus-visible,.site-head button:focus-visible,.site-lang li:focus-visible,.site-foot a:focus-visible,.site-foot button:focus-visible{outline:3px solid var(--c-green);outline-offset:2px}

@media(max-width:959px){
  .site-desktop-only{display:none!important}
  .site-burger{display:inline-flex}
  .site-menu{display:none}
  .site-head.is-menu-open .site-menu{display:block;position:absolute;z-index:2;left:0;right:0;top:100%;max-height:calc(100vh - 76px);overflow-y:auto;background:var(--c-paper);border-bottom:1px solid var(--c-line);box-shadow:0 24px 40px rgba(15,61,46,.14);padding:6px 24px 22px}
  .site-head.is-menu-open .site-backdrop{display:block;position:fixed;inset:0;z-index:1;border:0;padding:0;background:rgba(5,27,20,.4)}
  .site-head__bar{position:relative;z-index:3}
  .site-menu__list{flex-direction:column;gap:0;font-size:1.05rem}
  .site-menu__list>li{border-bottom:1px solid var(--c-line)}
  .site-menu__link{display:block;padding:15px 0}
  .site-menu__list>.site-menu__mobile{display:flex;flex-direction:column;align-items:flex-start;gap:16px;padding-top:18px;border-bottom:0}
  .site-menu__mobile .site-btn{align-self:stretch}
  .site-menu__mobile .site-lang .lang-picker-menu{right:auto;left:0}
  .site-menu__mobile .lang-picker-btn{min-height:44px}
}
@media(max-width:620px){
  .site-wrap{padding-inline:16px}
  .site-head__cta{display:none}
  .site-brand__icon{width:40px;height:40px}
  .site-head__phone-cta{display:inline-flex;min-height:44px;padding:0 16px;font-size:.9rem;white-space:nowrap}
}

@media(min-width:621px){.site-head__phone-cta{display:none}}
@media(max-width:400px){.site-brand__word{width:104px;height:auto}.site-head__actions{gap:8px}.site-head__phone-cta{padding:0 12px;font-size:.82rem}}
@media(max-width:340px){.site-brand__word{display:none}}

/* Footer */
.site-foot{background:var(--c-ground);border-top:1px solid var(--c-line);padding:56px 0 100px;color:var(--c-muted);font:400 .95rem/1.55 var(--c-body);margin-top:clamp(44px,5.5vw,76px)}
.site-foot *{box-sizing:border-box}
.site-foot a{color:inherit;text-decoration:none}
.site-foot__grid{display:grid;gap:36px 28px;grid-template-columns:repeat(2,1fr)}
.site-foot__brand{grid-column:1/-1}
.site-foot__logo{display:inline-flex;align-items:center;min-height:44px;margin-bottom:6px}
.site-foot__logo img{display:block;height:26px;width:auto}
.site-foot__brand p{margin:0;max-width:21rem}
.site-foot__langs{display:flex;flex-wrap:wrap;gap:6px 14px;margin:14px 0 0;padding:0;list-style:none;font-size:.88rem}
.site-foot__langs button{margin:0;padding:0;border:0;background:none;font:inherit;color:inherit;cursor:pointer}
.site-foot__langs a:hover,.site-foot__langs button:hover{color:var(--c-green)}
.site-foot__langs a[aria-current],.site-foot__langs span[aria-current]{color:var(--c-green);font-weight:600}
.site-foot .site-social{display:flex;gap:10px;margin:18px 0 0;padding:0;list-style:none}
.site-foot .site-social a{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;border:1px solid var(--c-line);color:var(--c-green);background:#fff}
.site-foot .site-social a:hover{background:var(--c-gold);border-color:var(--c-gold)}
.site-foot .site-social svg{width:17px;height:17px}
.site-foot__col h2{margin:0 0 14px;font:600 .82rem var(--c-body);letter-spacing:.12em;text-transform:uppercase;color:var(--c-green)}
.site-foot__col a{display:block;padding:5px 0;color:var(--c-muted)}
.site-foot__col a:hover{color:var(--c-green)}
.site-foot__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 36px;margin-top:40px;padding-top:22px;border-top:1px solid var(--c-line);font-size:.88rem}
.site-foot__bottom p{margin:0}
@media(min-width:900px){.site-foot__grid{grid-template-columns:1.5fr repeat(4,1fr)}.site-foot__brand{grid-column:auto}}
@media(max-width:899px){.site-foot__col a{padding:11px 0}.site-foot__langs a,.site-foot__langs button,.site-foot__langs span{display:inline-flex;align-items:center;min-height:44px;padding:0 6px}.site-foot .site-social a{width:44px;height:44px}}

/* Install hint (pwa.js shows it when the browser can install the site). */
.site-install{position:fixed;left:12px;right:12px;bottom:76px;z-index:65;display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:12px 14px;background:#fff;border:1px solid var(--c-line);border-radius:16px;box-shadow:0 18px 40px rgba(15,61,46,.18);font-family:var(--c-body)}
.site-install__copy{flex:1 1 200px;min-width:0}
.site-install h2{margin:0;font:600 .92rem var(--c-head);color:var(--c-green);letter-spacing:-.01em}
.site-install p{margin:2px 0 0;font-size:.85rem;line-height:1.35;color:var(--c-muted)}
.site-install__actions{display:flex;gap:8px}
.site-install .site-btn{padding:8px 14px;font-size:.82rem}
.site-install .site-btn--primary{background:var(--c-green);color:#fff}
.site-install .site-btn--quiet{background:var(--c-ground);color:var(--c-green)}
@media(min-width:821px){.site-install{left:auto;right:16px;bottom:16px;max-width:420px}}
.site-install [hidden]{display:none}

/* Page styles. */
@layer site{
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;background:var(--c-paper);color:var(--c-ink);font-family:var(--c-body);-webkit-font-smoothing:antialiased;line-height:1.55}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-family:var(--c-head);color:var(--c-green);margin:0;font-weight:600;letter-spacing:-.03em;line-height:1.08}
p{margin:0}
.wrap{max-width:1180px;margin:0 auto;padding-inline:24px}
.eyebrow{font-size:.82rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--c-muted);margin-bottom:14px}
.sec{padding-block:clamp(24px,2.8vw,40px)}
.sec h2{font-size:clamp(1.9rem,4.2vw,3.1rem);max-width:20ch}
.sec .lead{font-size:clamp(1.05rem,1.6vw,1.25rem);color:var(--c-muted);max-width:44rem;margin-top:18px}
.center{text-align:center}.center h2,.center .lead{margin-inline:auto}
.btn{display:inline-flex;align-items:center;gap:12px;border-radius:999px;font:600 1rem var(--c-body);padding:14px 28px;border:1.5px solid transparent;cursor:pointer;transition:background .2s}
.btn.primary{background:var(--c-green);color:#fff}.btn.primary:hover{background:var(--c-green-2)}
.btn.light{background:#fff;color:var(--c-green);padding:8px 8px 8px 30px;font-size:1.05rem}
.btn.light .arr{display:inline-flex;border-radius:50%;background:var(--c-green);padding:9px}
.btn.light .arr svg{width:20px;height:20px;stroke:#fff}
.btn.ghost{border-color:#C3CEC2;color:var(--c-green)}.btn.ghost:hover{border-color:var(--c-green)}
.hero{padding:16px 16px 0}
.hero-card{position:relative;max-width:1400px;margin:0 auto;border-radius:20px;overflow:hidden;background-color:#0a3a2b;background-image:radial-gradient(ellipse 55% 75% at 74% 48%,#14503C 0%,#0a3a2b 48%,#051b14 100%);min-height:clamp(600px,84vh,800px);display:grid;grid-template-columns:.9fr 1.1fr;align-items:center}
.ph-wrap{position:relative;display:flex;flex-direction:column;align-items:center;gap:20px;padding:36px 24px}
.phone{position:relative;width:min(330px,100%);aspect-ratio:330/665;border-radius:50px;background:#0b0d0c;padding:12px;box-shadow:0 40px 80px rgba(0,0,0,.55),inset 0 0 0 2px #2a2f2c}
.phone .scr{width:100%;height:100%;border-radius:39px;overflow:hidden;background:#fffefa;position:relative;color:#073f2f}
.phone .notch{position:absolute;top:10px;left:50%;transform:translateX(-50%);width:92px;height:25px;border-radius:20px;background:#0b0d0c;z-index:5}
.phone .bar{padding:44px 26px 14px;font:600 .78rem/1.5 var(--c-body);overflow:visible;display:flex;justify-content:space-between;background:#fffefa;position:relative;z-index:2}
.phone .pad{padding:0 13px}.phone .fig{border-radius:16px;overflow:hidden;height:250px}.phone .fig img{margin-top:-24px}
.phone .big{font:600 1.18rem/1.1 var(--c-head);letter-spacing:-.03em;color:#80672E;margin:10px 0}
.phone img{display:block;width:100%}.phone .sc,.phone .th{border-radius:16px}.phone .gap{height:10px}
.phone .fade{position:absolute;left:0;right:0;bottom:0;height:56px;background:linear-gradient(0deg,#fffefa,rgba(255,254,250,0));z-index:4}
.ph-badge{background:rgba(217,154,8,.16);color:#f2c35a;font:600 .82rem var(--c-body);padding:8px 18px;border-radius:999px;border:1px solid rgba(217,154,8,.5)}
.hero-in{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;padding:clamp(28px,6vw,72px);max-width:660px}
.hero .eyebrow{color:var(--c-gold);font-family:"Consolas",ui-monospace,monospace;font-size:1rem;letter-spacing:.14em;margin-bottom:18px}
.hero h1{color:#fff;font-size:clamp(2.5rem,6.2vw,4.6rem);font-weight:500;letter-spacing:-.045em;line-height:1}
.hero p.sub{color:rgba(255,255,255,.82);font-size:clamp(1.05rem,1.7vw,1.25rem);margin:22px 0 30px;max-width:34rem}
.hero .actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.hero .ghostlink{color:#fff;font-weight:500;border-bottom:1px solid rgba(255,255,255,.4)}
.assure{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:28px;color:rgba(255,255,255,.78);font-size:.9rem}
.assure span{display:flex;align-items:center;gap:8px}.assure svg{width:16px;height:16px;stroke:var(--c-gold);flex-shrink:0}
@media(max-width:900px){.hero-card{grid-template-columns:1fr;min-height:0}.hero-in{padding-bottom:8px}.ph-wrap{padding:8px 24px 48px}.phone{width:min(300px,100%)}}
.dark{background:var(--c-green);color:#fff}
.dark h2,.dark h3{color:#fff}.dark .lead{color:rgba(255,255,255,.75)}.dark .eyebrow{color:var(--c-gold)}
.film{display:grid;gap:36px;align-items:center;margin-top:44px}
@media(min-width:900px){.film{grid-template-columns:1.1fr 1fr}}
.film .photo{border-radius:22px;overflow:hidden;box-shadow:0 18px 50px rgba(15,61,46,.14)}
.rules{display:grid;gap:14px}
.rule{display:flex;gap:16px;align-items:flex-start;padding:16px 18px;background:#fff;border:1px solid var(--c-line);border-radius:16px}
.rule b{font-family:var(--c-head);color:var(--c-green);font-size:1.5rem;line-height:1;min-width:1.4em}
.rule span{color:var(--c-ink);font-weight:500}.rule small{display:block;color:var(--c-muted);font-size:.9rem;margin-top:2px}
.rule-home{background:#edf4ea;border-color:#cfe0c7}
.rule b svg{display:block;width:1.5rem;height:1.5rem}
.price{display:grid;gap:20px;margin-top:46px;text-align:left}
@media(min-width:900px){.price{grid-template-columns:repeat(3,1fr);align-items:stretch}}
.pk{background:#fff;border:1px solid var(--c-line);border-radius:24px;padding:30px;display:flex;flex-direction:column;position:relative}
.pk.pop{border:2px solid var(--c-green);box-shadow:0 24px 60px rgba(15,61,46,.16)}
.pk .tag{position:absolute;top:-13px;left:30px;background:var(--c-gold);color:var(--c-green);font:700 .78rem var(--c-body);padding:5px 14px;border-radius:999px}
.pk h3{font-size:1.5rem}.pk .for{color:var(--c-muted);margin:6px 0 22px;font-size:.97rem;min-height:3.2em}
.pk .amt{font:600 3rem var(--c-head);color:var(--c-green);letter-spacing:-.04em;line-height:1}
.pk .once{color:var(--c-muted);font-size:.9rem;margin:6px 0 22px}
.pk ul{padding:0;margin:0 0 26px;display:grid;gap:10px}.pk li{list-style:none;display:flex;gap:10px;font-size:.97rem}
.pk li svg{width:18px;height:18px;stroke:var(--c-green);flex-shrink:0;margin-top:3px}
.pk .btn{margin-top:auto;justify-content:center}
.reassure{display:flex;flex-wrap:wrap;gap:12px 30px;justify-content:center;margin-top:34px;color:var(--c-muted);font-size:.95rem}
.reassure span{display:flex;gap:8px;align-items:center}.reassure svg{width:18px;height:18px;stroke:var(--c-green)}
.faq{max-width:820px;margin:44px auto 0;border:1px solid var(--c-line);border-radius:20px;overflow:hidden;background:#fff;text-align:left}
.faq details{border-top:1px solid var(--c-line);padding:0 24px}.faq details:first-child{border-top:0}
.faq summary{cursor:pointer;list-style:none;padding:20px 0;font-weight:600;color:var(--c-green);display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:"+";font-size:1.4rem;line-height:1;color:var(--c-muted)}
.faq details[open] summary::after{content:"–"}
.faq details p{padding:0 0 22px;color:var(--c-muted)}
.final{background:var(--c-green);color:#fff;border-radius:26px;max-width:1400px;margin:0 16px;margin-inline:auto;padding:clamp(40px,7vw,84px) 24px;text-align:center}
.final h2{color:#fff;margin-inline:auto;font-size:clamp(2rem,4.6vw,3.4rem);max-width:18ch}
.final p{color:rgba(255,255,255,.78);margin:18px auto 30px;max-width:34rem}
.final .assure{justify-content:center;margin-top:24px}
@media(min-width:1432px){.final{margin-inline:auto}}

.phones{display:flex;gap:22px;align-items:flex-start;justify-content:center}
.phones .phone{width:min(290px,46vw)}
.phones .phone.p2{margin-top:0}
.phone .fig2{height:auto;aspect-ratio:1052/1260}.phone .fig2 img{margin-top:0;width:100%;height:100%;object-fit:cover;object-position:top}
.sring{position:relative;width:134px;height:134px;margin:0 auto 2px;background:radial-gradient(circle,#0e4a37 0%,#073f2f 70%);border-radius:50%;padding:0}
.sring svg{width:100%;height:100%;display:block}
.snum{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff}
.snum b{font:600 2.2rem/1 var(--c-head);letter-spacing:-.05em}.snum span{font-size:.66rem;color:rgba(255,255,255,.7);margin-top:2px}
.sexp{text-align:center;color:#55655B;font-size:.68rem;margin:4px 4px 8px;line-height:1.3}
.sp2{background:#fff;border:1px solid #DDE3DC;border-radius:12px;padding:6px 10px;margin-bottom:6px}
.sp2.hot{background:#fffaf0;border-color:#e9cf93}
.sp2 .r1{display:flex;justify-content:space-between;align-items:baseline}
.sp2 b{font:600 .78rem var(--c-head);color:#073f2f}.sp2 span{font:600 .95rem var(--c-head);color:#073f2f}.sp2 small{font:500 .62rem var(--c-body);color:#55655B}
.sp2 .b2{height:5px;background:#E4EBE3;border-radius:9px;margin:5px 0 5px;overflow:hidden}.sp2 .b2 i{display:block;height:100%;background:#073f2f;border-radius:9px}
.sp2.hot .b2 i{background:#d99a08}
.sp2 p{font-size:.62rem;color:#55655B;line-height:1.3;margin:0}
@media(min-width:621px) and (max-width:900px){.ph-wrap{padding:8px 12px 40px}.phones{gap:10px;width:100%;max-width:560px}.phones .phone{flex:1 1 0;width:auto;min-width:0;border-radius:30px;padding:7px}.phones .phone .scr{border-radius:24px}.phones .phone.p2{margin-top:0}
.phones .phone .pad{padding:0 8px}.phones .phone .big{font-size:.82rem;margin:6px 0}.phones .phone .th{border-radius:10px}
.phones .sring{width:42%;height:auto;aspect-ratio:1}.phones .snum b{font-size:1.25rem}.phones .snum span{font-size:.45rem}
.phones .sexp{font-size:.5rem;margin:2px 0 5px}.phones .sp2{padding:4px 6px;border-radius:8px;margin-bottom:4px}
.phones .sp2 b{font-size:.55rem}.phones .sp2 span{font-size:.62rem}.phones .sp2 small{font-size:.45rem}.phones .sp2 p{display:none}.phones .sp2 .b2{height:3px;margin:3px 0 1px}}
@media(min-width:621px) and (max-width:900px){.phones .phone .bar{padding:28px 12px 8px;font-size:.6rem}.phones .phone .notch{width:56px;height:16px;top:6px}}
.hsocial{position:absolute;top:22px;left:50%;transform:translateX(-50%);z-index:3;display:flex;gap:10px}
.hsocial ul{display:flex;gap:10px;margin:0;padding:0;list-style:none}
.hsocial a{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);color:rgba(255,255,255,.88);transition:background .2s,color .2s}
.hsocial a:hover{background:#d99a08;border-color:#d99a08;color:#073f2f}
.hsocial svg{width:18px;height:18px}
@media(max-width:900px){.hsocial{position:static;transform:none;justify-content:flex-start;padding:22px 0 0 clamp(28px,6vw,72px)}}
.pv{display:grid;gap:28px;align-items:start}
@media(min-width:960px){.pv{grid-template-columns:1fr 1fr;gap:48px}}
.pv h2{font-size:clamp(1.7rem,3vw,2.4rem)!important;max-width:16ch}
.pv-list{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:14px}
.pv-no li{position:relative;padding-left:22px;color:var(--c-muted);line-height:1.5}
.pv-no li::before{content:"";position:absolute;left:0;top:.62em;width:10px;height:2px;background:#9aa89e}
.pv-no b,.pv-yes b{color:var(--c-ink)}
.pv-yes-card{background:var(--c-tint);border-radius:22px;padding:26px 28px}
.pv-h{font-size:1.3rem;margin-bottom:4px}
.pv-yes{gap:12px;margin-top:14px}
.pv-yes li{display:flex;gap:12px;align-items:flex-start;color:var(--c-muted);line-height:1.5}
.pv-yes svg{width:24px;height:24px;flex-shrink:0;stroke:var(--c-green);background:#fff;border-radius:50%;padding:5px;margin-top:1px}
.fw{display:grid;gap:30px;align-items:center}
@media(min-width:960px){.fw{grid-template-columns:1.1fr .9fr;gap:52px}}
.fw h2{font-size:clamp(1.7rem,3vw,2.4rem)!important}
.fw .lead{font-size:1rem!important;margin-top:12px!important}
.fw-lists{display:grid;gap:22px;margin-top:24px}
@media(min-width:700px){.fw-lists{grid-template-columns:1fr 1fr}}
.fw-lists h3{font:600 1rem var(--c-head);color:#fff;margin-bottom:8px}
.fw-lists ul{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.fw-lists li{position:relative;padding-left:24px;color:rgba(255,255,255,.78);font-size:.93rem;line-height:1.45}
.fw-yes li::before{content:"";position:absolute;left:2px;top:6px;width:11px;height:6px;border-left:2px solid var(--c-gold);border-bottom:2px solid var(--c-gold);transform:rotate(-45deg)}
.fw-no li::before{content:"";position:absolute;left:2px;top:.7em;width:10px;height:2px;background:rgba(255,255,255,.4)}
.fw .cmp{background:#fff;border-radius:22px;overflow:hidden;color:var(--c-ink)}
.fw .cmp div{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--c-line)}
.fw .cmp div:first-child{border-top:0;background:var(--c-ground);font:600 .8rem var(--c-body);letter-spacing:.06em;text-transform:uppercase;color:var(--c-muted)}
.fw .cmp span{padding:15px 18px;font-size:.96rem}.fw .cmp span+span{border-left:1px solid var(--c-line)}
.faq-more{margin-top:22px;color:var(--c-muted)}.faq-more a{color:var(--c-green);font-weight:600;border-bottom:1.5px solid #C3CEC2}
.pk .per{display:inline-block;align-self:flex-start;background:var(--c-tint);color:var(--c-green);font:600 .85rem var(--c-body);padding:5px 12px;border-radius:999px;margin:-8px 0 20px}
.pk.pop .per{background:#fdf3dc;color:#80672E}
.pk em.soon{font-style:normal;font:700 .62rem var(--c-body);letter-spacing:.06em;text-transform:uppercase;color:#80672E;background:#fdf3dc;border-radius:999px;padding:2px 7px;margin-left:4px;vertical-align:2px}
.hx{display:flex;flex-direction:column;align-items:flex-start;gap:7px;font-size:.88rem;color:rgba(255,255,255,.78)}
.hx-l{font:600 .68rem var(--c-body);letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.45);margin-bottom:2px}
.hx span:not(.hx-l){display:inline-flex;align-items:center;gap:6px}
.hx svg{width:15px;height:15px;stroke:var(--c-gold)}
.hx em{font-style:normal;font-size:.62rem;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.45);margin-left:2px}
.ai-sec h2{font-size:clamp(1.7rem,3vw,2.4rem)!important;max-width:24ch}
.ai{display:grid;gap:18px;margin-top:24px}
@media(min-width:860px){.ai{grid-template-columns:.85fr 1.15fr}}
.ai-col{border-radius:20px;padding:22px 26px}
.ai-col h3{font-size:1.1rem;margin-bottom:10px}
.ai-col ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.ai-col li{position:relative;padding-left:24px;line-height:1.5;font-size:.95rem}
.ai-no{background:var(--c-ground);border:1px solid var(--c-line);color:var(--c-muted)}
.ai-no h3{color:var(--c-muted)}
.ai-no li::before{content:"";position:absolute;left:2px;top:.72em;width:10px;height:2px;background:#9aa89e}
.ai-yes{background:var(--c-green);color:rgba(255,255,255,.8)}
.ai-yes h3{color:#fff}.ai-yes b{color:#fff}
.ai-yes li::before{content:"";position:absolute;left:2px;top:7px;width:11px;height:6px;border-left:2px solid var(--c-gold);border-bottom:2px solid var(--c-gold);transform:rotate(-45deg)}
@media(min-width:901px){.ph-wrap{padding-top:78px;padding-bottom:28px}.ph-wrap{flex-direction:column}}
.hx-row{display:flex;gap:44px;justify-content:center;align-items:flex-start;flex-wrap:wrap}
.hx-a svg{stroke:var(--c-gold);width:15px;height:15px}
@media(max-width:820px){.final{margin-inline:12px}}.phone .th{background:var(--c-green);border-radius:14px;padding:11px 14px 13px}
.th-l{display:block;font:600 .5rem var(--c-body);letter-spacing:.12em;text-transform:uppercase;color:#9bc4a6}
.th-q{margin-top:4px;font:600 .84rem/1.2 var(--c-head);letter-spacing:-.02em;color:#fff}
.th-q::before{content:"\201C";color:var(--c-gold);margin-right:2px}
.th-q::after{content:"\201D";color:var(--c-gold);margin-left:1px}
@media(min-width:621px) and (max-width:900px){.phones .phone .fade{height:30px}.phones .phone .th{padding:6px 8px;border-radius:9px}.phones .phone .th-l{font-size:.4rem}.phones .phone .th-q{font-size:.56rem;margin-top:2px}}
.pv-col,.fw-l{min-width:0}
/* How it works and filming pages. */
.loop{margin-top:34px;display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;justify-content:center;font-weight:600;color:var(--c-green)}
.loop span{background:var(--c-tint);border-radius:999px;padding:10px 18px}
.loop i{color:#8aa08e;font-style:normal}
.tabs{display:flex;gap:10px;flex-wrap:wrap;margin:34px 0 22px}
.tabs button{font:600 .98rem var(--c-body);border:1.5px solid rgba(255,255,255,.28);background:transparent;color:#fff;border-radius:999px;padding:11px 22px;cursor:pointer}
.tabs button[aria-selected=true]{background:#fff;color:var(--c-green);border-color:#fff}
.res{background:var(--c-ground);border-radius:24px;padding:clamp(12px,2vw,22px);box-shadow:0 30px 80px rgba(0,0,0,.28)}
.res img{width:100%;border-radius:16px}
.hw{display:grid;gap:30px;align-items:center}
@media(min-width:960px){.hw{grid-template-columns:380px 1fr;gap:48px}}
.hw-l,.hw-r{min-width:0}
.hw h2{font-size:clamp(1.7rem,3vw,2.4rem)}
.hw-steps{list-style:none;margin:22px 0 22px;padding:0;display:grid;gap:14px}
.hw-sec{background:var(--c-ground)}
.hw-steps li{display:flex;gap:14px;align-items:flex-start;color:var(--c-muted);font-size:.95rem;line-height:1.5}
.hw-steps span{flex-shrink:0;width:30px;height:30px;border-radius:50%;background:#fff;border:1px solid var(--c-line);color:var(--c-green);font:600 .9rem var(--c-head);display:flex;align-items:center;justify-content:center}
.hw-steps li:last-child span{background:var(--c-gold);border-color:var(--c-gold);color:var(--c-green)}
.hw-steps b{display:block;color:var(--c-green);font:600 1.05rem var(--c-head);margin-bottom:2px}
.hw .tabs{margin:0;gap:6px;flex-wrap:nowrap}
.hw .tabs button{padding:8px 13px;font-size:.86rem;white-space:nowrap;color:var(--c-green);border-color:#C3CEC2;background:#fff}
.hw .tabs button[aria-selected=true]{background:var(--c-green);color:#fff;border-color:var(--c-green)}
.hw .res{padding:12px;border-radius:20px;background:#fff;border:1px solid var(--c-line);box-shadow:0 24px 60px rgba(15,61,46,.14)}.hw .res img{border-radius:12px}
.hw-loop{margin-top:18px;gap:6px 8px;flex-wrap:nowrap}
.hw-loop span{background:var(--c-tint);color:var(--c-green);padding:6px 12px;font-size:.82rem;white-space:nowrap}
@media(max-width:700px){.hw-loop{flex-wrap:wrap}.hw .tabs{flex-wrap:wrap}}
.hw-loop i{color:#8aa08e}
.phero{position:relative;max-width:1400px;margin:0 auto;border-radius:20px;overflow:hidden;background-color:#0a3a2b;background-image:radial-gradient(ellipse 60% 120% at 80% 40%,#14503C 0%,#0a3a2b 50%,#051b14 100%);padding:clamp(40px,7vw,88px) clamp(24px,6vw,72px)}
.phero .eyebrow{color:var(--c-gold);font-family:"Consolas",ui-monospace,monospace;margin-bottom:16px}
.phero h1{color:#fff;font-size:clamp(2.2rem,5vw,3.8rem);font-weight:500;letter-spacing:-.04em;line-height:1.02;max-width:20ch}
.phero p.sub{color:rgba(255,255,255,.82);font-size:clamp(1.05rem,1.6vw,1.25rem);margin-top:20px;max-width:40rem}
.phero .actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-top:28px}
.phero .ghostlink{color:#fff;font-weight:500;border-bottom:1px solid rgba(255,255,255,.4)}
.pagecta{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}
.two{display:grid;gap:22px;margin-top:36px}
@media(min-width:860px){.two{grid-template-columns:1fr 1fr}}
.card2{background:#fff;border:1px solid var(--c-line);border-radius:20px;padding:26px}
.card2 h3{font-size:1.25rem;margin-bottom:8px}.card2 p{color:var(--c-muted)}
.card2 ul{margin:0;padding:0}.card2 li{list-style:none;padding:9px 0 9px 26px;position:relative;color:var(--c-ink);border-top:1px solid var(--c-line)}
.card2 li:first-child{border-top:0}
.card2 li::before{content:"";position:absolute;left:2px;top:15px;width:12px;height:7px;border-left:2.5px solid var(--c-green);border-bottom:2.5px solid var(--c-green);transform:rotate(-45deg)}
.chips{display:flex;flex-wrap:wrap;gap:8px 10px}
.chips a{font:600 .9rem var(--c-body);color:#fff;border:1.5px solid rgba(255,255,255,.35);border-radius:999px;padding:9px 18px;transition:background .2s}
.chips a:hover{background:rgba(255,255,255,.14)}
.moments{margin-top:34px;display:grid;gap:18px}
.moments .pic{border-radius:22px;overflow:hidden;box-shadow:0 18px 50px rgba(15,61,46,.14);border:1px solid var(--c-line)}
.moments .pic img{width:100%}
.mlist{display:grid;gap:12px;grid-template-columns:repeat(2,1fr);margin:0;padding:0;list-style:none}
.mlist li{background:var(--c-ground);border:1px solid var(--c-line);border-radius:16px;padding:16px 18px}
.mlist b{display:block;font:600 1.1rem var(--c-head);color:var(--c-green);margin-bottom:2px}
.mlist span{color:var(--c-muted);font-size:.95rem}
@media(min-width:960px){.mlist{grid-template-columns:repeat(4,1fr)}}
.moments>*,.mlist li{min-width:0}.mlist b{overflow-wrap:anywhere}
@media(max-width:420px){.mlist{grid-template-columns:1fr}}
.mcards{display:grid;gap:18px;margin-top:38px}
@media(min-width:700px){.mcards{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1100px){.mcards{grid-template-columns:repeat(4,1fr)}}
.mc{background:#fff;border:1px solid var(--c-line);border-radius:20px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 10px 30px rgba(15,61,46,.06)}
.mc .pic{aspect-ratio:720/840;background:var(--c-tint);overflow:hidden}
.mc .pic img{width:100%;height:100%;object-fit:cover}
.mc .txt{padding:18px 18px 22px;display:flex;flex-direction:column;gap:8px;flex:1}
.mc .cam{align-self:flex-start;font:600 .72rem var(--c-body);letter-spacing:.08em;text-transform:uppercase;color:var(--c-green);background:var(--c-tint);border-radius:999px;padding:5px 11px}
.mc h3{font-size:1.15rem;letter-spacing:-.02em;overflow-wrap:anywhere}.mc .txt{min-width:0}
.mc p{color:var(--c-muted);font-size:.95rem}
.mc.noimg .pic{display:flex;align-items:center;padding:26px 22px;background:var(--c-green)}
.mc.noimg .pic q{quotes:none;display:block;font:600 1.25rem/1.2 var(--c-head);color:#fff;letter-spacing:-.02em}
.mc.noimg .pic small{display:block;font:600 .72rem var(--c-body);letter-spacing:.12em;text-transform:uppercase;color:var(--c-gold);margin-bottom:10px}
@media(max-width:699px){
.mc{flex-direction:row}.mc .pic{width:38%;aspect-ratio:auto;flex-shrink:0}.mc .txt{padding:14px 16px}
.mc h3{font-size:1.02rem}.mc.noimg .pic{padding:14px}.mc.noimg .pic q{font-size:.95rem}
}
.scoregrid{display:grid;gap:22px;margin-top:38px}
@media(min-width:960px){.scoregrid{grid-template-columns:1.25fr 1fr;align-items:start}}
.scoregrid img{width:100%;border-radius:20px}
.scoregrid .imgs{display:grid;gap:22px}
.scoregrid figure{margin:0}
.scoregrid figcaption{color:rgba(255,255,255,.7);font-size:.9rem;margin-top:8px}
.facts{display:grid;gap:14px;margin:0;padding:0;list-style:none}
.facts li{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:16px;padding:18px 20px}
.facts b{display:block;font:600 1.1rem var(--c-head);color:#fff;margin-bottom:4px}
.facts li.gold{border-color:rgba(217,154,8,.6)}.facts li.gold b{color:#f2c35a}
.facts span{color:rgba(255,255,255,.78);font-size:.97rem}
.focus{display:grid;gap:22px;margin-top:36px;align-items:center}
@media(min-width:900px){.focus{grid-template-columns:.8fr 1.2fr}}
.focus .fig{border-radius:20px;overflow:hidden;box-shadow:0 18px 50px rgba(15,61,46,.14)}
.focus .fig img{width:100%}
.focus .side{display:grid;gap:16px}
.focus .side img{width:100%;border-radius:20px}
.focus .drill{background:var(--c-ground);border:1px solid var(--c-line);border-radius:18px;padding:20px 22px}
.focus .drill b{display:block;font:600 1.1rem var(--c-head);color:var(--c-green);margin-bottom:4px}
.focus .drill span{color:var(--c-muted)}
.hw-steps em{display:block;font-style:normal}
.band{background:var(--c-ground)}
.two.one{grid-template-columns:1fr}
.btn:focus-visible{outline:3px solid var(--c-green);outline-offset:3px}
.final .btn:focus-visible,.dark .btn:focus-visible,.phero .btn:focus-visible{outline-color:#fff}
.card2-link{margin-top:12px}.card2-link a{color:var(--c-green);font-weight:700;text-decoration:underline}
.focus .thought{background:var(--c-green);border-radius:20px;padding:22px 26px}
.focus .thought .th-l{font-size:.78rem;color:#9bc4a6}
.focus .thought .th-q{font-size:clamp(1.25rem,2.4vw,1.7rem);margin-top:8px}


/* Sign-in and sign-up forms. */
.au{max-width:1180px;margin:20px auto 56px;padding-inline:16px}
.au-card{display:grid;border-radius:24px;overflow:hidden;box-shadow:0 30px 80px rgba(15,61,46,.12);border:1px solid var(--c-line)}
@media(min-width:900px){.au-card{grid-template-columns:1fr 1fr}}
.au-l{background:radial-gradient(ellipse 80% 80% at 70% 30%,#14503C 0%,#0a3a2b 50%,#051b14 100%);color:#fff;padding:clamp(28px,5vw,56px);display:flex;flex-direction:column;gap:20px}
.au-l .eyebrow{color:var(--c-gold);margin:0}
.au-l h1{color:#fff;font-size:clamp(1.9rem,3.4vw,2.7rem);font-weight:500;letter-spacing:-.04em;line-height:1.05}
.au-l p{color:rgba(255,255,255,.78);line-height:1.55}
.au-l ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.au-l li{display:flex;gap:10px;align-items:flex-start;color:rgba(255,255,255,.88)}
.au-l li svg{width:18px;height:18px;stroke:var(--c-gold);flex-shrink:0;margin-top:3px}
.au-l .note{font-size:.9rem;color:rgba(255,255,255,.62);border-top:1px solid rgba(255,255,255,.12);padding-top:16px;margin-top:auto}
.au-r{background:#fff;padding:clamp(28px,5vw,56px)}
.au-r .lock{display:inline-flex;gap:8px;align-items:center;font:600 .78rem var(--c-body);color:var(--c-muted);letter-spacing:.06em;text-transform:uppercase}
.au-r .lock svg{width:15px;height:15px;stroke:var(--c-green)}
.au-r h2{font-size:1.9rem;margin:10px 0 6px}
.au-r .intro{color:var(--c-muted);margin-bottom:22px}
.tabs2{display:grid;grid-template-columns:1fr 1fr;background:var(--c-ground);border:1px solid var(--c-line);border-radius:999px;padding:4px;margin-bottom:22px}
.tabs2 button{border:0;background:transparent;border-radius:999px;padding:10px;font:600 .95rem var(--c-body);color:var(--c-muted);cursor:pointer}
.tabs2 button[aria-selected=true]{background:#fff;color:var(--c-green);box-shadow:0 2px 8px rgba(15,61,46,.12)}
.f{display:grid;gap:14px}
.f[hidden]{display:none}
.f label{display:grid;gap:6px;font:600 .88rem var(--c-body);color:var(--c-ink)}
.f input,.f select{font:400 1rem var(--c-body);padding:12px 14px;border:1.5px solid var(--c-line);border-radius:12px;background:#fff;color:var(--c-ink);width:100%}
.f input:focus,.f select:focus{outline:2px solid var(--c-green);outline-offset:1px;border-color:var(--c-green)}
.pw{position:relative}.pw input{padding-right:78px}
.pw button{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:0;background:var(--c-ground);color:var(--c-green);font:600 .8rem var(--c-body);padding:6px 10px;border-radius:8px;cursor:pointer}
.hint{font-weight:400;font-size:.82rem;color:var(--c-muted)}
.row2{display:grid;gap:14px}@media(min-width:520px){.row2{grid-template-columns:1fr 1fr}}
.cb{display:flex!important;gap:8px;align-items:center;font-weight:400!important;font-size:.88rem!important;color:var(--c-muted)!important}
.cb input{width:auto}
.f .btn{justify-content:center;width:100%}
.gbtn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;border:1.5px solid var(--c-line);background:#fff;border-radius:999px;padding:12px;font:600 .95rem var(--c-body);color:var(--c-ink);cursor:pointer}
.gbtn:hover{border-color:#C3CEC2}.gbtn svg{width:20px;height:20px}
.or{display:flex;align-items:center;gap:12px;color:var(--c-muted);font-size:.85rem}.or::before,.or::after{content:"";flex:1;height:1px;background:var(--c-line)}
.lnk{border:0;background:none;color:var(--c-green);font:600 .9rem var(--c-body);cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:3px;justify-self:start}
.forgot{display:grid;gap:10px;background:var(--c-ground);border-radius:14px;padding:14px}.forgot[hidden]{display:none}
.switch{color:var(--c-muted);font-size:.92rem;text-align:center}
.demo{margin-top:18px;font-size:.8rem;color:var(--c-muted);text-align:center}
}

/* Pages after the home page. */
@layer site{
.phero{position:relative;max-width:1400px;margin:0 auto;border-radius:20px;overflow:hidden;background:radial-gradient(ellipse 60% 120% at 80% 40%,#14503C 0%,#0a3a2b 50%,#051b14 100%);padding:clamp(40px,7vw,88px) clamp(24px,6vw,72px)}
.phero .eyebrow{color:var(--c-gold);font-family:"Consolas",ui-monospace,monospace;margin-bottom:16px}
.phero h1{color:#fff;font-size:clamp(2.2rem,5vw,3.8rem);font-weight:500;letter-spacing:-.04em;line-height:1.02;max-width:20ch}
.phero p.sub{color:rgba(255,255,255,.82);font-size:clamp(1.05rem,1.6vw,1.25rem);margin-top:20px;max-width:40rem}
.phero .actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-top:28px}
.phero .ghostlink{color:#fff;font-weight:500;border-bottom:1px solid rgba(255,255,255,.4)}
.prose{max-width:760px}
.prose p+p,.prose p+ul,.prose ul+p{margin-top:14px}
.prose h2{font-size:clamp(1.5rem,3vw,2.1rem);margin:44px 0 14px}
.prose h2:first-child{margin-top:0}
.prose p{color:var(--c-muted);font-size:1.05rem}
.prose p b,.prose p strong{color:var(--c-ink)}
.sec.tight{padding-block:clamp(28px,4vw,48px)}
.sec .lead.mt0{margin-top:0}
.pagecta{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}
.two{display:grid;gap:22px;margin-top:36px}
.card2{background:#fff;border:1px solid var(--c-line);border-radius:20px;padding:26px}
.card2 h3{font-size:1.25rem;margin-bottom:8px}
.card2 p{color:var(--c-muted)}
.card2 ul{margin:0;padding:0}
.card2 li{list-style:none;padding:9px 0 9px 26px;position:relative;color:var(--c-ink);border-top:1px solid var(--c-line)}
.card2 li:first-child{border-top:0}
.card2 li::before{content:"";position:absolute;left:2px;top:15px;width:12px;height:7px;border-left:2.5px solid var(--c-green);border-bottom:2.5px solid var(--c-green);transform:rotate(-45deg)}
.lenses{display:grid;gap:16px;margin-top:40px}
@media(min-width:1060px){.lenses{grid-template-columns:repeat(4,1fr)}}
.lens{background:#fff;border:1px solid var(--c-line);border-radius:18px;padding:22px}
.lens .n{font:600 .8rem "Consolas",ui-monospace,monospace;letter-spacing:.14em;color:var(--c-gold-text)}
.lens h3{font-size:1.2rem;margin:6px 0 6px}
.lens p{color:var(--c-muted);font-size:.97rem}
.stepdetail{margin-top:14px;color:var(--c-muted);font-size:.97rem}
.stepdetail b{color:var(--c-ink)}
.faqgroup{max-width:820px;margin:48px auto 0}
.faqgroup h2{font-size:1.5rem;margin-bottom:-24px}
.contactbox{display:grid;gap:22px;margin-top:40px}
.mailcard{background:var(--c-green);color:#fff;border-radius:22px;padding:30px}
.mailcard h3{color:#fff;font-size:1.4rem;margin-bottom:10px}
.mailcard p{color:rgba(255,255,255,.8)}
.mailcard a.mail{display:inline-block;margin-top:18px;font:600 clamp(1.1rem,3.6vw,1.5rem) var(--c-head);color:#fff;border-bottom:2px solid var(--c-gold);word-break:break-all}
.quote{border-left:3px solid var(--c-gold);padding:4px 0 4px 22px;margin:26px 0 0;font-size:1.15rem;color:var(--c-ink);max-width:760px}
.soon h2{font-size:clamp(1.6rem,3.4vw,2.3rem)}
.soon p{color:var(--c-muted);margin-top:12px;font-size:1.1rem}
.legal{max-width:860px}
.legal section{background:#fff;border:1px solid var(--c-line);border-radius:22px;padding:clamp(22px,4vw,38px);margin-bottom:22px}
.legal h2{font-size:clamp(1.4rem,2.8vw,1.9rem);margin-bottom:16px}
.legal h3{font-size:1.15rem;margin:26px 0 8px}
.legal p,.legal li{color:#3d4a42;font-size:1rem}
.legal p+p,.legal p+ul,.legal ul+p,.legal ul+ul{margin-top:12px}
.legal ul{margin:12px 0 0;padding-left:22px}
.legal li{margin-bottom:8px}
.legal a{color:var(--c-green);text-decoration:underline;text-underline-offset:3px;word-break:break-word}
.legal code{font-family:"Consolas",ui-monospace,monospace;font-size:.9em;background:var(--c-tint);padding:2px 6px;border-radius:6px;word-break:break-all}
.legal .badge{display:inline-block;font:600 .74rem var(--c-body);letter-spacing:.04em;background:#fff2d1;color:#6b5314;border-radius:999px;padding:4px 12px;vertical-align:middle;margin-left:6px}
.legal table{width:100%;border-collapse:collapse;font-size:.95rem}
.legal th{text-align:left;font:600 .76rem var(--c-body);letter-spacing:.08em;text-transform:uppercase;color:var(--c-muted);padding:10px 12px;border-bottom:1px solid var(--c-line)}
.legal td{padding:14px 12px;border-bottom:1px solid var(--c-line);vertical-align:top;color:#3d4a42}
.mini{max-width:760px;margin:24px auto 64px;padding-inline:16px}
.mini-card{background:#fff;border:1px solid var(--c-line);border-radius:24px;padding:clamp(28px,5vw,52px);box-shadow:0 24px 60px rgba(15,61,46,.08)}
.mini-card .eyebrow{color:var(--c-gold-text)}
.mini-card h1{font-size:clamp(2rem,4vw,2.8rem);margin:6px 0 14px}
.mini-card .lead{color:var(--c-muted);font-size:1.05rem;line-height:1.6}
.links3{display:grid;gap:10px;margin:24px 0 8px}
@media(min-width:620px){.links3{grid-template-columns:1fr 1fr}}
.links3 a{display:flex;justify-content:space-between;align-items:center;gap:10px;background:var(--c-ground);border:1px solid var(--c-line);border-radius:14px;padding:14px 16px;color:var(--c-green);font-weight:600}
.links3 a:hover{border-color:#C3CEC2}
.links3 a::after{content:"→";color:#8aa08e}
.small-note{color:var(--c-muted);font-size:.9rem;margin-top:18px}
.st div{display:flex;justify-content:space-between;align-items:center;background:var(--c-ground);border:1px solid var(--c-line);border-radius:14px;padding:14px 16px}
.st b{color:var(--c-ink);font-weight:600}
.st span{display:inline-flex;align-items:center;gap:8px;color:var(--c-green);font-weight:600}
.st span::before{content:"";width:10px;height:10px;border-radius:50%;background:#2f8a4f;box-shadow:0 0 0 4px rgba(47,138,79,.15)}
.st span.plain::before{display:none}
.st span.plain{color:var(--c-muted);font-weight:500}
.ok{display:flex;gap:12px;align-items:flex-start;background:var(--c-tint);border-radius:14px;padding:14px 16px;color:var(--c-green);margin-top:6px}
.ok svg{width:20px;height:20px;stroke:var(--c-green);flex-shrink:0;margin-top:2px}
.off{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(ellipse 70% 70% at 50% 35%,#14503C 0%,#0a3a2b 50%,#051b14 100%)}
.off .box{max-width:460px;text-align:center;color:rgba(255,255,255,.8)}
.off img{width:64px;height:64px;border-radius:16px;margin:0 auto 22px}
.off h1{color:#fff;font-size:2.2rem;margin-bottom:12px}
.off p{line-height:1.6;margin-bottom:26px}
.bl{max-width:820px;margin:24px auto 64px;padding-inline:16px}
.bl .eyebrow{color:var(--c-gold-text)}
.bl h1{font-size:clamp(2.2rem,4.5vw,3.2rem);margin:6px 0 10px}
.bl .lead{color:var(--c-muted);font-size:1.08rem;margin-bottom:28px}
.posts{display:grid;gap:14px}
.posts a{display:block;background:#fff;border:1px solid var(--c-line);border-radius:20px;padding:22px 26px;box-shadow:0 12px 30px rgba(15,61,46,.06)}
.posts a:hover{border-color:#C3CEC2}
.posts h2{font-size:1.35rem;margin-bottom:6px}
.posts p{color:var(--c-muted);margin:0 0 8px}
.posts time{font-size:.85rem;color:#8aa08e}
.art{background:#fff;border:1px solid var(--c-line);border-radius:24px;padding:clamp(26px,5vw,52px);box-shadow:0 18px 50px rgba(15,61,46,.07)}
.art time{font-size:.88rem;color:#8aa08e}
.art h1{margin-top:8px}
.art h2{font-size:1.45rem;margin:30px 0 10px}
.art p,.art li{color:#3a463f;font-size:1.05rem;line-height:1.7}
.art p{margin:0 0 14px}
.art ul{padding-left:20px;margin:0 0 14px}
.art li{margin-bottom:6px}
.art .cta{margin-top:26px}
.back{display:inline-block;margin-bottom:18px;color:var(--c-green);font-weight:600}
.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.phero h1{max-width:24ch}
.f textarea{font:400 1rem var(--c-body);padding:12px 14px;border:1.5px solid var(--c-line);border-radius:12px;background:#fff;color:var(--c-ink);width:100%;resize:vertical;min-height:140px}
.f textarea:focus{outline:2px solid var(--c-green);outline-offset:1px;border-color:var(--c-green)}
.f label>span:first-child{display:block}
.form-status{min-height:1.35em;margin:0;color:var(--c-muted);font-size:.9rem}
.alert{padding:12px 16px;border-radius:12px;font-size:.95rem;line-height:1.5}
.alert-success{background:var(--c-tint);color:var(--c-green)}
.alert-warn{background:#fdf3dc;color:#6b5314}
.alert-error{background:#fbe9e7;color:#8a2a1f}
.f .alert{margin:0}
.f .btn.light{width:auto}
.link-btn{border:0;background:none;color:var(--c-green);font:600 .9rem var(--c-body);cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:3px;min-height:44px}
.auth-tab{min-height:44px}
.pw input{padding-right:92px}
.pw button{min-height:36px}
.f .btn[disabled]{opacity:.6;cursor:default}
.au-r .f+.f{margin-top:0}
.auth-note{margin-top:18px;font-size:.88rem;color:var(--c-muted);text-align:center}
.auth-note a{color:var(--c-green);text-decoration:underline;text-underline-offset:3px}
.cb a{color:var(--c-green)}
.hint a{color:var(--c-green)}
@media(min-width:900px){.contactbox{grid-template-columns:.8fr 1.2fr;align-items:start}}
.formcard{background:#fff;border:1px solid var(--c-line);border-radius:22px;padding:clamp(22px,4vw,34px);box-shadow:0 18px 50px rgba(15,61,46,.07)}
.formcard h2{font-size:1.6rem;margin:0 0 6px}
.formcard .intro{color:var(--c-muted);margin-bottom:20px}
.mail-line{margin-top:18px;color:var(--c-muted)}
.mail-line a{color:var(--c-green);font-weight:600;border-bottom:1.5px solid #C3CEC2}
.pk strong.package-price{font-weight:inherit}
.package-note{max-width:44rem;margin:18px 0 0;padding:10px 16px;border-radius:12px;background:#fdf3dc;color:#6b5314;font-size:.95rem}
.package-note[hidden]{display:none}
.price .pk .btn{margin-top:auto}
.pk .btn.primary{justify-content:center}
.pk button.btn{font-family:var(--c-body)}
.status-grid{display:grid;gap:10px;margin:24px 0 8px}
.status-grid p{margin:0;color:var(--c-muted)}
.status-item{display:flex;align-items:center;gap:12px;background:var(--c-ground);border:1px solid var(--c-line);border-radius:14px;padding:14px 16px}
.status-icon{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;flex:none;font-weight:700;background:var(--c-tint);color:var(--c-green)}
.status-warn .status-icon{background:#fdf3dc;color:#80672E}
.status-fail .status-icon{background:#fbe9e7;color:#8a2a1f}
.status-ok{color:var(--c-green);font-weight:600}
.status-fail{font-weight:600}
.status-detail{margin-top:22px;border-top:1px solid var(--c-line);padding-top:16px}
.status-detail dl{display:grid;grid-template-columns:max-content 1fr;gap:8px 20px;margin:0}
.status-detail dt{font-weight:600;color:var(--c-muted)}
.status-detail dd{margin:0;overflow-wrap:anywhere}
.status-disclaimer{margin-top:20px}
.mini-card h2{font-size:1.5rem;margin-top:26px}
.bl .posts+.posts{margin-top:14px}
.art .back{margin-bottom:0}
.art .cta a{margin-top:6px}
.art a:not(.btn){color:var(--c-green);text-decoration:underline;text-underline-offset:3px}
.art blockquote{margin:0 0 14px}
.legal .legal-note{color:var(--c-muted)}
.legal table{display:block;overflow-x:auto}
.legal .limits,.legal .data-table{max-width:100%}
.coming{max-width:760px}
.off .box a.btn{margin-top:4px}
.off button.btn{border:0}
.sec.center .faq{margin-top:36px}
.faqpage{padding-bottom:clamp(24px,4vw,56px)}
.faqpage .faq{margin:0 auto}
.pmodel{margin-top:40px;border-radius:26px;overflow:hidden;border:1px solid var(--c-line);background:#EEF1EA;box-shadow:0 24px 60px rgba(15,61,46,.1);max-width:1000px}
.model-gate{position:relative;display:block;overflow:hidden;background:#edf2ea;height:520px}
.model-gate picture,.model-gate img{display:block;width:100%;height:100%;object-fit:cover}
.model-gate iframe{display:block;width:100%;height:100%;min-height:0;border:0;background:#edf2ea}
.model-gate__button{position:absolute;left:50%;bottom:24px;display:inline-flex;gap:9px;align-items:center;min-height:48px;padding:12px 24px;transform:translateX(-50%);border:1px solid var(--c-green);border-radius:999px;background:var(--c-green);color:#fff;font:700 .9rem var(--c-body);cursor:pointer;box-shadow:0 10px 26px rgba(7,63,47,.28)}
.model-gate__button:hover{background:var(--c-green-2)}
.model-gate__button:focus-visible{outline:3px solid var(--c-gold);outline-offset:3px}
@media(max-width:700px){.model-gate{height:640px}}
.phero .badge{display:inline-block;background:rgba(217,154,8,.18);color:#f2c35a;border-radius:999px;padding:5px 14px;font-size:.9rem}
.legal .table-wrap{overflow-x:auto}
/* Cookie page on a phone: every table row is a card, the name on top, then kind, purpose and lifetime,
   each with its column heading as a label (data-label, translated through data-i18n-attr).
   A name breaks only where the page puts a <wbr>, after . _ - or :. */
@media(max-width:620px){
  .cookies-page .legal thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .cookies-page .legal tbody,.cookies-page .legal tr,.cookies-page .legal td{display:block}
  .cookies-page .legal tr{margin:0 0 12px;padding:14px 16px;background:var(--c-ground);border:1px solid var(--c-line);border-radius:14px}
  .cookies-page .legal td{padding:0;border:0}
  .cookies-page .legal td+td{margin-top:10px}
  .cookies-page .legal td[data-label]::before{content:attr(data-label);display:block;margin-bottom:2px;font:600 .76rem var(--c-body);letter-spacing:.08em;text-transform:uppercase;color:var(--c-muted)}
  .cookies-page .legal code{word-break:normal;overflow-wrap:normal}
}
.hero+.sec,.hero+main{margin-top:0}
.actions-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:26px}
.faq-container{max-width:820px;margin:0 auto;border:1px solid var(--c-line);border-radius:20px;overflow:hidden;background:#fff}
.faq-item{border-top:1px solid var(--c-line);padding:0 24px}
.faq-item:first-child{border-top:0}
.faq-item h2{margin:0;font:inherit;letter-spacing:0;line-height:1.4}
.faq-question{display:flex;justify-content:space-between;align-items:center;gap:16px;width:100%;min-height:44px;padding:20px 0;border:0;background:none;text-align:left;cursor:pointer;font:600 1rem var(--c-body);color:var(--c-green)}
.faq-icon::after{content:"+";font-size:1.4rem;line-height:1;color:var(--c-muted)}
.faq-question[aria-expanded="true"] .faq-icon::after{content:"\2013"}
.faq-answer{padding:0 0 22px;color:var(--c-muted)}
.faq-answer[hidden]{display:none}
.faq-answer p{max-width:70ch}
.faq-question:focus-visible{outline:3px solid var(--c-green);outline-offset:2px}
.switch a{color:var(--c-green);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.fld{display:grid;gap:6px}
.fld>label{font:600 .88rem var(--c-body);color:var(--c-ink)}
.f .field-note{font-size:.82rem;color:var(--c-muted);margin:0}
@media(max-width:899px){.au-card .au-r{order:-1}}
.phero{background-color:#0a3a2b}
.pk .tag{font-size:.82rem}
.pk em.soon{font-size:.82rem}
.card2 h2{font-size:1.25rem;margin-bottom:8px}
}
/* Phones on a phone: full-size mockups in a swipe row, the next one peeking in. */
@media(max-width:620px){.hero-card>*{min-width:0}.ph-wrap{padding:8px 0 40px;min-width:0;max-width:100%}
.phones{width:100%;justify-content:flex-start;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 22px 18px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.phones::-webkit-scrollbar{display:none}
.phones .phone{flex:0 0 min(280px,74vw);width:min(280px,74vw);scroll-snap-align:center}
.phones .sp2 p{display:none}
.phones .phone.p2{order:-1}
.hsocial{justify-content:center;padding-left:0}
.hero-card{display:flex;flex-direction:column}.hsocial{order:3;padding:0 0 22px}.hsocial ul,.hsocial{gap:8px}.hsocial a{width:34px;height:34px}.hsocial svg{width:15px;height:15px}
.hero-in{padding:22px 22px 6px}
.hero .eyebrow{font-size:.82rem;letter-spacing:-.01em;margin-bottom:8px}
.hero h1{font-size:2.05rem;line-height:1.04}
.hero p.sub{display:none}.hero h1{margin-bottom:12px}
.hero .actions .btn{display:none}.hero .ghostlink{font-size:.9rem}
.ph-wrap{padding-top:0}
.hx-row{flex-direction:column;align-items:flex-start;gap:22px;width:fit-content;max-width:100%;margin-inline:auto;padding-inline:22px}}
/* App tour: four real app screens, four across, two by two on tablets, a swipe row on phones. */
.tour-sec{background:var(--c-ground);padding-block:clamp(40px,5vw,60px)}
.tour-sec h2{margin-bottom:6px}
.tour-sec .lead{margin:0}
.tour{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:22px}
.tp{margin:0;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}
.tp .phone{width:100%;max-width:220px;border-radius:40px;padding:9px;box-shadow:0 30px 60px rgba(7,63,47,.22),inset 0 0 0 2px #2a2f2c}
.tp .scr{border-radius:32px;padding-top:30px;background:#fffefa}
.tp .notch{width:72px;height:20px;top:8px}
.tp .scr img{height:100%;object-fit:cover;object-position:top}
.tp b{display:block;margin-bottom:4px;font:600 1.08rem var(--c-head);color:var(--c-green)}
.tp figcaption span{color:var(--c-muted);font-size:.92rem;line-height:1.45}
.tour-dots{display:none}
@media(max-width:900px){.tour{grid-template-columns:repeat(2,1fr);gap:34px 20px}}
@media(max-width:620px){
.tour{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:16px;margin-inline:-24px;padding:6px 24px 14px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.tour::-webkit-scrollbar{display:none}
.tp{flex:0 0 min(250px,68vw);scroll-snap-align:center}
.tour-dots{display:flex;justify-content:center;gap:2px;margin:2px 0 0}
.tour-dots[hidden]{display:none}
.tour-dots button{width:22px;height:22px;padding:0;border:0;background:none;cursor:pointer;display:grid;place-items:center}
.tour-dots button::before{content:"";width:8px;height:8px;border-radius:50%;background:rgba(7,63,47,.2);transition:background .2s,transform .2s}
.tour-dots button[aria-current="true"]::before{background:#b87d00;transform:scale(1.15)}
.tour-dots--hero{margin:0 auto 14px}
.tour-dots--hero button::before{background:rgba(255,255,255,.35)}
.tour-dots--hero button[aria-current="true"]::before{background:var(--c-gold)}
}
/* CLUB-1: the club page */
.club-hero{display:grid;gap:32px;align-items:center}
.club-hero__text{min-width:0}
.club-hero__phone{display:flex;justify-content:center}
.club-hero .phone{width:min(240px,100%);margin-inline:auto;border-radius:40px;padding:9px;box-shadow:0 30px 60px rgba(0,0,0,.4),inset 0 0 0 2px #2a2f2c}
.club-hero .scr{border-radius:32px;padding-top:30px;background:#fffefa}
.club-hero .notch{width:72px;height:20px;top:8px}
.club-hero .scr img{height:100%;object-fit:cover;object-position:top}
@media(min-width:900px){.club-hero{grid-template-columns:1.2fr .8fr}}
.clubs-page .lenses{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.clubs-page .lens h3{margin-top:0}
.club-member__grid{display:grid;gap:28px;align-items:center}
@media(min-width:900px){.club-member__grid{grid-template-columns:1fr 1fr;gap:56px}}
.club-privacy__card{border-radius:26px;padding:clamp(28px,5vw,56px)}
.club-privacy__card h2{max-width:24ch}
.club-faq{margin-top:44px;text-align:left}
.club-faq .faq-item h3{margin:0;font:inherit;letter-spacing:0;line-height:1.4}
.club-formcard{max-width:760px;margin-inline:auto}
.club-formcard .row2{gap:14px}
.pricing-club .pagecta{margin-top:22px}
