/* ════════════════════════════════════════════════
   HAWK'S HOUSE TRAINING — Premium Landing Page
   Dark Grey · Red · White · Black
   Old-school football aesthetic · Fresno CA
   ════════════════════════════════════════════════ */

:root {
  --red:      #CC0000;
  --red-dk:   #A80000;
  --red-lt:   #2A1515;
  --dark:     #1A1A1A;
  --charcoal: #111111;
  --mid:      #9CA3AF;
  --muted:    #6B7280;
  --border:   #2D2D2D;
  --light:    #1E1E1E;
  --white:    #FFFFFF;

  --ff-h: 'Montserrat', sans-serif;
  --ff-b: 'Inter', sans-serif;
  --r:    10px;
  --rL:   18px;
  --sh:   0 1px 8px rgba(0,0,0,.20);
  --shM:  0 4px 20px rgba(0,0,0,.30);
  --shL:  0 8px 40px rgba(0,0,0,.40);
}

*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; scroll-padding-top:64px; }
body {
  font-family:var(--ff-b); color:var(--white); background:var(--dark);
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
a { text-decoration:none; color:inherit; }
button { cursor:pointer; border:none; background:none; font-family:inherit; }
img { display:block; max-width:100%; }
.hidden { display:none !important; }

/* ── Layout ── */
.container { max-width:1100px; margin:0 auto; padding:0 20px; }
.section    { padding:88px 0; }
.bg-white   { background:var(--charcoal); }
.bg-light   { background:var(--light); }
.bg-dark    { background:var(--dark); }
.text-red   { color:var(--red); }

/* ── Typography ── */
.sec-h2 {
  font-family:var(--ff-h); font-weight:900;
  font-size:clamp(28px,5.5vw,46px);
  color:var(--white); line-height:1.08; letter-spacing:-.5px;
  margin-top:8px;
}
.sec-h2.light { color:var(--white); }
.sec-p {
  font-size:17px; color:var(--muted); line-height:1.72;
  margin-top:12px; max-width:560px;
}
.sec-p.light { color:rgba(255,255,255,.65); }
.body-txt { font-size:16px; color:var(--mid); line-height:1.78; margin-bottom:14px; }

.eyebrow {
  display:inline-block;
  background:var(--red-lt); color:var(--red);
  font-size:11px; font-weight:700; letter-spacing:2px; text-transform:uppercase;
  padding:4px 14px; border-radius:100px;
}
.eyebrow.light {
  background:rgba(255,255,255,.08); color:rgba(255,255,255,.85);
}
.sec-head { margin-bottom:52px; }
.sec-head.centered { text-align:center; }
.sec-head.centered .sec-p { margin-left:auto; margin-right:auto; }

/* ── Buttons ── */
.btn-red {
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  background:var(--red); color:var(--white);
  font-family:var(--ff-h); font-weight:700; font-size:15px;
  padding:13px 26px; border-radius:var(--r);
  transition:background .18s, transform .15s, box-shadow .18s;
  white-space:nowrap;
}
.btn-red:hover { background:var(--red-dk); transform:translateY(-2px); box-shadow:0 6px 22px rgba(204,0,0,.28); }
.btn-red:active { transform:none; }
.btn-ghost {
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  background:transparent; color:var(--white);
  font-family:var(--ff-h); font-weight:700; font-size:15px;
  padding:12px 26px; border-radius:var(--r);
  border:2px solid rgba(255,255,255,.3);
  transition:all .18s; white-space:nowrap;
}
.btn-ghost:hover { border-color:rgba(255,255,255,.7); background:rgba(255,255,255,.06); }
.btn-lg   { padding:16px 32px; font-size:16px; }
.btn-full { width:100%; }

/* ── Navbar ── */
#navbar {
  position:fixed; top:0; left:0; right:0; z-index:1000;
  background:var(--charcoal); border-bottom:1px solid var(--border);
  transition:box-shadow .2s;
}
#navbar.scrolled { box-shadow:0 2px 16px rgba(0,0,0,.30); }

