/* Standalone FAQ styles. Never touch .tn-site, header, footer, or global body. */
.tnfaq-root { --tnfaq-ink:#102c40; --tnfaq-muted:#3f5667; --tnfaq-sky:#a4dff5; --tnfaq-mint:#aaf0d6; --tnfaq-yellow:#ffda49; --tnfaq-coral:#f66d59; color:var(--tnfaq-ink); font-family:"Nunito",system-ui,sans-serif; width:100%; }
.tnfaq-root, .tnfaq-root * { box-sizing:border-box; }
.tnfaq-root .tnfaq-content { width:min(100% - 36px,1100px); margin:0 auto; padding:52px 0 88px; }
.tnfaq-root .tnfaq-hero { align-items:center; gap:12px; padding:48px 22px 32px; text-align:center; position:relative; }
.tnfaq-root :where(.tnfaq-hero-title .elementor-heading-title) { font-family:"Fredoka",system-ui,sans-serif; font-size:clamp(2.5rem,5vw,4.25rem); line-height:1.06; letter-spacing:-.035em; }
.tnfaq-root :where(.tnfaq-hero-subtitle p) { font-size:clamp(1rem,1.5vw,1.2rem); line-height:1.65; max-width:690px; margin:auto; }
.tnfaq-root .tnfaq-nav { justify-content:center; flex-direction:row; flex-wrap:wrap; gap:10px; margin:12px auto 48px; }
.tnfaq-root .tnfaq-nav .elementor-widget-button { width:auto; max-width:100%; }
:where(.tnfaq-root .tnfaq-nav-button .elementor-button) { display:inline-flex; align-items:center; padding:11px 16px; border:2px solid #153248; border-radius:999px; box-shadow:0 3px 0 #153248; background:#fff; color:#102c40; font-family:"Fredoka",sans-serif; text-decoration:none; font-size:14px; font-weight:600; transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease; }
:where(.tnfaq-root .tnfaq-nav-button .elementor-button:hover) { background:#aaf0d6; transform:translateY(-2px); box-shadow:0 5px 0 #153248; }
.tnfaq-root .tnfaq-section { scroll-margin-top:110px; margin:0 0 53px; gap:15px; width:100%; }
.tnfaq-root :where(.tnfaq-section-title .elementor-heading-title) { font-family:"Fredoka",system-ui,sans-serif; font-size:clamp(1.85rem,3vw,2.4rem); line-height:1.12; letter-spacing:-.015em; }
.tnfaq-root .tnfaq-section-title { padding:0 0 6px; }
.tnfaq-root .tnfaq-section:nth-child(3n) .tnfaq-section-title { border-bottom:5px solid #aaf0d6; }
.tnfaq-root .tnfaq-section:nth-child(3n + 1) .tnfaq-section-title { border-bottom:5px solid #ffda49; }
.tnfaq-root .tnfaq-section:nth-child(3n + 2) .tnfaq-section-title { border-bottom:5px solid #a4dff5; }
.tnfaq-root .tnfaq-section-title .elementor-heading-title { margin-bottom:0; }
.tnfaq-accordion { margin:0; background:#fff; color:#102c40; border:2px solid #153248; border-radius:22px; box-shadow:0 5px 0 #153248; transition:transform .18s ease,box-shadow .18s ease; overflow:clip; }
.tnfaq-accordion:hover { transform:translateY(-2px); box-shadow:0 7px 0 #153248; }
.tnfaq-accordion:focus-within { outline:0; }
.tnfaq-accordion:focus-within > summary:focus-visible { outline:3px solid #f66d59; outline-offset:-4px; }
.tnfaq-accordion__summary { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:20px 24px; cursor:pointer; list-style:none; }
.tnfaq-accordion__summary::-webkit-details-marker { display:none; }
.tnfaq-accordion__summary::marker { content:""; }
.tnfaq-accordion__title { display:block; font-family:"Fredoka",system-ui,sans-serif; font-weight:600; font-size:clamp(1.05rem,1.7vw,1.26rem); line-height:1.33; color:#102c40; }
.tnfaq-accordion__icon { flex:0 0 32px; display:grid; place-items:center; width:32px; height:32px; border-radius:50%; background:#fff4ce; color:#f66d59; font-family:"Fredoka",sans-serif; font-size:27px; font-weight:600; line-height:1; }
.tnfaq-accordion__icon::before { content:'+'; }
.tnfaq-accordion[open] .tnfaq-accordion__icon::before { content:'−'; }
.tnfaq-accordion__answer { color:#3f5667; font-family:"Nunito",system-ui,sans-serif; font-size:1rem; font-weight:500; line-height:1.7; padding:0 24px 20px; }
.tnfaq-accordion__answer p { margin:0 0 .65em; }
.tnfaq-accordion__answer p:last-child { margin-bottom:0; }
.tnfaq-accordion__answer a { color:#007d83; text-decoration:underline; }
.tnfaq-root .tnfaq-contact-panel { text-align:center; align-items:center; padding:36px 22px; gap:12px; border:2px solid #153248; border-radius:28px; background:#aaf0d6; box-shadow:0 6px 0 #153248; }
.tnfaq-root :where(.tnfaq-contact-title .elementor-heading-title) { font-family:"Fredoka",system-ui,sans-serif; font-size:clamp(1.8rem,3vw,2.5rem); }
:where(.tnfaq-root .tnfaq-contact-copy p) { color:#234456; line-height:1.6; }
.tnfaq-root .tnfaq-contact-buttons { justify-content:center; gap:16px; flex-wrap:wrap; flex-direction:row; }
.tnfaq-root .tnfaq-contact-buttons .elementor-widget-button { width:auto; }
:where(.tnfaq-root .tnfaq-contact-button .elementor-button) { border:2px solid #153248; border-radius:999px; background:#ffda49; color:#102c40; box-shadow:0 4px 0 #153248; font-family:"Fredoka",sans-serif; text-decoration:none; font-weight:700; font-size:14px; padding:13px 22px; }
:where(.tnfaq-root .tnfaq-contact-button-alt .elementor-button) { background:#fff; }
:where(.tnfaq-root .tnfaq-contact-button .elementor-button:hover) { transform:translateY(-2px); }
@media(max-width:767px) {
  .tnfaq-root .tnfaq-content { width:min(100% - 28px,1100px); padding:16px 0 55px; }
  .tnfaq-root .tnfaq-hero { padding:28px 8px 16px; }
  .tnfaq-root .tnfaq-nav { gap:9px; margin-bottom:35px; }
  .tnfaq-root .tnfaq-nav .elementor-button { padding:9px 13px; font-size:12px; }
  .tnfaq-root .tnfaq-section { gap:13px; margin-bottom:38px; }
  .tnfaq-accordion__summary { padding:16px 15px; gap:12px; }
  .tnfaq-accordion__answer { padding:0 15px 18px; }
  .tnfaq-accordion__icon { flex-basis:29px; width:29px; height:29px; }
}
@media(prefers-reduced-motion:reduce) { .tnfaq-accordion, .tnfaq-root .tnfaq-nav-button .elementor-button, :where(.tnfaq-root .tnfaq-contact-button .elementor-button) { transition:none; } }
