@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--navy:#062536;--gold:#c69945;--cream:#f7f5ef;--ink:#152b35;--muted:#717776;--line:#e5e3db;--coral:#d86243}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:17px 'DM Sans',sans-serif}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button:disabled{cursor:wait;opacity:.6}:focus-visible{outline:3px solid var(--gold);outline-offset:4px}h1,h2,h3{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400;margin:0}h1{font-size:60px;line-height:1.04}h2{font-size:34px}h3{font-size:29px}p{line-height:1.65}button{border:0;background:none;color:inherit}.site-header{background:var(--navy);color:#fff;padding:22px max(6vw,24px);display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:18px;font-family:Georgia,serif;font-size:24px;color:#e5c680}.brand small{display:block;font:11px 'DM Sans',sans-serif;letter-spacing:2.8px;color:#f0e7d1;margin-top:7px}.crest{position:relative;border:1px solid var(--gold);border-radius:0 0 45% 45%;width:44px;height:46px;display:grid;place-items:center;font-size:30px}.crest i{font-style:normal;position:absolute;top:-14px;font-size:19px}.header-right{display:flex;align-items:center;gap:32px}.location{font-size:14px;color:#b8c5c8}.gp-logo{font-size:25px;color:var(--gold)}.gp-logo b{font:19px Georgia,serif;color:#fff}.hero{text-align:center;max-width:900px;margin:0 auto;padding:64px 24px 35px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:2px;margin:0 0 13px;text-transform:uppercase}.gold{color:#a17b37}.hero h1{max-width:700px;margin:auto}.hero>p:not(.eyebrow){font-size:18px;color:var(--muted);margin:20px auto 16px;max-width:500px}.hero-note{display:flex;align-items:center;justify-content:center;gap:10px;font-size:13px;color:#8a8271}.hero-note span{color:var(--gold);font-size:20px}.discovery{max-width:1160px;margin:auto;padding:20px 24px}.search-row{display:flex;gap:20px;align-items:center}.search{display:flex;align-items:center;gap:12px;border:1px solid var(--line);background:#fff;border-radius:8px;padding:0 18px;flex:1;height:55px}.search>span{font-size:30px;color:#8a8d88}.search input{width:100%;border:0;background:none;outline:0;font-size:16px}.view-switch{display:flex;border:1px solid var(--line);border-radius:8px;background:#fff;padding:4px}.view-switch button{padding:12px 24px;display:flex;gap:8px;border-radius:5px;font-size:15px}.view-switch .active{background:var(--navy);color:#fff}.categories{display:flex;gap:10px;margin:18px 0 36px;overflow:auto;padding:3px}.categories button{border:1px solid var(--line);border-radius:30px;padding:11px 20px;white-space:nowrap;font-size:14px}.categories .active{background:var(--navy);border-color:var(--navy);color:#fff}.section-heading{display:flex;justify-content:space-between;align-items:center;margin:0 0 24px}.section-heading .eyebrow{color:#8b826d;margin-bottom:7px;font-size:11px}.section-heading>span{font-size:14px;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.perk-card{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 3px 10px #102e3910;transition:transform .2s}.perk-card:hover{transform:translateY(-3px)}.photo{height:210px;position:relative;overflow:hidden;background-color:#624d35;background-repeat:no-repeat}.steak{background-image:url('/assets/perk-reference.png');background-size:118% auto;background-position:center 24%}.restaurant{background-image:url('/assets/discovery-reference.png');background-size:290% auto;background-position:7% 78%}.river{background-image:url('/assets/discovery-reference.png');background-size:290% auto;background-position:7% 96%}.coffee{background:radial-gradient(ellipse at 50% 55%,#351e10 0 14%,#cba877 15% 17%,#f9e6bf 18% 25%,transparent 26%),radial-gradient(ellipse at 68% 56%,transparent 0 10%,#f9e6bf 11% 15%,transparent 16%),linear-gradient(135deg,#927146,#372d22)}.photo:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 60%,#0005)}.photo-label{position:absolute;bottom:17px;left:20px;font-size:10px;letter-spacing:2px;color:#fff;z-index:1}.card-body{padding:22px}.card-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.card-heading .eyebrow{font-size:10px;letter-spacing:1px;margin:0;color:#626e70}.card-heading .eyebrow span{font-weight:400;letter-spacing:0}.heart{font-size:27px;line-height:1;width:35px;height:35px;flex-shrink:0;color:var(--navy)}.is-saved{color:var(--coral)}.card-body h3{font-size:30px;margin:6px 0 16px}.badge{display:inline-block;border-radius:4px;background:#fae9df;color:#b65031;font-size:12px;text-transform:uppercase;font-weight:700;letter-spacing:.6px;padding:8px 10px}.summary{font-size:14px;color:var(--muted);min-height:40px;margin:14px 0 20px}.card-link{border-top:1px solid var(--line);padding:16px 0 0;width:100%;display:flex;justify-content:space-between;font-size:14px;font-weight:600}.card-link span{color:#a17b37;font-size:20px}.welcome-note{display:flex;gap:24px;max-width:1112px;margin:36px auto 50px;border:1px solid #ded8c8;padding:28px 34px;border-radius:10px;background:#efede4}.welcome-note>span{font-size:40px;color:#a17b37}.welcome-note h3{font-size:27px}.welcome-note p{font-size:15px;margin:8px 0 0;color:var(--muted)}.bottom-nav{position:fixed;z-index:5;bottom:20px;left:50%;transform:translateX(-50%);display:flex;padding:5px;background:#fffef9f5;border:1px solid var(--line);box-shadow:0 8px 35px #15313b20;border-radius:16px;backdrop-filter:blur(15px)}.bottom-nav button{position:relative;width:110px;padding:8px 18px;display:flex;flex-direction:column;gap:3px;align-items:center;font-size:12px;color:#81857f;border-radius:12px}.bottom-nav button>span{font-size:21px}.bottom-nav .active{background:var(--navy);color:#fff}.bottom-nav sup{position:absolute;right:23px;top:6px;color:var(--coral)}footer{text-align:center;border-top:1px solid var(--line);padding:30px 24px 135px;color:var(--muted);font-size:12px}footer>span{display:block;letter-spacing:2px;margin-bottom:20px}footer select{margin-left:10px;font-size:13px;border:1px solid var(--line);border-radius:5px;padding:7px;background:#fff}.back{font-size:14px;color:var(--muted);padding:12px 0;margin-bottom:20px}.detail-wrap{max-width:1140px;margin:auto;padding:28px 24px 60px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px}.detail-grid .large{height:570px;border-radius:12px;background-size:200% auto;background-position:center 24%}.detail-content h1{font-size:53px;margin:15px 0 22px}.detail-content p{color:var(--muted);font-size:15px}.detail-content .lead{font-size:20px;color:var(--ink)}.contact-row{display:flex;gap:10px;margin:24px 0}.secondary{border:1px solid #d8d9d1;border-radius:7px;padding:13px 20px;font-size:14px;background:#fff;display:inline-block;text-align:center}.primary{background:var(--navy);color:white;border-radius:7px;padding:17px 22px;font-size:15px;display:inline-flex;gap:30px;align-items:center;justify-content:center}.full{width:100%}.primary.full{justify-content:space-between}.rule-box{background:#efede4;border:1px solid #e5dfd0;border-radius:8px;padding:20px;margin:22px 0;font-size:15px;line-height:1.7}.rule-box h3{font-size:25px}.rule-box ul{padding-left:20px;color:#67716e;margin-bottom:0;font-size:14px}.hint{font-size:13px!important;color:var(--muted);line-height:1.6;text-align:center}.empty{grid-column:1/-1;text-align:center;padding:50px 20px;border:1px dashed #d4d3c9;border-radius:12px}.empty>span{font-size:40px}.empty p{color:var(--muted);font-size:15px}.pass-wrap{max-width:680px;margin:0 auto;padding:55px 24px}.pass-wrap>p{color:var(--muted)}.guest-pass{margin:30px 0;padding:30px 36px;background:var(--navy);border:1px solid var(--gold);outline:4px solid var(--navy);border-radius:15px;color:#fff;box-shadow:0 12px 25px #0e292c20;background-image:repeating-linear-gradient(45deg,transparent,transparent 24px,#ffffff03 24px,#ffffff03 25px)}.pass-top{display:flex;justify-content:space-between;font-size:15px}.status{font-size:12px;letter-spacing:1.5px;color:#a8c888}.pass-crest{display:block;font:60px Georgia,serif;color:var(--gold);margin:25px 0 15px}.guest-pass h2{color:#e5c680}.guest-pass p{font-size:15px;margin:10px 0 30px}.pass-bottom{display:flex;justify-content:space-between;border-top:1px solid #ffffff30;padding-top:22px;font-size:12px;line-height:1.9;color:#b9c5c7}.pass-bottom b{font-weight:400;color:#fff;font-size:14px}.pass-wrap .section-heading{margin-top:38px}.pass-wrap .section-heading h2{font-size:29px}.history-row{display:flex;justify-content:space-between;align-items:center;padding:20px;background:#fff;border:1px solid var(--line);border-radius:9px;width:100%;text-align:left;margin:12px 0;font-size:14px}.history-row small{display:block;color:var(--muted);margin-top:8px;font-size:13px}.coupon-wrap{max-width:580px;padding:25px 24px 50px;margin:auto}.coupon{text-align:center;border-radius:15px;background:var(--navy);color:#fff;padding:35px}.coupon h1{font-size:48px;margin:20px 0}.coupon h2{font-size:30px;color:#e5c680}.coupon p{font-size:15px;color:#c7d2d2}.success-mark{border:1px solid var(--gold);border-radius:50%;width:56px;height:56px;display:grid;place-items:center;margin:25px auto 18px;color:var(--gold);font-size:26px}.coupon-divider{border-top:1px dashed #ffffff40;margin:28px 0}.coupon dl{font-size:14px;margin:0}.coupon dl>div{display:flex;justify-content:space-between;margin:14px 0;gap:15px}.coupon dt{color:#a9babb}.coupon dd{margin:0;text-align:right}.coupon .coupon-foot{font-size:12px;letter-spacing:1px;margin:28px 0 0}.staff-note{padding:24px 8px 0}.staff-note h3{font-size:26px}.staff-note p{font-size:15px;color:var(--muted)}.modal-overlay{position:fixed;inset:0;z-index:20;background:#001a29a0;display:grid;place-items:center;padding:24px;backdrop-filter:blur(5px)}.modal{background:var(--cream);border-radius:16px;max-width:450px;padding:34px}.modal h2{font-size:39px}.modal>p{font-size:16px;color:var(--muted)}.modal .eyebrow{color:#a17b37}.cancel{display:block;width:100%;padding:18px;font-size:15px}.error{color:#b3482c!important}.map-layout{display:grid;grid-template-columns:1fr 320px;gap:24px}.map-canvas{height:470px;position:relative;overflow:hidden;border-radius:12px;border:1px solid var(--line);background:repeating-linear-gradient(35deg,transparent 0 47px,#fff 48px 53px,transparent 54px 110px),repeating-linear-gradient(125deg,#eeeae1 0 60px,#fff 61px 66px,#eeeae1 67px 130px)}.park{position:absolute;background:#d9e3c5;color:#698056;border-radius:25px;padding:35px;font-size:14px}.park-one{top:2%;left:8%}.park-two{right:12%;top:36%;padding:24px}.map-river{position:absolute;left:-80px;bottom:-220px;width:340px;height:670px;border:30px solid #b5d6d6;border-radius:50%;transform:rotate(-30deg)}.street{position:absolute;color:#8a877e;font-size:12px;transform:rotate(35deg)}.street-one{top:30%;left:30%}.street-two{bottom:20%;right:20%;transform:rotate(-55deg)}.map-hotel{position:absolute;top:48%;left:45%;font-size:13px;display:flex;flex-direction:column;align-items:center;gap:8px}.map-hotel b{background:var(--navy);color:var(--gold);padding:15px;border:2px solid var(--gold);border-radius:50%;font:25px Georgia,serif}.map-pin{position:absolute;transform:translate(-50%,-50%);background:var(--coral);color:white;border:3px solid white;box-shadow:0 3px 10px #3332;border-radius:50%;width:40px;height:40px;font-size:20px;z-index:2}.map-pin small{position:absolute;top:40px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:10px;background:white;color:var(--ink);padding:4px 7px;border-radius:4px;box-shadow:0 2px 6px #3332}.map-pin.selected{background:var(--navy);outline:3px solid var(--gold)}.map-caption{position:absolute;bottom:0;left:10px;font-size:11px;color:#827e73}.loading{text-align:center;padding:100px}
@media(min-width:1200px){.cards .perk-card:last-child{grid-column:auto}.cards{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.cards{grid-template-columns:repeat(2,1fr)}.location{display:none}.welcome-note{margin:28px 24px 40px}.detail-grid{gap:25px}.detail-grid .large{height:480px}.detail-content h1{font-size:42px}.map-layout{grid-template-columns:1fr 280px}}
@media(max-width:600px){.site-header{padding:23px 20px}.brand{font-size:19px;gap:13px}.brand small{font-size:9px;letter-spacing:1.8px}.crest{width:32px;height:35px;font-size:23px}.crest i{font-size:17px;top:-12px}.gp-logo{font-size:22px}.gp-logo b{display:block;font-size:13px}.hero{padding:40px 22px 20px}h1{font-size:43px}.hero .eyebrow{font-size:10px;letter-spacing:1.6px}.hero>p:not(.eyebrow){font-size:16px;margin:18px auto 10px}.hero-note{font-size:12px}.discovery{padding:20px}.search-row{gap:10px}.search{height:50px;padding:0 12px}.search input{font-size:14px}.view-switch button{padding:10px;font-size:19px}.view-switch button span{display:none}.categories{gap:7px;margin:16px -2px 27px}.categories button{padding:10px 15px;font-size:13px}.section-heading h2{font-size:30px}.section-heading>span{font-size:12px}.cards{grid-template-columns:1fr;gap:18px}.perk-card{display:grid;grid-template-columns:125px 1fr}.photo{height:100%;min-height:215px}.steak{background-size:240% auto;background-position:center 24%}.restaurant,.river{background-size:480% auto}.card-body{padding:15px}.card-body h3{font-size:25px;margin:7px 0 12px}.card-heading .eyebrow{font-size:10px;letter-spacing:.5px}.card-heading .eyebrow span{display:block;white-space:nowrap;margin-top:4px}.heart{font-size:24px;width:25px;height:28px}.badge{font-size:10px;padding:6px 8px}.summary{font-size:12px;min-height:0;margin:10px 0 12px}.card-link{font-size:12px;padding-top:10px}.photo-label{display:none}.welcome-note{margin:20px 20px 35px;padding:20px;gap:12px}.welcome-note h3{font-size:24px}.welcome-note p{font-size:13px}.welcome-note>span{font-size:28px}.bottom-nav{bottom:12px;width:calc(100% - 32px);max-width:400px}.bottom-nav button{flex:1;width:auto;padding:9px 14px}.bottom-nav button>span{font-size:23px}.detail-wrap{padding:20px}.detail-grid{display:flex;flex-direction:column;gap:25px}.detail-grid .large{height:280px;background-size:118% auto}.detail-content h1{font-size:45px}.detail-content .lead{font-size:19px}.pass-wrap{padding:35px 22px}.pass-wrap h1{font-size:45px}.guest-pass{padding:25px}.guest-pass h2{font-size:31px}.pass-bottom{font-size:11px}.history-row{font-size:13px;padding:15px}.history-row>span:last-child{font-size:11px}.coupon-wrap{padding:20px}.coupon{padding:30px 23px}.coupon h1{font-size:43px}.coupon dl{font-size:12px}.map-layout{display:flex;flex-direction:column;gap:18px}.map-canvas{height:420px}.map-selection .photo{min-height:215px}.modal{padding:27px}.modal h2{font-size:35px}footer{font-size:11px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.photo.steak,.photo.restaurant,.photo.river{background-image:none}.photo svg{display:block;position:absolute;width:100%;height:100%;inset:0}
.photo>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.hotel-logo{width:100%;height:100%;object-fit:contain}.preview-banner{background:#f0e3bd;padding:12px 20px;text-align:center;font-size:13px;color:#5d4c26}.preview-banner a{margin-left:12px;text-decoration:underline}

/* Stretch the native detail button across the card; keep Save independently clickable. */
.perk-card{position:relative;isolation:isolate}
.perk-card .card-link::after{content:'';position:absolute;inset:0;z-index:1;cursor:pointer;border-radius:12px}
.perk-card .heart{position:relative;z-index:2;min-width:44px;min-height:44px}
.perk-card .card-link:focus-visible{outline:none}
.perk-card .card-link:focus-visible::after{outline:3px solid var(--gold);outline-offset:-3px}
