/* ============ THE SHORE WELLNESS — SHARED DESIGN SYSTEM ============ */
*{box-sizing:border-box;}
:root{
  --deep:#0e2d1c; --deep-2:#1c4430; --gold:#b6904f; --gold-2:#d4b075;
  --cream:#f7f3ea; --cream-2:#ede6da; --ink:#2a2a1a; --muted:#6c6a5e;
}
html{scroll-behavior:smooth;}
html,body{overflow-x:hidden;max-width:100%;}
body{font-family:'Jost',sans-serif;background:var(--cream);color:var(--ink);line-height:1.7;margin:0;padding:0;font-size:17px;-webkit-tap-highlight-color:transparent;}
a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:2px;}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;}*{animation-duration:0.01ms !important;transition-duration:0.01ms !important;}}
h1{font-family:'Fraunces',serif;font-size:clamp(2.2rem,5.5vw,4rem);font-weight:700;line-height:1.15;margin:0;color:var(--deep);}
h2{font-family:'Fraunces',serif;font-size:clamp(1.7rem,4vw,2.6rem);font-weight:600;margin:0;color:var(--deep);}
h3{font-family:'Fraunces',serif;font-size:clamp(1.25rem,3vw,1.7rem);font-weight:600;color:var(--deep);}
h4{font-family:'Fraunces',serif;font-size:1.12rem;font-weight:600;color:var(--deep);}
p{font-size:clamp(16px,2vw,17.5px);margin:0 0 1.3em;line-height:1.8;}
.wrap{max-width:1280px;margin:0 auto;padding:0 20px;}

