/* AL Crank Homepage — faithful recreation of the Crank template design.
   Scoped to the front page only. Fonts: Poppins (body) + Archivo (headings). */

/* Hide theme header / footer / page title on the front page (built into page content) */
body.home #masthead,
body.home #colophon,
body.home .entry-header { display:none !important; }
body.home #primary,
body.home .content-area,
body.home .site-main,
body.al-crank-page #primary,
body.al-crank-page .content-area,
body.al-crank-page .site-main { padding:0 !important; margin:0 !important; max-width:none !important; }

/* ---------- Base ---------- */
.crank-page { font-family:'Poppins',sans-serif; font-size:16px; line-height:25px; color:#17080A; background:#F4F4F4; overflow:clip; }
.crank-page h1, .crank-page h2, .crank-page h3, .crank-page h4, .crank-page h5, .crank-page h6 {
  font-family:'Archivo',sans-serif; font-weight:600; color:#171717; line-height:1.2; margin:0 0 15px;
}
.crank-page p { margin:0 0 15px; }
.crank-page a { text-decoration:none; }
.crank-page figure { margin:0; }
.crank-page .wp-block-columns { margin-bottom:0; }
.crank-red { color:#E8092E; }

.crank-container { max-width:1320px; margin:0 auto; padding-left:15px; padding-right:15px; }
.crank-section { padding:36px 0; }
.crank-kicker { font-family:'Archivo',sans-serif; font-weight:600; font-size:14px; letter-spacing:1px; text-transform:uppercase; color:#E8092E; margin:0 0 6px; }
.crank-title { font-family:'Archivo',sans-serif; font-weight:600; font-size:45px; line-height:55px; color:#171717; margin:6px 0 0; }
.crank-section-head { margin-bottom:24px; }
.crank-section-head.is-centered { text-align:center; }
.crank-section-head.is-centered .crank-title { margin-left:auto; margin-right:auto; }

/* ---------- Buttons ---------- */
.crank-page .wp-block-buttons .wp-block-button__link {
  position:relative; overflow:hidden; z-index:0;
  background:#E8092E; color:#fff !important;
  font-family:'Poppins',sans-serif; font-weight:700; font-size:16px;
  text-transform:uppercase; letter-spacing:1px;
  padding:13px 30px; border-radius:30px; border:none; cursor:pointer;
  display:inline-block; line-height:1.4;
}
.crank-page .wp-block-buttons .wp-block-button__link::after {
  content:''; position:absolute; top:50%; left:50%; width:24px; height:24px;
  background:#171717; border-radius:50%;
  transform:translate(-50%,-50%) scale(0); transition:transform .55s ease; z-index:-1;
}
.crank-page .wp-block-buttons .wp-block-button__link:hover::after { transform:translate(-50%,-50%) scale(22); }
.crank-page .wp-block-buttons .wp-block-button__link:hover { color:#fff !important; }
.crank-page .wp-block-buttons .crank-btn-outline .wp-block-button__link { background:transparent; border:1px solid #E8092E; color:#fff !important; padding:12px 30px; }
.crank-page .wp-block-buttons .crank-btn-outline .wp-block-button__link::after { background:#fff; }
.crank-page .wp-block-buttons .crank-btn-outline .wp-block-button__link:hover { color:#171717 !important; }

/* ---------- Preloader / back-to-top ---------- */
.crank-preloader { position:fixed; inset:0; z-index:99999; background:#171717; display:flex; align-items:center; justify-content:center; transition:opacity .5s ease; }
.crank-preloader.is-done { opacity:0; pointer-events:none; }
.crank-preloader-logo { font-family:'Archivo',sans-serif; font-weight:800; font-size:42px; letter-spacing:4px; color:#fff; animation:crankPulse 1.2s ease-in-out infinite; }
.crank-preloader-logo span { color:#E8092E; }
@keyframes crankPulse { 0%,100%{opacity:1} 50%{opacity:.35} }
.crank-toplink {
  position:fixed; right:18px; top:50%; transform:translateY(-50%) rotate(90deg); transform-origin:center;
  z-index:9990; font-family:'Archivo',sans-serif; font-weight:600; font-size:13px; letter-spacing:2px;
  color:#E8092E !important; white-space:nowrap; opacity:0; pointer-events:none; transition:opacity .3s;
}
.crank-toplink.is-visible { opacity:1; pointer-events:auto; }

/* ---------- Header ---------- */
.crank-header { position:absolute; top:0; left:0; right:0; z-index:100; padding-top:0; }
.crank-header-inner {
  max-width:1320px; margin:0 auto; background:#232323;
  border-radius:0 0 20px 20px; padding:0 40px;
  display:flex; align-items:center; justify-content:space-between; gap:30px;
}
.crank-header.is-sticky { position:fixed; animation:crankSlideDown .4s ease; }
.crank-header.is-sticky .crank-header-inner { border-radius:0 0 20px 20px; box-shadow:0 10px 40px rgba(0,0,0,.35); }
@keyframes crankSlideDown { from{transform:translateY(-100%)} to{transform:translateY(0)} }
.crank-logo { margin:0 !important; padding:30px 0; font-family:'Archivo',sans-serif; font-weight:800; font-size:30px; letter-spacing:2px; }
.crank-logo a { color:#fff !important; }
.crank-logo span { color:#E8092E; }
.crank-page .crank-nav .wp-block-navigation-item__content { color:#fff !important; font-size:14px; font-weight:600; padding:34px 0; border-bottom:2px solid transparent; white-space:nowrap; }
.crank-page .crank-nav .wp-block-navigation-item__content:hover,
.crank-page .crank-nav .is-active .wp-block-navigation-item__content { color:#E8092E !important; border-bottom-color:#E8092E; }
.crank-page .crank-nav .wp-block-navigation__container { gap:24px; }
/* Services dropdown */
.crank-page .crank-nav .wp-block-navigation__submenu-container {
  background:#232323; border:none; border-radius:0 0 12px 12px;
  padding:10px; min-width:220px; box-shadow:0 24px 50px rgba(0,0,0,.35);
}
.crank-page .crank-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
  color:#fff !important; padding:11px 16px; border-bottom:none; font-size:14px;
}
.crank-page .crank-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
  color:#E8092E !important; background:rgba(255,255,255,.06);
}
.crank-header-actions { display:flex; align-items:center; }
.crank-call-btn .wp-block-button__link { white-space:nowrap; }

/* ---------- Hero ---------- */
.crank-hero { position:relative; padding-top:0; }
.crank-hero-panel { max-width:1680px; margin:0 auto; background:#171717; border-radius:60px; position:relative; overflow:hidden; }
.crank-slides { position:relative; }
.crank-slide { display:none; position:relative; padding:180px 90px 130px; min-height:560px; }
html.crank-js .crank-slide.is-active { display:block; animation:crankFade .8s ease; }
html:not(.crank-js) .crank-slide:first-child { display:block; }
@keyframes crankFade { from{opacity:0} to{opacity:1} }
.crank-slide-text { position:relative; z-index:3; max-width:640px; }
.crank-hero-title { font-size:72px !important; line-height:84px !important; color:#fff !important; margin:0 0 20px !important; }
.crank-hero-sub { color:rgba(255,255,255,.75); font-size:17px; max-width:520px; }
.crank-hero-btns { display:flex; align-items:center; gap:26px; margin-top:34px; flex-wrap:wrap; }
.crank-play { margin:0 !important; }
.crank-play a { position:relative; display:flex; align-items:center; justify-content:center; width:50px; height:50px; background:#232323; border-radius:50%; }
.crank-play a span { width:0; height:0; border-left:14px solid #fff; border-top:9px solid transparent; border-bottom:9px solid transparent; margin-left:4px; }
.crank-play a::before, .crank-play a::after { content:''; position:absolute; inset:0; border-radius:50%; border:1px solid rgba(255,255,255,.35); animation:crankRipple 2s ease-out infinite; }
.crank-play a::after { animation-delay:1s; }
@keyframes crankRipple { 0%{transform:scale(1);opacity:.8} 100%{transform:scale(1.9);opacity:0} }
.crank-hero-img { position:absolute !important; right:70px; top:50%; transform:translateY(-50%); width:min(560px,38%); z-index:2; margin:0 !important; }
.crank-hero-img img { border-radius:50px; width:100%; height:auto; display:block; object-fit:cover; }
.crank-hero-gear { position:absolute; left:-90px; top:16%; width:340px; height:340px; border:26px dashed rgba(255,255,255,.10); border-radius:50%; animation:crankSpin 40s linear infinite; z-index:1; pointer-events:none; }
@keyframes crankSpin { to{transform:rotate(360deg)} }
.crank-arrow { position:absolute; top:50%; transform:translateY(-50%); z-index:5; margin:0 !important; }
.crank-arrow a { display:flex; align-items:center; justify-content:center; width:60px; height:60px; border:1px solid rgba(255,255,255,.4); border-radius:50%; color:#fff !important; font-size:22px; transition:all .3s; }
.crank-arrow a:hover { background:#E8092E; border-color:#E8092E; }
.crank-prev { left:26px; } .crank-next { right:26px; }

/* ---------- Counter ---------- */
.crank-counter-wrap { position:relative; z-index:6; margin-top:-80px; }
.crank-counter { max-width:1320px; margin:0 auto; background:#0B0B0C; border-radius:28px; padding:38px 46px; position:relative; overflow:hidden; }
.crank-counter-cells { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; position:relative; z-index:2; }
.crank-counter-cell { text-align:center; border:1px solid rgba(255,255,255,.22); border-radius:16px; padding:26px 14px 24px; }
.crank-counter-icon { color:#E8092E; font-size:32px; line-height:1; margin:0 0 10px !important; }
.crank-num { font-family:'Archivo',sans-serif; font-weight:700; font-size:54px; line-height:1; color:#ffffff !important; margin:0 0 8px !important; }
.crank-counter-label { color:#CBD5E1; font-size:15px; margin:0 !important; }
.crank-label { color:#6b7280; font-size:15px; margin:0 !important; }

/* ---------- Services ---------- */
.crank-services-panel { max-width:1710px; margin:36px auto 0; background:#fff; border-radius:40px; padding:44px 40px; }
.crank-service-card { background:#fff; border:2px solid #171717; border-radius:20px; padding:30px 30px 25px; text-align:center; height:100%; transition:transform .35s ease, background .35s ease, box-shadow .35s ease; }
.crank-service-card:hover { transform:translateY(-10px); background:#171717; box-shadow:0 24px 60px rgba(232,9,46,.25), 0 24px 60px rgba(6,63,255,.18); }
.crank-service-card:hover h3, .crank-service-card:hover p { color:#fff !important; }
.crank-service-icon { width:100px; height:100px; margin:0 auto 22px; background:#171717; color:#fff; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:44px; transition:all .35s ease; }
.crank-service-card:hover .crank-service-icon { background:#E8092E; box-shadow:0 0 0 8px rgba(255,255,255,.9); }
.crank-service-card h3 { font-size:24px; margin:0 0 12px; }
.crank-service-card p { color:#4b5563; }

/* ---------- About ---------- */
.crank-about-img { position:relative; }
.crank-about-img img { border-radius:20px; width:100%; height:auto; display:block; position:relative; z-index:2; }
.crank-ribbon-red { position:absolute; top:-46px; left:-24px; width:66px; height:420px; background:#E8092E; transform:rotate(14.6deg); z-index:1; border-radius:6px; }
.crank-ribbon-dark { position:absolute; top:-30px; left:56px; width:66px; height:380px; border:3px solid #171717; transform:rotate(14.6deg); z-index:1; border-radius:6px; }
.crank-about-badge { position:absolute; right:-24px; bottom:-30px; z-index:3; max-width:200px; background:#E8092E; color:#fff; border-radius:10px; padding:15px 20px 26px; }
.crank-about-badge h4 { color:#fff !important; font-size:20px; margin:0 0 6px !important; }
.crank-about-badge p { color:rgba(255,255,255,.85); font-size:14px; margin:0 !important; }
.crank-check { list-style:none; margin:24px 0 30px; padding:0; }
.crank-check li { position:relative; padding-left:30px; margin-bottom:14px; font-family:'Archivo',sans-serif; font-weight:600; font-size:18px; color:#171717; }
.crank-check li::before { content:'»'; position:absolute; left:0; top:0; color:#E8092E; font-weight:800; font-size:20px; }

/* ---------- Brand strip ---------- */
.crank-brand { background:#171717; border-radius:20px; padding:26px 30px; }
.crank-brand .wp-block-columns { align-items:center !important; }
.crank-brand-item { text-align:center; color:#fff; font-family:'Archivo',sans-serif; font-weight:700; font-size:24px; letter-spacing:1px; opacity:.92; margin:0 !important; }

/* ---------- Gallery ---------- */
.crank-gallery-head { display:flex; align-items:flex-end; justify-content:space-between; gap:40px; margin-bottom:59px; flex-wrap:wrap; }
.crank-gallery-head .crank-title { margin-bottom:0; }
.crank-gallery-head p { max-width:420px; color:#4b5563; margin:0 !important; }
.crank-gallery-row { display:flex; gap:22px; overflow-x:auto; padding-bottom:12px; scroll-snap-type:x mandatory; scrollbar-width:thin; }
.crank-g-item { flex:0 0 300px; max-width:300px; margin:0 !important; scroll-snap-align:start; }
.crank-g-item img { width:100%; height:215px; object-fit:cover; border-radius:16px; display:block; }
.crank-g-item { position:relative; border-radius:20px; overflow:hidden; }
.crank-g-item img { border-radius:20px; width:100%; height:100%; object-fit:cover; display:block; aspect-ratio:4/3; transition:transform .5s ease; }
.crank-g-item:hover img { transform:scale(1.06); }
.crank-g-overlay { position:absolute; inset:0; background:rgba(23,23,23,.9); opacity:0; transition:opacity .4s ease; display:flex; align-items:center; justify-content:center; }
.crank-g-item:hover .crank-g-overlay { opacity:1; }
.crank-g-overlay a { width:80px; height:80px; background:#E8092E; border-radius:50%; display:flex; align-items:center; justify-content:center; color:#fff !important; font-size:26px; transform:scale(.6); transition:transform .4s ease; }
.crank-g-item:hover .crank-g-overlay a { transform:scale(1); }

/* ---------- FAQ ---------- */
.crank-faq-list { max-width:900px; margin:0 auto; display:flex; flex-direction:column; gap:20px; }
.crank-page details.crank-faq-item { background:#fff; border:1px solid #e0e0e0; border-radius:12px; padding:0; overflow:hidden; }
.crank-faq-item summary { list-style:none; cursor:pointer; display:flex; align-items:center; gap:16px; padding:18px 60px 18px 20px; position:relative; font-weight:600; font-size:17px; color:#111; }
.crank-faq-item summary::-webkit-details-marker { display:none; }
.crank-faq-item summary::after { content:'+'; position:absolute; right:18px; top:50%; transform:translateY(-50%); width:32px; height:32px; border-radius:50%; background:#f0f0f0; color:#111; display:flex; align-items:center; justify-content:center; font-size:18px; }
.crank-faq-item[open] summary::after { content:'–'; background:#e10600; color:#fff; }
.crank-faq-num { display:inline-flex; align-items:center; justify-content:center; min-width:36px; height:36px; padding:0 10px; background:#e10600; color:#fff !important; font-weight:700; font-size:15px; border-radius:10px; flex-shrink:0; }
.crank-faq-item .crank-faq-a { padding:0 20px 18px 20px; color:#333; font-size:15px; line-height:1.6; }
.crank-faq-item .crank-faq-a p { margin:0; }

/* ---------- Testimonials ---------- */
.crank-testimonials-panel { max-width:1710px; margin:36px auto 0; background:#171717; border-radius:40px; padding:44px 40px; position:relative; overflow:hidden; }
.crank-testimonials-panel::before, .crank-testimonials-panel::after { content:''; position:absolute; border-radius:50%; filter:blur(182px); opacity:.5; pointer-events:none; }
.crank-testimonials-panel::before { width:420px; height:420px; background:#FF0000; top:-160px; right:-120px; }
.crank-testimonials-panel::after { width:420px; height:420px; background:#063FFF; bottom:-180px; left:-140px; }
.crank-t-head { display:flex; align-items:flex-start; justify-content:space-between; gap:30px; margin-bottom:59px; position:relative; z-index:2; flex-wrap:wrap; }
.crank-t-head .crank-title { color:#fff !important; }
.crank-t-nav { display:flex; gap:14px; }
.crank-t-nav button.crank-t-arrow { width:60px; height:60px; border-radius:50%; background:#E8092E; color:#fff; display:flex; align-items:center; justify-content:center; font-size:22px; border:none; cursor:pointer; }
.crank-t-nav button.crank-t-arrow:hover { background:#fff; color:#171717; }
.crank-t-track { display:flex; gap:28px; overflow-x:auto; scroll-snap-type:x mandatory; position:relative; z-index:2; margin-top:40px; padding:34px 4px 12px; scrollbar-width:thin; }
.crank-t-track .crank-t-card { flex:0 0 calc(50% - 14px); max-width:640px; scroll-snap-align:start; margin:0 !important; }
.crank-t-card { position:relative; z-index:2; border:1px solid rgba(225,225,225,.35); border-radius:20px; padding:27px 40px 26px 210px; min-height:280px; background:transparent; }
.crank-t-avatar { position:absolute; left:24px; top:-30px; width:160px; margin:0 !important; }
.crank-t-avatar img { width:160px; height:230px; object-fit:cover; border-radius:20px; display:block; }
.crank-t-name { color:#fff !important; font-size:22px; margin:0 0 4px !important; }
.crank-t-role { color:#9CA3AF; font-size:14px; letter-spacing:1px; margin:0 0 14px !important; }
.crank-t-text { color:#fff; font-size:19px; line-height:1.7; }
.crank-t-quote { position:absolute; top:24px; right:30px; width:60px; height:60px; border-radius:50%; background:#232323; color:#E8092E; display:flex; align-items:center; justify-content:center; font-family:Georgia,serif; font-size:38px; line-height:1; }

/* ---------- Team ---------- */
.crank-team-card { background:#fff; border:1px solid #E1E1E1; border-radius:20px; padding:10px; height:100%; }
.crank-team-photo { margin:0 0 0 !important; }
.crank-team-photo img { border-radius:15px 15px 0 0; width:100%; height:auto; display:block; filter:grayscale(1); }
.crank-team-foot { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:25px 20px 19px; }
.crank-team-plus { margin:0 !important; flex-shrink:0; }
.crank-team-plus a { display:flex; align-items:center; justify-content:center; width:60px; height:60px; border:1px solid #E1E1E1; border-radius:50%; color:#171717 !important; font-size:26px; transition:all .3s; }
.crank-team-plus a:hover { background:#E8092E; border-color:#E8092E; color:#fff !important; }
.crank-team-name { text-align:right; }
.crank-team-name h3 { font-size:24px; margin:0 0 4px !important; }
.crank-team-name p { color:#6b7280; font-size:15px; margin:0 !important; }

/* ---------- Pricing ---------- */
.crank-toggle { display:inline-flex; border:1px solid #E8092E; border-radius:25px; overflow:hidden; margin-bottom:50px; }
.crank-toggle-btn { padding:13px 30px; font-weight:700; font-size:15px; text-transform:uppercase; letter-spacing:1px; color:#171717 !important; background:transparent; }
.crank-toggle-btn.is-active { background:#E8092E; color:#fff !important; }
.crank-price-card { background:#fff; border-radius:20px; padding:35px 40px 40px; height:100%; border:2px solid transparent; border-bottom:3px solid transparent; transition:border-color .3s; position:relative; }
.crank-price-card:hover { border-bottom-color:#E8092E; }
.crank-price-card.is-featured { border-color:#E8092E; }
.crank-plan-top { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:8px; }
.crank-plan-name { font-size:22px; margin:0 !important; }
.crank-plan-icon { width:60px; height:60px; flex-shrink:0; border-radius:50%; background:#F4F4F4; color:#E8092E; display:flex; align-items:center; justify-content:center; font-size:28px; }
.crank-price { font-family:'Archivo',sans-serif; font-weight:600; font-size:45px; color:#171717; margin:0 0 18px !important; }
.crank-price .per { font-size:18px; color:#6b7280; font-weight:400; }
.crank-price-card hr { border:none; border-top:1px solid #E1E1E1; margin:0 0 22px; }
.crank-feat { list-style:none; margin:0 0 30px; padding:0; }
.crank-feat li { position:relative; padding-left:26px; margin-bottom:12px; color:#4b5563; }
.crank-feat li::before { content:'»'; position:absolute; left:0; color:#E8092E; font-weight:800; }
.crank-price-card .wp-block-buttons, .crank-price-card .wp-block-button { width:100%; }
.crank-page .crank-price-card .wp-block-button__link { width:100%; text-align:center; background:#F4F4F4; color:#171717 !important; }
.crank-page .crank-price-card .wp-block-button__link::after { background:#E8092E; }
.crank-page .crank-price-card .wp-block-button__link:hover { color:#fff !important; }
.crank-page .crank-price-card.is-featured .wp-block-button__link { background:#E8092E; color:#fff !important; }
.crank-page .crank-price-card.is-featured .wp-block-button__link::after { background:#171717; }

/* ---------- Blog ---------- */
.crank-blog-head { display:flex; align-items:flex-end; justify-content:space-between; gap:30px; margin-bottom:59px; flex-wrap:wrap; }
.crank-blog-card { background:#fff; border-radius:20px; padding:30px 30px 23px; height:100%; }
.crank-blog-img { position:relative; margin:0 0 24px !important; }
.crank-blog-img img { border-radius:20px; width:100%; height:auto; display:block; }
.crank-date-badge { position:absolute; right:20px; bottom:-30px; width:80px; height:80px; border-radius:50%; background:#E8092E; color:#fff; display:flex; flex-direction:column; align-items:center; justify-content:center; font-family:'Archivo',sans-serif; font-weight:700; line-height:1.1; margin:0 !important; }
.crank-date-badge .d { font-size:24px; } .crank-date-badge .m { font-size:13px; letter-spacing:1px; }
.crank-meta { font-size:14px; color:#6b7280; margin:0 0 10px !important; }
.crank-blog-card h3 { font-size:24px; margin:0 0 14px !important; }
.crank-readmore { font-weight:700; text-transform:uppercase; letter-spacing:1px; font-size:14px; margin:0 !important; }
.crank-readmore a { color:#171717 !important; }
.crank-readmore a span { color:#E8092E; }

/* ---------- Search strip ---------- */
.crank-search-wrap { padding:36px 0; }

/* ---------- Footer ---------- */
.crank-footer { max-width:1560px; margin:36px auto 0; background:#232323; border-radius:20px 20px 0 0; padding:40px 40px 0; position:relative; overflow:hidden; }
.crank-footer::before, .crank-footer::after { content:''; position:absolute; border-radius:50%; filter:blur(182px); opacity:.5; pointer-events:none; }
.crank-footer::before { width:480px; height:480px; background:#FF0000; top:-200px; left:-160px; }
.crank-footer::after { width:480px; height:480px; background:#063FFF; bottom:-220px; right:-160px; }
.crank-news-panel { position:relative; z-index:2; border:1px solid rgba(255,255,255,.2); border-radius:30px; padding:32px 40px; display:flex; align-items:center; gap:40px; margin-bottom:36px; flex-wrap:wrap; }
.crank-news-text { flex:1 1 320px; }
.crank-news-title { color:#fff !important; font-size:45px !important; line-height:55px !important; margin:0 !important; }
.crank-news-form { flex:1 1 320px; display:flex; gap:0; align-items:center; }
.crank-news-input { flex:1; background:rgba(255,255,255,.20); border-radius:30px 0 0 30px; height:60px; display:flex; align-items:center; padding:0 28px; color:rgba(255,255,255,.75); margin:0 !important; }
.crank-news-form .wp-block-buttons { margin:0; }
.crank-news-form .wp-block-button__link { border-radius:0 30px 30px 0 !important; height:60px; display:inline-flex; align-items:center; }
.crank-news-img { flex:0 0 200px; margin:0 !important; }
.crank-news-img img { border-radius:20px; width:100%; height:auto; display:block; }
.crank-widgets { position:relative; z-index:2; margin-bottom:60px; }
.crank-widget-title { color:#fff !important; font-size:24px; margin:0 0 24px !important; }
.crank-foot-about { color:rgba(255,255,255,.8); }
.crank-foot-contact { list-style:none; margin:22px 0 0; padding:0; }
.crank-foot-contact li { color:rgba(255,255,255,.8); margin-bottom:12px; font-size:15px; }
.crank-foot-contact li strong { color:#fff; display:block; font-size:13px; text-transform:uppercase; letter-spacing:1px; margin-bottom:2px; }
.crank-foot-links { list-style:none; margin:0; padding:0; }
.crank-foot-links li { margin-bottom:12px; }
.crank-foot-links a { color:rgba(255,255,255,.8) !important; font-size:15px; }
.crank-foot-links a::before { content:'»'; color:#E8092E; font-weight:800; margin-right:8px; }
.crank-foot-links a:hover { color:#E8092E !important; }
.crank-post-item { display:flex; gap:16px; align-items:center; margin-bottom:20px; }
.crank-post-thumb { width:90px; flex-shrink:0; margin:0 !important; }
.crank-post-thumb img { width:90px; height:90px; object-fit:cover; border-radius:10px; display:block; }
.crank-post-item h4 { font-size:16px; margin:0 0 6px !important; }
.crank-post-item h4 a { color:#fff !important; }
.crank-post-item .crank-meta { margin:0 !important; color:rgba(255,255,255,.6); }
.crank-bottombar { position:relative; z-index:2; border-top:1px solid rgba(255,255,255,.2); padding:30px 0; display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; }
.crank-bottombar p { color:#fff; font-size:14px; margin:0 !important; }
.crank-bottombar p a { color:#fff !important; font-size:14px; }
.crank-bottombar p a:hover { color:#E8092E !important; }
@media (max-width:600px) {
  .crank-bottombar p a { margin-right:20px; }
}

/* ---------- Responsive ---------- */
@media (max-width:1100px) {
  .crank-hero-img { position:static !important; transform:none; width:100%; max-width:560px; margin:40px 0 0 !important; }
  .crank-slide { padding:190px 50px 120px; min-height:0; }
  .crank-hero-title { font-size:54px !important; line-height:64px !important; }
  .crank-header-inner { padding:0 24px; }
  .crank-page .crank-nav .wp-block-navigation__container { gap:18px; }
}
@media (max-width:900px) {
  .crank-section { padding:30px 0; }
  .crank-title { font-size:36px; line-height:44px; }
  .crank-news-title { font-size:36px !important; line-height:44px !important; }
  .crank-services-panel, .crank-testimonials-panel { border-radius:28px; padding:36px 24px; margin-top:30px; }
  .crank-footer { border-radius:16px 16px 0 0; padding:36px 24px 0; margin-top:30px; }
  .crank-news-panel { padding:28px 24px; }
  .crank-counter { padding:30px 24px; }
  .crank-counter-cells { grid-template-columns:repeat(2,1fr); }
  .crank-num { font-size:44px; }
  .crank-t-card { padding:27px 30px 26px; }
  .crank-t-avatar { position:static; margin:0 0 18px !important; }
  .crank-t-avatar img { width:120px; height:170px; }
  .crank-t-quote { top:16px; right:16px; }
  .crank-header-inner { flex-wrap:wrap; justify-content:center; padding:16px 24px; border-radius:0 0 16px 16px; }
  .crank-logo { padding:8px 0; }
  .crank-page .crank-nav .wp-block-navigation-item__content { padding:10px 0; }
  .crank-ribbon-red, .crank-ribbon-dark { display:none; }
  .crank-about-badge { right:10px; }
}
@media (max-width:600px) {
  .crank-slide { padding:170px 24px 90px; }
  .crank-hero-title { font-size:38px !important; line-height:46px !important; }
  .crank-hero-panel { border-radius:32px; }
  .crank-arrow { display:none; }
  .crank-title { font-size:30px; line-height:38px; }
  .crank-faq-item summary { padding:22px 90px 22px 20px; font-size:17px; }
  .crank-faq-item .crank-faq-a { padding:0 20px 24px 20px; }
  .crank-news-form { flex-direction:column; align-items:stretch; gap:14px; }
  .crank-news-input { border-radius:30px; }
  .crank-news-form .wp-block-button__link { border-radius:30px !important; justify-content:center; }
  .crank-price-card { padding:30px 26px; }
}

/* ============ Huntsville-style sections (navy/orange, Montserrat/Inter) ============ */
.hv-services, .hv-why, .hv-pricing { font-family:'Inter',sans-serif; }
.hv-services h2, .hv-services h3, .hv-why h2, .hv-why h3,
.hv-pricing h2, .hv-pricing h3, .hv-pricing h4 { font-family:'Montserrat',sans-serif; }

.hv-kicker { font-family:'Montserrat',sans-serif; font-weight:700; font-size:13px; letter-spacing:2px; text-transform:uppercase; color:#E8092E; margin:0 0 10px !important; }
.hv-kicker-dark { font-family:'Montserrat',sans-serif; font-weight:700; font-size:13px; letter-spacing:2px; text-transform:uppercase; color:#171717; margin:0 0 10px !important; }
.hv-title { font-weight:800; font-size:38px; line-height:1.25; color:#171717; margin:0 0 14px !important; }
.hv-title-light { font-weight:800; font-size:38px; line-height:1.25; color:#ffffff !important; margin:0 0 14px !important; }
.hv-sub { font-size:16px; color:#4B5563; max-width:720px; margin:0 auto 24px !important; }
.hv-sub-light { font-size:15px; color:#CBD5E1; max-width:720px; margin:0 auto 24px !important; }


/* ---------- Services grid (dark) ---------- */
.hv-services { background:#171717; padding:36px 0; margin-top:36px; }
.hv-svc-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-bottom:24px; }
.hv-svc-card { background:#ffffff; border-radius:12px; overflow:hidden; height:100%; display:flex; flex-direction:column; }
.hv-svc-img { margin:0 !important; }
.hv-svc-img img { width:100%; height:190px; object-fit:cover; display:block; }
.hv-svc-card .hv-svc-title { color:#171717 !important; font-size:19px; font-weight:700; margin:0 !important; padding:22px 24px 8px; }
.hv-svc-card .hv-svc-text { color:#4B5563; font-size:14px; line-height:1.65; margin:0 !important; padding:0 24px 14px; flex:1; }
.hv-svc-more { margin:0 !important; padding:0 24px 24px; }
.hv-svc-more a { display:inline-block; background:#e10600; color:#fff !important; font-size:14px; font-weight:700; padding:11px 26px; border-radius:50px; text-decoration:none; transition:transform .25s ease, box-shadow .25s ease; }
.hv-svc-more a:hover { transform:translateY(-2px); box-shadow:0 10px 24px rgba(225,6,0,.3); color:#fff !important; }
.hv-svc-foot { color:#CBD5E1; font-size:14px; margin:0 0 10px !important; }
.hv-btn .wp-block-button__link { background:#E8092E !important; }
.hv-btn .wp-block-button__link::after { background:#171717 !important; }

/* ---------- Why Choose Us ---------- */
.hv-why { padding:36px 0; }
.hv-why-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; align-items:stretch; }
.hv-why-card { background:#ffffff; border-radius:12px; overflow:hidden; box-shadow:0 10px 30px rgba(11,48,60,.08); display:flex; flex-direction:column; position:relative; height:100%; }
/* WordPress wraps group-block inner content in .wp-block-group__inner-container:
   carry the flex column through it so .hv-why-top{flex:1} still pins the number bar to the bottom */
.hv-why-card > .wp-block-group__inner-container { display:flex; flex-direction:column; flex:1; }
.hv-why-top { padding:38px 30px 30px; text-align:center; flex:1; }
.hv-why-icon { font-size:38px; color:#171717; margin:0 0 18px !important; line-height:44px; height:44px; overflow:hidden; text-align:center; }
.hv-why-title { color:#171717 !important; font-size:18px; font-weight:700; margin:0 0 12px !important; }
.hv-why-text { color:#4B5563; font-size:14px; line-height:1.7; margin:0 !important; }
.hv-why-bar { background:#171717; height:64px; position:relative; }
.hv-why-num { position:absolute; left:50%; top:-22px; transform:translateX(-50%); width:44px; height:44px; border-radius:50%; background:#ffffff; color:#171717; font-family:'Montserrat',sans-serif; font-weight:700; font-size:15px; display:flex; align-items:center; justify-content:center; box-shadow:0 6px 16px rgba(11,48,60,.18); }

/* ---------- Why Choose Us scroll reveal (matches below-hero counter animation) ---------- */
.hv-why-grid.hv-anim .hv-why-card { opacity:0; }
.hv-why-grid.hv-anim .hv-why-card.hv-in { opacity:1; transition:opacity .7s ease; }

/* ---------- Pricing ---------- */
.hv-pricing { padding:36px 0; }
.hv-price-top { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-bottom:24px; }
.hv-price-box { background:#171717; border-radius:12px; padding:36px 34px; height:100%; }
.hv-price-box-title { color:#ffffff !important; font-size:20px; font-weight:700; margin:0 0 12px !important; }
.hv-price-box-text { color:#CBD5E1; font-size:15px; line-height:1.7; margin:0 !important; }
.hv-cost-head { color:#171717 !important; font-size:24px; font-weight:800; margin:0 0 26px !important; }
.hv-cost-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-bottom:20px; }
.hv-cost-card { background:#F4F7F8; border-radius:12px; padding:30px 28px; height:100%; }
.hv-cost-name { color:#171717 !important; font-size:18px; font-weight:700; margin:0 0 8px !important; }
.hv-cost-parts { color:#4B5563; font-size:14px; margin:0 0 16px !important; min-height:44px; }
.hv-cost-price { color:#171717 !important; font-family:'Montserrat',sans-serif; font-size:26px; font-weight:800; margin:0 !important; }
.hv-note { color:#4B5563; font-size:14px; line-height:1.7; margin:0 !important; }
.hv-note strong { color:#171717; }

/* ---------- Responsive ---------- */
@media (max-width:1000px) {
  .hv-svc-grid, .hv-why-grid, .hv-cost-grid { grid-template-columns:repeat(2,1fr); }
  .hv-price-top { grid-template-columns:1fr; }
}
@media (max-width:640px) {
  .hv-svc-grid, .hv-why-grid, .hv-cost-grid { grid-template-columns:1fr; }
.hv-title, .hv-title-light { font-size:30px; }
  .hv-services, .hv-why, .hv-pricing { padding:30px 0; }
}

/* ---------- Service Areas (v1.0.12) ---------- */
.hv-areas { padding:36px 0; }
.hv-areas-chips { display:flex; flex-wrap:wrap; gap:14px; justify-content:center; margin-top:6px; }
.hv-areas-chip { margin:0 !important; border:1px solid #E2E8F0; background:#ffffff; border-radius:999px; padding:12px 28px; font-family:'Montserrat',sans-serif; font-weight:600; font-size:15px; color:#171717; }

/* ---------- Final CTA (v1.0.12) ---------- */
.crank-cta-panel { max-width:1710px; margin:36px auto 0; background:#171717; border-radius:40px; padding:64px 40px; position:relative; overflow:hidden; }
.crank-cta-panel::before { content:''; position:absolute; width:420px; height:420px; border-radius:50%; filter:blur(182px); opacity:.5; pointer-events:none; background:#FF0000; top:-160px; right:-120px; }
.crank-cta-panel .crank-container { position:relative; z-index:2; }
.crank-cta-panel .crank-kicker { text-align:center; }
.crank-cta-text { color:#CBD5E1; font-size:17px; margin:0 0 30px !important; }
.crank-cta-btn .wp-block-button__link { background:#E8092E !important; color:#ffffff !important; border-radius:999px; padding:16px 46px; font-weight:700; font-size:16px; border:none; }
.crank-cta-btn .wp-block-button__link:hover { background:#ffffff !important; color:#171717 !important; }

@media (max-width:640px) {
  .hv-areas { padding:30px 0; }
  .crank-cta-panel { padding:48px 24px; border-radius:28px; }
}

/* ---------- Tight kicker-to-title spacing everywhere (v1.0.14) ---------- */
/* The generic .crank-page p / h2 rules were overriding the intended tight
   kicker/title margins; these win back the spacing in every section. */
.crank-page p.crank-kicker { margin:0 0 8px !important; }
.crank-page h2.crank-title { margin-top:0 !important; }
.crank-page .crank-section-head > * + * { margin-top:0 !important; }
.crank-page p.hv-kicker,
.crank-page p.hv-kicker-dark { margin-bottom:8px !important; }
.crank-page h2.hv-title,
.crank-page h2.hv-title-light { margin-top:0 !important; }

/* ---------- 4-column process grid (v1.0.15) ---------- */
.hv-why-grid.hv-cols-4 { grid-template-columns:repeat(4,1fr); }
@media (max-width:1000px) {
  .hv-why-grid.hv-cols-4 { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:640px) {
  .hv-why-grid.hv-cols-4 { grid-template-columns:1fr; }
}

/* ---------- Trust signals (v1.0.17) ---------- */
.crank-trust-icon { font-size:40px; margin:0 0 14px !important; }
.crank-trust-title { color:#fff !important; font-size:20px; font-weight:700; margin:0 0 8px !important; }
.crank-trust-text { color:#CBD5E1; font-size:15px; margin:0 !important; }
.crank-trust-cells.hv-anim .crank-trust-cell { opacity:0; transform:translateY(38px); }
.crank-trust-cells.hv-anim .crank-trust-cell.hv-in { opacity:1; transform:none; transition:opacity .7s ease, transform .7s ease; }

/* ---------- Service area groups (v1.0.17) ---------- */
.hv-areas-groups { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.hv-areas-group { background:#fff; border:1px solid #E2E8F0; border-radius:12px; padding:28px; }
.hv-areas-title { font-size:18px; font-weight:700; color:#171717; margin:0 0 10px !important; }
.hv-areas-text { color:#4B5563; font-size:15px; line-height:1.7; margin:0 !important; }

/* ---------- Testimonial stars (v1.0.17) ---------- */
.crank-t-stars { color:#E8092E; letter-spacing:3px; font-size:18px; margin:0 0 12px !important; }

@media (max-width:1000px) {
  .hv-areas-groups { grid-template-columns:1fr 1fr; }
}
@media (max-width:640px) {
  .hv-areas-groups { grid-template-columns:1fr; }
}

/* ---------- Latest Service cards animation ---------- */
.crank-svc-anim .crank-service-card { opacity:0; transform:translateY(38px); }
.crank-svc-anim .crank-service-card.crank-svc-in { opacity:1; transform:none; transition:opacity .7s ease, transform .7s ease, background .35s ease, box-shadow .35s ease; }
.crank-svc-anim .crank-service-card.crank-svc-in:hover { transform:translateY(-10px); }
.crank-service-icon { animation:crank-icon-pulse 3.2s ease-in-out infinite; }
.crank-services-panel .wp-block-column:nth-child(2) .crank-service-icon { animation-delay:1.05s; }
.crank-services-panel .wp-block-column:nth-child(3) .crank-service-icon { animation-delay:2.1s; }
@keyframes crank-icon-pulse {
  0%, 100% { box-shadow:0 0 0 0 rgba(232,9,46,0); }
  50% { box-shadow:0 0 0 10px rgba(232,9,46,.14); }
}

/* ---------- Text-only testimonial cards (no photo) ---------- */
.crank-t-card.crank-t-card-text { padding:34px 40px 30px; min-height:0; }
.crank-t-stars { color:#F5A623; font-size:20px; letter-spacing:4px; margin:0 0 14px !important; }

/* ---------- Custom cursor: red ring + dot following the mouse ---------- */
.crank-cursor-dot, .crank-cursor-ring { position:fixed; top:0; left:0; pointer-events:none; z-index:99999; border-radius:50%; }
.crank-cursor-dot { width:8px; height:8px; background:#E8092E; transform:translate(-50%,-50%); }
.crank-cursor-ring { width:38px; height:38px; border:2px solid rgba(232,9,46,.65); transform:translate(-50%,-50%); transition:width .25s ease, height .25s ease, border-color .25s ease; }

/* ---------- Mobile hamburger menu (v1.0.47) ---------- */
@media (max-width:900px) {
  .crank-header-inner { flex-wrap:nowrap; padding:12px 20px; }
  .crank-nav .wp-block-navigation__responsive-container-open {
    background:#E8092E; border:none; border-radius:10px; padding:10px;
  }
  .crank-nav .wp-block-navigation__responsive-container-open svg { fill:#fff; width:28px; height:28px; }
  /* Overlay menu */
  .crank-nav .wp-block-navigation__responsive-container.is-menu-open {
    background:#171717 !important; padding:80px 30px 30px;
  }
  .crank-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close {
    top:20px; right:20px;
  }
  .crank-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close svg { fill:#fff; }
  .crank-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
    color:#fff !important; font-size:22px; padding:12px 0;
  }
  .crank-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
    background:#232323; border:none;
  }
}

/* ---------- Process bullet points (v1.0.49) ---------- */
.hv-why-points { list-style:disc; text-align:left; display:inline-block; margin:0 auto !important; padding-left:22px !important; color:#4B5563; font-size:14px; line-height:1.7; }
.hv-why-points li { margin-bottom:6px; }
.hv-why-points li::marker { color:#E8092E; }

/* ---------- Counter boxes uniform height (v1.0.49) ---------- */
.crank-counter-cells { align-items:stretch; }
.crank-counter-cell { height:100%; }

/* ---------- Pricing boxes (v1.0.52) ---------- */
.hv-price-grid { margin:36px 0 10px; }
.hv-price-box { background:#171717; border:1px solid rgba(255,255,255,.14); border-radius:20px; padding:34px 36px; color:#fff; height:100%; box-shadow:0 18px 50px rgba(0,0,0,.28); }
.hv-price-top { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:20px; }
.hv-price-name { color:#fff !important; font-size:24px; font-weight:800; text-transform:uppercase; letter-spacing:.5px; margin:0 !important; font-family:'Archivo',sans-serif; }
.hv-price-amount { color:#fff !important; font-size:40px; font-weight:800; font-family:'Archivo',sans-serif; margin:0; white-space:nowrap; }
.hv-price-points { list-style:none; margin:0 !important; padding:0 !important; color:#D7DDE5; font-size:15px; line-height:1.7; }
.hv-price-points li { position:relative; padding-left:30px; margin-bottom:10px; }
.hv-price-points li::before { content:'\2713'; position:absolute; left:0; top:0; color:#E8092E; font-weight:700; font-size:17px; }
.hv-price-points.hv-price-cols { display:grid; grid-template-columns:1fr 1fr; gap:4px 24px; }
.hv-price-subhead { color:#171717 !important; font-size:22px; font-weight:700; margin:34px 0 20px !important; text-align:left !important; }
.hv-cost-grid { display:block; }
.hv-cost-box { background:#171717; border:1px solid rgba(255,255,255,.14); border-radius:16px; padding:26px 24px; text-align:center; height:100%; box-shadow:0 18px 50px rgba(0,0,0,.28); }
.hv-cost-name { color:#fff !important; font-size:17px; font-weight:700; margin:0 0 8px !important; }
.hv-cost-parts { color:#B8C0CC; font-size:13px; line-height:1.6; margin:0 0 14px !important; }
.hv-cost-amount { color:#fff !important; font-size:24px; font-weight:800; font-family:'Archivo',sans-serif; margin:0; }
.hv-price-note { color:#4B5563; font-size:14px; line-height:1.7; max-width:820px; margin:28px auto 0 !important; }
@media (max-width:900px) {
  .hv-price-grid { grid-template-columns:1fr; }
  .hv-cost-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:640px) {
  .hv-cost-grid { grid-template-columns:1fr; }
  .hv-price-points.hv-price-cols { grid-template-columns:1fr; }
  .hv-price-amount { font-size:32px; }
}
/* WordPress group wrappers for pricing grids */
.hv-price-grid > .wp-block-group__inner-container { display:grid; grid-template-columns:repeat(2,1fr); gap:28px; }
.hv-cost-grid > .wp-block-group__inner-container { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
@media (max-width:900px) {
  .hv-price-grid > .wp-block-group__inner-container { grid-template-columns:1fr; }
  .hv-cost-grid > .wp-block-group__inner-container { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:640px) {
  .hv-cost-grid > .wp-block-group__inner-container { grid-template-columns:1fr; }
}

/* ---------- Pricing full-width + uniform boxes (v1.0.56) ---------- */
.hv-price-grid, .hv-cost-grid { max-width:none !important; }
.hv-price-grid > .wp-block-group__inner-container,
.hv-cost-grid > .wp-block-group__inner-container { max-width:none !important; }
.hv-cost-grid > .wp-block-group__inner-container { grid-auto-rows:1fr; align-items:stretch; }
.hv-cost-box { height:100%; }
.hv-cost-box > .wp-block-group__inner-container { height:100%; display:flex; flex-direction:column; }
.hv-cost-parts { flex:1; }

/* ---------- Service pages (v1.0.59) ---------- */
body.al-crank-page #masthead, body.al-crank-page #colophon, body.al-crank-page .entry-header { display:none !important; }
.crank-svc-hero { background:#0d0d0d; padding:96px 0 72px; }
.crank-svc-title { color:#fff !important; font-size:clamp(32px,4.5vw,54px); font-weight:800; line-height:1.15; margin:16px 0 !important; }
.crank-svc-sub { color:#cfcfcf; font-size:18px; max-width:720px; margin:0 auto 30px !important; }
@media (max-width:768px){ .crank-svc-hero { padding:64px 0 52px; } }

/* ---------- Service details page (Crank-style, v1.0.61) ---------- */
.svc-crumb { color:#8f8f8f !important; font-size:13px; letter-spacing:2px; text-transform:uppercase; margin:0 0 14px !important; }
.svc-crumb a { color:#c9c9c9; text-decoration:none; }
.svc-crumb a:hover { color:#E8092E; }
.svc-crumb-sep { margin:0 8px; color:#555; }
.svc-title { color:#fff !important; font-size:clamp(34px,4.5vw,56px); font-weight:800; line-height:1.12; margin:0 0 16px !important; }
.svc-sub { color:#c9c9c9; font-size:18px; line-height:1.65; max-width:760px; margin:0 !important; }
.svc-img { margin:0 0 26px !important; }
.svc-img img { width:100%; height:auto; border-radius:14px; display:block; }
.svc-h2 { color:#141414 !important; font-size:clamp(24px,3vw,34px); font-weight:800; margin:0 0 14px !important; }
.svc-text { color:#4b5563; font-size:17px; line-height:1.7; margin:0 0 14px !important; }
.svc-h3 { color:#141414 !important; font-size:22px; font-weight:700; margin:26px 0 14px !important; }
.svc-check { list-style:none !important; margin:0 0 26px !important; padding:0 !important; }
.svc-check li { position:relative; color:#333; font-size:16px; line-height:1.6; padding:8px 0 8px 36px; }
.svc-check li::before { content:""; position:absolute; left:0; top:10px; width:22px; height:22px; border-radius:50%; background:#E8092E; }
.svc-check li::after { content:""; position:absolute; left:7px; top:15px; width:8px; height:5px; border-left:2.5px solid #fff; border-bottom:2.5px solid #fff; transform:rotate(-45deg); }
.svc-side-box { background:#141414; border:1px solid #2b2b2b; border-radius:14px; padding:28px !important; }
.svc-side-box > .wp-block-group__inner-container { padding:0 !important; }
.svc-side-title { color:#fff !important; font-size:20px; font-weight:700; margin:0 0 16px !important; padding-bottom:14px; border-bottom:2px solid #E8092E; }
.svc-side-list { list-style:none !important; margin:0 !important; padding:0 !important; }
.svc-side-item { border-bottom:1px solid #2b2b2b; }
.svc-side-item:last-child { border-bottom:none; }
.svc-side-item a { display:flex; justify-content:space-between; align-items:center; color:#d7d7d7; text-decoration:none; font-size:15.5px; font-weight:500; padding:11px 4px; transition:color .2s, padding-left .2s; }
.svc-side-item a:hover { color:#E8092E; padding-left:10px; }
.svc-side-item.is-active a { color:#E8092E; font-weight:700; }
.svc-side-arrow { color:#E8092E; font-weight:700; }
.svc-help { background:#E8092E; border-radius:14px; padding:30px 28px !important; }
.svc-help > .wp-block-group__inner-container { padding:0 !important; }
.svc-help-title { color:#fff !important; font-size:22px; font-weight:800; margin:0 0 10px !important; }
.svc-help-text { color:#ffe3e6; font-size:15.5px; line-height:1.6; margin:0 0 16px !important; }
.svc-help-phone { margin:0 !important; }
.svc-help-phone a { color:#fff; font-size:22px; font-weight:800; text-decoration:none; }
.svc-priceband { background:#f4f4f5; }
.svc-priceband .hv-price-box { max-width:860px; margin:0 auto; }
@media (max-width:900px){
}

/* ---------- Inner pages (v1.0.62) ---------- */
.svc-hero-inner { padding:70px 0 56px; background:#0a0a0a; }
.svc-hero-inner .svc-crumb, .svc-hero-inner .svc-crumb a { color:#9a9a9a !important; }
.svc-hero-inner .svc-crumb .svc-crumb-sep { color:#e10600; }
.svc-hero-inner .svc-title { color:#fff !important; }
.svc-hero-inner .svc-sub { color:#c9c9c9; }
.contact-grid > .wp-block-group__inner-container { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.contact-card { background:#141414; border:1px solid #2b2b2b; border-radius:14px; padding:32px 28px !important; text-align:center; }
.contact-card > .wp-block-group__inner-container { padding:0 !important; }
.contact-icon { font-size:38px; margin:0 0 12px !important; }
.contact-title { color:#fff !important; font-size:20px; font-weight:700; margin:0 0 8px !important; }
.contact-text { color:#c9c9c9; font-size:16px; margin:0 !important; }
@media (max-width:900px){
  .contact-grid > .wp-block-group__inner-container { grid-template-columns:1fr; }
}


/* ---------- Service hero card (v1.0.68) ---------- */
.svc-hero-new { background:#ffffff; padding:32px 0 0; }
.svc-hero-card { background:#0a0a0a; border-radius:22px; padding:64px 48px; text-align:center; }
.svc-hero-kicker { color:#fff !important; font-size:14px; font-weight:700; letter-spacing:2.5px; text-transform:uppercase; margin:0 0 18px !important; }
.svc-hero-title { color:#fff !important; font-size:clamp(28px,4vw,40px); font-weight:600; line-height:1.2; margin:0 0 22px !important; }
.svc-hero-text { color:#e9e9e9; font-size:17px; line-height:1.7; max-width:840px; margin:0 auto 42px !important; }
.svc-hero-links { margin:24px 0 0 !important; display:flex; justify-content:center; gap:16px; flex-wrap:wrap; }
.svc-hero-links a { display:inline-block; background:#e10600; color:#fff !important; font-size:16px; font-weight:700; padding:14px 34px; border-radius:50px; text-decoration:none; transition:transform .25s ease, box-shadow .25s ease; }
.svc-hero-links a:hover { transform:translateY(-3px); box-shadow:0 12px 28px rgba(225,6,0,.35); color:#fff !important; }
.svc-hero-links a:last-child { background:transparent; border:2px solid rgba(255,255,255,.5); }
.svc-hero-links a:last-child:hover { border-color:#fff; box-shadow:none; }
@media (max-width:640px){
  .svc-hero-new { padding:24px 12px 4px; }
  .svc-hero-card { padding:48px 24px; border-radius:18px; }
  .svc-hero-links { gap:24px; }
}

/* ---------- Service page content sections (v1.0.69) ---------- */
.svc-kicker { text-align:center; font-size:13px; font-weight:700; letter-spacing:2.5px; text-transform:uppercase; color:#141414; margin:0 0 14px !important; }
.svc-sec-title { text-align:center; color:#141414 !important; font-size:clamp(26px,3.4vw,36px); font-weight:700; line-height:1.2; margin:0 0 14px !important; }
.svc-sec-sub { text-align:center; color:#4b5563; font-size:16.5px; line-height:1.65; max-width:740px; margin:0 auto 28px !important; }
.svc-ph-grid > .wp-block-group__inner-container { display:grid; grid-template-columns:1fr 1fr; grid-auto-rows:1fr; gap:24px; }
.svc-ph-box { background:#101010; border-radius:10px; box-sizing:border-box; padding:24px 22px; color:#e9e9e9; display:flex; flex-direction:column;
  transition:transform .35s ease, box-shadow .35s ease, opacity .7s ease; }
/* scroll reveal (JS adds .svc-anim / .svc-in) */
.svc-ph-grid.svc-anim .svc-ph-box { opacity:0; transform:translateY(26px); }
.svc-ph-grid.svc-anim .svc-ph-box.svc-in { opacity:1; transform:translateY(0); }
/* hover animation */
.svc-ph-box:hover { transform:translateY(-6px); box-shadow:0 18px 42px rgba(232,9,46,.28); }
/* boxes inside the black card: white */
.svc-dark-card .svc-ph-box { background:#ffffff; color:#1a1a1a; }
.svc-dark-card .svc-ph-box .svc-box-title { color:#1a1a1a; }
.svc-dark-card .svc-ph-box p { color:#333; }
.svc-dark-card .svc-ph-grid.svc-anim .svc-ph-box { transform:translateY(26px); }
.svc-dark-card .svc-ph-grid.svc-anim .svc-ph-box.svc-in { transform:translateY(0); }
.svc-dark-card .svc-ph-box:hover { transform:translateY(-6px); box-shadow:0 18px 42px rgba(255,255,255,.16); }
.svc-ph-box > .wp-block-group__inner-container { padding:0 !important; }
.svc-dark-card { background:#0a0a0a; border-radius:22px; padding:56px 36px; }
.svc-dark-card > .wp-block-group__inner-container { padding:0 !important; }
.svc-kicker-light { color:#fff !important; }
.svc-sec-title-light { color:#fff !important; margin-bottom:40px !important; }
.svc-price-card { background:#0a0a0a; border-radius:18px; padding:38px 44px; max-width:940px; margin-left:auto; margin-right:auto; }
.svc-price-card > .wp-block-group__inner-container { padding:0 !important; }
.svc-price-head > .wp-block-group__inner-container { display:flex; justify-content:space-between; align-items:center; gap:24px; flex-wrap:wrap; }
.svc-price-kicker { color:#fff !important; font-size:16px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; margin:0 !important; }
.svc-price-amount { color:#fff !important; font-size:clamp(30px,4vw,42px); font-weight:800; margin:0 !important; }
.svc-price-list { list-style:none !important; margin:26px 0 0 !important; padding:0 !important; }
.svc-price-list li { position:relative; color:#ececec; font-size:16.5px; line-height:1.55; padding:7px 0 7px 34px; }
.svc-price-list li::before { content:"\2713"; position:absolute; left:0; top:6px; color:#E8092E; font-weight:800; font-size:19px; }
@media (max-width:700px){
  .svc-ph-grid > .wp-block-group__inner-container { grid-template-columns:1fr; }
  .svc-dark-card { padding:44px 24px; border-radius:18px; }
  .svc-price-card { padding:30px 24px; }
}

/* ---------- Persistent 2-col service layout with sticky sidebar (v1.0.70) ---------- */
.svc-cols { background:#fff; padding:8px 0 44px; }
.svc-cols-inner > .wp-block-group__inner-container { display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:44px; align-items:start; }
.svc-cols-main > .wp-block-group__inner-container { display:flex; flex-direction:column; gap:44px; }
.svc-block > .wp-block-group__inner-container { padding:0 !important; }
.svc-cols-side { position:sticky; top:110px; z-index:5; }
.svc-cols-side > .wp-block-group__inner-container { display:flex; flex-direction:column; gap:24px; padding:0 !important; }
@media (max-width:900px){
  .svc-cols-inner > .wp-block-group__inner-container { grid-template-columns:minmax(0,1fr); }
  .svc-cols-side { position:static; }
  .svc-cols-main > .wp-block-group__inner-container { gap:36px; }
}

/* ---------- New service sections: pricing / why / how / faqs (v1.0.76) ---------- */
.svc-grid-3 > .wp-block-group__inner-container { grid-template-columns:repeat(3, 1fr); }
.svc-sec-sub-light { color:#e9e9e9 !important; }
.svc-faq-bars > .wp-block-group__inner-container { display:flex; flex-direction:column; gap:16px; }
.svc-faq-bar { background:#101010; border-radius:12px; min-height:64px; box-sizing:border-box; padding:20px 24px; color:#fff;
  transition:transform .35s ease, box-shadow .35s ease, opacity .7s ease; }
.svc-faq-bars.svc-anim .svc-faq-bar { opacity:0; transform:translateY(20px); }
.svc-faq-bars.svc-anim .svc-faq-bar.svc-in { opacity:1; transform:translateY(0); }
.svc-faq-bar:hover { transform:translateX(6px); box-shadow:0 10px 30px rgba(232,9,46,.20); }
@media (max-width:700px){
  .svc-grid-3 > .wp-block-group__inner-container { grid-template-columns:1fr; }
}

/* ---------- Service box content (v1.0.77) ---------- */
.svc-ph-box .svc-box-title { color:#fff; font-size:19px; font-weight:700; margin:0 0 12px; line-height:1.35; }
.svc-ph-box p { color:#cfcfcf; font-size:15px; line-height:1.65; margin:0 0 10px; }
.svc-ph-box p:last-child { margin-bottom:0; }
.svc-ph-box .svc-box-sub { color:#e9e9e9; font-size:15.5px; }
.svc-ph-box .svc-box-price { color:#e8092e; font-size:22px; font-weight:800; margin:6px 0 0; }
.svc-dark-card .svc-ph-box .svc-box-title { color:#101010; }
.svc-dark-card .svc-ph-box p { color:#4b5563; }
.svc-dark-card .svc-ph-box .svc-box-sub { color:#333; }
.svc-faq-bar .svc-faq-q { font-size:17.5px; font-weight:700; margin:0 0 8px; color:#fff; }
.svc-faq-bar .svc-faq-a { font-size:15px; line-height:1.65; color:#cfcfcf; margin:0; }
.svc-hero-extra { color:#e9e9e9 !important; font-size:15.5px; margin:14px 0 0 !important; max-width:640px; }
.svc-hero-badges { color:#9a9a9a !important; font-size:13.5px; margin:10px 0 0 !important; }
.svc-note { margin-top:20px !important; color:#4b5563; font-size:15.5px; }
.svc-note-center { text-align:center; }
.svc-dark-card .svc-note { color:#e9e9e9; }

/* Empty placeholder boxes: fixed uniform size (v1.0.82) */
.svc-ph-box.svc-empty { height:200px; min-height:200px; max-height:200px; }
.svc-faq-bar.svc-empty { height:64px; min-height:64px; max-height:64px; }

/* Pricing notes as stacked lines (not boxes) */
.svc-pricing-notes { margin-top:28px; }
.svc-pricing-notes p { color:#e9e9e9; font-size:15.5px; line-height:1.7; margin:0 0 12px; }
.svc-pricing-notes p:last-child { margin-bottom:0; }
.svc-pricing-notes strong { color:#fff; }

/* ============ ABOUT US PAGE ============ */
.svc-btn { margin:18px 8px 0 0; display:inline-block; vertical-align:middle; }
.svc-btn a, .svc-btn button { display:inline-block; background:#e10600; color:#fff !important; font-weight:700; font-size:16px; padding:14px 32px; border-radius:50px; text-decoration:none; transition:transform .25s ease, box-shadow .25s ease; border:2px solid #e10600; box-sizing:border-box; cursor:pointer; font-family:inherit; }
.svc-btn a:hover { transform:translateY(-3px); box-shadow:0 12px 28px rgba(225,6,0,.35); }
.svc-btn-ghost a { background:transparent; border:2px solid rgba(255,255,255,.5); color:#fff !important; }
.svc-btn-ghost a:hover { border-color:#fff; box-shadow:none; }
.about-hero-ctas { margin-top:24px; text-align:center; }
.about-hero .about-hero-ctas { justify-content:center; }
.about-hero-ctas > .wp-block-group__inner-container { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.about-tagline { font-size:20px; color:#0a0a0a; border-left:4px solid #e10600; padding-left:18px; margin-top:24px; }
.about-note { text-align:center; color:#6b7280; font-size:15px; margin-top:20px; }
.about-svc-card { text-align:left; }
.about-svc-card .svc-box-title { font-size:19px; margin-bottom:10px; }
.about-card-link { margin-top:14px; font-size:15px; color:#e10600; }
.about-step-num { display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; background:#e10600; color:#fff; font-size:17px; font-weight:800; border-radius:50%; margin-right:10px; vertical-align:middle; }
.about-why-card { background:#0a0a0a; border:1px solid #1a1a1a; }
.about-why-card .svc-box-title { color:#ffffff; }
.about-why-card p { color:#d4d4d4; }
.about-serve { text-align:center; }
.about-serve .svc-kicker, .about-serve .svc-sec-title { text-align:center; }
.about-commitment, .about-final-cta { text-align:center; }
.about-commitment .svc-kicker, .about-commitment .svc-sec-title,
.about-final-cta .svc-kicker, .about-final-cta .svc-sec-title { text-align:center; }
.about-final-cta .svc-btn { margin-top:24px; }
@media (max-width:640px) {
  .about-hero-ctas > .wp-block-group__inner-container { flex-direction:column; align-items:stretch; }
  .svc-btn { text-align:center; }
}

/* About Us text readability */
.about-approach, .about-serve { max-width:820px; margin-left:auto; margin-right:auto; }
.about-approach p, .about-serve p { font-size:17px; line-height:1.85; margin-bottom:18px; color:#3a3a3a; }
.about-approach .svc-sec-title, .about-serve .svc-sec-title { margin-bottom:22px; }
.about-note { max-width:720px; margin:28px auto 0; font-size:16px; line-height:1.7; }
.about-svc-card { padding:34px 30px; }
.about-svc-card p { font-size:15.5px; line-height:1.75; }
.about-why-card { padding:34px 30px; }
.about-why-card p { font-size:15.5px; line-height:1.75; }

/* About Us: keep boxes off the screen edges */
.page-id-148 .svc-block, .page-about-us .svc-block { padding-left:24px; padding-right:24px; }
@media (max-width:640px) {
  .page-id-148 .svc-block, .page-about-us .svc-block { padding-left:16px; padding-right:16px; }
}

/* ============ TERMS PAGE ============ */
.terms-hero { text-align:center; }
.terms-hero .svc-kicker, .terms-hero .svc-sec-title { text-align:center; }
.terms-updated { margin-top:20px; text-align:center; }
.terms-updated-badge { display:inline-block; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.25); color:#fff; font-size:14px; font-weight:600; padding:8px 20px; border-radius:50px; }
.terms-toc > .wp-block-group__inner-container { display:grid; grid-template-columns:repeat(3, 1fr); gap:10px; margin-top:20px; }
.terms-toc-item { margin:0 !important; }
.terms-toc-item a { display:flex; align-items:center; gap:10px; background:#f6f6f8; border:1px solid #e8e8ec; border-radius:12px; padding:12px 16px; font-size:14.5px; font-weight:600; color:#1a1a1a; text-decoration:none; transition:all .2s ease; }
.terms-toc-item a:hover { background:#0a0a0a; color:#fff; border-color:#0a0a0a; }
.terms-toc-num { display:inline-flex; align-items:center; justify-content:center; min-width:28px; height:28px; background:#e10600; color:#fff; font-size:13px; font-weight:800; border-radius:50%; }
.terms-list > .wp-block-group__inner-container { display:flex; flex-direction:column; gap:18px; margin-top:10px; max-width:860px; margin-left:auto; margin-right:auto; }
.terms-card { text-align:left; padding:30px 32px; background:#ffffff; border:1px solid #e8e8ec; }
.terms-card .svc-box-title { font-size:19px; margin-bottom:12px; display:flex; align-items:center; gap:12px; }
.terms-num { display:inline-flex; align-items:center; justify-content:center; min-width:36px; height:36px; background:#e10600; color:#fff; font-size:16px; font-weight:800; border-radius:50%; flex-shrink:0; }
.terms-card p { font-size:16px; line-height:1.8; color:#3a3a3a; margin:0; }
.page-id-149 .svc-block, .page-terms-and-conditions .svc-block, .svc-block:has(.terms-hero), .svc-block:has(.terms-toc), .svc-block:has(.terms-list) { padding-left:24px; padding-right:24px; }
@media (max-width:768px) {
  .terms-toc > .wp-block-group__inner-container { grid-template-columns:repeat(2, 1fr); }
}
@media (max-width:640px) {
  .page-id-149 .svc-block, .page-terms-and-conditions .svc-block, .svc-block:has(.terms-hero), .svc-block:has(.terms-toc), .svc-block:has(.terms-list) { padding-left:16px; padding-right:16px; }
  .terms-toc > .wp-block-group__inner-container { grid-template-columns:1fr; }
  .terms-card { padding:24px 22px; }
}

/* ============ OUR PROCESS PAGE ============ */
.process-hero { text-align:center; }
.process-hero .svc-kicker, .process-hero .svc-sec-title { text-align:center; }
.process-steps > .wp-block-group__inner-container { display:grid; grid-template-columns:repeat(3, 1fr); grid-auto-rows:1fr; gap:22px; margin-top:10px; }
.process-card { height:100%; display:flex; flex-direction:column; }
.process-card { text-align:left; padding:36px 32px; background:#ffffff; border:1px solid #e8e8ec; position:relative; overflow:hidden; }
.process-card::before { content:""; position:absolute; top:0; left:0; right:0; height:5px; background:#e10600; }
.process-num { display:inline-block; background:#0a0a0a; color:#fff; font-size:13px; font-weight:800; letter-spacing:1.5px; text-transform:uppercase; padding:7px 18px; border-radius:50px; margin-bottom:18px; }
.process-card .svc-box-title { font-size:19px; margin-bottom:12px; line-height:1.4; color:#000000; }
.process-card p { font-size:15.5px; line-height:1.8; color:#3a3a3a; margin:0; }
.svc-block:has(.process-hero), .svc-block:has(.process-steps) { padding-left:24px; padding-right:24px; }
@media (max-width:900px) {
  .process-steps > .wp-block-group__inner-container { grid-template-columns:repeat(2, 1fr); }
}
@media (max-width:640px) {
  .process-steps > .wp-block-group__inner-container { grid-template-columns:1fr; }
  .svc-block:has(.process-hero), .svc-block:has(.process-steps) { padding-left:16px; padding-right:16px; }
  .process-card { padding:28px 24px; }
}

/* Sticky Quick Navigation (no layout shift - uses position:sticky) */
.terms-toc-sticky { position:sticky; top:0; z-index:50; background:#ffffff; padding:14px 0; margin-left:-24px; margin-right:-24px; padding-left:24px; padding-right:24px; }
.terms-toc-sticky.is-stuck { box-shadow:0 6px 20px rgba(0,0,0,.08); }
@media (max-width:640px) {
  .terms-toc-sticky { margin-left:-16px; margin-right:-16px; padding-left:16px; padding-right:16px; }
}

/* ============ CONTACT PAGE ============ */
.contact-hero, .contact-final-cta { text-align:center; }
.contact-hero .svc-kicker, .contact-hero .svc-sec-title,
.contact-final-cta .svc-kicker, .contact-final-cta .svc-sec-title { text-align:center; }
.contact-hero-ctas { margin-top:24px; }
.contact-hero-ctas > .wp-block-group__inner-container { display:flex; flex-wrap:wrap; gap:12px; justify-content:center; align-items:center; }
.contact-hero-ctas .svc-btn { margin:0; }
.contact-card { text-align:left; padding:34px 30px; background:#0a0a0a; border:1px solid #1a1a1a; }
.contact-card .svc-box-title { font-size:19px; margin-bottom:12px; color:#ffffff; }
.contact-card p { font-size:15.5px; line-height:1.75; color:#d4d4d4; }
.contact-card-big { font-size:22px !important; font-weight:800; color:#e10600 !important; margin-bottom:12px !important; }
.contact-card .svc-btn { margin-top:16px; }
.contact-form-card { text-align:center; }
.contact-form-card .svc-kicker, .contact-form-card .svc-sec-title { text-align:center; }
.contact-fields > .wp-block-group__inner-container { display:grid; grid-template-columns:repeat(2, 1fr); gap:12px; margin:24px auto; max-width:760px; text-align:left; }
.contact-field { background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.2); border-radius:12px; padding:14px 18px; margin:0 !important; color:#fff; font-size:15px; }
.contact-field span { color:#b0b0b0; font-weight:400; }
.contact-form-card .svc-btn { margin-top:8px; }
.contact-form-note { color:#b0b0b0 !important; font-size:14px !important; margin-top:18px !important; max-width:640px; margin-left:auto; margin-right:auto; }
.contact-two-col > .wp-block-group__inner-container { display:grid; grid-template-columns:1fr 1fr; gap:40px; }
.contact-svc-list, .contact-area-list { list-style:none; padding:0; margin:0 0 20px; display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.contact-svc-list li, .contact-area-list li { background:#f6f6f8; border:1px solid #e8e8ec; border-radius:10px; padding:10px 16px; font-size:14.5px; font-weight:600; }
.contact-safety { background:#fef2f2; border:2px solid #fecaca; border-radius:18px; padding:40px 36px; }
.contact-safety .svc-box-title, .contact-safety .svc-sec-title { color:#991b1b; }
.contact-safety p { font-size:16px; line-height:1.8; color:#7f1d1d; }
.contact-faqs { max-width:860px; margin:0 auto; }
.contact-biz { color:#b0b0b0 !important; font-size:14.5px !important; margin-top:24px !important; }
.svc-block:has(.contact-hero), .svc-block:has(.contact-methods), .svc-block:has(.contact-form-card),
.svc-block:has(.contact-steps), .svc-block:has(.contact-two-col), .svc-block:has(.contact-safety),
.svc-block:has(.contact-faqs), .svc-block:has(.contact-final-cta) { padding-left:24px; padding-right:24px; }
@media (max-width:768px) {
  .contact-two-col > .wp-block-group__inner-container { grid-template-columns:1fr; gap:30px; }
  .contact-fields > .wp-block-group__inner-container { grid-template-columns:1fr; }
}
@media (max-width:640px) {
  .svc-block:has(.contact-hero), .svc-block:has(.contact-methods), .svc-block:has(.contact-form-card),
  .svc-block:has(.contact-steps), .svc-block:has(.contact-two-col), .svc-block:has(.contact-safety),
  .svc-block:has(.contact-faqs), .svc-block:has(.contact-final-cta) { padding-left:16px; padding-right:16px; }
  .contact-safety { padding:28px 22px; }
  .contact-svc-list, .contact-area-list { grid-template-columns:1fr; }
}

/* Service page FAQs - professional accordion design */
.svc-faq-bars > .wp-block-group__inner-container { display:flex; flex-direction:column; gap:12px; max-width:900px; margin:0 auto; }
.svc-faq-bar:has(details.svc-faq-acc) { background:transparent; padding:0; min-height:0; }
.svc-faq-bar:has(details.svc-faq-acc):hover { transform:none; box-shadow:none; }
details.svc-faq-acc { background:#fff; border:1px solid #e5e7eb; border-radius:12px; padding:0; overflow:hidden; box-shadow:0 1px 3px rgba(0,0,0,.04); transition:box-shadow .25s ease, border-color .25s ease; }
details.svc-faq-acc:hover { box-shadow:0 4px 12px rgba(0,0,0,.08); border-color:#d1d5db; }
details.svc-faq-acc[open] { border-color:#e10600; box-shadow:0 4px 16px rgba(225,6,0,.08); }
.svc-faq-acc summary { list-style:none; cursor:pointer; display:flex; align-items:center; gap:14px; padding:18px 64px 18px 20px; position:relative; font-weight:600; font-size:16.5px; color:#111827; line-height:1.4; }
.svc-faq-acc summary::-webkit-details-marker { display:none; }
.svc-faq-acc summary::after { content:'+'; position:absolute; right:16px; top:50%; transform:translateY(-50%); width:32px; height:32px; border-radius:50%; background:#f3f4f6; color:#374151; display:flex; align-items:center; justify-content:center; font-size:20px; font-weight:300; transition:all .25s ease; }
.svc-faq-acc:hover summary::after { background:#e10600; color:#fff; }
.svc-faq-acc[open] summary::after { content:'\2013'; background:#e10600; color:#fff; }
.svc-faq-acc .crank-faq-num { font-weight:700; font-size:14px; color:#e10600; flex-shrink:0; letter-spacing:.5px; }
.svc-faq-acc .crank-faq-a { padding:0 20px 20px 20px; color:#4b5563; font-size:15px; line-height:1.7; margin:0; border-top:1px solid #f3f4f6; padding-top:16px; margin-top:4px; }

/* Real contact form inputs */
.contact-real-form .contact-fields { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:24px 0; }
.contact-input { background:#1a1a1a; border:1px solid #333; border-radius:12px; padding:16px 18px; color:#fff; font-size:15.5px; width:100%; box-sizing:border-box; font-family:inherit; }
.contact-input::placeholder { color:#888; }
.contact-input:focus { outline:none; border-color:#e10600; }
.contact-textarea { grid-column:1 / -1; min-height:100px; resize:vertical; }
.contact-real-form select.contact-input { appearance:none; }
.contact-submit { font-family:inherit; }
@media (max-width:600px) { .contact-real-form .contact-fields { grid-template-columns:1fr; } }

/* Split hero: text left, image right */
.svc-hero-split > .wp-block-group__inner-container { display:flex; align-items:center; gap:40px; }
.svc-hero-textcol { flex:1 1 55%; min-width:0; }
.svc-hero-imgcol { flex:0 0 38%; max-width:420px; }
.svc-hero-img { margin:0; }
.svc-hero-img img { border-radius:16px; width:100%; height:320px; object-fit:cover; display:block; }
@media (max-width:768px) {
  .svc-hero-split > .wp-block-group__inner-container { flex-direction:column; }
  .svc-hero-imgcol { flex:none; max-width:100%; width:100%; }
  .svc-hero-img img { height:220px; }
}

.svc-centered-note { text-align:center; margin:20px auto 0; max-width:800px; }

/* ============ CONTRAST SAFEGUARDS ============ */
/* Ensure dark backgrounds always have light text */
.svc-dark-card, .svc-dark-card .svc-block { color:#e9e9e9; }
.svc-dark-card h1, .svc-dark-card h2, .svc-dark-card h3,
.svc-dark-card .svc-sec-title, .svc-dark-card .svc-kicker { color:#fff; }
/* Ensure white boxes always have dark text */
.svc-ph-box[style*="background:#fff"], .svc-ph-box[style*="background:#ffffff"],
.svc-dark-card .svc-ph-box { color:#1a1a1a; }
.svc-dark-card .svc-ph-box h1, .svc-dark-card .svc-ph-box h2,
.svc-dark-card .svc-ph-box h3, .svc-dark-card .svc-ph-box .svc-box-title { color:#111 !important; }
.svc-dark-card .svc-ph-box p, .svc-dark-card .svc-ph-box li { color:#333 !important; }
/* FAQ accordions: white bg, dark text */
details.svc-faq-acc, details.svc-faq-acc summary { color:#171717; }
details.svc-faq-acc .crank-faq-a { color:#4b5563; }

/* FAQ page side padding */
.crank-faq-list { padding-left:24px; padding-right:24px; }
.crank-faq-section { padding-left:24px; padding-right:24px; color:#111 !important; font-size:22px; font-weight:700; margin:32px 0 16px !important; }
.crank-faq-list .crank-faq-a { color:#1a1a1a !important; }
@media (max-width:768px) {
  .crank-faq-list, .crank-faq-section { padding-left:16px; padding-right:16px; }
}

/* Footer section black with white text */
.crank-footer { background:#0a0a0a !important; background-color:#0a0a0a !important; }
.crank-footer, .crank-footer p, .crank-footer a, .crank-footer li, .crank-footer span,
.crank-footer .wp-block-heading, .crank-footer h3, .crank-footer h4,
.crank-footer .crank-widget-title { color:#ffffff !important; }
.crank-footer a:hover { color:#e10600 !important; }
.crank-bottombar { border-top:1px solid rgba(255,255,255,.2); }
.crank-bottombar p, .crank-bottombar p a { color:#ffffff !important; }
.crank-bottombar-call a { display:inline-block; background:#e10600 !important; color:#fff !important; font-weight:700; padding:10px 24px; border-radius:50px; text-decoration:none; }
.crank-bottombar-call a:hover { background:#b30500 !important; }
.crank-footer-cta { text-align:center; padding:30px 20px; }
.crank-footer-call-btn a { display:inline-block; background:#e10600 !important; color:#fff !important; font-size:18px; font-weight:700; padding:16px 48px; border-radius:50px; text-decoration:none; }
.crank-footer-call-btn a:hover { background:#b30500 !important; }

/* Universal footer - black bg white text */
footer, .site-footer, .kadence-footer { background:#0a0a0a !important; }
footer p, footer a, footer li, footer span, footer h3, footer h4,
.site-footer p, .site-footer a, .kadence-footer p, .kadence-footer a { color:#fff !important; }

/* Footer side padding */
.crank-footer .crank-container { padding-left:24px; padding-right:24px; }
@media (max-width:768px) {
  .crank-footer .crank-container { padding-left:16px; padding-right:16px; }
}

/* Centered footer with black text */
.crank-footer { background:#f5f5f5 !important; background-color:#f5f5f5 !important; text-align:center; }
.crank-footer .crank-widgets { justify-content:center; text-align:center; }
.crank-footer .wp-block-column { text-align:center; }
.crank-footer, .crank-footer p, .crank-footer a, .crank-footer li, .crank-footer span,
.crank-footer .wp-block-heading, .crank-footer h3, .crank-footer h4,
.crank-footer .crank-widget-title { color:#111 !important; }
.crank-footer .crank-foot-links { list-style:none; padding:0; }
.crank-footer .crank-foot-links li { text-align:center; }
.crank-bottombar { flex-direction:column; text-align:center; border-top:1px solid rgba(0,0,0,.1); }
.crank-bottombar p, .crank-bottombar p a { color:#111 !important; }

.crank-footer-widgets { padding:40px 24px 20px; background:#0a0a0a !important; }
.crank-footer-widgets .crank-widget-title { color:#fff !important; font-size:20px; margin-bottom:16px !important; }
.crank-footer-widgets .crank-foot-links { list-style:none; padding:0; margin:0; }
.crank-footer-widgets .crank-foot-links li { margin:0 0 8px; }
.crank-footer-widgets .crank-foot-links a { color:#fff !important; text-decoration:none; font-size:15px; }
.crank-footer-widgets .crank-foot-links a:hover { color:#e10600 !important; }
.crank-footer-widgets p { color:#fff !important; font-size:15px; }

/* Hide theme's auto page-title H1 — custom H1 is in page content (SEO: single H1) */
.al-crank-page .entry-title, body.home .entry-title,
.al-crank-page .entry-header, body.home .entry-header,
.al-crank-page header.entry-header, body.home header.entry-header { display:none !important; }

/* Hide theme footer on managed pages (v1.0.181) */
.site-footer, .kadence-footer, #colophon { display:none !important; }

/* Single footer section (v1.0.182) */
.crank-footer-one { background:#0a0a0a !important; padding:50px 24px 30px; }
.crank-footer-one .crank-footer-cta-title { color:#fff !important; text-align:center; font-size:32px; margin-bottom:40px !important; }
.crank-footer-one .crank-widget-title { color:#fff !important; font-size:20px; margin-bottom:16px !important; }
.crank-footer-one .crank-foot-links { list-style:none; padding:0; margin:0; }
.crank-footer-one .crank-foot-links li { margin:0 0 10px; }
.crank-footer-one .crank-foot-links a { color:#fff !important; text-decoration:none; font-size:15px; }
.crank-footer-one .crank-foot-links a:hover { color:#e10600 !important; }
.crank-footer-one p { color:#fff !important; font-size:15px; margin-bottom:12px; }

/* Header logo (v1.0.185) */
.crank-logo { margin:0 !important; flex-shrink:0; }
.crank-logo img { height:60px; width:auto; max-width:200px; object-fit:contain; }
.crank-header-inner { display:flex; align-items:center; gap:20px; }
