:root{color-scheme:dark;--bg:#101110;--panel:#191a19;--ink:#f3f2ed;--muted:#b8b8b0;--line:#383a37;--header:72px;font-family:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header) + 16px)}body{margin:0;background:var(--bg);color:var(--ink)}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;width:100%;object-fit:cover}p,figure,dl,dd,h1,h2,h3{margin:0}p,dd{line-height:1.6}a:focus-visible,button:focus-visible{outline:2px solid #fff;outline-offset:5px}.skip{position:fixed;left:12px;top:-80px;background:var(--ink);color:var(--bg);padding:12px;z-index:9}.skip:focus{top:12px}.wrap{width:min(100% - 36px,1240px);margin-inline:auto}.header{position:sticky;top:0;z-index:5;background:#101110;border-bottom:1px solid var(--line)}.head{height:var(--header);display:flex;align-items:center;gap:12px}.brand{font-weight:950;letter-spacing:-.07em;font-size:22px;line-height:1;white-space:nowrap;margin-right:auto}.brand span{display:block;font-size:8px;letter-spacing:.35em;margin-top:5px}.head nav{display:none}.head:has(.menu[aria-expanded=true]) nav{display:grid;position:absolute;top:100%;left:0;right:0;background:var(--panel);padding:14px 18px;border-bottom:1px solid var(--line)}.head nav a{padding:12px;color:var(--muted);font-size:14px}.head nav a:hover,.foot a:hover{color:white}.menu{width:44px;height:44px;border:1px solid var(--line);background:none;color:var(--ink);cursor:pointer;font-size:19px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:12px 17px;border:1px solid transparent;background:var(--ink);color:var(--bg);font-size:11px;font-weight:800;letter-spacing:.085em;text-transform:uppercase;transition:background .2s,border-color .2s,color .2s;text-align:center}.button:hover:not(:disabled){background:#cbcbc2}.button.outline{background:#10111060;color:var(--ink);border-color:#777a75}.button.outline:hover{background:#323532}.button.small{min-height:44px;padding-inline:10px}.button:disabled{background:#292b29;color:#c1c2bb;border-color:#414440;cursor:default}
.hero{position:relative;isolation:isolate;display:grid;align-content:end;min-height:clamp(560px,78svh,820px);background:#222421}.hero-image,.hero::after{position:absolute;inset:0;width:100%;height:100%;z-index:-2}.hero::after{content:"";z-index:-1;background:linear-gradient(0deg,#101110 0%,#1011108c 54%,#10111030),linear-gradient(90deg,#101110a8,transparent 88%)}.hero-content{padding:70px 0 50px;animation:enter .65s ease-out both}@keyframes enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.23em;font-weight:700;color:#c0c2bb;margin-bottom:16px}h1,h2,h3{font-weight:950;letter-spacing:-.075em;line-height:.94}h1{font-size:clamp(42px,10.6vw,145px)}h1 span{color:#cecfca}.hero-copy{font-size:clamp(15px,2vw,20px);margin:22px 0 25px}.actions{display:flex;flex-wrap:wrap;gap:8px}.hero-note{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #ffffff44;padding:15px 0;color:#c0c2bb;font-size:9px;letter-spacing:.12em}
.section{padding-block:clamp(56px,8vw,108px)}h2{font-size:clamp(42px,7.4vw,95px)}h3{font-size:35px}.section-head{display:grid;gap:18px;margin-bottom:24px}.section-head p,.about p:not(.eyebrow),.review p:not(.eyebrow),.contact p:not(.eyebrow){color:var(--muted);max-width:42ch}.photo-note,figcaption,.booking-note{color:var(--muted);font-size:11px}.photo-note{margin-bottom:14px}.team{display:grid;gap:12px}.card{border:1px solid var(--line);background:var(--panel);display:flex;flex-direction:column;min-width:0}.portrait{position:relative;overflow:hidden;aspect-ratio:4/4.25;background:#282a27}.portrait img{height:100%;object-position:center 38%;transition:transform .35s}.card:hover img{transform:scale(1.035)}.badge{position:absolute;top:12px;left:12px;background:#eeeee7;color:#151615;padding:7px 9px;font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.card-body{padding:16px;display:flex;flex:1;flex-direction:column;gap:8px}.role{font-size:10px;text-transform:uppercase;letter-spacing:.13em;color:var(--muted)}.bio{font-size:13px;color:var(--muted);margin:5px 0 10px}.card-action{margin-top:auto}.card-action .button{width:100%}.booking-note{margin-top:8px}.portfolio{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.portfolio img{aspect-ratio:1}
.panel{background:var(--panel);border-block:1px solid var(--line)}.about,.review,.contact{display:grid;gap:24px}.about figure{order:2}.about img{height:auto;aspect-ratio:3/2}.about p:not(.eyebrow),.contact p:not(.eyebrow){margin:20px 0}.text-link{display:inline-block;border-bottom:1px solid #81847d;padding-bottom:5px;font-size:13px;font-weight:700}.gallery{display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}.gallery img{aspect-ratio:4/5}.gallery figcaption,.about figcaption{padding-top:9px}.review .button{margin-top:16px}.contact dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:0 16px;align-content:start}.contact dt,.contact dd{font-size:14px;padding:11px 0;border-bottom:1px solid var(--line)}.contact dt{font-weight:700;line-height:1.6}.contact dd{color:var(--muted);white-space:pre-line}.foot{padding-block:28px;display:grid;gap:17px;color:var(--muted);font-size:12px}.foot .brand{color:var(--ink)}.foot nav,#footer-social{display:flex;flex-wrap:wrap;gap:12px}
@media(min-width:460px){.team{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:760px){.wrap{width:min(100% - 76px,1240px)}.head{gap:24px}.head nav,.head:has(.menu[aria-expanded=true]) nav{display:flex;position:static;background:none;border:0;padding:0}.menu{display:none}.hero-content{padding-bottom:66px}.section-head{grid-template-columns:1fr minmax(235px,35%);align-items:end}.about,.review,.contact{grid-template-columns:1fr 1fr;align-items:center;gap:7%}.about figure{order:0}.foot{grid-template-columns:auto 1fr auto;align-items:center}.foot p{grid-column:1/-1}.team{grid-template-columns:repeat(6,minmax(0,1fr))}.card{grid-column:span 2}.card:nth-child(3n+1):nth-last-child(2){grid-column:2/span 2}.card:last-child:nth-child(3n+1){grid-column:3/span 2}}
@media(min-width:1100px){.team{grid-template-columns:repeat(5,minmax(0,1fr))}.team .card:nth-child(n){grid-column:auto}.head nav{margin-right:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
.menu{font-size:10px;font-weight:800;text-transform:uppercase}

/* Clear separation between the shop story, the team and booking controls. */
:root{--bg:#111211;--panel:#1a1b19;--muted:#c0c0b6;--ink:#f5f3eb;--line:#393a35}
body{font-family:Arial,Helvetica,sans-serif}
h1,h2,h3{letter-spacing:-.062em}
h1{font-size:clamp(41px,9.6vw,124px);line-height:.94}
h2{font-size:clamp(42px,6.2vw,82px)}
.hero{min-height:clamp(490px,73svh,740px)}
.hero::after{background:linear-gradient(0deg,#111211 2%,#11121155 73%),linear-gradient(90deg,#101110bc,transparent)}
.hero-content{padding-bottom:38px}
.hero-copy{max-width:34ch;margin:19px 0 22px}
.hero-secondary{display:inline-flex;min-height:48px;align-items:center;padding-inline:12px;font-size:13px;font-weight:700;text-decoration:underline;text-underline-offset:5px}
.hero-note{font-size:9px}
.eyebrow{letter-spacing:.19em}
.section-head{margin-bottom:14px}
.photo-note{font-size:12px;margin-bottom:18px}
.team{gap:16px}
.card{background:#181916;border-color:#3c3e36;border-radius:6px;overflow:hidden}
.portrait{aspect-ratio:5/5.4}
.portrait img{object-position:center 30%}
.card-body{padding:17px;gap:6px}
.card-body h3{font-size:clamp(29px,3vw,39px);line-height:1}
.role{letter-spacing:.1em}
.card-action{margin-top:9px}
.card-action .button{min-height:48px;letter-spacing:.055em;border-radius:3px}
.booking-note{margin-top:5px;font-size:12px}
.card-extras{border-top:1px solid var(--line);margin-top:8px;padding-top:8px}
.bio{margin:0;font-size:13px;line-height:1.55}
.card-extras .text-link,.portfolio{margin-top:10px}
.gallery{gap:10px}
.gallery img{border-radius:4px}
.review,.contact{align-items:start}
@media(max-width:459px){
  :root{--header:64px}
  .head{gap:8px}
  .brand{font-size:19px}
  .button.small{font-size:10px;padding-inline:8px;letter-spacing:.04em}
  .hero-image{object-position:62% center}
  .card{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr)}
  .portrait{aspect-ratio:auto;min-height:100%;height:100%}
  .portrait img{position:absolute;inset:0;object-position:center}
  .card-body{padding:13px}
  .booking-note{font-size:11px}
  .bio{font-size:12px}
  .badge{top:7px;left:6px;padding:5px;font-size:8px}
  .gallery figcaption{font-size:10px}
}
@media(max-width:345px){.card{grid-template-columns:1fr}.portrait{min-height:190px}.hero-secondary{padding-inline:0}}
@media(min-width:760px){.hero-content{padding-bottom:52px}.section-head{margin-bottom:19px}.gallery{gap:16px}}

.brand{display:block;position:relative;width:72px;height:44px;overflow:hidden;flex-shrink:0;mix-blend-mode:screen}
.brand img{position:absolute;width:120px;max-width:none;height:120px;left:-24px;top:-34px;filter:invert(1) contrast(1.2)}
.foot .brand{width:84px;height:52px}
.foot .brand img{width:140px;height:140px;left:-28px;top:-40px}

.hero{overflow:hidden}
.hero-image{height:auto;top:50%;left:50%;width:max(100%,calc(clamp(490px,73svh,740px) * 1.333));transform:translate(-50%,-50%);max-width:none}

.hero h1{font-size:clamp(43px,10vw,130px);-webkit-text-stroke:.006em currentColor}

.portrait:not(:has(img)){min-height:0;height:auto;aspect-ratio:auto;padding:16px;background:transparent}
.portrait:not(:has(img)) .badge{position:static;display:inline-block}
@media(max-width:459px){.card:not(:has(.portrait img)){grid-template-columns:1fr}}

.team .portrait:not(:has(img)){background:#000;aspect-ratio:5/5.4;position:relative;padding:0}
.team .portrait:not(:has(img)) .badge{position:absolute}
@media(max-width:459px){.team .card:not(:has(.portrait img)){grid-template-columns:minmax(0,2fr) minmax(0,3fr)}.team .portrait:not(:has(img)){aspect-ratio:auto;min-height:100%}}
@media(max-width:345px){.team .card:not(:has(.portrait img)){grid-template-columns:1fr}.team .portrait:not(:has(img)){min-height:190px}}

.review-cards{grid-column:1/-1;display:grid;gap:14px}
.review-card{display:flex;flex-direction:column;gap:12px;padding:20px;background:var(--bg);border:1px solid var(--line);border-radius:6px}
.review-card blockquote{margin:0;line-height:1.6;font-size:15px}
.review-card figcaption{margin-top:auto;padding-top:8px}
.review-stars{color:#f3ca68;letter-spacing:.14em}
@media(min-width:760px){.review-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.review{column-gap:7%;row-gap:30px}}

.review-photo{position:relative;aspect-ratio:709/930;overflow:hidden;border-radius:4px}
.review-photo img{position:absolute;top:-31.72%;height:auto;width:100%}
.personal-tiktok{margin-inline-start:10px}
