/* ========================================================================== 
   SWISS-PARK — LIGHT ENGINEERING DESIGN SYSTEM
   Global visual layer. Content, routing and product data remain untouched.
   ========================================================================== */

:root{
  --red:#D92A19;
  --red-dark:#B72215;
  --blue:#1662B0;
  --blue-dark:#104B84;
  --steel:#7E7E7E;
  --ink:#17242D;
  --ink-soft:#34434D;
  --muted:#56636B;
  --paper:#F5F7F8;
  --surface:#FFFFFF;
  --surface-alt:#EDF1F3;
  --surface-steel:#E1E7EA;
  --line:#CAD3D8;
  --line-strong:#AEBBC2;
  --control-line:#84939C;
  --graphite:#18242D;
  --graphite-2:#22313B;
  --maxw:1240px;
  --radius-xs:3px;
  --radius-sm:5px;
  --radius-md:8px;
  --radius-lg:12px;
  --shadow-xs:0 1px 2px rgba(24,36,45,.05);
  --shadow-sm:0 10px 28px rgba(31,48,59,.075);
  --shadow-md:0 20px 50px rgba(31,48,59,.11);
  --bevel:inset 0 1px 0 rgba(255,255,255,.96),inset 1px 0 0 rgba(255,255,255,.46),inset 0 -1px 0 rgba(35,52,63,.14);
  --recessed:inset 0 2px 5px rgba(23,36,45,.075),inset 0 -1px 0 rgba(255,255,255,.86);
  --elev-1:var(--bevel),0 2px 5px rgba(23,36,45,.052),0 14px 30px rgba(23,36,45,.075);
  --elev-2:var(--bevel),0 4px 9px rgba(23,36,45,.062),0 24px 52px rgba(23,36,45,.105),-8px 16px 24px rgba(217,42,25,.022),8px 16px 24px rgba(22,98,176,.03);
  --elev-hover:var(--bevel),0 7px 14px rgba(23,36,45,.07),0 30px 62px rgba(23,36,45,.13),-9px 20px 30px rgba(217,42,25,.025),9px 20px 30px rgba(22,98,176,.038);
  --tech-grid:rgba(22,98,176,.042);
  --tech-grid-neutral:rgba(23,36,45,.03);
  --red-wash:rgba(217,42,25,.052);
  --blue-wash:rgba(22,98,176,.068);
  --ease:cubic-bezier(.22,.61,.36,1);
  --ease-out:cubic-bezier(.16,1,.3,1);
  --fast:200ms;
  --normal:360ms;
  --slow:680ms;
  color-scheme:light;
}

