@font-face{font-family:"Barlow Condensed";src:url("assets/fonts/barlow-condensed-latin-700-normal.woff2") format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url("assets/fonts/barlow-condensed-latin-800-normal.woff2") format("woff2");font-weight:800;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url("assets/fonts/barlow-condensed-latin-900-normal.woff2") format("woff2");font-weight:900;font-display:swap}
@font-face{font-family:"DM Sans";src:url("assets/fonts/dm-sans-latin-400-normal.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"DM Sans";src:url("assets/fonts/dm-sans-latin-500-normal.woff2") format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"DM Sans";src:url("assets/fonts/dm-sans-latin-600-normal.woff2") format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"DM Sans";src:url("assets/fonts/dm-sans-latin-700-normal.woff2") format("woff2");font-weight:700;font-display:swap}
:root{--sc-canvas:#151512;--sc-surface:#1d1d19;--sc-ink:#f2eee4;--sc-ink-soft:#c7c2b6;--sc-accent:#d9a957;--sc-accent-ink:#161611;--sc-font-display:"Barlow Condensed","Arial Narrow",Impact,sans-serif;--sc-font-text:"DM Sans",Arial,sans-serif;--sc-gutter:clamp(1.25rem,4.4vw,5rem);--sc-section:clamp(5rem,8vw,9rem);--paper:#ece8de;--ink:#171715}
*{box-sizing:border-box}html{scroll-padding-top:78px;scroll-behavior:smooth}body{margin:0;background:var(--sc-canvas);color:var(--sc-ink);font-family:var(--sc-font-text);overflow-x:hidden}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit}h1,h2,h3,p,figure{margin:0}em{font-style:normal;color:var(--sc-accent)}::selection{background:var(--sc-accent);color:var(--ink)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,[tabindex="0"]:focus-visible{outline:3px solid var(--sc-accent);outline-offset:4px}.skip-link{position:fixed;z-index:1000;top:-80px;left:1rem;background:var(--sc-accent);color:var(--ink);padding:.7rem 1rem}.skip-link:focus{top:1rem}
.masthead{position:fixed;z-index:100;top:0;left:0;right:0;height:78px;padding:0 var(--sc-gutter);display:flex;align-items:center;justify-content:space-between;gap:1rem;background:rgba(17,17,15,.9);border-bottom:1px solid rgba(255,255,255,.15);backdrop-filter:blur(16px);animation:header-in .7s both}.brand{text-decoration:none;display:flex;align-items:center;gap:.7rem;min-width:170px}.brand img{width:42px;height:42px;object-fit:cover;border-radius:50%;border:1px solid var(--sc-accent)}.brand>span{display:block;font:800 1.25rem/.78 var(--sc-font-display);letter-spacing:.06em}.brand b{color:var(--sc-accent)}.brand small{display:block;font:700 .48rem/1 var(--sc-font-text);letter-spacing:.16em;margin-top:.4rem;color:#beb8aa}.main-nav{display:flex;align-items:center;gap:clamp(.7rem,2.3vw,2.6rem)}.main-nav a{text-decoration:none;text-transform:uppercase;font-size:.64rem;letter-spacing:.14em;font-weight:700;white-space:nowrap;position:relative;padding:.5rem 0}.main-nav a::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--sc-accent);transform:scaleX(0);transform-origin:right;transition:transform .3s}.main-nav a:hover::after{transform:scaleX(1);transform-origin:left}.header-cta{background:var(--sc-accent);color:var(--ink);text-decoration:none;text-transform:uppercase;font-size:.65rem;font-weight:700;letter-spacing:.12em;min-height:43px;padding:0 1rem;display:flex;align-items:center;gap:1.3rem;white-space:nowrap;transition:background .25s,transform .25s}.header-cta:hover{background:#ecc583;transform:translateY(-2px)}.header-cta span{font-size:1rem}.menu-toggle{display:none;background:transparent;border:0;padding:.6rem}.menu-toggle span{display:block;width:25px;height:2px;background:#eee;margin:5px}.mobile-nav{position:fixed;z-index:99;top:78px;left:0;right:0;background:#1b1b17;padding:1.3rem var(--sc-gutter);box-shadow:0 10px 30px #0008}.mobile-nav a{display:block;text-decoration:none;text-transform:uppercase;font:800 1.7rem/1 var(--sc-font-display);padding:.65rem 0}.mobile-nav[hidden]{display:none}
.eyebrow{font-size:.66rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--sc-accent)}.eyebrow__line{display:inline-block;width:28px;height:1px;background:currentColor;vertical-align:middle;margin-right:.6rem}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:2.5rem;min-height:56px;padding:0 1.3rem;text-decoration:none;text-transform:uppercase;font-size:.7rem;font-weight:700;letter-spacing:.13em;border:1px solid transparent;transition:transform .26s,background .26s,color .26s}.button span{font-size:1.2rem;font-weight:400;transition:transform .26s}.button:hover{transform:translateY(-3px)}.button:hover span{transform:translate(3px,-3px)}.button--gold{background:var(--sc-accent);color:var(--ink)}.button--gold:hover{background:#eec484}.button--quiet{border-color:#9c9687;color:var(--sc-ink);background:rgba(0,0,0,.12)}.button--quiet:hover{background:#eee;color:var(--ink)}.inline-link{display:inline-flex;align-items:center;gap:2rem;text-decoration:none;text-transform:uppercase;font-size:.72rem;font-weight:700;letter-spacing:.13em;border-bottom:1px solid currentColor;padding-bottom:.55rem}.inline-link span{transition:transform .25s}.inline-link:hover span{transform:translate(4px,-3px)}
.hero{min-height:min(900px,100svh);padding-top:78px;position:relative;isolation:isolate;overflow:hidden;background:#111}.hero__image{position:absolute;z-index:-2;inset:0 0 0 32%;overflow:hidden}.hero__image img{width:100%;height:100%;object-fit:cover;object-position:center 34%;animation:hero-image 17s ease-out both}.hero::before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,#111 0%,#111 24%,rgba(17,17,17,.92) 40%,rgba(17,17,17,.35) 73%,rgba(17,17,17,.18) 100%),linear-gradient(0deg,#111 0%,transparent 25%)}.hero__content{padding:clamp(5rem,12vh,10rem) var(--sc-gutter) 6rem;max-width:1000px}.hero h1{font:900 clamp(5.2rem,10.5vw,11.5rem)/.78 var(--sc-font-display);letter-spacing:-.035em;margin:2rem 0 2.3rem;text-wrap:balance}.hero h1 em{font-family:Georgia,serif;font-size:.71em;font-weight:400;font-style:italic;letter-spacing:-.055em;white-space:nowrap}.hero__content>p:not(.eyebrow){max-width:41ch;font-size:clamp(.97rem,1.45vw,1.15rem);line-height:1.6;color:#e4dfd4;margin-bottom:2rem}.hero__actions{display:flex;flex-wrap:wrap;gap:.7rem}.hero__bottom{position:absolute;bottom:0;left:0;right:0;min-height:47px;border-top:1px solid #ffffff38;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0 var(--sc-gutter);font-size:.6rem;font-weight:700;letter-spacing:.22em}
.section-heading{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(250px,.5fr);align-items:end;gap:0 3rem;margin:0 0 3.5rem}.section-heading .eyebrow{grid-column:1/-1;margin-bottom:1.8rem}.section-heading h2{font:900 clamp(4.4rem,8.4vw,9rem)/.78 var(--sc-font-display);letter-spacing:-.035em;color:var(--ink)}.section-heading h2 em{font-family:Georgia,serif;font-size:.65em;font-weight:400;font-style:italic;letter-spacing:-.06em;color:#a07331}.section-heading>p:last-child{max-width:34ch;font-size:1rem;line-height:1.7;color:#57544d;padding-bottom:.2rem}.section-heading--light h2{color:var(--sc-ink)}.section-heading--light>p:last-child{color:#c8c2b4}.section-heading--light h2 em{color:var(--sc-accent)}
.space{background:var(--paper);color:var(--ink);padding:var(--sc-section) var(--sc-gutter)}.space .eyebrow,.team .eyebrow{color:#986d31}.space__layout{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(260px,.7fr);gap:1rem}.space__photo{height:clamp(360px,52vw,690px);overflow:hidden;background:#2a2a26}.space__photo img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform 1s}.space__photo:hover img{transform:scale(1.025)}.space__side{background:#d7ae68;color:#191814;padding:clamp(2rem,3vw,4rem);display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:3rem}.space__accent{font:900 clamp(6rem,12vw,12rem)/.8 var(--sc-font-display);letter-spacing:-.14em;position:relative}.space__accent svg{position:absolute;top:-1.2rem;right:-2.4rem;width:3rem;height:3rem;fill:none;stroke:currentColor;stroke-width:3.5;stroke-linecap:round;animation:accent-spin 24s linear infinite}.space__side p{font:400 clamp(1.35rem,2vw,2rem)/1.22 Georgia,serif;max-width:17ch}.space__address{display:flex;justify-content:space-between;gap:1.5rem;align-items:center;border-bottom:1px solid #b5afa4;padding:1.5rem 0 .5rem}.space__address>span{font-size:.65rem;letter-spacing:.16em;font-weight:700}.space__address strong{font-size:.9rem}.space__address strong span{color:#a07331}
.services{background:#1a1a17;padding:var(--sc-section) var(--sc-gutter);color:var(--sc-ink)}.services__layout{display:grid;grid-template-columns:minmax(320px,.88fr) minmax(0,1.12fr);gap:clamp(2rem,5vw,6rem);align-items:stretch}.services__menu{display:flex;flex-direction:column;border-top:1px solid #5a574f}.service-option{color:#b9b4a9;background:transparent;border:0;border-bottom:1px solid #5a574f;min-height:92px;width:100%;display:grid;grid-template-columns:2rem 1fr 2rem;align-items:center;gap:1.2rem;text-align:left;position:relative;padding:.6rem .8rem .6rem 0;transition:color .25s,padding .25s,background .25s}.service-option::before{content:"";position:absolute;left:0;bottom:-1px;width:100%;height:2px;background:var(--sc-accent);transform:scaleX(0);transform-origin:left;transition:transform .4s}.service-option:hover,.service-option.is-active{color:var(--sc-ink);padding-left:.5rem;background:#ffffff08}.service-option.is-active::before{transform:scaleX(1)}.service-option>span{font-size:.65rem;letter-spacing:.14em;color:var(--sc-accent);font-weight:700}.service-option strong{font:700 clamp(1.8rem,3vw,3rem)/.9 var(--sc-font-display);text-transform:uppercase}.service-option i{font-style:normal;font-size:1.3rem;opacity:.3;transition:opacity .25s,transform .25s}.service-option:hover i,.service-option.is-active i{opacity:1;transform:translate(3px,-3px)}.services__controls{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-top:1.7rem}.services__controls>span{font-size:.66rem;font-weight:700;letter-spacing:.18em;color:var(--sc-accent)}.services__controls>div{display:flex;gap:.5rem}.services__controls button,.calendar__arrows button{width:48px;height:48px;display:grid;place-items:center;border:1px solid #756f62;background:transparent;color:var(--sc-ink);font-size:1.3rem;transition:background .25s,color .25s,transform .25s}.services__controls button:hover:not(:disabled),.calendar__arrows button:hover:not(:disabled){background:var(--sc-accent);color:var(--ink);transform:translateY(-2px)}button:disabled{opacity:.35;cursor:not-allowed}.service-panel{min-height:485px;display:grid;grid-template-columns:49% 51%;background:#2d2c27;overflow:hidden}.service-panel__photo{min-height:485px;overflow:hidden;background:#272620}.service-panel__photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .7s,opacity .28s}.service-panel:hover .service-panel__photo img{transform:scale(1.045)}.service-panel__body{padding:clamp(1.5rem,3vw,3.3rem);display:flex;flex-direction:column;align-items:start;justify-content:center}.service-panel__body>span{font-size:.62rem;letter-spacing:.15em;font-weight:700;color:var(--sc-accent)}.service-panel h3{font:800 clamp(2.7rem,4vw,5rem)/.86 var(--sc-font-display);text-transform:uppercase;margin:1.4rem 0}.service-panel p{font-size:.91rem;line-height:1.65;color:#d3cec4;max-width:29ch;margin-bottom:2rem}.service-panel button{border:0;border-bottom:1px solid var(--sc-accent);background:none;color:var(--sc-accent);padding:.5rem 0;text-transform:uppercase;font-size:.67rem;font-weight:700;letter-spacing:.12em;display:inline-flex;gap:1.4rem;align-items:center}.service-panel button span{font-size:1.2rem;transition:transform .25s}.service-panel button:hover span{transform:translate(3px,-3px)}.service-panel.is-changing .service-panel__body>*{animation:panel-in .45s both}.service-panel.is-changing .service-panel__photo img{animation:photo-in .55s both}
.craft{background:#d5a85f;color:#1a1916;display:grid;grid-template-columns:40% 60%;min-height:550px;overflow:hidden}.craft__image{max-height:650px;overflow:hidden}.craft__image img{width:100%;height:100%;object-fit:cover}.craft__copy{padding:clamp(3rem,7vw,7rem);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.craft__copy .eyebrow{color:#392812}.craft__copy p{font:900 clamp(4rem,7vw,8rem)/.78 var(--sc-font-display);letter-spacing:-.035em;margin:2rem 0 3rem}.craft__copy p em{color:#1a1916;font-family:Georgia,serif;font-size:.62em;font-weight:400;font-style:italic}.craft__copy .inline-link{color:#1a1916}
.team{background:var(--paper);color:var(--ink);padding:var(--sc-section) var(--sc-gutter)}.team__layout{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);gap:clamp(1rem,5vw,5rem);align-items:stretch}.team__photo{position:relative;overflow:hidden;max-height:660px;background:#222}.team__photo img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;transition:transform .8s}.team__photo:hover img{transform:scale(1.025)}.team__photo figcaption{position:absolute;left:1rem;bottom:1rem;background:#171715;color:var(--sc-ink);padding:.65rem .9rem;font-size:.6rem;letter-spacing:.16em;font-weight:700}.team__options{border-top:1px solid #a9a49a;display:flex;flex-direction:column;justify-content:stretch}.barber-option{flex:1;min-height:92px;border:0;border-bottom:1px solid #a9a49a;background:transparent;color:var(--ink);text-align:left;display:grid;grid-template-columns:1fr auto;align-items:center;position:relative;padding:.6rem 1.1rem .6rem 0;transition:padding .25s,background .25s}.barber-option::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#aa792f;transform:scaleY(0);transition:transform .3s}.barber-option:hover,.barber-option.is-selected{padding-left:1rem;background:#d6cbb5}.barber-option.is-selected::before{transform:scaleY(1)}.barber-option span{grid-column:1;font-size:.61rem;letter-spacing:.17em;font-weight:700;color:#8a662e;align-self:end}.barber-option strong{grid-column:1;font:800 clamp(1.75rem,3.2vw,3.1rem)/.92 var(--sc-font-display);text-transform:uppercase;align-self:start;margin-top:.3rem}.barber-option i{grid-column:2;grid-row:1/3;font-style:normal;font-size:1.3rem;transition:transform .25s}.barber-option:hover i{transform:translate(3px,-3px)}
.cases{background:#20201b;color:var(--sc-ink);padding:var(--sc-section) var(--sc-gutter)}.case-card{display:grid;grid-template-columns:40% 1fr auto;max-width:1200px;min-height:450px;color:var(--sc-ink);text-decoration:none;border:1px solid #5a564a;overflow:hidden;position:relative;transition:border-color .25s,transform .3s}.case-card:hover{border-color:var(--sc-accent);transform:translateY(-4px)}.case-card__image{height:450px;overflow:hidden}.case-card__image img{width:100%;height:100%;object-fit:cover;object-position:center 32%;transition:transform .8s}.case-card:hover .case-card__image img{transform:scale(1.05)}.case-card__copy{padding:clamp(2rem,5vw,5rem);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.case-card__copy>span:first-child{font-size:.63rem;letter-spacing:.2em;color:var(--sc-accent);font-weight:700}.case-card h3{font:800 clamp(3.3rem,6vw,6rem)/.84 var(--sc-font-display);max-width:11ch;margin:1.5rem 0}.case-card p{line-height:1.6;color:#c7c2b8;max-width:38ch;margin-bottom:2rem}.case-card__link{display:inline-flex;gap:2rem;align-items:center;border-bottom:1px solid var(--sc-accent);padding-bottom:.4rem;text-transform:uppercase;letter-spacing:.1em;font-size:.7rem;font-weight:700;color:var(--sc-accent)}.case-card__link b{font-size:1.25rem;font-weight:400;transition:transform .3s}.case-card:hover .case-card__link b{transform:translate(3px,-3px)}.case-card__number{font:800 5rem/.7 var(--sc-font-display);color:#d8a857;opacity:.22;padding:2rem}
.booking{background:#151512;color:var(--sc-ink);padding:var(--sc-section) var(--sc-gutter)}.booking__grid{display:grid;grid-template-columns:minmax(300px,.78fr) minmax(0,1.22fr);gap:clamp(2rem,5vw,6rem);align-items:start}.booking__fields{display:flex;flex-direction:column;align-items:stretch}.field{display:grid;gap:.6rem;margin-bottom:1.6rem}.field label{font-size:.65rem;text-transform:uppercase;letter-spacing:.18em;font-weight:700;color:var(--sc-accent)}.field select{width:100%;height:58px;border:1px solid #777368;border-radius:0;background:#24241e;color:var(--sc-ink);padding:0 3rem 0 1rem;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='12' viewBox='0 0 18 12'%3E%3Cpath d='m2 2 7 7 7-7' fill='none' stroke='%23d9a957' stroke-width='2'/%3E%3C/svg%3E");background-position:right 1rem center;background-repeat:no-repeat}.field option{background:#24241e}.booking__summary{border:1px solid #777368;padding:1.3rem;margin:.3rem 0 1.6rem;min-height:120px}.booking__summary span{font-size:.6rem;letter-spacing:.18em;color:var(--sc-accent);font-weight:700}.booking__summary strong{display:block;font:800 1.8rem/.95 var(--sc-font-display);text-transform:uppercase;margin:.8rem 0 .35rem}.booking__summary p{font-size:.79rem;color:#c8c2b6;line-height:1.5}.booking__submit{border:0;width:100%;min-height:60px}.booking__fine{font-size:.74rem;color:#c9c3b7;line-height:1.55;margin-top:1rem;max-width:48ch}.form-error{color:#ffd496;font-size:.8rem;font-weight:700;line-height:1.4;margin:-.7rem 0 1rem}.form-error[hidden]{display:none}
.calendar{background:#ece8de;color:var(--ink);padding:clamp(1.25rem,3vw,2.6rem);min-width:0}.calendar__top{display:flex;justify-content:space-between;gap:1rem;align-items:center}.calendar__top span{font-size:.62rem;letter-spacing:.17em;color:#80602d;font-weight:700}.calendar h3{font:800 clamp(2rem,3vw,3rem)/1 var(--sc-font-display);text-transform:uppercase;margin-top:.55rem}.calendar__arrows{display:flex;gap:.4rem}.calendar__arrows button{width:40px;height:40px;border-color:#9d9689;color:var(--ink)}.calendar__disclaimer{font-size:.71rem;color:#554b3b;margin:1.2rem 0 2rem}.calendar__weekdays,.calendar__days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem}.calendar__weekdays span{text-align:center;font-size:.62rem;font-weight:700;letter-spacing:.12em;color:#635c51;padding-bottom:.7rem}.calendar__days button,.calendar__days .calendar__empty{aspect-ratio:1/1;min-height:42px;border:1px solid #b7b0a3;background:transparent;color:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.1rem;transition:background .2s,color .2s,transform .2s}.calendar__days button:hover:not(:disabled){background:#d8c19d;transform:translateY(-2px)}.calendar__days button.is-selected{background:#181815;color:var(--sc-ink);border-color:#181815}.calendar__days button:disabled{border-color:#d7d1c4;color:#a9a296;cursor:not-allowed}.calendar__days button span{font-size:.93rem;font-weight:700}.calendar__days button small{font-size:.49rem;letter-spacing:.03em}.calendar__empty{border-color:transparent!important}.calendar__time-head{display:flex;justify-content:space-between;gap:.8rem;border-top:1px solid #aaa396;margin:2rem 0 1rem;padding-top:1.4rem;font-size:.58rem;letter-spacing:.13em;font-weight:700}.calendar__time-head strong{color:#7e5724}.calendar__time-head>span:last-child{color:#7d7567}.calendar__times{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;min-height:48px}.calendar__times p{grid-column:1/-1;color:#6b655b;font-size:.8rem}.calendar__times button{border:1px solid #aaa396;background:transparent;color:var(--ink);height:46px;font-size:.8rem;font-weight:700;transition:background .2s,color .2s,transform .2s}.calendar__times button:hover{background:#d8c19d;transform:translateY(-2px)}.calendar__times button.is-selected{background:#181815;color:var(--sc-ink);border-color:#181815}
.footer{background:#0e0e0d;padding:clamp(3rem,6vw,6rem) var(--sc-gutter) 1.5rem}.footer__main{display:grid;grid-template-columns:1.15fr .85fr 1fr;gap:clamp(2rem,5vw,6rem);padding-bottom:4rem}.footer__identity img{width:105px;height:105px;object-fit:cover;border-radius:50%;border:1px solid var(--sc-accent)}.footer__identity p{font:400 1.5rem/1.2 Georgia,serif;max-width:17ch;margin-top:1.4rem}.footer__contact>span,.footer__social>span{display:block;color:var(--sc-accent);font-size:.62rem;letter-spacing:.18em;font-weight:700;margin:0 0 1.2rem}.footer__contact p{font-size:.95rem;line-height:1.7;color:#ddd7ca;margin-bottom:2rem}.footer__contact a{display:inline-block;border-bottom:1px solid var(--sc-accent);padding-bottom:.3rem;text-decoration:none;color:var(--sc-accent);font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.footer__social a{display:flex;align-items:center;gap:.9rem;border-bottom:1px solid #4a4841;min-height:48px;text-decoration:none;font-size:.87rem;transition:color .2s,padding .2s}.footer__social a:hover{color:var(--sc-accent);padding-left:.3rem}.footer__social svg{width:20px;height:20px;fill:currentColor;flex:none}.footer__social a span{flex:1}.footer__social b{font-size:1.1rem;font-weight:400}.footer__bottom{border-top:1px solid #49473f;padding-top:1.5rem;display:flex;justify-content:space-between;gap:1rem;color:#aaa598;font-size:.6rem;font-weight:700;letter-spacing:.13em}.footer__bottom a{text-decoration:none}.footer__bottom a:hover{color:var(--sc-accent)}
@keyframes header-in{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes hero-image{from{transform:scale(1.06)}to{transform:scale(1)}}@keyframes accent-spin{to{transform:rotate(360deg)}}@keyframes panel-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes photo-in{from{opacity:.55;transform:scale(1.07)}to{opacity:1;transform:scale(1)}}
@media(max-width:1100px){.main-nav{gap:1rem}.main-nav a{font-size:.59rem}.hero h1{font-size:clamp(5rem,10vw,9rem)}.service-panel{grid-template-columns:46% 54%}.service-panel h3{font-size:3.2rem}}
@media(max-width:850px){.main-nav,.header-cta{display:none}.menu-toggle{display:block}.hero__image{left:18%}.hero::before{background:linear-gradient(90deg,#111 0%,rgba(17,17,17,.93) 28%,rgba(17,17,17,.5) 100%),linear-gradient(0deg,#111,transparent 30%)}.section-heading{grid-template-columns:1fr}.section-heading>p:last-child{margin-top:2rem}.services__layout{grid-template-columns:1fr;gap:2rem}.service-panel{min-height:360px}.service-panel__photo{min-height:360px}.space__layout{grid-template-columns:1fr}.space__side{min-height:240px}.space__accent{font-size:7rem}.team__layout{gap:2rem}.case-card{grid-template-columns:42% 1fr}.case-card__number{display:none}.booking__grid{grid-template-columns:1fr}.footer__main{grid-template-columns:1fr 1fr}.footer__identity{grid-column:1/-1}}
@media(max-width:600px){html{scroll-padding-top:66px}.masthead{height:66px}.mobile-nav{top:66px}.brand img{width:36px;height:36px}.brand>span{font-size:1.13rem}.hero{padding-top:66px;min-height:770px}.hero__image{inset:0;opacity:.42}.hero__image img{object-position:60% center}.hero::before{background:linear-gradient(0deg,#111 0%,rgba(17,17,17,.35) 50%,rgba(17,17,17,.83) 100%)}.hero__content{padding:6rem var(--sc-gutter) 7rem}.hero h1{font-size:clamp(4.5rem,17vw,6.8rem);margin:1.8rem 0 2rem}.hero h1 em{font-size:.65em}.hero__content>p:not(.eyebrow){font-size:.96rem}.hero__actions{align-items:stretch}.hero__actions .button{flex:1 1 100%;min-height:51px}.hero__bottom{font-size:.48rem;letter-spacing:.13em}.hero__bottom span:last-child{display:none}.section-heading{margin-bottom:2.2rem}.section-heading h2{font-size:clamp(4.3rem,14.5vw,6.3rem)}.section-heading>p:last-child{font-size:.94rem;margin-top:1.5rem}.space__photo{height:370px}.space__side{min-height:240px}.space__address{flex-direction:column;align-items:flex-start;gap:.7rem}.services__menu{border-top:1px solid #5a574f}.service-option{min-height:72px}.service-option strong{font-size:2rem}.service-panel{grid-template-columns:42% 58%;min-height:320px}.service-panel__photo{min-height:320px}.service-panel__body{padding:1.3rem}.service-panel h3{font-size:2.8rem;margin:.9rem 0}.service-panel p{font-size:.8rem;margin-bottom:1.3rem}.service-panel button{font-size:.6rem;letter-spacing:.04em}.craft{grid-template-columns:1fr}.craft__image{height:350px}.craft__copy{padding:3.5rem var(--sc-gutter)}.craft__copy p{font-size:clamp(4rem,14vw,6rem)}.team__layout{grid-template-columns:1fr}.team__photo{max-height:570px}.barber-option{min-height:82px}.cases .section-heading h2{font-size:clamp(4rem,13vw,6rem)}.case-card{display:block}.case-card__image{height:380px}.case-card__copy{padding:2rem}.case-card h3{font-size:3.5rem}.calendar__times{grid-template-columns:repeat(3,1fr)}.footer__main{grid-template-columns:1fr;gap:2.5rem}.footer__identity{grid-column:auto}.footer__bottom{flex-wrap:wrap}.footer__bottom span:nth-child(2){display:none}}
@media(max-width:390px){.hero h1{font-size:4.3rem}.service-panel{display:block}.service-panel__photo{height:240px;min-height:0}.service-panel__body{min-height:260px}.calendar{padding:1rem}.calendar__days button{min-height:38px}.calendar__times{grid-template-columns:repeat(2,1fr)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.hero__image img,.service-panel__photo img,.space__photo img,.team__photo img,.case-card__image img{transform:none!important}}
.case-card__image{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.case-card__image img{min-width:0}.calendar h3{font-size:clamp(2rem,2.5vw,2.6rem)}
@media(max-width:600px){.craft{min-height:0}.craft__image{align-self:start}}

/* Testimonials, editorial work and the appointment demo */
.reviews{background:#d9cfbc;color:var(--ink);padding:var(--sc-section) var(--sc-gutter)}
.reviews__head{display:flex;justify-content:space-between;align-items:end;gap:2rem;padding-bottom:2.5rem;border-bottom:1px solid #918878}
.reviews h2,.location h2{font:900 clamp(4.4rem,8.4vw,9rem)/.78 var(--sc-font-display);letter-spacing:-.035em;margin-top:1.8rem}
.reviews h2 em,.location h2 em{font:italic 400 .65em Georgia,serif;letter-spacing:-.06em;color:#926826}
.reviews__rating{text-align:right;min-width:185px}.reviews__rating strong{display:block;font:800 clamp(3.5rem,5.5vw,6rem)/.82 var(--sc-font-display)}.reviews__rating strong span{font-size:.38em;color:#756d60}.reviews__stars,.review-card__stars{display:block;letter-spacing:.14em;color:#9a6b25}.reviews__rating p{font-size:.76rem;line-height:1.55;margin-top:.55rem}.reviews__rating small{color:#665e52;font-size:.68rem}
.reviews__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1rem}
.review-card{min-height:320px;display:flex;flex-direction:column;align-items:flex-start;text-decoration:none;color:var(--ink);background:#ebe5d9;padding:clamp(1.5rem,2.8vw,2.8rem);border:1px solid #b9ae9b;transition:transform .3s,background .3s,box-shadow .3s}.review-card:hover{transform:translateY(-5px);background:#f2eee5;box-shadow:0 16px 34px #6d604126}
.review-card blockquote{font:400 clamp(1.45rem,2vw,2.1rem)/1.2 Georgia,serif;margin:2rem 0;max-width:23ch}.review-card>div{margin-top:auto;width:100%;border-top:1px solid #b9ae9b;padding-top:1rem;display:flex;justify-content:space-between;align-items:center;gap:1rem}.review-card strong{font-size:.82rem}.review-card>div span{font-size:.57rem;letter-spacing:.09em;font-weight:700;color:#855c22;white-space:nowrap}
.team__layout{grid-template-columns:minmax(0,1.55fr) minmax(270px,.65fr);gap:clamp(1rem,3vw,3rem)}.team__photo{height:clamp(470px,43vw,590px);max-height:none}.team__photo img{object-position:center 44%}.team__photo figcaption{left:0;right:0;bottom:0;padding:.8rem 1rem;text-align:center;letter-spacing:.22em}
.case-card{grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);min-height:540px;max-width:none}.case-card__image{height:540px;gap:.6rem;padding:.6rem;background:#121210}.case-card__image figure{position:relative;overflow:hidden;min-width:0}.case-card__image figure:last-child{margin-top:3rem}.case-card__image img{display:block;width:100%;height:100%;object-fit:cover}.case-card__image figcaption{position:absolute;left:0;right:0;bottom:0;padding:.8rem;color:#fff;background:linear-gradient(transparent,#000b);font-size:.61rem;letter-spacing:.16em;font-weight:700}.case-card__copy{padding:clamp(2rem,4vw,4rem)}.case-card h3{font-size:clamp(3.8rem,5vw,6.5rem);max-width:12ch}.case-card p{max-width:34ch}
.field input{width:100%;height:58px;border:1px solid #777368;border-radius:0;background:#24241e;color:var(--sc-ink);padding:0 1rem}.field input::placeholder{color:#aaa598}.booking-confirmation{border:1px solid var(--sc-accent);background:#2b2a23;padding:1.5rem;margin-top:1.6rem;animation:panel-in .45s both}.booking-confirmation[hidden]{display:none}.booking-confirmation__label{font-size:.62rem;letter-spacing:.16em;font-weight:700;color:var(--sc-accent)}.booking-confirmation h3{font:800 2.6rem/.9 var(--sc-font-display);text-transform:uppercase;margin:1rem 0}.booking-confirmation p{font-size:.82rem;line-height:1.6;color:#e0dace;margin:.6rem 0}.booking-confirmation strong{display:block;color:var(--sc-accent);font-size:.79rem;margin-top:1rem}.booking-confirmation a{display:inline-block;text-decoration:none;border-bottom:1px solid var(--sc-accent);padding:.45rem 0;color:var(--sc-accent);font-size:.68rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;margin-top:.8rem}
.location{display:grid;grid-template-columns:minmax(320px,.75fr) minmax(0,1.25fr);background:#25241f;color:var(--sc-ink);min-height:530px}.location__copy{padding:var(--sc-section) var(--sc-gutter);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.location h2{font-size:clamp(4rem,6vw,7rem);margin:1.6rem 0 2rem}.location h2 em{color:var(--sc-accent)}.location__copy>p:not(.eyebrow){font-size:.98rem;line-height:1.6;color:#d7d0c3;max-width:31ch;margin-bottom:2rem}.location__map{min-height:530px;background:#d7d2c7}.location__map iframe{width:100%;height:100%;min-height:530px;border:0;filter:grayscale(.6) contrast(1.08)}
@media(max-width:950px){.reviews__grid{grid-template-columns:1fr 1fr}.review-card:last-child{grid-column:1/-1;min-height:230px}.team__layout{grid-template-columns:1fr}.team__photo{height:auto;aspect-ratio:1.5}.team__options{display:grid;grid-template-columns:1fr 1fr}.barber-option{min-height:86px}.location{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.reviews__head{align-items:start;flex-direction:column}.reviews__rating{text-align:left}.reviews__grid{grid-template-columns:1fr}.review-card,.review-card:last-child{grid-column:auto;min-height:230px}.review-card blockquote{margin:1.4rem 0}.team__photo{aspect-ratio:1.24}.team__photo figcaption{font-size:.52rem}.team__options{grid-template-columns:1fr}.case-card{display:block}.case-card__image{height:430px}.case-card__image figure:last-child{margin-top:2rem}.case-card h3{font-size:clamp(3.5rem,13vw,5.5rem)}.location{display:block}.location__copy{padding:5rem var(--sc-gutter)}.location__map,.location__map iframe{min-height:370px}}
.booking-confirmation__cancel{display:block;border:0;background:none;color:#c9c3b7;font-size:.7rem;text-decoration:underline;padding:.5rem 0;margin-top:1.1rem}
.booking__clear{align-self:flex-start;border:0;background:none;color:#aaa598;font-size:.68rem;text-decoration:underline;padding:.5rem 0;margin-top:.5rem}
.booking__fine a{color:var(--sc-accent);text-decoration:underline;text-underline-offset:3px}
.case-card__image figure{position:relative}.case-card__image figure img{position:absolute;left:0;top:-13%;width:100%;height:118%;object-fit:cover}.case-card__image figure:last-child img{top:-7%;height:112%}.case-card:hover .case-card__image img{transform:scale(1.025)}
.location__map{position:relative;overflow:hidden;isolation:isolate}.location__tiles{position:absolute;inset:0}.location__tiles img{position:absolute;width:256px;height:256px;max-width:none;filter:grayscale(.65) contrast(1.03)}.location__pin{position:absolute;z-index:2;left:50%;top:50%;width:28px;height:28px;background:#191815;border:4px solid var(--sc-accent);border-radius:50% 50% 50% 0;transform:translate(-50%,-100%) rotate(-45deg);box-shadow:0 5px 22px #0008;animation:map-pin-in .7s .3s both}.location__pin span{display:block;position:absolute;left:7px;top:7px;width:7px;height:7px;border-radius:50%;background:var(--sc-accent)}.location__map-label{position:absolute;z-index:2;left:calc(50% + 22px);top:calc(50% - 71px);background:#171715;color:#f2eee4;padding:.7rem .9rem;font:800 1.05rem/.95 var(--sc-font-display);letter-spacing:.03em;box-shadow:0 6px 22px #0004}.location__map-label small{font:700 .57rem/1.5 var(--sc-font-text);letter-spacing:.11em;color:var(--sc-accent)}.location__attribution{position:absolute;z-index:2;right:.5rem;bottom:.4rem;background:#fffffff0;color:#26231e;padding:.2rem .4rem;font-size:.58rem}.location__attribution a{color:inherit}@keyframes map-pin-in{from{opacity:0;transform:translate(-50%,-80%) rotate(-45deg) scale(.6)}to{opacity:1;transform:translate(-50%,-100%) rotate(-45deg) scale(1)}}
.location__pin{width:30px;height:30px;border:6px solid #171715;border-radius:50%;background:var(--sc-accent);transform:translate(-50%,-50%);box-shadow:0 0 0 7px #d9a95755,0 5px 22px #0008;animation:none}.location__pin span{display:none}
.footer__wordmark{font:900 clamp(3rem,5vw,5rem)/.78 var(--sc-font-display);letter-spacing:-.02em;white-space:nowrap}.footer__wordmark em{color:var(--sc-accent);font-style:normal}.footer__wordmark small{display:block;font:700 .63rem/1.2 var(--sc-font-text);letter-spacing:.25em;color:#bdb7aa;margin-top:.9rem}

/* Instagram publication gallery */
.instagram-profile{display:flex;align-items:center;justify-content:space-between;gap:1rem;border:1px solid #5a564a;border-bottom:0;padding:1rem 1.2rem;background:#292821}.instagram-profile__identity{display:flex;align-items:center;gap:.75rem}.instagram-profile__identity img{width:46px;height:46px;object-fit:cover;border-radius:50%;border:2px solid var(--sc-accent)}.instagram-profile__identity strong{display:block;font-size:.88rem}.instagram-profile__identity span{display:block;color:#b7b0a4;font-size:.55rem;letter-spacing:.17em;font-weight:700;margin-top:.2rem}.instagram-profile>a{color:var(--sc-accent);text-decoration:none;text-transform:uppercase;font-size:.66rem;letter-spacing:.1em;font-weight:700;white-space:nowrap}.instagram-profile>a:hover{text-decoration:underline}
.instagram-feed{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;background:#12120f;padding:.5rem;border:1px solid #5a564a}.instagram-post{position:relative;display:block;width:100%;aspect-ratio:1;border:0;background:#272620;color:#fff;overflow:hidden;text-align:left;padding:0;isolation:isolate}.instagram-post--featured{grid-column:span 2;grid-row:span 2}.instagram-post::after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,#0006 0%,transparent 32%,transparent 50%,#000b 100%)}.instagram-post img{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s,filter .4s}.instagram-post:hover img,.instagram-post:focus-visible img{transform:scale(1.055);filter:saturate(1.08)}.instagram-post__badge{position:absolute;top:.85rem;left:.85rem;background:#171715dd;color:#f2eee4;padding:.45rem .6rem;font-size:.56rem;letter-spacing:.13em;font-weight:700}.instagram-post__title{position:absolute;left:1rem;right:1rem;bottom:1rem;display:flex;align-items:end;justify-content:space-between;gap:.5rem;font:800 clamp(1.5rem,2.6vw,2.7rem)/.95 var(--sc-font-display);text-transform:uppercase;text-shadow:0 2px 12px #000b}.instagram-post--featured .instagram-post__title{font-size:clamp(3rem,5vw,5.5rem)}.instagram-post__title b{font:400 1.3rem/1 var(--sc-font-text);color:var(--sc-accent);transition:transform .25s}.instagram-post:hover .instagram-post__title b{transform:translate(3px,-3px)}.instagram-feed__note{font-size:.72rem;color:#b9b2a6;line-height:1.5;margin-top:1rem}.instagram-feed__note a{color:var(--sc-accent)}
.instagram-dialog{width:min(940px,calc(100vw - 2rem));max-width:none;max-height:calc(100dvh - 2rem);padding:0;border:1px solid #bca77f;background:#f2eee5;color:#181715;box-shadow:0 24px 80px #000b;overflow:auto}.instagram-dialog[open]{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(275px,.9fr)}.instagram-dialog::backdrop{background:#080807dc;backdrop-filter:blur(6px)}.instagram-dialog__close{position:absolute;z-index:5;right:.75rem;top:.75rem;width:40px;height:40px;border:0;background:#171715;color:#fff;font-size:1.7rem;line-height:1}.instagram-dialog__media{position:relative;min-height:560px;background:#161615;display:grid;place-items:center;overflow:hidden}.instagram-dialog__media img{display:block;width:100%;height:100%;max-height:calc(100dvh - 2rem);object-fit:contain}.instagram-dialog__slides{position:absolute;left:1rem;right:1rem;bottom:1rem;display:flex;align-items:center;justify-content:center;gap:1rem;background:#171715e8;color:#fff;width:max-content;margin:auto;padding:.35rem}.instagram-dialog__slides[hidden]{display:none}.instagram-dialog__slides button{width:35px;height:35px;border:0;background:#d9a957;color:#171715}.instagram-dialog__slides span{font-size:.7rem;font-weight:700;letter-spacing:.1em}.instagram-dialog__body{padding:clamp(2rem,4vw,4rem);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.instagram-dialog__body .eyebrow{color:#926826}.instagram-dialog h3{font:900 clamp(3rem,5vw,5rem)/.84 var(--sc-font-display);text-transform:uppercase;margin:1.8rem 0}.instagram-dialog__body>p:not(.eyebrow){font-size:.94rem;line-height:1.6;color:#47443d;max-width:31ch}.instagram-dialog__kind{font-size:.65rem!important;letter-spacing:.13em;text-transform:uppercase;font-weight:700;color:#8b672e!important;margin:1.5rem 0 2rem}.instagram-dialog .button{min-height:52px;gap:1rem;font-size:.64rem}
.service-panel[data-service="0"] .service-panel__photo{display:grid;place-items:center;background:#1c1b18}.service-panel[data-service="0"] .service-panel__photo img{width:88%;height:88%;object-fit:contain}.service-panel[data-service="0"]:hover .service-panel__photo img{transform:scale(1.025)}
.calendar-gate{background:#e8deca;color:#1c1a16;min-height:490px;padding:clamp(2rem,4vw,4rem);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;position:relative;overflow:hidden}.calendar-gate[hidden],.calendar[hidden]{display:none}.calendar-gate>span{font-size:.65rem;color:#856028;font-weight:700;letter-spacing:.18em}.calendar-gate__icon{position:absolute;right:-.5rem;top:-1rem;color:#bcae90;font:400 10rem/1 Georgia,serif;animation:accent-spin 30s linear infinite}.calendar-gate h3{font:900 clamp(3rem,4.5vw,5.5rem)/.86 var(--sc-font-display);max-width:12ch;margin:3rem 0 2rem}.calendar-gate p{max-width:32ch;font-size:.92rem;line-height:1.6;color:#625948}
@media(max-width:720px){.instagram-dialog[open]{display:block}.instagram-dialog__media{min-height:0;height:min(52dvh,440px)}.instagram-dialog__media img{max-height:100%;object-fit:contain}.instagram-dialog__body{padding:2rem}.instagram-dialog h3{margin:1.2rem 0}.instagram-dialog__kind{margin:1rem 0 1.5rem}.calendar-gate{min-height:300px}}
@media(max-width:560px){.instagram-feed{grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem;padding:.35rem}.instagram-post__badge{font-size:.48rem;top:.5rem;left:.5rem}.instagram-post__title{font-size:1.45rem;left:.6rem;right:.6rem;bottom:.6rem}.instagram-post--featured .instagram-post__title{font-size:3rem}.instagram-profile{padding:.8rem}.instagram-profile__identity img{width:38px;height:38px}.instagram-profile__identity strong{font-size:.75rem}.instagram-profile__identity span{font-size:.45rem}.instagram-profile>a{font-size:.56rem}.service-panel[data-service="0"] .service-panel__photo img{width:92%;height:92%}}

/* Compact production scale */
:root{--sc-section:clamp(3.5rem,6vw,6rem);--sc-gutter:clamp(1.2rem,4.4vw,5rem);--content-inline:var(--sc-gutter)}
.space,.services,.reviews,.team,.cases,.booking{padding-inline:var(--content-inline)}
.masthead{height:70px;padding-inline:var(--sc-gutter)}
.mobile-nav{top:70px}
.hero{height:clamp(590px,82svh,760px);min-height:0;padding-top:70px}
.hero__image{left:auto;right:0;width:68%}
.hero__image img{object-position:center 38%;animation:none}
.hero__content{max-width:none;padding:clamp(5rem,9vh,6.5rem) var(--content-inline) 4rem}
.hero h1{font-size:clamp(4.5rem,8vw,8rem);margin:1.25rem 0 1.5rem}
.hero__content>p:not(.eyebrow){font-size:1rem;max-width:38ch}
.section-heading{margin-bottom:2.2rem;gap:0 2rem}
.section-heading h2,.reviews h2{font-size:clamp(3.8rem,6.3vw,6.8rem)}
.section-heading>p:last-child{font-size:.94rem;line-height:1.55}
.space__photo{height:clamp(310px,34vw,460px)}
.space__photo:hover img,.team__photo:hover img{transform:scale(1.012)}
.space__side{padding:clamp(1.5rem,2.6vw,2.5rem);gap:1.5rem}
.space__accent{font-size:clamp(5rem,9vw,9rem)}
.space__side p{font-size:clamp(1.25rem,1.65vw,1.6rem)}
.space__address{padding:1rem 0 .45rem}
.services__layout{gap:clamp(1.5rem,3vw,3rem)}
.service-option{min-height:76px;grid-template-columns:minmax(0,1fr) auto}
.service-option strong{grid-column:1;font-size:clamp(1.65rem,2.4vw,2.3rem)}
.service-option i{grid-column:2}
.services__controls{justify-content:flex-end;padding-top:1rem}
.services__controls button{width:42px;height:42px}
.service-panel{grid-template-columns:38% 62%;height:clamp(380px,30vw,480px);min-height:0}
.service-panel__photo{height:100%;min-height:0}
.service-panel__body{padding:clamp(1.3rem,2.5vw,2.5rem)}
.service-panel h3{font-size:clamp(2.5rem,3.3vw,3.5rem);margin:1rem 0}
.service-panel p{margin-bottom:1.3rem}
.reviews__head{padding-bottom:1.8rem}
.review-card{min-height:260px;padding:clamp(1.3rem,2vw,2rem)}
.review-card blockquote{font-size:clamp(1.25rem,1.6vw,1.7rem);margin:1.3rem 0}
.team__photo{height:clamp(320px,34vw,460px)}
.barber-option{min-height:68px}
.barber-option strong{font-size:clamp(1.5rem,2.35vw,2.25rem)}
.instagram-profile,.instagram-feed,.instagram-feed__note{max-width:none;margin-inline:0}
.instagram-feed{grid-auto-rows:clamp(170px,18vw,255px)}
.instagram-post{aspect-ratio:auto}
.instagram-post__title{font-size:clamp(1.35rem,2.1vw,2rem)}
.instagram-post--featured .instagram-post__title{font-size:clamp(2.5rem,4vw,3.7rem)}
.booking__grid{gap:clamp(1.5rem,3vw,3rem)}
.field{margin-bottom:1.1rem}
.field select,.field input{height:52px}
.booking__summary{min-height:100px;margin-bottom:1.2rem}
.calendar-gate{min-height:390px}
.calendar-gate h3{font-size:clamp(2.7rem,3.6vw,4.2rem);margin:2rem 0 1rem}
.calendar__disclaimer{margin:1rem 0 1.4rem}
.location{width:100%;min-height:420px;margin-inline:0}
.location__copy{padding:3rem}
.location h2{font-size:clamp(3.4rem,5vw,5.4rem);margin:.2rem 0 1.5rem}
.location__map{min-height:420px}
.footer__main,.footer__bottom{max-width:none;margin-inline:0}
.footer__main{gap:2.5rem;padding-bottom:3rem}

@media(max-width:850px){
  .masthead{height:66px}.mobile-nav{top:66px}
  .hero{padding-top:66px}
  .hero__image{left:auto;right:0;width:62%}
  .section-heading{grid-template-columns:1fr}
  .section-heading>p:last-child{margin-top:1rem}
  .service-panel,.service-panel__photo{min-height:340px}
  .team__photo{height:auto;aspect-ratio:1.5}
  .booking__grid{grid-template-columns:1fr}
}
@media(max-width:650px){
  :root{--sc-section:3.5rem;--sc-gutter:1.2rem}
  .space,.services,.reviews,.team,.cases,.booking{padding-inline:var(--sc-gutter)}
  .masthead{padding-inline:var(--sc-gutter)}
  .hero{min-height:620px}
  .hero{height:auto}
  .hero__image{inset:0;width:auto;opacity:.32}
  .hero__image img{object-position:62% center}
  .hero__content{padding:5rem var(--sc-gutter) 5rem}
  .hero h1{font-size:clamp(3.7rem,14vw,5.1rem);margin:1.5rem 0}
  .hero__content>p:not(.eyebrow){font-size:.95rem;max-width:32ch}
  .hero__bottom{min-height:40px}
  .section-heading{margin-bottom:1.6rem}
  .section-heading h2,.reviews h2,.cases .section-heading h2{font-size:clamp(2.9rem,11vw,4.5rem)}
  .section-heading>p:last-child{font-size:.9rem;margin-top:.8rem}
  .space__photo{height:auto;aspect-ratio:16/9}
  .space__side{min-height:0;padding:1.5rem;gap:1.2rem}
  .space__accent{font-size:5rem}
  .space__side p{font-size:1.3rem}
  .space__address{gap:.5rem}
  .service-option{min-height:62px}
  .service-option strong{font-size:1.7rem}
  .services__controls{padding-top:.8rem}
  .service-panel{display:block;min-height:0}
  .service-panel__photo{height:230px;min-height:0}
  .service-panel__body{min-height:0;padding:1.5rem}
  .service-panel h3{font-size:2.5rem}
  .service-panel[data-service="0"] .service-panel__photo img{width:86%;height:86%}
  .reviews__head{gap:1rem}
  .reviews__grid{gap:.7rem}
  .review-card,.review-card:last-child{min-height:0;padding:1.4rem}
  .review-card blockquote{font-size:1.35rem}
  .team__layout{gap:1rem}
  .team__photo{height:auto;aspect-ratio:1.5}
  .team__photo img{object-position:center}
  .team__options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 .65rem}
  .barber-option{min-height:66px;padding:.5rem .4rem}
  .barber-option:first-child{grid-column:1/-1}
  .barber-option span{font-size:.48rem;letter-spacing:.1em}
  .barber-option strong{font-size:1.45rem}
  .barber-option i{font-size:1rem}
  .instagram-profile,.instagram-feed,.instagram-feed__note{max-width:100%}
  .instagram-feed{grid-template-columns:repeat(2,minmax(0,1fr))}
  .instagram-feed{grid-auto-rows:auto}
  .instagram-post{aspect-ratio:1}
  .instagram-post--featured{grid-column:auto;grid-row:auto}
  .instagram-post:last-child{grid-column:1/-1;aspect-ratio:2/1}
  .instagram-post__title,.instagram-post--featured .instagram-post__title{font-size:clamp(1.3rem,5vw,1.8rem)}
  .instagram-post__badge{font-size:.46rem}
  .booking__grid{gap:1rem}
  .calendar-gate{min-height:270px;padding:1.5rem}
  .calendar-gate h3{font-size:2.6rem;margin:1.5rem 0 1rem}
  .calendar{padding:1rem}
  .calendar__days,.calendar__weekdays{gap:.2rem}
  .calendar__days button{min-height:39px}
  .calendar__times{grid-template-columns:repeat(3,minmax(0,1fr))}
  .location{display:block;width:100%;min-height:0}
  .location__copy{padding:3.5rem var(--sc-gutter)}
  .location h2{font-size:clamp(3rem,11vw,4rem)}
  .location__map{min-height:300px}
  .footer__main{gap:2rem;padding-bottom:2rem}
}
@media(max-width:390px){
  .hero h1{font-size:clamp(3.3rem,13.5vw,4rem)}
  .calendar__times{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Verified Google reviews */
.review-card{gap:.8rem;min-height:250px}
.review-card__header{display:flex;align-items:center;gap:.8rem;width:100%;min-width:0}
.review-card__avatar{width:48px;height:48px;flex:none;display:grid;place-items:center;border-radius:50%;overflow:hidden;background:#fff;border:1px solid #c8bdac}
.review-card__avatar img{display:block;width:100%;height:100%;object-fit:cover}
.review-card__avatar--initial{background:#d9c9a8;color:#322619;border-color:#ad9468;font:800 1rem/1 var(--sc-font-text);letter-spacing:-.02em}
.review-card__identity{display:flex;flex-direction:column;gap:.2rem;min-width:0}
.review-card__identity strong{font-size:.86rem;line-height:1.2}
.review-card__identity small{font-size:.65rem;color:#716a60}
.review-card__stars{font-size:.82rem;margin-top:.4rem}
.review-card blockquote{margin:.2rem 0 1rem;font-size:clamp(1.2rem,1.5vw,1.55rem)}
.review-card__footer{display:flex;justify-content:space-between;align-items:center;gap:.75rem;width:100%;margin-top:auto;border-top:1px solid #b9ae9b;padding-top:.85rem;color:#855c22;text-transform:uppercase;font-size:.61rem;letter-spacing:.09em;font-weight:700}
.review-card__footer span{font-size:1.1rem;line-height:1;transition:transform .25s}
.review-card:hover .review-card__footer span{transform:translate(3px,-3px)}
@media(min-width:651px) and (max-width:950px){.review-card:last-child{grid-column:auto;min-height:250px}}
@media(max-width:650px){.review-card,.review-card:last-child{min-height:0}.review-card blockquote{font-size:1.25rem}}
.instagram-dialog__media video{position:absolute;inset:0;display:block;width:100%;height:100%;max-height:none;object-fit:contain;background:#101010}
.instagram-dialog__media img[hidden],.instagram-dialog__media video[hidden]{display:none}
@media(max-width:720px){.instagram-dialog__media video{max-height:100%}}

/* Keep complete compositions visible after the compact layout */
@media(min-width:851px){
  .hero{height:clamp(780px,100svh,1200px);display:flex;align-items:center}
  .hero__content{width:100%;padding-top:4rem;padding-bottom:6rem}
  .hero__image{-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 25%,#000 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 25%,#000 100%)}
  .hero::before{background:linear-gradient(90deg,#111 0%,#111 24%,rgba(17,17,17,.82) 43%,rgba(17,17,17,.25) 80%,rgba(17,17,17,.12) 100%),linear-gradient(0deg,#111 0%,transparent 22%)}
  .team__layout{grid-template-columns:minmax(0,1.35fr) minmax(280px,.85fr)}
}
.team__photo{height:min(40vw,560px);aspect-ratio:auto;max-height:none;display:flex;flex-direction:column}
.team__photo img{flex:1;min-height:0;height:calc(100% - 40px);object-fit:contain;object-position:center center}
.team__photo figcaption{position:static;min-height:40px;display:grid;place-items:center}
.space__photo img{object-fit:contain}
.service-panel__photo{background:#1c1b18}
.service-panel__photo img{object-fit:contain}
.service-panel[data-service="0"] .service-panel__photo{padding:12px;background:#171613}
.service-panel[data-service="0"] .service-panel__photo img{width:100%;height:100%;object-fit:cover;object-position:52% 45%;border:1px solid #a78959;box-shadow:0 0 0 4px #25231d}
.service-panel[data-service="0"]:hover .service-panel__photo img{transform:scale(1.018)}
@media(max-width:850px){.hero__image{-webkit-mask-image:none;mask-image:none}}
@media(max-width:950px){.team__photo{height:auto;aspect-ratio:3/2}}
@media(max-width:650px){
  .service-panel{display:grid;grid-template-columns:44% 56%;height:auto;min-height:310px}
  .service-panel__photo{height:310px;min-height:0}
  .service-panel__body{min-height:0;padding:1rem}
  .service-panel__body>span{font-size:.5rem;line-height:1.35}
  .service-panel h3{font-size:clamp(1.8rem,7vw,2.3rem);margin:.7rem 0}
  .service-panel p{font-size:.76rem;line-height:1.45;margin-bottom:.8rem}
  .service-panel button{font-size:.55rem;line-height:1.3;gap:.5rem}
  .service-panel[data-service="0"] .service-panel__photo{padding:8px}
  .service-panel[data-service="0"] .service-panel__photo img{width:100%;height:100%}
  .team__photo{height:auto;aspect-ratio:3/2}
}

/* A short two-column selection keeps the reviews readable on phones. */
@media(max-width:650px){
  .reviews__head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.7rem;padding-bottom:1.1rem}
  .reviews__head h2{font-size:clamp(2.5rem,10vw,3.7rem);margin-top:1rem}
  .reviews__rating{min-width:0;text-align:right}
  .reviews__rating strong{font-size:clamp(2.6rem,10vw,3.4rem)}
  .reviews__rating p{font-size:.62rem;margin-top:.3rem}
  .reviews__rating small{font-size:.55rem}
  .reviews__stars{font-size:.75rem}
  .reviews__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}
  .review-card:nth-child(3),.review-card:nth-child(6){display:none}
  .review-card,.review-card:last-child{min-height:0;padding:.85rem;gap:.5rem}
  .review-card__header{gap:.45rem;align-items:center}
  .review-card__avatar{width:31px;height:31px}
  .review-card__avatar--initial{font-size:.65rem}
  .review-card__identity strong{font-size:.68rem;line-height:1.08}
  .review-card__identity small{font-size:.53rem;line-height:1.2}
  .review-card__stars{font-size:.67rem;letter-spacing:.02em;margin:0}
  .review-card blockquote{font-size:clamp(.96rem,3.8vw,1.15rem);line-height:1.2;margin:.15rem 0 .5rem}
  .review-card__footer{font-size:.48rem;letter-spacing:.02em;line-height:1.2;padding-top:.55rem;white-space:normal}
  .review-card__footer span{display:none}
}

.instagram-dialog.is-landscape-video .instagram-dialog__media{min-height:360px}
@media(max-width:720px){
  .instagram-dialog.is-video .instagram-dialog__media{height:clamp(280px,calc(100dvh - 320px),540px)}
  .instagram-dialog.is-video .instagram-dialog__body{padding:1.2rem 1.5rem}
  .instagram-dialog.is-video h3{margin:.8rem 0}
  .instagram-dialog.is-video .instagram-dialog__body>p:not(.eyebrow){line-height:1.45}
  .instagram-dialog.is-video .instagram-dialog__kind{margin:.75rem 0 1rem}
  .instagram-dialog.is-landscape-video .instagram-dialog__media{height:min(56vw,300px);min-height:0}
}

.booking-prompt{position:fixed;z-index:95;right:var(--sc-gutter);bottom:clamp(1rem,3vw,2.5rem);width:min(410px,calc(100vw - 2rem));padding:1.25rem 1.3rem 1.2rem;background:#eee8da;color:#171715;border-top:3px solid var(--sc-accent);box-shadow:0 18px 55px #0009;display:grid;gap:.9rem;opacity:0;transform:translateY(calc(100% + 3rem));transition:opacity .35s,transform .35s}
.booking-prompt[hidden]{display:none}
.booking-prompt.is-visible{opacity:1;transform:translateY(0)}
.booking-prompt p{font:900 clamp(1.55rem,2.4vw,2.1rem)/.92 var(--sc-font-display);padding-right:1.2rem}
.booking-prompt a{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:max-content;min-width:175px;min-height:42px;padding:0 .8rem;background:var(--sc-accent);color:#171715;text-decoration:none;text-transform:uppercase;font-size:.65rem;font-weight:700;letter-spacing:.1em}
.booking-prompt a:hover{background:#ecc583}
.booking-prompt__close{position:absolute;right:.55rem;top:.45rem;width:32px;height:32px;border:0;background:transparent;color:#171715;font-size:1.7rem;line-height:1}
@media(max-width:650px){.booking-prompt{left:.7rem;right:.7rem;bottom:calc(.7rem + env(safe-area-inset-bottom,0px));width:auto;padding:1rem 1.15rem}.booking-prompt p{font-size:1.55rem;max-width:none;padding-right:2rem}.booking-prompt a{min-height:40px}}
@media(prefers-reduced-motion:reduce){.booking-prompt{transition:none;transform:none}}

.calendar-gate__icon svg{display:block;width:10rem;height:10rem;fill:none;stroke:currentColor;stroke-width:3.5;stroke-linecap:round}

/* Full-width section backgrounds with content limited to 1400px. */
html{background:var(--sc-canvas)}
body{width:auto;max-width:none;margin:0}
@media(min-width:1401px){
  :root{--sc-gutter:max(5rem,calc((100vw - 1400px)/2))}
}
.location{display:block}
.location__inner{display:grid;grid-template-columns:minmax(320px,.75fr) minmax(0,1.25fr);max-width:1400px;min-height:420px;margin-inline:auto}
@media(min-width:1401px){
  .location{background:linear-gradient(90deg,#25241f 0%,#25241f calc(50% - 175px),#d7d2c7 calc(50% - 175px),#d7d2c7 100%)}
}
@media(max-width:950px){.location__inner{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.location__inner{display:block}}
