/* GlamGrip Studios — canonical launch design system
   This file intentionally loads after styles.css so the approved V3 system
   wins over older experimental styling without another redesign pass. */
:root{
  --gg-black:#0f0a0c;
  --gg-black-soft:#171013;
  --gg-black-panel:#21161a;
  --gg-rose:#d99cab;
  --gg-rose-bright:#efb5c3;
  --gg-rose-deep:#955b6b;
  --gg-blush:#ead3d9;
  --gg-blush-soft:#f3e4e7;
  --gg-cream:#fff9f6;
  --gg-display:"Raleway",sans-serif;
  --gg-body:"DM Sans",sans-serif;
}

body{font-family:var(--gg-body);background:var(--gg-cream);color:var(--gg-black);overflow-x:hidden}

/* Brand + header */
.final-home .site-header{background:rgba(15,10,12,.96)!important;color:#fff!important}
.final-home .site-header .brand-type,.final-home .site-header .brand-type small{color:#fff!important}
.final-home .site-header .brand-type b{color:var(--gg-rose)!important}
.inner-concept .site-header .brand-type b{color:var(--gg-rose-deep)!important}

/* One CTA family. Pills are reserved for selectors + the persistent mobile action. */
.button,
.header-cta,
.gg-outline-button,
.final-primary,
.final-secondary,
.final-location-button,
.final-location-secondary,
.offer-link,
.booking-bridge-action a,
.estimate-book,
.estimate-text,
.multi-add-button{
  border-radius:9px!important;
}
.button,.header-cta,.final-primary,.booking-bridge-action a,.estimate-book,.multi-add-button{
  background:var(--gg-rose-deep)!important;
  color:#fff!important;
}
.button:hover,.header-cta:hover,.final-primary:hover,.booking-bridge-action a:hover,.estimate-book:hover,.multi-add-button:hover{
  background:#a96879!important;
}
.gg-outline-button,.final-secondary,.estimate-text{
  background:transparent!important;
  border:1px solid rgba(149,91,107,.42)!important;
}
.final-home .final-secondary{color:#fff!important;border-color:rgba(255,255,255,.4)!important;background:rgba(15,10,12,.24)!important}
.dark-secondary{color:#5d4650!important;background:rgba(255,255,255,.62)!important}
.estimate-tab,.mobile-book,.benefit-chips span,.specialty-list span{border-radius:999px!important}

/* Mobile navigation must stay visible over every background. */
@media(max-width:900px){
  .menu-toggle{
    background:var(--gg-rose-deep)!important;
    border:1px solid rgba(255,255,255,.42)!important;
    box-shadow:0 8px 22px rgba(15,10,12,.2)!important;
  }
  .menu-toggle span{background:#fff!important}
}

/* Typography hierarchy: italics are accents, not body styling. */
.final-section-head h2,
.final-custom-copy h2,
.final-meet-copy h2,
.services-hero-copy h1,
.about-story-hero-copy h1,
.offer-heading h2,
.booking-bridge h2,
.estimate-head h2,
.gg-proof h2,
.privacy-hero h1,
.privacy-content h2{font-family:var(--gg-display)!important}
.gg-kicker,.final-eyebrow,.offer-eyebrow,.section-label{font-style:normal!important}
.final-section-head h2 em,
.final-custom-copy h2 em,
.final-meet-copy h2 em,
.services-hero-copy h1 em,
.about-story-hero-copy h1 em,
.booking-bridge h2 em,
.estimate-head h2 em,
.gg-proof h2 em{color:var(--gg-rose-bright)!important;font-weight:500}
.inner-concept .services-hero-copy h1 em,
.inner-concept .about-story-hero-copy h1 em,
.inner-concept .booking-bridge h2 em{color:var(--gg-rose-deep)!important}

/* Editorial service images should sell the category, not look washed out. */
.final-service-panel img,
.services-concept img.campaign-image,
.about-concept img.campaign-image{
  filter:saturate(.96) contrast(1.02) brightness(.96)!important;
}
.final-service-panel:hover img{filter:saturate(1) contrast(1.03) brightness(1)!important}
.final-service-shade{background:linear-gradient(180deg,rgba(8,5,6,.02) 15%,rgba(8,5,6,.15) 56%,rgba(10,7,8,.88) 100%)!important}

/* Founder identity + real work are proof, so keep them clear. */
.final-meet-photo{
  -webkit-mask-image:none!important;
  mask-image:none!important;
  border-radius:0!important;
}
.final-meet-photo img,.about-story-portrait img{filter:none!important;opacity:1!important;mix-blend-mode:normal!important}
.final-meet-photo>span{display:none!important}
.real-work-card img,.real-work-section img{filter:none!important;opacity:1!important}

/* Approved palette lock */
.final-home .final-services{background:radial-gradient(circle at 8% 10%,rgba(217,156,171,.08),transparent 23%),var(--gg-black-soft)!important}
.final-home .final-custom-booking{background:linear-gradient(90deg,rgba(255,255,255,.4),rgba(255,255,255,0)),var(--gg-blush-soft)!important}
.final-home .final-meet{background:radial-gradient(circle at 88% 12%,rgba(217,156,171,.13),transparent 25%),var(--gg-cream)!important}
.final-location{background:linear-gradient(90deg,var(--gg-black-panel),var(--gg-black))!important}
.final-home .final-hero-lockup h1 span,.final-home .final-hero-script,.final-home .final-section-head h2 em,.final-home .final-custom-copy h2 em,.final-home .final-meet-copy h2 em{color:var(--gg-rose-bright)!important}

.founder-role{
  margin:.2rem 0 1rem!important;
  color:var(--gg-rose-deep)!important;
  font-size:.76rem!important;
  font-style:normal!important;
  font-weight:700!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}

.booking-handoff-note{
  margin:14px 0 0;
  max-width:680px;
  color:#d8c9cd;
  font-size:.78rem;
  line-height:1.55;
}
.services-concept .booking-handoff-note{color:#675a5f}
.booking-handoff-note strong{color:inherit;font-weight:800}

/* Estimator + booking handoff */
.estimate-price-note{
  margin:-10px 0 26px;
  padding:14px 16px;
  border-left:3px solid var(--gg-rose-bright);
  background:rgba(255,255,255,.045);
  color:#d8c9cd;
  font-size:.78rem;
  line-height:1.55;
  max-width:920px;
}
.home-estimate-popular{
  display:inline-block;
  margin:8px 0 2px;
  padding:6px 9px;
  border:1px solid rgba(239,181,195,.35);
  color:var(--gg-rose-bright);
  font-size:.62rem;
  font-style:normal;
  font-weight:700;
  letter-spacing:.12em;
}
.booking-bridge{
  padding:70px 0;
  background:var(--gg-cream);
  color:#171214;
  border-top:1px solid rgba(91,58,69,.12);
  border-bottom:1px solid rgba(91,58,69,.12);
}
.booking-bridge-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
.booking-bridge h2{margin:.14em 0 .28em;font-size:clamp(2.8rem,5vw,4.8rem);line-height:.94;letter-spacing:-.055em;font-weight:500}
.booking-bridge p{max-width:680px;color:#675a5f}
.booking-bridge-action{padding:28px;background:var(--gg-black-soft);color:#fff;border:1px solid rgba(149,91,107,.24)}
.booking-bridge-action small{display:block;color:var(--gg-rose-bright);font-size:.62rem;letter-spacing:.16em;font-weight:700}
.booking-bridge-action strong{display:block;margin:8px 0 18px;font-family:var(--gg-display);font-size:clamp(1.45rem,2.6vw,2.3rem);font-weight:600;line-height:1.05}
.booking-bridge-action a{display:flex;min-height:48px;align-items:center;justify-content:center;padding:0 18px;font-size:.78rem;font-weight:700}
.booking-bridge-action span{display:block;margin-top:11px;color:#bbaeb2;font-size:.7rem;line-height:1.45}

/* Real-work fallback + source-safe service hero */
.services-concept .services-hero-main .campaign-beauty{width:100%;height:100%;object-fit:cover;object-position:center}
[data-future-service]{display:none!important}
.real-work-loading,.real-work-instagram-fallback{min-height:220px;width:min(100%,760px);padding:30px;display:flex;flex-direction:column;justify-content:center;gap:8px;background:linear-gradient(135deg,#2a1b20,#120d0f);border:1px solid rgba(255,255,255,.12);color:#fff}
.real-work-loading{font-size:.84rem;color:#d9c9cd}
.real-work-instagram-fallback small{font-size:.62rem;letter-spacing:.16em;color:var(--gg-rose-bright)}
.real-work-instagram-fallback strong{font-family:var(--gg-display);font-size:clamp(1.7rem,4vw,3rem);line-height:1}
.real-work-instagram-fallback em{font-style:normal;font-size:.8rem;color:#eadcdf}

/* Review proof: verified count only, no fabricated quotes. */
.gg-proof{padding:76px 0;background:linear-gradient(135deg,#fff9f6 0%,#f7e9ed 100%);color:var(--gg-black);border-top:1px solid rgba(149,91,107,.12);border-bottom:1px solid rgba(149,91,107,.12)}
.gg-proof-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:56px;align-items:center}
.gg-proof-stat{padding:34px;background:var(--gg-black-soft);color:#fff;border:1px solid rgba(217,156,171,.22);box-shadow:0 22px 54px rgba(38,18,25,.12)}
.gg-proof-stars{display:block;color:var(--gg-rose-bright);font-size:1.15rem;letter-spacing:.22em;margin-bottom:14px}
.gg-proof-stat strong{display:block;font-family:var(--gg-display);font-size:clamp(1.7rem,3.2vw,2.8rem);line-height:1.03;letter-spacing:-.035em}
.gg-proof-stat p{margin:14px 0 0;color:#d8cbd0;max-width:390px;font-size:.86rem}
.gg-proof-copy h2{margin:.12em 0 .28em;font-size:clamp(2.5rem,5vw,4.6rem);line-height:.94;letter-spacing:-.055em;font-weight:500}
.gg-proof-copy h2 em{color:var(--gg-rose-deep)!important}
.gg-proof-copy>p{max-width:650px;color:#675a5f}
.gg-proof-actions{display:flex;flex-wrap:wrap;gap:18px;align-items:center;margin-top:24px}
.gg-proof-actions .gg-outline-button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;padding:0 19px;color:#5d4650!important;background:rgba(255,255,255,.58)!important}

/* Location should remove the first-visit guesswork. */
.final-location-grid{grid-template-columns:1fr 1.1fr auto!important}
.final-location-grid strong{color:#fff}
.final-location-actions{display:flex;flex-direction:column;gap:9px;min-width:210px}
.final-location-button,.final-location-secondary{display:inline-flex;min-height:48px;align-items:center;justify-content:center;padding:0 20px;font-size:.76rem;font-weight:700;text-align:center}
.final-location-secondary{color:#fff;border:1px solid rgba(255,255,255,.35);background:transparent}
.final-location-secondary:hover{background:rgba(255,255,255,.08)}

/* Privacy page follows the approved system instead of introducing a new design language. */
.privacy-page{background:var(--gg-cream);color:var(--gg-black)}
.privacy-hero{padding:92px 0 70px;background:radial-gradient(circle at 75% 20%,rgba(217,156,171,.18),transparent 30%),var(--gg-black-soft);color:#fff}
.privacy-hero h1{margin:.15em 0 .2em;font-size:clamp(3rem,7vw,6rem);line-height:.9;letter-spacing:-.055em}
.privacy-hero p{max-width:720px;color:#d8cbd0}
.privacy-content{padding:70px 0 96px}
.privacy-copy{max-width:840px}
.privacy-copy h2{margin:2rem 0 .55rem;font-size:clamp(1.55rem,3vw,2.25rem);letter-spacing:-.025em}
.privacy-copy p,.privacy-copy li{color:#5f5559}
.privacy-copy ul{padding-left:1.2rem}
.privacy-copy a{text-decoration:underline;text-underline-offset:3px}
.privacy-updated{font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gg-rose-deep)!important}

/* Cross-device safety net. */
.site-header,main,.gg-footer{max-width:100%;overflow-x:clip}
a,button{touch-action:manipulation}
.mobile-nav a,.mobile-book,.button,.gg-outline-button,.final-location-button,.final-location-secondary{min-height:44px}

@media(max-width:1024px){
  .gg-proof-grid{grid-template-columns:.9fr 1.1fr;gap:34px}
  .final-location-grid{grid-template-columns:1fr 1fr!important}
  .final-location-actions{grid-column:1/-1;flex-direction:row;min-width:0}
  .final-location-actions>a{flex:1}
}
@media(max-width:760px){
  .booking-bridge{padding:52px 0}
  .booking-bridge-grid{grid-template-columns:1fr;gap:24px}
  .gg-proof{padding:58px 0}
  .gg-proof-grid{grid-template-columns:1fr;gap:24px}
  .gg-proof-stat{padding:28px}
  .final-location-grid{grid-template-columns:1fr!important;gap:18px!important}
  .final-location-actions{grid-column:auto;flex-direction:column}
  .privacy-hero{padding:72px 0 56px}
  .privacy-content{padding:54px 0 88px}
}
@media(max-width:620px){
  .estimate-price-note{margin-top:-4px;font-size:.75rem}
  .founder-role{font-size:.7rem!important;line-height:1.45}
  .booking-handoff-note{font-size:.74rem}
  .services-concept .services-hero-main .campaign-beauty{object-position:center 45%}
  .real-work-loading,.real-work-instagram-fallback{min-height:180px;padding:24px}
  .gg-proof-actions{align-items:stretch;flex-direction:column}
  .gg-proof-actions>*{width:100%;justify-content:center}
  .final-location-actions>a{width:100%}
}
