@font-face{font-family:'Inter';font-style:normal;font-weight:400 800;font-display:swap;src:url(../fonts/inter-latin.woff2) format('woff2')}

:root{
  --petrol:#0F5C54;
  --petrol-dk:#0B463F;
  --deep:#0A2E2A;
  --mint:#BFE6D8;
  --mint-strong:#3FA98A;
  --ink:#16211F;
  --text:#2A3633;
  --muted:#5F6E6A;
  --paper:#F3F5F4;
  --card:#FFFFFF;
  --line:#D9E0DD;
  --danger:#B3261E;
  --wrap:1200px;
  --gutter:clamp(16px,4vw,40px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px;-webkit-text-size-adjust:100%}
body{margin:0;font-family:'Inter','Segoe UI',system-ui,sans-serif;font-size:17px;line-height:1.55;color:var(--text);background:var(--paper);-webkit-font-smoothing:antialiased;overflow-x:clip}
a{color:inherit;text-decoration:none}
h1,h2,h3{color:var(--ink);margin:0;font-weight:700;letter-spacing:-.03em;line-height:1.05}
p{margin:0}
:focus-visible{outline:2px solid var(--petrol);outline-offset:3px;border-radius:4px}
::selection{background:var(--mint);color:var(--ink)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter)}
.fine{font-size:14px;color:var(--muted)}

.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 20px;border-radius:10px;font-weight:600;font-size:15px;border:1px solid transparent;cursor:pointer;font-family:inherit;transition:background-color .15s,border-color .15s,color .15s;touch-action:manipulation}
.btn-lg{min-height:52px;padding:0 26px;font-size:16px}
.btn-block{width:100%}
.btn-solid{background:var(--petrol);color:#fff}
.btn-solid:hover{background:var(--petrol-dk)}
.btn-line{border-color:var(--line);background:var(--card);color:var(--ink)}
.btn-line:hover{border-color:var(--ink)}
.link-quiet{color:var(--muted);font-weight:500;font-size:15px}
.link-quiet:hover{color:var(--ink)}

.lockup{display:inline-flex;align-items:center;gap:9px;color:var(--ink)}
.mark{width:30px;height:30px;flex:0 0 auto}
.mark path{fill:none;stroke-linecap:round;stroke-linejoin:round}
.mark-a{stroke:var(--petrol);stroke-width:6.5}
.mark-v{stroke:var(--mint-strong);stroke-width:5}
.word{font-weight:700;font-size:20px;letter-spacing:-.025em;line-height:1}
.word span{font-weight:500;color:var(--petrol);margin-left:.28em}
.lockup-sm .mark{width:24px;height:24px}
.lockup-sm .word{font-size:17px}

.site-head{position:sticky;top:0;z-index:20;background:var(--paper);border-bottom:1px solid transparent;transition:border-color .2s}
.site-head.is-scrolled{border-bottom-color:var(--line);background:rgba(243,245,244,.97)}
.head-row{display:flex;align-items:center;gap:32px;height:72px}
.head-nav{display:flex;gap:28px;margin-right:auto}
.head-nav a{font-size:15px;font-weight:500;color:var(--text)}
.head-nav a:hover{color:var(--petrol)}
.head-actions{display:flex;align-items:center;gap:20px}

.hero{padding:clamp(48px,8vw,104px) 0 clamp(64px,9vw,128px)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(40px,6vw,88px);align-items:center}
.hero h1{font-size:clamp(46px,7.4vw,104px);letter-spacing:-.05em;line-height:.94;max-width:11ch}
.lead{font-size:clamp(18px,1.6vw,21px);color:var(--text);max-width:40ch;margin-top:28px}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}
.hero .fine{margin-top:18px}

