:root {
    --purple: #7B2FBE;
    --purple-mid: #9B4FD8;
    --purple-light: #C9A0F0;
    --purple-dark: #4C1D95;
    --blue: #3AAFE8;
    --blue-light: #80CFEE;
    --blue-dark: #1A7AB5;
    --pink: #D63FAB;
    --pink-light: #E880CE;
    --dark: #130D2A;
    --dark-mid: #1E1244;
    --cream: #F7F3FF;
    --gray-light: #EEE8FF;
    --gray-mid: #8B8A9B;
    --gray-dark: #3D3A52;
    --white: #ffffff;
    --text: #1A1635;
    --grad: linear-gradient(90deg, #3AAFE8, #7B2FBE, #D63FAB);
    --grad-135: linear-gradient(135deg, #3AAFE8, #7B2FBE, #D63FAB);
    --radius: 10px;
    --shadow: 0 4px 24px rgba(123, 47, 190, 0.12);
    --shadow-lg: 0 8px 40px rgba(123, 47, 190, 0.20);
    --trans: all .22s ease;
}

*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: smooth;
    font-size: 16px;
}

body {
    font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;
    color: var(--text);
    background: var(--white);
    overflow-x: hidden;
}

img {
    max-width: 100%;
    display: block;
}

a {
    text-decoration: none;
    color: inherit;
}



/* ── UTILS ── */
.container {
    max-width: 1160px;
    margin: 0 auto;
    padding: 0 20px;
}

.section-label {
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--purple);
    margin-bottom: 10px;
}

.section-title {
    font-size: clamp(1.7rem, 4vw, 2.6rem);
    font-weight: 800;
    line-height: 1.18;
    color: var(--dark);
}

.section-title.light {
    color: var(--white);
}

.section-sub {
    font-size: 1.05rem;
    color: var(--gray-dark);
    line-height: 1.7;
    margin-top: 14px;
    max-width: 560px;
}

.section-sub.light {
    color: rgba(255, 255, 255, .78);
}

.btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 15px 30px;
    border-radius: 6px;
    font-size: 1rem;
    font-weight: 700;
    cursor: pointer;
    border: none;
    transition: var(--trans);
    white-space: nowrap;
}

.btn-primary {
    background: linear-gradient(135deg, var(--purple), var(--purple-mid));
    color: var(--white);
}

.btn-primary:hover {
    background: linear-gradient(135deg, var(--purple-mid), var(--purple));
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(124, 58, 237, .4);
}

.btn-secondary {
    background: transparent;
    color: var(--white);
    border: 2px solid rgba(255, 255, 255, .6);
}

.btn-secondary:hover {
    background: rgba(255, 255, 255, .12);
    border-color: var(--white);
}

.btn-dark {
    background: var(--dark);
    color: var(--white);
}

.btn-dark:hover {
    background: var(--dark-mid);
    transform: translateY(-2px);
}

.btn-blue {
    background: linear-gradient(135deg, var(--blue-dark), var(--blue));
    color: var(--white);
}

.btn-blue:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(56, 189, 248, .4);
}

.star {
    color: var(--blue);
    font-size: 1rem;
}

