
body{margin:0}
footer a:focus-visible,.on-dark a:focus-visible{outline-color:#f5c542}
a{color:#0b5b6b;text-underline-offset:3px}a:hover{color:#15201d}
.dark a{color:#6cc6d6}.dark a:hover{color:#edf2ef}
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #0b5b6b;outline-offset:2px;border-radius:4px}
.dark a:focus-visible,.dark button:focus-visible,.dark input:focus-visible{outline-color:#6cc6d6}
.skip{position:absolute;left:16px;top:-80px;background:#6cc6d6;color:#0f1716;padding:12px 16px;border-radius:4px;font-weight:700;z-index:5}
.skip:focus{top:16px}
.nav a{color:#edf2ef;text-decoration:none;padding:10px 4px;min-height:44px;display:inline-flex;align-items:center}
.nav a:hover{text-decoration:underline;color:#edf2ef}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;min-width:44px;padding:14px 24px;box-sizing:border-box;border-radius:10px;border:2px solid #0b5b6b;font:700 18px/20px "Atkinson Hyperlegible",system-ui,sans-serif;text-decoration:none;cursor:pointer;background:transparent;color:#0b5b6b}
.btn-signal{background:#f5c542;border-color:#f5c542;color:#15201d}
.btn-signal:hover{background:#edf2ef;border-color:#edf2ef;color:#15201d}
.btn-primary{background:#0b5b6b;color:#ffffff}
.menu-m{display:none}
.menu-m summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 14px;border:2px solid #6cc6d6;border-radius:10px;color:#edf2ef;font-weight:700}
.menu-m summary::-webkit-details-marker{display:none}
.menu-m summary:focus-visible{outline:3px solid #f5c542;outline-offset:2px}
.menu-m[open] summary{background:#6cc6d6;color:#15201d}
.menu-m .menu-list{display:flex;flex-direction:column;position:absolute;right:16px;top:68px;width:min(280px,calc(100vw - 32px));background:#15201d;border:1px solid #2c3a36;border-radius:10px;padding:8px 16px;z-index:10;box-sizing:border-box}
.menu-m .menu-list a{color:#edf2ef;min-height:44px;display:flex;align-items:center;text-decoration:none;border-bottom:1px solid #2c3a36}
.menu-m .menu-list a:last-child{border-bottom:0}
.report-scroll:focus-visible{outline:3px solid #0b5b6b;outline-offset:2px}
.report-scroll{scrollbar-width:thin;scrollbar-color:#8b9792 transparent}
.btn-sm{min-height:44px;padding:10px 18px;font-size:16px}
.faq details{border-top:1px solid #dcd8cc}
.faq details:last-child{border-bottom:1px solid #dcd8cc}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:44px;padding:18px 4px;font:700 20px/28px 'Bricolage Grotesque',sans-serif}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";content:"+" / "";font:800 28px/1 'Bricolage Grotesque',sans-serif;color:#0b5b6b;flex:none}
.faq details[open] summary::after{content:"\2212";content:"\2212" / ""}
.faq summary:focus-visible{outline:3px solid #0b5b6b;outline-offset:2px;border-radius:4px}
.faq details p{margin:0 4px 20px;max-width:46em}
.step{border-radius:10px;padding:28px;box-sizing:border-box}
.step .num{margin:0 0 24px;font:800 48px/1 'Bricolage Grotesque',sans-serif}
.s1{min-height:190px}.s2{min-height:270px}.s3{min-height:350px}
@media (max-width:900px){.nav-d{display:none !important}.menu-m{display:block}}
@media (max-width:700px){
.s1,.s2,.s3{min-height:0 !important}
.hero-grid{grid-template-columns:1fr !important}
.hero-h1{font-size:44px !important;line-height:48px !important}
.sec{padding-top:40px !important;padding-bottom:40px !important}
.wrap{padding-left:16px !important;padding-right:16px !important}
.h2{font-size:30px !important;line-height:36px !important}
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{background:#f6f4ee;color:#15201d;font-family:'Atkinson Hyperlegible',system-ui,sans-serif;font-size:17px;line-height:28px}
img,svg{max-width:100%}
textarea:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #0b5b6b;outline-offset:2px}
.nav a[aria-current=page]{text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:8px;text-decoration-color:#f5c542;font-weight:700}
.menu-m .menu-list a[aria-current=page]{font-weight:700;color:#f5c542}
main:focus{outline:none}
.page-hero{padding:72px 0 80px}
.page-hero h1{margin:0 0 20px;font:800 64px/68px 'Bricolage Grotesque',sans-serif;letter-spacing:-0.02em;max-width:18ch;color:#edf2ef}
.page-hero .lead{margin:0;font-size:21px;line-height:33px;max-width:36em;color:#edf2ef}
.wrap{max-width:1240px;margin:0 auto;padding:0 32px}
.sec{padding:80px 0}
.band{background:#ffffff;border-top:1px solid #dcd8cc;border-bottom:1px solid #dcd8cc}
.h2{margin:0 0 16px;font:700 40px/48px 'Bricolage Grotesque',sans-serif}
.h3{margin:0 0 8px;font:700 24px/32px 'Bricolage Grotesque',sans-serif}
.muted{color:#55605b}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:16px}
.card{background:#ffffff;border:1px solid #dcd8cc;border-radius:10px;padding:28px}
.card-strong{border:2px solid #0b5b6b}
.ticks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.ticks li{position:relative;padding-left:32px}
.ticks li::before{content:"";position:absolute;left:4px;top:7px;width:14px;height:8px;border-left:3px solid #0b5b6b;border-bottom:3px solid #0b5b6b;transform:rotate(-45deg)}
.price{margin:0;font:800 36px/44px 'Bricolage Grotesque',sans-serif}
.prose{max-width:46em}
.prose h2{margin:40px 0 12px;font:700 28px/36px 'Bricolage Grotesque',sans-serif}
.prose h2:first-child{margin-top:0}
.prose p,.prose ul{margin:0 0 16px}
.prose ul{padding-left:24px}
.form{display:flex;flex-direction:column;gap:20px;max-width:640px}
.field label,.form legend{display:block;font-weight:700;margin-bottom:8px}
.field .hint{display:block;margin:-4px 0 8px;font-size:15px;line-height:20px;color:#55605b}
.field input,.field textarea{width:100%;min-height:52px;font:18px/24px 'Atkinson Hyperlegible',sans-serif;color:#15201d;background:#ffffff;border:2px solid #55605b;border-radius:10px;padding:12px 14px}
.field textarea{min-height:120px}
.form fieldset{border:0;margin:0;padding:0}
.radios{display:flex;flex-wrap:wrap;gap:8px 12px}
.radios label{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:8px 14px;border:2px solid #dcd8cc;border-radius:10px;background:#ffffff;font-weight:400;cursor:pointer}
.radios input{width:22px;height:22px;accent-color:#0b5b6b;margin:0}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.table-wrap{overflow-x:auto;background:#ffffff;border:1px solid #dcd8cc;border-radius:10px}
.table-wrap table{width:100%;border-collapse:collapse;min-width:640px}
.table-wrap caption{text-align:left;padding:16px;font-weight:700}
.table-wrap th,.table-wrap td{text-align:left;padding:14px 16px;border-bottom:1px solid #dcd8cc;vertical-align:top}
.table-wrap thead th{font-size:15px;line-height:20px;color:#55605b}
.steps-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px}
.steps-list li{display:flex;gap:16px;background:#ffffff;border:1px solid #dcd8cc;border-radius:10px;padding:20px}
.steps-list .n{flex:none;display:inline-grid;place-items:center;width:40px;height:40px;border-radius:6px;background:#dcedf0;color:#0b5b6b;font:800 20px/1 'Bricolage Grotesque',sans-serif}
.steps-list h3{margin:0 0 2px;font:700 22px/30px 'Bricolage Grotesque',sans-serif}
.steps-list p{margin:0}
.callout{background:#dcedf0;border-radius:10px;padding:28px}
.cta-band{background:#0b5b6b;color:#ffffff}
.cta-band a:focus-visible{outline-color:#f5c542}
.dark a.btn-signal,.dark a.btn-signal:hover{color:#15201d}
.dark a.btn:not(.btn-signal){color:#edf2ef}
@media (max-width:700px){.page-hero{padding:40px 0 48px}.page-hero h1{font-size:40px;line-height:44px}.page-hero .lead{font-size:19px;line-height:30px}}
