:root{--o:#E8792B;--k:#141414;--cream:#FBF6F0}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:Georgia,'Times New Roman',serif;color:var(--k);background:#fff}
.kick{font:700 13px Helvetica,Arial,sans-serif;letter-spacing:3px;color:var(--o);text-transform:uppercase}
.btn{display:inline-block;background:var(--o);color:#fff;font:700 17px Helvetica,Arial,sans-serif;padding:16px 32px;border-radius:40px;text-decoration:none;border:0}
.logo-img{height:auto;display:block}
.hero{position:relative;color:#fff;display:flex;align-items:center;background:#1a1a1a center/cover no-repeat;overflow:hidden}
.hero.desk{background-image:url(hero_bg_desktop.jpg);min-height:720px;padding:72px 6vw;gap:4vw;justify-content:space-between}
.hero.mob{background-image:url(hero_bg_mobile.jpg);min-height:100vh;padding:48px 28px 64px;flex-direction:column;justify-content:flex-end;align-items:stretch}
.hero:before{content:'';position:absolute;inset:0;pointer-events:none}
.hero.desk:before{background:linear-gradient(90deg,rgba(20,20,20,.78) 0%,rgba(20,20,20,.35) 42%,rgba(20,20,20,.05) 62%,transparent 100%)}
.hero.mob:before{background:linear-gradient(0deg,rgba(20,20,20,.88) 0%,rgba(20,20,20,.45) 45%,rgba(20,20,20,.15) 70%,transparent 100%)}
.hero>*{position:relative;z-index:1}
.hero-copy{max-width:560px}
.hero h1{font-size:clamp(36px,5vw,64px);line-height:1.05;margin:14px 0 16px;font-weight:700}
.hero p{font:400 18px/1.5 Helvetica,Arial,sans-serif;opacity:.92;max-width:480px;margin-bottom:26px}
.vid{border:3px dashed var(--o);border-radius:16px;background:rgba(0,0,0,.42);display:flex;align-items:center;justify-content:center;flex-direction:column;font:700 13px Helvetica,Arial,sans-serif;letter-spacing:2px;color:#fff;flex-shrink:0}
.play{width:64px;height:64px;border-radius:50%;background:var(--o);display:flex;align-items:center;justify-content:center;margin-bottom:10px;font-size:24px}
section{padding:80px 6vw}
h2{font-size:clamp(28px,3.4vw,40px);margin:10px 0 32px;font-weight:700}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.step{background:var(--cream);border-top:5px solid var(--o);border-radius:14px;padding:28px}
.num{width:46px;height:46px;border-radius:50%;background:var(--k);color:#fff;font:700 20px Helvetica,Arial,sans-serif;display:flex;align-items:center;justify-content:center;margin-bottom:14px}
.step h3,.svc h3{font-size:21px;margin-bottom:8px}.step p,.svc p{font:15px/1.5 Helvetica,Arial,sans-serif;color:#444}
.svcs{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
.svc{text-align:center;padding:24px 12px;border:1px solid #eee;border-radius:14px;background:#fff}
.svc svg{width:52px;height:52px;margin-bottom:10px}
.office{padding:0}
.office img{width:100%;height:min(560px,70vw);object-fit:cover;display:block}
.about-band{background:var(--cream);padding:64px 6vw 120px;text-align:center}
.about-band p{font:17px/1.6 Helvetica,Arial,sans-serif;max-width:720px;margin:0 auto 32px;color:#333}
.about-band .badges{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:8px}
.badge{display:inline-block;border:1px solid #ccc;border-radius:30px;padding:10px 18px;font:13px Helvetica,Arial,sans-serif;color:#333;background:#fff}
/* CTA: photo then dark content band with clear separation */
.cta{position:relative;color:#fff;text-align:center;padding:0;overflow:hidden;background:#111;margin-top:0}
.cta-bg{width:100%;height:auto;display:block;object-fit:contain;object-position:center bottom}
.cta-inner{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:88px 6vw 96px;background:#141414;gap:0}
.logo-banner{background:transparent;padding:24px 24px 48px;margin:0 0 28px;filter:drop-shadow(0 8px 24px rgba(0,0,0,.55))}
.logo-banner img{width:min(300px,68vw);height:auto}
.cta h2{color:#fff;margin:0 0 16px}
.cta .sub{font:18px Helvetica,Arial,sans-serif;opacity:.95;margin:0 0 12px}
.addr{font:600 16px Helvetica,Arial,sans-serif;letter-spacing:.3px;margin:0 0 36px;opacity:.95}
@media(max-width:780px){
  .hero.desk{display:none}.hero.mob{display:flex}
  section{padding:56px 5vw}
  .steps,.svcs{grid-template-columns:1fr}.svcs{grid-template-columns:1fr 1fr}
  .office img{height:360px}
  .about-band{padding:48px 5vw 96px}
  .cta-bg{width:100%;height:auto}
  .cta-inner{padding:64px 5vw 80px}
  .logo-banner{padding:16px 12px 40px;margin-bottom:24px}
}
@media(min-width:781px){.hero.mob{display:none}}
.steps{grid-template-columns:repeat(4,1fr)}
.faq{max-width:860px;margin:0 auto}
details{border-bottom:1px solid #e5e0d8;padding:20px 0}summary{font:700 19px Helvetica,Arial,sans-serif;cursor:pointer}
details p{font:17px/1.6 Helvetica,Arial,sans-serif;color:#444;margin-top:10px}
.office-line{background:#fff;color:var(--k);padding:96px 6vw 56px}.office-line h2{margin-bottom:14px}
.office-line p{font:18px/1.6 Helvetica,Arial,sans-serif;color:#444;max-width:640px;margin:0 auto}
.cta-bg{object-fit:contain;height:auto}
.logo-banner{padding:40px 48px;margin:0 0 40px}
.cta .sub{max-width:620px;line-height:1.6;margin:0 auto 16px}
footer{background:#0c0c0c;color:#bbb;text-align:center;font:14px/1.6 Helvetica,Arial,sans-serif;padding:28px 6vw}
@media(max-width:1100px) and (min-width:781px){.steps{grid-template-columns:1fr 1fr}}
@media(max-width:780px){.steps{grid-template-columns:1fr}.office-line{padding:64px 5vw 40px}.logo-banner{padding:28px 24px;margin-bottom:32px}}
.cta .office-line h2{color:var(--k)}