section {
    padding: 80px 0;
}

 /* ── FORM ── */
  #contact{background:var(--cream);}
  .form-wrapper{display:grid;gap:48px;align-items:start;}
  @media(min-width:900px){.form-wrapper{grid-template-columns:1fr 1.15fr;}}
  .form-info h2{margin-bottom:14px;}
  .form-info .section-sub{max-width:420px;}
  .form-bullets{margin-top:28px;display:flex;flex-direction:column;gap:12px;}
  .form-bullet{display:flex;align-items:flex-start;gap:12px;font-size:.95rem;color:var(--gray-dark);}
  .form-bullet-icon{width:28px;height:28px;border-radius:6px;background:linear-gradient(135deg,var(--purple),var(--blue));display:flex;align-items:center;justify-content:center;font-size:.9rem;flex-shrink:0;margin-top:1px;}
  .contact-form{background:var(--white);border-radius:16px;padding:36px;box-shadow:var(--shadow-lg);}
  .contact-form h3{font-size:1.25rem;font-weight:800;color:var(--dark);margin-bottom:6px;}
  .contact-form p{font-size:.88rem;color:var(--gray-mid);margin-bottom:28px;}
  .form-row{display:grid;gap:16px;}
  @media(min-width:580px){.form-row.two{grid-template-columns:1fr 1fr;}}
  .form-group{display:flex;flex-direction:column;gap:7px;margin-bottom:16px;}
  .form-group label{font-size:.82rem;font-weight:700;color:var(--dark);letter-spacing:.03em;}
  .form-group input,.form-group select,.form-group textarea{padding:13px 16px;border:2px solid #E0D9F7;border-radius:8px;font-size:.95rem;font-family:inherit;color:var(--text);background:var(--white);transition:var(--trans);outline:none;}
  .form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--purple);box-shadow:0 0 0 3px rgba(124,58,237,.12);}
  .form-group textarea{resize:vertical;min-height:100px;}
  .form-group select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%237C3AED' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;}
  .file-label{display:flex;align-items:center;gap:10px;padding:13px 16px;border:2px dashed #C4B5FD;border-radius:8px;cursor:pointer;font-size:.88rem;color:var(--gray-mid);transition:var(--trans);}
  .file-label:hover{border-color:var(--purple);color:var(--purple);}
  #file-input{display:none;}
  .form-submit{width:100%;padding:17px;font-size:1.05rem;justify-content:center;}
  .form-note{text-align:center;font-size:.78rem;color:var(--gray-mid);margin-top:12px;}



  /* ── NAV ── */
  nav{position:fixed;top:0;left:0;right:0;z-index:999;background:rgba(22,13,51,.97);backdrop-filter:blur(12px);border-bottom:1px solid rgba(196,181,253,.1);}
  .nav-inner{display:flex;align-items:center;justify-content:space-between;height:66px;}
  .logo{font-size:1.15rem;font-weight:900;color:var(--white);letter-spacing:-.01em;display:flex;align-items:center;gap:10px;}
  .logo-text{background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-size:1.2rem;font-weight:900;}
  .logo .accent{color:var(--blue-light);}
  .nav-phone{display:flex;align-items:center;gap:8px;color:var(--white);font-weight:700;font-size:1.05rem;}
  .nav-phone svg{color:var(--blue);}
  .nav-cta{display:none;}
  @media(min-width:640px){.nav-cta{display:inline-flex;padding:10px 22px;font-size:.9rem;}}

  /* ── FOOTER ── */
  footer{background:var(--dark);padding:48px 0 24px;}
  .footer-grid{display:grid;gap:36px;margin-bottom:40px;}
  @media(min-width:768px){.footer-grid{grid-template-columns:2fr 1fr 1fr;}}
  .footer-brand p{font-size:.88rem;color:rgba(255,255,255,.55);line-height:1.65;max-width:280px;margin-top:12px;}
  .footer-col h4{color:var(--white);font-size:.9rem;font-weight:800;margin-bottom:14px;letter-spacing:.04em;}
  .footer-col ul{list-style:none;display:flex;flex-direction:column;gap:8px;}
  .footer-col ul li a{color:rgba(255,255,255,.55);font-size:.88rem;transition:var(--trans);}
  .footer-col ul li a:hover{color:var(--blue-light);}
  .service-areas{color:rgba(255,255,255,.55);font-size:.82rem;line-height:1.7;}
  .footer-bottom{border-top:1px solid rgba(196,181,253,.1);padding-top:20px;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center;}
  .footer-bottom p{color:rgba(255,255,255,.35);font-size:.8rem;}


    /* ── HERO ── */
  #hero{position:relative;min-height:100vh;display:flex;align-items:center;padding-top:66px;overflow:hidden;}
  .hero-bg{position:absolute;inset:0;z-index:0;background:linear-gradient(145deg,#0d0820 0%,#1a0e40 40%,#0c1f3a 100%);}
  .hero-orb1{position:absolute;top:-100px;right:-80px;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(124,58,237,.35) 0%,transparent 70%);pointer-events:none;}
  .hero-orb2{position:absolute;bottom:-80px;left:-60px;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(56,189,248,.2) 0%,transparent 70%);pointer-events:none;}
  .hero-grid{position:absolute;inset:0;background-image:repeating-linear-gradient(0deg,transparent,transparent 59px,rgba(196,181,253,.03) 60px),repeating-linear-gradient(90deg,transparent,transparent 59px,rgba(196,181,253,.03) 60px);}
  .hero-content{position:relative;z-index:2;padding:60px 0 80px;}
  .hero-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(124,58,237,.18);border:1px solid rgba(196,181,253,.3);color:var(--purple-light);font-size:.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:7px 16px;border-radius:30px;margin-bottom:24px;}
  h1{font-size:clamp(2.1rem,6vw,3.8rem);font-weight:900;color:var(--white);line-height:1.1;letter-spacing:-.02em;margin-bottom:20px;max-width:780px;}
  h1 .accent{background:linear-gradient(90deg,var(--purple-light),var(--blue-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
  .hero-sub{font-size:clamp(1rem,2.5vw,1.2rem);color:rgba(255,255,255,.8);line-height:1.65;max-width:580px;margin-bottom:36px;}
  .hero-btns{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:40px;}
  .trust-row{display:flex;flex-wrap:wrap;gap:20px;padding-top:12px;border-top:1px solid rgba(196,181,253,.15);}
  .trust-item{display:flex;align-items:center;gap:8px;color:rgba(255,255,255,.85);font-size:.88rem;font-weight:600;}
  .trust-icon{width:32px;height:32px;border-radius:50%;background:rgba(124,58,237,.25);border:1px solid rgba(196,181,253,.2);display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0;}

   /* ── SERVICES ── */
  #services{background:var(--cream);}
  .services-intro{text-align:center;margin-bottom:60px;}
  .services-intro .section-sub{margin:14px auto 0;}
  .services-grid{display:grid;gap:32px;}
  @media(min-width:900px){.services-grid{grid-template-columns:1fr 1fr;}}
  .service-card{background:var(--white);border-radius:16px;overflow:hidden;box-shadow:var(--shadow);transition:var(--trans);}
  .service-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px);}
  .service-card-top{height:220px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;}
  .flooring-bg{background:linear-gradient(145deg,var(--dark),var(--dark-mid));}
  .painting-bg{background:linear-gradient(145deg,#0c1f3a,var(--blue-dark));}
  .service-card-body{padding:32px;}
  .service-card-body h2{font-size:1.55rem;font-weight:800;color:var(--dark);margin-bottom:10px;}
  .service-copy{color:var(--gray-dark);line-height:1.65;margin-bottom:24px;font-size:.97rem;}
  .service-list{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;margin-bottom:28px;}
  .service-list li{display:flex;align-items:center;gap:8px;font-size:.9rem;font-weight:600;color:var(--dark);}
  .service-list li::before{content:"✓";color:var(--purple);font-weight:900;font-size:.85rem;}

    /* ── BEFORE/AFTER ── */
  #transformations{background:var(--white);}
  .ba-intro{text-align:center;margin-bottom:50px;}
  .ba-intro .section-sub{margin:14px auto 0;}
  .ba-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
  @media(min-width:768px){.ba-grid{grid-template-columns:repeat(4,1fr);}}
  .ba-card{border-radius:12px; overflow:hidden;}
  .ba-split{display:grid;grid-template-columns:1fr 1fr;height:220px;overflow:hidden;}
  .ba-half{display:flex;align-items:center;justify-content:center;position:relative;}
  .ba-half-label{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);background:rgba(0,0,0,.6);color:#fff;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:4px 10px;border-radius:20px;}
  .ba-caption{padding:12px 14px;background:var(--dark);color:var(--white);font-size:.82rem;font-weight:600;line-height:1.35;}
  .ba-caption small{color:var(--blue-light);font-size:.75rem;display:block;margin-top:3px;}

    /* ── WHY US ── */
  #why{background:var(--cream);}
  .why-inner{display:grid;gap:48px;align-items:center;}
  @media(min-width:900px){.why-inner{grid-template-columns:1fr 1fr;}}
  .why-headline{margin-bottom:30px;}
  .why-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
  .why-card{background:var(--white);border-radius:12px;padding:24px;box-shadow:var(--shadow);transition:var(--trans);}
  .why-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px);}
  .why-icon{width:48px;height:48px;border-radius:10px;background:linear-gradient(135deg,var(--purple),var(--blue));display:flex;align-items:center;justify-content:center;font-size:1.4rem;margin-bottom:14px;}
  .why-card h3{font-size:1rem;font-weight:800;color:var(--dark);margin-bottom:6px;}
  .why-card p{font-size:.85rem;color:var(--gray-dark);line-height:1.6;}
  .why-visual{border-radius:16px;overflow:hidden;box-shadow:var(--shadow-lg);position:relative;height:420px;background:linear-gradient(145deg,var(--dark),var(--dark-mid));display:flex;align-items:center;justify-content:center;font-size:5rem;}
  .why-stats{position:absolute;bottom:0;left:0;right:0;display:grid;grid-template-columns:1fr 1fr 1fr;background:linear-gradient(135deg,rgba(124,58,237,.92),rgba(56,189,248,.85));backdrop-filter:blur(6px);}
  .stat{padding:18px 12px;text-align:center;}
  .stat-num{font-size:1.7rem;font-weight:900;color:var(--white);line-height:1;}
  .stat-lbl{font-size:.72rem;color:rgba(255,255,255,.85);margin-top:4px;font-weight:600;}

    /* ── REVIEWS ── */
  #reviews{background:linear-gradient(145deg,var(--dark) 0%,var(--dark-mid) 100%);overflow:hidden;position:relative;}
  #reviews::before{content:"";position:absolute;top:-80px;right:-80px;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(56,189,248,.08) 0%,transparent 70%);}
  #reviews::after{content:"";position:absolute;bottom:-60px;left:-60px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(124,58,237,.1) 0%,transparent 70%);}
  .reviews-intro{text-align:center;margin-bottom:50px;position:relative;z-index:1;}
  .reviews-grid{display:grid;gap:20px;position:relative;z-index:1;}
  @media(min-width:768px){.reviews-grid{grid-template-columns:repeat(3,1fr);}}
  .review-card{background:rgba(255,255,255,.06);border:1px solid rgba(196,181,253,.15);border-radius:14px;padding:28px;transition:var(--trans);}
  .review-card:hover{background:rgba(255,255,255,.1);transform:translateY(-3px);border-color:rgba(196,181,253,.3);}
  .review-stars{margin-bottom:14px;color:var(--blue-light);font-size:1.1rem;}
  .review-text{color:rgba(255,255,255,.85);font-size:.95rem;line-height:1.65;margin-bottom:20px;font-style:italic;}
  .reviewer{display:flex;align-items:center;gap:12px;}
  .reviewer-avatar{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,var(--purple),var(--blue));display:flex;align-items:center;justify-content:center;font-weight:900;color:var(--white);font-size:1rem;flex-shrink:0;}
  .reviewer-name{font-weight:700;color:var(--white);font-size:.95rem;}
  .reviewer-tag{font-size:.78rem;color:var(--blue-light);}
  .reviews-footer{text-align:center;margin-top:36px;position:relative;z-index:1;}
  .google-badge{display:inline-flex;align-items:center;gap:10px;background:rgba(255,255,255,.08);border:1px solid rgba(196,181,253,.2);border-radius:8px;padding:10px 18px;}
  .google-badge span{color:rgba(255,255,255,.8);font-size:.85rem;font-weight:600;}

  /* ── PROCESS ── */
  #process{background:var(--white);}
  .process-intro{text-align:center;margin-bottom:56px;}
  .process-steps{display:grid;gap:0;}
  @media(min-width:768px){.process-steps{grid-template-columns:repeat(3,1fr);}}
  .step{text-align:center;padding:0 24px;position:relative;}
  .step::after{content:"";position:absolute;top:44px;right:-16px;width:32px;height:2px;background:linear-gradient(90deg,var(--purple),var(--blue));display:none;}
  @media(min-width:768px){.step:not(:last-child)::after{display:block;}}
  .step-num{width:88px;height:88px;border-radius:50%;background:linear-gradient(135deg,var(--dark),var(--dark-mid));border:3px solid var(--purple);display:flex;align-items:center;justify-content:center;font-size:1.8rem;font-weight:900;color:var(--purple-light);margin:0 auto 20px;position:relative;z-index:1;box-shadow:0 0 0 6px rgba(124,58,237,.1);}
  .step h3{font-size:1.1rem;font-weight:800;color:var(--dark);margin-bottom:8px;}
  .step p{font-size:.9rem;color:var(--gray-dark);line-height:1.6;max-width:220px;margin:0 auto;}
  .step-mobile-arrow{text-align:center;font-size:1.5rem;color:var(--purple);padding:10px 0;display:block;}
  @media(min-width:768px){.step-mobile-arrow{display:none;}}

  /* ── FINAL CTA ── */
  #cta-final{background:linear-gradient(135deg,var(--dark) 0%,var(--dark-mid) 60%,#0c2040 100%);position:relative;overflow:hidden;}
  #cta-final::before{content:"";position:absolute;top:-80px;right:-80px;width:450px;height:450px;border-radius:50%;background:radial-gradient(circle,rgba(124,58,237,.15) 0%,transparent 70%);}
  #cta-final::after{content:"";position:absolute;bottom:-60px;left:-60px;width:350px;height:350px;border-radius:50%;background:radial-gradient(circle,rgba(56,189,248,.1) 0%,transparent 70%);}
  .cta-final-inner{position:relative;z-index:2;text-align:center;}
  .cta-final-inner h2{font-size:clamp(1.6rem,4vw,2.6rem);font-weight:900;color:var(--white);margin-bottom:16px;line-height:1.2;}
  .cta-final-inner p{color:rgba(255,255,255,.75);font-size:1.05rem;margin-bottom:36px;}
  .cta-final-btns{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;margin-bottom:24px;}
  .cta-phone-big{font-size:1.6rem;font-weight:900;color:var(--blue-light);display:flex;align-items:center;gap:10px;justify-content:center;margin-bottom:16px;}
  .urgency{display:inline-flex;align-items:center;gap:8px;background:rgba(124,58,237,.2);border:1px solid rgba(196,181,253,.3);color:var(--purple-light);font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:7px 18px;border-radius:30px;}
  .urgency-dot{width:7px;height:7px;border-radius:50%;background:var(--blue);animation:pulse 1.5s infinite;}
  @keyframes pulse{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.5;transform:scale(1.4);}}