@font-face{
  font-family:SUIT;
  src:url('images/SUIT-Variable.ttf') format('truetype');
  font-style:normal;
  font-weight:100 900;
  font-display:swap;
}

:root{
  --ink:#f8f7f3;
  --surface:#fff;
  --card:#f0efea;
  --line:rgba(33,43,40,.14);
  --line-strong:rgba(33,43,40,.3);
  --gold:#8f7658;
  --gold-bright:#bba17f;
  --ivory:#202a27;
  --sub:#5b6460;
  --muted:#818b85;
  --c-perf:#a36f61;
  --c-wed:#bba17f;
  --c-banq:#8c8d70;
  --f-sans:SUIT,'Noto Sans KR',Arial,sans-serif;
  --f-serif:SUIT,'Noto Sans KR',Arial,sans-serif;
  --f-display:'Cormorant Garamond',Georgia,serif;
  --nav-h:80px;
}

html{scroll-padding-top:var(--nav-h)}
body{background:var(--ink);color:var(--ivory);font-family:var(--f-sans);font-weight:400;line-height:1.7;letter-spacing:-.015em}
::selection{background:#c9b99d;color:#1d2927}
button,a{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:2px solid #af9270;outline-offset:4px}
.container{max-width:1460px;padding-inline:clamp(22px,5vw,84px)}
.eyebrow{font-size:.68rem;letter-spacing:.18em;font-weight:650;color:var(--gold)}
.eyebrow::after{width:30px;background:currentColor;opacity:.5}
.section-head{margin-bottom:clamp(30px,4vw,58px)}
.section-head h2{font-size:clamp(2rem,3.6vw,3.5rem);font-weight:450;letter-spacing:-.055em;line-height:1.22;margin-top:.7rem}
.section-head h2 em{font-family:var(--f-sans);font-weight:500;font-style:normal;color:inherit}
.section-head .sub{font-size:.96rem;color:var(--sub)}
.section-head .eyebrow::before,.section-head .eyebrow::after{width:26px}
.section-head .eyebrow{gap:10px}

/* The original supplied logo sits on a crisp, quiet charcoal header. */
.nav,.nav.solid{height:var(--nav-h);background:#18231f;border-bottom:1px solid rgba(255,255,255,.12);backdrop-filter:none;padding-inline:clamp(22px,4vw,72px)}
.nav-logo{gap:0;min-width:205px}
.nav-logo img{width:auto;height:65px;max-width:205px;object-fit:contain;object-position:left center;filter:brightness(1.45) saturate(.85)}
.nav-logo span{display:none}
.nav-menu{gap:clamp(16px,2.2vw,37px)}
.nav-item{color:#e9e6df;font-size:.87rem;font-weight:500;letter-spacing:-.015em;white-space:nowrap}
.nav-item:hover,.nav-item.active{color:#fff}
.nav-item::after{background:#d8c3a4;height:1px}
.nav-cta{font-size:.81rem;font-weight:600;letter-spacing:-.01em;background:#ddd0bc;border-color:#ddd0bc;color:#1e2925;padding:.72rem 1.36rem}
.nav-cta:hover{background:#f1e8d9;color:#1e2925}
.nav-burger span{background:#fff}
.m-menu{background:#18231f;gap:1.25rem}
.m-menu button{font-size:1.3rem;font-weight:550;color:#f4f0e9;letter-spacing:-.02em}
.m-menu .m-sub{font-size:.6rem;color:#c4b29d;font-weight:500;letter-spacing:.17em}

/* Three fully photographic entrances. */
.gates{min-height:660px;height:100svh;background:#202a27;padding-top:var(--nav-h)}
.gates-intro{top:calc(var(--nav-h) + 27px);text-align:left;left:clamp(22px,4vw,72px);transform:none;width:auto;padding:0}
.gates-intro .line-en{font-family:var(--f-display);font-weight:400;font-style:normal;font-size:clamp(1.4rem,2.2vw,2.2rem);letter-spacing:.005em;color:white}
.gates-intro .line-ko{font-size:.78rem;letter-spacing:-.015em;color:rgba(255,255,255,.85);font-weight:500;margin-top:.1rem}
.gates-intro .line-en,.gates-intro .line-ko{opacity:1;animation:none;transform:none}
.gate{border-right-color:rgba(255,255,255,.2);align-items:flex-end}
.gate-bg{inset:0;filter:brightness(.76) saturate(.83);transform:scale(1);transition:filter .8s ease,transform 1.3s var(--ease-slow)}
#page-home .gate:nth-of-type(2) .gate-bg{background-position:67% center}
.gate::after{background:linear-gradient(180deg,rgba(10,17,15,.37),transparent 38%,rgba(9,18,16,.12) 55%,rgba(9,18,16,.82) 100%)}
.gates:hover .gate{flex:.84}
.gates .gate:hover{flex:1.32}
.gate:hover .gate-bg{filter:brightness(.87) saturate(.98);transform:scale(1.045)}
.gate-inner{padding:0 clamp(24px,3vw,50px) clamp(43px,7vh,84px)}
.gate-tag{font-size:.7rem;letter-spacing:.18em;font-weight:650;text-transform:uppercase;color:#ead9c3}
.gate-tag::before{width:20px;background:#ead9c3}
.gate-title{font-family:var(--f-sans);font-weight:550;letter-spacing:-.065em;color:#fff;font-size:clamp(2.55rem,4.35vw,5.4rem);line-height:1.06;margin-top:14px}
.gate-title .en{font-family:var(--f-display);font-size:clamp(1.08rem,1.55vw,1.6rem);font-weight:500;font-style:italic;letter-spacing:.015em;color:#e9dfd2;margin-top:8px}
.gate-desc{font-size:.91rem;line-height:1.65;color:#f0ede5;max-width:34ch;margin-top:16px;word-break:keep-all}
.gate-enter{font-size:.77rem;letter-spacing:-.02em;font-weight:650;color:#fff;margin-top:22px}
.gate-desc,.gate-enter{opacity:1;transform:none}
.gate-enter svg{stroke:#fff}
.gate:hover .gate-desc,.gate:hover .gate-enter{opacity:1}
.gates-foot{left:auto;right:clamp(22px,4vw,72px);bottom:13px;text-align:right;color:#ebe5dc;letter-spacing:.14em;font-size:.6rem}

/* Department mastheads. */
.world-hero{height:min(84vh,900px);min-height:630px;align-items:flex-end;background:#25302b}
.world-hero::after{background:linear-gradient(180deg,rgba(12,23,20,.1) 0%,rgba(12,23,20,.03) 33%,rgba(12,23,20,.8) 100%)}
.world-hero-bg{background-position:center 52%}
.world-hero-inner{padding-bottom:clamp(58px,8vw,116px)}
.world-hero .eyebrow{color:#efdbc1;font-size:.78rem}
.world-hero .eyebrow::after{background:#efdbc1}
.world-hero .eyebrow,.world-hero h1,.world-hero p{opacity:1;animation:none;transform:none}
.world-hero h1{color:white;font-weight:500;font-size:clamp(2.7rem,5.2vw,6.2rem);letter-spacing:-.065em;line-height:1.15;margin-top:12px}
.world-hero h1 .en{color:#e8d8c5;font-weight:400;font-size:clamp(1.25rem,2.25vw,2.2rem);margin-top:10px;letter-spacing:0}
.world-hero p{color:#f1f0e9;font-size:clamp(.9rem,1.15vw,1.06rem);max-width:58ch;margin-top:24px;line-height:1.75;word-break:keep-all}

/* White space and photographic scale do most of the visual work. */
.world-intro{padding:clamp(78px,11vw,160px) 0;background:#f8f7f3}
.world-intro-grid{grid-template-columns:145px minmax(0,1fr);gap:clamp(38px,7vw,105px)}
.v-label{font-family:var(--f-sans);font-size:.82rem;font-weight:600;letter-spacing:.15em;color:#947e63;padding-left:18px}
.world-intro h2{font-weight:500;font-size:clamp(1.7rem,2.8vw,3.1rem);letter-spacing:-.052em;line-height:1.52;color:#23302a}
.world-intro h2 em{font-family:inherit;font-style:normal;color:#947e63;font-weight:600}
.world-intro p{font-size:.99rem;line-height:1.9;color:#64706a;max-width:76ch;margin-top:26px;word-break:keep-all}
.venue,.venue[style]{padding:clamp(70px,8vw,126px) 0;background:#fff!important;border-top-color:#e7e6e1}
.venue:nth-of-type(even){background:#f7f6f2!important}
.venue-grid{grid-template-columns:minmax(0,1.14fr) minmax(0,.86fr);gap:clamp(40px,6vw,96px)}
.venue-media{background:#dddcd5;box-shadow:0 22px 55px rgba(30,39,36,.08)}
.venue-media img{aspect-ratio:1.18/1;object-fit:cover;filter:none}
.venue-media .frame{display:none}
.venue-media .zoom{font-size:.72rem;font-weight:600;letter-spacing:.03em;right:0;bottom:0;background:#1c2924;color:white;padding:10px 17px}
.venue-body .eyebrow{font-size:.72rem}
.venue-body h3{font-weight:500;font-size:clamp(2rem,3.4vw,3.75rem);letter-spacing:-.055em;line-height:1.2;margin-top:16px;color:#21302a}
.venue-body h3 .en{font-family:var(--f-display);font-weight:500;font-style:italic;letter-spacing:0;font-size:.47em;color:#a28d70;margin-top:10px}
.venue-body>p{font-size:.97rem;line-height:1.82;color:#626e67;margin-top:27px;word-break:keep-all}
.spec{margin-top:30px;border-top-color:#b9c0ba}
.spec-row{padding:12px 0;grid-template-columns:95px 1fr;gap:20px;border-bottom-color:#dedfda;font-size:.86rem}
.spec-row dt{font-weight:650;letter-spacing:-.02em;color:#57635d}
.spec-row dd{font-weight:450;color:#24332c}
.venue-actions{gap:10px;margin-top:27px}
.btn{min-height:47px;justify-content:center;letter-spacing:-.02em;font-size:.85rem;font-weight:600;color:#24342d;border:1px solid #8f9b91;padding:.7rem 1.45rem;transition:background .25s,color .25s,border-color .25s}
.btn:hover{background:#24372e;color:white;border-color:#24372e}
.btn--solid{background:#21372d;border-color:#21372d;color:white}
.btn--solid:hover{background:#456352;border-color:#456352;color:white}

/* Galleries use arrow controls and real user supplied photos. */
.gallery{background:#f7f6f2;padding:clamp(75px,9vw,128px) 0;border-top-color:#e7e6e1}
.gallery-grid{gap:8px;margin-top:30px}
.gallery-grid img{filter:none;aspect-ratio:4/5}
.gallery-grid a:hover img{filter:none}
.photo-carousel{position:relative;margin-top:34px;overflow:hidden}
.carousel-viewport{overflow:hidden}
.carousel-track{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;overscroll-behavior-inline:contain;padding-bottom:8px}
.carousel-track::-webkit-scrollbar{display:none}
.carousel-slide{position:relative;flex:0 0 clamp(230px,31vw,470px);scroll-snap-align:start;overflow:hidden;background:#e1e1d9;cursor:zoom-in}
.carousel-slide img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .7s ease}
.carousel-slide:hover img{transform:scale(1.04)}
.carousel-slide .photo-caption,.carousel-caption{font-size:.79rem;color:#627068;margin-top:10px;letter-spacing:0}
.carousel-controls{display:flex;justify-content:flex-end;gap:6px;margin-top:20px}
.carousel-btn{width:47px;height:47px;border:1px solid #a3afa5;color:#263830;background:#f8f7f3;display:inline-grid;place-items:center;font-size:1.25rem;line-height:1;transition:background .2s,color .2s}
.carousel-btn:hover{background:#263830;color:#fff}
.carousel-btn:disabled{opacity:.35;cursor:default}
.carousel-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px 16px;text-align:left;margin-bottom:28px}
.carousel-heading>.eyebrow{grid-column:1/-1}
.carousel-heading>h2{grid-column:1;grid-row:2;margin:0}
.carousel-heading>.carousel-controls{grid-column:2;grid-row:2;margin:0}
.photo-carousel{margin-top:0}
.gallery-index{display:flex;align-items:center;gap:20px;margin-top:18px;color:#67796c;font-family:var(--f-sans);font-size:.71rem;font-weight:700;letter-spacing:.12em}
.gallery-index::before{content:'';display:inline-block;width:28px;height:1px;background:#768f78}
.gallery-index span{color:#8c9990;font-weight:450;letter-spacing:-.02em;font-size:.76rem}
.gallery-alt{background:#fff}

/* A small, intimate floral editorial between the wedding introduction and hall details. */
.floral-story{background:#eeeae2;padding:clamp(74px,9vw,140px) 0;overflow:hidden}
.floral-story-grid{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);align-items:center;gap:clamp(35px,8vw,130px)}
.floral-story-image{width:100%;position:relative;background:#ded7ca;overflow:hidden;box-shadow:20px 23px 45px rgba(74,67,55,.11)}
.floral-story-image img{width:100%;height:min(690px,58vw);min-height:470px;object-fit:cover;object-position:center;display:block}
.floral-story-copy{max-width:650px;padding:30px 0}
.floral-story-copy h2{font-size:clamp(2.1rem,3.4vw,4.1rem);font-weight:530;letter-spacing:-.06em;line-height:1.32;color:#303b33;margin-top:18px}
.floral-story-copy p{font-size:.98rem;line-height:1.84;color:#647167;margin-top:25px}
.floral-story-copy .btn{margin-top:35px}

/* Banquet occasions read as a clean editorial directory. */
.occasions{background:#fff;padding:clamp(74px,9vw,125px) 0;border-top-color:#e7e6e1}
.occ-head{margin-bottom:30px}
.occ-head h2{font-weight:500;font-size:clamp(2rem,3.5vw,3.6rem);letter-spacing:-.055em;line-height:1.2}
.occ-head h2 em{font-style:normal!important;font-family:var(--f-sans)!important;color:inherit!important}
.occ-row{border-bottom-color:#d8dcd6;padding:24px 0;gap:20px}
.occ-row:first-of-type{border-top-color:#b7c0b8}
.occ-row h4{font-weight:600;font-size:1.06rem;letter-spacing:-.025em;color:#24332b}
.occ-row h4 span{font-family:var(--f-display);font-weight:500;font-size:.95rem;color:#98836a;letter-spacing:0}
.occ-row p{font-size:.89rem;color:#5c6760}
.occ-row .cap{font-weight:600;letter-spacing:-.02em;color:#6b776e}

/* Wedding plans retain every original detail but become readable. */
.packages{background:#fff;padding:clamp(78px,9vw,132px) 0;border-top-color:#e7e6e1}
.pkg-grid{gap:14px;margin-top:50px}
.pkg{background:#f8f7f3;border:1px solid #e3e4de;padding:clamp(25px,3vw,43px);box-shadow:none;transition:transform .3s ease,box-shadow .3s ease}
.pkg:hover{transform:translateY(-4px);border-color:#c7cebf;box-shadow:0 14px 28px rgba(30,43,35,.08)}
.pkg-best{left:25px;background:#294335;color:#fff;font-weight:650;letter-spacing:.08em}
.pkg-label{font-size:1.1rem;font-weight:500;color:#998269}
.pkg-name{font-weight:600;font-size:1.52rem;letter-spacing:-.045em;color:#28392e}
.pkg-tag{font-size:.86rem;color:#68746c}
.pkg-price{font-family:var(--f-sans);font-weight:550;font-size:2.05rem;color:#263a2e;letter-spacing:-.05em}
.pkg-price small{font-weight:500;color:#6b746d;font-size:.89rem;margin-left:4px}
.pkg-note{font-size:.75rem;letter-spacing:-.02em;color:#7e8a7f}
.pkg ul{border-top-color:#d9ddd5;margin-top:20px;padding-top:16px}
.pkg li{font-size:.83rem;color:#526158;line-height:1.55;padding:.42rem 0 .42rem 1.1rem}
.pkg li::before{width:5px;height:5px;top:1.15em;background:#9baf9e;border-radius:50%}
.pkg .btn{margin-top:25px}

.faq{background:#f7f6f2;padding:clamp(75px,9vw,130px) 0;border-top-color:#e7e6e1}
.faq-list{max-width:940px}
.faq-item,.faq-item:first-child{border-color:#d6dcd5}
.faq-q{font-family:var(--f-sans);font-weight:550;letter-spacing:-.025em;color:#26372e;font-size:1rem;padding:20px 5px}
.faq-q:hover{color:#55755d}
.faq-q .ic{font-family:var(--f-sans);color:#708b75;font-weight:300}
.faq-a p{color:#5c6b60;font-size:.92rem;line-height:1.8;padding-inline:5px}

.cta-band{background:#e9e9e1;padding:clamp(85px,10vw,145px) 0;border-top-color:#d9ddd4}
.cta-band::before{background:linear-gradient(#9dac95,transparent)}
.cta-band h2{font-weight:500;letter-spacing:-.055em;font-size:clamp(2rem,3.6vw,3.8rem);line-height:1.27;color:#23362a}
.cta-band h2 em{font-family:var(--f-sans);font-style:normal;color:#68836c}
.cta-band p{color:#5d6e61;font-size:.97rem}
.cta-band .btn{margin-top:30px}

/* About, location, inquiry. */
.page-pad{min-height:70vh;padding-top:calc(var(--nav-h) + clamp(75px,7vw,116px));padding-bottom:clamp(80px,9vw,135px);background:#f8f7f3}
.about-open{gap:clamp(35px,6vw,95px)}
.about-open .venue-media img{aspect-ratio:1.1/1}
.about-quote{font-size:clamp(1.35rem,2.1vw,2.1rem);font-weight:500;letter-spacing:-.05em;line-height:1.85;color:#24332c}
.about-quote em{font-family:var(--f-sans);font-style:normal;color:#967e61;font-weight:600}
.about-sign{font-family:var(--f-display);color:#917c61}
.about-stats{background:#dbe0d7;border-color:#dbe0d7}
.about-stats>div{background:#fff}
.about-stats b{font-family:var(--f-sans);font-size:2rem;font-weight:550;letter-spacing:-.04em;color:#294034}
.about-stats span{letter-spacing:-.01em;color:#6a776c}
.map-wrap{border-color:#d9ddd5;background:#e6e9e4}
.map-wrap iframe{filter:none}
.map-links{gap:8px}
.loc-rows,.loc-row{border-color:#d8dfd7}
.loc-row dt{font-weight:650;letter-spacing:-.01em;color:#527058}
.loc-row dd{color:#28392f}
.loc-row dd small{color:#6d7b70}
.sketch h4{font-weight:600;color:#344c39}
.sketch img{border-color:#d8dfd7;background:white}
.contact-grid{grid-template-columns:minmax(0,1.2fr) minmax(290px,.8fr)}
.form-box{background:#fff;border-color:#dfe2db;padding:clamp(24px,3.8vw,55px)}
.form-box h3,.side-box h3{font-size:1.3rem;font-weight:600;letter-spacing:-.035em;color:#263a2e}
.f-field label{font-size:.78rem;font-weight:650;letter-spacing:-.01em;color:#506555}
.f-field input,.f-field select,.f-field textarea{font-weight:450;color:#26382c;border-color:#cdd6cc;font-size:.94rem;padding:.67rem .1rem;background-color:transparent}
.f-field select option{color:#24382b;background:#fff}
.f-field input::placeholder,.f-field textarea::placeholder{color:#9aa49c}
.f-field input[type=date]{color-scheme:light}
.form-ok .big{font-family:var(--f-sans);font-weight:600;color:#2a5139}
.form-ok p{color:#5c6a60}
.ch{border-color:#dbe1d8}
.ch:first-of-type{border-color:#dbe1d8}
.ch b{color:#28392e}
.ch span{color:#6a786e}
.ch svg{stroke:#607f67}

/* Instagram imagery is immediately recognizable as a feed. */
.social-feed{background:#fff;padding:clamp(75px,9vw,128px) 0;border-top:1px solid #e2e5de}
.social-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:26px}
.social-heading h2{font-size:clamp(1.9rem,3.3vw,3.35rem);font-weight:550;letter-spacing:-.06em;line-height:1.2}
.social-heading p{color:#6a786e;font-size:.9rem}
.social-heading a{font-size:.86rem;font-weight:650;border-bottom:1px solid #5b745f;padding-bottom:5px;white-space:nowrap}
.social-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px}
.social-grid a{display:block;overflow:hidden;background:#e9e9e3;position:relative}
.social-grid img{width:100%;aspect-ratio:1/1;object-fit:cover;transition:transform .5s ease,filter .5s ease}
.social-grid a:hover img{transform:scale(1.06);filter:brightness(.82)}
.social-grid a::after{content:'↗';position:absolute;right:9px;bottom:5px;color:#fff;font-size:1.15rem;text-shadow:0 1px 7px #0008}
.social-section{background:#fff;padding:clamp(75px,9vw,128px) 0;border-top:1px solid #e2e5de}
.social-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:30px}
.social-head h2{font-family:var(--f-display);font-size:clamp(3.2rem,6.2vw,7rem);font-weight:400;letter-spacing:-.035em;line-height:.98;color:#26372d;margin-top:8px}
.social-handle{font-size:.86rem;font-weight:650;border-bottom:1px solid #5b745f;padding:0 0 6px;white-space:nowrap;color:#324c39}
.social-handle span{display:inline-block;margin-left:6px}
.social-grid a::after{display:none}
.social-grid a>span{position:absolute;right:10px;bottom:7px;color:#fff;font-size:1.25rem;text-shadow:0 1px 8px #0008;opacity:.92;transition:transform .2s}
.social-grid a:hover>span{transform:translate(2px,-2px)}
.social-links{display:flex;justify-content:flex-end;gap:24px;margin-top:21px}
.social-links a{font-size:.82rem;font-weight:650;color:#344d3a;border-bottom:1px solid #92a191;padding-bottom:4px;transition:color .2s}
.social-links a:hover{color:#749476}

/* Continuous inquiry and Instagram controls. */
.quick-rail{position:fixed;right:16px;bottom:25px;z-index:180;display:flex;flex-direction:column;gap:8px;align-items:stretch}
.quick-rail a,.quick-rail button{min-width:58px;min-height:58px;padding:8px 14px;background:#23382d;color:#fff;box-shadow:0 7px 20px #15251d35;border:1px solid #465b4a;display:flex;align-items:center;justify-content:center;gap:8px;font-size:.73rem;font-weight:650;line-height:1.25;transition:background .2s,transform .2s}
.quick-rail a:hover,.quick-rail button:hover{background:#45654b;transform:translateY(-2px)}
.quick-rail .quick-instagram{background:#f8f7f3;color:#26382e;border-color:#c7d1c5}
.quick-rail .quick-instagram:hover{background:#fff}
.quick-rail svg{width:19px;height:19px;fill:currentColor;flex:none}
.quick-rail .quick-icon{font-family:var(--f-sans);font-size:1.23rem;font-weight:400;line-height:1}
.quick-rail>a{background:#f8f7f3;color:#26382e;border-color:#c7d1c5}
.quick-rail>a:hover{background:#fff}
.mobile-actions{display:none}

.lb{background:rgba(12,23,17,.96)}
.lb img{border:none}
.lb-x,.lb-nav{color:#fff}
.lb-cap{color:#e5e8df}

.footer{background:#18231f;border-top-color:#3a4b3f;padding:clamp(58px,7vw,100px) 0 25px}
.foot-brand img{height:56px;max-width:205px;object-fit:contain;object-position:left center}
.foot-brand .tg{font-style:italic;color:#cdb597}
.foot-nav{gap:clamp(16px,2vw,34px)}
.foot-nav button{font-size:.84rem;font-weight:550;letter-spacing:-.015em;color:#e8e8df}
.foot-nav button:hover{color:#fff}
.socials a{border-color:#67756b}
.socials svg{fill:#e2e3d8}
.foot-call .lb-tag{font-size:.72rem;letter-spacing:-.01em;color:#d7bd9d}
.foot-call a{font-family:var(--f-sans);font-size:1.53rem;font-weight:600;color:#fff}
.foot-call span{color:#c7d0c5}
.foot-biz{border-color:#485a4c;color:#bcc7bc;font-size:.76rem}
.foot-copy{color:#9ba99b;font-size:.7rem}

@media(max-width:1200px){
  .nav-logo{min-width:165px}
  .nav-logo img{height:59px;max-width:195px}
  .nav-menu{gap:14px}
  .nav-item{font-size:.8rem}
}
@media(max-width:1020px){
  .nav-logo img{height:59px;max-width:185px}
  .world-hero{min-height:570px}
  .pkg-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none}
}
@media(max-width:860px){
  .gates{height:auto;min-height:100svh;display:flex;flex-direction:column;padding-top:var(--nav-h)}
  .gates-intro{position:relative;top:auto;left:auto;transform:none;padding:25px 24px 20px;background:#18231f}
  .gates-intro .line-en{font-size:1.35rem}
  .gate{min-height:32svh;border-right:0;border-bottom:1px solid #ffffff30;flex:1}
  .gates:hover .gate,.gates .gate:hover{flex:1}
  .gate-inner{padding:30px 24px 27px}
  .gate-title{font-size:clamp(2.2rem,5vw,3.4rem)}
  .gate-title .en{font-size:1.08rem}
  .gate-desc{display:none}
  .gate-enter{opacity:1;transform:none;margin-top:12px}
  .gate-bg{filter:brightness(.77) saturate(.9)}
  .world-intro-grid{grid-template-columns:1fr;gap:22px}
  .v-label{writing-mode:horizontal-tb;border-left:none;border-top:1px solid #b9c7b8;padding:14px 0 0;font-size:.76rem}
  .venue-grid{grid-template-columns:1fr;gap:40px}
  .venue-grid.flip .venue-media{order:0}
  .venue-media img{aspect-ratio:1.35/1}
  .contact-grid{grid-template-columns:1fr}
  .social-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .floral-story-grid{grid-template-columns:1fr;gap:25px}
  .floral-story-image{max-width:630px}
  .floral-story-image img{height:600px;min-height:0}
  .floral-story-copy{padding:22px 0 0}
  .quick-rail{display:none}
  .mobile-actions{position:fixed;bottom:0;left:0;right:0;z-index:181;display:grid;grid-template-columns:1fr 1fr;background:#1d3026;box-shadow:0 -8px 24px #192a2025;padding-bottom:env(safe-area-inset-bottom)}
  .mobile-actions a,.mobile-actions button{min-height:55px;display:flex;align-items:center;justify-content:center;gap:8px;color:#fff;font-size:.86rem;font-weight:650;border-right:1px solid #ffffff24}
  .mobile-actions svg{width:18px;height:18px;fill:currentColor}
  .footer{padding-bottom:calc(80px + env(safe-area-inset-bottom))}
}
@media(max-width:620px){
  :root{--nav-h:66px}
  .container{padding-inline:22px}
  .nav,.nav.solid{padding-inline:20px}
  .nav-logo img{height:50px;max-width:164px}
  .gate{min-height:29svh}
  .gate-title{font-size:2.25rem}
  .gate-inner{padding-bottom:20px}
  .gate-tag{font-size:.65rem}
  .gate-enter{font-size:.72rem}
  .world-hero{height:74svh;min-height:490px}
  .world-hero-inner{padding-bottom:45px}
  .world-hero h1{font-size:clamp(2.45rem,9vw,4.2rem)}
  .world-hero p{font-size:.87rem;line-height:1.6}
  .world-intro{padding:68px 0}
  .world-intro h2{font-size:1.63rem;line-height:1.48}
  .world-intro p{font-size:.89rem}
  .venue,.venue[style]{padding:62px 0}
  .venue-media img{aspect-ratio:1.08/1}
  .venue-body h3{font-size:2.25rem}
  .venue-body>p{font-size:.88rem}
  .spec-row{grid-template-columns:83px 1fr;font-size:.78rem;gap:12px}
  .venue-actions{flex-direction:column;align-items:stretch}
  .gallery,.packages,.faq,.occasions,.social-feed{padding:65px 0}
  .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .carousel-slide{flex-basis:78vw}
  .pkg-grid{grid-template-columns:1fr;max-width:none}
  .pkg{padding:28px 24px}
  .occ-row{grid-template-columns:1fr;gap:5px}
  .occ-row .cap{margin-top:3px}
  .page-pad{padding-top:calc(var(--nav-h) + 65px)}
  .f-row{grid-template-columns:1fr;gap:0}
  .social-heading{display:block}
  .social-heading a{display:inline-block;margin-top:12px}
  .social-head{display:block}
  .social-head h2{font-size:4.1rem}
  .social-handle{display:inline-block;margin-top:14px}
  .social-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:3px}
  .social-links{gap:14px;justify-content:flex-start;flex-wrap:wrap}
  .floral-story{padding:65px 0}
  .floral-story-image img{height:500px}
  .floral-story-copy h2{font-size:2.2rem}
  .carousel-heading{gap:8px}
  .carousel-heading>h2{font-size:1.85rem}
  .carousel-btn{width:39px;height:39px}
  .gallery-index{gap:9px}
  .gallery-index span{font-size:.69rem}
  .map-wrap iframe{height:330px}
  .loc-grid{grid-template-columns:1fr}
  .loc-row{grid-template-columns:80px 1fr}
  .lb{padding:14px}
  .lb-nav{font-size:1.8rem;padding:.4rem}
  .lb-prev{left:0}.lb-next{right:0}
  .foot-nav{gap:13px 20px}
  .foot-call a{font-size:1.3rem}
}

@media(prefers-reduced-motion:reduce){.carousel-track{scroll-behavior:auto}}
