/* =====================================================================
   CMXD SOLUTIONS — GLOBAL STYLESHEET
   Shared by: /index.html, /it/index.html, /de/index.html, /fr/index.html
   ===================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Familjen+Grotesk:wght@400;500;600;700&family=Archivo:wght@400;500;600;700&display=swap');

:root{
  --ink:#0B1220;
  --ink-soft:#111B2E;
  --ink-softer:#17243A;
  --paper:#F6F9FD;
  --paper-dim:#EAF1F8;
  --white:#ffffff;
  --muted:#64748B;
  --muted-light:#94A3B8;
  --muted-on-dark:#B7C4D6;
  --accent:#1769FF;
  --accent-dim:#0D47C9;
  --border:rgba(11,18,32,.12);
  --border-dark:rgba(246,249,253,.14);
  --radius:4px;
  --radius-lg:10px;
  --shadow:0 24px 60px -28px rgba(11,18,32,.4);
  --font-display:'Familjen Grotesk',Georgia,serif;
  --font-body:'Archivo',Arial,sans-serif;
  --container:1180px;
  --ease:cubic-bezier(.2,.7,.3,1);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--ink);
  background:var(--paper);
  -webkit-font-smoothing:antialiased;
  line-height:1.5;
}
img,svg{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
ul{margin:0;padding:0;list-style:none;}
h1,h2,h3,h4,p{margin:0;}
.wrap{width:min(var(--container), calc(100% - 48px));margin-inline:auto;}
section{position:relative;}

:focus-visible{outline:2px solid var(--accent);outline-offset:3px;}

/* ===================== TYPE SCALE ===================== */
.eyebrow{
  font-family:var(--font-body);
  font-size:11.5px;
  font-weight:600;
  letter-spacing:.16em;
  text-transform:uppercase;
}
h1,h2,h3{
  font-family:var(--font-display);
  font-weight:600;
  letter-spacing:-.01em;
  color:var(--ink);
}
.h-display{ font-size:clamp(34px,5vw,58px); line-height:1.08; font-weight:700; }
.h-section{ font-size:clamp(26px,3.4vw,38px); line-height:1.16; }
.lead{ font-size:clamp(15px,1.4vw,17px); color:var(--muted); line-height:1.7; }

/* ===================== BUTTONS ===================== */
.btn{
  display:inline-flex;align-items:center;gap:10px;
  padding:14px 26px;
  font-family:var(--font-body);
  font-size:14px;font-weight:600;
  border-radius:var(--radius);
  border:1px solid transparent;
  cursor:pointer;
  transition:transform .3s var(--ease), background .3s var(--ease), border-color .3s var(--ease), color .3s var(--ease), box-shadow .3s var(--ease);
  white-space:nowrap;
}
.btn-primary{ background:var(--ink); color:var(--paper); }
.btn-primary:hover{ background:var(--accent); transform:translateY(-2px); box-shadow:0 14px 30px -14px rgba(23,105,255,.55); }
.btn-primary.on-dark{ background:var(--paper); color:var(--ink); }
.btn-primary.on-dark:hover{ background:var(--accent); color:var(--white); }
.btn-ghost{ background:transparent; border-color:var(--border); color:var(--ink); }
.btn-ghost:hover{ border-color:var(--ink); transform:translateY(-2px); }
.btn-ghost.on-dark{ border-color:var(--border-dark); color:var(--paper); }
.btn-ghost.on-dark:hover{ border-color:var(--paper); }
.btn-accent{ background:var(--accent); color:var(--white); }
.btn-accent:hover{ background:var(--accent-dim); transform:translateY(-2px); box-shadow:0 14px 30px -14px rgba(23,105,255,.55); }

.arrow{ transition:transform .3s var(--ease); }
.btn:hover .arrow{ transform:translateX(4px); }

/* ===================== HEADER ===================== */
.site-header{
  position:fixed; inset:0 0 auto 0; z-index:100;
  padding:18px 0;
  transition:background .4s var(--ease), padding .4s var(--ease), border-color .4s var(--ease);
  border-bottom:1px solid transparent;
}
.site-header.scrolled{
  background:rgba(11,18,32,.86);
  backdrop-filter:blur(14px);
  padding:12px 0;
  border-bottom:1px solid var(--border-dark);
}
.header-row{ display:flex; align-items:center; justify-content:space-between; gap:24px; }
.logo{
  font-family:var(--font-display); font-weight:700; font-size:19px;
  color:var(--paper); letter-spacing:-.01em; flex:none;
}
.logo .dot{ color:var(--accent); }

.main-nav{ display:flex; align-items:center; gap:30px; }
.main-nav a{
  font-size:13.5px; font-weight:500; color:var(--muted-on-dark);
  transition:color .25s ease; position:relative; padding:4px 0;
}
.main-nav a:hover{ color:var(--paper); }

.header-right{ display:flex; align-items:center; gap:22px; }
.lang-switch{ display:flex; align-items:center; gap:2px; font-size:12.5px; font-weight:600; color:var(--muted-on-dark); }
.lang-switch a{
  padding:4px 6px;border-radius:3px;letter-spacing:.02em;
  transition:color .2s ease;
}
.lang-switch a[aria-current="true"]{ color:var(--paper); }
.lang-switch a:hover{ color:var(--paper); }
.lang-sep{ color:var(--border-dark); font-size:11px; }

.header-cta{ opacity:0; visibility:hidden; transform:translateY(-6px); transition:opacity .3s ease, transform .3s ease, visibility .3s; }
.site-header.scrolled .header-cta{ opacity:1; visibility:visible; transform:translateY(0); }

.hamburger{ display:none; flex-direction:column; gap:5px; background:none;border:none;cursor:pointer;padding:6px; }
.hamburger span{ width:22px;height:2px;background:var(--paper);display:block; transition:transform .3s ease, opacity .3s ease; }

.mobile-panel{
  position:fixed; inset:0; z-index:99;
  background:var(--ink);
  display:flex; flex-direction:column;
  padding:100px 32px 40px;
  transform:translateY(-100%);
  transition:transform .45s var(--ease);
}
.mobile-panel.open{ transform:translateY(0); }
.mobile-panel a{
  font-family:var(--font-display); font-size:26px; font-weight:600;
  color:var(--paper); padding:14px 0; border-bottom:1px solid var(--border-dark);
}
.mobile-panel .btn{ margin-top:28px; align-self:flex-start; }
.mobile-panel .lang-switch{ margin-top:32px; gap:6px; }
.mobile-panel .lang-switch a{ font-size:15px; }

/* ===================== HERO (real photo background) ===================== */
.hero{
  min-height:100vh;
  min-height:100dvh;
  display:flex; flex-direction:column; justify-content:flex-end;
  background:var(--ink);
  overflow:hidden;
  position:relative;
}
.hero-media{ position:absolute; inset:0; z-index:0; overflow:hidden; }
.hero-media img{
  width:100%; height:100%; object-fit:cover;
  transform:scale(1.12);
  animation:kenburns 24s ease-in-out infinite alternate;
}
@keyframes kenburns{ from{ transform:scale(1.12) translate3d(0,0,0); } to{ transform:scale(1.03) translate3d(0,-1.5%,0); } }
.hero-scrim{
  position:absolute; inset:0; z-index:1;
  background:
    linear-gradient(180deg, rgba(11,18,32,.42) 0%, rgba(11,18,32,.3) 32%, rgba(11,18,32,.78) 80%, var(--ink) 100%);
}
.hero-content{ position:relative; z-index:2; padding:180px 0 88px; }
.hero-eyebrow{ color:var(--accent); margin-bottom:22px; display:flex; align-items:center; gap:10px; }
.hero-eyebrow::before{ content:'';width:26px;height:1px;background:var(--accent); }
.hero h1{
  color:var(--paper);
  max-width:820px;
  text-wrap:balance;
  opacity:0;
  animation:fadeUp .95s var(--ease) .1s forwards;
}
.hero .lead{ color:var(--muted-on-dark); max-width:46ch; margin-top:22px; }
.hero-ctas{ display:flex; gap:14px; margin-top:38px; flex-wrap:wrap; }

.hero .lead{ opacity:0; animation:fadeUp .9s var(--ease) .5s forwards; }
.hero-ctas{ opacity:0; animation:fadeUp .9s var(--ease) .68s forwards; }
.hero-eyebrow{ opacity:0; animation:fadeUp .8s var(--ease) .1s forwards; }
@keyframes fadeUp{ from{opacity:0; transform:translateY(14px);} to{opacity:1; transform:translateY(0);} }

/* ===================== TRUST STRIP ===================== */
.trust-strip{ background:var(--ink-soft); border-top:1px solid var(--border-dark); }
.trust-row{
  display:flex; align-items:center; justify-content:space-between;
  padding:22px 0; flex-wrap:wrap; gap:14px 28px;
}
.trust-row span{
  font-family:var(--font-body); font-size:12px; font-weight:600;
  letter-spacing:.14em; color:var(--muted-on-dark);
}

/* ===================== SECTION SPACING ===================== */
.section{ padding:120px 0; }
.section-head{ max-width:640px; margin-bottom:64px; }
.section-head .eyebrow{ color:var(--accent); margin-bottom:16px; }
.section-head .lead{ margin-top:16px; }

.on-dark{ background:var(--ink); }
.on-dark h2, .on-dark h3{ color:var(--paper); }
.on-dim{ background:var(--paper-dim); }

/* ===================== SCROLL REVEAL ===================== */
.reveal{ opacity:0; transform:translateY(26px); transition:opacity .7s var(--ease), transform .7s var(--ease); }
.reveal.in-view{ opacity:1; transform:translateY(0); }
.reveal-stagger > *{ opacity:0; transform:translateY(24px); transition:opacity .6s var(--ease), transform .6s var(--ease); }
.reveal-stagger.in-view > *{ opacity:1; transform:translateY(0); }
.reveal-stagger.in-view > *:nth-child(1){ transition-delay:.03s; }
.reveal-stagger.in-view > *:nth-child(2){ transition-delay:.09s; }
.reveal-stagger.in-view > *:nth-child(3){ transition-delay:.15s; }
.reveal-stagger.in-view > *:nth-child(4){ transition-delay:.21s; }
.reveal-stagger.in-view > *:nth-child(5){ transition-delay:.27s; }
.reveal-stagger.in-view > *:nth-child(6){ transition-delay:.33s; }

/* ===================== SERVICES ===================== */
.services-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--border); border:1px solid var(--border); }
.service-card{
  background:var(--paper); padding:38px 32px; min-height:250px;
  display:flex; flex-direction:column; justify-content:space-between;
  transition:background .35s var(--ease), transform .35s var(--ease), box-shadow .35s var(--ease);
}
.service-card:hover{ background:var(--white); box-shadow:var(--shadow); transform:translateY(-4px); z-index:1; }
.service-index{ font-size:12px; font-weight:600; letter-spacing:.1em; color:var(--muted-light); }
.service-card h3{ font-size:21px; margin-top:26px; }
.service-card p{ color:var(--muted); font-size:14.5px; line-height:1.65; margin-top:10px; }
.service-arrow{
  margin-top:22px; width:30px;height:30px;border-radius:50%;
  border:1px solid var(--border); display:flex;align-items:center;justify-content:center;
  transition:border-color .3s var(--ease), background .3s var(--ease);
}
.service-card:hover .service-arrow{ border-color:var(--ink); background:var(--ink); }
.service-arrow svg{ width:14px;height:14px; stroke:var(--ink); transition:transform .3s var(--ease), stroke .3s var(--ease); }
.service-card:hover .service-arrow svg{ transform:translateX(3px); stroke:var(--paper); }

