*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:'Instrument Sans',system-ui,-apple-system,sans-serif;background:#F6F4EF;color:#17211F;line-height:1.5}
a{color:#0E5A52}img,svg{max-width:100%}
.wrap{max-width:1248px;margin:0 auto;padding:0 32px}
.serif{font-family:'Instrument Sans',system-ui,sans-serif;font-weight:500}
h1,h2,h3{font-family:'Instrument Sans',system-ui,sans-serif;font-weight:600;margin:0;letter-spacing:-.025em}
h1{font-size:clamp(40px,5.6vw,68px);line-height:1.04;letter-spacing:-.035em}
h2{font-size:clamp(32px,4vw,48px);line-height:1.12}
p{margin:0}.muted{color:#3C4A47}.eyebrow{font-size:15px;font-weight:500;color:#0E5A52;letter-spacing:.02em}
.lead{font-size:clamp(18px,2vw,20px);line-height:1.6;color:#3C4A47;max-width:600px}
header.site{display:flex;align-items:center;justify-content:space-between;padding:24px 0}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#17211F;font-family:'Instrument Sans',system-ui,sans-serif;font-size:24px;font-weight:600;letter-spacing:-.025em}
/* wordmark is sized by height; its viewBox is trimmed to the artwork (381x76) */
.brand img{height:30px;width:auto;display:block}
footer.site .brand img{height:26px}
nav.main{display:flex;align-items:center;gap:32px;font-size:16px}nav.main a{color:#3C4A47;text-decoration:none}nav.main a:hover,nav.main a[aria-current]{color:#17211F}
/* ---------- mobile menu button: three bars that fold into an X ---------- */
.burger{display:none;appearance:none;-webkit-appearance:none;border:0;background:transparent;padding:10px;margin:-10px;cursor:pointer;color:#17211F}
.burger-box{display:block;position:relative;width:24px;height:16px}
.burger-l{position:absolute;left:0;right:0;height:2px;border-radius:2px;background:currentColor}
.burger-l:nth-child(1){top:0}.burger-l:nth-child(2){top:7px}.burger-l:nth-child(3){top:14px}
.burger-l{transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .18s ease}
body.menu-open .burger-l:nth-child(1){transform:translateY(7px) rotate(45deg)}
body.menu-open .burger-l:nth-child(2){opacity:0}
body.menu-open .burger-l:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
/* the page is frozen behind the panel, so the header pins to the top to keep the X reachable */
body.menu-open{position:fixed;left:0;right:0;width:100%;overflow:hidden}
body.menu-open .head-wrap{position:fixed;top:0;left:0;right:0;z-index:70}
/* the panel is a descendant of the header, so the logo and the X have to be
   lifted over it rather than relying on the header's own stacking order */
body.menu-open .head-wrap .brand,body.menu-open .burger{position:relative;z-index:80}
.btn{display:inline-block;text-decoration:none;background:#0E5A52;color:#fff!important;padding:14px 24px;border-radius:12px;font-weight:500;font-size:17px;border:0}
.btn:hover{background:#093F3A}.btn.ghost{background:transparent;color:#17211F!important;border:1px solid #CFCBC0}.btn.ghost:hover{background:#EDEAE2}
.btn.light{background:#fff;color:#0A4741!important;font-weight:600}.btn.light:hover{background:#E4F0EC}
section{padding:104px 0}.tight{padding-top:40px}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:64px;align-items:center}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.card{background:#fff;border:1px solid #E2DED4;border-radius:20px;padding:36px}
.stack{display:flex;flex-direction:column;gap:20px}.head{display:flex;flex-direction:column;gap:14px;max-width:760px;margin-bottom:48px}
.dark{background:#17211F;color:#F6F4EF}.dark .muted{color:#C9D2CF}.sand{background:#EAE6DC}
.step-n{font-family:'Instrument Sans',system-ui,sans-serif;font-size:40px;font-weight:600;letter-spacing:-.03em;color:#0E5A52}.ttl{font-size:20px;font-weight:600;margin:10px 0 8px}
.feat svg{width:26px;height:26px}.feat .ttl{font-size:19px}
.pills{display:flex;flex-wrap:wrap;gap:12px}.pill{background:#fff;border:1px solid #D6D1C5;padding:13px 22px;border-radius:999px;font-size:17px;font-weight:500}
.rows>div{padding:20px 0;border-bottom:1px solid #DDD9CF;display:flex;justify-content:space-between;gap:24px;font-size:17px}.rows span:last-child{color:#3C4A47;text-align:right}
.cta{background:#0E5A52;color:#fff;border-radius:28px;padding:80px 40px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:22px}.cta p{color:#D9ECE7;max-width:620px;font-size:19px}
footer.site{padding:56px 0;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:15px;color:#56635F;flex-wrap:wrap}footer.site a{color:#56635F;text-decoration:none}footer.site a:hover{color:#17211F}
.foot-links{display:flex;flex-wrap:wrap;gap:10px 24px}
.phone{background:#fff;border:1px solid #DDD9CF;border-radius:40px;padding:26px 22px;width:290px;height:560px;display:flex;flex-direction:column;gap:18px}
.opt{padding:13px 14px;border:1px solid #DDD9CF;border-radius:12px;font-size:14px}.opt.on{border:1.5px solid #0E5A52;background:#E4F0EC;color:#0A4741;font-weight:500}
.price{font-family:'Instrument Sans',system-ui,sans-serif;font-size:72px;font-weight:600;letter-spacing:-.035em;line-height:1}
.tag{background:#E4F0EC;color:#0A4741;border-radius:999px;padding:5px 12px;font-size:13px;font-weight:500}
.check{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px;font-size:17px}.check li{padding-left:30px;position:relative}.check li:before{content:"";position:absolute;left:0;top:5px;width:16px;height:9px;border-left:2.4px solid #0E5A52;border-bottom:2.4px solid #0E5A52;transform:rotate(-45deg)}
details{border-bottom:1px solid #DDD9CF;padding:22px 0}summary{font-size:19px;font-weight:600;cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}details p{margin-top:12px;color:#3C4A47;font-size:17px;line-height:1.6;max-width:760px}
.prose{max-width:760px}.prose h2{font-size:28px;margin:40px 0 12px}.prose p,.prose li{font-size:17px;line-height:1.7;color:#3C4A47}.prose p{margin-bottom:14px}
.note{background:#FFF4E0;border:1px solid #F0D9A8;border-radius:12px;padding:16px 20px;font-size:15px;color:#6A4A12;margin-bottom:32px}
/* rotating headline word */
.vh{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.rot{position:relative;display:inline-block;color:#0E5A52}
.rot-sizer{visibility:hidden}/* in flow: reserves the widest word's box, so nothing shifts */
.rot-list{position:absolute;left:0;top:0;right:0;bottom:0}
.rot-w{position:absolute;left:0;top:0;white-space:nowrap;opacity:0;transform:translateY(.34em)}
.rot-w.is-now{opacity:1;transform:none}
.rot-w.is-out{opacity:0;transform:translateY(-.34em)}
.rot.ready .rot-w{transition:opacity .4s ease-out,transform .4s cubic-bezier(0,0,.2,1)}
/* animated hero phone demo */
.phone-holder{display:flex;justify-content:center}
.demo{position:relative;overflow:hidden}
.ph-head{display:flex;flex-direction:column;gap:10px}
.ph-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:12px;color:#56635F}
.ph-sc{font-weight:600;color:#17211F;white-space:nowrap}
.ph-step{text-align:right}
.demo.is-final .ph-step{opacity:0}
.ph-foot{margin-top:auto;display:flex;flex-direction:column;gap:9px}
.ph-hint{text-align:center;font-size:11px;color:#8A938F}
.ph-hint kbd{font-family:inherit;font-size:11px;background:#F1EEE7;border:1px solid #E0DCD2;border-radius:4px;padding:1px 5px;margin-left:1px}
.demo.is-final .ph-foot{opacity:0;pointer-events:none}
.ph-cam{display:flex;align-items:center;gap:10px;padding:14px;border:1.5px dashed #C6D4D0;border-radius:12px;font-size:14px;font-weight:500;color:#0A4741;background:#FBFAF7}
.ph-cam svg{width:20px;height:20px;flex:none}
.ph-cam.on{border-style:solid;border-color:#0E5A52;background:#E4F0EC}
.ph-thumb{display:flex;align-items:center;gap:12px;opacity:0;transform:translateY(8px) scale(.97)}
.ph-thumb.in{opacity:1;transform:none}
.ph-thumb-card{width:82px;height:52px;flex:none;border-radius:8px;border:1px solid #DDD9CF;background:linear-gradient(135deg,#EDF3F1,#E2ECE9);padding:8px;display:flex;flex-direction:column;justify-content:flex-end;gap:4px}
.ph-thumb-logo{width:18px;height:18px;border-radius:50%;border:1.5px solid #9BB5AF;margin-bottom:auto}
.ph-thumb-l{height:4px;background:#BCCBC7;border-radius:2px}
.ph-thumb-meta{display:flex;flex-direction:column;gap:2px;min-width:0}
.ph-thumb-t{font-size:13px;font-weight:500}
.ph-thumb-s{font-size:11px;color:#0E5A52}
.ph-bar{height:5px;background:#ECE9E1;border-radius:4px;overflow:hidden}
.ph-fill{height:5px;background:#0E5A52;border-radius:4px}
.ph-stage{position:relative;flex:1;min-height:0}
.scene{position:absolute;inset:0;display:flex;flex-direction:column;gap:14px;opacity:0;transform:translateX(34px)}
.scene.is-active{opacity:1;transform:none}
.scene.is-past{opacity:0;transform:translateX(-34px)}
.scene-say{align-items:center;justify-content:center;text-align:center;transform:none}
.scene-say.is-past{transform:none}
.scene-say p{font-size:18px;font-weight:500;line-height:1.45;letter-spacing:-.01em;max-width:210px}
.demo.is-quiet .ph-head,.demo.is-quiet .ph-foot{opacity:0;pointer-events:none}
.ph-q{font-size:19px;line-height:1.3;font-weight:600;letter-spacing:-.02em}
.ph-opts{display:flex;flex-direction:column;gap:9px}
.ph-btn{background:#0E5A52;color:#fff;text-align:center;padding:14px;border-radius:12px;font-weight:500;font-size:15px}
.ph-followup{max-height:0;opacity:0;overflow:hidden}
.ph-followup.open{max-height:210px;opacity:1}
.ph-ac{margin-top:6px;border:1px solid #DDD9CF;border-radius:10px;background:#fff;overflow:hidden;max-height:0;opacity:0;border-width:0}
.ph-ac.open{max-height:120px;opacity:1;border-width:1px}
.ph-ac-o{font-size:13px;padding:9px 12px;color:#3C4A47}
.ph-ac-o.is-hl{background:#F1F6F4;color:#0A4741;font-weight:500}
.ph-ac-o.on{background:#E4F0EC;color:#0A4741;font-weight:500}
.ph-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:0;max-height:0;overflow:hidden;opacity:0;transform:translateY(6px)}
.ph-chips.in{opacity:1;transform:none;max-height:44px;margin-top:8px}
.ph-chip{display:inline-flex;align-items:center;gap:7px;background:#E4F0EC;color:#0A4741;border-radius:999px;padding:6px 12px;font-size:13px;font-weight:500}
.ph-chip span{color:#5C8880;font-size:14px;line-height:1}
.ph-label{font-size:12px;color:#56635F;margin-bottom:6px}
.ph-field{display:flex;align-items:center;min-height:44px;border:1px solid #DDD9CF;border-radius:12px;padding:12px 14px;font-size:14px}
.ph-field.typing{border-color:#0E5A52}
.ph-caret{width:1.5px;height:17px;margin-left:2px;background:#0E5A52;opacity:0}
.ph-field.typing .ph-caret{animation:ph-blink 1.1s steps(1) infinite}
@keyframes ph-blink{0%,49%{opacity:1}50%,100%{opacity:0}}
.ph-group{display:flex;flex-direction:column}
.ph-cal{border:1px solid #DDD9CF;border-radius:12px;padding:10px 10px 8px;background:#FCFBF8;max-height:0;opacity:0;overflow:hidden;padding-top:0;padding-bottom:0;border-width:0}
.ph-cal.open{max-height:200px;opacity:1;padding-top:10px;padding-bottom:8px;border-width:1px}
.ph-cal-top{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:600;margin-bottom:6px}
.ph-cal-nav{display:flex;gap:2px;color:#8A938F}
.ph-cal-nav svg{width:14px;height:14px}
.ph-cal-g{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;text-align:center}
.ph-cal-g span{font-size:10.5px;line-height:24px;border-radius:50%;color:#3C4A47}
.ph-cal-dow span{font-size:9.5px;color:#8A938F;line-height:16px;font-weight:600}
.ph-cal-g span.on{background:#0E5A52;color:#fff;font-weight:600}
.ph-small{font-size:12px;color:#56635F;line-height:1.45}
.scene-done{align-items:center;justify-content:center;text-align:center;gap:20px}
.ph-check{width:64px;height:64px}
.ph-ring,.ph-tick{fill:none;stroke:#0E5A52;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.ph-ring{transform:rotate(-90deg);transform-origin:28px 28px}
.ph-done-t{font-size:19px;font-weight:600;letter-spacing:-.02em}
.ph-done-s{font-size:14px;color:#3C4A47;margin-top:4px}
.ph-tap{position:absolute;left:0;top:0;width:36px;height:36px;margin:-18px 0 0 -18px;border-radius:50%;background:rgba(14,90,82,.14);border:1.5px solid rgba(14,90,82,.45);opacity:0;transform:scale(.6);pointer-events:none}
.demo.ready .ph-fill{transition:width .9s cubic-bezier(.4,0,.2,1)}
.demo.ready .scene{transition:opacity .55s ease,transform .6s cubic-bezier(.4,0,.2,1)}
.demo.ready .opt,.demo.ready .ph-cam{transition:background .4s ease,border-color .4s ease,color .4s ease,font-weight .4s ease}
.demo.ready .ph-followup{transition:max-height .55s cubic-bezier(.4,0,.2,1),opacity .45s ease .1s}
.demo.ready .ph-field{transition:border-color .4s ease}
.demo.ready .ph-thumb{transition:opacity .5s ease,transform .55s cubic-bezier(.4,0,.2,1)}
.demo.ready .ph-cal{transition:max-height .5s cubic-bezier(.4,0,.2,1),opacity .4s ease,padding .5s cubic-bezier(.4,0,.2,1)}
.demo.ready .ph-ac{transition:max-height .4s cubic-bezier(.4,0,.2,1),opacity .35s ease}
.demo.ready .ph-ac-o{transition:background .3s ease,color .3s ease}
.demo.ready .ph-chips{transition:opacity .45s ease,transform .5s cubic-bezier(.4,0,.2,1),max-height .45s cubic-bezier(.4,0,.2,1),margin-top .45s cubic-bezier(.4,0,.2,1)}
.demo.ready .ph-cal-g span{transition:background .35s ease,color .35s ease}
.demo.ready .ph-step,.demo.ready .ph-foot,.demo.ready .ph-head{transition:opacity .45s ease}
.demo.ready .ph-ring{transition:stroke-dashoffset .8s cubic-bezier(.4,0,.2,1)}
.demo.ready .ph-tick{transition:stroke-dashoffset .55s cubic-bezier(.4,0,.2,1) .5s}
.demo.ready .ph-tap{transition:opacity .35s ease,transform .5s cubic-bezier(.4,0,.2,1)}
.demo.ready .ph-stage,.demo.ready .ph-bar,.demo.ready .ph-top{transition:opacity .55s ease}
.demo.ready .scene-done .ph-done-t,.demo.ready .scene-done .ph-done-s{transition:opacity .6s ease,transform .6s cubic-bezier(.4,0,.2,1)}
.demo.ready .scene-done .ph-done-s{transition-delay:.12s}
.demo.ready .scene-done .ph-done-t,.demo.ready .scene-done .ph-done-s{opacity:0;transform:translateY(7px)}
.demo.ready .scene-done.reveal .ph-done-t,.demo.ready .scene-done.reveal .ph-done-s{opacity:1;transform:none}
.demo.fading .ph-stage,.demo.fading .ph-bar,.demo.fading .ph-top{opacity:0}
.ph-tap.is-in{opacity:1;transform:scale(1)}
.ph-tap.is-press{opacity:1;transform:scale(1.35);background:rgba(14,90,82,.05);border-color:rgba(14,90,82,.22)}
.no-trans,.no-trans *{transition:none!important;animation:none!important}
/* ---------- browser window frame: shared by the desktop demo and the dashboard ---------- */
.win{background:#fff;border:1px solid #DDD9CF;border-radius:18px;overflow:hidden;box-shadow:0 18px 44px -28px rgba(23,33,31,.3)}
.win-bar{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#F1EEE7;border-bottom:1px solid #E2DED4}
.win-dots{display:flex;gap:6px;flex:none;width:33px}
.win-dots i{width:9px;height:9px;border-radius:50%;background:#D7D2C6}
.win-url{flex:0 1 320px;margin:0 auto;background:#fff;border:1px solid #E2DED4;border-radius:999px;padding:5px 14px;font-size:12px;color:#56635F;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.win-sp{flex:none;width:33px}
/* ---------- hero "before": the long online form patients give up on ---------- */
.before{width:280px;transform:rotate(-3deg);flex:none}
.before .win-bar{padding:10px 12px}
.before-page{padding:16px 16px 14px;display:flex;flex-direction:column;gap:9px}
.before-t{font-size:11.5px;font-weight:600;letter-spacing:.01em}
.before-s{font-size:10.5px;color:#8A938F}
.before-f{display:flex;flex-direction:column;gap:5px}
.before-f span{display:block;height:9px;background:#F1EEE7;border:1px solid #E8E4DA;border-radius:3px}
.before-f i{display:block;height:5px;width:46%;background:#E2DED4;border-radius:2px;margin:4px 0 1px}
.before-n{font-size:11px;color:#8A4B1C;line-height:1.4;margin-top:2px}
/* ---------- desktop demo ---------- */
#deskDemo{max-width:1020px;margin:0 auto}
.win-page{position:relative;padding:30px 36px 26px;display:flex;flex-direction:column;gap:18px;min-height:436px}
.dk-head{display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:13px;color:#56635F}
.dk-brand{display:flex;align-items:center;gap:9px;font-weight:600;color:#17211F;font-size:15px}
.dk-mark{width:17px;height:17px;border-radius:50%;border:3px solid #0E5A52;border-top-color:#CFE0DB;flex:none}
.demo.is-quiet .dk-head,.demo.is-quiet .dk-bar,.demo.is-quiet .dk-foot{opacity:0}
.dk-bar{height:5px;background:#ECE9E1;border-radius:4px;overflow:hidden}
.dk-fill{height:5px;background:#0E5A52;border-radius:4px}
.dk-stage{position:relative;flex:1;min-height:268px}
.dscene{position:absolute;inset:0;display:flex;flex-direction:column;gap:16px;opacity:0;transform:translateX(34px)}
.dscene.is-active{opacity:1;transform:none}
.dscene.is-past{opacity:0;transform:translateX(-34px)}
.dscene-say{align-items:center;justify-content:center;text-align:center;transform:none}
.dscene-say.is-past{transform:none}
.dscene-say p{font-size:clamp(20px,2.4vw,27px);font-weight:500;letter-spacing:-.025em;line-height:1.35;max-width:460px}
.dk-q{font-size:clamp(18px,2vw,22px);font-weight:600;letter-spacing:-.02em;line-height:1.25}
.dk-sub{font-size:14px;color:#56635F}
.dk-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.dk-field{display:flex;align-items:center;min-height:50px;border:1px solid #DDD9CF;border-radius:12px;padding:13px 16px;font-size:16px}
.dk-field.typing{border-color:#0E5A52}
.dk-chips{display:flex;flex-wrap:wrap;gap:9px;align-content:flex-start;min-height:92px}
.dk-chip{border:1px solid #DDD9CF;border-radius:999px;padding:9px 16px;font-size:14.5px;background:#fff}
.dk-chip.on{border:1.5px solid #0E5A52;background:#E4F0EC;color:#0A4741;font-weight:500}
.dk-chip.is-off{display:none}
.dk-scale{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.sc{border:1px solid #DDD9CF;border-radius:14px;padding:15px 14px;display:flex;flex-direction:column;gap:7px}
.sc-n{font-size:21px;font-weight:600;color:#0E5A52;letter-spacing:-.02em;line-height:1}
.sc-l{font-size:13.5px;color:#3C4A47;line-height:1.35}
.sc.on{border:1.5px solid #0E5A52;background:#E4F0EC}
.sc.on .sc-l{color:#0A4741;font-weight:500}
.dk-foot{display:flex;align-items:center;gap:18px}
.dk-foot .ph-btn{min-width:160px}
.demo.ready .dk-fill{transition:width .9s cubic-bezier(.4,0,.2,1)}
.demo.ready .dscene{transition:opacity .55s ease,transform .6s cubic-bezier(.4,0,.2,1)}
.demo.ready .dk-field{transition:border-color .4s ease}
.demo.ready .dk-chip,.demo.ready .sc{transition:background .4s ease,border-color .4s ease,color .4s ease}
.demo.ready .dk-head,.demo.ready .dk-bar,.demo.ready .dk-foot{transition:opacity .45s ease}
.demo.ready .dk-stage{transition:opacity .55s ease}
.demo.fading .dk-stage{opacity:0}
/* ---------- practice types ---------- */
.types{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.type{background:#fff;border:1px solid #E2DED4;border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:12px}
.type svg{width:24px;height:24px;flex:none}
.type span{font-size:16px;font-weight:500;line-height:1.35}
/* ---------- analytics dashboard mockup (synthetic figures) ---------- */
.dash-scroll{overflow-x:auto}
.dash-hint{display:none;font-size:13.5px;color:#56635F;margin-top:12px}
.dash{min-width:840px;background:#FBFAF7;padding:18px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:start}
.dcard{background:#fff;border:1px solid #E6E2D8;border-radius:14px;padding:15px 17px;display:flex;flex-direction:column;gap:10px}
.dcard-h{font-size:11px;font-weight:600;color:#8A938F;letter-spacing:.05em;text-transform:uppercase}
.dstat{font-size:34px;font-weight:600;letter-spacing:-.035em;line-height:1}
.dstat-s{font-size:12.5px;color:#56635F;line-height:1.4;min-height:35px}
.dstat-s b{color:#0E5A52;font-weight:600}
.span2{grid-column:span 2}.span3{grid-column:span 3}
.dash-top{display:flex;justify-content:space-between;align-items:center;gap:14px;grid-column:1/-1}
.dash-t{font-size:16px;font-weight:600}
.dash-range{display:flex;gap:6px}
.dash-range span{font-size:12px;color:#56635F;background:#fff;border:1px solid #E6E2D8;border-radius:999px;padding:5px 12px}
.dash-range span.on{background:#0E5A52;border-color:#0E5A52;color:#fff;font-weight:600}
.bars{display:flex;flex-direction:column;gap:10px}
.bar-r{display:grid;grid-template-columns:168px minmax(0,1fr) 34px;gap:10px;align-items:center}
.bar-k{font-size:12.5px;color:#3C4A47;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bar-t{display:block;background:#F1EEE7;border-radius:4px;height:14px}
.bar-f{display:block;height:14px;border-radius:0 4px 4px 0}
.bar-v{font-size:12.5px;font-weight:600;text-align:right}
.dnote{font-size:12px;color:#8A938F;line-height:1.45}
.split{display:flex;gap:2px;height:16px;border-radius:4px;overflow:hidden}
.legend{display:flex;flex-direction:column;gap:8px;font-size:12.5px;color:#3C4A47}
.legend span{display:flex;align-items:center;gap:8px}
.legend b{margin-left:auto;font-weight:600;color:#17211F}
.dot{width:9px;height:9px;border-radius:3px;flex:none}
.att{display:flex;flex-direction:column;gap:8px}
.att-r{display:flex;gap:10px;align-items:flex-start;border:1px solid #EDE9E0;border-radius:11px;padding:10px 12px;background:#FDFCFA}
.att-r svg{width:16px;height:16px;flex:none;margin-top:1px}
.att-t{font-size:13px;font-weight:600}
.att-s{font-size:12.5px;color:#56635F;margin-top:2px;line-height:1.4}
.sev{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:3px 9px;font-size:11.5px;font-weight:600;white-space:nowrap}
.sev .dot{width:7px;height:7px;border-radius:50%}
.sev-ok{background:#E4F0EC;color:#0A4741}.sev-ok .dot{background:#0E5A52}
.sev-mild{background:#FBF0D5;color:#6A4A12}.sev-mild .dot{background:#9A7A1E}
.sev-mod{background:#FAE7D6;color:#7A3F12}.sev-mod .dot{background:#A85A18}
.sev-sev{background:#F8E0DD;color:#8A2B24}.sev-sev .dot{background:#A3302A}
.tbl{width:100%;border-collapse:collapse}
.tbl th{text-align:left;font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:#8A938F;font-weight:600;padding:0 12px 8px 0;border-bottom:1px solid #EDE9E0}
.tbl td{font-size:12.5px;padding:9px 12px 9px 0;border-bottom:1px solid #F2EFE8;color:#3C4A47;vertical-align:middle}
.tbl tr:last-child td{border-bottom:0;padding-bottom:0}
.tbl td:first-child{font-weight:600;color:#17211F}
.tbl .pdf{color:#0E5A52;font-weight:600;white-space:nowrap}
/* ---------- pricing ---------- */
.plans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:960px;margin:0 auto}
.plan{position:relative;background:#fff;border:1px solid #E2DED4;border-radius:22px;padding:34px 30px 30px;display:flex;flex-direction:column;gap:16px}
.plan.is-best{border:1.5px solid #0E5A52;box-shadow:0 22px 54px -34px rgba(14,90,82,.55)}
.plan-best{position:absolute;top:-14px;left:30px;background:#0E5A52;color:#fff;border-radius:999px;padding:5px 14px;font-size:12.5px;font-weight:600}
.plan-name{font-size:15px;font-weight:600;color:#0E5A52}
.plan-price{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.plan .price{font-size:clamp(42px,5vw,56px)}
.plan-per{font-size:17px;color:#3C4A47}
.was{text-decoration:line-through;color:#949B97;font-weight:500}
.plan-price .was{font-size:23px}
.plan-when{font-size:14px;color:#56635F;margin-top:-6px}
/* the intro offer: markup carries the offer state, and site.js adds .is-after
   to <html> once OFFER_DEADLINE has passed, which swaps in standard pricing */
.after-only{display:none}
.is-after .offer-only{display:none}
.is-after .after-only{display:inline}
.plan-rows{display:flex;flex-direction:column;border-top:1px solid #EDE9E0;margin-top:2px}
.plan-row{display:flex;justify-content:space-between;gap:16px;padding:15px 0;border-bottom:1px solid #EDE9E0;align-items:flex-start}
.pr-k{font-size:16px;font-weight:600;display:flex;flex-direction:column;gap:3px}
.pr-k em{font-style:normal;font-weight:400;font-size:13.5px;color:#56635F;line-height:1.4}
.pr-v{font-size:17px;white-space:nowrap;display:flex;gap:8px;align-items:baseline}
.pr-v b{font-weight:600}
.pr-free{color:#0E5A52}
.plan-badge{align-self:flex-start;background:#E4F0EC;color:#0A4741;border-radius:999px;padding:5px 12px;font-size:12.5px;font-weight:600;margin:12px 0 2px}
.plan-badges{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 2px}
.plan-badges .plan-badge{margin:0}
.plan-save{font-size:15px;font-weight:600;color:#0E5A52;padding-top:14px}
.plan .btn{text-align:center;margin-top:auto}
.incl{background:#fff;border:1px solid #E2DED4;border-radius:22px;padding:32px;max-width:960px;margin:28px auto 0;display:flex;flex-direction:column;gap:20px}
.incl-t{font-size:19px;font-weight:600}
.incl .check{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 28px;font-size:16px}
.fine{font-size:13.5px;color:#56635F}
.offer{text-align:center;font-size:17px;font-weight:500;max-width:720px;margin:28px auto 0}
/* ---------- send us your forms ---------- */
.sf{background:#fff;border:1px solid #E2DED4;border-radius:22px;padding:30px;display:flex;flex-direction:column;gap:20px}
.sf-tabs{display:flex;gap:6px;background:#F1EEE7;border-radius:14px;padding:5px;flex-wrap:wrap}
.sf-tab{flex:1 1 140px;appearance:none;border:0;background:transparent;font:inherit;font-size:15.5px;font-weight:500;color:#3C4A47;padding:11px 14px;border-radius:10px;cursor:pointer}
.sf-tab.is-on{background:#fff;color:#17211F;box-shadow:0 1px 3px rgba(23,33,31,.12)}
.sf-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.sf-wide{grid-column:1/-1}
.fld{display:flex;flex-direction:column;gap:7px;min-width:0}
.fld-l{font-size:14.5px;font-weight:500}
.fld-l i{color:#0E5A52;font-style:normal}
.fld input{font:inherit;font-size:16px;padding:13px 15px;border:1px solid #DDD9CF;border-radius:12px;background:#fff;color:#17211F;width:100%}
.fld input:focus{outline:none;border-color:#0E5A52;box-shadow:0 0 0 3px rgba(14,90,82,.15)}
.fld-help{font-style:normal;font-size:13px;color:#56635F}
.fld.bad input{border-color:#A3302A}
.fld-err{font-size:13px;color:#A3302A;display:none}
.fld.bad .fld-err{display:block}
.sf-pane.bad>.fld-err{display:block}
.sf-pane.bad .drop{border-color:#A3302A}
.sf-pane{display:none;flex-direction:column;gap:12px}
.sf-pane.is-on{display:flex}
.drop{border:1.5px dashed #C6D4D0;border-radius:14px;background:#FBFAF7;padding:26px;display:flex;flex-direction:column;gap:7px;align-items:center;text-align:center;cursor:pointer}
.drop svg{width:26px;height:26px}
.drop-t{font-size:16px;font-weight:600}
.drop-s{font-size:13.5px;color:#56635F}
.drop:hover,.drop:focus-within{border-color:#0E5A52;background:#F3F8F6}
.files{font-size:13.5px;color:#0A4741;font-weight:500}
.sf-mail{display:flex;align-items:center;gap:8px 18px;flex-wrap:wrap;background:#F6F4EF;border:1px solid #E2DED4;border-radius:14px;padding:18px 20px}
.sf-mail a{font-size:clamp(17px,2vw,20px);font-weight:600;text-decoration:none;word-break:break-all}
.sf-mail span{font-size:14px;color:#56635F}
.sf-warn{display:flex;gap:10px;background:#FFF4E0;border:1px solid #F0D9A8;border-radius:12px;padding:14px 16px;font-size:14.5px;color:#6A4A12;line-height:1.45}
.sf-warn svg{width:18px;height:18px;flex:none;margin-top:1px}
.sf-fine{font-size:13.5px;color:#56635F}
.sf-send{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.sf-done{background:#fff;border:1.5px solid #0E5A52;border-radius:22px;padding:40px 32px;display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.sf-done svg{width:44px;height:44px}
.sf-done-t{font-size:23px;font-weight:600;letter-spacing:-.02em}
[hidden]{display:none!important}
:focus-visible{outline:3px solid #0E5A52;outline-offset:3px}
@media (max-width:1100px){.types{grid-template-columns:repeat(3,minmax(0,1fr))}.incl .check{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:960px){.grid2,.grid3{grid-template-columns:1fr;gap:32px}section{padding:64px 0}nav.main a:not(.btn){display:none}.rows>div{flex-direction:column;gap:4px}.rows span:last-child{text-align:left}.cta{padding:48px 24px}.hide-sm{display:none!important}footer.site a{margin:0 20px 0 0}
.plans{grid-template-columns:1fr;gap:34px}.sf-grid{grid-template-columns:1fr}.sf,.incl{padding:24px 20px}.incl .check{grid-template-columns:1fr}
.win-page{padding:24px 22px 22px;min-height:0}.dk-two{grid-template-columns:1fr}.dk-scale{grid-template-columns:repeat(2,minmax(0,1fr))}.dk-stage{min-height:320px}.dk-foot .ph-hint{display:none}
.dash{padding:14px}.dash-hint{display:block}}
@media (max-width:960px){
/* With JS the nav doubles as the mobile menu: one list of links, shown inline on a
   wide screen and as a full-screen panel behind the hamburger on a narrow one.
   Without JS the old compact header stands (links hidden, call to action visible). */
.js .burger{display:block}
/* the rotating word reserves the widest word's box; on a narrow screen that
   reserved space lands mid-line, so give the word a line of its own */
.rot{display:block}
.js nav.main{position:fixed;top:0;left:0;right:0;bottom:0;z-index:60;background:#F6F4EF;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;padding:100px 32px 48px;overflow-y:auto;overscroll-behavior:contain;opacity:0;visibility:hidden;transform:translateY(-10px);/* visibility flips at once on open and only after the fade on close, so the
   first link is focusable the moment the panel is asked to appear */
transition:opacity .25s ease,transform .3s cubic-bezier(.4,0,.2,1),visibility 0s .3s}
.js nav.main a:not(.btn){display:block;font-size:24px;font-weight:600;letter-spacing:-.025em;color:#17211F;padding:19px 0;border-bottom:1px solid #DDD9CF}
.js nav.main a:not(.btn):first-of-type{border-top:1px solid #DDD9CF}
.js nav.main .btn{margin-top:30px;text-align:center;font-size:17px;padding:16px 24px}
.js nav.main a{opacity:0;transform:translateY(12px);transition:opacity .3s ease,transform .35s cubic-bezier(.4,0,.2,1)}
body.menu-open nav.main{opacity:1;visibility:visible;transform:none;transition:opacity .25s ease,transform .3s cubic-bezier(.4,0,.2,1),visibility 0s}
body.menu-open nav.main a{opacity:1;transform:none}
body.menu-open nav.main a:nth-child(1){transition-delay:.06s}
body.menu-open nav.main a:nth-child(2){transition-delay:.10s}
body.menu-open nav.main a:nth-child(3){transition-delay:.14s}
body.menu-open nav.main a:nth-child(4){transition-delay:.18s}
body.menu-open nav.main a:nth-child(5){transition-delay:.22s}
body.menu-open nav.main a:nth-child(6){transition-delay:.26s}}
@media (max-width:620px){.wrap{padding:0 20px}.brand img{height:24px}.js nav.main{padding:92px 20px 44px}.js nav.main a:not(.btn){font-size:22px;padding:17px 0}
.types{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.type{padding:16px 14px}.type span{font-size:15px}.win-url{font-size:11px}.dk-stage{min-height:360px}.dk-brand{font-size:13.5px}.dk-step{font-size:11.5px}.dk-q{line-height:1.3}.dk-chip{font-size:13px;padding:7px 12px}.dk-chips{min-height:72px}.dk-chips .dk-chip:nth-child(n+9){display:none}.dk-scale{gap:9px}.sc{padding:13px 12px}.plan{padding:30px 22px 26px}.sf-tab{flex:1 1 100%}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}
/* the menu still opens and the bars still form an X, just without the travel */
.burger-l,.js nav.main,.js nav.main a,body.menu-open nav.main,body.menu-open nav.main a{transition:none}
.js nav.main,.js nav.main a{transform:none}

/* no rotation: "Intake" sits in the flow, no reserved gap */
.rot-sizer{display:none}.rot-list{position:static}
.rot-w{display:none}.rot-w.is-now{display:inline;position:static;opacity:1;transform:none;transition:none}}