.nav-container {
  max-width:1100px; margin:0 auto; padding:0 20px;
  height:62px; display:flex; align-items:center; gap:12px;
}
.nav-brand {
  display:flex; align-items:center; gap:10px;
  flex-shrink:0; color:var(--white);
}
.nav-ball { display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.nav-wordmark { display:flex; flex-direction:column; line-height:1; }
.nw-top { font-family:var(--ff-h); font-weight:900; font-size:14px; color:var(--white); letter-spacing:1px; }
.nw-bot { font-family:var(--ff-h); font-weight:700; font-size:9px; color:var(--red); letter-spacing:3px; text-transform:uppercase; }

.nav-links { display:none; align-items:center; gap:28px; margin-left:auto; margin-right:10px; }
.nav-links a { font-size:13px; font-weight:600; color:var(--muted); transition:color .15s; }
.nav-links a:hover { color:var(--red); }

.btn-nav-cta {
  display:none;
  background:var(--red); color:var(--white);
  font-family:var(--ff-h); font-weight:700; font-size:13px;
  padding:9px 18px; border-radius:8px; transition:background .18s;
}
.btn-nav-cta:hover { background:var(--red-dk); }

@media(min-width:860px) {
  .nav-links   { display:flex; }
  .btn-nav-cta { display:block; }
  #hamburger   { display:none !important; }
}

#hamburger {
  margin-left:auto; width:40px; height:40px;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px;
  border-radius:8px; transition:background .15s;
}
#hamburger:hover { background:rgba(255,255,255,.06); }
#hamburger span {
  display:block; width:22px; height:2px;
  background:var(--white); border-radius:2px; transition:all .25s;
}
#hamburger.open span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
#hamburger.open span:nth-child(2) { opacity:0; transform:scaleX(0); }
#hamburger.open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }

#mobile-menu {
  display:none; flex-direction:column;
  background:var(--charcoal); border-top:1px solid var(--border); padding:6px 0 16px;
}
#mobile-menu.open { display:flex; }
#mobile-menu a {
  padding:14px 24px; font-size:15px; font-weight:600; color:var(--white);
  border-bottom:1px solid var(--border); transition:color .15s;
}
#mobile-menu a:last-child { border-bottom:none; }
#mobile-menu a:hover { color:var(--red); }
.mob-book-link {
  margin:12px 20px 4px !important; border:none !important;
  background:var(--red) !important; color:var(--white) !important;
  border-radius:var(--r) !important; text-align:center;
  padding:14px 20px !important;
  display:flex !important; align-items:center; justify-content:center; gap:8px;
}
.mob-book-link:hover { background:var(--red-dk) !important; color:var(--white) !important; }

/* ── Hero ── */
.hero-section {
  padding-top:62px; min-height:100svh;
  position:relative; display:flex; flex-direction:column;
  align-items:center; justify-content:center;
  overflow:hidden;
}
.hero-bg {
  position:absolute; inset:0; z-index:0;
}
.hero-bg img {
  width:100%; height:100%; object-fit:cover; object-position:center 25%;
  filter:sepia(30%) contrast(1.1) brightness(0.7);
}
.hero-overlay {
  position:absolute; inset:0;
  background:linear-gradient(
    to bottom,
    rgba(17,17,17,.80) 0%,
    rgba(17,17,17,.65) 50%,
    rgba(17,17,17,.88) 100%
  );
}
.hero-inner {
  position:relative; z-index:1;
  width:100%; max-width:720px; padding:56px 24px 52px;
  display:flex; flex-direction:column; align-items:center;
  text-align:center; gap:22px;
}

/* Hawk mark in hero */
.hero-ball {
  background:rgba(255,255,255,.06);
  border:1.5px solid rgba(255,255,255,.14);
  border-radius:50%; padding:18px;
  display:flex; align-items:center; justify-content:center;
  animation:ballBreath 4s ease-in-out infinite;
}
@keyframes ballBreath {
  0%,100% { box-shadow:0 0 0 0 rgba(204,0,0,0); }
  50%      { box-shadow:0 0 0 12px rgba(204,0,0,.07), 0 0 40px rgba(204,0,0,.20); }
}

