:root{color-scheme:light;--ink:#102728;--muted:#4a625c;--base:#f6f7ef;--surface:#fcfdf7;--line:#d3ded0;--sea:#146a56;--sea-deep:#104f41;--mist:#e4f0e8;--r:18px;--wrap:1136px}
*{box-sizing:border-box}
body{margin:0;background:var(--base);color:var(--ink);font:16px/1.52 Inter,system-ui,-apple-system,sans-serif;min-height:100vh;display:flex;flex-direction:column}
main#app{flex:1}
a{color:var(--sea-deep);text-underline-offset:3px}
a:hover{text-decoration-thickness:2px}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
button:disabled{cursor:wait;opacity:.65}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #127855;outline-offset:3px}
.wrap{width:min(var(--wrap),100% - 64px);margin-inline:auto}
.skip-link{position:absolute;left:12px;top:12px;transform:translateY(-150%);z-index:5;background:var(--surface);padding:10px}
.skip-link:focus{transform:none}
#site-header{border-bottom:1px solid var(--line);background:var(--base)}
.header-row,.footer-row{display:flex;align-items:center;justify-content:space-between;gap:20px}
.header-row{min-height:75px}
.brand{display:inline-flex;align-items:center;gap:9px;color:var(--ink);font-weight:820;font-size:23px;letter-spacing:-.055em;text-decoration:none}
.brand-mark{background:var(--sea);width:30px;height:30px;border-radius:10px;display:flex;justify-content:center;align-items:flex-end;gap:2px;padding:8px 5px;transform:rotate(-5deg)}
.brand-mark i{display:block;width:4px;border-radius:5px;background:#e2f1c5;height:8px}.brand-mark i:nth-child(2){height:13px}.brand-mark i:nth-child(3){height:10px}
.header-row nav,.footer-row nav{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.header-row nav a,.footer-row nav a,.login-link{font-weight:600;font-size:.88rem;text-decoration:none;color:var(--muted)}
.header-row nav a:hover,.footer-row nav a:hover,.login-link:hover,.header-row nav a[aria-current=page]{color:var(--sea-deep);text-decoration:underline}
.header-actions,.hero-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.button{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:10px 16px;border:1px solid transparent;min-height:43px;border-radius:9px;text-decoration:none;font-weight:700;font-size:.9rem;white-space:normal;text-align:center}
.button.solid{background:var(--sea);color:white}.button.solid:hover{background:var(--sea-deep)}
.button.ghost{background:transparent;border-color:var(--line);color:var(--ink)}.button.ghost:hover{background:var(--mist)}
.button.danger{background:#9f252b;color:white}
.hero{display:grid;grid-template-columns:1.01fr 1fr;align-items:center;gap:44px;padding-top:67px;padding-bottom:58px}
.hero-kicker{display:flex;gap:8px;align-items:center;color:var(--sea-deep);font-weight:730;font-size:.9rem}
.hero-kicker span{width:7px;height:7px;border-radius:50%;background:#178b66}
.hero h1,.page-intro h1{font-size:clamp(42px,5.3vw,76px);line-height:1.03;letter-spacing:-.067em;margin:16px 0 20px}
.hero h1 em{font-style:normal;color:var(--sea)}
.hero-copy>p{font-size:1.14rem;color:var(--muted);max-width:440px;margin:0 0 25px}
.hero-visual{isolation:isolate;position:relative;overflow:hidden;min-height:408px;display:grid;place-items:center;background:#cbe1d3;border:1px solid #b9d3c1;border-radius:25px;padding:30px}
.tide{position:absolute;z-index:-1;width:120%;height:65%;border-radius:44% 56% 39% 61%;transform:rotate(-15deg);bottom:-25%;left:-14%;background:#9ac5b2}
.tide-b{background:#a9d1bd;bottom:-13%;left:13%}
.tide-c{background:#e2ecce;bottom:auto;top:-41%;left:-19%;transform:rotate(14deg)}
.sample{width:min(295px,100%);border:1px solid #94bba6;border-radius:19px;overflow:hidden;background:#eff7e9;box-shadow:0 20px 35px #204d3735;transform:rotate(-3deg)}
.sample-address{padding:9px 14px;font-size:.72rem;color:var(--muted);background:#fbfcf3;border-bottom:1px solid #d9e8d6}
.sample-address i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#77ad97;margin-right:4px}
.sample-content{text-align:center;padding:17px 16px 19px}
.sample-avatar{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#ced2a7;color:#334f42;margin:0 auto 7px;font-size:1.3rem;font-weight:800}
.sample-content b{font-size:1.1rem}.sample-content p{margin:3px 0 12px;font-size:.72rem;color:var(--muted)}
.sample-link{display:flex;justify-content:space-between;align-items:center;gap:5px;padding:8px 10px;border-radius:7px;background:#fff;border:1px solid #d4e2d5;margin-top:6px;text-align:left;font-weight:700;font-size:.72rem}
.sample-main{background:var(--sea);border-color:var(--sea);color:white}
.home-benefits,.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
.home-benefits{margin-bottom:65px}
.home-benefits article,.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:22px}
.home-benefits h2,.panel h2{margin:0 0 6px;font-size:1.17rem;line-height:1.3;letter-spacing:-.025em}
.home-benefits p,.panel p{margin:0;color:var(--muted)}
.benefit-icon{color:var(--sea-deep);background:var(--mist);display:grid;place-items:center;width:33px;height:33px;border-radius:8px;margin-bottom:14px;font-weight:800}
#site-footer{border-top:1px solid var(--line);margin-top:25px}
.footer-row{min-height:82px;color:var(--muted);font-size:.78rem}.footer-row .brand{font-size:19px}.footer-row .brand-mark{scale:.83}
.content-page,.narrow{padding-top:48px;padding-bottom:56px}
.narrow{max-width:630px}.auth-page{max-width:510px}
.page-intro{margin-bottom:23px}.page-intro h1{font-size:clamp(34px,5vw,56px);margin:0 0 9px}
.page-intro p{color:var(--muted);font-size:1.05rem;margin:0}.page-intro p:empty{display:none}
.page-cta{margin-top:24px}
.plan-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px;max-width:780px}
.plan-card .plan-price{font-size:1.4rem;font-weight:800;color:var(--ink)}
.plan-card ul{padding-left:20px;color:var(--muted);line-height:1.8}
.plan-card .muted{font-size:.9rem}
.details-list{display:grid;gap:10px}
.details-list details{padding:14px 17px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
summary{cursor:pointer;font-weight:680}
.details-list p{color:var(--muted);margin:10px 0 0}
.form-stack{display:grid;gap:14px}
.form-stack label{display:grid;gap:5px;font-weight:660;font-size:.92rem}
.form-stack input:not([type=checkbox]),.form-stack textarea,.form-stack select,.report-receipt input{padding:10px 11px;background:#fff;border:1px solid #b5c8ba;border-radius:8px;color:var(--ink);width:100%;min-width:0}
.form-stack textarea{resize:vertical}
.form-stack .field-hint,.form-stack .checkbox,.form-stack .form-status{font-size:.86rem;font-weight:450}
.form-stack .checkbox{display:flex;align-items:flex-start;gap:8px}
.form-stack .checkbox input{margin-top:4px}
.form-stack .form-status{color:#8e2428}.form-stack .form-status:empty{display:none}
.form-stack button{justify-self:start}
.auth-switch{color:var(--muted);font-size:.92rem}
.report-receipt label{display:grid;gap:5px;font-weight:660;font-size:.92rem}
.report-receipt input{font:inherit;font-variant-numeric:tabular-nums}
.report-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
:is(#report-form,.report-actions) .button.solid:active:not(:disabled){background:#0b4136}
.report-actions .button.ghost:active{background:var(--line)}
.report-loading{margin:0;color:var(--muted);font-size:.86rem}
#report-form [aria-invalid=true]{border-color:#8e2428}
#report-support:not(:empty){margin-top:15px}
#report-support h2{font-size:1rem}
.account-panel{margin-top:14px}.account-panel .button,.account-panel form{margin-top:12px}
.account-sessions h2:focus,.account-session-dialog :focus-visible{outline:2px solid var(--sea-deep);outline-offset:3px}
.account-session-list{list-style:none;padding:0;margin:12px 0 0}
.account-session-skeleton{display:grid;gap:8px;margin-top:12px}
.account-session-skeleton span{width:min(100%,220px);height:12px;border-radius:4px;background:var(--mist)}
.account-session-skeleton span + span{width:min(70%,150px)}
.account-session-list li{display:flex;align-items:start;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:12px 0;border-top:1px solid var(--line);overflow-wrap:anywhere}
.account-session-list li > div{flex:1 1 13rem;min-width:0}
.account-session-current{display:inline-block;margin-inline-start:8px;padding:2px 6px;border-radius:5px;background:var(--mist);color:var(--sea-deep);font-size:.75rem;font-weight:660}
.account-session-list dl{margin:5px 0 0;color:var(--muted);font-size:.8125rem}
.account-session-list dl > div{display:flex;flex-wrap:wrap;column-gap:5px}
.account-session-list dd{margin:0;color:var(--ink)}
.account-session-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.account-sessions .account-session-actions .button,.account-session-list .button{margin:0}
.account-sessions .account-session-error{color:#8e2428}
.account-session-dialog{width:min(420px,calc(100% - 28px));max-height:calc(100dvh - 28px);padding:19px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink)}
.account-session-dialog::backdrop{background:#10272880}
.account-session-dialog h2{margin:0;font-size:1.25rem}
.account-session-dialog p{color:var(--muted);margin:7px 0 0}
.prose section{margin-bottom:24px}.prose h2{font-size:1.25rem;margin-bottom:4px}.prose section p{margin:0;color:var(--muted)}
.loading{margin:30px auto;text-align:center;color:var(--muted)}
#notifications{position:fixed;right:14px;bottom:14px;z-index:20}
.toast{max-width:min(440px,90vw);border-radius:10px;padding:12px 16px;background:var(--ink);color:white;box-shadow:0 8px 25px #0002}
@media(max-width:790px){.wrap{width:min(var(--wrap),100% - 40px)}.hero{gap:24px;padding-block:48px}.hero-visual{min-height:345px}.hero h1{font-size:clamp(40px,6vw,60px)}.header-row nav,.footer-row nav{gap:12px}}
@media(max-width:600px){.wrap{width:calc(100% - 32px)}.header-row{flex-wrap:wrap;gap:5px 10px;padding-block:10px}.header-row nav{order:3;width:100%;padding-bottom:3px}.header-row .button{padding-inline:10px}.header-actions{gap:8px}.hero{grid-template-columns:1fr;padding-block:36px;gap:26px}.hero h1 br{display:none}.hero-copy>p{font-size:1.02rem}.hero-visual{min-height:305px;padding:19px}.home-benefits,.feature-grid,.plan-grid{grid-template-columns:1fr}.home-benefits{margin-bottom:25px}.footer-row{align-items:flex-start;flex-wrap:wrap;padding-block:14px}.footer-row nav{width:100%;order:3}.content-page,.narrow{padding-top:28px;padding-bottom:30px}}
