/* Burbank Hair Studio. Designed and built by DesignedByThomas.com */

@font-face{font-family:"Bodoni Moda";src:url(../fonts/bodoni-moda-latin-400-normal.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Bodoni Moda";src:url(../fonts/bodoni-moda-latin-400-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Bodoni Moda";src:url(../fonts/bodoni-moda-latin-600-normal.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Jost";src:url(../fonts/jost-latin-400-normal.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Jost";src:url(../fonts/jost-latin-500-normal.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}

:root{
  --paper:#f6f0e8; --paper-2:#efe6da; --paper-3:#e4d7c6;
  --ink:#1c1613; --ink-2:#5a4c42; --line:rgba(28,22,19,.14);
  --gold:#a57728; --gold-ink:#83591a; --gold-lite:#d4ab62;
  --night:#1c1613; --night-2:#2a211c;
  --display:"Bodoni Moda","Didot",Georgia,serif;
  --body:"Jost","Futura","Century Gothic",sans-serif;
  --gut:clamp(16px,4.2vw,56px);
  --wrap:min(1240px,100% - var(--gut)*2);
  --ease:cubic-bezier(.22,.7,.18,1);
  --ease-out:cubic-bezier(.16,1,.3,1);
  --head:72px;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--head) + 16px);-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 clamp(16px,1.05vw,18px)/1.65 var(--body);overflow-x:hidden;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
:where(h1,h2,h3,h4,p,figure,blockquote,ul,ol,dl,table){margin:0;padding:0}
:where(.entry) > *{margin-block:0}
.wrap{width:var(--wrap);margin-inline:auto}
.skip{position:absolute;left:-999px;top:8px;z-index:200;background:var(--ink);color:var(--paper);padding:10px 16px;border-radius:999px}
.skip:focus{left:16px}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:4px}
::selection{background:var(--gold-lite);color:var(--ink)}

/* ---------- Header ---------- */
.site-head{position:fixed;inset:0 0 auto;z-index:50;height:var(--head);display:flex;align-items:center;
  background:color-mix(in srgb,var(--paper) 88%,transparent);backdrop-filter:saturate(1.2) blur(10px);-webkit-backdrop-filter:saturate(1.2) blur(10px);
  border-bottom:1px solid transparent;transition:border-color .3s var(--ease),transform .35s var(--ease),background-color .3s}
.site-head.is-scrolled{border-bottom-color:var(--line)}
.site-head.is-hidden{transform:translateY(-100%)}
.js .site-head{animation:headIn .7s var(--ease-out) both}
@keyframes headIn{from{transform:translateY(-100%)}to{transform:none}}
body{padding-top:var(--head)}
.head-row{display:flex;align-items:center;gap:24px;width:var(--wrap)}
.mark{display:inline-flex;flex-direction:column;text-decoration:none;line-height:1;gap:3px}
.mark-top{font:500 10.5px/1 var(--body);letter-spacing:.42em;text-transform:uppercase;color:var(--gold-ink)}
.mark-main{font:400 23px/1 var(--display);letter-spacing:.01em}
.mark-main em{font-style:italic;color:var(--gold-ink)}
.nav{margin-left:auto}
.nav ul{display:flex;gap:clamp(16px,2.2vw,34px);list-style:none}
.nav a{position:relative;text-decoration:none;font-size:15px;letter-spacing:.02em;padding:6px 0}
.nav ul a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:right;transition:transform .25s var(--ease)}
.nav ul a:hover::after,.nav ul a[aria-current]::after{transform:scaleX(1);transform-origin:left}
.nav-call{display:none}
.head-end{display:flex;align-items:center;gap:14px}
.status{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-2);white-space:nowrap}
.status i{width:8px;height:8px;border-radius:50%;background:#b9ada3;flex:none}
.status.is-open i{background:#3f8a5a;box-shadow:0 0 0 0 rgba(63,138,90,.5);animation:ping 1.8s var(--ease) 3}
@keyframes ping{70%{box-shadow:0 0 0 8px rgba(63,138,90,0)}100%{box-shadow:0 0 0 0 rgba(63,138,90,0)}}
.btn-call{display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-size:15px;font-weight:500;
  padding:10px 18px;border-radius:999px;background:var(--ink);color:var(--paper);transition:background-color .2s,transform .2s var(--ease)}
.btn-call svg{width:16px;height:16px;fill:currentColor;transition:transform .25s var(--ease)}
.btn-call:hover{background:var(--gold-ink)}
.btn-call:hover svg{transform:rotate(-14deg)}
.btn-call:active{transform:scale(.97)}
.burger{display:none;width:44px;height:44px;border:0;background:none;padding:0;cursor:pointer;position:relative;color:var(--ink)}
.burger span{position:absolute;left:11px;right:11px;height:1.5px;background:currentColor;transition:transform .3s var(--ease),top .3s var(--ease)}
.burger span:first-child{top:17px}.burger span:last-child{top:26px}
.burger[aria-expanded="true"] span:first-child{top:21.5px;transform:rotate(45deg)}
.burger[aria-expanded="true"] span:last-child{top:21.5px;transform:rotate(-45deg)}

@media (max-width:1020px){
  .status{display:none}
}
@media (max-width:860px){
  .burger{display:block}
  .btn-call span{display:none}
  .btn-call{padding:0;width:44px;height:44px;justify-content:center}
  .nav{position:fixed;inset:var(--head) 0 auto;background:var(--paper);border-bottom:1px solid var(--line);
    padding:12px var(--gut) 28px;clip-path:inset(0 0 100% 0);visibility:hidden;transition:clip-path .35s var(--ease),visibility 0s .35s}
  .nav.is-open{clip-path:inset(0 0 0 0);visibility:visible;transition:clip-path .35s var(--ease)}
  .nav ul{flex-direction:column;gap:0}
  .nav ul li{opacity:0;transform:translateY(8px);transition:opacity .3s var(--ease),transform .3s var(--ease);transition-delay:calc(var(--i)*45ms + 80ms)}
  .nav.is-open ul li{opacity:1;transform:none}
  .nav ul a{display:block;padding:14px 0;font:400 26px/1.1 var(--display);border-bottom:1px solid var(--line)}
  .nav ul a::after{display:none}
  .nav .nav-call{display:inline-flex;margin-top:20px;padding:14px 24px;border-radius:999px;background:var(--ink);color:var(--paper);text-decoration:none;font-weight:500}
  .head-end{margin-left:auto}
  .nav{margin-left:0}
}

/* ---------- Strand (scroll-drawn line) ---------- */
.strand{position:absolute;left:0;top:0;width:100%;pointer-events:none;z-index:40;overflow:visible;display:none}
.strand path{fill:none;stroke:var(--gold);stroke-width:1.3;stroke-linecap:round;opacity:.7}
@media (min-width:1100px){.js .strand{display:block}}

/* ---------- Shared bits ---------- */
.sec{position:relative;padding-block:clamp(72px,10vw,140px)}
.sec > *{width:var(--wrap);margin-inline:auto}
.eyebrow{font:500 12px/1.2 var(--body);letter-spacing:.32em;text-transform:uppercase;color:var(--gold-ink);display:flex;align-items:center;gap:14px}
.eyebrow::before{content:"";width:34px;height:1px;background:currentColor;transform-origin:left;transition:transform .7s var(--ease-out) .1s}
.js .rv .eyebrow::before,.js .eyebrow.rv::before{transform:scaleX(0)}
.js .is-in .eyebrow::before,.js .eyebrow.is-in::before{transform:scaleX(1)}
.title{font:400 clamp(38px,5.4vw,76px)/1.02 var(--display);letter-spacing:-.015em}
.title em{font-style:italic;color:var(--gold-ink)}
.lede{max-width:56ch;color:var(--ink-2);font-size:clamp(17px,1.25vw,20px)}

/* Buttons (core/buttons) */
.wp-block-buttons{display:flex;flex-wrap:wrap;gap:12px}
.wp-block-buttons > .wp-block-button{margin:0}
.wp-block-button__link{position:relative;overflow:hidden;isolation:isolate;display:inline-flex;align-items:center;gap:10px;
  font:500 15px/1 var(--body);letter-spacing:.03em;padding:16px 26px;border-radius:999px;text-decoration:none;
  background:var(--ink);color:var(--paper);border:1px solid var(--ink);transition:color .25s var(--ease),border-color .25s,transform .2s var(--ease)}
.wp-block-button__link::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--gold-ink);transform:translateY(101%);transition:transform .35s var(--ease)}
.wp-block-button__link:hover::before,.wp-block-button__link:focus-visible::before{transform:none}
.wp-block-button__link:hover{border-color:var(--gold-ink)}
.wp-block-button__link:active{transform:scale(.97)}
.wp-block-button.is-line .wp-block-button__link{background:transparent;color:var(--ink)}
.wp-block-button.is-line .wp-block-button__link::before{background:var(--ink)}
.wp-block-button.is-line .wp-block-button__link:hover{color:var(--paper);border-color:var(--ink)}
.wp-block-button__link::after{content:"\2192";font-family:var(--body);transition:transform .25s var(--ease)}
.wp-block-button__link:hover::after{transform:translateX(4px)}
.wp-block-button.is-tel .wp-block-button__link::after{content:none}

