/* Kesh & Co. Salon, Bandra West. Designed and developed by Smit Desai, https://smitdev.online/ */
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:400 600;font-display:swap;src:url(/assets/fonts/cormorant-latin.woff2) format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-style:italic;font-weight:400 600;font-display:swap;src:url(/assets/fonts/cormorant-italic-latin.woff2) format("woff2")}
@font-face{font-family:"Jost";font-style:normal;font-weight:300 600;font-display:swap;src:url(/assets/fonts/jost-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Jost";font-style:normal;font-weight:300 600;font-display:swap;src:url(/assets/fonts/jost-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113}

:root{
  --bg:#151214;--bg2:#1C1619;--bg3:#251E22;--ink:#F5EDEB;--muted:#BDAEAA;--rose:#D8A7A0;--gold:#E9C9A8;
  --line:rgba(216,167,160,.24);--line2:rgba(216,167,160,.5);
  --serif:"Cormorant Garamond","Cormorant",Georgia,"Times New Roman",serif;
  --sans:"Jost","Futura","Avenir Next",system-ui,sans-serif;
  --wrap:1240px;--gut:clamp(20px,4vw,48px);--hd:76px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--hd) + 16px)}
body{margin:0;background:var(--bg);color:var(--ink);font:300 17px/1.7 var(--sans);letter-spacing:.005em;-webkit-font-smoothing:antialiased}
img,svg{display:block;max-width:100%;height:auto}
a{color:var(--rose);text-decoration-thickness:1px;text-underline-offset:.22em}
a:hover{color:var(--ink)}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
h1,h2,h3,h4{font-family:var(--serif);font-weight:500;line-height:1.05;margin:0 0 .5em;letter-spacing:-.005em}
h1{font-size:clamp(46px,7.4vw,104px);font-weight:400}
h2{font-size:clamp(36px,4.6vw,62px);font-weight:400}
h3{font-size:clamp(25px,2.4vw,31px)}
em,.it{font-style:italic;color:var(--rose)}
p{margin:0 0 1.1em}
ul,ol{padding:0;margin:0;list-style:none}
strong,b{font-weight:500}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--rose);color:var(--bg);padding:10px 16px;font-weight:500;text-decoration:none}
.skip:focus{top:12px}
.kicker{font:500 12px/1.4 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--rose);margin:0 0 18px;display:flex;align-items:center;gap:12px}
.kicker::before{content:"";width:28px;height:1px;background:currentColor}
.lede{font-size:clamp(18px,1.6vw,21px);color:var(--muted);max-width:36em}
.muted{color:var(--muted)}
.small{font-size:14px}

/* Buttons: square-cornered, hairline, letter-spaced */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 26px;border:1px solid var(--rose);background:var(--rose);color:#151214;font:500 13px/1.2 var(--sans);letter-spacing:.18em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background .2s,color .2s}
.btn:hover{background:var(--ink);border-color:var(--ink);color:#151214}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line2)}
.btn.ghost:hover{border-color:var(--ink);background:transparent;color:var(--ink)}
.link{display:inline-flex;align-items:center;gap:10px;min-height:44px;font:500 13px/1.2 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line2)}
.link:hover{border-color:var(--rose);color:var(--rose)}
.link svg{width:18px;height:18px}
.actions{display:flex;flex-wrap:wrap;gap:16px 28px;align-items:center;margin-top:30px}

/* Header: split navigation around a centred wordmark */
.hd{position:sticky;top:0;z-index:40;background:rgba(21,18,20,.92);border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}
.hd .wrap{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:var(--hd);gap:20px}
.brand{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none;justify-self:center}
.brand svg{width:34px;height:42px;flex:none}
.brand span{display:flex;flex-direction:column;line-height:1}
.brand b{font:italic 500 27px/1 var(--serif)}
.brand small{font:500 9.5px/1 var(--sans);letter-spacing:.32em;text-transform:uppercase;color:var(--muted);margin-top:6px}
.nav-l,.nav-r{display:flex;gap:4px 26px;align-items:center}
.nav-r{justify-content:flex-end}
.nav-l a,.nav-r a:not(.btn){color:var(--ink);text-decoration:none;font:400 14px/1 var(--sans);letter-spacing:.08em;padding:10px 0;border-bottom:1px solid transparent}
.nav-l a:hover,.nav-r a:not(.btn):hover{border-color:var(--rose)}
.nav-l a[aria-current],.nav-r a[aria-current]:not(.btn){color:var(--rose);border-color:var(--rose)}
.hd .btn{min-height:42px;padding:10px 18px;font-size:12px}
.menu-btn{display:none}
.overlay{display:none}

