
:root{--bg:#111211;--surface:#1b1d1b;--text:#f4efe6;--muted:#bebdb5;--accent:#dbb77a;--on-accent:#161713;--line:#383a34;--image-shade:#0009;--white:#fff;--black:#10110e;--shadow:#0005;--radius:4px;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.6 Arial,Helvetica,sans-serif}button,input,select{font:inherit}a{color:inherit;text-decoration:none}button,a,input,select{touch-action:manipulation}button{cursor:pointer}img{display:block;width:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,.brand,.serif{font-family:Georgia,'Times New Roman',serif;font-weight:400}h2{font-size:clamp(34px,5vw,58px);line-height:1.12;letter-spacing:-1.5px}h3{font-size:19px}p{color:var(--muted)}.wrap{width:min(1160px,calc(100% - 48px));margin:auto}.eyebrow{font-size:11px;letter-spacing:2.7px;text-transform:uppercase;font-weight:700;color:var(--accent)}.demo{font-size:10px;letter-spacing:1px;text-align:center;padding:5px 12px;background:var(--accent);color:var(--on-accent)}.header{border-bottom:1px solid var(--line);background:var(--bg);position:sticky;top:0;z-index:20}.nav{display:flex;justify-content:space-between;align-items:center;gap:20px;height:80px}.brand{font-size:23px;line-height:1.05;display:flex;gap:12px;align-items:center}.brand small{font:9px Arial;letter-spacing:3.5px;display:block;margin-top:7px;text-transform:uppercase}.mark{font-size:34px;color:var(--accent-ink,var(--accent));line-height:1}.navlinks{display:flex;align-items:center;gap:28px;font-size:13px}.btn{display:inline-flex;justify-content:center;align-items:center;gap:10px;border:1px solid var(--accent);padding:14px 22px;background:var(--accent);color:var(--on-accent);font-size:13px;font-weight:700;border-radius:var(--radius);min-height:48px;transition:transform .2s}.btn:hover{transform:translateY(-2px)}.btn.outline{background:transparent;color:var(--text);border-color:var(--line)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;z-index:100;background:var(--bg);padding:10px}.hero{position:relative;min-height:640px;display:grid;grid-template-columns:1fr 1fr}.hero-content{padding:84px 32px 70px max(24px,calc((100vw - 1160px)/2));display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.hero h1{font-size:clamp(52px,5.8vw,86px);line-height:1.02;letter-spacing:-3px;margin:23px 0}.hero h1 em{color:var(--accent-ink,var(--accent));font-weight:400}.hero p{max-width:370px;margin-bottom:28px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.hero-photo{position:relative;min-height:500px;overflow:hidden}.hero-photo>img{height:100%;position:absolute;inset:0;filter:brightness(.8)}.photo-label{position:absolute;bottom:32px;left:28px;right:28px;color:var(--white);border-top:1px solid var(--white);padding-top:13px;display:flex;justify-content:space-between;font-size:10px;letter-spacing:2px}.hero-note{margin-top:27px;color:var(--muted);font-size:11px;letter-spacing:.4px}.stamp{position:absolute;left:-38px;top:42px;background:var(--accent);color:var(--on-accent);width:96px;height:96px;border-radius:50%;display:grid;place-content:center;text-align:center;font:13px Georgia;line-height:1.3;transform:rotate(-12deg)}.strip{border-block:1px solid var(--line);padding:20px 0}.strip .wrap{display:flex;justify-content:space-between;gap:16px;font-size:11px;text-transform:uppercase;letter-spacing:1.8px}.strip b{color:var(--accent-ink,var(--accent));margin-right:9px}section{padding:90px 0}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:34px}.section-heading h2{margin-top:13px}.section-heading p{font-size:13px;max-width:320px}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.service{padding:26px;border:1px solid var(--line);background:var(--surface);position:relative;text-align:left;color:var(--text);display:flex;flex-direction:column;min-height:220px;border-radius:var(--radius)}.service:hover,.service[aria-pressed=true]{border-color:var(--accent)}.service[aria-pressed=true]{box-shadow:inset 0 0 0 1px var(--accent)}.number{font:12px Georgia;color:var(--accent-ink,var(--accent));margin-bottom:25px}.service h3{font-weight:500}.service p{font-size:12px;margin:7px 0 18px}.service-bottom{display:flex;justify-content:space-between;align-items:center;width:100%;margin-top:auto}.price{font:27px Georgia;color:var(--accent)}.duration{font-size:11px;color:var(--muted)}.select-sign{font-size:24px;margin-left:12px}.booking{margin-top:22px;border:1px solid var(--line);padding:28px;background:var(--surface)}.booking-head{display:flex;justify-content:space-between;gap:20px;margin-bottom:20px}.booking-head p{font-size:12px;margin-top:5px}.booking-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}label{display:block;font-size:12px;color:var(--muted)}input,select{margin-top:7px;width:100%;background:var(--bg);border:1px solid var(--line);padding:13px;color:var(--text);border-radius:var(--radius);min-height:48px}input[type=date]{min-width:0}.booking-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:22px}.booking-foot p{font-size:11px;max-width:420px}.small{font-size:11px}.subtle{background:var(--surface)}.team{display:grid;grid-template-columns:1fr 1fr;gap:24px}.person{display:grid;grid-template-columns:150px 1fr;gap:24px;align-items:center}.person img{height:190px;filter:grayscale(100%)}.person h3{font:28px Georgia;margin-bottom:8px}.person p{font-size:13px}.person span{font-size:10px;text-transform:uppercase;color:var(--accent-ink,var(--accent));letter-spacing:2px}.gallery{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:16px}.gallery figure{margin:0;position:relative;overflow:hidden}.gallery img{height:350px;transition:transform .5s}.gallery figure:hover img{transform:scale(1.04)}figcaption{font-size:12px;padding:12px 0;color:var(--muted)}.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.review{padding:25px;border:1px solid var(--line)}.quote{font:52px Georgia;color:var(--accent-ink,var(--accent));line-height:1}.review blockquote{margin:8px 0 20px;font:20px/1.5 Georgia}.review p{font-size:11px}.club{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:center}.club h2{margin:15px 0 22px}.club-card{border:1px solid var(--accent);padding:38px;background:var(--surface)}.club-card .price{font-size:56px}.club-card ul{padding-left:18px;color:var(--muted);font-size:13px;margin:22px 0}.club-card .btn{width:100%}.visit{display:grid;grid-template-columns:1fr 1fr;gap:60px}.visit h2{margin:15px 0 24px}.visit p{font-size:14px}.hours{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:12px 0;font-size:13px}.map{background:var(--surface);border:1px solid var(--line);min-height:350px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:30px;gap:15px;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:45px 45px}.map iframe{width:100%;height:350px;border:0}.map-icon{font-size:42px;color:var(--accent)}footer{border-top:1px solid var(--line);padding:40px 0 100px}.footer-flex{display:flex;justify-content:space-between;gap:24px}.footer-flex p{font-size:11px;max-width:460px}.floating{position:fixed;bottom:22px;right:22px;z-index:25;border-radius:99px;box-shadow:0 5px 25px var(--shadow);padding:14px 19px}.custom-trigger{position:fixed;left:16px;bottom:22px;z-index:30;background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:99px;padding:12px 16px;font-size:11px;box-shadow:0 5px 25px var(--shadow);min-height:44px}.custom-panel{position:fixed;bottom:80px;left:16px;z-index:40;background:var(--surface);border:1px solid var(--line);padding:24px;width:min(350px,calc(100vw - 32px));box-shadow:0 15px 60px var(--shadow);border-radius:10px}.custom-panel[hidden]{display:none}.custom-panel h2{font:26px Georgia;letter-spacing:0}.custom-panel p{font-size:12px;margin:8px 0 15px}.palettes{display:grid;grid-template-columns:1fr 1fr;gap:8px}.palette{font-size:11px;background:var(--bg);border:1px solid var(--line);color:var(--text);padding:10px;text-align:left;min-height:44px}.palette i{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:6px;background:var(--swatch)}.color-row{display:flex;gap:15px;align-items:center;margin-top:15px}.color-row input{width:60px;padding:3px;margin:0}.close{float:right;background:transparent;color:var(--text);border:0;min-width:44px;min-height:44px;font-size:22px}.reset{background:transparent;border:0;color:var(--text);text-decoration:underline;margin-top:15px;font-size:12px;min-height:44px}.notice{color:var(--accent-ink,var(--accent));font-size:12px;margin-top:12px}.preview{white-space:pre-wrap;font-size:13px;background:var(--bg);padding:18px;margin:15px 0;border:1px solid var(--line)}.light .hero{grid-template-columns:1.05fr 1fr}.light .hero-photo>img{filter:none}.light .hero h1 em{font-style:normal}.light .stamp{border-radius:0;transform:none;top:auto;bottom:90px;left:-30px}.light .gallery img{border-radius:120px 120px 0 0}.light .hero-photo{margin:35px 35px 35px 0;border-radius:180px 180px 4px 4px}.light .hero-content{padding-top:70px;padding-bottom:70px}
@media(max-width:800px){.navlinks a:not(.btn){display:none}.nav{height:72px}.nav .btn{padding:10px 14px;font-size:11px}.brand{font-size:20px}.hero,.light .hero{grid-template-columns:1fr}.hero-content,.light .hero-content{padding:44px 24px 36px}.hero h1{font-size:58px;letter-spacing:-2px;margin:18px 0}.hero p{font-size:14px;max-width:320px}.hero-photo{min-height:310px;max-height:400px}.hero-photo>img{position:relative;height:330px;object-position:center 50%}.hero-note{margin-top:18px}.stamp{left:auto;right:24px;top:22px;width:76px;height:76px;font-size:11px}.photo-label{bottom:22px;font-size:9px;left:24px;right:24px}.light .hero-photo{margin:0 24px 24px;border-radius:130px 130px 4px 4px;min-height:300px}.light .stamp{left:18px;bottom:30px;top:auto}.strip .wrap{font-size:9px;letter-spacing:.6px;gap:9px;flex-wrap:wrap}.strip .wrap span{flex:1;min-width:95px}.strip{padding:15px 0}section{padding:60px 0}.section-heading{display:block;margin-bottom:25px}.section-heading p{margin-top:15px}.services{grid-template-columns:1fr 1fr;gap:10px}.service{padding:18px;min-height:220px}.service h3{font-size:16px;line-height:1.3}.number{margin-bottom:20px}.service p{font-size:11px}.price{font-size:25px}.service-bottom{flex-wrap:wrap;gap:6px}.select-sign{display:none}.booking{padding:22px 18px}.booking-head{display:block}.booking-grid{grid-template-columns:1fr 1fr}.booking-grid label:first-child{grid-column:1/-1}.booking-foot{display:block}.booking-foot .btn{width:100%;margin-top:15px}.team{grid-template-columns:1fr;gap:28px}.person{grid-template-columns:110px 1fr;gap:20px}.person img{height:145px}.gallery{grid-template-columns:1fr 1fr;gap:12px}.gallery figure:first-child{grid-column:1/-1}.gallery img{height:230px}.gallery figure:first-child img{height:300px}.reviews{grid-template-columns:1fr;gap:12px}.review{padding:24px}.club{grid-template-columns:1fr;gap:28px}.club-card{padding:28px}.visit{grid-template-columns:1fr;gap:30px}.footer-flex{display:block}.footer-flex p{margin-top:20px}.floating{right:14px;bottom:15px;font-size:11px;padding:12px 16px}.custom-trigger{left:14px;bottom:15px;font-size:10px;padding:10px 13px}.custom-panel{bottom:75px}.wrap{width:calc(100% - 48px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
