/* Content-led motion edition. Native scrolling; no scroll capture or motion controls. */
:root{--header-h:85px}
.hero{background:var(--wine);min-height:560px}
.hero-image{clip-path:inset(var(--hero-inset,0%));transition:clip-path .08s linear}
.hero-title{z-index:2;transform:translateX(var(--title-x,0%));pointer-events:none}
.hero-bottom,.hero-top{z-index:3}
.hero-folio{position:absolute;right:9%;top:22%;width:clamp(135px,19vw,290px);aspect-ratio:4/5;padding:9px 9px 32px;background:var(--cream);color:var(--ink);box-shadow:0 20px 65px #2517113d;transform:translateY(var(--folio-y,0px)) rotate(var(--folio-turn,-7deg));z-index:1}
.hero-folio img{object-position:center}
.hero-folio span{position:absolute;bottom:12px;left:13px;font-size:8px;letter-spacing:.15em}
.hero-orbit{position:absolute;right:4%;top:14%;z-index:2;display:grid;place-content:center;width:90px;height:90px;border-radius:50%;background:var(--sage);color:var(--wine);font:italic 35px Georgia;text-align:center;transform:rotate(var(--seal-turn,0deg))}
.hero-orbit span{font:6px Arial;letter-spacing:.15em;margin-top:6px}
.intro{padding-top:105px;padding-bottom:105px}
.intro h2{transform:none}
.atelier-motion .intro h2,.atelier-motion .intro-body,.atelier-motion .section-heading,.atelier-motion .service-list details,.atelier-motion .process-list li,.atelier-motion .questions>div,.atelier-motion .beauty-copy{opacity:calc(.45 + var(--reveal,1)*.55);transform:translateY(calc((1 - var(--reveal,1))*24px))}
.atelier-motion .intro h2:focus-within,.atelier-motion .service-list details:focus-within,.atelier-motion .beauty-copy:focus-within{opacity:1;transform:none}

/* Three complete service compositions. They remain normal vertical content without JS. */
.practices{background:var(--wine);color:var(--cream)}
.practice-stage{overflow:hidden;position:relative}
.practice-track{display:block}
.practice-panel{display:grid;grid-template-columns:1.08fr 1fr;min-height:620px;position:relative;overflow:hidden}
.practice-visual{position:relative;min-width:0;overflow:hidden;background:#d6c4b6}
.practice-visual>img{object-position:50% 53%;transform:translateY(var(--visual-shift,0px)) scale(var(--visual-scale,1.045));height:100%;width:100%}
.practice-brow .practice-visual>img{object-position:35% center}
.practice-skin .practice-visual>img{object-position:center 60%}
.practice-number{position:absolute;left:22px;top:18px;color:#fff;font:italic 18px Georgia;text-shadow:0 1px 8px #342c2840}
.practice-copy{padding:clamp(28px,5vw,84px);display:flex;flex-direction:column;justify-content:center;min-width:0}
.practice-copy .eyebrow{font-size:9px;color:inherit;opacity:.65}
.practice-copy h2{font:clamp(54px,6.1vw,94px)/.98 Georgia,serif;letter-spacing:-.065em;margin:30px 0}
.practice-copy h2 em{font-weight:400}
.practice-copy h3{font-size:17px;font-weight:400;line-height:1.7;margin-bottom:16px}
.practice-copy>p:not(.eyebrow){font-size:12px;line-height:2;max-width:370px;opacity:.8}
.practice-tag{font-size:9px;line-height:1.8;border-top:1px solid currentColor;padding-top:15px;margin-top:30px;opacity:.6;max-width:370px}
.practice-brow{background:#d7d7bb;color:#34382a}
.practice-skin{background:#e7ded0;color:var(--wine)}
.brow-contour{position:absolute;width:67%;left:17%;bottom:14%;fill:none;stroke:#f6f0dd;stroke-width:1;opacity:.5;filter:drop-shadow(0 1px 3px #35261780);pointer-events:none}
.brow-contour path{stroke-dasharray:550;stroke-dashoffset:calc((1 - var(--scene-progress,.5))*350)}
.practice-index{display:none}
.practice-pinned .practices{height:320svh}
.practice-pinned .practice-stage{position:sticky;top:var(--header-h);height:calc(100svh - var(--header-h))}
.practice-pinned .practice-track{display:flex;width:100%;height:100%;transform:translateX(var(--scene-x,0%));will-change:transform}
.practice-pinned .practice-panel{flex:0 0 100%;min-height:0;height:100%}
.practice-pinned .practice-index{position:absolute;left:calc(52% + 3vw);right:3vw;bottom:21px;display:flex;align-items:center;gap:12px;font-size:8px;letter-spacing:.12em;mix-blend-mode:difference;color:#fff;pointer-events:none}
.practice-index>span{opacity:.4}.practice-index>span.is-current{opacity:1}.practice-index>i{width:24px;height:1px;background:currentColor;opacity:.3}.chapter-counter{margin-left:auto;font-weight:400}
.type-ribbon{overflow:hidden;border-bottom:1px solid var(--line);padding:36px 0;background:#d7d7bb;color:var(--wine)}
.type-ribbon-track{display:flex;width:max-content;align-items:center;gap:4vw;font:clamp(62px,10vw,150px)/1 Georgia,serif;letter-spacing:-.065em;transform:translateX(var(--type-x,0%));white-space:nowrap}
.type-ribbon-track i{font:normal .6em Arial;letter-spacing:0}.type-ribbon-track em{font-weight:400}

/* The selected works unfold into an actual, keyboard-operable collection. */
.collections{padding-bottom:70px;overflow:clip}
.collection-runway{height:auto}
.collection-pin{position:relative}
.collection-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;align-items:start;--spread:1}
.collection-grid .work,.collection-grid .work-olive,.collection-grid .work-cherry{width:100%;margin:0;grid-column:auto;transform:translateY(calc((1 - var(--card-reveal,1))*42px)) rotate(var(--card-angle,0deg));background:var(--cream)}
.collection-grid .work-image,.collection-grid .work-cherry .work-image{aspect-ratio:4/5}
.collection-grid .work-cherry .work-image img{object-position:68% center}
.collection-grid .work-caption{gap:12px;margin-top:20px}.collection-grid .work-caption h3{font-size:19px}
.collection-grid .work-caption>span{font-size:15px}.collection-grid .work-note{font-size:11px;line-height:1.85}
.collection-grid .work-image{transform:perspective(1000px) rotateY(var(--tilt,0deg));transition:transform .4s ease}
.work-image::after,.colour-visual::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at var(--pointer-x,50%) var(--pointer-y,50%),#fff2,transparent 50%);opacity:0;transition:opacity .3s}
.work-image:hover::after,.colour-visual:hover::after{opacity:1}
.deck-pinned .collection-runway{height:180svh}
.deck-pinned .collection-pin{position:sticky;top:calc(var(--header-h) + 20px);height:calc(100svh - var(--header-h) - 40px);display:flex;align-items:center}
.deck-pinned .collection-grid{width:100%;gap:30px;align-items:start}
.deck-pinned .collection-grid .work{padding:12px 12px 20px;border:1px solid var(--line);box-shadow:0 15px 40px #342c280a;transform-origin:center 85%;position:relative;transition:transform .16s linear}
.deck-pinned .collection-grid .work:nth-child(1){z-index:1;transform:translateX(calc((1 - var(--spread))*78%)) translateY(calc((1 - var(--spread))*16px)) rotate(calc((1 - var(--spread))*-12deg))}
.deck-pinned .collection-grid .work:nth-child(2){z-index:2;transform:translateY(calc((1 - var(--spread))*-20px)) rotate(calc((1 - var(--spread))*2deg))}
.deck-pinned .collection-grid .work:nth-child(3){z-index:3;transform:translateX(calc((1 - var(--spread))*-78%)) translateY(calc((1 - var(--spread))*14px)) rotate(calc((1 - var(--spread))*11deg))}
.deck-pinned .collection-grid:focus-within{--spread:1!important}
.deck-pinned .collection-grid .work:focus-within{z-index:5}
.deck-pinned .collection-grid .work-image{height:clamp(170px,43svh,490px);aspect-ratio:auto}
.deck-pinned .work-note{display:none}
.collection-grid.filtered{gap:28px;grid-template-columns:repeat(2,minmax(0,1fr));max-width:1000px;margin:auto}
.collection-grid.filtered .work{margin:0}.collection-grid.filtered .work-cherry{grid-column:auto;max-width:550px}.collection-grid.filtered:has(.work-cherry:not([hidden])){grid-template-columns:1fr;max-width:550px}
.collection-footer{margin-top:30px;padding-top:24px}

/* Colour selection changes the real imagery, notes and detail destination. */
.colour-study{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center;background:var(--wine);color:var(--cream);padding-top:105px;padding-bottom:105px;overflow:hidden}
.colour-visual{position:relative;transform:translateY(var(--colour-y,0px)) rotate(var(--colour-turn,0deg));isolation:isolate}
.colour-images{height:620px;max-height:80svh;position:relative;overflow:hidden;border-radius:46% 46% 2px 2px;background:#bc9d90}
.colour-images img{position:absolute;inset:0;opacity:0;transform:scale(1.11);transition:opacity .7s,transform 1.2s cubic-bezier(.2,.7,.3,1);object-position:65% center}
.colour-images img.is-current{opacity:1;transform:scale(1)}
.colour-images img[data-colour-image="veil"],.colour-images img[data-colour-image="olive"]{object-position:50% center}
.colour-serial{position:absolute;left:25px;bottom:22px;font-size:9px;letter-spacing:.12em;text-shadow:0 1px 5px #000}
.colour-seal{position:absolute;right:-30px;top:10%;border-radius:50%;background:#d5d6b0;color:var(--wine);width:118px;height:118px;display:grid;align-content:center;text-align:center;font:24px/.95 Georgia;transform:rotate(13deg);box-shadow:0 10px 30px #260c1620}
.colour-copy h2{font-size:clamp(38px,4.5vw,68px);font-weight:400;line-height:1.4;letter-spacing:-.04em;margin:27px 0 33px}
.colour-options{display:flex;gap:22px;flex-wrap:wrap;margin-bottom:33px}
.colour-options button{display:flex;flex-direction:column;align-items:center;gap:12px;font-size:10px;opacity:.55;padding:6px 0;min-width:56px;transition:opacity .25s}
.colour-options i{width:35px;height:35px;border-radius:50%;display:block;outline:1px solid #f3eee560;outline-offset:5px;transition:transform .3s,outline-color .3s}
.colour-options button[aria-pressed="true"]{opacity:1}.colour-options button[aria-pressed="true"] i{outline-color:var(--cream);transform:scale(1.08)}
.swatch-cherry{background:linear-gradient(135deg,#973d40,#3e141a)}.swatch-veil{background:linear-gradient(110deg,#d9c7bd 40%,#f4ece3 42% 49%,#adaca4 50% 54%,#e4d7cd 56%)}.swatch-olive{background:linear-gradient(115deg,#d7bba3 60%,#676d3b 61%)}
.colour-description{min-height:102px}.colour-description h3{font-size:19px;font-weight:400;margin-bottom:14px}.colour-description p{font-size:12px;line-height:2;max-width:360px;color:#e0c9bf}
.colour-specs{font-size:11px;line-height:1.8;margin:22px 0}.colour-specs>div{display:flex;gap:30px;border-top:1px solid #f3eee530;padding:11px 0}.colour-specs dt{width:35px;opacity:.6}.colour-specs dd{margin:0}
.colour-copy .text-button{color:var(--cream);border-color:#f3eee570}
.colour-options button:focus-visible,.colour-copy .text-button:focus-visible{outline-color:#d5d6b0}

/* Brow and skin have their own compositions; tabs switch the image as well as the copy. */
.beauty{align-items:start;position:relative;overflow:clip}
.beauty-image{min-height:0;height:660px;max-height:90svh;position:sticky;top:calc(var(--header-h) + 28px);transform:translateY(var(--beauty-y,0px));border-radius:3px}
.beauty-image img{position:absolute;inset:0;opacity:0;transform:scale(1.09);transition:opacity .65s,transform 1.2s}
.beauty-image img.is-current{opacity:1;transform:scale(1)}
.beauty-image img[data-beauty-image="skin"]{object-position:center 55%}
.beauty-image:hover img.is-current{transform:scale(1.04)}
.beauty-copy{padding:25px 0}.beauty-panel{min-height:320px}
.service-list details{transition:background .3s}.service-list details[open]{background:#f3eee580}
.service-list summary:hover .service-no{color:var(--wine)}
.service-list summary:hover h3{transform:translateX(6px)}.service-list h3{transition:transform .25s}
.reservation{overflow:hidden;position:relative;isolation:isolate}
.reservation::before{content:'nü';position:absolute;z-index:-1;right:3%;top:-13%;font:italic clamp(180px,35vw,520px)/1 Georgia;color:#f3eee50b;transform:translateX(var(--ending-shift,0px)) rotate(-12deg);pointer-events:none}
.reservation h2{transform:translateY(calc(var(--ending-shift,0px)*.3))}

@media(max-width:1100px){.practice-copy{padding:35px}.practice-copy h2{font-size:64px}.practice-copy h3{font-size:15px}.practice-copy>p:not(.eyebrow){font-size:11px}.practice-tag{font-size:8px;margin-top:20px}.colour-study{gap:6vw}.colour-seal{width:95px;height:95px;font-size:20px;right:-20px}.collection-grid{gap:22px}.collection-grid .work-caption>span{display:none}.colour-images{height:570px}.beauty-image{height:640px}}
@media(min-width:760px) and (max-height:650px){.practice-copy{padding:24px 32px 44px}.practice-copy h2{font-size:49px;margin:17px 0}.practice-copy h3{font-size:14px;margin-bottom:10px}.practice-copy>p:not(.eyebrow){font-size:11px;line-height:1.85}.practice-tag{margin-top:16px;padding-top:12px}.practice-index{bottom:15px!important}.deck-pinned .collection-grid .work{padding:8px 8px 13px}.deck-pinned .collection-grid .work-image{height:38svh}.deck-pinned .work-caption h3{font-size:16px}.deck-pinned .work-caption p{font-size:9px;margin-top:7px}.deck-pinned .work-caption{margin-top:13px}.colour-images{max-height:none;height:500px}.beauty-image{position:relative;top:0;max-height:none}}
@media(max-width:899px){.collection-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:45px 25px}.collection-grid .work-cherry{grid-column:1/-1;max-width:680px;margin:0 auto}.collection-grid .work-cherry .work-image{aspect-ratio:1.25}.collection-grid .work-caption>span{display:block}.hero-folio{right:8%;top:27%;width:22vw}.hero-orbit{right:4%;top:20%;width:70px;height:70px;font-size:29px}.hero-orbit span{font-size:5px}}
@media(max-width:759px){.practice-panel{display:grid;grid-template-columns:1fr;grid-template-rows:420px auto;min-height:0}.practice-copy{padding:35px var(--gutter) 45px}.practice-copy h2{font-size:57px;line-height:1;margin:20px 0}.practice-copy h2 br{display:none}.practice-copy h3{font-size:15px;line-height:1.6;margin-bottom:12px}.practice-copy>p:not(.eyebrow){font-size:12px;max-width:500px}.practice-tag{margin-top:23px}.practice-pinned .practice-panel{grid-template-rows:46% 54%}.practice-pinned .practice-copy{padding:20px var(--gutter) 48px}.practice-pinned .practice-copy h2{font-size:clamp(37px,8vw,59px);margin:13px 0 16px}.practice-pinned .practice-copy .eyebrow{font-size:8px}.practice-pinned .practice-copy>p:not(.eyebrow){font-size:11px;line-height:1.85}.practice-pinned .practice-tag{display:none}.practice-pinned .practice-index{left:var(--gutter);right:var(--gutter);bottom:18px;font-size:7px}.practice-number{left:20px;font-size:15px}.practice-brow .practice-visual img{object-position:40% 29%}.brow-contour{width:48%;left:42%;bottom:8%}.type-ribbon{padding:23px 0}.type-ribbon-track{font-size:82px;gap:30px}.colour-study{grid-template-columns:1fr;gap:45px;padding-top:65px;padding-bottom:70px}.colour-visual{width:88%;margin:0 auto}.colour-images{height:440px;max-height:none}.colour-seal{top:10%;right:-15px;width:90px;height:90px}.colour-copy h2{font-size:39px;margin:22px 0 28px}.colour-copy h2 br{display:none}.colour-options{gap:28px;margin-bottom:28px}.colour-description{min-height:90px}.colour-description p{max-width:none}.colour-specs{margin:18px 0}.colour-copy .text-button{font-size:12px}.beauty{display:block}.beauty-image{position:relative;top:0;height:440px;max-height:none;width:100%;margin-bottom:30px}.beauty-copy{padding-top:0}.beauty-panel{min-height:300px}.hero-folio{width:26vw;top:48%;right:7%;padding:6px 6px 23px}.hero-folio span{font-size:6px;bottom:9px;left:9px}.hero-orbit{top:43%;right:3%;width:60px;height:60px;font-size:24px}.hero-orbit span{font-size:4px}.hero-title{top:17%}.hero h1{font-size:clamp(96px,22vw,160px)}.hero-bottom>p{font-size:11px}.hero-image{inset:0 -20%}.hero{min-height:610px}.hero .round-link{width:75px;height:75px}}
@media(max-width:550px){.collection-grid,.collection-grid.filtered{display:grid;grid-template-columns:1fr;gap:48px}.collection-grid .work,.collection-grid .work-cherry,.collection-grid.filtered .work,.collection-grid.filtered .work-cherry{margin:0;width:100%;grid-column:auto}.collection-grid .work-image,.collection-grid .work-cherry .work-image{aspect-ratio:4/4.4}.collection-grid .work-caption>span{display:block}.collection-footer{margin-top:36px}.hero-orbit{right:6%;top:44%}.hero-folio{right:11%;top:50%;width:31vw}.hero h1{font-size:24vw}.hero-title>p{font-size:9px}.hero-top{font-size:7px}.hero-bottom .round-link{height:65px;width:65px}.hero-bottom .round-link b{font-size:22px}.practice-pinned .practice-copy h2{font-size:37px}.practice-pinned .practice-copy h3{font-size:14px}.practice-pinned .practice-copy>p:not(.eyebrow){font-size:11px}.practice-panel:not(.practice-nail) .practice-copy h2{letter-spacing:-.06em}.type-ribbon-track{font-size:72px}.colour-images{height:400px}.beauty-image{height:380px}}
@media(max-width:379px){.practice-pinned .practice-copy h2{font-size:32px}.practice-pinned .practice-copy{padding-top:15px}.practice-pinned .practice-copy h3{font-size:13px}.practice-pinned .practice-copy>p:not(.eyebrow){font-size:10px}.hero-title>p{letter-spacing:0}.hero-folio{top:48%}.colour-visual{width:94%}}
@media(prefers-reduced-motion:reduce){.hero-image{clip-path:none}.hero-title,.hero-folio,.hero-orbit,.practice-track,.practice-visual>img,.type-ribbon-track,.collection-grid .work,.collection-grid .work-image,.colour-visual,.colour-images img,.beauty-image,.reservation h2,.reservation::before{transform:none!important}.practices,.collection-runway{height:auto!important}.practice-stage,.collection-pin{position:relative!important;top:0!important;height:auto!important}.practice-track{display:block!important}.practice-panel{min-height:0;height:auto!important}.practice-index{display:none!important}.colour-images img.is-current{opacity:1}.beauty-image{position:relative;top:0}.brow-contour path{stroke-dashoffset:0}.service-list summary:hover h3{transform:none}.hero-image img{transform:none!important}}
