*{box-sizing:border-box}
:root{color-scheme:light;--ink:#172e37;--teal:#00685e;--line:#c9d4cf}
body{margin:0;background:#f5f5ed;color:var(--ink);font:16px/1.5 "Inter",Arial,sans-serif}
header{border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:18px max(calc((100% - 1180px)/2),5vw)}
header span{font-size:.88rem;color:#425651}
.brand{font-size:1.3rem;font-weight:750;letter-spacing:-.055em;display:flex;align-items:center;gap:.55rem}
.brand i{font: bold 2rem/1 Georgia;color:white;background:var(--teal);border-radius:10px;text-align:center;width:36px;height:36px;transform:rotate(-6deg)}
main{max-width:1180px;margin:0 auto;padding:54px 0;width:90%}
.layout{display:grid;grid-template-columns:1fr 1.05fr;gap:7%;align-items:start}
.eyebrow,legend{font-size:.73rem;letter-spacing:.13em;font-weight:750;color:var(--teal)}
.intro{padding-top:24px}
h1{font:normal clamp(3rem,5vw,5.1rem)/1.02 Georgia,serif;letter-spacing:-.065em;margin:22px 0}
h1 em{color:var(--teal)}
p{color:#425651}
.intro>p{max-width:420px;font-size:1.1rem}
.road{height:190px;position:relative;overflow:hidden;border-radius:70% 45% 12px 12px;background:#d2e5dd;margin:36px 0 22px;isolation:isolate}
.sun{position:absolute;width:53px;height:53px;background:#f3b374;border-radius:50%;top:12%;left:58%}
.ridge{position:absolute;inset:24% -15% -45%;border-radius:50%;background:#8cb5a3;transform:rotate(12deg)}
.road:before{content:"";position:absolute;z-index:1;inset:44% -20% -65%;background:#478676;border-radius:60%;transform:rotate(-12deg)}
.route{position:absolute;z-index:2;width:96%;height:170%;border:solid #eaddb4;border-width:7px 0 0 38px;border-radius:58% 0 0 0;top:51%;left:38%;transform:skewX(-30deg) rotate(-8deg)}
details{border-top:1px solid var(--line);padding:14px 0}
summary{cursor:pointer;font-weight:600}
.card{background:#fff;border:1px solid #d8dfda;border-radius:18px;padding:clamp(20px,3vw,38px);box-shadow:0 10px 34px #1a393208}
h2{font:normal clamp(1.7rem,2.6vw,2.3rem)/1.15 Georgia,serif;letter-spacing:-.045em;margin:0}
.card>p{font-size:.88rem;margin:8px 0 22px}
fieldset{border:0;border-top:1px solid var(--line);padding:14px 0 0;margin:0 0 22px;min-width:0}
legend{text-transform:uppercase;padding:0 10px 0 0}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
label{font-size:.88rem;font-weight:600}
input:not([type=checkbox]),select{display:block;width:100%;border:1px solid #afbfba;border-radius:7px;padding:10px 12px;font-family:inherit;font-size:16px;height:46px;margin-top:5px;background:#fcfdfb;color:var(--ink)}
input::placeholder{color:#687871}
.wide{grid-column:1/-1}
.agree{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:.82rem}
.agree input{accent-color:var(--teal);width:18px;height:18px;flex:none}
a{color:var(--teal)}
button{background:var(--teal);border:none;border-radius:8px;color:white;font:650 1rem/1.4 Arial,sans-serif;padding:15px 18px;width:100%;display:flex;justify-content:space-between;cursor:pointer;margin-top:20px}
button:hover{background:#084f4a}
:focus-visible{outline:3px solid #ed9c57;outline-offset:2px}
.errors{background:#fff2df;padding:14px;margin-bottom:16px}
.narrow{max-width:680px}
.table{overflow:auto}
table{background:white;width:100%;border-collapse:collapse;font-size:.9rem}
td,th{text-align:left;vertical-align:top;padding:12px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
nav{margin:16px 0}
@media(max-width:760px){main{padding:24px 0}.layout{display:flex;flex-direction:column;gap:20px}.intro{padding:0}.intro h1{font-size:clamp(2.8rem,10vw,4rem);margin:10px 0}.intro h1 br{display:none}.intro h1 br:after{content:" "}.intro>p{font-size:1rem;margin:10px 0}.road{display:none}.intro details{padding:8px 0 0}.card{width:100%}.brand{font-size:1.1rem}}
@media(max-width:460px){.grid label:has(input[type=email]),.grid label:has(input[type=tel]){grid-column:1/-1}}
[hidden]{display:none!important}
#progress{display:grid;gap:9px;margin-bottom:24px}
#counter{font-size:.82rem;font-weight:700;color:var(--teal)}
progress{display:block;appearance:none;width:100%;height:6px;margin:0;border:0;border-radius:6px;overflow:hidden;background:#dce8e3;accent-color:var(--teal)}
progress::-webkit-progress-bar{background:#dce8e3}
progress::-webkit-progress-value{background:var(--teal)}
progress::-moz-progress-bar{background:var(--teal)}
.card fieldset{border:none;margin:0 0 24px}
.card legend{font:normal clamp(1.7rem,3vw,2.45rem)/1.12 Georgia,serif;letter-spacing:-.045em;text-transform:none;color:var(--ink)}
.agree{margin-top:18px}
.controls{display:flex;gap:12px}
.controls button{margin:0;justify-content:center;gap:12px}
#back{width:auto;background:#eff4f0;color:var(--teal)}
.grid>label:only-child{grid-column:1/-1}
@media(max-width:760px){.layout{gap:16px}.intro h1{font-size:2.45rem}.intro details{font-size:.87rem}.card{padding:22px}.card fieldset{margin-bottom:18px}}
