/* Hair By Kim Pinkham — Shared Styles */

:root{--bg:oklch(7% 0.025 295);--surface:oklch(11% 0.022 295);--card:oklch(13% 0.02 295);--border:oklch(22% 0.025 295);--magenta:#CA23AE;--pink:#EA76B3;--cyan:#73EBF4;--lavender:#BCA3D2;--purple:#8E02AD;--text:oklch(93% 0.008 300);--muted:oklch(62% 0.018 300);--ease:cubic-bezier(0.22,1,0.36,1);}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--bg);color:var(--text);font-family:'Geist',sans-serif;font-size:18px;line-height:1.6;overflow-x:hidden;text-wrap:pretty;}
img{max-width:100%;display:block;}
a{color:var(--pink);text-decoration:none;transition:color 0.3s var(--ease);}
a:hover{color:var(--cyan);}
button{cursor:pointer;font-family:inherit;}
select option{background:var(--surface);}
::-webkit-scrollbar{width:5px;}::-webkit-scrollbar-track{background:var(--bg);}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px;}

@keyframes kenBurns{0%{transform:scale(1) translate(0,0);}100%{transform:scale(1.12) translate(-1.5%,-0.8%);}}
@keyframes fadeInUp{from{opacity:0;transform:translateY(28px);}to{opacity:1;transform:translateY(0);}}
@keyframes pulse{0%,100%{opacity:0.5;}50%{opacity:1;}}
@keyframes scissorBob{0%,100%{transform:translateY(0) rotate(0deg);}50%{transform:translateY(-8px) rotate(-10deg);}}
@keyframes loaderBg{0%{background:oklch(7% 0.025 295);}25%{background:rgba(202,35,174,0.12);}50%{background:rgba(142,2,173,0.14);}75%{background:rgba(115,235,244,0.08);}100%{background:oklch(7% 0.025 295);}}
@keyframes logoGlow{0%,100%{filter:drop-shadow(0 0 10px #CA23AE) drop-shadow(0 0 24px rgba(202,35,174,0.4));}33%{filter:drop-shadow(0 0 14px #8E02AD) drop-shadow(0 0 30px rgba(142,2,173,0.5));}66%{filter:drop-shadow(0 0 14px #73EBF4) drop-shadow(0 0 30px rgba(115,235,244,0.4));}}
@keyframes loaderText{0%,100%{color:#EA76B3;}33%{color:#BCA3D2;}66%{color:#73EBF4;}}
@keyframes grainAnim{0%,100%{transform:translate(0,0);}20%{transform:translate(-0.6%,-0.4%);}40%{transform:translate(0.5%,0);}60%{transform:translate(0,0.6%);}80%{transform:translate(-0.4%,0.5%);}}

#page-loader{position:fixed;inset:0;z-index:9999;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;transition:opacity 0.6s var(--ease),visibility 0.6s;animation:loaderBg 3s ease-in-out infinite;}
#page-loader.hidden{opacity:0;visibility:hidden;pointer-events:none;}
#grain-overlay{position:fixed;inset:-50%;width:200%;height:200%;z-index:2;pointer-events:none;opacity:0.042;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.72' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:220px 220px;animation:grainAnim 0.08s steps(1) infinite;}
#touch-glow-overlay{position:fixed;inset:0;z-index:3;pointer-events:none;overflow:hidden;}

#site-header{position:fixed;top:0;left:0;right:0;z-index:100;height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 40px;transition:border-color 0.3s var(--ease);}
#site-header::before{content:'';position:absolute;inset:0;backdrop-filter:blur(24px) saturate(1.3);background:rgba(9,6,16,0.86);z-index:-1;border-bottom:1px solid transparent;transition:border-color 0.3s;}
#site-header.scrolled::before{border-bottom-color:var(--border);}

.nav-link{color:var(--muted);font-size:13px;letter-spacing:0.1em;text-transform:uppercase;padding-bottom:2px;position:relative;transition:color 0.3s var(--ease);}
.nav-link::after{content:'';position:absolute;bottom:0;left:0;height:1px;width:0;background:var(--magenta);transition:width 0.35s var(--ease);}
.nav-link:hover{color:var(--text);}
.nav-link:hover::after{width:100%;}

.icon-btn{background:none;border:none;color:var(--muted);padding:8px;border-radius:8px;transition:color 0.2s,background 0.2s;display:flex;align-items:center;justify-content:center;}
.icon-btn:hover{color:var(--text);background:rgba(255,255,255,0.07);}

.btn-primary{background:linear-gradient(135deg,var(--magenta),var(--purple));color:#fff;border:none;padding:12px 28px;border-radius:50px;font-size:14px;font-weight:600;letter-spacing:0.05em;text-transform:uppercase;transition:transform 0.3s var(--ease),box-shadow 0.3s var(--ease);white-space:nowrap;display:inline-block;text-align:center;}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 32px rgba(202,35,174,0.45);color:#fff;}
.btn-secondary{background:transparent;color:var(--text);border:1px solid var(--border);padding:12px 28px;border-radius:50px;font-size:14px;font-weight:500;letter-spacing:0.04em;transition:all 0.3s var(--ease);display:inline-block;text-align:center;}
.btn-secondary:hover{border-color:var(--cyan);color:var(--cyan);}

.contact-wrap{position:relative;}
.contact-dropdown{position:absolute;top:calc(100% + 10px);right:0;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:6px;min-width:175px;opacity:0;visibility:hidden;transform:translateY(-8px);transition:all 0.25s var(--ease);z-index:200;}
.contact-wrap:hover .contact-dropdown,.contact-wrap:focus-within .contact-dropdown{opacity:1;visibility:visible;transform:translateY(0);}
.contact-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;color:var(--text);font-size:14px;transition:background 0.2s;text-decoration:none;}
.contact-row:hover{background:rgba(255,255,255,0.06);color:var(--cyan);}

#search-panel{position:fixed;top:0;left:0;right:0;z-index:500;background:rgba(9,6,16,0.97);backdrop-filter:blur(24px);transform:translateY(-100%);transition:transform 0.45s var(--ease);padding:90px 60px 50px;border-bottom:1px solid var(--border);}
#search-panel.open{transform:translateY(0);}
#settings-overlay{position:fixed;inset:0;z-index:498;background:rgba(0,0,0,0.55);opacity:0;visibility:hidden;transition:all 0.3s var(--ease);}
#settings-overlay.open{opacity:1;visibility:visible;}
#settings-panel{position:fixed;top:0;right:0;bottom:0;z-index:499;width:350px;max-width:100vw;background:var(--surface);border-left:1px solid var(--border);transform:translateX(110%);transition:transform 0.45s var(--ease);overflow-y:auto;padding:88px 28px 40px;}
#settings-panel.open{transform:translateX(0);}

.toggle-track{width:44px;height:24px;border-radius:12px;background:var(--border);position:relative;transition:background 0.3s var(--ease);cursor:pointer;border:none;flex-shrink:0;}
.toggle-track.on{background:var(--magenta);}
.toggle-knob{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform 0.3s var(--ease);pointer-events:none;}
.toggle-track.on .toggle-knob{transform:translateX(20px);}

#mobile-drawer{position:fixed;inset:0;z-index:950;background:var(--bg);overflow-y:auto;flex-direction:column;align-items:center;padding:88px 30px 50px;display:none;}
#mobile-drawer.open{display:flex;}
  .services-grid,.color-grid,.treatment-grid,.extension-grid{grid-template-columns:1fr!important;}
  .c3d-card{width:90vw!important;padding:24px 20px!important;}

.hero-bg{position:absolute;inset:0;overflow:hidden;background:#0a0810;}
.hero-bg img{width:100%;height:100%;object-fit:cover;animation:kenBurns 22s ease-in-out infinite alternate;display:block;opacity:1!important;}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(to right,rgba(8,5,14,0.92) 0%,rgba(8,5,14,0.88) 40%,rgba(8,5,14,0.4) 65%,rgba(8,5,14,0.1) 85%,transparent),linear-gradient(to top,rgba(8,5,14,0.95) 0%,rgba(8,5,14,0.6) 25%,transparent 50%);}

.service-card{background:var(--card);border:1px solid var(--border);border-radius:16px;overflow:hidden;transition:transform 0.35s var(--ease),box-shadow 0.35s var(--ease),border-color 0.35s var(--ease);}
.service-card:hover{transform:translateY(-6px);box-shadow:0 20px 60px rgba(115,235,244,0.12),0 8px 32px rgba(202,35,174,0.12);border-color:rgba(115,235,244,0.25);}
.service-card-img{overflow:hidden;height:220px;}
.service-card-img img{width:100%;height:100%;object-fit:cover;transition:transform 0.7s var(--ease);}
.service-card:hover .service-card-img img{transform:scale(1.06);}
.card-arrow{transition:transform 0.3s var(--ease);display:inline-block;}
.service-card:hover .card-arrow{transform:translateX(4px);}

.form-input{width:100%;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:14px 18px;color:var(--text);font-family:inherit;font-size:16px;outline:none;transition:border-color 0.3s var(--ease);}
.form-input:focus{border-color:var(--magenta);}
.form-input::placeholder{color:var(--muted);}
textarea.form-input{resize:vertical;min-height:120px;}

.footer-link{color:var(--muted);position:relative;padding-bottom:2px;font-size:14px;}
.footer-link::after{content:'';position:absolute;bottom:0;left:0;height:1px;width:0;background:var(--pink);transition:width 0.3s var(--ease);}
.footer-link:hover{color:var(--pink);}
.footer-link:hover::after{width:100%;}

.divider-grad{height:1px;background:linear-gradient(to right,transparent,var(--border),transparent);}
.grad-text{background:linear-gradient(135deg,var(--magenta),var(--pink) 50%,var(--cyan));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}

.c3d-card{position:absolute;left:50%;top:0;width:min(600px,88vw);transform-origin:center center;transform:translateX(-50%);transition:transform 0.65s cubic-bezier(0.22,1,0.36,1),opacity 0.65s cubic-bezier(0.22,1,0.36,1),filter 0.65s cubic-bezier(0.22,1,0.36,1);cursor:pointer;transform-style:preserve-3d;will-change:transform,opacity;}
.c3d-dot{width:8px;height:8px;border-radius:4px;border:none;background:rgba(255,255,255,0.25);transition:all 0.4s cubic-bezier(0.22,1,0.36,1);cursor:pointer;flex-shrink:0;}
.c3d-dot.active{width:22px;background:#FFD700;}
.c3d-arrow{width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.2);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background 0.25s,border-color 0.25s;flex-shrink:0;}
.c3d-arrow:hover{background:rgba(202,35,174,0.35);border-color:rgba(202,35,174,0.6);}
@media(prefers-reduced-motion:reduce){.c3d-card{transition:none!important;}}
@media(max-width:768px){
  .c3d-card.side{opacity:0.2!important;}
  #site-header{padding:0 16px;}
  #desktop-right,#desktop-nav{display:none!important;}
  #hamburger-btn{display:flex!important;}
  .about-grid{grid-template-columns:1fr!important;gap:40px!important;}
  .contact-grid{grid-template-columns:1fr!important;gap:40px!important;}
  .footer-grid{grid-template-columns:1fr 1fr!important;gap:32px!important;}
  .stats-grid{flex-direction:column!important;}
  #search-panel{padding:90px 24px 40px;}
}
@media(min-width:769px){#hamburger-btn{display:none!important;}}
@media(max-width:480px){.footer-grid{grid-template-columns:1fr!important;}.hero-btns{flex-direction:column!important;}.hero-glass{padding:16px 18px!important;max-width:calc(100vw - 40px)!important;margin:0 0 20px 5%!important;}}

@media(prefers-reduced-motion:reduce){
  #grain-overlay{animation:none!important;}
  .hero-bg img{animation:none!important;}
  *{transition-duration:0.01ms!important;animation-duration:0.01ms!important;}
}