.hero-eyebrow {
  background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.14);
  color:rgba(255,255,255,.70); font-size:12px; font-weight:600;
  letter-spacing:1.5px; text-transform:uppercase;
  padding:5px 16px; border-radius:100px;
}

.hero-h1 {
  font-family:var(--ff-h); font-weight:900;
  line-height:.9; letter-spacing:-1.5px;
  display:flex; flex-direction:column; align-items:center;
}
.h1-line1 { font-size:clamp(48px,12vw,88px); color:var(--white); }
.h1-line2 { font-size:clamp(48px,12vw,88px); color:var(--red); }

.hero-sub {
  font-size:clamp(15px,2.4vw,18px); color:rgba(255,255,255,.65);
  line-height:1.68; max-width:560px;
}

.hero-ctas {
  display:flex; flex-direction:column; gap:12px; width:100%; max-width:400px;
}
@media(min-width:500px) {
  .hero-ctas { flex-direction:row; width:auto; justify-content:center; }
}

.hero-proof {
  display:flex; align-items:center;
  background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.10);
  border-radius:var(--rL); padding:18px 0; width:100%; max-width:480px;
}
.proof-stat   { flex:1; text-align:center; }
.proof-divider { width:1px; height:40px; background:rgba(255,255,255,.10); flex-shrink:0; }
.ps-num { display:block; font-family:var(--ff-h); font-weight:900; font-size:28px; color:var(--white); line-height:1; }
.ps-lbl { display:block; font-size:11px; color:rgba(255,255,255,.45); margin-top:4px; font-weight:500; }

.scroll-cue {
  position:absolute; bottom:28px; left:50%; transform:translateX(-50%); z-index:1;
  color:rgba(255,255,255,.30); font-size:18px;
  animation:scrollBounce 2.2s ease-in-out infinite;
}
@keyframes scrollBounce {
  0%,100% { transform:translateX(-50%) translateY(0); }
  50%      { transform:translateX(-50%) translateY(7px); }
}

/* ── Photo Breaks ── */
.photo-break {
  position:relative; overflow:hidden;
  height:clamp(200px,32vw,420px);
}
.photo-break img {
  width:100%; height:100%; object-fit:cover; object-position:center 30%;
  display:block;
  filter:sepia(25%) contrast(1.05) brightness(0.75);
}
.pb-caption {
  position:absolute; bottom:14px; left:50%; transform:translateX(-50%);
  background:rgba(17,17,17,.72); color:rgba(255,255,255,.80);
  font-size:12px; font-weight:500; padding:5px 14px; border-radius:100px;
  white-space:nowrap;
}

/* Split photo + text */
.photo-break-split {
  height:auto; display:grid; grid-template-columns:1fr;
}
@media(min-width:700px) {
  .photo-break-split { grid-template-columns:1fr 1fr; }
}
.pb-split-img {
  height:clamp(260px,38vw,480px); overflow:hidden;
}
.pb-split-img img {
  width:100%; height:100%; object-fit:cover; object-position:center;
  filter:sepia(25%) contrast(1.05) brightness(0.75);
}
.pb-split-text {
  background:var(--charcoal); padding:44px 36px;
  display:flex; flex-direction:column; justify-content:center; gap:16px;
  border-bottom:3px solid var(--red);
}
@media(min-width:700px) {
  .pb-split-text { border-bottom:none; border-left:3px solid var(--red); }
}
.pb-split-text h3 {
  font-family:var(--ff-h); font-weight:900;
  font-size:clamp(26px,4vw,40px); color:var(--white); line-height:1.05;
  letter-spacing:-.5px;
}
.pb-split-text p {
  font-size:16px; color:rgba(255,255,255,.55); line-height:1.72;
}

/* ── About ── */
.about-grid {
  display:grid; gap:56px; align-items:start;
  grid-template-columns:1fr;
}
@media(min-width:760px) {
  .about-grid { grid-template-columns:340px 1fr; }
}

