/* Presentation-only website templates.  Content remains in tenant CMS tables. */
body[class*="site-template-"] .public-header,
body[class*="site-template-"] .public-footer,
body[class*="site-template-"] main,
body[class*="site-template-"] .panel,
body[class*="site-template-"] .resource-card{transition:background-color .22s,border-color .22s,color .22s,border-radius .22s}

/* Nordic Air — broad whitespace, cool colour and light glass surfaces. */
.site-template-nordic-air{--paper:#f4f8f8;--panel:#fff;--ink:#16343a;--muted:#637b80;--line:#d4e2e3;--brand:#2f6f78;--brand-2:#23565d;--accent:#d7a95c;background:#f4f8f8;color:#16343a}
.site-template-nordic-air .public-header{position:sticky;top:0;background:rgba(244,248,248,.9);border-bottom:1px solid rgba(47,111,120,.12);backdrop-filter:blur(18px)}
.site-template-nordic-air .public-nav{height:86px}.site-template-nordic-air .public-links>a:not(.btn){font-weight:650}
.site-template-nordic-air .btn,.site-template-nordic-air .panel,.site-template-nordic-air .resource-card,.site-template-nordic-air .public-review-card,.site-template-nordic-air .public-news-card{border-radius:18px}
.site-template-nordic-air .cms-hero{min-height:760px;display:flex;align-items:end;position:relative;background:#2b5960 var(--cms-hero-image) center/cover no-repeat;color:#fff}
.site-template-nordic-air .cms-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,45,53,.78),rgba(10,45,53,.08))}
.site-template-nordic-air .cms-hero-content{position:relative;padding-block:130px 64px}.site-template-nordic-air .cms-hero h1{max-width:900px;font-size:clamp(48px,7vw,104px);line-height:.96;letter-spacing:-.055em;margin:12px 0 22px}
.site-template-nordic-air .cms-hero p{max-width:670px;font-size:20px}.site-template-nordic-air .cms-booking-bar{display:grid;grid-template-columns:repeat(3,1fr) auto;gap:10px;max-width:900px;margin-top:38px;padding:12px;border-radius:20px;background:rgba(255,255,255,.94);color:#16343a}
.site-template-nordic-air .cms-booking-bar label{display:grid;align-content:center;gap:4px;padding:0 9px}.site-template-nordic-air .cms-booking-bar input{border:0;background:transparent}
.site-template-nordic-air .cms-site>.section{padding-block:96px}.site-template-nordic-air .cms-section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:36px}.site-template-nordic-air .cms-section-head h2,.site-template-nordic-air .cms-split h2,.site-template-nordic-air .cms-intro h2,.site-template-nordic-air .cms-cta h2{font-size:clamp(34px,4.4vw,66px);line-height:1.02;letter-spacing:-.045em}
.site-template-nordic-air .cms-split{display:grid;grid-template-columns:1fr 1.2fr;overflow:hidden;border-radius:34px;background:#e5eeee}.site-template-nordic-air .cms-split.image-left .cms-split-media{order:-1}.site-template-nordic-air .cms-split-copy{padding:clamp(34px,6vw,86px)}.site-template-nordic-air .cms-split-media{margin:0;min-height:520px}.site-template-nordic-air .cms-split-media img{width:100%;height:100%;object-fit:cover}
.site-template-nordic-air .cms-card-grid,.site-template-nordic-air .cms-review-grid,.site-template-nordic-air .cms-news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.site-template-nordic-air .cms-stay-card,.site-template-nordic-air .cms-review-grid article,.site-template-nordic-air .cms-news-grid>a{overflow:hidden;padding:24px;border:1px solid #d7e4e5;border-radius:24px;background:#fff}.site-template-nordic-air .cms-card-media{display:block;margin:-24px -24px 20px;height:280px}.site-template-nordic-air .cms-card-media img{width:100%;height:100%;object-fit:cover}

/* Urban Minimal — strict editorial grid with a luminous action accent. */
.site-template-urban-minimal{--paper:#f5f5f2;--panel:#fff;--ink:#111;--muted:#666;--line:#d5d5d0;--brand:#111;--brand-2:#000;--accent:#b1d51f;background:#f5f5f2;color:#111}
.site-template-urban-minimal .public-header{background:#111;color:#fff;border:0}.site-template-urban-minimal .public-nav{height:78px}.site-template-urban-minimal .public-header a,.site-template-urban-minimal .public-header .brand-copy small{color:#fff}.site-template-urban-minimal .public-links>a:not(.btn){font-size:11px;text-transform:uppercase;letter-spacing:.09em}
.site-template-urban-minimal .btn,.site-template-urban-minimal .panel,.site-template-urban-minimal .resource-card,.site-template-urban-minimal .public-review-card,.site-template-urban-minimal .public-news-card{border-radius:2px}.site-template-urban-minimal .btn-primary{background:#111;border-color:#111}.site-template-urban-minimal .btn-primary:hover{background:#b1d51f;border-color:#b1d51f;color:#111}
.site-template-urban-minimal .cms-hero{min-height:760px;position:relative;display:grid;align-items:end;background:#222 var(--cms-hero-image) center/cover no-repeat;color:#fff}.site-template-urban-minimal .cms-hero-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.78),rgba(0,0,0,.08))}.site-template-urban-minimal .cms-hero-content{position:relative;padding-block:110px 48px}.site-template-urban-minimal .cms-kicker{display:inline-block;padding:5px 9px;background:#d7ff45;color:#111;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.12em}.site-template-urban-minimal .cms-hero h1{max-width:1120px;font-size:clamp(54px,9vw,136px);line-height:.82;letter-spacing:-.075em;text-transform:uppercase;margin:20px 0 28px}.site-template-urban-minimal .cms-hero p{max-width:700px;font-size:19px}
.site-template-urban-minimal .cms-booking-bar{display:grid;grid-template-columns:repeat(3,1fr) auto;gap:1px;margin-top:34px;background:#111}.site-template-urban-minimal .cms-booking-bar label{display:grid;gap:4px;padding:12px;background:#fff;color:#111}.site-template-urban-minimal .cms-booking-bar input{border:0}.site-template-urban-minimal .cms-site>.section{padding-block:88px;border-bottom:1px solid #cfcfca}.site-template-urban-minimal .cms-section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:32px}.site-template-urban-minimal .cms-section-head h2,.site-template-urban-minimal .cms-split h2,.site-template-urban-minimal .cms-intro h2,.site-template-urban-minimal .cms-cta h2{font-size:clamp(38px,5vw,76px);line-height:.94;letter-spacing:-.055em;text-transform:uppercase}
.site-template-urban-minimal .cms-split{display:grid;grid-template-columns:1fr 1fr;border:1px solid #111}.site-template-urban-minimal .cms-split.image-left .cms-split-media{order:-1}.site-template-urban-minimal .cms-split-copy{padding:clamp(30px,5vw,72px)}.site-template-urban-minimal .cms-split-media{margin:0;min-height:500px}.site-template-urban-minimal .cms-split-media img{width:100%;height:100%;object-fit:cover;filter:saturate(.7)}
.site-template-urban-minimal .cms-card-grid,.site-template-urban-minimal .cms-review-grid,.site-template-urban-minimal .cms-news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#111;border:1px solid #111}.site-template-urban-minimal .cms-stay-card,.site-template-urban-minimal .cms-review-grid article,.site-template-urban-minimal .cms-news-grid>a{display:block;padding:22px;background:#f5f5f2;color:#111}.site-template-urban-minimal .cms-card-media{display:block;height:270px;margin:-22px -22px 20px}.site-template-urban-minimal .cms-card-media img{width:100%;height:100%;object-fit:cover;filter:grayscale(.25)}

/* Forest Organic — soft geometry and nature-forward cards. */
.site-template-forest-organic{--paper:#f1f3e8;--panel:#fbfcf6;--ink:#20382b;--muted:#6c7b70;--line:#d7decf;--brand:#315c45;--brand-2:#244735;--accent:#be7d46;background:#f1f3e8;color:#20382b}
.site-template-forest-organic .public-header{background:rgba(241,243,232,.92);backdrop-filter:blur(16px);border:0}.site-template-forest-organic .public-nav{height:92px}.site-template-forest-organic .btn,.site-template-forest-organic .panel,.site-template-forest-organic .resource-card,.site-template-forest-organic .public-review-card,.site-template-forest-organic .public-news-card{border-radius:28px}
.site-template-forest-organic .cms-hero{min-height:820px;position:relative;display:flex;align-items:center;background:#315c45 var(--cms-hero-image) center/cover no-repeat;color:#fff;border-radius:0 0 80px 80px;overflow:hidden}.site-template-forest-organic .cms-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(25,60,42,.84),rgba(25,60,42,.08))}.site-template-forest-organic .cms-hero-content{position:relative;padding-block:110px}.site-template-forest-organic .cms-kicker{font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.16em;color:#be7d46}.site-template-forest-organic .cms-hero .cms-kicker{color:#f0c89e}.site-template-forest-organic .cms-hero h1{max-width:850px;font-size:clamp(48px,7vw,104px);line-height:.94;letter-spacing:-.05em;margin:18px 0 24px}.site-template-forest-organic .cms-hero p{max-width:620px;font-size:20px}
.site-template-forest-organic .cms-booking-bar{display:grid;grid-template-columns:repeat(3,1fr) auto;gap:9px;max-width:880px;margin-top:40px;padding:11px;border-radius:28px;background:rgba(250,252,246,.94);color:#20382b}.site-template-forest-organic .cms-booking-bar label{display:grid;gap:3px;padding-inline:10px}.site-template-forest-organic .cms-booking-bar input{border:0;background:transparent}.site-template-forest-organic .cms-site>.section{padding-block:100px}.site-template-forest-organic .cms-section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:38px}.site-template-forest-organic .cms-section-head h2,.site-template-forest-organic .cms-split h2,.site-template-forest-organic .cms-intro h2,.site-template-forest-organic .cms-cta h2{font-size:clamp(36px,4.7vw,70px);line-height:1.02;letter-spacing:-.045em}
.site-template-forest-organic .cms-split{display:grid;grid-template-columns:1fr 1fr;overflow:hidden;border-radius:70px 24px 70px 24px;background:#e1e7d6}.site-template-forest-organic .cms-split.image-left .cms-split-media{order:-1}.site-template-forest-organic .cms-split-copy{padding:clamp(34px,6vw,84px)}.site-template-forest-organic .cms-split-media{margin:0;min-height:540px}.site-template-forest-organic .cms-split-media img{width:100%;height:100%;object-fit:cover}
.site-template-forest-organic .cms-card-grid,.site-template-forest-organic .cms-review-grid,.site-template-forest-organic .cms-news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.site-template-forest-organic .cms-stay-card,.site-template-forest-organic .cms-review-grid article,.site-template-forest-organic .cms-news-grid>a{overflow:hidden;padding:24px;border-radius:34px 14px;background:#fbfcf6;color:#20382b}.site-template-forest-organic .cms-card-media{display:block;height:280px;margin:-24px -24px 20px}.site-template-forest-organic .cms-card-media img{width:100%;height:100%;object-fit:cover}

/* Grand Classic — centred hospitality layout, wine and brass. */
.site-template-grand-classic{--paper:#fbf7ef;--panel:#fffdf8;--ink:#312525;--muted:#766867;--line:#e1d5c4;--brand:#6b2638;--brand-2:#4c1826;--accent:#b78b43;background:#fbf7ef;color:#312525}
.site-template-grand-classic .public-header{background:#fffdf8;border-bottom:1px solid #d9c8ac}.site-template-grand-classic .public-nav{min-height:104px;flex-wrap:wrap;justify-content:center}.site-template-grand-classic .public-nav>.brand{flex-basis:100%;justify-content:center;padding-top:12px}.site-template-grand-classic .public-links{justify-content:center;padding-bottom:11px}.site-template-grand-classic .public-links>a:not(.btn){font:600 12px/1 Georgia,serif;text-transform:uppercase;letter-spacing:.09em}
.site-template-grand-classic .btn,.site-template-grand-classic .panel,.site-template-grand-classic .resource-card,.site-template-grand-classic .public-review-card,.site-template-grand-classic .public-news-card{border-radius:7px}.site-template-grand-classic .btn-primary{background:#6b2638;border-color:#6b2638}
.site-template-grand-classic .cms-hero{min-height:800px;position:relative;display:grid;place-items:center;text-align:center;background:#4c1826 var(--cms-hero-image) center/cover no-repeat;color:#fff}.site-template-grand-classic .cms-hero-shade{position:absolute;inset:0;background:linear-gradient(rgba(40,13,22,.42),rgba(40,13,22,.74))}.site-template-grand-classic .cms-hero-content{position:relative;padding-block:120px 70px}.site-template-grand-classic .cms-kicker{font:700 11px/1.4 Georgia,serif;text-transform:uppercase;letter-spacing:.22em;color:#b78b43}.site-template-grand-classic .cms-hero .cms-kicker{color:#edd5a6}.site-template-grand-classic .cms-hero h1{max-width:1000px;margin:20px auto 25px;font:700 clamp(52px,7vw,106px)/.96 Georgia,serif;letter-spacing:-.035em}.site-template-grand-classic .cms-hero p{max-width:720px;margin-inline:auto;font-size:20px}
.site-template-grand-classic .cms-hero-actions{justify-content:center}.site-template-grand-classic .cms-booking-bar{display:grid;grid-template-columns:repeat(3,1fr) auto;gap:1px;max-width:900px;margin:42px auto 0;padding:9px;background:rgba(255,253,248,.96);color:#312525;border:1px solid #d6bd92}.site-template-grand-classic .cms-booking-bar label{display:grid;gap:4px;padding:7px 11px;border-right:1px solid #e1d5c4;text-align:left}.site-template-grand-classic .cms-booking-bar input{border:0;background:transparent}.site-template-grand-classic .cms-site>.section{padding-block:96px}.site-template-grand-classic .cms-section-head{text-align:center;margin-bottom:38px}.site-template-grand-classic .cms-section-head h2,.site-template-grand-classic .cms-split h2,.site-template-grand-classic .cms-intro h2,.site-template-grand-classic .cms-cta h2{font:700 clamp(38px,4.8vw,72px)/1.02 Georgia,serif;letter-spacing:-.035em}.site-template-grand-classic .cms-section-head p{max-width:680px;margin-inline:auto}
.site-template-grand-classic .cms-split{display:grid;grid-template-columns:1fr 1fr;border:1px solid #d8c5a8;background:#fffdf8}.site-template-grand-classic .cms-split.image-left .cms-split-media{order:-1}.site-template-grand-classic .cms-split-copy{padding:clamp(36px,6vw,86px);text-align:center}.site-template-grand-classic .cms-split-media{margin:0;min-height:540px}.site-template-grand-classic .cms-split-media img{width:100%;height:100%;object-fit:cover}
.site-template-grand-classic .cms-card-grid,.site-template-grand-classic .cms-review-grid,.site-template-grand-classic .cms-news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.site-template-grand-classic .cms-stay-card,.site-template-grand-classic .cms-review-grid article,.site-template-grand-classic .cms-news-grid>a{overflow:hidden;padding:24px;border:1px solid #d8c5a8;background:#fffdf8;color:#312525;text-align:center}.site-template-grand-classic .cms-card-media{display:block;height:280px;margin:-24px -24px 20px}.site-template-grand-classic .cms-card-media img{width:100%;height:100%;object-fit:cover}

@media(max-width:960px){
  .site-template-nordic-air .cms-card-grid,.site-template-nordic-air .cms-review-grid,.site-template-nordic-air .cms-news-grid,
  .site-template-urban-minimal .cms-card-grid,.site-template-urban-minimal .cms-review-grid,.site-template-urban-minimal .cms-news-grid,
  .site-template-forest-organic .cms-card-grid,.site-template-forest-organic .cms-review-grid,.site-template-forest-organic .cms-news-grid,
  .site-template-grand-classic .cms-card-grid,.site-template-grand-classic .cms-review-grid,.site-template-grand-classic .cms-news-grid{grid-template-columns:repeat(2,1fr)}
  .site-template-nordic-air .cms-split,.site-template-urban-minimal .cms-split,.site-template-forest-organic .cms-split,.site-template-grand-classic .cms-split{grid-template-columns:1fr}
  .site-template-nordic-air .cms-split.image-left .cms-split-media,.site-template-urban-minimal .cms-split.image-left .cms-split-media,.site-template-forest-organic .cms-split.image-left .cms-split-media,.site-template-grand-classic .cms-split.image-left .cms-split-media{order:0}
}
@media(max-width:760px){
  .site-template-nordic-air .cms-booking-bar,.site-template-urban-minimal .cms-booking-bar,.site-template-forest-organic .cms-booking-bar,.site-template-grand-classic .cms-booking-bar{grid-template-columns:1fr}
  .site-template-nordic-air .cms-card-grid,.site-template-nordic-air .cms-review-grid,.site-template-nordic-air .cms-news-grid,
  .site-template-urban-minimal .cms-card-grid,.site-template-urban-minimal .cms-review-grid,.site-template-urban-minimal .cms-news-grid,
  .site-template-forest-organic .cms-card-grid,.site-template-forest-organic .cms-review-grid,.site-template-forest-organic .cms-news-grid,
  .site-template-grand-classic .cms-card-grid,.site-template-grand-classic .cms-review-grid,.site-template-grand-classic .cms-news-grid{grid-template-columns:1fr}
  .site-template-forest-organic .cms-hero{border-radius:0 0 34px 34px}
  .site-template-grand-classic .public-nav>.brand{flex-basis:auto}.site-template-grand-classic .public-nav{min-height:76px;justify-content:space-between}.site-template-grand-classic .public-links{justify-content:flex-start}
}
@media(prefers-reduced-motion:reduce){body[class*="site-template-"] *{transition:none!important;animation-duration:.01ms!important}}
