:root {
  --bg:#08090b;
  --bg-2:#0e1013;
  --panel:#121519;
  --panel-2:#171b20;
  --text:#f4f1ea;
  --muted:#979ca3;
  --line:rgba(255,255,255,.11);
  --accent:#ff6410;
  --accent-2:#ff7f32;
  --black:#050607;
  --max:1500px;
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  margin:0;
  overflow-x:hidden;
  background:
    radial-gradient(circle at 15% 0%, rgba(255,100,16,.055), transparent 24%),
    var(--bg);
  color:var(--text);
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height:1.5;
}
body.menu-open { overflow:hidden; }
a { color:inherit; text-decoration:none; }
button,input,select { font:inherit; }
button { color:inherit; }
input,select { width:100%; }
h1,h2,h3,p { margin-top:0; }
::selection { background:var(--accent); color:#111; }

.site-header {
  position:sticky;
  top:0;
  z-index:50;
  min-height:92px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:32px;
  padding:0 max(28px, calc((100vw - var(--max))/2));
  background:rgba(7,8,10,.94);
  border-bottom:1px solid rgba(255,255,255,.1);
  backdrop-filter:blur(18px);
}
.brand {
  display:flex;
  align-items:center;
  gap:12px;
  min-width:max-content;
}
.brand-mascot {
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  background:var(--accent);
  color:#111;
  font-size:28px;
  clip-path:polygon(8% 0,100% 0,92% 100%,0 100%);
  transform:rotate(-3deg);
}
.brand-word {
  font-family:Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size:31px;
  line-height:1;
  letter-spacing:.01em;
  transform:skew(-6deg);
}
.brand-word span { color:var(--accent); }
.main-nav {
  display:flex;
  justify-content:center;
  gap:34px;
  color:#d8d8d5;
  font-size:14px;
  font-weight:700;
}
.main-nav a {
  position:relative;
  padding:35px 0 31px;
}
.main-nav a:after {
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:24px;
  height:2px;
  background:var(--accent);
  transform:scaleX(0);
  transform-origin:left;
  transition:.2s ease;
}
.main-nav a:hover:after { transform:scaleX(1); }
.header-right {
  display:flex;
  align-items:center;
  gap:20px;
}
.header-socials { display:flex; gap:10px; }
.social-dot {
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.14);
  border-radius:50%;
  font-size:13px;
  font-weight:900;
  background:#101318;
}
.social-dot-ig { color:#ff4b8a; }
.social-dot-fb { color:#5d98ff; }
.social-dot-tt { color:#fff; opacity:.65; cursor:default; }
.header-cta {
  min-height:50px;
  padding:0 20px;
  display:inline-flex;
  align-items:center;
  gap:10px;
  background:var(--accent);
  color:#111;
  border-radius:4px;
  font-size:12px;
  font-weight:950;
  letter-spacing:.04em;
  text-transform:uppercase;
  box-shadow:0 10px 30px rgba(255,100,16,.14);
}
.header-cta:hover { background:var(--accent-2); }
.menu-toggle {
  display:none;
  border:0;
  background:transparent;
  padding:8px;
}
.menu-toggle span {
  display:block;
  width:25px;
  height:2px;
  margin:5px 0;
  background:#fff;
}

.hero {
  position:relative;
  overflow:hidden;
  border-bottom:1px solid var(--line);
  background:
    linear-gradient(90deg, rgba(255,100,16,.025), transparent 28%),
    radial-gradient(circle at 84% 8%, rgba(255,100,16,.11), transparent 22%),
    #090b0d;
}
.hero:before {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.18;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(to bottom,#000,transparent 85%);
}
.hero-grit {
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 13% 38%, rgba(255,100,16,.08), transparent 15%),
    radial-gradient(circle at 90% 50%, rgba(255,100,16,.05), transparent 14%);
  filter:blur(8px);
}
.hero-layout {
  position:relative;
  z-index:2;
  max-width:var(--max);
  min-height:680px;
  margin:0 auto;
  padding:54px 28px 36px;
  display:grid;
  grid-template-columns:minmax(390px,.78fr) minmax(0,1.22fr);
  gap:44px;
  align-items:center;
}
.hero-copy { padding-right:12px; }
.eyebrow,
.section-kicker {
  display:inline-flex;
  align-items:center;
  gap:9px;
  color:var(--accent);
  font-size:12px;
  font-weight:950;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.eyebrow span { font-size:16px; }
.hero h1 {
  margin:14px 0 22px;
  font-family:Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size:clamp(64px,7vw,120px);
  line-height:.82;
  letter-spacing:-.025em;
  font-weight:900;
  transform:skew(-3deg);
  text-transform:uppercase;
}
.hero h1 em {
  color:var(--accent);
  font-style:normal;
}
.hero-lead {
  max-width:620px;
  color:#c3c3c0;
  font-size:17px;
  line-height:1.62;
}
.hero-actions {
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin:30px 0;
}
.btn {
  min-height:52px;
  padding:0 21px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  border:1px solid transparent;
  border-radius:3px;
  font-size:12px;
  font-weight:950;
  letter-spacing:.05em;
  text-transform:uppercase;
  cursor:pointer;
  transition:.2s ease;
}
.btn-primary {
  background:var(--accent);
  color:#111;
}
.btn-primary:hover { background:var(--accent-2); transform:translateY(-2px); }
.btn-dark {
  background:#111419;
  border-color:rgba(255,255,255,.12);
}
.btn-dark:hover { border-color:rgba(255,100,16,.55); background:#171b20; }
.btn-black {
  background:#0b0c0e;
  color:#fff;
}
.btn.full { width:100%; }

.hero-mini-social {
  display:flex;
  align-items:stretch;
  gap:9px;
  flex-wrap:wrap;
}
.hero-mini-social>span:first-child {
  width:100%;
  color:#737980;
  font-size:10px;
  font-weight:950;
  letter-spacing:.11em;
}
.hero-mini-social a,
.hero-mini-social .coming {
  min-width:128px;
  display:grid;
  grid-template-columns:30px 1fr;
  grid-template-rows:auto auto;
  column-gap:9px;
  align-items:center;
  padding:9px 12px;
  border:1px solid rgba(255,255,255,.12);
  background:#111419;
  border-radius:5px;
}
.hero-mini-social b {
  grid-row:1 / 3;
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#1b2026;
  color:var(--accent);
}
.hero-mini-social small {
  color:#d8dadb;
  font-size:10px;
}
.hero-mini-social strong {
  color:#7f858b;
  font-size:9px;
  font-weight:700;
}
.hero-mini-social .coming { opacity:.65; }

.hero-reels {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  min-width:0;
}
.reel-card {
  position:relative;
  min-height:520px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  padding:15px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:8px;
  box-shadow:0 22px 55px rgba(0,0,0,.28);
  isolation:isolate;
  transition:transform .25s ease, border-color .25s ease;
}
.reel-card:hover {
  transform:translateY(-6px);
  border-color:rgba(255,100,16,.52);
}
.reel-card:before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    linear-gradient(to top, rgba(5,6,7,.98) 0%, rgba(5,6,7,.5) 43%, transparent 72%),
    radial-gradient(circle at 50% 25%, rgba(255,255,255,.09), transparent 22%),
    linear-gradient(145deg,#332319,#16191d 50%,#0d0f12);
}
.reel-one:after,
.reel-two:after,
.reel-three:after {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  opacity:.22;
}
.reel-one:after { background:linear-gradient(145deg,rgba(255,172,84,.55),transparent 45%); }
.reel-two:after { background:linear-gradient(155deg,rgba(210,210,210,.38),transparent 48%); }
.reel-three:after { background:linear-gradient(135deg,rgba(93,169,255,.36),transparent 48%); }
.reel-tag {
  align-self:flex-start;
  padding:5px 7px;
  background:rgba(0,0,0,.55);
  border:1px solid rgba(255,255,255,.12);
  border-radius:3px;
  color:#d9d9d6;
  font-size:8px;
  font-weight:900;
  letter-spacing:.12em;
}
.reel-scene {
  min-height:220px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  font-size:80px;
  filter:drop-shadow(0 18px 16px rgba(0,0,0,.4));
}
.reel-person { font-size:58px; transform:translateY(38px) rotate(-6deg); }
.reel-copy {
  margin-top:auto;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  transform:rotate(-2deg);
}
.reel-copy strong {
  font-family:Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size:clamp(26px,2.3vw,44px);
  line-height:.88;
  letter-spacing:.005em;
  text-shadow:0 4px 0 rgba(0,0,0,.5), 0 0 18px rgba(0,0,0,.8);
}
.reel-copy em {
  margin-top:9px;
  padding:5px 9px;
  background:var(--accent);
  color:#111;
  font-family:Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size:clamp(18px,1.7vw,28px);
  font-style:normal;
  line-height:1;
}
.reel-stats {
  margin-top:15px;
  color:#c9ccce;
  font-size:10px;
  font-weight:800;
}
.hero-marquee,
.social-marquee {
  position:relative;
  z-index:3;
  display:flex;
  gap:22px;
  overflow:hidden;
  white-space:nowrap;
  padding:15px max(24px,calc((100vw - var(--max))/2));
  border-top:1px solid rgba(255,255,255,.09);
  background:#101317;
  color:#e5e5e1;
  font-size:10px;
  font-weight:950;
  letter-spacing:.1em;
}
.hero-marquee i,
.social-marquee i { color:#5e646a; font-style:normal; }

.proof-strip {
  position:relative;
  max-width:var(--max);
  margin:0 auto;
  padding:42px 28px;
  display:grid;
  grid-template-columns:160px 1fr 160px;
  align-items:center;
  gap:26px;
}
.proof-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border:1px solid var(--line);
  background:#0d0f12;
}
.proof-grid>div {
  min-height:145px;
  padding:22px 18px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  border-right:1px solid var(--line);
}
.proof-grid>div:last-child { border-right:0; }
.proof-grid b {
  margin-bottom:10px;
  color:var(--accent);
  font-size:28px;
}
.proof-grid strong {
  margin-bottom:6px;
  font-size:16px;
}
.proof-grid span {
  max-width:180px;
  color:#90969c;
  font-size:11px;
}
.proof-sticker {
  position:relative;
  padding:14px 12px;
  background:#f3f0e8;
  color:#111;
  border:4px solid #111;
  border-radius:50%;
  text-align:center;
  font-family:Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  line-height:1.02;
  box-shadow:7px 7px 0 var(--accent);
}
.proof-sticker-left { transform:rotate(-7deg); }
.proof-sticker-right { transform:rotate(7deg); }
.proof-sticker span {
  display:block;
  font-size:14px;
}
.proof-sticker strong {
  display:block;
  font-size:20px;
}

.section {
  max-width:var(--max);
  margin:0 auto;
  padding:100px 28px;
}
.section-heading {
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:60px;
  align-items:end;
  margin-bottom:42px;
}
.section-heading h2,
.process h2,
.calc-header h2,
.faq-title h2,
.quote-copy h2 {
  margin:12px 0 0;
  font-family:Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size:clamp(48px,5vw,78px);
  line-height:.9;
  letter-spacing:-.015em;
  text-transform:uppercase;
  transform:skew(-2deg);
}
.section-heading h2 em,
.process h2 em,
.calc-header h2 em,
.faq-title h2 em,
.quote-copy h2 em {
  color:var(--accent);
  font-style:normal;
}
.section-heading>p {
  max-width:500px;
  margin-bottom:5px;
  color:var(--muted);
}
.service-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
}
.service-card {
  position:relative;
  min-height:310px;
  padding:24px;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  background:
    linear-gradient(145deg,rgba(255,255,255,.035),transparent 38%),
    #101317;
  border:1px solid var(--line);
  transition:.2s ease;
}
.service-card:after {
  content:"";
  position:absolute;
  width:180px;
  height:180px;
  right:-95px;
  bottom:-105px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:50%;
  box-shadow:0 0 0 35px rgba(255,255,255,.012),0 0 0 70px rgba(255,255,255,.008);
}
.service-card:hover {
  transform:translateY(-5px);
  border-color:rgba(255,100,16,.44);
  background:#15191e;
}
.service-card.accent {
  background:var(--accent);
  color:#111;
  border-color:var(--accent);
}
.service-no {
  color:#6f757b;
  font-size:10px;
  font-weight:900;
  letter-spacing:.12em;
}
.service-card.accent .service-no { color:rgba(0,0,0,.52); }
.service-icon {
  margin-top:26px;
  font-size:46px;
  filter:grayscale(.1);
}
.service-card h3 {
  margin:auto 0 10px;
  max-width:240px;
  font-size:25px;
  line-height:1.05;
}
.service-card p {
  min-height:63px;
  margin:0;
  color:#92989e;
  font-size:12px;
  line-height:1.55;
}
.service-card.accent p { color:rgba(0,0,0,.67); }
.service-arrow {
  margin-top:18px;
  font-size:23px;
}

.quote-section {
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:
    radial-gradient(circle at 12% 40%, rgba(255,100,16,.14), transparent 22%),
    #0d1013;
}
.quote-shell {
  max-width:var(--max);
  margin:0 auto;
  padding:95px 28px;
  display:grid;
  grid-template-columns:.78fr 1.22fr;
  gap:70px;
  align-items:center;
}
.quote-copy p {
  max-width:500px;
  margin:24px 0 0;
  color:var(--muted);
}
.quote-bubble {
  display:inline-block;
  margin-top:32px;
  padding:13px 18px;
  background:#f2efe7;
  color:#111;
  border:3px solid #111;
  box-shadow:7px 7px 0 var(--accent);
  font-family:Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size:18px;
  transform:rotate(-2deg);
}
.quote-form {
  background:#12161b;
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 26px 70px rgba(0,0,0,.3);
}
.card-top {
  display:flex;
  align-items:center;
  gap:10px;
  padding:17px 20px;
  border-bottom:1px solid var(--line);
  font-size:10px;
  font-weight:950;
  letter-spacing:.12em;
}
.card-top small {
  margin-left:auto;
  color:#747a80;
  letter-spacing:0;
}
.status-dot {
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--accent);
  box-shadow:0 0 0 5px rgba(255,100,16,.11);
}
.quote-fields {
  padding:22px;
  display:grid;
  gap:15px;
}
.quote-fields label,
.calc-fields label {
  display:grid;
  gap:7px;
  color:#a6abb0;
  font-size:11px;
  font-weight:800;
}
.quote-fields input,
.quote-fields select {
  min-height:46px;
  padding:0 13px;
  outline:0;
  background:#090b0e;
  color:#fff;
  border:1px solid var(--line);
}
.quote-fields input:focus,
.quote-fields select:focus { border-color:rgba(255,100,16,.65); }
.form-row {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.choice-row {
  display:flex;
  gap:18px;
  flex-wrap:wrap;
}
.check {
  display:flex !important;
  grid-template-columns:auto 1fr;
  align-items:center;
  gap:8px !important;
  cursor:pointer;
}
.check input {
  width:16px;
  height:16px;
  accent-color:var(--accent);
}
.quote-note {
  margin:-5px 0 0;
  color:#747a80;
  font-size:10px;
}
.quote-result {
  display:grid;
  gap:4px;
  padding-top:16px;
  border-top:1px solid var(--line);
}
.quote-result[hidden] { display:none; }
.quote-result span {
  color:#8d9399;
  font-size:10px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.quote-result strong {
  color:var(--accent);
  font-family:Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size:42px;
  line-height:1;
}
.quote-result small { color:#777d83; }

.process {
  display:grid;
  grid-template-columns:.78fr 1.22fr;
  gap:90px;
  border-top:1px solid var(--line);
}
.process-copy>p {
  max-width:430px;
  margin:22px 0 28px;
  color:var(--muted);
}
.text-link {
  display:inline-flex;
  gap:20px;
  padding-bottom:5px;
  border-bottom:2px solid var(--accent);
  font-weight:900;
}
.steps { border-top:1px solid var(--line); }
.step {
  display:grid;
  grid-template-columns:76px 1fr;
  gap:18px;
  padding:27px 0;
  border-bottom:1px solid var(--line);
}
.step>span {
  color:var(--accent);
  font-family:Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size:22px;
}
.step h3 {
  margin:0 0 7px;
  font-size:21px;
}
.step p {
  margin:0;
  color:var(--muted);
  font-size:13px;
}

.social-section {
  position:relative;
  overflow:hidden;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:
    radial-gradient(circle at 20% 24%, rgba(255,100,16,.09), transparent 23%),
    #0b0d10;
}
.social-inner {
  max-width:var(--max);
  margin:0 auto;
  padding:100px 28px 62px;
  display:grid;
  grid-template-columns:.7fr 1.3fr;
  gap:62px;
  align-items:start;
}
.social-intro {
  position:sticky;
  top:120px;
}
.social-intro h2 {
  margin:12px 0 22px;
  font-family:Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size:clamp(48px,5.5vw,82px);
  line-height:.89;
  text-transform:uppercase;
  transform:skew(-2deg);
}
.social-intro h2 em {
  color:var(--accent);
  font-style:normal;
}
.social-intro>p {
  max-width:520px;
  color:var(--muted);
}
.social-buttons {
  display:grid;
  gap:9px;
  max-width:480px;
  margin-top:27px;
}
.social-follow {
  min-height:58px;
  padding:0 16px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:12px;
  background:#111419;
  border:1px solid var(--line);
}
.social-follow span {
  color:#7d8389;
  font-size:9px;
  font-weight:900;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.social-follow strong { font-size:13px; }
.social-follow i {
  color:var(--accent);
  font-size:18px;
  font-style:normal;
}
.content-wall {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:9px;
}
.content-card {
  position:relative;
  min-height:430px;
  padding:16px;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.13);
  border-radius:7px;
  background:#15191e;
  box-shadow:0 18px 45px rgba(0,0,0,.18);
}
.content-card:before {
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(to top,rgba(0,0,0,.95),rgba(0,0,0,.15) 62%,transparent),
    radial-gradient(circle at 50% 25%,rgba(255,255,255,.08),transparent 20%);
  pointer-events:none;
}
.content-card-a { background:linear-gradient(145deg,#5c3c25,#14171a 52%); }
.content-card-b { background:linear-gradient(145deg,#42454a,#14171a 54%); }
.content-card-c { background:linear-gradient(145deg,#24475f,#12161a 54%); }
.content-card-d { background:linear-gradient(145deg,#5a2f22,#12161a 54%); }
.content-card>span,
.content-card>b,
.content-card>div {
  position:relative;
  z-index:1;
}
.content-card>span {
  align-self:flex-start;
  color:#d5d8db;
  font-size:8px;
  font-weight:900;
  letter-spacing:.1em;
}
.content-card>b {
  margin:auto auto 0;
  font-size:88px;
  filter:drop-shadow(0 14px 18px rgba(0,0,0,.3));
}
.content-card>div { margin-top:auto; }
.content-card small {
  color:var(--accent);
  font-size:8px;
  font-weight:950;
  letter-spacing:.12em;
}
.content-card h3 {
  margin:7px 0 7px;
  font-family:Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size:clamp(24px,2.1vw,36px);
  line-height:.92;
  text-transform:uppercase;
}
.content-card p {
  margin:0;
  color:#c1c4c6;
  font-size:11px;
}
.content-card strong {
  display:inline-block;
  margin-right:4px;
  color:var(--accent);
  font-size:9px;
  text-transform:uppercase;
}

.calculator-section {
  max-width:none;
  background:#101318;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.calc-header,
.calculator {
  max-width:var(--max);
  margin-left:auto;
  margin-right:auto;
}
.calc-header {
  padding:0 28px;
  margin-bottom:38px;
}
.calc-header p {
  max-width:650px;
  margin:18px 0 0;
  color:var(--muted);
}
.calculator {
  padding:0 28px;
  display:grid;
  grid-template-columns:1.28fr .72fr;
  gap:26px;
}
.calc-fields {
  padding:27px;
  display:grid;
  gap:28px;
  background:#090b0e;
  border:1px solid var(--line);
}
.calc-fields label {
  position:relative;
  grid-template-columns:1fr auto;
  align-items:center;
}
.calc-fields input[type="range"] {
  grid-column:1 / -1;
  accent-color:var(--accent);
}
.calc-fields output {
  color:#fff;
  font-size:12px;
}
.calc-summary {
  min-height:100%;
  padding:32px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:var(--accent);
  color:#111;
}
.calc-summary>span {
  font-size:10px;
  font-weight:950;
  letter-spacing:.12em;
}
.calc-summary strong {
  margin:15px 0;
  font-family:Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size:clamp(60px,6vw,96px);
  line-height:.9;
}
.calc-summary p {
  color:rgba(0,0,0,.65);
  font-size:12px;
}
.calc-summary .btn { margin-top:auto; }

.faq-section {
  display:grid;
  grid-template-columns:.58fr 1.42fr;
  gap:80px;
}
.faq-list details {
  border-top:1px solid var(--line);
}
.faq-list details:last-child { border-bottom:1px solid var(--line); }
.faq-list summary {
  list-style:none;
  cursor:pointer;
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding:22px 0;
  font-weight:850;
}
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary span {
  color:var(--accent);
  font-size:22px;
  transition:.2s ease;
}
.faq-list details[open] summary span { transform:rotate(45deg); }
.faq-list details p {
  max-width:720px;
  margin:-6px 0 22px;
  color:var(--muted);
}

.contact-section {
  position:relative;
  overflow:hidden;
  padding:100px 28px;
  background:var(--accent);
  color:#111;
}
.contact-section:before {
  content:"";
  position:absolute;
  width:620px;
  height:620px;
  right:-260px;
  top:-240px;
  border:1px solid rgba(0,0,0,.12);
  border-radius:50%;
  box-shadow:0 0 0 110px rgba(0,0,0,.028),0 0 0 220px rgba(0,0,0,.018);
}
.contact-inner {
  position:relative;
  z-index:1;
  max-width:var(--max);
  margin:0 auto;
}
.contact-inner .section-kicker { color:rgba(0,0,0,.6); }
.contact-inner h2 {
  margin:12px 0 25px;
  font-family:Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size:clamp(68px,8vw,130px);
  line-height:.81;
  letter-spacing:-.01em;
  transform:skew(-3deg);
}
.contact-inner h2 em {
  color:#111;
  opacity:.55;
  font-style:normal;
}
.contact-inner>p {
  max-width:680px;
  margin-bottom:36px;
  color:rgba(0,0,0,.66);
  font-size:17px;
}
.contact-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
}
.contact-card {
  min-height:180px;
  padding:20px;
  display:grid;
  grid-template-columns:44px 1fr auto;
  align-content:start;
  gap:15px;
  background:#0d0f12;
  color:#fff;
  border:1px solid rgba(0,0,0,.2);
  box-shadow:0 16px 40px rgba(0,0,0,.12);
  transition:.2s ease;
}
.contact-card:hover {
  transform:translateY(-5px);
  background:#050607;
}
.contact-card-icon {
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  background:var(--accent);
  color:#111;
  font-size:20px;
  font-weight:950;
  clip-path:polygon(8% 0,100% 0,92% 100%,0 100%);
}
.contact-card-copy {
  min-width:0;
  display:flex;
  flex-direction:column;
}
.contact-card-copy small {
  color:#7d8389;
  font-size:9px;
  font-weight:900;
  letter-spacing:.11em;
}
.contact-card-copy strong {
  margin:6px 0 12px;
  overflow-wrap:anywhere;
  font-size:18px;
}
.contact-card-copy span {
  max-width:280px;
  color:#8e949a;
  font-size:11px;
  line-height:1.5;
}
.contact-card-arrow {
  color:var(--accent);
  font-size:22px;
}

footer {
  max-width:var(--max);
  min-height:105px;
  margin:0 auto;
  padding:28px;
  display:grid;
  grid-template-columns:1fr auto auto auto;
  align-items:center;
  gap:28px;
  color:#777d83;
  font-size:11px;
}
.footer-brand {
  font-family:Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  color:#fff;
  font-size:22px;
  transform:skew(-5deg);
}
.footer-brand span { color:var(--accent); }
.footer-place { white-space:nowrap; }
.footer-socials {
  display:flex;
  gap:14px;
}
.footer-socials a { color:#a3a8ad; }
.footer-socials a:hover { color:#fff; }
.footer-copy { white-space:nowrap; }

.back-to-top {
  position:fixed;
  right:20px;
  bottom:20px;
  z-index:60;
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.15);
  background:rgba(15,18,22,.94);
  color:#fff;
  box-shadow:0 12px 36px rgba(0,0,0,.35);
  cursor:pointer;
  opacity:0;
  visibility:hidden;
  transform:translateY(10px);
  transition:.2s ease;
}
.back-to-top:hover { background:var(--accent); color:#111; }
.back-to-top.visible {
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}

@media (max-width:1200px) {
  .site-header { grid-template-columns:auto 1fr auto; }
  .header-socials { display:none; }
  .hero-layout {
    grid-template-columns:.8fr 1.2fr;
    gap:28px;
  }
  .hero-reels { gap:7px; }
  .reel-card { min-height:470px; }
  .proof-strip { grid-template-columns:1fr; }
  .proof-sticker { display:none; }
  .content-wall { grid-template-columns:repeat(2,1fr); }
  .content-card { min-height:330px; }
}

@media (max-width:980px) {
  .site-header {
    min-height:76px;
    grid-template-columns:1fr auto;
    padding:0 20px;
  }
  .brand-mascot { width:42px; height:42px; font-size:22px; }
  .brand-word { font-size:26px; }
  .menu-toggle { display:block; }
  .header-right { display:none; }
  .main-nav {
    display:none;
    position:fixed;
    top:76px;
    left:0;
    right:0;
    height:calc(100vh - 76px);
    padding:34px 22px;
    flex-direction:column;
    justify-content:flex-start;
    align-items:flex-start;
    background:#08090b;
    font-size:26px;
  }
  .main-nav.open { display:flex; }
  .main-nav a { padding:4px 0; }
  .main-nav a:after { display:none; }

  .hero-layout {
    min-height:auto;
    padding-top:56px;
    grid-template-columns:1fr;
    gap:36px;
  }
  .hero-copy { max-width:760px; }
  .hero-reels { max-width:860px; }
  .proof-grid { grid-template-columns:repeat(2,1fr); }
  .proof-grid>div:nth-child(2) { border-right:0; }
  .proof-grid>div:nth-child(-n+2) { border-bottom:1px solid var(--line); }

  .section-heading,
  .quote-shell,
  .process,
  .social-inner,
  .faq-section {
    grid-template-columns:1fr;
    gap:38px;
  }
  .service-grid { grid-template-columns:repeat(2,1fr); }
  .quote-copy { max-width:680px; }
  .social-intro { position:static; }
  .calculator { grid-template-columns:1fr; }
  .calc-summary { min-height:300px; }
  .contact-grid { grid-template-columns:1fr; }
  footer { grid-template-columns:1fr 1fr; }
  .footer-copy { text-align:right; }
}

@media (max-width:640px) {
  .site-header { min-height:68px; }
  .main-nav { top:68px; height:calc(100vh - 68px); }
  .brand-mascot { width:36px; height:36px; font-size:19px; }
  .brand-word { font-size:23px; }

  .hero-layout { padding:38px 16px 28px; }
  .hero h1 {
    font-size:clamp(49px,15vw,70px);
    line-height:.84;
  }
  .hero-lead { font-size:14px; }
  .hero-actions .btn { width:100%; }
  .hero-mini-social { display:grid; grid-template-columns:1fr 1fr; }
  .hero-mini-social>span:first-child { grid-column:1 / -1; }
  .hero-mini-social a,
  .hero-mini-social .coming { min-width:0; }

  .hero-reels {
    grid-template-columns:repeat(3, minmax(190px,1fr));
    overflow-x:auto;
    padding-bottom:8px;
    scroll-snap-type:x mandatory;
  }
  .reel-card {
    min-height:430px;
    scroll-snap-align:start;
  }
  .reel-copy strong { font-size:29px; }
  .reel-copy em { font-size:20px; }
  .reel-scene { min-height:190px; font-size:68px; }

  .hero-marquee,
  .social-marquee {
    padding-left:16px;
    padding-right:16px;
  }
  .proof-strip { padding:28px 16px; }
  .proof-grid { grid-template-columns:1fr 1fr; }
  .proof-grid>div { min-height:135px; padding:18px 12px; }
  .proof-grid strong { font-size:14px; }
  .proof-grid span { font-size:10px; }

  .section { padding:74px 16px; }
  .section-heading { margin-bottom:28px; }
  .section-heading h2,
  .process h2,
  .calc-header h2,
  .faq-title h2,
  .quote-copy h2,
  .social-intro h2 {
    font-size:clamp(43px,13vw,60px);
  }
  .service-grid { grid-template-columns:1fr; }
  .service-card { min-height:250px; }

  .quote-shell { padding:74px 16px; }
  .form-row { grid-template-columns:1fr; }
  .quote-fields { padding:18px; }

  .process { gap:32px; }
  .step { grid-template-columns:48px 1fr; }

  .social-inner { padding:74px 16px 50px; }
  .content-wall {
    grid-template-columns:repeat(4,minmax(205px,1fr));
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    padding-bottom:8px;
  }
  .content-card {
    min-height:360px;
    scroll-snap-align:start;
  }
  .content-card h3 { font-size:28px; }

  .calculator-section { padding-left:0; padding-right:0; }
  .calc-header,
  .calculator {
    padding-left:16px;
    padding-right:16px;
  }
  .calc-fields { padding:20px; }
  .calc-summary { min-height:280px; padding:26px; }

  .faq-section { gap:28px; }

  .contact-section { padding:74px 16px; }
  .contact-inner h2 {
    font-size:clamp(58px,17vw,88px);
  }
  .contact-card {
    min-height:0;
    grid-template-columns:42px 1fr auto;
  }

  footer {
    grid-template-columns:1fr;
    gap:12px;
    padding:26px 16px;
  }
  .footer-socials { flex-wrap:wrap; }
  .footer-copy { text-align:left; }

  .back-to-top {
    right:14px;
    bottom:16px;
    width:44px;
    height:44px;
  }
}