/* ===================== FEATURED OFFER ===================== */
.offer{
  background:var(--ink); color:var(--paper);
  border-radius:var(--radius-lg);
  overflow:hidden;
  display:grid; grid-template-columns:1.05fr 1fr;
  box-shadow:var(--shadow);
}
.offer-left{ padding:64px 56px; display:flex; flex-direction:column; justify-content:center; }
.offer-tag{ color:var(--accent); }
.offer h2{ color:var(--paper); margin-top:20px; font-size:clamp(26px,3vw,34px); }
.offer p.lead{ color:var(--muted-on-dark); margin-top:18px; }
.offer-price-row{ display:flex; align-items:baseline; gap:16px; margin-top:32px; }
.offer-price{ font-family:var(--font-display); font-size:52px; font-weight:700; color:var(--paper); }
.offer-old{ font-size:15px; color:var(--muted-on-dark); text-decoration:line-through; }
.offer-value-label{ font-size:12px; color:var(--muted-on-dark); letter-spacing:.06em; }
.offer-note{ margin-top:18px; font-size:12.5px; color:var(--muted-on-dark); line-height:1.6; max-width:38ch; }
.offer .btn{ margin-top:32px; align-self:flex-start; }

.offer-right{ background:var(--ink-soft); padding:56px 48px; border-left:1px solid var(--border-dark); }
.offer-right-label{ font-size:11.5px; letter-spacing:.14em; color:var(--muted-on-dark); text-transform:uppercase; margin-bottom:22px; display:block; }
.offer-list{ display:flex; flex-direction:column; }
.offer-list li{
  display:flex; gap:14px; padding:14px 0;
  border-bottom:1px solid var(--border-dark);
  font-size:14.5px; color:var(--paper);
  opacity:0; transform:translateX(-10px);
  transition:opacity .5s var(--ease), transform .5s var(--ease);
}
.offer.in-view .offer-list li{ opacity:1; transform:translateX(0); }
.offer.in-view .offer-list li:nth-child(1){ transition-delay:.05s; }
.offer.in-view .offer-list li:nth-child(2){ transition-delay:.1s; }
.offer.in-view .offer-list li:nth-child(3){ transition-delay:.15s; }
.offer.in-view .offer-list li:nth-child(4){ transition-delay:.2s; }
.offer.in-view .offer-list li:nth-child(5){ transition-delay:.25s; }
.offer.in-view .offer-list li:nth-child(6){ transition-delay:.3s; }
.offer.in-view .offer-list li:nth-child(7){ transition-delay:.35s; }
.offer.in-view .offer-list li:nth-child(8){ transition-delay:.4s; }
.offer-list li:last-child{ border-bottom:none; }
.offer-list li .tick{ flex:none; width:16px;height:16px; margin-top:2px; stroke:var(--accent); }

/* ===================== METHOD ===================== */
.method-grid{ display:grid; grid-template-columns:repeat(4,1fr); margin-top:56px; position:relative; }
.method-step{ padding:0 28px 0 0; position:relative; }
.method-step:not(:last-child)::after{
  content:''; position:absolute; top:8px; right:0; width:calc(100% - 20px); height:1px;
  background:var(--border);
}
.method-num{ font-family:var(--font-display); font-size:15px; font-weight:600; color:var(--accent); }
.method-step h3{ font-size:19px; margin-top:22px; }
.method-step p{ font-size:14px; color:var(--muted); margin-top:10px; line-height:1.6; }
.method-callout{
  margin-top:56px; padding:26px 30px; border:1px solid var(--border); border-radius:var(--radius-lg);
  display:flex; align-items:baseline; gap:14px; flex-wrap:wrap; background:var(--paper-dim);
}
.method-callout strong{ font-family:var(--font-display); font-size:19px; }
.method-callout span{ font-size:13.5px; color:var(--muted); }

/* ===================== PRICING PREVIEW ===================== */
.price-list{ border-top:1px solid var(--border); }
.price-row{
  display:flex; align-items:center; justify-content:space-between;
  padding:22px 0; border-bottom:1px solid var(--border);
  gap:20px; transition:padding-left .3s var(--ease), background .3s var(--ease);
}
.price-row:hover{ padding-left:10px; background:rgba(11,18,32,.025); }
.price-row .name{ font-family:var(--font-display); font-size:18px; font-weight:600; }
.price-row .amount{ font-size:16px; font-weight:600; white-space:nowrap; }
.price-row .amount small{ font-weight:500; color:var(--muted); font-size:12.5px; }
.price-cta{ margin-top:44px; display:flex; justify-content:center; }

/* ===================== ABOUT (real photo, duotone) ===================== */
.about{ display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:center; }
.about-copy .lead{ margin-top:20px; }
.about-stats{ display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:40px; }
.about-stats div{ border-top:1px solid var(--border); padding-top:14px; }
.about-stats strong{ font-family:var(--font-display); font-size:26px; display:block; }
.about-stats span{ font-size:12.5px; color:var(--muted); }
.about-visual{
  aspect-ratio:4/5; position:relative; border-radius:var(--radius-lg); overflow:hidden;
  box-shadow:var(--shadow);
}
.about-visual img{
  width:100%; height:100%; object-fit:cover;
  filter:grayscale(1) contrast(1.05);
  transform:scale(1.06);
  transition:transform 1.2s var(--ease);
}
.about-visual:hover img{ transform:scale(1); }
.about-visual::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(150deg, rgba(23,105,255,.34), rgba(11,18,32,.55));
  mix-blend-mode:multiply;
}
.about-visual::before{
  content:''; position:absolute; inset:18px; z-index:2; pointer-events:none;
  border:1px solid rgba(246,249,253,.35);
}
.about-visual-tag{
  position:absolute; left:36px; bottom:30px; z-index:3;
  color:var(--paper); font-size:12px; letter-spacing:.1em; text-transform:uppercase;
}

/* ===================== FAQ (custom animated accordion) ===================== */
.faq-list{ border-top:1px solid var(--border); max-width:820px; }
.faq-item{ border-bottom:1px solid var(--border); }
.faq-q{
  width:100%; text-align:left; background:none; border:none; cursor:pointer;
  padding:26px 0; display:flex; align-items:center; justify-content:space-between; gap:20px;
  font-family:var(--font-display); font-size:17px; font-weight:600; color:var(--ink);
}
.faq-q .plus{ flex:none; width:20px;height:20px; position:relative; }
.faq-q .plus::before, .faq-q .plus::after{
  content:''; position:absolute; background:var(--ink); transition:transform .35s var(--ease), background .35s var(--ease);
}
.faq-q .plus::before{ width:100%; height:1.5px; top:50%; left:0; transform:translateY(-50%); }
.faq-q .plus::after{ width:1.5px; height:100%; left:50%; top:0; transform:translateX(-50%); }
.faq-item.open .plus::after{ transform:translateX(-50%) rotate(90deg); opacity:0; }
.faq-item.open .plus::before{ background:var(--accent); }
.faq-a-wrap{ display:grid; grid-template-rows:0fr; transition:grid-template-rows .5s var(--ease); }
.faq-item.open .faq-a-wrap{ grid-template-rows:1fr; }
.faq-a-inner{ overflow:hidden; }
.faq-a{ padding:0 0 26px; max-width:70ch; color:var(--muted); font-size:14.5px; line-height:1.7; }

/* ===================== FINAL CTA (real photo background) ===================== */
.final-cta{
  color:var(--paper); padding:150px 0; text-align:center; position:relative; overflow:hidden;
  background:var(--ink);
}
.final-cta-media{ position:absolute; inset:0; z-index:0; }
.final-cta-media img{
  width:100%; height:100%; object-fit:cover;
  transform:scale(1.1);
  transition:transform 1.4s var(--ease);
}
.final-cta:hover .final-cta-media img{ transform:scale(1.02); }
.final-cta-scrim{ position:absolute; inset:0; z-index:1; background:linear-gradient(180deg, rgba(11,18,32,.86), rgba(11,18,32,.72) 40%, rgba(11,18,32,.92)); }
.final-cta-inner{ position:relative; z-index:2; max-width:680px; margin-inline:auto; }
.final-cta h2{ color:var(--paper); font-size:clamp(30px,4.4vw,46px); }
.final-cta .lead{ color:var(--muted-on-dark); margin-top:20px; max-width:52ch; margin-inline:auto; }
.final-cta-ctas{ display:flex; gap:14px; justify-content:center; margin-top:38px; flex-wrap:wrap; }

/* ===================== FOOTER ===================== */
.site-footer{ background:#070D18; color:var(--muted-on-dark); padding:80px 0 28px; }
.footer-top{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; padding-bottom:56px; border-bottom:1px solid var(--border-dark); }
.footer-brand .logo{ margin-bottom:16px; }
.footer-brand p{ font-size:13px; letter-spacing:.06em; color:var(--muted-on-dark); }
.footer-col h4{ font-family:var(--font-body); font-size:12.5px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--paper); margin-bottom:18px; }
.footer-col li{ padding:6px 0; }
.footer-col a{ font-size:14px; color:var(--muted-on-dark); transition:color .2s ease; }
.footer-col a:hover{ color:var(--paper); }
.footer-bottom{ display:flex; align-items:center; justify-content:space-between; padding-top:26px; flex-wrap:wrap; gap:14px; font-size:12.5px; }
.footer-bottom .legal{ display:flex; gap:22px; }

/* ===================== LANGUAGE SELECTOR PAGE ===================== */
.lang-hero{
  min-height:100vh; min-height:100dvh;
  display:flex; flex-direction:column; justify-content:center;
  position:relative; overflow:hidden; background:var(--ink);
}
.lang-hero-media{ position:absolute; inset:0; z-index:0; }
.lang-hero-media img{ width:100%; height:100%; object-fit:cover; transform:scale(1.1); animation:kenburns 26s ease-in-out infinite alternate; }
.lang-hero-scrim{ position:absolute; inset:0; z-index:1; background:linear-gradient(180deg, rgba(11,18,32,.55), rgba(11,18,32,.6) 40%, rgba(11,18,32,.92)); }
.lang-hero-content{ position:relative; z-index:2; max-width:640px; }
.lang-choose-label{ margin:44px 0 18px; font-size:12px; font-weight:600; letter-spacing:.12em; color:var(--muted-on-dark); text-transform:uppercase; }
.lang-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; max-width:560px; }
.lang-card{
  display:flex; align-items:center; gap:12px; padding:18px 16px;
  border:1px solid var(--border-dark); border-radius:var(--radius-lg);
  background:rgba(255,255,255,.03);
  transition:border-color .3s var(--ease), background .3s var(--ease), transform .3s var(--ease);
}
.lang-card:hover{ border-color:var(--accent); background:rgba(23,105,255,.1); transform:translateY(-3px); }
.lang-flag{ font-size:22px; line-height:1; flex:none; }
.lang-text{ display:flex; flex-direction:column; gap:2px; }
.lang-name{ font-size:15px; font-weight:600; color:var(--paper); }
.lang-sub{ font-size:12px; color:var(--muted-on-dark); }
.lang-footer{ position:relative; z-index:2; display:flex; align-items:baseline; justify-content:space-between; gap:16px; padding:24px 0 40px; font-size:12px; color:var(--muted-on-dark); border-top:1px solid var(--border-dark); margin-top:64px; }

/* ===================== RESPONSIVE ===================== */
@media (max-width:1000px){
  .main-nav{ display:none; }
  .hamburger{ display:flex; }
  .services-grid{ grid-template-columns:repeat(2,1fr); }
  .offer{ grid-template-columns:1fr; }
  .offer-right{ border-left:none; border-top:1px solid var(--border-dark); }
  .method-grid{ grid-template-columns:1fr 1fr; row-gap:40px; }
  .method-step::after{ display:none; }
  .about{ grid-template-columns:1fr; }
  .about-visual{ order:-1; max-width:380px; margin-inline:auto; aspect-ratio:16/10; }
  .footer-top{ grid-template-columns:1fr 1fr; row-gap:40px; }
}
@media (max-width:640px){
  .wrap{ width:calc(100% - 32px); }
  .section{ padding:80px 0; }
  .hero-content{ padding:150px 0 64px; }
  .services-grid{ grid-template-columns:1fr; }
  .service-card{ min-height:0; }
  .offer-left, .offer-right{ padding:40px 26px; }
  .method-grid{ grid-template-columns:1fr; row-gap:34px; }
  .about-stats{ grid-template-columns:1fr 1fr; }
  .footer-top{ grid-template-columns:1fr; gap:32px; }
  .footer-bottom{ flex-direction:column; align-items:flex-start; }
  .trust-row{ justify-content:flex-start; }
  .price-row{ align-items:flex-start; }
  .lang-grid{ grid-template-columns:1fr; max-width:none; }
  .lang-footer{ flex-direction:column; gap:6px; }
}