.about-photo-col { position:relative; }
.about-photo-wrap {
  border-radius:var(--rL); overflow:hidden;
  box-shadow:var(--shL);
  aspect-ratio:3/4;
}
.about-photo-wrap img {
  width:100%; height:100%; object-fit:cover; object-position:top center;
  filter:sepia(15%) contrast(1.05);
}
.about-photo-badge {
  position:absolute; bottom:-16px; left:50%; transform:translateX(-50%);
  background:var(--charcoal); border:1px solid var(--border);
  border-radius:100px; padding:8px 18px;
  display:flex; align-items:center; gap:8px; white-space:nowrap;
  font-family:var(--ff-h); font-weight:700; font-size:12px; color:var(--white);
  box-shadow:var(--shM);
}

.about-story {
  padding-top:8px;
  display:flex; flex-direction:column; gap:0;
}
@media(max-width:759px) {
  .about-photo-col { margin-bottom:32px; }
}

.pullquote {
  background:rgba(204,0,0,.08); border-left:4px solid var(--red);
  padding:18px 22px; border-radius:0 var(--r) var(--r) 0;
  font-style:italic; font-size:17px; color:var(--white);
  font-weight:500; line-height:1.55; margin:22px 0 24px;
}

.about-creds {
  display:grid; grid-template-columns:1fr 1fr; gap:10px;
  margin-bottom:4px;
}
@media(max-width:480px) { .about-creds { grid-template-columns:1fr; } }
.cred-item {
  display:flex; align-items:center; gap:8px;
  font-size:13px; font-weight:600; color:var(--white);
}
.cred-item i { color:var(--red); font-size:13px; flex-shrink:0; }

/* ── Plans ── */
.plans-grid {
  display:grid; gap:18px; grid-template-columns:1fr;
}
@media(min-width:480px) { .plans-grid { grid-template-columns:1fr 1fr; } }
@media(min-width:900px) { .plans-grid { grid-template-columns:repeat(4,1fr); } }

.plan-skeleton {
  height:320px; background:var(--border); border-radius:var(--rL);
  animation:skelPulse 1.4s ease-in-out infinite;
}
@keyframes skelPulse { 0%,100%{opacity:1;} 50%{opacity:.45;} }

.plan-card {
  background:var(--charcoal); border:2px solid var(--border);
  border-radius:var(--rL); padding:24px 20px;
  display:flex; flex-direction:column; gap:10px;
  transition:border-color .2s, box-shadow .2s, transform .2s;
}
.plan-card:hover { border-color:var(--red); box-shadow:var(--shM); transform:translateY(-3px); }
.plan-card.featured { border-color:var(--red); box-shadow:0 0 0 3px rgba(204,0,0,.15); }

.plan-badge {
  align-self:flex-start;
  background:var(--red); color:var(--white);
  font-size:10px; font-weight:700; padding:2px 10px; border-radius:100px;
  text-transform:uppercase; letter-spacing:.5px;
}
.plan-icon {
  width:44px; height:44px; border-radius:10px;
  background:var(--red-lt); display:flex; align-items:center; justify-content:center;
  font-size:22px;
}
.plan-name { font-family:var(--ff-h); font-weight:800; font-size:18px; color:var(--white); }
.plan-meta { font-size:11px; color:var(--muted); font-weight:600; text-transform:uppercase; letter-spacing:.5px; }
.plan-desc { font-size:14px; color:var(--mid); line-height:1.62; flex-grow:1; }
.plan-price-row {
  display:flex; align-items:baseline; gap:4px;
  border-top:1px solid var(--border); padding-top:12px; margin-top:auto;
}
.plan-price { font-family:var(--ff-h); font-weight:900; font-size:28px; color:var(--white); }
.plan-mo    { font-size:12px; color:var(--muted); }

.plans-note {
  margin-top:28px; background:rgba(204,0,0,.08); border:1px solid rgba(204,0,0,.20);
  border-radius:var(--r); padding:14px 20px;
  font-size:14px; color:var(--mid); line-height:1.6;
  display:flex; align-items:flex-start; gap:10px;
}
.plans-note i { color:var(--red); margin-top:2px; flex-shrink:0; }

