:root{--bg:#181818;--cream:#f0ecde;--muted:#a09d94;--line:#333;--mono:'JetBrains Mono',monospace;--sans:'Jost',sans-serif;--body:'Inter',sans-serif;--serif:'Cormorant Garamond',serif}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{background:var(--bg);color:var(--cream);font-family:var(--body);font-weight:300;line-height:1.6}
a{color:inherit}
:focus-visible{outline:2px solid var(--cream);outline-offset:4px}
.skip-link{position:fixed;top:12px;left:12px;z-index:1000;padding:12px 16px;background:var(--cream);color:#111;transform:translateY(-200%)}
.skip-link:focus{transform:translateY(0)}
img{display:block;width:100%;height:100%;object-fit:cover}
.label{font-family:var(--mono);font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--muted)}
h2{font-family:var(--sans);font-weight:300;font-size:clamp(2rem,6vw,3.2rem);letter-spacing:.12em;text-transform:uppercase;line-height:1.2}
.btn{display:inline-block;font-family:var(--mono);font-size:13px;letter-spacing:.3em;text-transform:uppercase;text-decoration:none;padding:20px 28px;border:1px solid #5a5a5a;color:var(--cream);text-align:center;transition:background .25s,border-color .25s}
.btn:hover{border-color:var(--cream)}
.btn-solid{background:var(--cream);color:#111;border-color:var(--cream)}
.btn-solid:hover{background:#fff}
nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;justify-content:space-between;align-items:center;padding:calc(18px + env(safe-area-inset-top,0px)) 28px 18px;background:rgba(24,24,24,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.logo{--ls:.35em;font-family:'Montserrat',var(--sans);font-weight:300;letter-spacing:var(--ls);text-decoration:none;font-size:18px;white-space:nowrap}
.cT{display:inline-block;width:.58em;height:.7em;margin-right:var(--ls,0);vertical-align:baseline;overflow:visible}
nav .btn{padding:14px 22px;font-size:12px}
.nav-links{display:none;gap:32px}
.nav-links a{font-family:var(--mono);font-size:12px;letter-spacing:.25em;text-transform:uppercase;text-decoration:none;color:var(--muted)}
.nav-links a:hover{color:var(--cream)}
@media(min-width:800px){.nav-links{display:flex}}
.hero{position:relative;min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:130px 28px 190px;background:linear-gradient(180deg,rgba(24,24,24,.55) 0%,rgba(24,24,24,.62) 45%,rgba(24,24,24,.9) 80%,#181818 100%),url('../images/hero-background.jpg') center 40%/cover no-repeat,#181818}
.hero .label{margin-bottom:40px}
.hero h1{--ls:.22em;font-family:'Montserrat',var(--sans);font-weight:300;font-size:clamp(3rem,13vw,7.5rem);letter-spacing:var(--ls);line-height:1;margin-right:calc(var(--ls) * -1);white-space:nowrap}
.rule{display:flex;align-items:center;gap:20px;width:100%;max-width:640px;margin:36px 0 24px}
.rule::before,.rule::after{content:'';flex:1;height:1px;background:rgba(240,236,222,.35)}
.rule span{font-family:var(--mono);font-size:12px;letter-spacing:.4em}
.by{font-family:var(--serif);font-style:italic;font-size:1.6rem;color:var(--muted)}
.tagline{font-family:var(--serif);font-style:italic;font-size:2rem;color:var(--muted);margin:28px 0 56px}
.hero-buttons{width:100%;max-width:420px}
.hero-buttons .btn{display:block}
.hero-strip{position:absolute;bottom:0;left:0;right:0;padding:26px 12px;text-align:center;background:transparent;border-top:1px solid var(--line)}
section{padding:110px 28px;max-width:1100px;margin:0 auto}
.divider{border:none;border-top:1px solid var(--line)}
.sh{display:flex;justify-content:space-between;align-items:flex-end;padding-bottom:28px;border-bottom:1px solid var(--line)}
.service{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px 32px;align-items:baseline;padding:32px 0;border-bottom:1px solid var(--line);transition:background .25s}
.service:hover{background:rgba(255,255,255,.025)}
.service h3{font-family:var(--sans);font-weight:300;font-size:1.45rem;letter-spacing:.06em}
.service .time{font-family:var(--mono);font-size:12px;letter-spacing:.2em;color:var(--muted);text-transform:uppercase;text-align:right;min-width:70px}
.service .price{font-family:var(--sans);font-size:1.5rem;text-align:right;min-width:60px}
.service p{grid-column:1/2;color:var(--muted);max-width:440px}
.services-note{color:var(--muted);padding-top:36px}
.gallery-main{aspect-ratio:4/5;max-width:700px;margin:0 auto 60px;position:relative;overflow:hidden;background:#2a2a2a}
.gallery-main .cap{position:absolute;bottom:24px;left:32px;right:32px;display:flex;justify-content:space-between;font-family:var(--mono);font-size:12px;letter-spacing:.3em}
.gallery-main.second{aspect-ratio:3/2;max-width:900px}
.gallery-main::after{content:"";position:absolute;inset:auto 0 0 0;height:30%;background:linear-gradient(transparent,rgba(0,0,0,.55));pointer-events:none}
.gallery-main .cap{z-index:2}
.studio-img{aspect-ratio:3/2;margin-top:56px;overflow:hidden}
.studio p{color:var(--muted);font-size:1.15rem;margin-top:28px;max-width:640px}
.studio h2{margin-top:20px}
.quote{border-left:1px solid #555;padding:4px 0 4px 28px;margin-top:56px}
.quote em{font-family:var(--serif);font-size:2.2rem;color:var(--cream);display:block}
.quote .label{font-size:11px}
.hours{margin-top:40px;border-top:1px solid var(--line);max-width:700px}
.hours div{display:flex;justify-content:space-between;padding:18px 0;border-bottom:1px solid var(--line)}
.hours span:last-child{font-family:var(--mono);font-size:14px;letter-spacing:.15em;color:var(--muted)}
address{font-style:normal;font-family:var(--sans);font-size:2rem;line-height:1.35;margin:16px 0 28px}
.contact{font-family:var(--mono);letter-spacing:.15em;color:var(--muted);line-height:2}
.know{margin:60px 0 40px}
.know p{margin-top:20px;max-width:560px}
.know a{text-decoration:underline;text-underline-offset:4px}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:640px;margin:0 auto}
.grid>div{aspect-ratio:4/5;background:#2a2a2a;overflow:hidden}
.insta{text-align:center;margin:70px 0}
.insta h2{margin:18px 0 32px;font-size:clamp(1.4rem,4vw,2rem)}
.insta .btn{display:inline-flex;align-items:center;gap:14px}
.insta svg{width:20px;height:20px}
.rgrid{display:grid;grid-template-columns:1fr;gap:16px;max-width:900px;margin:0 auto}
.rv{border:1px solid var(--line);padding:32px 28px;display:flex;flex-direction:column;gap:18px;background:rgba(255,255,255,.02)}
.stars{letter-spacing:.25em;font-size:15px;color:#d4af37}
.rv blockquote{color:var(--muted);font-size:1.02rem;line-height:1.7;flex:1}
@media(min-width:700px){.rgrid{grid-template-columns:1fr 1fr}}
.stockist{margin-top:56px}
.stockist p{line-height:1.9}
.stockist img{width:260px;max-width:70%;height:auto;object-fit:contain;margin-top:20px;opacity:.92}
footer{border-top:1px solid var(--line);padding:90px 28px 60px;max-width:1100px;margin:0 auto}
footer .logo{font-size:24px}
footer .tag{font-family:var(--serif);font-style:italic;font-size:1.7rem;color:var(--muted);margin:28px 0 56px}
.links{display:flex;flex-wrap:wrap;gap:20px 36px}
.links a{font-family:var(--mono);font-size:12px;letter-spacing:.25em;text-transform:uppercase;text-decoration:none;color:var(--muted)}
.links a:hover{color:var(--cream)}
.legal{border-top:1px solid var(--line);margin-top:60px;padding-top:36px;line-height:2.2}

.svg-defs{position:absolute}
.gallery-wrap{padding:0 28px}
.object-center-40{object-position:center 40%}
.object-40-50{object-position:40% 50%}
.object-center-45{object-position:center 45%}
.reviews{padding-top:90px}
.hours-title{margin-top:20px}
.visit-studio{margin-top:70px}
.contact-link{text-decoration:none}
.social-section{padding-top:0}

@media(max-width:540px){
.service{grid-template-columns:minmax(0,1fr) auto;gap:8px 16px}
.service .time{grid-column:2;grid-row:1}
.service .price{grid-column:2;grid-row:2}
.service p{grid-column:1/-1}
}

@media(prefers-reduced-motion:reduce){
html{scroll-behavior:auto}
*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}
