/* ===========================================================
   Utpala House — Premium Himalayan Retreat
   Shared stylesheet
   =========================================================== */

:root{
  --ivory:#FAF6EF;
  --ivory-deep:#F2ECDF;
  --charcoal:#262420;
  --charcoal-soft:#4A463F;
  --brown:#8A5A34;
  --brown-deep:#6B4425;
  --green:#5C6B4F;
  --blue:#5C7A8A;
  --line:#DDD5C4;
  --white:#FFFFFF;
  --shadow: 0 20px 50px rgba(38,36,32,0.12);
  --radius: 4px;
  --serif: 'Fraunces', Georgia, 'Times New Roman', serif;
  --sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --container: 1240px;
  --ease: cubic-bezier(.22,.61,.36,1);
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  font-family:var(--sans);
  color:var(--charcoal);
  background:var(--ivory);
  line-height:1.65;
  font-size:16px;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{ max-width:100%; display:block; height:auto; }
a{ color:inherit; text-decoration:none; }
ul{ list-style:none; margin:0; padding:0; }
h1,h2,h3,h4{ font-family:var(--serif); font-weight:600; line-height:1.15; margin:0 0 .5em; color:var(--charcoal); }
h1{ font-size:clamp(2.4rem,5vw,4.2rem); font-weight:500; letter-spacing:.01em; }
h2{ font-size:clamp(1.9rem,3.6vw,2.8rem); font-weight:500; }
h3{ font-size:1.35rem; font-weight:600; }
p{ margin:0 0 1em; color:var(--charcoal-soft); }
.container{ max-width:var(--container); margin:0 auto; padding:0 28px; }
.eyebrow{
  display:inline-block; font-family:var(--sans); font-size:.72rem; letter-spacing:.22em;
  text-transform:uppercase; color:var(--brown); font-weight:600; margin-bottom:14px;
}
.section{ padding:64px 0; }
.section-tight{ padding:44px 0; }
@media(max-width:768px){
  .section{ padding:44px 0; }
  .section-tight{ padding:32px 0; }
}
.center{ text-align:center; }
.lede{ font-size:1.15rem; max-width:640px; }
.mx-auto{ margin-left:auto; margin-right:auto; }
.divider{ width:56px; height:2px; background:var(--brown); margin:18px 0 28px; }
.divider.center-el{ margin-left:auto; margin-right:auto; }

/* Buttons */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:16px 34px; font-family:var(--sans); font-weight:600; font-size:.85rem;
  letter-spacing:.08em; text-transform:uppercase; border-radius:2px; border:1px solid transparent;
  cursor:pointer; transition:all .35s var(--ease); white-space:nowrap;
}
.btn-primary{ background:var(--charcoal); color:var(--ivory); }
.btn-primary:hover{ background:var(--brown-deep); transform:translateY(-2px); }
.btn-outline{ background:transparent; color:var(--charcoal); border-color:var(--charcoal); }
.btn-outline:hover{ background:var(--charcoal); color:var(--ivory); }
.btn-ghost-light{ background:transparent; color:#fff; border-color:rgba(255,255,255,.7); }
.btn-ghost-light:hover{ background:#fff; color:var(--charcoal); }
.btn-whatsapp{ background:#3d5c46; color:#fff; }
.btn-whatsapp:hover{ background:#2d4534; transform:translateY(-2px); }
.btn-block{ width:100%; }
.btn-sm{ padding:11px 22px; font-size:.72rem; }

/* ===================== HEADER / NAV ===================== */
.site-header{
  position:fixed; top:0; left:0; right:0; z-index:1000;
  padding:22px 0; transition:background .4s var(--ease), padding .4s var(--ease), box-shadow .4s var(--ease);
}
.site-header.is-light{ background:rgba(250,246,239,0); }
.site-header.scrolled{
  background:rgba(250,246,239,.97); box-shadow:0 4px 24px rgba(38,36,32,.08); padding:12px 0;
  backdrop-filter:blur(6px);
}
.header-inner{ display:flex; align-items:center; justify-content:space-between; }
.brand{ display:flex; align-items:center; gap:12px; font-family:var(--serif); font-size:1.3rem; letter-spacing:.02em; }
.brand img{ height:64px; width:auto; transition:height .3s var(--ease); }
.scrolled .brand img{ height:52px; }
.brand-text{ color:inherit; }
.site-header:not(.scrolled) .nav-link, .site-header:not(.scrolled) .brand-text{ color:#fff; }
.site-header:not(.scrolled) .nav-cta.btn-outline{ color:#fff; border-color:rgba(255,255,255,.75); }
.main-nav{ display:flex; align-items:center; gap:34px; }
.nav-link{ font-size:.82rem; letter-spacing:.06em; text-transform:uppercase; font-weight:500; position:relative; padding:4px 0; }
.nav-link::after{ content:''; position:absolute; left:0; bottom:-2px; width:0; height:1px; background:currentColor; transition:width .3s var(--ease); }
.nav-link:hover::after, .nav-link.active::after{ width:100%; }
.nav-actions{ display:flex; align-items:center; gap:14px; }
.nav-toggle{ display:none; background:none; border:none; cursor:pointer; padding:6px; z-index:1100; }
.nav-toggle span{ display:block; width:26px; height:2px; background:currentColor; margin:6px 0; transition:.3s; }
.site-header:not(.scrolled) .nav-toggle{ color:#fff; }

@media(max-width:980px){
  .main-nav{
    position:fixed; inset:0; background:var(--charcoal); flex-direction:column; justify-content:center;
    gap:26px; transform:translateX(100%); transition:transform .5s var(--ease); padding:40px;
  }
  .main-nav.open{ transform:translateX(0); }
  .main-nav .nav-link{ color:#fff !important; font-size:1.1rem; }
  .nav-actions{ display:none; }
  .main-nav .nav-actions{ display:flex; margin-top:20px; }
  .main-nav .btn-outline{ color:#fff !important; border-color:#fff !important; }
  .nav-toggle{ display:block; }
}

/* ===================== HERO ===================== */
.hero{
  position:relative; height:86vh; min-height:560px; display:flex; align-items:flex-end;
  overflow:hidden; color:#fff;
}
.hero-media{ position:absolute; inset:0; z-index:0; }
.hero-media img{ width:100%; height:100%; object-fit:cover; transform:scale(1.08); animation:heroZoom 16s ease-out forwards; }
@keyframes heroZoom{ to{ transform:scale(1); } }
.hero::after{
  content:''; position:absolute; inset:0; z-index:1;
  background:linear-gradient(180deg, rgba(20,18,15,.35) 0%, rgba(20,18,15,.15) 35%, rgba(20,18,15,.65) 100%);
}
.hero-content{ position:relative; z-index:2; width:100%; padding-bottom:96px; }
.hero-loc{ font-size:.75rem; letter-spacing:.28em; text-transform:uppercase; opacity:.9; margin-bottom:18px; display:flex; align-items:center; gap:10px; }
.hero-loc svg{ width:14px; height:14px; }
.hero h1{ color:#fff; margin-bottom:18px; max-width:820px; }
.hero-sub{ font-size:1.2rem; max-width:520px; color:rgba(255,255,255,.92); margin-bottom:34px; font-weight:300; }
.hero-actions{ display:flex; gap:16px; flex-wrap:wrap; }
.scroll-cue{
  position:absolute; bottom:28px; left:50%; transform:translateX(-50%); z-index:2;
  display:flex; flex-direction:column; align-items:center; gap:8px; color:#fff; opacity:.85; font-size:.68rem;
  letter-spacing:.2em; text-transform:uppercase;
}
.scroll-cue .line{ width:1px; height:34px; background:rgba(255,255,255,.6); position:relative; overflow:hidden; }
.scroll-cue .line::after{ content:''; position:absolute; top:-100%; left:0; width:100%; height:100%; background:#fff; animation:scrollLine 2s infinite ease-in-out; }
@keyframes scrollLine{ 0%{ top:-100%; } 60%{ top:100%; } 100%{ top:100%; } }
@media(max-width:768px){
  .hero{ min-height:560px; }
  .hero-content{ padding-bottom:64px; }
  .hero-actions{ flex-direction:column; }
  .hero-actions .btn{ width:100%; }
  .scroll-cue{ display:none; }
}

/* ===================== BOOKING BAR ===================== */
.booking-bar{
  position:relative; z-index:5; background:var(--white); box-shadow:var(--shadow);
  margin:-64px auto 0; max-width:1100px; border-radius:2px;
}
.booking-bar .container{ padding:0; }
.booking-grid{
  display:grid; grid-template-columns:1fr 1fr 1fr 1fr auto; gap:0;
}
.booking-field{ padding:20px 24px; border-right:1px solid var(--line); }
.booking-field:last-of-type{ border-right:none; }
.booking-field label{ display:block; font-size:.66rem; letter-spacing:.14em; text-transform:uppercase; color:var(--brown); font-weight:700; margin-bottom:6px; }
.booking-field input, .booking-field select{
  border:none; background:none; font-family:var(--sans); font-size:.95rem; color:var(--charcoal); width:100%; padding:0;
}
.booking-field input:focus, .booking-field select:focus{ outline:none; }
.booking-submit{ background:var(--charcoal); color:#fff; border:none; padding:0 34px; font-family:var(--sans);
  font-weight:600; font-size:.8rem; letter-spacing:.08em; text-transform:uppercase; cursor:pointer; transition:background .3s; }
.booking-submit:hover{ background:var(--brown-deep); }
@media(max-width:980px){
  .booking-bar{ margin:-30px 16px 0; }
  .booking-grid{ grid-template-columns:1fr 1fr; }
  .booking-field{ border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
  .booking-submit{ grid-column:1/-1; padding:18px; }
}

/* ===================== INTRO / EDITORIAL SPLIT ===================== */
.split{ display:grid; grid-template-columns:1fr 1fr; gap:52px; align-items:center; }
.split-media{ position:relative; }
.split-media img{ width:100%; border-radius:var(--radius); box-shadow:var(--shadow); }
.split-media .accent-img{
  position:absolute; width:52%; bottom:-40px; right:-40px; border:8px solid var(--ivory);
  box-shadow:0 16px 40px rgba(0,0,0,.18);
}
@media(max-width:900px){
  .split{ grid-template-columns:1fr; gap:40px; }
  .split-media .accent-img{ position:static; width:100%; border:none; margin-top:14px; box-shadow:var(--shadow); }
}

/* ===================== ROOM CARDS ===================== */
.rooms-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:36px; }
@media(max-width:1080px){ .rooms-grid{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:680px){ .rooms-grid{ grid-template-columns:1fr; } }
.rooms-grid-3{ grid-template-columns:repeat(3,1fr); }
@media(max-width:900px){ .rooms-grid-3{ grid-template-columns:1fr; } }
.room-card{ display:flex; flex-direction:column; height:100%; background:var(--white); border-radius:var(--radius); overflow:hidden; box-shadow:0 10px 30px rgba(38,36,32,.06); transition:transform .4s var(--ease), box-shadow .4s var(--ease); }
.room-card:hover{ transform:translateY(-6px); box-shadow:0 22px 48px rgba(38,36,32,.14); }
.room-card-media{ position:relative; overflow:hidden; height:260px; flex-shrink:0; }
.room-card-media img{ width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ease); }
.room-card:hover .room-card-media img{ transform:scale(1.07); }
.room-card-price{ position:absolute; top:16px; right:16px; background:rgba(255,255,255,.95); padding:8px 14px; font-size:.72rem; letter-spacing:.05em; font-weight:700; border-radius:2px; }
.room-card-body{ flex:1; padding:26px 26px 28px; }
.room-card-meta{ display:flex; gap:16px; font-size:.78rem; color:var(--charcoal-soft); margin:10px 0 14px; letter-spacing:.02em; }
.room-card-meta span{ display:flex; align-items:center; gap:6px; }
.room-amenities{ display:flex; flex-wrap:wrap; gap:8px; margin:14px 0 20px; }
.room-amenities li{ font-size:.72rem; padding:5px 11px; background:var(--ivory-deep); border-radius:20px; color:var(--charcoal-soft); }
.room-card-actions{ display:flex; gap:10px; margin-top:6px; }
.room-card-tabs{ display:flex; flex-shrink:0; border-top:1px solid var(--line); }
.room-tab{
  flex:1; text-align:center; padding:16px 10px; font-size:.72rem; font-weight:700;
  letter-spacing:.06em; text-transform:uppercase; color:var(--charcoal-soft);
  text-decoration:none; transition:background .3s var(--ease), color .3s var(--ease);
}
.room-tab:hover{ background:var(--ivory-deep); color:var(--charcoal); }
.room-tab-book{ background:var(--charcoal); color:var(--ivory); }
.room-tab-book:hover{ background:var(--brown-deep); color:#fff; }

/* Editorial room rows (rooms.html detail layout) */
.room-row{ display:grid; grid-template-columns:1.1fr 1fr; gap:48px; align-items:center; padding:48px 0; border-bottom:1px solid var(--line); }
.room-row:last-child{ border-bottom:none; }
.room-row.reverse{ direction:rtl; }
.room-row.reverse > *{ direction:ltr; }
.room-row-media{ position:relative; }
.room-gallery-main{ border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); aspect-ratio:4/3; }
.room-gallery-main img{ width:100%; height:100%; object-fit:cover; }
.room-thumbs{ display:flex; gap:10px; margin-top:12px; }
.room-thumbs img{ width:70px; height:56px; object-fit:cover; border-radius:2px; cursor:pointer; opacity:.65; transition:opacity .3s; }
.room-thumbs img:hover, .room-thumbs img.active{ opacity:1; outline:2px solid var(--brown); }
.room-specs{ display:grid; grid-template-columns:1fr 1fr; gap:12px 24px; margin:22px 0; padding:20px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.room-spec-item{ font-size:.85rem; }
.room-spec-item strong{ display:block; font-size:.68rem; letter-spacing:.1em; text-transform:uppercase; color:var(--brown); margin-bottom:3px; font-weight:700; }
.room-price-tag{ font-family:var(--serif); font-size:1.9rem; color:var(--charcoal); margin:6px 0 2px; }
.room-price-tag small{ font-family:var(--sans); font-size:.8rem; color:var(--charcoal-soft); font-weight:400; }
@media(max-width:900px){
  .room-row, .room-row.reverse{ grid-template-columns:1fr; direction:ltr; gap:28px; padding:44px 0; }
  .room-specs{ grid-template-columns:1fr 1fr; }
}

/* ===================== WHY / HIGHLIGHTS ===================== */
.highlights-grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:30px; }
@media(max-width:980px){ .highlights-grid{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:560px){ .highlights-grid{ grid-template-columns:1fr; } }
.highlight-item{ text-align:center; padding:10px; }
.highlight-icon{ width:52px; height:52px; margin:0 auto 18px; color:var(--brown); }
.highlight-item h3{ font-size:1.05rem; margin-bottom:8px; }
.highlight-item p{ font-size:.9rem; }

/* ===================== EXPERIENCE / DISCOVER CARDS ===================== */
.exp-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
@media(max-width:900px){ .exp-grid{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:600px){ .exp-grid{ grid-template-columns:1fr; } }
.exp-card{ position:relative; border-radius:var(--radius); overflow:hidden; aspect-ratio:3/4; }
.exp-card img{ width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ease); }
.exp-card:hover img{ transform:scale(1.08); }
.exp-card::after{ content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,0) 40%, rgba(0,0,0,.75) 100%); }
.exp-card-label{ position:absolute; left:0; right:0; bottom:0; padding:22px; z-index:2; color:#fff; }
.exp-card-label .tag{ font-size:.65rem; letter-spacing:.14em; text-transform:uppercase; opacity:.85; display:block; margin-bottom:4px; }
.exp-card-label h3{ color:#fff; margin:0; font-size:1.2rem; }

/* ===================== GALLERY ===================== */
.masonry{ columns:4 260px; column-gap:16px; }
.masonry img{ width:100%; margin-bottom:16px; border-radius:2px; cursor:pointer; break-inside:avoid; transition:opacity .3s; }
.masonry img:hover{ opacity:.85; }
.gallery-filters{ display:flex; gap:10px; flex-wrap:wrap; margin-bottom:36px; }
.gfilter{ padding:9px 18px; border:1px solid var(--line); border-radius:20px; font-size:.78rem; letter-spacing:.03em; cursor:pointer; background:transparent; font-family:var(--sans); transition:all .3s; }
.gfilter.active, .gfilter:hover{ background:var(--charcoal); color:#fff; border-color:var(--charcoal); }
.lightbox{ position:fixed; inset:0; background:rgba(20,18,15,.94); z-index:2000; display:none; align-items:center; justify-content:center; padding:40px; }
.lightbox.open{ display:flex; }
.lightbox img{ max-width:90vw; max-height:85vh; object-fit:contain; }
.lightbox-close{ position:absolute; top:26px; right:32px; color:#fff; font-size:2rem; cursor:pointer; background:none; border:none; }
.lightbox-nav{ position:absolute; top:50%; transform:translateY(-50%); background:none; border:none; color:#fff; font-size:2.4rem; cursor:pointer; padding:10px 18px; }
.lightbox-prev{ left:10px; } .lightbox-next{ right:10px; }

/* ===================== DINING ===================== */
.dining-hero{ position:relative; height:56vh; min-height:400px; display:flex; align-items:center; color:#fff; }
.dining-hero img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.dining-hero::after{ content:''; position:absolute; inset:0; background:rgba(20,18,15,.4); }
.dining-hero .container{ position:relative; z-index:2; }
.food-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
@media(max-width:900px){ .food-grid{ grid-template-columns:repeat(2,1fr); } }

/* ===================== LOCATION ===================== */
.location-solo{ padding:40px 48px; background:var(--ivory-deep); border-radius:4px; }
.info-row{ display:flex; gap:16px; padding:16px 0; border-bottom:1px solid var(--line); text-align:left; }
.info-row:last-child{ border-bottom:none; }
.info-row .ico{ width:22px; height:22px; flex-shrink:0; color:var(--brown); margin-top:3px; }
.info-row strong{ display:block; font-size:.78rem; letter-spacing:.06em; text-transform:uppercase; color:var(--brown); margin-bottom:3px; }
@media(max-width:900px){
  .location-solo{ padding:40px 24px; }
}
.distance-chips{ display:flex; flex-wrap:wrap; gap:10px; margin-top:22px; }
.distance-chips.center-chips{ justify-content:center; }
.distance-chip{ background:var(--white); border:1px solid var(--line); padding:10px 16px; border-radius:20px; font-size:.8rem; }
.distance-chip b{ color:var(--brown); }

/* ===================== FAQ ===================== */
.faq-item{ border-bottom:1px solid var(--line); }
.faq-q{ display:flex; justify-content:space-between; align-items:center; padding:22px 4px; cursor:pointer; font-weight:600; font-size:1rem; gap:20px; }
.faq-q .plus{ font-size:1.4rem; font-weight:300; transition:transform .3s; flex-shrink:0; }
.faq-item.open .faq-q .plus{ transform:rotate(45deg); }
.faq-a{ max-height:0; overflow:hidden; transition:max-height .4s var(--ease); }
.faq-item.open .faq-a{ max-height:300px; }
.faq-a p{ padding:0 4px 22px; }

/* ===================== FINAL CTA ===================== */
.final-cta{ position:relative; height:60vh; min-height:420px; display:flex; align-items:center; justify-content:center; text-align:center; color:#fff; }
.final-cta img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.final-cta::after{ content:''; position:absolute; inset:0; background:rgba(20,18,15,.5); }
.final-cta-content{ position:relative; z-index:2; max-width:640px; padding:0 24px; }
.final-cta h2{ color:#fff; }
.final-cta p{ color:rgba(255,255,255,.9); font-size:1.1rem; margin-bottom:30px; }
.final-cta .hero-actions{ justify-content:center; }

/* ===================== FOOTER ===================== */
.site-footer{ background:var(--charcoal); color:rgba(255,255,255,.75); padding:52px 0 22px; }
.footer-grid{ display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:36px; padding-bottom:36px; border-bottom:1px solid rgba(255,255,255,.12); }
.footer-brand img{ height:44px; margin-bottom:16px; filter:brightness(0) invert(1); }
.footer-brand p{ color:rgba(255,255,255,.6); font-size:.9rem; max-width:280px; }
.footer-col h4{ color:#fff; font-family:var(--sans); font-size:.78rem; letter-spacing:.12em; text-transform:uppercase; margin-bottom:18px; font-weight:700; }
.footer-col li{ margin-bottom:11px; }
.footer-col a{ color:rgba(255,255,255,.65); font-size:.88rem; transition:color .3s; }
.footer-col a:hover{ color:#fff; }
.footer-social{ display:flex; gap:14px; margin-top:6px; }
.footer-social a{ width:38px; height:38px; border:1px solid rgba(255,255,255,.25); border-radius:50%; display:flex; align-items:center; justify-content:center; transition:all .3s; }
.footer-social a:hover{ background:#fff; color:var(--charcoal); }
.footer-bottom{ display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; padding-top:26px; font-size:.78rem; color:rgba(255,255,255,.45); }
@media(max-width:900px){
  .footer-grid{ grid-template-columns:1fr 1fr; }
}
@media(max-width:560px){
  .footer-grid{ grid-template-columns:1fr; }
}

/* ===================== STICKY MOBILE BAR ===================== */
.mobile-bar{
  display:none; position:fixed; bottom:0; left:0; right:0; z-index:900;
  background:#fff; box-shadow:0 -6px 24px rgba(0,0,0,.12);
}
.mobile-bar-inner{ display:grid; grid-template-columns:1fr 1fr 1fr; }
.mobile-bar a{ display:flex; flex-direction:column; align-items:center; gap:4px; padding:12px 4px; font-size:.68rem; letter-spacing:.04em; text-transform:uppercase; font-weight:700; border-right:1px solid var(--line); }
.mobile-bar a:last-child{ border-right:none; }
.mobile-bar a svg{ width:20px; height:20px; }
.mobile-bar a.call{ color:var(--charcoal); }
.mobile-bar a.whatsapp{ color:#2d6a3e; }
.mobile-bar a.book{ background:var(--charcoal); color:#fff; }
@media(max-width:900px){
  .mobile-bar{ display:block; }
  body{ padding-bottom:64px; }
  .hero{ height:calc(100vh - 64px); }
}

/* Floating WhatsApp (desktop) */
.float-wa{
  position:fixed; bottom:30px; right:30px; z-index:950; width:58px; height:58px; border-radius:50%;
  background:#25D366; display:flex; align-items:center; justify-content:center; box-shadow:0 8px 24px rgba(0,0,0,.25);
  transition:transform .3s;
}
.float-wa:hover{ transform:scale(1.08); }
.float-wa svg{ width:28px; height:28px; fill:#fff; }
@media(max-width:900px){ .float-wa{ bottom:82px; right:18px; width:50px; height:50px; } .float-wa svg{ width:24px; height:24px; } }

/* Reveal on scroll */
.reveal{ opacity:0; transform:translateY(28px); transition:opacity .8s var(--ease), transform .8s var(--ease); }
.reveal.in{ opacity:1; transform:translateY(0); }

/* Page hero (interior pages) */
.page-hero{ position:relative; height:46vh; min-height:340px; display:flex; align-items:center; color:#fff; margin-top:0; }
.page-hero img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.page-hero::after{ content:''; position:absolute; inset:0; background:rgba(20,18,15,.45); }
.page-hero .container{ position:relative; z-index:2; padding-top:60px; }
.page-hero h1{ color:#fff; margin-bottom:10px; }
.page-hero .breadcrumb{ font-size:.75rem; letter-spacing:.1em; text-transform:uppercase; opacity:.85; margin-bottom:16px; }
.page-hero .breadcrumb a{ opacity:.85; } .page-hero .breadcrumb a:hover{ opacity:1; text-decoration:underline; }

/* misc */
.badge-row{ display:flex; gap:10px; flex-wrap:wrap; margin-top:18px; }
.badge{ font-size:.72rem; letter-spacing:.06em; text-transform:uppercase; padding:7px 14px; border:1px solid var(--line); border-radius:20px; color:var(--charcoal-soft); }
.note-box{ background:var(--ivory-deep); border-left:3px solid var(--brown); padding:16px 20px; font-size:.88rem; border-radius:0 4px 4px 0; margin:20px 0; }
.policy-section{ margin-top:40px; padding-top:28px; border-top:1px solid var(--line); }
.policy-section:first-of-type{ margin-top:36px; }
.policy-section h2{ font-size:1.25rem; margin:0 0 16px; }
.policy-section ul{ margin:0; }
.policy-section li{ position:relative; padding-left:22px; margin-bottom:10px; color:var(--charcoal-soft); line-height:1.65; font-size:.95rem; }
.policy-section li::before{ content:"\2022"; position:absolute; left:2px; top:0; color:var(--brown); font-weight:700; }
.policy-section li:last-child{ margin-bottom:0; }
