:root {
  --primary: #b7222d;
  --primary-dark: #85141d;
  --accent: #ff725f;
  --ink: #171717;
  --muted: #60646c;
  --surface: #f6f4f1;
  --border: #dedbd6;
  --white: #fff;
  --radius: 18px;
  --shadow: 0 18px 50px rgba(0,0,0,.12);
  --max-width: 1180px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: Heebo, Arial, sans-serif; color: var(--ink); background: var(--white); line-height: 1.65; }
img, video { max-width: 100%; height: auto; }
a { color: inherit; }
.skip-link { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.skip-link:focus { position:fixed; top:8px; right:8px; width:auto; height:auto; padding:10px 16px; margin:0; overflow:visible; clip:auto; white-space:normal; background:var(--primary); color:#fff; z-index:2147483002; font-weight:700; }
:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
.container { width: min(calc(100% - 40px), var(--max-width)); margin-inline: auto; }
.site-header { position: sticky; top: 0; z-index: 1000; background: rgba(10,10,10,.96); color: #fff; border-bottom: 1px solid rgba(255,255,255,.12); }
.nav-wrap { min-height: 72px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { display:flex; align-items:center; gap:12px; text-decoration:none; font-weight:800; }
.brand img { width:52px; height:48px; object-fit:contain; }
.main-nav { display:flex; gap:24px; align-items:center; }
.main-nav a { text-decoration:none; font-weight:600; }
.main-nav a:hover { color:var(--accent); }
.menu-toggle { display:none; background:transparent; color:#fff; border:1px solid rgba(255,255,255,.5); border-radius:10px; padding:9px 12px; font:inherit; }
.hero { background: radial-gradient(circle at 20% 20%, #321014 0, #0b0b0b 44%, #000 100%); color:#fff; padding:72px 0 80px; overflow:hidden; }
.hero-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:52px; align-items:center; }
.eyebrow { display:inline-flex; border:1px solid rgba(255,255,255,.25); border-radius:999px; padding:7px 13px; color:#ffd8d1; font-weight:700; }
h1,h2,h3 { line-height:1.2; }
.hero h1 { font-size:clamp(2.45rem,6vw,4.9rem); margin:20px 0; letter-spacing:-.03em; }
.hero .intro-answer { font-size:clamp(1.05rem,2vw,1.35rem); max-width:680px; margin:0 0 28px; color:#ece7e6; }
.hero-logo { background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.12); border-radius:32px; padding:28px; box-shadow:var(--shadow); }
.hero-logo img { display:block; margin:auto; width:min(100%,390px); }
.hero-badge { position:absolute; width:112px; transform:translate(-24px,-30px); }
.actions { display:flex; flex-wrap:wrap; gap:12px; }
.btn { display:inline-flex; align-items:center; justify-content:center; min-height:50px; padding:12px 22px; border-radius:999px; text-decoration:none; font-weight:800; border:2px solid transparent; cursor:pointer; font:inherit; }
.btn-primary { background:var(--primary); color:#fff; }
.btn-primary:hover { background:var(--primary-dark); }
.btn-outline { border-color:rgba(255,255,255,.65); color:#fff; background:#171717; }
.trust-row { display:flex; flex-wrap:wrap; gap:18px; margin-top:28px; color:#d8d4d3; font-weight:600; }
.section { padding:78px 0; }
.section-soft { background:var(--surface); }
.section-title { max-width:760px; margin:0 auto 38px; text-align:center; }
.section-title h2 { font-size:clamp(2rem,4vw,3.15rem); margin:0 0 12px; }
.section-title p { color:var(--muted); margin:0; font-size:1.08rem; }
.services { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.service-card { background:#fff; border:1px solid var(--border); border-radius:var(--radius); padding:22px; box-shadow:0 8px 24px rgba(0,0,0,.06); }
.service-card img { width:100%; border-radius:13px; background:var(--primary); }
.service-card h3 { margin:16px 0 6px; font-size:1.2rem; }
.service-card p { margin:0; color:var(--muted); }
.media-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:30px; align-items:center; }
.video-shell { overflow:hidden; border-radius:24px; background:#111; box-shadow:var(--shadow); }
.video-shell video { display:block; width:100%; aspect-ratio:16/9; object-fit:cover; }
.review-shell { min-height:220px; }
.contact-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:36px; align-items:start; }
.contact-panel,.contact-form { border:1px solid var(--border); border-radius:24px; padding:28px; background:#fff; box-shadow:0 8px 28px rgba(0,0,0,.07); }
.contact-panel a { color:var(--primary); font-weight:800; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.field { display:flex; flex-direction:column; gap:6px; }
.field-wide { grid-column:1/-1; }
label { font-weight:700; }
input,textarea { width:100%; border:1px solid #b7b4af; border-radius:10px; padding:12px 14px; font:inherit; color:var(--ink); background:#fff; }
textarea { min-height:120px; resize:vertical; }
.consent { display:flex; align-items:flex-start; gap:9px; font-size:.9rem; color:var(--muted); }
.consent input { width:auto; margin-top:6px; }
.article-hero { padding:64px 0 30px; background:var(--surface); }
.article-hero h1 { max-width:880px; font-size:clamp(2.2rem,5vw,4.2rem); margin:0 0 18px; }
.article { width:min(calc(100% - 40px),820px); margin:auto; padding:44px 0 80px; }
.article > img { border-radius:20px; margin:18px 0 28px; }
.article h2 { margin-top:38px; font-size:1.8rem; }
.faq { border-top:1px solid var(--border); margin-top:34px; padding-top:20px; }
.faq details { border-bottom:1px solid var(--border); padding:15px 0; }
.faq summary { cursor:pointer; font-weight:800; }
.breadcrumb { color:var(--muted); font-size:.92rem; margin-bottom:18px; }
.updated { color:var(--muted); font-size:.9rem; margin-top:40px; }
.thanks-page { min-height:65vh; display:grid; place-items:center; text-align:center; padding:70px 20px; }
.thanks-page img { width:min(100%,420px); }
.site-footer { background:#111; color:#eee; padding:44px 0 24px; }
.footer-content { display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:30px; }
.footer-content h3,.footer-content h4 { margin-top:0; color:#fff; }
.footer-contact { font-style:normal; }
.footer-contact a,.footer-links a { color:#ffd0ca; }
.footer-links { display:flex; flex-direction:column; gap:8px; }
.footer-copy { border-top:1px solid #333; margin-top:30px; padding-top:18px; color:#aaa; font-size:.9rem; }
.fab-container { position:fixed; bottom:24px; left:24px; z-index:2147483000; display:flex; flex-direction:column; gap:12px; pointer-events:none; }
.fab { pointer-events:auto; width:56px; height:56px; border-radius:50%; display:flex; align-items:center; justify-content:center; box-shadow:0 4px 12px rgba(0,0,0,.25); transition:transform .2s,box-shadow .2s; }
.fab:hover { transform:scale(1.08); }
.fab.wa { background:#25D366; }
.fab.call { background:var(--primary); }
.fab svg { width:28px; height:28px; fill:#fff; }
@media (max-width:900px) {
  .hero-grid,.media-grid,.contact-grid { grid-template-columns:1fr; }
  .services { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .menu-toggle { display:block; }
  .main-nav { display:none; position:absolute; top:72px; right:0; left:0; background:#111; padding:20px; flex-direction:column; align-items:stretch; }
  .main-nav.open { display:flex; }
  .footer-content { grid-template-columns:1fr 1fr; }
}
@media (max-width:600px) {
  .container { width:min(calc(100% - 28px),var(--max-width)); }
  .hero { padding:50px 0 64px; }
  .hero-logo { padding:18px; }
  .services,.form-grid,.footer-content { grid-template-columns:1fr; }
  .field-wide { grid-column:auto; }
  .section { padding:58px 0; }
  .fab-container { left:16px; bottom:16px; }
  .fab { width:48px; height:48px; }
}
@media print { .site-header,.fab-container,#a11y-toggle,#a11y-panel { display:none!important; } }
