:root{--green:#194f39;--deep:#103a30;--mid:#2a7856;--paper:#f2f6ee;--cream:#e9f2df;--ink:#173b2d;--muted:#61786b;--line:#d8e5d9;--white:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100dvh;background:linear-gradient(136deg,#f4f7ee 0%,#e7efe3 56%,#eaf2e7 100%);color:var(--ink);font:15px/1.55 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
button,input{font:inherit}button{cursor:pointer}a{color:inherit}.hidden{display:none!important}
.site-header{background:var(--deep);color:#f4fbf5;border-bottom:1px solid #315d4a}
.site-inner{max-width:1220px;margin:auto;padding:14px 28px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;line-height:1.03;letter-spacing:1px}.brand-pin{background:#316b50;border-radius:13px;color:#d5f49c;width:43px;height:43px;display:grid;place-items:center;font-size:27px;flex:none}.brand strong,.brand small{display:block;font-size:14px;font-weight:870}.brand small{font-size:11px;font-weight:780;letter-spacing:2px;margin-top:5px}.brand em{font-style:normal;color:#b0cdba;font-size:9px;font-weight:650}
.site-header nav{display:flex;gap:21px;align-items:center}.site-header nav a{text-decoration:none;font-size:12px;font-weight:700;color:#d2e6d8}.site-header nav a:hover,.site-header nav a:focus-visible{color:#fff;text-decoration:underline}
.welcome-layout{max-width:1200px;margin:0 auto;padding:clamp(24px,5vw,70px) 28px 40px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(390px,.95fr);gap:clamp(25px,5vw,85px);align-items:start}
.introduction{padding-top:16px}.eyebrow{display:flex;align-items:center;gap:9px;font-size:11px;letter-spacing:2px;font-weight:850;color:var(--mid)}.eyebrow-dot{width:9px;height:9px;border-radius:100%;background:#56a878;box-shadow:0 0 0 4px #d9ecde;display:inline-block}
h1{font-size:clamp(43px,5vw,70px);line-height:1.045;letter-spacing:-2.6px;max-width:700px;margin:20px 0 19px;font-weight:840}
h1 em{font-style:normal;color:#287d52}
.intro-copy{font-size:clamp(15px,1.6vw,19px);color:#536f5e;line-height:1.65;max-width:480px;margin:0 0 34px}
.intro-points{display:flex;flex-direction:column;gap:20px;margin:22px 0 29px}
.intro-point{display:flex;gap:15px;align-items:flex-start}.step-number{width:37px;height:37px;border:1px solid #cadfce;background:#fff;border-radius:12px;flex:none;display:grid;place-items:center;color:#348261;font-weight:850;font-size:12px;letter-spacing:1px;box-shadow:0 3px 12px rgba(28,68,39,.04)}
.intro-point h2{font-size:15px;margin:0 0 4px;line-height:1.25;font-weight:820}.intro-point p{font-size:13px;margin:0;color:#617869;line-height:1.5;max-width:450px}
.intro-meta{display:flex;flex-wrap:wrap;gap:11px}.intro-meta span{background:#e0ecdf;color:#3d6e4f;border-radius:20px;padding:7px 12px;font-size:11px}.intro-meta b{font-weight:870}
.journey-card{background:#fffdf9;border:1px solid #d8e6d8;box-shadow:0 20px 65px rgba(18,52,31,.12);border-radius:23px;overflow:hidden;min-width:0}
.card-stripe{display:flex;align-items:center;gap:8px;background:#e4f0e0;border-bottom:1px solid #d7e8d8;padding:15px 23px;font-size:10px;font-weight:850;letter-spacing:1.8px;color:#387154}.map-dot{color:#3c9361;font-size:17px}.step-tag{margin-left:auto;font-size:9px;letter-spacing:1px;background:#fff;padding:6px 9px;border-radius:12px;color:#4d7b60}
.stage{padding:clamp(21px,3vw,33px)}.welcome-mark{display:grid;place-items:center;width:57px;height:57px;border-radius:15px;background:#e5f1e1;color:#20754a;font-size:35px;margin:2px 0 23px}
.stage h2{font-size:clamp(25px,2.5vw,32px);letter-spacing:-.9px;line-height:1.18;margin:0 0 12px;font-weight:850}.stage p{color:#5c7564;font-size:14px;line-height:1.63;margin:0 0 20px}
.primary-button{width:100%;display:flex;align-items:center;justify-content:center;gap:15px;min-height:54px;background:#206348;border:0;border-radius:12px;color:#fff;font-size:14px;font-weight:850;padding:14px 18px;box-shadow:0 5px 16px rgba(32,94,63,.16)}
.primary-button:hover,.primary-button:focus-visible{background:#184d38}
.text-button{border:0;background:transparent;color:#44785b;font-size:12px;font-weight:740;text-align:center;line-height:1.6;padding:13px 3px;text-decoration:underline;text-underline-offset:4px}
#introStage>.text-button{width:100%}
.saved-trip{margin:0 0 17px;display:flex;gap:12px;align-items:center;border:1px solid #d4e4d5;background:#f0f7ed;border-radius:12px;padding:13px}.saved-trip .saved-icon{width:39px;height:39px;display:grid;place-items:center;background:#dbeedd;color:#216443;border-radius:9px;font-size:25px}.saved-trip small,.saved-trip strong{display:block}.saved-trip small{font-size:10px;letter-spacing:1px;font-weight:760;color:#6b8b73}.saved-trip strong{font-size:14px;line-height:1.35;overflow-wrap:anywhere}
.back-button{background:none;border:0;padding:0 0 23px;color:#3e8060;font-size:12px;font-weight:740}.step-label{font-size:10px;letter-spacing:1.7px;font-weight:850;color:#3c8962;margin-bottom:9px}
.hotel-form label{display:block;font-size:12px;font-weight:800;margin-bottom:8px;color:#345e48}.hotel-search-row{display:flex;gap:8px}.hotel-search-row input{min-width:0;flex:1;background:#f8fbf6;border:1px solid #c5d9c9;border-radius:11px;padding:12px 11px;font-size:14px;color:var(--ink)}.hotel-search-row input:focus{outline:2px solid #78b695;outline-offset:1px}.hotel-search-row button{border:0;background:#206348;color:#fff;padding:11px 17px;border-radius:11px;font-size:13px;font-weight:850}.hotel-search-row button:disabled{opacity:.65}
.hotel-feedback{font-size:12px;color:#6a806e;margin-top:12px;line-height:1.5}.hotel-feedback.error{color:#9d542b}.hotel-results{display:flex;flex-direction:column;gap:7px;max-height:290px;overflow-y:auto;margin-top:12px;overscroll-behavior:contain}
.hotel-result{display:flex;align-items:flex-start;text-align:left;gap:11px;background:#fff;border:1px solid #d7e5d8;border-radius:11px;padding:12px 11px;transition:background .15s,border .15s}.hotel-result:hover,.hotel-result:focus-visible{background:#f0f7ee;border-color:#91bfa0;outline:none}.result-icon{border-radius:9px;background:#e5f2e6;color:#286e48;display:grid;place-items:center;width:32px;height:32px;font-size:22px;flex:none}.result-copy{min-width:0;flex:1}.result-copy strong{display:block;font-size:13px;font-weight:850;color:#245039;overflow-wrap:anywhere;line-height:1.35}.result-copy small{display:block;font-size:11px;color:#667f6e;line-height:1.5;margin-top:3px}.result-arrow{color:#348761;font-weight:800;margin-left:4px}
.hotel-footer{border-top:1px solid #e1ebe1;margin-top:16px;padding-top:13px;display:flex;flex-direction:column;align-items:flex-start}.hotel-footer span{font-size:11px;color:#688070;line-height:1.5}.hotel-footer button{text-align:left}
.privacy-footnote{border-top:1px solid #e5ede4;padding:13px 25px 17px;display:flex;gap:8px;color:#718577;font-size:10px;line-height:1.6}.privacy-footnote span{font-size:16px;color:#6caa85}
.page-footer{max-width:1200px;margin:0 auto;padding:14px 28px 35px;display:flex;justify-content:space-between;gap:10px 22px;align-items:center;color:#6d8171;font-size:11px}.page-footer a{color:#2e6e50;font-weight:760;text-decoration:none}.page-footer a:hover{text-decoration:underline}
@media(max-width:880px){.welcome-layout{grid-template-columns:minmax(0,1fr);max-width:650px;padding-top:25px;gap:24px}.introduction{padding-top:0}.intro-points{gap:16px;margin-bottom:18px}.intro-copy{margin-bottom:24px}.page-footer{max-width:650px;flex-direction:column;align-items:flex-start}}
@media(max-width:520px){.site-inner{padding:12px 17px}.site-header nav{gap:11px}.site-header nav a{font-size:11px}.brand-pin{width:39px;height:39px}.brand strong{font-size:12px}.brand small{font-size:9px}.brand em{font-size:8px}.welcome-layout{padding:25px 16px 20px;gap:23px}h1{font-size:42px;line-height:1.07;letter-spacing:-1.8px;margin:14px 0}.intro-copy{font-size:14px;line-height:1.55;margin-bottom:19px}.intro-point{gap:11px}.intro-point h2{font-size:13px}.intro-point p{font-size:11px}.step-number{width:33px;height:33px}.intro-points{gap:13px}.intro-meta span{font-size:10px}.journey-card{border-radius:19px}.stage{padding:23px 20px}.card-stripe{padding:12px 20px}.stage h2{font-size:27px}.stage p{font-size:13px}.hotel-search-row input{font-size:13px}.hotel-search-row button{padding:10px 12px}.page-footer{padding:8px 17px 28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
