*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f7f4ef;color:#202a31;font-family:Arial,Helvetica,sans-serif}.topbar{height:112px;display:flex;align-items:center;justify-content:space-between;padding:0 26px;background:#fbfaf7;border-bottom:1px solid #e4dfd7;position:sticky;top:0;z-index:20}.brand img{height:92px;width:auto;display:block}.topbar nav{display:flex;align-items:center;gap:22px}.topbar nav a,.topbar nav button{background:none;border:0;text-decoration:none;color:#252d32;text-transform:uppercase;font-size:11px;letter-spacing:.04em;cursor:pointer}.topbar nav .active{border-bottom:1px solid #b98a5d;padding-bottom:16px}.contact-pill{border:1px solid #b98a5d!important;border-radius:9px;padding:14px 18px!important;color:#9b6f49!important}.layout-shell{display:grid;grid-template-columns:minmax(0,1fr) 330px;max-width:1650px;margin:auto}.main-column{min-width:0}.sidebar{padding:16px 18px;background:#faf8f4;border-left:1px solid #e7e1d8}.hero{height:530px;background-image:linear-gradient(90deg,rgba(0,0,0,.52),rgba(0,0,0,.05)),url('assets/hero-summer.jpg');background-size:cover;background-position:center;position:relative;color:#fff}.hero-copy{position:absolute;left:7%;top:28%;}.hero h1{font:500 58px Georgia,serif;margin:0 0 12px}.place{text-transform:uppercase;letter-spacing:.16em;font-size:17px}.tagline{font:italic 29px Georgia,serif;margin-top:24px}.cta{display:inline-flex;gap:38px;align-items:center;background:#bd895d;color:white;text-decoration:none;padding:18px 28px;border-radius:7px;text-transform:uppercase;font-size:13px;margin-top:30px}.hero-welcome{position:absolute;right:12%;bottom:36px}.script{font:italic 32px Georgia,serif}.hero-welcome p{font-size:13px;line-height:1.45}.hero-flower{position:absolute;right:3%;bottom:50px;font-size:100px;font-weight:100;opacity:.42}.section{padding:34px 20px 42px;border-bottom:1px solid #eee8df}.white{background:#fff}.heading{text-align:center;margin-bottom:18px}.heading h2{font:500 20px Georgia,serif;text-transform:uppercase;letter-spacing:.16em;margin:0}.ornament{color:#b78a5f;margin-top:5px;font-size:12px}.cards{display:grid;gap:14px}.cards.four{grid-template-columns:repeat(4,1fr)}.image-card,.cards article{border:0;border-radius:9px;overflow:hidden;position:relative;background-image:linear-gradient(0deg,rgba(0,0,0,.6),transparent 60%),var(--bg);background-size:cover;background-position:center;color:white;cursor:pointer}.image-card{height:175px}.image-card span,.cards article>span{position:absolute;left:14px;bottom:12px;text-transform:uppercase;font-size:12px;letter-spacing:.05em}.secondary-head{margin-top:30px}.utility-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.utility-grid button{background:#fff;border:1px solid #e4dfd7;border-radius:8px;padding:15px 10px;min-height:115px;cursor:pointer}.utility-grid .ico{display:block;font-size:28px;margin-bottom:10px}.utility-grid b,.utility-grid small{display:block}.utility-grid b{text-transform:uppercase;font-size:11px}.utility-grid small{font-size:11px;line-height:1.35;margin-top:8px;color:#555}.cards.five{grid-template-columns:repeat(5,1fr)}.cards.five article{height:160px}.cards article b,.cards article small{display:block}.cards article small{font-size:11px;text-transform:none;margin-top:3px}.mood-head{margin:28px 0 15px}.cards.six{grid-template-columns:repeat(6,1fr)}.cards.six article{height:120px}.side-card{background:#fff;border:1px solid #ebe5dc;border-radius:10px;padding:18px;margin-bottom:16px;box-shadow:0 10px 26px rgba(31,35,37,.05)}.side-card h3{text-transform:uppercase;font-size:12px;letter-spacing:.06em;margin:0 0 16px}.weather-main{display:flex;align-items:center;justify-content:center;gap:18px;margin:12px 0 16px}.snow{font-size:48px;color:#6d97bd}.weather-main strong{display:block;font:500 42px Georgia,serif}.weather-main small{display:block;text-align:center}.side-card dl,.emergency-dark dl,dialog dl{margin:0}.side-card dl div,.emergency-dark dl div,dialog dl div{display:flex;justify-content:space-between;border-top:1px solid #ece6de;padding:11px 0;font-size:12px}.side-card dd,.emergency-dark dd,dialog dd{margin:0}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quick-grid button,.quick-grid a{height:88px;border:1px solid #e5ded5;border-radius:8px;background:#fff;color:#202a31;text-decoration:none;display:flex;flex-direction:column;justify-content:center;align-items:center;font-size:26px}.quick-grid span{font-size:10px;text-transform:uppercase;margin-top:8px}.morning-card{background:#232424;border-radius:9px;overflow:hidden;color:#fff;margin-bottom:16px}.morning-card img{width:100%;height:175px;object-fit:cover}.morning-card div{padding:18px}.morning-card h3{font:500 24px Georgia,serif;margin:0}.morning-card p{font-size:12px;line-height:1.45}.morning-card button,.emergency-dark button{width:100%;background:none;border:1px solid #b98a5d;color:#fff;border-radius:6px;padding:12px;text-transform:uppercase;font-size:10px}.help p{font-size:12px}.help a{display:flex;gap:12px;border-top:1px solid #ece6de;padding:13px 0;color:#222;text-decoration:none}.help a b,.help a small{display:block}.help a b{font-size:10px;text-transform:uppercase;color:#b07b51}.help a small{font-size:11px;margin-top:4px}.emergency-dark{background:#252626;color:white}.emergency-dark dl div{border-color:#444}.emergency-dark button{margin-top:14px}footer{background:#262421;color:white;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;padding:18px 32px;gap:24px}.footer-brand{display:flex;align-items:center;gap:14px}.footer-brand img{height:50px;filter:brightness(5) grayscale(1)}.footer-brand small{font-size:10px;line-height:1.4}.footer-center{text-align:center}.footer-center span{display:block;color:#c89b6c;font:500 15px Georgia,serif}.footer-center small{font-size:9px}.footer-actions{display:flex;justify-content:flex-end;gap:18px}.footer-actions a{color:#fff;text-decoration:none;text-transform:uppercase;font-size:9px}dialog{width:min(500px,calc(100% - 24px));border:0;border-radius:14px;padding:32px;background:#fbfaf7;color:#202a31;box-shadow:0 20px 80px rgba(0,0,0,.35)}dialog::backdrop{background:rgba(18,22,25,.6)}.close{position:absolute;right:14px;top:10px;border:0;background:none;font-size:28px}.qr{width:220px;display:block;margin:18px auto}.center{text-align:center}.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:10px;color:#b07b51}
@media(max-width:1000px){.layout-shell{grid-template-columns:1fr}.sidebar{border-left:0;display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.side-card,.morning-card{margin:0}.topbar nav a span,.topbar nav button span{display:none}.topbar nav{gap:12px}.brand img{height:74px}.topbar{height:90px}.cards.six{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.topbar{padding:0 12px;height:74px}.brand img{height:58px}.topbar nav a:not(.contact-pill),.topbar nav button{display:none}.contact-pill{padding:10px!important;font-size:9px!important}.hero{height:640px;background-position:center}.hero-copy{left:24px;right:24px;top:auto;bottom:150px}.hero h1{font-size:46px}.place{font-size:12px}.tagline{font-size:23px}.hero-welcome{left:24px;right:auto;bottom:30px}.hero-flower{display:none}.cards.four{grid-template-columns:repeat(2,1fr)}.utility-grid{grid-template-columns:repeat(2,1fr)}.cards.five{grid-template-columns:repeat(2,1fr)}.cards.five article{height:175px}.cards.six{grid-template-columns:repeat(2,1fr)}.sidebar{grid-template-columns:1fr}.section{padding-left:14px;padding-right:14px}footer{grid-template-columns:1fr;text-align:center}.footer-brand{justify-content:center}.footer-actions{justify-content:center}}


.restaurant-section{background:#f8f5f0;padding-top:58px}
.restaurant-heading{max-width:800px;margin:0 auto 48px}
.restaurant-heading .eyebrow{margin:0 0 9px;color:#a6754d}
.restaurant-preamble{max-width:760px;margin:18px auto 0;font:italic 17px/1.7 Georgia,serif;color:#525150}
.restaurant-group{margin:0 auto 48px;max-width:1200px}
.group-title{display:flex;align-items:center;gap:18px;margin-bottom:18px}
.group-title>span{font:italic 31px Georgia,serif;color:#b98a5d;border-right:1px solid #d8c9ba;padding-right:18px}
.group-title p{margin:0 0 2px;text-transform:uppercase;letter-spacing:.13em;font-size:9px;color:#99714e}
.group-title h3{margin:0;font:500 26px Georgia,serif}
.restaurant-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.premium-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.restaurant-card{background:#fff;border:1px solid #e4ddd4;border-radius:10px;padding:22px;display:flex;flex-direction:column;min-height:330px;box-shadow:0 10px 30px rgba(52,45,38,.045);transition:.25s transform,.25s box-shadow}
.restaurant-card:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(52,45,38,.09)}
.restaurant-card.featured{border-top:3px solid #b98a5d}
.restaurant-card-top{display:flex;justify-content:space-between;gap:14px}
.restaurant-type{margin:0 0 8px;text-transform:uppercase;letter-spacing:.1em;font-size:9px;color:#9c714e}
.restaurant-card h3{font:500 25px Georgia,serif;margin:0 0 9px}
.restaurant-summary{margin:0;color:#62605d;font-size:12px;line-height:1.5}
.price{font:500 11px Georgia,serif;color:#aa7953;white-space:nowrap;padding-top:3px}
.restaurant-card blockquote{margin:24px 0 20px;padding:18px 0 0 19px;border-left:1px solid #b98a5d;font:italic 15px/1.65 Georgia,serif;color:#3f3d3a;flex:1;position:relative}
.restaurant-card blockquote:before{content:"“";position:absolute;left:9px;top:-13px;color:#c5a27f;font-size:35px;background:#fff;line-height:1}
.restaurant-meta{border-top:1px solid #ece6df;padding-top:15px;display:flex;justify-content:space-between;gap:14px;align-items:flex-end}
.restaurant-meta>span{font-size:10px;line-height:1.4;color:#73706c}
.restaurant-actions{display:flex;gap:7px}
.restaurant-actions a{border:1px solid #c69b75;color:#966a46;text-decoration:none;text-transform:uppercase;letter-spacing:.06em;font-size:8px;padding:8px 10px;border-radius:5px;white-space:nowrap}
.restaurant-actions a:first-child{background:#b98961;color:white;border-color:#b98961}
.booking-note{max-width:1200px;margin:10px auto 0;border-top:1px solid #dcd1c6;border-bottom:1px solid #dcd1c6;padding:18px 0;display:flex;align-items:center;justify-content:center;gap:18px;text-align:center}
.booking-note span{text-transform:uppercase;letter-spacing:.13em;color:#9a704d;font-size:9px}
.booking-note p{margin:0;font:italic 14px Georgia,serif}
@media(max-width:1000px){.restaurant-grid,.premium-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.restaurant-section{padding-top:42px}.restaurant-preamble{font-size:15px}.restaurant-grid,.premium-grid{grid-template-columns:1fr}.restaurant-card{min-height:auto}.restaurant-meta{align-items:flex-start;flex-direction:column}.restaurant-actions{width:100%}.restaurant-actions a{flex:1;text-align:center}.group-title>span{font-size:25px}.group-title h3{font-size:23px}.booking-note{flex-direction:column;gap:7px;padding-left:12px;padding-right:12px}}


.bakery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.bakery-card{min-height:355px}
.bakery-badge{display:inline-block;align-self:flex-start;background:#b98961;color:#fff;border-radius:999px;padding:7px 10px;text-transform:uppercase;letter-spacing:.07em;font-size:7px;white-space:nowrap}
.bakery-badge.subtle{background:#eee6dd;color:#8d6748}
.branch-list{border-top:1px solid #ece6df;margin-top:2px;padding-top:12px}
.branch-list div{display:flex;justify-content:space-between;gap:15px;padding:7px 0;border-bottom:1px solid #f1ece6}
.branch-list b{font-size:10px;text-transform:uppercase;letter-spacing:.04em}
.branch-list span{font-size:10px;color:#77736f;text-align:right}
@media(max-width:700px){.bakery-grid{grid-template-columns:1fr}.bakery-badge{margin-top:2px}.restaurant-card-top{align-items:flex-start}}




/* Appliance guide */
.appliance-section{background:#f3eee7;padding-top:58px}
.appliance-heading{max-width:760px;margin:0 auto 42px}
.appliance-heading .eyebrow{margin:0 0 9px}
.appliance-intro{max-width:640px;margin:16px auto 0;font:italic 16px/1.65 Georgia,serif;color:#595754}
.appliance-category{max-width:1200px;margin:0 auto 48px}
.appliance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.appliance-grid.two-column{grid-template-columns:repeat(2,minmax(0,1fr))}
.appliance-card{background:#fff;border:1px solid #dfd6cc;border-radius:10px;box-shadow:0 10px 28px rgba(52,45,38,.045);overflow:hidden}
.appliance-card.featured{border-top:3px solid #b98a5d}
.appliance-card summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:13px;padding:20px}
.appliance-card summary::-webkit-details-marker{display:none}
.appliance-icon{width:38px;height:38px;border:1px solid #d7c8ba;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#9c704c;font-size:19px}
.appliance-card summary small,.appliance-card summary b{display:block}
.appliance-card summary small{font-size:8px;letter-spacing:.12em;color:#9b704d;margin-bottom:4px}
.appliance-card summary b{font:500 19px Georgia,serif;color:#24282b}
.appliance-card summary i{font-style:normal;text-transform:uppercase;letter-spacing:.08em;font-size:8px;color:#916847}
.appliance-card[open] summary{border-bottom:1px solid #ece5de}
.appliance-card[open] summary i:after{content:" −"}
.appliance-card:not([open]) summary i:after{content:" +"}
.appliance-content{padding:20px 22px 22px}
.quick-label{text-transform:uppercase;letter-spacing:.12em;font-size:8px;color:#9b704d;margin:0 0 12px}
.appliance-content ol{margin:0 0 18px;padding-left:19px;color:#4e4c49;font-size:12px;line-height:1.65}
.appliance-content li{padding-left:4px;margin-bottom:4px}
.tip-box,.pending-model{border-left:2px solid #b98a5d;background:#f7f2ec;padding:13px 14px;margin:14px 0 18px}
.tip-box b,.tip-box span,.pending-model b,.pending-model span{display:block}
.tip-box b,.pending-model b{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#8e6545;margin-bottom:5px}
.tip-box span,.pending-model span{font-size:11px;line-height:1.5;color:#5b5753}
.manual-actions{display:flex;gap:9px;flex-wrap:wrap}
.primary-manual{display:inline-block;background:#b98961;border:1px solid #b98961;color:white;text-decoration:none;text-transform:uppercase;letter-spacing:.07em;font-size:8px;padding:10px 13px;border-radius:5px}
.appliance-photo{width:100%;max-height:240px;object-fit:cover;border-radius:7px;margin-bottom:17px}
.appliance-help{max-width:1200px;margin:0 auto;background:#252626;color:#fff;border-radius:10px;padding:20px 24px;display:flex;justify-content:space-between;align-items:center;gap:20px}
.appliance-help span{font:500 20px Georgia,serif}
.appliance-help p{margin:4px 0 0;font-size:11px;color:#d8d5d1}
.appliance-help a{color:#fff;border:1px solid #b98a5d;border-radius:6px;padding:11px 14px;text-decoration:none;text-transform:uppercase;font-size:8px;letter-spacing:.08em;white-space:nowrap}

/* Footer restoration from the original mock-up */
footer{background:#f6efe9;color:#202a31;border-top:1px solid #ded5ca}
.terraaltus-footer img{height:64px;width:auto;max-width:250px;object-fit:contain;filter:none}
.footer-center span{color:#a6744e}
.footer-center small{color:#56524e}
.footer-actions a{color:#363b3e}

@media(max-width:850px){
  .appliance-grid,.appliance-grid.two-column{grid-template-columns:1fr}
}
@media(max-width:700px){
  .appliance-section{padding-top:42px}
  .appliance-card summary{grid-template-columns:38px 1fr;}
  .appliance-card summary i{grid-column:2}
  .appliance-help{flex-direction:column;align-items:flex-start}
  .appliance-help a{width:100%;text-align:center}
  .terraaltus-footer img{height:56px}
}

/* Fully integrated logo banner */
.topbar{
  background:
    radial-gradient(circle at 48% 42%, #fffdfa 0%, #faf6f1 55%, #f4eee8 100%);
  border-bottom:1px solid #e4ddd5;
}
.brand{background:transparent}
.brand img{
  height:96px;
  width:auto;
  display:block;
  mix-blend-mode:normal;
}

/* Discovery cards that open modal guides */
.discover-card{
  border:0;border-radius:9px;overflow:hidden;position:relative;
  background-image:linear-gradient(0deg,rgba(0,0,0,.6),transparent 60%),var(--bg);
  background-size:cover;background-position:center;color:#fff;cursor:pointer;height:160px;
}
.discover-card span{position:absolute;left:14px;bottom:12px;text-align:left;text-transform:uppercase;font-size:12px;letter-spacing:.05em}
.discover-card b,.discover-card small{display:block}
.discover-card small{font-size:11px;text-transform:none;margin-top:3px}

/* Large modal guides */
.large-content-dialog{
  width:min(1320px,calc(100% - 30px));
  max-width:none;
  height:min(90vh,980px);
  padding:0;
  border-radius:16px;
  overflow:hidden;
  background:#f7f3ed;
}
.large-content-dialog .close{
  position:fixed;
  z-index:5;
  right:max(28px,calc((100vw - 1320px)/2 + 14px));
  top:calc(5vh + 10px);
  width:42px;height:42px;border-radius:50%;
  background:rgba(255,255,255,.94);
  box-shadow:0 5px 20px rgba(0,0,0,.14);
}
.dialog-scroll{height:100%;overflow:auto;padding:48px 28px 38px}
.modal-heading{max-width:800px;margin:0 auto 42px}
.modal-intro{font:italic 16px/1.65 Georgia,serif;color:#5b5854;max-width:720px;margin:15px auto 0}
.appliance-modal-content .appliance-heading,
.restaurant-modal-content .restaurant-heading{padding-top:0}
.appliance-modal-content .appliance-section,
.restaurant-modal-content .restaurant-section{padding-top:0}
.appliance-modal-content .appliance-help{margin-bottom:10px}

/* Hiking cards */
.hike-group{max-width:1200px;margin:0 auto 46px}
.hike-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.hike-card{background:#fff;border:1px solid #e1d8cf;border-radius:10px;overflow:hidden;box-shadow:0 10px 30px rgba(45,40,35,.055)}
.hike-photo{height:230px;display:block;background-size:cover;background-position:center;position:relative;text-decoration:none}
.hike-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.58),transparent 48%)}
.photo-credit,.official-link{position:absolute;z-index:1;color:#fff}
.photo-credit{left:12px;bottom:10px;font-size:8px}
.official-link{right:12px;bottom:10px;text-transform:uppercase;letter-spacing:.08em;font-size:8px;border-bottom:1px solid rgba(255,255,255,.7);padding-bottom:3px}
.hike-body{padding:18px}
.hike-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.hike-title-row h3{font:500 22px/1.15 Georgia,serif;margin:0}
.difficulty{border-radius:999px;padding:6px 9px;text-transform:uppercase;letter-spacing:.08em;font-size:7px;white-space:nowrap}
.difficulty.easy{background:#e5ede2;color:#55704f}
.difficulty.medium{background:#f2e7d8;color:#8b6444}
.difficulty.hard{background:#eadcda;color:#8a5049}
.hike-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:17px 0;border-top:1px solid #eee7df;border-bottom:1px solid #eee7df;padding:12px 0}
.hike-stats span{font-size:8px;text-transform:uppercase;letter-spacing:.05em;color:#77716b}
.hike-stats b{display:block;font:500 15px Georgia,serif;color:#2c3032;text-transform:none;letter-spacing:0;margin-bottom:4px}
.hike-body p{font-size:11px;line-height:1.55;color:#5c5955;min-height:52px}
.route-link{display:inline-block;color:#986d4b;text-decoration:none;text-transform:uppercase;letter-spacing:.06em;font-size:8px;margin-top:5px}
.source-note{text-align:center;font:italic 13px Georgia,serif;color:#6d6862;border-top:1px solid #ddd3c9;padding-top:18px;max-width:1200px;margin:0 auto}

/* Transparent TerraAltus footer logo */
.terraaltus-footer img{
  height:70px;
  width:auto;
  max-width:270px;
  object-fit:contain;
  filter:none;
}
footer{
  background:#f6f1eb;
  color:#202a31;
}

@media(max-width:1000px){
  .hike-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .large-content-dialog{width:100%;height:100vh;max-height:none;border-radius:0}
  .large-content-dialog .close{position:fixed;right:10px;top:10px}
  .dialog-scroll{padding:54px 14px 28px}
  .hike-grid{grid-template-columns:1fr}
  .hike-photo{height:220px}
  .brand img{height:64px}
  .discover-card{height:175px}
}

:root{--ink:#202428;--cream:#f4efe8;--paper:#fbf9f6;--bronze:#9b6d48;--line:#ded5ca}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}
.site-header{height:104px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;background:linear-gradient(90deg,#f6f1eb,#fffaf5,#f6f1eb);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.wordmark img{height:82px}.site-header nav{display:flex;gap:14px}.site-header nav button{border:0;background:transparent;text-transform:uppercase;letter-spacing:.12em;font-size:9px}
.hero{height:72vh;min-height:570px;position:relative;overflow:hidden}.hero>img{width:100%;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.52),rgba(0,0,0,.08) 65%),linear-gradient(0deg,rgba(0,0,0,.25),transparent 45%)}
.hero-content{position:absolute;left:7vw;bottom:12%;color:white}.hero-content p,.kicker{text-transform:uppercase;letter-spacing:.16em;font-size:10px}.hero-content h1{font:500 clamp(46px,7vw,88px)/.98 Georgia,serif;margin:14px 0 24px}.hero-cta{border:0;background:white;border-radius:999px;padding:14px 20px;text-transform:uppercase;letter-spacing:.09em;font-size:9px}
.weather-card{position:absolute;right:5vw;bottom:7%;background:rgba(255,255,255,.9);padding:18px 20px;border-radius:10px}.weather-card span,.weather-card strong,.weather-card small{display:block}.weather-card span{font-size:8px;text-transform:uppercase;letter-spacing:.12em;color:var(--bronze)}.weather-card strong{font:500 18px Georgia,serif;margin:6px 0}.weather-card small{font-size:10px}
.intro{text-align:center;max-width:760px;margin:auto;padding:76px 25px 54px}.intro h2,.featured h2{font:500 clamp(34px,4vw,54px)/1.08 Georgia,serif;margin:14px 0}.intro>p:last-child{font:italic 16px/1.7 Georgia,serif;color:#605b55}
.concierge{max-width:1260px;margin:auto;padding:0 24px 80px;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.concierge-card{position:relative;border:1px solid var(--line);border-radius:14px;overflow:hidden;min-height:270px;background:white;box-shadow:0 12px 34px rgba(50,43,37,.06);transition:.25s;cursor:pointer}.concierge-card:hover{transform:translateY(-4px)}.photo-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.72),transparent 68%)}.card-copy{position:absolute;left:22px;right:22px;bottom:20px;color:white}.card-copy p,.icon-card p{text-transform:uppercase;letter-spacing:.13em;font-size:8px;margin:0 0 6px}.card-copy h3,.icon-card h3{font:500 28px Georgia,serif;margin:0 0 6px}.card-copy span,.icon-card span{font-size:10px;line-height:1.45}.icon-card{display:flex;align-items:center;gap:20px;padding:30px}.icon-disc{width:76px;height:76px;min-width:76px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#f7f2ed;border:1px solid #d7c7b8}.icon-disc img{width:48px}.icon-disc svg{width:45px;fill:none;stroke:#111;stroke-width:3}.emergency-tile{background:#272727;color:white}.emergency-tile .icon-disc{background:white}
.featured{max-width:1160px;margin:0 auto 84px;border-block:1px solid var(--line);padding:44px 0;display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center}.featured button{border:1px solid #b58e6d;background:white;border-radius:999px;padding:12px 17px;text-transform:uppercase;letter-spacing:.08em;font-size:8px}
footer{background:#f3eee7;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:34px 5vw}.managed span{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:8px}.managed img{height:118px;display:block;margin:-18px 0}.footer-contact{text-align:right;font-size:10px}.footer-contact a,.footer-contact span{display:block;color:inherit;text-decoration:none;margin:5px 0}
dialog{border:0;padding:0;border-radius:16px;background:#f7f3ed;box-shadow:0 24px 90px rgba(0,0,0,.28)}dialog::backdrop{background:rgba(18,18,18,.65)}.content-modal{width:min(1320px,95vw);height:90vh}.small-modal{width:min(520px,92vw)}.modal-chrome{height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;background:#242424;color:white;position:sticky;top:0;z-index:10}.modal-chrome span{text-transform:uppercase;letter-spacing:.12em;font-size:9px}.modal-close{border:0;background:transparent;color:white;font-size:30px}.wifi-panel,.emergency-panel{text-align:center;padding:34px}.wifi-mark{width:72px}.qr{width:180px}.emergency-large svg{width:76px;fill:none;stroke:#111;stroke-width:3}.emergency-panel dl div{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:12px}.contact-button{display:block;background:#222;color:white;text-decoration:none;padding:14px;border-radius:8px;margin:18px 0}.simple-inner{padding:55px 5vw}.simple-inner>h2{font:500 44px Georgia,serif}.simple-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px}.simple-grid article{background:white;border:1px solid var(--line);border-radius:10px;padding:24px;min-height:170px}
@media(max-width:950px){.concierge{grid-template-columns:repeat(2,1fr)}.featured{grid-template-columns:1fr;padding-inline:24px}}@media(max-width:650px){.site-header{height:78px;padding:0 16px}.wordmark img{height:60px}.hero{min-height:520px}.weather-card{display:none}.hero-content{left:24px;right:24px}.concierge{grid-template-columns:1fr;padding-inline:14px}.concierge-card{min-height:220px}.icon-card{min-height:145px}.content-modal{width:100vw;height:100vh;border-radius:0}.simple-grid{grid-template-columns:1fr}footer{flex-direction:column;align-items:flex-start}.footer-contact{text-align:left}}

/* Refined V3 layout */
.site-header{height:150px;padding:0 4.5vw;align-items:center}
.wordmark img{height:132px;width:auto}
.header-actions{display:flex;gap:10px;align-items:center}
.header-pill{display:inline-flex;align-items:center;justify-content:center;min-width:106px;padding:11px 15px;border:1px solid #ad835f!important;border-radius:999px!important;background:rgba(255,255,255,.45)!important;color:#5d4a3d!important;text-decoration:none;text-transform:uppercase;letter-spacing:.09em;font-size:8px!important}
.header-pill:hover{background:#ad835f!important;color:#fff!important}
.hero{height:75vh;min-height:620px}
.hero>img{object-position:center 55%}
.weather-card.live-weather{width:290px;padding:20px 22px;border-radius:14px;background:rgba(248,244,239,.9);backdrop-filter:blur(14px);box-shadow:0 18px 45px rgba(0,0,0,.18)}
.weather-topline,.weather-main,.weather-details{display:flex}
.weather-topline{justify-content:space-between;align-items:center;border-bottom:1px solid rgba(80,70,60,.16);padding-bottom:10px}
.weather-topline span{font-size:8px;text-transform:uppercase;letter-spacing:.13em;color:#936b4b}
.weather-topline small{font-size:8px;color:#756e67}
.weather-main{align-items:center;gap:14px;padding:17px 0}
.weather-main>strong{font:500 46px Georgia,serif}
.weather-main b,.weather-main small{display:block}
.weather-main b{font:500 15px Georgia,serif}
.weather-main small{font-size:9px;color:#6d665f;margin-top:4px}
.weather-details{border-top:1px solid rgba(80,70,60,.16);border-bottom:1px solid rgba(80,70,60,.16);padding:12px 0;justify-content:space-between}
.weather-details span{font-size:7px;text-transform:uppercase;letter-spacing:.08em;color:#777}
.weather-details b{display:block;font:500 13px Georgia,serif;color:#272727;text-transform:none;letter-spacing:0;margin-bottom:3px}
.weather-card>a{display:inline-block;margin-top:12px;font-size:8px;text-transform:uppercase;letter-spacing:.07em;color:#8e6548;text-decoration:none}
.experience-section{max-width:1260px;margin:0 auto;padding:35px 24px 88px}
.destination-section{border-top:1px solid #ded5ca;padding-top:78px}
.section-heading{max-width:700px;margin-bottom:34px}
.section-heading h2{font:500 clamp(38px,5vw,62px)/1 Georgia,serif;margin:10px 0 14px}
.section-heading>p:last-child{font:italic 15px/1.65 Georgia,serif;color:#625c56}
.editorial-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:180px;gap:18px}
.editorial-card{position:relative;border:1px solid #ded5ca;border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 12px 34px rgba(50,43,37,.06);cursor:pointer;transition:.25s}
.editorial-card:hover{transform:translateY(-4px);box-shadow:0 18px 42px rgba(50,43,37,.12)}
.editorial-card.photo-led{grid-column:span 4;grid-row:span 2}
.editorial-card.wide{grid-column:span 8}
.editorial-card.tall{grid-row:span 3}
.editorial-card.compact{grid-column:span 4;grid-row:span 1}
.editorial-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.editorial-card .card-copy{z-index:2}
.editorial-card.icon-led{display:flex;align-items:center;gap:18px;padding:24px}
.editorial-card.icon-led .icon-disc{width:64px;height:64px;min-width:64px;background:#faf7f3}
.editorial-card.icon-led .icon-disc img{width:42px;height:42px}
.editorial-card.icon-led p{font-size:8px;text-transform:uppercase;letter-spacing:.12em;margin:0 0 5px;color:#976f50}
.editorial-card.icon-led h3{font:500 24px Georgia,serif;margin:0 0 5px}
.editorial-card.icon-led span{font-size:10px;line-height:1.45;color:#67615b}
.safety-card{background:#282828;color:#fff}
.safety-card .icon-disc{background:#fff!important}.safety-card h3,.safety-card span{color:#fff!important}

/* Dining and breakfast popups */
.dining-modal .dialog-scroll,.restaurant-modal-content{background:#f7f3ed}
.restaurant-modal-content .restaurant-heading,.dining-modal .restaurant-heading{padding-top:8px}
.restaurant-grid,.premium-grid,.bakery-grid{gap:20px!important}
.restaurant-card{padding:0!important;min-height:0!important}
.restaurant-card-top{padding:24px 24px 0}
.restaurant-card blockquote{margin:22px 24px!important;padding:16px 0 0 18px!important;min-height:auto}
.restaurant-meta{margin-top:auto;padding:16px 24px 22px!important;background:#fbf9f6;border-top:1px solid #e9e1d8}
.restaurant-card h3{font-size:27px!important}
.restaurant-summary{font-size:12px!important}
.restaurant-type{font-size:8px!important}
.restaurant-actions a{padding:9px 11px;border:1px solid #b98a5d;border-radius:5px}
.restaurant-actions a:first-child{background:#b98a5d;color:white}
.bakery-card{min-height:0!important}
.bakery-badge{margin-top:2px}
.booking-note{margin-top:24px!important}
.branch-list{margin:0 24px 18px}
.restaurant-preamble{max-width:760px;margin:16px auto 0}

/* Remove obsolete old concierge styles from visual flow */
.concierge,.featured{display:none!important}

@media(max-width:1000px){
 .editorial-card.photo-led,.editorial-card.compact{grid-column:span 6}
 .editorial-card.wide{grid-column:span 12}
}
@media(max-width:700px){
 .site-header{height:auto;min-height:128px;display:block;padding:8px 14px 14px;text-align:center}
 .wordmark img{height:92px;margin:auto}
 .header-actions{justify-content:center;flex-wrap:wrap}
 .header-pill{min-width:96px;padding:9px 12px}
 .hero{min-height:600px}
 .weather-card.live-weather{display:block;left:18px;right:18px;bottom:22px;width:auto}
 .hero-content{bottom:230px}
 .editorial-grid{display:block}
 .editorial-card{min-height:230px;margin-bottom:15px}
 .editorial-card.compact{min-height:125px}
 .editorial-card.tall{min-height:330px}
 .experience-section{padding-left:14px;padding-right:14px}
 .restaurant-grid,.premium-grid,.bakery-grid{grid-template-columns:1fr!important}
}

/* Version 4 refinements */
.weather-card.live-weather{
  width:340px;
  padding:24px 26px;
}
.weather-topline span{
  font-size:10px;
}
.weather-topline small{
  font-size:10px;
}
.weather-main{
  gap:18px;
  padding:22px 0;
}
.weather-main>strong{
  font-size:58px;
}
.weather-main b{
  font-size:19px;
}
.weather-main small{
  font-size:11px;
}
.weather-details{
  padding:15px 0;
}
.weather-details span{
  font-size:9px;
}
.weather-details b{
  font-size:16px;
}
.weather-card>a{
  margin-top:15px;
  font-size:10px;
}
.editorial-card.icon-led{
  background:#fff;
  color:#202428;
}
.editorial-card.icon-led .icon-disc{
  background:#faf7f3!important;
}
.editorial-card.icon-led h3{
  color:#202428!important;
}
.editorial-card.icon-led span{
  color:#67615b!important;
}

/* Version 7 — header, weather, controls and illustrated map */
.site-header{
  min-height:184px;
  height:auto;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  gap:28px;
  padding:16px 4.5vw 18px;
  background:
    radial-gradient(circle at 50% 36%,#fffdf9 0%,#f8f2eb 48%,#efe6db 100%);
  box-shadow:0 8px 26px rgba(55,45,36,.08);
}
.header-utility{display:flex;gap:9px;align-items:center;justify-content:flex-start}
.wordmark{display:flex;align-items:center;justify-content:center}
.logo-halo{
  display:flex;align-items:center;justify-content:center;
  min-width:410px;height:145px;padding:4px 36px;
  background:rgba(255,255,255,.62);
  border:1px solid rgba(166,133,103,.22);
  border-radius:80px;
  box-shadow:0 12px 38px rgba(80,60,44,.09),inset 0 1px 0 rgba(255,255,255,.85);
}
.wordmark img{height:142px;width:auto;filter:contrast(1.18) saturate(1.08)}
.header-actions{justify-content:flex-end;gap:9px}
.header-pill,.control-pill{
  min-height:43px;
  border:1px solid #a87953!important;
  border-radius:999px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(244,235,226,.86))!important;
  color:#46392f!important;
  box-shadow:0 5px 13px rgba(90,63,42,.08),inset 0 1px 0 rgba(255,255,255,.9);
  font-family:Georgia,serif!important;
  font-size:10px!important;
  font-weight:600;
  letter-spacing:.045em!important;
  text-transform:none!important;
  transition:.2s ease;
}
.header-pill{min-width:122px;padding:10px 16px}
.header-pill svg,.control-pill svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.header-pill{gap:8px}
.header-pill:hover,.control-pill:hover{
  background:#9c6e49!important;color:#fff!important;
  transform:translateY(-2px);
  box-shadow:0 8px 18px rgba(90,63,42,.2)
}
.control-pill{
  display:inline-flex;align-items:center;gap:7px;
  padding:9px 12px;min-width:116px;justify-content:center;
}
.control-pill b{font:600 12px Arial,sans-serif}
.placeholder-control{cursor:default}
.placeholder-control:hover{cursor:pointer}
.hero-cta{border:1px solid rgba(255,255,255,.75);transition:.2s ease}
.hero-cta:hover{background:#9c6e49;color:#fff;border-color:#9c6e49;transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.2)}

.weather-card.live-weather{
  width:375px;
  padding:26px 28px;
  background:rgba(250,247,242,.94);
  color:#24211e;
  border:1px solid rgba(255,255,255,.82);
}
.weather-topline span{font:600 15px Georgia,serif;color:#3d342d;letter-spacing:.02em;text-transform:none}
.weather-topline small{font-size:10px;color:#655b53;font-weight:600}
.weather-main{display:grid;grid-template-columns:58px 88px 1fr;align-items:center;gap:12px}
.weather-symbol{font-size:46px;line-height:1;filter:grayscale(.15)}
.weather-main>strong{font-size:58px;color:#171513;text-shadow:none}
.weather-main b{font-size:19px;color:#211e1b}
.weather-main small{font-size:11px;color:#554d47;font-weight:600}
.weather-details span{font-size:9px;color:#665c54;font-weight:600}
.weather-details b{font-size:17px;color:#1d1a18}
.forecast-button{
  display:flex!important;align-items:center;justify-content:space-between;
  margin-top:16px!important;padding:11px 13px;border-radius:7px;
  background:#2e2925;color:#fff!important;font:600 11px Georgia,serif!important;
  letter-spacing:.02em!important;text-transform:none!important
}
.forecast-button:hover{background:#9c6e49}

.map-modal{width:min(1240px,96vw);height:min(850px,92vh)}
.map-layout{height:calc(100% - 58px);display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.65fr);overflow:hidden}
.illustrated-map{position:relative;background:#f4efe6;overflow:auto}
.illustrated-map svg{display:block;width:100%;height:100%;min-height:650px}
.mountain-line{fill:none;stroke:#6d7b67;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;filter:url(#rough)}
.forest{fill:none;stroke:#849276;stroke-width:18;stroke-linecap:round;opacity:.45;filter:url(#rough)}
.road{fill:none;stroke:#b1977d;stroke-width:7;stroke-linecap:round;stroke-dasharray:2 12;filter:url(#rough)}
.road.major{stroke:#8f735b;stroke-width:10}
.stream{fill:none;stroke:#668da0;stroke-width:8;stroke-linecap:round;filter:url(#rough)}
.place circle{fill:#f8f3eb;stroke:#1c2f3b;stroke-width:3}
.place path{fill:none;stroke:#1c2f3b;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.place text,.title-label text,.walk-note,.compass text{font-family:"Comic Sans MS","Segoe Print",cursive;fill:#2d3d43;font-weight:700}
.place text{font-size:15px}.chalet-place circle{fill:#173e58}.chalet-place path{stroke:#fff}.chalet-place text{font-size:18px;fill:#173e58}
.title-label text{font-size:24px;letter-spacing:4px}
.walk-arrow{fill:none;stroke:#7c654f;stroke-width:3;stroke-dasharray:7 6}
.walk-note{font-size:14px;fill:#7c654f}
.compass circle,.compass path{fill:none;stroke:#394b50;stroke-width:2}.compass text{font-size:18px}
.map-disclaimer{position:absolute;left:18px;bottom:10px;margin:0;font:italic 11px Georgia,serif;color:#6f655c}
.map-guide{padding:42px 34px;background:#fbf8f3;border-left:1px solid #ddd2c5;overflow:auto}
.map-guide h2{font:500 41px/1 Georgia,serif;margin:12px 0 18px}
.map-guide>p:not(.kicker){font:14px/1.7 Georgia,serif;color:#5c544d}
.map-actions{display:grid;gap:11px;margin-top:28px}
.map-actions a,.map-actions button{
  display:flex;align-items:center;gap:11px;width:100%;padding:14px;
  border:1px solid #b18a69;border-radius:8px;background:#fff;color:#40352d;text-decoration:none;text-align:left
}
.map-actions a:hover,.map-actions button:hover{background:#9c6e49;color:#fff}
.map-actions svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2}
.map-actions span,.map-actions small{display:block}.map-actions span{font:600 13px Georgia,serif}.map-actions small{margin-left:auto;font-size:8px;text-transform:uppercase;letter-spacing:.08em}

@media(max-width:1100px){
 .site-header{grid-template-columns:1fr;gap:10px;padding-top:10px}
 .header-utility,.header-actions{justify-content:center}
 .logo-halo{min-width:min(480px,90vw)}
}
@media(max-width:760px){
 .logo-halo{height:112px;min-width:94vw;padding:0 20px}
 .wordmark img{height:108px}
 .header-actions,.header-utility{flex-wrap:wrap}
 .header-pill{min-width:104px}
 .weather-main{grid-template-columns:48px 78px 1fr}
 .weather-symbol{font-size:38px}
 .weather-main>strong{font-size:49px}
 .map-layout{grid-template-columns:1fr;overflow:auto}
 .illustrated-map{min-height:560px}
 .map-guide{border-left:0;border-top:1px solid #ddd2c5}
}

/* Version 8 — photographic guide popups */
.photo-modal{
  position:relative;
  background-size:cover;
  background-position:center;
}
.house-guide-modal{background-image:linear-gradient(rgba(20,17,15,.38),rgba(20,17,15,.52)),url("assets/stairwell.png")}
.bedrooms-photo-modal{background-image:linear-gradient(rgba(20,17,15,.34),rgba(20,17,15,.48)),url("assets/bedroom-4.png")}
.bathrooms-photo-modal{background-image:linear-gradient(rgba(20,17,15,.34),rgba(20,17,15,.48)),url("assets/bathroom-1.png")}
.photo-modal .simple-inner{
  min-height:calc(100% - 58px);
  color:#fff;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:60px 6vw;
}
.photo-modal .simple-inner>h2,
.photo-modal .simple-inner>.kicker{color:#fff}
.photo-modal .simple-grid article{
  background:rgba(250,247,242,.92);
  backdrop-filter:blur(8px);
  color:#27231f;
  border-color:rgba(255,255,255,.4);
}
.photo-modal .simple-grid h3{color:#27231f}
.photo-modal .simple-grid p{color:#554f49}

.curated-modal{width:min(1280px,96vw);height:min(920px,92vh);overflow:hidden;background:#f6f1ea}.curated-scroll{height:calc(100% - 58px);overflow:auto;padding:44px 28px 50px}.curated-header{max-width:790px;margin:0 auto 48px;text-align:center}.curated-header h2{font:500 clamp(38px,5vw,58px)/1 Georgia,serif;margin:10px 0 12px}.curated-header>p:last-child{font:italic 16px/1.7 Georgia,serif;color:#5d5751}.curated-group{max-width:1180px;margin:0 auto 48px}.curated-group-title{display:flex;align-items:center;gap:17px;margin-bottom:18px}.curated-group-title>span{padding-right:17px;border-right:1px solid #d7c8ba;font:italic 31px Georgia,serif;color:#ad7e58}.curated-group-title p{margin:0;color:#987052;text-transform:uppercase;letter-spacing:.12em;font-size:8px}.curated-group-title h3{margin:3px 0 0;font:500 27px Georgia,serif}.curated-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.premium-data-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.curated-card{display:flex;flex-direction:column;min-height:350px;background:#fff;border:1px solid #dfd6cc;border-radius:12px;overflow:hidden;box-shadow:0 12px 30px rgba(52,45,38,.055)}.curated-card.is-featured{border-top:4px solid #a87852}.curated-card-top{display:flex;justify-content:space-between;gap:16px;padding:24px 24px 0}.curated-type{margin:0 0 8px;color:#997050;font-size:8px;text-transform:uppercase;letter-spacing:.1em}.curated-card h3{margin:0 0 9px;font:500 27px Georgia,serif}.curated-summary{margin:0;color:#625d57;font-size:12px;line-height:1.55}.curated-price{color:#9e704d;font:500 11px Georgia,serif;white-space:nowrap}.curated-badge{align-self:flex-start;border-radius:999px;padding:7px 10px;background:#a87852;color:#fff;font-size:7px;text-transform:uppercase;letter-spacing:.07em;white-space:nowrap}.owner-note{margin:22px 24px 20px;padding:17px 18px;background:#f7f1eb;border-left:2px solid #aa7b55}.owner-note span{display:block;margin-bottom:7px;color:#936846;font-size:8px;text-transform:uppercase;letter-spacing:.11em}.owner-note p{margin:0;color:#403c38;font:italic 14px/1.62 Georgia,serif}.curated-card-footer{margin-top:auto;display:flex;justify-content:space-between;align-items:flex-end;gap:14px;padding:16px 24px 21px;background:#fbf9f6;border-top:1px solid #ebe4dc}.curated-card-footer>span{color:#736d67;font-size:10px}.curated-card-footer>div{display:flex;gap:7px}.curated-card-footer a{padding:8px 10px;border:1px solid #b58a68;border-radius:5px;color:#8d6343;text-decoration:none;font-size:8px;text-transform:uppercase;letter-spacing:.06em}.curated-card-footer a:first-child:not(:last-child){background:#a87852;color:#fff}.bakery-curated-grid{max-width:1000px;margin:0 auto;grid-template-columns:repeat(2,minmax(0,1fr))}.bakery-data-card{min-height:420px}.bakery-branches{margin:0 24px 20px;padding:0;list-style:none;border-top:1px solid #ece5dd}.bakery-branches li{padding:9px 0;border-bottom:1px solid #ece5dd;font-size:11px;color:#514d48}
.editorial-map-modal{width:min(1320px,96vw);height:min(900px,92vh);overflow:hidden;background:#fbfcfa}.editorial-map-layout{height:calc(100% - 58px);display:grid;grid-template-columns:minmax(330px,.72fr) minmax(0,1.55fr)}.editorial-map-copy{padding:54px 42px;background:#fbfaf7;border-right:1px solid #e0e7e1;overflow:auto}.editorial-map-copy h2{font:500 44px/1.05 Georgia,serif;margin:12px 0 20px;color:#334039}.map-lede{font:15px/1.7 Georgia,serif;color:#5e6962}.map-facts{margin:30px 0;border-top:1px solid #dfe6e0}.map-facts div{display:grid;grid-template-columns:74px 1fr;gap:14px;padding:15px 0;border-bottom:1px solid #dfe6e0}.map-facts strong{font:italic 23px Georgia,serif;color:#a7bcae}.map-facts span{font-size:11px;line-height:1.45;color:#4d5952}.map-buttons{display:grid;gap:10px}.map-buttons a,.map-buttons button{display:flex;align-items:center;gap:10px;width:100%;padding:13px 14px;border:1px solid #b8cbbf;border-radius:6px;background:#fff;color:#3f5047;text-decoration:none;text-align:left;font:600 11px Georgia,serif}.map-buttons a:hover,.map-buttons button:hover{background:#dfeae3}.map-buttons svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2}.map-buttons small{margin-left:auto;font:8px Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em;color:#819188}.editorial-map-canvas{position:relative;overflow:auto;background:#fbfcfa}.editorial-map-canvas svg{display:block;width:100%;height:100%;min-height:690px}.regional-lines path{fill:none;stroke:#a8c4b2;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.regional-water path{fill:none;stroke:#d1e0e5;stroke-width:8;stroke-linecap:round}.regional-city circle{fill:#a8c4b2}.regional-city text,.local-place text,.map-key text{font-family:Georgia,serif;fill:#56675d;font-size:16px}.regional-city .sub-label{font-family:Arial,sans-serif;font-size:10px;fill:#8a9b91}.major-city circle{fill:#77998a;stroke:#edf4ef;stroke-width:8}.major-city path{fill:none;stroke:#fff;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.major-city text{font-size:20px;font-weight:600;fill:#3c5147}.local-place circle{fill:#bed2c5}.local-place text{font-size:12px;fill:#6c7b73}.map-key line{stroke:#a8c4b2;stroke-width:3}.map-key circle{fill:#bed2c5}.map-key text{font-size:11px}.map-caption{position:absolute;left:22px;bottom:14px;margin:0;font:italic 10px Georgia,serif;color:#839188}
@media(max-width:900px){.curated-grid,.premium-data-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.editorial-map-layout{grid-template-columns:1fr;overflow:auto}.editorial-map-copy{border-right:0;border-bottom:1px solid #e0e7e1}}@media(max-width:650px){.curated-modal,.editorial-map-modal{width:100vw;height:100vh;border-radius:0}.curated-scroll{padding:36px 13px 32px}.curated-grid,.premium-data-grid,.bakery-curated-grid{grid-template-columns:1fr}.curated-card{min-height:0}.curated-card-footer{align-items:flex-start;flex-direction:column}.curated-card-footer>div{width:100%}.curated-card-footer a{flex:1;text-align:center}.editorial-map-copy{padding:38px 22px}.editorial-map-canvas svg{min-width:760px}}

/* V11 — Summer experiences, full house guide and shops */
.guide-scroll,.shopping-scroll,.experience-hub-scroll,.experience-list-scroll{max-height:calc(100vh - 58px);overflow:auto;padding:clamp(28px,5vw,64px)}
.guide-header,.experience-hub-header,.experience-list-scroll>header{max-width:820px;margin:0 auto 34px;text-align:center}.guide-header h2,.experience-hub-header h2,.experience-list-scroll>header h2{font-family:var(--serif);font-size:clamp(34px,5vw,58px);font-weight:500;margin:8px 0 14px}
.guide-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:1100px;margin:auto}.guide-sections section{background:#fffaf4;border:1px solid rgba(74,61,50,.14);padding:25px}.guide-sections h3{font-family:var(--serif);font-size:27px;margin:0 0 10px}.guide-sections h3 span{font:600 10px/1 var(--sans);letter-spacing:.13em;text-transform:uppercase;background:#2e3e35;color:white;border-radius:99px;padding:6px 8px;vertical-align:middle}.guide-sections p,.guide-sections li{line-height:1.65;color:#534d47}.guide-sections ul{padding-left:20px}.guide-sections .departure-section{grid-column:1/-1;background:#eee6da}
.shop-group{max-width:1120px;margin:36px auto 48px}.shop-group-title{display:flex;gap:18px;align-items:center;margin-bottom:18px}.shop-group-title>span{font-family:var(--serif);font-size:34px;color:#9a8064}.shop-group-title p{margin:0;text-transform:uppercase;font-size:11px;letter-spacing:.14em}.shop-group-title h3{font-family:var(--serif);font-size:31px;margin:3px 0}.shop-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.shop-card-grid article{background:#fffaf4;border:1px solid rgba(74,61,50,.14);padding:22px;display:flex;flex-direction:column;min-height:190px}.shop-card-grid h4{font-family:var(--serif);font-size:25px;margin:0 0 8px}.shop-card-grid p{line-height:1.55;color:#5b544d;flex:1}.shop-card-grid a,.shop-card-grid button{border:0;background:none;padding:0;color:#725b43;text-transform:uppercase;font-weight:700;font-size:11px;letter-spacing:.11em;text-decoration:none;text-align:left;cursor:pointer}
.experience-category-grid{max-width:1120px;margin:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.experience-category-grid article{position:relative;min-height:290px;overflow:hidden;cursor:pointer}.experience-category-grid article:last-child{grid-column:1/-1;min-height:320px}.experience-category-grid img{position:absolute;width:100%;height:100%;object-fit:cover;transition:transform .5s}.experience-category-grid article:hover img{transform:scale(1.025)}.experience-category-grid .overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 25%,rgba(15,18,16,.74))}.experience-category-grid article>div:last-child{position:absolute;left:25px;right:25px;bottom:22px;color:white}.experience-category-grid p{font-size:11px;letter-spacing:.16em;text-transform:uppercase;margin:0 0 5px}.experience-category-grid h3{font-family:var(--serif);font-size:34px;margin:0 0 5px}.experience-category-grid span{font-size:14px;opacity:.88}
.postcard-list{max-width:1080px;margin:auto;display:grid;gap:20px}.postcard-list article{display:grid;grid-template-columns:minmax(250px,40%) 1fr;background:#fffaf4;border:1px solid rgba(74,61,50,.14);min-height:270px}.postcard-list img{width:100%;height:100%;min-height:270px;object-fit:cover}.postcard-list article>div{padding:clamp(24px,4vw,46px);display:flex;flex-direction:column;justify-content:center}.postcard-list .tag{text-transform:uppercase;font-weight:700;font-size:10px;letter-spacing:.14em;color:#886e52;margin:0 0 7px}.postcard-list h3{font-family:var(--serif);font-size:34px;margin:0 0 10px}.postcard-list p{line-height:1.6;color:#554f49}.card-links{display:flex;flex-wrap:wrap;gap:14px;margin-top:10px}.card-links a,.cross-link button{color:#725b43;text-transform:uppercase;font-weight:700;font-size:11px;letter-spacing:.1em;text-decoration:none}.cross-link{text-align:center;margin:28px}.cross-link button{background:transparent;border:1px solid #806b55;padding:14px 20px;cursor:pointer}
@media(max-width:760px){.guide-sections,.shop-card-grid,.experience-category-grid{grid-template-columns:1fr}.experience-category-grid article:last-child{grid-column:auto}.postcard-list article{grid-template-columns:1fr}.postcard-list img{height:220px;min-height:220px}.guide-scroll,.shopping-scroll,.experience-hub-scroll,.experience-list-scroll{padding:22px 16px}.guide-sections .departure-section{grid-column:auto}.experience-category-grid article,.experience-category-grid article:last-child{min-height:250px}}


/* Fleurs des Roches guest messaging */
.concierge-chat-launcher{position:fixed;right:20px;bottom:20px;z-index:1200;display:flex;align-items:center;gap:11px;border:1px solid rgba(173,131,95,.62);border-radius:999px;background:#252626;color:#fff;padding:10px 16px 10px 10px;box-shadow:0 12px 34px rgba(0,0,0,.24);cursor:pointer;font-family:inherit;text-align:left}
.concierge-chat-launcher:hover{transform:translateY(-1px);box-shadow:0 16px 38px rgba(0,0,0,.28)}
.concierge-chat-icon{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#ad835f}
.concierge-chat-icon svg{width:21px;height:21px;fill:none;stroke:#fff;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.concierge-chat-launcher small{display:block;color:#d9d2ca;font-size:8px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:2px}
.concierge-chat-launcher b{display:block;font:500 15px Georgia,serif}
.chat-setup-notice{position:fixed;right:20px;bottom:86px;z-index:1201;width:min(340px,calc(100vw - 40px));background:#fffaf4;border:1px solid #c8a17d;border-radius:10px;padding:13px 15px;color:#4f4035;box-shadow:0 12px 30px rgba(0,0,0,.18);font-size:12px;line-height:1.5}
.appliance-chat-button{color:#fff;border:1px solid #b98a5d;border-radius:6px;padding:11px 14px;background:transparent;text-transform:uppercase;font-size:8px;letter-spacing:.08em;white-space:nowrap;cursor:pointer}
@media(max-width:700px){.concierge-chat-launcher{right:12px;bottom:12px;padding:9px 13px 9px 9px}.concierge-chat-icon{width:36px;height:36px}.concierge-chat-launcher small{display:none}.chat-setup-notice{right:12px;bottom:72px;width:calc(100vw - 24px)}}


/* Beta 3 — controlled typography and modal harmonisation */
:root{--fdr-serif:Georgia,"Times New Roman",serif;--fdr-sans:Arial,Helvetica,sans-serif}
body,button,a,input,select,textarea,dialog{font-family:var(--fdr-sans)}
.site-header .header-pill,.site-header .control-pill,.site-header nav button,.modal-chrome,.modal-close,.card-links a,.manual-actions a,.appliance-chat-button,.medical-links a{font-family:var(--fdr-sans)!important}
h1,h2,h3,.curated-header h2,.experience-hub-header h2,.experience-list-scroll header h2,.simple-inner>h2,.group-title h3,.shop-group-title h3,.curated-card h3,.postcard-list h3,.hike-card h3{font-family:var(--fdr-serif)!important;font-weight:500}
.content-modal{overflow:hidden}
.modal-chrome{height:58px;min-height:58px}
.curated-scroll,.experience-hub-scroll,.experience-list-scroll,.shopping-scroll,.dialog-scroll,.simple-inner{scrollbar-gutter:stable}
.curated-card{padding:0!important;overflow:hidden;display:flex;flex-direction:column}
.curated-card-image{width:100%;height:220px;object-fit:cover;display:block}
.curated-card-body{padding:24px;display:flex;flex-direction:column;gap:14px;flex:1}
.curated-card-footer{margin-top:auto}
.medical-links{margin:10px 0 18px}
.medical-links a{display:inline-flex;padding:10px 14px;border:1px solid #a87854;border-radius:999px;color:#7b573e;text-decoration:none;text-transform:uppercase;letter-spacing:.08em;font-size:9px}
.tip-box.warning{border-color:#a65b4d;background:#fff7f4}
.tip-box.warning b{color:#8f4034}
@media(max-width:700px){.curated-card-image{height:190px}.curated-card-body{padding:20px}.medical-links a{width:100%;justify-content:center}}


/* Beta 3.1 controlled revision: robust scrolling, no layout removals */
html:has(dialog[open]), body:has(dialog[open]){overflow:hidden}
dialog.content-modal[open], dialog.small-modal[open]{display:flex;flex-direction:column;overflow:hidden;max-height:90dvh}
dialog.content-modal > .modal-chrome, dialog.small-modal > .modal-chrome{flex:0 0 58px;position:relative;top:auto}
dialog.content-modal > :not(.modal-chrome), dialog.small-modal > :not(.modal-chrome){flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.experience-hub-scroll,.experience-list-scroll,.shopping-scroll,.curated-scroll,.dialog-scroll,.house-guide-scroll,.appliance-scroll,.safety-scroll,.simple-inner{min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}
.shop-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.shop-card-grid .shop-postcard{padding:0;overflow:hidden;min-height:0;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 30px rgba(45,40,35,.06)}
.shop-postcard>img{width:100%;height:185px;display:block;object-fit:cover;background:#eee8e1}
.shop-card-body{padding:20px 20px 22px}
.shop-card-body h4{font:500 23px/1.15 Georgia,serif;margin:0 0 10px;color:#25282a}
.shop-card-body p{font:11px/1.6 Arial,Helvetica,sans-serif;color:#5c5955;margin:0 0 16px}
.shop-card-body a,.shop-card-body button{display:inline-block;border:0;background:transparent;padding:0;color:#986d4b;text-decoration:none;text-transform:uppercase;letter-spacing:.07em;font:700 8px/1.4 Arial,Helvetica,sans-serif;cursor:pointer}
.postcard-list article img{object-fit:cover;background:#ece6df}
@media(max-width:850px){.shop-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){dialog.content-modal[open],dialog.small-modal[open]{width:100vw;height:100dvh;max-height:100dvh;margin:0;border-radius:0}.shop-card-grid{grid-template-columns:1fr}.shop-postcard>img{height:210px}}

/* Beta 3.2: targeted additions only */
.amenities-toiletries .faith-logo{display:block;width:min(180px,62%);height:auto;object-fit:contain;margin:0 0 18px}
.transport-info-cards{display:grid;gap:14px;margin-top:18px}
.transport-info-card{padding:18px;background:#fff;border:1px solid #dfe6e0;border-radius:8px}
.transport-info-card h3{margin:5px 0 10px;font:500 21px/1.15 Georgia,serif;color:#334039}
.transport-info-card p:not(.eyebrow){margin:0 0 13px;font:13px/1.6 Georgia,serif;color:#5e6962}
.transport-info-card .card-links{display:flex;flex-wrap:wrap;gap:8px}
.transport-info-card .card-links a{padding:8px 10px;border:1px solid #b8cbbf;border-radius:5px;background:#fbfcfa;color:#3f5047;text-decoration:none;font-size:10px}
.transport-info-card .card-links a:hover{background:#dfeae3}


/* Beta 4 — Mont Blanc editorial module (scoped; no existing component changes) */
.mont-blanc-card img{object-position:center 48%}
.mont-blanc-modal{width:min(1180px,96vw);height:min(94vh,980px);max-width:none;padding:0;overflow:hidden}
.mont-blanc-scroll{height:calc(100% - 58px);overflow-y:auto;padding:0;-webkit-overflow-scrolling:touch;background:#f7f2eb}
.mont-blanc-hero{position:relative;min-height:520px;display:flex;align-items:flex-end;overflow:hidden;color:white}
.mont-blanc-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.mont-blanc-hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,19,21,.08),rgba(13,19,21,.7))}
.mont-blanc-hero-copy{position:relative;z-index:1;max-width:800px;padding:clamp(32px,6vw,76px)}
.mont-blanc-hero-copy .kicker{color:#f0dfc8}.mont-blanc-hero-copy h2{font-family:var(--fdr-serif);font-size:clamp(48px,7vw,86px);font-weight:500;line-height:.98;margin:8px 0 20px}.mont-blanc-hero-copy p:last-child{font-size:clamp(16px,2vw,20px);line-height:1.65;margin:0}
.mont-blanc-intro,.mont-blanc-section,.mont-blanc-gallery-section,.mont-blanc-safety{max-width:1080px;margin:0 auto;padding:clamp(42px,7vw,84px) clamp(20px,5vw,60px)}
.mont-blanc-intro{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(28px,5vw,64px);align-items:center}
.mont-blanc-intro h3,.mont-blanc-section-heading h3,.mont-blanc-safety h3{font-family:var(--fdr-serif);font-size:clamp(34px,5vw,56px);font-weight:500;margin:8px 0 18px}.mont-blanc-intro p,.mont-blanc-section-heading p,.mont-blanc-safety p{line-height:1.7;color:#514b45}
.mont-blanc-map{background:#fffaf4;border:1px solid rgba(74,61,50,.14);padding:12px}.mont-blanc-map svg{width:100%;height:auto;display:block}.mont-blanc-map svg text{font-family:Arial,sans-serif;font-size:20px;fill:#332f2b;font-weight:700}.mont-blanc-map svg text.small{font-size:14px;font-weight:400}.mont-blanc-map>p{text-transform:uppercase;letter-spacing:.12em;font-size:10px;text-align:center;color:#766b61;margin:10px 0 2px}
.mont-blanc-section{border-top:1px solid rgba(74,61,50,.14)}.mont-blanc-section-heading{max-width:760px;margin:0 auto 36px;text-align:center}.mont-blanc-postcards{padding:0}.mont-blanc-gallery-section{border-top:1px solid rgba(74,61,50,.14)}
.mont-blanc-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.mont-blanc-gallery figure{margin:0;background:#fffaf4;border:1px solid rgba(74,61,50,.14)}.mont-blanc-gallery img{width:100%;height:220px;object-fit:cover;display:block}.mont-blanc-gallery figcaption{padding:13px 15px;font-size:12px;color:#625b54;letter-spacing:.04em}
.mont-blanc-link-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.mont-blanc-link-grid a,.mont-blanc-link-grid button{appearance:none;text-decoration:none;text-align:left;background:#fffaf4;border:1px solid rgba(74,61,50,.18);padding:22px;color:#3f3933;cursor:pointer;font:inherit}.mont-blanc-link-grid strong{display:block;font-family:var(--fdr-serif);font-size:25px;font-weight:500;margin-bottom:7px}.mont-blanc-link-grid span{font-size:13px;color:#72675e;line-height:1.45}
.mont-blanc-safety{display:grid;grid-template-columns:70px 1fr;gap:24px;background:#eee4d8;max-width:none;padding-left:max(20px,calc((100% - 960px)/2));padding-right:max(20px,calc((100% - 960px)/2))}.mont-blanc-warning-icon{width:58px;height:58px;border:1px solid #8e6548;border-radius:50%;display:grid;place-items:center;font-family:var(--fdr-serif);font-size:34px;color:#8e6548}
@media(max-width:760px){.mont-blanc-modal{width:100vw;height:100dvh;max-height:none}.mont-blanc-hero{min-height:440px}.mont-blanc-intro{grid-template-columns:1fr}.mont-blanc-gallery{grid-template-columns:1fr 1fr}.mont-blanc-gallery img{height:170px}.mont-blanc-link-grid{grid-template-columns:1fr}.mont-blanc-safety{grid-template-columns:1fr}.mont-blanc-warning-icon{width:48px;height:48px}.mont-blanc-postcards article{grid-template-columns:1fr}}
@media(max-width:480px){.mont-blanc-gallery{grid-template-columns:1fr}.mont-blanc-gallery img{height:210px}}

/* Beta 4.1: requested Saint-Gervais card order and Mont Blanc orientation refinement only */
@media (min-width: 761px){
  #saint-gervais .destination-grid{grid-auto-rows:180px}
  #saint-gervais .dest-breakfast{grid-column:1 / span 4;grid-row:1 / span 2}
  #saint-gervais .dest-dining{grid-column:5 / span 8;grid-row:1 / span 2}
  #saint-gervais .dest-discover-mont-blanc{grid-column:5 / span 8;grid-row:3 / span 2}
  #saint-gervais .dest-walks-hikes{grid-column:1 / span 4;grid-row:3 / span 3}
  #saint-gervais .dest-shops-services{grid-column:1 / span 4;grid-row:6 / span 3}
  #saint-gervais .dest-summer-experiences{grid-column:5 / span 4;grid-row:5 / span 2}
  #saint-gervais .dest-getting-around{grid-column:9 / span 4;grid-row:5 / span 2;min-height:auto}
}
.mont-blanc-map svg text.range{font-size:15px;font-weight:700;fill:#4d4a45;letter-spacing:.02em}


/* Beta 5 — guest-guide search and requested visual replacements */
.site-search-shell{position:relative;z-index:19;background:linear-gradient(90deg,#f6f1eb,#fffaf5,#f6f1eb);border-bottom:1px solid var(--line);padding:12px 5vw 14px}
.site-search{position:relative;max-width:880px;margin:0 auto;background:rgba(255,255,255,.92);border:1px solid #cdb9a7;border-radius:999px;box-shadow:0 10px 28px rgba(66,51,39,.08);display:flex;align-items:center;padding:0 17px;transition:.2s}
.site-search:focus-within{border-color:#9b6d48;box-shadow:0 12px 34px rgba(75,55,40,.14)}
.site-search>svg{width:20px;height:20px;fill:none;stroke:#8f6749;stroke-width:1.8;flex:0 0 auto}
.site-search input{width:100%;border:0;outline:0;background:transparent;padding:14px 12px;font:italic 15px Georgia,serif;color:#2b2927}
.site-search input::placeholder{color:#81776e}
.site-search>button{border:0;background:transparent;font-size:25px;line-height:1;color:#8d725e;cursor:pointer;padding:4px 5px}
.site-search-results{position:absolute;left:0;right:0;top:calc(100% + 8px);background:#fbf8f4;border:1px solid #d8cbbf;border-radius:16px;box-shadow:0 22px 55px rgba(35,28,23,.2);max-height:min(58vh,520px);overflow:auto;padding:8px;z-index:100}
.site-search-result{width:100%;display:block;text-align:left;border:0;background:transparent;border-radius:10px;padding:12px 14px;cursor:pointer;color:#292725}
.site-search-result:hover,.site-search-result[aria-selected="true"]{background:#eee5dc}
.site-search-result strong{display:block;font:500 17px Georgia,serif;margin-bottom:4px}
.site-search-result span{display:block;font-size:10px;line-height:1.45;color:#6d655e}
.site-search-empty{padding:18px;text-align:center;font:italic 14px Georgia,serif;color:#756d66}
.search-highlight{animation:fdrSearchPulse 1.8s ease}
@keyframes fdrSearchPulse{0%,100%{box-shadow:none}25%{box-shadow:0 0 0 4px rgba(155,109,72,.25)}}
.editorial-map-canvas{display:flex;align-items:center;justify-content:center;background:#1f2b31;padding:28px;overflow:hidden}
.getting-around-map-image{width:100%;height:100%;max-height:760px;object-fit:contain;display:block;border-radius:10px;box-shadow:0 18px 42px rgba(0,0,0,.22)}
@media(max-width:650px){.site-search-shell{padding:9px 12px 11px}.site-search input{font-size:13px;padding:12px 8px}.site-search-results{position:fixed;left:10px;right:10px;top:132px;max-height:62vh}.editorial-map-canvas{padding:12px;min-height:360px}}
