@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;0,800;0,900;1,400;1,500&family=Plus+Jakarta+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,400&family=Dancing+Script:wght@400;500;600;700&display=swap');

/* ===================================
   RAMPAGE MANSION — Y2K GLAM DESIGN
   Hot pink, gold, vintage maximalist
   =================================== */

:root {
    --pink: #E91E8C;
    --pink-dark: #C4177A;
    --pink-light: #F472B6;
    --pink-pale: #FDF2F8;
    --gold: #D4AF37;
    --gold-dark: #B8960F;
    --gold-light: #E8C84A;
    --gold-pale: #FFF8E7;
    --coral: #FF69B4;
    --coral-light: #FFB3D9;
    --sky: #FFB6C1;
    --sky-dark: #FF8FA3;
    --sky-light: #FFD6DE;
    --lavender: #DDA0DD;
    --lavender-light: #E8C8E8;
    --mint: #FFD1DC;
    --mint-light: #FFE4EC;

    --primary: var(--pink);
    --primary-dark: var(--pink-dark);
    --primary-light: var(--pink-light);
    --accent: var(--gold);

    --gradient-primary: linear-gradient(135deg, #E91E8C 0%, #F472B6 50%, #FF69B4 100%);
    --gradient-warm: linear-gradient(135deg, #D4AF37 0%, #E91E8C 100%);
    --gradient-cool: linear-gradient(135deg, #DDA0DD 0%, #E91E8C 100%);
    --gradient-hero: linear-gradient(160deg, #FFF5F9 0%, #FFF0F6 40%, #FDF2F8 70%, #FFF8E7 100%);
    --gradient-dark: linear-gradient(160deg, #1A0011 0%, #2D0020 100%);

    --bg-primary: #FFF5F9;
    --bg-off: #FFF0F5;
    --bg-warm: #FFF0F6;
    --bg-cool: #FFF8E7;
    --bg-dark: #1A0011;
    --bg-darker: #0F000A;
    --bg-card: #FFFFFF;
    --bg-section: #FFF5F9;

    --text-primary: #2D2D3A;
    --text-secondary: #5A5A72;
    --text-muted: #8A8AA0;
    --text-light: #FFFFFF;

    --space-xs: 0.5rem;
    --space-sm: 1rem;
    --space-md: 1.5rem;
    --space-lg: 2rem;
    --space-xl: 3rem;
    --space-2xl: 4rem;
    --space-3xl: 6rem;
    --space-4xl: 8rem;

    --font-heading: 'Playfair Display', Georgia, serif;
    --font-body: 'Plus Jakarta Sans', system-ui, sans-serif;
    --font-accent: 'Dancing Script', cursive;

    --radius-sm: 8px;
    --radius-md: 12px;
    --radius-lg: 20px;
    --radius-xl: 24px;
    --radius-2xl: 32px;
    --radius-full: 9999px;

    --shadow-sm: 0 2px 8px rgba(233,30,140,0.06);
    --shadow-card: 0 4px 24px rgba(45,45,58,0.08);
    --shadow-card-hover: 0 16px 48px rgba(233,30,140,0.15);
    --shadow-elevated: 0 24px 64px rgba(45,45,58,0.12);
    --shadow-glow: 0 0 40px rgba(233,30,140,0.25);

    /* Legacy aliases for chat widget */
    --accent-primary: var(--pink);
    --accent-indigo: var(--pink);
    --accent-pink: var(--coral);
    --accent-purple: var(--lavender);
    --accent-cyan: var(--sky);
    --accent-emerald: var(--mint);
    --brand-teal: var(--pink);
    --brand-teal-dark: var(--pink-dark);
    --brand-teal-light: var(--pink-light);
    --brand-teal-pale: var(--pink-pale);
}

/* ===== RESET ===== */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;font-size:16px;background:var(--pink);min-height:100%;min-height:-webkit-fill-available}
body{font-family:var(--font-body);color:var(--text-primary);background:var(--bg-primary);line-height:1.7;overflow-x:hidden;min-height:100%;min-height:-webkit-fill-available}


img{max-width:100%;height:auto}
.container{max-width:1280px;margin:0 auto;padding:0 var(--space-lg)}

/* ===== SECTION LABEL ===== */
.section-label{display:inline-flex;align-items:center;gap:8px;padding:8px 20px;background:var(--gradient-primary);border-radius:var(--radius-full);color:#fff;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:var(--space-lg)}

/* ===== PAGE HERO (NON-HOME) ===== */
.page-hero{position:relative;min-height:250px;display:flex;align-items:center;justify-content:center;overflow:hidden;margin-top:100px;background:var(--bg-warm)}
.page-hero-canvas{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}
.page-hero-content{position:relative;z-index:2;text-align:center;max-width:800px;padding:2rem}
.page-hero-label{color:var(--pink);text-transform:uppercase;letter-spacing:2px;font-size:.875rem;font-weight:600;margin-bottom:1rem;opacity:0;animation:fadeInUp .6s ease forwards}
.page-hero-title{font-size:clamp(2rem,4vw,3rem);font-weight:800;line-height:1.2;color:var(--text-primary);margin-bottom:1rem;opacity:0;animation:fadeInUp .6s ease .2s forwards}
.page-hero-description{font-size:1.125rem;color:var(--text-secondary);line-height:1.6;opacity:0;animation:fadeInUp .6s ease .4s forwards}
@keyframes fadeInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}

/* ===== HEADER ===== */
header{position:fixed;top:0;left:0;right:0;z-index:1000;background:rgba(255,251,247,.92);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid rgba(233,30,140,.08);transition:all .3s ease}
nav{padding:0.45rem 0}
.nav-container{display:flex;align-items:center;justify-content:space-between}
.logo{display:flex;align-items:center;gap:0;text-decoration:none;cursor:pointer;padding:2px 0}
.logo-image{height:68px;width:auto;max-width:260px;object-fit:contain}
.nav-links{display:flex;align-items:center;gap:4px;list-style:none;flex-wrap:nowrap}
.nav-links li{flex-shrink:0}
.nav-links a{padding:.625rem 1.125rem;color:var(--text-primary);text-decoration:none;font-weight:600;font-size:.9rem;border-radius:var(--radius-full);transition:all .25s ease;white-space:nowrap}
.nav-links a:hover,.nav-links a.active{background:var(--pink-pale);color:var(--pink)}
.nav-item-dropdown{position:relative}
.dropdown-menu{display:none;position:absolute;top:100%;left:0;min-width:250px;background:#fff;border:1px solid rgba(233,30,140,.1);border-radius:var(--radius-md);padding:.5rem 0;list-style:none;box-shadow:var(--shadow-elevated);z-index:1001;opacity:0;visibility:hidden;transform:translateY(-10px);transition:opacity .2s,transform .2s,visibility .2s}
.nav-item-dropdown:hover .dropdown-menu{display:block;opacity:1;visibility:visible;transform:translateY(0)}
.dropdown-menu a{display:block;padding:.75rem 1.5rem;color:var(--text-primary);text-decoration:none;transition:all .2s}
.dropdown-menu a:hover{background:var(--pink-pale);color:var(--pink);padding-left:2rem}
.nav-cta{display:flex;align-items:center;gap:1.25rem}
.nav-cta .phone-link{display:flex;align-items:center;gap:.5rem;color:var(--text-primary);text-decoration:none;font-weight:600;font-size:.9rem;transition:color .2s}
.nav-cta .phone-link:hover{color:var(--pink)}
.nav-cta .btn-primary{padding:.7rem 1.5rem;font-size:.9rem;font-weight:700;background:var(--gradient-primary);color:#fff;border:none;border-radius:var(--radius-full);cursor:pointer;box-shadow:0 4px 16px rgba(233,30,140,.3);transition:all .3s;text-decoration:none;display:inline-block}
.nav-cta .btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-glow),0 10px 30px rgba(0,0,0,.1)}
.mobile-menu-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px}
.mobile-menu-toggle span{width:24px;height:2.5px;background:var(--text-primary);border-radius:2px;transition:all .3s}
.mobile-menu-toggle.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.mobile-menu-toggle.active span:nth-child(2){opacity:0}
.mobile-menu-toggle.active span:nth-child(3){transform:rotate(-45deg) translate(7px,-6px)}
@media(max-width:1024px){.nav-links{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(255,251,247,.97);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);flex-direction:column;justify-content:center;align-items:center;padding:100px 2.5rem 80px;z-index:999;transform:translateY(-100%);opacity:0;visibility:hidden;pointer-events:none;transition:transform .45s cubic-bezier(.4,0,.2,1),opacity .35s ease}.nav-links.active{display:flex;transform:translateY(0);opacity:1;visibility:visible;pointer-events:auto}.mobile-menu-toggle{display:flex;position:relative;z-index:1001}}

/* ===== BRAND MARQUEE TICKER ===== */
.brand-ticker{background:var(--gradient-primary);padding:13px 0;overflow:hidden;position:relative;z-index:100}
.brand-ticker::before,.brand-ticker::after{content:'';position:absolute;top:0;bottom:0;width:100px;z-index:2;pointer-events:none}
.brand-ticker::before{left:0;background:linear-gradient(90deg,var(--pink) 0%,transparent 100%)}
.brand-ticker::after{right:0;background:linear-gradient(270deg,var(--pink) 0%,transparent 100%)}
.brand-ticker-track{display:flex;align-items:center;white-space:nowrap;animation:tickerRoll 30s linear infinite}
.brand-ticker-track:hover{animation-play-state:paused}
.brand-ticker-item{display:inline-flex;align-items:center;gap:.5rem;padding:0 2.2rem;font-size:.72rem;font-weight:800;color:#fff;text-transform:uppercase;letter-spacing:2.5px;flex-shrink:0}
.brand-ticker-item .t-sep{font-size:.9rem;color:rgba(255,255,255,.35);margin:0 .1rem}
@keyframes tickerRoll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ===== HERO ===== */
.hero{min-height:100vh;display:flex;align-items:center;background:var(--bg-dark);position:relative;overflow:hidden;padding-top:80px}
.hero-img-bg{position:absolute;inset:0;background-image:url('../images/website_hero_upscale_hd.jpg');background-size:cover;background-position:center center;z-index:0}
.hero-img-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,0,10,.45) 0%,rgba(15,0,10,.25) 40%,rgba(15,0,10,.50) 75%,rgba(15,0,10,.85) 100%)}
.hero-grain{position:absolute;inset:0;z-index:1;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:200px 200px}
.hero::before,.hero::after{display:none}
@keyframes floatSlow{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(20px,-30px) scale(1.05)}}

