@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;1,400;1,500&family=Manrope:wght@400;500;600&display=swap');
:root{--paper:#f2f1ed;--ink:#191919;--muted:#64645f;--line:#d5d4ce;--gold:#d2b36a;--serif:'Cormorant Garamond',Georgia,serif;--sans:Manrope,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:0}body{margin:0;background:#050505;color:var(--ink);font:16px/1.8 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}img{display:block;width:100%;height:100%;object-fit:cover}a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:5px}::selection{background:#d8cba9;color:#171717}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.header{position:absolute;inset:0 0 auto;z-index:10;min-height:88px;padding:22px 6%;display:flex;align-items:center}.brand{display:flex;align-items:center;gap:13px;flex-shrink:0}.brand .brand-mark{width:40px;height:42px;object-fit:contain}.brand-lockup{display:block}.brand-lockup img{width:190px;height:20px;object-fit:contain}
.hero{position:relative;isolation:isolate;display:flex;height:100svh;min-height:620px;max-height:1100px;background:#000;color:#f5f2ec;overflow:hidden}.hero-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2}.hero:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#000 0%,#000 22%,#000f 30%,#000e 40%,#0009 55%,#0002 76%,transparent 100%),linear-gradient(0deg,#0008,transparent 45%)}.hero-copy{width:100%;max-width:1700px;margin:0 auto;padding:125px 8% 75px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;position:relative;z-index:1}.hero-flow{position:relative;width:min(500px,44vw,58vh)}.eyebrow{font-size:12px;line-height:1.7;letter-spacing:1.6px;font-weight:500;margin:0;color:var(--muted)}.hero .eyebrow{color:var(--gold)}.hero h1{width:100%;margin:25px 0 14px;font-size:inherit;line-height:1}.handwriting-title{display:block;width:100%;height:auto;overflow:visible}.handwriting-ink{fill:currentColor;stroke:none;fill-opacity:1}.hero-description{color:#d2cec4;font-size:15px;line-height:1.9;margin:0 0 30px}.button{display:inline-flex;justify-content:center;align-items:center;min-height:52px;padding:15px 28px;font:500 14px/1.5 var(--sans);letter-spacing:.4px;border:1px solid #161616;background:#161616;color:#fff;transition:background .2s,color .2s,border-color .2s}.button:hover{background:#363636;border-color:#363636}.hero .button{background:#0005;color:#f5f3ed;border-color:#9e9275}.hero .button:hover{background:#f2f1ed;color:#111;border-color:#f2f1ed}.hero-salon{position:absolute;right:6%;bottom:23%;z-index:2;color:#e2c374;text-shadow:0 2px 22px #000b;font:400 clamp(24px,2.5vw,43px)/1.3 var(--sans);letter-spacing:.07em;white-space:nowrap;animation:salon-arrival 1.8s cubic-bezier(.16,1,.3,1) .4s both}.hero-salon span{font:italic 1.15em var(--serif);padding:0 .08em}@keyframes salon-arrival{from{opacity:0;filter:blur(12px);transform:translateY(18px);letter-spacing:.14em}to{opacity:1;filter:blur(0);transform:translateY(0);letter-spacing:.07em}}
h2{font:400 clamp(46px,4.6vw,72px)/1.02 var(--serif);letter-spacing:-1.2px;margin:22px 0}em{color:inherit;font-weight:400}.text-link{display:inline-block;font-size:14px;line-height:1.7;border-bottom:1px solid #ac9c75;padding:7px 0;transition:opacity .2s}.text-link:hover{opacity:.65}
.photo-scene{position:relative;isolation:isolate;display:flex;align-items:center;min-height:620px;height:100svh;max-height:1100px;padding:70px 8%;overflow:hidden;color:#f4f0e6;background:#050505}.scene-photo{position:absolute;inset:0 0 0 26%;z-index:-2;overflow:hidden}.scene-photo img{width:100%;height:100%;object-fit:cover;object-position:center top}.photo-scene:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#050505 0%,#050505 24%,#050505fa 31%,#050505eb 41%,#05050580 57%,#0505050a 84%),linear-gradient(0deg,#0005,transparent 45%)}.scene-copy{position:relative;z-index:1;width:min(460px,40vw)}.scene-copy .eyebrow{color:var(--gold)}.scene-copy>p:not(.eyebrow){font-size:15px;line-height:1.9;color:#d2cec4;margin:24px 0}.scene-actions{display:flex;flex-direction:column;align-items:flex-start;gap:17px;margin-top:28px}.scene-open{background:#05050580;border-color:#8b8170;color:#fff}.scene-open:hover{background:#ede9df;color:#111;border-color:#ede9df}.philosophy .scene-photo img{object-position:center top}.salon .scene-photo img{object-position:center}.scene-copy>.text-link{margin-top:12px}
.visit{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:var(--paper);padding:70px 8% 40px}.visit h2{font-size:clamp(64px,7.7vw,110px);margin:27px 0 32px;line-height:.98}.visit .button{min-width:230px}.visit-note{font-size:14px;line-height:1.9;color:var(--muted);margin:22px 0 40px;max-width:480px}.visit-details{display:flex;justify-content:space-between;width:100%;gap:20px;border-top:1px solid var(--line);padding-top:22px;font-size:12px;letter-spacing:.5px}footer{background:#000;color:#cecdc4;padding:25px 8%;display:flex;justify-content:space-between;align-items:center;gap:30px}.footer-brand{width:105px;flex-shrink:0}.footer-brand img{height:auto}footer>div{display:flex;flex-direction:column;gap:7px;font-size:11px;letter-spacing:.5px}.prototype-label{color:#85857c}.back-top{font-size:13px}
.lightbox{border:0;padding:0;background:var(--paper);color:var(--ink);width:92vw;max-width:1100px;max-height:92svh;overflow:auto}.lightbox[open]{display:grid;grid-template-columns:1fr 1fr}.lightbox::backdrop{background:#000d}.lightbox-close{position:absolute;top:14px;right:14px;z-index:2;width:44px;height:44px;border:1px solid var(--line);background:var(--paper);font-size:20px}.lightbox-image{height:82svh;max-height:900px}.lightbox-image img{object-fit:contain;background:#e3e2dc}.lightbox-info{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:60px 35px}.lightbox-info h2{font-size:52px}.lightbox-info>p:not(.eyebrow){font-size:15px;line-height:1.9;color:var(--muted);margin-bottom:25px}body.modal-open{overflow:hidden}.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.js .reveal.visible{opacity:1;transform:none}
@media(min-width:701px) and (max-height:730px){.hero{min-height:560px}.hero-copy{padding-top:105px;padding-bottom:45px}.hero-description{margin-bottom:24px}.photo-scene{min-height:560px;padding-top:40px;padding-bottom:40px}.scene-copy h2{font-size:clamp(44px,7vh,64px)}}
@media(max-width:1050px) and (min-width:701px){.hero-copy{padding-left:7%}.hero-flow{width:min(430px,45vw,58vh)}.hero-salon{font-size:25px;right:5%;bottom:18%}.photo-scene{padding-left:7%;padding-right:7%}.scene-copy{width:41vw}.scene-copy h2{font-size:52px}.scene-copy>p:not(.eyebrow){font-size:14px}}
@media(max-width:700px){.header{min-height:72px;padding:20px 7%}.brand{gap:10px}.brand .brand-mark{width:31px;height:34px}.brand-lockup img{width:155px;height:17px}.hero{height:100svh;min-height:620px;max-height:1000px}.hero-background{object-position:69% center}.hero:before{background:linear-gradient(90deg,#000 0%,#000f 8%,#000e 22%,#000b 40%,#0006 66%,#0002 100%),linear-gradient(0deg,#000b 0%,transparent 42%)}.hero-copy{padding:115px 7% 125px}.hero-flow{width:min(370px,100%)}.hero h1{margin:22px 0 14px}.hero-description{font-size:15px;line-height:1.8;margin-bottom:25px;max-width:350px}.hero .eyebrow{font-size:11px;letter-spacing:.8px}.hero .button{min-height:48px;padding:13px 25px}.hero-salon{right:7%;bottom:48px;font-size:clamp(18px,5vw,26px);letter-spacing:.07em}.photo-scene{height:100svh;min-height:640px;max-height:1100px;display:flex;align-items:flex-end;padding:45px 7%;overflow:hidden}.scene-photo{inset:0}.scene-photo img{object-position:center top}.photo-scene:before{background:linear-gradient(180deg,#00000005 0%,#05050508 22%,#05050545 40%,#050505cc 62%,#050505f5 83%,#050505 100%),linear-gradient(90deg,#0003,transparent 75%)}.scene-copy{width:100%;max-width:450px}.scene-copy .eyebrow{font-size:11px;letter-spacing:1px}.scene-copy h2{font-size:46px;letter-spacing:-.8px;margin:17px 0}.scene-copy>p:not(.eyebrow){font-size:15px;line-height:1.8;margin:19px 0;max-width:360px}.scene-actions{gap:12px;margin-top:23px}.scene-copy>.text-link{margin-top:5px}.scene-open{min-height:48px;padding:13px 23px}.philosophy .scene-photo img{object-position:center top}.salon .scene-photo img{object-position:42% center}.visit{padding:55px 7%}.visit h2{font-size:66px;margin:24px 0 30px}.visit-note{font-size:14px;margin-bottom:38px}.visit-details{flex-direction:column;gap:9px;font-size:12px}footer{padding:24px 7%;flex-wrap:wrap;gap:20px}.footer-brand{width:92px}footer>div{order:3;width:100%;font-size:10px}.lightbox[open]{display:block}.lightbox-image{height:56svh}.lightbox-info{padding:26px}.lightbox-info h2{font-size:42px}.lightbox-info>p:not(.eyebrow){font-size:14px;margin:10px 0 22px}.lightbox-info .button{width:100%;padding:15px 20px}}
@media(max-width:360px){.brand-lockup img{width:138px;height:15px}.brand .brand-mark{width:28px;height:31px}.hero-copy{padding-bottom:118px}.hero-description{font-size:14px}.hero-salon{bottom:40px}.scene-copy h2{font-size:40px}.scene-copy>p:not(.eyebrow){font-size:14px}.photo-scene{padding-bottom:36px}.visit h2{font-size:59px}.lightbox-info h2{font-size:37px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.js .reveal{opacity:1;transform:none}.hero-salon{opacity:1;filter:none;transform:none}}
/* Compact navigation, original monogram, editorial title and gold pen signature. */
.header{min-height:78px;padding:17px 6%;justify-content:space-between;gap:28px;border-bottom:1px solid #ffffff20;background:#0008}.header nav{display:flex;gap:32px;font-size:14px;color:#ede9df}.header nav a,.header-cta{transition:opacity .2s}.header nav a:hover,.header-cta:hover{opacity:.65}.header-cta{font-size:14px;letter-spacing:.3px;border-bottom:1px solid #a3a39a;padding:6px 0;color:#ede9df}.menu-toggle{display:none}.mobile-nav[hidden]{display:none}.hero h1{font:400 clamp(78px,7.6vw,125px)/.93 var(--serif);letter-spacing:-2px;margin:30px 0 25px}.hero-salon{width:clamp(310px,35vw,540px);font-size:inherit;line-height:1;letter-spacing:normal;animation:none;filter:none;transform:none;text-shadow:none}.salon-signature{display:block;width:100%;height:auto;overflow:visible;color:#dfbd69}.salon-ink{fill:currentColor;stroke:currentColor;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:0}.js .salon-ink{fill-opacity:0;stroke-dashoffset:1;animation:salon-pen .75s ease var(--pen-delay) forwards}.salon-light{opacity:0;animation:salon-glint 1.6s cubic-bezier(.35,0,.3,1) 2.8s forwards;filter:drop-shadow(0 0 4px #ffe39b)}@keyframes salon-pen{0%{stroke-dashoffset:1;fill-opacity:0;stroke-opacity:1}75%{stroke-dashoffset:0;fill-opacity:0;stroke-opacity:1}100%{stroke-dashoffset:0;fill-opacity:1;stroke-opacity:0}}@keyframes salon-glint{0%{opacity:0;transform:translateX(0)}12%,80%{opacity:1}100%{opacity:0;transform:translateX(var(--light-travel))}}
@media(min-width:701px) and (max-height:730px){.hero h1{font-size:clamp(64px,min(7.5vw,15vh),100px);margin:24px 0}}
@media(max-width:1050px) and (min-width:701px){.header nav{gap:22px}.header-cta{font-size:12px}.hero-salon{width:34vw;min-width:275px}}
@media(max-width:700px){.header{min-height:70px;padding:13px 7%}.header nav,.header-cta{display:none}.menu-toggle{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:7px;width:44px;height:44px;border:0;padding:8px;background:transparent}.menu-toggle span{width:24px;height:1px;background:#e7e6de;transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.mobile-nav{position:absolute;top:70px;left:0;width:100%;z-index:12;display:flex;flex-direction:column;gap:18px;background:#000f;color:#eae9e2;padding:22px 7% 28px;border-bottom:1px solid #333;font-size:15px}.hero h1{font-size:clamp(64px,16vw,90px);line-height:.92;letter-spacing:-1.5px;margin:23px 0 20px}.hero-salon{width:78%;min-width:0;max-width:380px;right:7%;bottom:36px}}
@media(max-width:360px){.hero h1{font-size:60px}.hero-salon{bottom:31px;width:81%}}
@media(prefers-reduced-motion:reduce){.js .salon-ink{animation:none!important;fill-opacity:1;stroke-opacity:0;stroke-dashoffset:0}.salon-light{animation:none!important;opacity:0}}

/* Original wordmark and separate photo / copy surfaces. */
.hero-salon{width:clamp(300px,35vw,500px);line-height:1;animation:wordmark-arrive 1.35s ease .25s both;filter:none;transform:none}
.hero-salon img{width:100%;height:auto;filter:drop-shadow(0 2px 14px #0009)}
.hero-salon:after{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 35%,#fff8d8 50%,transparent 65%);background-size:350% 100%;background-position:150% 0;mask-image:url('assets/logo-wordmark.png');mask-size:100% 100%;mask-repeat:no-repeat;animation:wordmark-light 1.5s ease 1.55s both;pointer-events:none}
@keyframes wordmark-arrive{from{opacity:0;transform:translateY(12px);filter:blur(7px)}to{opacity:1;transform:none;filter:blur(0)}}
@keyframes wordmark-light{0%{opacity:0;background-position:150% 0}15%,80%{opacity:1}100%{opacity:0;background-position:-50% 0}}
.photo-scene{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7%;align-items:center;padding:clamp(36px,6svh,80px) 8%;height:auto;min-height:100svh;max-height:none;background:#050505;overflow:visible}
.photo-scene:before{display:none}
.scene-photo{position:relative;inset:auto;grid-column:2;grid-row:1;width:100%;height:min(76svh,820px);z-index:0;display:flex;align-items:center;justify-content:center;overflow:hidden}
.scene-photo img{width:auto;max-width:100%;height:100%;object-fit:contain;object-position:center;mask-image:linear-gradient(90deg,transparent 0%,#0008 6%,#000 17%,#000 100%)}
.scene-copy{grid-column:1;grid-row:1;width:100%;max-width:460px;z-index:1;background:#050505}
.philosophy .scene-photo img,.salon .scene-photo img{object-position:center}
@media(max-width:1050px) and (min-width:701px){.photo-scene{padding-left:6%;padding-right:6%;gap:5%}.scene-copy{width:100%}}
@media(max-width:700px){
 .hero-salon{width:78%;min-width:0;max-width:360px;right:7%;bottom:44px}
 .photo-scene{display:grid;grid-template-columns:1fr;grid-template-rows:auto auto;align-content:center;gap:0;padding:28px 7% 38px;min-height:100svh;height:auto;max-height:none;overflow:visible}
 .scene-photo{grid-column:1;grid-row:1;inset:auto;width:100%;height:clamp(260px,46svh,470px);padding:0;overflow:hidden}
 .scene-photo img{width:auto;max-width:100%;height:100%;object-fit:contain;mask-image:linear-gradient(180deg,#000 0%,#000 76%,#000b 87%,transparent 100%)}
 .scene-copy{grid-column:1;grid-row:2;width:100%;max-width:none;padding:12px 0 0;background:#050505}
 .scene-copy h2{font-size:43px;margin:15px 0}
 .scene-copy>p:not(.eyebrow){margin:17px 0;max-width:none;font-size:14px;line-height:1.8}
 .scene-actions{margin-top:19px;gap:12px}
 .scene-copy .eyebrow{font-size:11px}
}
@media(max-width:360px){.hero-salon{bottom:36px;width:81%}.scene-copy h2{font-size:39px}.scene-photo{height:clamp(240px,43svh,400px)}}
@media(prefers-reduced-motion:reduce){.hero-salon{animation:none!important;opacity:1;transform:none;filter:none}.hero-salon:after{animation:none!important;opacity:0}}
/* Alternating half-photo scenes. */
.photo-scene{--scene-bg:#050505;--scene-ink:#f4f0e6;display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch;padding:0;height:100svh;min-height:620px;max-height:1100px;background:var(--scene-bg);color:var(--scene-ink);overflow:hidden}
.scene-photo{grid-column:2;grid-row:1;position:relative;width:100%;height:100%;inset:auto;display:block;overflow:hidden;z-index:0}
.scene-photo img{width:100%;height:100%;max-width:none;object-fit:cover;object-position:center top;mask-image:none}
.scene-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--scene-bg) 0%,transparent 22%);pointer-events:none}
.scene-copy{grid-column:1;grid-row:1;width:100%;max-width:none;height:100%;padding:60px 5vw 60px 8vw;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;background:var(--scene-bg);color:var(--scene-ink)}
.scene-copy>p:not(.eyebrow){max-width:440px;color:#ccc8bf}.scene-copy h2{max-width:100%}
.scene-light{--scene-bg:#f5f4ef;--scene-ink:#1c1c19}.scene-light .scene-copy>p:not(.eyebrow){color:#5c5b56}.scene-light .eyebrow{color:#927137}.scene-light .text-link{border-color:#a18b5d}
.scene-reverse .scene-photo{grid-column:1}.scene-reverse .scene-copy{grid-column:2;padding:60px 8vw 60px 5vw}.scene-reverse .scene-photo:after{background:linear-gradient(270deg,var(--scene-bg) 0%,transparent 22%)}
.philosophy .scene-photo img{object-position:center top}.salon .scene-photo img{object-position:center}
/* Fine, irregular hems rather than straight button rectangles. */
.button,.header-cta,.menu-toggle,.lightbox-close{position:relative;isolation:isolate;border:0!important;background:transparent!important;overflow:visible}
.button{padding:17px 32px;--button-fill:#171717;--button-edge:#a59268}
.button-edge{position:absolute;inset:0;width:100%;height:100%;z-index:-1;overflow:visible;pointer-events:none}
.button-edge path{fill:var(--button-fill,#171717);stroke:var(--button-edge,#a59268);stroke-width:1;transition:fill .25s,stroke .25s}
.button:hover{--button-fill:#30302b;--button-edge:#c9b171;color:#fff}
.hero .button,.scene-open{--button-fill:#050505b0;--button-edge:#c4b185;color:#f5f1e6}
.hero .button:hover,.scene-open:hover{--button-fill:#22221e;--button-edge:#e3cb91;color:#fff}
.header-cta{--button-fill:#0005;--button-edge:#a89771;padding:12px 22px;font-size:13px}
.menu-toggle{--button-fill:transparent;--button-edge:#a59268}
.lightbox-close{--button-fill:#f2f1ed;--button-edge:#9b917b}
/* Smaller original wordmark: soft appearance, no outline or travelling shine. */
.hero-salon{width:clamp(220px,23vw,340px);left:73%;top:54%;right:auto;bottom:auto;transform:translate(-50%,-50%);animation:wordmark-soft 1.2s ease .25s both;filter:none;text-shadow:none}
.hero-salon img{width:100%;height:auto;opacity:0;filter:none}
.hero-salon:before{content:'';position:absolute;inset:0;background:linear-gradient(105deg,#b99445,#e5ca7d 48%,#b48b38);mask-image:url('assets/logo-wordmark.png');mask-size:100% 100%;mask-repeat:no-repeat}
.hero-salon:after{display:none;animation:none}
@keyframes wordmark-soft{from{opacity:0;filter:blur(5px)}to{opacity:1;filter:blur(0)}}
/* Sparse crystal reflections on the fabric, separate from the name. */
.fabric-sparkles{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.fabric-sparkles i{position:absolute;width:3px;height:3px;border-radius:50%;background:#fff9df;box-shadow:0 0 7px 2px #fff3c485;opacity:0;animation:fabric-glimmer 9s ease-in-out infinite}
.fabric-sparkles i:before,.fabric-sparkles i:after{content:'';position:absolute;left:1px;top:-6px;width:1px;height:15px;background:linear-gradient(transparent,#fff9dc,transparent)}
.fabric-sparkles i:after{transform:rotate(90deg)}
.fabric-sparkles i:nth-child(1){left:79%;top:27%;animation-delay:.7s}.fabric-sparkles i:nth-child(2){left:87%;top:49%;animation-delay:3.1s}.fabric-sparkles i:nth-child(3){left:66%;top:71%;animation-delay:5.6s}.fabric-sparkles i:nth-child(4){left:92%;top:78%;animation-delay:7.2s}
@keyframes fabric-glimmer{0%,33%,49%,100%{opacity:0;transform:scale(.3)}40%{opacity:.9;transform:scale(1)}44%{opacity:.2;transform:scale(.6)}}
.visit{align-items:flex-start;text-align:left;padding:75px 8% 55px 55%;background:linear-gradient(100deg,#050505 0%,#050505 25%,#b7b6af 48%,#f5f4ef 66%,#f5f4ef 100%)}
.visit h2{font-size:clamp(56px,5.8vw,86px);color:#8a692f}.visit .eyebrow{color:#8c6c35}.visit-note{max-width:430px}.visit-details{flex-direction:column;gap:10px;border-color:#c6c2b7}
@media(max-width:1050px) and (min-width:701px){.scene-copy{padding:42px 4vw 42px 6vw}.scene-reverse .scene-copy{padding:42px 6vw 42px 4vw}.scene-copy h2{font-size:48px}}
@media(max-width:700px){
 .hero .eyebrow{max-width:320px;line-height:1.8}.hero-salon{left:50%;top:auto;right:auto;bottom:52px;transform:translateX(-50%);width:62%;max-width:280px;min-width:0}
 .photo-scene{grid-template-columns:1fr;grid-template-rows:minmax(280px,48svh) auto;min-height:100svh;height:auto;max-height:none;padding:0;gap:0;overflow:hidden}
 .scene-photo,.scene-reverse .scene-photo{grid-column:1;grid-row:1;height:100%;width:100%;padding:0;display:block;inset:auto}
 .scene-photo img{width:100%;height:100%;object-fit:cover;object-position:center 12%;mask-image:none}
 .scene-photo:after,.scene-reverse .scene-photo:after{background:linear-gradient(180deg,transparent 70%,var(--scene-bg) 100%)}
 .scene-copy,.scene-reverse .scene-copy{grid-column:1;grid-row:2;padding:25px 7% 42px;height:auto;width:100%;max-width:none;min-height:0;background:var(--scene-bg)}
 .scene-copy h2{font-size:43px}.scene-copy>p:not(.eyebrow){font-size:14px;line-height:1.8;margin:18px 0}
 .scene-actions{margin-top:17px;gap:12px}.button{padding:17px 28px}.menu-toggle{width:44px;height:44px}
 .fabric-sparkles i:nth-child(1){left:88%;top:25%}.fabric-sparkles i:nth-child(2){left:83%;top:49%}.fabric-sparkles i:nth-child(3){left:68%;top:72%}.fabric-sparkles i:nth-child(4){left:94%;top:66%}
 .visit{padding:60px 7%;align-items:flex-start;text-align:left;background:linear-gradient(125deg,#f5f4ef 0%,#f5f4ef 66%,#c4c2b9 84%,#050505 100%)}.visit h2{font-size:64px}.visit-note{max-width:330px}.visit-details{width:85%}
}
@media(max-width:360px){.hero-salon{bottom:39px;width:64%}.scene-copy h2{font-size:39px}.visit h2{font-size:56px}}
@media(prefers-reduced-motion:reduce){.fabric-sparkles{display:none}.hero-salon{animation:none!important;opacity:1;filter:none}}

/* v11: quiet gold details and softly framed photography. */
.hero-salon{left:50%;top:105px;bottom:auto;right:auto;width:clamp(190px,18vw,250px);max-width:none;min-width:0;transform:translateX(-50%)}
.hero-copy{padding-top:155px}
.button,.hero .button,.scene-open,.header-cta,.lightbox-info .button{min-width:0;min-height:44px;padding:8px 0 10px;border:0!important;border-bottom:1px solid var(--gold)!important;background:transparent!important;color:inherit;letter-spacing:.25px;align-self:flex-start;font-size:16px;line-height:1.65;transition:color .2s,opacity .2s}
.button:hover,.hero .button:hover,.scene-open:hover,.header-cta:hover{background:transparent!important;color:var(--gold);opacity:1}
.header-cta{font-size:14px;align-self:center;color:#ede9df}
.text-link{border-color:var(--gold);padding-bottom:8px}
.menu-toggle,.lightbox-close{border:0!important;background:transparent!important}
.lightbox-close{background:#f5f4ef!important;color:#161616;border-radius:50%}
.photo-scene{margin:0;border:0;outline:0;min-height:100svh;height:auto;max-height:none;background:var(--scene-bg);align-items:center}
.scene-photo,.scene-reverse .scene-photo{display:flex;justify-content:center;align-items:center;height:100%;min-height:100svh;padding:40px 0;background:var(--scene-bg)}
.scene-photo img,.philosophy .scene-photo img,.salon .scene-photo img{display:block;width:auto;height:auto;max-width:88%;max-height:min(78svh,760px);object-fit:contain;object-position:center;mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent),linear-gradient(180deg,transparent,#000 7%,#000 93%,transparent);mask-composite:intersect}
.scene-photo:after,.scene-reverse .scene-photo:after{display:none}
.scene-copy,.scene-reverse .scene-copy{height:auto;background:var(--scene-bg)}
.scene-copy>p:not(.eyebrow){font-size:16px}
.fabric-sparkles i{width:4px;height:4px;background:#fffdf2;box-shadow:0 0 9px 3px #fff4c9a8;animation:fabric-diamond 5.4s ease-in-out infinite}
.fabric-sparkles i:before,.fabric-sparkles i:after{left:1.5px;top:-10px;height:24px;background:linear-gradient(transparent,#fffdf4,transparent)}
.fabric-sparkles i:nth-child(1){left:79%;top:27%;animation-delay:-1.1s}
.fabric-sparkles i:nth-child(2){left:87%;top:49%;animation-delay:-3.8s}
.fabric-sparkles i:nth-child(3){left:66%;top:71%;animation-delay:-2.3s}
.fabric-sparkles i:nth-child(4){left:92%;top:78%;animation-delay:-.6s}
.fabric-sparkles i:nth-child(5){left:72%;top:43%;animation-delay:-4.5s}
.fabric-sparkles i:nth-child(6){left:94%;top:32%;animation-delay:-2.7s}
.fabric-sparkles i:nth-child(7){left:82%;top:65%;animation-delay:-4.9s}
.fabric-sparkles i:nth-child(8){left:61%;top:87%;animation-delay:-3.2s}
.fabric-sparkles i:nth-child(9){left:90%;top:91%;animation-delay:-1.8s}
.fabric-sparkles i:nth-child(10){left:65%;top:52%;animation-delay:-.2s}
.fabric-sparkles i:nth-child(11){left:85%;top:15%;animation-delay:-4.1s}
.fabric-sparkles i:nth-child(12){left:74%;top:82%;animation-delay:-.9s}
@keyframes fabric-diamond{0%,12%,52%,100%{opacity:0;transform:scale(.35) rotate(0)}27%{opacity:1;transform:scale(1.25) rotate(12deg)}36%{opacity:.45;transform:scale(.7) rotate(18deg)}43%{opacity:.9;transform:scale(1) rotate(23deg)}}
.visit{align-items:center;text-align:center;padding:85px 8% 50px;background:#050505;color:#f4f0e6;margin:0;border:0}
.visit h2{color:var(--gold)}.visit .eyebrow{color:var(--gold)}.visit .button{align-self:center}.visit-note{color:#c8c4ba;max-width:460px}.visit-details{width:100%;border-color:#ffffff24;color:#d8d3c7;flex-direction:row}
footer{background:#f5f4ef;color:#33312b;margin:0;border:0;padding:35px 8%;min-height:140px}
.footer-brand{width:240px;display:flex;align-items:center;gap:14px}.footer-brand>img{width:32px;height:36px;object-fit:contain}.footer-wordmark{display:block;width:190px;position:relative}.footer-wordmark img{width:100%;height:auto;opacity:0}.footer-wordmark:before{content:'';position:absolute;inset:0;background:#a48137;mask:url('assets/logo-wordmark.png') center/100% 100% no-repeat}footer .prototype-label{color:#77736a}
@media(max-width:700px){
 .hero-salon{top:94px;bottom:auto;width:205px;left:50%;transform:translateX(-50%)}
 .hero-copy{padding:150px 7% 65px;justify-content:center}
 .hero .button{padding:8px 0 10px;font-size:16px}
 .hero-flow{width:100%}.hero h1{font-size:clamp(58px,16vw,90px)}
 .photo-scene{grid-template-rows:auto auto;min-height:100svh;align-content:center}
 .scene-photo,.scene-reverse .scene-photo{min-height:0;height:52svh;padding:24px 0 0}
 .scene-photo img{width:auto;height:auto;max-width:86%;max-height:100%}
 .scene-copy,.scene-reverse .scene-copy{padding:18px 7% 45px}
 .scene-copy>p:not(.eyebrow){font-size:15px}.scene-actions{gap:18px}
 .button{padding:8px 0 10px}.scene-actions .button{width:max-content}
 .fabric-sparkles i:nth-child(1){left:88%;top:25%}.fabric-sparkles i:nth-child(2){left:83%;top:49%}.fabric-sparkles i:nth-child(3){left:68%;top:72%}.fabric-sparkles i:nth-child(4){left:94%;top:66%}
 .fabric-sparkles i:nth-child(5){left:79%;top:39%}.fabric-sparkles i:nth-child(6){left:96%;top:44%}.fabric-sparkles i:nth-child(7){left:87%;top:83%}.fabric-sparkles i:nth-child(8){left:74%;top:93%}.fabric-sparkles i:nth-child(9){left:94%;top:91%}.fabric-sparkles i:nth-child(10){left:80%;top:61%}.fabric-sparkles i:nth-child(11){left:96%;top:17%}.fabric-sparkles i:nth-child(12){left:61%;top:85%}
 .visit{background:#050505;align-items:center;text-align:center;padding:65px 7% 40px}.visit-details{width:100%;flex-direction:column}.visit-note{max-width:340px}
 footer{padding:30px 7%;gap:24px}.footer-brand{width:220px}.footer-wordmark{width:174px}footer>div{font-size:11px}
}
@media(max-width:360px){.hero-salon{top:92px;width:185px}.hero h1{font-size:56px}.hero-copy{padding-top:160px}.hero-description{font-size:14px}.scene-copy h2{font-size:39px}}
@media(prefers-reduced-motion:reduce){.fabric-sparkles{display:none}.hero-salon{transform:translateX(-50%);animation:none!important}}

/* v12: two photographic cards, followed by full half-width portraits. */
.collection-cards{background:#050505;color:#f4f0e6;padding:65px 8%;min-height:100svh;display:flex;flex-direction:column;justify-content:center;gap:35px}
.collection-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;max-width:1120px;width:100%;margin:0 auto}
.collection-heading .eyebrow{color:var(--gold)}.collection-heading h2{font:400 clamp(44px,4.3vw,68px)/1.02 var(--serif);letter-spacing:-.7px;margin:17px 0 0}.collection-heading h2 em{font-weight:400}.collection-heading>.text-link{flex-shrink:0;margin:0 0 5px}
.collection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;width:100%;max-width:1120px;margin:0 auto}
.collection-card{display:block;min-width:0;padding:0;border:0;border-radius:0;background:#1a1714;overflow:hidden;cursor:zoom-in;aspect-ratio:1181/1770;max-height:70svh;justify-self:center;width:auto;max-width:100%}
.collection-card img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .6s ease}
.collection-card:hover img{transform:scale(1.025)}
.detail-story,.philosophy{height:100svh;min-height:620px;max-height:1100px;align-items:stretch}
.detail-story .scene-photo,.philosophy .scene-photo{display:block;min-height:0;height:100%;padding:0;position:relative;overflow:hidden}
.detail-story .scene-photo img,.philosophy .scene-photo img{width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;object-position:center 20%;mask-image:none}
.detail-story .scene-photo:after,.philosophy .scene-photo:after{display:block;position:absolute;inset:0;content:'';pointer-events:none;background:linear-gradient(90deg,var(--scene-bg),transparent 30%)}
.detail-story .scene-photo:after{background:linear-gradient(270deg,var(--scene-bg),transparent 30%)}
.detail-story .scene-copy,.philosophy .scene-copy{height:100%}
@media(max-width:700px){
 .collection-cards{padding:45px 7%;gap:28px;min-height:100svh}
 .collection-heading{display:block}.collection-heading h2{font-size:43px}.collection-heading>.text-link{display:inline-block;margin:23px 0 0}
 .collection-grid{grid-template-columns:1fr;gap:24px;max-width:420px}
 .collection-card{width:100%;height:auto;max-height:none;aspect-ratio:1181/1770}
 .detail-story,.philosophy{height:auto;min-height:100svh;max-height:none;grid-template-rows:55svh auto;align-content:stretch}
 .detail-story .scene-photo,.philosophy .scene-photo{height:100%;min-height:0;padding:0}
 .detail-story .scene-photo img,.philosophy .scene-photo img{width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;object-position:center 24%}
 .detail-story .scene-photo:after,.philosophy .scene-photo:after{background:linear-gradient(180deg,transparent 72%,var(--scene-bg) 100%)}
 .detail-story .scene-copy,.philosophy .scene-copy{height:auto;padding:24px 7% 45px}
}
@media(prefers-reduced-motion:reduce){.collection-card:hover img{transform:none}}
@media(min-width:701px){.collection-cards{padding:45px 8%;gap:30px}.collection-grid{max-width:850px}.collection-card{max-height:calc(100svh - 280px)}}

/* v13: viewport compositions, oval collection and quiet entrance motion. */
.hero,.photo-scene,.collection-cards,.visit{height:100svh;min-height:0;max-height:none}
.collection-cards{padding:clamp(24px,4svh,48px) 8%;gap:clamp(20px,3svh,32px);overflow:hidden}
.collection-heading h2{font-size:clamp(40px,5.5svh,66px)}
.collection-grid{height:min(64svh,640px);min-height:0;max-width:760px;gap:50px;justify-items:center}
.collection-card{height:100%;width:auto;max-width:100%;max-height:none!important;aspect-ratio:.55;border-radius:999px;background:#25201d}
.collection-card img{object-fit:cover;object-position:center}
.detail-story,.salon{grid-template-columns:65% 35%;grid-template-rows:1fr;align-items:stretch}
.detail-story .scene-photo,.salon .scene-photo{grid-column:1;grid-row:1;display:block;height:100%;min-height:0;padding:0;overflow:hidden;position:relative}
.detail-story .scene-photo img,.salon .scene-photo img{width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;object-position:center top;mask-image:none}
.detail-story .scene-photo:after,.salon .scene-photo:after{display:block;content:'';position:absolute;inset:0;background:linear-gradient(270deg,var(--scene-bg) 0%,transparent 28%);pointer-events:none}
.detail-story .scene-copy,.salon .scene-copy{grid-column:2;grid-row:1;height:100%;padding:38px 5vw 38px 2.5vw;min-width:0}
.detail-story .scene-copy h2,.salon .scene-copy h2{font-size:clamp(37px,3.9vw,62px);line-height:1.04}
.scene-copy h2{font-size:clamp(40px,5vw,70px)}
.scene-copy>p:not(.eyebrow){font-size:clamp(14px,1.2vw,17px);line-height:1.8}
.philosophy .scene-photo{min-height:0}.philosophy .scene-photo img{object-position:center top}
.visit{padding:45px 8%}.visit h2{font-size:clamp(54px,10svh,100px)}
.js .motion-text{opacity:0;transform:translateY(20px);transition:opacity 1s ease var(--reveal-delay,0ms),transform 1s cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms)}
.js .motion-text.visible{opacity:1;transform:translateY(0)}
.button,.hero .button,.scene-open,.header-cta,.text-link,.lightbox-info .button{position:relative;border-bottom:0!important}
.line-reveal:after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--gold);transform:scaleX(1);transform-origin:left center;pointer-events:none}
.js .line-reveal:after{transform:scaleX(0);transition:transform 1.25s cubic-bezier(.22,1,.36,1) .25s}
.js .line-reveal.line-visible:after{transform:scaleX(1)}
@media(max-width:700px){
 .hero-copy{padding:140px 7% 42px}.hero h1{font-size:clamp(53px,15.5vw,84px)}
 .collection-cards{padding:30px 7%;gap:25px;justify-content:center}
 .collection-heading h2{font-size:clamp(35px,5.8svh,45px);margin:12px 0 0}.collection-heading>.text-link{margin:18px 0 0;font-size:14px}
 .collection-grid{grid-template-columns:1fr 1fr;gap:15px;height:min(62svh,calc(100svh - 245px));max-width:430px;flex-shrink:1}
 .collection-card{width:100%;height:100%;aspect-ratio:auto;max-height:none}.collection-card img{object-fit:cover;object-position:center}
 .photo-scene{grid-template-columns:1fr;grid-template-rows:60% 40%;align-content:stretch}
 .detail-story,.salon{grid-template-columns:1fr;grid-template-rows:65% 35%}
 .photo-scene .scene-photo,.photo-scene.scene-reverse .scene-photo{grid-column:1;grid-row:1;height:100%;min-height:0;padding:0}
 .photo-scene .scene-photo img{width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;object-position:center top;mask-image:none}
 .photo-scene .scene-photo:after,.photo-scene.scene-reverse .scene-photo:after{display:block;content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 74%,var(--scene-bg) 100%)}
 .photo-scene .scene-copy,.photo-scene.scene-reverse .scene-copy{grid-column:1;grid-row:2;height:100%;padding:8px 7% 18px;justify-content:center;min-height:0}
 .scene-copy .eyebrow{font-size:10px;letter-spacing:.7px;line-height:1.5}
 .scene-copy h2,.detail-story .scene-copy h2,.salon .scene-copy h2{font-size:clamp(30px,4.6svh,43px);line-height:1.02;margin:9px 0}
 .scene-copy>p:not(.eyebrow){font-size:clamp(12px,1.8svh,15px);line-height:1.6;margin:8px 0}
 .scene-copy>.text-link{font-size:13px;line-height:1.5;padding-bottom:5px;margin-top:6px;min-height:30px}
 .visit{padding:35px 7%}.visit h2{font-size:clamp(50px,8.7svh,70px);margin:22px 0}.visit-note{margin:20px 0 30px;font-size:14px}
}
@media(max-width:700px) and (max-height:690px){
 .hero h1{font-size:53px;margin:16px 0}.hero-description{font-size:13px;line-height:1.7;margin-bottom:20px}.hero .eyebrow{font-size:10px}
 .scene-copy h2,.detail-story .scene-copy h2,.salon .scene-copy h2{font-size:29px;margin:6px 0}.scene-copy>p:not(.eyebrow){font-size:12px;line-height:1.5;margin:6px 0}.scene-copy .eyebrow{font-size:9px}.scene-copy>.text-link{font-size:12px;margin-top:3px;min-height:25px}
 .collection-cards{padding:20px 7%;gap:20px}.collection-grid{height:calc(100svh - 220px)}.collection-heading h2{font-size:35px}
}
@media(prefers-reduced-motion:reduce){.js .motion-text{opacity:1;transform:none;transition:none}.js .line-reveal:after{transform:scaleX(1);transition:none}}

/* v14: larger collection on the right; full-height, less cropped photographs. */
.collection-card{position:relative}
.jewel-sparkles{position:absolute;inset:0;display:block;pointer-events:none;overflow:hidden;z-index:2}
.jewel-sparkles i{position:absolute;width:3px;height:3px;border-radius:50%;background:#fffdf0;box-shadow:0 0 8px 2px #fff3c69c;opacity:0;animation:jewel-glint 5.8s ease-in-out var(--spark-delay,0s) infinite}
.jewel-sparkles i:before,.jewel-sparkles i:after{content:'';position:absolute;left:1px;top:-8px;width:1px;height:19px;background:linear-gradient(transparent,#fffef5,transparent)}
.jewel-sparkles i:after{transform:rotate(90deg)}
@keyframes jewel-glint{0%,12%,53%,100%{opacity:0;transform:scale(.35)}26%{opacity:1;transform:scale(1.15)}35%{opacity:.25;transform:scale(.6)}43%{opacity:.8;transform:scale(1)}}
@media(min-width:701px){
 .collection-cards{display:grid;grid-template-columns:34% 66%;align-items:center;gap:0;padding:45px 5% 45px 8%}
 .collection-heading{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;width:100%;gap:35px;margin:0;padding-right:25px}
 .collection-heading h2{font-size:clamp(40px,4.2vw,68px);line-height:1.04}.collection-heading>.text-link{margin:0}
 .collection-grid{width:100%;height:min(78svh,820px);max-width:none;gap:25px;margin:0;align-items:center;justify-items:center}
 .collection-card{width:100%;height:100%;max-width:340px;aspect-ratio:auto}
 .distant-photo:before{content:'';position:absolute;inset:-20px;background-image:var(--photo-backdrop);background-size:cover;background-position:center;filter:blur(22px);opacity:.55;pointer-events:none}
 .detail-story .distant-photo>img,.salon .distant-photo>img{position:relative;object-fit:contain;object-position:center top;mask-image:linear-gradient(90deg,transparent 0%,#000 8%,#000 92%,transparent 100%)}
 .detail-story .distant-photo:after,.salon .distant-photo:after{z-index:3;background:linear-gradient(270deg,var(--scene-bg) 0%,transparent 22%)}
}
@media(prefers-reduced-motion:reduce){.jewel-sparkles{display:none}}
@media(min-width:701px){.detail-story .distant-photo>img,.salon .distant-photo>img{width:auto;height:100%;max-width:100%;margin:0 auto;mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}}

/* v15: settle photos and text into place; fade photographs only toward the copy. */
.js .motion-text{transform:translateY(26px);transition:opacity .95s ease var(--reveal-delay,0ms),transform 1.15s cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms);will-change:opacity,transform}
.js .motion-text.visible{opacity:1;transform:translateY(0)}
.js .motion-photo{opacity:0;transform:translateY(34px) scale(.985);transition:opacity 1.15s ease var(--reveal-delay,0ms),transform 1.35s cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms);will-change:opacity,transform}
.js .motion-photo.visible{opacity:1;transform:translateY(0) scale(1)}
@media(min-width:701px){
 .distant-photo:before{display:none}
 .detail-story .distant-photo>img,.salon .distant-photo>img{margin:0;mask-image:linear-gradient(90deg,#000 0%,#000 78%,transparent 100%)}
 .detail-story .distant-photo:after,.salon .distant-photo:after{display:none}
}
@media(prefers-reduced-motion:reduce){.js .motion-text,.js .motion-photo{opacity:1;transform:none;transition:none;will-change:auto}}
