/* V5: neutral light, real hair and a native-scroll portrait scene. */
:root{--base:#e6e5e1;--paper:#f5f5f1;--ink:#262829;--plum:#373a3b;--muted:#666968;--line:#d2d3ce;--rose:#e8bac8;--silver:#c1c5c4}
body{background:var(--paper)}body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:80;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}
.site-header{height:88px;background:#262829;color:var(--paper);border-bottom:1px solid #e8bac821}.site-header.scrolled{background:#262829f5;backdrop-filter:blur(16px);box-shadow:none}.site-header .wordmark,.site-header .brand-dot{color:var(--rose)}.site-header .wordmark{font-size:53px}.site-header .wordmark small{color:#d2bac9}.header-book{color:var(--rose);border-color:#e8bac880;font-size:14px}.header-actions{gap:25px}.scroll-progress{background:var(--rose)}.motion-switch{width:38px;height:38px;background:none;border:1px solid #e8bac840;color:var(--rose);border-radius:50%;display:grid;place-items:center}.motion-switch:hover{background:#e8bac814}.mobile-nav{background:#262829;color:var(--paper)}.menu-toggle span{background:var(--rose)}.site-header .menu-toggle.icon-button:hover{background:#e8bac814}.button-dark{background:var(--ink)}.button-dark:hover{background:var(--plum)}.button-rose{background:var(--rose);color:var(--ink)}.button-rose:hover{background:#f8cce0}
.hero-story{position:relative;background:var(--ink)}.motion-ready .hero-story{height:190svh;min-height:1350px}
.hero-story .hero{display:block;position:sticky;top:88px;min-height:670px;height:calc(100svh - 88px);max-height:1000px;overflow:clip;isolation:isolate;background:#262829;color:var(--paper);perspective:1500px}
.scene-texture{position:absolute;inset:-8%;background:url('assets/hair-light-v5.jpg') center/cover no-repeat;opacity:.68;transform:scale(1.04);animation:strand-drift 18s cubic-bezier(.45,0,.55,1) infinite alternate;z-index:-4}.scene-light{position:absolute;inset:-30%;background:radial-gradient(ellipse at 70% 44%,#bfc3be25,transparent 47%),radial-gradient(ellipse at 20% 80%,#cdbfae2b,transparent 40%);animation:light-drift 14s cubic-bezier(.45,0,.55,1) infinite alternate;z-index:-3}.scene-shade{position:absolute;inset:0;background:linear-gradient(90deg,#262829f2 0%,#262829ba 28%,#26282922 65%,#26282950),linear-gradient(0deg,#262829d9,transparent 35%);z-index:-2}
.scene-copy{position:absolute;z-index:5;left:var(--gutter);top:15%;width:49%;transform:translate3d(calc(var(--scene,0)*-90px),calc(var(--scene,0)*-120px),0);opacity:var(--copy-opacity,1)}
.scene-intro{font-size:14px;font-weight:500;color:var(--rose);margin-bottom:32px;display:flex;gap:20px;align-items:center}.scene-intro span{color:#d9c3d0;font-size:12px;font-weight:400;padding-left:20px;border-left:1px solid #e8bac850}.scene-copy #hero-title{font-size:clamp(96px,10.1vw,176px);line-height:.93;letter-spacing:-.07em;font-weight:400;color:var(--paper);margin:0 0 32px -.045em;max-width:none}.scene-copy .title-line{display:block;white-space:nowrap;overflow:hidden;padding:.04em .05em .2em;margin:-.04em -.05em -.2em}.scene-copy .title-line>span{display:block}.scene-description{font-size:clamp(15px,1.15vw,18px);line-height:1.7;color:#e4cfdb;margin-bottom:28px;max-width:460px}.scene-buttons{display:flex;gap:30px;align-items:center}.scene-cta{font-size:15px;padding:19px 25px;min-height:60px;gap:35px}.scene-work-link{font-size:14px;padding:14px 0;display:flex;gap:18px;align-items:center;border-bottom:1px solid #e8bac85c}.scene-work-link span{font-size:20px}.scene-location{font-size:12px;margin-top:26px;color:#cdb2c2}
.scene-art{position:absolute;inset:0;perspective:1400px;pointer-events:none;z-index:3}.portrait-plane{position:absolute;left:55%;top:8%;width:33%;height:80%;max-height:780px;border:1px solid #eeefe98a;border-radius:54px 5px 54px 5px;box-shadow:0 35px 90px #23272380,12px 16px 0 #e8bac80a;overflow:hidden;transform:translate3d(calc(var(--scene,0)*-24vw),calc(var(--scene,0)*8px),0) rotate(calc(-3deg + var(--scene,0)*8deg)) scale(calc(1 - var(--scene,0)*.2));z-index:3;pointer-events:auto;transform-origin:center;will-change:transform}.portrait-plane .portrait-depth{position:absolute;inset:-10px;transform:rotateX(var(--portrait-x,0deg)) rotateY(var(--portrait-y,0deg));transition:transform .7s var(--ease)}.scene-portrait-img{width:100%;height:100%;object-fit:cover;object-position:64% 32%;filter:saturate(.9);transform:scale(1.035)}.portrait-plane::after{content:"";position:absolute;inset:72% 0 0;background:linear-gradient(transparent,#232723aa);pointer-events:none}.portrait-plane figcaption{position:absolute;bottom:26px;right:25px;left:auto;z-index:2;font:400 33px/1.1 var(--serif);letter-spacing:-.03em;color:#fff}
.hair-plane{position:absolute;overflow:hidden;padding:0;background:#595b56;border:1px solid #f5e2ef5c;box-shadow:0 26px 65px #23272380;pointer-events:auto}.hair-plane img{width:100%;height:100%;object-fit:cover;transform:scale(1.02);transition:transform .6s var(--ease)}.hair-plane:hover img{transform:scale(1.08)}.hair-plane span{position:absolute;bottom:0;left:0;right:0;padding:35px 16px 14px;color:#fff;font-size:12px;text-align:left;background:linear-gradient(transparent,#262829cc);opacity:0;transition:opacity .25s var(--ease)}.hair-plane:hover span,.hair-plane:focus-visible span{opacity:1}.hair-plane-back{left:80%;top:4%;width:17%;height:43%;z-index:2;border-radius:4px 38px 4px 38px;transform:translate3d(calc(var(--scene,0)*-8vw),calc(var(--scene,0)*8vh),0) rotate(calc(9deg - var(--scene,0)*14deg)) scale(calc(1 + var(--scene,0)*.15))}.hair-plane-front{left:49%;top:57%;width:18%;height:37%;z-index:4;border-radius:35px 4px 35px 4px;transform:translate3d(calc(var(--scene,0)*-42vw),calc(var(--scene,0)*-12vh),0) rotate(calc(-9deg + var(--scene,0)*11deg)) scale(calc(1 + var(--scene,0)*.25))}.hair-plane-front img{object-position:55% 30%}
.scene-second{position:absolute;left:61%;top:68%;z-index:5;opacity:var(--second-opacity,0);transform:translateY(calc((1 - var(--scene,0))*40px));pointer-events:none}.scene-second p{font:400 clamp(45px,4.5vw,74px)/1.02 var(--serif);letter-spacing:-.055em;color:var(--rose)}.scene-second span{font-size:13px;color:#dec5d4;display:block;margin-top:20px}.scene-scroll{position:absolute;bottom:28px;left:var(--gutter);display:flex;gap:24px;align-items:center;font-size:11px;color:#d2b9c9;z-index:6;opacity:var(--copy-opacity,1)}.scene-scroll svg{height:34px;width:18px;stroke:var(--rose);stroke-width:1;fill:none}.scene-timeline{position:absolute;bottom:0;left:0;right:0;height:2px;z-index:9;background:#e8bac815}.scene-timeline i{display:block;height:100%;background:var(--rose);transform:scaleX(var(--scene,0));transform-origin:left}
.motion-ready .scene-copy .title-line>span{animation:hero-title 1.15s var(--ease) both}.motion-ready .scene-copy .title-line:nth-child(2)>span{animation-delay:.12s}.motion-ready .scene-description,.motion-ready .scene-buttons,.motion-ready .scene-intro{animation:hero-detail .8s .3s var(--ease) both}.motion-ready .scene-art{animation:scene-enter 1.3s var(--ease) both}
@keyframes scene-enter{from{opacity:0;transform:translateY(35px)}to{opacity:1;transform:none}}@keyframes strand-drift{from{transform:translate3d(-1%,-1%,0) rotate(-2deg) scale(1.08)}to{transform:translate3d(2%,2%,0) rotate(2deg) scale(1.17)}}@keyframes light-drift{from{transform:translate3d(-3%,0,0)}to{transform:translate3d(3%,4%,0)}}
/* Material continues through the page; light sections give the work breathing room. */
.service-ribbon{background:#e0e1dc;border-top:1px solid #e8bac81c}.intro-section{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 95% 90%,#d0d1c959,transparent 60%)}.intro-section::before{content:"";position:absolute;right:-220px;bottom:-400px;width:850px;height:850px;border:1px solid #a4aaa737;border-radius:50%;box-shadow:0 0 0 45px #a4aaa70c,0 0 0 90px #a4aaa70a,0 0 0 135px #a4aaa708;z-index:-1;transform:translateY(calc(var(--intro-depth,0)*-100px))}.intro-signature{color:var(--plum)}.work-section{background:linear-gradient(150deg,#e6e5e1,#efefea 60%,#d8dbd7);position:relative}.work-card{transform:translateY(calc(var(--card-offset,0px) + var(--card-entry,0px))) rotateY(var(--card-rotation,0deg));transition:transform .12s linear}.gallery-image{border-radius:4px 32px 4px 4px;box-shadow:0 18px 45px #26282914}.work-card:nth-child(2) .gallery-image{border-radius:32px 4px 4px 4px}.service-photo{border-radius:60px 4px 60px 4px;box-shadow:0 25px 70px #26282913;transform:translateY(calc(var(--service-drift,0)*-40px))}.services-section{background:radial-gradient(ellipse at 0% 50%,#d4d8d14d,transparent 55%)}
.hair-interlude{height:390px;position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:22px;overflow:hidden;isolation:isolate;background:#262829;color:var(--paper)}.interlude-texture{position:absolute;inset:-30%;z-index:-2;background:linear-gradient(#26282950,#26282966),url('assets/hair-light-v5.jpg') center/cover;transform:translateX(calc(var(--interlude-progress,.5)*-80px)) scale(1.08)}.hair-interlude p{font:400 clamp(80px,12vw,190px)/1 var(--serif);letter-spacing:-.06em;transform:translateX(calc((var(--interlude-progress,.5) - .5)*180px));white-space:nowrap}.hair-interlude>span{font-size:14px;color:#e7d2df}.extension-section{background:linear-gradient(110deg,#262829ed,#262829ec),url('assets/hair-light-v5.jpg') center/cover}.extension-copy h2{color:var(--rose)}.extension-visual{border-radius:4px 65px 4px 65px;box-shadow:0 30px 80px #10061060}.extension-copy>p:not(.section-label){color:#ddc5d5}.extension-details p{color:#c1a4b7}.about-section{background:radial-gradient(ellipse at 100% 20%,#d3d7cf45,transparent 65%)}.about-image-inner{box-shadow:15px 25px 70px #26282922;border-radius:45px 3px 3px 3px}.contact-section{background:linear-gradient(90deg,#262829f0,#262829bb),url('assets/hair-light-v5.jpg') center/cover}.contact-section h2{color:var(--rose)}.contact-monogram{color:#e8bac809}footer .wordmark,footer .brand-dot{color:var(--ink)}.booking-service[aria-pressed=true]{background:#e5e8e0}.booking-demo,.booking-aside{background:#e7e8e1}
@media(min-width:1800px){.scene-copy{top:11%;left:7vw}.portrait-plane{left:56%;width:31%}.scene-copy #hero-title{font-size:176px}.scene-description{font-size:19px}}
@media(max-width:1150px){.scene-copy{left:5vw;top:16%;width:48%}.scene-copy #hero-title{font-size:10vw}.scene-intro{font-size:13px;gap:12px;margin-bottom:25px}.scene-intro span{font-size:11px;padding-left:12px}.scene-description{font-size:14px;max-width:330px}.scene-description br{display:none}.scene-buttons{gap:22px}.scene-cta{padding:17px 21px;font-size:14px;gap:25px;min-height:57px}.scene-work-link{font-size:13px}.portrait-plane{left:56%;width:33%;height:73%;top:12%}.hair-plane-front{left:50%;top:60%;height:34%}.hair-plane-back{top:8%;height:37%}.scene-second{left:61%;top:68%}.scene-second p{font-size:5vw}.scene-second span{font-size:12px}.scene-location{font-size:11px}.scene-scroll{left:5vw}.header-actions{gap:18px}}
@media(max-width:850px){.site-header{height:78px}.site-header .wordmark{font-size:46px}.motion-switch{width:34px;height:34px}.menu-toggle span{background:var(--rose)}.header-actions{gap:17px}.header-book{font-size:12px}.hero-story .hero{top:78px;height:calc(100svh - 78px);min-height:620px}.scene-copy{top:20%}.scene-copy #hero-title{font-size:10.5vw}.scene-intro{display:block}.scene-intro span{display:block;border:0;padding:0;margin-top:5px}.scene-description{max-width:285px}.scene-buttons{display:grid;gap:12px;justify-items:start}.scene-cta{min-height:54px}.scene-location{max-width:210px}.portrait-plane{left:58%;width:35%;height:70%;top:14%;border-radius:35px 4px 35px 4px}.portrait-plane figcaption{font-size:27px;left:auto;right:20px;bottom:22px}.hair-plane-back{left:81%;width:16%;top:8%;height:30%}.hair-plane-front{left:47%;width:24%;top:64%;height:29%}.scene-second{left:60%;top:70%}.scene-second p{font-size:43px}.scene-second span{font-size:11px;max-width:170px}.hair-interlude{height:310px}.hair-interlude p{font-size:13vw}.hair-interlude>span{font-size:13px}}
@media(max-width:600px){.site-header{height:76px;padding:0 22px;gap:12px}.site-header .wordmark{font-size:43px}.header-actions{gap:14px}.header-book{font-size:11px;gap:10px}.motion-switch{width:30px;height:30px}.motion-switch .pause-icon{font-size:14px}.menu-toggle.icon-button{width:25px}.menu-toggle span{width:21px}.motion-ready .hero-story{height:auto;min-height:0}.hero-story .hero{position:relative;top:auto;height:890px;min-height:0;max-height:none;padding:0;display:block}.scene-copy{position:absolute;top:35px;left:24px;right:24px;width:auto;transform:none;opacity:1}.scene-intro{display:flex;gap:15px;align-items:center;font-size:12px;margin-bottom:20px}.scene-intro span{border-left:1px solid #e8bac850;padding-left:15px;margin-top:0;font-size:11px}.scene-copy #hero-title{font-size:clamp(64px,18vw,106px);line-height:.92;letter-spacing:-.065em;margin-bottom:22px}.scene-copy .title-line{display:inline-block;overflow:visible;white-space:normal;padding:0;margin:0}.scene-copy .title-line:first-child{margin-right:.12em}.scene-copy .title-line>span{display:inline-block}.scene-description{font-size:15px;line-height:1.6;max-width:330px;margin-bottom:23px}.scene-buttons{display:flex;gap:27px;align-items:center}.scene-cta{font-size:14px;min-height:55px;padding:17px 22px;gap:28px}.scene-work-link{font-size:13px;gap:12px}.scene-location{display:none}.scene-art{top:0}.portrait-plane{left:25%;top:43%;width:64%;height:49%;max-height:none;transform:translateY(calc(var(--mobile-depth,0)*-24px)) rotate(-3deg);border-radius:35px 4px 35px 4px}.portrait-plane .portrait-depth{inset:-6px}.scene-portrait-img{object-position:65% 25%}.portrait-plane figcaption{font-size:27px;left:auto;right:19px;bottom:21px}.hair-plane-back{left:76%;top:40%;width:23%;height:23%;transform:translateY(calc(var(--mobile-depth,0)*-45px)) rotate(10deg);border-radius:3px 24px 3px 24px}.hair-plane-front{left:3%;top:69%;width:31%;height:24%;transform:translateY(calc(var(--mobile-depth,0)*-55px)) rotate(-10deg);border-radius:25px 3px 25px 3px}.hair-plane span{font-size:10px;padding:20px 10px 10px}.scene-second{display:none}.scene-scroll{left:24px;bottom:20px;font-size:10px;gap:15px}.scene-scroll svg{height:25px}.scene-timeline{display:none}.scene-shade{background:linear-gradient(180deg,#262829d9 0%,#262829c9 37%,#26282925 70%,#262829c9 100%)}.scene-texture{background-position:60% center;opacity:.7;animation-duration:22s}.scene-light{opacity:.65}.service-ribbon{padding:0 24px}.intro-section{padding-top:65px}.intro-section::before{width:550px;height:550px;right:-250px;bottom:-350px}.service-photo{transform:translateY(calc(var(--service-drift,0)*-15px));border-radius:35px 3px 35px 3px}.hair-interlude{height:260px;gap:15px}.hair-interlude p{font-size:20vw;transform:translateX(calc((var(--interlude-progress,.5) - .5)*70px))}.hair-interlude>span{font-size:12px}.extension-visual{border-radius:4px 45px 4px 45px}.work-card{transform:translateY(var(--card-entry,0px))!important}.mobile-bookbar{background:#f5f5f1f2}.mobile-bookbar .button{color:var(--paper)}.about-image-inner{border-radius:35px 3px 3px 3px}}
@media(max-width:370px){.hero-story .hero{height:875px}.scene-copy #hero-title{font-size:63px}.scene-intro{font-size:11px;gap:10px}.scene-intro span{font-size:10px;padding-left:10px}.scene-description{font-size:14px}.scene-cta{font-size:13px;gap:24px;padding:16px 20px}.scene-buttons{gap:22px}.header-actions{gap:11px}.header-book{font-size:10px}.site-header{padding:0 20px}.site-header .wordmark{font-size:39px}.scene-work-link{font-size:12px}.portrait-plane{top:43%;height:47%}.hair-plane-front{top:69%}}
.scene-inactive .scene-texture,.scene-inactive .scene-light{animation-play-state:paused}.modal-open .scene-texture,.modal-open .scene-light{animation-play-state:paused}
/* Pausing converts the short pinned scene to a normal static hero. */
.motion-paused .hero-story{height:auto;min-height:0}.motion-paused .hero-story .hero{position:relative;top:auto}.motion-paused .scene-copy{opacity:1;transform:none}.motion-paused .scene-second,.motion-paused .scene-timeline{display:none}.motion-paused .portrait-plane{transform:rotate(-3deg)}.motion-paused .hair-plane-back{transform:rotate(9deg)}.motion-paused .hair-plane-front{transform:rotate(-9deg)}.motion-paused .scene-scroll{opacity:1}.motion-paused .scene-texture,.motion-paused .scene-light,.motion-paused .interlude-texture,.motion-paused .hair-interlude p,.motion-paused .service-photo{transform:none}.motion-paused .work-card{transform:none!important}
@media(prefers-reduced-motion:reduce){.motion-ready .hero-story{height:auto;min-height:0}.hero-story .hero{position:relative;top:auto}.scene-copy{opacity:1!important;transform:none!important}.scene-second,.scene-timeline{display:none}.portrait-plane{transform:rotate(-3deg)}.hair-plane-back{transform:rotate(9deg)}.hair-plane-front{transform:rotate(-9deg)}.scene-scroll{opacity:1}.scene-texture,.scene-light,.interlude-texture,.hair-interlude p,.service-photo{transform:none!important}.work-card{transform:none!important}}

/* Light material, graphite type, rose only as an accent. */
.site-header{background:#eaeae7;color:var(--ink);border-color:#26282918}.site-header.scrolled{background:#eaeae7ed}.site-header .wordmark{color:var(--ink)}.site-header .brand-dot{color:#a66d7f}.site-header .wordmark small{color:#60645f}.header-book{color:var(--ink);border-color:#26282970}.motion-switch{color:var(--ink);border-color:#26282935}.motion-switch:hover{background:#2628290b}.menu-toggle span{background:var(--ink)}.site-header .menu-toggle.icon-button:hover{background:#2628290b}.mobile-nav{background:#eaeae7;color:var(--ink)}.scroll-progress{background:#a66d7f}
.hero-story,.hero-story .hero{background:#eaeae7;color:var(--ink)}.scene-texture{opacity:.87}.scene-light{background:linear-gradient(110deg,transparent 30%,#fff8 46%,transparent 66%);opacity:.3}.scene-shade{background:linear-gradient(90deg,#eaeae7db,#eaeae780 35%,transparent 67%),linear-gradient(0deg,#eaeae740,transparent 45%)}.scene-copy #hero-title{color:var(--ink)}.scene-description{color:#4d524f}.scene-cta{background:var(--ink);color:var(--paper)}.scene-cta:hover{background:#454b46}.scene-work-link{border-color:#26282955}.scene-location,.scene-scroll{color:#50564f}.scene-scroll svg{stroke:var(--ink)}.scene-second p{color:var(--ink)}.scene-second span{color:#51574f}.scene-timeline{background:#26282913}.scene-timeline i{background:#9b737e}
.service-ribbon{background:#e0e1dc;color:var(--ink);border-color:#26282920}.service-ribbon a{border-color:#26282928}.service-ribbon a:hover{background:#ffffff30}
/* A second scene with its own silhouette, not another text-only panel. */
.intro-section{max-width:none;margin:0;padding:100px var(--gutter) 110px;display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center;background:#262a28;color:var(--paper);overflow:clip;position:relative;isolation:isolate}.intro-section::before{inset:0;width:auto;height:auto;border:0;border-radius:0;box-shadow:none;background:linear-gradient(90deg,#262a28f0,#262a28e8),url('assets/hair-light-v5.jpg') center/cover;transform:none;z-index:-1}.intro-visual{position:relative;height:630px;min-width:0}.intro-orbit{position:absolute;inset:5% 12% 14% 2%;border:1px solid #bfc8bf50;border-radius:250px 250px 100px 100px;transform:rotate(-13deg) translateY(calc((var(--intro-depth,.5) - .5)*35px));pointer-events:none}.intro-main-photo{position:absolute;left:7%;top:0;width:76%;height:88%;padding:0;overflow:hidden;border-radius:260px 260px 14px 14px;background:#c3c5bd;box-shadow:0 30px 70px #10161360;transform:translateY(calc((var(--intro-depth,.5) - .5)*-90px));text-align:left}.intro-main-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 48%;transition:transform .7s var(--ease)}.intro-main-photo:hover img{transform:scale(1.035)}.intro-main-photo>span{position:absolute;inset:auto 0 0;padding:50px 24px 20px;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(transparent,#161c18a8);color:white;font-size:14px}.intro-main-photo>span>span{font-size:24px}.intro-detail-photo{position:absolute;left:59%;top:58%;width:40%;aspect-ratio:1;padding:0;border:7px solid #cbd0c7;border-radius:50%;background:#cbd0c7;overflow:hidden;box-shadow:0 24px 55px #11171150;transform:translateY(calc((var(--intro-depth,.5) - .5)*80px)) rotate(calc((var(--intro-depth,.5) - .5)*10deg))}.intro-detail-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 45%;transform:scale(1.15)}.intro-detail-photo>span{position:absolute;inset:auto 0 0;padding:25px 8px 25px;background:linear-gradient(transparent,#161c18b0);color:white;font-size:12px}.intro-photo-note{position:absolute;bottom:0;left:7%;font-size:12px;color:#c6cec4}.intro-copy{min-width:0;position:relative;z-index:2}.intro-section .scroll-statement{font-size:clamp(50px,5vw,78px);line-height:1.09;letter-spacing:-.045em;max-width:590px}.intro-section .scroll-statement .word{color:#b5bdb4}.intro-section .scroll-statement .word.lit{color:#f5f5f1}.intro-section .intro-bottom{display:block;margin-top:32px}.intro-section .intro-bottom p{font-size:16px;color:#c3cbc1;line-height:1.8;max-width:420px}.intro-section .intro-bottom .text-link{margin-top:26px;color:#f0c9d5;border-color:#d5aebb80;font-size:15px}
.work-section{background:#e5e7e2}.gallery-image{box-shadow:0 18px 45px #23292314}.services-section{background:#f5f5f1}.service-photo{box-shadow:0 25px 70px #23292315}.hair-interlude{background:#dfe1db;color:var(--ink)}.interlude-texture{background:linear-gradient(#eaeae74a,#eaeae75a),url('assets/hair-light-v5.jpg') center/cover}.hair-interlude>span{color:#53594f}.extension-section{background:linear-gradient(110deg,#262a28f7,#262a28e9),url('assets/hair-light-v5.jpg') center/cover}.extension-copy h2{color:#f1d0d9}.extension-copy>p:not(.section-label),.extension-details p{color:#c4ccc2}.about-section{background:none}.about-image-inner{box-shadow:15px 25px 70px #262a2822}.contact-section{background:linear-gradient(90deg,#262a28f7,#262a28d9),url('assets/hair-light-v5.jpg') center/cover}.contact-section h2{color:#f1d0d9}.contact-top,.contact-card p,.contact-instagram small{color:#c7cec4}.contact-monogram{color:#e8bac809}.booking-demo,.booking-aside{background:#e7e9e2;color:#555e50}.booking-service[aria-pressed=true]{background:#e8ebe3}.length-control{background:#e3e5de}.gallery-dialog>img{background:#e0e3dc}.mobile-bookbar{background:#f5f5f1f2}
/* Service choices should read as controls even before the first click. */
.service-toolbar .category-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.service-toolbar .category-tabs button{display:flex;align-items:center;justify-content:center;gap:9px;min-height:70px;padding:13px 12px;border:1px solid #939d90;border-radius:12px;background:#fff;color:#454d40;font-size:14px;font-weight:500;line-height:1.35;text-align:left;transition:background .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease)}.service-toolbar .category-tabs button::before{content:"";display:block;flex:0 0 17px;height:17px;border:1.5px solid #788571;border-radius:50%;background:transparent}.service-toolbar .category-tabs button::after{display:none}.service-toolbar .category-tabs button:hover{background:#e9ece5;border-color:#454d40}.service-toolbar .category-tabs button[aria-pressed=true]{background:#30372f;color:#fff;border-color:#30372f;box-shadow:0 5px 14px #29312720}.service-toolbar .category-tabs button[aria-pressed=true]::before{content:"";background:#e8bac8 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='m5 10 3 3 7-7' fill='none' stroke='%2330372f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/15px no-repeat;border-color:#e8bac8}.service-toolbar .category-tabs button:focus-visible{outline:3px solid #a66d7f;outline-offset:4px}
@media(max-width:1100px){.intro-section{gap:5vw;padding-top:80px;padding-bottom:90px}.intro-visual{height:540px}.intro-section .scroll-statement{font-size:54px}.service-toolbar .category-tabs{grid-template-columns:1fr}.service-toolbar .category-tabs button{justify-content:flex-start;min-height:56px;font-size:15px;padding:14px 18px}}
@media(max-width:850px){.intro-section{gap:4vw}.intro-visual{height:450px}.intro-section .scroll-statement{font-size:44px}.intro-section .intro-bottom p{font-size:14px}.intro-detail-photo{border-width:5px}.intro-main-photo>span{padding:40px 18px 16px;font-size:12px}.intro-detail-photo>span{font-size:10px;padding-bottom:18px}.service-toolbar .category-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.service-toolbar .category-tabs button{justify-content:center;font-size:14px}}
@media(max-width:600px){.scene-texture{opacity:.7;background-position:65% center}.scene-shade{background:linear-gradient(180deg,#eaeae7e8,#eaeae7aa 40%,#eaeae722 68%,#eaeae777)}.menu-toggle span{background:var(--ink)}.intro-section{display:flex;flex-direction:column;padding:65px 24px 55px;gap:38px}.intro-copy{order:0}.intro-visual{order:1;width:100%;height:460px}.intro-section .scroll-statement{font-size:46px;max-width:430px}.intro-section .intro-bottom{margin-top:25px}.intro-section .intro-bottom p{font-size:15px}.intro-section .intro-bottom .text-link{margin-top:20px;font-size:14px}.intro-main-photo{left:3%;width:78%;height:88%;transform:translateY(calc((var(--intro-depth,.5) - .5)*-35px))}.intro-orbit{left:0;right:13%}.intro-detail-photo{left:57%;width:41%;top:60%;transform:translateY(calc((var(--intro-depth,.5) - .5)*35px))}.intro-photo-note{left:3%;font-size:11px}.intro-main-photo>span{font-size:13px}.service-toolbar .category-tabs{grid-template-columns:1fr;gap:8px}.service-toolbar .category-tabs button{justify-content:flex-start;min-height:57px;font-size:15px;padding:15px 18px;gap:13px}.service-toolbar .category-tabs button::before{flex-basis:19px;height:19px}.service-toolbar{gap:22px}.service-ribbon a,.service-ribbon a:first-child,.service-ribbon a:last-child{border-color:#26282928}.hair-interlude>span{font-size:12px}}
@media(max-width:370px){.intro-section .scroll-statement{font-size:40px}.intro-visual{height:395px}.intro-detail-photo>span{font-size:9px}.intro-main-photo>span{font-size:12px}}
.motion-paused .intro-main-photo,.motion-paused .intro-detail-photo,.motion-paused .intro-orbit{transform:none}.motion-paused .intro-section .scroll-statement .word{color:#f5f5f1}
@media(prefers-reduced-motion:reduce){.intro-main-photo,.intro-detail-photo,.intro-orbit{transform:none!important}.intro-section .scroll-statement .word{color:#f5f5f1}}

/* V6: the original photograph dissolves into the material, without cards. */
.scene-light{inset:-12%;background:radial-gradient(ellipse at 75% 38%,#dea4b977,transparent 48%),radial-gradient(ellipse at 18% 10%,#efd4de99,transparent 48%);opacity:1;animation:light-drift 18s cubic-bezier(.45,0,.55,1) infinite alternate}.scene-shade{background:linear-gradient(90deg,#ece9e8b3,#ece9e866 35%,transparent 62%),linear-gradient(0deg,#ece9e84d,transparent 38%)}.scene-texture{opacity:.74}.scene-cta{background:#e8bac8;color:#30272b;box-shadow:0 7px 22px #a66d7f18}.scene-cta:hover{background:#f0c9d5}.scene-work-link{border-color:#a66d7f80}
.scene-art{perspective:none}.portrait-plane{left:43%;top:-3%;width:auto;height:113%;aspect-ratio:1440/1880;max-height:none;border:0;border-radius:0;box-shadow:none;overflow:visible;transform:translate3d(calc(var(--scene,0)*-12vw),calc(var(--scene,0)*12px),0) scale(calc(1 - var(--scene,0)*.06));transform-origin:65% 50%;pointer-events:none}.portrait-plane .portrait-depth{position:absolute;inset:0;transform:none!important;transition:none;mask-image:linear-gradient(90deg,transparent 0%,#000 44%,#000 95%,transparent 100%),linear-gradient(180deg,transparent 0%,#000 11%,#000 72%,transparent 99%);mask-composite:intersect;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 44%,#000 95%,transparent 100%),linear-gradient(180deg,transparent 0%,#000 11%,#000 72%,transparent 99%);-webkit-mask-composite:source-in}.scene-portrait-img{width:100%;height:100%;object-fit:contain;object-position:center;filter:none;transform:none}.portrait-plane::after{display:none}.portrait-plane figcaption{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.scene-art::after{content:"";position:absolute;inset:73% -8% -10%;background:url('assets/hair-light-v5.jpg') center 85%/cover no-repeat;mask-image:linear-gradient(transparent,#000000b3 85%);pointer-events:none;z-index:4;opacity:.7;transform:translateX(calc(var(--scene,0)*-35px))}.scene-second{left:8%;top:39%;max-width:38%}.scene-second p{font-size:clamp(48px,5.1vw,78px)}.scene-second span{color:#755c66}
@media(min-width:1800px){.portrait-plane{left:45%;height:118%;top:-5%}}
@media(max-width:1150px){.portrait-plane{left:34%;height:110%;top:-1%}.scene-second{left:5%;top:40%}.scene-second p{font-size:5.2vw}}
@media(max-width:850px){.portrait-plane{left:26%;top:6%;height:96%}.scene-copy{width:49%;top:18%}.scene-copy #hero-title{font-size:10.5vw}.scene-second p{font-size:43px}.scene-art::after{inset:76% -8% -10%}}
@media(max-width:600px){.scene-copy{width:auto;top:35px}.scene-copy #hero-title{font-size:clamp(64px,18vw,106px)}.hero-story .hero{height:920px}.portrait-plane{left:-15%;top:37%;width:110%;height:auto;aspect-ratio:1440/1880;transform:translateY(calc(var(--mobile-depth,0)*-22px));transform-origin:center}.portrait-plane .portrait-depth{inset:0;mask-image:linear-gradient(90deg,transparent,#000 43%,#000 95%,transparent),linear-gradient(180deg,transparent,#000 11%,#000 76%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 43%,#000 95%,transparent),linear-gradient(180deg,transparent,#000 11%,#000 76%,transparent 100%)}.scene-shade{background:linear-gradient(180deg,#ede9e8cc,#ede9e899 35%,transparent 60%,#ede9e840)}.scene-light{background:radial-gradient(ellipse at 80% 55%,#d99db973,transparent 50%),radial-gradient(ellipse at 5% 10%,#f0d4deaa,transparent 45%);opacity:1}.scene-texture{background-position:65% center;opacity:.64}.scene-art::after{inset:78% -8% -10%;opacity:.65}.scene-scroll{bottom:23px}.scene-second{display:none}}
@media(max-width:370px){.hero-story .hero{height:825px}.scene-copy #hero-title{font-size:63px}.portrait-plane{top:40%;width:116%;left:-20%}.scene-art::after{inset:80% -8% -10%}}
.motion-paused .portrait-plane{transform:none}.motion-paused .scene-art::after{transform:none}
@media(prefers-reduced-motion:reduce){.portrait-plane,.scene-art::after{transform:none!important}}

/* V7: the original RGB portrait is displayed through a separate alpha silhouette. */
.portrait-plane .portrait-depth{
  -webkit-mask-image:url('assets/dori-silhouette-mask.png'),linear-gradient(#000 65%,transparent 99%);
  -webkit-mask-size:100% 100%;-webkit-mask-repeat:no-repeat;-webkit-mask-composite:source-in;
  mask-image:url('assets/dori-silhouette-mask.png'),linear-gradient(#000 65%,transparent 99%);
  mask-size:100% 100%;mask-repeat:no-repeat;mask-mode:alpha;mask-composite:intersect;
}
.scene-art::after{opacity:.38;inset:81% -8% -10%}
.scene-light{background:radial-gradient(ellipse at 73% 40%,#dba4bb99,transparent 52%),radial-gradient(ellipse at 16% 8%,#efd7df99,transparent 48%)}
.scene-shade{background:linear-gradient(90deg,#f1eeecb3,#f1eeec40 38%,transparent 65%)}
.scene-description{font-size:18px;line-height:1.7;max-width:480px;color:#48423f}
.scene-location,.scene-scroll,.scene-second span{font-size:14px;color:#65575c}
.scene-work-link,.scene-cta{font-size:16px}
.desktop-nav,.header-book{font-size:16px}.header-book{background:#e8bac8;border:0;border-radius:999px;padding:13px 21px;color:#30272b;min-height:48px;gap:20px}.header-book:hover{background:#f0c9d5}
.work-heading-side p,.service-intro,.intro-section .intro-bottom p,.about-copy>p:not(.section-label):not(.about-lead),.faq-section>div>p:not(.section-label),.faq-list details p,.extension-copy>p:not(.section-label){font-size:17px;line-height:1.75}
.service-row p,.extension-details p,.contact-card p,.contact-card a,.contact-instagram small{font-size:15px;line-height:1.7}
.service-footnote,.service-price small,.work-footer p,.about-image figcaption,.intro-photo-note,.contact-top,footer,.subtle-link,footer>span{font-size:14px;line-height:1.65}
.service-row h3,.extension-details h3,.faq-list summary{font-size:18px}.service-price{font-size:17px}.text-link,.work-footer .text-link{font-size:16px}.length-control button{font-size:14px;min-height:44px}.service-book{min-width:44px;min-height:44px}
.intro-main-photo>span,.intro-detail-photo>span{font-size:14px}.service-toolbar .category-tabs button{font-size:16px}
/* A single floating invitation appears once the hero invitation has left view. */
.mobile-bookbar{position:fixed;bottom:max(20px,env(safe-area-inset-bottom));left:auto;right:24px;z-index:25;display:flex;gap:20px;align-items:center;max-width:calc(100vw - 32px);padding:9px 9px 9px 24px;border:1px solid #cfb6bf;background:#f8f4f0f5;backdrop-filter:blur(18px);border-radius:999px;box-shadow:0 8px 35px #38252c20;opacity:0;transform:translateY(130%);visibility:hidden;pointer-events:none;transition:transform .35s var(--ease),opacity .25s,visibility .35s}
.mobile-bookbar.visible{opacity:1;transform:none;visibility:visible;pointer-events:auto}.mobile-bookbar>span{font-size:15px}.mobile-bookbar .button{background:#e8bac8;color:#30272b;min-height:50px;font-size:16px;padding:13px 22px;gap:20px}.modal-open .mobile-bookbar{visibility:hidden}
footer{padding-bottom:115px}
@media(max-width:1100px){.desktop-nav{gap:22px}.site-header{gap:18px}.wordmark small{display:none}.scene-description{max-width:350px;font-size:17px}}
@media(max-width:850px){.header-book{font-size:15px}.scene-description{max-width:300px}.scene-location{max-width:250px}.scene-second span{font-size:14px}}
@media(max-width:600px){
 .hero-story .hero{height:950px}.scene-copy #hero-title{font-size:clamp(64px,18vw,106px)}.scene-description{font-size:16px;max-width:370px;line-height:1.65}.scene-work-link,.scene-cta{font-size:15px}.scene-copy .scene-buttons{gap:22px}.portrait-plane{top:38%;left:-18%;width:116%}.scene-art::after{inset:83% -8% -10%}
 .scene-light{background:radial-gradient(ellipse at 64% 63%,#d99db999,transparent 48%),radial-gradient(ellipse at 10% 8%,#efd4de80,transparent 50%)}
 .header-actions{gap:12px}.header-book{font-size:14px;padding:10px 14px;gap:12px}.scene-scroll{font-size:13px}
 .mobile-bookbar{left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));max-width:none;padding:8px 8px 8px 19px;gap:12px;justify-content:space-between}.mobile-bookbar>span{font-size:14px}.mobile-bookbar .button{font-size:15px;padding:13px 18px;gap:16px}
 .work-heading-side p,.intro-section .intro-bottom p,.service-intro,.extension-copy>p:not(.section-label),.about-copy>p:not(.section-label):not(.about-lead),.faq-section>div>p:not(.section-label),.faq-list details p{font-size:16px}
 .service-row{grid-template-columns:1fr auto;gap:12px}.service-row>div:first-child{grid-column:1/-1}.service-price{text-align:left;max-width:none}.service-price small{max-width:none}.service-row p{max-width:none;font-size:15px}.service-price{font-size:17px}.service-book{justify-self:end}.extension-details{grid-template-columns:1fr}.extension-details p{max-width:100%}.intro-photo-note{font-size:13px}.intro-detail-photo>span{font-size:12px}.service-toolbar .category-tabs button{font-size:16px}.contact-top{gap:22px;flex-wrap:wrap}footer>span{font-size:14px}
}
@media(max-width:370px){.header-actions{gap:8px}.header-book{font-size:13px;gap:8px;padding:10px 12px}.motion-switch{width:30px;height:30px}.hero-story .hero{height:875px}.portrait-plane{top:43%;left:-22%;width:120%}.scene-copy #hero-title{font-size:63px}.scene-copy .scene-buttons{gap:16px}.scene-cta{padding:17px 19px;gap:18px}.mobile-bookbar>span{display:none}.mobile-bookbar{padding:7px}.mobile-bookbar .button{width:100%}}
@media(max-width:600px){.extension-section{grid-template-columns:minmax(0,1fr)}.extension-copy,.extension-visual{min-width:0}.extension-copy h2{font-size:clamp(40px,12vw,57px)}}
@media(max-width:370px){.site-header{padding-inline:16px;gap:8px}.site-header .wordmark{font-size:42px}.header-book>span{display:none}.scene-copy .scene-buttons{gap:12px}.scene-cta{font-size:14px;padding:16px 14px;gap:12px}.scene-work-link{font-size:14px;gap:10px}}
