:root{--black:#10100f;--ink:#e8e4dc;--soft:#aaa69d;--gold:#c9a65e;--gold-light:#ead39b;--line:rgba(201,166,94,.28);--panel:#171715;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--black);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.header{height:88px;padding:0 7vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.08);position:sticky;top:0;z-index:20;background:rgba(16,16,15,.94);backdrop-filter:blur(15px)}.brand{display:flex;align-items:center;gap:13px}.brand img{width:72px;height:42px;object-fit:cover;object-position:center;background:#000}.brand span{font-size:9px;letter-spacing:.18em;color:#c7c1b5}.brand i{font-style:normal;color:var(--gold)}.nav{display:flex;align-items:center;gap:34px}.nav>a{font-size:11px;color:#c2beb6;transition:color .25s}.nav>a:hover,.nav>a.active{color:var(--gold-light)}.nav .nav-book{border:1px solid var(--line);padding:10px 16px;color:var(--gold-light)}.nav-book b{margin-left:12px;font-weight:400}.menu-toggle{display:none}.hero{min-height:650px;height:min(740px,calc(100vh - 88px));position:relative;display:flex;align-items:center;padding:5vw 12vw;overflow:hidden}.hero-image{position:absolute;inset:0 0 0 43%;background:linear-gradient(90deg,#10100f 1%,rgba(16,16,15,.7) 22%,rgba(16,16,15,.13) 100%),linear-gradient(0deg,#10100f 0%,transparent 24%,rgba(16,16,15,.05) 100%),url('soho-sign.jpg') center/cover no-repeat;opacity:.79}.hero-content{max-width:600px;position:relative;z-index:1}.eyebrow{color:var(--gold);font-size:9px;letter-spacing:.2em;margin:0 0 22px;font-weight:600}.eyebrow>span{width:25px;height:1px;display:inline-block;background:var(--gold);vertical-align:middle;margin:0 11px 3px 0}.hero h1,.page-hero h1{font:500 clamp(48px,7.2vw,91px)/1.06 var(--serif);letter-spacing:-.04em;margin:0 0 22px}.hero h1 em,.page-hero h1 em,h2 em{font-weight:400;color:var(--gold-light)}.hero-copy{color:#c5c0b6;max-width:380px;font-size:14px;margin:0 0 30px}.hero-actions{display:flex;gap:27px;align-items:center}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:48px;padding:0 22px;font-size:10px;letter-spacing:.07em;border:1px solid transparent;transition:transform .25s,background .25s,color .25s}.button:hover{transform:translateY(-2px)}.button span{font-size:16px}.button-gold{background:var(--gold);color:#15130e}.button-gold:hover{background:var(--gold-light)}.button-outline{border-color:var(--line);color:var(--gold-light)}.text-link,.under-link{font-size:10px;letter-spacing:.05em;color:#e2ddd3}.text-link span,.under-link span{color:var(--gold);padding-left:12px;font-size:16px}.hero-meta{display:flex;gap:36px;margin-top:75px;color:#b0aa9e;font-size:9px;letter-spacing:.1em;text-transform:uppercase}.hero-ornament{position:absolute;right:9%;bottom:10%;font:italic 46px var(--serif);color:rgba(234,211,155,.52);letter-spacing:.12em}.hero-ornament span{font-size:17px;vertical-align:middle;padding:0 12px}.section-pad{padding:105px 12vw}.section-kicker{font-size:10px;color:var(--gold);letter-spacing:.16em;display:flex;gap:20px;align-items:center}.section-kicker:after{content:'';width:58px;height:1px;background:var(--line)}.section-kicker span{color:#aaa69d}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin:42px 0 70px}.intro h2,.location h2,.quick-book h2,.masters-intro h2,.gallery-intro h2,.review-grid h2,.price-head h2,.age-grid h2{font:400 clamp(34px,4vw,53px)/1.15 var(--serif);letter-spacing:-.025em;margin:0}.lead{font:400 19px/1.55 var(--serif);color:#e4ded2;margin:0 0 15px}.muted{color:var(--soft);font-size:12px;line-height:1.85}.intro-grid .under-link{display:inline-block;margin-top:18px;border-bottom:1px solid var(--line);padding-bottom:9px}.benefits{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.benefits article{padding:25px 28px 30px 0}.benefits article+article{border-left:1px solid var(--line);padding-left:28px}.benefit-no{font:italic 15px var(--serif);color:var(--gold)}.benefits h3{font:400 18px var(--serif);margin:17px 0 7px}.benefits p{font-size:11px;color:var(--soft);margin:0;max-width:230px}.booking-band{padding:53px 12vw;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(110deg,#201d16,#171612);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.booking-band .eyebrow{margin-bottom:10px}.booking-band h2{font:400 clamp(29px,3.8vw,43px) var(--serif);margin:0}.booking-band h2 em{color:var(--gold-light)}.booking-band-actions{display:flex;gap:12px}.location-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;margin-top:45px}.location h2{margin-bottom:22px}.address{font:16px/1.6 var(--serif);color:#d5d0c5}.hours{display:flex;flex-direction:column;border-top:1px solid var(--line);padding:18px 0;margin:22px 0}.hours span,.hours small{font-size:9px;letter-spacing:.12em;color:var(--soft)}.hours b{font-size:12px;font-weight:500;margin:7px 0}.location .under-link{display:inline-block;border-bottom:1px solid var(--line);padding-bottom:10px}.map-wrap{height:390px;position:relative;border:1px solid var(--line);padding:7px}.map-wrap iframe{width:100%;height:100%;filter:none;border:0}.map-caption{position:absolute;bottom:17px;left:17px;background:#111;color:var(--gold-light);font-size:8px;letter-spacing:.14em;padding:9px 12px}.quick-book{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;background:#141412;border-top:1px solid rgba(255,255,255,.06)}.quick-book-copy h2{margin-bottom:20px}.booking-form{display:grid;gap:16px}.booking-form label{display:grid;gap:7px;color:#c9c3b8;font-size:10px;letter-spacing:.06em}.booking-form input,.booking-form select{width:100%;height:45px;background:#1d1d1a;border:1px solid rgba(201,166,94,.22);padding:0 12px;color:#e8e4dc;outline:none}.booking-form input:focus,.booking-form select:focus{border-color:var(--gold)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.booking-form .button{justify-self:start;cursor:pointer}.form-note,.form-result{font-size:10px;color:var(--soft);margin:0}.form-result{border-left:2px solid var(--gold);padding:10px 14px;color:var(--gold-light)}.footer{padding:40px 7vw;display:grid;grid-template-columns:1fr 1.4fr 1fr auto;align-items:center;gap:30px;border-top:1px solid rgba(255,255,255,.08)}.footer-brand{font:36px var(--serif);color:var(--gold-light)}.footer-brand span{display:block;font:8px var(--sans);letter-spacing:.2em;color:var(--soft)}.footer-address,.footer-links{font-size:10px;color:var(--soft);line-height:2}.footer-address a{color:#ded9cf}.footer-links{display:flex;gap:20px}.footer-links a:hover{color:var(--gold-light)}.footer>small{font-size:8px;letter-spacing:.09em;color:#77736c}.page-hero{min-height:490px;padding:100px 12vw 80px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 83% 80%,rgba(201,166,94,.09),transparent 35%),linear-gradient(130deg,#10100f,#171613)}.page-hero:after{content:'S';position:absolute;right:13%;top:35px;font:300px/.9 var(--serif);color:rgba(201,166,94,.055);pointer-events:none}.page-hero h1{font-size:clamp(54px,7vw,82px);position:relative;z-index:1}.page-hero .hero-copy{margin-bottom:24px}.page-hero .button{position:relative;z-index:1}.page-hero-mark{position:absolute;right:12vw;bottom:50px;color:var(--gold);font-size:9px;letter-spacing:.18em}.price-head{display:flex;justify-content:space-between;align-items:end;margin:40px 0 40px}.price-columns,.price-row{display:grid;grid-template-columns:minmax(100px,1fr) 115px 115px;gap:15px}.price-columns{font-size:9px;letter-spacing:.16em;color:var(--gold);text-align:right;padding-bottom:9px}.price-columns:before{content:""}.price-group{margin-top:35px}.price-group>.eyebrow{border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:0}.price-row{padding:14px 0;border-bottom:1px solid rgba(255,255,255,.08);align-items:center}.price-row>span{font:17px var(--serif);color:#e0dbd0}.price-row>span small{display:block;font:9px var(--sans);color:var(--soft);margin-top:3px}.price-row>b{text-align:right;font-weight:500;font-size:12px;color:#d8d2c6}.vip-card{margin-top:55px;padding:35px;background:linear-gradient(125deg,#201d16,#151513);border:1px solid var(--line);display:grid;grid-template-columns:1fr auto;gap:18px 35px;position:relative}.vip-card h2{font:36px var(--serif);margin:0 0 7px}.vip-card .muted{margin:0;max-width:400px}.vip-price{display:flex;flex-direction:column;align-items:flex-end;gap:5px;color:var(--gold-light)}.vip-price small{font-size:8px;letter-spacing:.14em;color:var(--gold)}.vip-price strong{font:28px var(--serif)}.vip-details{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:25px;border-top:1px solid var(--line);padding-top:22px}.vip-details b{font:16px var(--serif)}.vip-details p{color:var(--soft);font-size:10px;line-height:1.8}.age-section{background:#141412}.age-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:42px}.age-grid article{padding:27px 30px;border:1px solid var(--line);background:#171715}.age-grid h2{font-size:34px}.age-grid ul{list-style:none;margin:24px 0 0;padding:0}.age-grid li{padding:8px 0;color:#c9c3b8;font-size:11px;border-bottom:1px solid rgba(255,255,255,.07)}.age-grid li:before{content:'—';color:var(--gold);margin-right:12px}.age-note{font-size:11px;color:var(--gold-light);margin:25px 0 0}.masters-intro,.gallery-intro{display:flex;justify-content:space-between;align-items:end;gap:35px;margin:40px 0}.masters-intro .muted,.gallery-intro .muted{max-width:340px;margin:0}.master-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.master-card{border:1px solid var(--line);background:#141412}.master-photo{height:340px;display:grid;place-items:center;position:relative;background:linear-gradient(135deg,#24221d,#141412 66%);color:#7c776d;font-size:9px;letter-spacing:.18em}.master-photo:after{content:'';position:absolute;inset:13px;border:1px solid rgba(201,166,94,.14)}.master-photo b,.gallery-placeholder b{position:absolute;right:22px;top:17px;font:italic 14px var(--serif);color:var(--gold)}.master-info{padding:21px}.master-info .eyebrow{font-size:8px;margin-bottom:6px}.master-info h3{font:24px var(--serif);margin:0}.master-info>p{font-size:10px;color:var(--soft);min-height:34px}.master-info .under-link{display:inline-block;border-bottom:1px solid var(--line);padding-bottom:7px}.placeholder-note{color:#8e887d;font-size:10px;margin-top:23px}.gallery-grid{display:grid;grid-template-columns:1.15fr 1fr 1fr;grid-template-rows:210px 210px;gap:14px}.gallery-placeholder{border:1px solid var(--line);background:linear-gradient(130deg,#24221d,#151513);position:relative;display:grid;place-items:center;color:#7c776d;font-size:8px;letter-spacing:.16em}.gallery-placeholder:after{content:'';position:absolute;inset:12px;border:1px solid rgba(201,166,94,.13)}.gallery-tall{grid-row:span 2}.reviews-section{background:#141412}.review-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;margin-top:42px}.review-grid h2{margin-bottom:18px}.review-grid .muted{max-width:380px}.award-note{display:flex;align-items:center;gap:13px;border-top:1px solid var(--line);margin-top:30px;padding-top:18px}.award-note>span{color:var(--gold);font-size:23px}.award-note b,.award-note small{display:block}.award-note b{font:16px var(--serif)}.award-note small{font-size:9px;color:var(--soft)}.review-links{display:grid;align-content:center}.review-links a{padding:22px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.review-links small,.review-links b{display:block}.review-links small{font-size:8px;letter-spacing:.15em;color:var(--gold)}.review-links b{font:20px var(--serif);margin-top:5px}.review-links i{font-size:20px;color:var(--gold);font-style:normal;transition:transform .2s}.review-links a:hover i{transform:translate(3px,-3px)}.reveal{opacity:0;transform:translateY(16px);transition:opacity .65s ease,transform .65s ease}.reveal.visible{opacity:1;transform:translateY(0)}@media(max-width:900px){.header{padding:0 5vw}.nav{gap:18px}.nav>a{font-size:10px}.section-pad{padding:80px 8vw}.hero{padding:5vw 9vw}.hero-image{left:34%}.booking-band{padding:42px 8vw}.location-grid{gap:40px}.footer{padding:35px 5vw;grid-template-columns:1fr 1.4fr 1fr}.footer>small{grid-column:1/-1}.page-hero{padding-left:8vw;padding-right:8vw}.page-hero-mark{right:8vw}}@media(max-width:680px){.header{height:72px;padding:0 22px}.brand img{width:60px;height:36px}.brand span{font-size:8px}.menu-toggle{display:flex;width:40px;height:40px;border:1px solid var(--line);background:transparent;flex-direction:column;gap:6px;align-items:center;justify-content:center;z-index:3}.menu-toggle span{width:17px;height:1px;background:var(--gold-light);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.nav{position:absolute;left:0;right:0;top:71px;background:#11110f;border-bottom:1px solid var(--line);display:flex;flex-direction:column;align-items:stretch;gap:0;padding:0 24px;max-height:0;overflow:hidden;transition:max-height .3s ease,padding .3s}.nav.open{max-height:400px;padding:12px 24px 22px}.nav>a{padding:12px 0;font-size:12px;border-bottom:1px solid rgba(255,255,255,.06)}.nav .nav-book{margin-top:12px;padding:12px;border:1px solid var(--line)}.hero{height:auto;min-height:690px;padding:95px 25px 35px;align-items:flex-start}.hero-image{inset:0;background:linear-gradient(0deg,#10100f 3%,rgba(16,16,15,.65) 45%,rgba(16,16,15,.28) 100%),url('soho-sign.jpg') 55% center/cover no-repeat;opacity:.7}.hero-content{margin-top:20px}.hero h1{font-size:54px}.hero-meta{flex-direction:column;gap:9px;margin-top:75px}.hero-ornament{right:25px;bottom:26px;font-size:32px}.section-pad{padding:65px 25px}.intro-grid,.location-grid,.quick-book,.review-grid{grid-template-columns:1fr;gap:30px}.intro-grid{margin:32px 0 42px}.intro h2,.location h2,.quick-book h2,.masters-intro h2,.gallery-intro h2,.review-grid h2{font-size:38px}.benefits{grid-template-columns:1fr}.benefits article{padding:20px 0}.benefits article+article{border-left:0;border-top:1px solid var(--line);padding-left:0}.benefits h3{margin-top:8px}.booking-band{padding:35px 25px;display:block}.booking-band-actions{margin-top:22px;flex-wrap:wrap}.booking-band-actions .button{flex:1;min-width:130px;padding:0 12px;gap:9px}.location-grid{margin-top:30px}.map-wrap{height:280px}.quick-book{gap:28px}.footer{padding:32px 25px;grid-template-columns:1fr 1fr;gap:22px}.footer-brand{font-size:30px}.footer-links{flex-direction:column;gap:0}.footer>small{grid-column:1/-1}.page-hero{min-height:450px;padding:85px 25px 70px}.page-hero h1{font-size:57px}.page-hero:after{right:5%;top:65px;font-size:235px}.page-hero-mark{right:25px;bottom:25px}.price-head{display:block;margin:32px 0}.price-columns{margin-top:20px;grid-template-columns:minmax(90px,1fr) 76px 76px;font-size:8px;letter-spacing:.08em;white-space:nowrap}.price-row{grid-template-columns:minmax(90px,1fr) 76px 76px;gap:8px;padding:13px 0}.price-row>span{font-size:14px}.price-row>b{font-size:10px}.vip-card{padding:23px 19px;grid-template-columns:1fr auto;gap:12px}.vip-card h2{font-size:29px}.vip-price strong{font-size:22px}.vip-details{grid-template-columns:1fr;gap:5px;padding-top:18px}.vip-details p{margin-top:5px}.age-grid{grid-template-columns:1fr;gap:15px}.age-grid article{padding:22px}.age-grid h2{font-size:30px}.masters-intro,.gallery-intro{display:block;margin:32px 0}.masters-intro .muted,.gallery-intro .muted{margin-top:15px}.master-grid{grid-template-columns:1fr;gap:15px}.master-photo{height:310px}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:180px 180px 180px;gap:9px}.gallery-tall{grid-row:span 2}.review-grid{gap:34px}.review-links b{font-size:17px}.form-row{gap:10px}.booking-form .button{width:100%;font-size:9px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}



.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:none}.gallery-photo{display:flex;flex-direction:column;min-width:0;border:1px solid var(--line);background:#141412;overflow:hidden}.gallery-photo img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;transition:transform .5s ease}.gallery-photo:hover img{transform:scale(1.025)}.gallery-photo>span{padding:14px 15px;color:var(--gold-light);font-size:8px;letter-spacing:.12em}@media(max-width:680px){.gallery-grid{grid-template-columns:1fr;grid-template-rows:none;gap:14px}.gallery-photo img{aspect-ratio:4/5}}
