/* Additive English-site responsive layer. Original CSS and animations retained. */
@font-face { font-family: 'LIRIA TECH Fallback'; src: url('/fonts/DejaVuSans.ttf') format('truetype'); font-style: normal; font-weight: 400; font-display: swap; }
@font-face { font-family: 'LIRIA TECH Fallback'; src: url('/fonts/DejaVuSans-Bold.ttf') format('truetype'); font-style: normal; font-weight: 700; font-display: swap; }
body { font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'LIRIA TECH Fallback', sans-serif; }
[hidden] { display: none !important; }
.language-selector { gap: 7px; white-space: nowrap; flex-shrink: 0; }
.language-selector a { display: inline-flex; align-items: center; min-height: 30px; }
.language-selector a[aria-current="true"] { color: var(--blue); opacity: 1; }
.footer-language { margin-top: 18px; width: max-content; }
.footer-links { align-content: start; max-width: 520px; }
.footer-links a { overflow-wrap: anywhere; }
.eyebrow { max-width: 100%; white-space: normal; }
.hero-grid > *, .split > *, .cards > *, .pricing-grid > *, .footer > * { min-width: 0; }
.hero h1, .legal h1, .page-hero h1 { overflow-wrap: anywhere; }
.mega-feature h4, .mega-link strong { overflow-wrap: anywhere; }
.mega-policy-grid > a { min-width: 0; }
.btn { text-align: center; white-space: normal; }
.btn:disabled { cursor: wait; opacity: .65; transform: none; }
.form { margin-top: 20px; }
.ticket-fields { display: grid; gap: 14px; margin: 0; padding: 0; border: 0; min-width: 0; }
.ticket-fields .two { align-items: start; }
.ticket-fields :disabled { cursor: wait; }
.ticket-status { overflow-wrap: anywhere; }
.ticket-status p { margin: 0 0 7px; color: inherit; }
.ticket-status p:last-child { margin-bottom: 0; }
.ticket-status a, .form-direct a { text-decoration: underline; text-underline-offset: 3px; }
.ticket-status:empty { display: none; }
.ticket-copy { padding: 8px 12px; border-radius: 9px; border: 1px solid currentColor; color: inherit; background: transparent; font: inherit; cursor: pointer; }
.form-direct { margin: 14px 0 0; font-size: 13px; color: var(--muted); overflow-wrap: anywhere; }
.form-direct a { color: var(--blue); }
.form-note { font-size: 13px; color: var(--muted); margin: 0; }
.field-error { margin: 0; font-size: 12px; color: #b42318; }
html[data-theme="dark"] .field-error { color: #ffb4ac; }
[aria-invalid="true"] { border-color: #b42318 !important; }
html[data-theme="dark"] [aria-invalid="true"] { border-color: #ffb4ac !important; }
body.drawer-open { overflow: hidden; }
.faq-layout { max-width: 950px; }
.faq-list { display: grid; gap: 12px; }
.faq-item { background: var(--surface); border: 1px solid var(--line); border-radius: 18px; padding: 0 24px; }
.faq-item summary { cursor: pointer; padding: 22px 0; font-weight: 800; font-size: 17px; }
.faq-item summary::marker { color: var(--blue); }
.faq-item p { margin: 0 0 22px; color: var(--muted); }
.faq-help { margin-top: 28px; }
.faq-help h2 { font-size: 28px; }
.faq-help .btn { margin-top: 8px; }
a:focus-visible, button:focus-visible, summary:focus-visible { outline: 3px solid var(--blue); outline-offset: 4px; }
.field input:focus-visible, .field textarea:focus-visible, .field select:focus-visible { outline: 2px solid var(--blue); outline-offset: 2px; }
@media (max-width: 1160px) {
  .desktop-nav { display: none; }
  .mobile-trigger { display: inline-flex; }
}
@media (max-width: 720px) {
  .nav { gap: 8px; }
  .controls { gap: 5px; }
  .controls .pill { padding: 0 8px; }
  .brand-link .logo { max-width: 130px; height: auto; }
  .footer-language { margin-top: 18px; }
  .legal { padding: 24px 18px; }
  .legal h1 { font-size: clamp(28px, 8vw, 38px); }
  .page-hero h1 { font-size: clamp(34px, 9vw, 48px); }
  .faq-item { padding: 0 18px; }
}
@media (max-width: 440px) {
  .controls > [data-theme-toggle] { height: 36px; font-size: 11px; }
  .hero h1 { font-size: 43px; }
  .hero .eyebrow { font-size: 9px; }
}

/* Back-to-top button — injected by site-v38.js, present on every page */
.back-to-top {
  position: fixed;
  right: 20px;
  bottom: 24px;
  z-index: 70;
  width: 46px;
  height: 46px;
  padding: 0;
  display: grid;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: var(--surface);
  color: var(--ink);
  box-shadow: var(--shadow);
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: opacity .22s ease, transform .22s ease, background .2s, color .2s, visibility .22s;
}
.back-to-top svg { width: 19px; height: 19px; }
.back-to-top.visible { opacity: 1; visibility: visible; transform: translateY(0); }
.back-to-top:hover { background: var(--blue); color: #fff; border-color: var(--blue); transform: translateY(-3px); }
.back-to-top:focus-visible { outline: 3px solid var(--blue); outline-offset: 3px; }
body.drawer-open .back-to-top { opacity: 0; visibility: hidden; pointer-events: none; }
@media (max-width: 720px) {
  .back-to-top { right: 14px; bottom: 96px; width: 44px; height: 44px; }
}
@media (prefers-reduced-motion: reduce) {
  .back-to-top { transition: opacity .01s linear, visibility .01s linear; }
}

/* Courses page: exactly 4 cards look best as a clean 2×2 grid, not 3+1 */
html[data-page="courses.html"] .cards {
  grid-template-columns: repeat(2, 1fr);
  max-width: 860px;
  margin: 0 auto;
}
@media (max-width: 720px) {
  html[data-page="courses.html"] .cards { grid-template-columns: 1fr; max-width: none; }
}

/* One-click "copy" button injected right after every email link on the site */
.copy-email {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  margin-left: 6px;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: var(--surface);
  color: var(--muted);
  cursor: pointer;
  vertical-align: -6px;
  transition: color .18s, background .18s, border-color .18s;
}
.copy-email svg { width: 13px; height: 13px; }
.copy-email:hover { color: var(--blue); border-color: var(--blue); }
.copy-email:focus-visible { outline: 2px solid var(--blue); outline-offset: 2px; }
.copy-email.copied { color: #fff; background: var(--green); border-color: var(--green); }

/* Auto-generated breadcrumb trail — injected at the top of every page except Home */
.breadcrumb-wrap { padding: 16px 0 0; }
.breadcrumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; font-size: 12.5px; font-weight: 750; color: var(--muted); }
.breadcrumbs a { color: var(--muted); }
.breadcrumbs a:hover { color: var(--blue); }
.breadcrumbs [aria-current="page"] { color: var(--ink); font-weight: 800; overflow-wrap: anywhere; }
.breadcrumbs .crumb-sep { opacity: .5; }

/* Reading-progress bar — fills as the visitor scrolls down the page */
.scroll-progress {
  position: fixed;
  top: 0;
  left: 0;
  height: 3px;
  width: 0%;
  background: linear-gradient(90deg, var(--blue), #08aeb8);
  z-index: 95;
  pointer-events: none;
}
@media (prefers-reduced-motion: no-preference) {
  .scroll-progress { transition: width .12s linear; }
}

/* Auto-generated "On this page" contents box — injected on long legal/policy pages */
.legal h2, .legal h1 { scroll-margin-top: 104px; }
.page-toc {
  margin: 22px 0 30px;
  padding: 18px 20px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--surface2, var(--surface));
}
.page-toc-label {
  display: block;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 10px;
}
.page-toc ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 7px; counter-reset: toc; }
.page-toc li { counter-increment: toc; }
.page-toc a {
  display: inline-flex;
  gap: 8px;
  font-size: 13.5px;
  font-weight: 700;
  color: var(--ink);
}
.page-toc a::before {
  content: counter(toc) ".";
  color: var(--blue);
  font-weight: 900;
  min-width: 16px;
}
.page-toc a:hover { color: var(--blue); }
@media (min-width: 620px) {
  .page-toc ol { grid-template-columns: 1fr 1fr; column-gap: 20px; }
}

/* Gentle scroll-reveal for top-level page sections */
@media (prefers-reduced-motion: no-preference) {
  main > section.reveal { opacity: 0; transform: translateY(18px); transition: opacity .55s ease, transform .55s ease; }
  main > section.reveal.in-view { opacity: 1; transform: translateY(0); }
}

/* Clean, professional print output for policy/legal pages */
@media print {
  header, .mobile-dock, .back-to-top, .scroll-progress, .mobile-overlay, .skip-link, .page-toc, [data-drawer-open] { display: none !important; }
  body { background: #fff; color: #000; }
  a { color: #000; text-decoration: underline; }
  .legal a[href^="http"]::after, .legal a[href^="mailto:"]::after { content: " (" attr(href) ")"; font-size: 11px; font-weight: 400; }
  .legal { max-width: 100%; }
  .legal h2 { page-break-after: avoid; break-after: avoid; }
  footer { border-top: 1px solid #000; margin-top: 20px; }
}

/* English commercial-pricing layer — public packages and billing clarity */
html[data-locale="en"] .pricing-hero { padding-bottom: 34px; }
html[data-locale="en"] .pricing-hero p { max-width: 850px; }
html[data-locale="en"] .pricing-explainer { padding: 12px 0 28px; }
html[data-locale="en"] .billing-model-summary { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
html[data-locale="en"] .model-summary { padding:24px; border:1px solid var(--line); border-radius:22px; background:var(--surface); }
html[data-locale="en"] .model-summary h2 { margin-top:14px; font-size:27px; }
html[data-locale="en"] .model-summary p { margin:10px 0 0; color:var(--muted); }
html[data-locale="en"] .billing-badge { display:inline-flex; align-items:center; width:max-content; max-width:100%; padding:6px 9px; border-radius:999px; font-size:10px; line-height:1.25; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
html[data-locale="en"] .billing-badge.recurring { color:var(--blue); background:color-mix(in srgb,var(--blue) 10%,var(--surface)); border:1px solid color-mix(in srgb,var(--blue) 24%,var(--line)); }
html[data-locale="en"] .billing-badge.variable { color:#46617F; background:color-mix(in srgb,#7AA6C9 10%,var(--surface)); border:1px solid color-mix(in srgb,#7AA6C9 26%,var(--line)); }
html[data-locale="en"] .package-pricing-section { padding:34px 0 58px; }
html[data-locale="en"] .pricing-heading { margin-bottom:24px; }
html[data-locale="en"] .pricing-heading p { max-width:640px; }
html[data-locale="en"] .package-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
html[data-locale="en"] .package-card { min-width:0; padding:24px; border:1px solid var(--line); border-radius:24px; background:var(--surface); box-shadow:var(--shadow); display:flex; flex-direction:column; }
html[data-locale="en"] .package-head { display:flex; justify-content:space-between; align-items:end; gap:14px; padding-bottom:16px; border-bottom:1px solid var(--line); }
html[data-locale="en"] .package-head h2 { font-size:30px; letter-spacing:-.035em; }
html[data-locale="en"] .package-label { font-size:10px; font-weight:900; letter-spacing:.1em; color:var(--muted); }
html[data-locale="en"] .package-options { display:grid; gap:10px; margin-top:16px; }
html[data-locale="en"] .package-option { min-width:0; padding:15px; border:1px solid var(--line); border-radius:16px; background:var(--surface2); }
html[data-locale="en"] .package-option.variable { border-color:color-mix(in srgb,#769AB8 23%,var(--line)); background:color-mix(in srgb,#8CB3CD 3.5%,var(--surface2)); }
html[data-locale="en"] .package-option.recurring { border-color:color-mix(in srgb,var(--blue) 28%,var(--line)); background:color-mix(in srgb,var(--blue) 4%,var(--surface2)); }
html[data-locale="en"] .option-top { display:flex; align-items:center; justify-content:space-between; gap:10px; }
html[data-locale="en"] .option-top > strong { font-size:15px; }
html[data-locale="en"] .option-price { margin-top:10px; font-size:23px; font-weight:900; letter-spacing:-.025em; color:var(--ink); }
html[data-locale="en"] .option-equivalent { margin-top:3px; font-size:12px; font-weight:800; color:var(--blue); }
html[data-locale="en"] .package-option p { margin:8px 0 0; color:var(--muted); font-size:12px; line-height:1.5; }
html[data-locale="en"] .package-enquiry { margin-top:18px; width:100%; }
html[data-locale="en"] .pricing-scope-note { margin-top:22px; padding:24px; border:1px solid var(--line); border-radius:22px; background:var(--surface); }
html[data-locale="en"] .pricing-scope-note h2 { font-size:24px; }
html[data-locale="en"] .pricing-scope-note p { color:var(--muted); }
html[data-locale="en"] .pricing-scope-note p:last-child { margin-bottom:0; }
html[data-locale="en"] .pricing-scope-note a { color:var(--blue); font-weight:800; }
html[data-locale="en"] .pricing-policy-links { padding:0 0 26px; }
html[data-locale="en"] .support-note { margin-top:16px; }
html[data-locale="en"] .customer-policy-grid { align-items:stretch; }
html[data-locale="en"] .footer-support { display:flex; flex-wrap:wrap; align-items:center; gap:4px; }
html[data-locale="en"] .footer-sep { opacity:.6; }
html[data-locale="en"] .legal code { font:inherit; font-size:.92em; padding:.08em .35em; border-radius:6px; background:var(--surface2); border:1px solid var(--line); color:var(--ink); }

@media (max-width: 900px) {
  html[data-locale="en"] .package-grid { grid-template-columns:1fr; }
}
@media (max-width: 720px) {
  html[data-locale="en"] .billing-model-summary { grid-template-columns:1fr; }
  html[data-locale="en"] .package-card { padding:18px; border-radius:20px; }
  html[data-locale="en"] .package-head h2 { font-size:27px; }
  html[data-locale="en"] .package-option { padding:14px; }
  html[data-locale="en"] .option-top { align-items:flex-start; flex-direction:column; }
  html[data-locale="en"] .billing-badge { white-space:normal; }
  html[data-locale="en"] .option-price { font-size:22px; }
  html[data-locale="en"] .pricing-scope-note { padding:19px; }
  html[data-locale="en"] .billing-link-row { width:100%; }
  html[data-locale="en"] .billing-link-row .btn { width:100%; }
  html[data-locale="en"] .footer-support { display:block; }
  html[data-locale="en"] .footer-support .footer-sep { display:none; }
  html[data-locale="en"] .footer-support span { display:block; margin-top:4px; }
}
/* The pricing grid is intentionally a long section; keep it visible instead of
   waiting for the generic section-level IntersectionObserver threshold. */
@media (prefers-reduced-motion: no-preference) {
  html[data-locale="en"] .package-pricing-section.reveal { opacity:1; transform:none; }
}

/* Stripe review-readiness: clear service scope and legal availability */
html[data-locale="en"] .pricing-scope-overview { padding-top:0; }
html[data-locale="en"] .service-assurance { padding-top:0; }

/* =========================================================
   V2 — LIRIA TECH SECOND VISUAL PASS
   Perceptual refinement only: structure, pricing, billing,
   legal content and API contracts remain unchanged.
   ========================================================= */

/* Brand polish + overflow safety */
html,body{max-width:100%}
:root{
  --liria-navy:#0F172A;
  --liria-blue:#2563EB;
  --liria-blue-2:#3B82F6;
  --liria-soft:#E2E8F0;
  --liria-brand-shadow:0 18px 48px rgba(15,23,42,.10);
}

/* Header: same architecture, clearer LIRIA presence */
header{padding-top:10px!important}
.nav{
  min-height:72px!important;
  padding:8px 10px 8px 17px!important;
  border-radius:18px!important;
  border-color:color-mix(in srgb,var(--liria-blue) 16%,var(--line))!important;
  background:color-mix(in srgb,var(--surface) 96%,transparent)!important;
  box-shadow:0 14px 40px rgba(15,23,42,.10)!important;
  position:relative;
  overflow:visible;
}
.nav:before{
  content:"";
  position:absolute;
  left:20px;right:20px;top:-1px;height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,transparent,var(--liria-blue),var(--liria-blue-2),transparent);
  opacity:.72;
  pointer-events:none;
}
.logo{height:49px!important}
.desktop-nav{background:color-mix(in srgb,var(--surface2) 78%,transparent)!important;border-color:color-mix(in srgb,var(--liria-blue) 10%,var(--line))!important}
.menu-button,.direct-nav{transition:color .16s ease,background .16s ease,transform .16s ease}
.menu-button:hover,.direct-nav:hover{color:var(--liria-blue)!important;background:color-mix(in srgb,var(--liria-blue) 7%,transparent)!important}
.desktop-cta{box-shadow:0 10px 22px rgba(37,99,235,.22)}
.btn.primary{
  background:linear-gradient(135deg,var(--liria-blue),#2F6FF3)!important;
  box-shadow:0 10px 24px rgba(37,99,235,.18);
}
.btn.secondary{border-color:color-mix(in srgb,var(--liria-blue) 16%,var(--line))!important}
.btn.secondary:hover{border-color:color-mix(in srgb,var(--liria-blue) 44%,var(--line))!important;color:var(--liria-blue)!important}
.pill:focus-visible,.btn:focus-visible,.menu-button:focus-visible,.direct-nav:focus-visible{outline-color:var(--liria-blue)!important}

/* Hero: preserve composition, add a recognisable LIRIA visual field */
html[data-page="index.html"] .hero{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  border-bottom:1px solid color-mix(in srgb,var(--liria-blue) 9%,var(--line));
  background:
    radial-gradient(circle at 83% 22%,rgba(59,130,246,.13),transparent 31%),
    radial-gradient(circle at 18% 82%,rgba(37,99,235,.075),transparent 32%),
    linear-gradient(180deg,color-mix(in srgb,var(--surface) 46%,transparent),transparent 86%);
}
html[data-page="index.html"] .hero:before{
  content:"";
  position:absolute;
  width:440px;height:440px;right:-230px;top:-235px;
  border:1px solid rgba(37,99,235,.12);
  border-radius:50%;
  box-shadow:0 0 0 78px rgba(37,99,235,.025),0 0 0 156px rgba(59,130,246,.018);
  z-index:-1;
  pointer-events:none;
}
html[data-page="index.html"] .hero .eyebrow{
  color:#1D4ED8;
  background:linear-gradient(180deg,rgba(255,255,255,.82),rgba(239,246,255,.86));
  border-color:rgba(37,99,235,.20);
  box-shadow:0 7px 20px rgba(37,99,235,.08);
}
html[data-page="index.html"] .hero h1{
  letter-spacing:-.055em;
  text-wrap:balance;
}
html[data-page="index.html"] .grad{
  background:linear-gradient(105deg,var(--liria-blue) 0%,var(--liria-blue-2) 58%,#0EA5A4 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
html[data-page="index.html"] .hero .lead{color:color-mix(in srgb,var(--ink) 58%,var(--muted))!important}
html[data-page="index.html"] .clean-hero-art{
  border:1px solid rgba(96,165,250,.18)!important;
  border-radius:28px!important;
  box-shadow:0 28px 70px rgba(15,23,42,.18),0 0 0 8px rgba(37,99,235,.035)!important;
  position:relative;
}
html[data-page="index.html"] .clean-hero-art:after{
  content:"";
  position:absolute;inset:0;
  pointer-events:none;border-radius:inherit;
  background:linear-gradient(145deg,rgba(59,130,246,.08),transparent 38%,rgba(23,201,199,.04));
}
html[data-page="index.html"] .trust span:before{color:var(--liria-blue)!important}

/* Section labels/headings: small brand rhythm, not decorative overload */
.home-section-intro .eyebrow,.section-head .eyebrow,.page-hero .eyebrow{
  border-color:color-mix(in srgb,var(--liria-blue) 22%,var(--line))!important;
  background:color-mix(in srgb,var(--liria-blue) 6%,var(--surface))!important;
}
.home-section-intro h2,.section-head h2,.page-hero h1{color:var(--liria-navy)}
html[data-theme="dark"] .home-section-intro h2,
html[data-theme="dark"] .section-head h2,
html[data-theme="dark"] .page-hero h1{color:var(--ink)}

/* Home path cards */
.home-teasers .teaser{
  border-color:color-mix(in srgb,var(--liria-blue) 10%,var(--line))!important;
  box-shadow:0 12px 32px rgba(15,23,42,.055);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.home-teasers .teaser:not(.dark):before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:3px;
  background:linear-gradient(180deg,var(--liria-blue),var(--liria-blue-2));
  opacity:.78;
}
.home-teasers .teaser:hover{transform:translateY(-3px);border-color:rgba(37,99,235,.22)!important;box-shadow:0 18px 38px rgba(15,23,42,.085)}
.home-teasers .teaser.dark{background:linear-gradient(145deg,#0B1528,#132440)!important;border-color:#233A60!important}
.home-teasers .teaser.dark:after{content:"";position:absolute;width:150px;height:150px;right:-60px;top:-60px;border-radius:50%;background:rgba(37,99,235,.10);pointer-events:none}
.home-teasers .teaser>a{color:var(--liria-blue)!important}
.home-teasers .teaser.dark>a{color:var(--liria-blue)!important}

/* Service + training cards: same content, clearer unified tech language */
.card{
  position:relative;
  overflow:hidden;
  border-color:color-mix(in srgb,var(--liria-blue) 10%,var(--line))!important;
  border-radius:20px!important;
  box-shadow:0 10px 30px rgba(15,23,42,.05);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.card:before{
  content:"";position:absolute;left:0;right:0;top:0;height:3px;
  background:linear-gradient(90deg,var(--liria-blue),var(--liria-blue-2));
  opacity:.72;
}
.card:hover{transform:translateY(-4px);box-shadow:0 18px 42px rgba(15,23,42,.09);border-color:rgba(37,99,235,.24)!important}
.icon-badge{
  border-radius:13px!important;
  background:linear-gradient(145deg,var(--liria-blue),var(--liria-blue-2))!important;
  box-shadow:0 10px 22px rgba(37,99,235,.20)!important;
}
.card h3{color:var(--liria-navy)}
html[data-theme="dark"] .card h3{color:var(--ink)}

/* Process block: retain dark architecture, tune to brand navy/blue */
.flow-short{background:linear-gradient(145deg,#0A1426,#10213B)!important;box-shadow:0 22px 48px rgba(15,23,42,.13)!important}
.flow-step{border-color:rgba(96,165,250,.16)!important;background:rgba(255,255,255,.035)!important}
.flow-step b{color:#9EC2FF!important;background:rgba(37,99,235,.10)!important;border-color:rgba(96,165,250,.18)!important}

/* Pricing: visual treatment only; values and billing copy untouched */
html[data-locale="en"] .package-card{
  position:relative;overflow:hidden;
  border-color:color-mix(in srgb,var(--liria-blue) 11%,var(--line))!important;
  box-shadow:0 14px 38px rgba(15,23,42,.07)!important;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
html[data-locale="en"] .package-card:before{
  content:"";position:absolute;left:0;right:0;top:0;height:4px;
  background:linear-gradient(90deg,var(--liria-blue),var(--liria-blue-2));
}
html[data-locale="en"] .package-card:hover{transform:translateY(-3px);border-color:rgba(37,99,235,.24)!important;box-shadow:0 20px 48px rgba(15,23,42,.10)!important}
html[data-locale="en"] .package-head{padding-top:3px;border-bottom-color:color-mix(in srgb,var(--liria-blue) 10%,var(--line))!important}
html[data-locale="en"] .package-label{color:var(--liria-blue)!important}
html[data-locale="en"] .package-option.recurring{
  border-left:3px solid var(--liria-blue)!important;
  background:linear-gradient(90deg,color-mix(in srgb,var(--liria-blue) 6%,var(--surface2)),var(--surface2) 62%)!important;
}
html[data-locale="en"] .package-option.variable{border-left:3px solid #7A9DB8!important}
html[data-locale="en"] .package-enquiry{border-color:rgba(37,99,235,.22)!important;color:var(--liria-blue)!important}
html[data-locale="en"] .pricing-scope-note{border-color:color-mix(in srgb,var(--liria-blue) 10%,var(--line))!important;box-shadow:0 10px 28px rgba(15,23,42,.04)}

/* Forms: small visual lift only */
.form input:focus,.form textarea:focus,.form select:focus{border-color:var(--liria-blue)!important;box-shadow:0 0 0 3px rgba(37,99,235,.10)!important}

/* CTA band */
.cta-band{
  border-color:color-mix(in srgb,var(--liria-blue) 12%,var(--line))!important;
  box-shadow:var(--liria-brand-shadow)!important;
  background:
    radial-gradient(circle at 90% 15%,rgba(59,130,246,.10),transparent 24%),
    var(--surface)!important;
}

/* Footer: deliberately branded, still simple/readable */
footer{
  margin-top:34px;
  padding:44px 0 48px!important;
  background:linear-gradient(145deg,#0B1425,var(--liria-navy))!important;
  color:#F8FAFC;
  border-top:1px solid rgba(96,165,250,.16);
}
.footer{border-top:0!important;padding-top:0!important}
.footer-logo{height:49px!important}
.footer small,.footer-support,.footer-links{color:#AFC0D8!important}
.footer-links a{transition:color .15s ease}
.footer-links a:hover,.footer-support a:hover{color:#FFFFFF!important}
.footer-support a{color:#C7D7ED!important}

/* Dark mode parity */
html[data-theme="dark"] .nav{border-color:#2A4163!important;box-shadow:0 14px 42px rgba(0,0,0,.24)!important}
html[data-theme="dark"] .desktop-nav{background:#111C2D!important;border-color:#263A58!important}
html[data-theme="dark"] .home-teasers .teaser:not(.dark),
html[data-theme="dark"] .card,
html[data-theme="dark"] .package-card{border-color:#273B59!important}
html[data-theme="dark"] .cta-band{background:radial-gradient(circle at 90% 15%,rgba(59,130,246,.10),transparent 24%),var(--surface)!important}

/* Responsive visual pass */
@media(max-width:900px){
  .logo{height:46px!important}
  html[data-page="index.html"] .clean-hero-art{box-shadow:0 22px 50px rgba(15,23,42,.15),0 0 0 6px rgba(37,99,235,.03)!important}
}
@media(max-width:720px){
  header{padding-top:6px!important}
  .nav{min-height:64px!important;padding:6px 8px 6px 10px!important;border-radius:16px!important}
  .logo{height:42px!important}
  .nav:before{left:14px;right:14px}
  html[data-page="index.html"] .hero{padding-top:56px!important}
  html[data-page="index.html"] .hero h1{font-size:clamp(42px,12.3vw,54px)!important;line-height:1.01!important}
  html[data-page="index.html"] .clean-hero-art{border-radius:22px!important;margin-top:12px!important}
  .home-teasers .teaser:hover,.card:hover,html[data-locale="en"] .package-card:hover{transform:none}
  .mobile-dock{left:10px!important;right:10px!important;border-color:rgba(37,99,235,.15)!important;box-shadow:0 18px 48px rgba(15,23,42,.16)!important}
  footer{margin-top:22px;padding:36px 0 106px!important}
  .footer-logo{height:45px!important}
}


/* =========================================================
   V4 — FINAL PREMIUM FINE-TUNE
   Visual evolution only. Commercial, billing and legal logic
   remains unchanged.
   ========================================================= */
:root{
  --v4-navy:#08111F;
  --v4-navy-2:#0F172A;
  --v4-cobalt:#2563EB;
  --v4-cobalt-2:#3B82F6;
  --v4-cyan:#17C9C7;
  --v4-slate:#66788F;
}

/* Premium dark homepage canvas while preserving the two-column architecture */
html[data-page="index.html"] .hero{
  color:#F7F9FC!important;
  background:
    radial-gradient(circle at 82% 20%,rgba(37,99,235,.26),transparent 34%),
    radial-gradient(circle at 18% 85%,rgba(23,201,199,.10),transparent 29%),
    linear-gradient(135deg,#08111F 0%,#0F172A 58%,#10233E 100%)!important;
  border-bottom:1px solid rgba(127,164,218,.18)!important;
}
html[data-page="index.html"] .hero:before{
  opacity:.26!important;
  background-image:
    linear-gradient(rgba(147,177,218,.08) 1px,transparent 1px),
    linear-gradient(90deg,rgba(147,177,218,.08) 1px,transparent 1px)!important;
  background-size:54px 54px!important;
  mask-image:linear-gradient(90deg,rgba(0,0,0,.65),transparent 78%);
}
html[data-page="index.html"] .hero .eyebrow{
  color:#9CC7FF!important;background:rgba(37,99,235,.14)!important;border-color:rgba(108,164,241,.28)!important;
}
html[data-page="index.html"] .hero h1{color:#F8FBFF!important;text-wrap:balance}
html[data-page="index.html"] .hero .grad{background:linear-gradient(100deg,#69A7FF,#39D4D0);-webkit-background-clip:text;background-clip:text;color:transparent}
html[data-page="index.html"] .hero .lead{color:#C0CDE0!important;max-width:620px;margin-bottom:12px!important}
html[data-page="index.html"] .hero-identity{margin:0 0 27px;color:#91A3BC;font-size:13px;font-weight:700}
html[data-page="index.html"] .hero .btn.primary{box-shadow:0 14px 34px rgba(37,99,235,.33)}
html[data-page="index.html"] .hero .btn.secondary{background:rgba(255,255,255,.055)!important;color:#F8FBFF!important;border-color:rgba(255,255,255,.24)!important}
html[data-page="index.html"] .hero .btn.secondary:hover{background:rgba(255,255,255,.10)!important;color:#fff!important;border-color:rgba(255,255,255,.38)!important}
html[data-page="index.html"] .hero .trust{gap:8px!important;color:#C4D2E5!important;margin-top:26px!important}
html[data-page="index.html"] .hero .trust span{display:inline-flex;align-items:center;gap:8px;padding:8px 11px;border:1px solid rgba(132,169,220,.20);border-radius:999px;background:rgba(255,255,255,.045);font-size:11px}
html[data-page="index.html"] .hero .trust span:before{content:""!important;width:7px;height:7px;border-radius:50%;background:linear-gradient(135deg,#3B82F6,#17C9C7);margin:0!important}
html[data-page="index.html"] .clean-hero-art{background:#0A1526!important;border-color:rgba(110,161,228,.24)!important;box-shadow:0 30px 80px rgba(0,0,0,.32),0 0 0 1px rgba(91,138,204,.10)!important}
html[data-page="index.html"] .clean-hero-art:after{background:linear-gradient(140deg,rgba(59,130,246,.09),transparent 42%,rgba(23,201,199,.06))!important}
html[data-page="index.html"] .premium-hero-img{box-shadow:none!important;transform:none!important}
html[data-page="index.html"] .premium-visual:hover .premium-hero-img{transform:translateY(-2px)!important}
html[data-page="index.html"] .art-glow-a{background:rgba(37,99,235,.20)!important}
html[data-page="index.html"] .art-glow-b{background:rgba(23,201,199,.12)!important}

/* Header bridge into the dark hero without introducing a second nav system */
html[data-page="index.html"] header{background:linear-gradient(180deg,rgba(8,17,31,.86),rgba(8,17,31,0))!important}
html[data-page="index.html"][data-theme="light"] .nav{background:rgba(250,252,255,.94)!important;border-color:rgba(117,159,218,.22)!important}
html[data-page="index.html"][data-theme="dark"] .nav{background:rgba(12,24,41,.93)!important;border-color:#29405F!important}

/* Connected home pathways */
.home-teasers{gap:18px!important}
.home-teasers .teaser{border-color:color-mix(in srgb,var(--liria-blue) 11%,var(--line))!important;box-shadow:0 16px 42px rgba(15,23,42,.065)!important}
.home-teasers .teaser:not(.dark):before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,var(--v4-cobalt),var(--v4-cyan));opacity:.75}
.home-teasers .teaser.dark{background:radial-gradient(circle at 92% 10%,rgba(59,130,246,.18),transparent 34%),linear-gradient(145deg,#08111F,#10213A)!important}
.home-teasers .teaser-num{font-variant-numeric:tabular-nums;letter-spacing:-.06em}
.home-teasers .teaser a{display:inline-flex;align-items:center;gap:5px}

/* Process system: same content, clearer connective rhythm */
.flow-short{background:radial-gradient(circle at 88% 12%,rgba(37,99,235,.14),transparent 30%),linear-gradient(150deg,#08111F,#10213A)!important;border:1px solid #213A5C;box-shadow:0 24px 58px rgba(15,23,42,.13)}
.flow-short-grid{position:relative;gap:13px!important}
.flow-step{position:relative;background:rgba(255,255,255,.052)!important;border-color:rgba(148,184,232,.14)!important}
.flow-step b{display:inline-grid;place-items:center;min-width:31px;height:31px;border-radius:10px;background:rgba(37,99,235,.15);border:1px solid rgba(94,151,232,.24);color:#91BEFF!important}

/* CTA band depth without sales pressure */
.cta-band{background:radial-gradient(circle at 92% 10%,rgba(37,99,235,.08),transparent 28%),var(--surface)!important;border-color:color-mix(in srgb,var(--liria-blue) 12%,var(--line))!important;box-shadow:0 20px 52px rgba(15,23,42,.075)!important}

/* Services / Training card system */
.card{position:relative;overflow:hidden;border-color:color-mix(in srgb,var(--liria-blue) 10%,var(--line))!important;box-shadow:0 15px 38px rgba(15,23,42,.055);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.card:before{content:"";position:absolute;left:0;top:0;width:100%;height:3px;background:linear-gradient(90deg,var(--v4-cobalt),var(--v4-cyan));opacity:.58}
.card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--liria-blue) 24%,var(--line))!important;box-shadow:0 21px 48px rgba(15,23,42,.085)}
.icon-badge{background:linear-gradient(145deg,var(--v4-cobalt),#4B70F4)!important;box-shadow:0 12px 28px rgba(37,99,235,.20)!important;border:1px solid rgba(255,255,255,.20)}
.card:hover .icon-badge{transform:translateY(-2px)!important}

/* Pricing semantic correction + premium hierarchy */
html[data-locale="en"] .billing-badge.variable{color:#46617F!important;background:color-mix(in srgb,#7AA6C9 10%,var(--surface))!important;border-color:color-mix(in srgb,#7AA6C9 26%,var(--line))!important}
html[data-locale="en"] .package-option.variable{border-color:color-mix(in srgb,#769AB8 23%,var(--line))!important;background:color-mix(in srgb,#8CB3CD 3.5%,var(--surface2))!important}
html[data-theme="dark"][data-locale="en"] .billing-badge.variable{color:#B9D3E8!important;background:rgba(104,148,184,.12)!important;border-color:rgba(139,180,212,.25)!important}
html[data-theme="dark"][data-locale="en"] .package-option.variable{border-color:#324B62!important;background:#14202D!important}
html[data-locale="en"] .package-card{position:relative;overflow:hidden;border-color:color-mix(in srgb,var(--liria-blue) 10%,var(--line))!important;box-shadow:0 18px 48px rgba(15,23,42,.07)!important}
html[data-locale="en"] .package-card:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--v4-cobalt),var(--v4-cyan));opacity:.72}
html[data-locale="en"] .package-head h2{font-size:31px!important;color:var(--liria-navy)}
html[data-theme="dark"][data-locale="en"] .package-head h2{color:var(--ink)}
html[data-locale="en"] .option-price{font-size:24px!important}
html[data-locale="en"] .option-equivalent{font-size:11.5px!important;color:var(--muted)!important;font-weight:750!important}
html[data-locale="en"] .package-option.recurring{box-shadow:inset 3px 0 0 rgba(37,99,235,.65)}
html[data-locale="en"] .package-option.variable{box-shadow:inset 3px 0 0 rgba(107,148,180,.50)}
html[data-locale="en"] .model-summary{box-shadow:0 14px 34px rgba(15,23,42,.05);border-color:color-mix(in srgb,var(--liria-blue) 9%,var(--line))!important}

/* Contact channels and explicit email-first launch state */
.contact-channel-panel{padding:26px!important}
.contact-channel-grid{display:grid;gap:10px;margin-top:17px}
.contact-channel{display:grid;grid-template-columns:43px minmax(0,1fr);gap:12px;align-items:center;padding:14px;border:1px solid color-mix(in srgb,var(--liria-blue) 11%,var(--line));border-radius:16px;background:var(--surface2);transition:border-color .16s ease,transform .16s ease,background .16s ease}
.contact-channel:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--liria-blue) 30%,var(--line));background:color-mix(in srgb,var(--liria-blue) 3%,var(--surface2))}
.channel-icon{width:43px;height:43px;display:grid;place-items:center;border-radius:13px;background:color-mix(in srgb,var(--liria-blue) 10%,var(--surface));color:var(--liria-blue);border:1px solid color-mix(in srgb,var(--liria-blue) 18%,var(--line))}
.channel-icon svg{width:21px;height:21px}
.contact-channel span:last-child{min-width:0}
.contact-channel small{display:block;color:var(--muted);font-size:9px;font-weight:900;letter-spacing:.08em;line-height:1.35}
.contact-channel strong{display:block;margin-top:3px;color:var(--ink);font-size:13px;overflow-wrap:anywhere}
.contact-channel em{display:block;margin-top:3px;color:var(--muted);font-size:11px;font-style:normal}
.business-meta{margin-top:14px;padding-top:14px;border-top:1px solid var(--line);font-size:12px;color:var(--muted);overflow-wrap:anywhere}
.business-meta a{color:var(--blue);font-weight:800}
.form-offline-note{margin:14px 0 18px;padding:16px;border:1px solid color-mix(in srgb,var(--liria-blue) 17%,var(--line));border-radius:16px;background:color-mix(in srgb,var(--liria-blue) 4%,var(--surface2))}
.form-offline-note strong{display:block;font-size:14px}
.form-offline-note p{margin:4px 0 12px;color:var(--muted);font-size:12px}
.form-offline-note .email-primary{min-height:42px;padding-inline:15px;font-size:12px}
.ticket-status.is-info{color:#365A78;background:rgba(59,130,246,.06);border:1px solid rgba(59,130,246,.17);border-radius:14px;padding:11px 13px}
html[data-theme="dark"] .ticket-status.is-info{color:#B8D9F2}
.ticket-fields[disabled]{opacity:.58}
.ticket-fields[disabled] button[type="submit"]{cursor:not-allowed!important}

/* Conservative page-hero / legal refinement */
.page-hero{position:relative}
.page-hero .container:after{content:"";display:block;width:82px;height:3px;margin-top:24px;border-radius:999px;background:linear-gradient(90deg,var(--v4-cobalt),var(--v4-cyan));opacity:.75}
.legal{border-color:color-mix(in srgb,var(--liria-blue) 8%,var(--line))!important;box-shadow:0 18px 48px rgba(15,23,42,.065)!important}
.legal h2{padding-top:2px}

/* Footer detail polish */
footer{background:radial-gradient(circle at 15% 0%,rgba(37,99,235,.12),transparent 25%),#08111F!important}
.footer{gap:36px!important}
.footer-logo{margin-bottom:4px}
.footer-links{row-gap:10px!important}
.footer-links a{padding:3px 0;border-bottom:1px solid transparent}
.footer-links a:hover{border-bottom-color:rgba(101,166,255,.35)}

@media(max-width:800px){
  html[data-page="index.html"] .hero-grid{gap:25px!important}
  .contact-channel-panel{padding:22px!important}
}
@media(max-width:720px){
  html[data-page="index.html"] .hero{padding-top:46px!important}
  html[data-page="index.html"] .hero h1{font-size:clamp(40px,11.6vw,50px)!important}
  html[data-page="index.html"] .hero .lead{font-size:16px!important}
  html[data-page="index.html"] .hero .trust{align-items:stretch;flex-direction:column;width:100%}
  html[data-page="index.html"] .hero .trust span{width:max-content;max-width:100%}
  html[data-page="index.html"] .clean-hero-art{margin-top:7px!important}
  .card:hover,.contact-channel:hover{transform:none}
  html[data-locale="en"] .package-head h2{font-size:28px!important}
}
@media(prefers-reduced-motion:reduce){
  .card,.contact-channel,.premium-hero-img,.home-teasers .teaser{transition:none!important;transform:none!important}
}

/* ================================================================
   LIRIA TECH V5 — final integrated brand + form polish
   ================================================================ */

/* Header brand presence: approved logo already includes its descriptor. */
.brand-link{gap:11px}
@media(min-width:1080px){.nav{gap:20px}.desktop-nav{gap:3px}}


/* Hero V5: same architecture, clearer brand hierarchy and intentional wrapping. */
html[data-page="index.html"] .hero{padding-top:84px!important;padding-bottom:76px!important}
html[data-page="index.html"] .hero-grid{grid-template-columns:minmax(0,1.01fr) minmax(0,.99fr);gap:48px!important}
html[data-page="index.html"] .hero .eyebrow{
  padding:9px 12px!important;
  font-size:11px!important;
  letter-spacing:.14em!important;
}
html[data-page="index.html"] .hero h1{
  max-width:690px!important;
  font-size:clamp(56px,6.6vw,82px)!important;
  line-height:.99!important;
  letter-spacing:-.052em!important;
  margin-top:20px!important;
}
html[data-page="index.html"] .hero-line{display:block}
html[data-page="index.html"] .hero .lead{font-size:18px!important;line-height:1.58!important;max-width:610px!important;margin-top:24px!important}
html[data-page="index.html"] .hero-identity{letter-spacing:.015em}
html[data-page="index.html"] .hero .actions{gap:10px!important}
html[data-page="index.html"] .hero .btn{min-height:47px;padding-inline:20px}
html[data-page="index.html"] .clean-hero-art{border-radius:32px!important;overflow:hidden}
html[data-page="index.html"] .clean-hero-art picture{position:relative;z-index:2}
html[data-page="index.html"] .premium-hero-img{border-radius:30px!important}
html[data-page="index.html"] .trust span{min-height:34px}

/* Slightly more deliberate surface rhythm, without changing card content or count. */
.card,.home-teasers .teaser,html[data-locale="en"] .package-card,.contact-channel{
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background-color .16s ease!important;
}
.card{border-radius:22px!important}
.card h3{letter-spacing:-.025em}
.icon-badge{border-radius:15px!important}
.home-teasers .teaser{border-radius:23px!important}
.flow-step{border-radius:18px!important}
html[data-locale="en"] .package-card{border-radius:24px!important}
html[data-locale="en"] .package-option{border-radius:16px!important}
.contact-channel{border-radius:17px!important}

/* Turnstile is only rendered when ticketSubmissionEnabled + public site key are configured. */
.turnstile-wrap{
  min-height:68px;
  max-width:100%;
  margin:4px 0 14px;
  display:flex;
  align-items:center;
  overflow:visible;
}
.turnstile-wrap:empty{display:none;min-height:0;margin:0}
.turnstile-wrap iframe{max-width:100%!important}
.form[data-form-state="VERIFYING"] .turnstile-wrap{opacity:.92}
.form[data-form-state="SENDING"] .turnstile-wrap{opacity:.72;pointer-events:none}
.ticket-status.is-loading{border:1px solid color-mix(in srgb,var(--liria-blue) 14%,var(--line));border-radius:14px;padding:11px 13px;background:color-mix(in srgb,var(--liria-blue) 3%,var(--surface2))}

/* Internal legal pages remain conservative; link visibility is slightly improved. */
.legal a,.faq-list a,.policy a{ text-underline-offset:3px }

@media(max-width:1024px){
  html[data-page="index.html"] .hero{padding-top:68px!important}
  html[data-page="index.html"] .hero-grid{gap:30px!important}
  html[data-page="index.html"] .hero h1{font-size:clamp(50px,7.2vw,68px)!important}
}

@media(max-width:800px){
  html[data-page="index.html"] .hero{padding-top:52px!important;padding-bottom:54px!important}
  html[data-page="index.html"] .hero-grid{gap:22px!important}
  html[data-page="index.html"] .clean-hero-art{max-width:620px;margin-inline:auto!important}
}

@media(max-width:720px){
  .brand-link::after{display:none!important}
  html[data-page="index.html"] .hero{padding-top:44px!important;padding-bottom:46px!important}
  html[data-page="index.html"] .hero .eyebrow{font-size:9.5px!important;padding:8px 10px!important}
  html[data-page="index.html"] .hero h1{font-size:clamp(42px,11.4vw,51px)!important;line-height:1.015!important;margin-top:17px!important}
  html[data-page="index.html"] .hero .lead{font-size:16px!important;line-height:1.55!important;margin-top:18px!important}
  html[data-page="index.html"] .hero-identity{font-size:12px;margin-bottom:22px}
  html[data-page="index.html"] .hero .actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
  html[data-page="index.html"] .hero .actions .btn{width:100%;justify-content:center}
  html[data-page="index.html"] .hero .trust{gap:7px!important;margin-top:20px!important}
  html[data-page="index.html"] .hero .trust span{font-size:10.5px;padding:7px 10px}
  html[data-page="index.html"] .clean-hero-art{border-radius:22px!important;margin-top:2px!important}
  html[data-page="index.html"] .premium-hero-img{border-radius:20px!important}
  .turnstile-wrap{justify-content:flex-start}
}

@media(max-width:430px){
  html[data-page="index.html"] .hero h1{font-size:clamp(39px,11.2vw,47px)!important}
  html[data-page="index.html"] .hero .actions{grid-template-columns:1fr}
  html[data-page="index.html"] .hero .trust span{width:100%!important}
  .ticket-form-card{min-width:0}
  .turnstile-wrap{max-width:100%}
}

@media(prefers-reduced-motion:reduce){
  .card,.home-teasers .teaser,html[data-locale="en"] .package-card,.contact-channel,
  html[data-page="index.html"] .premium-hero-img{transition:none!important;transform:none!important}
}


/* V5.6 — theme-consistent home pathway cards */
.home-teasers .teaser{
  background:var(--surface)!important;
  color:var(--ink)!important;
}
.home-teasers .teaser p{color:var(--muted)!important}
.home-teasers .teaser > a{color:var(--liria-blue)!important}
html[data-theme="dark"] .home-teasers .teaser{
  background:var(--surface)!important;
  border-color:#273B59!important;
}
html[data-theme="dark"] .home-teasers .teaser > a{color:var(--liria-blue)!important}

/* ================================================================
   LIRIA TECH V7 — first-class Light Mode + theme/accessibility pass
   ================================================================ */
html{color-scheme:light}
html[data-theme="dark"]{color-scheme:dark}
html[data-theme="light"]{
  --bg:#F6F8FC;
  --surface:#FFFFFF;
  --surface2:#F3F7FC;
  --ink:#0B1220;
  --muted:#5F6F84;
  --line:#DDE5EF;
  --shadow:0 18px 50px rgba(20,35,62,.09);
}

/* The approved logo already contains DIGITAL SERVICES; never duplicate it in CSS. */
.brand-link::after{content:none!important;display:none!important}

/* Full desktop navigation stays visible while it actually fits. */
@media(min-width:961px){
  .desktop-nav{display:flex!important}
  .mobile-trigger{display:none!important}
  .desktop-cta{display:inline-flex!important}
}

/* LIGHT homepage: a complete pale-blue/white hero, not a dark canvas with a white nav. */
html[data-page="index.html"][data-theme="light"] .hero{
  color:#0B1220!important;
  background:
    radial-gradient(circle at 82% 18%,rgba(59,130,246,.13),transparent 34%),
    radial-gradient(circle at 18% 88%,rgba(23,201,199,.075),transparent 30%),
    linear-gradient(135deg,#F8FAFE 0%,#F3F7FD 58%,#EEF5FD 100%)!important;
  border-bottom:1px solid #DCE6F2!important;
}
html[data-page="index.html"][data-theme="light"] .hero:before{
  opacity:.44!important;
  background-image:
    linear-gradient(rgba(37,99,235,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(37,99,235,.055) 1px,transparent 1px)!important;
  background-size:54px 54px!important;
  mask-image:linear-gradient(90deg,rgba(0,0,0,.50),transparent 80%);
}
html[data-page="index.html"][data-theme="light"] header{
  background:linear-gradient(180deg,rgba(246,248,252,.96),rgba(246,248,252,.76) 62%,rgba(246,248,252,0))!important;
}
html[data-page="index.html"][data-theme="light"] .nav{
  background:rgba(255,255,255,.88)!important;
  border-color:rgba(117,159,218,.24)!important;
  box-shadow:0 14px 38px rgba(29,55,92,.10)!important;
  backdrop-filter:blur(18px)!important;
}
html[data-page="index.html"][data-theme="light"] .desktop-nav{
  background:rgba(243,247,252,.88)!important;
  border-color:#DDE6F1!important;
}
html[data-page="index.html"][data-theme="light"] .hero .eyebrow{
  color:#1D4ED8!important;
  background:rgba(255,255,255,.80)!important;
  border-color:rgba(37,99,235,.20)!important;
  box-shadow:0 7px 20px rgba(37,99,235,.07)!important;
}
html[data-page="index.html"][data-theme="light"] .hero h1{color:#0B1220!important}
html[data-page="index.html"][data-theme="light"] .hero .grad{
  background:linear-gradient(100deg,#2563EB,#17AFC2 72%,#0F9F9C)!important;
  -webkit-background-clip:text!important;background-clip:text!important;color:transparent!important;
}
html[data-page="index.html"][data-theme="light"] .hero .lead{color:#516278!important}
html[data-page="index.html"][data-theme="light"] .hero-identity{color:#61738A!important}
html[data-page="index.html"][data-theme="light"] .hero .btn.secondary{
  background:rgba(255,255,255,.82)!important;color:#16304F!important;
  border-color:#C9D7E8!important;box-shadow:0 8px 22px rgba(29,55,92,.05)!important;
}
html[data-page="index.html"][data-theme="light"] .hero .btn.secondary:hover{
  background:#FFFFFF!important;color:#1D4ED8!important;border-color:#9DB9DD!important;
}
html[data-page="index.html"][data-theme="light"] .hero .trust{color:#44566D!important}
html[data-page="index.html"][data-theme="light"] .hero .trust span{
  background:rgba(255,255,255,.74)!important;border-color:#D7E2EF!important;
  box-shadow:0 7px 18px rgba(29,55,92,.035);
}
/* Deliberate dark focal artwork remains the same factual composition in both themes. */
html[data-page="index.html"][data-theme="light"] .clean-hero-art{
  background:#0A1526!important;border-color:rgba(82,130,196,.24)!important;
  box-shadow:0 28px 68px rgba(33,58,94,.20),0 0 0 1px rgba(91,138,204,.08)!important;
}

/* Hero line rhythm: two intentional desktop lines; mobile may wrap naturally to three. */
html[data-page="index.html"] .hero h1{max-width:760px!important;font-size:clamp(54px,5.65vw,78px)!important}
html[data-page="index.html"] .hero-line{display:block}
@media(max-width:1024px){html[data-page="index.html"] .hero h1{font-size:clamp(48px,6.3vw,64px)!important}}
@media(max-width:720px){
  html[data-page="index.html"] .hero h1{font-size:clamp(40px,11vw,50px)!important}
  html[data-page="index.html"] .hero-line{display:block}
}

/* LIGHT surfaces and cards */
html[data-theme="light"] .card,
html[data-theme="light"] .home-teasers .teaser,
html[data-theme="light"] .package-card,
html[data-theme="light"] .contact-channel,
html[data-theme="light"] .panel,
html[data-theme="light"] .policy,
html[data-theme="light"] .legal,
html[data-theme="light"] .faq-item,
html[data-theme="light"] .ticket-form-card{
  background:#FFFFFF!important;
  border-color:#DCE5F0!important;
  color:#0B1220!important;
}
html[data-theme="light"] .home-teasers .teaser{box-shadow:0 14px 34px rgba(29,55,92,.055)!important}
html[data-theme="light"] .home-teasers .teaser > a{color:#2563EB!important}
html[data-theme="light"] .home-teasers .teaser-num{color:rgba(95,111,132,.10)!important}
html[data-theme="light"] .card h3,
html[data-theme="light"] .package-head h2,
html[data-theme="light"] .contact-channel strong{color:#0B1220!important}
html[data-theme="light"] .field input,
html[data-theme="light"] .field textarea,
html[data-theme="light"] .field select{
  background:#F7F9FC!important;color:#0B1220!important;border-color:#D6E0EB!important;
}
html[data-theme="light"] .field input::placeholder,
html[data-theme="light"] .field textarea::placeholder{color:#78879A;opacity:1}
html[data-theme="light"] .field input:focus-visible,
html[data-theme="light"] .field textarea:focus-visible,
html[data-theme="light"] .field select:focus-visible{
  border-color:#2563EB!important;outline:2px solid rgba(37,99,235,.30)!important;outline-offset:2px!important;
}
html[data-theme="light"] .mobile-dock{
  background:rgba(255,255,255,.92)!important;border-color:#D6E1ED!important;
  box-shadow:0 16px 42px rgba(29,55,92,.14)!important;
}
html[data-theme="light"] .drawer{background:#F6F8FC!important}
html[data-theme="light"] .drawer-close,
html[data-theme="light"] .drawer-direct a,
html[data-theme="light"] .acc{background:#FFFFFF!important;border-color:#DCE5F0!important}
html[data-theme="light"] .acc-body a{background:#F1F5FA!important}
html[data-theme="light"] .back-to-top{background:#FFFFFF!important;border-color:#D6E1ED!important;color:#0B1220!important}
html[data-theme="light"] .back-to-top:hover{background:#2563EB!important;color:#FFFFFF!important;border-color:#2563EB!important}

/* Form feedback uses text/icon as well as colour. */
.ticket-status.is-success p:first-child::before{content:"✓";display:inline-block;margin-right:7px;font-weight:950}
.ticket-status.is-error p:first-child::before{content:"!";display:inline-grid;place-items:center;width:16px;height:16px;margin-right:7px;border:1px solid currentColor;border-radius:50%;font-weight:950;font-size:10px;vertical-align:1px}

/* Safe-area and dock spacing on mobile. */
@media(max-width:720px){
  body{padding-bottom:calc(80px + env(safe-area-inset-bottom))}
  .mobile-dock{bottom:calc(12px + env(safe-area-inset-bottom))}
  .back-to-top{bottom:calc(96px + env(safe-area-inset-bottom))}
}

