:root{--ink:#17201B;--accent:#F5B800;--bg:#F2F3EF;--muted:#55605A;--soft:#C9D0CA;--paper:#FFFFFF}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:'Barlow',system-ui,sans-serif;color:var(--ink);background:var(--bg);line-height:1.4;-webkit-text-size-adjust:100%}
h1,h2,.display{font-family:'Barlow Condensed',sans-serif;font-weight:700;text-transform:uppercase;margin:0}
a{color:inherit}
:focus-visible{outline:3px solid #2B7BD6;outline-offset:2px}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}
.center{text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px}
.lede{margin:0;font-size:19px;line-height:1.5;color:var(--muted);max-width:620px}
.lede.light{color:var(--soft)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:60px;padding:0 34px;border-radius:8px;font-family:inherit;font-weight:600;font-size:20px;text-decoration:none;cursor:pointer;border:0}
.btn:hover{filter:brightness(.93)}
.btn-accent{background:var(--accent);color:var(--ink)}
.btn-dark{background:var(--ink);color:#F2F3EF}
.btn-sm{min-height:48px;padding:0 22px;font-size:18px}

/* nav */
.nav{background:var(--ink);color:#F2F3EF}
.nav-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding-top:14px;padding-bottom:14px}
.brand{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:26px;letter-spacing:.04em;text-transform:uppercase}

/* hero */
.hero{background:var(--ink);color:#F2F3EF;text-align:center;padding:48px 24px 44px}
.hero h1{max-width:860px;margin:0 auto;font-size:clamp(40px,5.5vw,68px);line-height:.98}

/* video */
.video{max-width:800px;margin:0 auto;padding:8px 24px 56px}
.video video{display:block;width:100%;aspect-ratio:16/9;border-radius:12px;background:var(--ink);object-fit:cover}

/* reviews */
.reviews{background:var(--ink);color:#F2F3EF;padding:56px 0 72px}
.reviews .center{margin-bottom:40px}
h2{font-size:clamp(36px,5vw,56px);line-height:1}
.marquee{overflow:hidden;width:100%}
.track{display:flex;width:max-content;animation:scrollx 60s linear infinite}
.marquee:hover .track{animation-play-state:paused}
@keyframes scrollx{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.rcard{flex:0 0 360px;margin-right:20px;background:var(--paper);color:var(--ink);border-radius:12px;padding:28px;display:flex;flex-direction:column;gap:16px;white-space:normal}
.rcard .stars{display:flex;gap:4px}
.rcard p{margin:0;font-size:18px;line-height:1.5}
.rcard .who{font-weight:600;font-size:16px}
@media (max-width:480px){.rcard{flex-basis:290px;padding:22px}.rcard p{font-size:17px}}
@media (prefers-reduced-motion:reduce){.marquee{overflow-x:auto}.track{animation:none}}

/* services */
.services{padding:72px 0 88px}
.services .center{margin-bottom:40px}
.cards{display:flex;flex-wrap:wrap;justify-content:center;gap:20px;max-width:960px;margin:0 auto}
.card{flex:0 0 calc((100% - 40px)/3);min-width:0;background:var(--paper);border-radius:12px;overflow:hidden;display:flex;flex-direction:column}
.card img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}
.card-body{padding:20px;display:flex;flex-direction:column;gap:14px}
.card-name{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:28px;line-height:1.05;text-transform:uppercase}
.card .btn{min-height:48px;font-size:17px;padding:0 16px}
@media (max-width:600px){.card{flex:0 0 calc(50% - 10px);max-width:none}.card-name{font-size:22px}.card-body{padding:14px}}

/* quote */
.quote{background:var(--accent);color:var(--ink);padding:88px 0}
.quote-inner{display:flex;flex-wrap:wrap;align-items:center;gap:48px}
.quote-copy{flex:1 1 400px;min-width:0;display:flex;flex-direction:column;gap:24px}
.quote-copy h2{font-size:clamp(44px,6vw,76px);line-height:.98}
.quote-copy p{margin:0;font-size:21px;line-height:1.5;max-width:520px}
.form-card{flex:1 1 360px;max-width:460px;min-width:0;background:var(--paper);border-radius:12px;padding:32px;display:flex;flex-direction:column;gap:18px}
.form-title{font-size:34px;line-height:1.05}
.form-sub{font-size:16px;color:var(--muted);margin-top:6px}
.fine{margin:0;font-size:13px;line-height:1.45;color:var(--muted)}

/* footer */
.footer{background:var(--ink);color:var(--soft);font-size:15px;line-height:1.6}
.footer-inner{display:flex;flex-wrap:wrap;justify-content:space-between;gap:24px;padding-top:40px;padding-bottom:40px}
.footer-brand{font-size:22px;letter-spacing:.04em;color:#F2F3EF}
.footer-right{max-width:420px;display:flex;flex-direction:column;gap:4px}
.footer a{color:#F2F3EF}

/* sticky mobile call bar */
.callbar{display:none}
@media (max-width:700px){
  .callbar{display:flex;position:fixed;left:0;right:0;bottom:0;padding:10px 16px;background:var(--ink);z-index:50}
  .callbar .btn{width:100%}
  body{padding-bottom:80px}
  .form-card{padding:24px}
}

/* thank-you page */
.thanks{background:var(--ink);color:#F2F3EF;min-height:70vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:64px 24px}
.thanks-inner{max-width:640px;display:flex;flex-direction:column;align-items:center;gap:24px}
.thanks h1{font-size:clamp(44px,7vw,80px);line-height:.98}
.thanks p{margin:0;font-size:21px;line-height:1.5;color:var(--soft)}
.thanks .back{font-size:17px}

/* lead form */
.lead-form{display:flex;flex-direction:column;gap:14px}
.field{display:flex;flex-direction:column;gap:6px}
.field label{font-weight:600;font-size:15px}
.field .opt{font-weight:400;color:var(--muted)}
.field input,.field select,.field textarea{width:100%;min-height:50px;padding:0 14px;font:inherit;font-size:17px;border:1.5px solid #9AA39C;border-radius:8px;background:#fff;color:var(--ink)}
.field textarea{padding:12px 14px;min-height:96px;resize:vertical}
.consent{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.consent legend{font-weight:600;font-size:15px;padding:0;margin-bottom:8px}
.check{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.45;color:var(--muted)}
.check input{width:22px;height:22px;flex:0 0 22px;margin:1px 0 0}
.btn-block{width:100%}
.btn:disabled{opacity:.7;cursor:progress}
.form-status{margin:0;font-size:15px;font-weight:600;min-height:0}
.form-status.error{color:#B3261E}
.fine a{color:inherit}