/* Reveal system: content is visible unless JS is running and motion is allowed */
.js .rv{opacity:0;transform:translateY(26px);transition:opacity .6s var(--ease),transform .6s var(--ease-out);transition-delay:var(--d,0ms)}
.js .rv.is-in{opacity:1;transform:none}
.js .pop{clip-path:inset(12% 10% 12% 10% round 10px);opacity:0;transition:clip-path .8s var(--ease-out),opacity .5s var(--ease);transition-delay:var(--d,0ms)}
.js .pop img{transform:scale(1.14);transition:transform 1.1s var(--ease-out);transition-delay:var(--d,0ms)}
.js .pop.is-in{clip-path:inset(0 0 0 0 round 0);opacity:1}
.js .pop.is-in img{transform:scale(1)}

/* ---------- Opening (no hero) ---------- */
.opening{padding-block:clamp(36px,6vw,84px) clamp(64px,8vw,110px)}
.opening-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(28px,5vw,80px);align-items:center}
.opening-copy > * + *{margin-top:26px}
.masthead{font:400 clamp(56px,9.6vw,148px)/.88 var(--display);letter-spacing:-.03em}
.masthead .m-line{display:block}
.masthead em{font-style:italic;color:var(--gold-ink);padding-right:.04em}
.masthead .m-small{display:block;font:500 clamp(12px,1vw,14px)/1 var(--body);letter-spacing:.5em;text-transform:uppercase;color:var(--gold-ink);margin-bottom:22px}
.w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
.w > span{display:inline-block}
.js .masthead.split .w > span{transform:translateY(105%);animation:wordUp .9s var(--ease-out) forwards;animation-delay:calc(var(--wi)*90ms + 250ms)}
@keyframes wordUp{to{transform:none}}
.opening .lede{font-size:clamp(18px,1.4vw,22px)}
.facts{list-style:none;display:flex;flex-wrap:wrap;gap:10px 28px;padding-top:22px !important;border-top:1px solid var(--line);font-size:14.5px;color:var(--ink-2)}
.facts li{display:flex;align-items:center;gap:8px}
.facts strong{font:400 22px/1 var(--display);color:var(--ink)}
.facts a{text-decoration:none;border-bottom:1px solid var(--line);transition:border-color .2s}
.facts a:hover{border-color:var(--gold)}
.stars{display:inline-flex;gap:2px;color:var(--gold)}
.stars svg{width:14px;height:14px;fill:currentColor}
.js .stars svg{opacity:0;transform:scale(.4) rotate(-30deg);transition:opacity .3s var(--ease),transform .45s var(--ease-out)}
.js .stars.is-in svg{opacity:1;transform:none}

