@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=DM+Sans:wght@400;500;600&display=swap');

:root{--ink:#10233b;--pine:#24493c;--gold:#bc842a;--cream:#faf7f1;--sand:#ede5d7;--muted:#6e756f;--line:rgba(16,35,59,.14);--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.65;background:var(--cream)}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;object-fit:cover}.container{width:min(1160px,calc(100% - 42px));margin:auto}.eyebrow{margin:0 0 9px;text-transform:uppercase;letter-spacing:.2em;font-size:10px;font-weight:600;color:var(--gold)}h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1;margin:0}h1{font-size:clamp(46px,7vw,86px)}h2{font-size:clamp(37px,4vw,57px)}h3{font-size:31px}p{margin:0 0 16px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:47px;padding:11px 25px;color:#fff;background:var(--gold);border:1px solid var(--gold);font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;transition:.25s}.button:hover{background:transparent;color:var(--gold)}.button.light{background:transparent;border-color:rgba(255,255,255,.55);color:#fff}.button.light:hover{background:#fff;color:var(--ink)}.button.dark{background:var(--ink);border-color:var(--ink)}
.topline{background:var(--ink);color:#fff;font-size:11px;letter-spacing:.07em}.topline .container{height:38px;display:flex;align-items:center;justify-content:space-between}.topline span:last-child{color:#dfc28e}.site-header{height:82px;display:flex;align-items:center;background:rgba(250,247,241,.97);border-bottom:1px solid var(--line);position:relative;z-index:10}.site-header .container{display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:11px}.brand-mark{width:48px;height:48px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;font-family:var(--serif);font-weight:700;font-size:23px;letter-spacing:-.11em;color:var(--ink);position:relative}.brand-mark:after{content:'';position:absolute;width:31px;height:8px;border-top:2px solid var(--pine);border-radius:50%;bottom:6px;transform:skewX(-28deg)}.brand-text{font-family:var(--serif);font-size:22px;line-height:.72;letter-spacing:.045em}.brand-text small{font-family:var(--sans);display:block;color:var(--gold);font-size:7px;letter-spacing:.33em;text-align:center;margin-top:10px}nav{display:flex;align-items:center;gap:26px}nav a{font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;position:relative}nav a:after{content:'';position:absolute;left:0;bottom:-7px;width:0;height:1px;background:var(--gold);transition:.25s}nav a:hover:after,nav a.active:after{width:100%}.menu-toggle{display:none;border:0;background:transparent;color:var(--ink);font-size:25px}
.hero{min-height:680px;display:grid;align-items:center;color:#fff;background:linear-gradient(90deg,rgba(9,24,31,.78),rgba(9,24,31,.3) 64%,rgba(9,24,31,.2)),url('https://images.unsplash.com/photo-1500534623283-312aade485b7?auto=format&fit=crop&w=2000&q=85') center/cover}.hero .container{padding:100px 0 128px}.stars{color:#e3b34f;letter-spacing:6px;font-size:14px;margin-bottom:17px}.hero h1{max-width:760px;margin-bottom:22px}.hero h1 em{font-style:italic;color:#e5bc67}.hero-copy{max-width:530px;color:rgba(255,255,255,.82);font-size:16px;margin-bottom:28px}.booking-bar{margin-top:-60px;position:relative;z-index:2;background:#fff;box-shadow:0 16px 40px rgba(16,35,59,.13);padding:23px 25px;display:grid;grid-template-columns:1.25fr 1fr 1fr 1fr auto;align-items:end;gap:18px}.booking-bar label,.form-grid label{display:block;text-transform:uppercase;letter-spacing:.13em;color:var(--muted);font-weight:600;font-size:9px}.booking-bar input,.booking-bar select,.booking-bar button,.form-grid input,.form-grid select,.form-grid textarea{font:inherit}.booking-bar input,.booking-bar select{width:100%;border:0;border-bottom:1px solid var(--line);color:var(--ink);padding:7px 0;background:transparent;font-size:14px;outline:none}.booking-bar .button{border:0;cursor:pointer}
.section{padding:104px 0}.section.sand{background:var(--sand)}.intro-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:94px;align-items:center}.image-stack{position:relative;padding:0 45px 45px 0}.image-stack img:first-child{width:100%;height:490px}.image-stack img:last-child{position:absolute;right:0;bottom:0;width:48%;height:270px;border:10px solid var(--cream)}.content-lead{font-size:17px;color:#53615b;max-width:490px}.text-link{font-size:11px;letter-spacing:.14em;color:var(--gold);text-transform:uppercase;font-weight:600;display:inline-block;margin-top:12px}.text-link:after{content:' →';font-size:16px;margin-left:5px}.stat-row{margin-top:31px;padding-top:26px;border-top:1px solid var(--line);display:flex;gap:36px}.stat b{font-family:var(--serif);font-weight:500;font-size:38px;display:block;line-height:1}.stat span{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.section-heading{max-width:620px;margin-bottom:40px}.section-heading p:last-child{color:var(--muted);margin-top:15px}.room-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}.room-card{background:#fff;position:relative;min-height:430px;display:flex;align-items:end;overflow:hidden}.room-card img{width:100%;height:100%;position:absolute;inset:0;transition:.6s}.room-card:hover img{transform:scale(1.06)}.room-card:after{content:'';position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(9,20,27,.82))}.room-card-content{position:relative;z-index:1;padding:31px;color:#fff;width:100%}.room-card-content span{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#ecc779}.room-card-content h3{margin:5px 0 9px}.room-card-content p{margin:0;color:rgba(255,255,255,.75);font-size:13px}.feature-banner{padding:105px 0;background:linear-gradient(rgba(12,32,40,.6),rgba(12,32,40,.6)),url('https://images.unsplash.com/photo-1464822759023-fed622ff2c3b?auto=format&fit=crop&w=2000&q=85') center/cover;color:#fff;text-align:center}.feature-banner p{max-width:570px;margin:17px auto 28px;color:rgba(255,255,255,.8)}.amenity-list{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid rgba(255,255,255,.25);border-bottom:1px solid rgba(255,255,255,.25);max-width:880px;margin:43px auto 0}.amenity-list div{padding:22px 10px;border-right:1px solid rgba(255,255,255,.25);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.amenity-list div:last-child{border:0}.amenity-list i{display:block;color:#e8bd65;font-style:normal;font-size:23px;margin-bottom:5px}.destination-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.destination-card{background:#fff}.destination-card img{width:100%;height:267px}.destination-card div{padding:19px 20px 21px}.destination-card h3{font-size:28px}.destination-card p{color:var(--muted);font-size:13px;margin:5px 0 0}
.page-hero{height:370px;color:#fff;display:grid;align-items:center;background:linear-gradient(90deg,rgba(12,31,37,.7),rgba(12,31,37,.3)),url('https://images.unsplash.com/photo-1501785888041-af3ef285b470?auto=format&fit=crop&w=2000&q=85') center/cover}.page-hero .eyebrow{color:#e6bf70}.page-hero h1{font-size:clamp(48px,6vw,75px)}.breadcrumb{font-size:10px;text-transform:uppercase;letter-spacing:.15em;margin-top:16px;color:rgba(255,255,255,.78)}.breadcrumb a{color:#e8bd65}.quote{border-left:2px solid var(--gold);padding:10px 0 10px 25px;font-family:var(--serif);font-size:27px;line-height:1.15;color:var(--pine);margin-top:24px}.split-media{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:55px}.split-media img{height:410px;width:100%}.split-media div{padding:60px;background:var(--pine);color:#fff}.split-media p{color:rgba(255,255,255,.76);margin-top:15px}.values{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}.value-num{font-family:var(--serif);font-size:55px;line-height:1;color:#d0ab62}.value-card h3{margin:4px 0 8px}.value-card p{color:var(--muted);font-size:14px}
.amenity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.amenity-card{background:#fff;padding:32px 28px;min-height:190px;border-bottom:2px solid transparent;transition:.25s}.amenity-card:hover{border-color:var(--gold);transform:translateY(-3px)}.amenity-icon{font-size:29px;color:var(--gold);line-height:1}.amenity-card h3{font-size:28px;margin:17px 0 7px}.amenity-card p{font-size:13px;color:var(--muted);margin:0}.experience{display:grid;grid-template-columns:1fr 1fr;min-height:460px}.experience img{height:100%;width:100%}.experience-copy{background:var(--ink);color:#fff;padding:80px 10%;display:flex;flex-direction:column;justify-content:center}.experience-copy p:not(.eyebrow){color:rgba(255,255,255,.75);margin-top:16px}.experience-copy .eyebrow{color:#e6bf70}
.booking-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:62px;align-items:start}.booking-aside{background:var(--ink);padding:43px 35px;color:#fff}.booking-aside h2{font-size:43px}.booking-aside p{color:rgba(255,255,255,.7);margin-top:14px}.booking-aside ul{padding:0;margin:24px 0 0;list-style:none;border-top:1px solid rgba(255,255,255,.18)}.booking-aside li{padding:13px 0;border-bottom:1px solid rgba(255,255,255,.18);font-size:13px}.booking-aside li strong{color:#e6bf70}.booking-form h2{font-size:48px;margin-bottom:12px}.booking-form>p{color:var(--muted)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:30px}.form-grid .full{grid-column:1/-1}.form-grid input,.form-grid select,.form-grid textarea{width:100%;padding:13px 0;border:0;border-bottom:1px solid var(--line);outline:0;background:transparent;color:var(--ink);resize:vertical}.form-grid textarea{min-height:85px}.booking-form .button{margin-top:31px;cursor:pointer}.form-note{font-size:11px;color:var(--muted);margin-top:12px}.gallery-filter{display:flex;gap:22px;margin:-12px 0 30px}.gallery-filter button{border:0;background:transparent;padding:0;color:var(--muted);font-size:11px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}.gallery-filter button.active,.gallery-filter button:hover{color:var(--gold)}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.contact-cards{display:grid;gap:0;margin-top:30px;border-top:1px solid var(--line)}.contact-card{padding:18px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:32px 1fr;gap:14px}.contact-card i{font-style:normal;color:var(--gold);font-size:20px}.contact-card strong{font-family:var(--serif);font-size:25px;font-weight:500;line-height:1.1;display:block}.contact-card span{font-size:13px;color:var(--muted)}.contact-visual{min-height:500px;padding:42px;background:linear-gradient(rgba(16,35,59,.72),rgba(16,35,59,.72)),url('assets/kodai-sims-grand-brand.jpg') center/cover;color:#fff;display:flex;align-items:end}.contact-visual h2{max-width:440px}.contact-visual p{margin:11px 0 0;color:rgba(255,255,255,.8)}
.site-footer{background:#0d2138;color:#fff;padding:66px 0 20px}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1.15fr;gap:65px;padding-bottom:48px}.footer-brand .brand{color:#fff}.footer-brand .brand-mark{color:#fff}.footer-brand p{margin-top:22px;color:rgba(255,255,255,.63);max-width:310px;font-size:13px}.footer-title{font-size:11px;text-transform:uppercase;letter-spacing:.17em;color:#e5bb66;margin:8px 0 18px}.footer-links{padding:0;margin:0;list-style:none;columns:2}.footer-links li{margin-bottom:8px;font-size:13px;color:rgba(255,255,255,.72)}.footer-contact{font-size:13px;color:rgba(255,255,255,.7)}.footer-contact a{display:block;margin-bottom:9px}.footer-bottom{border-top:1px solid rgba(255,255,255,.15);padding-top:18px;display:flex;justify-content:space-between;color:rgba(255,255,255,.45);font-size:11px}.whatsapp-float{width:55px;height:55px;border-radius:50%;background:#25d366;color:#fff;display:grid;place-items:center;position:fixed;right:24px;bottom:24px;z-index:5;box-shadow:0 5px 18px rgba(0,0,0,.2);font-size:25px}.whatsapp-float:hover{transform:scale(1.06)}
@media(max-width:850px){nav{display:none;position:absolute;top:82px;left:0;right:0;background:#fff;flex-direction:column;align-items:flex-start;padding:25px 25px;gap:17px;box-shadow:0 15px 20px rgba(0,0,0,.08)}nav.open{display:flex}.menu-toggle{display:block}.booking-bar{grid-template-columns:repeat(2,1fr);margin-top:-30px}.booking-bar .button{grid-column:1/-1}.intro-grid,.booking-layout,.contact-grid{grid-template-columns:1fr;gap:43px}.amenity-grid{grid-template-columns:repeat(2,1fr)}.destination-grid{grid-template-columns:1fr 1fr}.footer-grid{gap:35px}.hero{min-height:610px}.hero .container{padding-top:70px}.section{padding:75px 0}.contact-visual{min-height:360px}}
@media(max-width:560px){.topline .container span:first-child{display:none}.topline .container{justify-content:center}.site-header{height:75px}.brand-text{font-size:19px}.brand-mark{width:43px;height:43px}.menu-toggle{font-size:23px}.hero{min-height:590px}.hero .container{padding:70px 0 80px}.hero-copy{font-size:14px}.booking-bar{display:block;padding:20px}.booking-bar>div{margin:0 0 17px}.booking-bar .button{width:100%}.section{padding:63px 0}.image-stack{padding-right:26px;padding-bottom:26px}.image-stack img:first-child{height:385px}.image-stack img:last-child{height:190px}.stat-row{gap:16px}.stat b{font-size:31px}.room-grid,.destination-grid,.amenity-grid,.values,.experience,.split-media{grid-template-columns:1fr}.room-card{min-height:355px}.feature-banner{padding:75px 0}.amenity-list{grid-template-columns:1fr 1fr}.amenity-list div:nth-child(2){border:0}.amenity-list div:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.25)}.page-hero{height:300px}.split-media div{padding:41px 30px}.split-media img{height:300px}.experience img{height:310px}.experience-copy{padding:56px 9%}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.gallery-grid{gap:9px}.gallery-grid a:nth-child(n){grid-column:span 12;height:250px}.gallery-filter{gap:13px;flex-wrap:wrap}.footer-grid{grid-template-columns:1fr}.footer-bottom{display:block}.footer-bottom span{display:block;margin-bottom:4px}.whatsapp-float{right:16px;bottom:16px}.contact-visual{padding:28px;min-height:320px}}

/* Readability, supplied logo, and matching icon refinements */
body{font-size:16px;line-height:1.68}.eyebrow{font-size:11px;letter-spacing:.18em}.button{min-height:49px;font-size:12px;letter-spacing:.1em}.topline{font-size:12px;letter-spacing:.05em}.site-header{height:88px}.brand{gap:10px}.brand-mark{width:84px;height:54px;display:block;flex:0 0 auto;background:url('assets/ksg-logo.png') center/cover no-repeat;font-size:0}.brand-mark:after{display:none}.brand-text small{font-size:8px;letter-spacing:.3em}nav a{font-size:12px;letter-spacing:.09em}.booking-bar{padding:25px 27px}.booking-bar label,.form-grid label{font-size:11px;letter-spacing:.11em}.booking-bar input,.booking-bar select{font-size:16px;padding:8px 0}.amenity-list div{font-size:12px;letter-spacing:.07em}.amenity-list i{margin-bottom:7px}.destination-card p{font-size:14px;margin-top:7px}.amenity-card{min-height:195px}.amenity-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:#faf4e8;font-size:19px;color:var(--gold)}.amenity-card h3{font-size:29px;margin-bottom:8px}.amenity-card p{font-size:14px}.booking-aside p{color:rgba(255,255,255,.78)}.booking-aside li{font-size:15px;padding:14px 0}.form-grid{gap:24px}.form-grid input,.form-grid select,.form-grid textarea{font-size:16px;padding:12px 0}.form-grid textarea{min-height:92px}.form-note{font-size:13px}.founder{display:grid;grid-template-columns:310px 1fr;gap:55px;align-items:center;margin-top:68px;padding-top:68px;border-top:1px solid var(--line)}.founder img{width:100%;height:360px}.founder h3{font-size:40px;margin:7px 0 15px}.founder p{max-width:610px;color:var(--muted)}.founder .signature{font-family:var(--serif);font-size:25px;color:var(--pine);margin:18px 0 0}.footer-brand .brand-mark{filter:brightness(0) invert(1) sepia(.5);opacity:.94}.footer-brand p{font-size:14px;color:rgba(255,255,255,.72)}.footer-title{font-size:12px;letter-spacing:.15em}.footer-links li,.footer-contact{font-size:14px}.footer-bottom{font-size:12px}.whatsapp-float{width:57px;height:57px;font-size:0}.whatsapp-float i{display:none}.whatsapp-float:before{content:'\f232';font-family:'Font Awesome 6 Brands';font-size:29px}.feature-banner{background-image:linear-gradient(rgba(12,32,40,.62),rgba(12,32,40,.62)),url('https://images.unsplash.com/photo-1593692867948-bb6ba7c03fd1?auto=format&fit=crop&w=2000&q=85')}.page-hero{background-image:linear-gradient(90deg,rgba(12,31,37,.72),rgba(12,31,37,.28)),url('https://images.unsplash.com/photo-1692792284356-f80113facd09?auto=format&fit=crop&w=2000&q=85')}.hero-slider{position:relative;overflow:hidden;background:#142c35}.hero-slider:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,24,31,.8),rgba(9,24,31,.34) 64%,rgba(9,24,31,.22)),var(--hero-image) center/cover;transition:opacity .7s ease}.hero-slider .container{position:relative;z-index:1}.slider-controls{position:absolute;z-index:2;left:50%;bottom:32px;transform:translateX(-50%);display:flex;align-items:center;gap:11px}.slider-dot{width:9px;height:9px;border-radius:50%;padding:0;border:1px solid rgba(255,255,255,.85);background:transparent;cursor:pointer}.slider-dot.active{background:#e5bb66;border-color:#e5bb66}.slider-arrow{position:absolute;z-index:2;bottom:24px;width:42px;height:42px;border:1px solid rgba(255,255,255,.65);background:rgba(12,25,31,.25);color:#fff;cursor:pointer;font-size:22px;line-height:1}.slider-arrow:hover{background:#bc842a;border-color:#bc842a}.slider-arrow.prev{right:76px}.slider-arrow.next{right:26px}
@media(max-width:850px){nav{top:88px}.founder{grid-template-columns:240px 1fr;gap:35px}}
@media(max-width:560px){.site-header{height:76px}.brand-mark{width:70px;height:48px}.hero-copy{font-size:15px}.room-grid,.destination-grid,.amenity-grid,.values,.experience,.split-media,.founder{grid-template-columns:1fr}.founder{gap:27px;margin-top:50px;padding-top:50px}.founder img{height:340px}.slider-controls{bottom:21px}.slider-arrow{display:none}}

/* Contact page and brand corrections */
.brand-text small{font-size:10px;letter-spacing:.26em;margin-top:9px}.footer-brand .brand-mark{filter:none;opacity:1;background-size:cover}.footer-brand .brand-text small{font-size:11px;letter-spacing:.23em}.contact-page-hero{background-image:linear-gradient(90deg,rgba(12,31,37,.74),rgba(12,31,37,.25)),url('https://images.unsplash.com/photo-1559203113-abbc862e620e?auto=format&fit=crop&w=2000&q=85')}.contact-visual{background-image:linear-gradient(rgba(16,35,59,.67),rgba(16,35,59,.67)),url('https://images.unsplash.com/photo-1593692867948-bb6ba7c03fd1?auto=format&fit=crop&w=1300&q=85');background-position:center}.contact-form-layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:65px;align-items:center}.contact-form-copy p:not(.eyebrow){color:var(--muted);font-size:17px;max-width:430px;margin-top:18px}.contact-form{background:#fff;padding:39px 43px;box-shadow:0 12px 32px rgba(16,35,59,.08)}.contact-form .button{margin-top:29px;cursor:pointer}.contact-form .button i{font-size:17px}.map-section{height:440px;background:#d9ded8}.map-section iframe{width:100%;height:100%;border:0;display:block}.contact-card i{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:#faf4e8;font-size:14px}.contact-card span{font-size:14px}
@media(max-width:850px){.contact-form-layout{grid-template-columns:1fr;gap:31px}}
@media(max-width:560px){.brand-text small{font-size:9px}.footer-brand .brand-text small{font-size:10px}.contact-form{padding:30px 24px}.map-section{height:340px}}
/* =========================================
   GALLERY LIGHTBOX
========================================= */

.lightbox {
    position: fixed;
    inset: 0;
    z-index: 99999;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 40px;

    background: rgba(0, 0, 0, 0.94);

    opacity: 0;
    visibility: hidden;
    pointer-events: none;

    transition:
        opacity 0.3s ease,
        visibility 0.3s ease;
}

.lightbox.active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.lightbox-content {
    width: min(1100px, 90vw);
    height: min(82vh, 800px);

    display: flex;
    align-items: center;
    justify-content: center;
}

.lightbox-content img {
    max-width: 100%;
    max-height: 82vh;

    width: auto;
    height: auto;

    object-fit: contain;

    border-radius: 5px;

    box-shadow:
        0 20px 70px rgba(0, 0, 0, 0.6);
}


/* =========================================
   LIGHTBOX BUTTONS
========================================= */

.lightbox button {
    position: absolute;

    width: 50px;
    height: 50px;

    border: none;
    border-radius: 50%;

    background: rgba(255, 255, 255, 0.12);

    color: #fff;

    display: flex;
    align-items: center;
    justify-content: center;

    cursor: pointer;

    transition:
        background 0.25s ease,
        transform 0.25s ease;
}

.lightbox button:hover {
    background: rgba(255, 255, 255, 0.25);
}


/* Close */

.lightbox-close {
    top: 25px;
    right: 25px;

    font-size: 22px;
}


/* Previous */

.lightbox-prev {
    left: 25px;
    top: 50%;

    transform: translateY(-50%);

    font-size: 18px;
}

.lightbox-prev:hover {
    transform: translateY(-50%) scale(1.08);
}


/* Next */

.lightbox-next {
    right: 25px;
    top: 50%;

    transform: translateY(-50%);

    font-size: 18px;
}

.lightbox-next:hover {
    transform: translateY(-50%) scale(1.08);
}


/* =========================================
   GALLERY CURSOR
========================================= */

.gallery-grid .gallery-item {
    cursor: zoom-in;
}


/* =========================================
   PREVENT PAGE SCROLL
========================================= */

body.lightbox-open {
    overflow: hidden;
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 768px) {

    .lightbox {
        padding: 20px;
    }

    .lightbox-content {
        width: 90vw;
        height: 75vh;
    }

    .lightbox-content img {
        max-width: 100%;
        max-height: 75vh;
    }

    .lightbox button {
        width: 42px;
        height: 42px;
    }

    .lightbox-close {
        top: 15px;
        right: 15px;
    }

    .lightbox-prev {
        left: 12px;
    }

    .lightbox-next {
        right: 12px;
    }

}
/* =========================================
   MASONRY GALLERY
========================================= */

.gallery-grid {
    columns: 3 280px;
    column-gap: 16px;
}

.gallery-grid .gallery-item {
    display: block;
    width: 100%;
    margin-bottom: 16px;
    break-inside: avoid;
    overflow: hidden;
    border-radius: 4px;
    cursor: zoom-in;
}

.gallery-grid .gallery-item img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
    transition: transform 0.5s ease;
}

.gallery-grid .gallery-item:hover img {
    transform: scale(1.04);
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 900px) {

    .gallery-grid {
        columns: 2 240px;
        column-gap: 14px;
    }

    .gallery-grid .gallery-item {
        margin-bottom: 14px;
    }

}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 600px) {

    .gallery-grid {
        columns: 1;
    }

    .gallery-grid .gallery-item {
        margin-bottom: 14px;
    }

}
/* ================================
   LOCATION SECTION
================================ */

.location-section {
    background: #fff;
}

.location-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 70px;
    align-items: center;
}

.location-image {
    position: relative;
    height: 560px;
    border-radius: 18px;
    overflow: hidden;
}

.location-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.distance-badge {
    position: absolute;
    left: 25px;
    bottom: 25px;
    background: rgba(255,255,255,.95);
    padding: 18px 25px;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0,0,0,.15);
}

.distance-badge strong {
    display: block;
    font-size: 28px;
    line-height: 1;
}

.distance-badge span {
    display: block;
    margin-top: 6px;
    font-size: 13px;
    color: #666;
}

.location-points {
    margin: 30px 0;
}

.location-point {
    display: flex;
    gap: 18px;
    margin-bottom: 25px;
}

.location-point > i {
    width: 44px;
    height: 44px;
    min-width: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #f0eadf;
    font-size: 18px;
}

.location-point h3 {
    margin: 0 0 5px;
    font-size: 18px;
}

.location-point p {
    margin: 0;
    color: #666;
    line-height: 1.6;
}


/* ================================
   RESTAURANT SECTION
================================ */

.restaurant-section {
    background: #f5f0e8;
}

.centered {
    text-align: center;
    max-width: 750px;
    margin-left: auto;
    margin-right: auto;
}

.restaurant-grid {
    display: grid;
    grid-template-columns: 1.1fr .9fr;
    gap: 60px;
    align-items: center;
    margin-top: 50px;
}

.restaurant-main-image {
    height: 500px;
    overflow: hidden;
    border-radius: 18px;
}

.restaurant-main-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.restaurant-content {
    padding-right: 20px;
}

.food-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
    margin: 30px 0;
}

.food-list div {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px;
    background: rgba(255,255,255,.65);
    border-radius: 10px;
    font-size: 14px;
}

.food-list i {
    font-size: 17px;
}

.food-gallery {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
    margin-top: 45px;
}

.food-gallery div {
    height: 220px;
    border-radius: 14px;
    overflow: hidden;
}

.food-gallery img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .4s ease;
}

.food-gallery div:hover img {
    transform: scale(1.05);
}


/* ================================
   MOBILE
================================ */

@media (max-width: 768px) {

    .location-grid,
    .restaurant-grid {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .location-image {
        height: 400px;
    }

    .restaurant-main-image {
        height: 350px;
    }

    .food-list {
        grid-template-columns: 1fr;
    }

    .food-gallery {
        grid-template-columns: 1fr 1fr;
        gap: 12px;
    }

    .food-gallery div {
        height: 160px;
    }

}