/* Rapunzel Remy: airy ivory, original-logo pink, champagne gold. */
:root{--ink:#2d2525;--cream:#fff9f5;--ivory:#fffdf9;--muted:#675b59;--gold:#e9c996;--gold-deep:#9a704a;--pink:#b31659;--line:#ecd9d6;background:var(--cream)}
.topline{background:#b31659;color:#fff;letter-spacing:.12em;font-size:.75rem}
.header{background:#fffdfb;color:#2d2525;border-bottom:1px solid #ecd9d6;box-shadow:0 8px 22px #6830490a}
.brand small{color:#a76d82}.header nav>a:hover{color:#b31659}.header .nav-contact{border:1px solid #b31659;color:#a41455;background:#fff4f8}.header .nav-contact:hover{background:#b31659;color:#fff}
.menu-button span{background:#9e2859}
.hero{background:linear-gradient(125deg,#fff4f7 0%,#fffdf9 64%,#f5e4d8 100%);color:#2c2324;min-height:620px;position:relative}
.hero-copy{position:relative;z-index:1;padding-top:clamp(70px,8vw,116px)}
.hero h1 em{color:#b31659}.hero-intro{color:#5e5251}.hero .eyebrow.light,.consult .eyebrow.light{color:#a41455}
.hero-proof{color:#685b58}.hero-proof span{color:#c8929e}
.button.gold,.button.pink{background:#b31659;color:white;box-shadow:0 8px 18px #b3165922}.button.gold:hover,.button.pink:hover{background:#8e1046}
.light-link{color:#972456}.text-link:hover{color:#b31659}
.hero-media{background:#f5e9dd}.hero-media>img{filter:none;object-position:center 48%}.hero-media:after{background:linear-gradient(0deg,rgba(45,30,25,.38),transparent 24%)}
.image-caption span{color:#fff2d8}
.marquee{background:#f0d5bc;color:#654035}.marquee span+span:before{color:#ad4871}
.collection{background:#fffdfa}.section .eyebrow{color:#a41455}
.product-card{background:#fff;border:1px solid #f0dfd9;box-shadow:0 16px 32px #6a3b4310;transition:transform .25s,box-shadow .25s}.product-card:hover{transform:translateY(-4px);box-shadow:0 20px 35px #6a3b4320}
.product-photo{background:#f8e9df}.product-photo span{background:#fff8f5;color:#924664}.product-info .spec{color:#a41455}.product-info .fantasy-note{background:#fff0f6;color:#823552;padding:9px 11px;font-weight:600;font-size:.81rem;line-height:1.4;margin:0 0 18px}.collection-note{color:#7b6268}
.tones{background:#fceaf0}.tones-heading{display:grid;grid-template-columns:1.3fr .7fr;gap:35px;align-items:end;margin-bottom:43px}.tones-heading h2{max-width:690px}.tones-heading>p{max-width:380px;color:#67545c;line-height:1.65;margin:0 0 5px}.tone-group-title{font:500 1.3rem 'Playfair Display',Georgia,serif;margin:0 0 18px}
.swatch-grid{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:12px}.swatch{background:#fff;border:1px solid #ead7db;padding:9px 9px 12px;display:flex;flex-direction:column;min-width:0;transition:transform .2s,box-shadow .2s}.swatch:hover,.swatch:focus-visible{transform:translateY(-3px);box-shadow:0 9px 17px #842c5230}.swatch-color{display:block;height:100px;width:100%;background:var(--tone);border:1px solid #00000016;margin-bottom:10px;position:relative}.swatch-color:after{content:"";position:absolute;inset:0;background:linear-gradient(98deg,transparent 0 22%,#ffffff2c 30%,transparent 39% 65%,#00000012 72%,transparent 84%)}.swatch strong{font-size:.88rem}.swatch small{font-size:.76rem;color:#6e5d61;line-height:1.35;margin-top:3px}
.fantasy-panel{display:grid;grid-template-columns:1.06fr .94fr;background:#fff;margin-top:42px;box-shadow:0 20px 35px #71334b17;min-height:380px}.fantasy-photo{min-height:380px;overflow:hidden;background:#f5e8df}.fantasy-photo img{width:100%;height:100%;object-fit:cover;object-position:center}.fantasy-content{padding:clamp(30px,4vw,58px);align-self:center}.fantasy-content h3{font:400 clamp(1.9rem,3vw,3.1rem)/1.15 'Playfair Display',Georgia,serif;margin:0 0 15px}.fantasy-content>p:not(.eyebrow){line-height:1.6;color:#695b5b;max-width:450px}.fantasy-swatches{display:flex;flex-wrap:wrap;gap:13px;margin:24px 0 28px}.fantasy-swatches a{display:flex;flex-direction:column;gap:8px;min-width:49px;font-size:.75rem;font-weight:700;text-align:center}.fantasy-swatches a span{height:36px;background:var(--tone);border:1px solid #00000014}.fantasy-swatches a:hover{text-decoration:underline}
.consult{background:linear-gradient(115deg,#fbe0e9,#fff4ee 70%);color:#2b2224}.consult-intro>p:last-child{color:#66585a}.consult-form{background:#fff;box-shadow:0 18px 40px #8639511f;border:1px solid #f4d9e2}.consult-form select{background-color:#fffafc;border-color:#d3b5c0}
.care-section{background:#fff8f2}.care-grid>div{border-color:#dea9bd}.care-grid span{color:#b31659}
.courses{background:#fffdf9}.course{border-color:#edd8df}.course-list{border-color:#edd8df}.course-num,.course small,.course>a{color:#a41455}
.faq{background:#fceaf0}.faq-items,.faq-items details{border-color:#e0b9c7}.faq-items summary:after{color:#b31659}
.final-cta{background:linear-gradient(125deg,#bd1d64,#e0558e 55%,#b72462);color:#fff}.final-cta .eyebrow.light{color:#ffe5ad}.final-cta>p:not(.eyebrow){color:#fff1f4}.final-cta .button.gold{background:#fff5ec;color:#9b1650;box-shadow:none}.final-cta .button.gold:hover{background:#f8ddc5}
footer{background:#38202d}.footer-main h2{color:#f7c9a4}.footer-bottom{border-color:#70505e}.mobile-wa{background:#b31659;color:white}
@media(max-width:1050px){.swatch-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:780px){.header nav{background:#fffdfb;color:#2d2525;border-color:#ecd9d6;box-shadow:0 16px 28px #63234223}.header .nav-contact{background:#fff4f8}.hero{min-height:0}.tones-heading{grid-template-columns:1fr;gap:15px}.tones-heading>p{max-width:610px}.fantasy-panel{grid-template-columns:1fr}.fantasy-photo{height:330px;min-height:0}.fantasy-content{padding:34px}}
@media(max-width:560px){.hero-media{height:350px}.swatch-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.swatch{padding:7px 7px 10px}.swatch-color{height:78px}.swatch strong{font-size:.83rem}.swatch small{font-size:.75rem}.fantasy-photo{height:auto}.fantasy-photo img{height:auto;object-fit:contain}.fantasy-content{padding:28px 22px}.fantasy-swatches{gap:10px}.fantasy-swatches a{min-width:45px}.final-cta{padding-bottom:95px}}

/* Realistic hair samples */
.swatch-color{height:auto;aspect-ratio:1 / 1.25;background-image:url("assets/hair-samples.png");background-size:300% 300%;background-position:var(--sample-x) var(--sample-y);border:0}
.swatch-color:after{display:none}
.fantasy-swatches{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;max-width:360px}
.fantasy-swatches a{min-width:0}
.fantasy-swatches a span{height:90px;background-image:url("assets/fantasy-16-v2.png");background-size:550% auto;background-position:var(--sample-x) 68%;border:1px solid #ead7db}
.fantasy-photo img{object-fit:contain}
