:root {
  --forest:#063f31; --green:#00643f; --ink:#122c24; --muted:#52675d;
  --lime:#d4f489; --mint:#e7f1e9; --cream:#f8f9f5; --line:#d3dfd5;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:24px; }
body { margin:0; color:var(--ink); background:var(--cream); font:16px/1.65 Arial,Helvetica,sans-serif; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
button { font:inherit; }
a:focus-visible,button:focus-visible,summary:focus-visible { outline:3px solid #299c76; outline-offset:5px; }
p { margin:0 0 20px; color:var(--muted); }
h1,h2,h3 { margin:0; font-weight:400; }
h1,h2 { font-family:Georgia,'Times New Roman',serif; line-height:1.06; letter-spacing:-1.7px; text-wrap:balance; }
h1 { font-size:clamp(48px,5.4vw,77px); }
h2 { font-size:clamp(37px,4vw,55px); margin-bottom:25px; }
h3 { font-size:21px; line-height:1.3; letter-spacing:-.45px; margin-bottom:14px; }
em { color:var(--green); }
img { max-width:100%; }
.wrap { width:calc(100% - 100px); max-width:1280px; margin-inline:auto; }
.section { padding-block:84px; }
.eyebrow { font-size:11px; font-weight:700; letter-spacing:1.6px; line-height:1.6; text-transform:uppercase; margin-bottom:23px; color:var(--green); }
.dot { display:inline-block; width:6px; height:6px; background:var(--lime); border-radius:50%; margin-right:8px; vertical-align:middle; }
.skip { position:fixed; top:-80px; left:20px; z-index:30; background:white; padding:14px; }
.skip:focus { top:10px; }
.header { height:96px; display:flex; align-items:center; justify-content:space-between; gap:30px; }
.brand { display:inline-flex; align-items:center; gap:8px; font-size:29px; font-weight:750; letter-spacing:-1.5px; line-height:1; }
.brand img { border-radius:11px; }
.brand>span>span { color:var(--green); }
.header nav { display:flex; align-items:center; gap:27px; font-size:14px; }
.header nav>a:not(.button):hover,.text-link:hover { text-decoration:underline; text-underline-offset:6px; }
.menu-toggle { display:none; }
.button { display:inline-flex; align-items:center; justify-content:space-between; gap:27px; min-height:54px; border-radius:99px; padding:16px 24px; background:var(--forest); color:white; font-size:14px; font-weight:700; line-height:1.3; transition:transform .2s,background .2s; }
.button>span { font-size:24px; font-weight:400; line-height:1; }
.button:hover { transform:translateY(-2px); background:#09573f; }
.button.small { font-size:13px; min-height:48px; padding:13px 19px; gap:22px; }
.button.lime { background:var(--lime); color:var(--forest); }
.button.lime:hover { background:#e4ffa7; }
.actions { display:flex; align-items:center; flex-wrap:wrap; gap:25px; }
.text-link { display:inline-flex; align-items:center; gap:20px; font-size:14px; font-weight:700; color:var(--forest); border-bottom:1px solid #9cb4a5; padding-bottom:5px; }
.text-link.light { color:white; border-color:#6e9a85; }
.hero { width:calc(100% - 32px); max-width:1476px; margin:auto; border-radius:25px; background:var(--forest); color:white; overflow:hidden; }
.hero-grid { display:grid; grid-template-columns:1.12fr 1fr; gap:60px; align-items:center; padding-block:48px; }
.hero .eyebrow { color:#cce5d5; }
.hero em,.contact em { color:var(--lime); }
.lead { max-width:525px; color:#d5e5da; font-size:16px; line-height:1.75; margin:25px 0 29px; }
.availability { border-left:2px solid #99bd87; padding-left:17px; margin-top:30px; max-width:515px; }
.availability strong { display:block; font-size:13px; font-weight:600; color:#e9f6ea; margin-bottom:6px; }
.availability p { color:#c0d8c9; font-size:12px; line-height:1.65; margin:0; }
.hero-product { position:relative; margin:0; display:flex; flex-direction:column; align-items:center; isolation:isolate; }
.product-halo { position:absolute; width:530px; height:530px; border:75px solid #247b5b; border-radius:50%; z-index:-1; top:80px; left:calc(50% - 265px); opacity:.6; }
.product-label { color:#d1e6d9; text-transform:uppercase; letter-spacing:1.4px; font-size:10px; margin-bottom:16px; }
.phone { position:relative; border:7px solid #152b25; border-radius:37px; width:276px; background:#fff; overflow:hidden; box-shadow:0 24px 60px #001e2445,0 0 0 1px #83ac8c; }
.phone img { width:100%; height:auto; display:block; }
.phone-speaker { position:absolute; top:6px; left:calc(50% - 28px); width:56px; height:6px; background:#152b25; border-radius:8px; }
.hero-product figcaption { font-size:11px; text-align:center; color:#c7decd; line-height:1.65; margin-top:16px; }
.trust-strip { display:grid; grid-template-columns:1.2fr 1.2fr .65fr; gap:35px; padding-block:29px; border-bottom:1px solid var(--line); font-size:12px; color:var(--muted); }
.trust-strip strong,.trust-strip a { display:inline-block; margin-top:5px; color:var(--forest); font-weight:600; font-size:13px; }
.trust-strip a { border-bottom:1px solid #a2bca8; }
.problem,.about { display:grid; grid-template-columns:1fr 1fr; gap:90px; align-items:center; }
.problem p:last-child,.about p:last-child { margin-bottom:0; }
.product-section { background:var(--mint); }
.section-heading { display:flex; justify-content:space-between; align-items:end; gap:40px; margin-bottom:34px; }
.section-heading h2 { margin-bottom:0; }
.section-heading>p { font-size:14px; margin-bottom:3px; }
.screen-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.screen-grid article { min-width:0; }
.screen-button { display:block; width:100%; height:350px; border:1px solid #bdcfc0; border-radius:19px; position:relative; padding:0; overflow:hidden; background:white; cursor:zoom-in; }
.screen-button>img { display:block; width:100%; height:100%; object-fit:contain; background:#f7faf5; }
.screen-button:hover { border-color:var(--green); }
.zoom { position:absolute; bottom:14px; right:14px; width:39px; height:39px; background:var(--forest); color:white; border-radius:50%; display:grid; place-items:center; font-size:23px; box-shadow:0 3px 12px #063f3120; }
.screen-copy { padding-top:24px; }
.step-number { font-size:10px; letter-spacing:1.4px; color:var(--green); font-weight:700; display:block; margin-bottom:12px; }
.screen-copy p { font-size:14px; margin-bottom:0; }
.product-footnote { margin-top:34px; padding-top:25px; border-top:1px solid #becfc0; display:flex; align-items:center; gap:45px; }
.product-footnote p { font-size:12px; margin:0; max-width:790px; }
.product-footnote a { white-space:nowrap; margin-left:auto; }
.financing { display:grid; grid-template-columns:1fr 1fr; gap:100px; }
.financing-intro>p:not(.eyebrow) { max-width:440px; }
.financing-list article { display:flex; gap:24px; padding:25px 0 6px; border-top:1px solid var(--line); }
.financing-list article>span { font-size:11px; color:var(--green); padding-top:4px; }
.financing-list h3 { font-size:19px; }
.financing-list p { font-size:14px; }
.audience-section { background:#eaf0e3; }
.audience-grid { display:grid; grid-template-columns:1fr 1fr; gap:95px; align-items:center; }
.audience-grid .actions { margin-top:29px; gap:23px; }
.partner-panel { padding:38px; background:#f7faf2; border:1px solid #c5d4bd; border-radius:22px; }
.panel-mark { display:grid; place-items:center; width:60px; height:60px; background:#dcebcf; border-radius:18px; color:var(--green); font-size:35px; margin-bottom:25px; }
.partner-panel h3 { font:30px/1.2 Georgia,serif; letter-spacing:-.5px; }
.check-list { list-style:none; padding:0; margin:24px 0; font-size:14px; }
.check-list li { margin-bottom:13px; padding-left:25px; position:relative; }
.check-list li:before { content:'✓'; position:absolute; left:0; color:var(--green); }
.partner-panel>p { font-size:13px; border-top:1px solid var(--line); padding-top:20px; margin:0; }
.corporate { background:var(--forest); color:white; }
.corporate .eyebrow { color:#c1d8b6; }
.corporate p { color:#d0e1d4; }
.corporate-condition { font-size:13px; }
.corporate .button { margin-top:9px; }
.corporate-story { border:1px solid #547c61; border-radius:22px; padding:40px; background:#0d4c39; }
.corporate-story .story-title { font:54px/1.07 Georgia,serif; letter-spacing:-1.5px; margin:45px 0; color:#fff; }
.corporate-story em { color:var(--lime); }
.corporate-story>span { font-size:12px; color:#c3d8bf; }
.about { border-bottom:1px solid var(--line); }
.faq { background:#edf2eb; }
.faq-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:85px; }
.faq-list details { border-bottom:1px solid #c5d5c8; }
.faq-list details:first-child { border-top:1px solid #c5d5c8; }
.faq-list summary { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:22px 0; list-style:none; font-size:15px; cursor:pointer; line-height:1.5; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary>span { font-size:22px; color:var(--green); }
.faq-list details[open] summary>span { transform:rotate(45deg); }
.faq-list details p { font-size:14px; margin-bottom:23px; }
.faq-list details p a,.legal-body a { text-decoration:underline; text-underline-offset:3px; }
.contact { margin-block:55px; border-radius:24px; background:var(--forest); color:white; padding:64px 30px; text-align:center; }
.contact .eyebrow { color:#c6ddc6; }
.contact .actions { justify-content:center; margin-top:30px; }
.contact>p:last-child { color:#c8dece; font-size:12px; margin:25px 0 0; }
footer { overflow:hidden; }
.footer-top { display:grid; grid-template-columns:.8fr .8fr 1.45fr; gap:40px; padding:15px 0 35px; }
.footer-top>p { font-size:14px; }
.footer-top nav { display:grid; grid-template-columns:1fr 1fr; gap:15px 30px; font-size:13px; }
.footer-top nav a:hover { text-decoration:underline; }
.footer-bottom { display:flex; justify-content:space-between; gap:60px; border-top:1px solid var(--line); padding-top:25px; }
.footer-bottom p { font-size:12px; max-width:690px; }
.footer-wordmark { font-size:clamp(80px,18vw,240px); font-weight:600; letter-spacing:-.075em; line-height:1.2; display:flex; align-items:center; color:var(--forest); margin:10px 0; }
.footer-wordmark>span { color:var(--green); }
.footer-wordmark>i { font-style:normal; font-size:.6em; margin-left:auto; color:#a4bf92; }
dialog { width:min(95vw,570px); max-height:94dvh; border:1px solid var(--line); border-radius:18px; padding:22px; background:var(--cream); color:var(--ink); }
dialog::backdrop { background:#052d25bb; }
.dialog-close { display:flex; align-items:center; gap:25px; margin-left:auto; padding:8px 14px; color:white; background:var(--forest); border:0; border-radius:25px; cursor:pointer; font-size:14px; }
.dialog-close>span { font-size:22px; }
#screen-dialog-caption { font-size:13px; margin:18px 0; }
#screen-dialog-image { display:block; width:min(100%,390px); height:auto; margin:auto; border:1px solid var(--line); border-radius:12px; }
body:has(dialog[open]) { overflow:hidden; }
.legal-body { max-width:850px; padding-block:65px; }
.legal-body h1 { font-size:49px; margin-bottom:28px; }
.legal-body h2 { font:25px/1.3 Arial,Helvetica,sans-serif; letter-spacing:-.6px; margin:35px 0 14px; }
.legal-body .legal-note { padding:22px; background:var(--mint); border-radius:14px; }
@media(max-width:1100px) {
  .wrap { width:calc(100% - 64px); }
  .header nav { gap:20px; font-size:13px; }
  .hero-grid { gap:35px; }
  h1 { font-size:59px; }
  .hero-product .phone { width:250px; }
  .problem,.about,.audience-grid,.financing { gap:55px; }
  .screen-button { height:300px; }
  .corporate-story { padding:30px; }
  .corporate-story .story-title { font-size:46px; }
}
@media(max-width:850px) {
  .header nav { gap:15px; font-size:12px; }
  .header .button { font-size:11px; padding-inline:15px; gap:15px; }
  .hero-grid { gap:25px; grid-template-columns:1.12fr 1fr; }
  h1 { font-size:48px; }
  .lead { font-size:15px; }
  .hero .actions { gap:18px; }
  .hero .button { font-size:12px; gap:17px; padding-inline:18px; }
  .hero .text-link { font-size:12px; }
  .hero-product .phone { width:220px; }
  .hero-product figcaption { font-size:10px; }
  .product-label { font-size:8px; }
  .availability p { font-size:12px; }
  .trust-strip { gap:25px; grid-template-columns:1fr 1fr; }
  .trust-strip>span:last-child { grid-column:1/-1; }
  .section { padding-block:65px; }
  .problem,.about,.financing,.audience-grid,.faq-grid { gap:35px; }
  .problem p,.about p,.audience-grid p { font-size:15px; }
  .screen-grid { gap:20px; }
  .screen-button { height:250px; }
  .screen-copy h3 { font-size:19px; }
  .screen-copy p { font-size:13px; }
  .step-number { font-size:9px; letter-spacing:1px; }
  .section-heading>p { max-width:240px; font-size:13px; }
  .product-footnote { gap:25px; align-items:start; }
  .product-footnote a { white-space:normal; min-width:135px; }
  .partner-panel { padding:25px; }
  .partner-panel h3 { font-size:26px; }
  .corporate-story .story-title { font-size:39px; }
  .footer-top { grid-template-columns:1fr 1fr; }
  .footer-top nav { grid-column:1/-1; }
}
@media(max-width:650px) {
  .wrap { width:calc(100% - 40px); }
  .header { height:78px; position:relative; z-index:10; }
  .brand { font-size:26px; }
  .brand img { width:36px; height:36px; }
  .menu-toggle { display:flex; flex-direction:column; justify-content:center; align-items:center; gap:6px; width:44px; height:44px; background:transparent; border:1px solid #bdcec0; border-radius:50%; }
  .menu-toggle>span { width:16px; height:1px; background:var(--forest); }
  .header nav { display:none; position:absolute; top:67px; left:-8px; right:-8px; background:var(--cream); border:1px solid var(--line); border-radius:16px; padding:20px; box-shadow:0 15px 35px #063f3120; }
  .header nav.open { display:flex; flex-direction:column; align-items:stretch; gap:0; }
  .header nav>a:not(.button) { font-size:15px; padding:14px 3px; }
  .header .button { font-size:14px; padding:16px 20px; margin-top:13px; }
  .hero { width:calc(100% - 20px); border-radius:20px; }
  .hero-grid { width:calc(100% - 48px); display:flex; flex-direction:column; padding-block:37px 30px; gap:35px; }
  .hero-copy { width:100%; }
  h1 { font-size:clamp(38px,10.4vw,62px); letter-spacing:-1.5px; }
  h2 { font-size:38px; }
  .eyebrow { font-size:10px; letter-spacing:1.2px; margin-bottom:21px; }
  .hero .eyebrow { font-size:9px; }
  .lead { font-size:15px; margin-block:23px; }
  .hero .actions { gap:20px; }
  .hero .button { font-size:13px; padding:16px 20px; }
  .hero .text-link { font-size:13px; }
  .availability { margin-top:26px; padding-left:14px; }
  .availability strong { font-size:13px; }
  .availability p { font-size:12px; }
  .hero-product { width:100%; }
  .hero-product .phone { width:222px; border-width:6px; border-radius:31px; }
  .product-label { font-size:9px; }
  .hero-product figcaption { font-size:11px; }
  .product-halo { width:390px; height:390px; border-width:50px; left:calc(50% - 195px); top:55px; }
  .trust-strip { grid-template-columns:1fr; gap:18px; padding-block:26px; }
  .trust-strip>span:last-child { grid-column:auto; }
  .trust-strip strong,.trust-strip a { font-size:13px; }
  .section { padding-block:52px; }
  .problem,.about,.financing,.audience-grid,.faq-grid { grid-template-columns:1fr; gap:20px; }
  .problem h2,.about h2 { margin-bottom:0; }
  .problem p,.about p,.audience-grid p { font-size:15px; }
  .section-heading { display:block; margin-bottom:26px; }
  .section-heading>p { max-width:none; font-size:14px; margin-top:22px; }
  .screen-grid { grid-template-columns:1fr; gap:35px; }
  .screen-grid article { display:grid; grid-template-columns:126px 1fr; gap:19px; }
  .screen-button { height:260px; border-radius:13px; }
  .screen-button img { height:100%; width:100%; object-fit:cover; object-position:top; }
  .zoom { width:31px; height:31px; font-size:19px; right:8px; bottom:8px; }
  .screen-copy { padding-top:3px; }
  .screen-copy h3 { font-size:20px; }
  .screen-copy p { font-size:14px; }
  .step-number { font-size:9px; line-height:1.7; }
  .product-footnote { display:block; margin-top:29px; }
  .product-footnote p { font-size:12px; margin-bottom:20px; }
  .product-footnote a { font-size:14px; }
  .financing-intro .text-link { margin-bottom:13px; }
  .financing-list article { gap:18px; }
  .financing-list h3 { font-size:19px; }
  .financing-list p { font-size:14px; }
  .audience-grid .actions { gap:22px; }
  .partner-panel { margin-top:15px; padding:27px; }
  .corporate-story { order:2; margin-top:15px; padding:29px; }
  .corporate-story .story-title { font-size:43px; margin-block:30px; }
  .corporate .corporate-condition { font-size:13px; }
  .faq-grid { gap:30px; }
  .faq-list summary { font-size:15px; }
  .contact { padding:47px 22px; margin-block:35px; }
  .contact .actions { flex-direction:column; gap:24px; }
  .contact h2 { font-size:36px; }
  .contact>p:last-child { font-size:12px; }
  .footer-top { gap:23px 20px; padding-top:10px; }
  .footer-top>p { font-size:12px; margin:0; }
  .footer-top nav { gap:18px; font-size:13px; overflow-wrap:anywhere; }
  .footer-bottom { display:block; }
  .footer-bottom p { font-size:12px; }
  .footer-wordmark { font-size:20vw; }
  .legal-body { padding-block:38px; }
  .legal-body h1 { font-size:39px; }
}
@media(max-width:360px) {
  .screen-grid article { grid-template-columns:103px 1fr; gap:14px; }
  .screen-button { height:217px; }
  .screen-copy h3 { font-size:18px; }
  .screen-copy p { font-size:13px; }
  h2 { font-size:34px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*:before,*:after { transition:none!important; }
}
/* Bring the actual product directly below the mobile action. */
@media(max-width:650px) {
  .hero-grid { gap:0; }
  .hero-copy { display:contents; }
  .hero-copy>.eyebrow { order:1; width:100%; }
  .hero-copy>h1 { order:2; width:100%; }
  .hero-copy>.lead { order:3; }
  .hero-copy>.actions { order:4; width:100%; gap:17px; }
  .hero-copy>.actions .text-link { gap:12px; }
  .hero-copy>.actions .button { gap:18px; padding-inline:18px; }
  .hero-product { order:5; margin-top:32px; }
  .hero-copy>.availability { order:6; width:100%; margin-top:25px; }
}

.company-address { font-style:normal; font-size:13px; line-height:1.8; color:var(--muted); overflow-wrap:anywhere; }
.company-address strong { color:var(--forest); font-weight:600; }
@media(max-width:650px) { .footer-top .company-address { grid-column:1/-1; } }