/* ── Book CTA Section ── */
.book-cta-grid {
  display:grid; gap:52px; grid-template-columns:1fr;
  align-items:start;
}
@media(min-width:860px) {
  .book-cta-grid { grid-template-columns:1fr 400px; }
}

/* Left text + steps */
.book-steps { margin-top:28px; display:flex; flex-direction:column; gap:20px; }
.bstep {
  display:flex; align-items:flex-start; gap:16px;
}
.bstep-num {
  width:30px; height:30px; flex-shrink:0;
  border-radius:50%; background:var(--red); color:var(--white);
  font-family:var(--ff-h); font-weight:900; font-size:13px;
  display:flex; align-items:center; justify-content:center;
  margin-top:2px;
}
.bstep div strong { display:block; font-size:15px; font-weight:700; color:var(--white); margin-bottom:3px; }
.bstep div p { font-size:13px; color:rgba(255,255,255,.4); line-height:1.55; }

/* Right: booking card */
.book-cta-card {
  background:var(--charcoal); border:1px solid var(--border); border-radius:20px;
  padding:28px 24px; display:flex; flex-direction:column; gap:18px;
  box-shadow:0 16px 60px rgba(0,0,0,.4);
}
.bcc-top {
  display:flex; align-items:center; gap:12px;
}
.bcc-label {
  font-size:11px; font-weight:700; color:var(--muted);
  text-transform:uppercase; letter-spacing:.8px;
}
.bcc-name {
  font-family:var(--ff-h); font-weight:900; font-size:17px;
  color:var(--white); letter-spacing:-.2px;
}
.bcc-desc {
  font-size:14px; color:var(--mid); line-height:1.65;
  border-top:1px solid var(--border); padding-top:16px; margin-top:-6px;
}
.bcc-divider {
  text-align:center; font-size:11px; font-weight:600;
  color:var(--muted); text-transform:uppercase; letter-spacing:.5px;
  position:relative;
}
.bcc-divider::before,.bcc-divider::after {
  content:''; position:absolute; top:50%; width:calc(50% - 70px);
  height:1px; background:var(--border);
}
.bcc-divider::before { left:0; }
.bcc-divider::after  { right:0; }

