/*
 * Oil Land Safari Hotel — Master Stylesheet
 * 1:1 parity with the React/Tailwind original
 */

/* ── Fonts ── */
@import url('https://fonts.cdnfonts.com/css/intro');
@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Montserrat:wght@300;400;500;600;700;800;900&display=swap');

/* ── Design Tokens ── */
:root {
  --primary:    hsl(44,100%,48%);   /* #f5a623-ish gold */
  --secondary:  hsl(0,0%,22%);      /* #383838 charcoal */
  --background: hsl(40,20%,97%);    /* warm off-white */
  --foreground: hsl(0,0%,22%);
  --accent:     hsl(44,60%,96%);    /* light cream */
  --muted-fg:   hsl(0,0%,45%);      /* muted body text */
  --border:     hsl(0,0%,88%);
  --font-heading: 'Intro','Bebas Neue','Montserrat',sans-serif;
  --font-sans:    'Montserrat',sans-serif;
}

/* ── Reset ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:var(--font-sans);background:var(--background);color:var(--foreground);-webkit-font-smoothing:antialiased;line-height:1.5;}
img{display:block;max-width:100%;}
a{text-decoration:none;color:inherit;}
ul,ol{list-style:none;}
button{cursor:pointer;border:none;background:none;font-family:inherit;}
input,textarea{font-family:inherit;}

/* ── Typography ── */
h1,h2,h3,h4{font-family:var(--font-heading);font-weight:700;letter-spacing:0.02em;}

/* ── Container ── */
.container{width:100%;max-width:1280px;margin:0 auto;padding-left:1rem;padding-right:1rem;}
@media(min-width:768px){.container{padding-left:1.5rem;padding-right:1.5rem;}}

/* ── Gold accent line ── */
.gold-line{display:block;width:48px;height:3px;background:var(--primary);}
.gold-line-center{display:block;width:48px;height:3px;background:var(--primary);margin-left:auto;margin-right:auto;}

/* ── Hero pattern overlay ── */
.hero-pattern{background-image:radial-gradient(circle,rgba(255,255,255,.06) 1px,transparent 1px);background-size:32px 32px;}

/* ════════════════════════════════════
   HEADER
   ════════════════════════════════════ */
.site-header{position:fixed;top:0;left:0;right:0;z-index:100;transition:all .4s ease;}
.site-header .container{display:flex;align-items:center;justify-content:space-between;}
.site-header .logo-img{height:40px;width:auto;transition:all .3s;}

