:root{--purple:#6724b9;--purple-2:#8d3bd1;--purple-dark:#21103f;--lav:#f8f2ff;--ink:#25163e;--muted:#6f6880}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:82px}body{font-family:Inter,sans-serif;color:var(--ink);background:#fff}.navbar{min-height:78px}.brand-logo{height:58px;width:auto}.nav-link{font-size:.9rem;font-weight:600;color:#342a46!important}.nav-link:hover{color:var(--purple)!important}.btn-purple{background:linear-gradient(135deg,var(--purple),var(--purple-2));border:0;color:#fff;font-weight:700;box-shadow:0 8px 20px rgba(103,36,185,.22)}.btn-purple:hover{color:#fff;transform:translateY(-1px)}.btn-outline-purple{border:2px solid #8b57ca;color:var(--purple);font-weight:700}.btn-outline-purple:hover{background:var(--purple);border-color:var(--purple);color:#fff}.text-purple{color:var(--purple)!important}.eyebrow{display:inline-block;font-size:.77rem;letter-spacing:.08em;color:#7132bf;font-weight:800}.hero-section{position:relative;overflow:hidden;padding:112px 0 58px;background:linear-gradient(180deg,#fff 0,#fff 70%,#fbf6ff 100%)}.hero-copy h1{font-size:clamp(3rem,5.4vw,5.5rem);line-height:.98;font-weight:800;letter-spacing:-.045em;margin:15px 0 22px}.script-text{display:block;font-family:'Playfair Display',serif;font-style:italic;font-weight:600;color:#6c26b9;font-size:1.05em;letter-spacing:-.02em}.hero-lead{font-size:1.04rem;line-height:1.8;color:#4f485c;max-width:650px}.hero-points{display:flex;flex-wrap:wrap;gap:18px;font-size:.86rem;font-weight:700;color:#4b4358}.hero-points i{color:var(--purple)}.hero-image-wrap{position:relative;min-height:510px;margin-right:-80px}.hero-image{width:100%;height:100%;min-height:510px;object-fit:cover;object-position:center;border-radius:0 0 0 48px;box-shadow:0 20px 55px rgba(78,39,105,.16)}.hero-wave{position:absolute;right:-5%;bottom:-45px;width:64%;height:145px;background:linear-gradient(180deg,#7130bc,#9b56d8);border-radius:50% 0 0 0;transform:skewY(3deg);opacity:.92}.section-padding{padding:82px 0}.section-heading{margin-bottom:42px}.section-heading h2,.about-content h2{font-size:clamp(2rem,3.3vw,3.05rem);font-weight:800;letter-spacing:-.025em;margin-top:8px}.section-heading h2:after{content:"";display:block;width:32px;height:3px;background:#8738c8;border-radius:999px;margin:12px auto 0}.service-card{height:100%;border:1px solid #ebe6ef;border-radius:12px;padding:24px 16px;text-align:center;background:#fff;box-shadow:0 5px 14px rgba(60,28,86,.04);transition:.2s}.service-card:hover{transform:translateY(-4px);box-shadow:0 14px 28px rgba(69,30,104,.1)}.service-icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;margin:0 auto 14px;background:linear-gradient(135deg,#6b2abb,#923bd3);color:#fff;font-size:1.2rem}.service-card h5{font-size:.96rem;font-weight:800}.service-card p{font-size:.78rem;line-height:1.55;color:#686174;margin:0}.frequency-banner{background:linear-gradient(90deg,#4d1388,#7d26bd 62%,#b97ce7);color:#fff;border-radius:12px;padding:26px 30px;overflow:hidden}.banner-icon{width:58px;height:58px;border:2px solid rgba(255,255,255,.7);border-radius:50%;display:grid;place-items:center;font-size:1.45rem}.estimate-box{background:rgba(255,255,255,.94);color:#28203b;border-radius:10px;padding:14px 20px;display:flex;gap:14px;align-items:center}.estimate-box i{font-size:2.4rem;color:#6c28b7}.estimate-box div{display:flex;flex-direction:column}.estimate-box span{font-size:.7rem;font-weight:700}.estimate-box strong{font-size:1.7rem;line-height:1}.estimate-box small{color:#6c6673}.banner-supplies{max-height:108px;border-radius:12px;object-fit:cover}.process-section{background:#fff}.process-step{position:relative}.process-icon{width:70px;height:70px;border-radius:50%;border:1px solid #ded7e7;display:grid;place-items:center;margin:0 auto 14px;color:#2c1749;font-size:1.65rem;background:#fff;box-shadow:0 5px 15px rgba(45,27,60,.07)}.step-number{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#6a27b8;color:#fff;font-size:.76rem;font-weight:800;margin:0 auto -14px;position:relative;z-index:2}.process-step h5{font-size:.95rem;font-weight:800}.process-step p{font-size:.8rem;color:#655d70;max-width:190px;margin:auto}.about-section{background:#fbf7ff}.about-image-col{min-height:360px}.about-image{width:100%;height:100%;object-fit:cover;object-position:center}.about-content{padding:56px 7vw 56px 6vw;background:linear-gradient(90deg,#fff 0,#fbf4ff 100%)}.feature{display:flex;gap:12px}.feature>i{font-size:1.2rem;color:#7130bf}.feature h6{font-size:.9rem;font-weight:800;margin-bottom:3px}.feature p{font-size:.78rem;color:#6b6376;margin:0}.stats-strip{background:linear-gradient(90deg,#4f148d,#7a27be);color:#fff}.stat-box{display:flex;align-items:center;justify-content:center;gap:13px}.stat-box>i{font-size:2rem}.stat-box div{display:flex;flex-direction:column;text-align:left}.stat-box strong{font-size:2rem;line-height:1}.stat-box span{font-size:.75rem;margin-top:4px}.testimonials-section{background:linear-gradient(180deg,#fbf7ff,#f7efff)}.testimonial-card{height:100%;position:relative;background:#fff;border:1px solid #eee6f5;border-radius:10px;padding:25px 24px;box-shadow:0 8px 22px rgba(70,32,101,.07)}.quote{font-size:2.5rem;line-height:.7;color:#7d37c1}.testimonial-card p{font-size:.82rem;line-height:1.65;color:#544c61}.testimonial-card strong{display:block;font-size:.85rem}.testimonial-card small{display:block;color:#756e7e}.stars{color:#ffb400;letter-spacing:2px;font-size:.8rem;margin-bottom:10px}.faq-wrap{max-width:880px}.accordion-item{border:1px solid #ece6f0;border-radius:12px!important;overflow:hidden;margin-bottom:12px}.accordion-button{font-weight:700}.accordion-button:not(.collapsed){background:#f2e7fd;color:#6524b5;box-shadow:none}.accordion-button:focus{box-shadow:none}.cta-section{background:linear-gradient(90deg,#4d1589,#7a2abf);color:#fff}.cta-section h2{font-weight:800}.contact-buttons{display:grid;gap:9px;max-width:350px;margin-left:auto}.contact-number{display:flex;align-items:center;justify-content:center;gap:12px;border:1px solid rgba(255,255,255,.72);border-radius:7px;padding:8px 16px;color:#fff;text-decoration:none;font-size:1.15rem;font-weight:700}.contact-number.primary{background:rgba(255,255,255,.1)}.contact-number:hover{color:#fff;background:rgba(255,255,255,.14)}.footer{background:#25113f;color:#d7cce2}.footer-logo{height:80px;max-width:220px;object-fit:contain;background:#fff;border-radius:8px;padding:4px}.footer h6{color:#fff;font-size:.78rem}.footer a{display:block;color:#d7cce2;text-decoration:none;font-size:.78rem;margin-bottom:8px}.footer a:hover{color:#fff}.footer p{font-size:.78rem}.footer hr{border-color:rgba(255,255,255,.15);margin:28px 0}
@media (min-width:992px){#servicesGrid .col-lg-4{width:20%}}
@media(max-width:991.98px){.hero-image-wrap{margin-right:0;min-height:420px}.hero-image{min-height:420px;border-radius:28px}.hero-wave{display:none}.hero-copy h1{font-size:3.8rem}.about-image-col{min-height:320px}.about-content{padding:50px 7vw}.contact-buttons{margin-left:0}.navbar-collapse{padding:15px 0;background:#fff}}
@media(max-width:575.98px){.brand-logo{height:48px}.hero-section{padding-top:96px}.hero-copy h1{font-size:2.8rem}.hero-image-wrap,.hero-image{min-height:310px}.section-padding{padding:62px 0}.frequency-banner{padding:24px 20px}.stat-box{align-items:flex-start}.stat-box strong{font-size:1.6rem}.about-image-col{min-height:260px}}

/* Responsive layout refinements */
:root{color-scheme:only light}
html,body{background-color:#fff}
body{overflow-x:hidden}
img{max-width:100%}
.brand-logo{max-width:min(240px,70vw);object-fit:contain}
.navbar-toggler{border-color:rgba(103,36,185,.25);padding:.4rem .55rem}
.navbar-toggler:focus{box-shadow:0 0 0 .2rem rgba(103,36,185,.14)}
.btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center}

@media (min-width:1200px){#servicesGrid .col-lg-4{width:20%}}
@media (min-width:992px) and (max-width:1199.98px){
  #servicesGrid .col-lg-4{width:33.333333%}
  .hero-copy h1{font-size:4.4rem}
  .hero-image-wrap{margin-right:-24px;min-height:470px}
  .hero-image{min-height:470px}
  .navbar .container{max-width:960px}
  .nav-link{font-size:.82rem}
  .navbar-nav{gap:0!important}
  .navbar .btn{font-size:.82rem;padding-inline:.75rem}
}
@media(max-width:991.98px){
  html{scroll-padding-top:72px}
  .navbar{min-height:70px}
  .hero-section{padding:104px 0 64px}
  .hero-copy{padding-bottom:1rem!important}
  .hero-image-wrap{margin-right:0;min-height:0;aspect-ratio:16/10}
  .hero-image{display:block;height:100%;min-height:0;border-radius:28px;object-position:center}
  .hero-copy h1{font-size:clamp(3.15rem,8vw,4.5rem);max-width:780px}
  .hero-lead{font-size:1rem}
  .about-image-col{min-height:clamp(320px,52vw,500px)}
  .about-content{padding:50px 7vw}
  .navbar-collapse{position:absolute;top:100%;left:0;right:0;padding:10px max(1.5rem,calc((100vw - 720px)/2)) 22px;background:#fff;border-top:1px solid #eee7f3;box-shadow:0 16px 28px rgba(42,20,65,.12);max-height:calc(100vh - 70px);overflow-y:auto}
  .navbar-nav .nav-link{padding:.65rem .25rem}
  .navbar-nav .btn{width:100%;margin-top:.5rem}
  .frequency-banner .fs-4{font-size:clamp(1.1rem,3vw,1.5rem)!important}
  .cta-section{text-align:center}
  .contact-buttons{max-width:440px;margin:0 auto}
  .cta-section .small{text-align:center!important}
}
@media(max-width:767.98px){
  .section-padding{padding:68px 0}
  .section-heading{margin-bottom:32px}
  .hero-section{padding-bottom:52px}
  .hero-copy h1{line-height:1.02;margin-bottom:18px}
  .hero-copy h1 br{display:block}
  .hero-copy .d-flex{display:grid!important;grid-template-columns:1fr 1fr;width:100%}
  .hero-copy .btn{font-size:.94rem;padding-inline:.9rem}
  .hero-points{gap:10px 16px}
  .frequency-banner{text-align:center}
  .frequency-banner .d-flex{justify-content:center}
  .estimate-box{max-width:360px;margin:0 auto;text-align:left}
  .about-content{padding:44px 24px}
  .stats-strip{padding-block:28px!important}
  .stat-box{flex-direction:column;gap:7px;align-items:center}
  .stat-box div{text-align:center}
  .testimonial-card{padding:24px}
  .footer{text-align:center}
  .footer-logo{margin-inline:auto}
  .footer .col-6{text-align:left}
  .footer a{min-height:32px;margin-bottom:2px}
  .footer p{max-width:520px;margin-inline:auto}
}
@media(max-width:575.98px){
  .container{--bs-gutter-x:2.25rem}
  .brand-logo{height:46px;max-width:205px}
  .hero-section{padding-top:88px}
  .hero-copy{padding-top:2rem!important}
  .hero-copy h1{font-size:clamp(2.55rem,13vw,3.35rem);letter-spacing:-.04em}
  .script-text{margin-top:.08em}
  .hero-lead{font-size:.96rem;line-height:1.65}
  .hero-copy .d-flex{grid-template-columns:1fr;gap:.75rem!important}
  .hero-copy .btn{width:100%}
  .hero-points{display:grid;grid-template-columns:1fr 1fr;font-size:.79rem}
  .hero-image-wrap{aspect-ratio:4/3}
  .hero-image{border-radius:20px}
  .section-padding{padding:56px 0}
  .section-heading h2,.about-content h2{font-size:clamp(1.8rem,9vw,2.35rem)}
  .service-card{padding:22px 18px}
  .frequency-banner{padding:24px 18px}
  .frequency-banner .d-flex{align-items:flex-start!important;text-align:left}
  .banner-icon{width:50px;height:50px;flex:0 0 50px}
  .estimate-box{padding:14px}
  .about-image-col{min-height:260px}
  .about-content{padding:38px 18px}
  .about-content .feature{gap:10px}
  .stat-box strong{font-size:1.6rem}
  .stat-box span{font-size:.7rem}
  .contact-number{font-size:1rem;padding-inline:10px}
  .footer .row{--bs-gutter-x:1.25rem}
  .footer .col-6{width:100%;text-align:center}
  .footer a{min-height:36px;display:flex;align-items:center;justify-content:center}
  .navbar-collapse{padding-inline:1.125rem}
}
@media(max-width:379.98px){
  .brand-logo{height:42px;max-width:175px}
  .hero-copy h1{font-size:2.35rem}
  .hero-points{grid-template-columns:1fr}
  .stat-box>i{font-size:1.55rem}
  .stat-box strong{font-size:1.4rem}
  .contact-number{font-size:.9rem}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}

/* Motion system: classes are added by app.js so content remains visible without JS. */
.navbar{transition:min-height .3s ease,box-shadow .3s ease,background-color .3s ease}
.navbar.navbar-scrolled{min-height:68px;box-shadow:0 10px 28px rgba(42,20,65,.11)!important}
.navbar.navbar-scrolled .brand-logo{height:50px}
.brand-logo{transition:height .3s ease}
.nav-link{position:relative}
@media(min-width:992px){
  .nav-link::after{content:"";position:absolute;left:.5rem;right:.5rem;bottom:.25rem;height:2px;border-radius:999px;background:var(--purple);transform:scaleX(0);transform-origin:center;transition:transform .25s ease}
  .nav-link:hover::after,.nav-link:focus-visible::after{transform:scaleX(1)}
}
.service-icon,.process-icon,.feature>i,.stat-box>i{transition:transform .3s cubic-bezier(.2,.75,.25,1.25)}
.service-card:hover .service-icon{transform:scale(1.1) rotate(-4deg)}
.process-step:hover .process-icon{transform:translateY(-4px) scale(1.05)}
.feature:hover>i,.stat-box:hover>i{transform:scale(1.12)}
.testimonial-card{transition:transform .3s ease,box-shadow .3s ease}
.testimonial-card:hover{transform:translateY(-6px);box-shadow:0 16px 34px rgba(70,32,101,.12)}
.contact-number{position:relative;overflow:hidden;transition:background-color .25s ease,transform .25s ease}
.contact-number:hover{transform:translateY(-2px)}
.contact-number.primary::after{content:"";position:absolute;inset:-50%;background:linear-gradient(110deg,transparent 38%,rgba(255,255,255,.32) 50%,transparent 62%);transform:translateX(-70%) rotate(8deg);animation:cta-shine 6s ease-in-out 2s infinite}
@keyframes cta-shine{0%,72%{transform:translateX(-70%) rotate(8deg)}88%,100%{transform:translateX(70%) rotate(8deg)}}

.motion-ready{opacity:0;transform:translate3d(0,28px,0);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.7,.2,1);transition-delay:var(--motion-delay,0ms);will-change:opacity,transform}
.motion-ready.motion-left{transform:translate3d(-38px,0,0)}
.motion-ready.motion-right{transform:translate3d(38px,0,0)}
.motion-ready.motion-scale{transform:scale(.94)}
.motion-ready.is-visible{opacity:1;transform:none;will-change:auto}
.hero-image-wrap.motion-ready{transition-duration:.85s}
.hero-image{transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.hero-image-wrap.is-visible .hero-image{transform:scale(1.015)}

@media(max-width:767.98px){
  .motion-ready{transform:translate3d(0,18px,0);transition-duration:.5s}
  .motion-ready.motion-left,.motion-ready.motion-right{transform:translate3d(0,18px,0)}
  .testimonial-card:hover,.contact-number:hover{transform:none}
}
@media(prefers-reduced-motion:reduce){
  .motion-ready,.motion-ready.motion-left,.motion-ready.motion-right,.motion-ready.motion-scale{opacity:1!important;transform:none!important;will-change:auto!important}
  .contact-number.primary::after{display:none}
}