.bcc-plan-btns {
  display:grid; grid-template-columns:1fr 1fr; gap:8px;
}
.bcc-plan-btn {
  display:flex; align-items:center; gap:10px;
  border:1.5px solid var(--border); border-radius:10px;
  padding:10px 12px; cursor:pointer; background:var(--charcoal);
  text-align:left; transition:border-color .15s, background .15s, box-shadow .15s;
}
.bcc-plan-btn:hover {
  border-color:var(--red); background:var(--red-lt);
  box-shadow:0 2px 12px rgba(204,0,0,.15);
}
.bcc-plan-icon { font-size:20px; flex-shrink:0; }
.bcc-plan-btn strong {
  display:block; font-family:var(--ff-h); font-weight:700;
  font-size:12px; color:var(--white);
}
.bcc-plan-btn span { font-size:10px; color:var(--muted); }
.bcc-note {
  display:flex; align-items:center; gap:7px;
  font-size:11px; color:#4ade80; font-weight:600;
  background:rgba(34,197,94,.08); border:1px solid rgba(34,197,94,.18);
  border-radius:8px; padding:10px 14px; margin-top:4px;
}
.bcc-note i { color:#16a34a; font-size:12px; flex-shrink:0; }

/* ── Forms ── */
.fg   { display:flex; flex-direction:column; gap:5px; margin-bottom:12px; }
.frow { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
@media(max-width:440px) { .frow { grid-template-columns:1fr; } }

.fg label {
  font-size:11px; font-weight:700; color:rgba(255,255,255,.55);
  text-transform:uppercase; letter-spacing:.5px;
}
.fg input, .fg select, .fg textarea {
  padding:11px 13px; border:1.5px solid rgba(255,255,255,.14);
  border-radius:8px; font-size:15px; font-family:var(--ff-b);
  color:var(--white); background:rgba(255,255,255,.06);
  outline:none; transition:border-color .18s; -webkit-appearance:none;
}
.fg input::placeholder, .fg textarea::placeholder { color:rgba(255,255,255,.25); }
.fg select option { background:var(--charcoal); color:var(--white); }
.fg input:focus, .fg select:focus, .fg textarea:focus {
  border-color:var(--red); box-shadow:0 0 0 3px rgba(204,0,0,.14);
}
.fg textarea { resize:vertical; }

.form-msg {
  display:flex; align-items:center; gap:8px; padding:12px 14px;
  border-radius:8px; font-size:13px; font-weight:600; margin-top:10px;
}
.form-ok  { background:rgba(34,197,94,.08); border:1px solid rgba(34,197,94,.18); color:#4ade80; }
.form-err { background:rgba(239,68,68,.08); border:1px solid rgba(239,68,68,.18); color:#f87171; }

/* ── Results ── */
.results-intro {
  display:flex; flex-direction:column; gap:24px; margin-bottom:48px;
  align-items:flex-start;
}
@media(min-width:700px) {
  .results-intro { flex-direction:row; align-items:center; justify-content:space-between; }
}
.results-catch-photo {
  width:clamp(200px,38%,320px); flex-shrink:0;
  border-radius:var(--rL); overflow:hidden; box-shadow:var(--shM);
  aspect-ratio:3/4;
}
.results-catch-photo img {
  width:100%; height:100%; object-fit:cover; object-position:top;
  filter:sepia(15%) contrast(1.05);
}

.t-grid {
  display:grid; gap:18px; grid-template-columns:1fr;
}
@media(min-width:480px) { .t-grid { grid-template-columns:1fr 1fr; } }
@media(min-width:900px) { .t-grid { grid-template-columns:repeat(4,1fr); } }

.t-card {
  background:var(--charcoal); border:1px solid var(--border);
  border-radius:var(--rL); padding:22px;
  display:flex; flex-direction:column; gap:12px;
  box-shadow:var(--sh); transition:box-shadow .2s, transform .2s;
}
.t-card:hover { box-shadow:var(--shM); transform:translateY(-2px); }
.t-stars { color:#F59E0B; font-size:14px; letter-spacing:2px; }
.t-text  { font-size:14px; color:var(--mid); line-height:1.68; flex-grow:1; font-style:italic; }
.t-foot  { display:flex; align-items:center; gap:11px; border-top:1px solid var(--border); padding-top:12px; }
.t-av {
  width:36px; height:36px; border-radius:50%;
  background:var(--red); color:var(--white);
  font-family:var(--ff-h); font-weight:800; font-size:14px;
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.t-name { font-weight:700; font-size:13px; color:var(--white); }
.t-role { font-size:11px; color:var(--muted); }

.result-stats {
  display:grid; gap:2px; margin-top:52px;
  grid-template-columns:1fr 1fr;
  background:var(--border); border-radius:var(--rL);
  overflow:hidden; border:1px solid var(--border);
}
@media(min-width:600px) { .result-stats { grid-template-columns:repeat(4,1fr); } }
.rstat { background:var(--charcoal); padding:24px 14px; text-align:center; }
.rs-num {
  display:inline;
  font-family:var(--ff-h); font-weight:900; font-size:36px;
  color:var(--red); line-height:1;
}
.rs-suf { font-family:var(--ff-h); font-weight:900; font-size:24px; color:var(--red); }
.rs-lbl { display:block; font-size:12px; color:var(--muted); margin-top:5px; font-weight:500; }

/* ── Services ── */
.svc-grid {
  display:grid; gap:18px; grid-template-columns:1fr;
}
@media(min-width:560px) { .svc-grid { grid-template-columns:1fr 1fr; } }
@media(min-width:900px) { .svc-grid { grid-template-columns:repeat(3,1fr); } }

.svc-card {
  background:var(--charcoal); border:1px solid var(--border);
  border-radius:var(--rL); padding:22px;
  display:flex; flex-direction:column; gap:10px;
  transition:border-color .2s, box-shadow .2s, transform .2s;
}
.svc-card:hover { border-color:var(--red); box-shadow:var(--shM); transform:translateY(-2px); }
.svc-card.svc-featured { border-color:var(--red); background:var(--red-lt); }
.svc-card.svc-featured:hover { background:rgba(204,0,0,.08); }

.svc-icon {
  width:46px; height:46px; border-radius:11px;
  background:var(--red-lt); color:var(--red);
  display:flex; align-items:center; justify-content:center; font-size:20px;
}
.svc-football-icon {
  width:54px; height:54px; border-radius:12px;
  background:var(--charcoal); border:2px solid rgba(204,0,0,.30);
  display:flex; align-items:center; justify-content:center; padding:8px;
}
.svc-card h3 { font-family:var(--ff-h); font-weight:800; font-size:16px; color:var(--white); }
.svc-card p  { font-size:13px; color:var(--mid); line-height:1.65; flex-grow:1; }
.svc-footer {
  display:flex; align-items:center; justify-content:space-between;
  border-top:1px solid rgba(204,0,0,.18); padding-top:12px; margin-top:auto;
}
.svc-price { font-size:13px; font-weight:700; color:var(--white); }
.svc-link  { font-size:12px; font-weight:700; color:var(--red); transition:text-decoration .15s; }
.svc-link:hover { text-decoration:underline; }
.svc-btn   { padding:9px 16px; font-size:13px; border-radius:8px; }

/* ── Contact ── */
.contact-grid { display:grid; gap:32px; }
@media(min-width:760px) { .contact-grid { grid-template-columns:1fr 1.1fr; } }

.contact-details { margin-top:20px; display:flex; flex-direction:column; gap:10px; }
.cd-row { display:flex; align-items:center; gap:10px; font-size:14px; color:rgba(255,255,255,.55); }
.cd-row i { color:var(--red); width:16px; text-align:center; flex-shrink:0; }

.contact-socials { display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }
.soc-btn {
  display:flex; align-items:center; gap:7px;
  background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.10);
  border-radius:8px; padding:9px 14px;
  font-size:12px; font-weight:600; color:rgba(255,255,255,.6);
  transition:all .15s;
}
.soc-btn:hover { background:rgba(204,0,0,.15); border-color:rgba(204,0,0,.35); color:var(--white); }
.soc-btn i { font-size:15px; }

.contact-form { display:flex; flex-direction:column; }

/* ── Footer ── */
.site-footer { background:#0A0A0A; padding:32px 20px; border-top:1px solid var(--border); }
.footer-inner {
  max-width:1100px; margin:0 auto;
  display:flex; flex-direction:column; align-items:center;
  gap:20px; text-align:center;
}
@media(min-width:720px) {
  .footer-inner { flex-direction:row; justify-content:space-between; text-align:left; }
}
.footer-brand { display:flex; align-items:center; gap:12px; }
.fb-ball { opacity:.7; }
.fb-name { font-family:var(--ff-h); font-weight:900; font-size:14px; color:var(--white); }
.fb-loc  { font-size:11px; color:rgba(255,255,255,.30); margin-top:2px; }
.footer-nav { display:flex; flex-wrap:wrap; gap:18px; justify-content:center; }
.footer-nav a { font-size:12px; color:rgba(255,255,255,.40); font-weight:500; transition:color .15s; }
.footer-nav a:hover { color:var(--red); }
.footer-copy { font-size:11px; color:rgba(255,255,255,.18); }

/* ── Sticky mobile CTA ── */
.sticky-cta {
  position:fixed; bottom:0; left:0; right:0; z-index:900;
  padding:10px 16px calc(10px + env(safe-area-inset-bottom, 0px));
  background:var(--charcoal); border-top:1px solid var(--border);
  box-shadow:0 -4px 20px rgba(0,0,0,.30);
}
@media(min-width:760px) { .sticky-cta { display:none !important; } }

/* ── Fade-up ── */
.fade-up { opacity:0; transform:translateY(20px); transition:opacity .5s ease, transform .5s ease; }
.fade-up.in { opacity:1; transform:none; }

/* ── Scrollbar ── */
::-webkit-scrollbar { width:5px; }
::-webkit-scrollbar-track { background:var(--charcoal); }
::-webkit-scrollbar-thumb { background:var(--red); border-radius:3px; }