/* Transparent state (home top) */
.site-header.is-transparent{
  background:linear-gradient(to bottom,rgba(0,0,0,.55),rgba(0,0,0,.2),transparent);
  padding-top:1.5rem;padding-bottom:1.5rem;
}
.site-header.is-transparent .nav-link{color:rgba(255,255,255,.9);}
.site-header.is-transparent .nav-link:hover{color:var(--primary);}
.site-header.is-transparent .mobile-toggle{color:#fff;}

/* Solid state */
.site-header.is-solid{
  background:rgba(255,255,255,.97);backdrop-filter:blur(12px);
  box-shadow:0 1px 2px rgba(0,0,0,.05);border-bottom:1px solid hsl(0,0%,94%);
  padding-top:1rem;padding-bottom:1rem;
}
.site-header.is-solid .nav-link{color:var(--secondary);}
.site-header.is-solid .nav-link:hover{color:var(--primary);}
.site-header.is-solid .mobile-toggle{color:var(--secondary);}

/* Desktop nav */
.desktop-nav{display:none;align-items:center;gap:1.25rem;}
@media(min-width:768px){.desktop-nav{display:flex;}}
.nav-link{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;transition:color .3s;padding-bottom:2px;}
.btn-book{display:flex;align-items:center;justify-content:center;background:var(--primary);color:var(--secondary);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;padding:0 1.25rem;height:32px;transition:all .3s;}
.btn-book:hover{background:var(--secondary);color:#fff;}

/* Mobile toggle */
.mobile-toggle{display:block;padding:8px;z-index:110;}
@media(min-width:768px){.mobile-toggle{display:none;}}

/* Mobile menu */
.mobile-menu{position:fixed;inset:0;background:#fff;z-index:105;display:flex;flex-direction:column;padding:5rem 1.5rem 2rem;overflow-y:auto;transform:translateX(100%);transition:transform .3s ease;}
.mobile-menu.is-open{transform:translateX(0);}
.mobile-menu .mobile-nav-link{display:block;padding:.875rem 0;border-bottom:1px solid hsl(0,0%,94%);font-size:.875rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--secondary);transition:color .2s;}
.mobile-menu .mobile-nav-link:hover{color:var(--primary);}
.mobile-menu .mobile-book-btn{display:flex;align-items:center;justify-content:center;width:100%;background:var(--primary);color:var(--secondary);height:44px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;margin-top:2rem;transition:all .3s;}
.mobile-menu .mobile-book-btn:hover{background:var(--secondary);color:#fff;}
.mobile-close{position:absolute;top:1.5rem;right:1.5rem;padding:8px;color:var(--secondary);}

/* ════════════════════════════════════
   BUTTONS
   ════════════════════════════════════ */
.btn-primary{display:inline-flex;align-items:center;justify-content:center;background:var(--primary);color:var(--secondary);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;padding:0 2rem;height:44px;transition:all .3s;border:none;}
.btn-primary:hover{background:var(--secondary);color:#fff;}
.btn-outline-dark{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--secondary);color:var(--secondary);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;padding:0 2rem;height:44px;transition:all .3s;background:transparent;}
.btn-outline-dark:hover{background:var(--secondary);color:#fff;}
.btn-outline-white{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.6);color:#fff;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;padding:0 2rem;height:44px;transition:all .3s;background:transparent;}
.btn-outline-white:hover{background:rgba(255,255,255,.1);}

/* ════════════════════════════════════
   HERO  (front-page)
   ════════════════════════════════════ */
.hero{position:relative;height:100dvh;display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--secondary);}
.hero-bg{position:absolute;inset:0;z-index:0;}
.hero-bg img{width:100%;height:100%;object-fit:cover;}
.hero-overlay{position:absolute;inset:0;background:rgba(0,0,0,.62);z-index:1;}
.hero-gradient{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.5),transparent,transparent);z-index:1;}
.hero-content{position:relative;z-index:2;text-align:center;padding:0 1rem;margin-top:4rem;}
.hero-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.375rem 1rem;border-radius:9999px;background:rgba(255,255,255,.1);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.2);color:var(--primary);font-weight:600;font-size:.75rem;margin-bottom:2rem;text-transform:uppercase;letter-spacing:.15em;}
.hero h1{font-size:clamp(2.5rem,6vw,4.5rem);font-weight:700;color:#fff;margin-bottom:1.25rem;line-height:1.05;}
.hero h1 span{color:var(--primary);}
.hero-subtitle{font-size:clamp(.875rem,1.5vw,1.125rem);color:rgba(209,213,219,.9);margin-bottom:2.5rem;max-width:36rem;margin-left:auto;margin-right:auto;line-height:1.625;}
.hero-buttons{display:flex;flex-direction:column;gap:.75rem;justify-content:center;align-items:center;}
@media(min-width:640px){.hero-buttons{flex-direction:row;}}
.hero-scroll{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);z-index:2;color:rgba(255,255,255,.7);display:flex;flex-direction:column;align-items:center;gap:.5rem;animation:bounce 2.5s ease-in-out infinite;}
.hero-scroll span{font-size:10px;text-transform:uppercase;letter-spacing:.2em;font-weight:500;}
.hero-scroll-line{width:1px;height:40px;background:linear-gradient(to bottom,var(--primary),transparent);}
@keyframes bounce{0%,20%,50%,80%,100%{transform:translateX(-50%) translateY(0);}40%{transform:translateX(-50%) translateY(-10px);}60%{transform:translateX(-50%) translateY(-5px);}}

/* ── Welcome strip ── */
.welcome-strip{background:var(--primary);padding:.75rem 0;}
.welcome-strip .container{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:1.5rem;}
@media(min-width:768px){.welcome-strip .container{gap:3rem;}}
.welcome-strip-item{display:flex;align-items:center;gap:.5rem;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--secondary);}

/* ════════════════════════════════════
   PAGE HEADERS  (inner pages)
   ════════════════════════════════════ */