@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  .hero h1, .hero-line span, .hero-eyebrow, .hero .lead, .hero-ctas{ animation:none !important; opacity:1 !important; transform:none !important; }
  .hero-media img, .lang-hero-media img, .final-cta-media img{ animation:none !important; transform:none !important; }
  .reveal, .reveal-stagger > *, .offer-list li{ opacity:1 !important; transform:none !important; transition:none !important; }
  .btn, .service-card, .site-header, .about-visual img{ transition:none !important; }
}


/* CMXD National presentation overrides */
/* CMXD Home presentation overrides
 * These rules are served after source/style.css via the existing /style.css route.
 * The supplied source HTML/CSS/JS files remain untouched.
 */

/* Chi siamo / Über uns / À propos: remove the visual caption only. */
.about-visual-tag {
  display: none !important;
}

/* FAQ: let the accordion span the full content width of the page container. */
.faq-list {
  width: 100% !important;
  max-width: none !important;
}

/* Visible contact details in the final CTA — wrapper-only, source CSS preserved. */
.cmxd-visible-contact {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  max-width: 820px;
  margin: 28px auto 0;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(8,18,34,.42);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-radius: 14px;
  overflow: hidden;
}
.cmxd-contact-item {
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding: 17px 20px;
  color: var(--paper, #fff);
  border-right: 1px solid rgba(255,255,255,.12);
  transition: background .2s ease, border-color .2s ease, transform .2s ease;
}
.cmxd-contact-item:last-child { border-right: 0; }
.cmxd-contact-item:hover,
.cmxd-contact-item:focus-visible {
  background: rgba(23,105,255,.16);
  border-color: rgba(59,107,240,.55);
  transform: translateY(-1px);
  outline: none;
}
.cmxd-contact-label {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--accent, #3b6bf0);
}
.cmxd-contact-value {
  font-size: 14px;
  line-height: 1.35;
  color: #fff;
}
@media (max-width: 720px) {
  .cmxd-visible-contact { grid-template-columns: 1fr; max-width: 420px; }
  .cmxd-contact-item { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.12); }
  .cmxd-contact-item:last-child { border-bottom: 0; }
}

/* Compact, responsive header navigation: source HTML/CSS remains untouched. */
.site-header .header-row {
  gap: 16px;
}
.site-header .logo {
  flex: 0 0 auto;
}
.site-header .logo img {
  width: 148px !important;
  max-width: 148px !important;
  height: auto !important;
  display: block !important;
}
.site-header .main-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(8px, 1vw, 15px);
  min-width: 0;
  flex: 1 1 auto;
}
.site-header .main-nav > a,
.site-header .main-nav .cmxd-menu-trigger {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  white-space: nowrap;
  color: inherit;
  font: inherit;
  font-size: 12.5px;
  border: 0;
  background: transparent;
  padding: 3px 0;
  cursor: pointer;
  line-height: 1.2;
}
.site-header .main-nav .cmxd-menu-trigger:hover,
.site-header .main-nav > a:hover,
.site-header .main-nav .cmxd-menu-trigger:focus-visible,
.site-header .main-nav > a:focus-visible {
  color: var(--accent, #1769FF);
}
.cmxd-menu-group {
  position: relative;
  display: inline-flex;
  align-items: center;
}
.cmxd-menu-chevron {
  font-size: 9px;
  line-height: 1;
  opacity: .7;
  transform: translateY(-1px);
  transition: transform .18s ease;
}
.cmxd-menu-group[data-open="1"] .cmxd-menu-chevron {
  transform: rotate(180deg) translateY(1px);
}
.cmxd-menu-dropdown {
  position: absolute;
  z-index: 50;
  top: calc(100% + 10px);
  left: 50%;
  transform: translateX(-50%);
  min-width: 215px;
  padding: 7px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 9px;
  background: rgba(11,18,32,.98);
  box-shadow: 0 18px 42px rgba(0,0,0,.3);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}
.cmxd-menu-dropdown::before {
  content: '';
  position: absolute;
  top: -5px;
  left: 50%;
  width: 10px;
  height: 10px;
  transform: translateX(-50%) rotate(45deg);
  background: rgba(11,18,32,.98);
  border-left: 1px solid rgba(255,255,255,.12);
  border-top: 1px solid rgba(255,255,255,.12);
}
.cmxd-menu-dropdown > a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 9px 11px;
  border-radius: 6px;
  color: #E7EEF8;
  font-size: 12.5px;
  line-height: 1.2;
  white-space: nowrap;
}
.cmxd-menu-dropdown > a::after {
  content: '→';
  color: var(--accent, #1769FF);
  opacity: 0;
  transform: translateX(-4px);
  transition: opacity .18s ease, transform .18s ease;
}
.cmxd-menu-dropdown > a:hover,
.cmxd-menu-dropdown > a:focus-visible {
  background: rgba(23,105,255,.12);
  color: #fff;
  outline: none;
}
.cmxd-menu-dropdown > a:hover::after,
.cmxd-menu-dropdown > a:focus-visible::after {
  opacity: 1;
  transform: translateX(0);
}

/* Mobile accordion groups. */
#mobilePanel .cmxd-menu-group {
  width: 100%;
  display: block;
}
#mobilePanel .cmxd-menu-trigger {
  width: 100%;
  justify-content: space-between;
  padding: 10px 0;
  color: inherit;
  font: inherit;
  text-align: left;
}
#mobilePanel .cmxd-menu-dropdown {
  position: static;
  transform: none;
  min-width: 0;
  padding: 0 0 6px 14px;
  border: 0;
  border-left: 1px solid rgba(255,255,255,.16);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}
#mobilePanel .cmxd-menu-dropdown::before { display: none; }
#mobilePanel .cmxd-menu-dropdown > a {
  padding: 8px 0;
  font-size: 14px;
}
#mobilePanel .cmxd-menu-dropdown > a::after { display: none; }

/* Keep the desktop header balanced without forcing a wide CTA. */
.site-header .header-right {
  flex: 0 0 auto;
  gap: 12px;
}
.site-header .header-cta {
  padding: 10px 14px;
  font-size: 12px;
  white-space: nowrap;
}

@media (max-width: 1160px) {
  .site-header .main-nav { gap: 7px; }
  .site-header .main-nav > a,
  .site-header .main-nav .cmxd-menu-trigger { font-size: 11.5px; }
  .site-header .logo img { width: 138px !important; max-width: 138px !important; }
  .site-header .header-right { gap: 8px; }
}

@media (max-width: 1040px) {
  .site-header .main-nav { display: none; }
  .site-header .header-row { gap: 12px; }
  .site-header .header-right { margin-left: auto; }
  .site-header .header-cta { display: none !important; }
  .site-header .hamburger {
    display: flex !important;
    flex: 0 0 auto;
    margin: 0;
    padding: 7px;
  }
  .site-header .hamburger span { width: 20px; }
}

@media (max-width: 640px) {
  .site-header { padding: 12px 0; }
  .site-header.scrolled { padding: 10px 0; }
  .site-header .header-row { gap: 8px; }
  .site-header .logo img {
    width: 136px !important;
    max-width: 136px !important;
  }
  .site-header .header-right { gap: 2px; }
  .site-header .lang-switch {
    font-size: 12px;
    gap: 0;
  }
  .site-header .lang-switch a { padding: 4px 4px; }
  .site-header .lang-sep { font-size: 10px; }
  .site-header .hamburger { padding: 6px !important; }
  .site-header .hamburger span { width: 19px; height: 2px; }
  .mobile-panel { padding: 86px 24px 32px; }
  .mobile-panel > a { font-size: 23px; padding: 11px 0; }
  #mobilePanel .cmxd-menu-trigger { font-size: 23px; }
  #mobilePanel .cmxd-menu-dropdown > a { font-size: 15px; }
}

/* Header readability fix: explicit light text on the dark header. */
.site-header {
  background: rgba(11,18,32,.94);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.site-header .main-nav > a,
.site-header .main-nav .cmxd-menu-trigger {
  color: #F6F9FD !important;
}
.site-header .main-nav > a:hover,
.site-header .main-nav > a:focus-visible,
.site-header .main-nav .cmxd-menu-trigger:hover,
.site-header .main-nav .cmxd-menu-trigger:focus-visible,
.site-header .main-nav .cmxd-menu-group[data-open="1"] .cmxd-menu-trigger {
  color: #1769FF !important;
}
.site-header .main-nav .cmxd-menu-chevron {
  color: #B7C4D6;
}
.site-header .lang-switch,
.site-header .lang-switch a {
  color: #B7C4D6 !important;
}
.site-header .lang-switch a[aria-current="true"],
.site-header .lang-switch a:hover,
.site-header .lang-switch a:focus-visible {
  color: #F6F9FD !important;
}
@media (max-width: 1040px) {
  .site-header {
    background: rgba(11,18,32,.96);
  }
}


/* ===================== CMXD HEADER / MENU REWORK =====================
 * Wrapper-only navigation polish. Original source HTML/CSS/JS remain untouched.
 */
.site-header {
  background: rgba(10, 18, 32, .96) !important;
  border-bottom: 1px solid rgba(255,255,255,.08) !important;
  padding: 13px 0 !important;
}
.site-header.scrolled { padding: 10px 0 !important; }
.site-header .header-row {
  width: min(1240px, calc(100% - 40px));
  gap: 18px;
}
.site-header .logo img {
  width: 132px !important;
  max-width: 132px !important;
  height: auto !important;
}
.site-header .main-nav {
  flex: 1 1 auto;
  gap: 18px;
  justify-content: center;
  min-width: 0;
}
.site-header .main-nav > a,
.site-header .main-nav .cmxd-menu-trigger {
  min-height: 34px;
  padding: 7px 1px !important;
  font-size: 12.5px !important;
  font-weight: 500 !important;
  color: #EAF1F8 !important;
  letter-spacing: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  appearance: none;
  -webkit-appearance: none;
  text-decoration: none;
}
.site-header .main-nav > a:hover,
.site-header .main-nav > a:focus-visible,
.site-header .main-nav .cmxd-menu-trigger:hover,
.site-header .main-nav .cmxd-menu-trigger:focus-visible,
.site-header .main-nav .cmxd-menu-group[data-open="1"] .cmxd-menu-trigger {
  color: #4D8DFF !important;
}
.site-header .main-nav .cmxd-menu-label { line-height: 1; }
.cmxd-menu-group { position: relative; }
.cmxd-menu-chevron {
  margin-left: 5px;
  font-size: 9px;
  color: #93A5BB;
  transition: transform .18s ease, color .18s ease;
}
.cmxd-menu-group[data-open="1"] .cmxd-menu-chevron {
  transform: rotate(180deg);
  color: #4D8DFF;
}
.cmxd-menu-dropdown {
  top: calc(100% + 9px) !important;
  left: 50% !important;
  min-width: 220px !important;
  padding: 6px !important;
  border-radius: 10px !important;
  background: #0B1424 !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  box-shadow: 0 18px 44px rgba(0,0,0,.34) !important;
}
.cmxd-menu-dropdown > a {
  min-height: 36px;
  padding: 9px 11px !important;
  border-radius: 7px !important;
  color: #DDE7F2 !important;
  font-size: 12.5px !important;
  font-weight: 500 !important;
}
.cmxd-menu-dropdown > a:hover,
.cmxd-menu-dropdown > a:focus-visible {
  color: #FFFFFF !important;
  background: rgba(23,105,255,.14) !important;
}
.site-header .header-right {
  gap: 10px !important;
  margin-left: 0 !important;
}
.site-header .lang-switch { gap: 1px !important; }
.site-header .lang-switch a {
  padding: 4px 5px !important;
  font-size: 11.5px !important;
  color: #B6C5D7 !important;
}
.site-header .lang-switch a[aria-current="true"],
.site-header .lang-switch a:hover,
.site-header .lang-switch a:focus-visible {
  color: #FFFFFF !important;
}
.site-header .header-cta {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  padding: 10px 14px !important;
  font-size: 11.5px !important;
  border-radius: 7px !important;
  white-space: nowrap;
}

/* Mobile: compact top bar + true accordion, never browser-default buttons. */
@media (max-width: 1040px) {
  .site-header { padding: 11px 0 !important; }
  .site-header.scrolled { padding: 10px 0 !important; }
  .site-header .header-row {
    width: calc(100% - 28px);
    gap: 10px !important;
  }
  .site-header .logo img {
    width: 122px !important;
    max-width: 122px !important;
  }
  .site-header .main-nav { display: none !important; }
  .site-header .header-right { margin-left: auto !important; gap: 6px !important; }
  .site-header .header-cta { display: none !important; }
  .site-header .hamburger {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 8px !important;
    margin: 0 !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    border-radius: 8px;
    background: rgba(255,255,255,.04) !important;
    box-shadow: none !important;
  }
  .site-header .hamburger span { width: 18px !important; height: 2px !important; }
  .mobile-panel {
    top: 0; left: 0; right: 0; bottom: 0;
    padding: 82px 22px 28px !important;
    background: #091321 !important;
    overflow-y: auto;
    overscroll-behavior: contain;
  }
  .mobile-panel > a,
  #mobilePanel .cmxd-menu-trigger {
    width: 100%;
    min-height: 48px;
    padding: 12px 0 !important;
    margin: 0 !important;
    color: #F3F7FB !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    text-align: left !important;
    text-decoration: none !important;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.09) !important;
    box-shadow: none !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    cursor: pointer;
  }
  .mobile-panel > a:hover,
  .mobile-panel > a:focus-visible,
  #mobilePanel .cmxd-menu-trigger:hover,
  #mobilePanel .cmxd-menu-trigger:focus-visible {
    color: #4D8DFF !important;
    outline: none;
  }
  #mobilePanel .cmxd-menu-trigger {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
  }
  #mobilePanel .cmxd-menu-dropdown {
    display: block;
    position: static !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 6px 0 8px 15px !important;
    border: 0 !important;
    border-left: 1px solid rgba(77,141,255,.42) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }
  #mobilePanel .cmxd-menu-dropdown[hidden] { display: none !important; }
  #mobilePanel .cmxd-menu-dropdown > a {
    display: flex !important;
    align-items: center;
    min-height: 37px;
    padding: 8px 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    color: #B8C7D8 !important;
    background: transparent !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.25 !important;
  }
  #mobilePanel .cmxd-menu-dropdown > a:hover,
  #mobilePanel .cmxd-menu-dropdown > a:focus-visible {
    color: #FFFFFF !important;
    background: transparent !important;
    outline: none !important;
  }
  #mobilePanel .cmxd-menu-dropdown > a::after { display: none !important; }
  #mobilePanel .cmxd-menu-chevron { margin-left: 10px; font-size: 10px; }
  .mobile-panel .btn.btn-primary {
    display: inline-flex !important;
    width: auto !important;
    min-height: 44px;
    margin-top: 22px !important;
    padding: 11px 16px !important;
    border: 0 !important;
    border-radius: 7px !important;
    background: #1769FF !important;
    color: #FFFFFF !important;
    font-size: 14px !important;
  }
  .mobile-panel .lang-switch {
    margin-top: 22px !important;
    padding-top: 16px;
    border-top: 1px solid rgba(255,255,255,.09);
  }
  .mobile-panel .lang-switch a {
    color: #B8C7D8 !important;
    font-size: 14px !important;
  }
  .mobile-panel .lang-switch a[aria-current="true"] { color: #FFFFFF !important; }
}

