@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400;1,500;1,600&family=Jost:wght@200;300;400;500&display=swap');

/* ============================================================
   MONTMEILLEUR — flagship brand system
   Higher contrast than the aerodrome site (readability pass)
   ============================================================ */
:root {
  --cream:      #f6f1e9;
  --parchment:  #ece3d3;
  --parchment-d:#e0d4bf;
  --ink:        #181410;
  --ink-soft:   #2c2820;   /* body text — darker for readability */
  --steel:      #3f5d77;   /* labels/accents on LIGHT — AA-readable */
  --steel-light:#aec3d4;   /* steel accent on DARK */
  --gold:       #9c7327;   /* deeper gold — readable for small accents on cream */
  --gold-bright:#cda85b;   /* bright gold for dark backgrounds & headings */
  --line:       rgba(156,115,39,0.20);
}

* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  background:var(--cream); color:var(--ink-soft);
  font-family:'Jost',sans-serif; font-weight:300;
  overflow-x:hidden; -webkit-font-smoothing:antialiased;
}

/* grain */
body::before {
  content:''; position:fixed; inset:0; pointer-events:none; z-index:9000; opacity:0.22;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E");
}

/* ── NAV ── */
nav {
  position:fixed; top:0; left:0; right:0; z-index:200;
  display:flex; align-items:center; justify-content:space-between;
  padding:1.1rem 3.5rem; transition:background .4s, backdrop-filter .4s, box-shadow .4s, padding .4s;
}
nav.scrolled { background:rgba(246,241,233,0.94); backdrop-filter:blur(14px); box-shadow:0 1px 0 var(--line); padding-top:0.85rem; padding-bottom:0.85rem; }
.nav-logo { display:flex; align-items:center; gap:0.8rem; text-decoration:none; }
.nav-logo img { height:46px; width:auto; transition:height .4s; }
nav.scrolled .nav-logo img { height:40px; }
.nav-wordmark { display:flex; flex-direction:column; line-height:1; }
.nav-name { font-family:'Cormorant Garamond',serif; font-size:1.15rem; font-weight:500; color:var(--ink); letter-spacing:0.06em; }
.nav-sub { font-size:0.58rem; letter-spacing:0.34em; text-transform:uppercase; color:var(--steel); margin-top:2px; }

.nav-center { display:flex; gap:2.1rem; list-style:none; }
.nav-center a { font-size:0.7rem; letter-spacing:0.16em; text-transform:uppercase; color:var(--ink); text-decoration:none; position:relative; font-weight:400; padding-bottom:3px; transition:color .25s; }
.nav-center a::after { content:''; position:absolute; bottom:0; left:0; width:0; height:1px; background:var(--gold); transition:width .25s; }
.nav-center a:hover::after, .nav-center a.active::after { width:100%; }
.nav-center a:hover, .nav-center a.active { color:var(--gold); }

.nav-right { display:flex; align-items:center; gap:1.4rem; }
.btn-book-sm { font-size:0.64rem; letter-spacing:0.2em; text-transform:uppercase; color:var(--cream); background:var(--ink); padding:0.6rem 1.2rem; text-decoration:none; transition:background .25s; }
.btn-book-sm:hover { background:var(--gold); }
.lang-sw { display:flex; gap:0.32rem; align-items:center; }
.lang-sw button { background:none; border:none; font-family:'Jost',sans-serif; font-size:0.62rem; letter-spacing:0.1em; font-weight:400; color:var(--ink-soft); cursor:pointer; padding:0.15rem 0.2rem; transition:color .2s; }
.lang-sw button:hover, .lang-sw button.active { color:var(--gold); }
.lang-sep { color:var(--steel); font-size:0.45rem; }

.hamburger { display:none; flex-direction:column; gap:5px; cursor:pointer; padding:4px; background:none; border:none; }
.hamburger span { display:block; width:24px; height:1.5px; background:var(--ink); transition:all .3s; }
.hamburger.open span:nth-child(1){ transform:translateY(6.5px) rotate(45deg); }
.hamburger.open span:nth-child(2){ opacity:0; }
.hamburger.open span:nth-child(3){ transform:translateY(-6.5px) rotate(-45deg); }

.mobile-menu { display:none; position:fixed; inset:0; background:var(--cream); z-index:150; flex-direction:column; align-items:center; justify-content:flex-start; gap:1.15rem; padding:6.75rem 2rem 2.5rem; overflow-y:auto; opacity:0; transition:opacity .3s; }
.mobile-menu.open { display:flex; opacity:1; }
.mobile-menu a { font-family:'Cormorant Garamond',serif; font-size:1.9rem; font-weight:300; color:var(--ink); text-decoration:none; letter-spacing:0.04em; }
.mobile-menu a:hover { color:var(--gold); }
.mobile-menu .mobile-lang { display:flex; gap:0.9rem; margin-top:1.6rem; }
.mobile-menu .mobile-lang button { background:none; border:none; font-family:'Jost',sans-serif; font-size:0.85rem; letter-spacing:0.15em; color:var(--ink-soft); cursor:pointer; }
.mobile-menu .mobile-lang button.active { color:var(--gold); }
.mobile-menu-close { position:absolute; top:1.5rem; right:2rem; font-size:1.6rem; background:none; border:none; cursor:pointer; color:var(--ink); }

/* ── UTILITIES ── */
.wrap { max-width:1240px; margin:0 auto; padding:0 3.5rem; }
.section { padding:5rem 0; }
.eyebrow { font-size:0.6rem; letter-spacing:0.46em; text-transform:uppercase; color:var(--steel); display:inline-block; margin-bottom:1.3rem; font-weight:400; }
.display { font-family:'Cormorant Garamond',serif; font-weight:300; line-height:1.06; color:var(--ink); }
.display em { font-style:italic; color:var(--gold); }
h2.title { font-family:'Cormorant Garamond',serif; font-weight:300; font-size:clamp(2rem,4vw,3.4rem); line-height:1.08; color:var(--ink); }
h2.title em { font-style:italic; color:var(--gold); }
.lead { font-size:1rem; line-height:1.9; color:var(--ink-soft); max-width:620px; }
.body { font-size:0.92rem; line-height:1.85; color:var(--ink-soft); }
.rule-thin { width:54px; height:1px; background:var(--gold); }