.hero-balloons{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:1;overflow:hidden}
.floating-balloon{position:absolute;width:60px;height:72px;border-radius:50% 50% 50% 50%/60% 60% 40% 40%;opacity:.15;animation:floatBalloon 12s ease-in-out infinite}
.floating-balloon::after{content:'';position:absolute;bottom:-20px;left:50%;transform:translateX(-50%);width:1px;height:40px;background:currentColor;opacity:.4}
.floating-balloon:nth-child(1){background:var(--pink);color:var(--pink);top:15%;left:8%;animation-delay:0s;animation-duration:14s;width:50px;height:62px}
.floating-balloon:nth-child(2){background:var(--gold);color:var(--gold);top:25%;right:12%;animation-delay:-3s;animation-duration:16s;width:45px;height:56px}
.floating-balloon:nth-child(3){background:var(--sky);color:var(--sky);top:60%;left:5%;animation-delay:-5s;animation-duration:13s}
.floating-balloon:nth-child(4){background:var(--lavender);color:var(--lavender);top:45%;right:6%;animation-delay:-7s;animation-duration:15s;width:40px;height:50px}
.floating-balloon:nth-child(5){background:var(--coral);color:var(--coral);top:75%;right:20%;animation-delay:-2s;animation-duration:17s;width:35px;height:44px}
.floating-balloon:nth-child(6){background:var(--mint);color:var(--mint);top:10%;left:70%;animation-delay:-9s;animation-duration:12s;width:42px;height:52px}
@keyframes floatBalloon{0%,100%{transform:translateY(0) rotate(-5deg)}25%{transform:translateY(-30px) rotate(3deg)}50%{transform:translateY(-15px) rotate(-3deg)}75%{transform:translateY(-40px) rotate(5deg)}}