@media (min-width: 1041px) and (max-width: 1180px) {
  .site-header .main-nav { gap: 13px; }
  .site-header .main-nav > a,
  .site-header .main-nav .cmxd-menu-trigger { font-size: 11.5px !important; }
  .site-header .logo img { width: 126px !important; max-width: 126px !important; }
  .site-header .header-cta { padding-inline: 11px !important; }
}


/* ================================================================
   CMXD SOLUTIONS — PREMIUM PRESENTATION LAYER 1.30
   Global visual refinement for selector, IT/DE/FR homes and services.
   No content or pricing is changed by this layer.
   ================================================================ */
:root{
  --cmxd-blue:#2f7cff;
  --cmxd-blue-2:#67b4ff;
  --cmxd-navy:#07111f;
  --cmxd-line:rgba(15,30,52,.12);
  --cmxd-shadow:0 30px 80px rgba(7,17,31,.12);
}

/* ---------- Global rhythm & rendering ---------- */
body{ text-rendering:optimizeLegibility; }
.wrap{ width:min(1200px,calc(100% - 48px)); }
.section{ padding:132px 0; }
.section-head{ max-width:720px; margin-bottom:58px; }
.section-head .lead{ max-width:66ch; }

/* ---------- Header: premium glass, consistent logo ---------- */
.site-header{ padding:20px 0; }
.site-header.scrolled,
.site-header{ border-bottom-color:rgba(255,255,255,.08); }
.site-header:not(.scrolled){ background:linear-gradient(180deg,rgba(5,13,24,.62),rgba(5,13,24,0)); }
.site-header.scrolled{ background:rgba(7,17,31,.88); box-shadow:0 14px 40px rgba(0,0,0,.12); }
.site-header .logo img{ width:158px!important; max-width:158px!important; height:auto!important; }
.site-header .main-nav a{ font-size:13px; }
.site-header .main-nav a::after{
  content:''; position:absolute; left:0; right:0; bottom:-7px; height:1px;
  background:var(--cmxd-blue-2); transform:scaleX(0); transform-origin:left;
  transition:transform .25s ease;
}
.site-header .main-nav a:hover::after,
.site-header .main-nav a[aria-current="page"]::after{ transform:scaleX(1); }
.site-header .header-cta,
.site-header.scrolled .header-cta{
  opacity:1; visibility:visible; transform:none;
  border:1px solid rgba(255,255,255,.24); box-shadow:0 10px 30px rgba(0,0,0,.14);
}
.site-header .header-cta:hover{ box-shadow:0 14px 34px rgba(47,124,255,.26); }

