:root{
  /* Emerald + white + purple palette — drawn from the emerald green of the
     Hair Express salon interior, with refined purple accents. Site-wide. */
  --plum-900:#0c3325;   /* deepest emerald */
  --plum-800:#124d38;   /* deep emerald (headings) */
  --plum-700:#1a6349;   /* mid emerald */
  --purple:#1f7d5b;     /* primary emerald (buttons, links) */
  --purple-br:#2fa676;  /* bright emerald */
  --lav:#7fd3ac;        /* light emerald */
  --lav-lt:#c7ecda;     /* pale emerald */
  --lav-mist:#e9f7f0;   /* emerald mist */
  --lav-bg:#f5fbf8;     /* near-white green tint */
  --silver:#5f8074;     /* muted green-slate */
  --slate:#33524a;      /* body green-slate */
  --ink:#0f2b21;
  --white:#ffffff;
  --line:#d7ece2;
  /* purple accents (replace the old gold in most places) */
  --gold:#7c5cbf;       /* accent purple */
  --gold-br:#9d7ce0;    /* bright accent purple */
  --gold-dk:#5f3fa0;    /* deep accent purple */
  --cream:#efe9f7;
  --accent-purple:#7c5cbf;
  --accent-purple-br:#9d7ce0;
  --emerald:#1f7d5b;
  --emerald-br:#2fa676;
  --emerald-dk:#124d38;
  --display:'Cormorant Garamond','Fraunces',Georgia,serif;
  --body:'Inter',system-ui,sans-serif;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--body);color:var(--ink);background:var(--white);line-height:1.65;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.wrap{max-width:1280px;margin:0 auto;padding:0 32px}
