:root{--blue:#063b65;--deep:#052b4a;--sea:#5ab8bd;--cream:#faf7ee;--sun:#f5b62d;--ink:#12304a;--line:#d9dedb}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:"DM Sans",sans-serif}.prototype{position:fixed;z-index:30;bottom:12px;right:12px;background:#fff9;padding:7px 10px;border:1px solid #b7aa93;font-size:9px;backdrop-filter:blur(9px)}nav{position:absolute;z-index:10;top:0;left:0;right:0;height:78px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #fff4}nav a{color:#fff;text-decoration:none;font-size:12px}.brand{font:28px Fraunces!important}.brand i{font-style:normal;color:var(--sun);margin-right:9px}.brand span{color:var(--sea)}nav>div{display:flex;gap:28px}.navcta{border:1px solid #fff8;padding:11px 16px}.hero{min-height:100vh;background:var(--blue);color:white;display:grid;grid-template-columns:.82fr 1.18fr;gap:6vw;align-items:center;padding:125px 6vw 65px;overflow:hidden}.kicker{font-size:9px;letter-spacing:.22em;color:var(--sun)}h1,h2,h3,p{margin-top:0}.hero h1{font:clamp(52px,6vw,96px)/.98 Fraunces;margin:22px 0 26px;letter-spacing:-.04em}.hero h1 em{font-style:normal;color:var(--sea)}.hero-copy>p{line-height:1.7;color:#dce8eb;max-width:570px;font-size:16px}.actions{display:flex;gap:22px;align-items:center;margin:35px 0 50px}.actions a{color:#fff;text-decoration:none;font-size:12px}.actions .primary{background:var(--sun);color:var(--blue);padding:14px 20px;font-weight:700}.facts{border-top:1px solid #fff3;padding-top:20px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.facts span{font-size:9px;color:#b9ced9}.facts b{display:block;color:white;font-size:11px;margin-bottom:5px}.hero-map{height:70vh;position:relative;background-color:#e9e4d7;background-image:linear-gradient(#063b6510 1px,transparent 1px),linear-gradient(90deg,#063b6510 1px,transparent 1px);background-size:34px 34px;clip-path:polygon(8% 0,100% 0,100% 93%,0 100%);color:var(--blue)}.water{position:absolute;right:0;top:0;width:35%;height:100%;background:var(--sea);clip-path:polygon(40% 0,100% 0,100% 100%,5% 100%,44% 72%,22% 46%,55% 20%)}.route-line{position:absolute;inset:13% 16%}.route-line:before{content:"";position:absolute;inset:0;border:3px dashed var(--blue);border-color:var(--blue) transparent var(--blue) var(--blue);border-radius:46% 38% 45% 34%;transform:rotate(-12deg)}.route-line i{position:absolute;width:17px;height:17px;border:5px solid var(--sun);background:white;border-radius:50%;z-index:2}.route-line i:nth-child(1){left:5%;top:65%}.route-line i:nth-child(2){left:31%;top:18%}.route-line i:nth-child(3){right:20%;top:40%}.route-line i:nth-child(4){right:8%;bottom:11%}.map-label{position:absolute;font-size:10px;font-weight:700}.l1{left:13%;bottom:19%}.l2{left:33%;top:22%}.l3{right:28%;top:42%}.l4{right:12%;bottom:16%}.hero-map .card{position:absolute;left:-6%;bottom:8%;background:white;padding:20px 23px;box-shadow:0 18px 50px #052b4a33}.card small{display:block;color:#76868d;font-size:8px;letter-spacing:.15em}.card b{display:block;font:23px Fraunces;margin:8px 0}.card span{font-size:10px}.how{padding:110px 6vw;background:#f6f2e8}.how header{display:flex;justify-content:space-between;align-items:end;margin-bottom:55px}.how h2,.build-form h2,.faq h2{font:clamp(40px,5vw,70px)/1.06 Fraunces;margin:14px 0}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.steps article{border-top:2px solid var(--blue);padding-top:20px}.steps article>b{font:28px Fraunces;color:var(--sea)}.steps h3{margin:42px 0 10px}.steps p{font-size:12px;line-height:1.7;color:#637482}.builder{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}.build-form{padding:100px 6vw;background:white}.build-form>h2{font-size:48px}.build-form form{margin-top:30px}fieldset{border:0;padding:0;margin:0 0 24px}legend{font-weight:700;margin-bottom:12px}.choices{display:grid;gap:8px}.single{grid-template-columns:repeat(3,1fr)}.interests{grid-template-columns:repeat(3,1fr)}.choices button{border:1px solid var(--line);background:#fff;color:var(--ink);min-height:54px;padding:10px;font:600 11px "DM Sans";cursor:pointer;transition:.2s}.choices button small{display:block;font-weight:400;margin-top:4px;color:#71828c}.choices button:hover,.choices button.active{border-color:var(--blue);box-shadow:4px 4px 0 var(--sun);transform:translate(-2px,-2px)}.choices.needs{animation:shake .35s 2}.two{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}label{display:grid;gap:6px;font-size:10px;font-weight:600}input,select,textarea{border:1px solid var(--line);padding:13px;background:#fff;color:var(--ink);font:inherit;width:100%}textarea{min-height:80px;resize:vertical}.submit{width:100%;margin-top:16px;border:0;background:var(--blue);color:white;padding:16px;font:700 13px "DM Sans";cursor:pointer}.submit span{float:right}.build-form form>small{display:block;color:#75828a;font-size:8px;line-height:1.6;margin-top:9px}.preview{padding:90px 5vw;background:#e7f2ef;position:sticky;top:0;height:100vh;overflow:auto}.preview header{display:flex;justify-content:space-between;gap:20px}.preview header>div>span{font-size:8px;letter-spacing:.2em}.preview h2{font:32px Fraunces;margin:7px 0}.score{text-align:right}.score b{display:block;color:#17826f}.score span{font-size:9px}.timebar{height:5px;background:#c9dcd7;margin-top:22px}.timebar span{height:100%;display:block;background:var(--sea);width:80%;transition:.4s}.budget{display:flex;justify-content:space-between;margin:8px 0 25px;font-size:10px}.budget span{color:#6a7a7d}#route{list-style:none;padding:0;margin:0;border-left:1px solid #aacbc2}#route li{position:relative;display:grid;grid-template-columns:55px 1fr;gap:15px;padding:0 0 25px 18px}#route li:before{content:"";position:absolute;width:9px;height:9px;background:var(--sun);border:3px solid var(--blue);border-radius:50%;left:-8px;top:3px}#route time{font-weight:700;font-size:12px}#route div>span{font-size:7px;letter-spacing:.18em;color:#718981}#route b{display:block;font:21px Fraunces;margin:3px 0}#route p{font-size:10px;color:#60757a}.route-note{background:white;padding:17px;margin-top:8px}.route-note b{font-size:11px}.route-note p{font-size:10px;line-height:1.6;margin:6px 0 0}.preview>a{display:block;margin-top:16px;color:var(--blue);font-size:10px}.faq{display:grid;grid-template-columns:.7fr 1.3fr;gap:8vw;padding:110px 6vw}.faq details{border-top:1px solid #cbd2cf;padding:20px 0}.faq summary{font-weight:700;cursor:pointer}.faq details p{color:#667783;font-size:12px;line-height:1.7;margin:13px 0 0}.final{text-align:center;background:var(--blue);color:white;padding:110px 20px}.final p{color:#bdd0d9}.final h2{font:clamp(44px,6vw,82px) Fraunces}.final a{display:inline-block;padding:14px 22px;background:var(--sun);color:var(--blue);text-decoration:none;font-weight:700;font-size:12px}dialog{border:0;padding:32px;width:min(590px,92vw);color:var(--blue)}dialog::backdrop{background:#052b4ad9;backdrop-filter:blur(7px)}dialog h2{font:35px Fraunces;margin:9px 0}dialog>p{font-size:11px;color:#667783}.close{position:absolute;right:14px;top:10px;border:0;background:none;font-size:25px}pre{white-space:pre-wrap;max-height:42vh;overflow:auto;background:#f1f3ee;padding:16px;font:11px/1.7 "DM Sans"}.dialog-actions{display:flex;gap:8px}.dialog-actions>*{flex:1;padding:13px;border:1px solid var(--blue);background:#fff;text-align:center;text-decoration:none;color:var(--blue);font:inherit}.dialog-actions a{background:var(--blue);color:white}.reveal{opacity:0;transform:translateY(24px);transition:.75s ease}.reveal.shown{opacity:1;transform:none}@keyframes shake{50%{transform:translateX(8px)}}@media(max-width:950px){nav>div{display:none}.hero{grid-template-columns:1fr;padding-top:110px}.hero-map{height:55vh}.steps{grid-template-columns:1fr 1fr}.builder{grid-template-columns:1fr}.preview{position:relative;height:auto;min-height:80vh}.faq{grid-template-columns:1fr}}@media(max-width:560px){nav{height:65px}.brand{font-size:22px!important}.navcta{font-size:9px;padding:9px}.hero{padding:100px 20px 50px}.hero h1{font-size:52px}.facts{grid-template-columns:1fr}.hero-map{height:48vh}.how,.build-form,.preview,.faq{padding:75px 20px}.how header{display:block}.steps{grid-template-columns:1fr}.single,.interests,.two{grid-template-columns:1fr 1fr}.build-form>h2{font-size:40px}.preview header{display:block}.score{text-align:left;margin-top:10px}}
