
  :root{
    color-scheme:light;
    /* ============================================================
       MASTER CONTROL BLOCK — change any value here, once,
       and it updates everywhere on the site.
       ============================================================ */

    /* --- COLOURS (placeholder scheme, will change) --- */
    --green:#0f3d2e;
    --green-2:#15543f;
    --gold:#c9a24a;
    --gold-soft:#e3c879;
    --cream:#f6f3ec;
    --ink:#1c211d;
    --footer-bg:#14130f;
    --line:rgba(201,162,74,.35);

    /* --- LAYOUT --- */
    --pad:12px;             /* side margin, all content */
    --foot-gap:36px;        /* gap below footer */
    --max-width:960px;      /* content container cap (desktop) — single source */

    /* --- HEADER --- */
    --header-h:30px;        /* sticky header min-height */
    --logo-size:1.05rem;
    --logo-sub:0.42rem;
    --circle-d:26px;        /* contact circle diameter */
    --circle-icon:0.75rem;

    /* --- BURGER --- */
    --burger-w:28px;
    --burger-h:30px;
    --burger-border:1.1px;
    --burger-radius:6px;
    --burger-bar-w:18px;
    --burger-bar-h:2px;
    --burger-bar-gap:0px;   /* margin top/bottom per bar */

    /* --- HERO --- */
    --hero-btn-h:48px;      /* contact button tap target */

    /* --- CHIPS --- */
    --chip-pad-y:6px;
    --chip-pad-x:11px;
    --chip-radius:20px;
    --chip-cycle:7s;

    /* --- FOOTER BUTTONS --- */
    --fbtn-h:34px;
    --fbtn-radius:7px;

    /* --- PILLS --- */
    --pill-pad-y:8px;
    --pill-pad-x:22px;
    --pill-radius:30px;

    /* --- NEXT BOX --- */
    --next-pad-y:8px;
    --next-pad-x:20px;
    --next-radius:12px;
    --chip-loops:2;      /* chip glow wave repetitions after load (finite = GPU-safe) */
    --ctoggle-loops:3;   /* header phone pulse repetitions (finite = GPU-safe) */
    --navarr-size:20px;      /* prev/next arrow icon size */
    --navarr-stroke:2.4;     /* prev/next arrow line weight */
    --navarr-color:var(--gold-soft);
    --navarr-gap:8px;        /* space between arrow and page name */

    /* --- SEND TO FRIEND --- */
    --friend-h:54px;

    /* --- FOOTER FINE-TUNE --- */
    --addr-shift:-4px;      /* address block nudge up */
    --rights-mt:-2px;       /* All Rights Reserved margin-top */
    --ver-mt:4px;           /* version stamp margin-top */

    /* --- TYPE --- */
    --font-display:Georgia,'Times New Roman',serif;
    --font-util:Arial,sans-serif;
    --font-mono:'Courier New',monospace;

    /* --- BUSINESS INFO (set once, used site-wide) --- */
    --biz-name:"Orijent 22";
    --biz-stars:"★★★";
    --biz-sub:"HOTEL & RESTORAN";
    --biz-street:"Svetosavska 227";
    --biz-city:"Glamočani";
    --biz-zip:"78250";
    --biz-region:"Laktaši, BiH";
    --biz-phone:"+387 51 331 000";
    --biz-phone2:"+387 66 582 227";
    --biz-email:"orijent22recepcija@dsa.ba";

    /* --- AMENITY CHIPS (rule) --- */
    --amen-min-h:46px;        /* equal min height for every chip */
    --amen-pad-y:10px;
    --amen-pad-x:12px;
    --amen-radius:8px;
    --amen-gap:8px;
    --amen-open-max:120px;    /* slide-open blurb max height */

    /* --- ROOMS (real Cubic data — set once, easy to update) --- */
    --cur:"KM";                 /* currency label */
    --room-price-prefix:"from"; /* shown before each price */
    --room-price-suffix:"/ night";

    --room1-name:"Single bed room";
    --room1-price:"54";
    --room1-cap:"1 guest";
    --room1-desc:"Bedroom and bathroom. Air conditioning, minibar, free Wi-Fi, cable TV and slippers.";

    --room2-name:"Double-bedded room";
    --room2-price:"94";
    --room2-cap:"2 guests";
    --room2-desc:"Bedroom and bathroom. Two kinds available — one with a double bed, one with twin beds. Air conditioning, minibar, free Wi-Fi, cable TV and slippers.";

    --room3-name:"Apartment";
    --room3-price:"109";
    --room3-cap:"up to 3 guests";
    --room3-desc:"Two rooms — a bedroom with a double bed and a living room with an extra-bed option. Air conditioning, free Wi-Fi, cable TV, minibar and slippers.";

    /* in-room amenities (all rooms) */
    --room-amenities:"Air conditioning · Mini-bar · Free Wi-Fi · Cable TV · Slippers · Iron · Hairdressing salon";
    --breakfast-price:"8";      /* KM per person */

    /* --- PARKING (real counts — all free) --- */
    --park-car-count:"32";
    --park-car-note:"net-shaded in summer";
    --park-large-count:"7";
    --park-large-note:"for towing rigs or small freight vans";
    --park-truck-count:"4";
    --park-truck-note:"trucks and buses — prior reservation advised";

    /* --- IN-ROOM TV (set once) --- */
    --tv-size:"43-inch flat-screen";
    --tv-type:"Smart TV with satellite channels";
    --tv-channels:"RTRS · BHT1 · FTV · OBN · Pink BH · Hayat · ATV · N1 · Al Jazeera Balkans · RTS1 · RTS2 · Prva · B92 · HRT1 · HRT2 · Nova TV · RTL · CNN · BBC World · Euronews · Sky News · DW · France 24 · Eurosport 1 · Eurosport 2 · Arena Sport · Nat Geo · Discovery · History · Animal Planet · Cartoon Network · Nickelodeon · MTV · HBO · Cinemax";
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{
    font-family:var(--font-display);
    color:var(--ink);background:var(--cream);line-height:1.55;
  }
  img{max-width:100%;display:block}
  .wrap{padding-left:var(--pad);padding-right:var(--pad)}
  a{color:inherit;text-decoration:none}

  /* ---------- Header ---------- */
  /* STICKY DISABLED: position:sticky forces per-scroll-frame compositing;
     on some Android GPUs (Redmi 15C) this smears never-invalidated tiles
     across the page (static bands / ghosts). Header now scrolls normally.
     Do not re-enable without device testing. */
  header{
    position:static;z-index:50;background:var(--green);
    color:var(--cream);border-bottom:1px solid var(--line);
  }
  .bar{display:flex;align-items:center;justify-content:space-between;
       gap:8px;min-height:var(--header-h)}
  .logo{font-size:var(--logo-size);letter-spacing:.05em;color:var(--gold-soft);
        font-weight:bold;line-height:1}
  .logo small{display:block;font-size:var(--logo-sub);letter-spacing:.26em;
        color:var(--cream);font-family:var(--font-util);margin-top:1px}
  .hgroup{display:flex;align-items:center;gap:6px}
  .ic{width:var(--circle-d);height:var(--circle-d);display:grid;place-items:center;border-radius:50%;
      background:rgba(255,255,255,.08);border:1px solid var(--line);
      font-size:var(--circle-icon)}
  .ic.call{background:var(--gold);color:var(--green);border-color:var(--gold)}
  /* boxed burger, right side */
  .burger{width:var(--burger-w);height:var(--burger-h);display:grid;place-items:center;
      border:var(--burger-border) solid var(--gold);border-radius:var(--burger-radius);background:transparent;
      cursor:pointer;gap:0}
  .burger span{display:block;width:var(--burger-bar-w);height:var(--burger-bar-h);background:var(--gold-soft);
      margin:var(--burger-bar-gap) 0;border-radius:2px}
  nav.menu{display:none;background:var(--green-2);border-top:1px solid var(--line)}
  nav.menu.open{display:block}
  nav.menu a{display:block;padding:13px var(--pad);color:var(--cream);font-family:var(--font-util);
      border-bottom:1px solid rgba(255,255,255,.06);font-size:1rem}

  /* ---------- Hero ---------- */
  .hero{position:relative;background:
      linear-gradient(rgba(8,30,22,.62),rgba(8,30,22,.72)),
      url('assets/img/exterior/exterior-01-hero.jpg') center/cover;
      color:var(--cream);text-align:center;padding:46px var(--pad) 30px} /* bottom 38→30px (−2mm) */
  .hero h1{font-size:2.15rem;color:var(--gold-soft);letter-spacing:.04em;
      line-height:1.12}
  .hero .tag{margin-top:10px;font-size:1rem;color:#eee;font-family:var(--font-util)}
  .stars{color:var(--gold);letter-spacing:.2em;margin-bottom:6px}
  .cbtns{display:flex;justify-content:center;gap:9px;flex-wrap:wrap;margin-top:18px}
  .cbtn{display:inline-flex;align-items:center;gap:6px;min-height:var(--hero-btn-h);
      padding:0 16px;border-radius:8px;font-family:var(--font-util);
      font-size:.92rem;font-weight:bold;background:var(--gold);color:var(--green);
      border:1px solid var(--gold)}
  .cbtn.alt{background:transparent;color:var(--gold-soft);border-color:var(--gold)}
  /* primary sell-points */
  .sells{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:22px}
  .sell{background:rgba(255,255,255,.07);border:1px solid var(--line);
      border-radius:10px;padding:14px 6px;color:var(--cream)}
  .sell .em{width:30px;height:30px;display:block;margin:0 auto 6px;color:var(--gold-soft)}
  .liico{width:17px;height:17px;vertical-align:-3px;color:var(--gold)}
  .bookcard{background:#fff;border:1px solid var(--line);border-radius:11px;
      padding:20px 16px;margin:14px 0;text-align:center}
  .bookcard h2{margin-top:0}
  /* distance rows: 'show route' pinned right, never wraps */
  .routeli{display:flex;align-items:center;gap:8px}
  .routeli .sr{margin-left:auto;white-space:nowrap;color:var(--gold)}
  .sell .lb{font-family:var(--font-util);font-size:.82rem;letter-spacing:.04em}

  /* NOTE: .amen cards are STATIC — expandable UI corrupts framebuffer on
     some Android GPUs (Redmi 15C). Do not re-add toggles. */
  /* ---------- Chips ---------- */
  .chips{display:flex;flex-wrap:wrap;gap:7px;justify-content:center;
      padding:16px var(--pad);background:var(--green-2);color:var(--cream)}
  .chip{font-family:var(--font-util);font-size:.78rem;padding:var(--chip-pad-y) var(--chip-pad-x);
      border:1px solid var(--line);border-radius:var(--chip-radius);
      animation:chipGlow var(--chip-cycle) ease-in-out var(--chip-loops)}
  a.chiplink{text-decoration:none;cursor:pointer;color:inherit}
  a.chiplink:active{opacity:.75}
  .chip:nth-child(1){animation-delay:0s}
  .chip:nth-child(2){animation-delay:.6s}
  .chip:nth-child(3){animation-delay:1.2s}
  .chip:nth-child(4){animation-delay:1.8s}
  .chip:nth-child(5){animation-delay:2.4s}
  .chip.hot{background:var(--gold);color:var(--green);border-color:var(--gold);
      font-weight:bold}
  @keyframes chipGlow{
    0%      {opacity:.35;transform:translateY(3px)}
    6%      {opacity:1;transform:translateY(0);
             background:rgba(227,200,121,.28);border-color:var(--gold-soft)}
    16%     {opacity:1;transform:translateY(0);background:rgba(227,200,121,0)}
    100%    {opacity:1;transform:translateY(0);background:rgba(227,200,121,0)}
  }
  @media(prefers-reduced-motion:reduce){
    .chip{animation:none;opacity:1}
  }

  /* ---------- Amenities ---------- */
  .amen{padding:20px var(--pad);background:var(--cream);
      position:relative;z-index:0}
  .amen h2,.intro h2,.grid h2{font-size:1.25rem;color:var(--green);
      text-align:center;margin-bottom:14px;letter-spacing:.03em}
  .amen ul{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);
      gap:var(--amen-gap);max-width:520px;margin:0 auto;align-items:stretch}
  .amen li{font-family:var(--font-util);font-size:.86rem;background:#fff;
      border:1px solid var(--line);border-radius:var(--amen-radius);
      padding:var(--amen-pad-y) var(--amen-pad-x);cursor:default;
      min-height:var(--amen-min-h);
      display:flex;flex-direction:column;justify-content:center;
      position:relative}
  .amen li .row{display:flex;align-items:center;gap:8px;min-height:24px}
  .amen li b{color:var(--gold);font-size:1.05rem}
  .amen li .arrow{margin-left:auto;color:var(--gold)}
  .amen li.open .arrow{transform:rotate(90deg)}
  .amen li .blurb{display:none;
      font-size:.78rem;color:#555;line-height:1.4}
  .amen li .blurb > span{display:block}
  .amen li.open .blurb{display:block;margin-top:6px}

  /* ---------- Rooms price preview (token-driven) ---------- */
  .rooms{padding:20px var(--pad);background:#fff;border-top:1px solid var(--line)}
  .rooms h2{font-size:1.25rem;color:var(--green);text-align:center;margin-bottom:14px}
  .rcards{display:grid;grid-template-columns:1fr;gap:12px;max-width:520px;margin:0 auto}
  .rcard{text-align:left}
  .rcard .rn{font-size:1.15rem}
  .rcard .rp{display:inline-block}
  .rcard{border:1px solid var(--line);border-radius:11px;padding:14px;text-align:left;background:#fff;overflow:hidden} /* bg matches .ccard */
  .rcard .rbody{min-width:0}
  .rcard .rn{font-family:var(--font-display);font-size:1.05rem;color:var(--green);font-weight:bold;margin-bottom:8px}
  .rcard .rp{font-family:var(--font-util);font-size:.8rem;color:var(--ink);margin:3px 0}
  .rcard .rp b{color:var(--gold);font-size:1.05rem}
  .rcard .rcap{font-family:var(--font-util);font-size:.74rem;color:#666;margin:2px 0}
  .rcard .rdesc{font-family:var(--font-util);font-size:.76rem;color:#444;margin-top:6px;line-height:1.4}
  .rcard .rl{font-family:var(--font-util);font-size:.68rem;color:#888;text-transform:uppercase;letter-spacing:.05em}
  .room-amen::before{content:var(--room-amenities)}

  /* ---------- Intro ---------- */
  .intro{padding:22px var(--pad);text-align:center;background:#fff;
      border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
  .intro p{max-width:620px;margin:0 auto;font-size:1.02rem}

  /* ---------- Highlight grid ---------- */
  .grid{padding:11px var(--pad) 19px;background:var(--cream)} /* top 22→11px (−3mm); bottom 8→19px (+3mm) */
  .cards{display:grid;grid-template-columns:repeat(2,1fr);gap:11px}
  .card{position:relative;border-radius:11px;overflow:hidden;min-height:120px;
      display:flex;align-items:flex-end;color:#fff;border:1px solid var(--line)}
  .card span{position:relative;z-index:2;padding:11px 13px;
      font-family:var(--font-util);font-weight:bold;letter-spacing:.04em}
  .card .cico{position:absolute;top:13px;left:13px;z-index:2;width:34px;height:34px;
      color:rgba(255,255,255,.9);opacity:.92}
  .card::before{content:"";position:absolute;inset:0;z-index:1;
      background:linear-gradient(rgba(15,61,46,.15),rgba(15,61,46,.85))}
  .c1{background:#2b6b4f center/cover}
  .c2{background:#3a5e4d center/cover}
  .c3{background:#4a6b3a center/cover}
  .c4{background:#1f4a38 center/cover}

  /* ---------- Footer (pill-nav schema) ---------- */
  footer{background:var(--footer-bg);color:var(--cream);position:relative;z-index:1;
      padding:15px var(--pad) var(--foot-gap)} /* top 26→15px (−3mm) */
  footer a,footer button{position:relative;z-index:2}
  footer .fl{font-size:1.4rem;color:var(--gold-soft);margin-bottom:3px;
      text-align:center;letter-spacing:.05em}
  footer .addr,footer a.fe{font-family:var(--font-util);font-size:.82rem;
      color:#cdd6cf;display:block;margin:2px 0;text-align:center}
  footer .addr{margin-top:var(--addr-shift)}
  .fbtns{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin:14px 0}
  .fbtn{min-height:var(--fbtn-h);padding:0 13px;border-radius:var(--fbtn-radius);display:inline-flex;
      align-items:center;gap:6px;font-family:var(--font-util);font-size:.82rem;
      border:1px solid var(--gold);color:var(--gold-soft)}
  .fbtn.map{background:var(--gold);color:var(--green);font-weight:bold;
      border-color:var(--gold);cursor:pointer}

  /* pill nav */
  .pills{display:flex;flex-wrap:wrap;gap:11px;justify-content:center;margin:22px 0}
  .pill{font-family:var(--font-util);font-size:.84rem;font-weight:bold;
      letter-spacing:.06em;padding:var(--pill-pad-y) var(--pill-pad-x);border-radius:var(--pill-radius);
      border:1px solid rgba(201,162,74,.5);color:#e7ddc4;background:transparent;
      text-transform:uppercase}
  .pill.active{background:var(--gold);color:var(--green);border-color:var(--gold);
      box-shadow:0 0 0 4px rgba(201,162,74,.18)}

  /* next box */
  .navrow{display:flex;gap:10px;justify-content:center;align-items:stretch;
      margin:6px auto 0;max-width:600px;padding:0 16px}
  .navrow .prevbox,.navrow .nextbox{flex:1 1 0;max-width:50%;margin:0}
  .navrow.solo-next{justify-content:flex-end}
  .navrow.solo-prev{justify-content:flex-start}
  .prevbox{border:1px solid rgba(201,162,74,.45);
      border-radius:var(--next-radius);padding:var(--next-pad-y) var(--next-pad-x);
      background:#1c1a14;text-decoration:none;display:flex;align-items:center;gap:var(--navarr-gap);justify-content:flex-start}
  .nextbox{border:1px solid rgba(201,162,74,.45);
      border-radius:var(--next-radius);padding:var(--next-pad-y) var(--next-pad-x);
      background:#1c1a14;text-decoration:none;display:flex;align-items:center;gap:var(--navarr-gap);justify-content:flex-end}
  .prevbox .nx,.nextbox .nx{font-family:var(--font-util);font-size:1.35rem;line-height:1;
      color:var(--gold-soft);font-weight:bold}
  .prevbox .np,.nextbox .np{font-family:var(--font-util);font-size:1.1rem;font-weight:bold;
      color:#fff;letter-spacing:.04em}
  .navarr{color:var(--navarr-color);flex:0 0 auto;width:var(--navarr-size);height:var(--navarr-size);stroke-width:var(--navarr-stroke)}
  .nextbox .nx{font-family:var(--font-util);font-size:.72rem;letter-spacing:.18em;
      color:var(--gold-soft);font-weight:bold;display:block}
  .nextbox .np{font-family:var(--font-util);font-size:1.1rem;font-weight:bold;
      color:#fff;letter-spacing:.04em}
  .nextbox .np .arr{color:var(--gold-soft);margin-left:8px}

  .friend{display:flex;justify-content:center;margin:22px 16px 18px}
  .friend a{min-height:var(--friend-h);padding:0 22px;border-radius:10px;display:inline-flex;
      align-items:center;justify-content:center;gap:9px;border:1px solid var(--gold);color:var(--gold);
      max-width:min(280px,64%);
      font-family:var(--font-util);font-weight:bold;letter-spacing:.06em;
      font-size:.9rem;text-transform:uppercase}

  .copy-l{text-align:center;font-family:var(--font-util);color:#9aa69c;
      font-size:.92rem;letter-spacing:.08em;margin-top:6px}
  .copy-l .gold{color:var(--gold-soft);font-weight:bold}
  .copy-l .rights{display:block;font-size:.8rem;margin-top:var(--rights-mt);color:#7e8a80}
  .ver{font-family:var(--font-mono);font-size:.72rem;color:#6f7a70;
      text-align:center;margin-top:var(--ver-mt);letter-spacing:.05em}
  .ver .new{color:#4e9c4e;font-weight:bold}

  /* ---------- token-driven business text ---------- */
  .tvsize::after{content:var(--tv-size)}
  .tvtype::after{content:var(--tv-type)}
  .tvchannels::after{content:var(--tv-channels)}
  .tvbox{max-width:560px;margin:0 auto;background:#fff;border:1px solid var(--line);
      border-radius:11px;padding:14px}
  .tvbox h3{font-family:var(--font-display);color:var(--green);font-size:1.05rem;margin-bottom:6px}
  .tvbox .spec{font-family:var(--font-util);font-size:.86rem;color:#333;margin:2px 0}
  .tvbox .chlabel{font-family:var(--font-util);font-size:.78rem;color:#888;
      text-transform:uppercase;letter-spacing:.05em;margin-top:8px}
  .tvbox .chlist{font-family:var(--font-util);font-size:.8rem;color:#444;line-height:1.5}
  .fl::before{content:var(--biz-name) " " var(--biz-stars)}
  .addr::before{content:var(--biz-street) ", " var(--biz-city) ", " var(--biz-zip) " " var(--biz-region)}
  .fe.phone::before{content:"Reception: " var(--biz-phone)}
  .fe.email::before{content:var(--biz-email)}
  .logo .lname::before{content:var(--biz-name)}
  .logo small::before{content:var(--biz-sub)}

  /* ---------- Map popup ---------- */
  .modal{position:fixed;inset:0;z-index:99;background:rgba(0,0,0,.6);
      display:none;align-items:center;justify-content:center;padding:24px}
  .modal.open{display:flex}
  .sheet{background:var(--cream);color:var(--ink);border-radius:14px;
      width:100%;max-width:340px;padding:18px;border:2px solid var(--gold)}
  .sheet h3{color:var(--green);margin-bottom:4px}
  .sheet p{font-family:var(--font-util);font-size:.8rem;margin-bottom:12px}
  .sheet a,.sheet button.copy{display:block;width:100%;text-align:center;
      min-height:48px;line-height:48px;border-radius:8px;margin-bottom:8px;
      font-family:var(--font-util);font-weight:bold;border:1px solid var(--green);
      color:var(--green);background:#fff;cursor:pointer;font-size:.9rem}
  .sheet button.copy{background:var(--green);color:var(--cream);border:none}
  .sheet .close{background:transparent;border:none;color:#777;margin-top:2px}
  .sheet .vibhint{color:#555;font-size:.78rem;line-height:1.4;background:#fff8e8;
      border:1px solid var(--gold);border-radius:8px;padding:9px 11px}

  /* tablet / desktop: keep 12px sides, just cap width centered */
  @media(min-width:760px){
    .container{max-width:var(--max-width);margin:0 auto}
    /* header, hero and menu COLOUR blocks stop at the same width as content */
    header{max-width:var(--max-width);margin:0 auto}
    .bar{max-width:var(--max-width);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}
    .hero{max-width:var(--max-width);margin:0 auto;
          padding-left:var(--pad);padding-right:var(--pad)}
    nav.menu{max-width:var(--max-width);margin:0 auto}
    .sells{max-width:560px;margin-left:auto;margin-right:auto;margin-top:22px}
    .cards{grid-template-columns:repeat(4,1fr)}
    .hero h1{font-size:2.7rem}
  }

  /* ---------- numbered media placeholder ---------- */
  .media{position:relative;background:linear-gradient(135deg,#1d3b30,#2c5343);
      border:1px dashed var(--gold);border-radius:10px;min-height:160px;
      display:flex;flex-direction:column;align-items:center;justify-content:center;
      color:var(--gold-soft);font-family:var(--font-util);text-align:center;
      padding:14px;gap:6px;overflow:hidden}
  .media .num{font-size:1.1rem;font-weight:bold;letter-spacing:.08em;
      background:var(--gold);color:var(--green);padding:3px 10px;border-radius:14px}
  .media .cap{font-size:.78rem;color:#dfe6e1}
  .media.tall{min-height:220px}
  .media.wide{min-height:130px}
  /* compact media inside cards */
  .ccard .media{min-height:96px;border-radius:8px;padding:8px;gap:3px}
  .ccard .media .num{font-size:.78rem;padding:2px 7px;border-radius:10px}
  .ccard .media .cap{font-size:.66rem;line-height:1.2}
  /* page content shell */
  .page{padding:22px var(--pad);background:var(--cream)}
  .page h1{font-family:var(--font-display);font-size:1.7rem;color:var(--green);
      text-align:center;margin-bottom:6px}
  .page .lead{text-align:center;max-width:620px;margin:0 auto 18px;font-size:1rem;color:#333}
  .page h2{font-family:var(--font-display);font-size:1.3rem;color:var(--green);
      margin:20px 0 10px;text-align:center}
  .colcards{display:grid;grid-template-columns:repeat(2,1fr);gap:11px;max-width:680px;margin:0 auto;align-items:stretch}
  .ccard{background:#fff;border:1px solid var(--line);border-radius:11px;padding:13px;
      display:flex;flex-direction:column}
  a.cclink{text-decoration:none;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}
  a.cclink:hover,a.cclink:active{transform:translateY(-2px);box-shadow:0 6px 18px rgba(15,61,46,.16);border-color:var(--gold)}
  a.cclink h3::after{content:" ›";color:var(--gold)}
  .backlink{display:inline-block;margin:2px 0 20px;font-family:var(--font-util);
      font-weight:bold;font-size:.85rem;color:var(--gold);text-decoration:none}
  .backlink:hover{text-decoration:underline}
  h2[id],h3[id]{scroll-margin-top:64px}
  .ccard h3{font-family:var(--font-display);color:var(--green);font-size:1.05rem;margin:8px 0 4px}
  .ccard p{font-family:var(--font-util);font-size:.84rem;color:#444}
  .badge{display:inline-block;background:var(--gold);color:var(--green);
      font-family:var(--font-util);font-size:.7rem;font-weight:bold;padding:3px 9px;
      border-radius:12px;text-transform:uppercase;letter-spacing:.04em;margin-top:6px}
  .offer-link{display:inline-block;margin-top:auto;padding-top:8px;color:var(--gold);
      font-family:var(--font-util);font-weight:bold;font-size:.85rem}
  .cta-row{text-align:center;margin:22px 0}
  .cta{display:inline-block;min-height:48px;line-height:48px;padding:0 26px;
      background:var(--gold);color:var(--green);border-radius:8px;font-family:var(--font-util);
      font-weight:bold;text-transform:uppercase;letter-spacing:.04em}
  .incl{max-width:560px;margin:0 auto;list-style:none}
  /* Book-your-stay button spans the full card width, inside card padding */
  .bookcard .cta-row{margin:22px 0 0}
  .bookcard .cta{display:block;width:100%;padding-left:0;padding-right:0;text-align:center;box-sizing:border-box}
  .incl li{font-family:var(--font-util);font-size:.9rem;background:#fff;border:1px solid var(--line);
      border-radius:8px;padding:10px 12px;margin-bottom:7px;display:flex;gap:8px}
  .incl li b{color:var(--gold)}

  /* ---------- restaurant photo gallery ---------- */
  .fgal{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;max-width:680px;margin:0 auto}
  .fgal figure{margin:0;background:#fff;border:1px solid var(--line);border-radius:11px;overflow:hidden}
  .fgal img{width:100%;height:150px;object-fit:cover;display:block;background:#1d3b30}
0f3d2e}
#0f3d2e}
  .fgal figure .media{height:150px;border-radius:0;border:0}
  .fgal figure .media.slot-icon{width:100%}
  .fgal figcaption{font-family:var(--font-util);font-size:.78rem;color:#444;padding:8px 10px}

  /* ---------- slide-open route map ---------- */
  .routebox{max-width:680px;margin:0 auto;overflow:hidden;display:none;border-radius:12px}
  .routebox.open{display:block;margin-top:12px}
  .routebox iframe{width:100%;height:300px;border:1px solid var(--line);
      border-radius:12px 12px 0 0;display:block;background:#1d3b30}
  .routebar{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;
      background:var(--footer-bg);padding:10px;border-radius:0 0 12px 12px}
  .routebar a{min-height:42px;line-height:42px;padding:0 16px;border-radius:7px;
      font-family:var(--font-util);font-weight:bold;font-size:.82rem;
      background:var(--gold);color:var(--green)}
  .routebar a.alt{background:transparent;color:var(--gold-soft);border:1px solid var(--gold)}
  .chip.tap{cursor:pointer}
  .chip.tap.active{background:var(--gold);color:var(--green);border-color:var(--gold)}

  /* ---------- site-wide arrival highlight ---------- */
  html{scroll-behavior:smooth}
  @keyframes arriveGlow{
    0%   {box-shadow:0 0 0 0 rgba(201,162,74,0);   background-color:transparent}
    15%  {box-shadow:0 0 0 4px rgba(227,200,121,.9);background-color:rgba(201,162,74,.18)}
    100% {box-shadow:0 0 0 0 rgba(201,162,74,0);   background-color:transparent}
  }
  .arrive{animation:arriveGlow 1.4s ease-out;border-radius:11px}
  @media(prefers-reduced-motion:reduce){.arrive{animation:none}}

  /* land below sticky header on scroll-to-target */
  [id]{scroll-margin-top:54px}

  /* wifi (and any) svg icon inside amenity chip */
  .amen-svg{color:var(--gold);vertical-align:middle;display:inline-block}

  /* ---------- payment brand logos ---------- */
  .paylogos{display:flex;flex-wrap:wrap;gap:8px;max-width:560px;margin:0 auto 8px;justify-content:center}
  .paylogos .brand{background:#fff;border:1px solid var(--line);border-radius:6px;
      padding:6px 8px;display:flex;align-items:center;height:40px}
  .paylogos .brand svg{height:22px;width:auto;display:block}
  .paystrip{max-width:560px;margin:0 auto}
  .paystrip li{font-family:var(--font-util);font-size:.86rem;background:#fff;
      border:1px solid var(--line);border-radius:var(--amen-radius);
      padding:10px 12px;margin-bottom:7px;display:flex;align-items:center;gap:8px;list-style:none}
  .paystrip li b{color:var(--gold)}
  .paystrip li svg{color:var(--gold)}

  /* nav item icons (reused from page) */
  nav.menu a{display:flex;align-items:center;gap:10px}
  .nav-ic{color:var(--gold);flex-shrink:0}

  /* faded/disabled contact button (e.g. Signal not active) */
  .disabled{opacity:.38;pointer-events:none;cursor:default;filter:grayscale(0.4)}

  /* ---------- booking form ---------- */
  .bookform{max-width:560px;margin:0 auto}
  .roomrow{background:#fff;border:1px solid var(--line);border-radius:11px;
      padding:12px;margin-bottom:10px;position:relative}
  .roomrow .rr-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
  .roomrow .rr-title{font-family:var(--font-display);color:var(--green);font-weight:bold;font-size:.95rem}
  .roomrow .rr-del{background:none;border:none;color:#b33;font-size:1.1rem;cursor:pointer;line-height:1}
  .bookform label{display:block;font-family:var(--font-util);font-size:.74rem;
      color:#666;text-transform:uppercase;letter-spacing:.04em;margin:8px 0 3px}
  .bookform input,.bookform select,.bookform textarea{width:100%;font-family:var(--font-util);
      font-size:.9rem;padding:10px;border:1px solid var(--line);border-radius:8px;
      background:var(--cream);color:var(--ink)}
  .bookform .grid2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .addroom{width:100%;min-height:44px;border:1px dashed var(--gold);background:transparent;
      color:var(--gold);font-family:var(--font-util);font-weight:bold;border-radius:8px;
      cursor:pointer;margin-bottom:14px}
  .booksummary{background:var(--green);color:var(--cream);border-radius:10px;padding:12px;
      font-family:var(--font-util);font-size:.85rem;margin:8px 0 14px;text-align:center}
  .booksummary b{color:var(--gold-soft)}
  .booksend{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:6px}
  .booksend button{min-height:50px;padding:0 22px;border-radius:9px;border:none;cursor:pointer;
      font-family:var(--font-util);font-weight:bold;font-size:.92rem;flex:1;min-width:150px}
  .booksend .wa{background:#25D366;color:#063}
  .booksend .vi{background:#7360F2;color:#fff}
  .booksend .cash{background:#2d8a5a;color:#fff;font-weight:600}
  .booksend .em{background:var(--gold);color:var(--green)}
  .booknote{font-family:var(--font-util);font-size:.76rem;color:#888;text-align:center;margin-top:10px}

  /* booking note chips */
  .notechips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
  .nchip{font-family:var(--font-util);font-size:.76rem;padding:6px 10px;border-radius:16px;
      border:1px solid var(--gold);background:transparent;color:var(--green);cursor:pointer}
  .nchip.on{background:var(--gold);color:var(--green);font-weight:bold}
  /* expandable contact-us */
  .contactbtn{width:100%;min-height:46px;margin-top:14px;border:1px solid var(--gold);
      background:transparent;color:var(--gold);font-family:var(--font-util);font-weight:bold;
      border-radius:9px;cursor:pointer}
  .contactrow{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s ease;
      gap:8px;margin-top:0}
  .contactrow.open{grid-template-rows:1fr;margin-top:8px}
  .contactrow>*{overflow:hidden;min-height:0}
  .contactrow{display:none;flex-wrap:wrap;gap:8px}
  .contactrow.open{display:flex}
  .crbtn{flex:1;min-width:100px;min-height:46px;display:flex;align-items:center;
      justify-content:center;gap:6px;border-radius:9px;font-family:var(--font-util);
      font-weight:bold;font-size:.85rem}
  .crbtn.wa{background:#25D366;color:#063}
  .crbtn.vi{background:#7360f2;color:#fff}
  .crbtn.call{background:var(--gold);color:var(--green)}

  /* parking count render from tokens */
  .pk-car .n::before{content:var(--park-car-count)}
  .pk-car .note::before{content:var(--park-car-note)}
  .pk-large .n::before{content:var(--park-large-count)}
  .pk-large .note::before{content:var(--park-large-note)}
  .pk-truck .n::before{content:var(--park-truck-count)}
  .pk-truck .note::before{content:var(--park-truck-note)}
  .pkcounts{display:grid;grid-template-columns:1fr;gap:10px;max-width:520px;margin:0 auto 8px}
  .pkrow{background:#fff;border:1px solid var(--line);border-radius:11px;padding:13px 15px;
      display:flex;align-items:center;gap:14px}
  .pkrow .big{font-family:var(--font-display);font-size:1.6rem;color:var(--gold);font-weight:bold;min-width:42px;text-align:center}
  .pkrow .lbl{font-family:var(--font-display);color:var(--green);font-weight:bold;font-size:1rem}
  .pkrow .note{font-family:var(--font-util);font-size:.78rem;color:#555;display:block;margin-top:2px}
  .pkfree{display:inline-block;background:var(--gold);color:var(--green);font-family:var(--font-util);
      font-weight:bold;font-size:.72rem;padding:3px 10px;border-radius:12px;margin-left:auto;text-transform:uppercase}

  /* vehicle type selector */
  .vehsel{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;max-width:520px;margin:0 auto}
  .vehbtn{background:#fff;border:1px solid var(--line);border-radius:11px;padding:10px 6px;
      display:flex;flex-direction:column;align-items:center;gap:8px;
      font-family:var(--font-util);font-size:.76rem;color:var(--green)}
  .vehtop{display:flex;flex-direction:column;align-items:center;gap:4px}
  .vehbtn svg{color:var(--gold);width:24px;height:24px}
  .vehbtn.on{background:var(--gold);color:var(--green)}
  .vehbtn.on svg{color:var(--green)}
  .vehqty{display:flex;align-items:center;gap:8px}
  .vehqty button{width:26px;height:26px;border-radius:50%;border:1px solid var(--gold);
      background:transparent;color:var(--gold);font-size:1rem;line-height:1;cursor:pointer;
      display:flex;align-items:center;justify-content:center}
  .vehbtn.on .vehqty button{border-color:var(--green);color:var(--green)}
  .vehqty .qval{min-width:16px;text-align:center;font-weight:bold}
  .vehcap{background:#fff5e0;border:1px solid var(--gold);border-radius:8px;
      padding:9px 11px;margin:10px auto 0;max-width:520px;font-family:var(--font-util);
      font-size:.8rem;color:#7a5b1a;text-align:center}
  .vehcap.over{background:#fde0e0;border-color:#c33;color:#a22}

  /* holiday note under booking dates */
  .holnote{background:#fff5e0;border:1px solid var(--gold);border-radius:8px;
      padding:9px 11px;margin-top:8px;font-family:var(--font-util);font-size:.8rem;
      color:#7a5b1a;line-height:1.4}
  /* info / holidays page */
  .infolist{max-width:560px;margin:0 auto;list-style:none}
  .infolist li{font-family:var(--font-util);font-size:.88rem;background:#fff;
      border:1px solid var(--line);border-radius:8px;padding:11px 13px;margin-bottom:7px;
      display:flex;gap:10px}
  .infolist li .d{color:var(--gold);font-weight:bold;min-width:62px}
  .hol-upcoming{outline:2px solid var(--gold)}

  /* vehicle selector — disabled when capacity full */
  .vehbtn.vdisabled{opacity:.38;pointer-events:none}
  .vehqty button.qdisabled{opacity:.3;pointer-events:none;cursor:default}

  /* room card breakfast line + book button */
  .bfline{font-family:var(--font-util);font-size:.78rem;color:var(--green);
      background:#e3efe3;border-radius:5px;padding:3px 8px;margin:8px 0;
      display:inline-block}
  .rbook{display:block;clear:both;width:100%;margin-top:12px;min-height:44px;line-height:44px;
      padding:0;text-align:center;background:var(--gold);color:var(--green);border-radius:8px;
      font-family:var(--font-util);font-weight:bold;font-size:.85rem;text-transform:uppercase;
      letter-spacing:.03em;box-sizing:border-box}
  /* breakfast stepper in booking */
  .bfrow{display:flex;align-items:center;gap:10px;margin-top:8px;
      font-family:var(--font-util);font-size:.82rem;color:var(--green)}
  .bfrow .bflabel{flex:1}
  .bfrow .bfqty{display:flex;align-items:center;gap:8px}
  .bfrow .bfqty button{width:26px;height:26px;border-radius:50%;border:1px solid var(--gold);
      background:transparent;color:var(--gold);font-size:1rem;cursor:pointer;line-height:1}
  .bfrow .bfqty button.qdisabled{opacity:.3;pointer-events:none}
  .bfrow .bfval{min-width:16px;text-align:center;font-weight:bold}

  /* phone app markers */
  .appmarks{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-top:8px}
  .appmarks .amk-label{font-family:var(--font-util);font-size:.76rem;color:#666;margin-right:2px}
  .amk{font-family:var(--font-util);font-size:.78rem;padding:6px 12px;border-radius:16px;
      border:1px solid var(--gold);background:transparent;color:var(--green);cursor:pointer}
  .amk.on{background:var(--gold);color:var(--green);font-weight:bold}

  /* per-person price detail on apartment card */
  .rppdetail{font-family:var(--font-util);font-size:.76rem;color:#777;margin:2px 0 0}

  /* ---------- settings playground ---------- */
  .setgear{position:fixed;right:14px;bottom:14px;z-index:200;width:48px;height:48px;
      border-radius:50%;border:none;background:var(--gold);color:var(--green);
      font-size:1.4rem;cursor:pointer;box-shadow:0 3px 10px rgba(0,0,0,.3)}
  .setpanel{position:fixed;inset:0;z-index:210;background:rgba(0,0,0,.5);
      display:flex;justify-content:flex-end}
  .setinner{width:min(380px,90vw);height:100%;overflow-y:auto;background:var(--cream);
      padding:16px;box-shadow:-4px 0 20px rgba(0,0,0,.3)}
  .sethead{display:flex;justify-content:space-between;align-items:center;
      font-family:var(--font-display);color:var(--green);font-size:1.1rem;margin-bottom:6px}
  .setx{background:none;border:none;font-size:1.2rem;cursor:pointer;color:#888}
  .setnote{font-family:var(--font-util);font-size:.76rem;color:#666;margin-bottom:12px;line-height:1.4}
  .setgrp{border:1px solid var(--line);border-radius:9px;padding:10px;margin-bottom:10px;background:#fff}
  .setgrp h4{font-family:var(--font-util);font-size:.74rem;text-transform:uppercase;
      letter-spacing:.05em;color:var(--gold);margin-bottom:8px}
  .setgrp label{display:flex;justify-content:space-between;align-items:center;gap:10px;
      font-family:var(--font-util);font-size:.82rem;color:var(--ink);margin:5px 0}
  .setgrp input,.setgrp select{font-family:var(--font-util);font-size:.85rem;padding:5px 7px;
      border:1px solid var(--line);border-radius:6px;max-width:150px}
  .setgrp input[type=color]{padding:2px;width:46px;height:30px}
  .setbtns{display:flex;gap:8px;margin:4px 0 10px}
  .setcopy{flex:1;min-height:44px;border:none;border-radius:8px;background:var(--gold);
      color:var(--green);font-family:var(--font-util);font-weight:bold;cursor:pointer}
  .setreset{min-height:44px;padding:0 14px;border:1px solid var(--line);border-radius:8px;
      background:#fff;color:#666;font-family:var(--font-util);cursor:pointer}
  .setout{width:100%;min-height:120px;font-family:monospace;font-size:.72rem;
      border:1px solid var(--line);border-radius:8px;padding:8px;background:#fff;color:#333}

  /* header contact dropdown */
  .cdrop{position:relative;display:inline-block}
  .ctoggle{cursor:pointer}
  .cmenu{position:absolute;right:0;top:calc(100% + 8px);background:var(--green);
      border:1px solid var(--gold);border-radius:10px;padding:6px;min-width:170px;
      display:none;flex-direction:column;gap:3px;z-index:60;box-shadow:0 6px 18px rgba(0,0,0,.35)}
  .cmenu.open{display:flex}
  .cmenu .cmi{display:block;padding:9px 12px;border-radius:7px;color:var(--cream);
      font-family:var(--font-util);font-size:.88rem;text-decoration:none;white-space:nowrap}
  .cmenu .cmi:hover{background:rgba(255,255,255,.08)}
  .cmenu .cmi.disabled{opacity:.4;pointer-events:none}

  /* header tweaks: tighter burger (≈0.5mm top/bottom), phone icon nudged left (≈1mm) */
  .burger{height:calc(var(--burger-h) - 4px);padding:0}
  .cdrop{margin-right:4px}

  /* real classified photos inside media boxes */
  .media.has-photo{padding:0;border-style:solid;overflow:hidden}
  .media.has-photo img{width:100%;height:100%;object-fit:cover;display:block;border-radius:inherit}
  .ccard .media.has-photo{height:190px;box-sizing:border-box;margin:0 0 8px}

  /* slot icon fallback (no photo yet) */
  .media.slot-icon{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;
      background:linear-gradient(135deg,#1d3b30,#2c5343);border:1px dashed var(--gold)}
  .media.slot-icon svg{width:46px;height:46px;color:var(--gold)}
  .media.slot-icon .slot-cap{font-family:var(--font-util);font-weight:bold;text-transform:uppercase;
      letter-spacing:.08em;font-size:.82rem;color:var(--gold-soft);text-align:center}
  .ccard .media.slot-icon{min-height:190px;height:190px;flex:0 0 190px;padding:0;box-sizing:border-box;margin:0 0 8px}
  .ccard .media.slot-icon svg{width:38px;height:38px}
  /* slideshow */
  .media.slideshow{position:relative;padding:0;overflow:hidden}
  .media.slideshow .slides{position:relative;width:100%;height:100%}
  .media.slideshow .slides img{position:absolute;inset:0;width:100%;height:100%;
      object-fit:cover;opacity:0;transition:opacity .5s ease}
  .media.slideshow .slides img.on{opacity:1}
  .media.slideshow .sl-prev,.media.slideshow .sl-next{position:absolute;top:50%;
      transform:translateY(-50%);background:rgba(15,61,46,.55);color:#fff;border:none;
      width:34px;height:44px;font-size:1.4rem;cursor:pointer;z-index:2}
  .media.slideshow .sl-prev{left:0;border-radius:0 6px 6px 0}
  .media.slideshow .sl-next{right:0;border-radius:6px 0 0 6px}
  .media.slideshow .sl-dots{position:absolute;bottom:8px;left:0;right:0;display:flex;
      justify-content:center;gap:6px;z-index:2}
  .media.slideshow .sl-dots span{width:7px;height:7px;border-radius:50%;
      background:rgba(255,255,255,.5)}
  .media.slideshow .sl-dots span.on{background:var(--gold)}

  /* very soft attention animation on the header phone icon */
  @keyframes softGlow{
    0%,100%{box-shadow:0 0 0 0 rgba(201,162,74,0);}
    50%{box-shadow:0 0 8px 2px rgba(201,162,74,.35);}
  }
  @keyframes softPulse{
    0%,92%,100%{transform:scale(1);}
    46%{transform:scale(1.06);}
  }
  .ctoggle{cursor:pointer;border-radius:50%;
      animation:softPulse 3.4s ease-in-out var(--ctoggle-loops);}
  .ctoggle:hover{animation:none;}
  @media (prefers-reduced-motion:reduce){ .ctoggle{animation:none;} }

  /* green glow flash on Copy coordinates */
  @keyframes copyGlow{
    0%   {box-shadow:0 0 0 0 rgba(34,197,94,0);}
    25%  {box-shadow:0 0 22px 5px rgba(34,197,94,.85);}
    100% {box-shadow:0 0 0 0 rgba(34,197,94,0);}
  }
  .copy.glow{animation:copyGlow 1.4s ease-out 1;}
  @media (prefers-reduced-motion:reduce){ .copy.glow{animation:none;} }

  /* footer social icons (shown only when SHOW_SOCIAL + links set) */
  .social{display:flex;gap:12px;justify-content:center;margin:10px 0}
  .social .soc{width:38px;height:38px;border-radius:50%;display:flex;
      align-items:center;justify-content:center;background:var(--gold);
      color:var(--green);transition:opacity .2s}
  .social .soc:hover{opacity:.85}

  /* room-card thumbnail — floated top-right corner */
  .rcard .rthumb{float:right;width:140px;height:105px;margin:0 0 8px 12px;
      border-radius:9px;overflow:hidden;background:var(--green)}
  .rcard .rthumb img{width:100%;height:100%;object-fit:cover;display:block}
  a.rthumblink{position:relative;display:block;cursor:pointer;text-decoration:none;
      transition:transform .12s ease,box-shadow .12s ease}
  a.rthumblink:hover,a.rthumblink:active{transform:translateY(-2px);box-shadow:0 6px 16px rgba(15,61,46,.22)}
  a.rthumblink .rthumb-cue{position:absolute;left:0;right:0;bottom:0;
      background:linear-gradient(transparent,rgba(15,61,46,.82));
      color:var(--cream);font-family:var(--font-util);font-size:.68rem;font-weight:bold;
      letter-spacing:.04em;padding:14px 6px 5px;text-align:center}
  #rc-r1,#rc-r2,#rc-r2b,#rc-r3{scroll-margin-top:70px}
  .rcard .rthumb-soon{display:flex;align-items:center;justify-content:center;
      border:1px dashed var(--gold)}
  .rcard .rthumb-soon span{font-family:var(--font-util);font-size:.75rem;
      color:var(--gold);letter-spacing:.05em;text-transform:uppercase}

  /* booking contact requirement hint */
  .bookform .contact-hint{font-family:var(--font-util);font-size:.76rem;color:#555;
      background:#eef4ee;border-left:3px solid var(--green);border-radius:4px;
      padding:7px 10px;margin:4px 0 10px}
  .bookform .contact-hint b{color:var(--green)}

  /* contact QR code block */
  .qrbox{display:flex;flex-direction:column;align-items:center;gap:12px;
      background:#fff;border:1px solid var(--line);border-radius:12px;
      padding:20px;max-width:300px;margin:8px auto}
  .qrbox .qrimg{width:220px;height:220px;display:block}
  .qrbox .qrcap{font-family:var(--font-util);font-size:.82rem;color:#555;
      text-align:center;line-height:1.5}
  .qrbox .qrcap b{color:var(--green)}

  /* header dropdown Close row */
  .cmenu .cmi-close{width:100%;text-align:left;background:none;border:none;cursor:pointer;
      font-family:inherit;font-size:inherit;color:var(--cream);
      margin-top:6px;padding-top:12px;border-top:1px solid rgba(255,255,255,.18)}
  .cmenu .cmi-close:hover{background:rgba(255,255,255,.08)}

  /* tap-to-enlarge card thumbnail */
  .popimg{display:block;width:100%;max-width:420px;margin:10px auto;padding:0;border:none;
      background:none;cursor:pointer;border-radius:12px;overflow:hidden;line-height:0}
  .popimg img{width:100%;height:220px;object-fit:cover;display:block;border-radius:12px;
      transition:transform .2s ease}
  .popimg:hover img{transform:scale(1.02)}

  /* full-size image lightbox */
  .lightbox{position:fixed;inset:0;z-index:120;display:none;
      background:rgba(0,0,0,.88);align-items:center;justify-content:center;padding:20px}
  .lightbox.open{display:flex}
  .lightbox img{max-width:100%;max-height:90vh;border-radius:8px;box-shadow:0 8px 40px rgba(0,0,0,.6)}
  .lightbox .lb-close{position:absolute;top:16px;right:20px;width:44px;height:44px;
      border-radius:50%;border:1px solid rgba(255,255,255,.4);background:rgba(0,0,0,.4);
      color:#fff;font-size:1.3rem;cursor:pointer;line-height:1}

  /* popimg inside a card — match the other card media tiles */
  .ccard .popimg.card{max-width:100%;margin:0 0 8px;border-radius:8px}
  .ccard .popimg.card{flex:0 0 190px;height:190px;box-sizing:border-box;margin:0 0 8px}
  .ccard .popimg.card img{height:190px;width:100%;object-fit:cover;display:block;border-radius:8px}
  .tap-hint{display:inline-block;font-size:.66rem;color:var(--gold);
      text-transform:uppercase;letter-spacing:.04em;margin-top:2px}

  /* card read-more expander (keeps cards uniform height) */
  .ccard .more-text{display:none}
  .ccard p.clip.open .more-text{display:inline}
  .ccard .readmore{background:none;border:none;cursor:pointer;padding:2px 0;margin-top:2px;
      color:var(--gold);font-family:var(--font-util);font-weight:bold;font-size:.78rem;
      text-transform:uppercase;letter-spacing:.03em;align-self:flex-start}
  .ccard .readmore:hover{text-decoration:underline}

  /* uniform collapsed height for What-we-host event cards */
  #whatwehost .ccard, #eventoffers .ccard{min-height:340px}

/* ============================================================
   GPU-SAFE MODE — DO NOT REMOVE.
   ALL CSS animations & transitions are disabled site-wide.
   Any animated repaint (even one-shot, e.g. the load-time chip
   glow) permanently corrupts the framebuffer on some Android
   GPUs (observed: Redmi 15C — static bands / ghost tiles that
   persist because tiles are never repainted).
   History: v126 layer promotion, v129 finite loops, v130 opacity
   fade, v131 display toggle, v133 slideshow timer — all failed
   while any animation remained. This kill-switch is the fix.
   ============================================================ */
*,*::before,*::after{animation:none !important;transition:none !important}