.demo{background:var(--card);border:1px solid var(--line);border-radius:22px;box-shadow:0 30px 60px -30px rgba(10,46,42,.35);overflow:hidden;max-width:420px;justify-self:end;width:100%}
.demo-head{display:flex;justify-content:space-between;align-items:baseline;padding:20px 22px;border-bottom:1px solid var(--line)}
.demo-name{font-weight:700;color:var(--ink);letter-spacing:-.01em}
.demo-step{font-size:13px;color:var(--muted)}
.demo-body{position:relative;height:300px}
.demo-pane{position:absolute;inset:0;padding:18px 22px;opacity:0;transform:translateX(24px);transition:opacity .35s,transform .45s cubic-bezier(.2,.8,.2,1);pointer-events:none}
.demo-pane.is-on{opacity:1;transform:none}
.demo-pane.is-out{opacity:0;transform:translateX(-24px)}
.demo-row{display:flex;justify-content:space-between;align-items:center;padding:16px 16px;border:1px solid var(--line);border-radius:12px;margin-bottom:10px;font-weight:600;color:var(--ink);transition:background-color .25s,border-color .25s}
.demo-row small{font-weight:500;color:var(--muted);font-size:13px}
.demo-days{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-bottom:16px}
.demo-days span{display:flex;flex-direction:column;align-items:center;padding:8px 0;border-radius:10px;font-size:12px;color:var(--muted)}
.demo-days b{font-size:17px;color:var(--ink);font-weight:650}
.demo-days .is-sel{background:var(--ink)}
.demo-days .is-sel,.demo-days .is-sel b{color:#fff}
.demo-times{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.demo-times span{text-align:center;padding:10px 0;border:1px solid var(--line);border-radius:10px;font-size:14px;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums;transition:background-color .25s,border-color .25s,color .25s}
.demo-times .is-off{color:#AAB5B2;border-style:dashed;text-decoration:line-through}
[data-pick].is-picked{background:var(--mint);border-color:var(--mint-strong)}
.demo-done{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px}
.demo-done strong{font-size:20px;color:var(--ink);letter-spacing:-.02em}
.demo-done span{font-size:14px;color:var(--muted);max-width:28ch}
.done-mark{width:64px;height:64px}
.done-mark path{fill:none;stroke:var(--mint-strong);stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:40;stroke-dashoffset:40}
.demo-pane.is-on .done-mark path,.done-mark.is-drawn path{animation:draw .6s .15s cubic-bezier(.6,0,.2,1) forwards}
@keyframes draw{to{stroke-dashoffset:0}}

.day{background:var(--deep);color:#D5E4DF;position:relative}
.day-sticky{padding:clamp(72px,9vw,112px) 0}
.day-head h2{color:#fff;font-size:clamp(34px,4.4vw,56px)}
.day-head p{margin-top:12px;color:#9FB8B1;max-width:46ch}
.day-rail{height:2px;background:rgba(191,230,216,.18);margin:40px var(--gutter) 0;position:relative}
.day-fill{position:absolute;inset:0;background:var(--mint);transform:scaleX(var(--p,0));transform-origin:left center;will-change:transform}
.day-track{list-style:none;margin:0;padding:48px var(--gutter) 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:48px 40px;max-width:var(--wrap);margin-inline:auto}
.stop .hour{display:block;white-space:nowrap;font-size:clamp(56px,7vw,112px);font-weight:700;letter-spacing:-.05em;line-height:.9;color:var(--mint);font-variant-numeric:tabular-nums}
.stop h3{color:#fff;font-size:22px;margin-top:22px;letter-spacing:-.02em}
.stop p{margin-top:10px;color:#AFC5BF;max-width:38ch}

.day.is-pinned{height:calc(var(--day-length,600vh) + 100svh)}
.day.is-pinned .day-sticky{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;display:flex;flex-direction:column;justify-content:center;padding:0}
.day.is-pinned .day-head{width:100%}
.day.is-pinned .day-track{display:flex;gap:0;padding:56px 0 0 max(var(--gutter),calc((100vw - var(--wrap))/2 + var(--gutter)));max-width:none;margin:0;width:max-content;will-change:transform}
.day.is-pinned .stop{width:min(78vw,560px);padding-right:clamp(32px,5vw,72px);flex:0 0 auto}
.day.is-pinned .stop:last-child{width:min(100vw,720px)}

.includes{padding:clamp(80px,10vw,144px) 0}
.includes-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(40px,6vw,96px);align-items:start}
.includes-intro{position:sticky;top:112px}
.includes-intro h2,.section-intro h2,.signup-intro h2,.types h2{font-size:clamp(34px,4.4vw,56px)}
.includes-intro p,.section-intro p,.signup-intro p{margin-top:16px;color:var(--muted);max-width:42ch}
.group+.group{margin-top:56px}
.group h3{font-size:14px;font-weight:600;color:var(--petrol);letter-spacing:0;margin-bottom:8px}
.group dl{margin:0}
.group dt{font-size:clamp(20px,2vw,24px);font-weight:650;color:var(--ink);letter-spacing:-.02em;padding-top:20px;border-top:1px solid var(--line);margin-top:20px}
.group dt:first-child{margin-top:0}
.group dd{margin:8px 0 0;color:var(--muted);max-width:52ch}

.types{padding:0 0 clamp(80px,10vw,128px)}
.type-list{list-style:none;padding:0;margin:28px 0 0;display:flex;flex-wrap:wrap;gap:10px}
.type-list li{padding:10px 18px;border-radius:999px;background:var(--card);border:1px solid var(--line);font-weight:600;color:var(--ink);font-size:15px}

.pricing{padding:clamp(80px,10vw,128px) 0;background:var(--card);border-block:1px solid var(--line)}
.price-scroll{margin-top:48px;overflow-x:auto;-webkit-overflow-scrolling:touch}
.price-table{width:100%;border-collapse:collapse;min-width:520px}
.price-table th,.price-table td{padding:16px 18px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
.price-table thead th{vertical-align:bottom;border-bottom:2px solid var(--ink);padding-bottom:24px}
.price-table tbody th{font-weight:500;color:var(--text)}
.price-table td{text-align:center;width:24%}
.price-table thead th:not(:first-child){text-align:center}
.plan-name{display:block;font-size:15px;font-weight:600;color:var(--petrol)}
.plan-price{display:block;font-size:clamp(34px,4vw,48px);font-weight:700;color:var(--ink);letter-spacing:-.04em;line-height:1.1;margin-top:6px;font-variant-numeric:tabular-nums}
.plan-price small{font-size:15px;font-weight:500;color:var(--muted);letter-spacing:0;margin-left:3px}
.plan-price.is-quote{font-size:24px;letter-spacing:-.02em}
.plan-desc{display:block;font-size:14px;font-weight:400;color:var(--muted);margin:8px auto 0;max-width:26ch}
.yes{width:22px;height:22px}
.yes path{fill:none;stroke:var(--mint-strong);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.no{color:#AAB5B2}
.price-table tfoot td{border-bottom:none;padding-top:24px}

.signup{padding:clamp(80px,10vw,144px) 0}
.signup-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(40px,6vw,96px);align-items:start}
.next-steps{list-style:none;counter-reset:step;padding:0;margin:40px 0 0}
.next-steps li{counter-increment:step;display:grid;grid-template-columns:40px 1fr;column-gap:14px;padding:16px 0;border-top:1px solid var(--line)}
.next-steps li:before{content:counter(step);grid-row:span 2;font-size:28px;font-weight:700;color:var(--petrol);line-height:1;letter-spacing:-.04em}
.next-steps strong{color:var(--ink);font-weight:650}
.next-steps span{color:var(--muted);font-size:15px}
.signup-card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:clamp(22px,3vw,36px)}
.field{margin-bottom:18px;min-width:0}
.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:end}
.field label{display:block;font-size:14px;font-weight:600;color:var(--ink);margin-bottom:7px}
.opt{font-weight:400;color:var(--muted)}
.field input,.field select,.field textarea{width:100%;min-height:48px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:#fff;font:inherit;font-size:16px;color:var(--ink);touch-action:manipulation}
.field textarea{resize:vertical;min-height:96px}
.field select{appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%235F6E6A' stroke-width='3'><path d='M6 9l6 6 6-6'/></svg>");background-repeat:no-repeat;background-position:right 14px center;padding-right:38px}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--petrol);box-shadow:0 0 0 3px rgba(15,92,84,.16)}
.dd{position:relative}
.dd-native{position:absolute;inset:0;opacity:0;pointer-events:none}
.dd-btn{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:48px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:#fff;font:inherit;font-size:16px;color:var(--ink);text-align:left;cursor:pointer;transition:border-color .15s,box-shadow .15s}
.dd-btn:hover{border-color:#B9C4C0}
.dd-btn:focus-visible,.dd.is-open .dd-btn{outline:none;border-color:var(--petrol);box-shadow:0 0 0 3px rgba(15,92,84,.16)}
.dd-btn.is-empty .dd-value{color:var(--muted)}
.dd-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dd-chev{width:16px;height:16px;flex:0 0 auto;fill:none;stroke:var(--muted);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;transition:transform .18s}
.dd.is-open .dd-chev{transform:rotate(180deg)}
.dd-list{position:absolute;z-index:30;left:0;right:0;top:calc(100% + 6px);margin:0;padding:6px;list-style:none;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 40px -12px rgba(10,46,42,.28);max-height:288px;overflow-y:auto;opacity:0;transform:translateY(-4px);visibility:hidden;transition:opacity .14s,transform .14s,visibility 0s .14s}
.dd.is-open .dd-list{opacity:1;transform:none;visibility:visible;transition:opacity .14s,transform .14s}
.dd.is-up .dd-list{top:auto;bottom:calc(100% + 6px)}
.dd-opt{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;padding:10px 12px;border-radius:8px;font-size:15px;color:var(--ink);cursor:pointer}
.dd-opt.is-placeholder{color:var(--muted)}
.dd-opt.is-active{background:var(--paper)}
.dd-opt[aria-selected=true]{color:var(--petrol);font-weight:600}
.dd-opt svg{width:16px;height:16px;flex:0 0 auto;fill:none;stroke:var(--mint-strong);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;visibility:hidden}
.dd-opt[aria-selected=true] svg{visibility:visible}
.trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.form-alert{background:#FBEDEC;color:var(--danger);border-radius:10px;padding:12px 14px;font-size:15px;margin-bottom:18px}
.form-alert ul{margin:0;padding-left:18px}
.signup-card .fine{margin-top:14px;text-align:center}
.sent{text-align:center;padding:32px 8px}
.sent h3{font-size:28px;margin-top:12px}
.sent p{color:var(--muted);margin:10px auto 0;max-width:34ch}

.legal{max-width:760px;padding-top:clamp(40px,6vw,72px);padding-bottom:clamp(64px,8vw,112px)}
.legal h1{font-size:clamp(34px,4.4vw,52px)}
.legal-date{color:var(--muted);font-size:14px;margin-top:10px}
.legal h2{font-size:22px;letter-spacing:-.02em;margin:40px 0 10px}
.legal p,.legal li{color:var(--text);max-width:68ch}
.legal p+p{margin-top:12px}
.legal ul{padding-left:20px;margin:0}
.legal li+li{margin-top:8px}
.legal a,.signup-card .fine a{color:var(--petrol);text-decoration:underline;text-underline-offset:2px}
.site-foot{padding:40px 0 56px;border-top:1px solid var(--line)}
.foot-row{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.foot-row .fine{margin-left:auto}

@media (prefers-reduced-motion:no-preference){
  .hero-copy>*,.demo{animation:hero-in .8s cubic-bezier(.2,.8,.2,1) both}
  .hero-copy>:nth-child(2){animation-delay:.08s}
  .hero-copy>:nth-child(3){animation-delay:.16s}
  .hero-copy>:nth-child(4){animation-delay:.22s}
  .demo{animation-delay:.28s}
}
@supports (animation-timeline:view()){
  @media (prefers-reduced-motion:no-preference){
    .day{view-timeline:--day block;animation:day-enter linear both;animation-timeline:view();animation-range:entry 0% entry 90%}
    .day.is-css .day-fill{animation:day-fill linear both;animation-timeline:--day;animation-range:contain 0% contain 100%}
    .group dt,.group dd,.next-steps li,.section-intro,.includes-intro,.signup-intro h2,.type-list li,.price-table tbody tr,.signup-card{animation:rise linear both;animation-timeline:view();animation-range:entry 0% entry 45%}
  }
}
@keyframes hero-in{from{opacity:0;transform:translateY(18px)}}
@keyframes rise{from{opacity:0;transform:translateY(22px)}}
@keyframes day-fill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes day-enter{from{clip-path:inset(0 3% 0 3% round 40px 40px 0 0)}to{clip-path:inset(0 0 0 0 round 0)}}

@media (max-width:960px){
  .head-nav{display:none}
  .hero-grid,.includes-grid,.signup-grid{grid-template-columns:1fr}
  .demo{justify-self:start}
  .includes-intro{position:static}
}
@media (max-width:560px){
  body{font-size:16px}
  .head-row{gap:12px;height:64px}
  .head-actions{gap:14px;margin-left:auto}
  .head-actions .btn{padding:0 14px}
  .hero-actions .btn{width:100%}
  .field-pair{grid-template-columns:1fr;gap:0}
  .price-table{min-width:0;font-size:15px}
  .price-table th,.price-table td{padding:12px 6px}
  .price-table tbody th{width:38%}
  .plan-price{font-size:26px}
  .plan-price.is-quote{font-size:17px}
  .plan-desc{font-size:12.5px}
  .price-table tfoot .btn{padding:0 10px;font-size:14px;width:100%}
  .foot-row .fine{margin-left:0}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation:none!important;transition:none!important}
  .done-mark path{stroke-dashoffset:0}
}