/* Dealt photo stack */
.deal{position:relative;aspect-ratio:4/5;max-width:520px;width:100%;justify-self:end}
.deal .wp-block-image{position:absolute;margin:0;width:62%;border-radius:4px;overflow:hidden;background:var(--paper-3);
  box-shadow:0 1px 0 rgba(255,255,255,.6) inset,0 24px 50px -24px rgba(28,22,19,.45),0 4px 12px -6px rgba(28,22,19,.25);
  transition:transform .55s var(--ease-out),box-shadow .3s}
.deal .wp-block-image img{width:100%;aspect-ratio:3/4;object-fit:cover}
.deal .c1{left:0;top:9%;transform:rotate(-6deg);z-index:1}
.deal .c2{right:0;top:0;transform:rotate(4deg);z-index:2}
.deal .c3{left:22%;bottom:0;transform:rotate(-1.5deg);z-index:3;width:58%}
.deal .c1 img{object-position:50% 30%}
.js .deal:not(.is-dealt) .wp-block-image{transform:translate(var(--fx,0),40px) rotate(0deg) scale(.92);opacity:0}
.js .deal .wp-block-image{transition:transform .9s var(--ease-out),opacity .6s var(--ease)}
.js .deal .c1{--fx:30%;transition-delay:.35s}.js .deal .c2{--fx:-30%;transition-delay:.5s}.js .deal .c3{--fx:0%;transition-delay:.65s}
@media (hover:hover) and (min-width:861px){
  .deal.is-dealt:hover .c1{transform:rotate(-10deg) translate(-8%,-2%)}
  .deal.is-dealt:hover .c2{transform:rotate(8deg) translate(8%,-4%)}
  .deal.is-dealt:hover .c3{transform:rotate(0deg) translateY(4%)}
}
.deal .wp-block-image figcaption{display:none}

