:root{color:#15231f;background:#f6f4ed;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-synthesis:none;--ink: #15231f;--pine: #173d35;--paper: #fffdf8;--line: #dcd9cf}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select{font:inherit}button{cursor:pointer}.site-header,main,footer{width:min(1180px,calc(100% - 40px));margin:0 auto}.site-header{height:80px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font-weight:700}.brand-mark{width:34px;height:34px;display:grid;place-items:center;border-radius:50% 50% 45% 45%;color:#fff;background:var(--pine);font-family:Georgia,serif}.header-actions{display:flex;align-items:center;gap:18px}.demo-pill{padding:7px 12px;border-radius:20px;background:#e7ebe1;font-size:.78rem;font-weight:700}.text-button{border:0;background:transparent;color:var(--pine);font-weight:700}.hero{padding:76px 0 52px;display:grid;grid-template-columns:1.5fr .6fr;gap:64px;align-items:end}.hero h1{max-width:780px;margin:8px 0 20px;font-family:Georgia,serif;font-size:clamp(2.6rem,6vw,5.4rem);line-height:.98;letter-spacing:-.045em}.hero-copy{max-width:650px;margin:0;color:#52615c;font-size:1.12rem;line-height:1.65}.eyebrow{margin:0 0 8px;color:#597168;font-size:.73rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.security-card{display:flex;gap:15px;padding:22px;border:1px solid #cfd7cb;border-radius:18px;background:#ecf0e7}.security-card p{margin:5px 0 0;color:#596961;font-size:.88rem;line-height:1.45}.shield{flex:0 0 36px;height:40px;display:grid;place-items:center;color:#fff;background:var(--pine);border-radius:18px 18px 12px 12px}.signin-panel{padding:36px;margin-bottom:72px;display:grid;grid-template-columns:1fr 1.1fr;gap:56px;background:var(--paper);border:1px solid var(--line);border-radius:24px;box-shadow:0 18px 60px #182d2614}h2,h3{font-family:Georgia,serif}.signin-panel h2,.section-heading h2,.booking-form h2{margin:4px 0 12px;font-size:2rem}.signin-panel p{color:#5e6b66;line-height:1.6}.signin-form{display:grid;gap:14px}label{display:grid;gap:7px;color:#354741;font-size:.82rem;font-weight:700}input,select{width:100%;min-height:48px;padding:0 13px;color:var(--ink);background:#fff;border:1px solid #cbcfc7;border-radius:10px;outline:none}input:focus,select:focus{border-color:var(--pine);box-shadow:0 0 0 3px #173d351f}.primary-button,.secondary-button{min-height:48px;padding:0 22px;border-radius:10px;font-weight:700}.primary-button{border:1px solid var(--pine);color:#fff;background:var(--pine)}.primary-button:hover{background:#235749}.primary-button:disabled{opacity:.55;cursor:wait}.secondary-button{border:1px solid #b9c2bc;color:var(--pine);background:transparent}.full{width:100%}.section-heading{display:flex;justify-content:space-between;align-items:end;margin:8px 0 20px}.section-heading p:last-child{max-width:360px;color:#65726e;font-size:.88rem;text-align:right}.hotel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.hotel-card{overflow:hidden;padding:0;text-align:left;color:inherit;background:var(--paper);border:1px solid var(--line);border-radius:18px;transition:transform .18s,box-shadow .18s}.hotel-card:hover{transform:translateY(-3px);box-shadow:0 14px 35px #1f362f1a}.hotel-card.selected{outline:3px solid var(--pine);outline-offset:3px}.hotel-art{height:145px;display:grid;place-items:center;background:#263e5a;color:#ffffffeb}.hotel-art span{font-family:Georgia,serif;font-size:3.2rem;letter-spacing:.14em}.hotel-card.teal .hotel-art{background:#39716a}.hotel-card.coral .hotel-art{background:#c86d56}.hotel-content{min-height:218px;padding:22px;display:flex;flex-direction:column;align-items:start}.hotel-content strong{margin-bottom:9px;font-family:Georgia,serif;font-size:1.25rem}.hotel-content>span:not(.eyebrow){color:#5c6965;font-size:.88rem;line-height:1.5}.hotel-content b{margin-top:auto;padding-top:18px;color:var(--pine);font-size:.85rem}.booking-layout{margin:56px 0 90px;display:grid;grid-template-columns:1.2fr .8fr;gap:28px;align-items:start}.booking-form,.summary-card{padding:30px;background:var(--paper);border:1px solid var(--line);border-radius:20px}.form-grid{margin:28px 0 22px;display:grid;grid-template-columns:1.5fr .7fr;gap:17px}.summary-card{min-height:420px;box-shadow:0 18px 50px #182d2612}.empty-summary{min-height:355px;display:grid;place-content:center;text-align:center;color:#6b7772}.empty-summary h3{margin:14px 0 4px;color:var(--ink)}.empty-summary p{max-width:280px;line-height:1.5}.key-icon{font-size:3rem;color:#d9a43b}.summary-card>h3{margin:0 0 24px;font-size:1.45rem}dl{margin:0 0 22px}dl div{display:flex;justify-content:space-between;padding:9px 0;color:#65716c}dl dt,dl dd{margin:0}dl .total{margin-top:8px;padding-top:17px;border-top:1px solid var(--line);color:var(--ink);font-weight:700;font-size:1.14rem}.risk-note{margin:20px 0;padding:14px;display:flex;gap:11px;align-items:start;border-radius:11px;background:#e9f0e8;color:#2d574a}.risk-note.step-up{background:#fff1df;color:#7b4b11}.risk-note p{margin:0;font-size:.82rem;line-height:1.45}.risk-note strong{display:block}.challenge-form h3{margin-bottom:4px}.challenge-form p{color:#65716c;font-size:.88rem;line-height:1.5}.demo-code{padding:10px 12px;border-radius:8px;background:#f5ead4;color:#5e461f!important}.challenge-form label{margin:15px 0}.challenge-form input{font-size:1.25rem;letter-spacing:.22em;text-align:center}.confirmation{min-height:355px;display:grid;place-content:center;justify-items:center;text-align:center}.confirmation-mark{width:58px;height:58px;margin-bottom:20px;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--pine);font-size:1.5rem}.confirmation h3{margin:6px 0 8px;font-size:1.7rem}.confirmation p{color:#65716c}.notice{position:fixed;right:24px;bottom:24px;max-width:min(420px,calc(100% - 48px));padding:15px 18px;border-radius:10px;color:#fff;background:var(--pine);box-shadow:0 12px 35px #0003;font-size:.9rem}.notice.error{background:#9a392d}footer{padding:28px 0 42px;display:flex;justify-content:space-between;border-top:1px solid var(--line);color:#6c7773;font-size:.78rem}@media(max-width:800px){.hero,.signin-panel,.booking-layout{grid-template-columns:1fr}.hero{gap:28px;padding-top:48px}.hotel-grid{grid-template-columns:1fr}.hotel-art{height:105px}.hotel-content{min-height:180px}.section-heading{display:block}.section-heading p:last-child{text-align:left}}@media(max-width:520px){.site-header,main,footer{width:min(100% - 24px,1180px)}.demo-pill{display:none}.hero h1{font-size:2.7rem}.signin-panel,.booking-form,.summary-card{padding:22px}.form-grid{grid-template-columns:1fr}footer{display:grid;gap:8px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important}}
