:root{--ink:#26414C;--sage:#A5CDB6;--body:#2f4650;--mute:#51666f;--line:#d3dee2;--soft:#f3f7f8;--tint:#e7f2eb;--blush:#f7e6dc;--ph:#6b7f90}
.pg,.ft{font:400 19px/1.65 Montserrat,system-ui,sans-serif;color:var(--body);-webkit-font-smoothing:antialiased}
.pg{width:100%;background:#fff}
.pg *,.ft *{box-sizing:border-box}
.pg h1,.pg h2,.pg h3,.ft h2,.ft h3{font-family:Poppins,system-ui,sans-serif;font-weight:700;color:var(--ink);margin:0;letter-spacing:-.01em}
.pg h1{font-size:54px;line-height:1.12}
.pg h2,.ft h2{font-size:40px;line-height:1.18}
.pg h3,.ft h3{font-size:26px;line-height:1.3}
.pg p,.ft p{margin:0}
.sub{font:500 22px/1.45 Poppins,system-ui,sans-serif;color:var(--ink)}
.lead{font-size:21px;line-height:1.6}
.small{font-size:18px;line-height:1.55;color:var(--mute)}
.wrap{padding:0 120px}
.sec{padding:96px 0}
.soft{background:var(--soft)}
.tint{background:var(--tint)}
.navy{background:var(--ink);color:#e6edf3}
.navy h2,.navy h3{color:#fff}
.st{display:flex;flex-direction:column;gap:20px}
.g2,.g3,.ba{display:grid;gap:48px}
.g2,.ba{grid-template-columns:repeat(2,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.navy a:focus-visible,.ft a:focus-visible,.ft input:focus-visible,.ft textarea:focus-visible,.ft button:focus-visible{outline-color:var(--sage)}
.hd{display:flex;align-items:center;justify-content:space-between;gap:24px;height:80px;border-bottom:2px solid var(--line)}
.nav{display:flex;align-items:center;gap:32px}
.nav a,.tel{font:500 18px Poppins,sans-serif;color:var(--ink);text-decoration:none;white-space:nowrap}
.tel{font-weight:600}
.hdr{display:flex;align-items:center;gap:32px}
.mshow{display:none}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:60px;padding:0 32px;border-radius:12px;border:2px solid transparent;font:600 19px Poppins,sans-serif;text-decoration:none;white-space:nowrap;cursor:pointer}
.btn-p{background:var(--sage);color:var(--ink);border-color:var(--sage)}
.btn-p:hover{background:#b9d9c6;border-color:#b9d9c6}
.btn-s{background:#fff;color:var(--ink);border-color:var(--ink)}
.btn-s:hover{background:var(--tint)}
.btn-n{background:transparent;color:#fff;border-color:#fff}
.btn-n:hover{background:#355662}
.btn:active,.ans-btn:active{transform:translateY(1px)}
.btn.sm{min-height:52px;padding:0 24px;font-size:18px}
.btns{display:flex;gap:16px;flex-wrap:wrap}
.hero{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:64px;align-items:center;padding:72px 0}
.ph{display:flex;flex-direction:column;justify-content:center;gap:8px;padding:28px;min-height:480px;border:2px dashed var(--ph);border-radius:12px;background:#e6ecf1;color:var(--ink)}
.ph b{font:600 18px Poppins,sans-serif}
.ph span{font-size:18px;line-height:1.5;color:var(--mute)}
.ph.short{min-height:340px}
.pdiag{display:flex;flex-direction:column;gap:20px;padding:36px;border-radius:12px;background:var(--soft)}
.lab{font:600 18px Poppins,sans-serif;color:var(--mute)}
.mess{display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.mess .chip:nth-child(2n){margin-left:44px}
.mess .chip:nth-child(3n){margin-left:18px}
.chip{display:inline-flex;align-items:center;padding:10px 18px;border-radius:10px;border:2px solid var(--ink);background:#fff;font:600 18px/1.3 Poppins,sans-serif;color:var(--ink)}
.chip.big{justify-content:center;width:100%;padding:24px;border-color:var(--sage);background:var(--sage);font-size:24px}
.arr{align-self:center;display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:var(--ink);color:var(--sage);font:700 28px Poppins,sans-serif}
.panel{padding:32px;border:2px solid var(--line);border-radius:12px;background:#fff}
.tag-ex{display:inline-flex;align-self:flex-start;padding:4px 12px;border-radius:6px;background:var(--ink);color:#fff;font:600 18px Poppins,sans-serif}
.total{font:700 34px/1.2 Poppins,sans-serif;color:var(--ink)}
.bar{display:flex;gap:2px;height:56px;overflow:hidden;border-radius:8px;border:2px solid var(--ink)}
.bar i{display:block;min-width:0}
.lg{display:flex;align-items:center;gap:12px;font-size:18px;line-height:1.4}
.lg b{margin-left:auto;font:600 18px Poppins,sans-serif;color:var(--ink);white-space:nowrap}
.sw{flex:none;width:18px;height:18px;border-radius:4px;border:2px solid var(--ink)}
.stp{display:flex;flex-direction:column;gap:12px;padding-top:24px;border-top:6px solid var(--sage)}
.num{display:flex;align-items:center;justify-content:center;flex:none;width:56px;height:56px;border-radius:50%;background:var(--ink);color:var(--sage);font:700 26px Poppins,sans-serif}
.tile{display:flex;flex-direction:column;gap:12px;padding:32px;border:2px solid var(--line);border-top:6px solid var(--sage);border-radius:12px;background:#fff}
.tile h3{font-size:24px}
.tile.feat{grid-column:1 / -1;background:var(--tint);border-color:var(--sage)}
.more{display:inline-flex;align-items:center;min-height:48px;margin-top:auto;font:600 18px Poppins,sans-serif;color:var(--ink);text-decoration:underline;text-underline-offset:4px}
.tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.ul{display:flex;flex-direction:column;gap:14px;margin:0;padding:0;list-style:none}
.ul li{position:relative;padding-left:34px}
.ul li::before{content:"";position:absolute;left:0;top:.48em;width:16px;height:16px;border-radius:4px;background:var(--sage);border:2px solid var(--ink)}
.ul.no li::before{background:#fff}
.box{padding:36px;border:2px solid var(--ink);border-radius:12px;background:#fff}
.box.yes{border-top:8px solid var(--sage)}
.prom{padding-top:20px;border-top:4px solid var(--sage)}
.prom p{color:#d5e0e8}
.rv{display:flex;flex-direction:column;gap:8px;min-height:200px;padding:28px;border:2px dashed var(--ph);border-radius:12px;background:#f7f9fb;color:var(--ink)}
.rv b{font:600 18px Poppins,sans-serif}
.rv span{font-size:18px;line-height:1.5;color:var(--mute)}
.faq{display:flex;flex-direction:column;gap:12px;max-width:920px}
details{border:2px solid var(--line);border-radius:12px;background:#fff}
summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:68px;padding:18px 28px;cursor:pointer;list-style:none;font:600 21px/1.4 Poppins,sans-serif;color:var(--ink)}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";flex:none;font:700 30px Poppins,sans-serif}
details[open] summary::after{content:"-"}
details[open]{border-color:var(--ink)}
.ans{padding:0 28px 26px}
.fld{display:flex;flex-direction:column;gap:8px}
.fld label{font:600 18px Poppins,sans-serif}
.in{width:100%;height:58px;padding:0 16px;border:2px solid #52667a;border-radius:10px;background:#fff;color:var(--ink);font:400 18px Montserrat,sans-serif}
textarea.in{height:130px;padding:14px 16px;resize:vertical}
.ft{padding:88px 0 48px;background:var(--ink);color:#e6edf3}
.ft h2,.ft h3{color:#fff}
.ft a{color:#fff}
.ft .tel{font:700 30px Poppins,sans-serif}
.lic{margin-top:56px;padding-top:24px;border-top:1px solid #4f6b77;font:500 18px/1.7 Montserrat,sans-serif;color:#c9d6e0}
.crumbs{display:flex;flex-wrap:wrap;gap:10px;padding:20px 0;font-size:18px;color:var(--mute)}
.crumbs a{color:var(--ink)}
.pills{display:flex;flex-wrap:wrap;gap:12px}
.pill{display:inline-flex;align-items:center;min-height:56px;padding:0 24px;border:2px solid var(--ink);border-radius:12px;background:#fff;font:600 18px Poppins,sans-serif;color:var(--ink);text-decoration:none}
.pill:hover{background:var(--tint)}
.hood{display:inline-flex;align-items:center;min-height:52px;padding:0 20px;border-radius:12px;background:var(--soft);font:500 18px Poppins,sans-serif;color:var(--ink)}
.band{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:48px;border-radius:12px;background:var(--tint)}
.qwrap{max-width:820px;margin:0 auto}
.prog{display:flex;height:22px;border:2px solid var(--ink);border-radius:11px;background:#fff;overflow:hidden}
.prog i{display:block;background:var(--sage)}
.ans-btn{display:flex;align-items:center;width:100%;min-height:76px;padding:16px 28px;border:2px solid var(--ink);border-radius:12px;background:#fff;color:var(--ink);font:600 21px/1.35 Poppins,sans-serif;text-align:left;cursor:pointer}
.ans-btn:hover{background:var(--tint)}
.linkbtn{align-self:flex-start;min-height:48px;padding:0;border:0;background:none;font:600 18px Poppins,sans-serif;color:var(--ink);text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.node{display:flex;flex-direction:column;gap:12px;padding:24px;border:2px solid var(--line);border-radius:12px;background:#fff}
.node.last{background:var(--tint);border-color:var(--sage)}
.brand{display:flex;align-items:center;text-decoration:none}
.bn{font:700 28px/1.1 Poppins,sans-serif;color:var(--ink);white-space:nowrap;letter-spacing:-.01em}
.pg h1.mid{font-size:46px;line-height:1.14}
.pg h2.big{font-size:48px;line-height:1.12}
.rehab{background:var(--blush)}
.free{display:flex;align-items:center;justify-content:center;width:220px;height:220px;border-radius:50%;background:var(--sage);color:var(--ink);font:700 60px Poppins,sans-serif}
.disc{padding:22px 28px;border:2px solid var(--ink);border-radius:12px;background:var(--blush);color:var(--ink);font:500 19px/1.6 Montserrat,sans-serif}
.ico{display:flex;align-items:center;justify-content:center;flex:none;width:56px;height:56px;border-radius:12px;background:var(--tint)}
.tiles .tile{position:relative}
.opp{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.oi{display:flex;flex-direction:column;gap:12px;padding:32px;border:2px solid var(--line);border-top:6px solid var(--sage);border-radius:12px;background:#fff}
.oi.span{grid-column:1 / -1}
.oi.rose{background:var(--blush);border-color:var(--blush);border-top-color:var(--sage)}
.pts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.pt{display:flex;flex-direction:column;gap:4px;padding:16px 20px;border-radius:10px;background:var(--tint)}
.pt b{font:600 19px/1.35 Poppins,sans-serif;color:var(--ink)}
.tag-ph{display:inline-flex;align-self:flex-start;padding:4px 14px;border:2px dashed var(--ink);border-radius:6px;background:#fff;color:var(--ink);font:600 18px Poppins,sans-serif}
.chk{display:flex;gap:14px;align-items:flex-start;font-size:18px;line-height:1.5}
.chk input{flex:none;width:28px;height:28px;margin:2px 0 0;accent-color:var(--ink)}
.btn-d{background:#4a6b78;color:#fff;border-color:#fff}
.btn-d:hover{background:#5a7c89}
.ft .btn-p{color:var(--ink)}
.ft p{font-size:19px}
.scr{display:flex;flex-direction:column;gap:12px}
.scr-tag{font:700 18px Poppins,sans-serif;color:var(--ink)}
.scr-card{display:flex;flex-direction:column;gap:20px;padding:32px;border:2px solid var(--line);border-radius:12px;background:#fff}
.note{padding:12px 16px;border-radius:8px;background:var(--blush);color:var(--ink);font-size:18px;line-height:1.5}
.sg{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;position:relative}
.sgi{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:0 24px 0 0}
.sgi .dot{display:flex;align-items:center;justify-content:center;width:84px;height:84px;border-radius:50%;background:var(--sage);border:3px solid var(--ink);position:relative;z-index:1}
.sgi::before{content:"";position:absolute;top:40px;left:84px;right:0;height:0;border-top:4px dashed var(--ink)}
.sgi::after{content:"";position:absolute;top:31px;right:6px;width:16px;height:16px;border-top:4px solid var(--ink);border-right:4px solid var(--ink);transform:rotate(45deg)}
.sgi.last::before,.sgi.last::after{display:none}
.sgi.last .dot{background:var(--tint)}
.sgi .sn{font:700 18px Poppins,sans-serif;color:var(--mute)}
.wrap{max-width:1440px;margin-left:auto;margin-right:auto}
html{scroll-behavior:smooth}body{margin:0;background:#fff}
.skip{position:absolute;left:-9999px;top:8px;padding:12px 16px;background:#fff;color:var(--ink);z-index:99}.skip:focus{left:8px}
img,svg{max-width:100%;height:auto}
@media (max-width:1100px){.wrap{padding:0 40px}.nav{gap:20px}.hdr{gap:20px}.pg h1{font-size:46px}}

a.ans-btn{text-decoration:none}
.mshow,.btn.mshow{display:none}
.hd{gap:20px}.hdr{gap:20px}.nav{gap:20px}.bn{font-size:26px}.hd .btn.sm{padding:0 20px;font-size:17px}
@media (max-width:1300px){.nav a[href$="#faq"],.hdr .tel.dshow{display:none}}
@media (max-width:1100px){.nav{display:none}}
@media (max-width:860px){
.pg{font-size:18px}
.pg h1{font-size:36px}
.pg h2,.ft h2{font-size:30px}
.pg h3{font-size:23px}
.lead{font-size:19px}
.wrap{padding:0 20px}
.sec{padding:56px 0}
.g2,.g3,.ba,.hero{grid-template-columns:minmax(0,1fr);gap:28px}
.nav,.dshow{display:none}
.mshow,.btn.mshow{display:inline-flex}
.nav,.dshow,.btn.dshow{display:none}
.hd{height:72px}
.btns{flex-direction:column}
.btn{width:100%;white-space:normal;text-align:center}
.btn.sm{width:auto}
.hero{padding:32px 0}
.ph{min-height:240px;padding:20px}
.ph.short{min-height:220px}
.pdiag{padding:20px}
.panel{padding:20px}
.tile{padding:24px}
.tile.feat{grid-column:auto}
.tiles{grid-template-columns:minmax(0,1fr)}
.box{padding:24px}
summary{padding:16px 20px;font-size:19px}
.ans{padding:0 20px 22px}
.ft{padding:56px 0 32px}
.band{flex-direction:column;align-items:stretch;padding:28px;gap:20px}
.ans-btn{padding:14px 20px;font-size:19px}
.flow{grid-template-columns:minmax(0,1fr)}
.bn{font-size:20px;white-space:normal;max-width:150px;line-height:1.15}
.pg h1.mid{font-size:34px}
.pg h2.big{font-size:32px}
.free{width:150px;height:150px;font-size:42px}
.disc{padding:18px 20px;font-size:18px}
.opp{grid-template-columns:minmax(0,1fr)}
.oi{padding:24px}
.oi.span{grid-column:auto}
.pts{grid-template-columns:minmax(0,1fr);gap:16px}
.sg{grid-template-columns:minmax(0,1fr);gap:28px}
.sgi{padding:0 0 0 108px;min-height:84px;justify-content:center}
.sgi .dot{position:absolute;left:0;top:0}
.sgi::before{top:84px;left:42px;right:auto;height:calc(100% + 28px - 84px);border-top:0;border-left:4px dashed var(--ink)}
.sgi::after{display:none}
.sgi.last::before{display:none}
}
/* build additions (not in the design board): charts, form errors, honeypot, quiz card states */
.chart{margin:0;padding:24px;border:2px solid var(--line);border-radius:12px;background:#fff}
.chart svg{display:block;width:100%;height:auto}
.chart figcaption{margin-top:12px;font-size:16px;line-height:1.5;color:var(--mute)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.ferr{min-height:0;color:#8C2F2F;font:600 18px Montserrat,sans-serif}
.ft .ferr{color:#F7E6DC}
.ft .lic a{color:#fff}
.prose{max-width:860px}.prose p+p{margin-top:16px}
.ans-btn.sel{background:var(--ink);color:#fff}
.pcard{display:flex;flex-direction:column;gap:18px;padding:36px;border:2px solid var(--line);border-radius:12px;background:var(--soft)}
@media (max-width:860px){.pcard{padding:20px}}
.res{display:flex;flex-direction:column;gap:14px;padding:28px;border:2px solid var(--sage);border-top:8px solid var(--sage);border-radius:12px;background:var(--tint)}
.res .tierlab{font:700 18px Poppins,sans-serif;color:var(--ink);text-transform:none}
.calc{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
@media (max-width:860px){.calc{grid-template-columns:minmax(0,1fr)}}
.out{font:600 20px/1.5 Poppins,sans-serif;color:var(--ink)}
.bookw{min-height:720px;border:2px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}
.bookw iframe{display:block;width:100%;min-height:720px;border:0}
[tabindex="-1"]:focus{outline:none}