/* ---------- Services (dark band) ---------- */
.services{background:var(--night);color:var(--paper)}
.services .eyebrow{color:var(--gold-lite)}
.services .title em{color:var(--gold-lite)}
.svc-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:clamp(32px,6vw,96px);align-items:start}
.svc-intro{position:sticky;top:calc(var(--head) + 40px)}
.svc-intro > * + *{margin-top:24px}
.svc-intro p:not(.eyebrow){color:#cdbfb1;max-width:40ch}
.svc-intro .wp-block-button__link{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.svc-intro .wp-block-button__link::before{background:var(--gold-lite)}
.svc-list{counter-reset:svc;border-top:1px solid rgba(246,240,232,.16)}
.svc-list .wp-block-details{counter-increment:svc;border-bottom:1px solid rgba(246,240,232,.16);margin:0}
.svc-list summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:58px 1fr 28px;align-items:center;gap:8px;padding:26px 0;
  font:400 clamp(24px,2.6vw,38px)/1.1 var(--display);transition:color .25s var(--ease),padding .3s var(--ease)}
.svc-list summary::-webkit-details-marker{display:none}
.svc-list summary::before{content:counter(svc,decimal-leading-zero);font:500 13px/1 var(--body);letter-spacing:.2em;color:var(--gold-lite);align-self:center}
.svc-list summary::after{content:"";width:16px;height:16px;justify-self:end;
  background:linear-gradient(currentColor,currentColor) center/100% 1.5px no-repeat,linear-gradient(currentColor,currentColor) center/1.5px 100% no-repeat;
  transition:transform .3s var(--ease)}
.svc-list details[open] summary::after{transform:rotate(135deg)}
.svc-list summary:hover{color:var(--gold-lite);padding-left:8px}
.svc-list .wp-block-details > :not(summary){padding:0 0 28px 66px;margin:0;color:#d9cdc0;max-width:60ch}
.svc-list .wp-block-details > p + p{padding-top:0;margin-top:-14px}
.svc-note{margin-top:28px !important;font-size:14.5px;color:#a99a8c}

/* ---------- Recent work rail ---------- */
.work-head{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap}
.work-head > div > * + *{margin-top:18px}
.rail-wrap{position:relative;width:100% !important;margin-top:clamp(36px,5vw,60px)}
.rail{display:grid !important;grid-auto-flow:column;grid-auto-columns:clamp(240px,27vw,380px);gap:clamp(14px,1.6vw,24px);
  overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;
  padding-inline:max(var(--gut),(100% - 1240px)/2) !important;scroll-padding-inline:max(var(--gut),(100% - 1240px)/2);width:100% !important;cursor:grab}
.rail::-webkit-scrollbar{display:none}
.rail.is-drag{cursor:grabbing;scroll-snap-type:none}
.rail .wp-block-image{margin:0;scroll-snap-align:start}
.rail .wp-block-image:nth-child(even){margin-top:56px}
.rail img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:3px;pointer-events:none;-webkit-user-drag:none}
.rail figcaption,.look figcaption{margin-top:12px;font-size:14.5px;color:var(--ink-2);display:flex;gap:10px;align-items:baseline}
.rail figcaption::before,.look figcaption::before{content:"";width:18px;height:1px;background:var(--gold);flex:none;transform:translateY(-4px)}
.rail-ctrl{display:flex;gap:10px}
.rail-ctrl button{width:52px;height:52px;border-radius:50%;border:1px solid var(--line);background:transparent;cursor:pointer;color:var(--ink);
  display:grid;place-items:center;transition:background-color .2s,color .2s,border-color .2s,transform .2s var(--ease)}
.rail-ctrl button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5}
.rail-ctrl button:hover:not(:disabled){background:var(--ink);color:var(--paper);border-color:var(--ink)}
.rail-ctrl button:active{transform:scale(.94)}
.rail-ctrl button:disabled{opacity:.35;cursor:default}
.rail-bar{height:1px;background:var(--line);margin-top:34px !important;position:relative;overflow:hidden}
.rail-bar i{position:absolute;inset:0;background:var(--gold);transform-origin:left;transform:scaleX(var(--p,.2));transition:transform .15s linear}

/* ---------- Reviews ---------- */
.reviews{background:var(--paper-2)}
.rev-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr);gap:clamp(32px,6vw,96px);align-items:start}
.rev-photo{position:sticky;top:calc(var(--head) + 40px)}
.rev-photo .wp-block-image{margin:0}
.rev-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 25%;border-radius:3px}
.rev-photo figcaption{margin-top:12px;font-size:14px;color:var(--ink-2)}
.rev-body > * + *{margin-top:28px}
.q-feature{position:relative;padding:0 0 0 clamp(0px,3vw,40px) !important;border:0 !important;margin:44px 0 0 !important}
.q-feature::before{content:"\201C";position:absolute;left:-.08em;top:-.42em;font:400 clamp(110px,12vw,180px)/1 var(--display);color:var(--gold);opacity:.35;pointer-events:none}
.q-feature p{font:400 italic clamp(28px,3.4vw,50px)/1.12 var(--display);letter-spacing:-.01em}
.q-feature cite,.q-list cite{display:block;margin-top:18px;font:500 13px/1.4 var(--body);letter-spacing:.14em;text-transform:uppercase;font-style:normal;color:var(--gold-ink)}
.q-list{display:grid;grid-template-columns:1fr 1fr;gap:0 clamp(24px,3vw,48px);margin-top:44px !important}
.q-list .wp-block-quote{border:0;border-top:1px solid var(--line);margin:0;padding:24px 0 28px}
.q-list .wp-block-quote:nth-child(even){transform:translateY(40px)}
.js .q-list .wp-block-quote.rv:nth-child(even){transform:translateY(66px)}
.js .q-list .wp-block-quote.rv.is-in:nth-child(even){transform:translateY(40px)}
.q-list p{font:400 clamp(18px,1.5vw,21px)/1.45 var(--display)}
.q-list cite{font-size:12px;margin-top:14px}
.rev-cta{margin-top:84px !important}

