/* Pass 3: complete identities, applied to every route, not only the hero. */
.concept,.collection-card{--line:color-mix(in srgb,var(--ink) 23%,transparent);--body:'DM Sans',Arial,sans-serif}
.concept{background:var(--paper);color:var(--ink)}
.concept .site-header,.concept .site-menu{background:var(--paper);color:var(--ink)}
.concept .demo-bar{background:var(--surface);color:var(--ink)}
.concept .footer{background:var(--surface);color:var(--ink)}
.concept .tinted,.concept .journey,.concept .plan-result{background:var(--surface);color:var(--ink)}
.concept .journey-step{border-color:var(--line)}
.concept .button{background:var(--action);color:var(--action-ink);border-color:var(--action)}
.concept .button:hover{background:var(--action);filter:brightness(1.08)}
.concept .button:focus-visible{outline:3px solid var(--ink);outline-offset:5px;box-shadow:0 0 0 3px var(--paper)}
.concept input,.concept select,.concept textarea{background:var(--surface-2);color:var(--ink);border-color:var(--line);color-scheme:light}
.sanctuary input,.sanctuary select,.sanctuary textarea,.barber input,.barber select,.barber textarea,.makeup input,.makeup select,.makeup textarea{color-scheme:dark}
.concept input::placeholder,.concept textarea::placeholder{color:var(--ink);opacity:.68}
.concept .demo-form,.concept .video-editor{background:var(--surface-2);border-color:var(--line)}
.concept .form-result:not(:empty){background:var(--surface);border-color:var(--action)}
.concept .image-stamp{background:var(--surface);color:var(--ink)}
.concept .brand-symbol{color:var(--ink);font-family:var(--display);font-size:31px;letter-spacing:-.09em;line-height:1;min-width:26px}
.concept .person-number{opacity:1;color:var(--ink);font-size:52px}
.concept .video-player{background:var(--hero);color:var(--on-hero);border:1px solid var(--line)}
.concept .video-play{color:var(--on-hero);border-color:currentColor}
.concept .media-stage{color:#fff;background:#17232d}
.concept .media-stage:before{content:'';position:absolute;inset:0;background:#10152038;z-index:1;pointer-events:none}
.concept .media-stage>div{z-index:2;color:#fff}
.concept .video-empty{background:var(--surface-2)}
.concept .image-dialog{background:var(--paper);color:var(--ink)}
.concept .page-intro{border-bottom:1px solid var(--line);padding-bottom:45px;background:var(--paper)}
.concept .page-intro .eyebrow{color:var(--ink)}
.concept .service-list .index{font-variant-numeric:tabular-nums}
.concept .video-toolbar input,.concept .video-toolbar select{min-height:48px}
.concept .toast{background:var(--action);color:var(--action-ink)}
.concept .footer .lvw-credit>a:first-child{display:inline-block;padding:10px;background:#fff;border-radius:3px}
.concept .footer .lvw-credit img{margin:0}
.collection-card .collection-card-copy{background:var(--paper);color:var(--ink)}
.collection-card .collection-card-copy .button{background:var(--action);color:var(--action-ink);border-color:var(--action)}
.collection-card .collection-card-copy .eyebrow{font-weight:700}
.collection-card .collection-preview{border-top:10px solid var(--accent)}
.catalog .collection-card .preview-copy strong{font-family:var(--display)}
.collection-card .identity-label{display:flex;align-items:center;gap:12px;margin-bottom:20px;font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.collection-card .identity-swatch{height:20px;width:20px;background:var(--surface);border:1px solid currentColor;display:inline-block}

/* The Welcome: sky-blue, open, friendly and gently rounded. */
.concept.welcome{--display:'DM Sans',Arial,sans-serif}
.welcome h1,.welcome h2,.welcome h3{font-family:var(--display);font-weight:600;letter-spacing:-.055em}
.welcome .hero{background:var(--hero);gap:6vw}
.welcome .hero-copy h1{font-size:clamp(3.2rem,6vw,6.5rem);font-weight:600;line-height:1.05}
.welcome .hero-visual{border-radius:230px 230px 12px 12px;box-shadow:16px 16px 0 var(--surface)}
.welcome .hero .eyebrow{color:#a33e1c}
.welcome .button{border-radius:30px}
.welcome .image-stamp{border-left:5px solid #e79f58;border-radius:0 14px 14px 0;font-family:var(--body);font-size:22px;font-weight:600}
.welcome .visit-notebook{background:var(--surface);border-radius:42px 42px 0 0}
.welcome .notebook-pages article{border-top-style:dashed}
.welcome .notebook-pages article>span{color:#175477;font-weight:700}
.welcome .event{border-top:4px solid #175477}
.welcome .event-date{font-family:var(--body);font-weight:600}
.welcome .final-cta{background:#d4edff}

/* The Sanctuary: continuous midnight-blue with formal gold rules. */
.concept.sanctuary{--display:'Italiana',Georgia,serif}
.sanctuary .site-header{border-bottom:1px solid #dfc17c70}
.sanctuary .wordmark,.sanctuary .brand-symbol,.sanctuary .person-number,.sanctuary .history article>span{color:#dfc17c}
.sanctuary .hero{background:#101e34;color:#fff6e1;min-height:800px}
.sanctuary .hero-copy{border:1px solid #dfc17c90;margin:25px 4vw;padding:45px 50px 55px;max-width:1000px}
.sanctuary .hero-copy h1{font-size:clamp(3.4rem,7.6vw,8.2rem)}
.sanctuary .hero-visual:after{background:linear-gradient(#101e3480,#101e34d9)}
.sanctuary .hero .button{background:#dfc17c;color:#101e34;border-color:#dfc17c}
.sanctuary .hero a:focus-visible{outline-color:#fff6e1}
.sanctuary .sanctuary-invitation{background:#192c47;border-top:1px solid #dfc17c80;border-bottom:1px solid #dfc17c80}
.sanctuary .eyebrow,.sanctuary .invitation-columns>div>span{color:#dfc17c}
.sanctuary .page-intro{border-bottom-color:#dfc17c70}
.sanctuary .page-intro .eyebrow{color:#dfc17c}
.sanctuary .event-date{color:#dfc17c}
.sanctuary .final-cta{background:#192c47}
.sanctuary .footer{border-top-color:#dfc17c70}

/* The Gathering: saturated cobalt, lime wayfinding and angular type. */
.concept.gathering{--display:'Manrope',Arial,sans-serif}
.gathering .hero{background:#2449ce;color:#fff}
.gathering .hero-visual{border:6px solid #c5ef57;min-width:0}
.gathering .hero .button{background:#c5ef57;color:#152b69;border-color:#c5ef57}
.gathering .image-stamp{background:#c5ef57;color:#152b69}
.gathering .hero-number{color:#fff}
.gathering .essentials{background:#c5ef57;color:#152b69}
.gathering .gathering-paths{background:#dbe5ff}
.gathering .gathering-path-list a>span{background:#2449ce;color:#fff;width:28px;height:28px;display:grid;place-content:center;font-weight:700}
.gathering .gathering-path-list a>b{font-size:26px;line-height:1}
.gathering .journey{background:#dbe5ff}
.gathering .event{border-top:4px solid #2449ce}
.gathering .page-intro{background:#2449ce;color:#fff}
.gathering .page-intro .eyebrow{color:#c5ef57}
.gathering .final-cta{background:#2449ce;color:#fff}
.gathering .final-cta .button{background:#c5ef57;color:#152b69;border-color:#c5ef57}

/* Salon House: coral color fields and sweeping editorial type. */
.concept.salon{--display:'Playfair Display',Georgia,serif}
.salon-editorial{background:#ffe6dc;position:relative;border-bottom:14px solid #a52d25}
.salon-editorial .editorial-heading h1{color:#a52d25}
.salon-editorial .editorial-heading .eyebrow{font-size:10px;letter-spacing:.22em}
.salon-editorial .editorial-footnote{color:#622522;border-top:1px solid #a52d2560;padding-top:18px}
.salon-editorial .editorial-photo{border-radius:120px 0 0 0}
.salon .essentials{background:#ffc8b5;margin:0;padding:28px 4vw;border:0}
.salon .story-split{border-bottom:1px solid #a52d2560}
.salon .journey{background:#ffc8b5}
.salon .page-intro h1{font-style:italic;color:#a52d25}
.salon .studio-edit-image{border-bottom:8px solid #a52d25;padding-bottom:12px}
.salon .final-cta{background:#a52d25;color:#fff}
.salon .final-cta .button{background:#fff5ef;color:#a52d25;border-color:#fff5ef}

/* Barber Studio: dark steel throughout, warm copper as a working detail. */
.concept.barber{--display:'Manrope',Arial,sans-serif;--body:'Manrope',Arial,sans-serif}
.barber-editorial{background:#151d25;color:#eaf0f6}
.barber-editorial .editorial-heading{border-left:8px solid #f0a86b}
.barber-editorial .editorial-heading .eyebrow{color:#f0a86b}
.barber-editorial .editorial-footnote{border-color:#f0a86b80}
.barber .brand-symbol{color:#f0a86b;font-size:24px;letter-spacing:-.08em}
.barber .site-header{border-bottom:1px solid #f0a86b70}
.barber .service-list .index,.barber .person-number{color:#f0a86b}
.barber .service-list article{border-bottom-color:#f0a86b60}
.barber .journey{background:#202d3b}
.barber .journey-step>span{color:#f0a86b}
.barber .studio-edit-image{border-bottom:6px solid #f0a86b;padding-bottom:15px}
.barber .page-intro{border-left:8px solid #f0a86b}
.barber .final-cta{border-block:1px solid #f0a86b80;background:#202d3b}
.barber .video-play{color:#f0a86b}

/* Skin Room: forest-green hero, pale mint pages and botanical linework. */
.concept.skin{--display:'Playfair Display',Georgia,serif}
.skin-editorial{background:#164b39;color:#f0fff5;padding-bottom:55px}
.skin-editorial .editorial-heading .eyebrow{color:#c8ead5}
.skin-editorial .editorial-footnote{border-top:1px solid #c8ead580;padding-top:22px}
.skin-editorial .button{background:#cee9a3;color:#123e30;border-color:#cee9a3}
.skin-editorial .button:focus-visible,.skin-editorial .text-link:focus-visible{outline-color:#fff}
.skin-editorial .editorial-photo{border-radius:160px 3px 160px 3px}
.skin .brand-symbol{font-size:41px;color:#267459}
.skin .journey{background:#bee1cd;border-radius:70px 0 70px 0}
.skin .service-list article{border-color:#26745970}
.skin .person-number{font-style:italic;color:#267459}
.skin .page-intro{background:#bee1cd}
.skin .final-cta{background:#164b39;color:#f0fff5;border-radius:90px 0 0 0}
.skin .final-cta .button{background:#cee9a3;color:#123e30;border-color:#cee9a3}

/* Makeup Atelier: the approved human scene, now in an aubergine art direction. */
.concept.makeup{--display:'Playfair Display',Georgia,serif}
.makeup-editorial{background:#2f142b}
.makeup-editorial-copy{background:#47203f;color:#fff0f7;border-top:5px solid #edabc9}
.makeup-editorial-copy .eyebrow{color:#edabc9}
.makeup-editorial-meta{border-color:#edabc970;color:#fff0f7}
.makeup-editorial-caption{background:#edabc9;color:#2f142b}
.makeup-editorial-image{background:#59304e}
.makeup .brand-symbol{color:#edabc9;font-size:33px}
.makeup .journey{background:#47203f}
.makeup .makeup-work-list article{border-color:#edabc970}
.makeup .makeup-work-list article>span{color:#edabc9}
.makeup .page-intro h1{font-style:italic}
.makeup .person-number{color:#edabc9}
.makeup .final-cta{background:#47203f}
.makeup .makeup-work-photo span{background:#2f142be8;color:#fff0f7}

/* Nail Studio: orchid, grape and playful graphic color chips. */
.concept.nails{--display:'Playfair Display',Georgia,serif}
.nails-editorial{background:#e3c8fa;border-bottom:12px solid #70218c}
.nails-editorial .editorial-heading h1{color:#70218c}
.nails-editorial .editorial-photo{border-radius:160px 160px 10px 10px;box-shadow:12px 12px 0 #b087ce}
.nails .brand-symbol{font-style:italic;font-size:34px;color:#70218c}
.nails .nail-palette>span{border-radius:50%;width:35px;height:35px;border:1px solid #48205e50;background:#e877b8}
.nails .nail-palette>span:nth-child(2){background:#d9f477}
.nails .nail-palette>span:nth-child(3){background:#8735a7}
.nails .nail-palette>span:nth-child(4){background:#aaa5ed}
.nails .essentials{background:#d9b4f2;color:#48205e}
.nails .journey{background:#e3c8fa}
.nails .button{border-radius:28px}
.nails .person-number{background:#e3c8fa;color:#48205e;border-radius:50%;width:80px;height:80px;display:grid;place-content:center;font-size:38px}
.nails .page-intro{background:#e3c8fa;border-bottom:3px solid #8735a7}
.nails .page-intro h1{font-style:italic}
.nails .final-cta{background:#70218c;color:#fbf4ff}
.nails .final-cta .button{background:#d9f477;color:#48205e;border-color:#d9f477}

/* The Beauty Collective: gallery-white, black graphic rules and signal yellow. */
.concept.collective{--display:'Manrope',Arial,sans-serif;--body:'Manrope',Arial,sans-serif}
.collective .demo-bar{background:#ffe34d}
.collective .site-header{border-bottom:2px solid #171c24}
.collective .brand-symbol{background:#ffe34d;padding:8px;font-size:21px;letter-spacing:-.08em}
.collective-editorial{background:#fff;border-bottom:2px solid #171c24}
.collective-editorial .editorial-heading .eyebrow{border-top:8px solid #ffe34d;padding-top:20px}
.collective-editorial .editorial-photo{border-radius:0;box-shadow:12px 12px 0 #ffe34d}
.collective .specialty-directory{background:#ffe34d;border-block:2px solid #171c24}
.collective .specialty-row{border-top:2px solid #171c24}
.collective .specialty-row>span{font-size:13px;font-weight:700}
.collective .specialty-row>b{font-size:25px;line-height:1}
.collective .journey{background:#eff1f5;border-block:2px solid #171c24}
.collective .page-intro{background:#ffe34d;border-bottom:2px solid #171c24}
.collective .page-intro h1{font-family:Manrope,Arial,sans-serif;font-weight:700}
.collective .person-number{font-family:Manrope,Arial,sans-serif;font-weight:700;opacity:1;color:#171c24;border-bottom:8px solid #ffe34d;width:fit-content}
.collective .grid>article{border-top:2px solid #171c24}
.collective .final-cta{background:#171c24;color:#fff}
.collective .final-cta .button{background:#ffe34d;color:#171c24;border-color:#ffe34d}
.collective .footer{background:#eff1f5}

@media(max-width:1050px) and (min-width:701px){.welcome .hero-copy h1{font-size:5.7vw}}
@media(max-width:700px){.concept .page-intro{padding-bottom:35px}.concept .brand-symbol{font-size:26px}.welcome .hero-copy h1{font-size:clamp(2.8rem,11.5vw,4.5rem)}.welcome .hero-visual{box-shadow:8px 8px 0 var(--surface)}.welcome .visit-notebook{border-radius:26px 26px 0 0}.sanctuary .hero{min-height:730px}.sanctuary .hero-copy{margin:20px 0;padding:35px 20px 40px}.sanctuary .hero-copy h1{font-size:clamp(3rem,12vw,4.5rem)}.gathering .hero-visual{border-width:4px}.gathering .gathering-path-list a{grid-template-columns:28px minmax(0,1fr) 18px}.salon-editorial .editorial-photo{border-radius:70px 0 0 0}.barber-editorial .editorial-heading,.barber .page-intro{border-left-width:5px}.skin-editorial .editorial-photo{border-radius:95px 3px 95px 3px}.skin .journey{border-radius:40px 0 40px 0}.skin .final-cta{border-radius:50px 0 0 0}.nails-editorial .editorial-photo{border-radius:140px 140px 8px 8px;box-shadow:7px 7px 0 #b087ce}.nails .nail-palette>span{width:28px;height:28px}.collective .brand-symbol{font-size:17px}.collective-editorial .editorial-photo{box-shadow:7px 7px 0 #ffe34d}.collective .specialty-row{grid-template-columns:25px minmax(0,1fr) 20px}}
@media(prefers-reduced-motion:reduce){.concept .button:hover{filter:none}}
html[data-reduced-motion=true] .concept .button:hover{filter:none}
