
:root{--black:#0d0d0f;--charcoal:#202024;--gold:#d4af37;--cream:#faf8f5;--pink:#e91e63;--gray:#6b6b6f;--white:#fff;--shadow:0 18px 50px rgba(0,0,0,.15)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Montserrat,sans-serif;color:#242429;background:#fff;line-height:1.7}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.container{width:min(1180px,calc(100% - 40px));margin:auto}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:12px;top:12px;background:#fff;padding:10px;z-index:999}
.demo-bar{background:var(--pink);color:#fff;font-size:.86rem}.demo-bar-inner{min-height:40px;display:flex;align-items:center;justify-content:space-between;gap:20px}.demo-bar a{text-decoration:underline;font-weight:700}
.site-header{position:sticky;top:0;z-index:50;background:rgba(13,13,15,.97);box-shadow:0 8px 28px rgba(0,0,0,.22)}.nav-wrap{min-height:84px;display:flex;align-items:center;justify-content:space-between}.brand img{width:235px;max-height:64px;object-fit:contain}.primary-nav{display:flex;align-items:center;gap:25px;color:#fff}.primary-nav>a,.dropdown-toggle{font-weight:700;font-size:.91rem;background:none;border:0;color:#fff;cursor:pointer}.primary-nav a:hover,.primary-nav a.active,.dropdown-toggle:hover{color:var(--gold)}.nav-dropdown{position:relative}.dropdown-menu{position:absolute;top:calc(100% + 20px);left:0;width:255px;padding:12px;background:#141417;border-top:3px solid var(--pink);box-shadow:var(--shadow);display:none}.nav-dropdown:hover .dropdown-menu,.nav-dropdown.open .dropdown-menu{display:grid}.dropdown-menu a{padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.08);font-size:.86rem}.menu-toggle{display:none;background:var(--pink);border:0;color:#fff;padding:10px 14px;border-radius:4px;font-weight:800}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:var(--pink);color:#fff;padding:15px 24px;border-radius:4px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;box-shadow:0 8px 24px rgba(233,30,99,.25);border:2px solid var(--pink);transition:.2s}.btn:hover{transform:translateY(-2px);background:#c91450}.btn-outline{background:transparent;border-color:#fff}.btn-light{background:#fff;color:var(--black);border-color:#fff}.btn-small{padding:10px 15px;font-size:.76rem}
.primary-nav .btn-small{background:#c91450;border-color:#c91450;color:#fff}
.primary-nav .btn-small:hover{background:var(--pink);border-color:var(--pink);color:#fff}
.hero{position:relative;min-height:690px;display:grid;align-items:center;background-size:cover;background-position:center;color:#fff;isolation:isolate}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,5,7,.96) 0%,rgba(5,5,7,.82) 42%,rgba(5,5,7,.2) 72%,rgba(5,5,7,.05));z-index:-1}.hero-content{max-width:700px;padding:100px 0}.eyebrow{font-weight:800;text-transform:uppercase;letter-spacing:.18em;color:var(--gold);font-size:.78rem}.hero h1,.page-hero h1{font-family:"Playfair Display",serif;font-size:clamp(3rem,7vw,5.8rem);line-height:.98;margin:.15em 0 .28em}.hero h1 span,.page-hero h1 span{color:var(--pink)}.hero p{font-size:1.12rem;max-width:650px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.trust-row{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#353539}.trust-item{background:var(--black);color:#fff;padding:24px;text-align:center}.trust-item strong{display:block;color:var(--gold);font-size:1.05rem}.section{padding:95px 0}.section.alt{background:var(--cream)}.section.dark{background:var(--black);color:#fff}.section-heading{max-width:760px;margin-bottom:45px}.section-heading.center{text-align:center;margin-left:auto;margin-right:auto}.section h2,.content h2,.lightning-cta h2{font-family:"Playfair Display",serif;font-size:clamp(2.25rem,4vw,3.5rem);line-height:1.12;margin:.2em 0}.lead{font-size:1.12rem;color:#555}.dark .lead{color:#d5d5d8}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.service-card{background:#fff;box-shadow:var(--shadow);border-radius:6px;overflow:hidden;transition:.2s}.service-card:hover{transform:translateY(-7px)}.service-card img{height:180px;width:100%;object-fit:cover}.service-card-body{padding:24px}.service-card h3{font-family:"Playfair Display",serif;font-size:1.5rem;margin:0 0 8px}.text-link{color:var(--pink);font-weight:800}
.split{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.split img{border-radius:6px;box-shadow:var(--shadow);width:100%;height:520px;object-fit:cover}.check-list{display:grid;gap:13px;padding:0;list-style:none}.check-list li:before{content:"✓";color:var(--pink);font-weight:900;margin-right:12px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.stat{background:#fff;color:#222;padding:28px;text-align:center;border-bottom:4px solid var(--pink)}.stat strong{font-family:"Playfair Display",serif;color:var(--gold);font-size:2.25rem;display:block}
.process{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.step{padding:32px;background:#fff;box-shadow:var(--shadow);border-top:4px solid var(--gold)}.step-num{font-size:2rem;font-weight:900;color:var(--pink)}
.step h3{color:var(--black)}
.step p{color:var(--gray)}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.gallery img{width:100%;height:260px;object-fit:cover;border-radius:4px}
.testimonials{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.quote{background:#fff;color:#222;padding:30px;box-shadow:var(--shadow)}.stars{color:var(--gold);letter-spacing:.1em}
.page-hero{position:relative;min-height:470px;display:grid;align-items:end;background-size:cover;background-position:center;color:#fff;isolation:isolate}.page-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.92),rgba(0,0,0,.35));z-index:-1}.page-hero-content{padding:90px 0 60px;max-width:780px}.page-hero h1{font-size:clamp(2.8rem,6vw,4.7rem)}
.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:60px}.content h3{font-family:"Playfair Display",serif;font-size:1.7rem}.sidebar-card{background:var(--black);color:#fff;padding:30px;position:sticky;top:120px}.sidebar-card h3{color:var(--gold)}.sidebar-card a{display:block;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.12)}.sidebar-card a:hover{color:var(--gold)}
.faq-list{display:grid;gap:14px}.faq-item{border:1px solid #ddd;background:#fff}.faq-question{width:100%;text-align:left;padding:20px;background:none;border:0;font-weight:800;display:flex;justify-content:space-between}.faq-answer{display:none;padding:0 20px 20px}.faq-item.open .faq-answer{display:block}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px}.demo-form{display:grid;gap:15px;background:#fff;padding:30px;box-shadow:var(--shadow)}.demo-form label{font-weight:700}.demo-form input,.demo-form textarea,.demo-form select{width:100%;padding:13px;border:1px solid #cfcfd4}.notice{background:#fff3f7;border-left:5px solid var(--pink);padding:18px}
.lightning-cta{background:linear-gradient(135deg,var(--pink),#a60d42);color:#fff;padding:70px 0}.cta-grid{display:grid;grid-template-columns:1fr auto;align-items:center;gap:40px}.lightning-cta .eyebrow{color:#fff}.site-footer{background:#08080a;color:#d4d4d7;padding:70px 0 25px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.2fr;gap:45px}.footer-logo{width:250px;margin-bottom:18px}.site-footer h3{color:#fff}.site-footer a{display:block;padding:5px 0}.site-footer a:hover{color:var(--gold)}.demo-note{font-size:.84rem;color:#9c9ca0}.footer-bottom{border-top:1px solid #29292d;margin-top:45px;padding-top:22px;display:flex;justify-content:space-between;font-size:.84rem}
@media(max-width:980px){.menu-toggle{display:block}.primary-nav{position:absolute;top:100%;left:0;right:0;background:#111116;padding:20px;display:none;flex-direction:column;align-items:stretch;gap:8px}.primary-nav.open{display:flex}.nav-dropdown{width:100%}.dropdown-menu{position:static;width:100%;box-shadow:none;margin-top:8px}.service-grid{grid-template-columns:repeat(2,1fr)}.split,.content-grid,.contact-grid,.cta-grid{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}.process,.testimonials{grid-template-columns:1fr}.sidebar-card{position:static}.footer-grid{grid-template-columns:1fr 1fr}.hero{min-height:610px}.hero:before{background:rgba(5,5,7,.78)}}
@media(max-width:650px){.container{width:min(100% - 28px,1180px)}.demo-bar-inner{padding:8px 0;display:block;text-align:center}.brand img{width:190px}.hero-content{padding:75px 0}.hero h1{font-size:3.2rem}.trust-row,.service-grid,.stats,.gallery,.footer-grid{grid-template-columns:1fr}.gallery img{height:230px}.split img{height:360px}.footer-bottom{display:block}.page-hero{min-height:400px}}

/* Requested final corrections */
.brand img{
  width:285px;
  max-height:72px;
  object-fit:contain;
  object-position:left center;
}

.footer-logo{
  width:300px;
  max-height:110px;
  object-fit:contain;
  object-position:left center;
  margin-bottom:18px;
}

/* Keep process-card copy dark and readable on white cards */
.dark .process .step h3{
  color:var(--black);
}

.dark .process .step p{
  color:var(--gray);
}

/* Make the primary header CTA stand out */
.primary-nav .btn-small{
  background:var(--pink);
  border-color:var(--pink);
  color:#fff;
  box-shadow:0 8px 24px rgba(233,30,99,.42);
}

.primary-nav .btn-small:hover,
.primary-nav .btn-small:focus{
  background:#c91450;
  border-color:#c91450;
  color:#fff;
  transform:translateY(-2px);
}

/* Service-page sidebar link hover */
.sidebar-card a{
  transition:color .2s ease;
}

.sidebar-card a:hover,
.sidebar-card a:focus{
  color:var(--gold);
}



/* Final logo background match */
.brand img{
  width:285px;
  height:auto;
  max-height:72px;
  object-fit:contain;
  display:block;
}

.footer-logo{
  width:300px;
  height:auto;
  max-height:110px;
  object-fit:contain;
  display:block;
}


/* Horizontal logo and exact background-color alignment */
.site-header{
  background:#000000;
}

.site-footer{
  background:#000000;
}

.brand{
  display:flex;
  align-items:center;
  flex:0 0 auto;
}

.brand img{
  width:390px;
  max-width:39vw;
  height:auto;
  max-height:86px;
  object-fit:contain;
  display:block;
}

.footer-logo{
  width:425px;
  max-width:100%;
  height:auto;
  max-height:116px;
  object-fit:contain;
  display:block;
}

@media(max-width:980px){
  .brand img{
    width:330px;
    max-width:58vw;
  }
}

@media(max-width:650px){
  .brand img{
    width:245px;
    max-width:68vw;
    max-height:70px;
  }
}


/* Final homepage hero clarity fix */
.hero{
  background-repeat:no-repeat;
  background-position:center center;
  background-size:cover;
}