html{background:var(--paper);color-scheme:light;scroll-padding-top:144px}
body{
  background-color:var(--paper);
  background-image:
    radial-gradient(ellipse at 6% 12%,var(--red-wash),transparent 30rem),
    radial-gradient(ellipse at 94% 32%,var(--blue-wash),transparent 34rem),
    linear-gradient(var(--tech-grid-neutral) 1px,transparent 1px),
    linear-gradient(90deg,var(--tech-grid-neutral) 1px,transparent 1px);
  background-size:auto,auto,96px 96px,96px 96px;
  color:var(--ink);
  font-family:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:16px;
  line-height:1.65;
}
body.no-scroll{padding-right:0}
::selection{background:rgba(26,99,173,.18);color:var(--ink)}
img{color:transparent}
img[src$=".jpg"],img[src$=".jpeg"],img[src$=".JPG"],img[src$=".JPEG"]{filter:none}
.wrap,.sp-shell{width:min(var(--maxw),calc(100% - 48px));max-width:none;margin-inline:auto;padding-inline:0}
h1,h2,h3,h4,h5,h6,.route-heading{color:inherit;font-family:"Archivo",sans-serif;text-wrap:balance}
p{color:var(--muted)}
a,button,input,select,textarea{transition-duration:var(--fast);transition-timing-function:var(--ease)}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{
  outline:2px solid var(--blue)!important;
  outline-offset:3px!important;
}
:where(h1,h2,h3,[role="main"])[tabindex="-1"]:focus,
:where(h1,h2,h3,[role="main"])[tabindex="-1"]:focus-visible{outline:none!important}
.skip-link{position:fixed;z-index:2147483647;left:16px;top:12px;padding:10px 14px;border:1px solid var(--blue);border-radius:var(--radius-sm);background:#fff;color:var(--ink);font-weight:700;transform:translateY(-160%);transition:transform var(--fast) var(--ease)}
.skip-link:focus{transform:none}

/* --- Header and navigation ----------------------------------------------- */
.header{
  position:sticky;
  top:0;
  z-index:310;
  overflow:visible;
  border:0;
  border-bottom:1px solid var(--line);
  background:rgba(255,255,255,.96);
  color:var(--ink);
  box-shadow:0 5px 18px rgba(32,48,59,.065);
  backdrop-filter:saturate(130%) blur(14px);
}
.header:after{display:none!important}
.header>.wrap{
  position:relative;
  z-index:4;
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  max-width:none;
  height:78px;
  margin-inline:auto;
  padding-inline:clamp(18px,1.45vw,28px);
  background:transparent;
}
.header>.wrap>.logo{
  position:relative;
  left:auto;
  top:auto;
  z-index:5;
  display:flex;
  width:auto;
  height:auto;
  min-width:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  isolation:auto;
  overflow:visible;
  animation:none;
  transform-origin:left center;
}
.header>.wrap>.logo:before,.header>.wrap>.logo:after{display:none!important}
.header>.wrap .logo img{
  position:relative;
  z-index:2;
  width:auto;
  height:48px;
  margin:0;
  filter:none;
  mix-blend-mode:normal;
  object-fit:contain;
}
.header>.wrap>.header-actions{position:relative;z-index:5;display:flex;align-items:center;gap:10px;margin-left:auto}
.header-contact{display:flex;align-items:center;gap:7px}
.header-contact .contact-card{
  --tb-accent:var(--blue);
  display:grid;
  grid-template-columns:30px auto;
  align-items:center;
  gap:8px;
  min-height:42px;
  padding:5px 11px 5px 6px;
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  background:var(--surface);
  color:var(--ink);
  box-shadow:var(--shadow-xs);
  overflow:hidden;
  transition:background var(--fast) var(--ease),border-color var(--fast) var(--ease),transform var(--fast) var(--ease);
}
.header-contact .contact-card:hover{border-color:var(--line-strong);background:var(--surface-alt);box-shadow:var(--shadow-xs);transform:translateY(-1px)}
.header-contact .contact-card:before{top:0;bottom:0;left:0;width:2px;border-radius:0;background:var(--tb-accent);box-shadow:none}
.header-contact .contact-card-phone{--tb-accent:var(--red)}
.header-contact .contact-card-mail{--tb-accent:var(--blue)}
.header-contact .contact-card-map{--tb-accent:var(--steel);grid-template-columns:30px;min-width:44px;padding:5px 6px}
.header-contact .contact-icon{
  position:relative;
  isolation:isolate;
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  border:1px solid transparent;
  border-radius:var(--radius-xs);
  background:transparent;
  color:transparent;
  font-size:0;
  box-shadow:none;
}
.header-contact .contact-card-phone .contact-icon:after,
.header-contact .contact-card-mail .contact-icon:after{
  display:block;
  background:linear-gradient(135deg,var(--blue) 0 30%,#66747C 48%,var(--red) 68% 100%);
  background-clip:text;
  -webkit-background-clip:text;
  color:transparent;
  -webkit-text-fill-color:transparent;
  font-size:17px;
  font-weight:800;
  line-height:1;
  filter:drop-shadow(0 1px 0 rgba(17,24,32,.08));
}
.header-contact .contact-card-phone .contact-icon:after{content:"☎"}
.header-contact .contact-card-mail .contact-icon:after{content:"@";font-size:18px}
.header-contact .contact-icon:hover{border-color:transparent;background:transparent;box-shadow:none;transform:none}
.header-contact .contact-map-icon,.header-contact .contact-map-icon:hover{
  border-color:transparent;
  background:transparent;
  box-shadow:none;
}
.header-contact .contact-map-icon:before{display:none}
.header-contact .contact-map-icon img{width:27px;height:27px;object-fit:contain;filter:none}
.header-contact .contact-copy{line-height:1.1}
.header-contact .contact-label{color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.11em}
.header-contact .contact-value{
  width:132px;
  height:18px;
  margin:1px 0 0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  color:var(--ink);
  font-size:12px;
  font-weight:600;
  line-height:18px;
}
.header-contact .contact-card-phone .contact-value{width:113px}
.header-contact .contact-value:hover,.header-contact .contact-value:focus{border:0;background:transparent;box-shadow:none}

.lang-current,.header .lang-current,.footer-bottom-bar .lang-current{
  min-height:42px;
  padding:6px 10px;
  border:1px solid var(--control-line);
  border-radius:var(--radius-sm);
  background:var(--surface);
  color:var(--ink);
  box-shadow:var(--shadow-xs);
}
.header .lang-current:hover,.header .lang-current[aria-expanded="true"],.footer-bottom-bar .lang-current:hover,.footer-bottom-bar .lang-current[aria-expanded="true"]{
  border-color:var(--line-strong);
  background:var(--surface-alt);
  color:var(--ink);
}
.header .lang-chevron,.footer-bottom-bar .lang-chevron{color:var(--muted)}
.lang-menu{
  padding:6px;
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  background:#fff;
  box-shadow:var(--shadow-md);
}
.lang-toggle .lang-btn{border-radius:var(--radius-xs);color:var(--ink)}
.lang-toggle .lang-btn:hover{background:var(--surface-alt);color:var(--ink)}

.home-header-nav{
  position:relative;
  z-index:3;
  display:block;
  border:0;
  border-top:1px solid #C8D1D6;
  border-bottom:1px solid #C2CCD1;
  background:rgba(250,251,252,.98);
}
.home-header-nav:before{display:none}
.home-header-nav-inner{
  display:flex;
  justify-content:center;
  width:min(var(--maxw),calc(100% - 48px));
  margin:0 auto;
  padding:0;
  gap:0;
}
.home-nav-dropdown{height:56px}
.home-nav-item{
  position:relative;
  min-width:170px;
  min-height:56px;
  padding:0 28px;
  border:0;
  border-left:1px solid #BCC7CD;
  border-radius:0;
  background:transparent;
  color:var(--ink-soft);
  font-size:12px;
  font-weight:700;
  letter-spacing:.055em;
  text-transform:uppercase;
  box-shadow:none;
  overflow:visible;
  transition:color var(--fast) var(--ease),background var(--fast) var(--ease);
}
.home-header-nav-inner>:last-child{border-right:1px solid #BCC7CD}
.home-nav-item:before{
  content:"";
  position:absolute;
  left:18px;
  right:18px;
  top:auto;
  bottom:-1px;
  height:3px;
  opacity:0;
  background:linear-gradient(90deg,var(--red) 0 48%,var(--blue) 52% 100%);
  transform:scaleX(.5);
  transition:opacity var(--fast) var(--ease),transform var(--normal) var(--ease-out);
}
.home-nav-item:hover,.home-nav-item:focus-visible{border-color:#AEBBC2;background:#F1F4F5;color:var(--ink);box-shadow:none;transform:none}
.home-nav-item.active{border-color:#AEBBC2;background:#fff;color:var(--ink)}
.home-nav-item.active:before,.home-nav-item:hover:before,.home-nav-item:focus-visible:before{opacity:1;transform:scaleX(1)}
.home-nav-trigger>.home-nav-item{padding-right:48px}
.home-nav-caret{
  right:16px;
  width:24px;
  height:24px;
  border:1px solid var(--line);
  border-radius:var(--radius-xs);
  background:#fff;
  color:var(--muted);
}
.home-nav-menu{
  top:calc(100% + 1px);
  width:max(100%,310px);
  padding:7px;
  border:1px solid var(--line);
  border-radius:0 0 var(--radius-md) var(--radius-md);
  background:#fff;
  box-shadow:var(--shadow-md);
}
.home-nav-dropdown:not(.is-open) .home-nav-menu{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transform:translateY(-5px)!important;
}
.home-nav-dropdown.is-open .home-nav-menu{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  transform:none!important;
}
.home-nav-menu a{min-height:43px;border-radius:var(--radius-xs);color:var(--ink-soft)}
.home-nav-menu a:before{width:14px;height:2px;border-radius:0;background:linear-gradient(90deg,var(--red) 0 45%,var(--blue) 55%);box-shadow:none}
.home-nav-menu a:hover,.home-nav-menu a:focus-visible{background:var(--surface-alt);color:var(--ink);transform:translateX(2px)}

.burger{width:42px;height:42px;padding:9px;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff}
.burger span{width:22px;height:2px;background:var(--ink)}
.nav-overlay{background:rgba(15,25,32,.36);backdrop-filter:blur(3px)}
.nav{
  width:min(90vw,390px);
  background:#F8FAFB;
  color:var(--ink);
  box-shadow:-24px 0 60px rgba(18,31,40,.18);
  scrollbar-color:var(--line-strong) var(--surface-alt);
}
.drawer-top{border-bottom:1px solid var(--line);background:#fff}
.drawer-close{color:var(--ink);background:#fff;border:1px solid var(--line)}
.nav>a,.nav .dropdown-row>a{border-bottom:1px solid var(--line);color:var(--ink);background:#fff}
.nav>a:hover,.nav .dropdown-row>a:hover,.nav>a.active{background:var(--surface-alt);color:var(--ink)}
.dropdown-row{border-bottom:1px solid var(--line)}
.dropdown .caret{border:1px solid var(--line);background:#fff;color:var(--ink)}
.menu{background:var(--surface-alt)}
.menu a{border-bottom:1px solid #D7DEE2;color:var(--ink-soft)}
.menu a:hover{background:#fff;color:var(--ink)}

/* --- Common type, bands, buttons and construction lines ------------------ */
.page{
  background-color:var(--paper);
  background-image:
    radial-gradient(ellipse at 4% 9%,var(--red-wash),transparent 28rem),
    radial-gradient(ellipse at 96% 24%,var(--blue-wash),transparent 34rem),
    linear-gradient(var(--tech-grid-neutral) 1px,transparent 1px),
    linear-gradient(90deg,var(--tech-grid-neutral) 1px,transparent 1px);
  background-size:auto,auto,96px 96px,96px 96px;
  color:var(--ink);
}
.kicker,.eyebrow,.sp-kicker,.sp-eyebrow,.service-page-kicker,.service-detail-kicker,.c-kicker,.c-form-tag{
  color:var(--red-dark)!important;
  font-size:11px!important;
  font-weight:800!important;
  letter-spacing:.145em!important;
  line-height:1.4!important;
  text-transform:uppercase;
}
.kicker:before,.eyebrow:before,.sp-kicker:before,.service-page-kicker:before,.service-detail-kicker:before{
  width:34px!important;
  height:2px!important;
  background:linear-gradient(90deg,var(--red) 0 47%,var(--blue) 53% 100%)!important;
  box-shadow:none!important;
}
.btn,.sp-btn{
  min-height:46px;
  padding:12px 18px;
  border:1px solid transparent;
  border-radius:var(--radius-sm)!important;
  font-size:13px;
  font-weight:700;
  letter-spacing:.015em;
  box-shadow:none;
  transform:none;
  transition:color var(--fast) var(--ease),background var(--fast) var(--ease),border-color var(--fast) var(--ease),transform var(--fast) var(--ease),box-shadow var(--fast) var(--ease);
}
.btn-primary,.sp-btn-primary,.sp-card-actions button[data-details]{
  border-color:var(--red-dark)!important;
  background:var(--red)!important;
  color:#fff!important;
  box-shadow:none!important;
  text-shadow:none!important;
}
.btn-primary:hover,.sp-btn-primary:hover,.sp-card-actions button[data-details]:hover{
  border-color:#991D13!important;
  background:var(--red-dark)!important;
  color:#fff!important;
  box-shadow:0 8px 18px rgba(182,37,23,.16)!important;
  transform:translateY(-1px)!important;
}
.btn-secondary,.btn-ghost,.sp-btn-secondary,.sp-card-actions button[data-inquiry]{
  border-color:var(--control-line)!important;
  background:transparent!important;
  color:var(--ink)!important;
  box-shadow:none!important;
  text-shadow:none!important;
}
.btn-secondary:hover,.btn-ghost:hover,.sp-btn-secondary:hover,.sp-card-actions button[data-inquiry]:hover{
  border-color:var(--blue)!important;
  background:rgba(26,99,173,.06)!important;
  color:var(--blue-dark)!important;
  box-shadow:none!important;
  transform:translateY(-1px)!important;
}
.arrow{display:inline-block;transition:transform var(--fast) var(--ease)}
.btn:hover .arrow,.sp-btn:hover .arrow{transform:translateX(3px)}

.intro,.why,.audience,.gallery,.contact,.cta,.service-team,.service-compact,.service-showcase,.service-process,.service-page-cta{
  position:relative;
  isolation:isolate;
  overflow:hidden;
}
.intro:before,.gallery:before,.contact:before,.service-team:before{display:none!important}
.intro,.why,.audience,.gallery,.cta{padding:104px 0}
.section-head h2,.why h2,.audience h2,.gallery h2,.service-team h2,.contact>.wrap>:is(h1,.route-heading){
  color:var(--ink);
  font-size:clamp(30px,3.2vw,46px);
  line-height:1.08;
  letter-spacing:-.035em;
}

/* --- Home --------------------------------------------------------------- */
.hero{
  position:relative;
  min-height:710px;
  display:flex;
  align-items:center;
  overflow:hidden;
  border-bottom:1px solid var(--line);
  background-color:#F5F8F9;
  background-image:
    radial-gradient(ellipse at 8% 20%,rgba(217,42,25,.055),transparent 28rem),
    radial-gradient(ellipse at 88% 12%,rgba(22,98,176,.07),transparent 34rem),
    linear-gradient(var(--tech-grid-neutral) 1px,transparent 1px),
    linear-gradient(90deg,var(--tech-grid-neutral) 1px,transparent 1px),
    linear-gradient(180deg,#FAFBFC 0%,#EEF2F4 100%);
  background-size:auto,auto,80px 80px,80px 80px,auto;
  color:var(--ink);
}
.hero:before{
  content:"";
  position:absolute;
  z-index:2;
  left:max(24px,calc((100% - var(--maxw))/2));
  top:60px;
  width:1px;
  height:calc(100% - 120px);
  background:linear-gradient(180deg,var(--red) 0 19%,var(--line) 19% 79%,var(--blue) 79% 100%);
}
.hero:after{
  content:"";
  position:absolute;
  z-index:1;
  left:0;
  right:0;
  bottom:0;
  height:1px;
  background:linear-gradient(90deg,var(--red) 0 18%,var(--line) 18% 82%,var(--blue) 82% 100%);
}
.hero-bg{
  position:absolute;
  inset:0 0 0 auto;
  width:68%;
  background-position:center;
  background-size:cover;
  filter:saturate(.82) contrast(1.03) brightness(1.025);
  transform:none;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.2) 10%,#000 38% 100%);
  mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.2) 10%,#000 38% 100%);
}
.hero-scrim{
  position:absolute;
  z-index:1;
  inset:0;
  background:linear-gradient(90deg,#F8FAFB 0 40%,rgba(248,250,251,.9) 49%,rgba(248,250,251,.16) 76%,transparent 100%),linear-gradient(0deg,rgba(238,242,244,.74),transparent 28%);
}
.hero-content{
  position:relative;
  z-index:3;
  width:min(var(--maxw),calc(100% - 48px));
  margin-inline:auto;
  padding:88px 0 96px 42px;
  color:var(--ink);
  filter:none;
}
.hero .eyebrow{margin:0 0 22px;color:var(--red-dark)!important;text-shadow:none}
.hero h1{
  max-width:770px;
  color:var(--ink);
  font-size:clamp(42px,4.7vw,64px);
  font-weight:800;
  line-height:1.02;
  letter-spacing:-.045em;
  text-shadow:none;
}
.hero p.lead{max-width:660px;margin:25px 0 32px;color:var(--ink-soft);font-size:17px;line-height:1.7;text-shadow:none}
.hero-cta{display:flex;flex-wrap:wrap;gap:10px}

.home-product-paths{
  position:relative;
  isolation:isolate;
  padding:58px 0 62px;
  border-bottom:1px solid var(--line);
  background:rgba(255,255,255,.94);
}
.home-product-paths:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(90deg,rgba(217,42,25,.025),transparent 27%,transparent 73%,rgba(22,98,176,.035));
  pointer-events:none;
}
.home-product-paths-head{
  display:grid;
  grid-template-columns:minmax(280px,.8fr) minmax(320px,1.2fr);
  gap:clamp(38px,7vw,92px);
  align-items:end;
  margin-bottom:30px;
}
.home-product-paths h2{
  max-width:560px;
  margin-top:12px;
  color:var(--ink);
  font-size:clamp(28px,2.6vw,40px);
  line-height:1.08;
  letter-spacing:-.035em;
}
.home-product-paths-head>p{max-width:670px;margin:0;color:var(--ink-soft);line-height:1.7}
.home-product-paths-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:14px;
  padding:4px 0 18px;
  perspective:1200px;
}
.home-product-path{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:116px;
  padding:24px 20px;
  overflow:hidden;
  border:1px solid #B9C5CB;
  border-bottom-color:#A8B6BE;
  border-radius:8px;
  background:linear-gradient(145deg,#fff 0%,#F7F9FA 54%,#EDF2F4 100%);
  color:var(--ink);
  font-family:"Archivo",sans-serif;
  font-size:15.5px;
  font-weight:750;
  line-height:1.3;
  text-align:center;
  text-decoration:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.98),inset 0 -1px 0 rgba(74,94,105,.08),0 10px 0 -7px #D3DDE1,0 20px 30px -25px rgba(23,36,45,.72);
  transform:perspective(800px) translateY(0) rotateX(0);
  transform-origin:center bottom;
  transition:transform var(--normal) var(--ease-out),box-shadow var(--normal) var(--ease-out),border-color var(--fast) var(--ease),color var(--fast) var(--ease),background var(--normal) var(--ease);
}
.home-product-path:before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:3px;
  background:linear-gradient(90deg,var(--red) 0 46%,#D9E0E4 46% 54%,var(--blue) 54% 100%);
  box-shadow:0 2px 7px rgba(23,36,45,.12);
}
.home-product-path:after{
  content:"";
  position:absolute;
  right:-36px;
  bottom:-46px;
  width:116px;
  height:92px;
  border:1px solid rgba(22,98,176,.09);
  transform:skewX(-24deg) rotate(-8deg);
  pointer-events:none;
}
.home-product-path>span{position:relative;z-index:1}
.home-product-path:hover{
  border-color:#95A7B0;
  background:linear-gradient(145deg,#fff 0%,#F4F7F8 48%,#E8EFF2 100%);
  color:var(--blue-dark);
  box-shadow:inset 0 1px 0 #fff,inset 0 -1px 0 rgba(74,94,105,.1),0 14px 0 -9px #CBD7DC,0 25px 34px -24px rgba(23,36,45,.78);
  transform:perspective(800px) translateY(-4px) rotateX(2deg);
}
.home-product-path:active{transform:perspective(800px) translateY(-1px) rotateX(1deg)}
.home-product-path:focus-visible{outline:3px solid rgba(22,98,176,.25);outline-offset:3px;border-color:var(--blue)}

.intro{overflow:clip;background:#fff}
.intro>.wrap{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:90px;align-items:start}
.intro .section-head{position:static;top:auto;align-self:start;padding:0}
.intro .section-head h2{max-width:610px;margin-top:15px}
.intro .body{display:grid;gap:0;border-top:1px solid var(--line)}
.intro .body p{position:relative;margin:0;padding:24px 6px 24px 48px;border-bottom:1px solid var(--line);color:var(--ink-soft);line-height:1.75}
.intro .body p:before{content:"0" counter(spIntro);counter-increment:spIntro;position:absolute;left:0;top:25px;color:var(--blue);font-family:"Archivo";font-size:11px;font-weight:800;letter-spacing:.08em}
.intro .body{counter-reset:spIntro}

.why{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface-alt)}
.why .kicker,.why h2{max-width:760px}
.why h2{margin-top:12px;margin-bottom:46px}
.why-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.feat{
  position:relative;
  min-height:276px;
  padding:30px 26px 32px;
  border:0;
  border-right:1px solid var(--line);
  border-radius:0;
  background:transparent!important;
  box-shadow:none!important;
  transition:background var(--normal) var(--ease),transform var(--normal) var(--ease);
}
.feat:last-child{border-right:0}
.feat:before{content:"";position:absolute;left:0;right:0;top:-1px;height:2px;background:linear-gradient(90deg,var(--red),var(--blue));transform:scaleX(0);transform-origin:left;transition:transform var(--normal) var(--ease-out)}
.feat:hover{background:rgba(255,255,255,.7)!important;transform:none!important}
.feat:hover:before{transform:scaleX(1)}
.feat-ic{display:flex;align-items:center;width:auto;height:auto;margin:0 0 42px;border:0;border-radius:0;background:transparent;color:var(--blue);font-family:"Archivo";font-size:13px;font-weight:800;box-shadow:none}
.feat h3{margin-bottom:13px;color:var(--ink);font-size:19px;line-height:1.25}
.feat p{color:var(--muted);font-size:14px;line-height:1.65}

.service-team{
  padding:106px 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background-color:#F1F5F6!important;
  background-image:
    radial-gradient(ellipse at 4% 18%,var(--red-wash),transparent 28rem),
    radial-gradient(ellipse at 96% 74%,var(--blue-wash),transparent 34rem),
    linear-gradient(118deg,transparent 0 67%,rgba(255,255,255,.66) 67% 67.2%,transparent 67.2%)!important;
  color:var(--ink);
}
.service-team:after{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  opacity:1;
  background-image:linear-gradient(var(--tech-grid) 1px,transparent 1px),linear-gradient(90deg,var(--tech-grid) 1px,transparent 1px);
  background-size:56px 56px;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 22%,#000 78%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 22%,#000 78%,transparent);
}
.service-team .kicker{color:var(--red-dark)!important}
.service-team h2{color:var(--ink)}
.service-team-lead,.service-offer-head p,.service-team p{color:var(--ink-soft)}
.service-team-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:86px;align-items:start}
.service-team-actions{display:flex;flex-wrap:wrap;gap:9px}
.service-team .btn-secondary{border-color:var(--line-strong)!important;color:var(--ink)!important;background:rgba(255,255,255,.72)!important}
.service-team .btn-secondary:hover{border-color:var(--blue)!important;background:#fff!important;color:var(--blue-dark)!important}
.service-team-points{display:grid;gap:0;border-top:1px solid var(--line-strong)}
.service-team-point{
  display:grid;
  grid-template-columns:52px 1fr;
  gap:16px;
  min-height:0;
  padding:22px 6px;
  border:0;
  border-bottom:1px solid var(--line-strong);
  border-radius:0;
  background:transparent;
  box-shadow:none!important;
}
.service-team-point:hover{transform:none!important;background:rgba(255,255,255,.72)}
.service-team-number{color:var(--blue);font-size:11px;font-weight:800;letter-spacing:.08em}
.service-team-point h3{color:var(--ink);font-size:18px;line-height:1.25}
.service-team-point p{color:var(--muted);font-size:14px;line-height:1.62}
.service-offer{margin-top:76px;padding-top:66px;border-top:1px solid var(--line-strong)}
.service-offer-head{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:start;margin-bottom:32px}
.service-offer-head h3{font-size:clamp(25px,2.4vw,35px)}
.service-offer-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.service-offer-card{
  min-height:238px;
  padding:25px 23px;
  border:0;
  border-radius:0;
  background:rgba(255,255,255,.9);
  box-shadow:none;
  transition:background var(--normal) var(--ease);
}
.service-offer-card:hover{background:var(--surface-alt)}
.service-offer-card:before{display:none}
.service-offer-no{margin-bottom:28px;color:var(--blue);font-size:11px}
.service-offer-card h4{color:var(--ink);font-size:17px}
.service-offer-card p{color:var(--muted);font-size:13.5px}
.service-decision{
  margin-top:34px;
  padding:34px;
  border:1px solid var(--line-strong);
  border-radius:var(--radius-md);
  background:rgba(225,231,234,.8);
  box-shadow:none;
}
.service-decision p{color:var(--ink-soft)}
.service-decision-option{border:1px solid var(--line);border-radius:var(--radius-sm);background:rgba(255,255,255,.74)}
.service-decision-option b{color:var(--red-dark)}
.service-decision-option span{color:var(--ink-soft)}

.audience{background:#fff}
.audience h2{max-width:780px;margin:12px 0 44px}
.aud-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.aud{
  position:relative;
  min-height:230px;
  padding:28px 28px 30px 34px;
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  background:#fff!important;
  box-shadow:none!important;
}
.aud:before{content:"";position:absolute;left:-1px;top:26px;width:3px;height:42px;background:linear-gradient(180deg,var(--red) 0 46%,var(--blue) 54% 100%)}
.aud:hover{border-color:var(--line-strong);box-shadow:var(--shadow-sm)!important;transform:translateY(-2px)!important}
.aud h3{margin-bottom:13px;color:var(--ink);font-size:20px}
.aud p{color:var(--muted);font-size:14.5px}

.gallery{scroll-margin-top:136px;border-top:1px solid var(--line);background:var(--surface-alt)}
.gallery h2{max-width:820px;margin:12px 0 14px}
.gal-intro{max-width:760px;margin:0 0 38px;color:var(--muted)}
.collage{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:220px;grid-auto-flow:dense;gap:10px}
.collage .tile{
  position:relative;
  overflow:hidden;
  min-height:0;
  border:1px solid var(--line-strong);
  border-radius:var(--radius-sm);
  background:#DCE2E5;
  box-shadow:none;
  transform:none;
  transition:transform var(--normal) var(--ease),box-shadow var(--normal) var(--ease),border-color var(--normal) var(--ease);
}
.collage .tile{grid-column:auto!important;grid-row:auto!important}
.collage .tile:first-child{grid-column:span 2!important;grid-row:span 2!important}
.collage .tile:hover{z-index:2;border-color:#85959F;box-shadow:var(--shadow-md);transform:translateY(-3px)!important}
.collage .tile img,.collage .tile video{width:100%;height:100%;object-fit:cover;filter:saturate(.9) contrast(1.02);transition:transform .7s var(--ease-out),filter .35s var(--ease)}
.collage .tile:hover img,.collage .tile:hover video{filter:saturate(1) contrast(1.03);transform:scale(1.025)}
.gallery-plus{background:rgba(17,31,40,.7);color:#fff}
.tile-play{border:1px solid rgba(255,255,255,.75);background:rgba(17,31,40,.64);box-shadow:none}
.lightbox{background:rgba(16,26,33,.94);backdrop-filter:blur(10px)}
.lb-stage{border:1px solid rgba(255,255,255,.18);border-radius:var(--radius-sm);background:#111B22;box-shadow:0 30px 90px rgba(0,0,0,.42)}
.lb-close,.lb-prev,.lb-next{border:1px solid rgba(255,255,255,.22);background:rgba(15,25,32,.8);color:#fff}

.cta{border-top:1px solid var(--line);background:#fff}
.cta .grid2{display:grid;grid-template-columns:1fr 1fr;gap:1px;border:1px solid var(--line);background:var(--line)}
.cta .box{
  position:relative;
  min-height:300px;
  padding:44px;
  border:0;
  border-radius:0;
  background:#fff;
  color:var(--ink);
  box-shadow:none;
}
.cta .box:before{content:"";position:absolute;top:0;left:0;width:130px;height:3px;background:linear-gradient(90deg,var(--red) 0 48%,var(--blue) 52%)}
.cta .box:after{display:none}
.cta .box.dark{background:var(--surface-steel);color:var(--ink)}
.cta .box.brand{background:#FFF1EE;color:var(--ink)}
.cta .box h3{font-size:clamp(25px,2.5vw,34px)}
.cta .box p{color:var(--muted)}
.cta .box.dark p{color:var(--ink-soft)}
.cta .box.brand p{color:var(--ink-soft)}
.cta .box.dark .btn-w{border-color:var(--red-dark);background:var(--red);color:#fff}
.cta .box.dark .btn-w:hover{border-color:#991D13;background:var(--red-dark);color:#fff}
.cta .box.brand .btn-w{border-color:var(--red-dark);background:var(--red);color:#fff}
.cta .box.brand .btn-w:hover{border-color:#991D13;background:var(--red-dark);color:#fff}

/* --- Product catalogue -------------------------------------------------- */
.sp-product-catalog{
  --sp-ink:var(--ink);
  --sp-muted:var(--muted);
  --sp-line:var(--line);
  --sp-paper:var(--paper);
  --sp-white:#fff;
  --sp-red:var(--red);
  --sp-blue:var(--blue);
  --sp-dark:var(--graphite);
  --sp-radius:var(--radius-md);
  --sp-shadow:var(--shadow-md);
  min-height:100vh;
  background-color:var(--paper)!important;
  background-image:
    radial-gradient(ellipse at 5% 12%,var(--red-wash),transparent 28rem),
    radial-gradient(ellipse at 95% 30%,var(--blue-wash),transparent 34rem),
    linear-gradient(var(--tech-grid-neutral) 1px,transparent 1px),
    linear-gradient(90deg,var(--tech-grid-neutral) 1px,transparent 1px)!important;
  background-size:auto,auto,96px 96px,96px 96px!important;
  color:var(--ink);
}
.sp-hero{
  padding:78px 0 82px;
  border-bottom:1px solid var(--line);
  background-color:#F4F7F8;
  background-image:
    radial-gradient(ellipse at 3% 18%,rgba(217,42,25,.06),transparent 27rem),
    radial-gradient(ellipse at 96% 76%,rgba(22,98,176,.08),transparent 34rem),
    linear-gradient(var(--tech-grid) 1px,transparent 1px),
    linear-gradient(90deg,var(--tech-grid) 1px,transparent 1px),
    linear-gradient(118deg,rgba(250,252,253,.98) 0 64%,rgba(233,238,241,.92) 64% 100%);
  background-size:auto,auto,56px 56px,56px 56px,auto;
  color:var(--ink);
  box-shadow:none;
}
.sp-hero:before{
  inset:auto 0 0 0;
  height:1px;
  background:linear-gradient(90deg,var(--red) 0 18%,var(--line) 18% 82%,var(--blue) 82% 100%);
}
.sp-hero:after{display:none}
.sp-hero-grid{grid-template-columns:minmax(0,1.02fr) minmax(380px,.98fr);gap:72px}
.sp-hero :is(h1,.route-heading){max-width:720px;margin:17px 0 20px;color:var(--ink);font-size:clamp(40px,4.9vw,62px);line-height:1.02;letter-spacing:-.045em;text-shadow:none}
.sp-hero-copy{max-width:680px;color:var(--ink-soft);font-size:17px;line-height:1.68}
.sp-hero-actions{margin-top:28px}
.sp-hero-document-grid{gap:8px}
.sp-hero-doc-btn{
  min-height:48px!important;
  padding:7px 10px!important;
  border-color:var(--line)!important;
  background:#fff!important;
  color:var(--ink)!important;
  box-shadow:var(--shadow-xs)!important;
  text-align:left!important;
}
.sp-hero-doc-btn:before{border-radius:var(--radius-xs);background:var(--steel);color:#fff}
.sp-hero-doc-btn[data-doc-lang="PL"]:before{background:var(--red)}
.sp-hero-doc-btn[data-doc-lang="EN"]:before{background:var(--blue)}
.sp-hero-doc-btn:after{color:var(--muted)}
.sp-hero-doc-btn:hover{border-color:var(--line-strong)!important;background:var(--surface-alt)!important;box-shadow:var(--shadow-sm)!important;transform:translateY(-1px)!important}
.sp-hero-visual{
  min-height:400px;
  overflow:hidden;
  border:1px solid var(--line-strong);
  border-radius:var(--radius-md);
  background:#DDE4E7;
  box-shadow:var(--shadow-md);
  transform:none;
}
.sp-hero-visual img{min-height:400px;opacity:1;filter:saturate(.82) contrast(1.03)}
.sp-hero-visual:after{background:linear-gradient(180deg,transparent 48%,rgba(239,244,246,.28))}
.sp-hero-note{left:18px;right:18px;bottom:18px;padding:17px;border:1px solid rgba(202,211,216,.94);border-radius:var(--radius-sm);background:rgba(255,255,255,.9);box-shadow:0 12px 28px rgba(31,48,59,.1);backdrop-filter:blur(10px);color:var(--ink)}
.sp-hero-note span{color:var(--ink-soft)}

.sp-toolbar{
  position:sticky;
  top:135px;
  z-index:80;
  border-bottom:1px solid var(--line);
  background:rgba(255,255,255,.94)!important;
  box-shadow:0 8px 22px rgba(31,48,59,.065)!important;
  backdrop-filter:blur(12px) saturate(125%);
}
.sp-toolbar-inner{padding:0}
.sp-filters{display:flex;gap:6px;margin:0;padding:12px 0;scroll-padding-inline:24px}
.sp-filter{
  min-height:40px;
  padding:9px 14px;
  border:1px solid var(--control-line)!important;
  border-radius:var(--radius-sm)!important;
  background:#fff!important;
  color:var(--ink-soft)!important;
  box-shadow:none!important;
  font-size:12px;
  font-weight:700;
  transform:none!important;
}
.sp-filter:hover{border-color:var(--line-strong)!important;background:var(--surface-alt)!important;color:var(--ink)!important;transform:none!important;box-shadow:none!important}
.sp-filter[aria-pressed="true"]{border-color:#8FB3D5!important;background:#EAF2F9!important;color:var(--blue-dark)!important;box-shadow:inset 3px 0 0 var(--red),inset -3px 0 0 var(--blue)!important}

.sp-main{position:relative;isolation:isolate;overflow:hidden;padding:76px 0 108px!important;background-color:var(--paper)!important}
.sp-main:before{
  content:"";
  position:absolute;
  z-index:0;
  inset:0;
  display:block;
  pointer-events:none;
  background-image:linear-gradient(var(--tech-grid) 1px,transparent 1px),linear-gradient(90deg,var(--tech-grid) 1px,transparent 1px);
  background-size:56px 56px;
  -webkit-mask-image:linear-gradient(90deg,#000,transparent 32%,transparent 68%,#000);
  mask-image:linear-gradient(90deg,#000,transparent 32%,transparent 68%,#000);
}
.sp-main:after{
  content:"";
  position:absolute;
  z-index:0;
  inset:0;
  display:block;
  pointer-events:none;
  background:radial-gradient(ellipse at 0 12%,var(--red-wash),transparent 32%),radial-gradient(ellipse at 100% 66%,var(--blue-wash),transparent 38%);
}
.sp-main>.sp-shell{position:relative;z-index:1}
.sp-product-section{margin-top:88px;scroll-margin-top:214px}
.sp-product-section:first-child{margin-top:0}
.sp-category-banner{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
  gap:64px;
  align-items:end;
  margin-bottom:30px;
  padding:0 0 24px;
  border:0;
  border-bottom:1px solid var(--line);
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.sp-category-banner:before{content:"";position:absolute;left:0;bottom:-1px;width:120px;height:2px;background:linear-gradient(90deg,var(--red) 0 47%,var(--blue) 53%)}
.sp-category-banner h2{margin-top:8px;color:var(--ink);font-size:clamp(29px,3vw,42px)}
.sp-category-banner p{max-width:680px;color:var(--muted);line-height:1.7}
.sp-category-featured-grid{margin-bottom:34px}
.sp-priority-card{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(320px,.75fr);
  min-height:420px;
  overflow:hidden;
  border:1px solid var(--line)!important;
  border-radius:var(--radius-md)!important;
  background:#fff!important;
  color:var(--ink)!important;
  box-shadow:var(--shadow-sm)!important;
  transform:none!important;
}
.sp-priority-card:after{display:none}
.sp-priority-card:hover{border-color:var(--line-strong)!important;box-shadow:var(--shadow-md)!important;transform:translateY(-2px)!important}
.sp-priority-card .sp-media{position:relative;inset:auto;min-height:420px;overflow:hidden;background:#DDE4E7}
.sp-priority-card .sp-media img,.sp-priority-card .sp-media video{width:100%;height:100%;opacity:.9;object-fit:cover;filter:saturate(.86) contrast(1.03)}
.sp-priority-card .sp-priority-content{
  position:relative;
  z-index:2;
  inset:auto;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:40px;
  background-color:#fff;
  background-image:radial-gradient(ellipse at 100% 0,var(--blue-wash),transparent 68%),linear-gradient(135deg,transparent 0 72%,rgba(22,98,176,.04) 72% 72.4%,transparent 72.4%);
}
.sp-priority-card .sp-priority-content .sp-btn{align-self:flex-start}
.sp-priority-card h3{color:var(--ink);font-size:clamp(28px,3vw,40px)}
.sp-priority-card p,.sp-priority-system-note{color:var(--ink-soft)}
.sp-category-featured-grid[data-count="2"] .sp-priority-card{grid-template-columns:1fr;grid-template-rows:minmax(270px,1fr) auto;min-height:0;aspect-ratio:auto}
.sp-category-featured-grid[data-count="2"] .sp-priority-card .sp-media{min-height:270px}
.sp-category-featured-grid[data-count="2"] .sp-priority-card .sp-priority-content{padding:28px}
.sp-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.sp-card{
  position:relative;
  border:1px solid var(--line)!important;
  border-radius:var(--radius-md)!important;
  background:#fff!important;
  color:var(--ink)!important;
  box-shadow:none!important;
  transform:none!important;
  transition:border-color var(--normal) var(--ease),box-shadow var(--normal) var(--ease),transform var(--normal) var(--ease)!important;
}
.sp-card:before{left:-1px;right:auto;top:24px;width:3px;height:44px;background:linear-gradient(180deg,var(--red) 0 46%,var(--blue) 54%);box-shadow:none}
.sp-card:after{content:"";position:absolute;z-index:3;right:13px;bottom:13px;display:block;width:18px;height:18px;border-right:1px solid rgba(22,98,176,.28);border-bottom:1px solid rgba(22,98,176,.28);pointer-events:none}
.sp-card:hover{border-color:var(--line-strong)!important;box-shadow:var(--shadow-md)!important;transform:translateY(-3px)!important}
.sp-card-media{aspect-ratio:4/3;border:0;background:linear-gradient(145deg,#F6F8F9,#E6EBEE);box-shadow:none}
.sp-card-media:before{opacity:.6;background-size:36px 36px}
.sp-card-media:after{background:linear-gradient(145deg,rgba(255,255,255,.48),transparent 45%)}
.sp-card-media img,.sp-card-media canvas{padding:18px;filter:saturate(.91) contrast(1.01) drop-shadow(0 12px 15px rgba(31,48,59,.12))}
.sp-card-body{padding:23px;border-top:1px solid var(--line);background:#fff}
.sp-card-body:before,.sp-card-body:after{display:none}
.sp-card-series{color:var(--blue);font-size:10.5px;letter-spacing:.13em;text-shadow:none}
.sp-card-series-note{color:var(--muted)}
.sp-card h3{margin:8px 0 10px;color:var(--ink);font-size:24px;text-shadow:none}
.sp-card p{color:var(--muted);font-size:13.5px;line-height:1.6}
.sp-features{margin:18px 0;color:var(--ink-soft)}
.sp-features li{border-top:1px solid #E7ECEE;padding:7px 0 7px 16px;font-size:12.5px}
.sp-features li:before{width:5px;height:5px;border-radius:0;background:var(--blue);box-shadow:none}
.sp-card-actions{gap:7px}
.sp-card-actions .sp-btn{min-height:42px;padding:10px 11px;font-size:12px}
.sp-btn-download,.sp-btn-pdf{
  min-height:56px!important;
  border:1px solid var(--line)!important;
  border-radius:var(--radius-sm)!important;
  background:#F7F9FA!important;
  color:var(--ink)!important;
  box-shadow:none!important;
}
.sp-btn-pdf:hover{border-color:var(--line-strong)!important;background:#EEF2F4!important;box-shadow:none!important;transform:none!important}
.sp-download-format{border-radius:var(--radius-xs);background:var(--red);color:#fff;font-size:10px}
.sp-download-meta{color:var(--muted);font-size:10px}
.sp-download-lang{color:var(--blue);font-size:10px;text-shadow:none}

.sp-cta{border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;color:var(--ink);box-shadow:none}
.sp-cta p{color:var(--ink-soft)}
.sp-dialog{
  width:min(1120px,calc(100vw - 40px));
  max-height:calc(100dvh - 40px);
  margin:auto;
  border:1px solid var(--line-strong);
  border-radius:var(--radius-md);
  background:#fff;
  color:var(--ink);
  box-shadow:0 32px 100px rgba(18,31,40,.24);
}
.sp-dialog::backdrop{background:rgba(19,31,39,.55);backdrop-filter:blur(5px)}
.sp-dialog-head{border-bottom:1px solid var(--line);background:#fff}
.sp-dialog-copy,.sp-detail-section{color:var(--ink)}
.sp-dialog-copy p,.sp-detail-section p{color:var(--muted)}
.sp-icon-btn{border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;color:var(--ink);box-shadow:none}
.sp-icon-btn:hover{border-color:var(--line-strong);background:var(--surface-alt);transform:none;box-shadow:none}
.sp-gallery{border:1px solid var(--line);border-radius:var(--radius-sm);background:#E8EDEF}
.sp-thumb{border:1px solid var(--line);border-radius:var(--radius-xs);background:#fff}
.sp-thumb[aria-current="true"]{border-color:var(--blue);box-shadow:inset 0 -2px 0 var(--red)}
.sp-thumbs{scrollbar-width:none}
.sp-thumbs::-webkit-scrollbar{display:none}
.sp-dialog-downloads{border-top:1px solid var(--line)}

/* --- Service ------------------------------------------------------------ */
.service-page{
  background-color:var(--paper);
  background-image:
    radial-gradient(ellipse at 5% 10%,var(--red-wash),transparent 28rem),
    radial-gradient(ellipse at 95% 28%,var(--blue-wash),transparent 34rem),
    linear-gradient(var(--tech-grid-neutral) 1px,transparent 1px),
    linear-gradient(90deg,var(--tech-grid-neutral) 1px,transparent 1px);
  background-size:auto,auto,96px 96px,96px 96px;
  color:var(--ink);
}
.service-page-hero{
  padding:86px 0 90px;
  border-bottom:1px solid var(--line);
  background-color:#F5F8F9;
  background-image:
    radial-gradient(ellipse at 5% 18%,rgba(217,42,25,.055),transparent 28rem),
    radial-gradient(ellipse at 96% 70%,rgba(22,98,176,.075),transparent 34rem),
    linear-gradient(var(--tech-grid) 1px,transparent 1px),
    linear-gradient(90deg,var(--tech-grid) 1px,transparent 1px),
    linear-gradient(118deg,rgba(249,250,251,.97) 0 68%,rgba(233,238,241,.9) 68%);
  background-size:auto,auto,56px 56px,56px 56px,auto;
  color:var(--ink);
}
.service-page-hero:before{
  inset:auto 0 0;
  height:1px;
  background:linear-gradient(90deg,var(--red) 0 18%,var(--line) 18% 82%,var(--blue) 82% 100%);
}
.service-page-hero:after{right:0;top:0;width:42%;height:100%;opacity:.5;background-image:linear-gradient(rgba(26,99,173,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(26,99,173,.07) 1px,transparent 1px);background-size:40px 40px;mask-image:linear-gradient(90deg,transparent,#000)}
.service-page-hero-grid{grid-template-columns:minmax(0,900px)}
.service-page-hero :is(h1,.route-heading){max-width:920px;color:var(--ink);font-size:clamp(40px,4.8vw,62px);line-height:1.02;text-shadow:none}
.service-page-hero-lead{max-width:850px;color:var(--ink-soft);font-size:17px}
.service-page-hero .btn-secondary{border-color:var(--line-strong)!important;color:var(--ink)!important}

.service-compact{padding:96px 0;background:#fff}
.service-compact-head{max-width:820px;margin-bottom:42px}
.service-compact-head h2,.service-showcase h2,.service-process h2{color:var(--ink);font-size:clamp(30px,3.1vw,44px)}
.service-compact-head p{color:var(--muted)}
.service-compact-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border:1px solid var(--line)}
.service-compact-card{
  min-height:260px;
  padding:28px 24px;
  border:0;
  border-right:1px solid var(--line);
  border-radius:0;
  background:#fff;
  box-shadow:none;
}
.service-compact-card:last-child{border-right:0}
.service-compact-card:hover{background:var(--surface-alt)}
.service-compact-card:before{content:"";display:block;width:42px;height:2px;margin-bottom:34px;background:linear-gradient(90deg,var(--red),var(--blue))}
.service-compact-card h3{color:var(--ink);font-size:18px}
.service-compact-card p{color:var(--muted);font-size:14px}
.service-experts{margin:0 0 54px;padding:28px 32px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-alt);box-shadow:none}
.service-experts p{color:var(--ink-soft)}

.service-showcase{padding:104px 0;background:var(--surface-alt)}
.service-showcase-list{display:grid;grid-template-columns:1fr;gap:0;border-top:1px solid var(--line)}
.service-showcase-row{
  display:grid;
  grid-template-columns:minmax(260px,.62fr) minmax(0,1.38fr);
  min-height:0;
  border:0;
  border-bottom:1px solid var(--line);
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.service-showcase-copy{padding:32px 0}
.service-showcase-copy h3{color:var(--ink);font-size:22px}
.service-showcase-copy p{color:var(--muted)}
.service-showcase-points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;align-self:stretch;background:var(--line)}
.service-showcase-points li{display:flex;align-items:center;padding:24px;border:0;border-radius:0;background:#F7F9FA;color:var(--ink-soft);font-size:14px;font-weight:600;list-style:none}

.service-process{
  padding:104px 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background-color:var(--surface-alt);
  background-image:radial-gradient(ellipse at 0 16%,var(--red-wash),transparent 30%),radial-gradient(ellipse at 100% 82%,var(--blue-wash),transparent 36%),linear-gradient(var(--tech-grid) 1px,transparent 1px),linear-gradient(90deg,var(--tech-grid) 1px,transparent 1px);
  background-size:auto,auto,56px 56px,56px 56px;
  color:var(--ink);
}
.service-process .kicker{color:var(--red-dark)!important}
.service-process h2{color:var(--ink)}
.service-process-head p{color:var(--ink-soft)}
.service-process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong)}
.service-process-step{position:relative;min-height:260px;padding:30px 25px;border:0;border-right:1px solid var(--line);border-radius:0;background:rgba(255,255,255,.58);box-shadow:none}
.service-process-step:last-child{border-right:0}
.service-process-step b{display:block;margin-bottom:38px;color:var(--blue);font-size:12px}
.service-process-step h3{color:var(--ink);font-size:18px}
.service-process-step p{color:var(--muted);font-size:14px}

/* Complete service scope: the legacy theme hid these substantive sections. */
.service-page>.service-page-core,
.service-page>.service-detail,
.service-page>.service-split{display:block}

.service-page>.service-page-core.service-team{
  position:relative;
  padding:104px 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background-color:#fff!important;
  background-image:radial-gradient(ellipse at 2% 14%,var(--red-wash),transparent 28rem),radial-gradient(ellipse at 98% 80%,var(--blue-wash),transparent 34rem),linear-gradient(135deg,transparent 0 72%,rgba(22,98,176,.028) 72% 72.15%,transparent 72.15%)!important;
  color:var(--ink);
}
.service-page>.service-page-core.service-team:after{display:none}
.service-page-core .service-team-grid{gap:82px}
.service-page-core .kicker{color:var(--red-dark)!important}
.service-page-core h2{color:var(--ink)}
.service-page-core .service-team-lead,
.service-page-core .service-offer-head p,
.service-page-core p{color:var(--muted)}
.service-page-core .service-team-points{border-color:var(--line)}
.service-page-core .service-team-point{border-color:var(--line)}
.service-page-core .service-team-point:hover{background:var(--surface-alt)}
.service-page-core .service-team-number{color:var(--blue)}
.service-page-core .service-team-point h3{color:var(--ink)}
.service-page-core .service-team-point p{color:var(--muted)}

.service-page-core .service-offer{margin-top:84px;padding-top:72px;border-color:var(--line)}
.service-page-core .service-offer-head{align-items:end}
.service-page-core .service-offer-head h3{color:var(--ink)}
.service-page-core .service-offer-grid{
  gap:1px;
  border:1px solid var(--line);
  background:var(--line);
}
.service-page-core .service-offer-card{
  position:relative;
  min-height:244px;
  border:0;
  border-radius:0;
  background:var(--surface-alt);
  box-shadow:none;
  transition:background var(--normal) var(--ease);
}
.service-page-core .service-offer-card:before{
  display:block;
  width:44px;
  right:auto;
  height:2px;
  background:linear-gradient(90deg,var(--red),var(--blue));
}
.service-page-core .service-offer-card:hover{background:#fff}
.service-page-core .service-offer-no{color:var(--blue)}
.service-page-core .service-offer-card h4{color:var(--ink)}
.service-page-core .service-offer-card p{color:var(--ink-soft)}

.service-page-core .service-decision{
  grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
  gap:48px;
  margin-top:32px;
  padding:42px;
  border:1px solid var(--line-strong);
  border-radius:var(--radius-md);
  background:var(--surface-steel);
  box-shadow:none;
}
.service-page-core .service-decision h3{color:var(--ink)}
.service-page-core .service-decision p{color:var(--ink-soft)}
.service-page-core .service-decision-option{
  border:0;
  border-top:1px solid var(--line-strong);
  border-radius:0;
  background:transparent;
}
.service-page-core .service-decision-option:last-child{border-bottom:1px solid var(--line-strong)}
.service-page-core .service-decision-option b{color:var(--red-dark)}
.service-page-core .service-decision-option span{color:var(--ink-soft)}

.service-page>.service-detail{
  padding:104px 0;
  border-bottom:1px solid var(--line);
  background:var(--paper);
  color:var(--ink);
}
.service-page .service-detail-head{
  display:grid;
  grid-template-columns:minmax(0,.86fr) minmax(320px,1.14fr);
  gap:72px;
  align-items:end;
  margin-bottom:42px;
}
.service-page .service-detail-head h2{color:var(--ink);font-size:clamp(30px,3.25vw,46px)}
.service-page .service-detail-head p{color:var(--muted)}
.service-page .service-detail-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;
  border:1px solid var(--line);
  background:var(--line);
}
.service-page .service-detail-card{
  min-height:224px;
  padding:28px 24px;
  border:0;
  border-radius:0;
  background:#fff;
  box-shadow:none;
  transform:none;
  transition:background var(--normal) var(--ease);
}
.service-page .service-detail-card:before{width:42px;right:auto;height:2px;background:linear-gradient(90deg,var(--red),var(--blue))}
.service-page .service-detail-card:hover{background:var(--surface-alt);transform:none;box-shadow:none}
.service-page .service-detail-no{color:var(--blue)}
.service-page .service-detail-card h3{color:var(--ink)}
.service-page .service-detail-card p{color:var(--muted)}

.service-page>.service-garage{background:var(--surface-alt);box-shadow:none}
.service-page .service-garage-steps{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;
  border-top:1px solid var(--line-strong);
  border-bottom:1px solid var(--line-strong);
}
.service-page .service-garage-step{
  min-height:240px;
  padding:30px 26px;
  border:0;
  border-right:1px solid var(--line);
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.service-page .service-garage-step:last-child{border-right:0}
.service-page .service-garage-step b{
  display:block;
  width:auto;
  height:auto;
  margin-bottom:34px;
  border-radius:0;
  background:transparent;
  color:var(--red-dark);
  box-shadow:none;
}
.service-page .service-garage-step h3{color:var(--ink)}
.service-page .service-garage-step p{color:var(--ink-soft)}

.service-page>.service-split{
  padding:104px 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background-color:#F1F5F6;
  background-image:radial-gradient(ellipse at 0 20%,var(--red-wash),transparent 30%),radial-gradient(ellipse at 100% 80%,var(--blue-wash),transparent 36%),linear-gradient(var(--tech-grid) 1px,transparent 1px),linear-gradient(90deg,var(--tech-grid) 1px,transparent 1px);
  background-size:auto,auto,56px 56px,56px 56px;
  color:var(--ink);
}
.service-page .service-split-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}
.service-page .service-tech-panel{
  padding:4px 60px 4px 0;
  border:0;
  border-right:1px solid var(--line-strong);
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.service-page .service-tech-panel:last-child{padding:4px 0 4px 60px;border-right:0}
.service-page .service-tech-panel:before{display:none}
.service-page .service-tech-panel h2{color:var(--ink)}
.service-page .service-tech-panel>p{color:var(--ink-soft)}
.service-page .service-list{gap:0;border-top:1px solid var(--line-strong)}
.service-page .service-list li{
  padding:15px 8px 15px 34px;
  border:0;
  border-bottom:1px solid var(--line-strong);
  border-radius:0;
  background:rgba(255,255,255,.48);
  color:var(--ink-soft);
}
.service-page .service-list li:before{left:7px;top:15px;color:var(--blue);content:"\2713"}

.service-page-cta{padding:92px 0;background:#fff}
.service-page-cta-box{
  padding:42px;
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  background:linear-gradient(110deg,#F2F5F6 0 72%,#E5EBEE 72%);
  color:var(--ink);
  box-shadow:none;
}
.service-page-cta-box h2{color:var(--ink)}
.service-page-cta-box p{color:var(--muted)}

/* --- Contact ------------------------------------------------------------ */
.contact{
  padding:96px 0 112px;
  border:0;
  border-top:1px solid var(--line);
  background:linear-gradient(110deg,#F7F9FA 0 48%,#EDF1F3 48% 100%);
  color:var(--ink);
}
.contact .c-kicker{margin-bottom:16px}
.contact>.wrap>:is(h1,.route-heading){max-width:760px;color:var(--ink);font-size:clamp(38px,4.4vw,58px);line-height:1.02}
.c-lead{max-width:640px;color:var(--ink-soft);font-size:17px;line-height:1.7}
.c-grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:76px;align-items:start}
.c-info{padding-top:2px}
.c-selection{
  margin-top:30px;
  padding:28px;
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  background:#fff;
  box-shadow:none;
}
.c-selection:before{height:2px;background:linear-gradient(90deg,var(--red) 0 48%,var(--blue) 52%)}
.c-selection h2{margin:0 0 18px;color:var(--ink);font-size:18px;line-height:1.25}
.c-selection-item b{color:var(--ink)}
.c-selection-item{border-bottom:1px solid var(--line)}
.c-selection-item p{color:var(--muted)}
.c-selection-no{border:1px solid #8FB3D5;background:#EAF2F9;color:var(--blue-dark);box-shadow:none}
.c-project-hint{
  margin-top:22px;
  border:1px solid var(--line)!important;
  border-radius:var(--radius-sm)!important;
  background:#fff!important;
  color:var(--ink)!important;
  box-shadow:none!important;
}
.c-project-hint:before{height:2px;background:linear-gradient(90deg,var(--red),var(--blue));box-shadow:none}
.c-project-hint p{color:var(--muted)}
.c-info .c-row{border-top:1px solid var(--line);color:var(--ink)}
.c-info .c-row>span{color:var(--muted)}
.c-info .c-row:last-child{border-bottom:1px solid var(--line)}

.c-form{
  padding:34px;
  border:1px solid var(--line-strong);
  border-radius:var(--radius-md);
  background:#fff!important;
  color:var(--ink);
  box-shadow:var(--shadow-sm)!important;
}
.c-form:before{height:3px;background:linear-gradient(90deg,var(--red) 0 18%,var(--line) 18% 82%,var(--blue) 82% 100%)}
.c-form-head{padding-bottom:22px;border-bottom:1px solid var(--line)}
.c-form-head h2{margin:0 0 9px;color:var(--ink);font-size:24px;line-height:1.2}
.c-form-head p{color:var(--muted)}
.c-form label>span{color:var(--ink-soft);font-size:12px;font-weight:700}
.c-form input,.c-form select,.c-form textarea{
  min-height:46px;
  border:1px solid var(--control-line);
  border-radius:var(--radius-sm);
  background:#F9FAFB;
  color:var(--ink);
  box-shadow:none;
}
.c-form input[type="file"]{border-color:var(--control-line)!important;background:#F9FAFB!important;color:var(--ink)!important}
.c-form input[type="file"]:focus{border-color:var(--blue)!important}
.c-form input[type="file"]::file-selector-button{margin:-1px 12px -1px -1px;padding:12px 14px;border:0;border-right:1px solid var(--control-line);background:#EAF2F9;color:var(--blue-dark);font:inherit;font-weight:700;cursor:pointer}
.c-form input::placeholder,.c-form textarea::placeholder{color:#5D6B74;opacity:1}
.c-form textarea{min-height:130px}
.c-form input:hover,.c-form select:hover,.c-form textarea:hover{border-color:var(--line-strong)}
.c-form input:focus,.c-form select:focus,.c-form textarea:focus{border-color:var(--blue);background:#fff;box-shadow:0 0 0 3px rgba(26,99,173,.09)}
.c-field-help,.c-note{color:var(--muted)}
.c-consent{position:relative;padding:12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-alt)}
.c-form .c-consent input[type="checkbox"]{
  position:absolute;
  z-index:2;
  top:14px;
  left:12px;
  box-sizing:border-box;
  width:19px!important;
  min-width:19px;
  height:19px;
  min-height:19px;
  margin:0;
  padding:0;
  opacity:0;
  cursor:pointer;
}
.c-form .c-consent .c-checkbox-mark{
  position:relative;
  display:block;
  box-sizing:border-box;
  width:19px;
  height:19px;
  margin-top:2px;
  border:1.5px solid var(--line-strong);
  border-radius:4px;
  background:#fff;
  box-shadow:none;
  transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease;
}
.c-form .c-consent:hover .c-checkbox-mark{border-color:var(--blue)}
.c-form .c-consent input[type="checkbox"]:checked+.c-checkbox-mark{border-color:var(--red)!important;background:var(--red)!important;box-shadow:none!important}
.c-form .c-consent input[type="checkbox"]:checked+.c-checkbox-mark:after{
  content:"";
  position:absolute;
  left:6px;
  top:2px;
  width:5px;
  height:10px;
  border:solid #fff;
  border-width:0 2px 2px 0;
  transform:rotate(45deg);
}
.c-form .c-consent input[type="checkbox"]:focus-visible+.c-checkbox-mark{
  outline:2px solid rgba(26,99,173,.38);
  outline-offset:3px;
}
.header .header-contact .contact-card-phone,
.header .header-contact .contact-card-mail,
.header .header-contact .contact-card-phone:hover,
.header .header-contact .contact-card-mail:hover{border:0;background:none;box-shadow:none;transform:none;padding-left:0;padding-right:12px}
.header .header-contact .contact-card-phone:before,
.header .header-contact .contact-card-mail:before{display:none}
.header .header-contact .contact-value{height:auto;width:auto;margin:2px 0 0;padding:0;white-space:nowrap;cursor:text;user-select:text;-webkit-user-select:text}
.c-direct-contact{min-height:420px;justify-content:flex-start}
.c-direct-contact .c-form-head h2{margin:0 0 10px;font-size:clamp(26px,2.4vw,34px);line-height:1.15}
.c-direct-options{display:grid;gap:20px}
.c-direct-option{
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:0;
  color:var(--ink);
}
.c-direct-option .c-direct-label{color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.c-direct-option strong{font-size:clamp(16px,1.6vw,21px);line-height:1.35;overflow-wrap:anywhere}
.contact-selectable{cursor:text;user-select:text;-webkit-user-select:text}
.c-copy-line{display:flex;align-items:center;flex-wrap:wrap;column-gap:14px;row-gap:4px}
.c-form .c-copy-button{align-self:center;min-height:40px;margin:0;padding:6px 3px;border:0;background:transparent;box-shadow:none;color:var(--blue);font:600 13px/1.4 Inter,Arial,sans-serif;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.c-copy-button:hover{color:var(--ink)}
.c-copy-button:focus-visible{outline:2px solid var(--blue);outline-offset:4px;border-radius:2px}
.c-copy-status{margin:0;color:var(--ink-soft);font-size:13px;line-height:1.5}
.c-copy-status:empty{display:none}
.c-direct-actions{display:flex;flex-wrap:wrap;gap:10px}
.c-direct-actions .btn{min-height:46px;margin:0!important;align-self:auto}
.c-direct-note{margin:0;padding:15px 17px;border-left:3px solid var(--blue);background:rgba(232,241,246,.7);color:var(--ink-soft);font-size:13px;line-height:1.65}
@media (max-width:520px){
  .c-direct-contact{min-height:0}
  .c-direct-actions{display:grid;grid-template-columns:1fr}
  .c-direct-actions .btn{width:100%;justify-content:center;text-align:center}
}

/* --- Light technical surface language ---------------------------------- */
.intro,.audience,.cta,.service-compact,.service-page-cta,.contact{
  background-color:#fff;
  background-image:
    radial-gradient(ellipse at 2% 14%,var(--red-wash),transparent 28rem),
    radial-gradient(ellipse at 98% 82%,var(--blue-wash),transparent 34rem),
    repeating-linear-gradient(135deg,transparent 0 92px,rgba(23,36,45,.016) 92px 93px,transparent 93px 184px),
    linear-gradient(135deg,transparent 0 72%,rgba(22,98,176,.028) 72% 72.15%,transparent 72.15%);
}
.why,.gallery,.service-showcase,.service-page>.service-detail,.service-page>.service-garage{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background-color:var(--surface-alt);
  background-image:
    radial-gradient(ellipse at 0 18%,var(--red-wash),transparent 30%),
    radial-gradient(ellipse at 100% 76%,var(--blue-wash),transparent 36%),
    repeating-linear-gradient(135deg,transparent 0 86px,var(--tech-grid-neutral) 86px 87px,transparent 87px 173px);
}
.intro>.wrap,.why>.wrap,.audience>.wrap,.gallery>.wrap,.cta>.wrap,.service-compact>.wrap,.service-showcase>.wrap,.service-process>.wrap,.service-page>.service-page-core>.wrap,.service-page>.service-detail>.wrap,.service-page>.service-garage>.wrap,.service-page>.service-split>.wrap,.service-page-cta>.wrap,.contact>.wrap{position:relative;z-index:1}

.aud,.service-compact-card,.service-detail-card,.service-process-step,.service-page .service-tech-panel,.c-selection,.c-form{position:relative}
.aud:after,.service-compact-card:after,.service-detail-card:after,.service-process-step:after,.service-page .service-tech-panel:after,.c-selection:after,.c-form:after{
  content:"";
  position:absolute;
  right:13px;
  bottom:13px;
  display:block;
  width:18px;
  height:18px;
  border-right:1px solid rgba(22,98,176,.3);
  border-bottom:1px solid rgba(217,42,25,.24);
  pointer-events:none;
}
.collage .gallery-plus{background:rgba(255,255,255,.84);color:var(--ink)!important;backdrop-filter:blur(6px)}
.collage .gallery-plus:after,
.collage .gallery-plus:hover:after,
.collage .gallery-plus:focus-visible:after{background:rgba(255,255,255,.55)}
.collage .gallery-plus span{color:var(--ink);text-shadow:0 1px 10px rgba(255,255,255,.9)}
.collage .tile-video .tile-play,
.collage .tile-video .tile-play:hover,
.collage .tile-video .tile-play:focus-visible,
.sp-preview-video-control{border:1px solid rgba(132,147,156,.82);background:rgba(255,255,255,.92);color:var(--blue-dark);box-shadow:0 8px 22px rgba(31,48,59,.14);backdrop-filter:blur(8px)}
.sp-preview-video-control:hover,.sp-preview-video-control:focus-visible{background:#fff;color:var(--red-dark)}

/* Delayed buffering feedback: it appears only when a playing video really stalls. */
[data-sp-preview-video].is-buffering:after,
[data-sp-video-player].is-buffering:after,
.lb-stage.is-buffering:after,
.tile-video.is-buffering:after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  z-index:4;
  width:34px;
  height:34px;
  margin:-17px 0 0 -17px;
  border-radius:50%;
  background:conic-gradient(var(--red) 0 42%,transparent 42% 50%,var(--blue) 50% 92%,transparent 92%);
  -webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 5px),#000 0);
  mask:radial-gradient(farthest-side,transparent calc(100% - 5px),#000 0);
  filter:drop-shadow(0 2px 5px rgba(23,36,45,.25));
  pointer-events:none;
  animation:spMediaBufferSpin .82s linear infinite;
}
@keyframes spMediaBufferSpin{to{transform:rotate(360deg)}}
.sp-media-fallback{position:absolute;inset:0;z-index:1;width:100%;height:100%;pointer-events:none}

/* --- Footer ------------------------------------------------------------- */
.footer{
  position:relative;
  padding:72px 0 0;
  border-top:0;
  background-color:#E8EDF0;
  background-image:radial-gradient(ellipse at 0 20%,var(--red-wash),transparent 28%),radial-gradient(ellipse at 100% 70%,var(--blue-wash),transparent 34%),linear-gradient(var(--tech-grid-neutral) 1px,transparent 1px),linear-gradient(90deg,var(--tech-grid-neutral) 1px,transparent 1px);
  background-size:auto,auto,72px 72px,72px 72px;
  color:var(--ink);
  box-shadow:none;
}
.footer:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--red) 0 20%,#50606A 20% 80%,var(--blue) 80%);box-shadow:none}
.footer .cols{display:grid;grid-template-columns:1.25fr .85fr .9fr;gap:80px;padding-bottom:62px;border:0}
.footer .cols .logo{
  display:inline-flex;
  width:auto;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  animation:none;
  isolation:auto;
}
.footer .cols .logo:before,.footer .cols .logo:after{display:none!important}
.footer .cols .logo img{width:auto;height:44px;filter:none;mix-blend-mode:normal}
.footer .about{max-width:420px;margin-top:22px;color:var(--muted);line-height:1.7}
.footer h4{margin-bottom:17px;color:var(--ink);font-size:13px;letter-spacing:.08em;text-transform:uppercase}
.footer .cols a:not(.logo){display:block;margin:8px 0;color:var(--ink-soft);font-size:14px}
.footer .cols a:not(.logo):hover{color:var(--blue-dark);transform:translateX(2px)}
.footer-bottom-bar{
  border-top:1px solid var(--line-strong);
  background:#DDE4E8;
  color:var(--ink-soft);
  box-shadow:none;
}
.footer-bottom-bar .bottom{min-height:70px;padding:12px 0;color:var(--ink-soft);font-weight:500;text-shadow:none}
.footer-bottom-bar .lang-current{border-color:var(--control-line);background:#fff;color:var(--ink);box-shadow:none}
.footer-bottom-bar .lang-current:hover{border-color:var(--blue);background:#F4F8FB;color:var(--blue-dark)}

/* --- Motion language ---------------------------------------------------- */
.sp-reveal{
  opacity:0;
  transform:translateY(14px);
  transition:opacity var(--slow) var(--ease-out),transform var(--slow) var(--ease-out);
  transition-delay:var(--sp-reveal-delay,0ms);
}
.sp-reveal.is-visible{opacity:1;transform:none}
.sp-line-reveal:after{transform-origin:left;transform:scaleX(0);transition:transform .75s var(--ease-out)}
.sp-line-reveal.is-visible:after{transform:scaleX(1)}

/* --- Responsive system ------------------------------------------------- */
@media (max-width:1180px){
  .header>.wrap{padding-inline:20px}
  .home-nav-item{min-width:150px;padding-inline:20px}
  .header-contact .contact-label{display:none}
  .header-contact .contact-value{width:124px;margin:0}
  .header-contact .contact-card-phone .contact-value{width:108px}
  .intro>.wrap,.service-team-grid,.c-grid{gap:52px}
  .service-offer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-product-paths-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
  .home-product-path{grid-column:span 2}
  .home-product-path:nth-child(4){grid-column:2/span 2}
  .home-product-path:nth-child(5){grid-column:4/span 2}
}

@media (max-width:980px){
  html{scroll-padding-top:72px}
  .wrap,.sp-shell{width:min(100% - 40px,var(--maxw))}
  .header>.wrap{height:70px;padding:0 20px}
  .header>.wrap>.logo{position:relative;left:auto;top:auto;padding:0;background:transparent;border:0}
  .header>.wrap .logo img{height:38px}
  .header-contact,.home-header-nav{display:none}
  .burger{display:flex;align-items:center;justify-content:center}
  body[data-current-page] .burger{position:static;z-index:auto;top:auto;right:auto;width:42px;height:42px;padding:9px;border:1px solid var(--control-line);background:#fff;box-shadow:none}
  body[data-current-page] .burger span{background:var(--ink);box-shadow:none}
  .nav{display:flex}
  .nav-overlay{display:block}
  .header .lang-current{min-width:64px}
  .sp-toolbar{top:70px}
  .hero{min-height:650px}
  .hero:before{left:20px;top:42px;height:calc(100% - 84px)}
  .hero-bg{width:74%}
  .hero-content{width:min(100% - 40px,var(--maxw));padding-left:30px}
  .home-product-paths-head{grid-template-columns:1fr;gap:18px}
  .intro>.wrap,.service-team-grid,.service-offer-head,.c-grid{grid-template-columns:1fr}
  .service-offer-head{gap:24px}
  .intro .section-head{position:static}
  .why-grid,.service-compact-grid,.service-process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .feat:nth-child(2),.service-compact-card:nth-child(2),.service-process-step:nth-child(2){border-right:0}
  .feat:nth-child(-n+2),.service-compact-card:nth-child(-n+2),.service-process-step:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .service-process-step:nth-child(-n+2){border-bottom-color:var(--line-strong)}
  .aud-grid{grid-template-columns:1fr}
  .aud{min-height:0}
  .sp-hero-grid{grid-template-columns:1fr;gap:44px}
  .sp-hero-visual{min-height:360px;transform:none}
  .sp-category-banner{grid-template-columns:1fr;gap:16px}
  .service-showcase-row{grid-template-columns:1fr}
  .service-showcase-points{grid-template-columns:repeat(3,minmax(0,1fr))}
  .service-page-hero:after{width:70%}
  .service-page-core .service-offer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .service-page-core .service-decision,
  .service-page .service-detail-head{grid-template-columns:1fr}
  .service-page .service-detail-head{gap:22px}
  .service-page .service-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .service-page .service-garage-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .service-page .service-garage-step:nth-child(2){border-right:0}
  .service-page .service-garage-step:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .service-page .service-tech-panel{padding-right:34px}
  .service-page .service-tech-panel:last-child{padding-left:34px}
  .footer .cols{grid-template-columns:1.2fr .8fr;gap:52px}
  .footer .cols>div:last-child{grid-column:1/-1}
}

@media (min-width:721px) and (max-width:980px){
  .hero-bg{width:74%;filter:saturate(.75) contrast(1.02) brightness(1.08)}
  .hero-scrim{background:linear-gradient(90deg,#F8FAFB 0 36%,rgba(248,250,251,.98) 56%,rgba(248,250,251,.9) 76%,rgba(248,250,251,.52) 100%),linear-gradient(0deg,rgba(238,242,244,.82),transparent 34%)}
  .hero h1{max-width:630px;font-size:clamp(42px,6vw,52px)}
  .hero p.lead{max-width:590px}
}

@media (max-width:720px){
  .wrap,.sp-shell{width:calc(100% - 32px)}
  .intro,.why,.audience,.gallery,.cta,.service-team{padding:78px 0}
  .section-head h2,.why h2,.audience h2,.gallery h2,.service-team h2,.contact>.wrap>:is(h1,.route-heading){font-size:clamp(29px,9vw,39px)}
  .hero{display:block;min-height:0}
  .hero-bg{inset:0 0 auto;width:100%;height:47%;background-position:center;filter:saturate(.8) contrast(1.03) brightness(1.02)}
  .hero-bg{-webkit-mask-image:linear-gradient(180deg,#000 0 64%,transparent 100%);mask-image:linear-gradient(180deg,#000 0 64%,transparent 100%)}
  .hero-scrim{background:linear-gradient(180deg,rgba(245,248,249,.08) 0 28%,rgba(245,248,249,.78) 48%,#F5F7F8 62% 100%)}
  .hero:before{left:16px;top:42%;height:49%}
  .hero-content{width:calc(100% - 32px);padding:285px 0 46px 22px;color:var(--ink)}
  .hero h1{color:var(--ink);font-size:clamp(35px,10vw,44px)}
  .hero p.lead{color:var(--ink-soft);font-size:14.5px;line-height:1.55}
  .hero-cta{display:grid;grid-template-columns:1fr}
  .hero-cta .btn{justify-content:center;width:100%}
  .home-product-paths{padding:52px 0 54px}
  .home-product-paths-grid{grid-template-columns:1fr}
  .home-product-path,.home-product-path:nth-child(4),.home-product-path:nth-child(5){grid-column:auto}
  .home-product-path{min-height:82px;padding:18px 16px}
  .intro>.wrap{gap:38px}
  .intro .body p{padding-left:42px}
  .why-grid,.service-compact-grid,.service-process-grid,.service-offer-grid{grid-template-columns:1fr}
  .feat,.service-compact-card,.service-process-step{min-height:0;border-right:0!important;border-bottom:1px solid var(--line)!important}
  .feat:last-child,.service-compact-card:last-child{border-bottom:0!important}
  .service-process-step{border-bottom-color:var(--line-strong)!important}
  .service-process-step:last-child{border-bottom:0!important}
  .feat-ic{margin-bottom:24px}
  .service-team-grid{gap:46px}
  .service-team-actions{display:grid}
  .service-team-actions .btn{width:100%;justify-content:center}
  .service-offer-head{gap:16px}
  .service-offer-card{min-height:0}
  .service-decision{grid-template-columns:1fr;padding:25px}
  .collage{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto;gap:7px}
  .collage .tile{grid-column:auto!important;grid-row:auto!important;min-height:150px!important;aspect-ratio:1/1}
  .collage .tile:first-child{grid-column:1/-1!important;aspect-ratio:16/10}
  .cta .grid2{grid-template-columns:1fr}
  .cta .box{min-height:0;padding:34px 27px}
  .sp-hero{padding:62px 0 66px}
  .sp-hero :is(h1,.route-heading),.service-page-hero :is(h1,.route-heading){font-size:clamp(36px,10vw,48px)}
  .sp-hero-document-grid{grid-template-columns:1fr}
  .sp-hero-visual,.sp-hero-visual img{min-height:300px}
  .sp-toolbar{top:70px}
  .sp-filters{margin:0 -16px;padding:10px 16px}
  .sp-main{padding:58px 0 80px!important}
  .sp-grid{grid-template-columns:1fr}
  .sp-category-featured-grid{display:grid;grid-template-columns:1fr}
  .sp-priority-card{display:block}
  .sp-priority-card .sp-media{min-height:250px}
  .sp-priority-card .sp-priority-content{padding:26px 22px}
  .sp-product-section{margin-top:68px;scroll-margin-top:142px}
  .sp-category-banner{padding-bottom:18px}
  .sp-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}
  .sp-dialog-head{padding:18px}
  .sp-dialog-grid{grid-template-columns:minmax(0,1fr);padding:18px}
  .sp-dialog-grid>*,.sp-dialog-copy,.sp-gallery{min-width:0;max-width:100%}
  .sp-dialog video{max-width:100%}
  .service-page-hero{padding:66px 0 70px}
  .service-experts{margin-bottom:44px;padding:25px 22px 26px}
  .service-compact,.service-showcase,.service-process,.service-page-cta,
  .service-page>.service-page-core.service-team,
  .service-page>.service-detail,.service-page>.service-split{padding:74px 0}
  .service-showcase-points{grid-template-columns:1fr}
  .service-showcase-points li{padding:16px 20px}
  .service-page-core .service-offer{margin-top:60px;padding-top:52px}
  .service-page-core .service-offer-grid,
  .service-page .service-detail-grid,
  .service-page .service-garage-steps,
  .service-page .service-split-grid{grid-template-columns:1fr}
  .service-page-core .service-decision{padding:27px 22px}
  .service-page .service-detail-card{min-height:0}
  .service-page .service-garage-step{min-height:0;border-right:0;border-bottom:1px solid var(--line)}
  .service-page .service-garage-step:last-child{border-bottom:0}
  .service-page .service-tech-panel,
  .service-page .service-tech-panel:last-child{padding:0;border:0}
  .service-page .service-tech-panel:last-child{margin-top:54px;padding-top:54px;border-top:1px solid var(--line-strong)}
  .service-page-cta-box{padding:28px 24px;align-items:flex-start;flex-direction:column}
  .contact{padding:72px 0 82px;background-color:var(--paper)}
  .c-grid{gap:46px}
  .c-form{padding:25px 20px}
  .c-form-grid{grid-template-columns:1fr}
  .c-form-grid .c-full{grid-column:auto}
  .footer{padding-top:58px}
  .footer .cols{grid-template-columns:1fr;gap:38px;padding-bottom:46px}
  .footer .cols>div:last-child{grid-column:auto}
  .footer .cols .logo img{height:38px}
  .footer-bottom-bar .bottom{align-items:flex-start;gap:18px;padding:18px 0;line-height:1.55}
}

@media (max-width:430px){
  .header>.wrap{padding-inline:14px}
  .header>.wrap .logo img{height:32px}
  .header-actions{gap:7px}
  .header .lang-current{min-width:58px;padding-inline:7px}
  .hero{min-height:0}
  .hero-content{padding-top:220px}
  .hero h1{font-size:36px}
  .hero p.lead{font-size:14.5px}
  .sp-hero-visual,.sp-hero-visual img{min-height:250px}
  .collage .tile{min-height:132px!important}
  .c-selection{padding:22px 18px}
}

/* --- Precision depth polish --------------------------------------------
   A restrained three-level material system: recessed controls, raised
   working panels and deeper feature plates. No neon or continuous motion. */
.header{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.96),0 1px 0 rgba(91,111,123,.12),0 13px 30px -27px rgba(23,36,45,.45);
}
.home-header-nav{box-shadow:inset 0 1px 0 #fff,0 9px 22px -22px rgba(23,36,45,.38)}
.header-contact .contact-card,
.lang-current,.header .lang-current,.footer-bottom-bar .lang-current,
.home-nav-caret,.burger,.drawer-close{
  background:linear-gradient(180deg,#fff 0%,#F6F8F9 100%);
  box-shadow:var(--bevel),0 6px 14px -12px rgba(23,36,45,.55);
}
.header-contact .contact-card:hover,
.header .lang-current:hover,.header .lang-current[aria-expanded="true"],
.footer-bottom-bar .lang-current:hover,.footer-bottom-bar .lang-current[aria-expanded="true"]{
  background:linear-gradient(180deg,#fff 0%,#EDF2F4 100%);
  box-shadow:var(--bevel),0 9px 18px -13px rgba(23,36,45,.38);
}
.home-nav-menu,.lang-menu{box-shadow:var(--elev-2)}

.btn,.sp-btn,.cta .btn-w{
  box-shadow:var(--bevel),0 8px 16px -13px rgba(23,36,45,.5)!important;
  transition-property:color,background-color,border-color,transform,box-shadow,opacity!important;
}
.btn-primary,.sp-btn-primary,.sp-card-actions button[data-details]{
  background:linear-gradient(180deg,#E74635 0%,var(--red) 58%,var(--red-dark) 100%)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.28),inset 0 -2px 0 rgba(91,16,10,.22),0 10px 21px -13px rgba(183,34,21,.65)!important;
}
.btn-primary:hover,.sp-btn-primary:hover,.sp-card-actions button[data-details]:hover{
  background:linear-gradient(180deg,#DC3828 0%,var(--red-dark) 100%)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.24),inset 0 -2px 0 rgba(91,16,10,.24),0 14px 26px -14px rgba(183,34,21,.72)!important;
}
.btn-secondary,.btn-ghost,.sp-btn-secondary,.sp-card-actions button[data-inquiry]{
  background:linear-gradient(180deg,#fff 0%,#F1F5F6 100%)!important;
  box-shadow:var(--bevel),0 8px 16px -13px rgba(23,36,45,.46)!important;
}
.btn-secondary:hover,.btn-ghost:hover,.sp-btn-secondary:hover,.sp-card-actions button[data-inquiry]:hover{
  background:linear-gradient(180deg,#fff 0%,#EAF2F9 100%)!important;
  box-shadow:var(--bevel),0 12px 22px -14px rgba(16,75,132,.34)!important;
}
.btn:active,.sp-btn:active,.cta .btn-w:active{transform:translateY(1px)!important;box-shadow:var(--recessed)!important}

.hero:after,.sp-hero:before,.service-page-hero:before{
  height:4px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.86),0 5px 14px -9px rgba(23,36,45,.46);
}
.hero-scrim{filter:drop-shadow(-12px 0 28px rgba(23,36,45,.04))}
.sp-toolbar{box-shadow:inset 0 1px 0 #fff,0 12px 24px -23px rgba(23,36,45,.5)}
.sp-hero-visual,.sp-priority-card,.c-form,.service-page-cta-box{
  border-color:var(--line-strong)!important;
  box-shadow:var(--elev-2)!important;
}
.sp-hero-visual{background:linear-gradient(145deg,#E8EDF0,#D6DEE2);box-shadow:var(--elev-2),var(--recessed)!important}
.sp-hero-note{box-shadow:var(--bevel),0 14px 30px -18px rgba(23,36,45,.38)}

.why-grid,.service-compact-grid,.service-offer-grid,.service-process-grid,
.service-page .service-detail-grid,.service-page .service-garage-steps{
  overflow:hidden;
  border-color:var(--line-strong);
  border-radius:var(--radius-md);
  box-shadow:var(--elev-1);
}
.feat,.service-compact-card,.service-offer-card,.service-process-step,
.service-page .service-detail-card,.service-page .service-garage-step,
.service-showcase-points li{
  background:linear-gradient(145deg,rgba(255,255,255,.98) 0%,rgba(247,249,250,.92) 62%,rgba(235,240,242,.88) 100%)!important;
  box-shadow:var(--bevel)!important;
  transition:background-color var(--normal) var(--ease),transform var(--normal) var(--ease-out),box-shadow var(--normal) var(--ease),border-color var(--fast) var(--ease)!important;
}
.aud,.sp-card,.c-selection,.service-decision,.service-experts,.sp-cta{
  border-color:var(--line-strong)!important;
  background:linear-gradient(145deg,#fff 0%,#F8FAFB 64%,#EDF2F4 100%)!important;
  box-shadow:var(--elev-1)!important;
  transition:background-color var(--normal) var(--ease),transform var(--normal) var(--ease-out),box-shadow var(--normal) var(--ease),border-color var(--fast) var(--ease)!important;
}
.sp-card{overflow:hidden}
.sp-card-media{
  border-bottom:1px solid var(--line-strong);
  background:linear-gradient(145deg,#E9EEF1 0%,#F8FAFB 48%,#DDE5E9 100%);
  box-shadow:var(--recessed)!important;
}
.sp-card-body{position:relative;background:linear-gradient(180deg,#fff 0%,#F9FAFB 100%);box-shadow:inset 0 1px 0 #fff}
.sp-priority-card{position:relative;transition:transform var(--normal) var(--ease-out),box-shadow var(--normal) var(--ease),border-color var(--fast) var(--ease)!important}
.sp-priority-card:before{
  content:"";
  position:absolute;
  z-index:5;
  left:18px;
  right:18px;
  bottom:0;
  height:4px;
  border-radius:3px 3px 0 0;
  background:linear-gradient(90deg,var(--red) 0 12%,#83919A 12% 88%,var(--blue) 88% 100%);
  box-shadow:0 -1px 0 rgba(255,255,255,.75),0 -6px 14px -10px rgba(23,36,45,.7);
  pointer-events:none;
}
.sp-priority-card .sp-media{box-shadow:inset -1px 0 0 rgba(82,101,112,.18),inset 0 0 28px rgba(23,36,45,.065)}
.sp-priority-card .sp-media img,.sp-priority-card .sp-media video{opacity:1;filter:saturate(.92) contrast(1.04)}
.sp-priority-card .sp-priority-content{background:linear-gradient(145deg,#fff 0%,#F9FBFC 72%,#EEF3F5 100%);box-shadow:inset 1px 0 0 rgba(255,255,255,.9)}
.sp-filter{
  border-color:var(--control-line)!important;
  background:linear-gradient(180deg,#fff 0%,#F0F4F6 100%)!important;
  box-shadow:var(--bevel),0 6px 12px -10px rgba(23,36,45,.45)!important;
  transition:color var(--fast) var(--ease),background-color var(--fast) var(--ease),border-color var(--fast) var(--ease),transform var(--fast) var(--ease),box-shadow var(--fast) var(--ease)!important;
}
.sp-filter[aria-pressed="true"]{
  background:linear-gradient(180deg,#DDE9F3 0%,#EDF4F9 100%)!important;
  box-shadow:inset 3px 0 0 var(--red),inset -3px 0 0 var(--blue),var(--recessed)!important;
  transform:translateY(1px)!important;
}
.sp-btn-download,.sp-btn-pdf{
  background:linear-gradient(180deg,#fff 0%,#F0F4F6 100%)!important;
  box-shadow:var(--bevel),0 7px 14px -12px rgba(23,36,45,.44)!important;
}
.sp-features li:nth-child(odd){background:rgba(233,239,242,.34)}
.sp-features li{box-shadow:inset 0 1px 0 rgba(255,255,255,.72)}

.feat-ic,.service-team-number,.service-offer-no,.service-process-step b,
.service-page .service-detail-no,.service-page .service-garage-step b{
  display:inline-grid;
  place-items:center;
  width:auto;
  min-width:38px;
  min-height:29px;
  padding:4px 8px;
  border:1px solid #A9BECD;
  border-radius:var(--radius-xs);
  background:linear-gradient(145deg,#fff 0%,#E4EDF3 100%);
  color:var(--blue-dark);
  box-shadow:var(--bevel),0 6px 12px -10px rgba(16,75,132,.45);
}
.feat-ic{margin-bottom:34px}
.service-process-step b,.service-page .service-garage-step b{margin-bottom:32px}
.service-team-number{align-self:start;margin-top:2px}

.collage .tile{
  border-color:var(--line-strong);
  box-shadow:var(--elev-1);
  transition:transform var(--normal) var(--ease-out),box-shadow var(--normal) var(--ease),border-color var(--fast) var(--ease)!important;
}
.collage .tile:after{box-shadow:inset 0 1px 0 rgba(255,255,255,.62),inset 0 0 24px rgba(23,36,45,.08)}
.sp-dialog{box-shadow:var(--bevel),0 38px 110px rgba(18,31,40,.27)}
.sp-gallery{box-shadow:var(--recessed)}
.sp-thumb{box-shadow:var(--bevel),0 7px 14px -12px rgba(23,36,45,.4)}

.service-experts,.service-decision,.service-page-cta-box,.sp-cta{position:relative;overflow:hidden;isolation:isolate}
.service-page .service-tech-panel{
  background:linear-gradient(145deg,rgba(255,255,255,.64),rgba(233,239,242,.56));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.82);
}
.service-page .service-list li{box-shadow:var(--bevel)}
.service-page-cta-box:before{
  content:"";
  position:absolute;
  z-index:2;
  left:24px;
  right:24px;
  top:0;
  height:3px;
  background:linear-gradient(90deg,var(--red) 0 12%,#8A989F 12% 88%,var(--blue) 88%);
  pointer-events:none;
}
.service-page-cta-box:after{
  content:"";
  position:absolute;
  z-index:0;
  right:-68px;
  bottom:-92px;
  width:300px;
  height:220px;
  border:1px solid rgba(22,98,176,.15);
  border-radius:30px;
  background:linear-gradient(145deg,rgba(255,255,255,.74),rgba(22,98,176,.045));
  box-shadow:-20px 18px 0 -13px rgba(217,42,25,.055);
  transform:skewX(-16deg) rotate(-7deg);
  pointer-events:none;
}
.service-page-cta-box>*{position:relative;z-index:1}
.service-page-cta-box{transition:transform var(--normal) var(--ease-out),box-shadow var(--normal) var(--ease),border-color var(--fast) var(--ease)!important}

.c-form{background:linear-gradient(145deg,#fff 0%,#F8FAFB 70%,#EDF2F4 100%)!important}
.c-form input,.c-form select,.c-form textarea{box-shadow:var(--recessed)}
.c-form input:focus,.c-form select:focus,.c-form textarea:focus{box-shadow:var(--recessed),0 0 0 3px rgba(26,99,173,.09)}
.c-selection-no{box-shadow:var(--bevel),0 6px 12px -10px rgba(16,75,132,.45)}
.c-project-hint{box-shadow:var(--elev-1)!important}

.cta{perspective:1200px}
.cta .grid2{gap:20px;border:0;background:transparent}
.cta .box{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  min-height:320px;
  overflow:hidden;
  isolation:isolate;
  border:1px solid var(--line-strong);
  border-radius:var(--radius-lg);
  box-shadow:var(--elev-2);
  transition:transform var(--normal) var(--ease-out),box-shadow var(--normal) var(--ease),border-color var(--fast) var(--ease)!important;
}
.cta .box.dark{background:linear-gradient(145deg,#fff 0%,#F3F7F8 58%,#DEE7EB 100%)}
.cta .box.brand{border-color:rgba(183,34,21,.3);background:linear-gradient(145deg,#fff 0%,#FFF6F3 58%,#FFE3DC 100%)}
.cta .box:before{
  z-index:2;
  left:28px;
  width:112px;
  height:3px;
  box-shadow:0 1px 0 rgba(255,255,255,.85);
  pointer-events:none;
}
.cta .box.dark:before{background:linear-gradient(90deg,var(--blue),#8AA9BF)}
.cta .box.brand:before{background:linear-gradient(90deg,var(--red),#E99C8F)}
.cta .box:after{
  content:"";
  position:absolute;
  z-index:0;
  display:block;
  right:-76px;
  bottom:-88px;
  width:270px;
  height:210px;
  border:1px solid rgba(92,113,125,.16);
  border-radius:26px;
  background:
    linear-gradient(145deg,rgba(255,255,255,.76),rgba(22,98,176,.035)),
    linear-gradient(rgba(22,98,176,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(22,98,176,.045) 1px,transparent 1px);
  background-size:auto,32px 32px,32px 32px;
  box-shadow:-20px 18px 0 -13px rgba(217,42,25,.06);
  transform:skewX(-17deg) rotate(-7deg);
  opacity:.78;
  pointer-events:none;
}
.cta .box>*{position:relative;z-index:1}
.cta .box p{max-width:46ch}
.cta .box .btn{margin-top:auto}
.cta .box.dark .btn-w{
  border-color:var(--blue-dark);
  background:linear-gradient(180deg,#2B76C1 0%,var(--blue) 60%,var(--blue-dark) 100%);
  color:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.27),inset 0 -2px 0 rgba(5,49,91,.24),0 11px 22px -13px rgba(16,75,132,.72);
}
.cta .box.brand .btn-w{
  border-color:var(--red-dark);
  background:linear-gradient(180deg,#EF4937 0%,var(--red) 60%,var(--red-dark) 100%);
  color:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.26),inset 0 -2px 0 rgba(93,14,8,.23),0 11px 22px -13px rgba(183,34,21,.72);
}
.cta .box:focus-within{border-color:var(--blue)}

.aud:focus-within,.sp-card:focus-within,.sp-priority-card:focus-within,
.c-selection:focus-within,.cta .box:focus-within,
.collage .tile:focus-within,.service-page-cta-box:focus-within{
  border-color:var(--blue)!important;
  box-shadow:var(--elev-1),0 0 0 3px rgba(22,98,176,.12)!important;
}

.burger,.lang-current,.drawer-close{min-width:44px;min-height:44px}
.sp-card-actions .sp-btn{min-height:44px}
.nav>a,.nav .dropdown-row>a,.menu a{display:flex;align-items:center;min-height:44px}
.nav .caret{min-width:44px;min-height:44px}

.footer{box-shadow:inset 0 1px 0 rgba(255,255,255,.86),0 -18px 42px -38px rgba(23,36,45,.58)}
.footer-bottom-bar{box-shadow:inset 0 1px 0 rgba(255,255,255,.72),0 -6px 18px -16px rgba(23,36,45,.34)}

@media (max-width:720px){
  .cta .grid2{gap:12px}
  .cta .box{min-height:0;padding:34px 27px;box-shadow:var(--elev-1)}
  .cta .box:after,.service-page-cta-box:after{opacity:.42;transform:skewX(-12deg) rotate(-5deg)}
  .sp-priority-card{box-shadow:var(--elev-1)!important}
  .why-grid,.service-compact-grid,.service-offer-grid,.service-process-grid,
  .service-page .service-detail-grid,.service-page .service-garage-steps{box-shadow:var(--bevel)}
}

@media (hover:hover) and (pointer:fine){
  .home-nav-dropdown:hover .home-nav-menu{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:none!important;
  }
  .cta .box:hover,.sp-priority-card:hover,.sp-card:hover,.aud:hover,
  .collage .tile:hover,.service-page-cta-box:hover,.c-selection:hover{
    border-color:var(--control-line)!important;
    box-shadow:var(--elev-hover)!important;
    transform:translateY(-3px)!important;
  }
  .sp-filter:hover{box-shadow:var(--bevel),0 9px 18px -12px rgba(23,36,45,.46)!important;transform:translateY(-1px)!important}
}

@media (hover:none),(pointer:coarse){
  .header>.wrap>.logo{transform:none!important}
  .sp-card:hover,.sp-priority-card:hover,.aud:hover,.collage .tile:hover,
  .cta .box:hover,.service-page-cta-box:hover,.c-selection:hover,.sp-filter:hover{transform:none!important}
  .sp-preview-video-control{opacity:1!important;pointer-events:auto!important;transform:none!important}
}

/* Mobile header controls keep the same light material on every route. */
@media (max-width:980px){
  body[data-current-page] .burger,
  body[data-current-page] .burger:hover{
    position:static;
    z-index:auto;
    width:44px;
    height:44px;
    padding:9px;
    border-color:var(--control-line)!important;
    background:linear-gradient(180deg,#fff 0%,#F6F8F9 100%)!important;
    box-shadow:var(--bevel),0 6px 14px -12px rgba(23,36,45,.55)!important;
  }
  body[data-current-page] .burger span{
    background:var(--ink)!important;
    box-shadow:none!important;
  }
  .header .lang-current{min-height:44px!important}
}
.footer-bottom-bar .lang-current{min-height:44px!important}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  .sp-reveal{opacity:1!important;transform:none!important;transition:opacity 120ms linear!important}
  .sp-line-reveal:after{transform:none!important;transition:none!important}
  .header>.wrap>.logo{transform:none!important}
  .collage .tile img,.collage .tile video,.sp-card,.sp-priority-card,.aud,.feat,
  .btn,.sp-btn,.cta .box,.service-page-cta-box,.c-selection,.c-form,
  .service-compact-card,.service-offer-card,.service-process-step,
  .service-page .service-detail-card,.service-page .service-garage-step,
  .sp-filter,.sp-hero-visual{
    animation:none!important;
    transform:none!important;
    transition:none!important;
  }
  .cta .box:before,.cta .box:after,.service-page-cta-box:before,
  .service-page-cta-box:after,.sp-priority-card:before{
    animation:none!important;
    transform:none!important;
    transition:none!important;
  }
  [data-sp-preview-video].is-buffering:after,
  [data-sp-video-player].is-buffering:after,
  .lb-stage.is-buffering:after,
  .tile-video.is-buffering:after{animation:none!important}
}