/* ---------- Visit ---------- */
.visit-media{display:grid;gap:18px}
.visit-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(32px,6vw,96px);align-items:start}
.visit-info > * + *{margin-top:26px}
.addr{font:400 clamp(24px,2.4vw,32px)/1.25 var(--display)}
.addr a{text-decoration:none;background:linear-gradient(var(--gold),var(--gold)) 0 100%/0 1px no-repeat;transition:background-size .35s var(--ease)}
.addr a:hover{background-size:100% 1px}
.hours{margin:0}
.hours table{width:100%;border-collapse:collapse;font-size:16px}
.hours table,.hours td,.hours th{border:0}
.hours td{padding:13px 0;border:0;border-bottom:1px solid var(--line);transition:color .3s,padding .3s var(--ease)}
.hours tr:first-child td{border-top:1px solid var(--line)}
.hours td:last-child{text-align:right;font-variant-numeric:tabular-nums}
.hours tr.is-today td{color:var(--ink);font-weight:500}
.hours tr.is-today td:first-child{padding-left:16px;position:relative}
.hours tr.is-today td:first-child::before{content:"";position:absolute;left:0;top:50%;width:7px;height:7px;margin-top:-3.5px;border-radius:50%;background:var(--gold)}
.hours tr:not(.is-today) td{color:var(--ink-2)}
.live{font-size:15px;color:var(--ink-2)}
.live b{color:var(--ink);font-weight:500}
.map{position:relative;border-radius:4px;overflow:hidden;background:var(--paper-3);aspect-ratio:4/5}
.map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(.85) sepia(.18) contrast(1.02)}
.map:hover iframe{filter:none}
.map iframe{transition:filter .5s var(--ease)}
.store{margin:0}
.store img{width:100%;aspect-ratio:3/2;object-fit:cover;object-position:50% 18%;border-radius:3px}