/* ---------- Home hero ---------- */
.hero{ min-height:clamp(720px,92vh,920px); }
.hero-media img{ filter:saturate(.9) contrast(1.05); }
.hero-scrim{
  background:
    radial-gradient(ellipse 70% 70% at 72% 40%,rgba(23,105,255,.12),transparent 62%),
    linear-gradient(180deg,rgba(7,17,31,.42) 0%,rgba(7,17,31,.24) 38%,rgba(7,17,31,.82) 84%,#07111f 100%);
}
.hero-content{ padding:188px 0 106px; }
.hero-eyebrow{ color:var(--cmxd-blue-2); }
.hero h1{ max-width:900px; font-size:clamp(42px,5.6vw,70px); letter-spacing:-.035em; }
.hero .lead{ max-width:61ch; font-size:clamp(16px,1.45vw,18px); color:rgba(231,239,249,.82); }
.hero-ctas{ margin-top:34px; }
.hero-ctas .btn{ min-height:50px; }

/* ---------- Trust strip ---------- */
.trust-strip{ background:#081525; border-top:1px solid rgba(103,180,255,.14); border-bottom:1px solid rgba(103,180,255,.08); }
.trust-row{ padding:20px 0; }
.trust-row span{ color:rgba(210,224,240,.68); font-size:11px; letter-spacing:.19em; }
.trust-row span:not(:last-child)::after{ content:'·'; margin-left:28px; color:rgba(103,180,255,.7); }

/* ---------- Sections: more editorial and less template-like ---------- */
.section-head .eyebrow{ color:var(--cmxd-blue); }
.section-head .eyebrow::before{ content:'—'; margin-right:8px; }
.h-section{ letter-spacing:-.025em; }

/* ---------- Services ---------- */
.services-grid{
  gap:1px; border-radius:18px; overflow:hidden; box-shadow:var(--cmxd-shadow);
  background:rgba(11,18,32,.12);
}
.service-card{
  position:relative; min-height:270px; padding:34px 34px 30px;
  background:rgba(255,255,255,.82);
}
.service-card::before{
  content:''; position:absolute; inset:0 auto 0 0; width:2px; background:var(--cmxd-blue);
  transform:scaleY(0); transform-origin:bottom; transition:transform .35s var(--ease);
}
.service-card:hover::before{ transform:scaleY(1); }
.service-card h3{ letter-spacing:-.02em; }
.service-card p{ max-width:32ch; }
.service-index{ color:#9aa9bb; }
.service-arrow{ width:38px; height:38px; border-radius:50%; }

/* ---------- Featured offer ---------- */
.offer{
  position:relative; border-radius:22px; box-shadow:0 36px 90px rgba(7,17,31,.22);
  background:linear-gradient(135deg,#07111f 0%,#0b1c33 100%);
}
.offer::before{
  content:''; position:absolute; left:0; top:0; bottom:0; width:4px;
  background:linear-gradient(180deg,var(--cmxd-blue-2),var(--cmxd-blue));
}
.offer-left,.offer-right{ position:relative; }
.offer-price{ letter-spacing:-.04em; }
.offer-list li{ padding:14px 0; border-bottom:1px solid rgba(255,255,255,.09); }
.offer-list li:last-child{ border-bottom:0; }
.offer-list .tick{ filter:drop-shadow(0 0 8px rgba(103,180,255,.18)); }

/* ---------- Method ---------- */
.method-grid{ gap:0; }
.method-step{ padding-right:34px; }
.method-step:not(:last-child)::after{ background:linear-gradient(90deg,var(--cmxd-blue),rgba(47,124,255,.05)); }
.method-num{ font-size:12px; letter-spacing:.14em; }
.method-step h3{ letter-spacing:-.02em; }
.method-callout{ border-radius:14px; box-shadow:0 12px 36px rgba(7,17,31,.05); }

/* ---------- Pricing ---------- */
.on-dim{ background:linear-gradient(180deg,#eef4fa 0%,#e8f0f8 100%); }
.price-list{ border-top:1px solid rgba(11,18,32,.14); }
.price-row{ padding:24px 22px; border-bottom:1px solid rgba(11,18,32,.10); border-radius:0; }
.price-row:hover{ padding-left:30px; background:rgba(255,255,255,.68); }
.price-row .name{ font-size:19px; }
.price-row .amount{ font-size:17px; }
.price-cta .btn{ min-height:48px; }

/* ---------- About ---------- */
.about{ gap:90px; }
.about-visual{ border-radius:20px; box-shadow:0 30px 70px rgba(7,17,31,.18); }
.about-visual::before{ inset:16px; border-radius:10px; }
.about-stats{ gap:0 26px; }
.about-stats div{ padding:18px 0; }
.about-stats strong{ letter-spacing:-.025em; }

/* ---------- FAQ ---------- */
.faq-list{ border-top:1px solid rgba(11,18,32,.14); }
.faq-item{ border-bottom:1px solid rgba(11,18,32,.10); }
.faq-q{ padding:29px 0; font-size:18px; }
.faq-q:hover{ color:var(--cmxd-blue); }
.faq-a{ max-width:75ch; font-size:15px; }

/* ---------- Final CTA ---------- */
.final-cta{ padding:158px 0; }
.final-cta-scrim{ background:linear-gradient(180deg,rgba(4,12,23,.86),rgba(5,17,31,.72) 44%,rgba(4,12,23,.93)); }
.final-cta-inner{ max-width:760px; }
.final-cta h2{ letter-spacing:-.035em; }
.final-cta-ctas .btn{ min-height:50px; }

/* ---------- Contact strip ---------- */
.cmxd-visible-contact{ max-width:900px; border-radius:16px; box-shadow:0 20px 55px rgba(0,0,0,.16); }
.cmxd-contact-item{ padding:19px 22px; }
.cmxd-contact-value{ font-weight:500; }

/* ---------- Footer ---------- */
.site-footer{ background:#050b14; padding:92px 0 30px; }
.footer-top{ gap:54px; padding-bottom:62px; }
.footer-brand .logo img{ width:154px!important; max-width:154px!important; }
.footer-col a{ position:relative; }
.footer-col a:hover{ color:#fff; }
.footer-bottom{ color:rgba(183,196,214,.62); }

/* ================================================================
   SERVICE PAGES — strong editorial hero and conversion hierarchy
   ================================================================ */
.page-hero{
  position:relative; overflow:hidden; color:#fff;
  padding:170px 0 110px;
  background:
    radial-gradient(circle at 76% 35%,rgba(47,124,255,.20),transparent 30%),
    radial-gradient(circle at 20% 10%,rgba(103,180,255,.09),transparent 28%),
    linear-gradient(135deg,#07111f 0%,#0c1d34 100%);
}
.page-hero::after{
  content:''; position:absolute; inset:auto -10% -45% 30%; height:70%;
  background:radial-gradient(ellipse,rgba(47,124,255,.16),transparent 65%);
  pointer-events:none;
}
.page-hero .wrap{ position:relative; z-index:1; }
.page-hero-inner{ max-width:900px; }
.page-hero .breadcrumb{ color:rgba(214,225,239,.60); font-size:12px; margin-bottom:50px; }
.page-hero .breadcrumb a:hover{ color:#fff; }
.page-hero .eyebrow{ color:var(--cmxd-blue-2); margin-bottom:16px; }
.page-hero h1{ color:#fff; font-size:clamp(42px,5.5vw,68px); line-height:1.04; letter-spacing:-.04em; max-width:900px; }
.page-hero .lead{ color:rgba(224,235,246,.76); max-width:68ch; margin-top:24px; font-size:clamp(16px,1.4vw,18px); }
.page-hero-ctas{ display:flex; gap:12px; flex-wrap:wrap; margin-top:34px; }
.page-hero-ctas .btn{ min-height:50px; }

.feature-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; background:rgba(11,18,32,.12); border:1px solid rgba(11,18,32,.10); border-radius:18px; overflow:hidden; box-shadow:var(--cmxd-shadow); }
.feature-cell{ background:#fff; padding:38px 36px; min-height:220px; transition:transform .3s var(--ease),background .3s var(--ease); }
.feature-cell:hover{ background:#fbfdff; transform:translateY(-2px); }
.feature-cell .n{ display:inline-flex; color:var(--cmxd-blue); font-size:11px; font-weight:700; letter-spacing:.14em; }
.feature-cell h3{ margin-top:28px; font-size:22px; letter-spacing:-.02em; }
.feature-cell p{ margin-top:11px; color:var(--muted); font-size:14.5px; line-height:1.7; max-width:45ch; }

.checklist{ max-width:900px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 28px; border-top:1px solid rgba(11,18,32,.12); }
.checklist li{ display:flex; align-items:flex-start; gap:13px; padding:18px 0; border-bottom:1px solid rgba(11,18,32,.10); color:#27364a; font-size:14.5px; line-height:1.55; }
.checklist svg{ width:18px; height:18px; flex:none; margin-top:1px; stroke:var(--cmxd-blue); }
.callout-light{ background:rgba(255,255,255,.62); }

.price-band{ display:flex; align-items:center; justify-content:space-between; gap:30px; padding:34px 38px; border:1px solid rgba(11,18,32,.11); border-radius:18px; background:#fff; box-shadow:var(--cmxd-shadow); }
.pb-label{ display:block; color:#6d7d90; font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.pb-price{ margin-top:5px; font-family:var(--font-display); font-size:clamp(34px,4vw,52px); line-height:1; font-weight:700; letter-spacing:-.04em; }
.pb-note{ margin-top:12px; color:var(--muted); font-size:13px; max-width:62ch; }

.cross-links{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.cross-link{ display:flex; align-items:center; justify-content:space-between; gap:16px; padding:20px 22px; border:1px solid rgba(11,18,32,.11); border-radius:12px; background:#fff; transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s var(--ease); }
.cross-link:hover{ transform:translateY(-3px); border-color:rgba(47,124,255,.4); box-shadow:0 18px 40px rgba(7,17,31,.09); }
.cross-link .t{ font-weight:600; font-size:14px; }
.cross-link .a{ color:var(--cmxd-blue); font-size:19px; }

.final-cta--flat{ background:#07111f; }

/* ---------- Language selector root ---------- */
.lang-hero{ background:#07111f; }
.lang-hero-scrim{ background:linear-gradient(180deg,rgba(5,13,24,.45),rgba(5,13,24,.54) 40%,rgba(5,13,24,.88)); }
.lang-hero-content{ max-width:940px; }
.lang-top-title{ font-weight:600; letter-spacing:.21em; }

/* ---------- Accessibility / motion ---------- */
@media (prefers-reduced-motion:reduce){
  .site-header .main-nav a::after,.service-card::before,.feature-cell,.cross-link{ transition:none!important; }
}

@media (max-width:900px){
  .section{ padding:108px 0; }
  .hero{ min-height:800px; }
  .hero-content{ padding:170px 0 88px; }
  .feature-grid{ grid-template-columns:1fr; }
  .checklist{ grid-template-columns:1fr; }
  .cross-links{ grid-template-columns:1fr; }
  .price-band{ align-items:flex-start; flex-direction:column; }
  .page-hero{ padding:150px 0 88px; }
}
@media (max-width:640px){
  .wrap{ width:calc(100% - 32px); }
  .section{ padding:84px 0; }
  .hero{ min-height:760px; }
  .hero-content{ padding:145px 0 68px; }
  .hero h1,.page-hero h1{ font-size:clamp(38px,10.5vw,52px); }
  .hero .lead,.page-hero .lead{ font-size:15px; }
  .services-grid{ border-radius:14px; }
  .service-card{ min-height:0; padding:30px 27px; }
  .offer{ border-radius:16px; }
  .offer-left,.offer-right{ padding:38px 26px; }
  .feature-grid{ border-radius:14px; }
  .feature-cell{ min-height:0; padding:30px 26px; }
  .price-band{ padding:28px 24px; border-radius:14px; }
  .page-hero{ padding:132px 0 76px; }
  .page-hero .breadcrumb{ margin-bottom:36px; }
  .site-footer{ padding-top:72px; }
}



/* ================================================================
   CMXD SOLUTIONS 1.32 — FINAL ROOT LANGUAGE SELECTOR
   This file is loaded by the WordPress style.css router, so all
   homepage language-selector styling lives here.
   ================================================================ */

#language-selector.lang-hero{
  min-height:100svh !important;
  min-height:100dvh !important;
  position:relative !important;
  overflow:hidden !important;
  background:#071321 !important;
  color:#fff !important;
}

#language-selector .lang-hero-media{
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
}
#language-selector .lang-hero-media img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center 48% !important;
  transform:scale(1.02) !important;
  animation:none !important;
  filter:saturate(.88) contrast(1.04) brightness(.78) !important;
}

#language-selector .lang-hero-scrim{
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  background:
    linear-gradient(180deg,rgba(3,11,21,.42),rgba(3,11,21,.40) 38%,rgba(3,11,21,.72) 100%) !important;
}

#language-selector .lang-hero-content{
  position:relative !important;
  z-index:2 !important;
  width:min(calc(100% - 40px),980px) !important;
  max-width:980px !important;
  min-height:100svh !important;
  min-height:100dvh !important;
  margin:0 auto !important;
  padding:100px 0 38px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  align-items:center !important;
  text-align:center !important;
}

#language-selector .hero-eyebrow{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  margin:0 0 20px !important;
  color:#63b1ff !important;
  font-size:10px !important;
  font-weight:700 !important;
  letter-spacing:.20em !important;
  text-transform:uppercase !important;
  opacity:1 !important;
  animation:none !important;
  text-shadow:0 2px 14px rgba(0,0,0,.45) !important;
}
#language-selector .hero-eyebrow::before{
  content:'' !important;
  width:25px !important;
  height:1px !important;
  background:#63b1ff !important;
}

#language-selector h1.h-display{
  width:100% !important;
  max-width:940px !important;
  margin:0 auto !important;
  color:#fff !important;
  font-size:clamp(42px,5.2vw,70px) !important;
  line-height:1.035 !important;
  letter-spacing:-.045em !important;
  font-weight:750 !important;
  text-shadow:0 5px 28px rgba(0,0,0,.52) !important;
}
#language-selector h1.h-display .hero-line,
#language-selector h1.h-display .hero-line span{
  display:block !important;
  color:#fff !important;
  opacity:1 !important;
  transform:none !important;
  animation:none !important;
}

#language-selector .lead{
  width:100% !important;
  max-width:700px !important;
  margin:19px auto 0 !important;
  color:rgba(255,255,255,.92) !important;
  font-size:clamp(15px,1.35vw,18px) !important;
  line-height:1.55 !important;
  text-shadow:0 2px 16px rgba(0,0,0,.46) !important;
}

#language-selector .lang-choose-label{
  margin:34px 0 13px !important;
  color:rgba(255,255,255,.88) !important;
  font-size:10px !important;
  line-height:1 !important;
  font-weight:700 !important;
  letter-spacing:.18em !important;
  text-transform:uppercase !important;
  text-shadow:0 2px 12px rgba(0,0,0,.45) !important;
}

#language-selector .lang-grid{
  width:min(100%,790px) !important;
  max-width:790px !important;
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:13px !important;
  margin:0 auto !important;
}

#language-selector .lang-card{
  min-height:100px !important;
  display:grid !important;
  grid-template-columns:48px minmax(0,1fr) 24px !important;
  align-items:center !important;
  column-gap:13px !important;
  padding:18px !important;
  box-sizing:border-box !important;
  text-align:left !important;
  color:#fff !important;
  background:rgba(5,18,34,.82) !important;
  border:1px solid rgba(99,177,255,.46) !important;
  border-radius:11px !important;
  box-shadow:0 18px 45px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.07) !important;
  backdrop-filter:blur(12px) !important;
  -webkit-backdrop-filter:blur(12px) !important;
  text-decoration:none !important;
  transition:transform .22s ease,border-color .22s ease,background .22s ease,box-shadow .22s ease !important;
}
#language-selector .lang-card:hover{
  transform:translateY(-4px) !important;
  background:rgba(7,28,51,.94) !important;
  border-color:rgba(99,177,255,.86) !important;
  box-shadow:0 25px 55px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.09) !important;
}
#language-selector .lang-card:focus-visible{
  outline:2px solid #fff !important;
  outline-offset:3px !important;
}
#language-selector .lang-flag{
  width:48px !important;
  height:48px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  box-sizing:border-box !important;
  border:1px solid rgba(99,177,255,.40) !important;
  border-radius:9px !important;
  background:rgba(99,177,255,.10) !important;
  color:#fff !important;
  font-size:12px !important;
  font-weight:750 !important;
  letter-spacing:.10em !important;
}
#language-selector .lang-text{
  min-width:0 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:5px !important;
}
#language-selector .lang-name{
  color:#fff !important;
  font-size:15px !important;
  line-height:1.2 !important;
  font-weight:700 !important;
}
#language-selector .lang-sub{
  color:rgba(255,255,255,.70) !important;
  font-size:11px !important;
  line-height:1.35 !important;
}
#language-selector .lang-arrow{
  color:#63b1ff !important;
  font-family:Arial,sans-serif !important;
  font-size:21px !important;
  line-height:1 !important;
  text-align:center !important;
  transition:transform .22s ease,color .22s ease !important;
}
#language-selector .lang-card:hover .lang-arrow{
  color:#fff !important;
  transform:translateX(4px) !important;
}

#language-selector .lang-footer{
  width:100% !important;
  margin-top:42px !important;
  padding-top:15px !important;
  display:flex !important;
  justify-content:space-between !important;
  gap:20px !important;
  color:rgba(255,255,255,.68) !important;
  border-top:1px solid rgba(255,255,255,.17) !important;
  font-size:10px !important;
  line-height:1.4 !important;
  text-align:left !important;
}

#language-selector .lang-top-title{
  position:absolute !important;
  top:30px !important;
  left:50% !important;
  transform:translateX(-50%) !important;
  z-index:3 !important;
  color:rgba(255,255,255,.88) !important;
  font-size:10px !important;
  font-weight:650 !important;
  letter-spacing:.19em !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
  text-shadow:0 2px 14px rgba(0,0,0,.48) !important;
}
#language-selector .lang-top-title::before{
  content:'' !important;
  display:inline-block !important;
  width:24px !important;
  height:1px !important;
  margin:0 10px 3px 0 !important;
  background:#63b1ff !important;
}

