/* Editorial 3D visuals break up the longer service pages without competing with content. */
.site-v12:not(.page-home) .studio-visual-section{
  padding:clamp(26px,4vw,64px) 0;
  background:var(--page-paper,#f3f1ec);
}
.site-v12:not(.page-home) .studio-visual{
  position:relative;
  overflow:hidden;
  margin:0;
  min-height:clamp(250px,37vw,560px);
  border-radius:clamp(18px,2vw,32px);
  background:#101b25;
  box-shadow:0 22px 55px rgba(13,25,36,.16);
  isolation:isolate;
}
.site-v12:not(.page-home) .studio-visual::before{
  content:"";
  position:absolute;
  z-index:1;
  inset:0;
  background:linear-gradient(90deg,rgba(8,19,31,.36),transparent 45%,rgba(8,19,31,.08));
  pointer-events:none;
}
.site-v12:not(.page-home) .studio-visual img{
  display:block;
  width:100%;
  min-height:clamp(250px,37vw,560px);
  height:clamp(250px,37vw,560px);
  object-fit:cover;
  object-position:center;
  transform:scale(1.015);
  transition:transform 1.2s cubic-bezier(.2,.75,.2,1),filter .8s ease;
}
.site-v12:not(.page-home) .studio-visual.reveal.active img{animation:studio-float 15s cubic-bezier(.45,0,.55,1) infinite alternate}
.site-v12:not(.page-home) .studio-visual:hover img{transform:scale(1.055);filter:saturate(1.08)}
.site-v12:not(.page-home) .studio-visual figcaption{
  position:absolute;
  z-index:2;
  right:clamp(18px,3vw,46px);
  bottom:clamp(17px,2vw,30px);
  margin:0;
  padding:10px 13px;
  border:1px solid rgba(187,223,228,.23);
  border-radius:999px;
  background:rgba(9,19,28,.64);
  color:#eff7f8;
  font-size:clamp(.75rem,.9vw,.95rem);
  letter-spacing:.02em;
  backdrop-filter:blur(10px);
}
@keyframes studio-float{from{object-position:center 48%;transform:scale(1.015)}to{object-position:center 54%;transform:scale(1.075)}}
@media(max-width:680px){
  .site-v12:not(.page-home) .studio-visual-section{padding:18px 0 40px}
  .site-v12:not(.page-home) .studio-visual{border-radius:16px}
  .site-v12:not(.page-home) .studio-visual figcaption{left:14px;right:auto;bottom:14px;max-width:calc(100% - 28px)}
}
/* Slow Ken-Burns motion keeps image-led sections alive without competing with the copy. */
.site-v12:not(.page-home) .hero-page:not(.hero-home) .hero-image,
.site-v12:not(.page-home) .split-media{overflow:hidden}
.site-v12:not(.page-home) .hero-page:not(.hero-home) .hero-image img,
.site-v12:not(.page-home) .split-media img{transform:scale(1.018);will-change:transform,object-position}
.site-v12:not(.page-home) .hero-page:not(.hero-home) .hero-image.reveal.active img,
.site-v12:not(.page-home) .split-media.reveal.active img{animation:ken-burns-frame 18s cubic-bezier(.45,0,.55,1) infinite alternate}
.site-v12:not(.page-home) .split-media.reveal.active img{animation-duration:21s}
@keyframes ken-burns-frame{from{transform:scale(1.018);object-position:48% 48%}to{transform:scale(1.08);object-position:54% 52%}}
@media(prefers-reduced-motion:reduce){
  .site-v12:not(.page-home) .studio-visual.reveal.active img,
  .site-v12:not(.page-home) .hero-page:not(.hero-home) .hero-image.reveal.active img,
  .site-v12:not(.page-home) .split-media.reveal.active img{animation:none!important;transform:none!important}
}

/* Dark editorial sections must never inherit the light paper surface. */
.site-v12:not(.page-home) main>section.section-dark-alt{
  background:radial-gradient(circle at 84% 14%,rgba(57,183,198,.2),transparent 30%),radial-gradient(circle at 8% 90%,rgba(138,50,126,.2),transparent 36%),#101a24!important;
  color:#fff!important;
}
.site-v12:not(.page-home) main>section.section-dark-alt .section-head h2,
.site-v12:not(.page-home) main>section.section-dark-alt .service-card h3{color:#fff!important}
.site-v12:not(.page-home) main>section.section-dark-alt .section-head>p:not(.eyebrow),
.site-v12:not(.page-home) main>section.section-dark-alt .service-card p{color:#c7d4d9!important}
.site-v12:not(.page-home) main>section.section-dark-alt .card-grid{background:rgba(202,226,229,.22)!important;border-top:1px solid rgba(202,226,229,.26)}
.site-v12:not(.page-home) main>section.section-dark-alt .service-card{
  background:rgba(255,255,255,.035)!important;
  border-color:rgba(202,226,229,.2)!important;
}
.site-v12:not(.page-home) main>section.section-dark-alt .service-card:hover{background:rgba(57,183,198,.14)!important}

/* Media design audience section: keep its dark canvas and contrast even when nth-section rules apply. */
.site-v12:not(.page-home) main>section.section-dark-alt,
.site-v12:not(.page-home) main>section.section.section-dark-alt:nth-of-type(odd){
  background:radial-gradient(circle at 82% 12%,rgba(57,183,198,.18),transparent 31%),radial-gradient(circle at 10% 100%,rgba(138,50,126,.22),transparent 38%),#111a25!important;
  color:#fff!important;
}
.site-v12:not(.page-home) main>section.section-dark-alt .section-head h2,
.site-v12:not(.page-home) main>section.section-dark-alt .service-card h3{color:#fff!important}
.site-v12:not(.page-home) main>section.section-dark-alt .section-head>p:not(.eyebrow),
.site-v12:not(.page-home) main>section.section-dark-alt .service-card p{color:#d1dde1!important}
.site-v12:not(.page-home) main>section.section-dark-alt .card-grid{background:rgba(255,255,255,.05)!important;border-color:rgba(255,255,255,.18)!important}
.site-v12:not(.page-home) main>section.section-dark-alt .service-card{background:rgba(255,255,255,.025)!important;border-color:rgba(255,255,255,.16)!important}
.site-v12:not(.page-home) main>section.section-dark-alt .service-card:hover{background:rgba(57,183,198,.16)!important}

/* This named audience section deliberately opts out of the light editorial section palette. */
body.site-v12.page-mediengestaltung main>section.media-audience-section{
  background:#101a24!important;
  background-image:radial-gradient(circle at 82% 12%,rgba(57,183,198,.18),transparent 31%),radial-gradient(circle at 10% 100%,rgba(138,50,126,.22),transparent 38%)!important;
  color:#fff!important;
}
body.site-v12.page-mediengestaltung main>section.media-audience-section .section-head h2,
body.site-v12.page-mediengestaltung main>section.media-audience-section .service-card h3{color:#fff!important}
body.site-v12.page-mediengestaltung main>section.media-audience-section .section-head>p:not(.eyebrow),
body.site-v12.page-mediengestaltung main>section.media-audience-section .service-card p{color:#d4e0e4!important}
body.site-v12.page-mediengestaltung main>section.media-audience-section .card-grid{background:rgba(255,255,255,.07)!important;border-color:rgba(255,255,255,.2)!important}
body.site-v12.page-mediengestaltung main>section.media-audience-section .service-card{background:rgba(255,255,255,.035)!important;border-color:rgba(255,255,255,.17)!important}

/* IT platforms: subtle but recognisable system marks, sharing the technical visual language. */
.site-v12:not(.page-home) .platform-section{padding:0 0 clamp(1.6rem,3.4vw,3.2rem);background:var(--page-ink)!important;color:#fff}
.site-v12:not(.page-home) .platform-strip{display:flex;align-items:center;justify-content:space-between;gap:clamp(2rem,5vw,6rem);padding:clamp(1.45rem,2.5vw,2.05rem) 0;border-top:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18)}
.site-v12:not(.page-home) .platform-strip>p{max-width:31ch;margin:0;color:#e0ecef;font-size:clamp(1.05rem,1.4vw,1.34rem);font-weight:650;line-height:1.24;letter-spacing:-.025em}
.site-v12:not(.page-home) .platform-list{display:flex;align-items:center;justify-content:flex-end;gap:clamp(1.2rem,3.6vw,4rem)}
.site-v12:not(.page-home) .platform-item{display:flex;align-items:center;gap:.7rem;color:#fff;font-size:clamp(.88rem,1.1vw,1.05rem);font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.site-v12:not(.page-home) .platform-item svg{width:2.1rem;height:2.1rem;overflow:visible;fill:none;stroke:#72cee4;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.site-v12:not(.page-home) .platform-item:nth-child(2) svg{fill:#72cee4;stroke:none}.site-v12:not(.page-home) .platform-item:nth-child(3) svg{fill:#fff;stroke:none}
@media(max-width:700px){.site-v12:not(.page-home) .platform-strip{align-items:flex-start;flex-direction:column}.site-v12:not(.page-home) .platform-list{justify-content:flex-start;gap:1.2rem;flex-wrap:wrap}.site-v12:not(.page-home) .platform-item{font-size:.78rem}.site-v12:not(.page-home) .platform-item svg{width:1.8rem;height:1.8rem}}

/* Contact hub: a dark project-start experience instead of two pale form cards. */
.site-v12:not(.page-home) main>section.contact-hub{
  position:relative;
  overflow:hidden;
  padding:clamp(72px,9vw,140px) 0!important;
  background:radial-gradient(circle at 83% 12%,rgba(57,183,198,.22),transparent 29%),radial-gradient(circle at 5% 95%,rgba(138,50,126,.32),transparent 37%),#0b131c!important;
  color:#fff!important;
}
.site-v12:not(.page-home) .contact-hub::before{
  content:"";
  position:absolute;
  width:min(54vw,760px);
  height:min(54vw,760px);
  right:-20vw;
  bottom:-30vw;
  border:1px solid rgba(130,212,221,.18);
  border-radius:50%;
  box-shadow:0 0 0 55px rgba(57,183,198,.035),0 0 0 110px rgba(57,183,198,.02);
  pointer-events:none;
}
.site-v12:not(.page-home) .contact-hub .contact-cta-grid{
  position:relative;
  z-index:1;
  grid-template-columns:minmax(260px,.74fr) minmax(0,1.26fr);
  gap:clamp(32px,6vw,105px);
  align-items:stretch;
}
.site-v12:not(.page-home) .contact-hub .contact-box{
  position:relative;
  display:block!important;
  overflow:visible;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:transparent!important;
  color:#fff!important;
}
.site-v12:not(.page-home) .contact-hub .contact-box:first-child{padding:clamp(10px,2vw,28px) 0!important}
.site-v12:not(.page-home) .contact-hub .contact-box:first-child::after{
  content:"";
  position:absolute;
  top:0;
  right:calc(clamp(16px,3vw,52px) * -1);
  width:1px;
  height:100%;
  background:linear-gradient(transparent,rgba(194,226,230,.38) 18%,rgba(194,226,230,.38) 82%,transparent);
}
.site-v12:not(.page-home) .contact-hub .eyebrow{color:#72d4df!important;margin-bottom:24px}
.site-v12:not(.page-home) .contact-hub h2,
.site-v12:not(.page-home) .contact-hub .contact-box h2{color:#fff!important;font-size:clamp(2.7rem,4.6vw,5.2rem)!important;line-height:.92!important;letter-spacing:-.065em!important;margin:0 0 25px!important}
.site-v12:not(.page-home) .contact-hub .contact-lead{max-width:29ch;margin:0 0 40px;color:#c2d1d6!important;font-size:clamp(1rem,1.2vw,1.17rem);line-height:1.58}
.site-v12:not(.page-home) .contact-hub .contact-box:first-child>p:not(.eyebrow):not(.contact-lead){
  margin:0;
  padding:13px 0 16px;
  border-top:1px solid rgba(210,231,234,.18);
  color:#c4d2d7!important;
  font-size:15px;
  line-height:1.62;
}
.site-v12:not(.page-home) .contact-hub .contact-box:first-child>p:not(.eyebrow):not(.contact-lead) strong{color:#fff!important;font-size:10px;letter-spacing:.13em;text-transform:uppercase}
.site-v12:not(.page-home) .contact-hub .contact-box:first-child a{color:#82dbe5!important;font-weight:700}
.site-v12:not(.page-home) .contact-hub .hero-actions{margin:31px 0 0!important;gap:10px}
.site-v12:not(.page-home) .contact-hub .btn{border-radius:999px;padding:14px 18px;font-size:12px}
.site-v12:not(.page-home) .contact-hub .btn-primary{background:linear-gradient(115deg,#9d3ac5,#3bb8c9)!important;color:#fff!important;box-shadow:0 12px 32px rgba(59,184,201,.2)}
.site-v12:not(.page-home) .contact-hub .btn-secondary{border-color:rgba(221,239,241,.32);color:#fff!important}

.site-v12:not(.page-home) .contact-hub .contact-form-wrap{
  padding:clamp(28px,4.2vw,65px)!important;
  border:1px solid rgba(150,215,222,.28)!important;
  border-radius:26px!important;
  background:linear-gradient(145deg,rgba(25,42,54,.94),rgba(11,22,31,.98))!important;
  box-shadow:22px 24px 0 rgba(57,183,198,.09),0 25px 70px rgba(0,0,0,.2)!important;
}
.site-v12:not(.page-home) .contact-hub .contact-form-wrap::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:linear-gradient(135deg,rgba(255,255,255,.08),transparent 28%);
  pointer-events:none;
}
.site-v12:not(.page-home) .contact-hub .contact-form-wrap>*{position:relative;z-index:1}
.site-v12:not(.page-home) .contact-hub .contact-form{display:block!important;margin-top:32px}
.site-v12:not(.page-home) .contact-hub .form-grid{gap:clamp(18px,2.4vw,32px);margin-bottom:22px}
.site-v12:not(.page-home) .contact-hub .form-field{position:relative;margin:0 0 26px}
.site-v12:not(.page-home) .contact-hub .form-field label{display:block;margin:0 0 8px;color:#eef8f9!important;font-size:11px;font-weight:700;letter-spacing:.11em;text-transform:uppercase}
.site-v12:not(.page-home) .contact-hub .form-field label .field-hint{color:#8ca3aa!important;font-size:10px;letter-spacing:0;text-transform:none}
.site-v12:not(.page-home) .contact-hub .contact-form input,
.site-v12:not(.page-home) .contact-hub .contact-form select,
.site-v12:not(.page-home) .contact-hub .contact-form textarea{
  width:100%;
  border:0!important;
  border-bottom:1px solid rgba(204,231,234,.34)!important;
  border-radius:0!important;
  background:rgba(255,255,255,.035)!important;
  color:#fff!important;
  padding:14px 2px!important;
  box-shadow:none!important;
  transition:border-color .25s ease,background .25s ease,transform .25s ease!important;
}
.site-v12:not(.page-home) .contact-hub .contact-form textarea{min-height:142px;padding:15px 14px!important;border:1px solid rgba(204,231,234,.25)!important;border-radius:12px!important;background:rgba(5,12,18,.24)!important}
.site-v12:not(.page-home) .contact-hub .contact-form input:focus,
.site-v12:not(.page-home) .contact-hub .contact-form select:focus,
.site-v12:not(.page-home) .contact-hub .contact-form textarea:focus{border-color:#6dd8e4!important;background:rgba(93,205,216,.09)!important;box-shadow:0 10px 26px rgba(24,173,192,.11)!important;transform:translateY(-2px)!important}
.site-v12:not(.page-home) .contact-hub .contact-form select{appearance:auto;background-image:none!important}
.site-v12:not(.page-home) .contact-hub .contact-form select option{background:#142631;color:#fff}
.site-v12:not(.page-home) .contact-hub .contact-form textarea::placeholder{color:#90a6ad}
.site-v12:not(.page-home) .contact-hub .field-hint{margin-top:7px;color:#93aab1!important;font-size:12px;line-height:1.42}
.site-v12:not(.page-home) .contact-hub .form-check{display:flex!important;align-items:flex-start;margin:7px 0 0;gap:12px}
.site-v12:not(.page-home) .contact-hub .form-check input[type=checkbox]{width:20px!important;height:20px!important;min-width:20px!important;margin:2px 0 0!important;padding:0!important;accent-color:#61d0dc;flex:0 0 20px}
.site-v12:not(.page-home) .contact-hub .form-check label{color:#c5d4d8!important;font-size:13px;line-height:1.52}
.site-v12:not(.page-home) .contact-hub .form-check a{color:#78dce7!important}
.site-v12:not(.page-home) .contact-hub .form-submit{min-width:190px;min-height:54px;font-size:13px}
.site-v12:not(.page-home) .contact-hub .form-alert{border-radius:12px}
@media(max-width:1100px){
  .site-v12:not(.page-home) .contact-hub .contact-cta-grid{grid-template-columns:1fr;gap:55px}
  .site-v12:not(.page-home) .contact-hub .contact-box:first-child::after{top:auto;bottom:-30px;left:0;right:auto;width:100%;height:1px;background:linear-gradient(90deg,transparent,rgba(194,226,230,.38),transparent)}
}
@media(max-width:620px){
  .site-v12:not(.page-home) .contact-hub .contact-form-wrap{padding:28px 20px!important;border-radius:18px!important;box-shadow:12px 14px 0 rgba(57,183,198,.09)!important}
  .site-v12:not(.page-home) .contact-hub .form-grid{grid-template-columns:1fr}
  .site-v12:not(.page-home) .contact-hub .hero-actions .btn{width:auto}
}

/* Portfolio labels use a solid information bar, as on the homepage references. */
.site-v12:not(.page-home) .portfolio-grid{grid-auto-rows:280px}
.site-v12:not(.page-home) .portfolio-grid .portfolio-item{
  display:grid;
  grid-template-rows:minmax(0,1fr) auto;
  overflow:hidden;
  background:#101a24!important;
  border:1px solid rgba(137,205,214,.2)!important;
  border-radius:20px!important;
}
.site-v12:not(.page-home) .portfolio-grid .portfolio-item::before{display:none!important}
.site-v12:not(.page-home) .portfolio-grid .portfolio-item img{
  position:relative;
  z-index:0;
  width:100%;
  height:100%;
  min-height:0;
  object-fit:cover;
  object-position:center;
  filter:saturate(.9) contrast(1.02);
}
.site-v12:not(.page-home) .portfolio-grid .portfolio-overlay{
  position:relative;
  z-index:2;
  inset:auto!important;
  display:block;
  padding:18px 22px 20px!important;
  background:#101a24!important;
  border-top:1px solid rgba(137,205,214,.23);
  color:#fff!important;
}
.site-v12:not(.page-home) .portfolio-grid .portfolio-overlay p{
  margin:0 0 7px!important;
  color:#72d4df!important;
  font-size:10px!important;
  font-weight:700;
  letter-spacing:.12em;
}
.site-v12:not(.page-home) .portfolio-grid .portfolio-overlay h3{
  margin:0!important;
  color:#fff!important;
  font-size:clamp(1.2rem,1.6vw,1.9rem)!important;
  line-height:1.05!important;
}
.site-v12:not(.page-home) .portfolio-grid .portfolio-item:hover img{transform:scale(1.045)}
@media(max-width:700px){
  .site-v12:not(.page-home) .portfolio-grid .portfolio-item{border-radius:14px!important}
  .site-v12:not(.page-home) .portfolio-grid .portfolio-overlay{padding:15px 16px 17px!important}
}
@media(max-width:1100px){
  .site-v12:not(.page-home) .portfolio-grid{grid-auto-rows:clamp(300px,62vw,420px)}
}

/* The web-design process is an intentional dark pause in the editorial flow. */
body.site-v12.page-webdesign main>section.section-dark-alt{
  background:#101a24!important;
  background-image:radial-gradient(circle at 84% 14%,rgba(57,183,198,.2),transparent 30%),radial-gradient(circle at 8% 90%,rgba(138,50,126,.2),transparent 36%)!important;
  color:#fff!important;
}
body.site-v12.page-webdesign main>section.section-dark-alt .section-head h2{color:#fff!important}
body.site-v12.page-webdesign main>section.section-dark-alt .section-head>p:not(.eyebrow){color:#c7d4d9!important}
body.site-v12.page-webdesign main>section.section-dark-alt .eyebrow{color:#72d4df!important}
body.site-v12.page-webdesign main>section.section-dark-alt .process-step{background:#fff!important;color:#111a25!important}
body.site-v12.page-webdesign main>section.section-dark-alt .process-step h3,
body.site-v12.page-webdesign main>section.section-dark-alt .process-step p{color:#111a25!important}

/* Contact: keep the lead safely below the large multi-line headline. */
.site-v12:not(.page-home) .contact-intro h2{margin-bottom:clamp(24px,3vw,42px)!important}
html[lang="en"] .site-v12:not(.page-home) .contact-intro h2{font-size:clamp(2.8rem,4.25vw,5rem)!important;line-height:.92!important}

/* Footer remains a dark surface, even when global subpage heading colours are active. */
.site-v12:not(.page-home) .site-footer h2,
.site-v12:not(.page-home) .site-footer h3,
.site-v12:not(.page-home) .footer h2,
.site-v12:not(.page-home) .footer h3{color:#fff!important}

/* Compact, balanced footer: no tiny left column and no oversized empty tail. */
.site-v12 .footer{padding:clamp(42px,5vw,62px) 0 0!important}
.site-v12 .footer-grid{gap:clamp(24px,3vw,42px);align-items:start}
.site-v12 .footer h3{font-size:clamp(1.05rem,1.35vw,1.3rem)!important;line-height:1.1!important;margin:0 0 18px!important}
.site-v12 .footer p,.site-v12 .footer a{font-size:clamp(.96rem,1.08vw,1.08rem)!important;line-height:1.55}
.site-v12 .footer-bottom{margin-top:clamp(26px,3vw,36px)!important;padding:14px 0!important}
.site-v12 .footer-bottom p{font-size:12px!important}
/* Robust, keyboard-friendly off-canvas navigation shared by every template. */
.site-v12 .menu-toggle{display:none}
@media (max-width:900px){
  .site-v12 .header{height:72px;z-index:1100}
  .site-v12 .header-inner{min-height:72px;gap:16px}
  .site-v12 .menu-toggle{display:inline-flex!important;position:relative;z-index:1102;align-items:center;justify-content:center;width:46px;height:46px;border:1px solid rgba(255,255,255,.3);border-radius:0;background:rgba(17,26,37,.98)}
  .site-v12 .nav{display:none!important;position:fixed!important;z-index:1101;top:72px!important;right:0!important;bottom:0!important;left:auto!important;width:min(360px,100vw)!important;height:calc(100dvh - 72px)!important;max-width:100vw;padding:18px 22px 32px!important;overflow-y:auto;background:#111a25!important;border:0!important;border-left:1px solid rgba(255,255,255,.14)!important;border-radius:0!important;box-shadow:-24px 0 52px rgba(0,0,0,.38)}
  .site-v12 .nav.nav-open{display:block!important}
  .site-v12 .nav ul,.site-v12 .nav.nav-open ul{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:0!important;width:100%!important}
  .site-v12 .nav li{width:100%}
  .site-v12 .nav a,.site-v12 .nav.nav-open a{display:flex!important;align-items:center;width:100%!important;min-height:50px;padding:12px 0!important;font-size:1rem!important;border-bottom:1px solid rgba(255,255,255,.09)}
  .site-v12 .nav .language-switch{width:max-content!important;min-height:auto;margin:14px 0 8px;padding:7px 10px!important;border:1px solid rgba(255,255,255,.2)!important}
  .site-v12 .nav .btn-nav{justify-content:center;margin-top:10px;padding:13px 16px!important;border:1px solid rgba(57,183,198,.8)!important;background:rgba(57,183,198,.14)!important}
  .site-v12 .nav .btn-nav span{margin-left:6px}
  body.menu-open{overflow:hidden}
}
/* Readable mobile heading scale: whole words wrap between words, never beyond the viewport. */
@media(max-width:560px){
  .site-v12:not(.page-home) .hero-page:not(.hero-home) h1{
    max-width:100%!important;
    font-size:clamp(2.4rem,9vw,3.15rem)!important;
    line-height:.98!important;
    letter-spacing:-.055em!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    hyphens:none!important;
  }
  .site-v12:not(.page-home) .section-head h2,
  .site-v12:not(.page-home) .split-content h2,
  .site-v12:not(.page-home) .cta-box h2{
    font-size:clamp(2.2rem,9vw,3rem)!important;
    line-height:1.01!important;
    letter-spacing:-.045em!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    hyphens:none!important;
  }
}

/* Text presentation keeps arrows as clean typographic symbols instead of coloured emoji. */
.site-v12 .btn span,.site-v12 .button b,.site-v12 .underlink b,.site-v12 .project-copy b,.site-v12 .service-item>b{font-family:Arial,Helvetica,sans-serif;font-variant-emoji:text}
.site-v12 .service-card:after{font-family:Arial,Helvetica,sans-serif;font-variant-emoji:text}
.site-v12 .language-switch{display:inline-flex!important;align-items:center;gap:5px;white-space:nowrap}
.site-v12 .language-switch__code{font-size:.72rem;font-weight:800;letter-spacing:.08em;line-height:1}
.site-v12 .language-switch__flag{display:block;width:20px;height:auto;aspect-ratio:3/2;border-radius:2px;box-shadow:0 0 0 1px rgba(255,255,255,.25)}
.site-v12 .contact-form .consent{display:grid!important;grid-template-columns:20px minmax(0,1fr);align-items:start;gap:12px;margin:24px 0 18px!important;color:inherit!important}
.site-v12 .contact-form .consent input[type=checkbox]{grid-column:1;width:20px!important;height:20px!important;min-width:20px!important;margin:3px 0 0!important;padding:0!important;accent-color:#39b7c6;transform:none!important}
.site-v12 .contact-form .consent span{grid-column:2;min-width:0;font-size:15px;line-height:1.52}
.site-v12 .contact-form .consent + .btn{display:inline-flex!important;width:auto!important;clear:both;margin-top:0!important}
.site-v12 .icon-arrow{display:inline-block!important;width:9px!important;height:9px!important;min-height:0!important;margin-left:8px;border:solid currentColor;border-width:0 1.5px 1.5px 0!important;transform:rotate(-45deg);border-radius:0!important;background:none!important}
@media(max-width:900px){
  .site-v12 .nav li:has(.language-switch){display:flex;justify-content:center}
  .site-v12 .nav .language-switch{width:auto!important;min-height:34px!important;margin:16px auto 6px!important;padding:7px 11px!important;justify-content:center;gap:7px;border:0!important;border-bottom:1px solid rgba(57,183,198,.52)!important;background:rgba(57,183,198,.08)}
  .site-v12 .nav .language-switch__code{font-size:.78rem!important;color:#fff!important}
  .site-v12 .nav .language-switch__flag{width:22px!important}
}