/* ---------- Lookbook (Haircut examples) ---------- */
.look-intro{padding-block:clamp(40px,7vw,96px) clamp(28px,4vw,48px)}
.look-intro-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:clamp(24px,5vw,80px);align-items:end}
.look-intro-grid > div > * + *{margin-top:22px}
.look-title{font:400 clamp(58px,10vw,156px)/.88 var(--display);letter-spacing:-.03em}
.look-title em{font-style:italic;color:var(--gold-ink)}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-top:clamp(28px,4vw,44px) !important}
.filters button{font:500 14px/1 var(--body);letter-spacing:.04em;padding:11px 18px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer;
  transition:background-color .2s var(--ease),color .2s,border-color .2s,transform .2s var(--ease)}
.filters button:hover{border-color:var(--ink)}
.filters button[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.filters button:active{transform:scale(.96)}
.filters sup{font-size:10px;margin-left:4px;opacity:.6}
.look-sec{padding-bottom:clamp(64px,8vw,120px)}
.look{display:grid !important;grid-template-columns:repeat(12,1fr);gap:clamp(12px,1.6vw,22px);grid-auto-flow:dense}
.look .wp-block-image{margin:0;grid-column:span 4;cursor:zoom-in;position:relative}
.look .wp-block-image.wide{grid-column:span 5}
.look .wp-block-image.narrow{grid-column:span 3}
.look .wp-block-image.drop{margin-top:clamp(0px,5vw,72px)}
.look .wp-block-image .frame{overflow:hidden;border-radius:3px;position:relative;background:var(--paper-3)}
.look img{width:100%;aspect-ratio:3/4;object-fit:cover;transition:transform .7s var(--ease-out),filter .4s}
.look .wp-block-image:hover img{transform:scale(1.045)}
.look .wp-block-image::after{content:"";position:absolute;top:14px;right:14px;width:40px;height:40px;border-radius:50%;
  background:rgba(246,240,232,.92) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231c1613' stroke-width='1.6'%3E%3Ccircle cx='11' cy='11' r='6'/%3E%3Cpath d='M20 20l-4.5-4.5M11 8.5v5M8.5 11h5'/%3E%3C/svg%3E") center/20px no-repeat;
  opacity:0;transform:scale(.7);transition:opacity .25s var(--ease),transform .3s var(--ease-out);pointer-events:none}
.look .wp-block-image:hover::after,.look .wp-block-image:focus-within::after{opacity:1;transform:none}
.look .wp-block-image.is-out{display:none}
.look-cta{background:var(--night);color:var(--paper);text-align:center}
.look-cta > * + *{margin-top:24px}
.look-cta .title em{color:var(--gold-lite)}
.look-cta p:not(.eyebrow){color:#cdbfb1;max-width:52ch;margin-inline:auto}
.look-cta .eyebrow{justify-content:center;color:var(--gold-lite)}
.look-cta .wp-block-buttons{justify-content:center}
.look-cta .wp-block-button__link{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.look-cta .wp-block-button__link::before{background:var(--gold-lite)}
.look-cta .is-line .wp-block-button__link{background:transparent;color:var(--paper);border-color:rgba(246,240,232,.4)}
.look-cta .is-line .wp-block-button__link::before{background:var(--paper)}
.look-cta .is-line .wp-block-button__link:hover{color:var(--ink)}

/* ---------- Lightbox ---------- */
.lb{position:fixed;inset:0;z-index:100;background:rgba(20,16,14,.94);display:grid;grid-template-columns:72px 1fr 72px;align-items:center;
  opacity:0;transition:opacity .3s var(--ease)}
.lb[hidden]{display:none}
.lb.is-open{opacity:1}
.lb-fig{margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;height:100dvh;padding:56px 0 24px}
.lb-fig img{max-height:calc(100dvh - 130px);max-width:100%;width:auto;object-fit:contain;border-radius:3px;
  transform:scale(.94);opacity:0;transition:transform .45s var(--ease-out),opacity .3s var(--ease)}
.lb.is-open .lb-fig img.is-ready{transform:none;opacity:1}
.lb figcaption{margin-top:16px;color:#e8ddd1;font-size:15px;display:flex;gap:18px;align-items:baseline}
.lb-count{font-size:12px;letter-spacing:.2em;color:var(--gold-lite)}
.lb button{background:none;border:0;color:#f6f0e8;cursor:pointer}
.lb-nav{width:56px;height:56px;border-radius:50%;justify-self:center;display:grid;place-items:center;border:1px solid rgba(246,240,232,.25) !important;transition:background-color .2s,transform .2s var(--ease)}
.lb-nav svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5}
.lb-nav:hover{background:rgba(246,240,232,.12)}
.lb-nav:active{transform:scale(.92)}
.lb-close{position:absolute;top:14px;right:14px;width:48px;height:48px;z-index:2}
.lb-close span{position:absolute;left:13px;right:13px;top:23px;height:1.5px;background:currentColor;transition:transform .3s var(--ease)}
.lb-close span:first-child{transform:rotate(45deg)}.lb-close span:last-child{transform:rotate(-45deg)}
.lb-close:hover span:first-child{transform:rotate(135deg)}.lb-close:hover span:last-child{transform:rotate(45deg)}
@media (max-width:700px){
  .lb{grid-template-columns:1fr}
  .lb-nav{position:absolute;bottom:20px;width:48px;height:48px}
  .lb-prev{left:calc(50% - 60px)}.lb-next{right:calc(50% - 60px)}
  .lb-fig{padding:60px 12px 90px}
  .lb-fig img{max-height:calc(100dvh - 190px)}
}

/* ---------- Footer ---------- */
.site-foot{background:var(--night);color:#d9cdc0;padding-top:clamp(56px,7vw,96px);position:relative;z-index:41}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px}
.foot-grid p{font-size:15.5px;margin-top:10px}
.foot-grid a{text-decoration:none;transition:color .2s}
.foot-grid a:hover{color:var(--gold-lite)}
.site-foot .mark-top{color:var(--gold-lite)}
.site-foot .mark-main{color:var(--paper);font-size:30px}
.site-foot .mark-main em{color:var(--gold-lite)}
.foot-h{font:500 12px/1 var(--body);letter-spacing:.28em;text-transform:uppercase;color:var(--gold-lite);margin-bottom:6px}
.foot-nav{list-style:none;margin-top:10px}
.foot-nav li{margin:0 0 6px}
.foot-nav a{font-size:15.5px}
.credit{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:1px solid rgba(246,240,232,.12);margin-top:clamp(44px,6vw,72px);padding:22px 0 26px;font-size:13px;color:#a99a8c}
.credit a{color:#e8ddd1;text-decoration:underline;text-decoration-color:rgba(212,171,98,.6);text-underline-offset:3px;transition:color .2s,text-decoration-color .2s}
.credit a:hover{color:var(--gold-lite);text-decoration-color:var(--gold-lite)}

/* ---------- Responsive ---------- */
@media (max-width:960px){
  .opening-grid,.svc-grid,.rev-grid,.visit-grid,.look-intro-grid{grid-template-columns:1fr}
  .deal{justify-self:center;max-width:440px;margin-top:8px}
  .svc-intro,.rev-photo{position:static}
  .rev-photo img{aspect-ratio:4/3}
  .foot-grid{grid-template-columns:1fr 1fr}
  .foot-brand{grid-column:1/-1}
  .look .wp-block-image,.look .wp-block-image.wide,.look .wp-block-image.narrow{grid-column:span 6}
  .look .wp-block-image.drop{margin-top:0}
  .look .wp-block-image:nth-child(even){margin-top:40px}
  .map{aspect-ratio:4/3}
}
@media (max-width:600px){
  .q-list{grid-template-columns:1fr}
  .q-list .wp-block-quote:nth-child(even),.js .q-list .wp-block-quote.rv.is-in:nth-child(even){transform:none}
  .js .q-list .wp-block-quote.rv:nth-child(even){transform:translateY(26px)}
  .rev-cta{margin-top:36px !important}
  .rail .wp-block-image:nth-child(even){margin-top:32px}
  .rail{grid-auto-columns:72vw}
  .foot-grid{grid-template-columns:1fr}
  .credit{flex-direction:column}
  .svc-list summary{grid-template-columns:40px 1fr 22px;padding:20px 0}
  .svc-list .wp-block-details > :not(summary){padding-left:48px}
  .wp-block-buttons .wp-block-button{flex:1 1 auto}
  .wp-block-button__link{justify-content:center;width:100%}
  .look{gap:10px}
  .look .wp-block-image:nth-child(even){margin-top:28px}
  .look figcaption{font-size:13px}
  .look figcaption::before{display:none}
}

/* ---------- Reduced motion: everything visible, nothing moves ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none !important;transition-duration:.01ms !important;transition-delay:0ms !important;scroll-behavior:auto !important}
  .js .rv,.js .pop,.js .pop img,.js .deal .wp-block-image,.js .masthead.split .w > span,.js .stars svg{opacity:1 !important;transform:none !important;clip-path:none !important}
  .js .deal .c1{transform:rotate(-6deg) !important}.js .deal .c2{transform:rotate(4deg) !important}.js .deal .c3{transform:rotate(-1.5deg) !important}
  .strand{display:none !important}
}