.btn { font-family:'Jost',sans-serif; font-weight:400; font-size:0.7rem; letter-spacing:0.26em; text-transform:uppercase; padding:1rem 2.2rem; cursor:pointer; text-decoration:none; display:inline-block; transition:all .25s; border:1px solid transparent; }
.btn-dark { color:var(--cream); background:var(--ink); }
.btn-dark:hover { background:var(--gold); }
.btn-outline { color:var(--ink); border-color:rgba(24,20,16,0.3); }
.btn-outline:hover { border-color:var(--gold); color:var(--gold); }
.btn-light { color:var(--ink); background:var(--cream); }
.btn-light:hover { background:var(--gold-bright); }
.btn-ghost-light { color:var(--cream); border-color:rgba(246,241,233,0.4); }
.btn-ghost-light:hover { border-color:var(--gold-bright); color:var(--gold-bright); }

.fade { opacity:0; transform:translateY(22px); transition:opacity .8s cubic-bezier(.16,1,.3,1), transform .8s cubic-bezier(.16,1,.3,1); }
.fade.in { opacity:1; transform:translateY(0); }

/* dark blocks */
.dark { background:var(--ink); color:rgba(246,241,233,0.82); }
.dark .eyebrow { color:var(--steel-light); }
.dark h2.title { color:var(--cream); }
.dark .body, .dark .lead { color:rgba(246,241,233,0.82); }

