/* ===== Contact us (9 Oct 2026). Always-on motion: drifting glow, floating phone photo, the three contact cards take turns lighting up,
   a pulse ring on the phone number. ===== */
.ct-hero{ position:relative; isolation:isolate; overflow:hidden; background:linear-gradient(200deg,#0b1a2c 0%,#0F2238 50%,#152C47 100%); color:#fff; }
.ct-aurora{ position:absolute; inset:0; z-index:-1; overflow:hidden; pointer-events:none; }
.ct-o1,.ct-o2{ position:absolute; border-radius:50%; filter:blur(80px); opacity:.5; }
.ct-o1{ width:540px; height:540px; right:-100px; top:-200px; background:radial-gradient(circle,#4F82C6 0%,transparent 68%); animation:ctDrift 18s ease-in-out infinite alternate; }
.ct-o2{ width:500px; height:500px; left:-140px; bottom:-220px; background:radial-gradient(circle,#3F72B5 0%,transparent 68%); animation:ctDrift 22s ease-in-out infinite alternate-reverse; }
@keyframes ctDrift{ from{ transform:translate(0,0) scale(1); } to{ transform:translate(-60px,40px) scale(1.15); } }
.ct-hero-grid{ display:grid; gap:48px; align-items:center; padding-block:clamp(56px,8vw,110px); }
@media(min-width:960px){ .ct-hero-grid{ grid-template-columns:1.1fr .9fr; gap:72px; } }
.ct-crumbs{ display:flex; gap:8px; flex-wrap:wrap; font:12px 'Geist Mono',monospace; color:rgba(255,255,255,.75); }
.ct-crumbs b{ color:#fff; font-weight:500; }
.ct-hero h1{ margin-top:24px; font-size:clamp(54px,8.4vw,116px); font-weight:500; line-height:.98; letter-spacing:-.045em; color:#fff; }
.ct-lede{ margin-top:22px; max-width:52ch; font-size:clamp(17px,1.6vw,20px); line-height:1.6; color:rgba(255,255,255,.9); }
.ct-btns{ display:flex; flex-wrap:wrap; gap:12px; margin-top:32px; }
.ct-frame{ position:relative; width:min(100%,460px); justify-self:center; }
.ct-frame .ct-ph{ position:relative; overflow:hidden; border-radius:26px; box-shadow:0 50px 80px -40px rgba(0,0,0,.75); animation:ctFloat 8s ease-in-out infinite; }
.ct-frame .ct-ph img{ width:100%; height:auto; aspect-ratio:4/3.4; object-fit:cover; display:block; animation:ctZoom 18s ease-in-out infinite alternate; }
.ct-ring{ position:absolute; right:-6%; top:-8%; width:92px; height:92px; border-radius:50%; background:var(--blue); display:grid; place-content:center; text-align:center; font:11px/1.3 'Geist Mono',monospace; letter-spacing:.05em; color:#fff; animation:ctPulse 3.2s ease-out infinite; }
.ct-ring b{ display:block; font-size:19px; font-weight:500; letter-spacing:-.02em; font-family:'Geist',sans-serif; }
@keyframes ctPulse{ 0%{ box-shadow:0 0 0 0 rgba(79,130,198,.55); } 100%{ box-shadow:0 0 0 34px rgba(79,130,198,0); } }
@keyframes ctFloat{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-10px); } }
@keyframes ctZoom{ from{ transform:scale(1); } to{ transform:scale(1.08); } }

/* ---------- ways to reach us ---------- */
.s.ct-ways{ padding-block:clamp(72px,9vw,120px); }
.ct-ways-grid{ display:grid; gap:44px; align-items:start; }
@media(min-width:960px){ .ct-ways-grid{ grid-template-columns:1fr 1fr; gap:88px; } }
.ct-ways h2{ margin-top:14px; font-size:clamp(40px,5.4vw,72px); font-weight:500; line-height:1.02; letter-spacing:-.04em; }
.ct-ways p{ margin-top:18px; font-size:clamp(16px,1.35vw,18px); line-height:1.8; max-width:60ch; }
.ct-ways .ct-strong{ font-weight:500; color:var(--ink); }
.ct-cards{ display:grid; gap:16px; }
.ct-card{ position:relative; display:flex; flex-direction:column; gap:10px; padding:clamp(22px,2.4vw,30px); border:1px solid var(--line); border-radius:20px; background:var(--paper); transition:transform .55s cubic-bezier(.2,.8,.2,1), box-shadow .55s, border-color .55s; }
.ct-card small{ font:11.5px 'Geist Mono',monospace; letter-spacing:.1em; text-transform:uppercase; color:var(--blue); }
a.ct-big{ font-size:clamp(24px,2.6vw,34px); font-weight:500; letter-spacing:-.025em; line-height:1.15; color:var(--ink); word-break:break-word; }
a.ct-big:hover{ color:var(--blue); }
.ct-card em{ font-style:normal; font-size:14px; color:var(--slate); }
.ct-soc{ display:flex; flex-wrap:wrap; gap:10px; margin-top:4px; }
a.ct-s{ display:inline-flex; align-items:center; padding:10px 18px; border:1px solid var(--line); border-radius:999px; font-size:14px; font-weight:500; color:var(--ink); transition:background .3s,color .3s,border-color .3s; }
a.ct-s:hover{ background:var(--blue); border-color:var(--blue); color:#fff; }
.ct-card.hot{ transform:translateX(-8px); border-color:var(--blue); box-shadow:0 30px 60px -34px rgba(63,114,181,.55); }

/* ---------- get a quote ---------- */
.s.ct-quote{ background:var(--panel); padding-block:clamp(72px,9vw,120px); }
.ct-quote-grid{ display:grid; gap:44px; align-items:start; }
@media(min-width:960px){ .ct-quote-grid{ grid-template-columns:.9fr 1.1fr; gap:88px; } }
.ct-quote h2{ margin-top:14px; font-size:clamp(40px,5.4vw,72px); font-weight:500; line-height:1.02; letter-spacing:-.04em; }
.ct-quote .ct-qp{ margin-top:18px; font-size:clamp(16px,1.35vw,18px); line-height:1.8; max-width:52ch; }
.ct-formcard{ padding:clamp(24px,3vw,40px); border:1px solid var(--line); border-radius:24px; background:var(--paper); box-shadow:0 40px 70px -50px rgba(15,34,56,.35); }
.qf-form{ display:grid; gap:16px; }
.qf-form .qf-row{ display:grid; gap:16px; grid-template-columns:1fr; }
@media(min-width:700px){ .qf-form .qf-row{ grid-template-columns:1fr 1fr; } }
.qf-form label{ display:block; margin-bottom:6px; font:11.5px 'Geist Mono',monospace; letter-spacing:.08em; text-transform:uppercase; color:var(--slate); }
.qf-form input[type=text],.qf-form input[type=email],.qf-form input[type=tel],.qf-form textarea{ width:100%; padding:15px 16px; border:1px solid var(--line); border-radius:12px; background:var(--bg,#fff); color:var(--ink); font:400 15px 'Geist',sans-serif; transition:border-color .25s, box-shadow .25s; }
.qf-form textarea{ min-height:150px; resize:vertical; }
.qf-form input:focus,.qf-form textarea:focus{ outline:none; border-color:var(--blue); box-shadow:0 0 0 4px rgba(63,114,181,.18); }
.qf-form input::placeholder,.qf-form textarea::placeholder{ color:#8a95a5; }
.qf-form .wpcf7-submit{ justify-self:start; }

/* ---------- dark mode ---------- */
:root[data-theme=dark] .s.ct-quote{ background:#0e1620; }
:root[data-theme=dark] .ct-card,:root[data-theme=dark] .ct-formcard{ background:#111a25; }
:root[data-theme=dark] .ct-formcard{ box-shadow:none; }
:root[data-theme=dark] .qf-form input[type=text],:root[data-theme=dark] .qf-form input[type=email],:root[data-theme=dark] .qf-form input[type=tel],:root[data-theme=dark] .qf-form textarea{ background:#0b121b; color:#e6edf6; }
:root[data-theme=dark] .ct-card.hot{ box-shadow:0 30px 60px -34px rgba(0,0,0,.8); }

@media (prefers-reduced-motion:reduce){
  .ct-o1,.ct-o2,.ct-frame .ct-ph,.ct-frame .ct-ph img,.ct-ring{ animation:none; }
  .ct-card.hot{ transform:none; }
}

/* 10 Oct 2026: section labels inside the vehicle claim form */
.qf-form .qf-sec{ margin-top:10px; padding-bottom:8px; border-bottom:1px solid var(--line); font:11.5px 'Geist Mono',monospace; letter-spacing:.1em; text-transform:uppercase; color:var(--blue); }
.qf-form .qf-sec:first-child{ margin-top:0; }

/* ===== Elementor adaptations (generated) ===== */
.ct-hero h1.elementor-heading-title:not(.az):not(.az){margin-top:24px; font-size:clamp(54px,8.4vw,116px); font-weight:500; line-height:.98; letter-spacing:-.045em; color:#fff;}
.ct-ways h2.elementor-heading-title:not(.az):not(.az){margin-top:14px; font-size:clamp(40px,5.4vw,72px); font-weight:500; line-height:1.02; letter-spacing:-.04em;}
.ct-quote h2.elementor-heading-title:not(.az):not(.az){margin-top:14px; font-size:clamp(40px,5.4vw,72px); font-weight:500; line-height:1.02; letter-spacing:-.04em;}
.ct-frame .ct-ph img:not(.az):not(.az){width:100%; height:auto; aspect-ratio:4/3.4; object-fit:cover; display:block; animation:ctZoom 18s ease-in-out infinite alternate;}
@media (prefers-reduced-motion:reduce){.ct-frame .ct-ph img:not(.az):not(.az){animation:none;}}
:where(.angel-item) > :where(a,span,b,i,small,cite,time,em,strong){display:block}
.angel-item > .ct-s{display:flex}
.mcta p{color:#fff}
/* ===== generated from inline styles ===== */
.s-efe972{animation-delay:.1s !important}
.s-5ac378{animation-delay:.34s !important}
.s-0e4038{animation-delay:.3s !important}