/* ===== HERO SPARKLES ===== */
.hero-sparkles{position:absolute;inset:0;pointer-events:none;z-index:2;overflow:hidden}
.sp{position:absolute;pointer-events:none;animation:spFloat 7s ease-in-out infinite,spGlow 7s ease-in-out infinite}
.sp::before{content:'✦';font-size:inherit;line-height:1}
@keyframes spFloat{0%,100%{transform:translateY(0) rotate(0deg) scale(1)}33%{transform:translateY(-22px) rotate(18deg) scale(1.2)}66%{transform:translateY(-10px) rotate(-12deg) scale(0.85)}}
@keyframes spGlow{0%,100%{opacity:.1}50%{opacity:.65}}
.sp-1{top:14%;left:7%;font-size:1.1rem;color:#D4AF37;animation-delay:0s;animation-duration:6.5s}
.sp-2{top:28%;left:18%;font-size:.65rem;color:#E91E8C;animation-delay:-1.8s;animation-duration:8s}
.sp-3{top:8%;left:38%;font-size:1.4rem;color:#D4AF37;animation-delay:-3.2s;animation-duration:5.8s}
.sp-4{top:18%;right:22%;font-size:.8rem;color:#F472B6;animation-delay:-.8s;animation-duration:7.2s}
.sp-5{top:40%;left:9%;font-size:.9rem;color:#D4AF37;animation-delay:-2.5s;animation-duration:9s}
.sp-6{top:55%;left:3%;font-size:1.3rem;color:#E91E8C;animation-delay:-4s;animation-duration:6s}
.sp-7{top:72%;left:14%;font-size:.6rem;color:#D4AF37;animation-delay:-1s;animation-duration:8.5s}
.sp-8{top:15%;right:8%;font-size:1.2rem;color:#D4AF37;animation-delay:-5s;animation-duration:7s}
.sp-9{top:45%;right:5%;font-size:.7rem;color:#F472B6;animation-delay:-2s;animation-duration:6.8s}
.sp-10{top:62%;right:12%;font-size:1rem;color:#D4AF37;animation-delay:-3.5s;animation-duration:9.2s}
.sp-11{top:78%;right:28%;font-size:.8rem;color:#E91E8C;animation-delay:-1.2s;animation-duration:7.5s}
.sp-12{top:6%;right:42%;font-size:.6rem;color:#D4AF37;animation-delay:-4.5s;animation-duration:6.2s}
.sp-13{top:33%;left:48%;font-size:1.6rem;color:rgba(212,175,55,.5);animation-delay:-2.8s;animation-duration:10s}
.sp-14{top:50%;left:30%;font-size:.5rem;color:#F472B6;animation-delay:-6s;animation-duration:8s}
.sp-15{top:85%;left:55%;font-size:.9rem;color:#D4AF37;animation-delay:-3s;animation-duration:7.8s}
.sp-16{top:22%;right:35%;font-size:.7rem;color:#E91E8C;animation-delay:-.5s;animation-duration:6.5s}
.sp-17{top:68%;left:40%;font-size:1.1rem;color:#D4AF37;animation-delay:-5.5s;animation-duration:8.8s}
.sp-18{top:90%;left:20%;font-size:.6rem;color:#F472B6;animation-delay:-7s;animation-duration:9.5s}

.hero-content{position:relative;z-index:3;text-align:center;max-width:900px;margin:0 auto;padding:var(--space-3xl) 0}
.hero-badge-top{display:inline-flex;align-items:center;gap:8px;padding:10px 28px;background:rgba(255,255,255,.12);border:1.5px solid rgba(255,255,255,.25);border-radius:var(--radius-full);color:#fff;font-size:.85rem;font-weight:700;margin-bottom:var(--space-xl);letter-spacing:.5px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.hero h1{font-family:var(--font-heading);font-size:clamp(2.8rem,6vw,5.5rem);font-weight:700;line-height:1.08;color:#fff;margin-bottom:var(--space-lg);letter-spacing:-.02em;text-shadow:0 2px 40px rgba(0,0,0,.3)}
.hero h1 .highlight{background:linear-gradient(135deg,#FFD1DC 0%,#F472B6 40%,#E91E8C 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hero h1 .script-text{font-family:var(--font-accent);font-weight:700;background:linear-gradient(135deg,#D4AF37,#E8C84A);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-size:1.15em}
.hero-subtitle{font-size:clamp(1rem,2vw,1.3rem);color:rgba(255,255,255,.8);font-weight:500;margin-bottom:var(--space-md);letter-spacing:3px;text-transform:uppercase}
.hero-description{font-size:1.1rem;color:rgba(255,255,255,.72);line-height:1.85;max-width:660px;margin:0 auto var(--space-xl)}
.hero-buttons{display:flex;gap:var(--space-md);justify-content:center;flex-wrap:wrap;margin-bottom:var(--space-2xl)}

/* ===== BUTTONS ===== */
.btn{display:inline-flex;align-items:center;gap:10px;padding:16px 36px;font-size:1.05rem;font-weight:700;font-family:var(--font-body);border-radius:var(--radius-full);text-decoration:none;cursor:pointer;transition:all .35s cubic-bezier(.4,0,.2,1);border:none;position:relative;overflow:hidden}
.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:0 4px 24px rgba(233,30,140,.35)}
.btn-primary:hover{transform:translateY(-3px);box-shadow:var(--shadow-glow),0 15px 40px rgba(233,30,140,.25)}
.btn-secondary{background:#fff;color:var(--text-primary);border:2px solid rgba(233,30,140,.2);box-shadow:0 2px 12px rgba(0,0,0,.04)}
.btn-secondary:hover{border-color:var(--pink);color:var(--pink);transform:translateY(-3px);box-shadow:0 8px 24px rgba(233,30,140,.1)}
.btn-sm{padding:10px 24px;font-size:.9rem}
.btn-lg{padding:18px 40px;font-size:1.1rem}
.btn-block{width:100%;justify-content:center}
.btn-icon{display:flex;align-items:center;gap:8px}

/* ===== TRUST BAR ===== */
.hero-trust{display:flex;gap:var(--space-2xl);justify-content:center;flex-wrap:wrap;padding:var(--space-xl) var(--space-lg);background:rgba(255,255,255,.06);border-radius:var(--radius-xl);border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);margin-top:var(--space-lg)}
.trust-item{text-align:center;position:relative}
.trust-item::after{content:'';position:absolute;right:calc(-1 * var(--space-xl));top:50%;transform:translateY(-50%);width:4px;height:4px;background:rgba(255,255,255,.2);border-radius:50%}
.trust-item:last-child::after{display:none}
.trust-value{font-size:1.8rem;font-weight:900;color:#fff;-webkit-text-fill-color:#fff;background:none;margin-bottom:4px;line-height:1.2}
.trust-label{font-size:.75rem;color:rgba(255,255,255,.6);font-weight:600;text-transform:uppercase;letter-spacing:1.5px}
.hero .btn-secondary{background:rgba(255,255,255,.1);color:#fff;border:1.5px solid rgba(255,255,255,.35);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.hero .btn-secondary:hover{background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.7);color:#fff;transform:translateY(-3px);box-shadow:0 8px 30px rgba(255,255,255,.08)}

/* ===== SOCIAL PROOF BAR ===== */


/* ===== ABOUT SECTION ===== */
.about-section{padding:var(--space-4xl) 0;background:var(--bg-primary)}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3xl);align-items:center}
.about-content h2{font-family:var(--font-heading);font-size:clamp(2rem,4vw,3.2rem);font-weight:700;color:var(--text-primary);margin-bottom:var(--space-lg);line-height:1.2}
.about-content .accent-text{font-family:var(--font-accent);color:var(--pink);font-size:1.2em}
.about-content p{font-size:1.05rem;color:var(--text-secondary);line-height:1.9;margin-bottom:var(--space-md)}
.about-features{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md);margin-top:var(--space-xl)}
.about-feature{display:flex;align-items:center;gap:12px;font-weight:600;color:var(--text-primary)}
.about-feature .feature-icon{width:40px;height:40px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0}
.about-feature:nth-child(1) .feature-icon{background:var(--pink-pale)}
.about-feature:nth-child(2) .feature-icon{background:var(--gold-pale)}
.about-feature:nth-child(3) .feature-icon{background:#F0F9FF}
.about-feature:nth-child(4) .feature-icon{background:#F5F3FF}
/* About image collage */
.about-images{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:var(--space-md)}
.about-images img{border-radius:var(--radius-xl);object-fit:cover;object-position:center top;width:100%;box-shadow:var(--shadow-elevated);transition:transform .4s cubic-bezier(.4,0,.2,1),box-shadow .4s}
.about-images img:hover{transform:scale(1.02) translateY(-4px);box-shadow:0 20px 60px rgba(233,30,140,.15)}
.about-img-main{height:340px;grid-column:1/3}
.about-img-sm{height:200px}
.about-img-sm:last-child{margin-top:0}

/* ===== SECTION INTRO ===== */
.section-intro{text-align:center;font-size:1.15rem;color:var(--text-secondary);max-width:700px;margin:0 auto var(--space-3xl);line-height:1.8}

/* ===== EDITORIAL PRODUCTS GRID ===== */
.editorial-section{padding:var(--space-4xl) 0;background:var(--bg-dark)}
.editorial-header{text-align:center;margin-bottom:var(--space-3xl)}
.editorial-header h2{font-family:var(--font-heading);font-size:clamp(2rem,4vw,3.5rem);font-weight:700;color:#fff;margin-bottom:var(--space-sm)}
.editorial-header p{color:rgba(255,255,255,.55);font-size:1.05rem;max-width:600px;margin:0 auto}
.editorial-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:12px;max-width:1280px;margin:0 auto}
.e-cell{overflow:hidden;border-radius:var(--radius-xl);position:relative;cursor:pointer;background:var(--bg-darker);min-width:0}
.e-cell img{width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .8s cubic-bezier(.4,0,.2,1),filter .8s;display:block}
.e-cell:hover img{transform:scale(1.08);filter:brightness(1.06) saturate(1.1)}
.e-cell-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(15,0,10,.85) 0%,rgba(15,0,10,.2) 50%,transparent 100%);pointer-events:none;transition:opacity .5s}
.e-cell:hover .e-cell-overlay{opacity:.6}
.e-cell-info{position:absolute;bottom:0;left:0;right:0;padding:1.5rem 1.25rem 1.2rem;z-index:3;transform:translateY(6px);transition:transform .4s cubic-bezier(.4,0,.2,1)}
.e-cell:hover .e-cell-info{transform:translateY(0)}
.e-cell-cat{display:inline-block;font-size:.65rem;font-weight:800;color:var(--pink);text-transform:uppercase;letter-spacing:2px;margin-bottom:.4rem}
.e-cell-title{color:#fff;font-family:var(--font-heading);font-size:clamp(1rem,1.8vw,1.4rem);font-weight:700;margin:0;line-height:1.2;text-shadow:0 2px 12px rgba(0,0,0,.5)}
.e-cell-tag{position:absolute;top:1rem;right:1rem;background:var(--gradient-primary);color:#fff;font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:1.5px;padding:4px 12px;border-radius:var(--radius-full);box-shadow:0 2px 12px rgba(233,30,140,.35);z-index:3}
.e-cell:nth-child(1){grid-column:1/7;height:460px}
.e-cell:nth-child(2){grid-column:7/10;height:460px}
.e-cell:nth-child(3){grid-column:10/13;height:460px}
.e-cell:nth-child(4){grid-column:1/5;height:340px}
.e-cell:nth-child(5){grid-column:5/9;height:340px}
.e-cell:nth-child(6){grid-column:9/13;height:340px}
@media(max-width:1024px){.editorial-grid{grid-template-columns:repeat(2, minmax(0, 1fr));gap:10px}.e-cell:nth-child(1){grid-column:1/3;height:360px}.e-cell:nth-child(2){grid-column:1/2;height:300px}.e-cell:nth-child(3){grid-column:2/3;height:300px}.e-cell:nth-child(4){grid-column:1/2;height:260px}.e-cell:nth-child(5){grid-column:2/3;height:260px}.e-cell:nth-child(6){grid-column:1/3;height:260px}}
@media(max-width:640px){.editorial-grid{grid-template-columns:repeat(2, minmax(0, 1fr));gap:8px}.e-cell:nth-child(1){height:240px}.e-cell:nth-child(2),.e-cell:nth-child(3){height:200px}.e-cell:nth-child(4),.e-cell:nth-child(5),.e-cell:nth-child(6){height:180px}}

/* ===== GALLERY strip upgraded ===== */
.premium-transformations{padding:var(--space-4xl) 0}
.transformations-header{text-align:center;margin-bottom:var(--space-3xl)}
.transformations-header h2{font-family:var(--font-heading);font-size:clamp(2rem,4vw,3.5rem);font-weight:700;margin-bottom:var(--space-md);color:var(--text-primary)}
.transformations-header p{font-size:1.15rem;color:var(--text-secondary);max-width:600px;margin:0 auto}
.transformations-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-lg)}
.transformation-card{background:#fff;border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-card);transition:all .4s cubic-bezier(.4,0,.2,1);border:2px solid transparent}
.transformation-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-card-hover);border-color:rgba(233,30,140,.12)}
.comparison-view{overflow:hidden}
.img-wrapper{position:relative;overflow:hidden;aspect-ratio:4/3}
.img-wrapper img{width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .6s cubic-bezier(.4,0,.2,1)}
.transformation-card:hover .img-wrapper img{transform:scale(1.08)}
.case-details{padding:var(--space-lg)}
.case-details h3{font-size:1.15rem;font-weight:700;margin-bottom:6px;color:var(--text-primary)}
.case-details p{font-size:.9rem;color:var(--text-secondary);line-height:1.6}

/* ===== ASSESSMENT FORM ===== */
/* ===== VIP SESSION TRIGGER BANNER ===== */
.vip-trigger-section{padding:var(--space-3xl) 0 var(--space-xl);background:var(--bg-dark);position:relative;overflow:hidden;text-align:center}
.vip-trigger-section::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 60%,rgba(233,30,140,.14) 0%,transparent 65%);pointer-events:none}
.vip-trigger-inner{position:relative;z-index:1}
.vip-trigger-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:.72rem;font-weight:900;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-bottom:var(--space-md)}
.vip-trigger-eyebrow::before,.vip-trigger-eyebrow::after{content:'';width:32px;height:1px;background:var(--gold);opacity:.5}
.vip-trigger-section h2{font-family:var(--font-heading);font-size:clamp(2.2rem,5vw,3.8rem);font-weight:700;color:#fff;margin-bottom:var(--space-md);line-height:1.1}
.vip-trigger-section h2 em{font-style:italic;color:var(--pink-light)}
.vip-trigger-section p{color:rgba(255,255,255,.55);font-size:1.05rem;max-width:460px;margin:0 auto var(--space-2xl)}
.btn-vip-open{display:inline-flex;align-items:center;gap:12px;padding:18px 52px;background:var(--gradient-primary);color:#fff;border:none;border-radius:var(--radius-full);font-size:1.05rem;font-weight:800;font-family:var(--font-body);cursor:pointer;letter-spacing:.4px;transition:all .35s cubic-bezier(.4,0,.2,1);animation:vipPulse 2.8s ease-in-out infinite;position:relative}
.btn-vip-open:hover{transform:translateY(-3px) scale(1.03);box-shadow:0 20px 60px rgba(233,30,140,.55),0 0 0 10px rgba(233,30,140,.08);animation:none}
.btn-vip-open svg{transition:transform .3s}
.btn-vip-open:hover svg{transform:translateX(4px)}
@keyframes vipPulse{0%,100%{box-shadow:0 8px 40px rgba(233,30,140,.4),0 0 0 0 rgba(233,30,140,.3)}50%{box-shadow:0 8px 40px rgba(233,30,140,.5),0 0 0 20px rgba(233,30,140,0)}}

/* ===== VIP MODAL POPUP ===== */
.vip-modal-overlay{position:fixed;inset:0;background:rgba(8,0,6,.8);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:9000;display:flex;align-items:center;justify-content:center;padding:var(--space-lg);opacity:0;visibility:hidden;transition:opacity .4s cubic-bezier(.4,0,.2,1),visibility .4s}
.vip-modal-overlay.is-open{opacity:1;visibility:visible}
.vip-modal{background:#fff;border-radius:28px;width:100%;max-width:820px;max-height:92vh;overflow-y:auto;position:relative;transform:translateY(40px) scale(.95);transition:transform .5s cubic-bezier(.34,1.4,.64,1);box-shadow:0 60px 150px rgba(0,0,0,.55),0 0 0 1px rgba(233,30,140,.12)}
.vip-modal-overlay.is-open .vip-modal{transform:translateY(0) scale(1)}
.vip-modal-header{padding:var(--space-2xl) var(--space-3xl) var(--space-lg);text-align:center;background:linear-gradient(160deg,#fff5f9 0%,#fff 50%);border-radius:28px 28px 0 0;border-bottom:1px solid rgba(233,30,140,.07)}
.vip-modal-header h2{font-family:var(--font-heading);font-size:clamp(1.7rem,3vw,2.3rem);font-weight:700;color:var(--text-primary);margin-bottom:6px}
.vip-modal-header p{color:var(--text-secondary);font-size:1rem}
.vip-modal-close{position:absolute;top:var(--space-lg);right:var(--space-lg);width:40px;height:40px;border-radius:50%;border:2px solid rgba(0,0,0,.08);background:#fff;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .25s;flex-shrink:0;box-shadow:0 2px 8px rgba(0,0,0,.06)}
.vip-modal-close:hover{background:rgba(233,30,140,.08);color:var(--pink);border-color:rgba(233,30,140,.2);transform:scale(1.1) rotate(90deg)}
.vip-modal-body{padding:var(--space-xl) var(--space-3xl) var(--space-3xl)}
.assessment-form .form-group{margin-bottom:var(--space-lg)}
.assessment-label{display:block;font-weight:700;color:var(--text-primary);margin-bottom:var(--space-sm);font-size:1rem}
.radio-group{display:flex;flex-wrap:wrap;gap:var(--space-sm)}
.radio-option{cursor:pointer}
.radio-option input[type="radio"]{display:none}
.radio-label{display:inline-block;padding:10px 20px;border:2px solid rgba(233,30,140,.12);border-radius:var(--radius-full);font-weight:600;font-size:.9rem;color:var(--text-secondary);transition:all .25s;cursor:pointer}
.radio-option input[type="radio"]:checked+.radio-label{background:var(--gradient-primary);color:#fff;border-color:var(--pink);box-shadow:0 4px 16px rgba(233,30,140,.25)}
.radio-label:hover{border-color:var(--pink-light);color:var(--pink)}
.assessment-select,.assessment-input{width:100%;padding:14px 18px;border:2px solid rgba(233,30,140,.12);border-radius:var(--radius-md);font-size:.95rem;font-family:inherit;color:var(--text-primary);background:#fff;transition:all .2s}
.assessment-select:focus,.assessment-input:focus{outline:none;border-color:var(--pink);box-shadow:0 0 0 4px rgba(233,30,140,.08)}
.assessment-input.full-width{grid-column:1/-1}
.details-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md)}
.file-upload-container{margin-top:8px}
.file-input{display:none}
.file-label{display:flex;flex-direction:column;align-items:center;gap:8px;padding:var(--space-xl);border:2px dashed rgba(233,30,140,.2);border-radius:var(--radius-lg);cursor:pointer;text-align:center;color:var(--text-muted);transition:all .3s;background:var(--pink-pale)}
.file-label:hover{border-color:var(--pink);background:rgba(233,30,140,.05)}
.file-label svg{color:var(--pink)}
.upload-hint{margin-top:5px;opacity:.7;font-size:.85rem}
.image-previews{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.submit-container{text-align:center;margin-top:var(--space-xl)}
.btn-assessment{padding:16px 48px;background:var(--gradient-primary);color:#fff;border:none;border-radius:var(--radius-full);font-size:1.1rem;font-weight:700;font-family:var(--font-body);cursor:pointer;box-shadow:0 4px 24px rgba(233,30,140,.35);transition:all .35s}
.btn-assessment:hover{transform:translateY(-3px);box-shadow:var(--shadow-glow)}
@media(max-width:640px){.vip-modal-body,.vip-modal-header{padding-left:var(--space-lg);padding-right:var(--space-lg)}.details-grid{grid-template-columns:1fr}.vip-modal{border-radius:20px}}

/* ===== HOW IT WORKS ===== */
.how-it-works{padding:var(--space-xl) 0 var(--space-4xl);background:var(--bg-dark);color:#fff;position:relative;overflow:hidden}
.how-it-works::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:min(200px,40%);height:1px;background:linear-gradient(90deg,transparent,rgba(233,30,140,.3),transparent)}
.how-it-works::after{content:'';position:absolute;bottom:-30%;left:-10%;width:400px;height:400px;background:radial-gradient(circle,rgba(56,189,248,.06) 0%,transparent 70%);border-radius:50%;pointer-events:none}
.how-it-works h2{font-family:var(--font-heading);font-size:clamp(2rem,4vw,3.5rem);font-weight:700;text-align:center;margin-bottom:var(--space-lg);color:#fff}
.how-it-works .section-intro{color:rgba(255,255,255,.7)}
.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-xl);margin-bottom:var(--space-3xl);position:relative;z-index:1}
.step-card{padding:var(--space-2xl);background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s}
.step-card:hover{transform:translateY(-8px);background:rgba(255,255,255,.08);border-color:rgba(233,30,140,.3)}
.step-number{width:64px;height:64px;background:var(--gradient-primary);color:#fff;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:1.8rem;font-weight:900;margin-bottom:var(--space-lg);box-shadow:0 4px 24px rgba(233,30,140,.35)}
.step-card h3{font-size:1.4rem;font-weight:800;margin-bottom:var(--space-md);color:#fff}
.step-card p{color:rgba(255,255,255,.7);line-height:1.8}
.when-you-need{background:rgba(255,255,255,.04);padding:var(--space-2xl);border-radius:var(--radius-xl);border:1px solid rgba(255,255,255,.06);max-width:900px;margin:0 auto;position:relative;z-index:1}
.when-you-need h3{font-size:1.6rem;font-weight:800;margin-bottom:var(--space-lg);color:#fff}
.when-you-need ul{list-style:none;margin-bottom:var(--space-lg)}
.when-you-need li{padding:var(--space-md) 0;color:rgba(255,255,255,.75);font-size:1.05rem;border-bottom:1px solid rgba(255,255,255,.06);transition:padding-left .2s}
.when-you-need li:hover{padding-left:var(--space-md);color:#fff}
.when-you-need li:last-child{border-bottom:none}
.note{background:rgba(233,30,140,.08);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);border-left:4px solid var(--pink);color:rgba(255,255,255,.8);font-size:1rem}

/* ===== WHY CHOOSE US (uses .services) ===== */
.services{padding:var(--space-4xl) 0;background:#fff}
.services h2{font-family:var(--font-heading);font-size:clamp(2rem,4vw,3.5rem);font-weight:700;text-align:center;margin-bottom:var(--space-lg);color:var(--text-primary)}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-xl)}
.service-card{padding:var(--space-xl);background:#fff;border:2px solid transparent;border-radius:var(--radius-xl);box-shadow:var(--shadow-card);transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;text-align:center}
.service-card::before{content:'';position:absolute;top:0;left:0;width:100%;height:4px;background:var(--gradient-primary);transform:scaleX(0);transform-origin:left;transition:transform .4s}
.service-card:hover::before{transform:scaleX(1)}
.service-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-card-hover);border-color:rgba(233,30,140,.12)}
.service-icon{width:64px;height:64px;margin:0 auto var(--space-md);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-lg);transition:all .3s}
.service-card:nth-child(1) .service-icon{background:var(--pink-pale);color:var(--pink)}
.service-card:nth-child(2) .service-icon{background:var(--gold-pale);color:var(--gold)}
.service-card:nth-child(3) .service-icon{background:#ECFDF5;color:var(--mint)}
.service-card:nth-child(4) .service-icon{background:#F0F9FF;color:var(--sky)}
.service-card:nth-child(5) .service-icon{background:#FFF1F2;color:var(--coral)}
.service-card:nth-child(6) .service-icon{background:#F5F3FF;color:var(--lavender)}
.service-card:hover .service-icon{transform:translateY(-4px) scale(1.05)}
.service-card h3{font-size:1.2rem;font-weight:700;margin-bottom:var(--space-sm);color:var(--text-primary)}
.service-card p{font-size:.95rem;color:var(--text-secondary);line-height:1.7}
.cta-buttons{display:flex;gap:var(--space-md);justify-content:center;margin-top:var(--space-3xl);flex-wrap:wrap}

/* ===== DIVA GEMS FLOATING SECTION ===== */
.service-areas.balloon-sky{padding:var(--space-4xl) 0;background:transparent;overflow:hidden;position:relative;min-height:600px}
.balloon-sky-bg{position:absolute;inset:0;background:linear-gradient(180deg,#1A0011 0%,#2D0020 35%,#3D0030 60%,#1A0011 100%);z-index:0}
.balloon-sky-bg::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 25% 30%,rgba(233,30,140,.12) 0%,transparent 55%),radial-gradient(ellipse at 75% 60%,rgba(212,175,55,.08) 0%,transparent 50%),radial-gradient(ellipse at 50% 80%,rgba(244,114,182,.06) 0%,transparent 40%)}
.service-areas.balloon-sky h2{font-family:var(--font-heading);font-size:clamp(2rem,4vw,3.5rem);font-weight:700;text-align:center;margin-bottom:var(--space-lg);color:#fff}
.service-areas.balloon-sky .section-intro{text-align:center;color:rgba(255,255,255,.55);font-size:1.05rem;margin-bottom:0;max-width:700px;margin-left:auto;margin-right:auto}

/* Floating stage */
.balloon-float-stage{position:absolute;inset:0;overflow:hidden;z-index:1;pointer-events:none}
.balloon-float-stage::before,.balloon-float-stage::after{content:'';position:absolute;left:0;right:0;height:100px;z-index:10;pointer-events:none}
.balloon-float-stage::before{top:0;background:linear-gradient(180deg,#1A0011,transparent)}
.balloon-float-stage::after{bottom:0;background:linear-gradient(0deg,#1A0011,transparent)}

/* Diva gem chip */
.suburb-balloon{position:absolute;display:flex;flex-direction:column;align-items:center;pointer-events:auto;cursor:default;will-change:transform;transition:filter .3s}
.suburb-balloon:hover{filter:brightness(1.3) drop-shadow(0 0 18px rgba(233,30,140,.55));z-index:100}
.gem-chip{border-radius:50px;padding:7px 18px;position:relative;display:flex;align-items:center;justify-content:center;box-shadow:0 0 20px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.3),inset 0 -1px 0 rgba(0,0,0,.2);overflow:hidden;transition:transform .35s cubic-bezier(.34,1.56,.64,1)}
.suburb-balloon:hover .gem-chip{transform:scale(1.15) translateY(-3px)}
.gem-chip::before{content:'';position:absolute;top:0;left:0;right:0;height:40%;background:linear-gradient(180deg,rgba(255,255,255,.28),transparent);pointer-events:none}
.gem-text{position:relative;z-index:2;font-size:clamp(.6rem,.72rem,.9rem);font-weight:800;color:rgba(255,255,255,.95);text-shadow:0 1px 4px rgba(0,0,0,.3);letter-spacing:.6px;white-space:nowrap}
/* Gem colours */
.balloon-c0 .gem-chip{background:linear-gradient(135deg,#FF6B9D,#E91E8C);box-shadow:0 0 20px rgba(233,30,140,.3),inset 0 1px 0 rgba(255,255,255,.3)}
.balloon-c1 .gem-chip{background:linear-gradient(135deg,#E8C84A,#D4AF37);box-shadow:0 0 20px rgba(212,175,55,.3),inset 0 1px 0 rgba(255,255,255,.3)}
.balloon-c2 .gem-chip{background:linear-gradient(135deg,#F472B6,#C4177A);box-shadow:0 0 20px rgba(244,114,182,.3),inset 0 1px 0 rgba(255,255,255,.3)}
.balloon-c3 .gem-chip{background:linear-gradient(135deg,#A78BFA,#8B5CF6);box-shadow:0 0 20px rgba(167,139,250,.3),inset 0 1px 0 rgba(255,255,255,.3)}
.balloon-c4 .gem-chip{background:linear-gradient(135deg,#FCD34D,#D4AF37);box-shadow:0 0 20px rgba(252,211,77,.3),inset 0 1px 0 rgba(255,255,255,.3)}
.balloon-c5 .gem-chip{background:linear-gradient(135deg,#FBB6CE,#E91E8C);box-shadow:0 0 20px rgba(251,182,206,.3),inset 0 1px 0 rgba(255,255,255,.3)}
.balloon-c6 .gem-chip{background:linear-gradient(135deg,#C4B5FD,#A78BFA);box-shadow:0 0 20px rgba(196,181,253,.3),inset 0 1px 0 rgba(255,255,255,.3)}
.balloon-c7 .gem-chip{background:linear-gradient(135deg,#FDE68A,#E8C84A);box-shadow:0 0 20px rgba(253,230,138,.3),inset 0 1px 0 rgba(255,255,255,.3)}
.balloon-c8 .gem-chip{background:linear-gradient(135deg,#FF6B9D,#D4177A);box-shadow:0 0 20px rgba(255,107,157,.3),inset 0 1px 0 rgba(255,255,255,.3)}
.balloon-c9 .gem-chip{background:linear-gradient(135deg,#E8C84A,#B8960F);box-shadow:0 0 20px rgba(232,200,74,.3),inset 0 1px 0 rgba(255,255,255,.3)}

/* Glass Google Map */
.glass-map-wrapper{position:relative;width:100%;max-width:740px;margin:var(--space-2xl) auto;height:300px;border-radius:20px;overflow:hidden;background:linear-gradient(135deg,rgba(255,255,255,.25),rgba(255,255,255,.08));backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);box-shadow:0 8px 32px rgba(0,0,0,.06),0 1px 0 rgba(255,255,255,.7) inset,0 -1px 0 rgba(0,0,0,.03) inset;border:1px solid rgba(255,255,255,.5)}
.glass-map-wrapper::before{content:'';position:absolute;inset:0;border-radius:20px;padding:1.5px;background:linear-gradient(135deg,rgba(255,255,255,.8),rgba(233,30,140,.12),rgba(167,139,250,.1),rgba(56,189,248,.1),rgba(255,255,255,.6));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;z-index:2}
.glass-map-wrapper iframe{border-radius:20px;display:block}
.glass-map-shine{position:absolute;top:0;left:0;right:0;height:40%;background:linear-gradient(180deg,rgba(255,255,255,.15),transparent);pointer-events:none;z-index:1;border-radius:20px 20px 0 0}

/* Suburbs footer — premium glass card */
.suburbs-footer{position:relative;z-index:2;max-width:740px;margin:0 auto;margin-top:var(--space-xl);padding:var(--space-3xl) var(--space-2xl);border-radius:24px;text-align:center;background:linear-gradient(135deg,rgba(255,255,255,.92) 0%,rgba(255,240,245,.88) 50%,rgba(240,230,255,.85) 100%);backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);border:1px solid rgba(255,255,255,.6);box-shadow:0 8px 32px rgba(233,30,140,.06),0 1px 0 rgba(255,255,255,.8) inset,0 40px 60px -20px rgba(0,0,0,.04)}
.suburbs-footer::before{content:'';position:absolute;inset:0;border-radius:24px;padding:1px;background:linear-gradient(135deg,rgba(255,255,255,.7),rgba(233,30,140,.15),rgba(167,139,250,.12),rgba(255,255,255,.5));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.suburbs-footer p{font-size:1.1rem;line-height:1.9;color:var(--text-secondary);margin:0}
.suburbs-footer strong{color:var(--text-primary);font-weight:800;font-size:1.2rem;display:block;margin-bottom:.5rem}
.suburbs-footer .phone-link{color:var(--pink);font-weight:800;text-decoration:none;position:relative;transition:color .2s}
.suburbs-footer .phone-link::after{content:'';position:absolute;bottom:-2px;left:0;width:100%;height:2px;background:var(--gradient-primary);border-radius:2px;transform:scaleX(0);transition:transform .3s cubic-bezier(.34,1.56,.64,1)}
.suburbs-footer .phone-link:hover{color:var(--pink-dark)}
.suburbs-footer .phone-link:hover::after{transform:scaleX(1)}
/* Suburbs-footer on dark bg */
.suburbs-footer span{display:inline-block;padding:4px 12px;margin:4px;border-radius:20px;font-size:.78rem;font-weight:700;letter-spacing:.4px;color:rgba(255,255,255,.7);background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1)}
.phone-link{color:var(--pink);text-decoration:none;font-weight:700;transition:color .2s}
.phone-link:hover{color:var(--pink-dark)}

/* ===== TESTIMONIALS / GOOGLE-STYLE REVIEWS — DARK EDITORIAL ===== */
.testimonials{padding:var(--space-4xl) 0;background:#0D0008;overflow:hidden;position:relative}
.testimonials::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(233,30,140,.3),rgba(212,175,55,.2),transparent)}
.testimonials::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 0%,rgba(233,30,140,.08) 0%,transparent 60%);pointer-events:none}
.testimonials-header{text-align:center;margin-bottom:var(--space-2xl);position:relative;z-index:1}
.testimonials-header h2{font-family:var(--font-heading);font-size:clamp(2.2rem,4.5vw,4rem);font-weight:700;margin-bottom:var(--space-sm);color:#fff}
.testimonials-header .subtitle{font-size:1.05rem;color:rgba(255,255,255,.45);margin-bottom:var(--space-xl);letter-spacing:.3px}
.google-rating-badge{display:inline-flex;align-items:center;gap:16px;padding:16px 32px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-full);margin-top:var(--space-md);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.google-rating-badge .rating-number{font-size:2.2rem;font-weight:900;color:#fff;line-height:1;font-family:var(--font-heading)}
.google-rating-badge .rating-stars{color:#F59E0B;font-size:1.2rem;letter-spacing:2px;display:block}
.google-rating-badge .rating-text{font-size:.8rem;color:rgba(255,255,255,.5);font-weight:600;display:block;margin-top:2px}

/* Swiper overrides for reviews */
.reviews-swiper{overflow:visible;padding:var(--space-lg) 0 var(--space-3xl);position:relative;z-index:1}
.reviews-swiper .swiper-wrapper{transition-timing-function:cubic-bezier(.25,.1,.25,1) !important}
.reviews-swiper .swiper-slide{width:400px;height:auto;opacity:.3;transform:scale(.9);filter:blur(1.5px);transition:all .55s cubic-bezier(.4,0,.2,1)}
.reviews-swiper .swiper-slide-visible{opacity:.55;transform:scale(.95);filter:blur(0)}
.reviews-swiper .swiper-slide-active,
.reviews-swiper .swiper-slide-active ~ .swiper-slide-visible{opacity:1;transform:scale(1);filter:blur(0)}
.reviews-swiper .swiper-slide-active .review-card{border-color:rgba(233,30,140,.3);box-shadow:0 8px 60px rgba(233,30,140,.15),0 0 0 1px rgba(233,30,140,.12)}

/* Edge fade masks */
.reviews-swiper::before,.reviews-swiper::after{content:'';position:absolute;top:0;bottom:0;width:160px;z-index:10;pointer-events:none}
.reviews-swiper::before{left:0;background:linear-gradient(90deg,#0D0008 0%,transparent 100%)}
.reviews-swiper::after{right:0;background:linear-gradient(270deg,#0D0008 0%,transparent 100%)}

/* Review card — dark glass */
.review-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:var(--space-xl) var(--space-lg);position:relative;transition:all .45s cubic-bezier(.4,0,.2,1);height:100%;display:flex;flex-direction:column;min-height:280px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.review-card::before{content:'\201C';position:absolute;top:12px;right:20px;font-family:var(--font-heading);font-size:5rem;line-height:1;color:rgba(233,30,140,.12);pointer-events:none;font-style:italic}
.review-card:hover{transform:translateY(-5px);background:rgba(255,255,255,.07) !important;border-color:rgba(233,30,140,.25)}
.review-card-header{display:flex;align-items:center;gap:12px;margin-bottom:var(--space-md)}
.review-avatar{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.1rem;font-weight:800;color:#fff;flex-shrink:0;box-shadow:0 2px 12px rgba(0,0,0,.3)}
.review-avatar.a1{background:linear-gradient(135deg,#4285F4,#6da3f7)}
.review-avatar.a2{background:linear-gradient(135deg,#EA4335,#f06b60)}
.review-avatar.a3{background:linear-gradient(135deg,#FBBC04,#fcd34d)}
.review-avatar.a4{background:linear-gradient(135deg,#34A853,#5ec478)}
.review-avatar.a5{background:linear-gradient(135deg,#E91E8C,#f472b6)}
.review-avatar.a6{background:linear-gradient(135deg,#A78BFA,#c4b5fd)}
.review-avatar.a7{background:linear-gradient(135deg,#38BDF8,#7dd3fc)}
.review-avatar.a8{background:linear-gradient(135deg,#FF6B6B,#fca5a5)}
.review-avatar.a9{background:linear-gradient(135deg,#F5A623,#fbbf24)}
.review-author-info{display:flex;flex-direction:column}
.review-author-name{font-size:.95rem;font-weight:700;color:#fff;line-height:1.3}
.review-author-badge{font-size:.73rem;color:rgba(255,255,255,.4);font-weight:600}
.review-stars{color:#F59E0B;font-size:.9rem;letter-spacing:2px;margin-bottom:var(--space-sm)}
.review-text{font-size:.93rem;line-height:1.85;color:rgba(255,255,255,.7);flex:1;margin-bottom:var(--space-md)}
.review-google-logo{display:flex;justify-content:flex-end;align-items:center;margin-top:auto}
.review-google-logo img{height:18px;width:auto;opacity:.3;filter:brightness(10);transition:opacity .3s}
.review-card:hover .review-google-logo img{opacity:.5}

/* Swiper pagination */
.reviews-pagination{position:relative !important;bottom:0 !important;margin-top:var(--space-lg)}
.reviews-pagination .swiper-pagination-bullet{width:6px;height:6px;background:rgba(255,255,255,.2);opacity:1;transition:all .4s cubic-bezier(.4,0,.2,1)}
.reviews-pagination .swiper-pagination-bullet-active{background:var(--pink);width:28px;border-radius:var(--radius-full)}

/* Navigation arrows */
.reviews-nav-row{display:flex;justify-content:center;gap:var(--space-md);margin-top:var(--space-md);position:relative;z-index:1}
.reviews-nav-btn{width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);color:rgba(255,255,255,.7);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .35s cubic-bezier(.4,0,.2,1);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.reviews-nav-btn:hover{background:var(--gradient-primary);color:#fff;border-color:var(--pink);transform:scale(1.08);box-shadow:0 4px 20px rgba(233,30,140,.35)}

/* ===== QUOTE FORM ===== */
.quote-section{padding:var(--space-4xl) 0;background:var(--bg-off) !important}
.quote-wrapper{display:grid;grid-template-columns:1fr 1.4fr;gap:var(--space-3xl);align-items:start}
.quote-intro h2{font-family:var(--font-heading);font-size:clamp(2rem,4vw,3rem);font-weight:700;color:var(--text-primary);margin-bottom:var(--space-lg);line-height:1.2}
.quote-intro p{font-size:1.1rem;color:var(--text-secondary);line-height:1.8;margin-bottom:var(--space-xl)}
.quote-features{display:flex;flex-direction:column;gap:var(--space-md)}
.quote-feature{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md);background:#fff;border-radius:var(--radius-lg);box-shadow:0 2px 12px rgba(0,0,0,.04);border:1px solid rgba(233,30,140,.06)}
.quote-feature svg{flex-shrink:0;stroke:var(--pink);stroke-width:3}
.quote-feature span{font-weight:600;color:var(--text-primary)}
.quote-form-container{background:#fff;padding:2.5rem;border-radius:var(--radius-xl);box-shadow:var(--shadow-card);border:2px solid rgba(233,30,140,.06)}
.quote-form{display:flex;flex-direction:column;gap:var(--space-lg)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg)}
.form-group{display:flex;flex-direction:column;gap:8px}
.form-group label{font-size:.925rem;font-weight:700;color:var(--text-primary)}
.form-group input,.form-group select,.form-group textarea{padding:.875rem 1.125rem;border:2px solid rgba(233,30,140,.12);border-radius:var(--radius-md);font-size:.95rem;font-family:inherit;color:var(--text-primary);background:#fff;transition:all .25s}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--pink);box-shadow:0 0 0 4px rgba(233,30,140,.08)}
.form-group textarea{resize:vertical;min-height:100px}
.form-status{padding:var(--space-md);border-radius:var(--radius-md);font-weight:600;text-align:center;display:none}
.form-status.success{display:block;background:rgba(52,211,153,.1);color:var(--mint);border:2px solid var(--mint)}
.form-status.error{display:block;background:rgba(239,68,68,.1);color:#EF4444;border:2px solid #EF4444}

/* ===== CTA SECTION ===== */
.cta-section{padding:var(--space-4xl) 0;background:var(--bg-dark);position:relative;overflow:hidden}
.cta-section::before{content:'';position:absolute;top:-50%;left:50%;transform:translateX(-50%);width:100%;height:200%;background:radial-gradient(circle,rgba(233,30,140,.12) 0%,transparent 60%);pointer-events:none}
.cta-section h2{font-family:var(--font-heading);font-size:clamp(2rem,4vw,3.5rem);font-weight:700;color:#fff;text-align:center;margin-bottom:var(--space-lg);position:relative;z-index:1}
.cta-section .section-intro{color:rgba(255,255,255,.7);position:relative;z-index:1}
.cta-section .cta-buttons{position:relative;z-index:1}
.cta-section .btn-secondary{background:transparent;color:#fff;border-color:rgba(255,255,255,.3)}
.cta-section .btn-secondary:hover{background:rgba(255,255,255,.1);border-color:#fff;color:#fff}

/* ===== PRICING ===== */
.pricing{padding:var(--space-4xl) 0;background:var(--bg-warm)}
.pricing h2{font-family:var(--font-heading);text-align:center;color:var(--text-primary);font-size:clamp(2rem,4vw,3.5rem);font-weight:700;margin-bottom:var(--space-md)}
.pricing-wrapper{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-2xl);margin-top:var(--space-3xl)}
.pricing .pricing-card{background:#fff;border:2px solid rgba(233,30,140,.1);border-radius:var(--radius-xl);padding:2.5rem;transition:all .3s}
.pricing .pricing-card:hover{transform:translateY(-8px);border-color:var(--pink);box-shadow:var(--shadow-card-hover)}
.pricing .pricing-card h3{color:var(--text-primary);font-size:1.6rem;margin-bottom:var(--space-lg);font-weight:700}
.pricing .price{font-size:2.5rem;font-weight:900;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:var(--space-lg) 0;display:block;line-height:1}
.pricing .price-subtitle{color:var(--text-muted);font-size:1rem;font-weight:500;margin-bottom:var(--space-lg);display:block}
.pricing .pricing-card>p{color:var(--text-secondary);line-height:1.7;margin-bottom:var(--space-xl);font-size:1rem}
.pricing .pricing-card .btn{width:100%;justify-content:center}
.pricing .requirements-card{background:#fff;border:2px solid rgba(233,30,140,.1);border-radius:var(--radius-xl);padding:2.5rem}
.pricing .requirements-card h3{color:var(--text-primary);font-size:1.6rem;font-weight:700;margin-bottom:var(--space-xl)}
.pricing .requirement-item{display:flex;gap:var(--space-md);margin-bottom:var(--space-lg);align-items:flex-start}
.pricing .req-icon{color:var(--pink);font-size:1.5rem;font-weight:700;flex-shrink:0}
.pricing .requirement-item strong{color:var(--text-primary);font-size:1.05rem;font-weight:700;display:block;margin-bottom:.25rem}
.pricing .requirement-item p{color:var(--text-muted);font-size:.95rem;line-height:1.6;margin:0}
.pricing .requirements-card .note{margin-top:var(--space-xl);padding:var(--space-md);background:var(--pink-pale);border-radius:var(--radius-md);color:var(--text-secondary);font-size:.9rem;border-left:3px solid var(--pink)}

/* ===== FAQS ===== */
.faqs{padding:var(--space-4xl) 0;background:#fff}
.faqs h2{font-family:var(--font-heading);text-align:center;color:var(--text-primary);font-size:clamp(2rem,4vw,3.5rem);font-weight:700;margin-bottom:var(--space-md)}
.faqs .section-intro{text-align:center;color:var(--text-secondary);margin-bottom:var(--space-3xl);font-size:1.1rem}
.faq-list{max-width:800px;margin:0 auto}
.faq-item{background:#fff;border:2px solid rgba(233,30,140,.08);border-radius:var(--radius-lg);padding:0;transition:all .3s;margin-bottom:var(--space-md);overflow:hidden}
.faq-item:hover{border-color:rgba(233,30,140,.15);box-shadow:0 4px 16px rgba(233,30,140,.06)}
.faq-item[open]{border-color:rgba(233,30,140,.2);box-shadow:0 4px 20px rgba(233,30,140,.08)}
.faq-item summary{padding:var(--space-lg);font-size:1.05rem;font-weight:700;color:var(--text-primary);cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;-webkit-user-select:none;user-select:none;transition:color .2s}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:'+';font-size:1.5rem;color:var(--pink);font-weight:300;transition:transform .3s;flex-shrink:0;margin-left:var(--space-md)}
.faq-item[open] summary::after{content:'\2212';transform:rotate(180deg)}
.faq-item[open] summary{color:var(--pink)}
.faq-item>p{padding:0 var(--space-lg) var(--space-lg);color:var(--text-secondary);line-height:1.8;font-size:1rem;margin:0}
.faq-question{width:100%;padding:1.25rem 1.5rem;font-size:1.05rem;font-weight:700;color:var(--text-primary);background:transparent;border:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;text-align:left;transition:all .3s}
.faq-question:hover{color:var(--pink)}
.faq-icon{width:20px;height:20px;color:var(--pink);transition:transform .3s;flex-shrink:0;margin-left:1rem}
.faq-question[aria-expanded="true"] .faq-icon{transform:rotate(180deg)}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .4s ease-in-out}
.faq-answer.open{max-height:1000px}
.faq-answer p{padding:0 1.5rem 1.25rem 1.5rem;color:var(--text-secondary);line-height:1.8;font-size:.95rem;margin:0;border-top:1px solid rgba(233,30,140,.06)}

/* ===== CONTACT ===== */
/* ===== LOCATION & HOURS — PREMIUM DARK ===== */
.contact{padding:var(--space-4xl) 0;background:#0D0008;position:relative;overflow:hidden}
.contact::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 80% 50%,rgba(233,30,140,.08) 0%,transparent 60%);pointer-events:none}
.contact h2{font-family:var(--font-heading);font-size:clamp(2rem,4vw,3.5rem);font-weight:700;text-align:center;margin-bottom:var(--space-3xl);color:#fff}
.contact-wrapper{display:grid;grid-template-columns:1fr 1.55fr;gap:var(--space-xl);align-items:stretch;max-width:1080px;margin:0 auto}
.contact-info{display:flex;flex-direction:column;gap:var(--space-sm)}
.contact-info h3{font-size:1.2rem;font-weight:800;margin-bottom:var(--space-sm);color:#fff;letter-spacing:.3px}
.info-item{display:flex;gap:14px;padding:14px var(--space-lg);background:rgba(255,255,255,.04);border-radius:var(--radius-lg);transition:all .3s;border:1px solid rgba(255,255,255,.07)}
.info-item:hover{background:rgba(233,30,140,.07);border-color:rgba(233,30,140,.18);transform:translateX(4px)}
.info-icon{font-size:1.3rem;flex-shrink:0;line-height:1.5}
.info-item strong{display:block;font-weight:700;margin-bottom:2px;color:#fff;font-size:.78rem;text-transform:uppercase;letter-spacing:.9px}
.info-item p{color:rgba(255,255,255,.6);margin:0;font-size:.9rem}
.info-item a{color:rgba(255,255,255,.75) !important;transition:color .2s}
.info-item a:hover{color:var(--pink-light) !important}
.business-hours{padding:14px var(--space-lg);background:rgba(255,255,255,.03);border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.06);flex:1}
.business-hours strong{display:block;font-weight:700;margin-bottom:10px;color:#fff;font-size:.78rem;text-transform:uppercase;letter-spacing:.9px}
.business-hours p{margin:4px 0;color:rgba(255,255,255,.55);font-size:.88rem;display:flex;justify-content:space-between;gap:var(--space-md)}
.hours-online{color:var(--pink-light) !important;font-weight:700;margin-top:var(--space-sm) !important;display:block !important;font-size:.85rem}
/* Map stretches to exact height of left column */
.contact-map-col{border-radius:20px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.5),0 0 0 1px rgba(255,255,255,.08);position:relative;display:flex;flex-direction:column}
.contact-map-col iframe{display:block;width:100%;flex:1;min-height:360px;border:0}
.contact-map-address{flex-shrink:0;padding:14px var(--space-lg);background:rgba(8,0,6,.92);border-top:1px solid rgba(255,255,255,.07)}
.contact-map-address span{font-size:.82rem;font-weight:700;color:#fff;letter-spacing:.4px;display:block}
.contact-map-address small{font-size:.72rem;color:rgba(255,255,255,.45)}
/* Mobile */
@media(max-width:768px){
  .contact-wrapper{grid-template-columns:1fr;gap:var(--space-lg)}
  .contact-map-col iframe{flex:none;height:260px;min-height:unset}
  .contact-map-col{border-radius:16px}
}

/* ===== FOOTER ===== */
footer{background:var(--bg-darker);color:#fff;padding:var(--space-3xl) 0 var(--space-xl);width:100%}
footer>.container{max-width:1280px !important;width:100% !important;margin:0 auto;padding:0 var(--space-lg)}
.footer-content{display:flex !important;justify-content:space-between !important;gap:var(--space-2xl);margin-bottom:var(--space-2xl);width:100%}
.footer-section{flex:1}
.footer-section h4{font-size:1rem;font-weight:700;margin-bottom:var(--space-md);color:#fff;text-transform:uppercase;letter-spacing:.08em}
.footer-section p{color:rgba(255,255,255,.6);line-height:1.7;margin-bottom:var(--space-sm)}
.footer-section ul{list-style:none}
.footer-section ul li{margin:8px 0}
.footer-section ul li a{color:rgba(255,255,255,.55);text-decoration:none;transition:all .2s;font-size:.95rem}
.footer-section ul li a:hover{color:var(--pink-light);padding-left:4px}
.footer-logo{height:150px;width:auto;max-width:400px;object-fit:contain;margin-bottom:var(--space-md);filter:brightness(0) invert(1) drop-shadow(0 4px 16px rgba(233,30,140,0.4))}
.footer-link{color:var(--pink-light);text-decoration:none;transition:color .2s}
.footer-link:hover{color:var(--pink)}
.trading-info{margin-top:var(--space-md)}
.footer-hours strong{display:block;color:rgba(255,255,255,.85);margin-bottom:8px}
.hours-online{color:var(--pink);font-weight:700}
.footer-bottom{text-align:center;padding-top:var(--space-xl);border-top:1px solid rgba(255,255,255,.08);width:100%}
.footer-bottom p{color:rgba(255,255,255,.5);margin:8px auto}
.disclaimer{font-size:.85rem;max-width:800px;margin-left:auto;margin-right:auto;margin-top:var(--space-md)}

/* ===== SCROLL ANIMATIONS ===== */
.reveal{opacity:0;transform:translateY(30px);transition:opacity .7s cubic-bezier(.4,0,.2,1),transform .7s cubic-bezier(.4,0,.2,1)}
.reveal.visible{opacity:1;transform:translateY(0)}
.reveal-delay-1{transition-delay:.1s}
.reveal-delay-2{transition-delay:.2s}
.reveal-delay-3{transition-delay:.3s}
.reveal-delay-4{transition-delay:.4s}

/* Testimonials section entrance */
.google-rating-badge{opacity:0;transform:translateY(15px) scale(.95);transition:opacity .5s .2s,transform .5s .2s}
.testimonials.in-view .google-rating-badge{opacity:1;transform:translateY(0) scale(1)}
.testimonials-header h2,.testimonials-header .subtitle{opacity:0;transform:translateY(20px);transition:opacity .6s,transform .6s}
.testimonials.in-view .testimonials-header h2{opacity:1;transform:translateY(0);transition-delay:.05s}
.testimonials.in-view .testimonials-header .subtitle{opacity:1;transform:translateY(0);transition-delay:.15s}

/* ===== AI CHAT WIDGET ===== */
.ai-chat-widget{position:fixed;bottom:var(--space-lg);right:var(--space-lg);z-index:1000}
.chat-toggle{width:60px;height:60px;border-radius:var(--radius-full);background:var(--gradient-primary);border:none;box-shadow:var(--shadow-glow),0 10px 30px rgba(0,0,0,.15);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s}
.chat-toggle:hover{transform:scale(1.1)}
.chat-icon::before{content:'💬';font-size:1.8rem}
.chat-window{position:absolute;bottom:80px;right:0;width:420px;max-height:600px;background:#fff;border-radius:20px;box-shadow:0 20px 60px rgba(45,45,58,.25);border:1px solid rgba(233,30,140,.08);display:flex;flex-direction:column;overflow:hidden;animation:slideUp .3s ease}
@keyframes slideUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.chat-window.hidden{display:none}
.chat-header{padding:20px 24px;background:var(--gradient-primary);color:#fff;display:flex;justify-content:space-between;align-items:center}
.chat-header h3{font-size:1.2rem;font-weight:700;margin:0;color:#fff}
.chat-header-actions{display:flex;gap:8px;align-items:center}
.chat-email{background:rgba(255,255,255,.2);border:none;color:#fff;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);cursor:not-allowed;transition:all .2s;opacity:.4}
.chat-email.active{opacity:1;cursor:pointer}
.chat-email.active:hover{background:rgba(255,255,255,.35);transform:scale(1.1)}
.chat-reset{background:rgba(255,255,255,.2);border:none;color:#fff;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);cursor:pointer;transition:all .2s}
.chat-reset:hover{background:rgba(255,255,255,.35);transform:rotate(180deg)}
.chat-close{background:none;border:none;color:#fff;font-size:1.8rem;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:background .2s}
.chat-close:hover{background:rgba(255,255,255,.2)}
.chat-messages{flex:1;padding:20px;overflow-y:auto;background:#fafafa;display:flex;flex-direction:column;gap:12px;scroll-behavior:smooth}
.chat-message{padding:16px 20px;border-radius:var(--radius-md);max-width:85%;animation:fadeIn .3s ease;contain:layout style;overflow-wrap:break-word;word-break:break-word}
@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.chat-message.user{background:var(--gradient-primary);color:#fff;align-self:flex-end;border-bottom-right-radius:4px;font-weight:500}
.chat-message.ai{background:#fff;color:var(--text-primary);align-self:flex-start;border:1px solid #e5e7eb;border-bottom-left-radius:4px;line-height:1.6;box-shadow:0 1px 3px rgba(0,0,0,.04)}
.chat-message.ai h1,.chat-message.ai h2,.chat-message.ai h3,.chat-message.ai h4{margin:1.2em 0 .5em;font-weight:600;color:var(--text-primary);line-height:1.3;transition:none}
.chat-message.ai h1:first-child,.chat-message.ai h2:first-child,.chat-message.ai h3:first-child,.chat-message.ai h4:first-child{margin-top:0}
.chat-message.ai h1{font-size:1.3rem}.chat-message.ai h2{font-size:1.2rem}.chat-message.ai h3{font-size:1.1rem}.chat-message.ai h4{font-size:1rem;font-weight:600}
.chat-message.ai ul{margin:.75em 0;padding-left:0;list-style:none}
.chat-message.ai li{margin:.5em 0;line-height:1.6}
.chat-message.ai strong{font-weight:600;color:var(--text-primary)}
.chat-message.ai em{font-style:italic;color:var(--text-muted)}
.chat-message.ai p{margin:.6em 0;line-height:1.75}
.chat-message.ai p:first-child{margin-top:0}.chat-message.ai p:last-child{margin-bottom:0}.chat-message.ai p:empty{display:none}
.chat-message.ai h1+ul,.chat-message.ai h2+ul,.chat-message.ai h3+ul,.chat-message.ai h4+ul,.chat-message.ai h1+p,.chat-message.ai h2+p,.chat-message.ai h3+p,.chat-message.ai h4+p{margin-top:.5em}
.chat-message.ai ul+h1,.chat-message.ai ul+h2,.chat-message.ai ul+h3,.chat-message.ai ul+h4,.chat-message.ai p+h1,.chat-message.ai p+h2,.chat-message.ai p+h3,.chat-message.ai p+h4{margin-top:1.5em}
.chat-message.ai ul+p,.chat-message.ai p+ul{margin-top:.7em}
.chat-message.ai br+ul,.chat-message.ai br+h1,.chat-message.ai br+h2,.chat-message.ai br+h3,.chat-message.ai br+h4{margin-top:0}
.chat-message.ai ul+br,.chat-message.ai h1+br,.chat-message.ai h2+br,.chat-message.ai h3+br,.chat-message.ai h4+br{display:none}
.chat-message.typing{background:#fff;border:1px solid rgba(0,0,0,.05);align-self:flex-start}
.typing-indicator{display:flex;gap:4px}
.typing-indicator span{width:8px;height:8px;background:var(--pink);border-radius:50%;animation:typing 1.4s infinite}
.typing-indicator span:nth-child(2){animation-delay:.2s}
.typing-indicator span:nth-child(3){animation-delay:.4s}
@keyframes typing{0%,60%,100%{transform:translateY(0)}30%{transform:translateY(-10px)}}
.chat-suggestions{display:flex;flex-direction:column;gap:8px;margin-top:var(--space-sm)}
.suggestion-btn{padding:12px 16px;background:#fff;border:1px solid #d1d5db;border-radius:8px;color:var(--text-primary);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s;text-align:left}
.suggestion-btn:hover{background:var(--pink);color:#fff;border-color:var(--pink);transform:translateY(-1px);box-shadow:0 4px 12px rgba(233,30,140,.2)}
.chat-form{padding:16px 20px;background:#fff;border-top:1px solid #e5e7eb;display:flex;gap:10px}
.chat-form input{flex:1;padding:12px 16px;border:2px solid rgba(233,30,140,.12);border-radius:10px;font-size:.95rem;font-family:inherit;color:var(--text-primary);transition:all .2s}
.chat-form input::placeholder{color:#9ca3af}
.chat-form input:focus{outline:none;border-color:var(--pink);box-shadow:0 0 0 3px rgba(233,30,140,.08)}
.chat-form button{padding:12px 24px;background:var(--gradient-primary);color:#fff;border:none;border-radius:10px;font-weight:700;cursor:pointer;transition:all .2s}
.chat-form button:hover{transform:translateY(-2px);box-shadow:0 4px 16px rgba(233,30,140,.3)}

/* ===== INSTAGRAM CAROUSEL ===== */
.ig-section{padding:var(--space-4xl) 0;background:linear-gradient(180deg,#fafafa 0%,#f5f0f2 100%);position:relative;overflow:hidden}
.ig-section::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(233,30,140,.2),transparent)}
.ig-section::after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(233,30,140,.1),transparent)}
.ig-section-header{text-align:center;margin-bottom:var(--space-2xl)}
.ig-section-header h2{font-family:var(--font-heading);font-size:clamp(1.8rem,4vw,2.8rem);color:var(--text-primary);margin-bottom:.5rem}
.ig-section-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 20px;background:#fff;border:1px solid #e0e0e0;border-radius:50px;font-size:.9rem;font-weight:600;color:#262626;margin-bottom:var(--space-md);box-shadow:0 2px 8px rgba(0,0,0,.04)}
.ig-section-badge svg{color:#E91E8C}
.ig-section-sub{color:var(--text-secondary);font-size:1rem;margin-top:.5rem}
.ig-carousel-wrapper{position:relative;display:flex;align-items:center;gap:12px}
.ig-carousel-track-container{overflow:hidden;flex:1;border-radius:4px}
.ig-carousel-track{display:flex;gap:20px;align-items:stretch;transition:transform .45s cubic-bezier(.25,.46,.45,.94);cursor:grab;user-select:none}
.ig-carousel-track.grabbing{cursor:grabbing;transition:none}
.ig-post-card{flex:0 0 calc(33.333% - 14px);background:#fff;border-radius:12px;border:1px solid rgba(0,0,0,.08);overflow:hidden;display:flex;flex-direction:column;transition:transform .35s cubic-bezier(.25,.46,.45,.94),box-shadow .35s ease}
.ig-post-card:hover{transform:translateY(-6px);box-shadow:0 16px 48px rgba(0,0,0,.12),0 2px 8px rgba(233,30,140,.08)}
.ig-post-card a{text-decoration:none;color:inherit;display:block}
.ig-post-header{display:flex;align-items:center;padding:12px 14px;gap:10px}
.ig-avatar{width:34px;height:34px;border-radius:50%;overflow:hidden;background:linear-gradient(135deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888);padding:2px;flex-shrink:0}
.ig-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover;background:#fff;border:2px solid #fff}
.ig-handle{flex:1;min-width:0}
.ig-handle strong{display:block;font-size:.82rem;color:#262626;line-height:1.2}
.ig-handle span{font-size:.72rem;color:#8e8e8e}
.ig-dots{color:#262626;cursor:pointer;margin-left:auto;flex-shrink:0}
.ig-post-image{aspect-ratio:1;overflow:hidden;background:#efefef;flex-shrink:0}
.ig-post-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.25,.46,.45,.94)}
.ig-post-card:hover .ig-post-image img{transform:scale(1.05)}
.ig-post-actions{display:flex;align-items:center;justify-content:space-between;padding:10px 14px 6px}
.ig-actions-left{display:flex;gap:14px}
.ig-actions-left svg,.ig-post-actions>svg{color:#262626;cursor:pointer;transition:color .2s,transform .2s}
.ig-actions-left svg:first-child:hover{color:#ed4956;transform:scale(1.15)}
.ig-post-likes{padding:0 14px 4px;font-size:.85rem;font-weight:600;color:#262626}
.ig-post-caption{padding:0 10px 12px 14px;font-size:.85rem;color:#262626;line-height:1.4;white-space:pre-wrap;word-break:break-word;max-height:100px;overflow-y:auto}
.ig-post-caption::-webkit-scrollbar{width:4px}
.ig-post-caption::-webkit-scrollbar-track{background:transparent}
.ig-post-caption::-webkit-scrollbar-thumb{background:rgba(0,0,0,.15);border-radius:4px}
.ig-post-caption strong{margin-right:4px}
.ig-carousel-btn{position:absolute;z-index:2;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.97);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 16px rgba(0,0,0,.12);transition:all .25s cubic-bezier(.25,.46,.45,.94);color:#262626;backdrop-filter:blur(8px)}
.ig-carousel-btn:hover{background:#fff;box-shadow:0 6px 24px rgba(0,0,0,.18);transform:scale(1.12)}
.ig-carousel-btn:disabled{opacity:0;pointer-events:none}
.ig-prev{left:-18px}
.ig-next{right:-18px}
.ig-carousel-dots{display:flex;justify-content:center;gap:8px;margin-top:var(--space-lg)}
.ig-carousel-dots .ig-dot{width:8px;height:8px;border-radius:50%;background:#d4d4d4;border:none;cursor:pointer;padding:0;transition:all .3s}
.ig-carousel-dots .ig-dot.active{background:var(--pink);transform:scale(1.3)}
.ig-follow-btn{display:inline-flex;align-items:center;gap:10px;margin-top:var(--space-xl);padding:14px 32px;background:linear-gradient(135deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888);color:#fff;font-weight:700;font-size:.95rem;border-radius:10px;text-decoration:none;transition:all .3s;box-shadow:0 4px 20px rgba(233,30,140,.25)}
.ig-follow-btn:hover{transform:translateY(-3px);box-shadow:0 8px 30px rgba(233,30,140,.35)}
.ig-section-header+*+*+.ig-follow-btn,.ig-section .ig-follow-btn{display:flex;justify-content:center;margin-left:auto;margin-right:auto;width:fit-content}

/* Skeleton loading */
@keyframes igShimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}
.ig-skeleton-card{flex:0 0 calc(33.333% - 14px);background:#fff;border-radius:12px;border:1px solid rgba(0,0,0,.06);overflow:hidden;pointer-events:none}
.ig-skel-header{display:flex;align-items:center;padding:12px 14px;gap:10px}
.ig-skel-avatar{width:34px;height:34px;border-radius:50%;background:linear-gradient(90deg,#eee 25%,#f5f5f5 50%,#eee 75%);background-size:200% 100%;animation:igShimmer 1.5s ease infinite}
.ig-skel-lines{flex:1}
.ig-skel-line{height:10px;border-radius:5px;background:linear-gradient(90deg,#eee 25%,#f5f5f5 50%,#eee 75%);background-size:200% 100%;animation:igShimmer 1.5s ease infinite;margin-bottom:6px}
.ig-skel-line.short{width:60%}
.ig-skel-image{aspect-ratio:1;background:linear-gradient(90deg,#eee 25%,#f5f5f5 50%,#eee 75%);background-size:200% 100%;animation:igShimmer 1.5s ease infinite}
.ig-skel-body{padding:12px 14px}

/* ===== RESPONSIVE ===== */
@media(max-width:1024px){.quote-wrapper{grid-template-columns:1fr}.about-grid{grid-template-columns:1fr}.review-slide{min-width:calc(50% - var(--space-lg))}}
@media(max-width:768px){
  :root{--space-3xl:4rem;--space-4xl:5rem}
  .hero{min-height:auto;padding:var(--space-4xl) 0}
  .hero-img-bg{background-position:left center}
  .hero-img-bg::after{background:linear-gradient(180deg,rgba(15,0,10,.50) 0%,rgba(15,0,10,.30) 30%,rgba(15,0,10,.45) 60%,rgba(15,0,10,.85) 100%)}
  .hero-content{background:none;backdrop-filter:none;-webkit-backdrop-filter:none;padding:var(--space-2xl) var(--space-md)}
  .hero h1{text-shadow:0 2px 20px rgba(0,0,0,.7),0 4px 40px rgba(0,0,0,.4)}
  .hero-subtitle{text-shadow:0 1px 12px rgba(0,0,0,.6)}
  .hero-description{text-shadow:0 1px 8px rgba(0,0,0,.5);color:rgba(255,255,255,.88)}
  .hero-badge-top{box-shadow:0 4px 20px rgba(0,0,0,.3)}
  .hero-balloons{display:none}
  .form-row{grid-template-columns:1fr}
  .service-grid,.steps-grid,.testimonials-grid,.transformations-grid{grid-template-columns:1fr}
  .pricing-wrapper{grid-template-columns:1fr}
  .footer-content{flex-direction:column;gap:var(--space-xl)}
  .chat-window{width:calc(100vw - 32px);right:16px}
  .hero-buttons{flex-direction:column;width:100%}
  .btn{width:100%;justify-content:center}
  .hero-trust{flex-direction:column;gap:var(--space-lg)}
  .about-features{grid-template-columns:1fr}
  .about-images{grid-template-columns:1fr}
  .about-images img:nth-child(2){margin-top:0}
  .about-img-main{grid-column:1;height:260px}
  .about-img-sm{height:200px}
  .review-slide{min-width:100%}
  .details-grid{grid-template-columns:1fr}
  /* VIP trigger mobile */
  .vip-trigger-section{padding:var(--space-2xl) 0 var(--space-lg)}
  .vip-trigger-section h2{font-size:clamp(2rem,8vw,3rem)}
  .btn-vip-open{width:100%;max-width:320px;justify-content:center}
  /* Reviews mobile */
  .reviews-swiper .swiper-slide{width:85vw}
  .reviews-swiper::before,.reviews-swiper::after{width:40px}
  /* Gems section mobile */
  .service-areas.balloon-sky{min-height:400px}
  .service-areas.balloon-sky h2{font-size:clamp(1.7rem,7vw,2.5rem)}
  /* Editorial mobile */
  .editorial-header h2{font-size:clamp(1.8rem,7vw,2.5rem)}
  /* About mobile */
  .about-section{padding:var(--space-3xl) 0}
  /* How it works mobile */
  .steps-grid{grid-template-columns:1fr;gap:var(--space-lg)}
  /* Services mobile */
  .service-grid{grid-template-columns:1fr 1fr;gap:var(--space-md)}
  /* FAQs mobile */
  .faqs{padding:var(--space-3xl) 0}
}
@media(max-width:480px){
  .container{padding:0 var(--space-md)}
  /* Service grid stays 2-col until very tiny */
  .service-grid{grid-template-columns:1fr}
  /* Editorial full-width on tiny screens - currently disabled for 2-column layout */
  /* .editorial-grid{grid-template-columns:1fr!important;gap:8px} */
  /* .e-cell:nth-child(n){height:220px!important} */
  /* Hero text */
  .hero-title{font-size:clamp(2.5rem,14vw,4rem)}
  /* Diva gems reduce size */
  .gem-chip{font-size:.7rem;padding:6px 10px}
  /* VIP modal full screen on tiny */
  .vip-modal{border-radius:12px;padding-bottom:env(safe-area-inset-bottom)}
  /* Ticker smaller */
  .brand-ticker-item{font-size:.7rem;padding:0 var(--space-md)}
}

/* ===== UTILITY ===== */
.text-center{text-align:center}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