@media(max-width:900px){
  #language-selector .lang-hero-content{
    width:min(calc(100% - 32px),700px) !important;
    padding:90px 0 78px !important;
  }
  #language-selector .lang-grid{
    grid-template-columns:1fr !important;
    max-width:620px !important;
  }
}
@media(max-width:640px){
  #language-selector .lang-top-title{
    top:21px !important;
    font-size:8px !important;
    letter-spacing:.13em !important;
  }
  #language-selector .lang-top-title::before{
    width:18px !important;
    margin-right:7px !important;
  }
  #language-selector .lang-hero-content{
    width:calc(100% - 28px) !important;
    padding:86px 0 72px !important;
  }
  #language-selector h1.h-display{
    font-size:clamp(34px,9.3vw,50px) !important;
    line-height:1.06 !important;
  }
  #language-selector .lead{
    font-size:14px !important;
    margin-top:16px !important;
  }
  #language-selector .lang-choose-label{
    margin-top:27px !important;
  }
  #language-selector .lang-card{
    min-height:78px !important;
    grid-template-columns:42px minmax(0,1fr) 22px !important;
    column-gap:11px !important;
    padding:14px !important;
  }
  #language-selector .lang-flag{
    width:42px !important;
    height:42px !important;
  }
  #language-selector .lang-name{font-size:14px !important;}
  #language-selector .lang-sub{font-size:10.5px !important;}
  #language-selector .lang-footer{
    margin-top:31px !important;
    font-size:8.5px !important;
  }
}




/* ================================================================
   CMXD SOLUTIONS 2.0 — NATIONAL SWITZERLAND OFFER SYSTEM
   ================================================================ */
