/* ===== Elementor bridge for the 2026-10 designs (loaded after each page's own CSS) ===== */
:root{ --kit-widget-spacing:0px; --widgets-spacing:0px; --widgets-spacing-row:0px; --widgets-spacing-column:0px; }
/* neutralise the Elementor kit's default Roboto / accent colours so nothing leaks in */
body.elementor-kit-5, .elementor-kit-5{ --e-global-typography-primary-font-family:'Geist'; --e-global-typography-secondary-font-family:'Geist'; --e-global-typography-text-font-family:'Geist'; --e-global-typography-accent-font-family:'Geist'; --e-global-color-primary:var(--ink); --e-global-color-secondary:var(--slate); --e-global-color-text:var(--ink); --e-global-color-accent:var(--blue); }
button, input, textarea{ font-family:inherit; }
body.elementor-template-canvas{ background:var(--paper); }

/* header + footer templates must not become the sticky/containing block of their contents */
.angel-tpl, .angel-tpl > .elementor{ display:contents; }

/* widgets: no extra spacing/positioning; the design's own classes do the layout */
.elementor-widget:not(:last-child){ margin-block-end:0; }
body .elementor-widget.elementor-widget-text-editor, body .elementor-widget.elementor-widget-html, body .elementor-widget.elementor-widget-heading,
body .elementor-widget.elementor-widget-image, body .elementor-widget.elementor-widget-button, body .elementor-widget.elementor-widget-shortcode,
body .elementor-widget.elementor-widget-accordion{ position:static; }
body .elementor-widget.elementor-widget-text-editor{ color:inherit; font:inherit; letter-spacing:inherit; line-height:inherit; text-align:inherit; }
.elementor-widget-text-editor > *:last-child{ margin-bottom:0; }
body .elementor-widget.elementor-widget-image{ text-align:left; }
.elementor-widget-image a{ display:block; }
.elementor-widget-image img{ display:block; }

/* containers act like the plain blocks of the source markup unless the design says flex/grid/position */
.e-con.angel-block{ display:block; }
.e-con.angel-static{ position:static; }
.e-con.e-child{ --width:auto; }
a.e-con{ text-decoration:none; color:inherit; }