/* header */
header{position:fixed;top:0;left:0;right:0;background:rgba(247,243,234,0.97);backdrop-filter:blur(10px);z-index:100;padding:10px 0;box-shadow:0 2px 14px rgba(0,0,0,0.07);}
.header-inner{display:flex;justify-content:space-between;align-items:center;gap:16px;}
.logo{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--deep);}
.logo-img{width:62px;height:62px;border-radius:50%;object-fit:cover;border:2px solid var(--gold);box-shadow:0 4px 14px rgba(14,45,28,0.22);transition:transform .3s;}
.logo:hover .logo-img{transform:scale(1.06);}
.logo-name{font-family:'Fraunces',serif;font-size:1.3rem;font-weight:600;line-height:1.15;display:block;}
.logo-tag{display:block;font-size:0.66rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--gold);margin-top:2px;}
@media(max-width:640px){.logo-img{width:52px;height:52px;}.logo-name{font-size:1.02rem;}.logo-tag{font-size:0.55rem;}}
nav{display:none;gap:24px;}
@media(min-width:1080px){nav{display:flex;} nav a{text-decoration:none;color:var(--ink);font-size:0.92rem;letter-spacing:0.05em;transition:color .2s;} nav a:hover,nav a.active{color:var(--gold);}}
.burger{background:none;border:none;font-size:1.7rem;cursor:pointer;color:var(--deep);padding:8px;}
@media(min-width:1080px){.burger{display:none;}}
.cta-header{display:none;padding:12px 24px;background:var(--deep);color:#fff;border-radius:6px;text-decoration:none;font-size:0.8rem;letter-spacing:0.1em;text-transform:uppercase;transition:all .3s;white-space:nowrap;}
.cta-header:hover{background:var(--deep-2);}
@media(min-width:1080px){.cta-header{display:inline-block;}}
.mobile-menu{position:fixed;inset:0;background:var(--deep);z-index:199;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;transform:translateX(-100%);transition:transform .35s;padding:40px;overflow-y:auto;}
.mobile-menu.open{transform:translateX(0);}
.mobile-menu a{color:#fff;font-family:'Fraunces',serif;font-size:1.3rem;text-decoration:none;}
.mobile-menu .close-btn{position:fixed;top:20px;right:20px;background:none;border:none;color:#fff;font-size:1.9rem;cursor:pointer;}

/* hero */
.hero{margin-top:82px;height:92vh;min-height:640px;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;overflow:hidden;position:relative;}
.hero-mini{margin-top:82px;min-height:46vh;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;overflow:hidden;position:relative;padding:80px 0 60px;}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;filter:brightness(0.58);}
.hero-content{position:relative;z-index:2;max-width:920px;padding:30px 24px;}
.hero-eyebrow{display:block;font-family:'Fraunces',serif;font-style:italic;font-size:1.1rem;color:var(--gold-2);margin-bottom:16px;font-weight:300;}
.hero h1,.hero-mini h1{color:#fff;margin-bottom:0.25em;}
.hero .tagline{color:#f0d9c8;font-family:'Fraunces',serif;font-style:italic;font-size:clamp(1.05rem,2.5vw,1.3rem);margin-bottom:14px;}
.hero .sub,.hero-mini .sub{color:rgba(255,255,255,0.94);max-width:700px;margin:0 auto 8px;}
.hero-cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:30px;}
.rating{margin-top:24px;font-size:0.9rem;color:rgba(255,255,255,0.92);letter-spacing:0.04em;}
.rating .stars{color:var(--gold-2);letter-spacing:2px;}

/* buttons */
.btn{padding:15px 32px;border-radius:6px;font-size:0.86rem;letter-spacing:0.1em;text-transform:uppercase;font-weight:500;cursor:pointer;border:2px solid transparent;text-decoration:none;display:inline-flex;align-items:center;gap:10px;transition:all .3s;font-family:'Jost',sans-serif;}
.btn-solid{background:var(--deep);color:#fff;}
.btn-solid:hover{background:var(--deep-2);transform:translateY(-2px);}
.btn-gold{background:var(--gold);color:#fff;}
.btn-gold:hover{background:#a37f42;transform:translateY(-2px);}
.btn-outline{border-color:#fff;color:#fff;background:transparent;}
.btn-outline:hover{background:#fff;color:var(--deep);}
.btn-outline-deep{border-color:var(--deep);color:var(--deep);background:transparent;}
.btn-outline-deep:hover{background:var(--deep);color:#fff;}

/* sections */
section{padding:84px 0;position:relative;}
.band{background:var(--cream-2);}
.band-deep{background:var(--deep);color:#fff;}
.band-deep p{color:rgba(255,255,255,0.9);}
.band-deep h2,.band-deep h3{color:#fff;}
.lede{text-align:center;margin-bottom:54px;}
.lede .eyebrow{display:block;font-family:'Fraunces',serif;font-size:0.9rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--gold);margin-bottom:14px;}
.band-deep .lede .eyebrow{color:var(--gold-2);}
.lede h2{margin-bottom:16px;}
.lede p{color:var(--muted);font-size:1.08rem;max-width:760px;margin-left:auto;margin-right:auto;}
.band-deep .lede p{color:rgba(255,255,255,0.88);}

/* pillars */
.pillars{display:grid;grid-template-columns:repeat(2,1fr);gap:2px;background:var(--deep);}
@media(min-width:900px){.pillars{grid-template-columns:repeat(4,1fr);}}
.pillar{background:var(--deep-2);padding:32px 24px;text-align:center;color:#fff;}
.pillar strong{display:block;font-family:'Fraunces',serif;font-size:1.05rem;margin-bottom:6px;color:var(--gold-2);}
.pillar span{font-size:0.88rem;color:rgba(255,255,255,0.85);}

/* grids */
.two-col{display:grid;grid-template-columns:1fr;gap:56px;align-items:center;margin-top:36px;}
@media(min-width:900px){.two-col{grid-template-columns:1.1fr 1fr;}}
.two-col img{width:100%;aspect-ratio:3/2;object-fit:cover;object-position:68% 45%;border-radius:10px;box-shadow:0 16px 44px rgba(14,45,28,0.18);}
.three-col{display:grid;grid-template-columns:1fr;gap:30px;margin-top:40px;}
@media(min-width:640px){.three-col{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1024px){.three-col{grid-template-columns:repeat(3,1fr);}}
.card{background:#fff;padding:30px;border-radius:10px;transition:all .3s;box-shadow:0 2px 10px rgba(0,0,0,0.05);}
.card:hover{transform:translateY(-4px);box-shadow:0 14px 36px rgba(0,0,0,0.1);}
.card h4{margin:0 0 10px;}
.card p{font-size:0.95rem;color:var(--muted);margin:0;}
.band-deep .card{background:rgba(255,255,255,0.96);}
.band-deep .card h4{color:var(--deep);}
.band-deep .card p{color:var(--muted);}

.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:40px 0 0;text-align:center;}
.stat-item strong{display:block;font-family:'Fraunces',serif;font-size:clamp(1.6rem,3.5vw,2.4rem);color:var(--deep);margin-bottom:6px;}
.stat-item span{display:block;font-size:0.9rem;color:var(--muted);}

.chips{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:34px;}
.chip{background:#fff;border:1px solid var(--cream-2);padding:11px 20px;border-radius:30px;font-size:0.9rem;color:var(--deep);box-shadow:0 2px 8px rgba(0,0,0,0.04);}
.band-deep .chip{background:rgba(255,255,255,0.12);border-color:rgba(255,255,255,0.22);color:#fff;}

/* grounds / gallery */
.grounds{display:grid;grid-template-columns:1fr;gap:24px;margin-top:40px;}
@media(min-width:640px){.grounds{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));}}
.ground-card{border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 4px 18px rgba(0,0,0,0.08);margin:0;}
.ground-card img{width:100%;height:240px;object-fit:cover;display:block;transition:transform .5s;}
.ground-card:hover img{transform:scale(1.05);}
.ground-card figcaption{padding:15px 20px;font-family:'Fraunces',serif;color:var(--deep);font-size:0.98rem;}
.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:40px;}
@media(min-width:768px){.gallery-grid{grid-template-columns:repeat(3,1fr);}}
.gallery-grid img{width:100%;height:225px;object-fit:cover;border-radius:8px;display:block;transition:transform .4s, box-shadow .4s;}
.gallery-grid img:hover{transform:scale(1.03);box-shadow:0 10px 30px rgba(0,0,0,0.2);}

/* journey */
.journey{display:grid;grid-template-columns:1fr;gap:24px;margin-top:40px;}
@media(min-width:768px){.journey{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1100px){.journey{grid-template-columns:repeat(4,1fr);}}
.step{background:#fff;padding:28px 24px;border-radius:10px;border-top:4px solid var(--gold);box-shadow:0 2px 10px rgba(0,0,0,0.05);}
.step .num{font-family:'Fraunces',serif;font-size:1.9rem;color:var(--gold);font-weight:700;display:block;margin-bottom:8px;}
.step h4{margin:0 0 8px;}
.step p{font-size:0.92rem;color:var(--muted);margin:0;}

/* suites */
.suites{display:grid;grid-template-columns:1fr;gap:30px;margin-top:40px;}
@media(min-width:640px){.suites{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1180px){.suites{grid-template-columns:repeat(4,1fr);}}
.suite-card{background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 6px 24px rgba(0,0,0,0.09);transition:transform .3s;}
.suite-card:hover{transform:translateY(-5px);}
.suite-card img{width:100%;height:250px;object-fit:cover;display:block;}
.suite-body{padding:24px;}
.suite-label{font-size:0.72rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:8px;}
.suite-body h3{margin:0 0 10px;font-size:1.35rem;}
.suite-body p{font-size:0.94rem;color:var(--muted);}
.suite-table{width:100%;border-collapse:collapse;margin-top:46px;background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 4px 18px rgba(0,0,0,0.07);}
.suite-table th{background:var(--deep);color:#fff;padding:15px 18px;text-align:left;font-family:'Fraunces',serif;font-weight:600;font-size:0.94rem;}
.suite-table td{padding:14px 18px;border-bottom:1px solid var(--cream-2);font-size:0.94rem;color:var(--ink);}
.suite-table tr:last-child td{border-bottom:none;}
.table-scroll{overflow-x:auto;}

/* founders */
.founders-grid{display:grid;grid-template-columns:1fr;gap:46px;margin-top:40px;max-width:1060px;margin-left:auto;margin-right:auto;}
.founder-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 8px 30px rgba(14,45,28,0.12);display:grid;grid-template-columns:1fr;}
@media(min-width:820px){.founder-card{grid-template-columns:380px 1fr;align-items:stretch;}}
.founder-card img{width:100%;height:100%;min-height:320px;max-height:520px;object-fit:cover;object-position:center 18%;display:block;}
.founder-body{padding:34px;text-align:left;display:flex;flex-direction:column;justify-content:center;}
@media(max-width:819px){.founder-body{text-align:center;}}
.founder-body h3{margin:0 0 6px;font-size:1.4rem;}
.founder-role{display:block;font-size:0.8rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--gold);margin-bottom:14px;}
.founder-body p{font-size:0.95rem;color:var(--muted);margin:0;}
.tribute-card{border:1px solid var(--gold);}
.tribute-eyebrow{display:block;font-family:'Fraunces',serif;font-style:italic;font-size:0.9rem;color:var(--gold);margin-bottom:8px;}
.tribute-years{display:block;font-family:'Fraunces',serif;font-size:1rem;color:var(--muted);margin-bottom:10px;letter-spacing:0.08em;}

/* explore cards (home) */
.explore-grid{display:grid;grid-template-columns:1fr;gap:28px;margin-top:40px;}
@media(min-width:820px){.explore-grid{grid-template-columns:repeat(3,1fr);}}
.explore-card{position:relative;border-radius:12px;overflow:hidden;min-height:340px;display:flex;align-items:flex-end;text-decoration:none;box-shadow:0 8px 28px rgba(0,0,0,0.14);transition:transform .3s;}
.explore-card:hover{transform:translateY(-5px);}
.explore-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s;}
.explore-card:hover img{transform:scale(1.06);}
.explore-card .shade{position:absolute;inset:0;background:linear-gradient(to top,rgba(8,26,16,0.88) 0%,rgba(8,26,16,0.1) 60%);}
.explore-card .txt{position:relative;z-index:2;padding:26px;}
.explore-card h3{color:#fff;margin:0 0 6px;}
.explore-card p{color:rgba(255,255,255,0.85);font-size:0.92rem;margin:0 0 10px;}
.explore-card span{color:var(--gold-2);font-size:0.82rem;letter-spacing:0.12em;text-transform:uppercase;}

/* location */
.map-frame{width:100%;height:400px;border:0;border-radius:10px;margin-top:36px;box-shadow:0 8px 30px rgba(0,0,0,0.12);}

/* social */
.social-links{display:flex;gap:18px;justify-content:center;margin:30px 0 0;flex-wrap:wrap;}
.social-link{width:54px;height:54px;border-radius:50%;background:var(--deep);color:#fff;display:flex;align-items:center;justify-content:center;text-decoration:none;font-size:1.35rem;transition:all .3s;border:1px solid rgba(212,176,117,0.3);}
.social-link:hover{background:var(--gold);transform:scale(1.1);}

/* footer */
footer{background:#081a10;color:#fff;padding:60px 0 24px;}
.footer-grid{display:grid;grid-template-columns:1fr;gap:40px;margin-bottom:36px;}
@media(min-width:768px){.footer-grid{grid-template-columns:1.3fr 1fr 1fr;}}
footer h4{color:var(--gold-2);font-size:1rem;margin-bottom:14px;}
footer p{font-size:0.93rem;color:rgba(255,255,255,0.78);}
footer a{color:rgba(255,255,255,0.82);text-decoration:none;transition:color .2s;}
footer a:hover{color:var(--gold-2);}
.footer-links a{display:block;margin-bottom:10px;font-size:0.93rem;}
.footer-bottom{text-align:center;padding-top:22px;border-top:1px solid rgba(255,255,255,0.1);font-size:0.84rem;color:rgba(255,255,255,0.6);}
.footer-logo{display:flex;align-items:center;gap:12px;margin-bottom:16px;}
.footer-logo img{width:52px;height:52px;border-radius:50%;border:2px solid var(--gold);}
.footer-logo span{font-family:'Fraunces',serif;font-size:1.15rem;color:#fff;}

/* WhatsApp FAB — classic recognisable icon */
.wa-fab{border:none;cursor:pointer;position:fixed;bottom:24px;right:24px;width:62px;height:62px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;z-index:150;box-shadow:0 8px 26px rgba(0,0,0,0.35);transition:transform .3s;text-decoration:none;}
.wa-fab:hover{transform:scale(1.1);}
.wa-fab svg{width:34px;height:34px;fill:#fff;}
@media(max-width:640px){.wa-fab{bottom:18px;right:18px;width:56px;height:56px;}.wa-fab svg{width:30px;height:30px;}}

/* music toggle */
.audio-player{position:fixed;bottom:100px;right:29px;z-index:150;}
@media(max-width:640px){.audio-player{bottom:88px;right:22px;}}
.audio-toggle{background:var(--gold);border:1px solid rgba(255,255,255,0.4);color:#fff;width:52px;height:52px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.3rem;transition:all .3s;box-shadow:0 8px 26px rgba(0,0,0,0.3);}
.audio-toggle:hover{transform:scale(1.08);}
#ytHolder{position:fixed;bottom:162px;right:24px;z-index:149;width:240px;border-radius:12px;overflow:hidden;box-shadow:0 12px 36px rgba(0,0,0,0.35);display:none;background:#000;}
#ytHolder iframe{display:block;width:240px;height:135px;border:0;}

@media(max-width:640px){
  section{padding:56px 0;}
  .two-col{gap:34px;}
  .lede{margin-bottom:36px;}
}

/* WhatsApp quick menu panel */
.wa-panel{position:fixed;bottom:100px;right:24px;width:320px;max-width:calc(100vw - 32px);background:#fff;border-radius:14px;box-shadow:0 20px 60px rgba(0,0,0,0.3);z-index:151;overflow:hidden;display:none;}
.wa-panel.open{display:block;animation:waIn .3s cubic-bezier(0.2,0.8,0.3,1);}
@keyframes waIn{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:translateY(0);}}
.wa-head{background:var(--deep);color:#fff;padding:16px;display:flex;align-items:center;gap:12px;}
.wa-head img{width:44px;height:44px;border-radius:50%;border:2px solid var(--gold);}
.wa-head strong{display:block;font-family:'Fraunces',serif;font-size:0.98rem;}
.wa-head span{font-size:0.76rem;color:rgba(255,255,255,0.75);}
.wa-close{margin-left:auto;background:none;border:none;color:#fff;font-size:1.25rem;cursor:pointer;}
.wa-body{padding:16px;}
.wa-msg{background:var(--cream);border-radius:10px;padding:13px;font-size:0.9rem;margin-bottom:13px;color:var(--ink);}
.wa-actions{display:grid;gap:9px;}
.wa-actions a{display:block;text-align:center;padding:12px;border-radius:8px;text-decoration:none;font-size:0.9rem;font-weight:500;transition:all .2s;}
.wa-primary{background:#25D366;color:#fff;}
.wa-primary:hover{background:#1eb958;}
.wa-secondary{background:var(--cream-2);color:var(--deep);}
.wa-secondary:hover{background:var(--gold);color:#fff;}

/* mini call/wa icons beside numbers */
.mini-ic{display:inline-flex;width:30px;height:30px;border-radius:50%;align-items:center;justify-content:center;background:var(--deep);color:#fff;font-size:0.8rem;margin-left:6px;text-decoration:none;vertical-align:middle;transition:transform .2s;}
.mini-ic:hover{transform:scale(1.12);}
.mini-ic.wa{background:#25D366;}
/* faq accordion */
.faq-item{background:#fff;border-radius:10px;margin-bottom:14px;box-shadow:0 2px 10px rgba(0,0,0,0.05);overflow:hidden;}
.faq-item summary{cursor:pointer;padding:20px 24px;font-family:'Fraunces',serif;font-weight:600;color:var(--deep);font-size:1.05rem;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:'+';color:var(--gold);font-size:1.4rem;flex-shrink:0;}
.faq-item[open] summary::after{content:'−';}
.faq-item .faq-a{padding:0 24px 20px;color:var(--muted);font-size:0.97rem;line-height:1.8;}

/* ---- luxury animations ---- */
.rv{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.2,.7,.3,1),transform .8s cubic-bezier(.2,.7,.3,1);}
.rv.in{opacity:1;transform:none;}
.hero .hero-bg{animation:kenburns 16s ease-out forwards;}
@keyframes kenburns{from{transform:scale(1.09);}to{transform:scale(1);}}
@media (prefers-reduced-motion: reduce){.rv{opacity:1;transform:none;transition:none;}.hero .hero-bg{animation:none;}}

/* ---- card icon badges ---- */
.card-ic{width:54px;height:54px;border-radius:50%;background:linear-gradient(135deg,var(--deep),var(--deep-2));border:1px solid rgba(182,144,79,0.45);display:flex;align-items:center;justify-content:center;font-size:1.45rem;margin:0 0 14px;box-shadow:0 6px 16px rgba(14,45,28,0.18);}
.card[style*="text-align:center"] .card-ic{margin:0 auto 14px;}

/* ---- social svg sizing ---- */
.social-link svg{width:24px;height:24px;}

/* ---- booking engine ---- */
.book-card{background:#fff;border-radius:16px;box-shadow:0 12px 44px rgba(14,45,28,0.13);padding:40px;max-width:820px;margin:0 auto;}
@media(max-width:640px){.book-card{padding:26px 18px;}}
.day-row{display:flex;gap:10px;flex-wrap:wrap;}
.day-pill{padding:11px 18px;border-radius:30px;border:1px solid var(--cream-2);background:var(--cream);font-family:'Jost',sans-serif;font-size:0.9rem;color:var(--deep);cursor:pointer;transition:all .2s;}
.day-pill:hover{border-color:var(--gold);}
.day-pill.sel{background:var(--deep);color:#fff;border-color:var(--deep);}
.slot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;}
.slot-pill{padding:11px 8px;border-radius:10px;border:1px solid var(--cream-2);background:var(--cream);font-family:'Jost',sans-serif;font-size:0.92rem;color:var(--deep);cursor:pointer;transition:all .2s;display:flex;flex-direction:column;align-items:center;gap:2px;}
.slot-pill small{color:var(--muted);font-size:0.72rem;}
.slot-pill:hover{border-color:var(--gold);}
.slot-pill.sel{background:var(--gold);color:#fff;border-color:var(--gold);}
.slot-pill.sel small{color:rgba(255,255,255,0.85);}

/* journey step icons */
.step .num{display:flex;align-items:center;justify-content:space-between;}
.step-ic{font-size:1.5rem;opacity:0.9;}

/* ================= MOBILE FIXES & AUDIT (375–414px) ================= */
/* FIX: founder photo/text overlap on mobile — image gets a fixed frame,
   text always sits in its own white block below. */
@media(max-width:819px){
  .founder-card{display:block;}
  .founder-card img{height:min(60vh,420px);min-height:0;max-height:none;width:100%;object-fit:cover;object-position:center 15%;display:block;}
  .founder-body{position:static;background:#fff;}
}
/* hero text always above image, never clipped */
.hero-content,.hero-mini .hero-content{position:relative;z-index:2;}
.hero-mini{min-height:52vh;}
@media(max-width:640px){
  .hero-mini{min-height:auto;padding:110px 0 60px;}
  .hero{min-height:560px;height:auto;padding:120px 0 70px;}
  /* stats: keep 3-up but scale down so "10,000 sq.ft" never clips */
  .stat-row{gap:12px;}
  .stat-item strong{font-size:1.25rem;}
  .stat-item span{font-size:0.78rem;}
  /* larger tap targets */
  .mini-ic{width:36px;height:36px;font-size:0.9rem;}
  .social-link{width:52px;height:52px;}
  .day-pill,.slot-pill,.filter-pill{min-height:44px;}
  /* explore-card overlay: stronger shade for readability */
  .explore-card .shade{background:linear-gradient(to top,rgba(8,26,16,0.94) 0%,rgba(8,26,16,0.25) 65%);}
  /* gallery captions always visible on touch (no hover on phones) */
  .g-item figcaption{opacity:1;font-size:0.82rem;padding:18px 12px 10px;}
  /* suites/ground images sane heights */
  .suite-card img{height:220px;}
  .ground-card img{height:210px;}
  /* prevent long headings clipping */
  h1,h2,h3{overflow-wrap:break-word;}
  /* wa panel above fab, inside viewport */
  .wa-panel{bottom:84px;right:12px;max-height:70vh;overflow-y:auto;}
  /* booking confirm inputs full width */
  .book-card input,.book-card select{width:100%;}
}
@media(max-width:414px){
  .pillar{padding:24px 16px;}
  .pillar strong{font-size:0.95rem;}
  .wrap{padding:0 16px;}
  .card{padding:24px 20px;}
  .btn{padding:14px 24px;font-size:0.82rem;}
}