/* Hero */
.hero{position:relative;padding:clamp(28px,5vw,64px) 0 clamp(48px,7vw,96px);overflow:hidden}
.hero-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,5vw,80px);align-items:center}
.arch{position:relative;border-radius:999px 999px 0 0;overflow:hidden}
.hero-art{max-width:460px}
.hero-art .tag{position:absolute;left:-1px;bottom:28px;background:var(--bg);border:1px solid var(--line2);border-left:0;padding:10px 16px;font:500 11px/1.3 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--ink)}
.vert{position:absolute;right:calc(var(--gut) * .4);top:50%;transform:translateY(-50%) rotate(180deg);writing-mode:vertical-rl;font:500 11px/1 var(--sans);letter-spacing:.42em;text-transform:uppercase;color:var(--muted)}
.hero h1{font-size:clamp(46px,5.5vw,82px);margin-bottom:.35em}
.hero h1 em{display:inline-block}
.today{margin-top:40px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.today div{padding:18px 18px 18px 0}
.today div+div{border-left:1px solid var(--line);padding-left:18px}
.today dt{font:500 11px/1.3 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.today dd{margin:0;font:500 22px/1.2 var(--serif)}

/* Band of service words */
.band{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg2)}
.band p{margin:0;padding:22px 0;text-align:center;font:italic 400 clamp(22px,2.6vw,32px)/1.3 var(--serif);color:var(--ink)}
.band span{color:var(--rose);font-style:normal;padding:0 .5em;font-size:.6em;vertical-align:middle}

/* Sections */
.sec{padding:clamp(64px,9vw,128px) 0}
.sec.alt{background:var(--bg2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sec-hd{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:24px 64px;align-items:end;margin-bottom:clamp(36px,5vw,64px)}
.sec-hd p{color:var(--muted);margin:0}
.num{font:italic 400 20px/1 var(--serif);color:var(--rose);display:block;margin-bottom:14px}

/* Category columns separated by hairlines */
.cats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line)}
.cats li{padding:30px 26px 34px;border-right:1px solid var(--line);display:flex;flex-direction:column}
.cats li:first-child{padding-left:0}
.cats li:last-child{border-right:0}
.ico{width:46px;height:46px;color:var(--rose);margin-bottom:22px}
.ico svg{width:46px;height:46px}
.cats p{color:var(--muted);font-size:16px;flex:1}
.cats .from{font:500 13px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ink);margin:6px 0 18px}

/* Stylist arches */
.team{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:40px 28px}
.st{display:flex;flex-direction:column}
.st .arch{aspect-ratio:4/5;background:radial-gradient(120% 80% at 50% 20%,#3A2D31 0%,#1E181B 70%);border:1px solid var(--line2);display:grid;place-items:center;margin-bottom:20px}
.st .arch svg{position:absolute;inset:0;width:100%;height:100%}
.mono{position:relative;font:italic 400 clamp(64px,7vw,96px)/1 var(--serif);color:var(--rose);letter-spacing:-.02em}
.st h3{margin:0 0 4px}
.st h2{font-size:clamp(30px,3vw,40px);margin:0 0 4px}
.role{font:500 11.5px/1.4 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--rose);margin:0 0 12px}
.st p{color:var(--muted);font-size:16px}
.tags{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 16px}
.tags li{font-size:13px;padding:4px 10px;border:1px solid var(--line);color:var(--ink)}

/* Split feature */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:center}
.split .arch{max-width:480px;aspect-ratio:4/5;border:1px solid var(--line2)}
.split .arch img{width:100%;height:100%;object-fit:cover}
.steps{counter-reset:s;border-top:1px solid var(--line);margin-top:28px}
.steps li{counter-increment:s;display:grid;grid-template-columns:58px 1fr;gap:4px 12px;padding:18px 0;border-bottom:1px solid var(--line)}
.steps li::before{content:counter(s,upper-roman);font:italic 400 24px/1.1 var(--serif);color:var(--rose);grid-row:span 2}
.steps b{font:500 21px/1.25 var(--serif)}
.steps span{color:var(--muted);font-size:16px}

