:root { --ink:#27383a;--muted:#566567;--teal:#176b70;--teal-dark:#104f52;--sage:#a3bfa8;--sage-soft:#eaf1ec;--white:#fff;--ivory:#f8faf8;--line:#d9e4dd;--sand:#f4f1ea;--shadow:0 14px 36px rgba(23,63,57,.06); }
* {box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;font-family:Arial,Helvetica,sans-serif;line-height:1.62;font-size:16px;color:var(--ink);background:#fff} a{color:var(--teal)} a:hover{text-decoration-thickness:2px}button,input,textarea{font:inherit}button{cursor:pointer} :focus-visible{outline:3px solid #c77c3c;outline-offset:3px} img,svg{max-width:100%} .shell{max-width:1160px;padding:0 28px;margin:auto} .skip{position:absolute;left:-1000px;top:4px;background:#fff;padding:12px;z-index:300}.skip:focus{left:12px}
.preview-banner{background:#263d40;color:#f8faf8;text-align:center;padding:10px 14px;font-size:13px;letter-spacing:.012em}.preview-banner strong{color:white}.nav{background:#fff;border-bottom:1px solid #e7ede9}.nav-inner{height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{text-decoration:none;color:var(--ink);display:inline-flex;align-items:center;gap:11px;min-width:0}.brand-icon{width:54px;height:54px;flex-shrink:0}.brand-words{display:block;font-weight:700;font-size:21px;letter-spacing:-.045em;line-height:1.03}.brand-words small{display:block;font-weight:500;font-size:10px;letter-spacing:.12em;margin-top:7px;text-transform:uppercase;color:var(--teal)}.navlinks{display:flex;align-items:center;gap:28px;font-size:14px}.navlinks a{text-decoration:none;font-weight:700;color:#395455}.navlinks a:hover{color:var(--teal)}
.btn{display:inline-flex;align-items:center;justify-content:center;text-align:center;text-decoration:none;font-size:15px;font-weight:700;border-radius:5px;min-height:48px;padding:13px 22px;border:1px solid var(--teal);background:var(--teal);color:#fff;box-shadow:none;line-height:1.35;transition:background .15s, transform .15s}.btn:hover{background:var(--teal-dark);color:#fff;transform:translateY(-1px)}.btn-secondary{background:transparent;color:var(--teal);border:1px solid var(--teal)}.btn-secondary:hover{background:var(--sage-soft);color:var(--teal)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-sm{padding:9px 17px;min-height:40px;font-size:13px}.caps{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.17em;color:var(--teal);margin:0 0 16px}.hero{text-align:center;background:var(--ivory);padding:72px 0 70px}.hero-inner{max-width:900px;margin:auto}.hero h1{font-size:clamp(37px,4.3vw,62px);line-height:1.13;letter-spacing:-.052em;font-weight:700;margin:0 auto 19px;max-width:870px;color:#213d3f}.hero .subhead{font-size:clamp(20px,2vw,25px);line-height:1.45;margin:0 auto 36px;max-width:760px;color:#526367}.video-frame{background:#dce9e2;border:1px solid #c3d8cf;border-radius:9px;aspect-ratio:16/9;max-width:820px;margin:0 auto;overflow:hidden;position:relative;display:grid;place-items:center}.video-interior{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;gap:11px}.play-round{width:86px;height:86px;border-radius:50%;border:2px solid var(--teal);display:grid;place-items:center;background:#f6faf7}.play-round svg{width:33px;height:33px;margin-left:4px}.video-frame strong{font-size:21px;color:#2e5354}.video-frame span{font-size:14px;color:#5d7774;max-width:400px}.microcopy{font-size:14px;color:#657776;margin:16px 0 0}
.section{padding:88px 0}.section-soft{background:var(--ivory)}.section-sage{background:#eaf0eb}.kicker{color:var(--teal);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.14em;margin:0 0 14px}.section-heading{font-size:clamp(29px,3vw,42px);letter-spacing:-.04em;line-height:1.2;margin:0 0 17px;color:#264347}.section-intro{font-size:18px;color:var(--muted);max-width:760px;margin:0 0 40px}.center{text-align:center}.center .section-intro{margin:0 auto 42px}.three-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.situation{border:1px solid var(--line);background:#fff;padding:29px 27px;border-radius:6px;min-height:230px}.situation .number{font-size:14px;font-weight:800;color:var(--teal);margin-bottom:19px}.situation h3{font-size:20px;letter-spacing:-.025em;line-height:1.37;margin:0 0 13px}.situation p{color:var(--muted);font-size:15px;margin:0}
.method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.method{border-top:2px solid var(--teal);padding-top:25px}.method .digit{font-size:13px;letter-spacing:.14em;font-weight:700;color:var(--teal)}.method h3{font-size:28px;letter-spacing:-.035em;margin:9px 0 11px}.method p{font-size:16px;color:var(--muted);margin:0}.mantra{font-size:19px;font-weight:700;color:#245153;text-align:center;margin:47px auto 0}
.offer-lead{max-width:860px}.offer-lead .section-intro{max-width:770px}.include{display:grid;grid-template-columns:1fr 1fr 1fr;gap:13px;margin:34px 0 32px}.include div{display:flex;align-items:flex-start;gap:10px;font-size:15px}.tick{color:var(--teal);font-weight:bold;font-size:18px}.offers{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:stretch;margin-top:36px}.offer{background:#fff;border:1px solid var(--line);border-radius:7px;padding:32px;display:flex;flex-direction:column;box-shadow:var(--shadow)}.offer.featured{border:2px solid var(--teal)}.offer-head{min-height:129px}.offer h3{font-size:22px;line-height:1.22;margin:0 0 7px;letter-spacing:-.028em}.offer .subtitle{color:var(--muted);font-size:14px;margin:0 0 20px}.price{font-size:46px;line-height:1.05;font-weight:700;letter-spacing:-.055em;color:var(--teal);margin:14px 0 21px}.currency{font-size:13px;color:#6a7777;margin:0 0 19px}.offer ul{list-style:none;margin:0 0 30px;padding:0}.offer li{padding:9px 0 9px 29px;position:relative;font-size:15px;border-top:1px solid #edf0ee}.offer li::before{content:'✓';font-size:16px;font-weight:700;color:var(--teal);position:absolute;left:1px}.offer .btn{margin-top:auto}.offer-footnote{font-size:13px;color:#657574;text-align:center;margin:22px 0 0}.offer-details{font-size:15px;color:var(--muted)}
.karine-wrap{max-width:920px}.karine-body{font-size:18px;color:#3d5557}.karine-body p{margin:0 0 16px}.quote{font-size:22px;font-weight:700;color:#215457;line-height:1.45;padding:8px 0 8px 26px;margin:26px 0;border-left:3px solid var(--sage)}.principle{background:#e9f0ea;padding:24px 27px;border-left:3px solid var(--teal);font-size:17px;margin-top:25px}
.faq{max-width:830px;margin:auto}.faq details{padding:21px 0;border-bottom:1px solid #d7e2dc}.faq summary{list-style:none;cursor:pointer;font-size:18px;font-weight:700;display:flex;justify-content:space-between;align-items:center;gap:20px}.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:'+';font-size:27px;color:var(--teal);font-weight:400}.faq details[open] summary::after{content:'–'}.faq p{margin:14px 35px 4px 0;color:var(--muted)}.end-section{background:#23474a;color:#fff}.end-section .section-heading{color:#fff;max-width:800px;margin:0 auto 20px}.end-section p{max-width:760px;margin:0 auto 15px;color:#e6f1ed;font-size:18px}.end-btns{display:flex;justify-content:center;flex-wrap:wrap;gap:14px;margin:33px auto 0}.end-btns .btn{background:#fff;color:#205355;border:1px solid #fff}.end-btns .btn:hover{background:#e6efea}.end-btns .btn-secondary{background:transparent;border:1px solid #dfeae5;color:#fff}.end-btns .btn-secondary:hover{background:#406266}
.contact-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:70px;align-items:start}.contact-layout .section-intro{font-size:17px;margin-bottom:18px}.contact-form{background:#fff;border:1px solid var(--line);padding:28px;border-radius:7px}.field{margin-bottom:17px}.field label{display:block;font-size:14px;font-weight:700;margin-bottom:7px}.field input,.field textarea{display:block;width:100%;border:1px solid #b9cbc2;background:#fff;border-radius:4px;padding:12px 13px;color:#20393a}.field textarea{resize:vertical;min-height:130px}.field input:disabled,.field textarea:disabled{background:#f7f9f7;color:#778987}.form-note{font-size:12px;color:#647671;line-height:1.5}.not-ready{padding:11px 14px;background:#f3f6f2;color:#526461;border:1px solid #d5e0d8;font-size:14px;border-radius:4px;margin:0 0 18px}
.footer{background:#1c3538;color:#f3f8f5;padding:42px 0}.footer-inner{display:flex;align-items:flex-start;justify-content:space-between;gap:25px}.footer-brand{font-weight:700;font-size:19px;letter-spacing:-.02em}.footer-brand small{display:block;font-size:13px;font-weight:400;color:#b3cdca;margin-top:6px}.footer-links{display:flex;flex-wrap:wrap;gap:12px 21px;justify-content:flex-end}.footer a{color:#eff8f4;font-size:13px}.footer .copyright{color:#a6bdb8;font-size:12px;margin-top:34px}
.legal-page{max-width:850px;margin:auto;padding:52px 25px 100px}.legal-page .legal-badge{background:#f4efe5;color:#695526;padding:12px 16px;font-size:14px;margin-bottom:28px;border:1px solid #e4d8bd}.legal-page h1{font-size:44px;line-height:1.2;letter-spacing:-.045em}.legal-page h2{font-size:22px;margin-top:35px}.legal-page p,.legal-page li{line-height:1.75}.legal-page ul{padding-left:23px}.legal-page .back{font-size:14px;text-decoration:none}.legal-page .back::before{content:'← ';font-size:18px}.legal-page .note{background:var(--sage-soft);padding:14px 16px;font-size:14px}
.dialog-overlay{position:fixed;inset:0;background:rgba(17,36,35,.58);display:none;align-items:center;justify-content:center;padding:20px;z-index:400}.dialog-overlay[aria-hidden="false"]{display:flex}.dialog{background:#fff;border-radius:6px;max-width:480px;width:100%;padding:30px;position:relative;box-shadow:0 24px 65px rgba(0,0,0,.22)}.dialog h2{font-size:24px;margin:0 0 14px}.dialog p{color:var(--muted)}.dialog .close{position:absolute;right:17px;top:16px;border:none;background:transparent;font-size:28px;cursor:pointer}
@media(max-width:850px){.three-grid,.method-grid{grid-template-columns:1fr;gap:14px}.situation{min-height:0}.method{padding-top:16px}.method+.method{margin-top:13px}.navlinks{gap:15px}.include{grid-template-columns:1fr}.contact-layout{grid-template-columns:1fr;gap:26px}}@media(max-width:620px){.shell{padding:0 20px}.nav-inner{height:75px}.navlinks a:not(.btn){display:none}.brand-icon{width:43px;height:43px}.brand-words{font-size:17px}.brand-words small{font-size:8px}.nav .btn-sm{font-size:12px;padding:8px 12px;min-height:36px}.hero{padding:50px 0 58px}.hero h1{font-size:clamp(32px,8vw,43px);letter-spacing:-.045em}.hero .subhead{font-size:18px;margin-bottom:26px}.video-interior{padding:14px;gap:6px}.play-round{width:56px;height:56px}.play-round svg{width:24px;height:24px}.video-frame strong{font-size:16px}.video-frame span{font-size:12px}.section{padding:60px 0}.section-heading{font-size:30px}.section-intro{font-size:16px}.three-grid{gap:10px}.situation{padding:22px}.situation .number{margin-bottom:8px}.method h3{font-size:25px}.offers{grid-template-columns:1fr;gap:17px}.offer{padding:26px}.offer-head{min-height:0}.offer .price{font-size:42px}.karine-body{font-size:16px}.quote{font-size:19px}.faq summary{font-size:16px}.end-section p{font-size:16px}.end-btns{flex-direction:column}.contact-form{padding:20px}.footer-inner{flex-direction:column}.footer-links{justify-content:flex-start}.legal-page{padding-top:36px}.legal-page h1{font-size:33px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}}

/* Preserve button contrast within navigation. */
.navlinks a.btn, .navlinks a.btn:hover { color: #fff; }
