@font-face{font-family:"Red Hat Display";src:url(/fonts/rhd.woff2) format("woff2");font-weight:300 900;font-display:swap}
@font-face{font-family:"Red Hat Text";src:url(/fonts/rht.woff2) format("woff2");font-weight:300 700;font-display:swap}
:root{--teal:#0E3A3D;--deep:#0A2C2E;--night:#072224;--galv:#DCE3E1;--galv2:#EEF2F1;--copper:#E08A4B;--copperdk:#8E4A20;--mist:#B9C7C5;--slate:#3D5557;--rule:rgba(220,227,225,.16)}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:"Red Hat Text",Arial,sans-serif;background:var(--teal);color:var(--galv);line-height:1.55;font-size:18px;display:flex;flex-direction:column;min-height:100vh}
h1,h2,h3{font-family:"Red Hat Display",Arial,sans-serif;font-weight:800;letter-spacing:-.03em;line-height:1.05}
h1{font-size:clamp(40px,5vw,64px)}
a{color:inherit;text-underline-offset:3px}
:focus-visible{outline:3px solid var(--copper);outline-offset:3px}
.skip{position:absolute;left:-999px;top:10px;z-index:20;background:var(--copper);color:var(--deep);padding:10px 16px;font-weight:700}
.skip:focus{left:10px}
.wrap{max-width:1320px;margin:0 auto;padding:0 40px;width:100%}
header{display:flex;align-items:center;justify-content:space-between;padding-top:24px;padding-bottom:24px}
.logo{font-family:"Red Hat Display",Arial,sans-serif;font-weight:800;font-size:27px;text-decoration:none;letter-spacing:-.02em;display:flex;align-items:center;gap:10px}
.logo svg{width:34px;height:20px}
.hdr-note{font-size:15px;color:var(--mist)}
.btn{display:inline-block;background:var(--copper);color:var(--deep);text-decoration:none;font-family:"Red Hat Display",Arial,sans-serif;font-weight:800;font-size:18px;line-height:1.2;padding:17px 28px;border-radius:12px;border:0;cursor:pointer}
.btn:hover{background:#E99A60}
.btn[disabled]{opacity:.7;cursor:progress}
.btn.back{background:transparent;color:var(--galv);border:2px solid var(--rule);padding:15px 22px}
.btn.back:hover{border-color:var(--mist);background:transparent}
main{flex:1;padding:40px 0 96px}
.intake{display:grid;grid-template-columns:.72fr 1.28fr;gap:72px;align-items:start}
.intro{position:sticky;top:32px}
.intro .lede{font-size:20px;color:var(--mist);margin-top:18px;max-width:40ch}
.promise{margin-top:32px;border-left:6px solid var(--copper);padding:4px 0 4px 20px;color:var(--mist);font-size:16px;max-width:42ch}
.promise b{display:block;color:var(--galv);font-family:"Red Hat Display",Arial,sans-serif;font-size:20px;letter-spacing:-.02em;margin-bottom:4px}
.intro .small{margin-top:24px;font-size:15px;color:var(--mist)}
.card{background:var(--deep);border-radius:16px;padding:36px 40px 40px}
/* Progress: five lengths of pipe that fill with copper as you go. */
.prog{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-bottom:10px}
.prog li{height:10px;border-radius:5px;background:rgba(220,227,225,.14);position:relative;overflow:hidden}
.prog li.done,.prog li[aria-current=step]{background:linear-gradient(#F4B07C 0 2px,#C46E35 2px 7px,#8E4A20 7px)}
.prog li span{position:absolute;left:-9999px}
.where{font-size:15px;color:var(--mist);margin-bottom:28px}
.step{border:0}
.step h2{font-size:32px;letter-spacing:-.025em;margin-bottom:6px}
.step h2:focus{outline:none}
.step .hint{color:var(--mist);font-size:16px;margin-bottom:26px}
.js .step:not(.on){display:none}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 22px}
.f{display:flex;flex-direction:column;gap:7px}
.f.full{grid-column:1/-1}
label,.lg{font-weight:600;font-size:16px}
.opt{font-weight:400;color:var(--mist)}
input[type=text],input[type=email],input[type=tel],input[type=url],input:not([type]),select,textarea{font:inherit;font-size:17px;color:var(--deep);background:var(--galv2);border:2px solid transparent;border-radius:10px;padding:13px 15px;width:100%}
textarea{resize:vertical;min-height:96px}
select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#0A2C2E 50%),linear-gradient(135deg,#0A2C2E 50%,transparent 50%);background-position:calc(100% - 22px) 52%,calc(100% - 16px) 52%;background-size:6px 6px;background-repeat:no-repeat;padding-right:40px}
input:focus,select:focus,textarea:focus{outline:3px solid var(--copper);outline-offset:2px}
[aria-invalid=true]{border-color:#FF9F8A !important}
.err{color:#FFB4A3;font-size:15px}
.err:empty{display:none}
.fine{font-size:14px;color:var(--mist)}
fieldset.choice{border:0;display:flex;flex-direction:column;gap:10px}
fieldset.choice legend{font-weight:600;font-size:16px;margin-bottom:10px}
.pills{display:flex;flex-wrap:wrap;gap:10px}
.pill{position:relative}
.pill input{position:absolute;opacity:0;width:1px;height:1px}
.pill span{display:inline-block;border:2px solid rgba(220,227,225,.3);border-radius:10px;padding:11px 16px;font-weight:600;font-size:16px;cursor:pointer;user-select:none}
.pill input:checked+span{background:var(--galv);color:var(--deep);border-color:var(--galv)}
.pill input:focus-visible+span{outline:3px solid var(--copper);outline-offset:2px}
.svc-group{margin-top:6px}
.svc-group+.svc-group{margin-top:22px}
.svc-group h3{font-size:19px;letter-spacing:-.015em;margin-bottom:12px}
.checks{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px}
.ck{display:flex;gap:10px;align-items:flex-start;font-weight:500;font-size:16px;cursor:pointer;padding:6px 0}
.ck input{appearance:none;flex:none;width:22px;height:22px;border-radius:6px;border:2px solid var(--mist);background:transparent;margin-top:1px;display:grid;place-items:center;cursor:pointer}
.ck input:checked{background:var(--copper);border-color:var(--copper)}
.ck input:checked::after{content:"";width:6px;height:11px;border:solid var(--deep);border-width:0 3px 3px 0;transform:translateY(-1px) rotate(45deg)}
.ck input:focus-visible{outline:3px solid var(--copper);outline-offset:2px}
.reveal[hidden]{display:none}
.file{display:flex;flex-direction:column;gap:7px}
input[type=file]{font:inherit;font-size:15px;color:var(--mist);background:rgba(220,227,225,.06);border:2px dashed rgba(220,227,225,.3);border-radius:10px;padding:14px;width:100%}
input[type=file]::file-selector-button{font:inherit;font-weight:700;font-size:15px;background:var(--galv);color:var(--deep);border:0;border-radius:8px;padding:9px 14px;margin-right:12px;cursor:pointer}
.photos .file+.file{margin-top:10px}
.linkbtn{background:none;border:0;color:var(--galv);font:inherit;font-weight:600;font-size:16px;text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--copper);cursor:pointer;padding:6px 0;align-self:flex-start}
.review{border-top:1px solid var(--rule);padding-top:18px;margin-top:4px}
.review:first-of-type{border-top:0;padding-top:0}
.nav{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:34px;flex-wrap:wrap}
.nav .btn.next{margin-left:auto}
.no-js-note{color:var(--mist);font-size:15px;margin-top:10px}
.js .no-js-note{display:none}
.js .nav [data-submit]{display:none}
.js .step.last .nav [data-submit]{display:inline-block}
.js .step.last .nav .next{display:none}
.nojs-only{display:inline-block}
.js .nojs-only{display:none}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.thanks{border-left:6px solid var(--copper);padding:8px 0 8px 24px}
.thanks h2{font-size:34px;margin-bottom:12px}
.thanks p{color:var(--mist);margin-top:10px;max-width:52ch}
.thanks:focus{outline:none}
footer{background:var(--night);color:var(--mist);padding:36px 0;font-size:15px}
footer .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
@media (max-width:1050px){.intake{grid-template-columns:1fr;gap:36px}.intro{position:static}.promise{margin-top:24px}}
@media (max-width:700px){.wrap{padding:0 20px}header{padding-top:16px;padding-bottom:16px}.logo{font-size:23px}.hdr-note{display:none}body{font-size:17px}main{padding:20px 0 72px}h1{font-size:40px}.intro .lede{font-size:18px}.card{padding:24px 20px 28px;border-radius:14px;margin:0 -8px}.grid{grid-template-columns:1fr}.checks{grid-template-columns:1fr}.step h2{font-size:27px}.nav .btn{flex:1;text-align:center}.nav .btn.back{flex:0 0 auto}}
.other{margin-top:22px}
html:not(.js) [data-next],html:not(.js) [data-back]{display:none}
