@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@400;500;600;700;800;900&display=swap');
:root{--bg:#111017;--panel:#19171f;--panel2:#201b29;--border:#ffffff12;--text:#f4f0f8;--muted:#a7a1af;--accent:#c4a4ef;--primary:#a77cda;--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--bg);color:var(--text);font-family:'Noto Sans TC',sans-serif;font-size:16px;line-height:1.8;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a,button{touch-action:manipulation}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}::selection{background:#a77cda;color:#111017}.wrap{width:min(var(--max),calc(100% - 96px));margin-inline:auto}.header{height:92px;border-bottom:1px solid var(--border);background:#111017f5;position:sticky;top:0;z-index:30;backdrop-filter:blur(20px)}.header-inner{width:min(1408px,calc(100% - 80px));height:100%;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{display:inline-flex;align-items:center;gap:14px;flex-shrink:0}.brand-mark{font-family:Georgia,serif;font-size:39px;letter-spacing:-5px;line-height:1;color:var(--accent);position:relative;padding-right:12px}.brand-mark>span{position:absolute;font-size:16px;top:-8px;right:0;letter-spacing:0}.brand-name{font-size:19px;letter-spacing:3px;font-weight:600;line-height:1.4}.brand-name small{display:block;font-size:12px;letter-spacing:1px;line-height:1.5;font-weight:400;color:var(--muted);margin-top:5px;white-space:nowrap}.header nav{display:flex;align-items:center;gap:30px;height:100%;white-space:nowrap}.header nav a{font-size:14px;color:#c6c0ce;position:relative;height:100%;display:flex;align-items:center;transition:color .2s}.header nav a:hover,.header nav a[aria-current]{color:var(--accent)}.header nav a[aria-current]:after{content:'';position:absolute;bottom:19px;width:16px;height:2px;background:var(--accent);left:calc(50% - 8px)}.header-actions{display:flex;align-items:center;gap:16px}.icon{width:22px;height:22px;flex-shrink:0}.btn{min-height:52px;display:inline-flex;justify-content:center;align-items:center;gap:10px;border-radius:5px;border:1px solid transparent;font-weight:500;font-size:15px;padding:12px 27px;transition:background .2s,transform .2s,border-color .2s;text-align:center}.btn:hover{transform:translateY(-2px)}.primary{background:var(--accent);color:#20162b}.primary:hover{background:#d3b6f8}.outline{border-color:#ffffff26;background:transparent;color:var(--text)}.outline:hover,.glass:hover{border-color:var(--accent);background:#c4a4ef12}.glass{background:#ffffff09;border-color:#ffffff42;backdrop-filter:blur(6px)}.compact{min-height:42px;padding:8px 18px;font-size:14px}.compact .icon{width:18px;height:18px}.menu-toggle{display:none;background:none;border:0;color:var(--text);padding:8px}.home-hero{height:660px;min-height:620px;position:relative;overflow:hidden;background:#1d1425}.hero-photo,.hero-overlay{position:absolute;inset:0}.hero-photo{background:url('/assets/lounge.webp') center 55%/cover no-repeat;animation:hero-in 1.4s ease-out}.hero-overlay{background:linear-gradient(90deg,rgba(12,10,18,.96) 0%,rgba(15,10,22,.81) 32%,rgba(14,10,20,.23) 66%,rgba(14,10,20,.17)),linear-gradient(0deg,rgba(13,11,18,.75),transparent 35%)}.hero-content{position:relative;padding-top:88px}.eyebrow{font-size:12px;letter-spacing:2px;color:var(--accent);font-weight:500;margin:0 0 22px;display:flex;align-items:center;gap:11px}.eyebrow>span{height:1px;width:24px;background:var(--accent);display:inline-block}.eyebrow b{font-weight:400;color:#887499;margin-inline:3px}.home-hero h1{font-size:60px;line-height:1.4;letter-spacing:1px;font-weight:700;margin:0 0 24px}.home-hero h1 span{color:var(--accent)}.hero-content>p:not(.eyebrow){color:#c7c0ce;line-height:1.9;font-size:17px}.button-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.hero-facts{display:flex;gap:26px;margin-top:35px;color:#b2a9bd;font-size:13px}.hero-facts>span{display:flex;align-items:center;gap:8px}.hero-facts .icon{width:17px;height:17px;color:var(--accent)}.hero-bottom{position:absolute;bottom:28px;left:0;right:0;display:flex;justify-content:space-between;font-size:11px;letter-spacing:2.5px;color:#9d93a7}.image-note{position:absolute;right:12px;bottom:6px;font-size:10px;color:#a198a8}.intro-strip{background:#19161f;border-block:1px solid var(--border)}.intro-strip>.wrap{display:flex;align-items:center;justify-content:space-between;min-height:83px;gap:20px}.strip-label{font-size:10px;letter-spacing:2px;color:#89818f}.intro-strip p{font-size:14px;color:#cec6d7;letter-spacing:1px}.intro-strip i{font-size:12px;color:#775d92;font-style:normal;padding:0 22px}.intro-strip a{font-size:13px;color:var(--accent)}.section{padding-block:94px}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:37px}.section-head .eyebrow{margin-bottom:13px}h2{font-size:32px;line-height:1.5;letter-spacing:1px;font-weight:600;margin:0}h3{font-size:21px;font-weight:500;line-height:1.5;margin:12px 0}p{margin:12px 0}.section-head>p{color:var(--muted);font-size:14px;line-height:1.9;margin:0}.text-link{color:var(--accent);font-size:14px;text-underline-offset:6px}.text-link:hover{text-decoration:underline}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service-card{position:relative;background:linear-gradient(145deg,#201b29,#17151d);padding:33px 30px;border:1px solid var(--border);border-radius:7px;transition:transform .2s,border-color .2s}.service-card:hover{transform:translateY(-4px);border-color:#c4a4ef66}.service-card>.icon{width:32px;height:32px;color:var(--accent);margin-bottom:24px}.service-number{position:absolute;right:28px;top:23px;font-family:Georgia,serif;font-size:35px;color:#ffffff1a}.overline{font-size:10px;letter-spacing:2px;color:#a493b6}.service-card h3{margin:10px 0 13px}.service-card p{font-size:14px;color:var(--muted);line-height:1.9}.service-link{font-size:13px;color:var(--accent);display:block;border-top:1px solid var(--border);padding-top:18px;margin-top:26px}.price-section{background:#15131b;border-block:1px solid var(--border)}.price-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;padding-top:12px}.price-card{border:1px solid #ffffff17;border-radius:6px;padding:28px 23px 24px;position:relative;background:#1c1922}.price-card.featured{border-color:#a57ace;background:linear-gradient(155deg,#30233d,#211b29)}.card-ribbon{position:absolute;top:-13px;right:19px;line-height:25px;font-size:11px;letter-spacing:1px;padding:0 12px;border-radius:3px;background:#b38cde;color:#1c1328}.price-card h3{font-size:25px;margin-top:11px}.price-card>p{font-size:13px;color:var(--muted);min-height:47px}.price{font-family:Arial,sans-serif;font-size:34px;letter-spacing:-1.4px;margin-top:25px;white-space:nowrap}.price small{font-size:11px;letter-spacing:0;color:#c4b8d1}.price>span{font-family:'Noto Sans TC',sans-serif;font-size:13px;margin-left:5px;color:var(--muted)}.price-unit{font-size:11px;color:var(--muted);padding:7px 0 20px;border-bottom:1px solid var(--border)}.price-card ul{list-style:none;margin:20px 0 25px;padding:0;display:grid;gap:10px}.price-card li{display:flex;align-items:center;gap:8px;font-size:13px;color:#c2b9cb}.price-card li .icon{width:15px;height:15px;color:var(--accent)}.price-card .btn{width:100%;min-height:43px;font-size:13px;padding:10px}.fine-print{font-size:12px;line-height:1.9;color:#918898;margin-top:24px}.process-section{display:grid;grid-template-columns:1fr 1fr;gap:100px}.muted{color:var(--muted)}.process-section .muted{font-size:15px;margin:21px 0 28px}.steps .step{display:flex;gap:24px;border-bottom:1px solid var(--border);padding:22px 0}.step:first-child{padding-top:0}.step:last-child{border-bottom:0}.step>span{font-family:Georgia,serif;font-size:30px;color:var(--accent);padding-top:4px}.step h3{font-size:19px;margin:4px 0 8px}.step p{font-size:14px;color:var(--muted);margin:0}.area-band{background:#211a2c;border-block:1px solid #ffffff0b}.area-inner{display:flex;align-items:center;justify-content:space-between;padding-block:65px;gap:30px}.area-inner p:not(.eyebrow){font-size:14px;color:#b5aabd;margin:20px 0 25px}.area-type{font-family:Arial,sans-serif;color:#9e7abe25;font-size:85px;font-weight:800;letter-spacing:-4px;line-height:.95;text-align:right}.area-type>span{display:block}.area-type small{display:block;font-family:monospace;color:#c4a4ef88;font-weight:400;font-size:11px;letter-spacing:2px;margin-top:24px}.faq-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px}.faq-section .text-link{display:inline-block;margin-top:26px}.faq details{border-bottom:1px solid #ffffff14}.faq summary{padding:21px 0;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;font-size:16px}.faq summary::-webkit-details-marker{display:none}.faq summary span{color:var(--accent);font-size:20px}.faq details[open] summary span{transform:rotate(45deg)}.faq-answer{padding:0 26px 22px 0;font-size:14px;line-height:2;color:var(--muted)}.cta-band{background:radial-gradient(ellipse at right,#413054,transparent 60%),#241e2d;display:flex;align-items:center;justify-content:space-between;gap:32px;padding:45px 48px;border:1px solid #c4a4ef21;border-radius:8px;margin-bottom:90px}.cta-band .eyebrow{margin-bottom:13px;font-size:10px}.cta-band h2{font-size:28px}.cta-band p:not(.eyebrow){font-size:14px;color:#b5aabb;margin-bottom:0}.cta-band .btn{flex-shrink:0}footer{background:#0d0c12;border-top:1px solid var(--border)}.footer-main{display:grid;grid-template-columns:1.3fr .7fr 1.2fr .8fr;gap:45px;padding-block:58px}.footer-main h3{font-size:14px;color:#e3dbe9;margin:5px 0 21px}.footer-main>div>a:not(.brand){display:block;font-size:13px;color:#a39aaa;margin-block:7px}.footer-main p{font-size:13px;color:#a39aaa;line-height:2}.footer-brand>p{margin-top:24px}.tiny{font-size:11px;color:#786f80}.footer-bottom{padding-block:22px;border-top:1px solid var(--border);display:flex;justify-content:space-between;gap:20px;font-size:11px;color:#817889}.footer-bottom>div{display:flex;gap:22px}.footer-bottom a:hover{color:var(--accent)}.mobile-contact{display:none}.skip{position:fixed;top:-60px;left:20px;padding:10px 20px;z-index:100;background:var(--accent);color:var(--bg)}.skip:focus{top:10px}.toast{position:fixed;bottom:32px;left:50%;transform:translate(-50%,20px);background:#e5d5f9;color:#21162b;padding:12px 22px;z-index:100;border-radius:6px;opacity:0;pointer-events:none;transition:.2s;font-size:14px}.toast.show{opacity:1;transform:translate(-50%,0)}.page-hero{padding-block:30px 55px}.breadcrumb{display:flex;gap:12px;color:#877d91;font-size:12px;margin-bottom:39px}.breadcrumb a:hover{color:var(--accent)}.page-hero h1{font-size:44px;line-height:1.5;margin:0 0 18px;font-weight:600}.page-hero .eyebrow{margin-bottom:17px}.lede{color:#b6adbf;max-width:740px;font-size:17px}.content-section{padding-bottom:85px}.content-section+.content-section{padding-top:0}.panel{background:var(--panel);border:1px solid var(--border);border-radius:7px;padding:32px}.panel h2{font-size:24px}.panel p{color:var(--muted)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:24px}.three-col{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.section-label{margin-bottom:28px}.notice{border-left:2px solid var(--accent);padding:16px 22px;background:#c4a4ef0a;color:#b9aec5;font-size:14px;margin-block:28px}.notice p{margin:0}.content-section h2{margin-bottom:23px}.content-section h3{font-size:20px}.legal-layout{display:grid;grid-template-columns:230px 1fr;gap:60px}.legal-nav{position:sticky;top:122px;align-self:start;display:grid;gap:9px;font-size:14px;color:var(--muted)}.legal-nav a{padding:9px 15px;border-left:1px solid #ffffff15}.legal-nav a[aria-current]{color:var(--accent);background:#c4a4ef08;border-left-color:var(--accent)}.prose{max-width:790px}.prose h2{font-size:24px;margin:35px 0 16px}.prose h2:first-child{margin-top:0}.prose p,.prose li{color:#b1a7bc;line-height:2;font-size:16px}.prose ul{padding-left:24px}.prose a{color:var(--accent);text-decoration:underline;text-underline-offset:4px}.meta{font-size:12px;color:#8d819b}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.contact-value{font-family:Arial,sans-serif;color:var(--text);font-size:32px;letter-spacing:1px}.contact-card>.icon{color:var(--accent);width:27px;height:27px;margin-bottom:12px}.contact-card .btn{margin-top:18px}.contact-card p{font-size:14px}.copy-row{display:flex;gap:12px;align-items:center}.copy-btn{border:1px solid #ffffff24;background:transparent;color:var(--accent);border-radius:4px;padding:5px 11px;font-size:12px;display:inline-flex;align-items:center;gap:6px}.copy-btn .icon{width:14px;height:14px}.hours{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--border);padding:16px 0;font-size:14px}.hours span:last-child{color:var(--accent)}.booking-layout{display:grid;grid-template-columns:1fr .9fr;gap:42px;align-items:start}.booking-form{padding:32px;background:#201a29;border:1px solid #c4a4ef30;border-radius:8px}.booking-form h2{font-size:24px}.booking-form>p{color:var(--muted);font-size:14px}.form-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:27px 0}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:13px;color:#d0c4db}.field input,.field select,.field textarea{width:100%;min-width:0;border:1px solid #ffffff20;color:#ede5f4;background:#17131e;border-radius:4px;padding:11px 12px;font-size:15px;color-scheme:dark}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid #b08bd7;outline-offset:2px}.field input::placeholder,.field textarea::placeholder{color:#84778f}.field textarea{resize:vertical;min-height:90px}.booking-form .btn{width:100%}.form-help{font-size:12px!important;color:#9e90aa!important}.message-preview{white-space:pre-wrap;font-size:14px;background:#120f18;padding:19px;color:#cdc0da;line-height:1.9;border:1px solid var(--border);border-radius:4px}.result[hidden]{display:none}.result{margin-top:24px}.result h3{font-size:17px}.result .button-row{margin-top:17px}.large-steps .step{padding-block:27px}.large-steps .step h3{font-size:22px}.large-steps .step p{font-size:15px}.large-steps .step>span{font-size:38px}.checklist{list-style:none;padding:0;display:grid;gap:14px;color:var(--muted);font-size:15px}.checklist li{display:flex;gap:10px;align-items:flex-start}.checklist .icon{color:var(--accent);width:18px;margin-top:3px}.location-card .icon{color:var(--accent);width:27px;height:27px}.location-card p{font-size:15px}.tag{display:inline-block;border:1px solid #c4a4ef30;border-radius:3px;color:var(--accent);font-size:12px;padding:3px 11px}.quote-block{border-left:2px solid var(--accent);padding:15px 30px;font-size:30px;line-height:1.7;color:#ddc7f7;max-width:800px;margin-block:20px 40px}.social-links{display:flex;flex-wrap:wrap;gap:12px}.social-links a{padding:9px 16px;border:1px solid var(--border);border-radius:4px;font-size:14px;color:var(--accent)}.number-row{display:grid;grid-template-columns:55px 1fr;gap:16px;border-top:1px solid var(--border);padding-block:24px}.number-row>span{font-family:Georgia,serif;color:var(--accent);font-size:27px}.number-row h3{margin-top:0}.number-row p{font-size:15px;color:var(--muted)}@keyframes hero-in{from{transform:scale(1.035);opacity:.6}to{transform:scale(1);opacity:1}}@media(min-width:1500px){.home-hero{height:700px}.hero-content{padding-top:108px}}@media(max-width:1150px){.header-inner{width:calc(100% - 48px);gap:20px}.header nav{gap:18px}.brand-name{font-size:17px}.header .compact{padding:9px 13px}.wrap{width:calc(100% - 64px)}.home-hero h1{font-size:52px}.price-card{padding-inline:18px}.price{font-size:29px}.intro-strip .strip-label{display:none}.service-card{padding:28px 23px}.footer-main{gap:25px}.process-section,.faq-section{gap:50px}.hero-facts{gap:18px}}
@media(max-width:900px){.header{height:78px}.header nav{display:none;position:absolute;top:78px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:#17131f;height:auto;padding:14px 24px 24px;border-bottom:1px solid #ffffff19}.header nav.open{display:flex}.header nav a{height:auto;padding:12px 10px;font-size:16px}.header nav a[aria-current]:after{display:none}.menu-toggle{display:block}.header .compact{min-height:39px}.home-hero{height:640px;min-height:0}.hero-content{padding-top:87px}.hero-overlay{background:linear-gradient(90deg,#100b18e8,#100b1899 65%,#100b1844),linear-gradient(0deg,#100b1888,transparent)}.section{padding-block:72px}.section-head{align-items:flex-start}.section-head>p{max-width:230px}.service-grid{gap:14px}.service-card{padding:27px 20px}.service-card p br{display:none}.service-card h3{font-size:18px}.price-grid{grid-template-columns:repeat(2,1fr);gap:26px 20px}.price-card>p{min-height:0}.price{font-size:35px}.price-card{padding:28px}.price-unit,.price-card li{font-size:14px}.price-card .btn{font-size:15px}.price-card>p{font-size:14px}.process-section,.faq-section{gap:38px}.cta-band{padding:34px;flex-direction:column;align-items:flex-start}.footer-main{grid-template-columns:1.1fr 1fr;gap:35px}.footer-bottom{flex-wrap:wrap;font-size:12px}.area-type{font-size:65px}.three-col{grid-template-columns:1fr}.booking-layout{grid-template-columns:1fr}.legal-layout{grid-template-columns:180px 1fr;gap:30px}.contact-grid{gap:18px}}
@media(max-width:600px){body{font-size:16px}.wrap{width:calc(100% - 40px)}.header-inner{width:calc(100% - 32px);gap:12px}.brand{gap:10px}.brand-mark{font-size:34px}.brand-name{font-size:16px;letter-spacing:2px}.brand-name small{font-size:12px;letter-spacing:1px}.header .compact{font-size:12px;padding:8px 10px;min-height:36px}.header .compact .icon{width:15px}.header-actions{gap:6px}.home-hero{height:670px}.hero-photo{background-position:65% center}.hero-overlay{background:linear-gradient(90deg,#100b18e6,#100b1888),linear-gradient(0deg,#100b18bb,transparent 70%)}.hero-content{padding-top:82px}.home-hero h1{font-size:39px;line-height:1.5;letter-spacing:.5px}.hero-content>p:not(.eyebrow){font-size:15px;line-height:2}.eyebrow{font-size:10px;letter-spacing:1.6px;gap:9px}.hero-content>.eyebrow{font-size:9px;letter-spacing:1px;margin-bottom:25px}.hero-content .eyebrow>span{width:15px}.button-row{gap:10px;margin-top:28px}.hero-content .btn{padding:12px 18px;font-size:14px}.hero-facts{gap:15px;flex-wrap:wrap;margin-top:28px;font-size:11px}.hero-facts .icon{width:14px;height:14px}.hero-bottom{font-size:9px;letter-spacing:1.4px;bottom:31px}.hero-bottom span:last-child{display:none}.intro-strip>.wrap{min-height:98px;flex-direction:column;justify-content:center;gap:6px;padding-block:15px}.intro-strip p{margin:0;font-size:12px;letter-spacing:0}.intro-strip i{padding:0 9px;font-size:10px}.intro-strip a{font-size:12px}.section{padding-block:60px}.section-head{display:block;margin-bottom:28px}.section-head>p{max-width:none;font-size:14px;margin-top:17px}.section-head .text-link{display:inline-block;margin-top:18px}h2{font-size:27px;line-height:1.6;letter-spacing:0}.service-grid{grid-template-columns:1fr;gap:14px}.service-card{padding:27px;display:grid;grid-template-columns:35px 1fr;gap:20px}.service-card>.icon{margin-top:3px}.service-card h3{font-size:21px}.service-card .overline{font-size:9px}.service-number{font-size:25px;right:20px;top:21px}.service-card p{font-size:14px}.service-link{margin-top:20px;padding-top:15px}.price-grid{gap:24px 12px}.price-card{padding:23px 15px 18px}.price-card h3{font-size:23px}.price-card .overline{font-size:9px;letter-spacing:1px}.price-card>p{font-size:12px;min-height:46px}.price{font-size:25px;letter-spacing:-1px}.price small{font-size:9px}.price>span{font-size:11px;margin-left:3px}.price-unit{font-size:11px;line-height:1.7;min-height:57px}.price-card li{font-size:11px;gap:5px;align-items:flex-start}.price-card li .icon{width:12px;height:17px}.price-card .btn{font-size:12px;padding:10px 3px}.price-card ul{min-height:88px;margin-bottom:20px;gap:9px}.card-ribbon{font-size:10px;right:12px;padding:0 9px}.fine-print{font-size:12px;margin-top:23px}.process-section,.faq-section{grid-template-columns:1fr;gap:33px}.steps .step{gap:20px;padding-block:22px}.step h3{font-size:19px}.step p{font-size:14px}.area-inner{padding-block:48px;display:block;position:relative;overflow:hidden}.area-inner>div:first-child{position:relative;z-index:1}.area-inner p:not(.eyebrow){font-size:14px}.area-type{position:absolute;right:0;bottom:30px;font-size:55px;opacity:.35;pointer-events:none}.area-type small{display:none}.area-inner .btn{margin-top:5px}.faq-section h2 br{display:none}.faq-section .text-link{margin-top:13px}.faq summary{font-size:15px;line-height:1.8}.faq-answer{font-size:14px;padding-right:10px}.cta-band{padding:29px 25px;margin-bottom:60px;gap:23px}.cta-band h2{font-size:24px}.cta-band p:not(.eyebrow){font-size:14px}.cta-band .btn{width:100%}.footer-main{grid-template-columns:1fr 1fr;gap:30px 20px;padding-block:43px}.footer-brand{grid-column:1/-1}.footer-main>div:nth-child(3){grid-column:1/-1;grid-row:3}.footer-main>div:nth-child(4){grid-column:2;grid-row:2}.footer-main h3{font-size:14px}.footer-main>div>a:not(.brand),.footer-main p{font-size:13px}.footer-bottom{padding-block:20px 100px;gap:16px;font-size:11px}.footer-bottom>div{gap:20px}.mobile-contact{display:flex;position:fixed;bottom:0;left:0;right:0;background:#17131ffa;padding:10px 16px calc(10px + env(safe-area-inset-bottom));gap:12px;border-top:1px solid var(--border);z-index:40;backdrop-filter:blur(10px)}.mobile-contact>a{display:flex;align-items:center;justify-content:center;gap:8px;font-size:14px;flex:1;min-height:43px}.mobile-contact .btn{flex:1.4;padding:8px}.mobile-contact .icon{width:18px}.toast{bottom:90px;width:max-content;max-width:90%}.page-hero{padding-block:22px 35px}.breadcrumb{margin-bottom:27px;font-size:11px}.page-hero h1{font-size:34px}.lede{font-size:16px}.content-section{padding-bottom:60px}.content-section h2{font-size:26px}.two-col,.contact-grid{grid-template-columns:1fr;gap:18px}.panel{padding:26px}.panel h2{font-size:23px}.contact-value{font-size:30px}.legal-layout{grid-template-columns:1fr;gap:28px}.legal-nav{position:static;display:flex;flex-wrap:wrap;gap:7px;font-size:13px}.legal-nav a{padding:7px 10px;border:1px solid var(--border);border-radius:4px}.prose h2{font-size:23px}.prose p,.prose li{font-size:16px}.booking-form{padding:25px 20px}.booking-form h2{font-size:24px}.form-fields{gap:16px 12px}.field input,.field select,.field textarea{font-size:16px;padding:10px;min-height:47px}.large-steps .step>span{font-size:30px}.large-steps .step h3{font-size:20px}.large-steps .step p{font-size:15px}.quote-block{font-size:24px;padding:12px 22px}.hours{font-size:13px}.notice{padding:14px 18px}.social-links a{font-size:13px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
/* Keep service descriptions and essential booking details readable. */
.service-card p,.price-card>p,.step p,.area-inner p:not(.eyebrow),.faq-answer,.panel p,.contact-card p,.number-row p,.booking-form>p{font-size:16px}.hero-facts,.intro-strip p,.intro-strip a,.service-link,.price-unit,.price-card li,.price-card .btn,.field label,.copy-btn,.hours,.footer-main>div>a:not(.brand),.footer-main p{font-size:14px}.overline{font-size:12px}.fine-print,.form-help,.tiny,.meta,.footer-bottom,.breadcrumb{font-size:12px}.hero-bottom{font-size:12px}.price-card>p{min-height:58px}.price-card li{align-items:flex-start}.price-card li .icon{margin-top:4px}.price-unit{line-height:1.8;min-height:68px}.message-preview{overflow-wrap:anywhere;word-break:break-word;font-family:inherit}.home-hero .image-note{font-size:12px}.notice a{color:var(--accent)}
@media(max-width:600px){.price-grid{grid-template-columns:1fr;gap:26px}.price-card{padding:27px}.price-card>p{min-height:0;font-size:16px}.price{font-size:36px}.price small{font-size:12px}.price>span{font-size:14px}.price-unit{min-height:0;font-size:14px}.price-card ul{min-height:0;gap:10px}.price-card li{font-size:14px}.price-card li .icon{width:16px;height:18px}.price-card .btn{font-size:15px}.price-card .overline{font-size:12px}.hero-facts{font-size:12px;gap:13px}.hero-bottom{font-size:12px}.hero-content>.eyebrow{font-size:10px}.service-card .overline{font-size:12px}.card-ribbon{font-size:12px}.section-head>p,.section-head .text-link{font-size:16px}.step p,.large-steps .step p,.area-inner p:not(.eyebrow),.faq-answer,.service-card p{font-size:16px}.contact-card p{font-size:16px}.field label,.hours{font-size:14px}.hero-content>p:not(.eyebrow){font-size:16px}.intro-strip p{font-size:13px}.cta-band p:not(.eyebrow){font-size:16px}}
.booking-layout>*{min-width:0}.booking-form{width:100%;min-width:0}.form-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.field{min-width:0}.booking-form select{max-width:100%}
@media(max-width:900px){.booking-layout{grid-template-columns:minmax(0,1fr)}}

/* Homepage service heading and supporting brand message. */
.home-hero h1{margin-bottom:14px}.home-hero h1 .hero-title-divider{font-weight:400}.hero-content>p.hero-tagline{font-size:1.75rem;line-height:1.6;color:#e2d3ef;margin:0 0 18px}.hero-content>p.hero-description{max-width:34rem;margin:0;line-height:1.9}
@media(max-width:600px){.home-hero h1{font-size:clamp(1.75rem,8.8vw,2.4375rem);letter-spacing:0}.hero-content>p.hero-tagline{font-size:1.2rem;margin-bottom:20px}.hero-content>p.hero-description{font-size:1rem;max-width:24rem}}

/* Keep the Chinese logo legible beside the controls on narrow phones. */
@media(max-width:360px){.header .brand{gap:6px}.header .brand-name small{letter-spacing:0}.header-inner{gap:6px}}

/* Service location tabs */
.location-section .section-label>.muted{font-size:16px;margin:14px 0 0}
.location-tablist{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:20px}
.location-tab{display:flex;align-items:center;justify-content:center;padding:15px 12px;border:1px solid #c4a4ef35;border-radius:5px;color:#c8bdd3;font-size:16px;font-weight:500;text-align:center;white-space:nowrap;background:#19171f;transition:background .2s,color .2s,border-color .2s}
.location-tab:hover{border-color:var(--accent);color:var(--text)}
.location-tab[aria-selected=true]{background:var(--accent);border-color:var(--accent);color:#20162b}
.location-panel{display:grid;grid-template-columns:1.15fr 1fr;border:1px solid #c4a4ef30;border-radius:8px;overflow:hidden;background:var(--panel);margin-top:20px;scroll-margin-top:115px}
.location-panel[hidden]{display:none}
.location-panel-intro{padding:38px 40px;background:radial-gradient(ellipse at top left,#47325755,transparent 75%)}
.location-category{display:flex;align-items:center;gap:10px;font-size:12px;letter-spacing:2px;color:var(--accent)}
.location-category .icon{width:23px;height:23px}
.location-panel h3{font-size:32px;line-height:1.4;margin:22px 0 16px}
.location-panel .location-headline{font-size:18px;font-weight:500;line-height:1.7;color:#e4d8ed;margin:0 0 16px}
.location-panel-intro>p:not(.location-headline){color:#b6adbf;font-size:16px;line-height:1.9;margin:0 0 26px}
.location-panel-details{padding:38px 40px;border-left:1px solid #c4a4ef20;position:relative}
.location-number{display:block;color:#c4a4ef66;font-family:Georgia,serif;font-size:36px;line-height:1;margin-bottom:22px}
.location-panel h4{font-size:18px;font-weight:500;margin:0 0 20px}
.location-panel .checklist{font-size:15px;line-height:1.8;gap:18px;margin:0 0 26px}
.location-panel-details>.text-link{font-size:14px}
.location-section>.notice{margin-bottom:0}
@media(max-width:800px){.location-panel{grid-template-columns:1fr}.location-panel-intro,.location-panel-details{padding:28px}.location-panel-details{border-left:0;border-top:1px solid #c4a4ef20}.location-number{position:absolute;top:24px;right:28px;font-size:30px}.location-panel h4{padding-right:50px}.location-tab{font-size:14px;padding:13px 8px}}
@media(max-width:640px){.location-tablist{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.location-tab{grid-column:span 2;padding:12px 6px}.location-tab:nth-child(n+4){grid-column:span 3}.location-panel-intro,.location-panel-details{padding:25px 22px}.location-panel h3{font-size:28px}.location-number{right:22px}.location-panel-intro .btn{width:100%}.location-panel .checklist{font-size:14px}}

/* Separate staff enquiries and pricing from venue charges. */
.location-actions{display:grid;justify-items:start;gap:14px}.location-actions .text-link{font-size:15px;line-height:1.7}.location-actions .location-fee-note{font-size:14px;line-height:1.8;color:#b6adbf;margin:0}

/* Booking tools stay disabled until submission protection is installed. */
fieldset.form-fields{border:0;padding:0;min-inline-size:0}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.btn:disabled{opacity:.55;cursor:not-allowed}.form-help:empty{display:none}.inquiry-example{font-size:16px;max-width:790px}

/* Eight navigation links and the article index. */
.header nav{gap:20px}.header-actions{flex-shrink:0}
.article-index-card{display:flex;align-items:center;gap:40px;max-width:1020px}.article-index-card>div{flex:1;min-width:0}.article-index-card h2{margin:18px 0 12px;font-size:27px}.article-index-card h2 a:hover{color:var(--accent)}.article-index-card p{margin-bottom:0}.article-index-card>.btn{flex-shrink:0}
@media(min-width:1001px) and (max-width:1150px){.header nav{gap:14px}.header-inner{gap:20px}}
@media(max-width:1000px){.header{height:78px}.header nav{display:none;position:absolute;top:78px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:#17131f;height:auto;padding:14px 24px 24px;border-bottom:1px solid #ffffff19;max-height:calc(100dvh - 78px);overflow-y:auto;overscroll-behavior:contain}.header nav.open{display:flex}.header nav a{height:auto;flex-shrink:0;padding:12px 10px;font-size:16px}.header nav a[aria-current]:after{display:none}.menu-toggle{display:block}.header .compact{min-height:39px}}
@media(max-width:600px){.header nav{max-height:calc(100dvh - 158px - env(safe-area-inset-bottom))}.article-index-card{display:block;padding:26px}.article-index-card h2{font-size:25px}.article-index-card>.btn{margin-top:24px;width:100%}}

@media(max-width:360px){.header .compact{padding-inline:8px;white-space:nowrap}.header .compact .icon{display:none}}

/* Keep the recruitment action readable beside the brand on small phones. */
@media(max-width:600px){.job-page .header .compact .icon{display:none}}
@media(max-width:360px){.job-page .header .compact{max-width:72px;white-space:normal;word-break:keep-all;line-height:1.5}}

/* Separate adjacent links in the expanded navigation. */
@media(max-width:1000px){.header nav a+a{border-top:1px dashed #c4a4ef4d}}

/* Visitor-facing HTML sitemap. */
.sitemap-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}.sitemap-group h2{font-size:25px;margin:0 0 16px}.sitemap-links{list-style:none;padding:0;margin:0}.sitemap-links li+li{border-top:1px dashed #c4a4ef35;margin-top:4px;padding-top:4px}.sitemap-links a{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:44px;font-size:17px;color:var(--accent);font-weight:500}.sitemap-links a:hover{text-decoration:underline;text-underline-offset:5px}.sitemap-links a>span:last-child{flex-shrink:0}.footer-bottom>div{flex-wrap:wrap}
@media(max-width:700px){.sitemap-grid{grid-template-columns:1fr;gap:20px}.sitemap-group{padding:26px}.sitemap-group h2{font-size:24px}.sitemap-links a{font-size:17px}}

/* Reading guides: clear topics, comfortable measure, and a persistent contents list. */
.guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.guide-card{display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:32px;background:linear-gradient(140deg,#211b2b,#19171f);border:1px solid #c4a4ef26;border-radius:7px}
.guide-card h3{font-size:24px;line-height:1.65;margin:18px 0 12px}.guide-card h3 a:hover{color:var(--accent)}
.guide-card p{font-size:16px;line-height:1.9;color:#b6adbf;margin:0 0 26px}.guide-card .guide-read{display:flex;align-items:center;justify-content:space-between;width:100%;border-top:1px solid var(--border);padding-top:18px;margin-top:auto;font-size:15px}
.guide-card .guide-read span{font-size:20px}.guide-featured{max-width:none;background:radial-gradient(ellipse at top right,#49325860,transparent 65%),#211a2b;border-color:#c4a4ef45}
.guides-heading{margin-top:55px}.guides-heading h2{margin-bottom:0}.guide-hero h1{max-width:960px;font-size:42px;line-height:1.5;text-wrap:balance}.guide-hero .lede{max-width:850px;margin-top:25px;line-height:2}
.guide-hero .breadcrumb{flex-wrap:wrap;gap:6px 12px}.guide-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;color:#a59aae;font-size:13px}
.guide-shell{display:grid;grid-template-columns:240px minmax(0,790px);gap:64px;align-items:start;padding-bottom:75px}
.guide-toc{position:sticky;top:120px;padding:24px 22px;background:#19151f;border:1px solid var(--border);border-radius:6px}
.guide-toc>p{margin:0 0 15px;color:var(--accent);font-weight:500;font-size:16px}.guide-toc ol{margin:0;padding-left:20px;color:#9682ab}.guide-toc li+li{margin-top:14px}.guide-toc a{display:block;color:#bfb3cb;font-size:14px;line-height:1.8}.guide-toc a:hover{color:var(--accent);text-decoration:underline;text-underline-offset:4px}
.guide-body{min-width:0}.guide-body>section{padding:0 0 36px;margin:0 0 36px;border-bottom:1px solid var(--border)}.guide-body>section>h2{font-size:25px;line-height:1.65;margin:0 0 18px}.guide-body p,.guide-body li{color:#c3b9cd;line-height:2.05}.guide-body li+li{margin-top:9px}.guide-body strong{color:var(--text);font-weight:600}.guide-body .faq-answer{color:#c3b9cd;font-size:16px}
.guide-next{padding:28px;background:#261e30;border:1px solid #c4a4ef30;border-radius:7px}.guide-next h2{font-size:24px;margin:0 0 14px}.guide-next .btn{color:#20162b;text-decoration:none;margin-top:14px}
.related-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr))}.related-guides .section-head h2{margin:0}.guide-card-compact h3{font-size:21px;margin-bottom:24px}
@media(max-width:1000px){.guide-shell{grid-template-columns:210px minmax(0,1fr);gap:32px}.guide-toc{top:102px}}
@media(max-width:760px){.guide-grid{grid-template-columns:1fr;gap:18px}.guide-shell{grid-template-columns:minmax(0,1fr);gap:34px;padding-bottom:48px}.guide-toc{position:static;padding:24px}.guide-toc a{font-size:15px}.guide-toc li+li{margin-top:12px}.guide-hero h1{font-size:32px}.guide-hero .lede{font-size:16px}.guide-card{padding:26px}.guide-card h3{font-size:23px}.guide-body>section>h2{font-size:24px}.guide-body>section{padding-bottom:28px;margin-bottom:28px}.guide-next{padding:24px}.guide-next h2{font-size:23px}.guide-next .btn{width:100%;font-size:14px}.guides-heading{margin-top:38px}.related-guides .section-head{display:block}.related-guides .section-head>.text-link{display:inline-block;margin-top:12px}.related-grid .guide-card h3{font-size:21px}}

/* Expanded article library and long contents lists. */
.guide-collections{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}.guide-collections a{display:flex;align-items:center;gap:16px;min-height:48px;padding:10px 18px;border:1px solid #c4a4ef40;border-radius:5px;color:var(--accent);font-size:15px;background:#1b1623}.guide-collections a:hover{background:#30233d}.guide-collections span{font-size:12px;padding:0 7px;border-radius:3px;background:#c4a4ef16}.guide-collection .section-head p{max-width:360px}.guide-toc{max-height:calc(100dvh - 145px);overflow-y:auto}.guide-next .btn.outline{color:var(--text)}
@media(max-width:760px){.guide-toc{max-height:none;overflow:visible}.guide-collections{gap:10px}.guide-collections a{font-size:14px;padding:10px 14px}.guide-collection .section-head{display:block}.guide-collection .section-head p{max-width:none;margin-top:12px}}

/* Selected category navigation on the sitemap. */
.guide-collections a[aria-current="true"]{background:var(--accent);border-color:var(--accent);color:#20162b;font-weight:600}
.guide-collections a[aria-current="true"] span{background:#20162b16}
@media(max-width:600px){.guide-collections span{flex-shrink:0;padding:0 6px}}

/* Visible sitemap category controls on desktop and mobile. */
.sitemap-library .sitemap-filters{margin-top:0}
.sitemap-filter-status{font-size:14px;color:var(--muted);margin:16px 0 24px}
[data-sitemap-category][hidden]{display:none!important}
.sitemap-grid[data-filtered="true"]{grid-template-columns:minmax(0,760px)}
@media(max-width:600px){.sitemap-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.sitemap-filters a{justify-content:space-between;gap:8px;padding:10px;font-size:14px}.sitemap-filters a:first-child{grid-column:1/-1}}

/* Article-only directory: six open category panels, like a compact sitemap. */
.article-directory-hero{padding-block:24px 34px}
.article-directory-hero .breadcrumb{margin:0 0 28px}
.article-directory-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}
.article-directory-intro h1{font-size:40px;line-height:1.45;font-weight:600;letter-spacing:1px;margin:0 0 12px}
.article-directory-intro p{color:#b4a9bf;font-size:16px;line-height:1.9;margin:0}
.article-directory-total{flex-shrink:0;color:#ae9abb;font-size:13px;letter-spacing:.5px;padding-bottom:4px}
.article-directory-total>span{margin-inline:7px;color:#776582}
.article-directory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;align-items:start}
.article-directory-card{min-width:0;padding:32px 34px 18px;background:#19171f;border:1px solid #c4a4ef26;border-radius:6px;scroll-margin-top:112px}
.article-category-number{display:block;color:#bfa4d9;font:13px/1.5 Arial,sans-serif;letter-spacing:2px;margin-bottom:17px}
.article-directory .article-category-header h2{font-size:27px;font-weight:500;line-height:1.5;letter-spacing:.5px;margin:0 0 14px}
.article-category-header>p{font-size:15px;line-height:1.9;color:#ada2b8;margin:0 0 25px}
.article-directory-links{list-style:none;margin:0;padding:0}
.article-directory-links li{border-top:1px solid #c4a4ef26}
.article-directory-links a{display:flex;align-items:center;justify-content:space-between;gap:22px;min-height:78px;padding:20px 0;font-size:17px;line-height:1.85;color:#ded7e5;transition:color .18s}
.article-directory-title{min-width:0;overflow-wrap:anywhere}
.article-directory-arrow{flex-shrink:0;color:var(--accent);font-size:23px;line-height:1;transition:transform .18s}
.article-directory-links a:hover,.article-directory-links a:focus-visible{color:var(--accent)}
.article-directory-links a:hover .article-directory-arrow{transform:translate(2px,-2px)}
@media(max-width:1000px){.article-directory-card{padding:28px 28px 14px}.article-directory-grid{gap:22px}.article-directory .article-category-header h2{font-size:24px}.article-directory-links a{font-size:16px;gap:18px}}
@media(max-width:760px){.article-directory-hero{padding-block:20px 26px}.article-directory-hero .breadcrumb{margin-bottom:22px}.article-directory-intro{display:block}.article-directory-intro h1{font-size:30px;margin-bottom:12px;letter-spacing:0}.article-directory-intro p{font-size:15px}.article-directory-total{display:block;font-size:12px;margin-top:15px;padding:0}.article-directory-grid{grid-template-columns:minmax(0,1fr);gap:20px}.article-directory-card{padding:25px 24px 12px;scroll-margin-top:94px}.article-category-number{font-size:12px;margin-bottom:14px}.article-directory .article-category-header h2{font-size:24px;margin-bottom:12px}.article-category-header>p{font-size:14px;line-height:1.85;margin-bottom:22px}.article-directory-links a{min-height:72px;padding:19px 0;font-size:16px;gap:17px}.article-directory-arrow{font-size:21px}}

/* Readable comparison tables without widening the article on phones. */
.article-table-wrap{max-width:100%;overflow-x:auto;margin:24px 0;border:1px solid #c4a4ef35;border-radius:6px;background:var(--panel)}
.article-table-wrap:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.article-comparison-table{width:100%;min-width:660px;border-collapse:collapse;font-size:15px;line-height:1.9}
.article-comparison-table caption{text-align:left;padding:16px;color:var(--text);font-weight:600}
.article-comparison-table th,.article-comparison-table td{padding:14px 16px;border-top:1px solid #c4a4ef26;text-align:left;vertical-align:top}
.article-comparison-table thead th{background:#c4a4ef12;color:var(--accent);font-weight:600}
.article-comparison-table tbody th{color:var(--text);font-weight:500;min-width:110px}
.article-comparison-table td{color:#c3b9cd;min-width:150px}
/* Venue directory: the full card is a link; all styles stay within venue components. */
.bar-venue-directory{grid-column:1/-1;padding:36px 40px 40px;border-top:1px solid var(--border,rgba(255,255,255,.12));background:rgba(11,10,16,.35)}
.bar-venue-directory-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px}
.bar-venue-directory-heading .overline{color:var(--accent);font-size:11px;letter-spacing:2px}
.bar-venue-directory-heading h2,.location-panel .bar-venue-directory-heading h4{font-size:26px;line-height:1.4;margin:10px 0 0;padding:0}
.bar-venue-directory-heading>p{font-size:14px;color:var(--muted);max-width:300px;margin:0}
.bar-venue-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:0;padding:0;list-style:none}
.bar-venue-grid>li{min-width:0;display:flex}
.bar-venue-card{display:flex;flex-direction:column;width:100%;color:var(--text);background:var(--panel);border:1px solid rgba(196,164,239,.18);border-radius:12px;overflow:hidden;text-decoration:none;transition:border-color .2s,transform .2s}
.bar-venue-card:hover{border-color:var(--accent);transform:translateY(-3px)}
.bar-venue-card:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
.bar-venue-art{position:relative;min-height:150px;padding:28px 24px;display:flex;flex-direction:column;justify-content:center;gap:12px;isolation:isolate;background:radial-gradient(ellipse at 100% 0,rgba(196,164,239,.22),transparent 70%),#24202e;overflow:hidden}
.bar-venue-art:after{content:"";position:absolute;width:180px;height:180px;border:1px solid rgba(255,255,255,.12);border-radius:50%;right:-50px;top:-65px;z-index:-1;box-shadow:0 0 0 23px rgba(255,255,255,.025),0 0 0 47px rgba(255,255,255,.02)}
.bar-venue-art>span{font-size:35px;line-height:1.2;font-weight:600;letter-spacing:5px;color:#eee4fc}
.bar-venue-art>small{font-size:10px;letter-spacing:1.1px;color:#d2c8de}
.bar-venue-soak .bar-venue-art{background:radial-gradient(ellipse at 100% 0,rgba(112,180,165,.2),transparent 70%),#1d292a}
.bar-venue-frank .bar-venue-art{background:radial-gradient(ellipse at 100% 0,rgba(205,145,133,.19),transparent 70%),#2a222b}
.bar-venue-card-body{padding:23px;display:flex;flex-direction:column;flex:1}
.bar-venue-mood{font-size:12px;color:var(--accent);letter-spacing:.5px}
.bar-venue-card-body h3,.bar-venue-card-body h5{margin:10px 0 12px;font-size:21px;font-weight:600;line-height:1.35}
.bar-venue-card-body p{margin:0 0 24px;font-size:14px;line-height:1.9;color:var(--muted)}
.bar-venue-card-link{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:auto;padding-top:15px;border-top:1px solid rgba(255,255,255,.1);font-size:13px;color:var(--text)}
.bar-venue-card-link>span{font-size:21px;color:var(--accent)}
.venue-hero h1{overflow-wrap:anywhere}.venue-hero h1>span{display:block;font-size:.48em;letter-spacing:1px;color:var(--accent);margin-top:16px}
.venue-hero .lede{max-width:850px}.venue-hero-meta{display:flex;gap:12px 24px;flex-wrap:wrap;margin-top:30px;color:var(--muted);font-size:14px}
.venue-hero-meta>span{display:flex;gap:8px;align-items:center}.venue-hero-meta .icon{width:18px;height:18px;color:var(--accent)}
.venue-content{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:60px;align-items:start}
.venue-copy{min-width:0}.venue-copy h2{font-size:26px;line-height:1.5}.venue-copy h2:first-child{margin-top:0}.venue-copy ol{padding-left:24px}.venue-copy li{padding-left:5px;margin:12px 0}
.venue-facts{padding:30px}.venue-facts h2{font-size:24px;margin:10px 0 24px}.venue-facts dt{font-size:12px;color:var(--accent);margin-top:22px}.venue-facts dd{margin:6px 0 0;font-size:15px;line-height:1.9;color:var(--text)}
.venue-source-links{display:flex;flex-direction:column;gap:14px;border-top:1px solid rgba(255,255,255,.12);padding-top:24px;margin-top:24px}.venue-source-links a{font-size:14px;color:var(--accent);text-decoration:underline;text-underline-offset:4px}.venue-facts .tiny{line-height:1.8;margin-top:24px}
.venue-gk-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:45px;padding:40px;border:1px solid rgba(196,164,239,.2);border-radius:12px;background:linear-gradient(120deg,#211c2c,var(--panel))}
.venue-gk-panel h2{font-size:28px;line-height:1.5;margin:0 0 22px}.venue-gk-panel p{font-size:15px;line-height:1.9;color:var(--muted)}
.venue-service-links{display:flex;gap:14px 24px;flex-wrap:wrap;margin-top:24px}.venue-service-links a{color:var(--accent);font-size:14px}
.venue-gk-action{align-self:center}.venue-gk-action p{font-size:13px;text-align:center;margin-bottom:0}.venue-related .bar-venue-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:1000px){.bar-venue-directory{padding:30px}.bar-venue-grid{gap:14px}.bar-venue-card-body{padding:20px}.bar-venue-card-body h5{font-size:19px}.venue-content{gap:30px}.venue-gk-panel{grid-template-columns:1fr;gap:16px}.venue-gk-action{justify-self:start}.venue-gk-action p{text-align:left}}
@media(max-width:700px){.bar-venue-directory{padding:26px 22px}.bar-venue-directory-heading{align-items:flex-start;flex-direction:column;gap:12px}.bar-venue-directory-heading>p{max-width:none}.bar-venue-grid,.venue-related .bar-venue-grid{grid-template-columns:1fr}.bar-venue-art{min-height:140px}.bar-venue-card-body{padding:23px}.bar-venue-card-body h5{font-size:22px}.venue-content{grid-template-columns:1fr;gap:30px}.venue-facts{padding:26px}.venue-gk-panel{padding:26px}.venue-gk-panel h2{font-size:24px}.venue-gk-action{min-width:0;width:100%}.venue-gk-action .btn{white-space:normal;width:100%;text-align:center}.venue-hero-meta{font-size:13px}.venue-copy h2{font-size:24px}}
@media(prefers-reduced-motion:reduce){.bar-venue-card{transition:none}.bar-venue-card:hover{transform:none}}

/* KTV brand cards and branch directories reuse the venue visual system. */
.ktv-venue-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.ktv-venue-xiang-wen-xin .bar-venue-art{background:radial-gradient(ellipse at 100% 0,rgba(182,154,107,.22),transparent 70%),#292324}
.ktv-venue-superstar .bar-venue-art{background:radial-gradient(ellipse at 100% 0,rgba(139,134,214,.24),transparent 70%),#232335}
.ktv-venue-grid .bar-venue-art>span{letter-spacing:4px;font-size:33px}
.ktv-branch-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;list-style:none;padding:0;margin:0}
.ktv-branch{min-width:0;padding:28px 30px;background:var(--panel);border:1px solid var(--border);border-radius:10px}
.ktv-branch>.overline{font-size:12px;color:var(--accent);letter-spacing:1px}
.ktv-branch h3{font-size:22px;line-height:1.4;margin:12px 0 16px}
.ktv-branch p{font-size:15px;line-height:1.8;color:var(--muted);margin:8px 0}
.ktv-branch-phone a{color:var(--text);white-space:nowrap}
.ktv-branch-source{border-top:1px solid var(--border);margin-top:22px;padding-top:18px}
.ktv-branch-source a{font-size:14px;color:var(--accent);text-decoration:underline;text-underline-offset:4px}
.ktv-branches>.tiny{margin-top:24px;line-height:1.8}
.ktv-next{display:flex;align-items:center;justify-content:space-between;gap:30px;border-top:1px solid var(--border);padding-top:40px}
.ktv-next h2{font-size:26px;margin:12px 0}.ktv-next p{color:var(--muted);font-size:15px;max-width:500px}.ktv-next .button-row{flex-direction:column;align-items:flex-start;flex-shrink:0}
@media(max-width:700px){.ktv-venue-grid,.ktv-branch-grid{grid-template-columns:minmax(0,1fr)}.ktv-branch{padding:24px}.ktv-venue-grid .bar-venue-art>span{font-size:30px}.ktv-next{flex-direction:column;align-items:stretch;gap:12px}}

.location-panel,.bar-venue-directory-heading h4{scroll-margin-top:120px}

/* A single nightclub entry uses a horizontal card, stacking on phones. */
.nightclub-venue-grid{grid-template-columns:minmax(0,1fr)}
.nightclub-venue-card{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
.nightclub-venue-card .bar-venue-art{min-height:230px;padding:36px;background:linear-gradient(145deg,transparent 48%,rgba(170,150,239,.09) 49%,transparent 50%),radial-gradient(ellipse at 0 100%,rgba(82,118,220,.24),transparent 65%),#252033}
.nightclub-venue-card .bar-venue-art>span{font-size:52px;letter-spacing:9px}
.nightclub-venue-card .bar-venue-card-body{padding:32px 36px}
@media(max-width:700px){.nightclub-venue-card{grid-template-columns:minmax(0,1fr)}.nightclub-venue-card .bar-venue-art{min-height:150px;padding:26px}.nightclub-venue-card .bar-venue-art>span{font-size:40px;letter-spacing:7px}.nightclub-venue-card .bar-venue-card-body{padding:23px}}

/* 300-store venue directory */
.club300-venue-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sunrise-venue-card .bar-venue-art{background:radial-gradient(ellipse at 25% 105%,rgba(214,165,94,.28),transparent 70%),linear-gradient(125deg,#302329,#1c1724)}.freedom-venue-card .bar-venue-art{background:radial-gradient(ellipse at 80% 5%,rgba(142,120,219,.3),transparent 70%),linear-gradient(125deg,#1a2433,#252034)}.club300-venue-card .bar-venue-art>span{letter-spacing:.16em}.club300-venue-card .bar-venue-art>small{letter-spacing:.12em}
@media(max-width:700px){.club300-venue-grid{grid-template-columns:1fr}}

/* Consistent page-location navigation across all inner pages. */
.breadcrumb{display:block;color:var(--muted);font-size:13px;line-height:1.8}
.breadcrumb ol{display:flex;flex-wrap:wrap;gap:6px 12px;margin:0;padding:0;list-style:none}
.breadcrumb li{display:flex;align-items:baseline;gap:12px;min-width:0;max-width:100%}
.breadcrumb a,.breadcrumb [aria-current]{min-width:0;overflow-wrap:anywhere}
.breadcrumb a{text-decoration:underline;text-decoration-color:transparent;text-underline-offset:4px}
.breadcrumb a:hover,.breadcrumb a:focus-visible{text-decoration-color:currentColor;color:var(--accent)}
.breadcrumb [aria-current="page"]{color:var(--accent);font-weight:500}
.breadcrumb-separator{flex:none;color:var(--muted);opacity:.75}
.breadcrumb a:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:2px}
.footer-main a[aria-current],.footer-bottom a[aria-current]{color:var(--accent);text-decoration:underline;text-underline-offset:5px}
@media(max-width:1000px){.header nav a[aria-current]{background:#c4a4ef12;box-shadow:inset 3px 0 var(--accent);font-weight:500}}
@media(max-width:600px){.breadcrumb{font-size:12px}.breadcrumb ol{gap:5px 9px}.breadcrumb li{gap:9px}}

/* Bar detail tabs share the accessible location-tab interaction. */
.venue-tabs .venue-tablist{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:32px}
.venue-tabs .venue-tablist>.location-tab{grid-column:auto;min-width:0}
.venue-tabs .location-tab:focus-visible,.venue-tab-panel:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
.venue-tab-panel{scroll-margin-top:125px;margin-top:32px}
.venue-tab-panel[hidden]{display:none}
.venue-tab-panel>.lede{margin-bottom:28px}
.venue-pricing-grid{align-items:start}
.venue-pricing-grid .panel h3{margin-top:0}
.venue-pricing-grid .panel{min-width:0}
@media(max-width:700px){.venue-pricing-grid{grid-template-columns:minmax(0,1fr)}.venue-tabs .venue-tablist{gap:7px;margin-bottom:26px}.venue-tab-panel{margin-top:26px}}
@media(max-width:360px){.venue-tabs .location-tab{font-size:13px;padding:12px 4px}}

/* KTV pages share three tabs; longer brand names wrap between brand and label. */
.ktv-venue-tabs .location-tab{flex-wrap:wrap;column-gap:.3em;line-height:1.5}
.ktv-venue-tabs .location-tab>span{white-space:nowrap}
.ktv-venue-vmix .bar-venue-art{background:radial-gradient(ellipse at 100% 0,rgba(220,124,170,.22),transparent 70%),#2b2030}
.ktv-venue-oncor .bar-venue-art{background:radial-gradient(ellipse at 100% 0,rgba(194,160,101,.25),transparent 70%),#28242d}
.ktv-single-branch{grid-template-columns:minmax(0,1fr);max-width:790px}
