:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:#173b31;background:#f4f3ec;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.shell{width:min(1160px,calc(100% - 40px));margin:auto}.masthead{background:#102b24;color:#f5f0de;overflow:hidden}.topbar{height:88px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff21}.brand{font-size:17px;letter-spacing:.15em;display:flex;align-items:center;gap:13px;font-weight:400}.brand b{font-weight:800}.mark{display:grid;place-items:center;width:36px;height:36px;color:#102b24;background:#dbbb65;border-radius:50%;font-size:27px;line-height:1}.badge,.mini-label,.eyebrow{font-size:11px;letter-spacing:.18em;font-weight:800}.badge{border:1px solid #ffffff40;padding:9px 12px;border-radius:30px;color:#d9cfac}.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:80px;min-height:465px;align-items:center;padding:60px 0 70px}.eyebrow{color:#d9bb6e}.eyebrow.dark{color:#9a6e2f}.hero h1{font-size:clamp(46px,5.5vw,75px);line-height:1.04;letter-spacing:-.055em;margin:21px 0}.hero h1 em{font-style:normal;color:#dbbb65}.lead{max-width:510px;color:#bdd0c3;line-height:1.7;font-size:16px}.hero-link{display:inline-flex;align-items:center;gap:28px;background:#dbbb65;color:#18382e;padding:16px 19px;font-size:14px;font-weight:800;border-radius:4px;margin-top:18px}.hero-link span{font-size:20px}.hero-panel{min-height:330px;border:1px solid #71978064;background:linear-gradient(135deg,#214939,#17362d);padding:30px;position:relative;overflow:hidden;border-radius:8px}.mini-label{color:#d8c37f}.region{font-size:26px;font-weight:750;margin-top:10px}.region span{color:#c6aa68}.hero-panel small{position:absolute;bottom:21px;color:#bdd0c3}.map-glow{position:absolute;width:320px;height:320px;right:-8px;bottom:-75px}.ring{border:1px solid #bbd2ab66;border-radius:50%;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.r1{width:160px;height:160px}.r2{width:285px;height:285px}.dot{position:absolute;width:10px;height:10px;background:#e1bd64;border-radius:50%;box-shadow:0 0 0 5px #e1bd6429}.center{left:48%;top:46%;width:14px;height:14px;background:#eef5d4}.p1{left:39%;top:72%}.p2{left:75%;top:42%}.p3{left:38%;top:23%}.notice{display:flex;gap:15px;align-items:center;background:#fffaf0;border:1px solid #e5d9bd;color:#695732;margin-top:30px;padding:15px 20px;border-radius:5px;font-size:13px}.notice strong{white-space:nowrap;color:#8c612d}.section{padding:74px 0 18px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:28px}.section h2{font-size:clamp(30px,3vw,42px);letter-spacing:-.045em;margin:8px 0 0}.section-note{font-size:14px;line-height:1.55;color:#698076;max-width:395px;margin:0 0 4px}.park-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.park-card{min-height:255px;background:#fff;border:1px solid #e1e3d9;padding:24px;border-radius:7px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 4px 18px #233b2710}.park-top{display:flex;justify-content:space-between;color:#a57338;font-size:12px;font-weight:750}.park-card h3{font-size:23px;letter-spacing:-.035em;line-height:1.2;margin:15px 0 8px}.park-card p{margin:0;font-size:13px;color:#657c72;line-height:1.55}.park-links{display:flex;gap:17px;border-top:1px solid #e9ebe4;padding-top:16px}.park-links a{color:#28634d;font-size:13px;font-weight:750}.park-links a:hover,.trip-actions a:hover{text-decoration:underline}.planner-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:18px}.form-card,.preview{border-radius:7px;padding:28px}.form-card{background:#fff;border:1px solid #e1e3d9;display:grid;grid-template-columns:repeat(2,1fr);gap:19px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:12px;color:#315447;font-weight:750}.optional{font-weight:400;color:#88978e}.field input,.field select,.field textarea{width:100%;background:#fbfcf9;border:1px solid #d9e1d9;border-radius:4px;padding:12px;color:#1b3d32;outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:#5d987c;box-shadow:0 0 0 3px #5d987c28}.button{border:0;border-radius:4px;background:#224c3a;color:#fff;padding:14px 17px;cursor:pointer;font-size:14px;font-weight:800;justify-self:start;grid-column:1/-1}.button:hover{background:#32694f}.button span{margin-left:22px}.form-message{margin:0;grid-column:1/-1;color:#9b402d;font-size:13px;min-height:1em}.preview{background:#204b38;color:#ecf2e4;min-height:375px}.preview .eyebrow{color:#d9bd77}.preview h3{font-size:28px;margin:12px 0 9px;letter-spacing:-.035em}.metric{border-top:1px solid #ffffff2e;padding:16px 0;display:flex;justify-content:space-between;align-items:baseline;gap:10px}.metric span{color:#c0d3c5;font-size:13px}.metric b{text-align:right;font-size:16px}.preview .hint{font-size:13px;color:#c7d9c9;line-height:1.55}.preview .flag{margin:8px 0;padding:11px 13px;background:#b1864152;border-left:3px solid #e5c16f;color:#f2e1b8;font-size:13px;line-height:1.5}.preview .error{background:#7c423f55;border-color:#d77d67}.trip-list{display:grid;gap:12px}.trip{background:#fff;border:1px solid #e1e3d9;border-radius:7px;padding:20px 24px;display:grid;grid-template-columns:1.25fr 1fr auto;align-items:center;gap:18px}.trip h3{font-size:19px;margin:0 0 5px;letter-spacing:-.03em}.trip p{margin:0;color:#698076;font-size:13px;line-height:1.6}.trip-status{font-size:11px;color:#285c44;background:#e3eee4;border-radius:30px;padding:7px 10px;font-weight:800;display:inline-block;margin-bottom:8px}.trip-status.upcoming{background:#f4ead3;color:#926d2e}.trip-actions{display:flex;align-items:center;gap:15px}.trip-actions a{font-size:13px;font-weight:800;color:#2c664e}.trip-actions button{background:none;border:0;color:#9b6b5e;cursor:pointer;font-size:12px}.empty{padding:30px;background:#fff;border-radius:7px;color:#667e70}.footer{display:flex;justify-content:space-between;gap:25px;border-top:1px solid #d8ded2;margin-top:70px;padding:25px 0 35px;color:#728477;font-size:12px}@media(max-width:850px){.hero{grid-template-columns:1fr;gap:15px;padding:50px 0}.hero-panel{min-height:235px}.park-grid{grid-template-columns:1fr 1fr}.planner-grid{grid-template-columns:1fr}.section-head{align-items:start;flex-direction:column;gap:10px}.trip{grid-template-columns:1fr 1fr}.trip-actions{grid-column:1/-1}}@media(max-width:570px){.shell{width:min(100% - 28px,1160px)}.topbar{height:75px}.badge{font-size:9px;padding:7px}.brand{font-size:14px;gap:7px}.mark{width:30px;height:30px}.hero{padding:40px 0}.hero-panel{min-height:210px}.notice{align-items:start;flex-direction:column;gap:4px}.section{padding-top:55px}.park-grid{grid-template-columns:1fr}.form-card{padding:18px;gap:15px}.preview{padding:23px}.trip{grid-template-columns:1fr;padding:20px;gap:12px}.trip-actions{grid-column:auto}.footer{flex-direction:column;gap:7px}}
[hidden]{display:none!important}.park-links{flex-wrap:wrap}

