@font-face{font-family:"Sonsie One";src:url("../assets/sonsie.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Libre Franklin";src:url("../assets/libre-franklin-latin-ext.woff2") format("woff2");font-weight:400 700;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Libre Franklin";src:url("../assets/libre-franklin-latin.woff2") format("woff2");font-weight:400 700;font-display:swap;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}
:root{
  --green:#183C34;--ivory:#F2EBDD;--plaster:#E9DFCE;--surface:#ECE3D4;--cognac:#A6633C;--cognac-deep:#8F4E2A;--gold-light:#F0DCA8;--cognac-text:#8F4E2A;--ink:#28231F;--border:#D6C8B3;--brass:#A89061;--white:#fff;
  --hero-shade:linear-gradient(90deg,#0C241FF2 0%,#0C241FF2 24%,#0C241FCC 42%,#0C241F59 65%,#0C241F00 100%);
  --body-font:"Libre Franklin",Arial,sans-serif;--display-font:"Sonsie One",Georgia,serif;
  --body:16px;--heading:24px;--display:56px;--leading:1.5;--heading-leading:1.3;
  --s1:8px;--s2:16px;--s3:24px;--s4:32px;--s5:40px;--s6:48px;--s8:64px;--s10:80px;--s14:112px;
  --content:1200px;--header-height:88px;--hero-height:656px;--button-height:56px;--frame-radius:14px 14px 0 0;--frame-line:var(--cognac-deep);--frame-speed:200ms;--target:48px;--gutter:24px;
  --photo:url("../assets/salon.jpg");--scissors-size:280px;--focus:3px;--debug-size:11px;
  --header-separator:rgba(40,35,31,.12);--header-separator-duration:220ms;
}
*{box-sizing:border-box}html{scroll-behavior:auto;scroll-padding-top:calc(var(--header-height) + var(--s3));overflow-anchor:none}
body{margin:0;background:var(--plaster);color:var(--ink);font:400 var(--body)/var(--leading) var(--body-font);-webkit-font-smoothing:antialiased}
h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--display-font);font-weight:400;line-height:var(--heading-leading)}h1{font-size:var(--display)}h2,h3{font-size:var(--heading)}
a{color:inherit;text-decoration:none}button,select,input{font:inherit}button,a,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}
:focus-visible{outline:var(--focus) solid var(--cognac);outline-offset:4px}a:active,button:active{opacity:.85}[hidden]{display:none!important}
.wrap{width:min(var(--content),calc(100% - var(--gutter)*2));margin-inline:auto}
.button,.outline-button,.icon-button,.service-toggle{font-family:var(--body-font);font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.button,.outline-button,.icon-button{position:relative;border:1px solid var(--frame-line);border-radius:var(--frame-radius);text-decoration:none}
.button::before,.outline-button::before,.icon-button::before{content:"";position:absolute;inset:4px;border:1px solid var(--frame-line);border-radius:10px 10px 0 0;pointer-events:none;transition:inset var(--frame-speed) ease}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:var(--button-height);padding:0 var(--s3);color:var(--white);text-align:center;white-space:nowrap;--frame-line:var(--gold-light);background:linear-gradient(180deg,var(--cognac) 0%,var(--cognac) 42%,var(--cognac-deep) 100%);box-shadow:inset 0 1px 0 rgba(242,235,221,.42),inset 0 -10px 18px rgba(143,78,42,.55)}
.button::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(120% 140% at 50% -40%,rgba(242,235,221,.20) 0%,rgba(242,235,221,0) 55%)}
.button>*{position:relative;z-index:1}
.button:hover{background:linear-gradient(180deg,var(--cognac-deep) 0%,var(--cognac-deep) 42%,var(--cognac-deep) 100%)}
.button:focus-visible{outline-color:var(--brass)}
.skip-link{position:fixed;top:var(--s1);left:var(--s3);transform:translateY(-200%);z-index:100;background:var(--ivory);padding:var(--s2)}.skip-link:focus{transform:none}
.header{position:sticky;top:0;z-index:20;background:var(--plaster)}.header-inner{height:var(--header-height);display:flex;align-items:center;gap:var(--s6)}
/* Overlay the bottom pixel so neither header height nor content geometry changes. */
.header::after{content:"";position:absolute;inset-inline:0;bottom:0;border-bottom:1px solid transparent;pointer-events:none;transition:border-color var(--header-separator-duration) ease}
.header.is-scrolled::after{border-bottom-color:var(--header-separator)}
.brand{margin-right:auto;display:flex;align-items:center;padding-inline:4px;flex-shrink:0}.brand img{display:block;width:188px;height:auto;aspect-ratio:3.125}
.desktop-nav{display:flex;gap:var(--s6);align-items:center}.desktop-nav a{display:flex;align-items:center;min-height:var(--target)}.desktop-nav a:hover{text-decoration:underline;text-underline-offset:4px}
.header-book{width:208px}.mobile-label,.menu-toggle,.mobile-menu{display:none}
.scene{position:relative}.hero{height:var(--hero-height);position:relative;overflow:hidden;isolation:isolate;color:var(--ivory)}
.photo-piece{position:absolute;inset:0;pointer-events:none}
.photo-left{z-index:1}.photo-right{z-index:2;display:none}
.hero-wrap{position:relative;z-index:3;padding-top:var(--s14);pointer-events:none}.hero-content{width:496px;max-width:100%;display:flex;flex-direction:column;gap:var(--s3);pointer-events:auto}
.availability{padding-top:var(--s2);display:flex;flex-direction:column;gap:var(--s1)}
.scissors-position{display:none;position:absolute;left:0;top:0;z-index:4;pointer-events:none;width:0;height:0}
.scissors{position:absolute;width:var(--scissors-size);height:calc(var(--scissors-size)*1.7);left:calc(var(--scissors-size)*-.5);top:calc(var(--scissors-size)*-.7);overflow:visible}
.scissor-blade{fill:url(#blade-metal);stroke:var(--ink);stroke-width:1.4}.blade-edge{fill:none;stroke:var(--ivory);stroke-width:1.2}
.scissor-handle{fill:none;stroke:var(--brass);stroke-width:15;stroke-linecap:round}.scissor-ring{fill:none;stroke:var(--brass);stroke-width:10}
.pivot-outer{fill:var(--ink);stroke:var(--brass);stroke-width:2}.pivot-inner{fill:var(--brass)}.pivot-slot{stroke:var(--ivory);stroke-width:2}
.services{background:var(--plaster);padding-block:var(--s10);position:relative}.services-grid{display:grid;grid-template-columns:282px minmax(0,1fr);gap:var(--s3)}
.service-index{display:flex;flex-direction:column;gap:var(--s3);align-self:start}.service-index nav{display:flex;flex-direction:column;gap:var(--s3)}.service-index a{display:flex;align-items:center;min-height:var(--target);padding-inline:var(--s2);border-bottom:1px solid var(--border)}
.service-index a:hover{text-decoration:underline}.service-index .price-link{justify-content:center;border:1px solid var(--border)}
.service-cards{display:flex;flex-direction:column;gap:var(--s3)}.service-card{display:grid;grid-template-columns:312px minmax(0,1fr);min-height:304px;background:var(--surface);outline:1px solid var(--border);outline-offset:-1px}
.service-image{height:304px}.service-image img{display:block;width:100%;height:100%;object-fit:contain}.image-hair{background:#183B31}.image-beard{background:#123B2D}.image-combo{background:#18352C}.image-ritual{background:#123428}
.service-copy{padding:var(--s4);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:var(--s2)}.price,.service-copy a{color:var(--green)}.service-copy a{display:flex;align-items:center;min-height:var(--target)}.service-copy a:hover{text-decoration:underline}
/* Single services section, already underneath the hero; only its parent pins. */
.motion-enabled .motion-track{height:var(--track-height)}
.motion-enabled .scene{position:sticky;top:var(--header-height)}
.motion-enabled .hero{position:absolute;inset:0 0 auto;height:var(--motion-height);z-index:2;pointer-events:none}
.motion-enabled .hero-content{pointer-events:auto}.motion-enabled .hero-content[inert]{pointer-events:none}
.motion-enabled .photo-piece{will-change:transform,clip-path}.motion-enabled .photo-right{display:block}
.motion-enabled .scissors-position{display:block;will-change:transform;opacity:0}.motion-enabled .hero-content{will-change:opacity}
.motion-enabled .scene{min-height:var(--motion-height)}
@supports (height:100svh){@media (min-width:900px){:root{--hero-height:max(560px,calc(100svh - var(--header-height)))}}}
@media (max-width:1199px){.header-inner,.desktop-nav{gap:var(--s4)}.services-grid{grid-template-columns:240px minmax(0,1fr)}.service-card{grid-template-columns:240px minmax(0,1fr)}.service-copy{padding:var(--s3)}}
@media (max-width:899px){
  :root{--header-height:64px;--display:32px;--hero-height:488px;--gutter:24px}
  .header-inner{gap:var(--s1)}.brand{padding:0}.brand img{width:128px}.header-book{width:120px;min-height:var(--target);padding:0 var(--s1);font-size:14px}
  .desktop-nav,.desktop-label{display:none}.mobile-label{display:inline}.menu-toggle{display:flex;width:44px;flex-shrink:0;height:var(--target);justify-content:center;align-items:center;border:0;background:transparent;padding:var(--s1);color:var(--ink)}.menu-toggle svg{width:24px;fill:none;stroke:currentColor;stroke-width:1.5}
  .mobile-menu{position:absolute;inset:100% 0 auto;display:flex;flex-direction:column;gap:var(--s1);padding:var(--s3);background:var(--plaster);border-top:1px solid var(--border)}.mobile-menu a{padding:var(--s1)}
  .hero{height:auto;min-height:var(--hero-height)}.hero-wrap{padding-top:156px;padding-bottom:var(--s3)}.hero-content{gap:var(--s2)}.hero .photo-piece{--hero-shade:linear-gradient(0deg,#0C241FF2 0%,#0C241FF2 45%,#0C241FCC 72%,#0C241F00 100%)}
  .services{padding-block:var(--s6)}.services-grid{grid-template-columns:minmax(0,1fr);gap:var(--s4)}.service-index nav{display:none}.service-index p{max-width:400px}.service-card{grid-template-columns:minmax(0,1fr)}.service-image{height:152px}.service-copy{padding:var(--s3);min-width:0}
  .debug{width:230px}.debug-toggle{padding:var(--s1) var(--s2)}
}
@media (max-width:359px){:root{--gutter:16px;--heading:20px}.brand img{width:104px}.header-book{width:112px}h1{font-size:30px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.motion-enabled .motion-track{height:auto}.motion-enabled .scene{position:relative;top:0;min-height:0}.motion-enabled .hero{position:relative;height:var(--hero-height)}.motion-enabled .photo-left{clip-path:none!important;transform:none!important}.motion-enabled .photo-right,.motion-enabled .scissors-position{display:none!important}.motion-enabled .hero-content{opacity:1!important}}
@media (prefers-reduced-motion:reduce){.header::after{transition:none}}
