/*
Theme Name: 등억스토리
Description: 작천정 계곡과 단체 여행을 위한 등억스토리 펜션 전용 테마
Version: 0.12.0
Requires at least: 6.5
Requires PHP: 8.1
Text Domain: deungeok-story
*/

:root{
  --blue:#3182f6;
  --blue-dark:#1b64da;
  --blue-soft:#eaf3ff;
  --mint:#26c8a0;
  --mint-soft:#e4fbf5;
  --purple:#8b6df6;
  --purple-soft:#f0ecff;
  --orange:#ff8b5c;
  --orange-soft:#fff0e9;
  --ink:#191f28;
  --text:#333d4b;
  --muted:#6b7684;
  --line:#e5e8eb;
  --canvas:#f7f9fc;
  --paper:#fff;
  --navy:#111827;
  --content:1180px;
  --gutter:clamp(20px,4vw,48px);
  --sans:"Pretendard Variable",Pretendard,"SUIT Variable",SUIT,"Noto Sans KR","Apple SD Gothic Neo",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --shadow:0 20px 60px rgba(44,62,80,.09);
  --shadow-hover:0 26px 70px rgba(44,62,80,.16);
  --ease:cubic-bezier(.2,.8,.2,1);
}

*,*:before,*:after{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden}
body{margin:0;max-width:100%;overflow-x:hidden;background:var(--canvas);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
button,input{font:inherit}
button{cursor:pointer}
:focus-visible{outline:3px solid rgba(49,130,246,.5);outline-offset:4px}
.skip-link{position:fixed;left:16px;top:-100px;z-index:9999;padding:12px 18px;border-radius:12px;background:#fff;color:#000;box-shadow:var(--shadow)}
.skip-link:focus{top:16px}
.wrap{width:min(calc(100% - (var(--gutter) * 2)),var(--content));margin-inline:auto}
.reveal{opacity:1;transform:none}
.reveal.revealed{animation:ds-rise .7s var(--ease) both}
.reveal-delay{animation-delay:.12s}
@keyframes ds-rise{from{opacity:.45;transform:translateY(24px)}to{opacity:1;transform:none}}

/* Header */
.site-header{position:sticky;top:0;z-index:150;padding:12px 0;background:rgba(247,249,252,.78);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.header-shell{min-height:64px;padding:8px 10px 8px 14px;border:1px solid rgba(255,255,255,.82);border-radius:24px;display:flex;align-items:center;gap:26px;background:rgba(255,255,255,.88);box-shadow:0 8px 30px rgba(44,62,80,.08)}
.brand{display:inline-flex;align-items:center;gap:10px;min-width:max-content;text-decoration:none}
.brand-mark{width:38px;height:38px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(145deg,#5aa3ff,var(--blue));color:#fff;font-size:1.1rem;font-weight:900;box-shadow:0 8px 18px rgba(49,130,246,.26)}
.brand-copy{display:grid;line-height:1.05}
.brand-copy strong{font-size:.96rem;font-weight:850;letter-spacing:-.03em}
.brand-copy small{margin-top:5px;color:#8b95a1;font-size:.54rem;font-weight:750;letter-spacing:.1em}
.primary-nav{flex:1}
.nav-list{list-style:none;margin:0;padding:0;display:flex;justify-content:center;align-items:center;gap:4px}
.nav-list a{padding:10px 12px;border-radius:12px;color:#4e5968;text-decoration:none;font-size:.84rem;font-weight:700;transition:.2s var(--ease)}
.nav-list a:hover,.nav-list a[aria-current=page]{background:var(--blue-soft);color:var(--blue)}
.nav-panel-head,.nav-ai-link{display:none}
.header-booking{padding:9px 12px 9px 16px;border-radius:17px;display:flex;align-items:center;gap:8px;background:var(--blue);color:#fff;text-decoration:none;box-shadow:0 9px 22px rgba(49,130,246,.25);transition:.2s var(--ease)}
.header-booking:hover{transform:translateY(-2px);background:var(--blue-dark)}
.header-booking span{font-size:.59rem;opacity:.8}
.header-booking strong{font-size:.78rem;white-space:nowrap}
.header-booking i{width:28px;height:28px;border-radius:10px;display:grid;place-items:center;background:rgba(255,255,255,.18);font-style:normal}
.menu-toggle{display:none;border:0;background:none;color:var(--ink)}
main{min-height:60vh}

/* Type and shared components */
h1,h2,h3{margin:0;line-height:1.15;letter-spacing:-.052em;text-wrap:balance;word-break:keep-all;overflow-wrap:normal}
h1{font-size:clamp(2.75rem,6vw,5.35rem);font-weight:850}
h2{font-size:clamp(2.05rem,4vw,3.8rem);font-weight:820}
h3{font-size:1.35rem;font-weight:780}
p{margin:0}
.lead,p,li,summary,figcaption{word-break:keep-all;overflow-wrap:break-word}
.button,.soft-badge,.capacity-pills span,.equipment-pills span{line-height:1.35}
.home-hero-grid>*,.section-heading>*,.showcase-grid>*,.ai-intro-card>*,.faq-grid>*,.location-card>*,.room-list-card>*,.room-detail-info>*,.facility-list-modern>*,.travel-modern>*,.location-layout>*,.contact-card-grid>*,.group-inquiry-modern>*,.ai-page-grid>*,.ai-info-grid>*,.footer-grid>*{min-width:0}
.lead{max-width:680px;color:var(--muted);font-size:clamp(1rem,1.4vw,1.18rem)}
.eyebrow{margin:0 0 14px;color:var(--blue);font-size:.72rem;font-weight:850;letter-spacing:.12em}
.eyebrow.light{color:rgba(255,255,255,.72)}
.section{padding:clamp(76px,9vw,132px) 0}
.section.compact{padding:28px 0 0}
.page-section{padding-top:56px}
.section-heading{margin-bottom:42px;display:grid;grid-template-columns:1.25fr .85fr auto;align-items:end;gap:36px}
.section-heading>p{padding-bottom:7px;color:var(--muted)}
.circle-link{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--blue);text-decoration:none;font-size:1.25rem;box-shadow:0 12px 28px rgba(44,62,80,.1);transition:.2s var(--ease)}
.circle-link:hover{transform:translateX(5px);background:var(--blue);color:#fff}
.soft-badge{width:max-content;padding:8px 12px;border-radius:999px;display:inline-flex;align-items:center;gap:7px;background:var(--blue-soft);color:var(--blue);font-size:.78rem;font-weight:800}
.soft-badge.mint{background:var(--mint-soft);color:#079775}.soft-badge.purple{background:var(--purple-soft);color:var(--purple)}.soft-badge.orange{background:var(--orange-soft);color:#e96632}.soft-badge.blue{background:var(--blue-soft);color:var(--blue)}
.button-row,.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.button-stack{display:grid;gap:9px;justify-items:start}
.button{min-height:52px;padding:14px 20px;border:1px solid transparent;border-radius:16px;display:inline-flex;align-items:center;justify-content:center;gap:12px;text-decoration:none;font-size:.9rem;font-weight:800;transition:.2s var(--ease)}
.button:hover{transform:translateY(-2px)}
.button.primary{background:var(--blue);color:#fff;box-shadow:0 12px 26px rgba(49,130,246,.24)}
.button.primary:hover{background:var(--blue-dark)}
.button.ghost,.button.secondary{border-color:#d8dde3;background:#fff;color:var(--text)}
.button.ghost:hover,.button.secondary:hover{border-color:#b8c3d1;background:#f7f9fc}
.button.white{background:#fff;color:var(--blue);box-shadow:0 12px 30px rgba(0,0,0,.1)}
.button.dark{background:var(--navy);color:#fff}
.button.block{width:100%}
.card-link{display:inline-flex;align-items:center;gap:18px;color:var(--blue);font-size:.86rem;font-weight:800;text-decoration:none}
.card-link span{transition:.2s}.card-link:hover span{transform:translateX(5px)}
.channel-note{color:var(--muted);font-size:.8rem}

/* Shared photography */
.site-photo{position:relative;width:100%;margin:0;overflow:hidden;background:#dce5ef}
.site-photo img{width:100%;height:100%;object-fit:cover;transition:transform .75s var(--ease)}
.site-photo:hover img{transform:scale(1.035)}
.site-photo figcaption{position:absolute;left:16px;bottom:14px;z-index:2;padding:6px 9px;border-radius:9px;background:rgba(17,24,39,.54);backdrop-filter:blur(8px);color:#fff;font-size:.66rem;font-weight:700}
.ratio-landscape{aspect-ratio:16/10}.ratio-room{aspect-ratio:4/3}.ratio-hero{height:100%}.ratio-cinematic{height:100%}

/* Home hero */
.home-hero{position:relative;min-height:720px;padding:68px 0 52px;display:flex;align-items:center;overflow:hidden}
.hero-blob{position:absolute;border-radius:50%;filter:blur(2px);pointer-events:none}
.hero-blob-blue{width:440px;height:440px;top:-180px;left:-190px;background:radial-gradient(circle at 65% 60%,rgba(129,181,255,.36),rgba(234,243,255,.1) 68%)}
.hero-blob-mint{width:380px;height:380px;right:-190px;bottom:-110px;background:radial-gradient(circle at 35% 35%,rgba(94,225,191,.28),rgba(228,251,245,.08) 70%)}
.home-hero-grid{display:grid;grid-template-columns:.92fr 1.08fr;align-items:center;gap:70px}
.home-hero-copy{position:relative;z-index:2}
.home-hero-copy h1{margin-top:24px;font-size:clamp(3.25rem,6.4vw,5.55rem)}
.home-hero-copy h1 em{color:var(--blue);font-style:normal}
.home-hero-copy>p{max-width:530px;margin-top:24px;color:var(--muted);font-size:1.08rem}
.hero-proof{margin-top:34px;display:flex;flex-wrap:wrap;gap:18px;color:#6b7684;font-size:.78rem;font-weight:700}
.hero-proof span{display:flex;align-items:baseline;gap:4px}.hero-proof i{color:var(--ink);font-style:normal;font-size:1.08rem;font-weight:850}
.home-hero-visual{position:relative;height:560px;padding:22px 0 0 30px}
.hero-main-photo{height:100%;border-radius:38px;box-shadow:0 28px 70px rgba(29,73,117,.2)}
.hero-main-photo figcaption{left:22px;bottom:20px}
.float-card{position:absolute;z-index:3;padding:13px 16px;border:1px solid rgba(255,255,255,.84);border-radius:20px;display:flex;align-items:center;gap:11px;background:rgba(255,255,255,.91);backdrop-filter:blur(16px);box-shadow:0 18px 45px rgba(44,62,80,.14);animation:float 4.5s ease-in-out infinite}
.float-card-top{top:68px;left:0}.float-card-bottom{right:-24px;bottom:72px;animation-delay:-2s}
.float-icon{width:39px;height:39px;border-radius:14px;display:grid;place-items:center;font-size:1.05rem;font-weight:900}.float-icon.mint{background:var(--mint-soft);color:#0aa47d}.float-icon.blue{background:var(--blue-soft);color:var(--blue)}
.float-card div{display:grid}.float-card strong{font-size:.82rem}.float-card small{color:var(--muted);font-size:.7rem}
.hero-image-dots{position:absolute;right:22px;top:42px;z-index:3;display:flex;gap:5px}.hero-image-dots i{width:7px;height:7px;border-radius:50%;background:#fff}.hero-image-dots i:nth-child(2){opacity:.6}.hero-image-dots i:nth-child(3){opacity:.35}
@keyframes float{50%{transform:translateY(-9px)}}

/* Quick facts */
.quick-facts{position:relative;z-index:5;margin-top:-10px}
.facts-shell{padding:15px;border-radius:26px;display:grid;grid-template-columns:repeat(4,1fr);background:#fff;box-shadow:var(--shadow)}
.facts-shell>div{padding:12px 20px;border-right:1px solid var(--line);display:flex;align-items:center;gap:12px}.facts-shell>div:last-child{border:0}
.fact-icon{width:39px;height:39px;border-radius:13px;display:grid;place-items:center;background:var(--blue-soft);color:var(--blue);font-weight:900}.facts-shell>div:nth-child(2) .fact-icon{background:var(--mint-soft);color:#0aa47d}.facts-shell>div:nth-child(3) .fact-icon{background:var(--purple-soft);color:var(--purple)}.facts-shell>div:nth-child(4) .fact-icon{background:var(--orange-soft);color:var(--orange)}
.facts-shell p{display:grid}.facts-shell small{color:var(--muted);font-size:.7rem}.facts-shell strong{font-size:.98rem}

/* Home rooms */
.rooms-section{background:linear-gradient(180deg,var(--canvas),#f2f6fb)}
.room-card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.room-card-soft{overflow:hidden;border:1px solid rgba(230,234,240,.92);border-radius:28px;background:#fff;box-shadow:0 12px 34px rgba(44,62,80,.07);transition:.28s var(--ease)}
.room-card-soft:hover{transform:translateY(-8px);box-shadow:var(--shadow-hover)}
.room-card-image{position:relative;display:block;padding:8px;text-decoration:none}.room-card-image .site-photo{border-radius:22px}.room-card-image figcaption{display:none}
.room-number{position:absolute;right:20px;top:20px;width:34px;height:34px;border-radius:12px;display:grid;place-items:center;background:rgba(255,255,255,.88);backdrop-filter:blur(8px);font-size:.68rem;font-weight:850}
.room-card-body{padding:16px 18px 20px}.room-card-body>div:first-child p{color:var(--muted);font-size:.7rem;font-weight:700}.room-card-body h3{margin-top:4px}
.capacity-pills{margin:15px 0;display:flex;flex-wrap:wrap;gap:6px}.capacity-pills span{padding:6px 9px;border-radius:9px;background:#f2f4f6;color:#4e5968;font-size:.7rem;font-weight:750}

/* Showcase */
.space-showcase{position:relative;overflow:hidden;background:linear-gradient(135deg,#2879ef,#546ff4 60%,#7668ee);color:#fff}
.showcase-blob{position:absolute;width:560px;height:560px;border-radius:50%;right:-220px;top:-260px;background:rgba(255,255,255,.1)}
.showcase-grid{position:relative;display:grid;grid-template-columns:.72fr 1.28fr;align-items:center;gap:70px}
.showcase-copy>p:not(.eyebrow){margin-top:20px;color:rgba(255,255,255,.76)}
.showcase-copy .button{margin-top:28px}
.showcase-cards{position:relative;height:560px}
.showcase-card{position:absolute;width:68%;overflow:hidden;border:8px solid rgba(255,255,255,.15);border-radius:32px;background:#fff;color:var(--ink);box-shadow:0 30px 70px rgba(18,47,107,.3)}
.showcase-card .site-photo{border-radius:24px 24px 0 0}.showcase-card figcaption{display:none}.showcase-card>div{padding:16px 20px 20px}.showcase-card span{color:var(--blue);font-size:.72rem;font-weight:850}.showcase-card h3{margin-top:3px}.showcase-card p{margin-top:6px;color:var(--muted);font-size:.78rem}
.card-seminar{left:0;top:0}.card-party{right:0;bottom:0}

/* Experience */
.experience-bento{display:grid;grid-template-columns:1.5fr .75fr;grid-template-rows:1fr 1fr;gap:18px;min-height:610px}
.experience-main{position:relative;grid-row:1/3;overflow:hidden;border-radius:34px;box-shadow:var(--shadow)}.experience-main .site-photo{height:100%}.experience-main figcaption{display:none}
.experience-main:after{content:"";position:absolute;inset:30% 0 0;background:linear-gradient(transparent,rgba(9,21,40,.72))}
.bento-overlay{position:absolute;z-index:2;left:30px;right:30px;bottom:28px;color:#fff}.bento-overlay span{font-size:.72rem;font-weight:800}.bento-overlay h3{margin-top:5px;font-size:2.2rem}.bento-overlay p{opacity:.78}.bento-overlay a{display:inline-block;margin-top:18px;font-size:.82rem;font-weight:800;text-underline-offset:5px}
.experience-small{padding:10px;border-radius:30px;display:grid;grid-template-columns:46% 1fr;align-items:center;gap:16px;background:#fff;box-shadow:0 12px 34px rgba(44,62,80,.07)}.experience-small .site-photo{height:100%;border-radius:22px}.experience-small figcaption{display:none}.experience-small>div{padding-right:10px}.experience-small h3{margin-top:10px}.experience-small p{margin-top:6px;color:var(--muted);font-size:.78rem}
.mini-icon{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;font-weight:900}.mini-icon.orange{background:var(--orange-soft);color:var(--orange)}.mini-icon.purple{background:var(--purple-soft);color:var(--purple)}

/* AI intro */
.ai-intro-section{padding-top:40px}
.ai-intro-card{position:relative;padding:60px;border-radius:40px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:80px;overflow:hidden;background:linear-gradient(145deg,#fff,#f2efff 55%,#e9f4ff);box-shadow:var(--shadow)}
.ai-intro-card:before{content:"";position:absolute;width:300px;height:300px;border-radius:50%;right:-110px;top:-130px;background:rgba(139,109,246,.13)}
.ai-intro-copy{position:relative}.ai-intro-copy h2{margin-top:22px}.ai-intro-copy>p{margin-top:18px;color:var(--muted)}
.ai-preview{position:relative;padding:18px;border:1px solid rgba(255,255,255,.8);border-radius:28px;background:rgba(255,255,255,.8);box-shadow:0 22px 55px rgba(89,75,144,.15);transform:rotate(1.5deg)}
.ai-preview-head{padding:4px 2px 16px;display:flex;align-items:center;gap:9px;border-bottom:1px solid var(--line);font-size:.8rem;font-weight:800}.ai-preview-head i{width:9px;height:9px;border-radius:50%;background:var(--mint)}.ai-preview-head b{margin-left:auto;color:#adb5bd}
.preview-bubble{max-width:82%;margin-top:14px;padding:12px 14px;border-radius:16px;font-size:.78rem}.preview-bubble.user{margin-left:auto;border-bottom-right-radius:5px;background:var(--blue);color:#fff}.preview-bubble.bot{border-bottom-left-radius:5px;background:#f2f4f6}
.preview-chips{margin-top:14px;display:flex;gap:6px}.preview-chips span{padding:6px 9px;border:1px solid var(--line);border-radius:9px;background:#fff;font-size:.65rem}

/* FAQs */
.faq-section{background:#fff}
.faq-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:90px;align-items:start}
.faq-title{position:sticky;top:110px}.faq-title>p:last-child{margin-top:18px;color:var(--muted)}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list summary{min-height:74px;display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:10px;cursor:pointer;list-style:none;font-size:.96rem;font-weight:750}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{color:#adb5bd;font-size:.7rem}.faq-list summary i{font-style:normal;font-size:1.1rem;transition:.2s}.faq-list details[open] summary i{transform:rotate(45deg)}
.faq-list details p{padding:0 42px 22px 48px;color:var(--muted);font-size:.9rem}

/* Home location */
.location-card-section{background:#fff}
.location-card{padding:14px;border-radius:38px;display:grid;grid-template-columns:1fr 1fr;gap:26px;background:#eef4fc}
.location-map-visual{position:relative;min-height:420px;border-radius:29px;overflow:hidden;background:linear-gradient(145deg,#dff4ef,#dceaff)}
.map-river{position:absolute;width:650px;height:160px;left:-120px;top:130px;border:35px solid rgba(74,161,236,.28);border-left-color:transparent;border-right-color:transparent;border-radius:50%;transform:rotate(-23deg)}
.map-marker{position:absolute;left:48%;top:43%;width:62px;height:62px;border:9px solid rgba(255,255,255,.9);border-radius:50% 50% 50% 5px;display:grid;place-items:center;background:var(--blue);color:#fff;font-weight:900;transform:rotate(-45deg);box-shadow:0 14px 30px rgba(49,130,246,.25)}.map-marker::first-letter{transform:rotate(45deg)}
.location-map-visual small{position:absolute;left:30px;bottom:28px;color:#4e5968;font-weight:750}
.location-card-copy{padding:48px 36px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.location-card-copy h2{margin-top:20px;font-size:clamp(2rem,3.3vw,3.1rem)}.location-card-copy p{margin-top:18px;color:var(--muted)}.location-card-copy .button{margin-top:28px}

/* Inner page hero */
.page-hero{position:relative;padding:90px 0 82px;overflow:hidden;background:linear-gradient(150deg,#eef5ff 0%,#f7f9fc 50%,#f0edff 100%)}
.page-hero-inner{position:relative;z-index:2;max-width:960px!important;text-align:center}.page-hero-icon{width:58px;height:58px;margin:0 auto 18px;border-radius:20px;display:grid;place-items:center;background:#fff;color:var(--blue);box-shadow:0 14px 34px rgba(49,130,246,.12);font-size:1.25rem;font-weight:900}.page-hero .eyebrow{margin-bottom:13px}.page-hero h1{font-size:clamp(2.65rem,5vw,4.65rem)}.page-hero .lead{margin:20px auto 0}
.hero-orb{position:absolute;border-radius:50%}.hero-orb-one{width:280px;height:280px;left:-90px;top:-130px;background:rgba(96,165,250,.15)}.hero-orb-two{width:230px;height:230px;right:-70px;bottom:-120px;background:rgba(139,109,246,.13)}

/* Rooms pages */
.room-list-modern{display:grid;gap:24px}
.room-list-card{min-height:380px;padding:12px;border-radius:34px;display:grid;grid-template-columns:1.2fr .8fr;gap:42px;background:#fff;box-shadow:0 14px 44px rgba(44,62,80,.07)}
.room-list-card:nth-child(even){grid-template-columns:.8fr 1.2fr}.room-list-card:nth-child(even) .room-list-image{order:2}.room-list-card:nth-child(even) .room-list-copy{order:1}
.room-list-image{position:relative;border-radius:26px;overflow:hidden}.room-list-image .site-photo{height:100%;border-radius:26px}.room-list-image figcaption{display:none}.room-list-image>span{position:absolute;right:18px;top:18px;width:40px;height:40px;border-radius:13px;display:grid;place-items:center;background:rgba(255,255,255,.9);font-size:.72rem;font-weight:850}
.room-list-copy{padding:36px 34px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.room-list-copy h2{font-size:clamp(2rem,3vw,3rem)}.room-list-copy>p:not(.eyebrow){margin:0 0 16px;color:var(--muted)}.room-list-copy .card-link{margin-top:14px}
.booking-band{background:linear-gradient(135deg,var(--blue),#5b66ea);color:#fff}.booking-band-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}.booking-band-inner h2{font-size:clamp(2rem,3vw,3.2rem)}.booking-band-inner p{margin-top:12px;color:rgba(255,255,255,.74)}
.room-detail-gallery{padding:12px;border-radius:36px;display:grid;grid-template-columns:1.35fr .65fr;gap:12px;background:#fff;box-shadow:var(--shadow)}.room-detail-gallery .site-photo{height:100%;border-radius:27px}.room-detail-gallery figcaption{display:none}.gallery-side{display:grid;gap:12px}
.room-detail-info{margin-top:70px;display:grid;grid-template-columns:1fr 400px;gap:80px}.room-detail-copy h2{margin-top:12px}.room-detail-copy>p{margin-top:18px;color:var(--muted)}.room-structure{padding:16px 18px;border-radius:16px;background:var(--blue-soft);color:var(--blue)!important;font-weight:750}
.room-book-card{padding:28px;border-radius:28px;background:#fff;box-shadow:var(--shadow)}.room-book-facts{margin:24px 0;display:grid;grid-template-columns:1fr 1fr;gap:10px}.room-book-facts p{padding:14px;border-radius:15px;background:#f7f9fc;display:grid}.room-book-facts small{color:var(--muted);font-size:.68rem}.room-book-facts strong{font-size:1.15rem}.room-book-card>small{display:block;margin-top:12px;color:var(--muted);font-size:.72rem;text-align:center}

/* Facilities & travel */
.facility-list-modern{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.facility-modern{padding:10px;border-radius:32px;background:#fff;box-shadow:0 14px 44px rgba(44,62,80,.07)}.facility-photo{position:relative}.facility-photo .site-photo{border-radius:24px}.facility-photo figcaption{display:none}.facility-index{position:absolute;right:16px;top:16px;width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:rgba(255,255,255,.9);font-size:.7rem;font-weight:850}.facility-copy{padding:22px 20px 24px}.facility-copy h2{font-size:2rem}.facility-copy>p:not(.eyebrow){margin-top:10px;color:var(--muted)}.equipment-pills{margin:18px 0;display:flex;flex-wrap:wrap;gap:7px}.equipment-pills span{padding:7px 10px;border-radius:10px;background:#f2f4f6;color:#4e5968;font-size:.7rem;font-weight:700}.facility-featured{grid-column:1/3;display:grid;grid-template-columns:1.25fr .75fr}.facility-featured .facility-copy{padding:44px 36px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.group-contact-band{background:#eef7f4}.group-contact-card{padding:55px;border-radius:36px;display:flex;align-items:center;justify-content:space-between;gap:60px;background:#fff;box-shadow:var(--shadow)}.group-contact-card h2{margin-top:18px}.group-contact-card p{margin-top:14px;color:var(--muted)}
.travel-list-modern{display:grid;gap:26px}.travel-modern{padding:12px;border-radius:34px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:42px;background:#fff;box-shadow:0 14px 44px rgba(44,62,80,.07)}.travel-modern:nth-child(even) .travel-photo{order:2}.travel-photo{position:relative;min-width:0}.travel-photo .site-photo{height:100%;border-radius:26px}.travel-photo figcaption{display:none}.travel-photo>span{position:absolute;left:18px;top:18px;width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:rgba(255,255,255,.9);font-size:.7rem;font-weight:850}.travel-copy{min-width:0;padding:46px 30px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.travel-copy h2{max-width:100%;font-size:2.4rem}.travel-copy>p:not(.eyebrow){max-width:100%;margin:13px 0 22px;color:var(--muted)}
.travel-note{padding-top:20px}.note-card{padding:34px 40px;border-radius:28px;display:flex;align-items:center;gap:22px;background:var(--orange-soft)}.note-icon{width:52px;height:52px;flex:0 0 auto;border-radius:18px;display:grid;place-items:center;background:#fff;color:var(--orange);font-size:1.4rem;font-weight:900}.note-card h2{font-size:1.55rem}.note-card p{margin-top:5px;color:#8b5a45}

/* Guide */
.guide-facts{padding:12px;border-radius:25px;display:grid;grid-template-columns:repeat(4,1fr);background:#fff;box-shadow:var(--shadow)}.guide-facts>div{padding:14px 18px;border-right:1px solid var(--line);display:grid;grid-template-columns:40px minmax(0,1fr);grid-template-rows:auto auto;column-gap:11px}.guide-facts>div:last-child{border:0}.guide-facts>div>span{grid-row:1/3;width:40px;height:40px;border-radius:13px;display:grid;place-items:center;background:var(--blue-soft);color:var(--blue);font-weight:900}.guide-facts small{color:var(--muted);font-size:.68rem}.guide-facts strong{font-size:.95rem;white-space:nowrap}
.guide-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.guide-card{position:relative;min-height:260px;padding:34px;border-radius:30px;overflow:hidden}.guide-card:after{content:"";position:absolute;width:170px;height:170px;border-radius:50%;right:-60px;bottom:-80px;background:rgba(255,255,255,.38)}.guide-card.blue{background:#eaf3ff}.guide-card.mint{background:#e4fbf5}.guide-card.purple{background:#f0ecff}.guide-card.orange{background:#fff0e9}.guide-icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:rgba(255,255,255,.78);color:var(--blue);font-weight:900}.guide-card h2{margin-top:25px;font-size:1.8rem}.guide-card p{margin-top:9px;color:var(--text);font-size:.9rem}
.refund-section{padding-top:20px}.refund-card{padding:46px;border-radius:34px;display:grid;grid-template-columns:.85fr 1.15fr auto;align-items:center;gap:50px;background:#fff;box-shadow:var(--shadow)}.refund-card h2{margin-top:18px;font-size:2.2rem}.refund-card>p{color:var(--muted)}

/* Location */
.location-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:20px}.location-visual{position:relative;min-height:540px;border-radius:36px;overflow:hidden;background:linear-gradient(145deg,#ddf6ef,#e3efff)}.location-visual-river{position:absolute;width:850px;height:250px;left:-180px;top:150px;border:55px solid rgba(70,156,232,.22);border-left-color:transparent;border-right-color:transparent;border-radius:50%;transform:rotate(-24deg)}.location-road{position:absolute;height:18px;border-radius:99px;background:rgba(255,255,255,.75);transform:rotate(35deg)}.road-one{width:600px;left:-90px;top:130px}.road-two{width:440px;right:-120px;bottom:100px;transform:rotate(-32deg)}
.location-pin-card{position:absolute;z-index:2;left:50%;top:50%;padding:13px 17px;border-radius:20px;display:flex;align-items:center;gap:12px;background:#fff;box-shadow:0 20px 45px rgba(44,62,80,.16);transform:translate(-50%,-50%)}.location-pin-card>span{width:44px;height:44px;border-radius:15px;display:grid;place-items:center;background:var(--blue);color:#fff;font-weight:900}.location-pin-card div{display:grid}.location-pin-card small{color:var(--muted)}
.location-info-card{padding:46px;border-radius:36px;display:flex;flex-direction:column;justify-content:center;background:#fff;box-shadow:var(--shadow)}.location-info-card h2{margin-top:22px;font-size:2.4rem}.location-info-list{margin:28px 0}.location-info-list p{padding:13px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:20px}.location-info-list span{color:var(--muted);font-size:.78rem}.location-info-list strong,.location-info-list a{font-size:.85rem;font-weight:800}
.arrival-tips{background:#fff}.arrival-tip-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.arrival-tip-grid article{padding:28px;border:1px solid var(--line);border-radius:24px}.arrival-tip-grid span{color:var(--blue);font-size:.72rem;font-weight:850}.arrival-tip-grid h3{margin-top:18px}.arrival-tip-grid p{margin-top:8px;color:var(--muted);font-size:.85rem}

/* Contact */
.contact-card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.contact-card{min-height:340px;padding:34px;border-radius:30px;display:flex;flex-direction:column;align-items:flex-start;background:#fff;box-shadow:0 14px 44px rgba(44,62,80,.07)}.contact-card.primary-card{background:linear-gradient(145deg,#3182f6,#5c6ef2);color:#fff}.contact-card.ai-card{background:linear-gradient(145deg,#f0ecff,#fff)}.contact-icon{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:rgba(255,255,255,.18);color:#fff;font-weight:900}.contact-icon.green{background:var(--mint-soft);color:#0aa47d}.contact-icon.orange{background:var(--orange-soft);color:var(--orange)}.contact-icon.purple{background:#fff;color:var(--purple)}.contact-card .eyebrow{margin-top:28px}.contact-card.primary-card .eyebrow{color:rgba(255,255,255,.7)}.contact-card h2{font-size:2rem}.contact-card>p:not(.eyebrow){margin-top:10px;color:var(--muted)}.contact-card.primary-card>p:not(.eyebrow){color:rgba(255,255,255,.76)}.contact-card .button{margin-top:auto}
.group-inquiry-section{background:#eef7f4}.group-inquiry-modern{padding:54px;border-radius:36px;display:grid;grid-template-columns:1fr .8fr;gap:80px;background:#fff}.group-inquiry-modern h2{margin-top:20px}.group-inquiry-modern>div:first-child>p{margin-top:16px;color:var(--muted)}.group-steps p{padding:13px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px;font-weight:700}.group-steps p span{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:var(--mint-soft);color:#0aa47d;font-size:.7rem}.group-steps .button{margin-top:18px}

/* AI page */
.ai-page-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:center}.ai-page-copy h2{margin-top:22px}.ai-page-copy>p{margin-top:18px;color:var(--muted)}.ai-safe-list{margin-top:26px;display:grid;gap:10px}.ai-safe-list p{display:flex;align-items:center;gap:10px;color:var(--text);font-weight:700}.ai-safe-list span{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:var(--mint-soft);color:#0aa47d}
.ai-human-card{margin-top:32px;padding:20px;border-radius:20px;display:grid;background:#fff;box-shadow:0 12px 34px rgba(44,62,80,.07)}.ai-human-card span{color:var(--muted);font-size:.72rem}.ai-human-card strong{margin-top:4px}.ai-human-card a{margin-top:12px;color:var(--blue);font-size:.8rem;font-weight:800}
.chat-app{overflow:hidden;border:1px solid #e9e7f2;border-radius:32px;background:#fff;box-shadow:0 28px 80px rgba(76,63,130,.15)}.chat-app-head{padding:18px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px}.chat-avatar{width:44px;height:44px;flex:0 0 auto;border-radius:15px;display:grid;place-items:center;background:linear-gradient(145deg,var(--purple),var(--blue));color:#fff;font-weight:900}.chat-app-head>div:nth-child(2){min-width:0;display:grid}.chat-app-head h2{font-size:.96rem}.chat-app-head span{color:var(--muted);font-size:.68rem}.chat-app-head span i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--mint)}.chat-reset{margin-left:auto;padding:8px 10px;border:0;border-radius:10px;flex:0 0 auto;white-space:nowrap;background:#f2f4f6;color:var(--muted);font-size:.7rem}
.chat-app-body{height:330px;padding:20px;overflow:auto;background:#f7f8fc}.chat-date{text-align:center;color:#adb5bd;font-size:.65rem}.chat-message{max-width:84%;margin-top:14px;padding:13px 15px;border-radius:17px;font-size:.82rem}.chat-message.bot{border-bottom-left-radius:5px;background:#fff;box-shadow:0 7px 18px rgba(44,62,80,.06)}.chat-message.user{margin-left:auto;border-bottom-right-radius:5px;background:var(--blue);color:#fff}.chat-message small{display:block;margin-top:8px;color:var(--muted);font-size:.65rem}.chat-source{display:block;margin-top:8px;color:#8b95a1;font-size:.64rem}
.chat-suggestions{padding:12px 16px;display:flex;gap:6px;overflow-x:auto;border-top:1px solid var(--line)}.chat-suggestions button{flex:0 0 auto;padding:8px 10px;border:1px solid #dfe3e8;border-radius:11px;background:#fff;color:#4e5968;font-size:.68rem;font-weight:700}.chat-suggestions button:hover{border-color:var(--blue);color:var(--blue);background:var(--blue-soft)}
.chat-form{padding:14px 16px 16px;border-top:1px solid var(--line)}.chat-form>label{position:absolute;width:1px;height:1px;overflow:hidden}.chat-input-shell{padding:5px 5px 5px 13px;border:1px solid #dfe3e8;border-radius:15px;display:flex;background:#fff}.chat-input-shell input{min-width:0;flex:1;border:0;outline:0;color:var(--ink)}.chat-input-shell button{width:38px;height:38px;border:0;border-radius:12px;background:var(--blue);color:#fff;font-size:1.1rem}.chat-form>p{margin-top:8px;color:#8b95a1;font-size:.63rem;text-align:center}
.ai-info-section{padding-top:10px}.ai-info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.ai-info-grid article{padding:25px;border-radius:23px;background:#fff}.ai-info-grid span{color:var(--blue);font-size:.7rem;font-weight:850}.ai-info-grid h3{margin-top:16px;font-size:1.15rem}.ai-info-grid p{margin-top:7px;color:var(--muted);font-size:.78rem}

/* Floating AI */
.floating-ai{position:fixed;right:22px;bottom:22px;z-index:400}
.ai-launcher{min-width:172px;padding:10px 12px;border:0;border-radius:22px;display:flex;align-items:center;gap:10px;background:#fff;color:var(--ink);box-shadow:0 18px 50px rgba(44,62,80,.22);transition:.24s var(--ease);animation:launcher-float 4s ease-in-out infinite}.ai-launcher:hover{transform:translateY(-4px);box-shadow:0 23px 60px rgba(44,62,80,.28)}
.ai-spark{width:42px;height:42px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(145deg,var(--purple),var(--blue));color:#fff;font-size:1.15rem}.ai-launcher-copy{display:grid;text-align:left;line-height:1.2}.ai-launcher-copy strong{font-size:.82rem}.ai-launcher-copy small{margin-top:3px;color:var(--muted);font-size:.66rem}.ai-launcher>i{margin-left:auto;color:var(--blue);font-style:normal}
@keyframes launcher-float{50%{transform:translateY(-5px)}}
.ai-panel{position:absolute;right:0;bottom:76px;width:min(380px,calc(100vw - 28px));overflow:hidden;border:1px solid rgba(255,255,255,.9);border-radius:30px;background:#fff;box-shadow:0 28px 90px rgba(29,48,78,.26);transform-origin:right bottom;animation:panel-in .24s var(--ease)}
@keyframes panel-in{from{opacity:0;transform:translateY(12px) scale(.96)}}
.ai-panel-head{position:relative;padding:24px;background:linear-gradient(145deg,#f0edff,#e9f3ff)}.ai-panel-head h2{margin-top:10px;font-size:1.55rem}.ai-panel-head p{margin-top:5px;color:var(--muted);font-size:.75rem}.ai-status{color:#5b45c8;font-size:.67rem;font-weight:800}.ai-status i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--mint)}.ai-panel-close{position:absolute;right:15px;top:15px;width:32px;height:32px;border:0;border-radius:11px;background:rgba(255,255,255,.72);color:#4e5968;font-size:1.2rem}
.ai-quick-list{padding:14px 16px;display:flex;flex-wrap:wrap;gap:6px;border-bottom:1px solid var(--line)}.ai-quick-list button{padding:7px 9px;border:1px solid #e1e5ea;border-radius:10px;background:#fff;color:#4e5968;font-size:.67rem;font-weight:700}.ai-quick-list button:hover{background:var(--blue-soft);border-color:#bcd7ff;color:var(--blue)}
.ai-conversation{max-height:210px;min-height:110px;padding:16px;overflow:auto;background:#f7f8fb}.ai-bubble{max-width:88%;padding:12px 14px;border-radius:16px 16px 16px 5px;background:#fff;box-shadow:0 7px 18px rgba(44,62,80,.06);color:var(--text);font-size:.76rem}.ai-bubble.user{margin:10px 0 0 auto;border-radius:16px 16px 5px 16px;background:var(--blue);color:#fff}.ai-panel-actions{padding:12px 16px;display:flex;gap:8px}.ai-panel-actions a{flex:1;padding:9px;border-radius:11px;background:#f2f4f6;color:#4e5968;text-align:center;text-decoration:none;font-size:.68rem;font-weight:750}.ai-panel-actions a:first-child{background:var(--blue);color:#fff}

/* Footer */
.site-footer{position:relative;padding:72px 0 26px;overflow:hidden;background:#101828;color:#fff}.footer-orb{position:absolute;width:560px;height:560px;border-radius:50%;right:-280px;top:-330px;background:radial-gradient(circle,rgba(49,130,246,.24),rgba(49,130,246,0) 68%)}
.footer-cta{position:relative;padding-bottom:58px;border-bottom:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;align-items:end;gap:40px}.footer-cta span{color:#8b95a1;font-size:.78rem}.footer-cta h2{margin-top:7px;font-size:2.7rem}
.footer-grid{padding:52px 0;display:grid;grid-template-columns:1.5fr .5fr .6fr;gap:70px}.brand-footer .brand-copy strong{color:#fff}.footer-brand>p{margin-top:22px;color:#8b95a1;font-size:.82rem}.footer-nav{display:grid;align-content:start;gap:9px}.footer-nav>span{margin-bottom:5px;color:#657183;font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em}.footer-nav a{color:#c8d0db;text-decoration:none;font-size:.78rem}.footer-nav a:hover{color:#fff}
.footer-business{padding-top:24px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;gap:30px;color:#677386;font-size:.67rem}.footer-business p:last-child{white-space:nowrap}
.mobile-cta{display:none}

/* Generic WordPress content */
.stack{display:grid;gap:18px}.legal-copy{max-width:840px}.legal-copy h2{margin-top:26px;font-size:1.55rem}.legal-copy p,.legal-copy li{color:var(--text)}.feature-list{margin:0;padding-left:20px}

/* Group-first home */
.group-home-hero{min-height:760px;background:linear-gradient(155deg,#f7fbff 0%,#f7f9fc 54%,#f2fbf8 100%)}
.group-home-hero .home-hero-copy h1{font-size:clamp(3.15rem,6vw,5.4rem);letter-spacing:-.058em}
.group-home-hero .home-hero-copy>p{max-width:620px;line-height:1.78}
.group-home-hero .hero-main-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(9,20,38,.25));pointer-events:none}
.group-hero-proof{gap:10px}.group-hero-proof span{padding:8px 12px;border:1px solid rgba(49,130,246,.12);border-radius:999px;background:rgba(255,255,255,.72);backdrop-filter:blur(8px)}
.group-quick-facts{margin-top:-22px}

.group-programs-section{position:relative;background:linear-gradient(180deg,#fff,#f4f8fd)}
.group-programs-heading{margin-bottom:42px;display:grid;grid-template-columns:1.15fr .85fr;align-items:end;gap:54px}
.group-programs-heading>p{padding-bottom:8px;color:var(--muted);font-size:.95rem}
.group-program-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.group-program-card{position:relative;min-height:300px;padding:28px;border:1px solid rgba(255,255,255,.86);border-radius:30px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 14px 38px rgba(44,62,80,.07);transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.group-program-card:before{content:"";position:absolute;width:180px;height:180px;right:-68px;top:-76px;border-radius:50%;background:rgba(255,255,255,.42)}
.group-program-card:hover{transform:translateY(-7px);box-shadow:var(--shadow-hover)}
.group-program-card.tone-blue{background:linear-gradient(145deg,#eaf3ff,#f8fbff)}.group-program-card.tone-mint{background:linear-gradient(145deg,#e2faf4,#f8fffd)}.group-program-card.tone-purple{background:linear-gradient(145deg,#eeeaff,#faf9ff)}.group-program-card.tone-orange{background:linear-gradient(145deg,#fff0e8,#fffaf7)}.group-program-card.tone-sky{background:linear-gradient(145deg,#e7f7ff,#f9fdff)}.group-program-card.tone-sand{background:linear-gradient(145deg,#f5efe4,#fffdf8)}
.group-program-top{position:relative;display:flex;align-items:center;justify-content:space-between;gap:20px}.group-program-top>span{width:40px;height:40px;border-radius:14px;display:grid;place-items:center;background:rgba(255,255,255,.82);color:var(--blue);font-size:.72rem;font-weight:900}.group-program-top small{color:#6b7684;font-size:.68rem;font-weight:800}
.group-program-card h3{position:relative;margin-top:36px;font-size:2rem}.group-program-card>p{position:relative;margin-top:12px;color:#4e5968;font-size:.88rem;line-height:1.7}.group-program-card>a{position:relative;margin-top:auto;padding-top:22px;color:var(--ink);display:flex;align-items:center;justify-content:space-between;text-decoration:none;font-size:.78rem;font-weight:850}.group-program-card>a span{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:rgba(255,255,255,.75);transition:transform .25s}.group-program-card:hover>a span{transform:translate(2px,-2px)}

.group-flow-section{padding-top:28px;background:#f4f8fd}
.group-flow-shell{padding:60px;border-radius:42px;display:grid;grid-template-columns:.82fr 1.18fr;gap:80px;background:linear-gradient(145deg,#1d6ee9,#596be9 58%,#7967e7);color:#fff;box-shadow:0 30px 70px rgba(40,91,187,.2)}
.group-flow-copy>p:not(.eyebrow){margin-top:20px;color:rgba(255,255,255,.76)}.group-flow-copy .button{margin-top:30px}
.group-flow-list{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.group-flow-list li{padding:20px;border:1px solid rgba(255,255,255,.16);border-radius:24px;display:flex;align-items:flex-start;gap:14px;background:rgba(255,255,255,.1);backdrop-filter:blur(12px)}
.group-flow-list li>span{width:32px;height:32px;flex:0 0 auto;border-radius:11px;display:grid;place-items:center;background:#fff;color:var(--blue);font-size:.66rem;font-weight:900}.group-flow-list div{display:grid}.group-flow-list small{color:rgba(255,255,255,.62);font-size:.58rem;font-weight:850;letter-spacing:.1em}.group-flow-list strong{margin-top:5px;font-size:1rem}.group-flow-list p{margin-top:5px;color:rgba(255,255,255,.7);font-size:.7rem}

.review-marquee-section{overflow:hidden;background:#fff}
.review-heading{display:flex;align-items:end;justify-content:space-between;gap:48px}.review-heading h2{margin-top:6px}.review-heading>div:first-child>p:last-child{margin-top:13px;color:var(--muted)}
.review-score-card{padding:16px 20px;border:1px solid var(--line);border-radius:22px;display:flex;align-items:center;gap:16px;background:#fff;box-shadow:0 12px 32px rgba(44,62,80,.07)}.review-score-card>strong{font-size:2.5rem;letter-spacing:-.06em}.review-score-card>div{display:grid}.review-score-card span{color:#ffb02e;font-size:.72rem;letter-spacing:.08em}.review-score-card b{margin-top:2px;font-size:.72rem}.review-score-card small{color:var(--muted);font-size:.64rem}
.review-keywords{margin-top:24px;display:flex;flex-wrap:wrap;gap:8px}.review-keywords span{padding:8px 11px;border-radius:999px;background:#f2f4f6;color:#4e5968;font-size:.7rem;font-weight:750}.review-keywords b{color:var(--blue)}
.review-marquee{width:100%;margin-top:28px;overflow:hidden;mask-image:linear-gradient(to right,transparent,#000 7%,#000 93%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 7%,#000 93%,transparent)}
.review-marquee-track{width:max-content;display:flex;animation:review-marquee 42s linear infinite;will-change:transform}.review-marquee:hover .review-marquee-track,.review-marquee:focus-within .review-marquee-track{animation-play-state:paused}
.review-marquee-set{display:flex;gap:14px;padding-right:14px}
.review-summary-card{width:clamp(300px,28vw,380px);min-height:214px;padding:24px;flex:0 0 auto;border:1px solid #e7ebf0;border-radius:26px;background:linear-gradient(150deg,#fff,#f8fafc);box-shadow:0 13px 35px rgba(44,62,80,.06)}
.review-card-meta{display:flex;align-items:center;justify-content:space-between;gap:14px}.review-card-meta span{color:#ffb02e;font-size:.7rem;letter-spacing:.06em}.review-card-meta small{color:var(--blue);font-size:.66rem;font-weight:850}.review-summary-card h3{margin-top:24px;font-size:1.25rem;line-height:1.35}.review-summary-card>p{margin-top:9px;color:var(--muted);font-size:.82rem;line-height:1.65}.review-summary-card>b{display:block;margin-top:18px;color:#adb5bd;font-size:.6rem;font-weight:750}
.review-source-row{margin-top:20px;display:flex;align-items:center;justify-content:space-between;gap:30px}.review-source-row small{color:#8b95a1;font-size:.65rem}.review-source-row a{color:var(--blue);text-decoration:none;font-size:.72rem;font-weight:850}
@keyframes review-marquee{to{transform:translate3d(-50%,0,0)}}

.group-rooms-section{background:linear-gradient(180deg,#f4f8fd,#eef4fb)}
.group-space-showcase{background:linear-gradient(135deg,#146f65,#178f7f 58%,#44a98f)}
.group-experience-section{background:#f7f9fc}
.group-inquiry-home-section{padding-top:28px;background:#f7f9fc}
.group-inquiry-home-card{padding:54px 58px;border:1px solid rgba(218,225,234,.9);border-radius:38px;display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:70px;background:linear-gradient(145deg,#fff,#f0f5ff 58%,#edf9f6);box-shadow:var(--shadow)}
.group-inquiry-home-card h2{margin-top:22px}.group-inquiry-home-card>div:first-child>p{margin-top:17px;color:var(--muted)}.group-inquiry-actions{display:grid;gap:10px}.group-inquiry-actions .button{width:100%}.group-inquiry-actions small{margin-top:4px;color:var(--muted);font-size:.68rem;text-align:center}
.group-ai-intro-section{padding-top:36px}.group-faq-section{background:#fff}

/* Responsive */
@media(max-width:1080px){
  .nav-list a{padding:9px 8px;font-size:.76rem}.home-hero-grid{gap:42px}.float-card-bottom{right:-8px}.room-card-grid{grid-template-columns:repeat(2,1fr)}.showcase-grid{gap:35px}.ai-page-grid{gap:38px}.footer-grid{grid-template-columns:1.25fr .5fr .6fr}.group-flow-shell{gap:42px}.group-program-card{min-height:280px;padding:24px}
}
@media(max-width:860px){
  body{padding-bottom:70px}.site-header{padding:8px 0}.header-shell{min-height:58px;border-radius:20px}.brand-mark{width:34px;height:34px}.brand-copy small{display:none}.menu-toggle{margin-left:auto;padding:10px;display:inline-flex;align-items:center;gap:8px}.menu-toggle i,.menu-toggle i:before{display:block;width:20px;height:2px;background:currentColor}.menu-toggle i{position:relative}.menu-toggle i:before{content:"";position:absolute;top:6px}.header-booking{display:none}
  .primary-nav{position:fixed;inset:0;z-index:300;padding:24px;background:#fff;display:none;overflow:auto}.primary-nav.is-open{display:block}.nav-panel-head{display:flex;align-items:center;justify-content:space-between;padding:8px 0 22px;border-bottom:1px solid var(--line)}.nav-panel-head strong{font-size:1.05rem}.nav-close{padding:9px 12px;border:0;border-radius:11px;background:#f2f4f6}.nav-list{margin-top:22px;display:grid}.nav-list a{padding:16px 8px;border-radius:14px;font-size:1.25rem}.nav-ai-link{margin-top:24px;padding:16px;border-radius:15px;display:flex;align-items:center;gap:9px;background:var(--purple-soft);color:var(--purple);text-decoration:none;font-weight:800}
  .home-hero{min-height:auto;padding:45px 0 52px}.home-hero-grid{grid-template-columns:1fr;gap:45px}.home-hero-copy{text-align:center}.home-hero-copy .soft-badge{margin:auto}.home-hero-copy>p{margin-inline:auto}.hero-actions,.hero-proof{justify-content:center}.home-hero-visual{height:500px;padding-left:0}.float-card-top{left:-5px}.float-card-bottom{right:-5px}
  .facts-shell{grid-template-columns:1fr 1fr}.facts-shell>div:nth-child(2){border-right:0}.facts-shell>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.group-home-hero .home-hero-copy>p{max-width:650px}.group-programs-heading{grid-template-columns:1fr;gap:18px}.group-program-grid{grid-template-columns:1fr 1fr}.group-flow-shell{padding:46px;grid-template-columns:1fr;gap:42px}.review-heading{align-items:flex-start}.group-inquiry-home-card{padding:42px;grid-template-columns:1fr;gap:36px}
  .section-heading{grid-template-columns:1fr auto}.section-heading>p{grid-column:1/3;grid-row:2}.room-card-grid{grid-template-columns:1fr 1fr}
  .showcase-grid,.ai-intro-card,.faq-grid,.location-card,.ai-page-grid,.location-layout,.group-inquiry-modern{grid-template-columns:1fr}.showcase-copy{text-align:center}.showcase-copy .soft-badge{margin:auto}.showcase-cards{height:510px}.ai-intro-card{gap:50px;padding:42px}.faq-grid{gap:35px}.faq-title{position:static}.location-map-visual{min-height:360px}.location-card-copy{padding:30px}
  .experience-bento{grid-template-columns:1fr 1fr;grid-template-rows:440px auto}.experience-main{grid-column:1/3;grid-row:1}.experience-small{grid-template-columns:1fr}.experience-small .site-photo{height:auto}
  .room-list-card,.room-list-card:nth-child(even){grid-template-columns:1fr;gap:10px}.room-list-card:nth-child(even) .room-list-image{order:1}.room-list-card:nth-child(even) .room-list-copy{order:2}.room-list-image .site-photo{height:auto}.room-list-copy{padding:24px 20px 28px}.room-detail-info{grid-template-columns:1fr;gap:35px}.room-book-card{max-width:none}
  .facility-list-modern{grid-template-columns:1fr}.facility-featured{grid-column:auto;display:block}.travel-modern{grid-template-columns:1fr;gap:10px}.travel-modern:nth-child(even) .travel-photo{order:0}.travel-copy{padding:28px 22px}.refund-card{grid-template-columns:1fr;gap:24px}.contact-card-grid{grid-template-columns:1fr 1fr}.ai-info-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/3}.footer-cta{align-items:flex-start;flex-direction:column}.floating-ai{right:14px;bottom:84px}.ai-launcher{min-width:0}.ai-launcher-copy,.ai-launcher>i{display:none}.mobile-cta{position:fixed;z-index:350;left:12px;right:12px;bottom:10px;height:58px;padding:6px;border:1px solid rgba(255,255,255,.85);border-radius:20px;display:grid;grid-template-columns:repeat(3,1fr);background:rgba(255,255,255,.93);backdrop-filter:blur(16px);box-shadow:0 12px 38px rgba(44,62,80,.2)}.mobile-cta a,.mobile-cta button{border:0;border-radius:14px;display:flex;align-items:center;justify-content:center;gap:7px;background:transparent;color:#4e5968;text-decoration:none;font-size:.72rem;font-weight:800}.mobile-cta a:first-child{background:var(--blue);color:#fff}
}
@media(max-width:560px){
  :root{--gutter:18px}.section{padding:68px 0}.page-hero{padding:64px 0 60px}.page-hero-icon{width:50px;height:50px;border-radius:17px}.page-hero h1{font-size:clamp(2.12rem,10vw,2.45rem)}.home-hero{padding-top:32px}.home-hero-copy h1{font-size:clamp(2.18rem,10.4vw,2.75rem)}.group-home-hero .home-hero-copy h1{font-size:clamp(2.3rem,11.3vw,3.05rem);line-height:1.08}.home-hero-copy h1 em{white-space:normal}.home-hero-copy>p{font-size:.93rem}.hero-actions .button{width:100%}.hero-proof{gap:7px;font-size:.63rem}.group-hero-proof span{padding:6px 9px}.home-hero-visual{height:400px}.hero-main-photo{border-radius:28px}.float-card{padding:9px 11px;border-radius:15px}.float-icon{width:33px;height:33px;border-radius:11px}.float-card strong{font-size:.7rem}.float-card small{font-size:.58rem}.float-card-top{top:46px}.float-card-bottom{bottom:36px}.facts-shell{padding:8px;border-radius:22px}.facts-shell>div{padding:10px 8px;gap:8px}.fact-icon{width:34px;height:34px}.facts-shell strong{font-size:.82rem}.group-quick-facts{margin-top:-8px}
  .group-programs-heading h2{font-size:2.2rem}.group-program-grid{grid-template-columns:1fr}.group-program-card{min-height:245px;border-radius:25px}.group-program-card h3{margin-top:28px}.group-flow-shell{padding:32px 22px;border-radius:30px}.group-flow-copy h2{font-size:2.25rem}.group-flow-list{grid-template-columns:1fr}.review-heading{display:grid;gap:22px}.review-score-card{width:100%;justify-content:center}.review-keywords{flex-wrap:nowrap;overflow:auto;padding-bottom:5px}.review-keywords span{flex:0 0 auto}.review-marquee{mask-image:none;-webkit-mask-image:none}.review-summary-card{width:286px;min-height:220px;padding:21px;border-radius:22px}.review-source-row{align-items:flex-start;flex-direction:column;gap:8px}.group-inquiry-home-card{padding:30px 22px;border-radius:29px}.group-inquiry-home-card h2{font-size:2.15rem}.group-inquiry-actions .button{white-space:normal;text-align:center}
  .section-heading{gap:18px}.section-heading h2{font-size:2.2rem}.circle-link{width:46px;height:46px}.room-card-grid{grid-template-columns:1fr;gap:14px}.room-card-soft{border-radius:24px}.room-card-image .site-photo{border-radius:18px}
  .showcase-grid{gap:36px}.showcase-copy h2{font-size:2.25rem}.showcase-cards{height:auto;display:grid;gap:16px}.showcase-card{position:static;width:100%;border-width:5px;border-radius:26px}.showcase-card .site-photo{border-radius:19px 19px 0 0}
  .experience-bento{display:grid;grid-template-columns:1fr;grid-template-rows:auto}.experience-main{grid-column:auto;grid-row:auto;min-height:420px}.experience-small{grid-template-columns:42% 1fr}.experience-small .site-photo{height:100%}.bento-overlay{left:22px;right:22px;bottom:22px}.bento-overlay h3{font-size:1.8rem}
  .ai-intro-card{padding:28px 20px;border-radius:30px}.ai-preview{padding:14px}.preview-chips{overflow:hidden}.faq-list summary{min-height:68px;grid-template-columns:28px minmax(0,1fr) 24px;gap:8px;font-size:.86rem;line-height:1.45}.faq-list summary i{justify-self:end}.faq-list details p{padding-left:36px;padding-right:24px}.location-card{padding:9px;border-radius:30px}.location-map-visual{min-height:310px;border-radius:23px}.location-card-copy{padding:28px 18px}.location-card-copy h2{font-size:2rem}
  .room-list-card{padding:8px;border-radius:27px}.room-list-image{border-radius:21px}.room-list-image .site-photo{border-radius:21px}.room-detail-gallery{grid-template-columns:1fr;padding:8px;border-radius:28px}.gallery-side{grid-template-columns:1fr 1fr}.room-detail-gallery .site-photo{border-radius:21px}.room-detail-info{margin-top:45px}.room-book-facts{grid-template-columns:1fr 1fr}.booking-band-inner{align-items:flex-start;flex-direction:column}
  .facility-modern{border-radius:26px}.facility-photo .site-photo{border-radius:19px}.facility-featured .facility-copy{padding:24px 20px}.group-contact-card{padding:32px 24px;align-items:flex-start;flex-direction:column;gap:28px}.travel-modern{padding:8px;border-radius:27px}.travel-photo .site-photo{border-radius:21px}.travel-copy h2{font-size:2rem}.note-card{padding:25px;align-items:flex-start}.note-card h2{font-size:1.3rem}
  .guide-facts{grid-template-columns:1fr 1fr}.guide-facts>div{padding:12px 10px;grid-template-columns:36px minmax(0,1fr);column-gap:8px}.guide-facts>div>span{width:36px;height:36px}.guide-facts strong{font-size:.9rem}.guide-facts>div:nth-child(2){border-right:0}.guide-facts>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.guide-card-grid{grid-template-columns:1fr}.guide-card{min-height:230px;padding:28px}.refund-card{padding:30px 24px}
  .location-visual{min-height:400px}.location-info-card{padding:30px 24px}.location-info-card h2{font-size:2rem}.arrival-tip-grid{grid-template-columns:1fr}.contact-card-grid{grid-template-columns:1fr}.contact-card{min-height:310px;padding:28px}.group-inquiry-modern{padding:32px 24px;gap:35px}.ai-page-grid{gap:45px}.chat-app-body{height:300px}.chat-suggestions{flex-wrap:wrap;overflow-x:visible}.chat-suggestions button{min-width:0;flex:1 1 calc(50% - 6px);white-space:normal;line-height:1.3}.ai-quick-list button{line-height:1.3}.ai-info-grid{grid-template-columns:1fr}.footer-cta h2{font-size:2.1rem}.footer-grid{grid-template-columns:1fr;gap:34px}.footer-brand{grid-column:auto}.footer-business{align-items:flex-start;flex-direction:column}.ai-panel{bottom:70px}.floating-ai{right:12px}.ai-launcher{width:52px;height:52px;padding:5px;border-radius:18px}.ai-spark{width:42px;height:42px}.site-footer{padding-top:58px}
}
@media(max-width:360px){
  :root{--gutter:16px}.section-heading h2{font-size:2rem}.showcase-copy h2{font-size:2.05rem}.refund-card h2,.ai-page-copy h2{font-size:2rem}.faq-list summary{grid-template-columns:24px minmax(0,1fr) 22px;font-size:.82rem}.faq-list details p{padding-left:32px;padding-right:18px}.chat-app-head{padding:15px 14px;gap:9px}.chat-avatar{width:40px;height:40px;border-radius:13px}.chat-app-head h2{font-size:.86rem}.chat-reset{padding:7px 8px;font-size:.66rem}.chat-suggestions{padding:10px 12px}.chat-form{padding-inline:12px}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}

/* v0.8 — Deungeok Story green group-stay design system */
:root{
  --blue:#147347;
  --blue-dark:#176d49;
  --blue-soft:#e8f6ee;
  --mint:#52c38c;
  --mint-soft:#eaf8f0;
  --purple:#397d62;
  --purple-soft:#edf6f1;
  --orange:#c8743c;
  --orange-soft:#fbf0e8;
  --ink:#17211c;
  --text:#34463d;
  --muted:#52685d;
  --line:#dee9e2;
  --canvas:#f4f8f5;
  --navy:#103527;
  --content:1200px;
  --shadow:0 20px 58px rgba(24,72,50,.09);
  --shadow-hover:0 28px 72px rgba(24,72,50,.16);
}
:focus-visible{outline-color:rgba(31,143,95,.55)}
body.ai-open{overflow:hidden}
.screen-reader-text{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.site-header{background:rgba(244,248,245,.82)}
.brand-mark{background:linear-gradient(145deg,#58bb85,var(--blue));box-shadow:0 8px 18px rgba(31,143,95,.24)}
.header-booking{box-shadow:0 9px 22px rgba(31,143,95,.24)}
.section{padding:clamp(56px,6.5vw,88px) 0}
.home-hero{min-height:650px;padding:52px 0 38px}
.group-home-hero{min-height:670px;background:linear-gradient(150deg,#f4fbf7 0%,#f5f9f6 58%,#eaf6ef 100%)}
.hero-blob-blue{background:radial-gradient(circle at 65% 60%,rgba(82,195,140,.28),rgba(232,246,238,.08) 68%)}
.hero-blob-mint{background:radial-gradient(circle at 35% 35%,rgba(31,143,95,.2),rgba(234,248,240,.06) 70%)}
.hero-kicker{margin-top:24px!important;color:var(--muted)!important;font-size:.92rem!important;font-weight:720;letter-spacing:-.02em}
.hero-kicker strong{color:var(--blue);font-size:1.16em;font-weight:900}
.home-hero-copy h1{margin-top:12px}
.group-home-hero .home-hero-copy h1{font-size:clamp(3rem,5.6vw,5.05rem);line-height:1.04}
.group-hero-proof span{padding:10px 16px;border:1px solid rgba(31,143,95,.17);border-radius:999px;background:rgba(255,255,255,.76);box-shadow:0 9px 26px rgba(24,72,50,.07)}
.group-hero-proof i{color:var(--blue)}
.group-programs-section{background:#f4f8f5}
.group-program-card{border-color:rgba(31,143,95,.11);box-shadow:0 14px 40px rgba(24,72,50,.07)}
.group-program-card[class*="tone-"]{background:linear-gradient(150deg,#fff,#edf8f1)}
.group-program-card[class*="tone-"] .group-program-top span,.group-program-card[class*="tone-"] a{color:var(--blue)}
.group-program-card[class*="tone-"]:before{background:radial-gradient(circle,rgba(82,195,140,.22),transparent 70%)}
.review-marquee-section{background:#fff}
.review-summary-card{border-color:var(--line);background:linear-gradient(150deg,#fff,#f2f8f4);box-shadow:0 13px 35px rgba(24,72,50,.06)}
.group-rooms-section{background:linear-gradient(180deg,#f4f8f5,#eaf4ed)}
.group-space-showcase,.space-showcase{background:linear-gradient(135deg,#176b4b,#1f8f5f 58%,#4fa877)}

/* v0.8 accessibility contrast corrections. */
.soft-badge.purple{color:#2f7056}
.soft-badge.mint{color:#06745a}
.review-source-row small{color:#5f6f67}
.site-footer .footer-cta span,
.site-footer .footer-brand>p{color:#b2c0b9}
.site-footer .brand-copy small{color:#b2c0b9}
.site-footer .footer-nav>span{color:#a7b7af}
.site-footer .footer-business{color:#b2c0b9}
.ai-launcher-copy small{color:#d8e8e1}
.group-inquiry-home-card{border-color:rgba(31,143,95,.14);background:linear-gradient(145deg,#fff,#edf8f1 58%,#e5f4eb)}
.location-card{background:#e8f2eb}
.location-map-visual{background:linear-gradient(145deg,#dff2e7,#dcebe3)}
.map-river{border-color:rgba(31,143,95,.25);border-left-color:transparent;border-right-color:transparent}
.map-marker{box-shadow:0 14px 30px rgba(31,143,95,.24)}
.page-hero{background:linear-gradient(150deg,#eaf6ef 0%,#f4f8f5 55%,#edf6f1 100%)}
.site-footer{background:#103527}

/* Keep the landing concise: hero → programs → facilities → reviews → rooms → CTA → location. */
.group-quick-facts,.group-flow-section,.group-experience-section,.group-ai-intro-section,.group-faq-section{display:none!important}

/* AI consultation launcher and panel */
.floating-ai{right:24px;bottom:24px;z-index:1400}
.ai-launcher{min-width:154px;padding:9px 12px 9px 9px;border-radius:999px;background:var(--blue);color:#fff;box-shadow:0 18px 46px rgba(22,107,73,.32)}
.ai-launcher:hover{box-shadow:0 24px 56px rgba(22,107,73,.38)}
.ai-spark{width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.16);color:#fff}
.ai-launcher-copy strong{font-size:.88rem}.ai-launcher-copy small{color:#e4f0eb}
.ai-panel{bottom:70px;width:min(460px,calc(100vw - 32px));height:min(680px,calc(100vh - 112px));display:flex;flex-direction:column;border-color:rgba(31,143,95,.12);border-radius:26px;box-shadow:0 30px 90px rgba(18,65,44,.28)}
.ai-panel[hidden]{display:none}
.ai-panel-head{min-height:76px;padding:16px 18px;background:linear-gradient(145deg,#e8f6ee,#f2faf5)}
.ai-panel-head h2{margin-top:4px;font-size:1.18rem}.ai-status{color:var(--blue)}
.ai-panel-close{right:14px;top:14px;background:#fff;color:var(--text)}
.ai-quick-list{padding:10px 14px;display:flex;gap:7px;overflow-x:auto;scrollbar-width:none}.ai-quick-list::-webkit-scrollbar{display:none}
.ai-quick-list button{flex:0 0 auto;border-color:var(--line);background:#fff;color:var(--text)}
.ai-conversation{min-height:0;max-height:none;flex:1;padding:16px;background:#f1f6f3}
.ai-bubble.user{background:var(--blue)}
.floating-ai-form{padding:12px 14px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;border-top:1px solid var(--line);background:#fff}
.floating-ai-form input{min-width:0;height:44px;padding:0 13px;border:1px solid var(--line);border-radius:13px;background:#f8fbf9;color:var(--ink)}
.floating-ai-form input:focus{border-color:var(--blue);outline:3px solid rgba(31,143,95,.12)}
.floating-ai-form button{min-width:64px;border:0;border-radius:13px;background:var(--blue);color:#fff;font-weight:800}
.button.primary,.header-booking,.ai-launcher,.floating-ai-form button,.ai-panel-actions a:first-child,.mobile-cta a:first-child,.ai-bubble.user{background:var(--blue-dark)}
.button.primary:hover,.header-booking:hover,.ai-launcher:hover,.floating-ai-form button:hover{background:#115c3d}
.ai-panel-actions{padding:0 14px 14px;background:#fff}.ai-panel-actions a{padding:11px;border-radius:12px;background:#edf3ef;color:var(--text)}.ai-panel-actions a:first-child{background:var(--blue);color:#fff}

@media(max-width:860px){
  .site-header{z-index:1200;isolation:isolate}
  .menu-open .site-header{z-index:2000}
  .primary-nav{position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;max-height:none!important;padding:max(18px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(28px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left))!important;display:block!important;visibility:hidden;opacity:0;pointer-events:none;transform:translateY(-10px);overflow-y:auto;overscroll-behavior:contain;background:#fff;transition:opacity .2s var(--ease),transform .2s var(--ease),visibility 0s linear .2s}
  .primary-nav.is-open{visibility:visible;opacity:1;pointer-events:auto;transform:none;transition-delay:0s}
  .nav-panel-head{position:sticky;top:0;z-index:2;margin:-4px 0 10px;padding:8px 0 18px;background:#fff}
  .nav-close{min-width:52px;min-height:44px;background:var(--blue-soft);color:var(--blue);font-weight:800}
  .nav-list{margin-top:8px;gap:5px}.nav-list a{width:100%;padding:13px 14px;font-size:1.05rem}.nav-ai-link{margin-top:18px;background:var(--blue-soft);color:var(--blue)}
  body.admin-bar .primary-nav{top:32px!important;height:calc(100dvh - 32px)!important}
  .section{padding:54px 0}
  .home-hero{padding:36px 0 42px}.home-hero-grid{gap:34px}.group-home-hero .home-hero-copy h1{font-size:clamp(2.45rem,9vw,3.8rem)}
  .hero-kicker{font-size:.84rem!important}.home-hero-copy>p{margin-top:18px}.hero-proof{margin-top:22px}
  .floating-ai{right:14px;bottom:84px}
  .ai-launcher{width:auto;height:auto;min-width:92px;padding:7px 12px 7px 7px;border-radius:999px}.ai-launcher-copy{display:grid}.ai-launcher-copy small{display:none}.ai-spark{width:38px;height:38px}
  .floating-ai.is-open{position:fixed;inset:0;z-index:2200}
  .floating-ai.is-open .ai-launcher{display:none}
  .ai-panel{position:fixed;inset:0;width:100%;height:100dvh;max-height:none;border:0;border-radius:0;transform-origin:center;box-shadow:none}
  body.admin-bar .ai-panel{top:32px;height:calc(100dvh - 32px)}
  .ai-panel-head{min-height:68px;padding:12px 16px}.ai-panel-head h2{font-size:1.05rem}.ai-panel-close{top:10px;right:10px;width:42px;height:42px}
  .ai-quick-list{padding:8px 12px}.ai-quick-list button{padding:8px 10px;font-size:.7rem}
  .ai-conversation{padding:14px}.floating-ai-form{padding:10px 12px}.ai-panel-actions{padding:0 12px max(12px,env(safe-area-inset-bottom))}
  .mobile-cta{z-index:1300;left:10px;right:10px;bottom:max(8px,env(safe-area-inset-bottom));height:60px;border-color:rgba(31,143,95,.14);box-shadow:0 12px 38px rgba(24,72,50,.2)}
  .mobile-cta a,.mobile-cta button{color:var(--text)}.mobile-cta a:first-child{background:var(--blue);color:#fff}.mobile-cta button{background:var(--blue-soft);color:var(--blue)}
}
@media(max-width:782px){body.admin-bar .primary-nav{top:46px!important;height:calc(100dvh - 46px)!important}body.admin-bar .ai-panel{top:46px;height:calc(100dvh - 46px)}}
@media(max-width:560px){
  .section{padding:48px 0}.group-programs-section{padding-top:54px}.group-program-card{min-height:220px;padding:22px}.group-program-card h3{margin-top:20px}
  .home-hero-visual{height:360px}.hero-main-photo{border-radius:24px}.float-card-bottom{right:0}.float-card-top{left:0}
  .group-hero-proof span{width:100%;justify-content:center;padding:9px 12px;font-size:.72rem}
  .review-marquee-section{padding-block:52px}.rooms-section{padding-block:52px}
}
@media(max-width:360px){
  :root{--gutter:14px}.brand-copy strong{font-size:.88rem}.menu-toggle{padding:8px}.header-shell{padding-left:10px;gap:10px}
  .group-home-hero .home-hero-copy h1{font-size:2.34rem}.home-hero-copy>p{font-size:.86rem}.hero-actions{margin-top:22px}.button{min-height:48px;padding:12px 16px}
  .ai-launcher{min-width:84px}.ai-launcher-copy strong{font-size:.8rem}
}

/* v0.9 — compact group-program explorer and grounded AI consultation */
.group-programs-section{padding-block:64px;background:linear-gradient(180deg,#f4f8f5 0%,#edf5f0 100%)}
.group-programs-heading{margin-bottom:26px}
.group-programs-heading h2{max-width:760px}
.group-program-explorer{padding:10px;border:1px solid rgba(31,143,95,.13);border-radius:34px;background:rgba(255,255,255,.82);box-shadow:0 24px 70px rgba(24,72,50,.1);backdrop-filter:blur(18px)}
.group-program-tabs{padding:5px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;border-radius:24px;background:#edf4ef}
.group-program-tabs button{min-width:0;min-height:52px;padding:10px 9px;border:0;border-radius:18px;background:transparent;color:#52685d;font:inherit;font-size:.76rem;font-weight:820;line-height:1.3;cursor:pointer;transition:background .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease}
.group-program-tabs button:hover{color:var(--blue);transform:translateY(-1px)}
.group-program-tabs button[aria-selected="true"]{background:#fff;color:var(--blue-dark);box-shadow:0 9px 24px rgba(24,72,50,.1)}
.group-program-tabs button:focus-visible{outline:3px solid rgba(31,143,95,.24);outline-offset:2px}
.group-program-panels{margin-top:10px}
.group-program-panel{min-height:398px;padding:22px;display:grid;grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr);align-items:stretch;gap:28px;border-radius:26px;background:linear-gradient(145deg,#fff 0%,#f4faf6 100%)}
.group-program-panel[hidden]{display:none!important}
.group-program-panel-copy{padding:30px 18px 28px 24px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.group-program-panel-copy .eyebrow{color:var(--blue);font-size:.72rem;font-weight:900;letter-spacing:.08em}
.group-program-panel-copy h3{margin-top:12px;font-size:clamp(2rem,3.5vw,3.35rem);line-height:1.08;letter-spacing:-.055em}
.group-program-panel-copy>p{margin-top:14px;max-width:520px;color:var(--muted);font-size:.92rem;line-height:1.75}
.group-program-panel-copy ul{margin:22px 0 24px;padding:0;display:grid;gap:9px;list-style:none}
.group-program-panel-copy li{position:relative;padding-left:21px;color:var(--text);font-size:.78rem;font-weight:720}
.group-program-panel-copy li:before{content:"";position:absolute;left:0;top:.45em;width:9px;height:9px;border-radius:50%;background:var(--mint);box-shadow:0 0 0 5px rgba(82,195,140,.14)}
.group-program-panel-copy .button{min-height:48px}
.group-program-panel-photo{min-height:354px;overflow:hidden;border-radius:23px}
.group-program-panel-photo .site-photo{width:100%;height:100%;min-height:354px;object-fit:cover;border-radius:23px}

/* Reduce dead space without flattening the booking journey. */
.review-marquee-section,.group-rooms-section,.group-space-showcase,.group-inquiry-home-section,.location-section{padding-block:64px}
.group-inquiry-home-section{padding-top:24px}
.group-inquiry-home-card{padding:42px 46px;gap:48px;border-radius:32px}
.site-footer{padding-top:48px}
.footer-cta{padding-bottom:34px}.footer-grid{padding-block:32px}.footer-bottom{padding-block:20px}

/* Desktop: stable right drawer. Mobile: true full-screen consultation. */
.ai-backdrop{position:fixed;inset:0;z-index:1490;border:0;background:rgba(9,35,24,.42);backdrop-filter:blur(5px);cursor:pointer}
.ai-backdrop[hidden]{display:none!important}
.ai-panel{position:fixed;right:24px;bottom:24px;z-index:1500;width:min(480px,calc(100vw - 48px));height:min(720px,calc(100dvh - 48px));overflow:hidden}
.ai-panel-head{min-height:72px;padding:13px 58px 12px 17px}
.ai-panel-head h2{margin-top:2px;font-size:1.08rem}.ai-panel-head p{margin-top:2px;color:var(--muted);font-size:.66rem;line-height:1.4}
.ai-privacy-note{margin:0;padding:8px 14px;border-top:1px solid var(--line);background:#f8fbf9;color:#6b7e74;font-size:.62rem;line-height:1.45}
.ai-bubble{max-width:88%;font-size:.78rem;line-height:1.58}
.ai-panel-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}

@media(max-width:980px){
  .group-program-tabs{grid-template-columns:repeat(3,1fr)}
  .group-program-panel{grid-template-columns:1fr 1fr}.group-program-panel-copy{padding-left:12px}.group-program-panel-photo{min-height:330px}
}
@media(max-width:860px){
  .group-programs-section{padding-block:52px}.group-program-explorer{border-radius:28px}.group-program-panel{grid-template-columns:1fr;gap:12px}.group-program-panel-copy{padding:26px 18px 16px}.group-program-panel-photo{min-height:300px}.group-program-panel-photo .site-photo{min-height:300px}
  .ai-backdrop{z-index:2190;background:rgba(9,35,24,.52)}
  .ai-panel{inset:0;right:auto;bottom:auto;z-index:2200;width:100%;height:100dvh;border-radius:0}
}
@media(max-width:560px){
  .group-programs-section,.review-marquee-section,.group-rooms-section,.group-space-showcase,.group-inquiry-home-section,.location-section{padding-block:44px}
  .group-programs-heading{margin-bottom:18px}.group-programs-heading h2{font-size:2rem}.group-program-explorer{padding:7px;border-radius:24px}
  .group-program-tabs{display:flex;gap:6px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none}.group-program-tabs::-webkit-scrollbar{display:none}.group-program-tabs button{min-width:112px;min-height:45px;padding:8px 10px;flex:0 0 auto;scroll-snap-align:start;border-radius:15px;font-size:.7rem}
  .group-program-panel{min-height:0;padding:8px;border-radius:20px}.group-program-panel-copy{padding:22px 14px 18px}.group-program-panel-copy h3{font-size:2.05rem}.group-program-panel-copy>p{font-size:.84rem;line-height:1.65}.group-program-panel-copy ul{margin:18px 0 20px}.group-program-panel-photo,.group-program-panel-photo .site-photo{min-height:228px;border-radius:17px}
  .group-inquiry-home-card{padding:28px 20px;gap:28px;border-radius:26px}
  .ai-panel-head{min-height:60px;padding:9px 54px 8px 14px}.ai-panel-head h2{font-size:.96rem}.ai-panel-head p{font-size:.59rem}.ai-panel-close{top:8px;right:8px;width:40px;height:40px}
  .ai-quick-list{padding:7px 10px}.ai-conversation{padding:12px}.ai-privacy-note{padding:7px 11px;font-size:.58rem}.floating-ai-form{padding:9px 10px}.ai-panel-actions{padding:0 10px max(10px,env(safe-area-inset-bottom))}
}

/* v1.0 customer-facing refinement: sharehouse-style navigation and consultation */
.brand-logo{width:44px;height:44px;flex:0 0 44px;display:block;border-radius:14px;box-shadow:0 9px 24px rgba(16,79,51,.15)}
.brand-copy strong{font-size:1rem;font-weight:900;letter-spacing:-.035em}
.brand-copy small{margin-top:4px;color:#72877c;font-size:.52rem;font-weight:800;letter-spacing:.12em}
.header-shell{padding-left:11px}
.nav-panel-actions,.menu-backdrop{display:none}
.menu-backdrop[hidden]{display:none!important}

.group-program-tabs button small{display:block;color:#71847a;font-size:.72rem;font-weight:760;line-height:1.25;letter-spacing:.01em}
.group-program-tabs button strong{display:block;margin-top:4px;color:inherit;font-size:.96rem;font-weight:900;line-height:1.22;letter-spacing:-.025em;word-break:keep-all}
.group-program-tabs button[aria-selected="true"] small{color:#5e786b}
.group-program-panel-copy>span{color:var(--blue);font-size:.68rem;font-weight:900;letter-spacing:.06em}

.review-marquee{overflow:hidden}
.review-marquee-track{display:flex;width:max-content;gap:0;animation:review-marquee-v10 38s linear infinite;will-change:transform}
.review-marquee:hover .review-marquee-track,.review-marquee:focus-within .review-marquee-track{animation-play-state:running}
.review-marquee-set{display:flex;flex:none;gap:14px;padding-right:14px}
@keyframes review-marquee-v10{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}

.ai-launcher{min-width:132px;padding:8px 14px 8px 8px;border-radius:999px;background:#145f42;color:#fff;box-shadow:0 18px 46px rgba(15,79,52,.29)}
.ai-launcher:hover{background:#0f5037;box-shadow:0 24px 58px rgba(15,79,52,.34)}
.ai-spark{width:40px;height:40px;border-radius:50%;background:#fff;color:#145f42;font-size:.62rem;box-shadow:inset 0 0 0 1px rgba(20,95,66,.08)}
.ai-launcher-copy strong{font-size:.9rem;font-weight:900}.ai-launcher-copy small{color:#dcece4;font-size:.62rem}
.ai-panel{border:1px solid rgba(20,95,66,.13);background:#f5f9f6;box-shadow:0 28px 90px rgba(8,41,27,.28)}
.ai-panel-head{min-height:86px;padding:16px 62px 14px 20px;background:#123d2d;color:#fff}
.ai-panel-head h2{margin-top:4px;color:#fff;font-size:1.14rem;font-weight:900}
.ai-panel-head p{margin-top:3px;color:#c8ddd3;font-size:.68rem}
.ai-status{color:#9fceb7;font-size:.66rem}.ai-status i{background:#66d29d}
.ai-panel-close{top:15px;right:15px;width:42px;height:42px;border-radius:14px;background:rgba(255,255,255,.1);color:#fff}
.ai-panel-close:hover{background:rgba(255,255,255,.18)}
.ai-quick-list{border-bottom:1px solid #dfeae4;background:#fff}
.ai-quick-list button{border-color:#dbe8e1;background:#f8fbf9;color:#365348}
.ai-quick-list button:hover{border-color:#8fbea6;background:#edf7f1;color:#145f42}
.ai-conversation{background:linear-gradient(180deg,#f2f7f4,#edf4f0)}
.ai-bubble{border:1px solid #e0eae5;background:#fff;box-shadow:0 10px 30px rgba(24,72,50,.06)}
.ai-bubble.user{border-color:#145f42;background:#145f42;color:#fff}
.ai-bubble small{color:#5f766a}
.floating-ai-form{border-top:1px solid #dfe9e4;background:#fff}
.floating-ai-form input{border-color:#cfe0d7;background:#fff}.floating-ai-form input:focus{border-color:#4d9b72;box-shadow:0 0 0 4px rgba(77,155,114,.12)}
.floating-ai-form button{background:#145f42}.floating-ai-form button:hover{background:#0f5037}
.ai-privacy-note{background:#fff;color:#6f8178}
.ai-panel-actions{background:#fff}.ai-panel-actions a{border-radius:14px}.ai-panel-actions a:first-child{background:#145f42;color:#fff}.ai-panel-actions a:last-child{background:#eaf2ee;color:#294a3c}

@media(max-width:860px){
  body.menu-open .site-header{z-index:2300}
  .site-header{padding:8px 0}.header-shell{min-height:62px;padding:8px 9px 8px 10px;border-radius:20px}
  .brand{gap:9px}.brand-logo{width:40px;height:40px;flex-basis:40px;border-radius:13px}.brand-copy strong{font-size:.92rem}.brand-copy small{display:block;font-size:.46rem}
  .menu-toggle{min-width:72px;padding:10px 12px;border-radius:14px;justify-content:center;background:#edf5f0;color:#184c36;font-weight:850}
  .menu-backdrop{position:fixed;inset:0;z-index:290;border:0;display:block;background:rgba(5,30,20,.52);backdrop-filter:blur(4px)}
  .primary-nav{position:fixed!important;inset:0 0 0 auto!important;z-index:300!important;width:min(360px,calc(100vw - 42px))!important;height:100dvh!important;padding:22px 18px max(24px,env(safe-area-inset-bottom))!important;display:flex!important;flex-direction:column;background:#103527!important;color:#fff;overflow:auto;visibility:hidden;opacity:0;transform:translateX(105%);transition:transform .3s var(--ease),opacity .24s ease,visibility .24s ease}
  .primary-nav.is-open{visibility:visible;opacity:1;transform:none}
  .nav-panel-head{position:relative;top:auto;z-index:auto;margin:0;padding:2px 2px 20px;border-bottom:1px solid rgba(255,255,255,.13);display:flex;background:transparent;color:#fff}.nav-drawer-brand{display:flex;align-items:center;gap:10px}.nav-drawer-brand>img{width:38px;height:38px;border-radius:12px;box-shadow:0 8px 20px rgba(0,0,0,.16)}.nav-drawer-brand>span{display:grid}.nav-panel-head strong{font-size:1.02rem}.nav-panel-head small{display:block;margin-top:3px;color:#aac7b9;font-size:.53rem;font-weight:800;letter-spacing:.12em}
  .nav-close{min-width:52px;padding:9px 11px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(255,255,255,.08);color:#fff}
  .nav-list{margin-top:18px;display:grid;justify-content:stretch;align-items:stretch;gap:4px}.nav-list li{width:100%}.nav-list a{width:auto;display:block;padding:13px 12px;border-radius:14px;color:#e9f4ee;font-size:1.02rem;font-weight:800}.nav-list a:hover,.nav-list a[aria-current=page]{background:rgba(255,255,255,.1);color:#fff}
  .nav-panel-actions{margin-top:auto;padding-top:24px;display:grid;grid-template-columns:1fr;gap:8px}.nav-panel-actions button,.nav-panel-actions a{min-height:50px;border:0;border-radius:15px;display:flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;font-weight:850}.nav-ai-link{margin:0;padding:0;background:#fff;color:#123d2d}.nav-panel-actions>a{background:#2a7151;color:#fff}
  .ai-launcher{min-width:100px;padding:7px 12px 7px 7px}.ai-launcher-copy{display:grid}.ai-launcher-copy small{display:none}.ai-spark{width:38px;height:38px}
  .ai-panel{inset:0!important;width:100%!important;height:100dvh!important;border:0!important;border-radius:0!important}
  .ai-panel-head{min-height:78px;padding:13px 58px 11px 16px}.ai-panel-head h2{font-size:1.06rem}.ai-panel-head p{font-size:.63rem}.ai-panel-close{top:12px;right:12px}
}

@media(max-width:560px){
  .brand-copy strong{font-size:.86rem}.brand-copy small{font-size:.42rem}
  .group-program-tabs button{min-width:132px;min-height:60px;padding:9px 12px}.group-program-tabs button small{font-size:.66rem}.group-program-tabs button strong{font-size:.88rem}
  .review-marquee-track{animation-duration:32s}
  .ai-panel-head{min-height:70px;padding:10px 54px 9px 14px}.ai-panel-head h2{font-size:1rem}.ai-panel-head p{font-size:.58rem}.ai-panel-close{top:9px;right:9px}
  .ai-quick-list{padding:8px 10px}.ai-conversation{padding:12px 10px}.ai-bubble{font-size:.77rem}
  .ai-launcher{min-width:92px}.ai-launcher-copy strong{font-size:.82rem}
}

/* v1.1 consultation intake: customer-facing, consent-gated and mobile-first */
.ai-panel [hidden]{display:none!important}
.ai-view{min-height:0}
.ai-start-view{padding:20px;overflow:auto}
.ai-start-card{padding:22px;border:1px solid #dce9e2;border-radius:22px;background:#fff;box-shadow:0 12px 32px rgba(18,61,45,.06)}
.ai-start-icon{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#e7f5ed;color:#18764f;font-size:.64rem}
.ai-start-card h3{margin:14px 0 7px;font-size:1.34rem;font-weight:900;letter-spacing:-.04em}
.ai-start-card p{margin:0;color:#5e7067;font-size:.82rem;line-height:1.65;word-break:keep-all}
.ai-start-actions{margin-top:12px;display:grid;gap:9px}
.ai-choice{width:100%;padding:15px 16px;border:1px solid #d7e5dd;border-radius:18px;display:grid;gap:4px;background:#fff;color:#203b30;text-align:left;cursor:pointer}
.ai-choice strong{font-size:.92rem;font-weight:900}.ai-choice span{color:#718179;font-size:.69rem;line-height:1.45}
.ai-choice.primary{border-color:#176e4b;background:#176e4b;color:#fff;box-shadow:0 12px 28px rgba(23,110,75,.2)}
.ai-choice.primary span{color:#d6eadf}.ai-choice:hover{transform:translateY(-1px);border-color:#8cbaa3}
.ai-response-note{margin:12px 0 0;color:#667a70;font-size:.69rem;text-align:center}
.ai-view-toolbar{min-height:58px;padding:9px 14px;border-bottom:1px solid #dfeae4;display:flex;align-items:center;gap:10px;background:#fff}
.ai-view-toolbar>button{width:38px;height:38px;border:0;border-radius:12px;background:#edf5f0;color:#194c37;font-size:1rem;cursor:pointer}
.ai-view-toolbar>div{display:grid}.ai-view-toolbar strong{font-size:.88rem;font-weight:900}.ai-view-toolbar span{margin-top:2px;color:#718179;font-size:.62rem}
.ai-intake-view{height:calc(100% - 86px);overflow:auto;background:#f5f9f6}
.ai-intake-form{padding:14px 16px 20px;display:grid;gap:11px}
.ai-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ai-intake-form label{display:grid;gap:6px;color:#314a3e;font-size:.7rem;font-weight:820}
.ai-intake-form label>span em{color:#c24e3a;font-style:normal}
.ai-intake-form input,.ai-intake-form select,.ai-intake-form textarea{width:100%;min-height:44px;padding:10px 12px;border:1px solid #cedfd6;border-radius:13px;background:#fff;color:#20372d;font:inherit;font-size:.78rem;font-weight:600;outline:none;box-sizing:border-box}
.ai-intake-form textarea{min-height:74px;resize:vertical;line-height:1.5}
.ai-intake-form input:focus,.ai-intake-form select:focus,.ai-intake-form textarea:focus{border-color:#4d9b72;box-shadow:0 0 0 4px rgba(77,155,114,.12)}
.ai-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.ai-consent{display:grid!important;grid-template-columns:20px minmax(0,1fr)!important;align-items:start;gap:8px!important;padding:11px;border-radius:13px;background:#eaf3ee;color:#52675c!important;font-size:.66rem!important;line-height:1.55}
.ai-consent>span{display:block;min-width:0;margin:0}
.ai-consent input[type="checkbox"]{appearance:auto!important;-webkit-appearance:checkbox!important;width:18px!important;min-width:18px!important;height:18px!important;min-height:18px!important;margin:1px 0 0!important;padding:0!important;border:0!important;border-radius:3px!important;background:transparent!important;box-shadow:none!important;accent-color:#176e4b}
.ai-form-note{margin:0;color:#6c7d74;font-size:.63rem;line-height:1.55}
.ai-form-status{min-height:1.1em;margin:0;color:#557065;font-size:.67rem;font-weight:750}.ai-form-status.is-error{color:#b33d2c}.ai-form-status.is-loading{color:#176e4b}
.ai-intake-submit{min-height:48px;border:0;border-radius:15px;background:#176e4b;color:#fff;font-weight:900;cursor:pointer}.ai-intake-submit:disabled{opacity:.6;cursor:wait}
.ai-chat-view{height:calc(100% - 86px);display:flex;flex-direction:column;min-height:0}
.ai-chat-view .ai-conversation{max-height:none;flex:1;min-height:120px}
.ai-chat-view .ai-panel-actions button,.ai-success-card button{min-height:42px;border:0;border-radius:14px;background:#176e4b;color:#fff;font-weight:850;cursor:pointer}
.ai-success-view{height:calc(100% - 86px);padding:24px;display:grid;place-items:center;background:#f5f9f6}
.ai-success-card{width:100%;padding:30px 22px;border:1px solid #dce9e2;border-radius:24px;background:#fff;text-align:center;box-shadow:0 16px 40px rgba(18,61,45,.08)}
.ai-success-card>span{width:52px;height:52px;margin:auto;border-radius:50%;display:grid;place-items:center;background:#e4f4eb;color:#16734d;font-size:1.3rem;font-weight:900}.ai-success-card h3{margin:16px 0 6px;font-size:1.3rem}.ai-success-card p{margin:0 0 18px;color:#62756b;font-size:.78rem}.ai-success-card button{min-width:120px;padding:0 18px}

@media(max-width:560px){
  .ai-start-view{padding:14px}.ai-start-card{padding:18px;border-radius:19px}.ai-start-card h3{font-size:1.15rem}
  .ai-view-toolbar{min-height:54px;padding:8px 11px}.ai-intake-view,.ai-chat-view,.ai-success-view{height:calc(100% - 70px)}
  .ai-intake-form{padding:12px 11px max(90px,env(safe-area-inset-bottom));gap:9px}.ai-field-grid{grid-template-columns:1fr;gap:9px}
  .ai-intake-form input,.ai-intake-form select{min-height:46px}.ai-intake-submit{min-height:50px}
  .ai-chat-view .ai-panel-actions{padding-bottom:max(82px,env(safe-area-inset-bottom))}
}