/* Gallery */
.strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.art{margin:0}
.art .frame{overflow:hidden;border:1px solid var(--line);background:var(--bg2)}
.art:nth-child(odd) .frame{border-radius:999px 999px 0 0}
.art img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;transition:transform .6s ease}
.art:hover img{transform:scale(1.03)}
.art figcaption{display:flex;justify-content:space-between;gap:12px;padding-top:12px;font-size:14px;color:var(--muted)}
.art figcaption b{font:italic 500 20px/1.2 var(--serif);color:var(--ink)}
.masonry{columns:3 280px;column-gap:24px}
.masonry .art{break-inside:avoid;margin-bottom:28px}
.masonry .art.tall img{aspect-ratio:3/4.4}

/* Quotes */
.quotes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.quotes blockquote{margin:0;padding:30px 0 0;border-top:1px solid var(--line2)}
.quotes p{font:italic 400 24px/1.35 var(--serif);color:var(--ink)}
.quotes footer{font:500 12px/1.4 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.note{font-size:14px;color:var(--muted);border-left:1px solid var(--rose);padding-left:14px;margin-top:28px}

/* Price menu */
.filters{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 40px}
.chip{min-height:44px;padding:10px 20px;border:1px solid var(--line2);background:transparent;color:var(--ink);font:400 14px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
.chip:hover{border-color:var(--ink)}
.chip[aria-pressed="true"]{background:var(--rose);border-color:var(--rose);color:#151214}
.menu-group{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:24px 64px;padding:44px 0;border-top:1px solid var(--line)}
.menu-group[hidden]{display:none}
.menu-group h2{font-size:clamp(34px,3.6vw,48px)}
.menu-group .intro{color:var(--muted);font-size:16px}
.items li{display:grid;grid-template-columns:1fr auto;gap:2px 24px;padding:18px 0;border-bottom:1px dotted var(--line2)}
.items li:first-child{padding-top:4px}
.items h3{font-size:24px;margin:0}
.items .price{font:500 22px/1.2 var(--serif);color:var(--rose);text-align:right;white-space:nowrap}
.items .price small{display:block;font:400 11px/1.4 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.items p{grid-column:1;color:var(--muted);font-size:15.5px;margin:4px 0 0}
.items .bk{grid-column:2;align-self:end;justify-self:end;font-size:13px;letter-spacing:.14em;text-transform:uppercase;min-height:32px;display:inline-flex;align-items:center}
.dur{font-size:13px;letter-spacing:.08em;color:var(--muted)}

/* Forms and booking */
form{margin:0}
fieldset{border:0;padding:0;margin:0 0 30px;min-width:0}
legend{font:500 26px/1.2 var(--serif);padding:0;margin-bottom:16px}
label,.lbl{display:block;font:500 12px/1.4 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
input,select,textarea{width:100%;min-height:50px;padding:12px 14px;background:var(--bg);border:1px solid var(--line2);border-radius:0;color:var(--ink);font:300 17px/1.4 var(--sans)}
textarea{min-height:110px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:2px solid var(--gold);outline-offset:1px;border-color:var(--gold)}
input[aria-invalid="true"],select[aria-invalid="true"],textarea[aria-invalid="true"]{border-color:#F2A3A3}
.err{color:#F6B5B0;font-size:14px;margin:6px 0 0}
.err:empty{display:none}
.field{margin-bottom:20px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}
.check{display:flex;gap:12px;align-items:flex-start;font:300 16px/1.5 var(--sans);letter-spacing:0;text-transform:none;color:var(--ink);margin-bottom:10px;cursor:pointer}
.check input{width:22px;height:22px;min-height:0;margin:2px 0 0;accent-color:var(--rose);flex:none}
.checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:4px 20px}
.panel{background:var(--bg2);border:1px solid var(--line);padding:clamp(24px,4vw,48px)}
.done{border:1px solid var(--rose);padding:28px;margin-top:8px;background:var(--bg3)}
.done h2,.done h3{margin-bottom:10px}
.done p:last-child{margin-bottom:0}
.powered{font:500 11.5px/1.4 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin:18px 0 0}

.book{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:clamp(28px,4vw,64px);align-items:start}
.prog{display:flex;gap:6px;margin:0 0 30px;counter-reset:p}
.prog li{flex:1;counter-increment:p;font:500 11px/1.3 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);padding-top:12px;border-top:2px solid var(--line)}
.prog li::before{content:counter(p) " · "}
.prog li.on{color:var(--ink);border-color:var(--rose)}
.prog li.ok{border-color:var(--line2)}
.opts{display:grid;gap:10px}
.opts h3{font:500 12px/1.4 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--rose);margin:18px 0 4px}
.opt{position:relative;display:grid;grid-template-columns:auto 1fr auto;gap:4px 14px;align-items:center;padding:14px 16px;border:1px solid var(--line);cursor:pointer;text-transform:none;letter-spacing:0;color:var(--ink);font:300 16px/1.4 var(--sans);margin:0}
.opt:hover{border-color:var(--line2)}
.opt input{width:20px;height:20px;min-height:0;margin:0;accent-color:var(--rose)}
.opt b{font:500 20px/1.2 var(--serif)}
.opt small{display:block;color:var(--muted);font-size:14px}
.opt .p{font:500 18px/1 var(--serif);color:var(--rose);white-space:nowrap}
.opt:has(input:checked){border-color:var(--rose);background:var(--bg3)}
.opt:has(input:focus-visible){outline:2px solid var(--gold);outline-offset:2px}
.opt[hidden]{display:none}
.opt .m{width:44px;height:44px;border-radius:999px 999px 0 0;border:1px solid var(--line2);display:grid;place-items:center;font:italic 500 20px/1 var(--serif);color:var(--rose)}
.days,.times{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px}
.slot{display:block;margin:0;cursor:pointer;text-transform:none;letter-spacing:0}
.slot input{position:absolute;opacity:0;width:1px;height:1px}
.slot span{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:64px;padding:8px;border:1px solid var(--line);color:var(--ink);font:400 15px/1.25 var(--sans);text-align:center}
.slot span b{font:500 22px/1.1 var(--serif)}
.slot input:checked+span{background:var(--rose);border-color:var(--rose);color:#151214}
.slot input:focus-visible+span{outline:2px solid var(--gold);outline-offset:2px}
.slot input:disabled+span{opacity:.4;text-decoration:line-through;cursor:not-allowed}
.times .slot span{min-height:48px}
.nav-step{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px}
.js .step:not(.on){display:none}
.js .no-js-only{display:none}
.summary{position:sticky;top:calc(var(--hd) + 20px)}
.summary dl{margin:0}
.summary div{display:grid;grid-template-columns:90px 1fr;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}
.summary dt{font:500 11px/1.6 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.summary dd{margin:0;font:500 19px/1.3 var(--serif)}

/* FAQ */
.faq details{border-top:1px solid var(--line);padding:4px 0}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;padding:18px 0;font:500 23px/1.3 var(--serif)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--rose);font:300 26px/1 var(--sans)}
.faq details[open] summary::after{content:"\2212"}
.faq details p{color:var(--muted);max-width:52em}

/* Page head on inner pages */
.ph{padding:clamp(40px,6vw,88px) 0 clamp(36px,5vw,64px);border-bottom:1px solid var(--line);position:relative}
.ph-grid{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:32px 64px;align-items:end}
.ph h1{font-size:clamp(44px,6.4vw,88px)}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:13px;letter-spacing:.1em;color:var(--muted);margin-bottom:26px}
.crumbs a{color:var(--muted)}
.crumbs li+li::before{content:"/";margin-right:8px;color:var(--line2)}
.ph aside{border-left:1px solid var(--line2);padding-left:24px;color:var(--muted);font-size:16px}
.ph aside b{display:block;font:500 22px/1.25 var(--serif);color:var(--ink);margin-bottom:6px}

.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:36px 48px}
.cols h3{margin-bottom:10px}
.cols p{color:var(--muted)}
.prose{max-width:44em}
.prose p,.prose li{color:var(--muted)}
.prose h2{margin-top:1em}
.prose ul{list-style:none;margin:0 0 1.2em}
.prose li{padding-left:22px;position:relative;margin-bottom:8px}
.prose li::before{content:"";position:absolute;left:0;top:.78em;width:10px;height:1px;background:var(--rose)}
.hours{width:100%;border-collapse:collapse;font-size:16px}
.hours th,.hours td{text-align:left;padding:12px 0;border-bottom:1px solid var(--line);font-weight:300}
.hours th{font-weight:500;color:var(--ink)}
.hours td{text-align:right;color:var(--muted)}
.cta{text-align:left;display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:32px 64px;align-items:center}
.cta h2{margin:0}

/* Footer */
.ft{border-top:1px solid var(--line);padding:clamp(56px,7vw,96px) 0 40px;background:var(--bg2)}
.ft-top{display:grid;grid-template-columns:minmax(0,5fr) repeat(3,minmax(0,2fr));gap:40px}
.ft .big{font:italic 400 clamp(48px,6vw,84px)/.95 var(--serif);color:var(--ink);margin:0 0 18px}
.ft h2{font:500 11.5px/1.4 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--rose);margin:0 0 16px}
.ft li{margin-bottom:6px}
.ft a{color:var(--ink);text-decoration:none;display:inline-block;padding:3px 0}
.ft a:hover{color:var(--rose);text-decoration:underline}
.ft p{color:var(--muted);font-size:15.5px}
.ft-base{margin-top:56px;padding-top:24px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 32px;font-size:14px;color:var(--muted)}
.ft-base p{margin:0;font-size:14px}
.ft-base a{color:var(--rose);text-decoration:underline}

/* Phone dock: WhatsApp + Book */
.dock{display:none}

@media (max-width:1020px){
  .nav-l,.nav-r a:not(.btn){display:none}
  .hd .wrap{grid-template-columns:auto 1fr auto}
  .brand{justify-self:start;order:-1}
  .nav-r{order:2}
  .menu-btn{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 4px;background:none;border:0;color:var(--ink);font:500 12px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;cursor:pointer;order:3}
  .menu-btn i{display:block;width:22px;height:1px;background:currentColor;box-shadow:0 6px 0 currentColor;margin-top:-6px}
  html:not(.js) .menu-btn{display:none}
  html:not(.js) .nav-l{display:flex;flex-wrap:wrap;grid-column:1/-1;order:4;padding-bottom:12px}
  html:not(.js) .hd .wrap{height:auto;padding-top:14px}
  .overlay{position:fixed;inset:0;z-index:60;background:var(--bg);padding:20px var(--gut) 40px;overflow:auto;flex-direction:column}
  .overlay.open{display:flex}
  .overlay-top{display:flex;justify-content:space-between;align-items:center;height:56px;margin-bottom:24px}
  .overlay ol{counter-reset:o;border-top:1px solid var(--line)}
  .overlay li{counter-increment:o;border-bottom:1px solid var(--line)}
  .overlay li a{display:flex;align-items:baseline;gap:18px;padding:14px 0;color:var(--ink);text-decoration:none;font:400 38px/1.1 var(--serif)}
  .overlay li a::before{content:counter(o,lower-roman) ".";font:italic 400 18px/1 var(--serif);color:var(--rose);width:34px}
  .overlay li a[aria-current]{color:var(--rose)}
  .overlay .close{min-height:44px;background:none;border:1px solid var(--line2);color:var(--ink);padding:0 16px;font:500 12px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;cursor:pointer}
  .overlay .meta{margin-top:auto;padding-top:32px;color:var(--muted);font-size:15px}
  .hero-grid,.split,.sec-hd,.ph-grid,.cta,.book{grid-template-columns:minmax(0,1fr)}
  .hero-art{max-width:380px;width:78%;order:2}
  .cats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cats li{border-bottom:1px solid var(--line)}
  .cats li:nth-child(2n){border-right:0}
  .cats li:nth-child(3){padding-left:0}
  .strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .quotes{grid-template-columns:minmax(0,1fr)}
  .menu-group{grid-template-columns:minmax(0,1fr)}
  .ft-top{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ft-top>div:first-child{grid-column:1/-1}
  .summary{position:static;order:-1}
  .vert{display:none}
}
@media (max-width:760px){
  body{padding-bottom:76px;font-size:16.5px}
  body.lift{padding-bottom:132px}
  .hd .btn{display:none}
  .dock{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:50;background:var(--bg);border-top:1px solid var(--line2);padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));gap:10px}
  .dock a{min-height:48px}
  body.lift .dock{bottom:58px;border-bottom:1px solid var(--line2)}
  .today{grid-template-columns:minmax(0,1fr)}
  .today div+div{border-left:0;padding-left:0;border-top:1px solid var(--line)}
  .today div{padding:14px 0}
  .cats{grid-template-columns:minmax(0,1fr)}
  .cats li{padding-left:0;border-right:0}
  .row2{grid-template-columns:minmax(0,1fr)}
  .items li{grid-template-columns:minmax(0,1fr) auto}
  .ft-top{grid-template-columns:minmax(0,1fr)}
  .strip{gap:14px}
  .art figcaption{flex-direction:column;gap:2px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}
}
[hidden]{display:none!important}
html:not(.js) .js-only,html:not(.js) .prog{display:none}
.opt.who{grid-template-columns:auto auto 1fr}
.summary h2{margin-bottom:6px}
.ph .split{align-items:center}
.price,.opt .p,.from,.slot,.today dd,.hours td,.summary dd,.items .price{font-variant-numeric:lining-nums}
.items .price{grid-column:2;grid-row:1}
.opt input[type="radio"],.check input[type="checkbox"]{-webkit-appearance:none;appearance:none;width:22px;height:22px;min-height:0;border:1px solid var(--line2);background:var(--bg);flex:none;cursor:pointer;margin:0}
.opt input[type="radio"]{border-radius:50%}
.opt input[type="radio"]:checked{border-color:var(--rose);background:var(--rose);box-shadow:inset 0 0 0 5px var(--bg)}
.check input[type="checkbox"]{margin-top:1px}
.check input[type="checkbox"]:checked{border-color:var(--rose);background:var(--rose) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.5l3 3 7-7' fill='none' stroke='%23151214' stroke-width='2'/%3E%3C/svg%3E") center/15px no-repeat}
.team.five{grid-template-columns:repeat(5,minmax(0,1fr));gap:40px 24px}
.team.five h2{font-size:clamp(28px,2.3vw,33px)}
body:has(#booking) .dock{grid-template-columns:1fr}
body:has(#booking) .dock .btn:not(.ghost){display:none}
@media (max-width:1020px){.team.five{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){
  .team,.team.five{grid-template-columns:minmax(0,1fr);gap:32px}
  .st{display:grid;grid-template-columns:112px minmax(0,1fr);gap:0 18px;align-items:start}
  .st .arch{grid-row:span 7;margin:0}
  .st .mono{font-size:38px}
  .st .link{justify-self:start}
  .prog{gap:4px}
  .prog li{flex:1 1 0;font-size:10.5px;letter-spacing:.1em}
  .prog li span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .prog li.on{flex:3 1 0}
  .prog li.on span{position:static;width:auto;height:auto;clip:auto}
  .panel{padding:22px 16px}
  .opt{padding:12px}
}
@media (max-width:760px){.prog li::before{content:counter(p)}.prog li.on::before{content:counter(p) " · "}}
input::placeholder,textarea::placeholder{color:#8F817D;opacity:1}
