/* Luna editorial / v4. Existing functional contracts remain intact. */
:root{--paper:#fff8f4;--ink:#173d41;--berry:#a91953;--hot:#a91953;--cream:var(--paper);--pink:#f8d6e1;--aqua:#c4e6df;--olive:var(--ink);--luna-rule:#173d4133}
body{background:var(--paper)}p{font-size:15px;line-height:1.8;color:#405b5b}button{color:inherit}img{max-width:100%}section{padding:100px max(6%,calc((100vw - 1440px)/2))}h2{font-size:clamp(38px,5.4vw,80px);letter-spacing:-3px;font-weight:500}h2 em,h3 em{font-family:'Cormorant',Georgia,serif;font-weight:400;color:var(--berry)}.eyebrow{font-size:11px;line-height:1.6;letter-spacing:2px}.btn{border-radius:2px;background:var(--ink);box-shadow:none;font-size:13px;min-height:48px}.btn:hover{background:var(--berry)}.text-link{font-size:13px;line-height:1.6}header{height:82px;background:var(--paper);backdrop-filter:none;padding:0 5%;border-color:var(--luna-rule)}header .logo{letter-spacing:-3px;font-size:37px}header nav .btn{border-radius:0}.scroll-progress{background:var(--berry)}
/* Editorial cover: distinct type, generous imagery, a small ticket. */
.hero.luna-cover{display:block;min-height:0;padding:28px 5% 0;background:var(--pink);overflow:hidden}.cover-meta,.cover-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:1.5px}.cover-meta{border-bottom:1px solid var(--luna-rule);padding-bottom:20px}.cover-meta a{letter-spacing:0;font-size:12px}.cover-heading{position:relative;padding:32px 0 22px}.cover-heading h1{font-size:clamp(64px,9.7vw,154px);font-weight:500;line-height:.96;letter-spacing:-.075em;margin:0;max-width:1200px}.cover-heading h1 em{font-family:'Cormorant',Georgia,serif;color:var(--berry);font-size:1.1em;letter-spacing:-.055em}.cover-star{position:absolute;right:2%;top:18%;font-size:clamp(60px,10vw,160px);line-height:1;color:var(--berry);transform:rotate(12deg)}.cover-grid{display:grid;grid-template-columns:.7fr 1.25fr .65fr;gap:4%;align-items:end;padding:35px 0 50px}.cover-note{align-self:center}.issue-label{font-size:10px;letter-spacing:2px}.cover-note p{font-size:clamp(18px,1.7vw,26px);line-height:1.55;margin:28px 0;color:var(--ink)}.cover-note p strong{font-weight:500}.cover-note .btn{width:100%;padding:18px 16px;justify-content:space-between;gap:8px}.cover-lab-link{display:block;font-size:12px;margin-top:18px;text-decoration:underline;text-underline-offset:5px;line-height:1.8}.cover-note>small{display:block;font-size:10px;line-height:1.7;margin-top:32px;max-width:190px}.cover-photo{margin:0;position:relative}.cover-photo>img{width:100%;aspect-ratio:1.12;object-fit:cover;object-position:50% 57%;display:block;border-radius:180px 180px 0 0}.cover-photo figcaption{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.3px;padding:15px 0 0}.cover-side{align-self:start}.cover-side figure{margin:0 0 25px;transform:rotate(5deg);padding:9px;background:var(--paper);box-shadow:0 8px 22px #173d4110}.cover-side img{display:block;width:100%;aspect-ratio:1.1;object-fit:cover}.cover-side figcaption{font-family:Georgia,serif;font-style:italic;font-size:13px;text-align:center;padding:12px 0 5px}.cover-ticket{display:flex;flex-direction:column;align-items:center;gap:10px;padding:27px 14px;background:var(--aqua);color:var(--ink);border-radius:50% 50% 3px 3px;text-align:center;margin-top:40px}.cover-ticket>span:first-child{font-size:9px;letter-spacing:1px}.cover-ticket strong{font-size:65px;letter-spacing:-5px;font-weight:500;line-height:1.1}.cover-ticket strong span{font-size:30px;letter-spacing:-2px}.cover-ticket>span{font-size:13px}.cover-ticket small{font-size:9px;line-height:1.7}.cover-bottom{border-top:1px solid var(--luna-rule);padding:22px 0}.cover-bottom a{letter-spacing:0;font-size:12px}
/* Scroll composition with no wheel/touch interception and a normal document fallback. */
.color-story{background:var(--paper);padding-bottom:35px}.color-story-intro{max-width:850px;margin-bottom:60px}.story-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:12%;align-items:start}.story-visual{position:sticky;top:125px;aspect-ratio:.95;overflow:hidden;background:var(--aqua)}.story-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .6s ease;transform:translateY(var(--story-y,0px)) scale(1.08)}.story-image.is-active{opacity:1}.story-frame-label{position:absolute;bottom:22px;left:22px;background:var(--paper);padding:13px 17px;font-size:10px;letter-spacing:1.5px}.story-chapters article{min-height:73vh;padding:70px 0;display:flex;flex-direction:column;justify-content:center;scroll-margin-top:130px}.story-chapters article>span{font-size:10px;letter-spacing:2px}.story-chapters h3{font-size:clamp(40px,5.2vw,75px);letter-spacing:-3px;line-height:1.05;margin:28px 0}.story-chapters p{max-width:360px}.story-chapters a{align-self:start}.chapter-photo{display:none}.polish-line{position:absolute;top:8%;right:20px;width:55px;height:84%;pointer-events:none}.polish-line path{fill:none;stroke:var(--paper);stroke-width:3;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:var(--polish-offset,0);opacity:.8}.story-disclaimer{font-size:10px;margin:25px 0 0}.ribbon{border:0;background:var(--ink);color:var(--paper);font-size:10px;padding:22px 5%}.ribbon b{color:var(--aqua)}.trust-path{background:var(--paper)}
/* Distinct gallery rhythm, with uniform card geometry within each row. */
.looks{background:var(--aqua)}.looks .section-head p{max-width:360px}.gallery{gap:35px 24px}.look figure{border-radius:0;aspect-ratio:1.25}.look img{filter:none!important}.look-caption{border-bottom:1px solid var(--luna-rule);padding-bottom:16px}.look h3{font-size:24px;font-weight:500}.look:nth-child(3n+2){margin-top:50px}.look .plus{border-radius:0;background:var(--paper)}.chip{min-height:44px;border-radius:2px;font-size:12px}.chip.active{background:var(--ink)}
/* The existing lab gains form controls and a portable look card. */
.nail-play{background:var(--pink)}.mixer-heading{max-width:none;display:grid;grid-template-columns:1fr 1fr;gap:0 8%;align-items:end}.mixer-heading .eyebrow{grid-column:1/-1}.mixer-heading h2{margin-top:20px}.mixer-heading p{padding-bottom:15px;max-width:380px}.mixer-layout{gap:8%;align-items:center}.nail-preview{border:0;border-radius:140px 140px 0 0;overflow:hidden;background:var(--paper)}.preview-caption{padding-top:38px}.preview-caption>span:last-child{font-size:35px}.nail-display{padding:35px 10px 50px}.nail-preview:hover .nail-group{scale:1}.preview-bottom{font-size:12px;line-height:1.6;padding:22px}.preview-bottom>span:last-child{max-width:150px;line-height:1.5}.swatch{width:43px;height:43px}.shape-options{display:flex;gap:8px;flex-wrap:wrap}.shape-options button,.mood-choices button{border:1px solid var(--luna-rule);padding:12px 18px;min-height:44px;background:transparent;font-size:13px}.shape-options button.active,.mood-choices button.active{background:var(--ink);color:var(--paper)}.shape-note{font-size:11px;line-height:1.6;margin:12px 0 25px}.finish-options button{border-radius:2px;min-height:46px}.nail-display[data-shape=squoval] .nail-base,.nail-display[data-shape=squoval] .nail-group rect{rx:12px}.nail-display[data-shape=almond] .nail-group{clip-path:polygon(50% 0,78% 5%,96% 22%,100% 58%,100% 100%,0 100%,0 58%,4% 22%,22% 5%)}.save-recipe{width:100%;margin-top:12px;padding:15px;border:1px solid var(--luna-rule);background:transparent;min-height:48px;font-size:13px}.recipe-status{font-size:12px;min-height:20px}.mixer-note{font-size:11px}.edge-doodle{animation:none!important}.mixer-price strong{font-size:45px}.small-label{font-size:11px}
/* A manual moodboard, no autoplay carousel. */
.mood-desk{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:9%;background:var(--paper);align-items:center}.mood-desk-heading{max-width:520px}.mood-desk-heading>p{max-width:350px}.mood-choices{display:flex;flex-wrap:wrap;gap:8px;margin:25px 0}.mood-choices button{font-size:12px;padding:12px}.mood-desk #boardDescription{font-size:13px;min-height:60px}.mood-collage{position:relative;padding:20px 20px 100px 0}.mood-main{margin:0;background:var(--pink);padding:12px;transform:rotate(-5deg);width:88%}.mood-main img{display:block;aspect-ratio:.94;width:100%;object-fit:cover}.mood-main figcaption{font-size:9px;letter-spacing:1px;padding:17px 5px 8px}.mood-small{position:absolute;right:0;bottom:0;width:56%;margin:0;background:var(--aqua);padding:10px;transform:rotate(8deg);box-shadow:0 12px 25px #173d4115}.mood-small img{width:100%;display:block;aspect-ratio:1.1;object-fit:cover}.mood-small figcaption{font:italic 14px Georgia,serif;padding:15px 0 5px;text-align:center}.mood-stamp{position:absolute;right:0;top:0;background:var(--ink);color:var(--paper);width:115px;height:115px;border-radius:50%;display:grid;place-content:center;text-align:center;font-size:10px;letter-spacing:1.5px;line-height:1.7;transform:rotate(12deg)}.mood-disclaimer{grid-column:1/-1;font-size:10px}
/* Quiet functional areas carry the same materials. */
.start-guide{background:var(--paper)}.entry-options>a,.entry-options>button{border-radius:0;background:transparent;border-color:var(--luna-rule)}.services{gap:0;border-top:1px solid var(--luna-rule);border-bottom:1px solid var(--luna-rule)}.service,.service:first-child,.service:last-child,.service:nth-child(2),.service:nth-child(3){background:transparent;border:0;border-right:1px solid var(--luna-rule);border-radius:0;padding:35px}.service:first-child{padding-left:0}.service:last-child{border-right:0}.service p{font-size:14px}.price strong{font-size:28px}.price button{min-width:44px;min-height:44px}.extras span{border-radius:0;background:var(--pink)}.offer{background:var(--pink)}.offer-ticket{border-radius:0;box-shadow:12px 12px 0 var(--aqua);border:0}.offer h2{font-size:clamp(45px,5.5vw,80px)}.offer-tags span{border-radius:0}.campus{background:var(--aqua)}.studio-photo img{filter:none}.editorial-break{background:var(--ink)}.care-notes article{border-radius:0}.booking{background:var(--aqua)}.booking-card{border-radius:0;box-shadow:none}.faq{max-width:1280px}.trust-faq{background:var(--paper)}.footer-top .logo{font-size:clamp(55px,8vw,110px);letter-spacing:-7px}footer{background:var(--ink)}:focus-visible{outline:3px solid var(--berry);outline-offset:5px}.shape-options button:focus-visible,.mood-choices button:focus-visible{outline-offset:3px}
@media(min-width:1800px){.hero.luna-cover{padding-left:max(5%,calc((100vw - 1600px)/2));padding-right:max(5%,calc((100vw - 1600px)/2))}.cover-heading h1{font-size:154px}.story-chapters article{min-height:650px}}
@media(max-width:1050px){.cover-grid{grid-template-columns:.75fr 1.2fr;gap:5%}.cover-side{display:none}.cover-star{right:0;top:20%;font-size:85px}.cover-heading h1{font-size:10vw}.story-layout{gap:7%}.story-chapters h3{font-size:50px}.mood-desk{gap:5%}.service,.service:first-child,.service:last-child{padding:25px 18px}.mixer-heading{gap:5%}.preview-bottom{flex-direction:column;align-items:start}.preview-bottom>span:last-child{text-align:left;max-width:none}}
@media(max-width:800px){section{padding:65px 6%}h2{letter-spacing:-2px;line-height:1.08}header{height:72px}.hero.luna-cover{padding:20px 6% 0}.cover-meta{font-size:8px;line-height:1.7;letter-spacing:1px}.cover-meta a{font-size:11px;white-space:nowrap}.cover-heading{padding:35px 0 25px}.cover-heading h1{font-size:clamp(49px,10vw,80px);letter-spacing:-.065em;line-height:1.04}.cover-heading h1 em{font-size:1.1em}.cover-star{right:0;top:20px;font-size:35px}.cover-grid{display:flex;flex-direction:column;align-items:stretch;gap:25px;padding:0 0 25px}.cover-photo{order:-1;margin:0 0 5px}.cover-photo>img{aspect-ratio:1.28;border-radius:100px 100px 0 0;object-position:50% 58%}.cover-note{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px;width:100%;align-self:auto}.cover-note .issue-label{grid-column:1/-1;font-size:9px}.cover-note p{font-size:16px;margin:5px 0;line-height:1.6}.cover-note .btn{font-size:12px;padding:14px;align-self:center;min-height:55px}.cover-lab-link{grid-column:1/-1;margin-top:5px;font-size:12px}.cover-note>small{grid-column:1/-1;max-width:none;margin-top:5px;font-size:9px}.cover-bottom{font-size:8px;padding:18px 0;letter-spacing:.5px}.cover-bottom>span:last-child{display:none}.cover-bottom a{font-size:11px}.color-story-intro{margin-bottom:35px}.story-layout{display:block}.story-visual{display:none}.story-chapters{display:grid;gap:50px}.story-chapters article{min-height:0;padding:0;display:block}.story-chapters h3{font-size:48px;line-height:1.03;margin:20px 0}.story-chapters p{max-width:500px}.chapter-photo{display:block;aspect-ratio:1.4;width:100%;height:auto;object-fit:cover;margin-top:25px}.story-disclaimer{line-height:1.8}.gallery{gap:28px 15px}.look:nth-child(3n+2){margin-top:0}.look figure{aspect-ratio:.9}.look h3{font-size:20px;letter-spacing:-.5px}.gallery .look:last-child{grid-column:auto}.gallery .look:last-child figure{aspect-ratio:.9}.look small{font-size:10px;line-height:1.7;display:block}.mixer-heading{display:block}.mixer-heading h2{font-size:44px}.mixer-heading p{padding:0}.nail-preview{border-radius:100px 100px 0 0}.nail-display{padding:10px 10px 25px}.preview-bottom{flex-direction:row;font-size:11px}.preview-bottom>span:last-child{max-width:140px;font-size:9px;text-align:right}.swatches{gap:16px;padding:4px}.mood-desk{grid-template-columns:1fr;gap:35px;overflow:hidden}.mood-collage{max-width:480px;width:100%;margin:auto;padding-bottom:90px}.mood-stamp{width:95px;height:95px;font-size:9px}.mood-disclaimer{margin-top:20px}.services{border-bottom:0}.service,.service:first-child,.service:last-child{padding:30px 0;border-right:0;border-bottom:1px solid var(--luna-rule)}.offer-ticket{max-width:400px;width:100%;justify-self:center}.footer-top .logo{font-size:65px;letter-spacing:-4px}.story-frame-label{font-size:9px}.finish-options{display:grid;grid-template-columns:1fr 1fr}.finish-options button span{margin-left:5px}.shape-options button{flex:1}.polish-line{display:none}}
@media(max-width:374px){.cover-note{grid-template-columns:1fr}.cover-note .btn{width:auto}.cover-heading h1{font-size:47px}.cover-star{font-size:28px;right:-5px}.cover-meta{font-size:7px}.cover-meta a{font-size:10px}.gallery{gap:25px 12px}.look h3{font-size:18px}.preview-bottom{flex-direction:column;align-items:start}.preview-bottom>span:last-child{max-width:none;text-align:left}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.story-visual{position:static}.story-chapters article{min-height:0;padding:20px 0 45px}.story-image{transform:none!important;transition:none}.polish-line path{stroke-dashoffset:0!important}.cover-star{transform:none}.chapter-photo{display:block;width:100%;height:auto;aspect-ratio:1.4;object-fit:cover;margin-top:25px}.story-visual{display:none}.story-layout{display:block}.story-chapters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.story-chapters h3{font-size:40px}.story-chapters article>span{font-size:9px}.story-chapters p{font-size:14px}.cover-photo>img,.story-image{transform:none!important}.reveal{opacity:1!important;transform:none!important}.shape-options button,.story-image{transition:none!important}}
@media(max-width:800px) and (prefers-reduced-motion:reduce){.story-chapters{grid-template-columns:1fr}}