/* image placeholder (photography to commission) */
.imgph { position:relative; background:linear-gradient(135deg,var(--parchment),var(--parchment-d)); overflow:hidden; display:flex; align-items:center; justify-content:center; }
.imgph::after { content:''; position:absolute; inset:10px; border:1px solid var(--line); pointer-events:none; }
.imgph .ph-crest { width:64px; opacity:0.14; }
.imgph .ph-cap { position:absolute; bottom:14px; left:0; right:0; text-align:center; font-family:'Cormorant Garamond',serif; font-style:italic; font-size:0.74rem; color:rgba(44,40,32,0.5); letter-spacing:0.03em; padding:0 1rem; }
.dark .imgph { background:linear-gradient(135deg,#241f19,#1d1914); }
.dark .imgph::after { border-color:rgba(255,255,255,0.08); }
.dark .imgph .ph-crest { opacity:0.12; }
.dark .imgph .ph-cap { color:rgba(246,241,233,0.4); }

/* ── FOOTER ── */
footer { background:var(--ink); color:rgba(246,241,233,0.5); padding:4.5rem 3.5rem 2rem; }
.footer-inner { max-width:1240px; margin:0 auto; }
.footer-top { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:3rem; padding-bottom:3rem; border-bottom:1px solid rgba(255,255,255,0.06); margin-bottom:2.5rem; }
.f-brand img { height:54px; margin-bottom:1rem; }
.f-brand .fb-name { font-family:'Cormorant Garamond',serif; font-style:italic; font-size:1.15rem; color:var(--cream); margin-bottom:0.7rem; }
.f-brand p { font-size:0.76rem; line-height:1.75; max-width:280px; color:rgba(246,241,233,0.5); }
.fcol h4 { font-weight:400; font-size:0.58rem; letter-spacing:0.3em; text-transform:uppercase; color:var(--steel-light); margin-bottom:1.1rem; }
.fcol ul { list-style:none; display:flex; flex-direction:column; gap:0.6rem; }
.fcol a { font-size:0.78rem; color:rgba(246,241,233,0.5); text-decoration:none; transition:color .2s; }
.fcol a:hover { color:var(--gold-bright); }
.footer-bottom { display:flex; justify-content:space-between; align-items:center; font-size:0.62rem; letter-spacing:0.08em; color:rgba(246,241,233,0.4); }

@media(max-width:1000px){
  nav { padding:1rem 1.5rem; }
  .nav-center { display:none; }
  .nav-right .btn-book-sm { padding:0.5rem 0.9rem; font-size:0.58rem; }
  .hamburger { display:flex; }
  .wrap { padding:0 1.5rem; }
  .footer-top { grid-template-columns:1fr 1fr; gap:2rem; }
}
@media(max-width:600px){ .footer-top { grid-template-columns:1fr; } }


/* ── LINE ICON SYSTEM (CSS mask → inherits currentColor) ── */
.ico{display:inline-block;width:1em;height:1em;background-color:currentColor;-webkit-mask:center/contain no-repeat;mask:center/contain no-repeat;vertical-align:-0.14em;}
.ico-plane{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2.5c.7 0 1.1 1.4 1.1 3.7l6.4 3.8v1.9l-6.4-1.6v3.4l2 1.4v1.5l-3.1-.9-3.1.9v-1.5l2-1.4v-3.4L4.5 11.9V10l6.4-3.8c0-2.3.4-3.7 1.1-3.7z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2.5c.7 0 1.1 1.4 1.1 3.7l6.4 3.8v1.9l-6.4-1.6v3.4l2 1.4v1.5l-3.1-.9-3.1.9v-1.5l2-1.4v-3.4L4.5 11.9V10l6.4-3.8c0-2.3.4-3.7 1.1-3.7z'/%3E%3C/svg%3E");}
.ico-route{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 4 3 6v14l6-2 6 2 6-2V4l-6 2z'/%3E%3Cpath d='M9 4v14M15 6v14'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 4 3 6v14l6-2 6 2 6-2V4l-6 2z'/%3E%3Cpath d='M9 4v14M15 6v14'/%3E%3C/svg%3E");}
.ico-castle{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 21V9l2 1V7l2 1V5l2 1 2-1v3l2-1v3l2-1v12z'/%3E%3Cpath d='M10 21v-4h4v4'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 21V9l2 1V7l2 1V5l2 1 2-1v3l2-1v3l2-1v12z'/%3E%3Cpath d='M10 21v-4h4v4'/%3E%3C/svg%3E");}
.ico-mountain{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 19 9 7l4 7 2-3 6 8z'/%3E%3Cpath d='m9 7 2.5 4.5'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 19 9 7l4 7 2-3 6 8z'/%3E%3Cpath d='m9 7 2.5 4.5'/%3E%3C/svg%3E");}
.ico-warning{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 21 19H3z'/%3E%3Cpath d='M12 10v4M12 17v.5'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 21 19H3z'/%3E%3Cpath d='M12 10v4M12 17v.5'/%3E%3C/svg%3E");}
.ico-parking{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='4' width='16' height='16' rx='2'/%3E%3Cpath d='M9 16V8h3.5a2.5 2.5 0 0 1 0 5H9'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='4' width='16' height='16' rx='2'/%3E%3Cpath d='M9 16V8h3.5a2.5 2.5 0 0 1 0 5H9'/%3E%3C/svg%3E");}
.ico-radio{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 9a8 8 0 0 1 14 0M8 11a4.5 4.5 0 0 1 8 0'/%3E%3Ccircle cx='12' cy='14' r='1.4'/%3E%3Cpath d='M12 15.4V20M9 20h6'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 9a8 8 0 0 1 14 0M8 11a4.5 4.5 0 0 1 8 0'/%3E%3Ccircle cx='12' cy='14' r='1.4'/%3E%3Cpath d='M12 15.4V20M9 20h6'/%3E%3C/svg%3E");}
.ico-fuel{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 21V5a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v16M3.5 21h13M5 12h10'/%3E%3Cpath d='M15 8h2.5a1.5 1.5 0 0 1 1.5 1.5V16a1.5 1.5 0 0 0 3 0V9l-3-3'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 21V5a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v16M3.5 21h13M5 12h10'/%3E%3Cpath d='M15 8h2.5a1.5 1.5 0 0 1 1.5 1.5V16a1.5 1.5 0 0 0 3 0V9l-3-3'/%3E%3C/svg%3E");}
.ico-map{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 4 3 6v14l6-2 6 2 6-2V4l-6 2z'/%3E%3Cpath d='M9 4v14M15 6v14'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 4 3 6v14l6-2 6 2 6-2V4l-6 2z'/%3E%3Cpath d='M9 4v14M15 6v14'/%3E%3C/svg%3E");}
.ico-clipboard{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='4' width='14' height='17' rx='2'/%3E%3Cpath d='M9 4a3 3 0 0 1 6 0M9 11h6M9 15h4'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='4' width='14' height='17' rx='2'/%3E%3Cpath d='M9 4a3 3 0 0 1 6 0M9 11h6M9 15h4'/%3E%3C/svg%3E");}
.ico-mountainflag{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 21 11 6l7 15z'/%3E%3Cpath d='M11 6V3l4 1.4-4 1.4'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 21 11 6l7 15z'/%3E%3Cpath d='M11 6V3l4 1.4-4 1.4'/%3E%3C/svg%3E");}
.ico-paraglider{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 9q9.5-5 19 0'/%3E%3Cpath d='m4 9 7 6M20 9l-7 6'/%3E%3Ccircle cx='11.5' cy='17' r='1.4'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 9q9.5-5 19 0'/%3E%3Cpath d='m4 9 7 6M20 9l-7 6'/%3E%3Ccircle cx='11.5' cy='17' r='1.4'/%3E%3C/svg%3E");}
.ico-hiking{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='13' cy='4' r='1.6'/%3E%3Cpath d='m13 6-1.5 5.5 3 3.5M11.5 11.5 8 13.5M14.5 15 13 21M11.5 11.5 16 10'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='13' cy='4' r='1.6'/%3E%3Cpath d='m13 6-1.5 5.5 3 3.5M11.5 11.5 8 13.5M14.5 15 13 21M11.5 11.5 16 10'/%3E%3C/svg%3E");}
.ico-whisky{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 4h10l-1 16H8z'/%3E%3Cpath d='M7.4 11h9.2'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 4h10l-1 16H8z'/%3E%3Cpath d='M7.4 11h9.2'/%3E%3C/svg%3E");}
.ico-hunting{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21v-7'/%3E%3Cpath d='M12 14C9 12 9 9 8.5 6.5M8.5 9.5 6 8M8.5 6.5 7 4.5'/%3E%3Cpath d='M12 14c3-2 3-5 3.5-7.5M15.5 9.5 18 8M15.5 6.5 17 4.5'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21v-7'/%3E%3Cpath d='M12 14C9 12 9 9 8.5 6.5M8.5 9.5 6 8M8.5 6.5 7 4.5'/%3E%3Cpath d='M12 14c3-2 3-5 3.5-7.5M15.5 9.5 18 8M15.5 6.5 17 4.5'/%3E%3C/svg%3E");}
.ico-sailing{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v13M12 3 5 16h7zM13 6.5l5 9.5h-5'/%3E%3Cpath d='M3 19c1.5 1.4 3 1.4 4.5 0s3-1.4 4.5 0 3 1.4 4.5 0 3-1.4 4.5 0'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v13M12 3 5 16h7zM13 6.5l5 9.5h-5'/%3E%3Cpath d='M3 19c1.5 1.4 3 1.4 4.5 0s3-1.4 4.5 0 3 1.4 4.5 0 3-1.4 4.5 0'/%3E%3C/svg%3E");}
.ico-climbing{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='4.5' r='1.5'/%3E%3Cpath d='m9 6 1 5-3 9M10 11l5-2M10 9 7 7M14 15l-2 6'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='4.5' r='1.5'/%3E%3Cpath d='m9 6 1 5-3 9M10 11l5-2M10 9 7 7M14 15l-2 6'/%3E%3C/svg%3E");}
.ico-skiing{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 4c-.5 6 .5 11 1.5 16M7.5 20l-2 .5M18 4c.5 6-.5 11-1.5 16M16.5 20l2 .5'/%3E%3Cpath d='M11 5v14M13 5v14'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 4c-.5 6 .5 11 1.5 16M7.5 20l-2 .5M18 4c.5 6-.5 11-1.5 16M16.5 20l2 .5'/%3E%3Cpath d='M11 5v14M13 5v14'/%3E%3C/svg%3E");}
.ico-pool{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 16c1.5 1.4 3 1.4 4.5 0s3-1.4 4.5 0 3 1.4 4.5 0 3-1.4 4.5 0M3 20c1.5 1.4 3 1.4 4.5 0s3-1.4 4.5 0 3 1.4 4.5 0 3-1.4 4.5 0'/%3E%3Cpath d='M8 13V5a2 2 0 0 1 4 0M12 11V5a2 2 0 0 1 4 0v8'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 16c1.5 1.4 3 1.4 4.5 0s3-1.4 4.5 0 3 1.4 4.5 0 3-1.4 4.5 0M3 20c1.5 1.4 3 1.4 4.5 0s3-1.4 4.5 0 3 1.4 4.5 0 3-1.4 4.5 0'/%3E%3Cpath d='M8 13V5a2 2 0 0 1 4 0M12 11V5a2 2 0 0 1 4 0v8'/%3E%3C/svg%3E");}
.ico-sauna{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20h16M4 20v-7a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v7'/%3E%3Cpath d='M9 9c0-1.5-1-2-1-3.5S9 3 9 3M13 9c0-1.5-1-2-1-3.5S13 3 13 3'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20h16M4 20v-7a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v7'/%3E%3Cpath d='M9 9c0-1.5-1-2-1-3.5S9 3 9 3M13 9c0-1.5-1-2-1-3.5S13 3 13 3'/%3E%3C/svg%3E");}
.ico-gym{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 9v6M3 11v2M19 9v6M21 11v2M7 12h10M7 9v6M17 9v6'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 9v6M3 11v2M19 9v6M21 11v2M7 12h10M7 9v6M17 9v6'/%3E%3C/svg%3E");}
.ico-wine{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 3h8c0 4-1 7-4 7S8 7 8 3z'/%3E%3Cpath d='M12 10v8M9 21h6'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 3h8c0 4-1 7-4 7S8 7 8 3z'/%3E%3Cpath d='M12 10v8M9 21h6'/%3E%3C/svg%3E");}
.ico-coffee{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 8h12v5a4 4 0 0 1-4 4H9a4 4 0 0 1-4-4z'/%3E%3Cpath d='M17 9h2.5a2 2 0 0 1 0 4H17M8 21h6'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 8h12v5a4 4 0 0 1-4 4H9a4 4 0 0 1-4-4z'/%3E%3Cpath d='M17 9h2.5a2 2 0 0 1 0 4H17M8 21h6'/%3E%3C/svg%3E");}
.ico-leaf{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 19C4 11 9 5 19 5c0 10-6 15-14 14z'/%3E%3Cpath d='M5 19 14 10'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 19C4 11 9 5 19 5c0 10-6 15-14 14z'/%3E%3Cpath d='M5 19 14 10'/%3E%3C/svg%3E");}
.ico-star{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 3 2.5 6 6.5.5-5 4.2 1.6 6.3L12 16.8 6.4 20l1.6-6.3-5-4.2L9.5 9z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 3 2.5 6 6.5.5-5 4.2 1.6 6.3L12 16.8 6.4 20l1.6-6.3-5-4.2L9.5 9z'/%3E%3C/svg%3E");}
.ico-bungee{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4h16'/%3E%3Cpath d='M12 4v8'/%3E%3Ccircle cx='12' cy='14' r='2'/%3E%3Cpath d='m10.6 15.4-1.6 4.6M13.4 15.4l1.6 4.6'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4h16'/%3E%3Cpath d='M12 4v8'/%3E%3Ccircle cx='12' cy='14' r='2'/%3E%3Cpath d='m10.6 15.4-1.6 4.6M13.4 15.4l1.6 4.6'/%3E%3C/svg%3E");}

/* ============================================================
   PAGE COMPONENTS (inner pages)
   ============================================================ */
.page-hero { position:relative; min-height:62vh; display:flex; align-items:flex-end; overflow:hidden; }
.page-hero .bg { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.page-hero::after { content:''; position:absolute; inset:0; background:linear-gradient(to top, rgba(20,17,13,.78), rgba(20,17,13,.18) 55%, rgba(20,17,13,.42)); }
.page-hero .ph-inner { position:relative; z-index:2; padding:0 0 3.6rem; color:var(--cream); max-width:1240px; margin:0 auto; width:100%; }
.page-hero .ph-inner .pad { padding:0 3.5rem; }
.page-hero .eyebrow { color:var(--steel-light); }
.page-hero h1 { font-family:'Cormorant Garamond',serif; font-weight:300; font-size:clamp(2.4rem,5.2vw,4.4rem); line-height:1.03; color:var(--cream); }
.page-hero h1 em { font-style:italic; color:var(--gold-bright); }
.page-hero .ph-sub { color:rgba(246,241,233,.88); max-width:580px; margin-top:1rem; font-size:1rem; line-height:1.7; }

.media { position:relative; overflow:hidden; background:var(--parchment); }
.media img { display:block; width:100%; height:100%; object-fit:cover; }
.media .frame { position:absolute; inset:10px; border:1px solid rgba(255,255,255,.28); pointer-events:none; }
.media figcaption { position:absolute; bottom:0; left:0; right:0; padding:1.4rem 1rem .9rem; background:linear-gradient(transparent,rgba(20,17,13,.6)); color:rgba(246,241,233,.92); font-family:'Cormorant Garamond',serif; font-style:italic; font-size:.82rem; text-align:center; }

.split { display:grid; grid-template-columns:1fr 1fr; gap:4.5rem; align-items:center; }
.split.wide-left { grid-template-columns:1.08fr .92fr; }
.split .media { aspect-ratio:4/5; }
.split.banner .media { aspect-ratio:16/10; }

.spec-row { display:flex; flex-wrap:wrap; gap:1.8rem; margin:1.3rem 0; }
.spec { display:flex; flex-direction:column; }
.spec .v { font-family:'Cormorant Garamond',serif; font-size:1.45rem; color:var(--ink); line-height:1; }
.spec .l { font-size:.55rem; letter-spacing:.22em; text-transform:uppercase; color:var(--steel); margin-top:.25rem; }
.price-tag { font-family:'Cormorant Garamond',serif; font-size:1.05rem; color:var(--gold); }

.cards { display:grid; grid-template-columns:repeat(3,1fr); gap:2rem; }
.cards.two { grid-template-columns:repeat(2,1fr); }
.card { background:var(--cream); border:1px solid var(--line); overflow:hidden; display:flex; flex-direction:column; }
.dark .card { background:rgba(255,255,255,.03); border-color:rgba(255,255,255,.08); }
.card .media { aspect-ratio:3/2; }
.card .card-body { padding:1.6rem 1.6rem 1.8rem; flex:1; display:flex; flex-direction:column; }
.card .o-kicker { font-size:.56rem; letter-spacing:.28em; text-transform:uppercase; color:var(--steel); }
.card h3 { font-family:'Cormorant Garamond',serif; font-weight:400; font-size:1.4rem; color:var(--ink); margin:.3rem 0 .5rem; }
.dark .card h3 { color:var(--cream); }
.card p { font-size:.82rem; line-height:1.7; color:var(--ink-soft); }
.dark .card p { color:rgba(246,241,233,.66); }
.card .card-foot { margin-top:auto; padding-top:1rem; }

.cta-band { text-align:center; max-width:680px; margin:0 auto; }
.cta-band .rule-thin { margin:0 auto 2rem; }

.gallery-grid { columns:3; column-gap:1rem; }
.gallery-grid .media { width:100%; margin-bottom:1rem; break-inside:avoid; }
@media(max-width:900px){ .gallery-grid { columns:2; } }
@media(max-width:560px){ .gallery-grid { columns:1; } }

.credits { font-size:.66rem; color:rgba(246,241,233,.42); line-height:1.7; }
.credits a { color:rgba(246,241,233,.6); }

.timeline { border-left:1px solid var(--line); margin-top:2rem; }
.tl { padding:0 0 2rem 2rem; position:relative; }
.tl:last-child { padding-bottom:0; }
.tl::before { content:''; position:absolute; left:-5px; top:7px; width:9px; height:9px; border-radius:50%; background:var(--gold); }
.tl .yr { font-family:'Cormorant Garamond',serif; font-size:1.25rem; color:var(--gold); }
.tl h4 { font-family:'Cormorant Garamond',serif; font-weight:500; font-size:1.05rem; color:var(--ink); margin:.1rem 0 .35rem; }
.tl p { font-size:.82rem; line-height:1.72; color:var(--ink-soft); max-width:560px; }

.cform { display:flex; flex-direction:column; gap:1.1rem; }
.ff { display:flex; flex-direction:column; gap:.35rem; }
.ff label { font-size:.57rem; letter-spacing:.27em; text-transform:uppercase; color:var(--steel); }
.ff input,.ff textarea,.ff select { background:transparent; border:none; border-bottom:1px solid rgba(24,20,16,.22); padding:.6rem 0; font-family:'Jost',sans-serif; font-weight:300; font-size:.85rem; color:var(--ink); outline:none; transition:border-color .25s; width:100%; }
.ff input:focus,.ff textarea:focus,.ff select:focus { border-bottom-color:var(--gold); }
.ff textarea { resize:vertical; min-height:90px; }

.detail-row { display:flex; justify-content:space-between; gap:1rem; padding:.7rem 0; border-bottom:1px solid var(--line); align-items:baseline; }
.detail-row .k { font-size:.57rem; letter-spacing:.18em; text-transform:uppercase; color:var(--steel); flex-shrink:0; }
.detail-row .v { font-family:'Cormorant Garamond',serif; font-size:.98rem; color:var(--ink); text-align:right; }

.booking-note { padding:1.3rem 1.5rem; background:var(--parchment); border-left:2px solid var(--gold); font-size:.82rem; line-height:1.7; color:var(--ink-soft); }

@media(max-width:1000px){
  .page-hero .ph-inner .pad { padding:0 1.5rem; }
  .split, .split.wide-left { grid-template-columns:1fr; gap:2.5rem; }
  .cards, .cards.two { grid-template-columns:1fr; max-width:460px; margin:0 auto; }
}

.imgph .ph-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}

/* video + suites */
.video-wrap { position:relative; max-width:1000px; margin:0 auto; aspect-ratio:16/9; background:#000; overflow:hidden; border:1px solid var(--line); }
.video-wrap video { width:100%; height:100%; object-fit:cover; display:block; }
.suite-list { list-style:none; display:flex; flex-direction:column; gap:1.2rem; margin:1.5rem 0; }
.suite-list h4 { font-family:'Cormorant Garamond',serif; font-weight:500; font-size:1.2rem; color:var(--ink); margin-bottom:.15rem; }
.suite-list p { font-size:.85rem; line-height:1.6; color:var(--ink-soft); }

/* ============================================================
   HEADER LEGIBILITY FIX  —  A: top scrim · B: frosted bar · light logo
   Top state: light logo + light menu over a soft dark scrim.
   Scrolled:  reverts to the cream frosted bar with dark logo + menu.
   ============================================================ */
/* A — soft dark scrim behind the nav, on every hero (dark or bright) */
nav::before{
  content:''; position:absolute; left:0; right:0; top:0; height:140px;
  background:linear-gradient(to bottom, rgba(20,17,13,.82), rgba(20,17,13,.34) 52%, transparent);
  pointer-events:none; z-index:0; transition:opacity .4s;
}
nav.scrolled::before{ opacity:0; }
/* keep nav content above the scrim */
.nav-logo, .nav-center, .nav-right{ position:relative; z-index:1; }

/* light logo at top, dark logo once the cream bar appears */
.nav-logo .logo-light{ display:block; }
.nav-logo .logo-dark{ display:none; }
nav.scrolled .nav-logo .logo-light{ display:none; }
nav.scrolled .nav-logo .logo-dark{ display:block; }

/* top-state (light) menu, lang, hamburger, book button */
nav .nav-name{ color:var(--cream); }
nav .nav-sub{ color:rgba(246,241,233,.74); }
nav .nav-center a{ color:rgba(246,241,233,.92); }
nav .nav-center a:hover, nav .nav-center a.active{ color:var(--gold-bright); }
nav .lang-sw button{ color:rgba(246,241,233,.82); }
nav .lang-sw button.active{ color:var(--gold-bright); }
nav .lang-sep{ color:rgba(246,241,233,.5); }
nav .hamburger span{ background:var(--cream); }
nav .btn-book-sm{ background:transparent; color:var(--cream); box-shadow:inset 0 0 0 1px rgba(246,241,233,.6); }
nav .btn-book-sm:hover{ background:var(--cream); color:var(--ink); box-shadow:inset 0 0 0 1px var(--cream); }

/* scrolled-state (dark on cream) — restores the original bar */
nav.scrolled .nav-name{ color:var(--ink); }
nav.scrolled .nav-sub{ color:var(--steel); }
nav.scrolled .nav-center a{ color:var(--ink); }
nav.scrolled .nav-center a:hover, nav.scrolled .nav-center a.active{ color:var(--gold); }
nav.scrolled .lang-sw button{ color:var(--ink-soft); }
nav.scrolled .lang-sw button.active{ color:var(--gold); }
nav.scrolled .lang-sep{ color:var(--steel); }
nav.scrolled .hamburger span{ background:var(--ink); }
nav.scrolled .btn-book-sm{ background:var(--ink); color:var(--cream); box-shadow:none; }
nav.scrolled .btn-book-sm:hover{ background:var(--gold); color:var(--cream); }

/* ============================================================
   AERODROME BAND (shared) — pages using .aero without inline CSS
   (Experiences was rendering this unstyled → black band + broken CTA)
   ============================================================ */
.aero{ display:grid; grid-template-columns:1fr 1fr; gap:0; align-items:stretch; }
.aero-text{ padding:6rem 4rem; display:flex; flex-direction:column; justify-content:center; }
.aero-text .ico{ font-size:1.8rem; color:var(--gold); margin-bottom:1.2rem; }
.aero-visual{ position:relative; min-height:420px; overflow:hidden; }
.aero-visual .imgph{ position:absolute; inset:0; }
.aero-visual img{ width:100%; height:100%; object-fit:cover; display:block; }
.aero-stats{ display:flex; gap:2.5rem; margin:1.8rem 0; }
.aero-stat .v{ font-family:'Cormorant Garamond',serif; font-size:1.8rem; color:var(--ink); }
.aero-stat .l{ font-size:0.56rem; letter-spacing:0.24em; text-transform:uppercase; color:var(--steel); }
@media(max-width:1000px){
  .aero{ grid-template-columns:1fr; }
  .aero-text{ padding:4rem 1.5rem; }
  .aero-visual{ min-height:300px; }
}

/* ============================================================
   COTTAGE CAROUSEL (swipe / scroll-snap, smaller media)
   ============================================================ */
.carousel{ position:relative; }
.carousel-track{ display:flex; overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch; aspect-ratio:4/3; background:var(--ink); scrollbar-width:none; }
.carousel-track::-webkit-scrollbar{ display:none; }
.carousel-track img{ flex:0 0 100%; width:100%; height:100%; object-fit:cover; scroll-snap-align:center; display:block; }
.carousel-btn{ position:absolute; top:50%; transform:translateY(-50%); width:42px; height:42px; border:none;
  border-radius:50%; background:rgba(20,17,13,.42); color:var(--cream); font-size:1.15rem; line-height:1; cursor:pointer;
  display:flex; align-items:center; justify-content:center; transition:background .25s; backdrop-filter:blur(4px); z-index:2; }
.carousel-btn:hover{ background:rgba(20,17,13,.82); }
.carousel-btn.prev{ left:.7rem; } .carousel-btn.next{ right:.7rem; }
.carousel-count{ position:absolute; top:.7rem; right:.7rem; z-index:2; background:rgba(20,17,13,.5); color:var(--cream);
  font-size:.6rem; letter-spacing:.1em; padding:.25rem .55rem; border-radius:2px; backdrop-filter:blur(4px); }
.carousel-dots{ position:absolute; bottom:.7rem; left:0; right:0; display:flex; gap:.42rem; justify-content:center; z-index:2; }
.carousel-dots button{ width:7px; height:7px; border-radius:50%; border:none; background:rgba(246,241,233,.5);
  cursor:pointer; padding:0; transition:background .25s, transform .25s; }
.carousel-dots button.active{ background:var(--cream); transform:scale(1.3); }
@media(max-width:700px){ .carousel-btn{ display:none; } }   /* swipe on touch */

/* stronger hero text legibility on busy/bright heroes (Cottages, Vela, Events, etc.) */
.page-hero::after{ background:linear-gradient(to top, rgba(20,17,13,.88), rgba(20,17,13,.22) 55%, rgba(20,17,13,.48)); }
.page-hero h1, .page-hero .ph-sub, .page-hero .eyebrow{ text-shadow:0 1px 16px rgba(0,0,0,.42); }

/* ============================================================
   HOME: uncropped collage · text-only Ways-to-Stay · text-led heroes
   ============================================================ */
/* Estate in Pictures — masonry collage, images uncropped (full focal points) */
.gal-collage{ column-count:3; column-gap:1rem; }
.gal-collage figure{ break-inside:avoid; margin:0 0 1rem; overflow:hidden; }
.gal-collage img{ width:100%; height:auto; display:block; transition:transform .55s ease; }
.gal-collage figure:hover img{ transform:scale(1.035); }
@media(max-width:900px){ .gal-collage{ column-count:2; } }
@media(max-width:560px){ .gal-collage{ column-count:1; } }

/* Ways to Stay — text-only promo cards */
.offer-text{ border:1px solid var(--line); background:var(--cream); padding:2.3rem 1.9rem;
  display:flex; flex-direction:column; min-height:230px; transition:border-color .3s, transform .3s, box-shadow .3s; }
.offer-text:hover{ border-color:var(--gold); transform:translateY(-4px); box-shadow:0 18px 40px -28px rgba(20,17,13,.5); }
.offer-text h3{ margin:0.5rem 0 0.7rem; }
.offer-text p{ flex:1 1 auto; }
.offer-text .o-link{ margin-top:1.3rem; }

/* Text-led page hero (no photo) — Story, Contact */
.page-hero.is-text{ min-height:46vh; background:linear-gradient(158deg,#1e1913,#13100b); }
.page-hero.is-text::after{ background:radial-gradient(130% 90% at 50% 0%, rgba(46,38,27,.55), transparent 70%); }
@media(max-width:700px){ .page-hero.is-text{ min-height:40vh; } }

/* ============================================================
   NEWS cards (shared) — News page used these classes with no CSS
   (was only defined inline on the homepage → unstyled on news.html)
   ============================================================ */
.news-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:2rem; margin-top:3.5rem; }
.news-card{ text-decoration:none; display:block; }
.news-card .imgph, .news-card figure{ aspect-ratio:3/2; margin-bottom:1rem; transition:transform .35s; overflow:hidden; }
.news-card:hover .imgph, .news-card:hover figure{ transform:translateY(-4px); }
.news-card figure img{ width:100%; height:100%; object-fit:cover; display:block; }
.news-meta{ display:flex; gap:0.8rem; align-items:center; margin-bottom:0.5rem; }
.news-cat{ font-size:0.55rem; letter-spacing:0.22em; text-transform:uppercase; color:var(--gold); border:1px solid var(--line); padding:0.15rem 0.5rem; }
.news-date{ font-size:0.62rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--steel); }
.news-card h3{ font-family:'Cormorant Garamond',serif; font-weight:400; font-size:1.35rem; color:var(--ink); margin-bottom:0.4rem; line-height:1.2; }
.news-card p{ font-size:0.85rem; line-height:1.7; color:var(--ink-soft); }
@media(max-width:1000px){ .news-grid{ grid-template-columns:1fr; gap:2.4rem; max-width:460px; margin-left:auto; margin-right:auto; } }

/* ============================================================
   EXPERIENCES collage (cover mosaic; no text overlay)
   ============================================================ */
.exp-collage{ position:relative; display:grid; grid-template-columns:repeat(12,1fr); grid-template-rows:248px 212px; gap:.6rem; }
.exp-collage figure{ margin:0; overflow:hidden; }
.exp-collage img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s ease; }
.exp-collage figure:hover img{ transform:scale(1.04); }
.exp-collage .t-aviation{ grid-column:1/8; grid-row:1; }
.exp-collage .t-candlelit{ grid-column:8/13; grid-row:1/3; }
.exp-collage .t-para{ grid-column:1/5; grid-row:2; }
.exp-collage .t-nature{ grid-column:5/8; grid-row:2; }
/* hunting crest: a placed emblem overlapping the photos (breaks the grid) */
.exp-collage .t-hunt{ position:absolute; left:2.4%; bottom:7%; width:152px; aspect-ratio:1/1; overflow:visible;
  background:var(--cream); padding:9px; box-shadow:0 14px 36px -10px rgba(0,0,0,.6);
  transform:rotate(-3.5deg); z-index:4; border:1px solid rgba(20,17,13,.08); }
.exp-collage .t-hunt img{ object-fit:contain; }
.exp-collage .t-hunt:hover img{ transform:none; }
@media(max-width:760px){
  .exp-collage{ grid-template-columns:1fr 1fr; grid-template-rows:none; grid-auto-rows:150px; }
  .exp-collage figure{ grid-column:auto !important; grid-row:auto !important; }
  .exp-collage .t-candlelit{ grid-row:span 2 !important; }
  .exp-collage .t-aviation{ grid-column:1/3 !important; }
  .exp-collage .t-hunt{ width:96px; left:auto; right:3.5%; bottom:3.5%; }
}

/* News article body (prose) */
.article-body{ font-size:1.02rem; line-height:1.85; color:var(--ink-soft); }
.article-body p{ margin-bottom:1.2rem; }
.article-body p:last-child{ margin-bottom:0; }
.article-body h2, .article-body h3{ font-family:'Cormorant Garamond',serif; font-weight:400; color:var(--ink); margin:1.9rem 0 .6rem; }
.article-body img{ width:100%; height:auto; display:block; margin:1.6rem 0; }
.article-body a{ color:var(--gold); }

/* carousel captions + no-crop variant */
.carousel-track .cslide{ flex:0 0 100%; margin:0; position:relative; height:100%; scroll-snap-align:center; overflow:hidden; }
.carousel-track .cslide img{ width:100%; height:100%; object-fit:cover; display:block; }
.carousel.fit-contain .carousel-track .cslide img,
.carousel.fit-contain .carousel-track img{ object-fit:contain; }
.ctag{ position:absolute; left:.7rem; bottom:.7rem; z-index:2; background:rgba(20,17,13,.66); color:var(--cream);
  font-size:.62rem; letter-spacing:.09em; text-transform:uppercase; padding:.32rem .62rem; border-radius:2px; backdrop-filter:blur(4px); }
.page-hero.scrim-strong::after{ background:linear-gradient(to top, rgba(18,15,11,.90), rgba(18,15,11,.45) 55%, rgba(18,15,11,.62)); }
/* Vela Bains Privé wordmark */
.vela-mark{ font-family:'Cormorant Garamond',serif; font-weight:500; text-transform:none; letter-spacing:.01em; }
.vela-mark em{ font-style:italic; font-weight:400; color:#9FAB6E; }
.vela-mark.body-mark em{ color:inherit; }
/* homepage news bullet list */
.news-list{ list-style:none; margin:0; padding:0; border-top:1px solid var(--line); }
.news-li{ display:flex; align-items:baseline; gap:1.4rem; padding:1.05rem 0; border-bottom:1px solid var(--line); text-decoration:none; }
.news-li .news-date{ flex:0 0 auto; min-width:128px; }
.news-li-title{ font-family:'Cormorant Garamond',serif; font-weight:400; font-size:1.35rem; color:var(--ink); flex:1; line-height:1.2; }
.news-li .news-cat{ flex:0 0 auto; }
.news-li:hover .news-li-title{ color:var(--gold); }
@media(max-width:640px){ .news-li{ flex-wrap:wrap; gap:.3rem .9rem; } .news-li .news-date{ min-width:0; } }
.page-hero.scrim-heavy::after{ background:linear-gradient(to bottom, rgba(18,15,11,.74), rgba(18,15,11,.16) 38%, rgba(18,15,11,.30) 58%, rgba(18,15,11,.88)); }
.lang-sw a, .mobile-lang a{ color:inherit; text-decoration:none; cursor:pointer; }
.lang-sw a:hover, .mobile-lang a:hover{ color:var(--gold); }

/* === Punch-list: lang legibility, taglines, events full-aerial hero === */
/* Inactive language links/buttons legible over heroes; revert on cream bar */
nav .lang-sw a, nav .mobile-lang a{ color:rgba(246,241,233,.94); text-decoration:none; }
nav .lang-sw a:hover, nav .mobile-lang a:hover{ color:var(--gold-bright); }
nav .lang-sw button{ color:rgba(246,241,233,.94); }
nav.scrolled .lang-sw a{ color:var(--ink-soft); }
nav.scrolled .lang-sw a:hover{ color:var(--gold); }
nav.scrolled .mobile-lang a{ color:var(--ink-soft); }

/* Homepage hero brand tagline (third line, gold) */
.hero-tag{ font-family:'Cormorant Garamond',serif; font-weight:500; font-size:clamp(1.05rem,1.9vw,1.45rem); color:var(--gold-bright); margin-top:.9rem; letter-spacing:.01em; text-shadow:0 1px 16px rgba(0,0,0,.55); }
/* Footer brand tagline (italic gold, under the name) */
.fb-tagline{ font-family:'Cormorant Garamond',serif; font-style:italic; color:var(--gold-bright); font-size:1rem; margin:.35rem 0 .9rem; letter-spacing:.01em; }

/* Events: show the entire aerial frame (no crop); title overlaps the lower edge */
.page-hero.hero-full{ min-height:0; display:block; background:#14110d; }
.page-hero.hero-full .bg{ position:static; width:100%; height:auto; object-fit:contain; display:block; }
.page-hero.hero-full .ph-inner{ position:absolute; left:0; right:0; bottom:0; padding-bottom:0; }
.page-hero.hero-full::after{ background:linear-gradient(to top, rgba(18,15,11,.9), rgba(18,15,11,0) 46%); }

/* === Events: solid nav ribbon from load; banner image below the bar, title beneath === */
body.solid-nav nav{ background:var(--cream); box-shadow:0 1px 0 rgba(20,17,13,.06); }
body.solid-nav nav::before{ opacity:0; }
body.solid-nav .nav-name{ color:var(--ink); }
body.solid-nav .nav-sub{ color:var(--steel); }
body.solid-nav .nav-center a{ color:var(--ink); }
body.solid-nav .nav-center a:hover, body.solid-nav .nav-center a.active{ color:var(--gold); }
body.solid-nav .lang-sw a, body.solid-nav .lang-sw button{ color:var(--ink-soft); }
body.solid-nav .lang-sw a:hover, body.solid-nav .lang-sw button.active{ color:var(--gold); }
body.solid-nav .lang-sep{ color:var(--steel); }
body.solid-nav .nav-logo .logo-light{ display:none; }
body.solid-nav .nav-logo .logo-dark{ display:block; }
body.solid-nav .hamburger span{ background:var(--ink); }
body.solid-nav .btn-book-sm{ color:var(--ink); box-shadow:inset 0 0 0 1px rgba(44,40,32,.4); }
.events-banner{ padding-top:5.2rem; background:var(--cream); }
.events-banner img{ display:block; width:100%; height:auto; }
.events-intro h1{ font-family:'Cormorant Garamond',serif; font-weight:300; font-size:clamp(2.4rem,5.2vw,4.4rem); line-height:1.05; color:var(--ink); margin-top:.4rem; }
.events-intro h1 em{ font-style:italic; color:var(--gold); }
