/* Light CS&M theme. Iconography is provided by the external Bootstrap Icons font. */
:root {
  --ink: #123b46;
  --paper: #f4f7f8;
  --lime: #f18d2f;
  --orange: #0095a6;
  --aqua: #bcbbb7;
  --muted: #58727b;
  --line: rgba(18, 59, 70, .14);
}

body { background: #f4f7f8; }
.section { padding:100px 0; }
.reveal,.reveal.visible { opacity:1; transform:none; transition:none; }
.reveal-delay { transition-delay:0s; }
.button:hover { transform:none; }
.site-header { color: var(--ink); background: rgba(255,255,255,.94); border-color: var(--line); }
.site-header.is-scrolled { background: rgba(255,255,255,.98); box-shadow: 0 3px 12px rgba(18,59,70,.06); }
.brand img, .footer-brand img { display:block; height:auto; filter:none; }
.brand span { border-color: var(--line); }
.button-light { background: var(--orange); color: #fff; }
.menu-toggle { color: var(--ink); font-size: 1.55rem; }
.lang-switch { display:flex; align-items:center; padding:3px; border:1px solid var(--line); border-radius:999px; }
.lang-switch a { display:grid; place-items:center; min-width:32px; height:28px; border-radius:999px; color:var(--muted); font-size:.68rem; font-weight:800; }
.lang-switch a.active { color:#fff; background:var(--orange); }

.hero { min-height:auto; padding:148px 0 72px; color:var(--ink); background:linear-gradient(135deg,#fff 0%,#f2f7f8 68%,#e7f3f5 100%); }
.hero:before,.hero:after { display:none; }
.hero-layout-compact { grid-template-columns:1.12fr .88fr; gap:84px; align-items:center; }
.hero-layout-compact h1 { max-width:720px; font-size:clamp(3.15rem,4.8vw,4.6rem); }
.hero-grid,.final-grid { background-image:linear-gradient(rgba(0,149,166,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(0,149,166,.06) 1px,transparent 1px); }
.hero .eyebrow,.hero-lead { color: var(--muted); }
.hero-lead { max-width:640px; margin-top:26px; }
.hero-actions { margin-top:32px; }
.button-primary { color: #fff; background: var(--lime); }
.hero-assurance { display:flex; align-items:center; gap:10px; margin:38px 0 0; color:var(--muted); font-size:.86rem; }
.hero-assurance i { color:var(--orange); font-size:1.2rem; }
.hero-assurance strong { color:var(--ink); }
.hero-flyer { position:relative; min-height:420px; display:grid; place-items:center; }
.hero-flyer:before { display:none; }
.hero-flyer .invoice-card { position:relative; z-index:1; inset:auto; width:min(410px,92%); background:#fff; border:1px solid rgba(18,59,70,.18); box-shadow:0 10px 28px rgba(18,59,70,.1); transform:none; }
.hero-flyer .invoice-top { background:var(--orange); }
.hero-flyer .invoice-lines i { background:#dce5e7; }
.hero-flyer .invoice-bottom { border-color:#d7e1e3; }
.qr-external { display:grid; place-items:center; width:86px; height:86px; border:1px solid #cddadc; background:#f5f8f8; color:var(--ink); font-size:3.35rem; line-height:1; }
.flyer-stamp { position:absolute; z-index:2; right:0; bottom:28px; display:flex; align-items:center; gap:12px; padding:14px 18px; color:#fff; background:var(--lime); box-shadow:none; }
.flyer-stamp>i { font-size:1.25rem; }
.flyer-stamp span { display:flex; flex-direction:column; }
.flyer-stamp small { font-size:.55rem; letter-spacing:.12em; }
.flyer-stamp b { font:800 1rem var(--display); }

.regulatory-alert { color:var(--ink); background:#edf5f6; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.regulatory-alert-inner { display:grid; grid-template-columns:42px 1fr auto; gap:22px; align-items:center; padding-block:24px; }
.regulatory-alert-inner>i { color:var(--orange); font-size:1.35rem; }
.regulatory-alert h2 { margin:3px 0 6px; font-size:clamp(1.45rem,2.2vw,2.1rem); }
.regulatory-alert p { margin:0; max-width:820px; color:var(--muted); }
.regulatory-alert .alert-label { color:var(--orange); font-size:.62rem; font-weight:800; letter-spacing:.14em; }
.regulatory-alert a { display:flex; align-items:center; gap:12px; padding:11px 15px; color:var(--ink); border:1px solid var(--line); background:#fff; font-weight:700; white-space:nowrap; }

.clarifier,.impact,.faq { background:#fff; }
.compare-card { min-height:430px; border:1px solid var(--line); box-shadow:none; }
.compare-card.dark { color:var(--ink); background:#f7fafb; border-top:4px solid var(--orange); }
.compare-card.accent { background:#fff8f1; border-top:4px solid var(--lime); }
.compare-card.accent:after { display:none; }
.card-number { top:28px; right:32px; font-size:1rem; opacity:.45; }
.check-list { border-color:var(--line); }
.check-list li { display:flex; gap:10px; padding-left:0; }
.check-list li:before { display:none; }
.check-list li i { color:var(--orange); font-size:1.05rem; }
.accent .check-list li i { color:var(--lime); }
.legal-callout { border-left:4px solid var(--orange); box-shadow:none; }
.callout-icon { background:rgba(0,149,166,.1); color:var(--orange); }

.dates { color:var(--ink); background:#eaf4f5; }
.dates:after { display:none; }
.dates-copy>p:not(.kicker),.deadline div:last-child>p:last-child,.deadline-note { color:var(--muted); }
.text-link.light { color:var(--ink); }
.deadline,.deadline:last-of-type { border-color:rgba(18,59,70,.14); }
.date-block { border-color:var(--lime); }
.date-block small { color:#668089; }
.deadline-tag { color:var(--orange); }
.dates h2 em { color:var(--orange); }
.section-intro h2,.section-heading-row h2,.faq-intro h2 { font-size:clamp(2.4rem,3.8vw,3.8rem); }
.dates-copy h2,.plan-sticky h2,.video-copy h2 { font-size:clamp(2.5rem,3.8vw,3.9rem); }

.external-icon { display:grid; place-items:center; width:64px; height:64px; margin-top:52px; border-radius:16px; background:rgba(0,149,166,.09); color:var(--orange); font-size:1.9rem; }
.impact-card:nth-child(even) .external-icon { color:var(--lime); background:rgba(241,141,47,.1); }
.impact-card { background:#fff; transition:none; }
.impact-card:hover { transform:none; box-shadow:none; }

.news-event { padding:84px 0; color:var(--ink); background:#fff; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.news-event-grid { display:grid; grid-template-columns:150px 1.15fr .85fr; gap:56px; align-items:start; }
.news-label { display:flex; flex-direction:column; gap:8px; }
.news-label span { color:var(--lime); font:800 2.4rem/1 var(--display); letter-spacing:-.06em; }
.news-label small { color:var(--muted); font-size:.65rem; letter-spacing:.15em; }
.news-content .kicker { margin-bottom:16px; color:var(--orange); }
.news-content h2 { max-width:650px; font-size:clamp(2.15rem,3.2vw,3.25rem); letter-spacing:-.04em; }
.news-content>p:not(.kicker) { max-width:660px; color:var(--muted); }
.news-content>a { display:inline-flex; align-items:center; gap:14px; margin-top:14px; padding-bottom:4px; border-bottom:1px solid var(--lime); font-weight:700; }
.news-content>a i { color:var(--lime); }
.news-facts { border-top:1px solid var(--line); }
.news-facts>div { display:grid; grid-template-columns:34px 1fr; gap:12px; padding:19px 0; border-bottom:1px solid var(--line); }
.news-facts i { color:var(--orange); font-size:1.1rem; }
.news-facts span { display:flex; flex-direction:column; }
.news-facts small { color:#789aa2; font-size:.58rem; letter-spacing:.13em; }
.news-facts strong { margin-top:3px; font-size:.88rem; }

.plan { background:#f1f3f3; }
.plan-sticky { position:static; }
.plan h2 em { color:var(--orange); }
.button-dark { background:var(--orange); }
.video-band { color:var(--ink); background:#eef6f7; }
.video-copy { color:var(--ink); }
.video-copy .kicker { color:var(--orange); }
.video-frame { border:1px solid var(--line); box-shadow:none; }

.accordion summary .faq-toggle { color:var(--orange); font-size:1rem; }
.accordion summary i:before,.accordion summary i:after { content:none; }
.final-cta { padding:76px 0; color:var(--ink); background:#e8f4f5; border-top:1px solid var(--line); }
.final-content { text-align:left; }
.final-content .eyebrow { justify-content:flex-start; }
.final-content h2 { font-size:clamp(2.65rem,4.2vw,4rem); }
.final-content>p:not(.eyebrow) { max-width:680px; }
.final-actions { justify-content:flex-start; margin-top:28px; }
.final-content .eyebrow,.final-content>p:not(.eyebrow) { color:var(--muted); }
.final-content h2 em { color:var(--orange); }
.final-grid { display:none; }
.footer { background:#123b46; }
.footer .footer-brand img { width:172px; height:auto; filter:none; }
.footer-intro { display:none; }
.footer-intro small { color:#80cbd4; letter-spacing:.14em; }
.footer-intro h2 { margin-top:8px; font-size:clamp(2rem,3vw,3.2rem); }
.footer-contact { display:flex; gap:14px; flex-wrap:wrap; }
.footer-contact a { display:flex; align-items:center; gap:10px; padding:13px 17px; border:1px solid rgba(255,255,255,.18); color:#fff; font-weight:600; }
.footer-contact a:first-child { color:var(--ink); background:#fff; }
.footer-language { width:max-content; margin-top:22px; border-color:rgba(255,255,255,.2); }
.footer-language a { color:#a8bac0; }
.footer-language a.active { background:var(--lime); }

@media(max-width:980px){
  .main-nav.open { color:#fff; background:var(--ink); }
  .hero { padding-top:132px; }
  .hero-layout-compact { grid-template-columns:1fr; gap:52px; }
  .hero-flyer { max-width:560px; width:100%; margin-inline:auto; }
  .header-actions .lang-switch { display:flex; }
  .footer-intro { align-items:flex-start; flex-direction:column; }
  .news-event-grid { grid-template-columns:110px 1fr; }
  .news-facts { grid-column:2; }
  .regulatory-alert-inner { grid-template-columns:52px 1fr; }
  .regulatory-alert a { grid-column:2; width:max-content; }
}
@media(max-width:680px){
  .hero { padding:112px 0 58px; }
  .hero-layout-compact h1 { font-size:3rem; }
  .hero-assurance { align-items:flex-start; }
  .hero-flyer { min-height:390px; }
  .hero-flyer .invoice-body { padding:26px; }
  .hero-flyer .invoice-body>strong { font-size:3.5rem; }
  .hero-flyer .invoice-bottom { grid-template-columns:74px 1fr; }
  .qr-external { width:68px; height:68px; font-size:2.65rem; }
  .flyer-stamp { right:0; bottom:18px; }
  .external-icon { margin-top:34px; }
  .header-actions .lang-switch { display:none; }
  .footer-contact { width:100%; flex-direction:column; }
  .footer-contact a { justify-content:center; }
  .news-event { padding:72px 0; }
  .news-event-grid { grid-template-columns:1fr; gap:30px; }
  .news-facts { grid-column:auto; }
  .regulatory-alert-inner { grid-template-columns:1fr; gap:16px; padding-block:26px; }
  .regulatory-alert-inner>i { width:44px; height:44px; }
  .regulatory-alert a { grid-column:auto; width:100%; justify-content:space-between; }
}