.eyebrow{font-size:.74rem;letter-spacing:.28em;text-transform:uppercase;color:var(--purple);font-weight:600;display:inline-flex;align-items:center;gap:12px}
.eyebrow::before{content:'';width:34px;height:1.5px;background:var(--gold)}
.eyebrow.center{justify-content:center}
.eyebrow.center::before{display:none}
.italic{font-style:italic}
.grad{background:linear-gradient(100deg,var(--emerald-br,#2fa676),var(--accent-purple,#7c5cbf));-webkit-background-clip:text;background-clip:text;color:transparent}

/* premium cursor — ambient emerald/purple glow */
#cursor-glow{position:fixed;top:0;left:0;width:440px;height:440px;margin:-220px 0 0 -220px;border-radius:50%;pointer-events:none;z-index:9998;
  background:radial-gradient(circle, rgba(47,166,118,0.22) 0%, rgba(124,92,191,0.15) 44%, rgba(157,124,224,0.06) 62%, rgba(255,255,255,0) 74%);
  opacity:0;transition:opacity .35s ease;will-change:transform}
@media (hover:none){#cursor-glow{display:none}}
@media (prefers-reduced-motion:reduce){#cursor-glow{display:none}}

/* header / glassmorphism */
header{position:fixed;top:0;left:0;right:0;z-index:1000;transition:transform .4s ease,background .3s ease,box-shadow .3s ease,padding .3s ease;padding:20px 0}
header.solid{background:rgba(255,255,255,.72);backdrop-filter:blur(18px);box-shadow:0 1px 0 var(--line),0 8px 30px rgba(20,40,61,.07);padding:13px 0}
.nav{display:flex;align-items:center;justify-content:space-between}
/* logo-image brand (from business card) */
.brand{display:inline-flex;align-items:center;gap:13px;line-height:1;transition:color .3s}
.brand .logo-img{height:54px;width:auto;display:block;transition:height .3s ease;
  filter:drop-shadow(0 4px 12px rgba(20,40,61,.28))}
header.solid .brand .logo-img{height:46px;filter:drop-shadow(0 3px 8px rgba(20,40,61,.14))}
.brand .brand-txt{display:flex;flex-direction:column}
.brand .brand-name{font-family:'Great Vibes',cursive;font-size:1.7rem;color:#fff;line-height:.9;transition:color .3s;text-shadow:0 1px 2px rgba(0,0,0,.25)}
header.solid .brand .brand-name{color:var(--plum-800);text-shadow:none}
.brand .sm{font-family:var(--body);font-weight:600;font-size:.6rem;letter-spacing:.28em;color:#c9a44c;text-transform:uppercase;display:block;margin-top:3px}
@media (max-width:600px){.brand .brand-txt{display:none}.brand .logo-img{height:46px}}
.nav-links{display:flex;gap:38px;align-items:center}
.nav-links a{font-size:.92rem;font-weight:500;color:rgba(255,255,255,.85);position:relative;padding:4px 0;transition:color .25s}
header.solid .nav-links a{color:var(--slate)}
.nav-links a::after{content:'';position:absolute;left:0;bottom:-4px;height:2px;width:0;background:var(--purple-br);transition:width .3s}
.nav-links a:hover::after,.nav-links a.active::after{width:100%}
.nav-links a.active{color:#fff}
header.solid .nav-links a.active{color:var(--purple)}
.nav-right{display:flex;align-items:center;gap:22px}
.btn{display:inline-flex;align-items:center;gap:10px;font-weight:600;font-size:.86rem;letter-spacing:.03em;padding:13px 26px;border-radius:50px;transition:.25s;cursor:pointer;border:none}
.btn-lg{font-size:1.02rem;padding:18px 38px}
.btn-primary{background:linear-gradient(120deg,var(--purple),var(--purple-br));color:#fff;box-shadow:0 8px 24px rgba(31,125,91,.32)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(31,125,91,.44)}
.btn-gold{background:linear-gradient(120deg,var(--gold-dk),var(--gold-br));color:var(--plum-900);box-shadow:0 8px 24px rgba(201,164,76,.35);font-weight:700}
.btn-gold:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(201,164,76,.5)}
.btn-light{background:#fff;color:var(--purple)}
.btn-light:hover{background:var(--lav-mist);transform:translateY(-2px)}
.btn-ghost{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.45)}
.btn-ghost:hover{background:rgba(255,255,255,.12)}
.btn-outline{background:transparent;color:var(--purple);border:1.5px solid var(--lav)}
.btn-outline:hover{background:var(--lav-mist)}
.btn .arr{transition:transform .25s}.btn:hover .arr{transform:translateX(4px)}

.burger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:8px;z-index:1001}
.burger span{width:26px;height:2px;background:#fff;transition:.3s;border-radius:2px}
header.solid .burger span{background:var(--plum-800)}
.burger.open span{background:var(--plum-800)}
.burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobile-menu{position:fixed;inset:0;z-index:1000;background:rgba(250,248,254,.98);backdrop-filter:blur(22px);display:flex;flex-direction:column;justify-content:center;padding:40px 32px;gap:4px;transform:translateX(100%);transition:transform .45s cubic-bezier(.7,0,.2,1)}
.mobile-menu.open{transform:translateX(0)}
.mobile-menu a{font-family:var(--display);font-size:2.4rem;font-weight:500;padding:14px 0;border-bottom:1px solid var(--line);color:var(--plum-800)}
.mobile-menu .btn{font-family:var(--body);font-size:1rem;justify-content:center;margin-top:26px}

/* page hero (interior pages) — emerald body, refined light script accent (no gold) */
.phero{position:relative;min-height:52vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  background:linear-gradient(155deg,var(--plum-900),var(--plum-700) 58%,var(--plum-800));color:#fff;padding:168px 32px 104px;overflow:hidden}
.phero::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 78% 22%,rgba(157,124,224,.22),transparent 52%),radial-gradient(circle at 20% 80%,rgba(47,166,118,.30),transparent 55%)}
.phero::after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:170px;background:linear-gradient(180deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.4) 62%,var(--white) 100%)}
.phero>*{position:relative;z-index:2}
.phero .eyebrow{color:var(--lav);justify-content:center}
/* Great Vibes script accent above the main heading — soft light emerald, no gold */
.phero .script-accent{font-family:'Great Vibes',cursive;font-weight:400;font-size:clamp(1.8rem,4.5vw,2.9rem);
  color:var(--lav);line-height:1;margin-bottom:2px;text-shadow:0 2px 12px rgba(0,0,0,.28)}
.phero h1{font-family:var(--display);font-weight:500;font-size:clamp(2.8rem,8vw,5.8rem);line-height:1.02;letter-spacing:-.01em;margin:10px 0 0}
/* divider rule — subtle purple accent (replaces gold) */
.phero .phero-rule{width:76px;height:2px;margin:26px auto 24px;border-radius:2px;
  background:linear-gradient(90deg,transparent,var(--accent-purple-br),transparent)}
.phero p{color:var(--lav-lt);font-size:1.18rem;max-width:580px;margin:0 auto}
.glow-dot{position:absolute;width:10px;height:10px;border-radius:50%;background:var(--accent-purple-br);box-shadow:0 0 44px 16px rgba(157,124,224,.5);top:52%;right:16%;opacity:.8;z-index:1}

section{padding:120px 0}
.section-head{max-width:720px;margin-bottom:58px}
.section-head.center{margin:0 auto 58px;text-align:center}
.section-head.center .eyebrow{justify-content:center}
.section-head h2{font-family:var(--display);font-weight:500;font-size:clamp(2.4rem,5.5vw,4.2rem);line-height:1.04;letter-spacing:-.01em;color:var(--plum-800);margin-top:16px}

/* footer */
footer{background:var(--plum-900);color:var(--lav-lt);padding:84px 0 40px}
.foot-grid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1.15fr;gap:46px;margin-bottom:54px}
.foot-brand .brand{margin-bottom:18px;align-items:center}
.foot-brand .brand .logo-img{height:56px}
.foot-brand .brand .brand-name{color:#fff}
.foot-brand .brand .brand-txt{display:flex}
.foot-brand p{color:var(--lav);font-size:.96rem;max-width:300px}
.foot-social{display:flex;gap:12px;margin-top:24px}
.foot-social a{height:44px;padding:0 16px;border-radius:50px;border:1px solid rgba(255,255,255,.2);display:flex;align-items:center;gap:8px;color:#fff;transition:.25s;font-size:.78rem;font-weight:600;letter-spacing:.04em}
.foot-social a:hover{background:var(--purple);border-color:var(--purple);transform:translateY(-3px)}
.foot-social a.ig{background:linear-gradient(120deg,#f09433,#e6683c 30%,#dc2743 55%,#cc2366 75%,#bc1888);border-color:transparent}
.foot-social a.ig:hover{filter:brightness(1.08);transform:translateY(-3px)}
/* Prominent Instagram CTA band */
.ig-band{background:linear-gradient(120deg,#f09433,#e6683c 28%,#dc2743 52%,#cc2366 74%,#bc1888);color:#fff}
.ig-band .wrap{display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap;padding-top:46px;padding-bottom:46px}
.ig-band .ig-left{display:flex;align-items:center;gap:20px}
.ig-band .ig-logo{width:62px;height:62px;border-radius:18px;border:2px solid rgba(255,255,255,.7);display:flex;align-items:center;justify-content:center;font-size:1.9rem;flex:none}
.ig-band h3{font-family:var(--display);font-weight:600;font-size:1.9rem;line-height:1.1}
.ig-band .handle{font-weight:600;font-size:1.05rem;opacity:.95}
.ig-band .sub2{font-size:.92rem;opacity:.9;margin-top:2px}
.ig-band .btn{background:#fff;color:#bc1888;font-weight:700;white-space:nowrap}
.ig-band .btn:hover{background:#fff;transform:translateY(-2px);filter:brightness(.98)}
@media (max-width:600px){.ig-band .wrap{flex-direction:column;text-align:center}.ig-band .ig-left{flex-direction:column}}
.foot-col h4{font-size:.76rem;letter-spacing:.2em;text-transform:uppercase;color:#fff;margin-bottom:20px}
.foot-col a,.foot-col p{display:block;font-size:.95rem;color:var(--lav);margin-bottom:12px;transition:color .2s}
.foot-col a:hover{color:#fff}
.foot-bottom{border-top:1px solid rgba(255,255,255,.12);padding-top:28px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:.84rem;color:var(--lav)}

.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

@media (max-width:900px){.foot-grid{grid-template-columns:1fr 1fr;gap:34px}}
@media (max-width:768px){
  .nav-links,.nav-right .btn{display:none}
  .burger{display:flex}
  .wrap{padding:0 22px}
  section{padding:78px 0}
  .phero{min-height:50vh;padding:140px 22px 76px}
  .foot-grid{grid-template-columns:1fr}
  .foot-bottom{flex-direction:column}
}
