@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;1,400&family=Manrope:wght@400;500;600&display=swap');

body.salon-active .discount-sticky-banner,
body.salon-active #guest-banner { display:none !important; }

.catalog-header-actions { display:flex; align-items:center; justify-content:flex-end; gap:9px; flex-shrink:0; }
.catalog-studio-link {
    min-height:34px; padding:6px 12px; border:1px solid rgba(110,110,110,.28); border-radius:20px;
    background:transparent; color:var(--text-secondary,var(--tg-theme-hint-color,#666)); cursor:pointer;
    font:600 11px/1 Manrope,sans-serif; white-space:nowrap; transition:background .2s ease,color .2s ease,border-color .2s ease;
}
.catalog-studio-link:hover { background:rgba(120,120,120,.09); border-color:rgba(100,100,100,.42); color:var(--text-primary,var(--tg-theme-text-color,#222)); }

.salon-section { --salon-paper:#f5f0e7; --salon-cream:#fcf8f0; --salon-ink:#211b18; --salon-clay:#a6503b; --salon-soft:#d8c5b5; --salon-line:rgba(33,27,24,.17); color:var(--salon-ink); font-family:Manrope,sans-serif; }
.salon-section button,.salon-section input,.salon-section select,.salon-section textarea { font-family:Manrope,sans-serif; }
#salon-root { background:var(--salon-paper); overflow:hidden; min-height:70vh; border-radius:3px; }
#salon-root.salon-restoring { position:relative; min-height:70vh; }
#salon-root.salon-restoring > * { visibility:hidden; }
#salon-root.salon-restoring::before {
    content:''; position:absolute; z-index:2; left:50%; top:50%; width:72px; height:72px;
    margin:-60px 0 0 -36px; border:1px solid var(--salon-clay); border-left-color:transparent;
    border-radius:50%; animation:salonSpin 1.4s linear infinite;
}
#salon-root.salon-restoring::after {
    content:attr(data-restoring-label); position:absolute; z-index:2; left:0; right:0; top:calc(50% + 36px);
    color:#776c64; text-align:center; font:600 9px/1.4 Manrope,sans-serif; letter-spacing:.18em;
    text-transform:uppercase;
}
.salon-preview { min-height:max(650px,calc(100vh - 70px)); display:grid; grid-template-columns:1.03fr .97fr; position:relative; background:var(--salon-paper); }
.salon-preview-copy { padding:62px 5.5vw 46px 7vw; display:flex; flex-direction:column; align-items:flex-start; z-index:1; }
.salon-kicker { margin:0 0 33px; color:var(--salon-clay); text-transform:uppercase; letter-spacing:.22em; font-size:9px; font-weight:600; }
.salon-preview h2,.salon-stage-title,.salon-analysis-head h2,.salon-results-head h2 { margin:0; font:500 clamp(58px,7vw,108px)/.78 'Cormorant Garamond',serif; letter-spacing:-.055em; }
.salon-preview-copy h2 { font-size:clamp(55px,5.65vw,88px); line-height:.79; }
.salon-preview h2 i { color:var(--salon-clay); font-weight:400; }
.salon-lede { max-width:535px; margin:30px 0 20px; font-size:14px; line-height:1.7; color:#514841; }
.salon-preview-deliverables { max-width:560px; margin:0 0 25px; display:flex; flex-wrap:wrap; gap:8px; }
.salon-preview-deliverables span { min-height:28px; padding:6px 10px; display:inline-flex; align-items:center; border:1px solid var(--salon-line); color:#675c55; font-size:9px; line-height:1.35; letter-spacing:.035em; }
.salon-preview-deliverables span:before { content:'✓'; margin-right:7px; color:var(--salon-clay); font-weight:600; }
.salon-primary,.salon-secondary,.salon-text-btn { border:0; cursor:pointer; transition:all .2s ease; box-sizing:border-box; }
.salon-primary,.salon-secondary {
    min-height:54px; max-width:100%; padding:0 26px; display:inline-flex; align-items:center; justify-content:center;
    text-align:center; line-height:1.35; text-decoration:none;
}
.salon-primary { background:var(--salon-clay); color:#fff; font-size:11px; text-transform:uppercase; letter-spacing:.1em; }
.salon-primary:hover { background:#8f3f2d; transform:translateY(-1px); }
.salon-primary:disabled { opacity:.45; cursor:wait; transform:none; }
.salon-secondary { background:transparent; color:var(--salon-ink); border:1px solid var(--salon-ink); padding:0 22px; font-size:11px; }
.salon-preview-actions { display:flex; align-items:stretch; gap:10px; flex-wrap:wrap; }
.salon-text-btn { min-height:34px; background:transparent; color:#786d65; padding:7px 0; display:inline-flex; align-items:center; justify-content:center; text-decoration:underline; text-underline-offset:4px; font-size:11px; }
.salon-trust { display:block; margin-top:16px; max-width:420px; color:#80746b; font-size:9px; line-height:1.5; }
.salon-preview-visual { min-height:max(650px,calc(100vh - 70px)); position:relative; overflow:hidden; background:#332823; }
.salon-preview-visual img { width:100%; height:100%; object-fit:cover; display:block; filter:saturate(.86) contrast(.98); }
.salon-preview-visual:after { content:''; position:absolute; inset:0; box-shadow:inset 35px 0 70px rgba(33,27,24,.1); }
.salon-preview-visual span { position:absolute; z-index:2; bottom:27px; right:28px; max-width:75%; color:#fff; font-size:8px; line-height:1.5; letter-spacing:.13em; text-align:right; }
.salon-preview-index { position:absolute; bottom:25px; left:28px; font:500 16px 'Cormorant Garamond'; color:#7c7068; }
.salon-ecosystem-preview { display:grid; grid-template-columns:repeat(4,1fr); background:var(--salon-ink); color:var(--salon-paper); }
.salon-ecosystem-preview article { min-height:250px; padding:34px 2.6vw; border-right:1px solid rgba(255,255,255,.13); position:relative; }
.salon-ecosystem-preview article:last-child { border-right:0; }
.salon-ecosystem-preview b { font:400 32px 'Cormorant Garamond'; color:var(--salon-clay); }
.salon-ecosystem-preview h3 { margin:34px 0 12px; font:500 26px/1.05 'Cormorant Garamond'; }
.salon-ecosystem-preview p { margin:0; color:#a99e96; font-size:11px; line-height:1.55; }
.salon-soon { opacity:.55; }
.salon-soon>span { position:absolute; top:40px; right:32px; font-size:8px; letter-spacing:.14em; text-transform:uppercase; }

/* Long-form Salon lookbook. */
.salon-lookbook { background:var(--salon-paper); }
.salon-lookbook-nav { min-height:66px; padding:0 4vw; display:flex; align-items:center; justify-content:flex-end; gap:30px; border-bottom:1px solid var(--salon-line); background:rgba(252,248,240,.96); }
.salon-lookbook-nav span { margin-right:auto; color:var(--salon-clay); font:600 8px/1 Manrope,sans-serif; letter-spacing:.2em; }
.salon-lookbook-nav a { color:#756a62; font-size:9px; text-decoration:none; transition:color .2s ease; }
.salon-lookbook-nav a:hover { color:var(--salon-clay); }
.salon-editorial-problem { min-height:930px; padding:125px 6vw 145px; display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:26px; position:relative; background:var(--salon-cream); }
.salon-editorial-copy { grid-column:1/span 6; padding:55px 3vw 0 2vw; z-index:1; }
.salon-editorial-copy h2,.salon-result-heading h2,.salon-process-intro h2,.salon-reality-title h2,.salon-formats-head h2,.salon-faq-head h2,.salon-final-cta h2 { margin:0; font:500 clamp(62px,7.3vw,112px)/.8 'Cormorant Garamond',serif; letter-spacing:-.05em; }
.salon-editorial-copy h2 i,.salon-result-heading h2 i,.salon-reality-title h2 i,.salon-final-cta h2 i { color:var(--salon-clay); font-weight:400; }
.salon-editorial-copy>p:not(.salon-kicker) { max-width:510px; color:#665b54; font-size:12px; line-height:1.8; }
.salon-editorial-copy .salon-editorial-lede { margin:52px 0 21px; font-size:14px; color:#443b36; }
.salon-editorial-figure { margin:0; position:relative; }
.salon-editorial-figure img { width:100%; height:100%; display:block; object-fit:cover; filter:saturate(.84) contrast(.98); }
.salon-cut-figure { grid-column:7/-1; height:720px; }
.salon-editorial-figure figcaption { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding-top:17px; color:#6f645d; }
.salon-editorial-figure figcaption span { font-size:8px; letter-spacing:.16em; }
.salon-editorial-figure figcaption b { font:500 19px/1.1 'Cormorant Garamond',serif; text-align:right; }
.salon-editorial-note { grid-column:2/span 4; align-self:end; margin-top:55px; padding:0 0 0 22px; border-left:1px solid var(--salon-clay); display:flex; flex-direction:column; gap:9px; }
.salon-editorial-note b { font:500 25px/1 'Cormorant Garamond',serif; }
.salon-editorial-note span { max-width:360px; color:#786c64; font-size:11px; line-height:1.65; }
.salon-lookbook-facts { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--salon-line); border-bottom:1px solid var(--salon-line); background:#e9ddd1; }
.salon-lookbook-facts>div { min-height:190px; padding:36px 3.5vw; border-right:1px solid var(--salon-line); display:flex; flex-direction:column; justify-content:space-between; }
.salon-lookbook-facts>div:last-child { border-right:0; }
.salon-lookbook-facts strong { font:500 66px/.75 'Cormorant Garamond',serif; color:var(--salon-clay); }
.salon-lookbook-facts span { color:#5e544d; font-size:9px; line-height:1.5; text-transform:uppercase; letter-spacing:.08em; }
.salon-editorial-result { padding:140px 7vw 155px; display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:32px; background:var(--salon-paper); }
.salon-result-heading { grid-column:1/-1; max-width:1050px; margin-bottom:95px; }
.salon-result-heading .salon-kicker { margin-bottom:35px; }
.salon-result-heading h2 { font-size:clamp(58px,7vw,105px); }
.salon-color-figure { grid-column:1/span 5; height:720px; }
.salon-result-list { grid-column:7/-1; border-top:1px solid var(--salon-line); align-self:start; }
.salon-result-list article { display:grid; grid-template-columns:45px 1fr; gap:18px; padding:25px 0; border-bottom:1px solid var(--salon-line); }
.salon-result-list article>span { padding-top:4px; color:var(--salon-clay); font:500 14px 'Cormorant Garamond',serif; }
.salon-result-list h3 { margin:0 0 9px; font:500 27px/1 'Cormorant Garamond',serif; }
.salon-result-list p { margin:0; color:#746961; font-size:11px; line-height:1.65; }
.salon-editorial-quote { padding:145px 10vw 130px; background:var(--salon-ink); color:var(--salon-paper); text-align:center; }
.salon-editorial-quote p { max-width:1050px; margin:0 auto 38px; font:400 italic clamp(45px,6vw,85px)/.95 'Cormorant Garamond',serif; }
.salon-editorial-quote span { color:#a99c93; font-size:8px; text-transform:uppercase; letter-spacing:.19em; }
.salon-process { padding:140px 7vw 150px; display:grid; grid-template-columns:.85fr 1.15fr; gap:8vw; background:var(--salon-cream); }
.salon-process-intro { position:sticky; top:95px; align-self:start; }
.salon-process-intro h2 { font-size:clamp(57px,6vw,88px); }
.salon-process-intro>p:not(.salon-kicker) { max-width:470px; margin:38px 0 30px; color:#746961; font-size:12px; line-height:1.75; }
.salon-process-list { margin:0; padding:0; list-style:none; border-top:1px solid var(--salon-line); }
.salon-process-list li { min-height:150px; padding:31px 0; display:grid; grid-template-columns:58px 1fr; gap:20px; border-bottom:1px solid var(--salon-line); }
.salon-process-list li>span { color:var(--salon-clay); font:500 24px 'Cormorant Garamond',serif; }
.salon-process-list b { font:500 27px/1.05 'Cormorant Garamond',serif; }
.salon-process-list p { max-width:540px; margin:12px 0 0; color:#756a62; font-size:11px; line-height:1.7; }
.salon-reality { padding:135px 7vw 140px; background:var(--salon-clay); color:var(--salon-paper); }
.salon-reality-title { display:grid; grid-template-columns:.68fr 1.32fr; gap:7vw; align-items:start; }
.salon-reality-title .salon-kicker { color:#edd7ca; }
.salon-reality-title h2 { font-size:clamp(62px,7.2vw,105px); }
.salon-reality-title h2 i { color:#372720; }
.salon-reality-grid { margin-top:105px; display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid rgba(255,255,255,.35); border-bottom:1px solid rgba(255,255,255,.35); }
.salon-reality-grid article { min-height:235px; padding:31px 25px; border-right:1px solid rgba(255,255,255,.35); }
.salon-reality-grid article:last-child { border-right:0; }
.salon-reality-grid b { font:500 28px 'Cormorant Garamond',serif; }
.salon-reality-grid p { margin:48px 0 0; color:#efdcd1; font-size:11px; line-height:1.65; }
.salon-reality-caption { max-width:700px; margin:64px 0 0 auto; display:grid; grid-template-columns:1fr 1.6fr; gap:35px; }
.salon-reality-caption span { font:500 24px/1.1 'Cormorant Garamond',serif; }
.salon-reality-caption p { margin:0; color:#efdcd1; font-size:11px; line-height:1.7; }
.salon-formats { padding:145px 7vw 150px; background:#ddd0c3; }
.salon-formats-head { max-width:900px; margin-bottom:80px; }
.salon-formats-head h2 { font-size:clamp(58px,7vw,96px); }
.salon-formats-head>p:not(.salon-kicker) { max-width:580px; margin:35px 0 0; color:#675d56; font-size:12px; line-height:1.7; }
.salon-format-grid { display:grid; grid-template-columns:repeat(3,1fr); margin-bottom:38px; border:1px solid rgba(33,27,24,.23); }
.salon-format-grid article { min-height:420px; padding:38px 31px; display:flex; flex-direction:column; position:relative; border-right:1px solid rgba(33,27,24,.23); }
.salon-format-grid article:last-child { border-right:0; }
.salon-format-grid article.featured { background:var(--salon-ink); color:var(--salon-paper); transform:translateY(-22px); box-shadow:0 26px 55px rgba(33,27,24,.2); }
.salon-format-grid article>span { font:500 70px/.8 'Cormorant Garamond',serif; color:var(--salon-clay); }
.salon-format-grid article>.salon-kicker { margin:55px 0 13px; }
.salon-format-grid h3 { margin:0 0 18px; font:500 35px/1 'Cormorant Garamond',serif; }
.salon-format-grid article>p:not(.salon-kicker) { margin:0; color:#6d625a; font-size:11px; line-height:1.65; }
.salon-format-grid .featured>p:not(.salon-kicker) { color:#aea198; }
.salon-format-grid article>b { margin-top:auto; font-size:14px; }
.salon-format-grid em { position:absolute; top:0; right:0; padding:9px 12px; background:var(--salon-clay); color:white; font-style:normal; font-size:7px; letter-spacing:.1em; text-transform:uppercase; }
.salon-faq { padding:145px 7vw 155px; display:grid; grid-template-columns:.72fr 1.28fr; gap:9vw; background:var(--salon-paper); }
.salon-faq-head h2 { font-size:clamp(57px,6.5vw,93px); }
.salon-faq-list { border-top:1px solid var(--salon-line); }
.salon-faq-list details { border-bottom:1px solid var(--salon-line); }
.salon-faq-list summary { min-height:84px; padding:26px 48px 26px 0; display:flex; align-items:center; position:relative; cursor:pointer; list-style:none; font:500 24px/1.12 'Cormorant Garamond',serif; }
.salon-faq-list summary::-webkit-details-marker { display:none; }
.salon-faq-list summary:after { content:'+'; position:absolute; right:4px; top:24px; color:var(--salon-clay); font:400 28px/1 'Cormorant Garamond',serif; }
.salon-faq-list details[open] summary:after { content:'−'; }
.salon-faq-list details p { max-width:620px; margin:-5px 45px 27px 0; color:#746961; font-size:11px; line-height:1.75; }
.salon-final-cta { padding:145px 8vw 150px; background:var(--salon-ink); color:var(--salon-paper); text-align:center; }
.salon-final-cta h2 { max-width:1050px; margin:0 auto; font-size:clamp(60px,7.4vw,108px); }
.salon-final-cta>p:not(.salon-kicker) { max-width:600px; margin:45px auto 30px; color:#afa198; font-size:12px; line-height:1.7; }
.salon-final-cta .salon-primary { display:inline-flex; margin:0 auto; }
.salon-final-cta>span { display:block; margin-top:18px; color:#857970; font-size:8px; letter-spacing:.08em; text-transform:uppercase; }
.salon-saved { padding:70px 6vw 90px; background:var(--salon-cream); display:grid; grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr); gap:6vw; align-items:end; border-bottom:1px solid var(--salon-line); }
.salon-saved-heading h3 { margin:6px 0 12px; font:500 42px/1 'Cormorant Garamond'; }
.salon-saved-heading>span { display:block; max-width:360px; color:#746961; font-size:11px; line-height:1.65; }
.salon-saved-row { display:flex; gap:12px; overflow-x:auto; padding-bottom:8px; }
.salon-saved-card { flex:0 0 250px; min-height:142px; background:var(--salon-paper); border:1px solid var(--salon-line); padding:20px; text-align:left; cursor:pointer; color:var(--salon-ink); transition:border-color .2s,transform .2s; }
.salon-saved-card:hover { border-color:var(--salon-clay); transform:translateY(-2px); }
.salon-saved-card b { display:block; font:500 20px 'Cormorant Garamond'; margin-bottom:7px; }
.salon-saved-card span { font-size:9px; color:#81766e; text-transform:uppercase; letter-spacing:.08em; }
.salon-saved-card em { display:block; margin-top:34px; color:var(--salon-clay); font-size:8px; font-style:normal; text-transform:uppercase; letter-spacing:.1em; }

/* A calm, state-aware home for returning Salon clients. */
.salon-returning>.salon-ecosystem-preview,.salon-returning>.salon-lookbook { display:none; }
.salon-returning.salon-show-lookbook>.salon-ecosystem-preview,.salon-returning.salon-show-lookbook>.salon-lookbook { display:grid; }
.salon-returning.salon-show-lookbook>.salon-lookbook { display:block; }
.salon-home { padding:72px 6vw 82px; display:grid; grid-template-columns:minmax(310px,.8fr) minmax(0,1.2fr); gap:18px; background:var(--salon-cream); border-bottom:1px solid var(--salon-line); }
.salon-home article { min-width:0; padding:34px; border:1px solid var(--salon-line); background:rgba(245,240,231,.72); }
.salon-home-heading h3 { margin:0; font:500 clamp(31px,3vw,43px)/.95 'Cormorant Garamond'; }
.salon-home-heading>p:not(.salon-kicker) { max-width:450px; margin:16px 0 0; color:#786d65; font-size:10px; line-height:1.65; }
.salon-passport-grid { margin:32px 0 22px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid var(--salon-line); border-left:1px solid var(--salon-line); }
.salon-passport-grid>div { min-height:82px; padding:17px; border-right:1px solid var(--salon-line); border-bottom:1px solid var(--salon-line); display:flex; flex-direction:column; justify-content:space-between; gap:12px; }
.salon-passport-grid span { color:#887c73; font-size:7px; letter-spacing:.12em; text-transform:uppercase; }
.salon-passport-grid b { font:500 17px/1.15 'Cormorant Garamond'; }
.salon-archive .salon-saved-row { margin-top:28px; }
.salon-archive .salon-saved-card { flex-basis:215px; min-height:128px; }
.salon-about-toggle { display:block; margin:20px 0 0 auto; }

.salon-stage { min-height:760px; padding:80px 7vw 110px; background:var(--salon-paper); }
.salon-stage-top { display:grid; grid-template-columns:.75fr 1.25fr; gap:7vw; align-items:end; margin-bottom:65px; }
.salon-stage-title { font-size:clamp(50px,6vw,88px); }
.salon-stage-intro { font-size:13px; line-height:1.7; color:#6f645d; max-width:570px; }
.salon-photo-grid { display:flex; gap:16px; flex-wrap:wrap; }
.salon-photo { width:135px; border:1px solid transparent; background:transparent; padding:5px; cursor:pointer; position:relative; }
.salon-photo img { width:100%; aspect-ratio:3/4; object-fit:cover; display:block; filter:saturate(.8); }
.salon-photo.active { border-color:var(--salon-clay); }
.salon-photo.active:after { content:'выбрано'; position:absolute; left:12px; bottom:12px; padding:6px 8px; color:white; background:var(--salon-clay); font-size:7px; letter-spacing:.12em; text-transform:uppercase; }
.salon-form { margin-top:56px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:34px 5vw; }
.salon-field { min-width:0; }
.salon-field.wide { grid-column:1/-1; }
.salon-field label,.salon-field>span { display:block; margin-bottom:10px; color:#746961; font-size:9px; line-height:1.4; text-transform:uppercase; letter-spacing:.1em; }
.salon-field input,.salon-field select,.salon-field textarea { width:100%; min-height:54px; border:1px solid rgba(33,27,24,.2); border-radius:2px; padding:14px 16px; background:rgba(255,255,255,.42); color:var(--salon-ink); font-size:13px; outline:none; transition:border-color .18s ease,background .18s ease,box-shadow .18s ease; }
.salon-field select { cursor:pointer; padding-right:42px; }
.salon-field input::placeholder,.salon-field textarea::placeholder { color:#9a8e85; }
.salon-field input:hover,.salon-field select:hover,.salon-field textarea:hover { border-color:rgba(167,78,56,.58); background:rgba(255,255,255,.66); }
.salon-field input:focus,.salon-field select:focus,.salon-field textarea:focus { border-color:var(--salon-clay); background:#fffdf8; box-shadow:0 0 0 3px rgba(167,78,56,.1); }
.salon-field textarea { min-height:70px; resize:vertical; }
.salon-choice-row { display:flex; gap:8px; flex-wrap:wrap; }
.salon-choice { cursor:pointer; }
.salon-choice input { position:absolute; opacity:0; pointer-events:none; }
.salon-choice span { display:block; border:1px solid rgba(33,27,24,.2); padding:11px 14px; background:rgba(255,255,255,.42); font-size:10px; text-transform:none; letter-spacing:0; color:var(--salon-ink); transition:border-color .18s ease,background .18s ease; }
.salon-choice:hover span { border-color:rgba(167,78,56,.58); background:rgba(255,255,255,.66); }
.salon-choice input:checked+span { background:var(--salon-ink); border-color:var(--salon-ink); color:var(--salon-paper); }
.salon-choice input:focus-visible+span { outline:2px solid var(--salon-clay); outline-offset:2px; }
.salon-profile-field>p { max-width:650px; margin:-3px 0 18px; color:#8b7f76; font-size:10px; line-height:1.55; }
.salon-profile-choices { display:grid; gap:0; border:1px solid rgba(33,27,24,.2); }
.salon-profile-choices.density { grid-template-columns:repeat(3,minmax(0,1fr)); }
.salon-profile-choices.routine { grid-template-columns:repeat(4,minmax(0,1fr)); }
.salon-profile-choice { position:relative; min-width:0; cursor:pointer; }
.salon-profile-choice:not(:last-child) { border-right:1px solid rgba(33,27,24,.2); }
.salon-profile-choice input { position:absolute; opacity:0; pointer-events:none; }
.salon-profile-card { min-height:172px; padding:22px 24px 24px; display:flex; flex-direction:column; background:rgba(255,255,255,.24); transition:background .18s ease,color .18s ease; }
.salon-profile-card i { margin-bottom:28px; color:var(--salon-clay); font:500 25px/1 'Cormorant Garamond',serif; font-style:normal; }
.salon-profile-card b { font:500 24px/1 'Cormorant Garamond',serif; }
.salon-profile-card small { margin-top:12px; color:#776c64; font-size:9px; line-height:1.55; }
.salon-profile-choice:hover .salon-profile-card { background:rgba(255,255,255,.66); }
.salon-profile-choice input:checked+.salon-profile-card { background:var(--salon-ink); color:var(--salon-paper); }
.salon-profile-choice input:checked+.salon-profile-card small { color:#b9ada4; }
.salon-profile-choice input:focus-visible+.salon-profile-card { outline:2px solid var(--salon-clay); outline-offset:-3px; }
.salon-form-actions { grid-column:1/-1; display:flex; gap:18px; align-items:center; margin-top:22px; }
.salon-working { min-height:680px; display:grid; place-items:center; text-align:center; padding:60px; }
.salon-working-orbit { width:96px; height:96px; margin:0 auto 36px; border:1px solid var(--salon-clay); border-left-color:transparent; border-radius:50%; animation:salonSpin 1.4s linear infinite; }
.salon-working .salon-kicker { margin:0 0 36px; }
.salon-working h2 { max-width:1280px; margin:0 auto; font:500 clamp(45px,6vw,76px)/.94 'Cormorant Garamond'; }
.salon-working p { color:#776c64; line-height:1.6; }
.salon-working h2+p { max-width:760px; margin:46px auto 0; }
.salon-working-copy { transition:opacity .22s ease,transform .22s ease; }
.salon-working-copy.is-changing { opacity:0; transform:translateY(8px); }
@keyframes salonSpin { to { transform:rotate(360deg); } }

.salon-checkout { background:var(--salon-paper); }
.salon-checkout-head { min-height:650px; padding:105px 7vw 115px; display:grid; grid-template-columns:1.15fr .85fr; gap:9vw; align-items:center; }
.salon-checkout-head h2 { max-width:850px; margin:0; font-size:clamp(58px,7vw,100px); line-height:.94; }
.salon-checkout-head>div>p:not(.salon-kicker) { max-width:620px; margin:42px 0 0; color:#766b63; font-size:12px; line-height:1.75; }
.salon-checkout-promise { padding:48px 44px; background:var(--salon-ink); color:var(--salon-paper); }
.salon-checkout-promise>b { display:block; margin-bottom:28px; color:var(--salon-clay); font:500 32px 'Cormorant Garamond',serif; }
.salon-checkout-promise ol { margin:0; padding:0; list-style:none; counter-reset:salon-checkout; }
.salon-checkout-promise li { counter-increment:salon-checkout; display:grid; grid-template-columns:32px 1fr; gap:14px; padding:18px 0; border-top:1px solid rgba(244,239,230,.18); color:#c7bbb2; font-size:11px; line-height:1.65; }
.salon-checkout-promise li:before { content:'0' counter(salon-checkout); color:var(--salon-paper); font-size:9px; letter-spacing:.08em; }
.salon-analysis { background:var(--salon-cream); }
.salon-analysis-head { padding:85px 7vw 65px; display:grid; grid-template-columns:.85fr 1.15fr; gap:8vw; }
.salon-analysis-head h2 { font-size:clamp(56px,7vw,98px); }
.salon-facts { border-top:1px solid var(--salon-line); }
.salon-fact { display:grid; grid-template-columns:.85fr 1.5fr; gap:24px; border-bottom:1px solid var(--salon-line); padding:15px 0; }
.salon-fact span { color:#857970; font-size:8px; text-transform:uppercase; letter-spacing:.08em; }
.salon-fact strong { font-size:11px; line-height:1.55; font-weight:500; }
.salon-correction-note { margin:18px 0 0; color:#8b7f76; font-size:9px; line-height:1.5; }
.salon-correction-form { padding:26px; margin-top:18px; background:var(--salon-paper); border:1px solid var(--salon-line); }
.salon-correction-form input { display:block; width:100%; margin:0 0 12px; padding:10px; border:1px solid var(--salon-line); background:transparent; }
.salon-routes { padding:72px 7vw 90px; background:var(--salon-paper); }
.salon-route-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:0; border:1px solid var(--salon-line); }
.salon-route-grid.single { grid-template-columns:minmax(0,1fr); max-width:900px; }
.salon-route-grid.single .salon-route { min-height:360px; border-right:0; }
.salon-route { min-height:510px; padding:36px 30px; border:0; border-right:1px solid var(--salon-line); background:transparent; color:var(--salon-ink); text-align:left; cursor:pointer; position:relative; }
.salon-route:last-child { border-right:0; }
.salon-route.active { background:var(--salon-ink); color:var(--salon-paper); }
.salon-route-readonly { cursor:default; }
.salon-route-no { font:400 44px 'Cormorant Garamond'; color:var(--salon-clay); }
.salon-route .salon-kicker { margin:32px 0 13px; }
.salon-route h3 { margin:0 0 22px; font:500 34px/1 'Cormorant Garamond'; }
.salon-route b { display:block; margin:19px 0 7px; font-size:9px; text-transform:uppercase; letter-spacing:.08em; }
.salon-route p { margin:0; font-size:10px; line-height:1.65; color:#786c64; }
.salon-route.active p { color:#bcb0a7; }
.salon-route-check { position:absolute; right:25px; bottom:24px; font-size:9px; letter-spacing:.12em; text-transform:uppercase; opacity:0; }
.salon-route.active .salon-route-check { opacity:1; }
.salon-price-area { padding:85px 7vw 100px; background:#dac8b8; }
.salon-price-head { max-width:650px; margin-bottom:45px; }
.salon-price-head h2 { margin:0 0 30px; font:500 clamp(48px,6vw,76px)/.98 'Cormorant Garamond'; }
.salon-price-head p { margin-top:0; font-size:11px; line-height:1.65; }
.salon-paid-analysis { border-bottom:1px solid var(--salon-line); }
.salon-paid-routes .salon-price-head { max-width:900px; }
.salon-package-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.salon-package { min-height:270px; padding:28px; border:1px solid rgba(33,27,24,.23); background:rgba(245,240,231,.42); color:var(--salon-ink); cursor:pointer; text-align:left; position:relative; }
.salon-package:disabled { opacity:.42; cursor:not-allowed; }
.salon-package.recommended:before { content:'рекомендуем'; position:absolute; top:0; right:0; padding:8px 10px; background:var(--salon-clay); color:white; font-size:7px; letter-spacing:.1em; text-transform:uppercase; }
.salon-package.active { background:var(--salon-ink); color:var(--salon-paper); }
.salon-package-count { font:500 68px/.8 'Cormorant Garamond'; }
.salon-package h3 { margin:30px 0 9px; font:500 25px 'Cormorant Garamond'; }
.salon-package p { margin:0; min-height:48px; font-size:9px; line-height:1.55; opacity:.65; }
.salon-package-price { display:block; margin-top:22px; font-size:12px; }
.salon-package-price b { font-size:16px; }
.salon-limited { color:var(--salon-clay); font-size:8px; text-transform:uppercase; letter-spacing:.08em; }
.salon-buy-row { display:flex; align-items:center; gap:22px; margin-top:28px; }
.salon-buy-row small { max-width:420px; color:#71655e; font-size:9px; line-height:1.5; }
.salon-offer { margin-top:24px; padding:21px; border:1px solid rgba(33,27,24,.18); font-size:11px; line-height:1.6; }

.salon-results { background:var(--salon-paper); padding-bottom:90px; }
.salon-analysis-disclosure { border-top:1px solid var(--salon-line); border-bottom:1px solid var(--salon-line); background:var(--salon-cream); }
.salon-analysis-disclosure>summary { min-height:108px; padding:24px 7vw; cursor:pointer; list-style:none; display:flex; justify-content:space-between; align-items:center; gap:30px; transition:background .2s ease; }
.salon-analysis-disclosure>summary::-webkit-details-marker { display:none; }
.salon-analysis-disclosure>summary:hover { background:#f0e7dc; }
.salon-analysis-disclosure>summary:focus-visible { outline:2px solid var(--salon-clay); outline-offset:-2px; }
.salon-analysis-disclosure-copy { min-width:0; display:flex; flex-direction:column; align-items:flex-start; gap:8px; }
.salon-analysis-disclosure-copy b { color:var(--salon-ink); font:500 27px/1.05 'Cormorant Garamond'; }
.salon-analysis-disclosure-copy small { color:#81756d; font-size:10px; line-height:1.45; }
.salon-analysis-toggle { width:44px; height:44px; flex:0 0 44px; position:relative; display:block; border:1px solid var(--salon-clay); border-radius:50%; }
.salon-analysis-toggle:before,.salon-analysis-toggle:after { content:''; position:absolute; left:50%; top:50%; width:15px; height:1px; background:var(--salon-clay); transform:translate(-50%,-50%); transition:transform .2s ease; }
.salon-analysis-toggle:after { transform:translate(-50%,-50%) rotate(90deg); }
.salon-analysis-disclosure[open] .salon-analysis-toggle:after { transform:translate(-50%,-50%) rotate(90deg) scaleX(0); }
.salon-analysis-disclosure .salon-analysis { border-top:1px solid var(--salon-line); }
.salon-results-head { padding:80px 7vw 55px; display:flex; justify-content:space-between; gap:30px; align-items:end; }
.salon-results-head h2 { font-size:clamp(54px,7vw,94px); }
.salon-report-actions { width:min(540px,100%); margin-left:auto; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.salon-report-actions a { width:100%; text-decoration:none; }
.salon-progress { margin:0 7vw 50px; height:2px; background:#d4ccc3; }
.salon-progress i { display:block; height:100%; background:var(--salon-clay); transition:width .4s ease; }
.salon-look-grid { padding:0 7vw; display:flex; flex-direction:column; gap:clamp(110px,11vw,190px); background:var(--salon-paper); }
.salon-look { width:100%; max-width:1180px; margin:0 auto; position:relative; display:grid; grid-template-columns:minmax(0,.86fr) minmax(420px,1.14fr); gap:clamp(36px,4.2vw,68px); align-items:center; isolation:isolate; }
.salon-look:nth-child(even) { grid-template-columns:minmax(420px,1.14fr) minmax(0,.86fr); }
.salon-look-media { grid-column:1; grid-row:1; width:100%; aspect-ratio:4/5; max-height:680px; background:#ddd3c9; position:relative; overflow:hidden; }
.salon-look:nth-child(even) .salon-look-media { grid-column:2; }
.salon-look-media img { width:100%; height:100%; object-fit:cover; display:block; }
.salon-look-image-open { width:100%; height:100%; padding:0; position:relative; display:block; overflow:hidden; border:0; background:transparent; color:#fff; cursor:zoom-in; }
.salon-look-image-open img { transition:transform .45s ease; }
.salon-look-image-open:hover img { transform:scale(1.012); }
.salon-look-image-open:focus-visible { outline:2px solid var(--salon-clay); outline-offset:-5px; }
.salon-look-image-open>span { position:absolute; right:16px; bottom:16px; padding:9px 12px; background:rgba(35,27,23,.76); color:#f8f1e9; font-size:8px; line-height:1; letter-spacing:.11em; text-transform:uppercase; opacity:.82; transition:opacity .2s ease,background .2s ease; }
.salon-look-image-open:hover>span { opacity:1; background:rgba(35,27,23,.9); }
.salon-look-loading { height:100%; display:grid; place-items:center; text-align:center; color:#8b7e75; font-size:10px; letter-spacing:.08em; text-transform:uppercase; background:linear-gradient(115deg,#e8ded4,#f3ede5,#e5d9ce); background-size:200% 100%; animation:salonShimmer 2s infinite linear; }
.salon-look-loading span { max-width:80%; white-space:pre-line; line-height:1.65; transition:opacity .18s ease,transform .18s ease; }
.salon-look-loading span.is-changing { opacity:0; transform:translateY(5px); }
@keyframes salonShimmer { to { background-position:-200% 0; } }
.salon-look-no { position:absolute; z-index:4; top:-54px; right:26px; color:var(--salon-clay); font:500 84px/.8 'Cormorant Garamond'; }
.salon-look:nth-child(even) .salon-look-no { right:auto; left:26px; }
.salon-look-copy { grid-column:2; grid-row:1; z-index:2; min-height:0; margin:0; padding:clamp(42px,4vw,62px) clamp(32px,3.8vw,56px) 30px; background:#31251f; color:var(--salon-paper); box-shadow:0 26px 70px rgba(33,27,24,.12); display:flex; flex-direction:column; justify-content:space-between; }
.salon-look:nth-child(even) .salon-look-copy { grid-column:1; margin:0; background:#473129; }
.salon-look-copy .salon-kicker { margin-bottom:26px; color:#d88770; }
.salon-look-copy h3 { max-width:520px; margin:0; font:500 clamp(42px,4.2vw,67px)/.86 'Cormorant Garamond'; letter-spacing:-.035em; }
.salon-look-why { max-width:520px; margin:30px 0 0; color:#d6c9bf; font-size:11px; line-height:1.75; }
.salon-look-details { margin-top:clamp(38px,4vw,62px); border-top:1px solid rgba(245,240,231,.22); }
.salon-look-details>div { padding:18px 0; border-bottom:1px solid rgba(245,240,231,.18); }
.salon-look-details span { display:block; margin-bottom:8px; color:#a99b92; font-size:8px; text-transform:uppercase; letter-spacing:.17em; }
.salon-look-details p { margin:0; color:#f2eae2; font-size:11px; line-height:1.65; }
.salon-look-tools { margin-top:30px; padding-top:22px; }
.salon-look-tools-title { margin:0 0 12px; color:#a99b92; font-size:8px; line-height:1.35; text-transform:uppercase; letter-spacing:.17em; }
.salon-look-action-row { display:grid; grid-template-columns:minmax(0,1.35fr) repeat(2,minmax(0,.8fr)); gap:8px; }
.salon-look-action-row.single { grid-template-columns:1fr; }
.salon-look-action { width:100%; min-height:42px; padding:8px 10px; display:flex; align-items:center; justify-content:center; border:1px solid rgba(245,240,231,.25); background:transparent; color:#c9bdb4; cursor:pointer; text-align:center; font-size:8px; line-height:1.35; letter-spacing:.04em; transition:background .2s,border-color .2s,color .2s; }
.salon-look-action:hover { border-color:#d88770; color:#fff; }
.salon-look-action.is-active { border-color:#d88770; background:rgba(216,135,112,.13); color:#fff; }
.salon-look-action-main { border-color:#d88770; color:#f6ede7; }
.salon-look-action-main.is-active { background:#a6503b; border-color:#a6503b; }
.salon-look-choice-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.salon-look-choice-list .salon-look-choice:only-child { grid-column:1/-1; }
.salon-look-choice { min-height:76px; padding:12px; border:1px solid rgba(245,240,231,.2); display:grid; grid-template-columns:22px minmax(0,1fr); gap:10px; align-items:start; color:#f2eae2; cursor:pointer; transition:border-color .2s,background .2s; position:relative; }
.salon-look-choice:hover { border-color:rgba(216,135,112,.72); }
.salon-look-choice:has(input:checked) { border-color:#d88770; background:rgba(216,135,112,.1); }
.salon-look-choice input { position:absolute; width:1px; height:1px; opacity:0; }
.salon-choice-mark { width:22px; height:22px; border:1px solid #8f8178; display:grid; place-items:center; color:#fff; font-size:13px; line-height:1; transition:border-color .2s,background .2s; }
.salon-look-choice input:checked+.salon-choice-mark { border-color:#b65a43; background:#b65a43; }
.salon-look-choice input:checked+.salon-choice-mark:after { content:'✓'; }
.salon-look-choice input:focus-visible+.salon-choice-mark { outline:2px solid #e0a28f; outline-offset:3px; }
.salon-choice-copy b { display:block; color:#f2eae2; font-size:9px; line-height:1.35; font-weight:500; }
.salon-choice-copy small { display:block; margin-top:5px; color:#a99b92; font-size:7.5px; line-height:1.45; }
.salon-look-tools .salon-look-shades { display:block; width:100%; margin-top:14px; padding:11px 0 0; color:#e0a28f; text-align:left; border-top:1px solid rgba(245,240,231,.16); }
.salon-look-shades span { float:right; font-size:14px; }
.salon-failed { color:#9e3d2c; }
.salon-selection-tools { position:sticky; z-index:8; top:84px; max-width:720px; margin:0 auto 48px; padding:13px 16px; background:#30251f; color:var(--salon-paper); box-shadow:0 14px 38px rgba(33,27,24,.18); display:flex; align-items:center; justify-content:space-between; gap:20px; }
.salon-selection-tools>span { font-size:9px; text-transform:uppercase; letter-spacing:.1em; }
.salon-selection-tools>div { display:flex; align-items:center; gap:15px; }
.salon-selection-tools .salon-text-btn { color:#b9aca3; }
.salon-selection-tools .salon-primary { min-height:38px; padding:0 15px; font-size:8px; }
.salon-decision-prompt { max-width:1180px; margin:110px auto 0; padding:55px 7vw; border-top:1px solid var(--salon-line); border-bottom:1px solid var(--salon-line); text-align:center; }
.salon-decision-prompt h3 { max-width:780px; margin:0 auto; font:500 clamp(40px,4.5vw,65px)/.95 'Cormorant Garamond'; }
.salon-decision-prompt>p:not(.salon-kicker) { max-width:620px; margin:25px auto 0; color:#746961; font-size:11px; line-height:1.7; }
.salon-decision { max-width:1180px; margin:120px auto 0; background:var(--salon-cream); border:1px solid var(--salon-line); }
.salon-decision-head { padding:42px 48px 30px; display:flex; justify-content:space-between; align-items:end; gap:35px; border-bottom:1px solid var(--salon-line); }
.salon-decision-head h3 { margin:0; font:500 clamp(38px,4vw,57px)/.9 'Cormorant Garamond'; }
.salon-decision-tabs { width:min(480px,100%); display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:5px; }
.salon-decision-tabs button { min-height:48px; padding:10px 14px; display:flex; align-items:center; justify-content:center; border:1px solid transparent; background:transparent; color:#6f635c; cursor:pointer; text-align:center; font-size:10px; line-height:1.3; }
.salon-decision-tabs button.active { border-color:var(--salon-clay); color:var(--salon-clay); }
.salon-decision-body { min-height:430px; }
.salon-decision-look { padding:45px; display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,.8fr) minmax(280px,1fr); gap:24px; align-items:center; }
.salon-decision-look figure { margin:0; position:relative; aspect-ratio:4/5; overflow:hidden; background:#ded3c8; }
.salon-decision-look figure img { width:100%; height:100%; object-fit:cover; display:block; }
.salon-decision-image-open,.salon-compare-image-open { width:100%; height:100%; padding:0; display:block; border:0; background:transparent; cursor:zoom-in; }
.salon-decision-image-open:focus-visible,.salon-compare-image-open:focus-visible { outline:2px solid var(--salon-clay); outline-offset:-4px; }
.salon-decision-look figcaption { position:absolute; left:12px; bottom:12px; padding:6px 8px; background:rgba(33,27,24,.82); color:white; font-size:7px; letter-spacing:.1em; text-transform:uppercase; }
.salon-decision-summary { padding:30px 8px 30px 22px; }
.salon-decision-summary h4 { margin:0; font:500 clamp(38px,3.5vw,53px)/.92 'Cormorant Garamond'; }
.salon-decision-summary>p:not(.salon-kicker) { color:#746961; font-size:11px; line-height:1.75; }
.salon-decision-reality,.salon-stylist-plan { padding:45px; }
.salon-reality-metrics { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--salon-line); border-left:1px solid var(--salon-line); }
.salon-reality-metrics>div { min-height:150px; padding:24px; border-right:1px solid var(--salon-line); border-bottom:1px solid var(--salon-line); display:flex; flex-direction:column; justify-content:space-between; gap:22px; }
.salon-reality-metrics span,.salon-decision-note span,.salon-decision-care>span,.salon-stylist-grid span { color:#81746c; font-size:8.5px; line-height:1.4; letter-spacing:.13em; text-transform:uppercase; }
.salon-reality-metrics b { font:500 21px/1.15 'Cormorant Garamond'; }
.salon-decision-note { margin:30px 0; padding:22px 0; border-bottom:1px solid var(--salon-line); }
.salon-decision-note p { margin:10px 0 0; color:#665b54; font-size:11px; line-height:1.7; }
.salon-decision-care { margin:28px 0; }
.salon-decision-care ul { margin:15px 0 0; padding:0 0 0 18px; color:#665b54; font-size:11px; line-height:1.75; }
.salon-stylist-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid var(--salon-line); border-left:1px solid var(--salon-line); }
.salon-stylist-grid>div { min-height:135px; padding:24px; border-right:1px solid var(--salon-line); border-bottom:1px solid var(--salon-line); }
.salon-stylist-grid p { margin:12px 0 0; color:#514841; font-size:11px; line-height:1.7; }
.salon-decision-downloads { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:30px; }
.salon-decision-downloads a { width:100%; text-decoration:none; }
.salon-compare-overlay[hidden] { display:none; }
.salon-compare-overlay { position:fixed; z-index:10030; inset:0; padding:35px; background:rgba(24,19,17,.78); display:grid; place-items:center; overflow:auto; }
.salon-compare-dialog { width:min(1050px,100%); max-height:calc(100vh - 70px); overflow:auto; padding:45px; position:relative; background:var(--salon-paper); }
.salon-compare-dialog>h3 { margin:0 0 30px; font:500 50px/.95 'Cormorant Garamond'; }
.salon-compare-close { position:absolute; top:18px; right:20px; border:0; background:transparent; color:var(--salon-ink); cursor:pointer; font:400 32px/1 'Cormorant Garamond'; }
.salon-compare-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.salon-compare-grid article { display:flex; flex-direction:column; align-items:flex-start; }
.salon-compare-image-open { height:min(48vh,520px); }
.salon-compare-grid img { width:100%; height:min(48vh,520px); object-fit:cover; display:block; }
.salon-compare-grid h4 { margin:18px 0 7px; font:500 29px/1 'Cormorant Garamond'; }
.salon-compare-grid p { min-height:42px; margin:0 0 18px; color:#746961; font-size:9px; line-height:1.55; }
.salon-compare-grid .salon-primary { width:100%; margin-top:auto; }
body.salon-modal-open { overflow:hidden; }
.salon-lightbox-overlay { z-index:10060; cursor:zoom-out; }
.salon-lightbox-overlay .lightbox-img,.salon-lightbox-overlay .lightbox-close,.salon-lightbox-overlay .lightbox-counter,.salon-lightbox-overlay .lightbox-arrow { cursor:default; }
.salon-lightbox-overlay .lightbox-close,.salon-lightbox-overlay .lightbox-arrow { cursor:pointer; }
.salon-share-panel { margin:90px 7vw 0; padding:clamp(48px,5vw,76px); background:var(--salon-ink); color:var(--salon-paper); display:grid; grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr); gap:clamp(50px,7vw,110px); align-items:center; }
.salon-share-panel h3 { max-width:650px; margin:28px 0 0; font:500 clamp(42px,4vw,62px)/1 'Cormorant Garamond'; }
.salon-share-panel p:not(.salon-kicker) { max-width:520px; margin:0; color:#ada098; font-size:11px; line-height:1.75; }
.salon-share-actions { align-self:center; justify-self:stretch; }
.salon-share-count { display:block; margin-top:22px; color:#d88770; font-size:9px; letter-spacing:.1em; text-transform:uppercase; }
.salon-share-panel .salon-primary { width:100%; min-height:58px; margin-top:28px; }
.salon-share-output { padding:17px; margin-top:14px; background:rgba(255,255,255,.08); font-size:10px; word-break:break-all; }
.salon-extension { margin:85px 7vw 0; padding:42px 0; border-top:1px solid var(--salon-line); border-bottom:1px solid var(--salon-line); display:grid; grid-template-columns:1fr 1fr; gap:6vw; align-items:center; }
.salon-extension h3 { margin:0; font:500 48px/.9 'Cormorant Garamond'; }
.salon-extension p { color:#796e66; font-size:10px; line-height:1.6; }
.salon-extension-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; align-items:stretch; }
.salon-extension-option { min-height:184px; padding:27px 29px 24px; border:1px solid var(--salon-ink); background:transparent; color:var(--salon-ink); cursor:pointer; text-align:left; display:flex; flex-direction:column; align-items:flex-start; transition:background .2s ease,color .2s ease,transform .2s ease; }
.salon-extension-option:hover { transform:translateY(-2px); background:#eee5db; }
.salon-extension-option:focus-visible { outline:2px solid var(--salon-clay); outline-offset:3px; }
.salon-extension-option>span { margin-bottom:16px; color:var(--salon-clay); font-size:8px; letter-spacing:.15em; text-transform:uppercase; }
.salon-extension-option>strong { max-width:430px; font:500 29px/1 'Cormorant Garamond'; }
.salon-extension-option>small { max-width:470px; margin-top:12px; color:#756960; font:400 9px/1.6 Arial,sans-serif; }
.salon-extension-option>em { margin-top:auto; padding-top:22px; color:var(--salon-clay); font:400 10px/1 Arial,sans-serif; font-style:normal; letter-spacing:.08em; }
.salon-extension-option.is-featured { grid-column:1/-1; min-height:170px; background:var(--salon-clay); border-color:var(--salon-clay); color:#fff8f0; }
.salon-extension-option.is-featured:hover { background:#9d452f; }
.salon-extension-option.is-featured>span,.salon-extension-option.is-featured>small,.salon-extension-option.is-featured>em { color:#f2d9cf; }
.salon-extension-overlay { position:fixed; z-index:10040; inset:0; padding:24px; background:rgba(24,19,17,.78); display:grid; place-items:center; overflow:auto; }
.salon-extension-dialog { width:min(720px,100%); max-height:calc(100vh - 48px); overflow:auto; padding:50px; position:relative; background:var(--salon-paper); box-shadow:0 28px 80px rgba(25,18,14,.22); }
.salon-extension-dialog>h3 { max-width:560px; margin:13px 0 20px; font:500 clamp(42px,5vw,62px)/.92 'Cormorant Garamond'; }
.salon-extension-confirm-copy { max-width:570px; margin:0; color:#6f645c; font-size:11px; line-height:1.7; }
.salon-extension-dialog dl { margin:34px 0 0; border-top:1px solid var(--salon-line); border-left:1px solid var(--salon-line); display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
.salon-extension-dialog dl>div { min-height:105px; padding:22px; border-right:1px solid var(--salon-line); border-bottom:1px solid var(--salon-line); display:flex; flex-direction:column; justify-content:space-between; gap:16px; }
.salon-extension-dialog dt { color:#887b72; font-size:8px; letter-spacing:.14em; text-transform:uppercase; }
.salon-extension-dialog dd { margin:0; font:500 25px/1 'Cormorant Garamond'; }
.salon-extension-preserved { margin:20px 0 0; color:#756960; font-size:9px; line-height:1.6; }
.salon-extension-confirm-actions { margin-top:32px; display:grid; grid-template-columns:minmax(150px,.65fr) minmax(260px,1.35fr); gap:10px; }
.salon-extension-confirm-actions button { width:100%; min-height:58px; }
.salon-method-update { margin:85px 7vw 0; padding:42px; background:#342720; color:#f7efe7; display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,.55fr); gap:6vw; align-items:center; }
.salon-method-update h3 { max-width:620px; margin:0; font:500 48px/.9 'Cormorant Garamond'; }
.salon-method-update p:not(.salon-kicker) { max-width:680px; margin:20px 0 0; color:#cfc0b6; font-size:10px; line-height:1.7; }
.salon-method-update-button { min-height:116px; padding:26px 30px; border:1px solid #d88770; background:#ad4e38; color:#fff8f0; cursor:pointer; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; text-align:left; transition:transform .2s ease,background .2s ease; }
.salon-method-update-button:hover { transform:translateY(-2px); background:#9d452f; }
.salon-method-update-button:focus-visible { outline:2px solid #f7efe7; outline-offset:4px; }
.salon-method-update-button span { font:500 24px/1 'Cormorant Garamond'; }
.salon-method-update-button small { margin-top:12px; color:#f0d8cf; font-size:8px; line-height:1.45; letter-spacing:.08em; text-transform:uppercase; }
.salon-empty { min-height:620px; display:grid; place-items:center; text-align:center; padding:70px; }
.salon-empty>div { display:flex; flex-direction:column; align-items:center; }
.salon-empty h2 { margin:0 0 20px; font:500 55px/1 'Cormorant Garamond'; }
.salon-empty p:not(.salon-kicker) { max-width:500px; margin:0 auto 34px; color:#776d65; font-size:12px; line-height:1.65; }

@media (max-width: 820px) {
    .salon-saved { grid-template-columns:1fr; gap:30px; padding:55px 7vw 65px; }
    .salon-saved-heading h3 { font-size:36px; }
    .salon-home { grid-template-columns:1fr; padding:55px 6vw 65px; }
    .salon-preview { grid-template-columns:1fr; }
    .salon-preview-copy { padding:95px 7vw 65px; }
    .salon-preview-visual { min-height:570px; }
    .salon-preview-index { display:none; }
    .salon-ecosystem-preview { grid-template-columns:1fr; }
    .salon-ecosystem-preview article { min-height:180px; border-right:0; border-bottom:1px solid rgba(255,255,255,.13); }
    .salon-stage { padding:65px 6vw 90px; }
    .salon-stage-top,.salon-analysis-head,.salon-checkout-head { grid-template-columns:1fr; gap:45px; }
    .salon-checkout-head { min-height:0; padding:85px 7vw 95px; }
    .salon-form { grid-template-columns:1fr; }
    .salon-field.wide,.salon-form-actions { grid-column:1; }
    .salon-profile-choices.routine { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .salon-profile-choices.routine .salon-profile-choice:nth-child(2) { border-right:0; }
    .salon-profile-choices.routine .salon-profile-choice:nth-child(-n+2) { border-bottom:1px solid rgba(33,27,24,.2); }
    .salon-route-grid,.salon-package-grid { grid-template-columns:1fr; }
    .salon-route { min-height:0; border-right:0; border-bottom:1px solid var(--salon-line); }
    .salon-package { min-height:220px; }
    .salon-results-head { display:block; }
    .salon-report-actions { margin:28px 0 0; }
    .salon-look-grid { gap:90px; }
    .salon-look,.salon-look:nth-child(even) { grid-template-columns:1fr; align-items:start; }
    .salon-look-media,.salon-look:nth-child(even) .salon-look-media { grid-column:1; grid-row:1; max-height:none; }
    .salon-look-copy,.salon-look:nth-child(even) .salon-look-copy { grid-column:1; grid-row:2; min-height:0; margin:24px 0 0; padding:45px 38px 30px; }
    .salon-look-no,.salon-look:nth-child(even) .salon-look-no { top:-35px; right:20px; left:auto; font-size:68px; }
    .salon-decision,.salon-decision-prompt { margin-left:22px; margin-right:22px; }
    .salon-decision-head { display:block; padding:36px 30px 25px; }
    .salon-decision-tabs { margin-top:26px; }
    .salon-decision-look { grid-template-columns:repeat(2,minmax(0,1fr)); padding:30px; }
    .salon-decision-summary { grid-column:1/-1; padding:20px 0 0; }
    .salon-reality-metrics { grid-template-columns:repeat(2,1fr); }
    .salon-decision-reality,.salon-stylist-plan { padding:30px; }
    .salon-share-panel { grid-template-columns:1fr; gap:40px; padding:48px 32px; }
    .salon-share-panel h3 { margin-top:24px; }
    .salon-share-actions { align-self:stretch; }
    .salon-extension { grid-template-columns:1fr; }
    .salon-method-update { grid-template-columns:1fr; }
    .salon-extension-actions { width:100%; }
    .salon-lookbook-nav { padding:0 24px; justify-content:flex-start; gap:22px; overflow-x:auto; white-space:nowrap; }
    .salon-lookbook-nav span { margin-right:10px; }
    .salon-editorial-problem { min-height:0; padding:95px 7vw 105px; grid-template-columns:1fr; gap:55px; }
    .salon-editorial-copy,.salon-cut-figure,.salon-editorial-note { grid-column:1; }
    .salon-editorial-copy { padding:0; }
    .salon-cut-figure { height:auto; aspect-ratio:2/3; }
    .salon-editorial-note { max-width:520px; margin-top:0; }
    .salon-lookbook-facts { grid-template-columns:repeat(2,1fr); }
    .salon-lookbook-facts>div:nth-child(2) { border-right:0; }
    .salon-lookbook-facts>div:nth-child(-n+2) { border-bottom:1px solid var(--salon-line); }
    .salon-editorial-result { padding:100px 7vw 110px; grid-template-columns:1fr; gap:55px; }
    .salon-result-heading,.salon-color-figure,.salon-result-list { grid-column:1; }
    .salon-result-heading { margin-bottom:15px; }
    .salon-color-figure { height:auto; aspect-ratio:2/3; }
    .salon-editorial-quote { padding:100px 7vw 95px; }
    .salon-process { padding:100px 7vw 110px; grid-template-columns:1fr; gap:75px; }
    .salon-process-intro { position:static; }
    .salon-reality { padding:100px 7vw 105px; }
    .salon-reality-title { grid-template-columns:1fr; gap:25px; }
    .salon-reality-grid { margin-top:70px; grid-template-columns:repeat(2,1fr); }
    .salon-reality-grid article:nth-child(2) { border-right:0; }
    .salon-reality-grid article:nth-child(-n+2) { border-bottom:1px solid rgba(255,255,255,.35); }
    .salon-reality-caption { margin-left:0; }
    .salon-formats { padding:105px 7vw 110px; }
    .salon-format-grid { grid-template-columns:1fr; border-bottom:0; }
    .salon-format-grid article { min-height:310px; border-right:0; border-bottom:1px solid rgba(33,27,24,.23); }
    .salon-format-grid article.featured { transform:none; }
    .salon-faq { padding:105px 7vw 115px; grid-template-columns:1fr; gap:70px; }
    .salon-final-cta { padding:105px 7vw 110px; }
}

@media (max-width: 520px) {
    .salon-profile-choices.density,.salon-profile-choices.routine { grid-template-columns:1fr; }
    .salon-profile-choice:not(:last-child),.salon-profile-choices.routine .salon-profile-choice:nth-child(2) { border-right:0; border-bottom:1px solid rgba(33,27,24,.2); }
    .salon-profile-card { min-height:132px; padding:18px 20px; }
    .salon-profile-card i { margin-bottom:18px; }
    .catalog-header-actions { gap:6px; }
    .catalog-studio-link { min-height:32px; padding:5px 9px; font-size:10px; }
    .salon-preview { min-height:0; }
    .salon-preview-copy { padding:62px 22px 52px; }
    .salon-preview h2,.salon-preview-copy h2 { font-size:51px; line-height:.82; }
    .salon-lede { margin-top:27px; font-size:12px; }
    .salon-preview-deliverables { margin-bottom:22px; }
    .salon-preview-deliverables span { font-size:8px; }
    .salon-preview-copy .salon-primary { width:100%; }
    .salon-preview-visual { min-height:500px; }
    .salon-home { padding-left:16px; padding-right:16px; }
    .salon-home article { padding:27px 22px; }
    .salon-passport-grid { grid-template-columns:1fr; }
    .salon-photo { width:105px; }
    .salon-analysis-head,.salon-routes,.salon-price-area,.salon-results-head,.salon-look-grid,.salon-checkout-head { padding-left:22px; padding-right:22px; }
    .salon-checkout-head h2 { font-size:52px; }
    .salon-checkout-promise { padding:36px 28px; }
    .salon-fact { grid-template-columns:1fr; gap:6px; }
    .salon-buy-row { align-items:flex-start; flex-direction:column; }
    .salon-report-actions { grid-template-columns:1fr; }
    .salon-selection-tools { top:68px; margin:0 16px 38px; align-items:flex-start; }
    .salon-selection-tools>div { align-items:flex-end; flex-direction:column-reverse; gap:3px; }
    .salon-look-action-row { grid-template-columns:1fr; }
    .salon-decision,.salon-decision-prompt { margin-left:14px; margin-right:14px; }
    .salon-decision-prompt { padding:45px 22px; }
    .salon-decision-look { grid-template-columns:1fr; padding:20px; }
    .salon-decision-look figure { aspect-ratio:4/5; }
    .salon-decision-summary { grid-column:1; }
    .salon-reality-metrics,.salon-stylist-grid { grid-template-columns:1fr; }
    .salon-decision-reality,.salon-stylist-plan { padding:22px; }
    .salon-decision-downloads { grid-template-columns:1fr; }
    .salon-extension-actions { grid-template-columns:1fr; }
    .salon-extension-option,.salon-extension-option.is-featured { grid-column:1; min-height:0; }
    .salon-extension-overlay { padding:12px; }
    .salon-extension-dialog { max-height:calc(100vh - 24px); padding:42px 22px 24px; }
    .salon-extension-dialog dl { grid-template-columns:1fr; }
    .salon-extension-dialog dl>div { min-height:90px; }
    .salon-extension-confirm-actions { grid-template-columns:1fr; }
    .salon-compare-overlay { padding:12px; }
    .salon-compare-dialog { max-height:calc(100vh - 24px); padding:34px 20px 24px; }
    .salon-compare-grid { grid-template-columns:1fr; }
    .salon-compare-image-open { height:52vh; }
    .salon-compare-grid img { height:52vh; }
    .salon-report-actions a,.salon-report-actions button { width:100%; text-align:center; }
    .salon-look-grid { gap:72px; }
    .salon-look-copy,.salon-look:nth-child(even) .salon-look-copy { margin:18px 0 0; padding:38px 25px 25px; }
    .salon-look-copy h3 { font-size:43px; }
    .salon-look-why { margin-top:24px; }
    .salon-look-tools .salon-text-btn { width:100%; margin-left:0; text-align:left; }
    .salon-lookbook-nav { min-height:56px; gap:18px; padding:0 16px; }
    .salon-lookbook-nav a { font-size:8px; }
    .salon-editorial-problem { padding:76px 22px 85px; }
    .salon-editorial-copy h2,.salon-result-heading h2,.salon-process-intro h2,.salon-reality-title h2,.salon-formats-head h2,.salon-faq-head h2,.salon-final-cta h2 { font-size:50px; line-height:.84; }
    .salon-editorial-copy .salon-editorial-lede { margin-top:38px; font-size:12px; }
    .salon-editorial-figure figcaption b { font-size:16px; }
    .salon-lookbook-facts>div { min-height:155px; padding:27px 20px; }
    .salon-lookbook-facts strong { font-size:54px; }
    .salon-lookbook-facts span { font-size:7px; }
    .salon-editorial-result { padding:80px 22px 90px; }
    .salon-result-heading { margin-bottom:0; }
    .salon-result-list article { grid-template-columns:34px 1fr; gap:12px; }
    .salon-result-list h3 { font-size:24px; }
    .salon-editorial-quote { padding:80px 22px 75px; }
    .salon-editorial-quote p { font-size:39px; }
    .salon-process { padding:80px 22px 90px; gap:60px; }
    .salon-process-list li { grid-template-columns:45px 1fr; gap:12px; }
    .salon-process-list b { font-size:24px; }
    .salon-reality { padding:80px 22px 85px; }
    .salon-reality-grid { grid-template-columns:1fr; }
    .salon-reality-grid article { min-height:185px; border-right:0; border-bottom:1px solid rgba(255,255,255,.35); }
    .salon-reality-grid article:nth-child(2) { border-bottom:1px solid rgba(255,255,255,.35); }
    .salon-reality-grid article:last-child { border-bottom:0; }
    .salon-reality-grid p { margin-top:35px; }
    .salon-reality-caption { grid-template-columns:1fr; gap:18px; }
    .salon-formats { padding:85px 22px 90px; }
    .salon-format-grid { margin-top:55px; }
    .salon-format-grid article { padding:30px 25px; }
    .salon-faq { padding:85px 22px 90px; gap:55px; }
    .salon-faq-list summary { min-height:78px; padding-right:36px; font-size:21px; }
    .salon-faq-list details p { margin-right:22px; }
    .salon-final-cta { padding:85px 22px 90px; }
}