.cmxd-packages-section{background:linear-gradient(180deg,#071321 0%,#0a1726 100%);}
.cmxd-packages-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:34px;}
.cmxd-package-card{position:relative;display:flex;flex-direction:column;padding:28px 24px;border:1px solid rgba(99,177,255,.20);border-radius:16px;background:rgba(255,255,255,.035);box-shadow:0 20px 60px rgba(0,0,0,.14);transition:.25s ease;}
.cmxd-package-card:hover{transform:translateY(-5px);border-color:rgba(99,177,255,.48);background:rgba(255,255,255,.055);}
.cmxd-package-card.is-featured{border-color:rgba(99,177,255,.52);box-shadow:0 25px 70px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.06);}
.cmxd-package-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:20px;}
.cmxd-package-index{font-size:10px;letter-spacing:.16em;color:#63b1ff;font-weight:700;}
.cmxd-package-label{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.62);}
.cmxd-package-card h3{font-size:25px;line-height:1.1;margin:0 0 18px;color:#fff;}
.cmxd-package-price{font-size:31px;font-weight:750;letter-spacing:-.03em;color:#fff;}
.cmxd-card-old{font-size:12px;color:rgba(255,255,255,.38);text-decoration:line-through;margin-top:3px;}
.cmxd-package-monthly{font-size:12px;color:#63b1ff;margin-top:8px;min-height:32px;}
.cmxd-package-total{margin:18px 0 18px;padding:14px 0;border-top:1px solid rgba(255,255,255,.10);border-bottom:1px solid rgba(255,255,255,.10);}
.cmxd-card-total{font-size:15px;font-weight:700;color:#fff;}
.cmxd-package-total span{display:block;font-size:10.5px;line-height:1.5;color:rgba(255,255,255,.56);margin-top:4px;}
.cmxd-package-card ul{list-style:none;padding:0;margin:0 0 22px;display:grid;gap:9px;flex:1;}
.cmxd-package-card li{font-size:11.5px;line-height:1.45;color:rgba(255,255,255,.72);display:flex;gap:8px;}
.cmxd-check{color:#63b1ff;font-weight:700;flex:0 0 auto;}
.cmxd-package-cta{width:100%;justify-content:center;}
.cmxd-package-more{display:block;margin-top:12px;text-align:center;color:rgba(255,255,255,.48);font-size:10px;text-decoration:none;}
.cmxd-package-more:hover{color:#63b1ff;}
.cmxd-disclaimer{margin:20px auto 0;max-width:800px;text-align:center;color:rgba(255,255,255,.48);font-size:11px;line-height:1.5;}
.service-detail-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:50px;align-items:start;}
.cmxd-detail-price{display:flex;align-items:baseline;gap:16px;margin-top:28px;}
.cmxd-detail-price strong{font-size:42px;color:var(--accent,#63b1ff);}
.cmxd-detail-price span{font-size:13px;color:rgba(255,255,255,.58);}
.cmxd-detail-card{padding:30px;border:1px solid rgba(99,177,255,.25);border-radius:16px;background:rgba(255,255,255,.035);}
.cmxd-detail-card h3{margin-top:0;color:#fff;}
.cmxd-detail-card ul{list-style:none;padding:0;margin:20px 0 26px;display:grid;gap:11px;}
.cmxd-detail-card li{display:flex;gap:9px;color:rgba(255,255,255,.72);font-size:13px;}
.inner-hero{min-height:58vh;}
@media(max-width:1100px){.cmxd-packages-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:700px){.cmxd-packages-grid{grid-template-columns:1fr;}.service-detail-grid{grid-template-columns:1fr;gap:28px}.cmxd-package-card{padding:24px 20px}.cmxd-detail-price strong{font-size:34px;}}




/* ================================================================
   CMXD 2.0.1 — NATIONAL PAGE HEADING CONTRAST
   Force section headings on dark national pages to white.
   ================================================================ */
body{
  background:#071321 !important;
}
.section,
.on-dim,
.cmxd-packages-section{
  color:#fff !important;
}
.section .section-head,
.section .section-head *,
.on-dim .section-head,
.on-dim .section-head *,
.cmxd-packages-section .section-head,
.cmxd-packages-section .section-head *{
  color:#fff !important;
}
.section .h-section,
.on-dim .h-section,
.cmxd-packages-section .h-section{
  color:#fff !important;
  text-shadow:0 3px 20px rgba(0,0,0,.28);
}
.section .lead,
.on-dim .lead,
.cmxd-packages-section .lead{
  color:rgba(255,255,255,.70) !important;
}
.section .eyebrow,
.on-dim .eyebrow,
.cmxd-packages-section .eyebrow{
  color:#63b1ff !important;
}
/* Keep headings readable on every dark content block */
h1,h2,h3,h4,h5,h6{
  text-wrap:balance;
}
.on-dark h1,.on-dark h2,.on-dark h3,.on-dark h4,.on-dark h5,.on-dark h6,
.on-dark .h-section,.on-dark .h-display{
  color:#fff !important;
}




/* ================================================================
   CMXD 2.0.2 — PRICING SECTION CONTRAST
   National site uses a dark Swiss-tech visual language throughout.
   ================================================================ */
#prezzi,
#preise,
#tarifs{
  background:#071321 !important;
  color:#fff !important;
  position:relative !important;
}
#prezzi::before,
#preise::before,
#tarifs::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:linear-gradient(180deg,#071321 0%,#0a1726 100%) !important;
  z-index:0 !important;
}
#prezzi > .wrap,
#preise > .wrap,
#tarifs > .wrap{
  position:relative !important;
  z-index:1 !important;
}
#prezzi .section-head *,
#preise .section-head *,
#tarifs .section-head *{
  color:#fff !important;
}
#prezzi .section-head .eyebrow,
#preise .section-head .eyebrow,
#tarifs .section-head .eyebrow{
  color:#63b1ff !important;
}
#prezzi .h-section,
#preise .h-section,
#tarifs .h-section{
  color:#fff !important;
  text-shadow:0 3px 20px rgba(0,0,0,.28) !important;
}
.price-list{
  border-top:1px solid rgba(255,255,255,.14) !important;
  border-bottom:1px solid rgba(255,255,255,.14) !important;
  background:rgba(255,255,255,.025) !important;
  border-radius:12px !important;
  overflow:hidden !important;
}
.price-row{
  min-height:68px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:30px !important;
  padding:0 20px !important;
  color:#fff !important;
  border-bottom:1px solid rgba(255,255,255,.11) !important;
}
.price-row:last-child{border-bottom:0 !important;}
.price-row .name{
  color:rgba(255,255,255,.88) !important;
  font-weight:600 !important;
}
.price-row .amount{
  color:#fff !important;
  font-weight:700 !important;
  text-align:right !important;
}
.price-cta{margin-top:28px !important;}
#prezzi .btn,
#preise .btn,
#tarifs .btn{
  color:#fff !important;
  border-color:rgba(99,177,255,.48) !important;
}
@media(max-width:640px){
  .price-row{
    min-height:64px !important;
    padding:0 14px !important;
    gap:16px !important;
  }
  .price-row .name,.price-row .amount{
    font-size:12px !important;
  }
}




/* ================================================================
   CMXD 2.0.3 — GLOBAL NATIONAL SITE DESIGN SYSTEM
   Scope: cmxd-national-site only.
   /adsgticino/ intentionally has no this body class and is untouched.
   ================================================================ */
.cmxd-national-site{
  --cmxd-bg:#071321;
  --cmxd-bg-soft:#0a1726;
  --cmxd-bg-card:#0d1b2c;
  --cmxd-text:#ffffff;
  --cmxd-text-soft:rgba(255,255,255,.72);
  --cmxd-text-muted:rgba(255,255,255,.56);
  --cmxd-line:rgba(255,255,255,.12);
  --cmxd-line-strong:rgba(99,177,255,.30);
  background:var(--cmxd-bg) !important;
  color:var(--cmxd-text) !important;
}
.cmxd-national-site,
.cmxd-national-site .section,
.cmxd-national-site .on-dim,
.cmxd-national-site .on-dark,
.cmxd-national-site .trust-strip{
  background-color:var(--cmxd-bg) !important;
  color:var(--cmxd-text) !important;
}
.cmxd-national-site .section:nth-of-type(even),
.cmxd-national-site .on-dim{
  background:linear-gradient(180deg,var(--cmxd-bg-soft),#091624) !important;
}
.cmxd-national-site h1,
.cmxd-national-site h2,
.cmxd-national-site h3,
.cmxd-national-site h4,
.cmxd-national-site h5,
.cmxd-national-site h6,
.cmxd-national-site .h-section,
.cmxd-national-site .h-display{
  color:var(--cmxd-text) !important;
}
.cmxd-national-site .lead,
.cmxd-national-site p:not(.eyebrow):not(.hero-eyebrow){
  color:var(--cmxd-text-soft);
}
.cmxd-national-site .section-head .eyebrow,
.cmxd-national-site .eyebrow{
  color:#63b1ff !important;
}

/* Services */
.cmxd-national-site .services-grid{
  background:var(--cmxd-line) !important;
  border-color:var(--cmxd-line) !important;
}
.cmxd-national-site .service-card{
  background:var(--cmxd-bg-card) !important;
  color:var(--cmxd-text) !important;
  border-color:var(--cmxd-line) !important;
}
.cmxd-national-site .service-card:hover{
  background:#122238 !important;
  box-shadow:0 24px 60px rgba(0,0,0,.25) !important;
}
.cmxd-national-site .service-card h3{color:#fff !important;}
.cmxd-national-site .service-card p{color:var(--cmxd-text-soft) !important;}
.cmxd-national-site .service-index{color:#63b1ff !important;}
.cmxd-national-site .service-arrow{
  border-color:var(--cmxd-line-strong) !important;
  color:#63b1ff !important;
}
.cmxd-national-site .service-arrow:hover,
.cmxd-national-site .service-card:hover .service-arrow{
  background:#1769ff !important;
  border-color:#1769ff !important;
  color:#fff !important;
}

/* Method */
.cmxd-national-site #metodo,
.cmxd-national-site #methode{
  background:var(--cmxd-bg) !important;
}
.cmxd-national-site .method-grid{
  border-color:var(--cmxd-line) !important;
}
.cmxd-national-site .method-step{
  border-color:var(--cmxd-line) !important;
}
.cmxd-national-site .method-step h3{color:#fff !important;}
.cmxd-national-site .method-step p{color:var(--cmxd-text-soft) !important;}
.cmxd-national-site .method-num{color:#63b1ff !important;}
.cmxd-national-site .method-callout{
  background:linear-gradient(135deg,#0e2035,#0b1828) !important;
  border:1px solid var(--cmxd-line-strong) !important;
  color:#fff !important;
  box-shadow:0 20px 50px rgba(0,0,0,.20) !important;
}
.cmxd-national-site .method-callout strong{color:#fff !important;}
.cmxd-national-site .method-callout span{color:var(--cmxd-text-soft) !important;}

/* Pricing */
.cmxd-national-site #prezzi,
.cmxd-national-site #preise,
.cmxd-national-site #tarifs{
  background:linear-gradient(180deg,#0a1726,#071321) !important;
}
.cmxd-national-site .price-list{
  border-color:var(--cmxd-line) !important;
  background:rgba(255,255,255,.025) !important;
}
.cmxd-national-site .price-row{
  border-color:var(--cmxd-line) !important;
}
.cmxd-national-site .price-row:hover{
  background:rgba(99,177,255,.055) !important;
}
.cmxd-national-site .price-row .name,
.cmxd-national-site .price-row .amount{color:#fff !important;}
.cmxd-national-site .price-row .amount small{color:var(--cmxd-text-muted) !important;}
.cmxd-national-site .btn-ghost:not(.on-dark){
  border-color:var(--cmxd-line-strong) !important;
  color:#fff !important;
}
.cmxd-national-site .btn-ghost:not(.on-dark):hover{
  border-color:#fff !important;
}

/* About */
.cmxd-national-site #chi-siamo,
.cmxd-national-site #chi-siamo + .section,
.cmxd-national-site #a-propos,
.cmxd-national-site #ueber-uns{
  background:var(--cmxd-bg-soft) !important;
}
.cmxd-national-site .about-copy .lead{color:var(--cmxd-text-soft) !important;}
.cmxd-national-site .about-stats{border-color:var(--cmxd-line) !important;}
.cmxd-national-site .about-stats span{color:var(--cmxd-text-muted) !important;}

/* FAQ */
.cmxd-national-site #faq{
  background:linear-gradient(180deg,#071321,#0a1726) !important;
}
.cmxd-national-site .faq-list{border-color:var(--cmxd-line) !important;}
.cmxd-national-site .faq-item{border-color:var(--cmxd-line) !important;}
.cmxd-national-site .faq-q{
  color:#fff !important;
  background:transparent !important;
}
.cmxd-national-site .faq-q .plus::before,
.cmxd-national-site .faq-q .plus::after{
  background:#fff !important;
}
.cmxd-national-site .faq-item.open .plus::before{background:#63b1ff !important;}
.cmxd-national-site .faq-a{color:var(--cmxd-text-soft) !important;}

/* Final CTA / footer continuity */
.cmxd-national-site .final-cta{background:#071321 !important;}
.cmxd-national-site .site-footer{background:#050b14 !important;}

/* Global dark-page form/control safety */
.cmxd-national-site input,
.cmxd-national-site textarea,
.cmxd-national-site select{
  background:#0d1b2c !important;
  color:#fff !important;
  border-color:var(--cmxd-line) !important;
}

@media(max-width:700px){
  .cmxd-national-site .method-callout{padding:22px !important;}
}




/* ================================================================
   CMXD SOLUTIONS 2.1.0 — GLOBAL SWITZERLAND DESIGN SYSTEM
   Applies only to .cmxd-national-site. /adsgticino/ is excluded.
   ================================================================ */
.cmxd-national-site{
  --cmxd-bg:#071321;
  --cmxd-bg-2:#091827;
  --cmxd-card:#0d1b2c;
  --cmxd-card-2:#10233a;
  --cmxd-white:#fff;
  --cmxd-soft:rgba(255,255,255,.72);
  --cmxd-muted:rgba(255,255,255,.52);
  --cmxd-line:rgba(255,255,255,.12);
  --cmxd-line-blue:rgba(99,177,255,.34);
  --cmxd-blue:#63b1ff;
  --cmxd-blue-strong:#1769ff;
  background:var(--cmxd-bg)!important;
  color:var(--cmxd-white)!important;
}
.cmxd-national-site *,
.cmxd-national-site *::before,
.cmxd-national-site *::after{box-sizing:border-box}
.cmxd-national-site body{background:var(--cmxd-bg)!important;color:var(--cmxd-white)!important}
.cmxd-national-site .section,
.cmxd-national-site .on-dim,
.cmxd-national-site .trust-strip{
  background:var(--cmxd-bg)!important;color:var(--cmxd-white)!important;
}
.cmxd-national-site .section.on-dim{
  background:linear-gradient(180deg,var(--cmxd-bg-2),#071321)!important;
}
.cmxd-national-site .section-head{max-width:900px}
.cmxd-national-site h1,
.cmxd-national-site h2,
.cmxd-national-site h3,
.cmxd-national-site h4,
.cmxd-national-site h5,
.cmxd-national-site h6,
.cmxd-national-site .h-display,
.cmxd-national-site .h-section{
  color:#fff!important;
}
.cmxd-national-site p,
.cmxd-national-site li{color:var(--cmxd-soft)}
.cmxd-national-site .lead{color:var(--cmxd-soft)!important}
.cmxd-national-site .eyebrow{color:var(--cmxd-blue)!important}

/* Header */
.cmxd-national-site .site-header{
  background:rgba(7,19,33,.94)!important;
  border-bottom:1px solid rgba(255,255,255,.08)!important;
  backdrop-filter:blur(18px);
}
.cmxd-national-site .main-nav a,
.cmxd-national-site .header-right a,
.cmxd-national-site .lang-switch a{color:rgba(255,255,255,.78)!important}
.cmxd-national-site .main-nav a:hover,
.cmxd-national-site .lang-switch a:hover{color:#fff!important}
.cmxd-national-site .btn-primary,
.cmxd-national-site .btn-accent{
  background:linear-gradient(135deg,#1769ff,#2f86ff)!important;
  border-color:#1769ff!important;
  color:#fff!important;
  box-shadow:0 12px 32px rgba(23,105,255,.20)!important;
}
.cmxd-national-site .btn-ghost{
  color:#fff!important;
  border-color:var(--cmxd-line-blue)!important;
  background:rgba(255,255,255,.02)!important;
}
.cmxd-national-site .btn-ghost:hover{
  border-color:#fff!important;
  background:rgba(255,255,255,.06)!important;
}

/* Home hero */
.cmxd-national-site .hero{
  background-color:var(--cmxd-bg)!important;
}
.cmxd-national-site .hero-scrim{
  background:linear-gradient(180deg,rgba(7,19,33,.38),rgba(7,19,33,.76))!important;
}
.cmxd-national-site .hero h1,
.cmxd-national-site .hero .h-display{color:#fff!important}
.cmxd-national-site .hero .lead{color:rgba(255,255,255,.82)!important}

/* Services grid */
.cmxd-national-site .services-grid{
  gap:1px!important;
  background:var(--cmxd-line)!important;
  border:1px solid var(--cmxd-line)!important;
  border-radius:16px!important;
  overflow:hidden!important;
}
.cmxd-national-site .service-card{
  background:var(--cmxd-card)!important;
  border:0!important;
  color:#fff!important;
  min-height:190px;
}
.cmxd-national-site .service-card:hover{background:var(--cmxd-card-2)!important}
.cmxd-national-site .service-card h3{color:#fff!important}
.cmxd-national-site .service-card p{color:var(--cmxd-soft)!important}
.cmxd-national-site .service-index{color:var(--cmxd-blue)!important}
.cmxd-national-site .service-arrow{
  color:var(--cmxd-blue)!important;
  border-color:var(--cmxd-line-blue)!important;
}

/* Method */
.cmxd-national-site .method-grid{border-color:var(--cmxd-line)!important}
.cmxd-national-site .method-step{border-color:var(--cmxd-line)!important}
.cmxd-national-site .method-step h3{color:#fff!important}
.cmxd-national-site .method-step p{color:var(--cmxd-soft)!important}
.cmxd-national-site .method-num{color:var(--cmxd-blue)!important}
.cmxd-national-site .method-callout,
.cmxd-national-site .callout-light{
  background:linear-gradient(135deg,#0e2035,#0a1828)!important;
  border:1px solid var(--cmxd-line-blue)!important;
  color:#fff!important;
}
.cmxd-national-site .method-callout strong{color:#fff!important}
.cmxd-national-site .method-callout span{color:var(--cmxd-soft)!important}

/* Pricing */
.cmxd-national-site #prezzi,
.cmxd-national-site #preise,
.cmxd-national-site #tarifs{
  background:linear-gradient(180deg,#0a1726,#071321)!important;
  color:#fff!important;
}
.cmxd-national-site .price-list{
  border:1px solid var(--cmxd-line)!important;
  border-radius:14px!important;
  overflow:hidden!important;
  background:rgba(255,255,255,.025)!important;
}
.cmxd-national-site .price-row{
  color:#fff!important;
  border-color:var(--cmxd-line)!important;
  min-height:70px!important;
}
.cmxd-national-site .price-row:hover{background:rgba(99,177,255,.055)!important}
.cmxd-national-site .price-row .name,
.cmxd-national-site .price-row .amount{color:#fff!important}

/* FAQ */
.cmxd-national-site #faq{
  background:linear-gradient(180deg,#071321,#0a1726)!important;
}
.cmxd-national-site .faq-list,
.cmxd-national-site .faq-item{border-color:var(--cmxd-line)!important}
.cmxd-national-site .faq-q{color:#fff!important;background:transparent!important}
.cmxd-national-site .faq-q .plus::before,
.cmxd-national-site .faq-q .plus::after{background:#fff!important}
.cmxd-national-site .faq-a{color:var(--cmxd-soft)!important}

/* ================================================================
   SERVICE PAGES — same dark system as the homepage
   ================================================================ */
.cmxd-national-site .page-hero{
  background:
    radial-gradient(circle at 80% 20%,rgba(23,105,255,.12),transparent 32%),
    linear-gradient(180deg,#081625 0%,#071321 100%)!important;
  color:#fff!important;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.cmxd-national-site .page-hero h1,
.cmxd-national-site .page-hero .lead,
.cmxd-national-site .breadcrumb,
.cmxd-national-site .breadcrumb a{
  color:#fff!important;
}
.cmxd-national-site .breadcrumb a{color:rgba(255,255,255,.62)!important}
.cmxd-national-site .breadcrumb a:hover{color:#fff!important}
.cmxd-national-site .trust-strip{
  background:#050f1c!important;
  border-top:1px solid rgba(255,255,255,.06)!important;
  border-bottom:1px solid rgba(255,255,255,.06)!important;
}
.cmxd-national-site .trust-row span{color:rgba(255,255,255,.52)!important}
.cmxd-national-site .feature-grid{
  border-color:var(--cmxd-line)!important;
}
.cmxd-national-site .feature-cell{
  border-color:var(--cmxd-line)!important;
}
.cmxd-national-site .feature-cell .n{color:var(--cmxd-blue)!important}
.cmxd-national-site .feature-cell h3{color:#fff!important}
.cmxd-national-site .feature-cell p{color:var(--cmxd-soft)!important}
.cmxd-national-site .checklist{border-color:var(--cmxd-line)!important}
.cmxd-national-site .checklist li{
  color:var(--cmxd-soft)!important;
  border-color:var(--cmxd-line)!important;
}
.cmxd-national-site .checklist svg{stroke:var(--cmxd-blue)!important}
.cmxd-national-site .price-band{
  background:linear-gradient(135deg,#0d1b2c,#10233a)!important;
  border:1px solid var(--cmxd-line-blue)!important;
  color:#fff!important;
  box-shadow:0 25px 70px rgba(0,0,0,.18)!important;
}
.cmxd-national-site .pb-label,
.cmxd-national-site .pb-note{color:var(--cmxd-soft)!important}
.cmxd-national-site .pb-price{color:#fff!important}
.cmxd-national-site .method-grid--flush .method-step{
  background:rgba(255,255,255,.018)!important;
}
.cmxd-national-site .final-cta{
  background:linear-gradient(180deg,#0a1726,#071321)!important;
  color:#fff!important;
}
.cmxd-national-site .final-cta h2,
.cmxd-national-site .final-cta p{color:#fff!important}
.cmxd-national-site .site-footer{background:#040b14!important}
.cmxd-national-site .site-footer *{color:rgba(255,255,255,.68)!important}

/* package cards */
.cmxd-national-site .cmxd-package-card{
  background:var(--cmxd-card)!important;
  border-color:var(--cmxd-line)!important;
  color:#fff!important;
}
.cmxd-national-site .cmxd-package-card h3,
.cmxd-national-site .cmxd-package-price,
.cmxd-national-site .cmxd-card-total{color:#fff!important}
.cmxd-national-site .cmxd-package-card p,
.cmxd-national-site .cmxd-package-card li,
.cmxd-national-site .cmxd-package-total span{color:var(--cmxd-soft)!important}
.cmxd-national-site .cmxd-package-card.is-featured{border-color:var(--cmxd-line-blue)!important}

/* Forms */
.cmxd-national-site input,
.cmxd-national-site textarea,
.cmxd-national-site select{
  background:#0d1b2c!important;
  color:#fff!important;
  border-color:var(--cmxd-line)!important;
}
.cmxd-national-site input::placeholder,
.cmxd-national-site textarea::placeholder{color:rgba(255,255,255,.42)!important}

/* Accessibility */
.cmxd-national-site a:focus-visible,
.cmxd-national-site button:focus-visible,
.cmxd-national-site input:focus-visible,
.cmxd-national-site textarea:focus-visible,
.cmxd-national-site select:focus-visible{
  outline:2px solid var(--cmxd-blue)!important;
  outline-offset:3px;
}

@media(max-width:700px){
  .cmxd-national-site .page-hero{padding-top:120px!important}
  .cmxd-national-site .feature-grid{grid-template-columns:1fr!important}
  .cmxd-national-site .price-row{min-height:64px!important;padding:0 14px!important}
  .cmxd-national-site .price-row .name,
  .cmxd-national-site .price-row .amount{font-size:12px!important}
}



/* CMXD 2.2.0 — DETAIL + CONTACT + SEO presentation */
.cmxd-detail-page .page-hero,.cmxd-contact-page .page-hero{background:linear-gradient(180deg,#071321 0%,#09192a 100%);color:#fff;}
.cmxd-detail-page .page-hero h1,.cmxd-contact-page .page-hero h1{color:#fff!important;max-width:980px;}
.cmxd-detail-page .page-hero .lead,.cmxd-contact-page .page-hero .lead{color:rgba(255,255,255,.74)!important;max-width:800px;}
.cmxd-service-price{display:inline-flex;flex-direction:column;gap:5px;margin-top:24px;padding:16px 20px;border:1px solid rgba(99,177,255,.35);border-radius:12px;background:rgba(255,255,255,.035);}
.cmxd-service-price span{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:#63b1ff;}
.cmxd-service-price strong{font-size:22px;color:#fff;}
.cmxd-detail-page .section{background:#071321!important;color:#fff!important;}
.cmxd-detail-page .section.on-dim{background:#0a1726!important;}
.cmxd-detail-page .section .section-head h2,.cmxd-detail-page .section .section-head .h-section{color:#fff!important;}
.cmxd-detail-page .section .section-head .lead{color:rgba(255,255,255,.70)!important;}
.cmxd-detail-story{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:30px;}
.cmxd-story-card{padding:30px;border:1px solid rgba(99,177,255,.18);border-radius:14px;background:rgba(255,255,255,.035);}
.cmxd-story-card>span{display:block;color:#63b1ff;font-size:10px;letter-spacing:.16em;font-weight:700;margin-bottom:22px;}
.cmxd-story-card h3{color:#fff!important;font-size:22px;margin:0 0 12px;}
.cmxd-story-card p{color:rgba(255,255,255,.68);line-height:1.7;margin:0;}
.cmxd-check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:28px;}
.cmxd-check-card{display:flex;gap:13px;align-items:flex-start;padding:22px;border:1px solid rgba(99,177,255,.17);border-radius:12px;background:rgba(255,255,255,.025);}
.cmxd-check-card>span{color:#63b1ff;font-weight:800;}
.cmxd-check-card p{margin:0;color:rgba(255,255,255,.75);line-height:1.55;font-size:13px;}
.cmxd-process{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:30px;border:1px solid rgba(99,177,255,.18);border-radius:14px;overflow:hidden;}
.cmxd-process>div{padding:25px;border-right:1px solid rgba(99,177,255,.14);}
.cmxd-process>div:last-child{border-right:0;}
.cmxd-process span{color:#63b1ff;font-size:10px;font-weight:700;letter-spacing:.14em;}
.cmxd-process h3{color:#fff!important;margin:22px 0 8px;font-size:18px;}
.cmxd-process p{color:rgba(255,255,255,.62);font-size:12px;line-height:1.55;margin:0;}
.cmxd-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:25px;}
.cmxd-related-link{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border:1px solid rgba(99,177,255,.16);border-radius:10px;color:#fff;text-decoration:none;background:rgba(255,255,255,.025);transition:.2s;}
.cmxd-related-link:hover{border-color:#63b1ff;transform:translateY(-2px);}
.cmxd-related-link b{color:#63b1ff;}
.cmxd-contact-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:55px;align-items:start;}
.cmxd-contact-methods{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:30px;}
.cmxd-contact-method{display:flex;flex-direction:column;gap:7px;padding:22px;border:1px solid rgba(99,177,255,.18);border-radius:12px;text-decoration:none;background:rgba(255,255,255,.025);}
.cmxd-contact-method span{color:#63b1ff;font-size:10px;font-weight:700;}
.cmxd-contact-method strong{color:#fff;font-size:15px;}
.cmxd-contact-method small{color:rgba(255,255,255,.55);}
.cmxd-contact-card{padding:30px;border:1px solid rgba(99,177,255,.24);border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.02));}
.cmxd-contact-card h3{color:#fff!important;font-size:26px;margin:8px 0 20px;}
.cmxd-contact-choices{display:grid;gap:8px;}
.cmxd-contact-choice{display:flex;justify-content:space-between;align-items:center;padding:15px 16px;border:1px solid rgba(99,177,255,.15);border-radius:9px;color:#fff;text-decoration:none;}
.cmxd-contact-choice:hover{border-color:#63b1ff;background:rgba(99,177,255,.07);}
.cmxd-contact-choice b{color:#63b1ff;}
.cmxd-contact-page .section{background:#071321!important;color:#fff!important;}
.cmxd-contact-page .section.on-dim{background:#0a1726!important;}
.cmxd-contact-page h2{color:#fff!important;}
@media(max-width:900px){.cmxd-check-grid{grid-template-columns:repeat(2,1fr)}.cmxd-process{grid-template-columns:repeat(2,1fr)}.cmxd-process>div:nth-child(2){border-right:0}.cmxd-process>div:nth-child(-n+2){border-bottom:1px solid rgba(99,177,255,.14)}.cmxd-related-grid{grid-template-columns:repeat(2,1fr)}.cmxd-contact-grid{grid-template-columns:1fr;gap:30px}.cmxd-contact-methods{grid-template-columns:1fr}}
@media(max-width:620px){.cmxd-detail-story,.cmxd-check-grid,.cmxd-related-grid,.cmxd-process{grid-template-columns:1fr}.cmxd-process>div{border-right:0!important;border-bottom:1px solid rgba(99,177,255,.14)!important}.cmxd-process>div:last-child{border-bottom:0!important}.cmxd-service-price strong{font-size:19px}}
/* Repair legacy service cards that inherited a light theme */
.cmxd-detail-page .feature-grid .feature-cell{background:rgba(255,255,255,.035)!important;border-color:rgba(99,177,255,.17)!important;color:#fff!important;}
.cmxd-detail-page .feature-grid .feature-cell h3{color:#fff!important;}
.cmxd-detail-page .feature-grid .feature-cell p{color:rgba(255,255,255,.68)!important;}
.cmxd-detail-page .feature-grid .feature-cell .n{color:#63b1ff!important;}
.cmxd-detail-page .checklist li{color:rgba(255,255,255,.75)!important;}



/* CMXD 2.3.0 — package-first sales system */
.services-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
.cmxd-packages-section{scroll-margin-top:90px;}
.cmxd-package-card{min-height:610px;}
.cmxd-contact-sales{background:#071321 !important;}
.cmxd-contact-package-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:32px;}
.cmxd-contact-package{display:flex;align-items:center;gap:20px;padding:25px 26px;border:1px solid rgba(99,177,255,.22);border-radius:16px;background:rgba(255,255,255,.035);color:#fff;text-decoration:none;transition:.25s ease;}
.cmxd-contact-package:hover{transform:translateY(-3px);border-color:rgba(99,177,255,.55);background:rgba(255,255,255,.06);}
.cmxd-contact-package-num{color:#63b1ff;font-size:11px;letter-spacing:.16em;font-weight:700;align-self:flex-start;margin-top:3px;}
.cmxd-contact-package span:nth-child(2){display:flex;flex-direction:column;gap:5px;flex:1;}
.cmxd-contact-package strong{font-size:18px;color:#fff;}
.cmxd-contact-package small{font-size:13px;color:#63b1ff;}
.cmxd-contact-package em{font-style:normal;font-size:11px;line-height:1.5;color:rgba(255,255,255,.58);}
.cmxd-contact-package>b{font-size:22px;color:#63b1ff;font-weight:400;}
.cmxd-contact-direct{display:grid;grid-template-columns:1fr auto;gap:50px;align-items:center;}
.cmxd-contact-direct-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;}
@media(max-width:1000px){.services-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.cmxd-contact-package-grid{grid-template-columns:1fr;}.cmxd-contact-direct{grid-template-columns:1fr;}.cmxd-contact-direct-actions{justify-content:flex-start;}}
@media(max-width:650px){.services-grid{grid-template-columns:1fr;}.cmxd-package-card{min-height:auto;}.cmxd-contact-package{padding:20px 18px;}.cmxd-contact-package strong{font-size:16px;}.cmxd-contact-direct-actions{flex-direction:column;align-items:stretch;}.cmxd-contact-direct-actions .btn{justify-content:center;}}

/* CMXD 2.4.0 — richer national service pages */
.cmxd-hero-intro{max-width:820px;margin:18px 0 0;color:rgba(255,255,255,.72);font-size:15px;line-height:1.75}.cmxd-rich-section{position:relative}.cmxd-rich-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:32px;margin-top:28px}.cmxd-rich-copy,.cmxd-rich-list{padding:26px;border:1px solid rgba(99,177,255,.16);border-radius:16px;background:rgba(255,255,255,.03)}.cmxd-rich-copy p{margin:0;color:rgba(255,255,255,.72);line-height:1.75;font-size:14px}.cmxd-rich-list ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:14px 24px}.cmxd-rich-list li{display:flex;gap:10px;color:rgba(255,255,255,.78);font-size:13px;line-height:1.55}.cmxd-rich-list li span{color:#63b1ff;font-weight:800}.cmxd-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid rgba(99,177,255,.18);border-radius:16px;overflow:hidden;margin-top:28px}.cmxd-stats-grid>div{padding:26px;border-right:1px solid rgba(99,177,255,.14);background:rgba(255,255,255,.025)}.cmxd-stats-grid>div:last-child{border-right:0}.cmxd-stats-grid strong{display:block;color:#63b1ff;font-size:12px;letter-spacing:.16em;margin-bottom:12px}.cmxd-stats-grid span{display:block;color:#fff;font-weight:650;font-size:14px;line-height:1.5}.cmxd-swiss-section{background:linear-gradient(180deg,#071321,#0a1726)}@media(max-width:800px){.cmxd-rich-grid{grid-template-columns:1fr}.cmxd-rich-list ul{grid-template-columns:1fr}.cmxd-stats-grid{grid-template-columns:1fr}.cmxd-stats-grid>div{border-right:0;border-bottom:1px solid rgba(99,177,255,.14)}.cmxd-stats-grid>div:last-child{border-bottom:0}.cmxd-hero-intro{font-size:14px}}
