:root{
    --forest-deep:#1c3428;
    --forest:#33604d;
    --forest-soft:#7fa38c;
    --wood:#a9764e;
    --wood-dark:#6e4a2e;
    --water:#5fa0ac;
    --water-pale:#d7e9e6;
    --cream:#f7f2e6;
    --cream-warm:#efe2c7;
    --ink:#20301f;
    --gold:#d9a441;
    --paper:#fffdf8;

    --font-display:'Fraunces', serif;
    --font-body:'Work Sans', sans-serif;

    --radius-lg:28px;
    --radius-md:16px;
    --ease:cubic-bezier(.16,.8,.28,1);
  }

  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    font-family:var(--font-body);
    background:var(--cream);
    color:var(--ink);
    line-height:1.6;
    overflow-x:hidden;
    -webkit-font-smoothing:antialiased;
  }
  img{max-width:100%;display:block;}
  a{color:inherit;text-decoration:none;}
  ul{list-style:none;}
  button{font-family:inherit;cursor:pointer;border:none;background:none;}
  .container{max-width:1220px;margin:0 auto;padding:0 32px;}

  h1,h2,h3,h4{
    font-family:var(--font-display);
    font-weight:600;
    line-height:1.12;
    color:var(--forest-deep);
    letter-spacing:-0.01em;
  }

  .eyebrow{
    font-family:var(--font-display);
    font-style:italic;
    font-weight:500;
    font-size:1.05rem;
    color:var(--wood);
    display:inline-flex;
    align-items:center;
    gap:10px;
    margin-bottom:14px;
  }
  .eyebrow::before{
    content:"";
    width:26px;height:1px;
    background:var(--wood);
  }

  .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:15px 30px;
    border-radius:999px;
    font-weight:600;
    font-size:0.98rem;
    transition:transform .35s var(--ease), box-shadow .35s var(--ease), background .3s, color .3s;
    white-space:nowrap;
  }
  .btn-primary{
    background:var(--wood);
    color:var(--paper);
    box-shadow:0 10px 24px -8px rgba(110,74,46,.55);
  }
  .btn-primary:hover{transform:translateY(-3px); box-shadow:0 16px 30px -10px rgba(110,74,46,.6);}
  .btn-outline{
    background:transparent;
    color:var(--paper);
    border:1.5px solid rgba(255,255,255,.75);
  }
  .btn-outline:hover{background:rgba(255,255,255,.14); transform:translateY(-3px);}
  .btn-forest{
    background:var(--forest-deep);
    color:var(--paper);
  }
  .btn-forest:hover{transform:translateY(-3px); background:var(--forest);}

  /* ---------- reveal on scroll ---------- */
  .reveal{opacity:0; transform:translateY(26px); transition:opacity .9s var(--ease), transform .9s var(--ease);}
  .reveal.in{opacity:1; transform:translateY(0);}
  .reveal-delay-1{transition-delay:.1s;}
  .reveal-delay-2{transition-delay:.22s;}
  .reveal-delay-3{transition-delay:.34s;}

  /* ================= HEADER ================= */
  .site-header{
    position:fixed; top:0; left:0; right:0; z-index:200;
    padding:22px 0;
    transition:padding .4s var(--ease), background .4s var(--ease), box-shadow .4s var(--ease);
  }
  .site-header.scrolled{
    padding:12px 0;
    background:rgba(247,242,230,.92);
    backdrop-filter:blur(10px);
    box-shadow:0 8px 30px -14px rgba(28,52,40,.25);
  }
  .header-inner{display:flex; align-items:center; justify-content:space-between; gap:20px;}
  .logo{display:flex; align-items:center; gap:12px; font-family:var(--font-display); font-weight:700; font-size:1.35rem; color:var(--paper); transition:color .4s;}
  .site-header.scrolled .logo{color:var(--forest-deep);}
  .logo svg{flex-shrink:0;}
  .logo .logo-sub{display:block; font-family:var(--font-body); font-weight:400; font-style:italic; font-size:.68rem; letter-spacing:.14em; text-transform:uppercase; opacity:.75; margin-top:1px;}

  .nav-links{display:flex; align-items:center; gap:34px;}
  .nav-links a{
    font-size:.92rem; font-weight:500; color:var(--paper);
    position:relative; padding:4px 0; transition:color .4s;
  }
  .site-header.scrolled .nav-links a{color:var(--forest-deep);}
  .nav-links a::after{
    content:""; position:absolute; left:0; bottom:-2px; width:0; height:1.5px;
    background:currentColor; transition:width .35s var(--ease);
  }
  .nav-links a:hover::after{width:100%;}

  .header-cta{display:flex; align-items:center; gap:12px;}
  .btn-header{
    background:var(--wood); color:var(--paper); padding:12px 24px; font-size:.9rem;
  }
  .nav-links-cta{display:none;}

  .menu-toggle{
    display:none; flex-direction:column; align-items:center; justify-content:center;
    width:44px; height:44px; border-radius:50%; gap:5px; flex-shrink:0;
    background:rgba(255,255,255,.14); border:1.5px solid rgba(255,255,255,.4);
    transition:background .35s, border-color .35s;
  }
  .site-header.scrolled .menu-toggle{background:rgba(28,52,40,.06); border-color:rgba(28,52,40,.18);}
  .menu-toggle span{
    width:18px; height:1.6px; border-radius:1px; background:var(--paper);
    transition:transform .35s var(--ease), opacity .25s var(--ease), background .35s;
  }
  .site-header.scrolled .menu-toggle span{background:var(--forest-deep);}
  .menu-toggle.open span:nth-child(1){transform:translateY(6.6px) rotate(45deg);}
  .menu-toggle.open span:nth-child(2){opacity:0;}
  .menu-toggle.open span:nth-child(3){transform:translateY(-6.6px) rotate(-45deg);}
  .icon-btn{
    width:44px; height:44px; border-radius:50%; flex-shrink:0;
    display:flex; align-items:center; justify-content:center;
    background:rgba(255,255,255,.14); color:var(--paper);
    border:1.5px solid rgba(255,255,255,.4);
    transition:background .35s, color .35s, border-color .35s, transform .35s var(--ease);
  }
  .site-header.scrolled .icon-btn{
    background:rgba(28,52,40,.06); color:var(--forest-deep); border-color:rgba(28,52,40,.18);
  }
  .icon-btn:hover{background:var(--wood); border-color:var(--wood); color:var(--paper); transform:translateY(-2px);}
  .btn-whatsapp{
    background:#25D366; color:#fff;
    box-shadow:0 10px 22px -8px rgba(37,211,102,.55);
  }
  .btn-whatsapp:hover{background:#1fb958; transform:translateY(-3px);}

  /* ================= HERO ================= */
  .hero{
    position:relative; min-height:100vh; display:flex; align-items:flex-end;
    color:var(--paper); overflow:hidden;
  }
  .hero-bg{
    position:absolute; inset:0; z-index:0;
    background-image:
      linear-gradient(180deg, rgba(15,28,20,.35) 0%, rgba(15,28,20,.32) 45%, rgba(15,28,20,.82) 100%),
      url('https://images.unsplash.com/photo-1421790500381-fc9b5996f343?q=80&w=1920&auto=format&fit=crop');
    background-size:cover; background-position:center;
    animation:kenburns 26s ease-in-out infinite alternate;
  }
  @keyframes kenburns{
    0%{transform:scale(1.06) translate(0,0);}
    100%{transform:scale(1.14) translate(-1.4%,-1.2%);}
  }
  .hero-content{
    position:relative; z-index:2; padding:170px 0 96px;
    max-width:760px;
  }
  .hero-content .eyebrow{color:var(--water-pale);}
  .hero-content .eyebrow::before{background:var(--water-pale);}
  .hero-content h1{
    font-size:clamp(2.5rem, 5.4vw, 4.4rem);
    color:var(--paper);
    margin-bottom:22px;
  }
  .hero-content h1 em{font-style:italic; color:var(--gold); font-weight:500;}
  .hero-content p{
    font-size:1.14rem; color:rgba(255,255,255,.88); max-width:560px; margin-bottom:38px;
  }
  .hero-ctas{display:flex; gap:16px; flex-wrap:wrap;}

  .scroll-cue{
    position:absolute; right:40px; bottom:36px; z-index:2;
    display:flex; flex-direction:column; align-items:center; gap:10px;
    color:rgba(255,255,255,.75); font-size:.72rem; letter-spacing:.18em; text-transform:uppercase;
  }
  .scroll-cue .line{width:1px; height:46px; background:rgba(255,255,255,.5); position:relative; overflow:hidden;}
  .scroll-cue .line::after{
    content:""; position:absolute; top:-100%; left:0; width:100%; height:100%; background:var(--gold);
    animation:cueDrop 2.2s ease-in-out infinite;
  }
  @keyframes cueDrop{ 0%{top:-100%;} 60%{top:100%;} 100%{top:100%;} }

  /* wave divider representing the creek flowing between sections */
  .wave-divider{position:relative; height:0;}
  .wave-divider svg{display:block; width:100%; height:auto; position:relative; z-index:3;}

  /* ================= ALANLARIMIZ ================= */
  .section{padding:120px 0;}
  .section-head{max-width:640px; margin-bottom:64px;}
  .section-head h2{font-size:clamp(2rem, 3.6vw, 2.9rem);}
  .section-head p.lead{margin-top:16px; font-size:1.05rem; color:#4c5a45; max-width:520px;}

  /* ================= HAKKIMIZDA ================= */
  .about-grid{
    display:grid; grid-template-columns:.9fr 1.1fr; gap:64px; align-items:center;
  }
  .about-media{position:relative;}
  .about-media img{
    width:100%; aspect-ratio:4/4.6; object-fit:cover;
    border-radius:var(--radius-lg);
    box-shadow:0 30px 60px -30px rgba(28,52,40,.4);
  }
  .about-badge{
    position:absolute; left:-18px; bottom:-18px;
    background:var(--forest-deep); color:var(--cream);
    border-radius:var(--radius-md);
    padding:20px 22px;
    display:flex; align-items:center; gap:12px;
    box-shadow:0 20px 40px -18px rgba(28,52,40,.55);
  }
  .about-badge .num{font-family:var(--font-display); font-size:1.9rem; font-weight:700; color:var(--gold); line-height:1;}
  .about-badge .lbl{font-size:.76rem; line-height:1.3; opacity:.85;}

  .about-text h2{font-size:clamp(2rem, 3.6vw, 2.9rem); margin-bottom:20px;}
  .about-text p{color:#4c5a45; font-size:1rem; max-width:520px; margin-bottom:16px;}
  .about-stats{
    display:flex; gap:32px; margin:28px 0 32px; flex-wrap:wrap;
    padding-top:26px; border-top:1px solid #e7ddc4;
  }
  .stat-item{display:flex; flex-direction:column; gap:4px;}
  .stat-num{font-family:var(--font-display); font-weight:700; font-size:1.6rem; color:var(--forest-deep);}
  .stat-lbl{font-size:.8rem; color:#6b7864;}

  /* ================= ALANLARIMIZ ================= */
  #alanlarimiz{background:var(--cream); position:relative;}
  .facility-grid{
    display:grid; grid-template-columns:repeat(3, 1fr); gap:28px;
  }
  .facility-card{
    background:var(--paper); border-radius:var(--radius-lg);
    overflow:hidden; position:relative;
    box-shadow:0 20px 45px -30px rgba(28,52,40,.35);
    transition:transform .5s var(--ease), box-shadow .5s var(--ease);
  }
  .facility-card:hover{transform:translateY(-8px); box-shadow:0 30px 55px -25px rgba(28,52,40,.4);}
  .facility-img{height:230px; overflow:hidden;}
  .facility-img img{width:100%; height:100%; object-fit:cover; transition:transform .7s var(--ease);}
  .facility-card:hover .facility-img img{transform:scale(1.08);}
  .facility-body{padding:30px 30px 34px;}
  .facility-icon{
    width:46px; height:46px; border-radius:50%;
    background:var(--water-pale); color:var(--forest);
    display:flex; align-items:center; justify-content:center;
    margin-bottom:16px; margin-top:-52px; position:relative; z-index:2;
    border:5px solid var(--paper);
  }
  .facility-body h3{font-size:1.32rem; margin-bottom:10px;}
  .facility-body p{color:#55624f; font-size:.96rem;}

  /* ================= HIZMETLERIMIZ — signature time-of-day section ================= */
  #hizmetler{
    position:relative;
    padding:130px 0 140px;
    transition:background 1.1s var(--ease), color 1.1s var(--ease);
    background:linear-gradient(160deg, #fbf4e2 0%, #f3e6c9 60%, #ecdcb8 100%);
    color:var(--ink);
    overflow:hidden;
  }
  #hizmetler.theme-ogle{
    background:linear-gradient(160deg, #f6e2b8 0%, #e9b978 55%, #d99a55 100%);
    color:#3a2410;
  }
  #hizmetler.theme-aksam{
    background:linear-gradient(160deg, #16261e 0%, #1b2f26 45%, #142019 100%);
    color:#f2ead6;
  }
  #hizmetler .section-head h2, #hizmetler.theme-aksam .section-head h2{color:inherit;}
  #hizmetler.theme-aksam .section-head h2{color:#f5efdd;}
  #hizmetler .section-head p.lead{color:inherit; opacity:.75;}

  .glow-dots{position:absolute; inset:0; z-index:0; pointer-events:none; opacity:0; transition:opacity 1.1s var(--ease);}
  #hizmetler.theme-aksam .glow-dots{opacity:1;}
  .glow-dots span{
    position:absolute; width:5px; height:5px; border-radius:50%;
    background:var(--gold); box-shadow:0 0 12px 4px rgba(217,164,65,.65);
    animation:twinkle 4.5s ease-in-out infinite;
  }
  @keyframes twinkle{0%,100%{opacity:.25;} 50%{opacity:1;}}

  .tab-row{display:flex; gap:14px; margin-bottom:56px; flex-wrap:wrap; position:relative; z-index:2;}
  .tab-btn{
    padding:13px 26px; border-radius:999px; font-weight:600; font-size:.92rem;
    border:1.5px solid currentColor; opacity:.55;
    display:flex; align-items:center; gap:10px;
    transition:opacity .35s, background .35s, color .35s;
  }
  .tab-btn .tdot{width:8px;height:8px;border-radius:50%;background:currentColor;}
  .tab-btn.active{opacity:1; background:var(--forest-deep); color:var(--paper); border-color:var(--forest-deep);}
  #hizmetler.theme-ogle .tab-btn.active{background:var(--wood-dark); border-color:var(--wood-dark);}
  #hizmetler.theme-aksam .tab-btn.active{background:var(--gold); color:#241608; border-color:var(--gold);}

  .service-panels{position:relative; z-index:2;}
  .service-panel{display:none; grid-template-columns:1fr 1fr; gap:56px; align-items:center;}
  .service-panel.active{display:grid; animation:fadeUp .7s var(--ease);}
  @keyframes fadeUp{from{opacity:0; transform:translateY(18px);} to{opacity:1; transform:translateY(0);}}
  .service-media{border-radius:var(--radius-lg); overflow:hidden; aspect-ratio:4/3.1; box-shadow:0 30px 60px -25px rgba(0,0,0,.4);}
  .service-media img{width:100%; height:100%; object-fit:cover;}
  .service-text .eyebrow{color:inherit; opacity:.7;}
  .service-text .eyebrow::before{background:currentColor;}
  .service-text h3{font-size:clamp(1.7rem,2.6vw,2.3rem); color:inherit; margin-bottom:16px;}
  .service-text p{opacity:.85; margin-bottom:22px; max-width:460px;}
  .service-list{display:flex; flex-direction:column; gap:12px; margin-bottom:28px;}
  .service-list li{display:flex; align-items:flex-start; gap:12px; font-size:.95rem; opacity:.9;}
  .service-list li svg{flex-shrink:0; margin-top:3px;}

  /* ================= GALERI ================= */
  #galeri{background:var(--paper);}
  .masonry{
    columns:4 220px; column-gap:18px;
  }
  .masonry figure{
    break-inside:avoid; margin-bottom:18px; border-radius:var(--radius-md);
    overflow:hidden; position:relative; cursor:pointer;
  }
  .masonry figure img{width:100%; display:block; transition:transform .7s var(--ease);}
  .masonry figure:hover img{transform:scale(1.06);}
  .masonry figure figcaption{
    position:absolute; left:0; right:0; bottom:0; padding:18px 16px 14px;
    background:linear-gradient(0deg, rgba(15,26,19,.85), transparent);
    color:#fff; font-size:.82rem; font-weight:500;
    opacity:0; transform:translateY(8px); transition:.4s var(--ease);
  }
  .masonry figure:hover figcaption{opacity:1; transform:translateY(0);}

  /* ================= REZERVASYON ================= */
  #rezervasyon{
    background:var(--forest-deep); color:var(--cream); position:relative; overflow:hidden;
  }
  #rezervasyon::before{
    content:""; position:absolute; top:-140px; right:-140px; width:420px; height:420px;
    border-radius:50%; background:radial-gradient(circle, rgba(217,164,65,.18), transparent 70%);
  }
  .res-grid{display:grid; grid-template-columns:1.05fr .95fr; gap:56px; position:relative; z-index:2; min-width:0;}
  .contact-cta{
    background:var(--paper); color:var(--ink); border-radius:var(--radius-lg);
    padding:44px; box-shadow:0 40px 70px -30px rgba(0,0,0,.5);
    min-width:0; display:flex; flex-direction:column;
  }
  .contact-cta h3{font-size:1.5rem; margin-bottom:6px;}
  .contact-cta .sub{color:#5c6a56; font-size:.92rem; margin-bottom:28px; line-height:1.65;}
  .contact-btn{
    display:flex; align-items:center; gap:16px;
    border-radius:16px; padding:16px 20px; margin-bottom:14px;
    transition:transform .35s var(--ease), box-shadow .35s var(--ease);
  }
  .contact-btn-icon{
    width:48px; height:48px; border-radius:50%; flex-shrink:0;
    display:flex; align-items:center; justify-content:center;
  }
  .contact-btn-text{display:flex; flex-direction:column; gap:2px;}
  .contact-btn-text strong{font-family:var(--font-display); font-size:1.08rem; font-weight:600;}
  .contact-btn-text span{font-size:.86rem; opacity:.85;}
  .contact-btn-call{
    background:var(--forest-deep); color:var(--paper);
    box-shadow:0 14px 26px -12px rgba(28,52,40,.5);
  }
  .contact-btn-call .contact-btn-icon{background:rgba(255,255,255,.14);}
  .contact-btn-call:hover{transform:translateY(-3px); box-shadow:0 18px 32px -12px rgba(28,52,40,.6);}
  .contact-btn-wa{
    background:#25D366; color:#fff;
    box-shadow:0 14px 26px -12px rgba(37,211,102,.55);
  }
  .contact-btn-wa .contact-btn-icon{background:rgba(255,255,255,.2);}
  .contact-btn-wa:hover{transform:translateY(-3px); box-shadow:0 18px 32px -12px rgba(37,211,102,.6);}
  .contact-hours{margin-top:6px; font-size:.86rem; color:#5c6a56; text-align:center;}

  .res-info{display:flex; flex-direction:column; gap:28px; min-width:0;}
  .res-info h3{color:var(--cream); font-size:1.6rem;}
  .info-list{display:flex; flex-direction:column; gap:20px;}
  .info-item{display:flex; gap:16px; align-items:flex-start;}
  .info-item .ic{
    width:42px; height:42px; border-radius:50%; background:rgba(255,255,255,.08);
    display:flex; align-items:center; justify-content:center; flex-shrink:0; color:var(--gold);
  }
  .info-item h4{color:var(--cream); font-size:1rem; margin-bottom:3px;}
  .info-item p{color:rgba(242,238,224,.72); font-size:.92rem;}
  .map-frame{border-radius:var(--radius-md); overflow:hidden; height:220px; border:1px solid rgba(255,255,255,.12);}
  .map-frame iframe{width:100%; height:100%; border:0; filter:grayscale(.15) sepia(.08);}

  /* ================= FOOTER ================= */
  footer{background:#132118; color:rgba(242,238,224,.75); padding:64px 0 28px;}
  .footer-top{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; padding-bottom:44px; border-bottom:1px solid rgba(255,255,255,.08);}
  .footer-brand .logo{color:var(--cream); margin-bottom:14px;}
  .footer-brand p{font-size:.9rem; max-width:300px; line-height:1.7;}
  .footer-social{display:flex; gap:12px; margin-top:20px;}
  .footer-social a{
    width:38px; height:38px; border-radius:50%; border:1px solid rgba(255,255,255,.2);
    display:flex; align-items:center; justify-content:center; transition:.3s;
  }
  .footer-social a:hover{background:var(--gold); border-color:var(--gold); color:#1b2116;}
  .footer-col h4{color:var(--cream); font-family:var(--font-body); font-weight:600; font-size:.88rem; letter-spacing:.06em; text-transform:uppercase; margin-bottom:16px;}
  .footer-col ul{display:flex; flex-direction:column; gap:11px;}
  .footer-col a{font-size:.9rem; transition:.3s;}
  .footer-col a:hover{color:var(--gold);}
  .footer-bottom{display:flex; justify-content:space-between; align-items:center; padding-top:26px; font-size:.82rem; flex-wrap:wrap; gap:10px;}

  /* ================= RESPONSIVE ================= */

  /* Tablet / small desktop */
  @media (max-width: 1080px){
    .nav-links{gap:22px;}
    .nav-links a{font-size:.88rem;}
    .header-inner{gap:14px;}
  }

  @media (max-width: 980px){
    .container{padding:0 24px;}
    .about-grid{grid-template-columns:1fr; gap:48px;}
    .about-media img{aspect-ratio:16/10;}
    .facility-grid{grid-template-columns:1fr 1fr;}
    .service-panel{gap:36px;}
    .res-grid{grid-template-columns:1fr;}
    .footer-top{grid-template-columns:1fr 1fr; row-gap:36px;}
    .masonry{columns:3 160px;}
    .section{padding:96px 0;}
  }

  /* Mobile nav kicks in here */
  @media (max-width: 860px){
    .nav-links{display:none;}
    .header-cta{gap:10px;}
    .btn-header{padding:11px 16px; font-size:.85rem;}
    .menu-toggle{display:flex;}

    .about-badge{left:14px; bottom:14px; padding:14px 16px;}
    .about-stats{gap:22px;}

    .hero{min-height:92vh;}
    .hero-content{padding-top:140px; padding-bottom:80px;}
    .hero-content h1{font-size:2.5rem;}
    .hero-content p{font-size:1.02rem;}
    .facility-grid{grid-template-columns:1fr;}
    .service-panel{grid-template-columns:1fr;}
    .service-panel.active{grid-template-columns:1fr; display:grid;}
    .service-media{aspect-ratio:16/10;}
    .section{padding:76px 0;}
    .section-head{margin-bottom:44px;}

    .tab-row{flex-wrap:nowrap; overflow-x:auto; -webkit-overflow-scrolling:touch; margin:0 -24px 44px; padding:0 24px 6px; scrollbar-width:none;}
    .tab-row::-webkit-scrollbar{display:none;}
    .tab-btn{white-space:nowrap; padding:12px 20px; font-size:.86rem;}

    .contact-cta{padding:32px 24px;}
    .res-info{align-items:center; text-align:center;}
    .res-info h3{width:100%;}
    .info-list{width:100%; max-width:340px; margin:0 auto;}
    .info-item{text-align:left;}
    .map-frame{width:100%; max-width:340px; margin:0 auto;}
    .footer-top{grid-template-columns:1fr; text-align:left;}
    .footer-brand p{max-width:100%;}
    .masonry{columns:2 140px;}
    .scroll-cue{display:none;}
  }

  /* Mobile dropdown nav panel — activates alongside the 760px breakpoint above */
  @media (max-width: 860px){
    .header-inner{position:relative;}
    .nav-links{
      display:flex; flex-direction:column; align-items:stretch; gap:0;
      position:absolute; top:100%; left:0; right:0;
      background:var(--paper);
      max-height:0; overflow:hidden; opacity:0;
      border-radius:0 0 20px 20px;
      box-shadow:0 24px 44px -20px rgba(28,52,40,.3);
      transition:max-height .45s var(--ease), opacity .3s var(--ease);
    }
    .nav-links.open{max-height:70vh; opacity:1; overflow-y:auto;}
    .nav-links > a{
      color:var(--forest-deep); font-size:1rem; padding:16px 28px;
      border-bottom:1px solid rgba(28,52,40,.08);
    }
    .nav-links > a::after{display:none;}
    .nav-links-cta{
      display:flex; flex-direction:column; gap:12px; padding:20px 28px 26px;
    }
    .nav-links-cta .btn{width:100%;}
  }

  /* Small phones */
  @media (max-width: 480px){
    .container{padding:0 18px;}
    .logo{font-size:1.12rem; gap:9px;}
    .logo img{width:44px !important; height:44px !important;}
    .logo .logo-sub{font-size:.6rem;}
    .header-cta{gap:8px;}
    .icon-btn{width:40px; height:40px;}
    .menu-toggle{width:40px; height:40px;}
    .btn-header .btn-text{display:none;}
    .btn-header{width:40px; height:40px; padding:0; border-radius:50%;}

    .hero-content{padding-top:128px;}
    .hero-content h1{font-size:2.05rem; margin-bottom:16px;}
    .hero-content p{font-size:.96rem; margin-bottom:28px;}
    .hero-ctas .btn{padding:13px 22px; font-size:.9rem; width:100%;}
    .hero-ctas{flex-direction:column;}

    .section{padding:60px 0;}
    .section-head p.lead{font-size:.96rem;}
    .about-badge{padding:12px 14px; gap:8px; left:10px; bottom:10px;}
    .about-badge .num{font-size:1.5rem;}
    .about-stats{gap:18px 24px;}

    .tab-row{margin:0 -18px 36px; padding:0 18px 6px;}
    .facility-body{padding:24px 20px 28px;}

    .contact-btn{padding:14px 16px; gap:12px;}
    .contact-btn-icon{width:40px; height:40px;}

    .masonry{columns:2 120px; column-gap:12px;}
    .masonry figure{margin-bottom:12px;}
  }

  /* Prevent any accidental horizontal scroll on narrow phones */
  @media (max-width: 400px){
    .hero-content h1{font-size:1.85rem;}
    .about-badge{position:static; margin-top:14px; display:inline-flex;}
    .facility-grid{gap:20px;}

    .logo{font-size:.98rem; gap:7px;}
    .logo img{width:38px !important; height:38px !important;}
    .logo .logo-sub{font-size:.56rem; letter-spacing:.1em;}
    .header-cta{gap:6px;}
    .icon-btn, .menu-toggle{width:37px; height:37px;}
    .btn-header{width:37px; height:37px;}
  }

  @media (prefers-reduced-motion: reduce){
    *{animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important;}
  }