.page-header{padding-top:5rem;background:var(--secondary);color:#fff;position:relative;overflow:hidden;}
.page-header-inner{padding:3.5rem 0;position:relative;z-index:2;}
.page-header .hero-pattern{position:absolute;inset:0;opacity:.07;z-index:0;}
.page-header-gradient{position:absolute;inset:0;background:linear-gradient(to right,var(--secondary),rgba(74,74,74,.85));z-index:0;}
.page-header h1{font-size:clamp(2rem,5vw,3.75rem);font-weight:700;color:#fff;margin-bottom:.5rem;}
.page-header .subtitle{font-size:.875rem;color:var(--primary);max-width:36rem;}

/* Page header with background image */
.page-header-img{padding-top:5rem;color:#fff;position:relative;overflow:hidden;background-size:cover;background-position:center;}
.page-header-img .overlay{position:absolute;inset:0;background:rgba(0,0,0,.7);z-index:0;}
.page-header-img .container{position:relative;z-index:1;}
.page-header-img-inner{padding:5rem 0;}

/* ════════════════════════════════════
   SECTIONS — shared patterns
   ════════════════════════════════════ */
.section{padding:4rem 0;}
.section-lg{padding:5rem 0;}
.section-bg{background:var(--background);}
.section-accent{background:var(--accent);}
.section-dark{background:var(--secondary);color:#fff;}
.section-border{border-top:1px solid rgba(245,184,0,.1);border-bottom:1px solid rgba(245,184,0,.1);}
.section-header{text-align:center;margin-bottom:3rem;}
.section-header .label{font-size:.75rem;font-weight:700;color:var(--primary);text-transform:uppercase;letter-spacing:.2em;margin-bottom:.5rem;}
.section-header h2{font-size:clamp(1.5rem,3vw,1.875rem);font-weight:700;color:var(--secondary);}
.section-dark .section-header h2{color:#fff;}

/* ── Two-column layout ── */
.two-col{display:grid;grid-template-columns:1fr;gap:3.5rem;align-items:center;}
@media(min-width:1024px){.two-col{grid-template-columns:1fr 1fr;}}
.two-col.reverse{direction:rtl;}
.two-col.reverse > *{direction:ltr;}

/* ── Content blocks ── */
.content-block .label{font-size:.75rem;font-weight:700;color:var(--primary);text-transform:uppercase;letter-spacing:.2em;margin-bottom:.75rem;}
.content-block h2{font-size:clamp(1.5rem,3vw,1.875rem);font-weight:700;color:var(--secondary);margin-bottom:1.25rem;line-height:1.25;}
.content-block h3{font-size:1.5rem;font-weight:700;color:var(--secondary);margin-bottom:.75rem;}
.content-block p{font-size:.875rem;color:var(--muted-fg);line-height:1.625;margin-bottom:1rem;}
.content-block p:last-child{margin-bottom:0;}

/* ── Image with decorative corners (intro) ── */
.img-decorated{position:relative;}
.img-decorated .deco-square{position:absolute;bottom:-20px;left:-20px;width:144px;height:144px;background:rgba(245,184,0,.15);z-index:-1;}
.img-decorated .deco-border{position:absolute;top:-20px;right:-20px;width:96px;height:96px;border:2px solid rgba(245,184,0,.5);z-index:-1;}
.img-decorated .gold-corner-h{position:absolute;top:0;left:0;width:48px;height:3px;background:var(--primary);z-index:2;}
.img-decorated .gold-corner-v{position:absolute;top:0;left:0;width:3px;height:48px;background:var(--primary);z-index:2;}
.img-frame{position:relative;aspect-ratio:16/9;overflow:hidden;box-shadow:0 20px 48px rgba(0,0,0,.12);}
.img-frame img{width:100%;height:100%;object-fit:cover;transition:transform .7s;}
.img-frame:hover img{transform:scale(1.05);}
.img-frame .vignette{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.2),transparent);pointer-events:none;}
.img-badge{position:absolute;bottom:-16px;right:24px;background:var(--primary);padding:.5rem 1rem;box-shadow:0 4px 12px rgba(0,0,0,.1);}
.img-badge p{font-size:10px;font-weight:700;color:var(--secondary);text-transform:uppercase;letter-spacing:.15em;margin:0;}

/* ════════════════════════════════════
   FEATURE CARDS (4-col grid)
   ════════════════════════════════════ */
.features-grid{display:grid;grid-template-columns:1fr;gap:1.25rem;}
@media(min-width:640px){.features-grid{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1024px){.features-grid{grid-template-columns:repeat(4,1fr);}}
.feature-card{background:#fff;border:1px solid hsl(0,0%,94%);padding:1.5rem;display:flex;flex-direction:column;transition:all .3s;}
.feature-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(0,0,0,.1);}
.feature-card .icon-box{width:44px;height:44px;background:var(--accent);display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem;transition:background .3s;}
.feature-card:hover .icon-box{background:var(--primary);}
.feature-card .icon-box i{color:var(--primary);transition:color .3s;}
.feature-card:hover .icon-box i{color:#fff;}
.feature-card h4{font-size:.875rem;font-weight:700;color:var(--secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem;}
.feature-card p{font-size:.75rem;color:var(--muted-fg);line-height:1.625;flex:1;margin-bottom:1rem;}
.feature-card .card-link{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;font-weight:700;color:var(--secondary);text-transform:uppercase;letter-spacing:.05em;transition:color .3s;}
.feature-card:hover .card-link{color:var(--primary);}

/* ════════════════════════════════════
   STATS BAR
   ════════════════════════════════════ */
.stats-bar{padding:3.5rem 0;background:var(--secondary);}
.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;text-align:center;}
@media(min-width:768px){.stats-grid{grid-template-columns:repeat(4,1fr);}}
.stat-item .value{font-size:clamp(1.5rem,3vw,2.25rem);font-weight:700;color:var(--primary);line-height:1;margin-bottom:.25rem;}
.stat-item .label{font-size:10px;text-transform:uppercase;letter-spacing:.15em;font-weight:600;color:hsl(0,0%,62%);}

/* ════════════════════════════════════
   MARQUEE (partners)
   ════════════════════════════════════ */
.marquee-section{overflow:hidden;padding:4rem 0;}
.marquee-track{display:flex;gap:1rem;width:max-content;}
.marquee-left .marquee-track{animation:marquee-scroll-left 30s linear infinite;}
.marquee-right .marquee-track{animation:marquee-scroll-right 30s linear infinite;}
@keyframes marquee-scroll-left{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@keyframes marquee-scroll-right{from{transform:translateX(-50%);}to{transform:translateX(0);}}
.marquee-tag{flex-shrink:0;display:flex;align-items:center;gap:.75rem;border:1px solid rgba(245,184,0,.25);background:rgba(245,184,0,.06);padding:.75rem 1.25rem;}
.marquee-tag .dot{width:6px;height:6px;border-radius:50%;background:var(--primary);flex-shrink:0;}
.marquee-tag span{font-size:.75rem;font-weight:700;color:var(--secondary);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;}
.marquee-tag-alt{border-color:rgba(56,56,56,.2);background:rgba(56,56,56,.05);}
.marquee-tag-alt .dot{background:rgba(56,56,56,.4);}
.marquee-tag-alt span{color:rgba(56,56,56,.7);}
.marquee-mask{-webkit-mask-image:linear-gradient(to right,transparent,black 10%,black 90%,transparent);mask-image:linear-gradient(to right,transparent,black 10%,black 90%,transparent);}

/* ════════════════════════════════════
   CTA SECTIONS
   ════════════════════════════════════ */
.cta-section{padding:5rem 0;text-align:center;}
.cta-section h2{font-size:clamp(1.5rem,3vw,1.875rem);font-weight:700;color:var(--secondary);margin-bottom:1rem;}
.cta-section p{font-size:.875rem;color:var(--muted-fg);margin-bottom:2rem;line-height:1.625;max-width:36rem;margin-left:auto;margin-right:auto;}
.cta-buttons{display:flex;flex-direction:column;gap:.75rem;justify-content:center;align-items:center;}
@media(min-width:640px){.cta-buttons{flex-direction:row;}}

/* ════════════════════════════════════
   ABOUT PAGE — Values grid
   ════════════════════════════════════ */
.values-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;}
@media(min-width:640px){.values-grid{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1024px){.values-grid{grid-template-columns:repeat(3,1fr);}}
.value-card{background:#fff;border:1px solid hsl(0,0%,94%);overflow:hidden;transition:all .3s;display:flex;flex-direction:column;}
.value-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(0,0,0,.1);}
.value-card .gold-top{height:3px;width:100%;background:var(--primary);}
.value-card-body{padding:1.75rem;flex:1;display:flex;flex-direction:column;}
.value-card-body .top-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem;}
.value-card-body .icon-box{width:44px;height:44px;display:flex;align-items:center;justify-content:center;}
.value-card-body .icon-box.bg-gold{background:var(--primary);}
.value-card-body .icon-box.bg-dark{background:var(--secondary);}
.value-card-body .icon-box i{color:#fff;}
.value-card-body .num{font-size:2.25rem;font-weight:700;color:hsl(0,0%,94%);user-select:none;line-height:1;}
.value-card-body h3{font-size:1rem;font-weight:700;color:var(--secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem;}
.value-card-body p{font-size:.75rem;color:var(--muted-fg);line-height:1.625;flex:1;}

/* Mission/Vision cards */
.principle-card{background:#fff;padding:2rem;box-shadow:0 1px 2px rgba(0,0,0,.05);border-top:2px solid var(--primary);transition:all .3s;}
.principle-card.border-dark{border-top-color:var(--secondary);}
.principle-card:hover{box-shadow:0 6px 20px rgba(0,0,0,.08);}
.principle-card h3{font-size:1.125rem;font-weight:700;color:var(--secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem;}
.principle-card p{font-size:.875rem;color:var(--muted-fg);line-height:1.625;}

/* Philosophy strip */
.philosophy-strip{padding:4rem 0;background:var(--secondary);color:#fff;}
.philosophy-grid{display:grid;grid-template-columns:1fr;gap:2rem;}
@media(min-width:768px){.philosophy-grid{grid-template-columns:repeat(3,1fr);}}
.philosophy-item{border-left:2px solid rgba(245,184,0,.4);padding-left:1.25rem;}
.philosophy-item h4{font-size:.875rem;font-weight:700;color:var(--primary);text-transform:uppercase;letter-spacing:.15em;margin-bottom:.5rem;}
.philosophy-item p{font-size:.75rem;color:hsl(0,0%,62%);line-height:1.625;}

/* Stats strip (about) */
.about-stats{display:grid;grid-template-columns:1fr;gap:1rem;margin-top:4rem;}
@media(min-width:768px){.about-stats{grid-template-columns:repeat(3,1fr);}}
.about-stat{padding:1.5rem;display:flex;flex-direction:column;align-items:center;text-align:center;border:1px solid rgba(245,184,0,.1);transition:all .3s;}
.about-stat:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.07);}
.about-stat.highlighted{background:var(--secondary);color:#fff;border-color:var(--secondary);}
.about-stat .value{font-size:1.5rem;font-weight:700;margin-bottom:.25rem;}
.about-stat .value-dark{color:var(--secondary);}
.about-stat .value-white{color:#fff;}
.about-stat .label{font-size:.75rem;text-transform:uppercase;letter-spacing:.15em;font-weight:600;}

/* ════════════════════════════════════
   ACCOMMODATION
   ════════════════════════════════════ */
.exterior-banner{position:relative;height:clamp(208px,25vw,256px);overflow:hidden;}
.exterior-banner img{width:100%;height:100%;object-fit:cover;}
.exterior-banner .overlay{position:absolute;inset:0;background:rgba(0,0,0,.3);}
.exterior-banner .badge{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:1;}
.exterior-banner .badge-inner{background:rgba(0,0,0,.6);backdrop-filter:blur(4px);padding:.75rem 1.5rem;border:1px solid rgba(245,184,0,.4);}
.exterior-banner .badge-inner p{font-size:.75rem;font-weight:700;color:var(--primary);text-transform:uppercase;letter-spacing:.2em;margin:0;}

/* Room cards */
.room-stack{display:flex;flex-direction:column;gap:5rem;}
.room-row{display:grid;grid-template-columns:1fr;gap:2.5rem;align-items:center;}
@media(min-width:1024px){.room-row{grid-template-columns:1fr 1fr;}}
.room-row.reverse{direction:rtl;}
.room-row.reverse > *{direction:ltr;}
.room-photo{position:relative;aspect-ratio:4/3;overflow:hidden;}
.room-photo img{width:100%;height:100%;object-fit:cover;transition:transform .7s;}
.room-photo:hover img{transform:scale(1.05);}
.room-photo .avail-badge{position:absolute;top:.75rem;left:.75rem;background:var(--primary);padding:.25rem .625rem;font-size:10px;font-weight:700;color:var(--secondary);text-transform:uppercase;letter-spacing:.1em;}
.room-info h3{font-size:1.5rem;font-weight:700;color:var(--secondary);margin-bottom:1rem;}
.room-info p{font-size:.875rem;color:var(--muted-fg);line-height:1.625;margin-bottom:1rem;}
.room-features{display:grid;grid-template-columns:1fr 1fr;gap:.625rem;margin-bottom:1.5rem;}
.room-feature{display:flex;align-items:center;gap:.5rem;font-size:.75rem;font-weight:600;color:var(--secondary);}
.room-feature .dot{width:6px;height:6px;border-radius:50%;background:var(--primary);flex-shrink:0;}

/* Detail photo strip */
.detail-strip{display:grid;grid-template-columns:repeat(3,1fr);}
.detail-strip-item{position:relative;height:clamp(192px,20vw,256px);overflow:hidden;}
.detail-strip-item img{width:100%;height:100%;object-fit:cover;transition:transform .7s;}
.detail-strip-item:hover img{transform:scale(1.1);}
.detail-strip-item .overlay{position:absolute;inset:0;background:rgba(0,0,0,.4);transition:background .3s;}
.detail-strip-item:hover .overlay{background:rgba(0,0,0,.25);}
.detail-strip-item .label{position:absolute;bottom:.75rem;left:0;right:0;text-align:center;font-size:10px;font-weight:700;color:var(--primary);text-transform:uppercase;letter-spacing:.15em;}

/* Amenities grid */
.amenities-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;}
@media(min-width:768px){.amenities-grid{grid-template-columns:repeat(4,1fr);}}
.amenity-item{text-align:center;padding:1.25rem;border:1px solid rgba(255,255,255,.1);transition:all .3s;}
.amenity-item:hover{border-color:rgba(245,184,0,.6);background:rgba(255,255,255,.05);}
.amenity-item p{font-size:.75rem;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:.05em;margin:0;}

/* Future expansion */
.expansion-notice{display:inline-flex;align-items:center;gap:.75rem;padding:.625rem 1.25rem;background:#fff;border:1px dashed var(--primary);font-size:.75rem;font-weight:700;color:var(--secondary);text-transform:uppercase;letter-spacing:.1em;}

/* ════════════════════════════════════
   DINING
   ════════════════════════════════════ */
.menu-option{display:flex;gap:1rem;}
.menu-option .icon-box{width:40px;height:40px;background:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .3s;}
.menu-option:hover .icon-box{background:var(--primary);}
.menu-option:hover .icon-box i{color:#fff;}
.menu-option h4{font-size:.875rem;font-weight:700;color:var(--secondary);margin-bottom:.25rem;}
.menu-option p{font-size:.75rem;color:var(--muted-fg);line-height:1.625;}
.meal-times{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;padding-top:.75rem;border-top:1px solid hsl(0,0%,94%);margin-top:1.25rem;}
.meal-time{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:var(--secondary);font-weight:600;}
.meal-time .dot{width:6px;height:6px;border-radius:50%;background:var(--primary);flex-shrink:0;}

/* Photo gallery strip */
.photo-gallery{display:grid;grid-template-columns:repeat(2,1fr);}
@media(min-width:768px){.photo-gallery{grid-template-columns:repeat(4,1fr);}}
.photo-gallery-item{position:relative;height:clamp(208px,22vw,256px);overflow:hidden;}
.photo-gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .7s;}
.photo-gallery-item:hover img{transform:scale(1.1);}

/* Catering card */
.catering-card{max-width:48rem;margin:0 auto;background:#fff;padding:1.75rem;box-shadow:0 1px 2px rgba(0,0,0,.05);border-left:2px solid var(--primary);transition:box-shadow .3s;}
.catering-card:hover{box-shadow:0 6px 20px rgba(0,0,0,.08);}
.catering-inner{display:flex;flex-direction:column;gap:1.5rem;align-items:flex-start;}
@media(min-width:640px){.catering-inner{flex-direction:row;}}
.catering-icon{width:56px;height:56px;background:rgba(245,184,0,.1);display:flex;align-items:center;justify-content:center;flex-shrink:0;}

/* Image with overlay text */
.img-overlay-text{position:relative;aspect-ratio:4/3;overflow:hidden;}
.img-overlay-text img{width:100%;height:100%;object-fit:cover;object-position:top;}
.img-overlay-text .gradient{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.5),transparent);}
.img-overlay-text .text-box{position:absolute;bottom:1.25rem;left:1.25rem;right:1.25rem;color:#fff;}
.img-overlay-text .text-box .label{font-size:.75rem;font-weight:700;color:var(--primary);text-transform:uppercase;letter-spacing:.15em;margin-bottom:.25rem;}
.img-overlay-text .text-box p{font-size:.875rem;font-weight:700;color:#fff;margin:0;}

/* ════════════════════════════════════
   MEETINGS
   ════════════════════════════════════ */
.venue-grid{display:grid;grid-template-columns:1fr;gap:1.25rem;}
@media(min-width:768px){.venue-grid{grid-template-columns:repeat(3,1fr);}}
.venue-card{background:#fff;border-top:2px solid var(--primary);box-shadow:0 1px 2px rgba(0,0,0,.05);padding:1.5rem;display:flex;flex-direction:column;transition:all .3s;}
.venue-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(0,0,0,.1);}
.venue-card .capacity{display:inline-block;font-size:10px;font-weight:700;color:var(--primary);text-transform:uppercase;letter-spacing:.1em;border:1px solid rgba(245,184,0,.2);background:rgba(245,184,0,.05);padding:.125rem .5rem;margin-bottom:.75rem;align-self:flex-start;}
.venue-card h3{font-size:1rem;font-weight:700;color:var(--secondary);margin-bottom:.5rem;}
.venue-card p{font-size:.75rem;color:var(--muted-fg);line-height:1.625;flex:1;margin-bottom:1.25rem;}
.venue-card .features{display:flex;flex-direction:column;gap:.375rem;border-top:1px solid hsl(0,0%,94%);padding-top:1rem;}
.venue-card .feature{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:var(--secondary);font-weight:500;}
.venue-card .feature .dot{width:6px;height:6px;border-radius:50%;background:var(--primary);flex-shrink:0;}

/* Stats overlay on image */
.img-stats{position:relative;aspect-ratio:4/3;overflow:hidden;}
.img-stats img{width:100%;height:100%;object-fit:cover;object-position:top;}
.img-stats .gradient{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.6),transparent,transparent);}
.stats-overlay{position:absolute;bottom:1.5rem;left:1.5rem;right:1.5rem;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;}
.stats-overlay-item{text-align:center;background:rgba(0,0,0,.4);backdrop-filter:blur(4px);padding:.75rem;border:1px solid rgba(255,255,255,.2);}
.stats-overlay-item .val{font-size:1.25rem;font-weight:700;color:var(--primary);}
.stats-overlay-item .lbl{font-size:10px;color:hsl(0,0%,83%);text-transform:uppercase;letter-spacing:.15em;}

/* Advantage list */
.advantage-list{display:flex;flex-direction:column;gap:1.25rem;}
.advantage-item{display:flex;gap:.75rem;}
.advantage-item .dot{width:8px;height:8px;border-radius:50%;background:var(--primary);flex-shrink:0;margin-top:6px;}
.advantage-item h4{font-size:.875rem;font-weight:700;color:var(--secondary);}
.advantage-item p{font-size:.75rem;color:var(--muted-fg);line-height:1.625;}

/* ════════════════════════════════════
   EXPERIENCE
   ════════════════════════════════════ */
.care-list{display:flex;flex-direction:column;gap:.625rem;margin-top:.5rem;}
.care-item{display:flex;align-items:center;gap:.625rem;font-size:.75rem;font-weight:600;color:var(--secondary);}
.care-item .dot{width:6px;height:6px;border-radius:50%;background:var(--primary);flex-shrink:0;}

.promise-banner{position:relative;height:clamp(224px,30vw,288px);overflow:hidden;}
.promise-banner img{width:100%;height:100%;object-fit:cover;}
.promise-banner .overlay{position:absolute;inset:0;background:rgba(0,0,0,.55);}
.promise-banner .content{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:1;text-align:center;padding:0 1.5rem;}
.promise-banner .label{font-size:.75rem;font-weight:700;color:var(--primary);text-transform:uppercase;letter-spacing:.2em;margin-bottom:.5rem;}
.promise-banner h2{font-size:clamp(1.5rem,4vw,2.25rem);font-weight:700;color:#fff;}

/* Benefits grid */
.benefits-grid{display:grid;grid-template-columns:1fr;gap:1rem;}
@media(min-width:640px){.benefits-grid{grid-template-columns:repeat(2,1fr);}}
.benefit-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);padding:1.25rem;transition:all .3s;}
.benefit-card:hover{border-color:rgba(245,184,0,.5);background:rgba(255,255,255,.08);}
.benefit-card h4{font-size:.875rem;font-weight:700;color:#fff;margin-bottom:.25rem;}
.benefit-card p{font-size:.75rem;color:hsl(0,0%,62%);line-height:1.625;margin:0;}

/* ════════════════════════════════════
   CONTACT
   ════════════════════════════════════ */
.contact-grid{display:grid;grid-template-columns:1fr;gap:2.5rem;}
@media(min-width:1024px){.contact-grid{grid-template-columns:2fr 3fr;}}

.contact-info-list{display:flex;flex-direction:column;gap:1.5rem;}
.contact-info-item{display:flex;gap:1rem;}
.contact-info-item .icon-box{width:40px;height:40px;background:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .3s;}
.contact-info-item:hover .icon-box{background:var(--primary);}
.contact-info-item:hover .icon-box i{color:#fff;}
.contact-info-item h4{font-size:.75rem;font-weight:700;color:var(--secondary);text-transform:uppercase;letter-spacing:.15em;margin-bottom:.25rem;}
.contact-info-item p,.contact-info-item a{font-size:.75rem;color:var(--muted-fg);line-height:1.5;transition:color .3s;}
.contact-info-item a:hover{color:var(--primary);}

.quick-call{background:var(--secondary);padding:1.25rem;border-left:2px solid var(--primary);}
.quick-call .label{font-size:.75rem;font-weight:700;color:var(--primary);text-transform:uppercase;letter-spacing:.15em;margin-bottom:.5rem;}
.quick-call a{font-size:1.125rem;font-weight:800;color:#fff;transition:color .3s;}
.quick-call a:hover{color:var(--primary);}
.quick-call .note{font-size:.75rem;color:hsl(0,0%,62%);margin-top:.25rem;}

/* Form */
.contact-form-card{background:#fff;padding:1.75rem;box-shadow:0 6px 20px rgba(0,0,0,.08);border:1px solid hsl(0,0%,94%);}
.contact-form-card h3{font-size:1.125rem;font-weight:800;color:var(--secondary);margin-bottom:1.25rem;}
.form-row{display:grid;grid-template-columns:1fr;gap:1rem;margin-bottom:1rem;}
@media(min-width:640px){.form-row{grid-template-columns:1fr 1fr;}}
.form-group{display:flex;flex-direction:column;gap:.375rem;}
.form-group label{font-size:10px;font-weight:700;color:var(--secondary);text-transform:uppercase;letter-spacing:.15em;}
.form-group input,.form-group textarea{width:100%;padding:.625rem .75rem;border:1px solid hsl(0,0%,88%);background:var(--accent);font-size:.875rem;color:var(--foreground);outline:none;transition:border-color .3s;}
.form-group input:focus,.form-group textarea:focus{border-color:var(--primary);}
.form-group textarea{min-height:120px;resize:vertical;}
.form-submit{width:100%;background:var(--primary);color:var(--secondary);border:none;padding:0;height:40px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.15em;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:all .3s;margin-top:.5rem;}
.form-submit:hover{background:var(--secondary);color:#fff;}
#form-response{margin-top:1rem;padding:1rem;font-size:.875rem;font-weight:700;text-align:center;display:none;}
#form-response.show{display:block;}
#form-response.success{background:#dcfce7;color:#166534;}
#form-response.error{background:#fee2e2;color:#991b1b;}

/* Map section */
.map-bar{background:var(--secondary);padding:1rem 1.5rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;}
.map-bar .address{display:flex;align-items:center;gap:.75rem;font-size:.75rem;font-weight:600;color:#fff;letter-spacing:.03em;}
.map-bar .address i{color:var(--primary);}
.map-bar a{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.15em;color:var(--primary);transition:color .2s;}
.map-bar a:hover{color:#fff;}
.map-embed{width:100%;height:420px;}
.map-embed iframe{width:100%;height:100%;border:0;}

/* ════════════════════════════════════
   FOOTER
   ════════════════════════════════════ */
.site-footer{background:var(--secondary);color:#fff;padding-top:3.5rem;padding-bottom:1.5rem;border-top:2px solid var(--primary);}
.footer-grid{display:grid;grid-template-columns:1fr;gap:2.5rem;margin-bottom:2.5rem;}
@media(min-width:768px){.footer-grid{grid-template-columns:1fr 1fr;}}
@media(min-width:1024px){.footer-grid{grid-template-columns:1fr 1fr 2fr;}}
.footer-brand{display:flex;flex-direction:column;gap:1.25rem;}
.footer-brand img{height:48px;width:auto;object-fit:contain;object-position:left;}
.footer-brand p{font-size:.75rem;color:hsl(0,0%,40%);line-height:1.625;max-width:280px;}
.footer-social{display:flex;gap:.75rem;}
.footer-social a{width:32px;height:32px;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;color:#fff;transition:all .3s;}
.footer-social a:hover{background:var(--primary);}
.footer-links h4{font-size:10px;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.15em;margin-bottom:1.25rem;}
.footer-links ul{display:flex;flex-direction:column;gap:.625rem;}
.footer-links a{font-size:.75rem;color:hsl(0,0%,40%);transition:color .3s;}
.footer-links a:hover{color:var(--primary);}
.footer-contact h4{font-size:10px;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.15em;margin-bottom:1.25rem;}
.footer-contact-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;}
@media(min-width:640px){.footer-contact-grid{grid-template-columns:1fr 1fr;}}
.footer-contact-item{display:flex;gap:.75rem;}
.footer-contact-item i{color:var(--primary);flex-shrink:0;margin-top:2px;}
.footer-contact-item .label{font-size:.75rem;font-weight:600;color:#fff;margin-bottom:.25rem;}
.footer-contact-item p,.footer-contact-item a{font-size:.75rem;color:hsl(0,0%,40%);line-height:1.5;display:block;transition:color .3s;}
.footer-contact-item a:hover{color:var(--primary);}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding-top:1.5rem;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:.75rem;font-size:11px;color:hsl(0,0%,38%);}
@media(min-width:768px){.footer-bottom{flex-direction:row;}}
.footer-bottom-links{display:flex;gap:1.25rem;}
.footer-bottom-links a{transition:color .3s;}
.footer-bottom-links a:hover{color:var(--primary);}

/* ════════════════════════════════════
   SCROLL ANIMATIONS
   ════════════════════════════════════ */
.fade-up{opacity:0;transform:translateY(24px);transition:opacity .6s ease-out,transform .6s ease-out;}
.fade-up.visible{opacity:1;transform:translateY(0);}

/* ════════════════════════════════════
   404
   ════════════════════════════════════ */
.error-page{min-height:100vh;padding-top:10rem;padding-bottom:5rem;text-align:center;}
.error-page h1{font-size:clamp(4rem,10vw,7rem);font-weight:700;color:var(--secondary);margin-bottom:1rem;}
.error-page p{font-size:.875rem;color:var(--muted-fg);margin-bottom:2rem;text-transform:uppercase;letter-spacing:.15em;font-weight:600;}
