.scroll-progress{position:fixed;inset:0 0 auto;z-index:100;height:4px;pointer-events:none;background:transparent}.scroll-progress span{display:block;width:100%;height:100%;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,var(--lime) 0 72%,#e45a8a 72% 100%);will-change:transform}

.hero-image img{transform:scale(1.035);transition:transform .45s cubic-bezier(.2,.8,.2,1);will-change:transform}.hero-image .stamp{transition:transform .45s cubic-bezier(.2,.8,.2,1);will-change:transform}.hero-image:after{content:"PRIVATE STUDIO · HOUSTON HEIGHTS";position:absolute;top:1rem;left:1rem;padding:.55rem .75rem;background:rgba(11,11,11,.82);color:#fff;font-size:.68rem;font-weight:800;letter-spacing:.11em}

.hair-match{display:grid;grid-template-columns:.75fr 1.25fr;gap:7vw;align-items:center;background:#e45a8a;color:var(--black);border-bottom:2px solid var(--black)}.hair-match-copy h2{margin:0;font:400 clamp(3.4rem,6vw,7rem)/.86 "Archivo Black",sans-serif;letter-spacing:-.065em;text-transform:uppercase}.hair-match-copy>p:not(.kicker){max-width:36rem;font-size:1.08rem}.hair-match-copy .match-privacy{margin-top:2rem;font-size:.8rem!important;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.match-ticket{background:var(--cream);border:2px solid var(--black);box-shadow:16px 16px 0 var(--black)}.match-ticket-top,.match-ticket-bottom{display:flex;justify-content:space-between;gap:1rem;padding:.8rem 1rem;background:var(--black);color:#fff;font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.match-ticket-bottom{background:transparent;color:var(--black);border-top:1px dashed var(--black);flex-wrap:wrap}.match-ticket-bottom span:before{content:"✦";margin-right:.4rem;color:#a64020}.match-live{min-height:430px;padding:clamp(1.5rem,4vw,3.5rem);display:flex;align-items:center}.match-live>div{width:100%}.match-number{display:block;margin-bottom:2rem;font:400 4rem/1 "Archivo Black",sans-serif;color:#a64020;letter-spacing:-.08em}.match-start>p:first-of-type,.match-question-label,.match-result-label{margin:0 0 .65rem;font-size:.72rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.match-start h3,.match-question h3,.match-result h3{margin:0 0 1rem;font:400 clamp(2rem,4vw,4.4rem)/.92 "Archivo Black",sans-serif;letter-spacing:-.055em;text-transform:uppercase}.match-start>p:last-of-type{max-width:38rem;color:#5d574f}.match-start-button,.match-choice,.match-primary,.match-secondary,.match-back,.match-restart{font:800 .78rem "DM Sans",sans-serif;letter-spacing:.07em;text-transform:uppercase;cursor:pointer}.match-start-button,.match-primary{margin-top:1.4rem;padding:1rem 1.2rem;border:2px solid var(--black);background:var(--lime);color:var(--black)}.match-start-button:hover,.match-primary:hover{background:var(--black);color:#fff}.match-progress{padding:1rem;border-bottom:1px dashed var(--black)}.match-progress>span{display:block;height:7px;background:linear-gradient(90deg,var(--lime) var(--match-progress,25%),#d8d1c5 var(--match-progress,25%));transition:background .25s}.match-progress small{display:block;margin-top:.45rem;font-size:.68rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.match-options{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;margin-top:1.6rem}.match-choice{min-height:76px;padding:1rem;border:1px solid var(--black);background:transparent;text-align:left}.match-choice:hover,.match-choice:focus-visible{background:var(--lime);outline:2px solid var(--black);outline-offset:2px}.match-controls{display:flex;justify-content:space-between;align-items:center;margin-top:1.25rem}.match-back,.match-restart{padding:.45rem 0;border:0;border-bottom:1px solid;background:transparent}.match-result{position:relative}.match-result:before{content:"YOUR MATCH";position:absolute;right:0;top:-1.5rem;transform:rotate(4deg);padding:.45rem .65rem;background:var(--lime);border:1px solid var(--black);font-size:.68rem;font-weight:900;letter-spacing:.1em}.match-result h3{max-width:13ch}.match-result-why{padding:1rem;border-left:5px solid #e45a8a;background:#fff}.match-result-why strong{display:block;margin-bottom:.25rem;text-transform:uppercase;font-size:.75rem;letter-spacing:.09em}.match-maintenance{font-size:.9rem;color:#5d574f}.match-actions{display:flex;gap:.65rem;flex-wrap:wrap;margin-top:1.25rem}.match-primary,.match-secondary{display:inline-flex;align-items:center;justify-content:center;margin:0;padding:.9rem 1rem;border:2px solid var(--black)}.match-secondary{background:transparent;color:var(--black)}.match-secondary:hover{background:var(--black);color:#fff}.match-restart{display:block;margin-top:1.2rem}

.service-goal-picker{margin-top:4rem;border:2px solid var(--black);background:var(--black)}.service-goal-picker>p{display:flex;justify-content:space-between;gap:1rem;margin:0;padding:.85rem 1rem;color:#fff;font-weight:800;text-transform:uppercase;letter-spacing:.09em;font-size:.78rem}.service-goal-picker>p span{color:var(--lime);font-weight:600}.goal-track{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;background:var(--black)}.goal-chip{min-width:0;min-height:132px;padding:1rem;border:0;background:var(--cream);color:var(--black);display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;text-align:left;cursor:pointer;transition:background .2s,color .2s,transform .2s}.goal-chip span{font-size:.72rem;font-weight:800;letter-spacing:.12em}.goal-chip strong{font:400 clamp(1rem,1.35vw,1.25rem)/1.05 "Archivo Black",sans-serif;text-transform:uppercase}.goal-chip:hover,.goal-chip:focus-visible,.goal-chip.is-active{background:var(--lime);color:var(--black)}.goal-chip:focus-visible{position:relative;z-index:2;outline:3px solid #e45a8a;outline-offset:-3px}.goal-chip:active{transform:scale(.975)}

.service-panel.active{animation:panel-in .38s ease both}@keyframes panel-in{from{opacity:.35;transform:translateY(10px)}to{opacity:1;transform:none}}.service-link{position:relative;overflow:hidden}.service-link:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:var(--lime);transform:scaleY(0);transform-origin:bottom;transition:transform .22s ease}.service-link:hover:before,.service-link:focus-visible:before{transform:scaleY(1)}

.swipe-hint{display:none;margin:0 0 1rem;font-size:.74rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.portfolio-grid figure{transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s}.portfolio-grid figure:hover{z-index:2;transform:translateY(-6px) rotate(.25deg);box-shadow:0 22px 50px #0003}

.transformation{background:var(--black);color:#fff;border-bottom:2px solid var(--black)}.transformation-heading{display:grid;grid-template-columns:.65fr 1.35fr;column-gap:5vw;align-items:end;margin-bottom:clamp(2rem,5vw,4.5rem)}.transformation-heading .kicker{grid-row:1/3;align-self:start;color:var(--lime)}.transformation-heading h2{margin:0;max-width:15ch;font:400 clamp(3rem,6.8vw,7.3rem)/.86 "Archivo Black",sans-serif;letter-spacing:-.065em;text-transform:uppercase}.transformation-heading>p:not(.kicker){max-width:47rem;font-size:1.05rem;color:#d9d4ca}.transformation-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:1.25rem}.transformation-actions .book{background:var(--lime);color:var(--black)}.transformation-quiz-link{padding:.75rem 0;color:#fff;border-bottom:1px solid #fff;font-size:.78rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.transformation-stage{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:1.25rem;align-items:stretch}.transformation-compare-wrap,.process-card{border:1px solid #56534d;background:#171717}.angle-switcher{display:flex;gap:1px;background:#56534d;border-bottom:1px solid #56534d}.angle-switcher button{flex:1;padding:.9rem 1rem;border:0;background:#171717;color:#fff;font:800 .72rem "DM Sans",sans-serif;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}.angle-switcher button:hover,.angle-switcher button:focus-visible,.angle-switcher button.is-active{background:var(--lime);color:var(--black)}.angle-switcher button:focus-visible{outline:3px solid #e45a8a;outline-offset:-3px}.transformation-compare{position:relative;min-height:clamp(470px,65vw,780px);overflow:hidden;touch-action:pan-y;background:#302e2a}.transformation-compare>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;user-select:none;pointer-events:none}.transformation-compare .compare-before{clip-path:inset(0 calc(100% - var(--split)) 0 0)}.compare-label{position:absolute;top:1rem;z-index:3;padding:.45rem .6rem;background:rgba(0,0,0,.78);font-size:.68rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.compare-label-before{left:1rem}.compare-label-after{right:1rem}.compare-handle{position:absolute;z-index:3;top:0;bottom:0;left:var(--split);width:3px;background:var(--lime);transform:translateX(-50%);pointer-events:none}.compare-handle i{position:absolute;top:50%;left:50%;display:grid;place-items:center;width:48px;height:48px;transform:translate(-50%,-50%);border:2px solid var(--black);border-radius:50%;background:var(--lime);color:var(--black);font:900 1.15rem/1 "DM Sans",sans-serif;font-style:normal;box-shadow:0 4px 18px #0005}.compare-range{position:absolute;z-index:4;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize}.compare-range:focus-visible+.unused{outline:0}.transformation-compare:has(.compare-range:focus-visible){outline:4px solid #e45a8a;outline-offset:-4px}.compare-instruction{margin:0;padding:.8rem 1rem;color:#bcb6ab;font-size:.7rem;font-weight:800;letter-spacing:.1em;text-align:center;text-transform:uppercase}.process-card{display:flex;flex-direction:column}.process-video-wrap{position:relative;min-height:420px;flex:1;overflow:hidden}.process-video-wrap video{display:block;width:100%;height:100%;object-fit:cover}.video-toggle{position:absolute;right:.75rem;bottom:.75rem;padding:.6rem .75rem;border:1px solid #fff;background:rgba(0,0,0,.78);color:#fff;font:800 .65rem "DM Sans",sans-serif;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}.video-toggle:hover,.video-toggle:focus-visible{background:var(--lime);color:var(--black);border-color:var(--black)}.process-card-copy{padding:1.4rem}.process-card-copy>span{color:var(--lime);font-size:.7rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.process-card-copy h3{margin:.55rem 0 .7rem;font:400 clamp(1.7rem,3vw,3rem)/.95 "Archivo Black",sans-serif;letter-spacing:-.04em;text-transform:uppercase}.process-card-copy p{margin:0;color:#cbc5bb}

.shop-card,.review-grid blockquote,.booking-card{transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s}.shop-card:hover,.review-grid blockquote:hover{position:relative;z-index:2;transform:translateY(-8px);box-shadow:0 20px 45px #0002}.booking-card:hover{transform:rotate(-.5deg) translateY(-4px);box-shadow:12px 14px 0 var(--lime)}

.motion-ready .reveal-item{opacity:0;transform:translateY(32px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1)}.motion-ready .reveal-item.is-visible{opacity:1;transform:none}

@media(max-width:900px){.goal-track{display:flex;gap:1px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;scrollbar-width:none}.goal-track::-webkit-scrollbar{display:none}.goal-chip{flex:0 0 44vw;scroll-snap-align:start}.service-goal-picker{margin-inline:-1rem}.service-goal-picker>p{padding-inline:1rem}}

@media(max-width:900px){.hair-match{grid-template-columns:1fr;gap:3rem}.hair-match-copy{max-width:44rem}.match-ticket{box-shadow:10px 10px 0 var(--black)}.transformation-heading{display:block}.transformation-stage{grid-template-columns:1fr}.transformation-compare{aspect-ratio:3/4;min-height:0}.process-card{display:grid;grid-template-columns:.9fr 1.1fr}.process-video-wrap{min-height:440px}}

@media(max-width:700px){.hero-image:after{font-size:.61rem}.hair-match{padding-inline:1rem}.hair-match-copy{padding-inline:.25rem}.hair-match-copy h2{font-size:3.35rem}.match-ticket{box-shadow:7px 7px 0 var(--black)}.match-ticket-top{display:block}.match-ticket-top span{display:block;margin-top:.25rem;color:var(--lime)}.match-live{min-height:490px;padding:1.35rem}.match-start h3,.match-question h3,.match-result h3{font-size:2.25rem}.match-number{font-size:3rem;margin-bottom:1.35rem}.match-options{grid-template-columns:1fr}.match-choice{min-height:62px}.match-actions{display:grid}.match-primary,.match-secondary{width:100%}.match-ticket-bottom{font-size:.62rem}.service-goal-picker{margin-top:2.5rem}.service-goal-picker>p{display:block}.service-goal-picker>p span{display:block;margin-top:.25rem}.goal-chip{flex-basis:72vw;min-height:145px;padding:1.15rem}.goal-chip strong{font-size:1.3rem}.transformation{padding-inline:1rem}.transformation-heading{display:block;margin-bottom:2rem}.transformation-heading h2{font-size:3.15rem}.transformation-heading>p:not(.kicker){font-size:.98rem}.transformation-actions{display:grid;align-items:stretch}.transformation-actions .book,.transformation-quiz-link{text-align:center;justify-content:center}.transformation-stage{grid-template-columns:1fr}.transformation-compare{min-height:68vh;max-height:680px}.process-card{display:grid;grid-template-columns:.9fr 1.1fr}.process-video-wrap{min-height:340px}.process-card-copy{padding:1rem}.process-card-copy h3{font-size:1.55rem}.process-card-copy p{font-size:.86rem}.swipe-hint{display:flex;align-items:center;gap:.65rem}.swipe-hint:after{content:"";width:54px;height:1px;background:currentColor}.portfolio{overflow:hidden}.portfolio-grid{display:flex;grid-auto-rows:auto;gap:.75rem;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;padding:0 9vw 1.2rem 0;margin-right:-5vw;scrollbar-width:none}.portfolio-grid::-webkit-scrollbar{display:none}.portfolio-grid figure,.portfolio-grid .portfolio-wide,.portfolio-grid .portfolio-tall{flex:0 0 82vw;height:31rem;grid-column:auto;grid-row:auto;scroll-snap-align:center}.portfolio-grid figure:hover{transform:none;box-shadow:none}.portfolio-grid figure:active{transform:scale(.985)}.service-link:active{background:var(--lime)}.shop-card:hover,.review-grid blockquote:hover,.booking-card:hover{transform:none;box-shadow:none}}

@media(max-width:430px){.transformation-compare{min-height:31rem}.process-card{grid-template-columns:1fr}.process-video-wrap{min-height:420px}.process-card-copy{padding:1.2rem}.angle-switcher button{padding:.8rem .6rem}}

@media(prefers-reduced-motion:reduce){.ticker div,.service-panel.active{animation:none}.hero-image img,.hero-image .stamp,.goal-chip,.portfolio-grid figure,.shop-card,.review-grid blockquote,.booking-card,.motion-ready .reveal-item{transition:none}.motion-ready .reveal-item{opacity:1;transform:none}.scroll-progress{display:none}}