/* --- sign-in, user chip, edit mode, people (added with the shared-app slice) --- */
.topbar-right{display:flex;align-items:center;gap:14px}
.user-chip{display:inline-flex;align-items:center;gap:10px;font-size:13px;color:#d9cfac}
.user-chip button{background:none;border:1px solid #ffffff40;color:#f5f0de;border-radius:30px;padding:6px 11px;font-size:12px;cursor:pointer}
.user-chip button:hover{background:#ffffff14}
.signin-card{max-width:520px;grid-template-columns:1fr}
.hint-line{grid-column:1/-1;margin:0;font-size:12px;color:#728477;line-height:1.5}
.form-actions{grid-column:1/-1;display:flex;gap:12px;align-items:center}
.form-actions .button{grid-column:auto}
.button.secondary{background:#fff;color:#224c3a;border:1px solid #c9d6cb}
.button.secondary:hover{background:#eef3ec}
.status-pill{font-size:11px;font-weight:800;border-radius:30px;padding:7px 10px;display:inline-block;margin-bottom:8px;background:#ececec;color:#555}
.status-pill.ready_to_book{background:#e3ecf4;color:#2c5677}
.status-pill.requested{background:#f4ead3;color:#926d2e}
.status-pill.booked{background:#e3eee4;color:#285c44}
.status-pill.cancelled{background:#f3e0dc;color:#9b402d}
.trip-actions button[data-edit]{color:#2c664e;font-weight:800}
.invite-card{grid-template-columns:1fr 1fr;margin-bottom:12px}
.people .trip.person{grid-template-columns:1.25fr 1fr auto}
.form-actions,.invite-card .button{justify-self:start}
#signin-message{font-size:14px;font-weight:700;line-height:1.5}
@media(max-width:570px){.topbar-right:has(.user-chip:not([hidden])) .badge{display:none}.brand,.user-chip,.user-chip button{white-space:nowrap}.form-card,.invite-card,.people .trip.person{grid-template-columns:minmax(0,1fr)}.field{min-width:0}}
@media(max-width:570px),(pointer:coarse){.user-chip button{min-height:44px;padding:0 16px}.park-links,.trip-actions{flex-wrap:wrap;column-gap:18px;row-gap:0}.park-links a,.trip-actions a,.trip-actions button{min-height:44px;min-width:44px;display:inline-flex;align-items:center}.trip-actions button{padding:0 10px}}
.site-note{background:#f6f1e3;border:1px solid #eadfbf;border-radius:6px;padding:12px 14px;font-size:13px;color:#5e4d22;line-height:1.5}.site-note strong{display:block;color:#3f3413;margin-bottom:2px}.site-note a{color:#28634d;font-weight:750;text-decoration:underline}
.site-picker{border:1px solid #d9e1d9;border-radius:6px;padding:14px;background:#fbfcf9;gap:10px}.site-picker-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.site-picker h3{margin:0;font-size:16px;letter-spacing:-.02em}.map-link{color:#28634d;font-size:13px;font-weight:800;min-height:44px;display:inline-flex;align-items:center}.site-picker .hint{margin:0;font-size:12px;color:#698076;line-height:1.5}
.map-toolbar{display:flex;align-items:center;gap:8px}.map-toolbar button{min-width:44px;min-height:44px;border:1px solid #c9d6cb;background:#fff;color:#224c3a;border-radius:4px;font-size:18px;font-weight:800;cursor:pointer}.map-toolbar button[data-zoom=fit]{font-size:13px;padding:0 12px}.map-toolbar span{min-width:52px;text-align:center;font-size:13px;color:#315447;font-weight:750}
.map-viewer{position:relative;overflow:auto;max-height:70vh;border:1px solid #d9e1d9;border-radius:4px;background:#fff;touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.map-viewer:focus-visible{outline:3px solid #5d987c;outline-offset:2px}.map-stage{position:relative;width:100%}.map-stage img{display:block;width:100%;height:auto;user-select:none;-webkit-user-drag:none}
.map-mark{position:absolute;width:3.2%;aspect-ratio:1;transform:translate(-50%,-50%);border:3px solid #d8452b;border-radius:50%;box-shadow:0 0 0 3px #fff9,0 0 0 9999px #0000;pointer-events:none;animation:mark-pulse 1.6s ease-out 2}@keyframes mark-pulse{0%{box-shadow:0 0 0 0 #d8452b88}100%{box-shadow:0 0 0 14px #d8452b00}}
.map-credit{margin:0;font-size:11px;color:#7d8c84}.site-find{display:flex;flex-direction:column;gap:6px}.site-find label{font-size:12px;color:#315447;font-weight:750}.site-find input{width:100%;background:#fff;border:1px solid #d9e1d9;border-radius:4px;padding:12px;color:#1b3d32}
.site-chips{max-height:18rem;overflow:auto;display:grid;gap:10px;padding:5px;overscroll-behavior:contain}.chip-group h4{margin:0 0 6px;font-size:12px;color:#315447}.chip-group h4 span{color:#8a9a91;font-weight:600}.chip-row{display:flex;flex-wrap:wrap;gap:6px}
.site-chip{min-width:44px;min-height:44px;padding:0 8px;border:1px solid #c9d6cb;background:#fff;border-radius:22px;color:#224c3a;font-weight:750;cursor:pointer}.site-chip[aria-pressed=true]{background:#224c3a;color:#fff;border-color:#224c3a}.site-chip.current{outline:3px solid #d8452b;outline-offset:1px}
.site-detail{display:grid;gap:8px}.site-card{background:#fff;border:1px solid #e1e3d9;border-radius:6px;padding:14px;display:grid;gap:8px}.site-card h4{margin:0;font-size:17px}.site-card h4 span{font-size:12px;color:#698076;font-weight:600;margin-left:6px}.site-card p{margin:0}.map-only{font-size:13px;color:#5e4d22;background:#f6f1e3;border-radius:4px;padding:10px;line-height:1.5}.site-actions{display:flex;flex-wrap:wrap;gap:8px}.site-actions .button{grid-column:auto;min-height:44px}.site-card figure{margin:0}.site-card figure img{width:100%;border-radius:4px}.site-card figcaption,.site-facts{font-size:12px;color:#698076}.chosen-summary{margin:0;font-size:13px;color:#315447}.site-detail .flag{margin:0;font-size:13px;color:#9b402d}
@media(max-width:570px){.site-picker{padding:10px;margin:0 -4px}.map-viewer{max-height:62vh}.site-actions .button{flex:1 1 100%;justify-content:center;text-align:center}}
.code-card{margin-top:14px}
.reminder-line{margin-top:6px !important;font-size:12px !important;color:#5e4d22 !important}
