:root{
  --ink:#171717; --muted:#6f6f6f; --line:#e9e5df; --paper:#fff; --soft:#faf8f4;
  --gold:#b97516; --gold2:#d3942c; --shadow:0 18px 45px rgba(25,20,14,.12);
  --serif: Georgia, 'Times New Roman', serif; --sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:#fff;color:var(--ink);font-family:var(--sans)}
a{color:inherit;text-decoration:none} button,input,select{font:inherit}.shell{max-width:1480px;margin:auto}
.topbar{height:80px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 4.5%;position:relative;z-index:8;border-bottom:1px solid #f1ede7}
.brand{font-family:var(--serif);font-size:31px;letter-spacing:.16em;line-height:1}.brand small{display:block;font-family:var(--sans);font-size:8px;letter-spacing:.34em;color:var(--gold);margin-top:7px}
nav{display:flex;gap:34px;font-size:12px;letter-spacing:.11em;text-transform:uppercase}.top-cta{border:1px solid var(--gold);color:#a75f08;padding:14px 25px;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.hero{min-height:480px;position:relative;background:linear-gradient(90deg,rgba(255,250,241,.96) 0%,rgba(255,250,241,.62) 32%,rgba(255,255,255,.02) 68%),url('assets/images/hero-panorama.jpg') center/cover no-repeat;display:flex;align-items:flex-start;padding:55px 6% 120px}
.hero-copy{width:min(550px,46%);position:relative;z-index:2}.eyebrow{color:var(--gold);font-size:11px;letter-spacing:.3em;text-transform:uppercase;font-weight:700}.hero h1{font-family:var(--serif);font-weight:400;font-size:64px;line-height:.91;margin:14px 0 16px;letter-spacing:-.035em}.hero p{font-family:var(--serif);font-size:20px;line-height:1.2;max-width:455px}
.booking{width:min(790px,88%);background:rgba(255,255,255,.97);border:1px solid #eee8df;border-radius:13px;box-shadow:var(--shadow);padding:12px;position:absolute;left:50%;bottom:-10px;transform:translateX(-50%);z-index:4}
.vehicles{display:grid;grid-template-columns:1fr 1fr;gap:7px}.vehicle{padding:13px 18px;border-radius:8px;background:#f7f6f3;display:flex;justify-content:center;gap:13px;align-items:center}.vehicle.active{background:#111;color:white}.vehicle-icon{font-size:25px}.vehicle strong{display:block;font-family:var(--serif);font-size:18px}.vehicle span{font-size:11px;color:#777}.vehicle.active span{color:#ccc}
.fields{display:grid;grid-template-columns:1.25fr 1.25fr .85fr .85fr .65fr 1.2fr;gap:8px;margin-top:9px}.field{border:1px solid #e8e4dd;border-radius:8px;padding:8px 11px;min-height:54px;background:#fff}.field label{display:block;font-size:10px;color:#777;margin-bottom:5px}.field input,.field select{width:100%;border:0;outline:none;background:transparent;color:#222}.book-btn{border:0;border-radius:8px;background:linear-gradient(135deg,#d28d22,#a75a00);color:white;font-weight:650;font-size:16px;cursor:pointer}
.trust{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:10px 7px 0;font-size:11px;color:#595959;text-align:center}.trust span{color:var(--gold);font-size:18px;margin-right:6px}
.content{padding:55px 3.5% 48px}.layout-sidebar{display:grid;grid-template-columns:310px 1fr;gap:34px}.weather-sidebar{background:#fff;border-right:1px solid #eee9e1;padding-right:22px}.weather-sidebar h3,.section h2{font-family:var(--serif);font-weight:400;margin:0}.weather-sidebar h3{font-size:27px}.weather-location{margin-top:18px;border:1px solid var(--line);border-radius:13px;overflow:hidden;background:#fff}.weather-photo{height:125px;background-size:cover;background-position:center;position:relative}.weather-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(0,0,0,.15))}.weather-meta{padding:14px}.weather-city{font-size:12px;letter-spacing:.13em;text-transform:uppercase;font-weight:700}.temp-row{display:flex;align-items:center;gap:12px;margin:4px 0}.weather-icon{font-size:39px}.temp{font-family:var(--serif);font-size:50px}.condition{font-size:13px;color:#555}.forecast{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;border-top:1px solid #eee;padding:10px 7px;margin-top:9px}.day{text-align:center;font-size:9px;color:#555}.day b{display:block;font-size:14px;margin:4px 0}.concierge{margin-top:18px;border:1px solid #e7e0d6;border-radius:12px;padding:17px;background:var(--soft)}.concierge strong{font-family:var(--serif);font-size:20px}.concierge button{width:100%;margin-top:12px;border:1px solid var(--gold);background:#fff;color:#9c5a04;padding:10px;cursor:pointer}
.main-column{min-width:0}.section{margin-bottom:34px}.section-head{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:14px}.section h2{font-size:33px}.section-sub{color:var(--muted);font-size:14px}.view-link{font-size:12px;color:#af670d;white-space:nowrap}.cards{display:grid;gap:16px}.events-grid{grid-template-columns:repeat(3,1fr)}.card{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;transition:.2s ease}.card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(0,0,0,.09)}.card-img{height:150px;background-size:cover;background-position:center;position:relative}.date-badge{position:absolute;left:12px;top:12px;background:white;border-radius:8px;padding:6px 8px;font-size:11px;font-weight:800;box-shadow:0 3px 10px rgba(0,0,0,.12)}.card-body{padding:12px 13px 14px}.category{font-size:9px;color:#a96209;text-transform:uppercase;letter-spacing:.13em;font-weight:800}.card h3{font-family:var(--serif);font-size:20px;margin:5px 0 3px;font-weight:400}.card p{font-size:12px;color:#666;line-height:1.45;margin:0}.guides{grid-template-columns:repeat(3,1fr)}.guide-card{display:grid;grid-template-columns:110px 1fr;border:1px solid var(--line);border-radius:10px;overflow:hidden}.guide-card img{width:100%;height:100%;object-fit:cover}.guide-copy{padding:12px}.guide-copy strong{font-family:var(--serif);font-size:18px;display:block;margin-bottom:6px}.guide-copy span{font-size:12px;color:#666}
.experiences{grid-template-columns:repeat(3,1fr)}.mini-card{min-height:120px;border-radius:10px;background-size:cover;background-position:center;position:relative;overflow:hidden;display:flex;align-items:end;padding:14px;color:#fff;font-family:var(--serif);font-size:21px}.mini-card:before{content:'';position:absolute;inset:0;background:linear-gradient(transparent,rgba(0,0,0,.66))}.mini-card span{position:relative;z-index:1}
/* Balanced alternate */
.balanced .layout-sidebar{display:block}.balanced .weather-sidebar{border:0;padding:0;margin-bottom:30px}.balanced .weather-sidebar>h3,.balanced .concierge{display:none}.balanced .weather-stack{display:grid;grid-template-columns:1fr 1fr;gap:16px}.balanced .weather-location{margin-top:0}.balanced .weather-photo{height:145px}.balanced .main-column{display:block}.balanced .events-grid{grid-template-columns:repeat(4,1fr)}
.footer{border-top:1px solid var(--line);padding:28px 5%;font-size:12px;color:#666;display:flex;justify-content:space-between;gap:20px}
.notice{position:fixed;right:20px;bottom:20px;background:#111;color:white;padding:12px 16px;border-radius:10px;font-size:12px;box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:.2s;z-index:20}.notice.show{opacity:1}
@media(max-width:1100px){
 nav{display:none}.hero{min-height:445px;padding-top:42px}.hero h1{font-size:54px}.booking{width:92%}.fields{grid-template-columns:1.2fr 1.2fr .8fr .8fr}.book-btn{grid-column:span 2;min-height:50px}.layout-sidebar{display:block}.weather-sidebar{border:0;padding:0;margin-bottom:30px}.weather-sidebar>h3,.concierge{display:none}.weather-stack{display:grid;grid-template-columns:1fr 1fr;gap:16px}.weather-location{margin-top:0}.events-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:720px){
 .topbar{height:64px;padding:0 20px}.brand{font-size:23px}.brand small{font-size:6px}.top-cta{padding:10px 12px;font-size:9px}.hero{min-height:610px;padding:32px 22px 285px;background-position:61% center}.hero-copy{width:78%}.hero h1{font-size:46px}.hero p{font-size:17px}.booking{bottom:14px;width:calc(100% - 28px);padding:10px}.vehicles{grid-template-columns:1fr 1fr}.vehicle{padding:10px 8px;gap:6px}.vehicle-icon{font-size:18px}.vehicle strong{font-size:15px}.vehicle span{font-size:9px}.fields{grid-template-columns:1fr 1fr}.field:nth-child(1),.field:nth-child(2){grid-column:span 1}.book-btn{grid-column:span 2;min-height:48px}.trust{grid-template-columns:1fr 1fr;font-size:9px}.content{padding:22px 15px 34px}.weather-stack,.balanced .weather-stack{grid-template-columns:1fr 1fr}.weather-photo{height:88px}.weather-meta{padding:10px}.temp{font-size:36px}.weather-icon{font-size:27px}.forecast{display:none}.events-grid,.balanced .events-grid{grid-template-columns:1fr 1fr}.card-img{height:120px}.section h2{font-size:28px}.guides,.experiences{grid-template-columns:1fr}.guide-card{grid-template-columns:95px 1fr}.footer{flex-direction:column}.section-head{align-items:flex-start}.view-link{margin-top:7px}.layout-sidebar{display:block}
}
@media(max-width:480px){.hero-copy{width:88%}.hero h1{font-size:39px}.hero p{font-size:15px}.events-grid,.balanced .events-grid{grid-template-columns:1fr}.weather-stack,.balanced .weather-stack{grid-template-columns:1fr 1fr}.weather-city{font-size:10px}.temp{font-size:31px}.condition{font-size:11px}}