/* Contact Form 7 inside the design's form styles */
.wpcf7-form-control-wrap{ display:block; }
.wpcf7-not-valid-tip{ font-size:12px; color:#C0392B; margin-top:4px; display:block; }
.wpcf7 form .wpcf7-response-output{ margin:10px 0 0; padding:10px 14px; border:1px solid var(--line); border-radius:8px; font-size:13px; color:var(--ink); grid-column:1/-1; }
.wpcf7 form.sent .wpcf7-response-output{ border-color:#2E9E63; }
.wpcf7-spinner{ display:none; }
.wpcf7 .screen-reader-response{ position:absolute; overflow:hidden; clip:rect(1px,1px,1px,1px); clip-path:inset(50%); height:1px; width:1px; margin:-1px; padding:0; border:0; }
.wpcf7 .hidden-fields-container{ display:none; }
.wpcf7 form .wpcf7-response-output:empty, .wpcf7 form.init .wpcf7-response-output{ display:none; }
.wpcf7 input.wpcf7-submit.btn{ width:auto; }

/* keep animated pieces visible while editing in Elementor */
.elementor-editor-active .rv, .elementor-editor-active .hero-in{ opacity:1 !important; transform:none !important; animation:none !important; }

/* a Button widget whose <a> was inline in the source sits on a line with its siblings (the old whitespace is ~.25em) */
.elementor-widget.angel-inline{ display:inline-block; vertical-align:baseline; }
.elementor-widget.angel-inline + .elementor-widget.angel-inline{ margin-left:.25em; }

/* widget wrapper of an absolutely positioned element: out of the flow so it adds no flex/grid gap */
.elementor-widget.angel-abs{ display:contents; }

/* ===== FAQ: the design's .fq look on Elementor's native Accordion widget ===== */
.elementor-widget-accordion.fq .elementor-accordion .elementor-accordion-item{ border:0; border-bottom:1px solid var(--line); background:transparent; transition:background .3s; }
.elementor-widget-accordion.fq .elementor-accordion .elementor-accordion-item:has(> .elementor-tab-title.elementor-active){ background:linear-gradient(90deg,#f4f7fb,transparent); }
:root[data-theme=dark] .elementor-widget-accordion.fq .elementor-accordion .elementor-accordion-item:has(> .elementor-tab-title.elementor-active){ background:linear-gradient(90deg,#0e1620,transparent); }
.elementor-widget-accordion.fq .elementor-accordion .elementor-tab-title{ position:relative; display:block; margin:0; padding:20px 50px 20px 8px; border:0; background:none; font:500 clamp(16px,1.5vw,18.5px)/1.35 'Geist',sans-serif; letter-spacing:-.01em; color:var(--ink); cursor:pointer; transition:color .3s,padding .3s; }
.elementor-widget-accordion.fq .elementor-accordion .elementor-tab-title .elementor-accordion-title{ display:block; color:inherit; font:inherit; letter-spacing:inherit; text-transform:none; }
.elementor-widget-accordion.fq .elementor-accordion .elementor-tab-title:hover{ color:var(--blue); padding-left:14px; }
.elementor-widget-accordion.fq .elementor-accordion .elementor-tab-title.elementor-active{ color:var(--blue); }
.elementor-widget-accordion.fq .elementor-accordion .elementor-tab-title::before, .elementor-widget-accordion.fq .elementor-accordion .elementor-tab-title::after{ content:""; position:absolute; right:11px; top:50%; width:16px; height:1.8px; margin-top:-.9px; background:currentColor; border-radius:2px; transition:transform .4s cubic-bezier(.2,.8,.2,1); }
.elementor-widget-accordion.fq .elementor-accordion .elementor-tab-title::after{ transform:rotate(90deg); }
.elementor-widget-accordion.fq .elementor-accordion .elementor-tab-title.elementor-active::before{ transform:rotate(45deg); }
.elementor-widget-accordion.fq .elementor-accordion .elementor-tab-title.elementor-active::after{ transform:rotate(-45deg); }
.elementor-widget-accordion.fq .elementor-accordion .elementor-tab-content{ border:0; padding:0 44px 22px 8px; color:var(--slate); font-size:15.5px; line-height:1.7; }
.elementor-widget-accordion.fq .elementor-accordion .elementor-tab-content p{ font-size:15.5px; line-height:1.7; }

/* ===== mobile menu (hamburger + panel listing every page), added 9 Oct 2026 ===== */
.mm-toggle{ display:none; flex-direction:column; gap:5px; background:none; border:0; cursor:pointer; padding:8px; margin-left:2px; }
.mm-toggle span{ width:22px; height:2px; background:var(--ink); display:block; transition:transform .3s, opacity .3s; }
@media (max-width:899px){ .mm-toggle{ display:flex; } }
.mm-toggle.open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.mm-toggle.open span:nth-child(2){ opacity:0; }
.mm-toggle.open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
.mm-panel{ max-height:0; overflow:hidden; background:var(--paper); border-top:0 solid var(--line); transition:max-height .35s cubic-bezier(.2,.8,.2,1); }
.mm-panel.open{ max-height:calc(100vh - 110px); overflow-y:auto; border-top-width:1px; }
@media (min-width:900px){ body .e-con.mm-panel{ display:none; } }
.mm-links{ display:flex; flex-direction:column; padding:6px 24px 18px; }
.mm-links a{ display:block; padding:13px 0; border-bottom:1px solid var(--line); font-size:15px; font-weight:600; color:var(--ink); }
.mm-links a:last-child{ border-bottom:0; }
.mm-links a.mm-sub{ padding-left:16px; font-size:14px; font-weight:500; color:var(--slate); }
.mm-links a.mm-sub.s2{ padding-left:32px; font-size:13.5px; }
.mm-links a:hover{ color:var(--blue); }
@media (prefers-reduced-motion:reduce){ .mm-panel, .mm-toggle span{ transition:none; } }
@media (max-width:520px){
  header.nav > .wrap{ gap:8px; flex-wrap:nowrap; }
  header.nav .logo img{ height:34px; }
  header.nav .elementor-widget-button .elementor-button.btn{ padding:9px 11px; font-size:12px; }
  .mm-toggle{ padding:8px 4px; margin-left:0; flex:none; }
}

/* ===== /thank-you/ page (ad-tracking conversion page), added 9 Oct 2026 ===== */
.s.thanks{ padding-block:clamp(80px,12vw,150px); }
.thanks .thanks-in{ max-width:760px; text-align:center; }
.thanks .kicker{ display:block; }
.thanks .th-h{ margin-top:14px; font-size:clamp(34px,5vw,60px); font-weight:500; line-height:1.08; letter-spacing:-.03em; }
.thanks .th-h .elementor-heading-title{ font-size:inherit; }
.thanks .th-p{ margin-top:18px; font-size:clamp(16px,1.6vw,19px); }
.thanks .th-actions{ display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin-top:32px; }

/* ===== fixes found in review, 9 Oct 2026 ===== */
/* the dropdown chevron and the nav underline share one ::after in the source design, which left a stray diamond under "Lines of Cover" */
header.nav nav.links .dd a::after{ position:static; left:auto; right:auto; bottom:auto; display:inline-block; width:6px; height:6px; margin-left:8px; background:none; border-right:1.6px solid currentColor; border-bottom:1.6px solid currentColor; transform:translateY(-2px) rotate(45deg); transition:transform .3s; }
header.nav nav.links .dd:hover a::after{ transform:translateY(1px) rotate(225deg); }
.thanks .th-actions{ flex-direction:row; }

/* About dropdown (single column) */
header.nav nav.links .dd.dd-about .ddm{ min-width:250px; grid-template-columns:1fr; }
