@font-face{
  font-family:"Arial Rounded Thin";
  src:url("assets-arial-rounded-thinner.ttf") format("truetype");
  font-weight:400;
  font-style:normal;
  font-display:swap;
}

@font-face{
  font-family:"Arial Rounded Custom";
  src:url("assets-arial-rounded.ttf") format("truetype");
  font-weight:400 900;
  font-style:normal;
  font-display:swap;
}
/*
Theme Name: AUTEC2000 – Version Bilder + Header
Description: AUTEC2000 image-only layout with the supplied header inserted only in the top block.
Version: 1.1
*/
:root{--max:1024px}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:#000}
body{min-height:100vh}
.site{position:relative;width:100%;max-width:var(--max);margin:0 auto;background:#000;overflow:hidden}
.visual-wrap{position:relative;width:100%;line-height:0}
.visual{
  position:relative;
  width:100%;
  aspect-ratio:1024/1536;
  background-image:url("assets-background.png");
  background-size:100% 100%;
  background-position:center;
  background-repeat:no-repeat;
}
.top-header-overlay{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:auto;
  display:block;
  z-index:2;
  pointer-events:none;
}
@media(max-width:1024px){.site{width:100%}}

/* Hero text is inside the image area, below the 99px header image. */
.hero-text-block{
  position:absolute;
  left:59px;
  top:190px;
  width:500px;
  z-index:5;
  color:#fff;
  font-family:Arial,Helvetica,sans-serif;
  pointer-events:none;
}
@font-face{
  font-family:"AUTEC2000 Logo";
  src:url("assets-comfortaa-bold.ttf") format("truetype");
  font-weight:700;
  font-style:normal;
  font-display:swap;
}
.hero-text-block .hero-logo-text{
  display:block;
  width:max-content;
  height:43px;
  line-height:43px;
  margin:0;
  font-family:"Arial Rounded Thin",Arial,sans-serif;
  font-size:52px;
  font-weight:400;
  letter-spacing:0;
  white-space:nowrap;
  -webkit-text-stroke:0;
  paint-order:stroke fill;
  transform:scaleX(1.35);
  transform-origin:left top;
}
.hero-text-block .subtitle{
  margin-top:14px;
  font-family:Arial,Helvetica,sans-serif;
  font-size:25px;
  line-height:1.4;
  font-weight:400;
  letter-spacing:4px;
  text-transform:uppercase;
}
/* Remove the duplicate AUTEC2000 wordmark and subtitle from the hero area on the start page.
   The header already contains the branded logo/subtitle. */
.hero-text-block .hero-logo-text,
.hero-text-block .subtitle{
  display:none !important;
}

.hero-text-block .divider{
  width:100%;
  height:1px;
  background:rgba(255,255,255,.42);
  margin:22px 0 20px;
  position:relative;
}
.hero-text-block .divider:before{
  content:"";
  position:absolute;
  left:0;
  top:-1px;
  width:55px;
  height:2px;
  background:#fff;
}
.hero-text-block .headline{
  margin:0 0 14px;
  font-size:34px;
  line-height:1.1;
  font-weight:400;
  letter-spacing:8px;
}
.hero-text-block p{
  margin:0;
  font-size:17px;
  line-height:1.55;
}
.hero-text-block .strap{
  margin-top:19px;
  font-size:16px;
  line-height:1.7;
  letter-spacing:5px;
  text-transform:uppercase;
  color:#ddd;
}
@media(max-width:650px){
  .hero-text-block{
    left:25px;
    top:140px;
    width:calc(100% - 50px);
  }
  .hero-text-block .hero-logo-text{font-size:42px;height:35px;line-height:35px;transform:scaleX(1.35)}
  .hero-text-block .subtitle{font-size:18px;letter-spacing:3px}
  .hero-text-block .headline{font-size:25px;letter-spacing:5px}
  .hero-text-block p{font-size:15px}
}

/* Middle service text/icons — existing background remains untouched. */
.middle-text-block{
  position:absolute;
  top:561px;
  left:0;
  width:100%;
  height:408px;
  z-index:6;
  color:#fff;
  font-family:Arial,Helvetica,sans-serif;
  pointer-events:none;
}
.middle-column{
  position:absolute;
  top:0;
  width:50%;
  height:100%;
}
.middle-column.left{left:0}
.middle-column.right{left:50%}

.middle-icon{
  position:absolute;
  width:70px;
  height:75px;
  object-fit:cover;
  object-position:center;
  display:block;
}
.middle-column.left .middle-icon{left:45px;top:110px}
.middle-column.right .middle-icon{left:40px;top:110px}

.middle-title{
  position:absolute;
  margin:0;
  font-size:27px;
  line-height:1.15;
  font-weight:800;
  letter-spacing:0;
  white-space:nowrap;
}
.middle-column.left .middle-title{left:51px;top:191px}
.middle-column.right .middle-title{left:45px;top:191px}

.middle-description{
  position:absolute;
  margin:0;
  font-size:16px;
  line-height:1.5;
  font-weight:400;
}
.middle-column.left .middle-description{left:51px;top:234px}
.middle-column.right .middle-description{left:45px;top:234px}

.middle-rule{
  position:absolute;
  left:51px;
  top:296px;
  width:47px;
  height:2px;
  background:#ef1717;
}
.middle-column.right .middle-rule{
  left:45px;
  background:#fff;
}

.middle-list{
  position:absolute;
  margin:0;
  font-size:14px;
  line-height:1.9;
  font-weight:400;
  letter-spacing:4px;
  text-transform:uppercase;
  white-space:nowrap;
}
.middle-column.left .middle-list{left:51px;top:318px}
.middle-column.right .middle-list{left:45px;top:318px}

@media(max-width:650px){
  .middle-text-block{
    top:561px;
    height:408px;
  }
  .middle-icon{transform:scale(.82);transform-origin:top left}
  .middle-column.left .middle-icon{left:28px}
  .middle-column.right .middle-icon{left:28px}
  .middle-column.left .middle-title,
  .middle-column.right .middle-title{left:28px;font-size:23px}
  .middle-column.left .middle-description,
  .middle-column.right .middle-description{left:28px;font-size:14px}
  .middle-column.left .middle-rule,
  .middle-column.right .middle-rule{left:28px}
  .middle-column.left .middle-list,
  .middle-column.right .middle-list{left:28px;font-size:11px;letter-spacing:2px}
}

/* Contact block overlay — text and center frame only. Existing background unchanged. */
.contact-text-block{
  position:absolute;
  left:59px;
  top:969px;
  width:100%;
  height:341px;
  z-index:8;
  color:#fff;
  font-family:Arial,Helvetica,sans-serif;
  pointer-events:none;
}
.contact-copy{
  position:absolute;
  left:0;
  top:28px;
}
.contact-copy .eyebrow{
  margin:0 0 9px;
  font-size:14px;
  line-height:1;
  letter-spacing:4px;
  font-weight:400;
  text-transform:uppercase;
}
.contact-copy .title{
  margin:0 0 8px;
  font-size:23px;
  line-height:1.15;
  font-weight:800;
}
.contact-copy .intro{
  margin:0;
  font-size:16px;
  line-height:1.45;
}
.contact-details-overlay{
  position:absolute;
  left:0;
  top:119px;
  font-size:15px;
  line-height:1.42;
}
.contact-details-overlay .row{
  display:flex;
  align-items:flex-start;
  margin-bottom:16px;
}
.contact-details-overlay .icon{
  width:42px;
  font-size:24px;
  line-height:1;
  text-align:center;
  margin-right:14px;
}
.contact-frame{
  position:absolute;
  left:331px;
  top:176px;
  width:278px;
  height:77px;
  border:1px solid rgba(255,255,255,.78);
}
.contact-frame .mail{
  position:absolute;
  left:23px;
  top:23px;
  font-size:27px;
  line-height:1;
}
.contact-frame .label{
  position:absolute;
  left:81px;
  top:17px;
  font-size:14px;
  line-height:1.45;
  font-weight:700;
}
.contact-frame .arrow{
  position:absolute;
  left:153px;
  top:47px;
  font-size:21px;
  line-height:1;
}
@media(max-width:650px){
  .contact-text-block{
    left:25px;
    width:calc(100% - 50px);
  }
  .contact-frame{
    left:0;
    top:300px;
  }
}

/* Contact overlay refinement — reference-aligned */
.contact-text-block .contact-copy{
  top:31px;
}
.contact-text-block .contact-details-overlay{
  top:151px;
}
.contact-text-block .contact-frame{
  left:331px;
  top:176px;
  width:278px;
  height:77px;
}
.contact-signature{
  position:absolute;
  right:39px;
  bottom:38px;
  width:190px;
  color:#fff;
  font-family:cursive;
  font-size:25px;
  line-height:1.22;
  font-weight:400;
  text-align:center;
  transform:rotate(-5deg);
}
.contact-signature:after{
  content:"";
  display:block;
  width:105px;
  height:2px;
  background:#ef1717;
  transform:rotate(-11deg);
  margin:9px 0 0 auto;
}
@media(max-width:650px){
  .contact-text-block .contact-copy{top:31px}
  .contact-text-block .contact-details-overlay{top:151px}
  .contact-signature{
    right:10px;
    bottom:20px;
    width:150px;
    font-size:20px;
  }
}

/* Contact alignment refinement */
.contact-text-block{
  width:calc(100% - 59px);
}
.contact-text-block .contact-copy{
  left:0;
  top:31px;
}
.contact-text-block .contact-details-overlay{
  left:0;
  top:119px;
}
.contact-text-block .contact-frame{
  left:331px;
  top:176px;
}
.contact-signature{
  right:0;
  bottom:38px;
  width:190px;
  font-family:"Segoe Script","Brush Script MT","URW Chancery L",cursive;
  font-size:25px;
  line-height:1.22;
  font-weight:400;
  font-style:normal;
  letter-spacing:-.2px;
  transform:rotate(-5deg);
}
.contact-signature:after{
  width:105px;
  height:2px;
  margin:9px 0 0 auto;
  transform:rotate(-11deg);
}
@media(max-width:650px){
  .contact-text-block{
    width:calc(100% - 50px);
  }
  .contact-signature{
    right:0;
    bottom:20px;
    width:150px;
    font-size:20px;
  }
}

/* Exact contact reference correction */
.contact-text-block .contact-details-overlay{
  top:151px !important;
}
.contact-text-block .contact-signature{
  right:28px !important;
  bottom:67px !important;
  width:190px;
  font-family:"Segoe Script","Brush Script MT","URW Chancery L",cursive;
  font-size:25px;
  line-height:1.22;
  font-weight:400;
  font-style:normal;
  letter-spacing:-.2px;
  transform:rotate(-5deg);
}
.contact-text-block .contact-signature:after{
  width:105px;
  height:2px;
  margin:9px 0 0 auto;
  background:#ef1717;
  transform:rotate(-11deg);
}
@media(max-width:650px){
  .contact-text-block .contact-details-overlay{
    top:151px !important;
  }
  .contact-text-block .contact-signature{
    right:10px !important;
    bottom:20px !important;
    width:150px;
    font-size:20px;
  }
}

/* Reference-accurate lettering: transparent extraction of the original script, no background pixels. */
.contact-text-block .contact-signature-art{position:absolute;left:731px;top:160px;width:210px;height:155px;object-fit:contain;max-width:none;pointer-events:none;}
@media(max-width:650px){.contact-text-block .contact-signature-art{left:731px;top:160px;width:210px;height:155px;}}

/* Exact reference icons: original size and visual proportions. */
.contact-details-overlay .row{
  position:absolute;
  left:0;
  width:310px;
  margin:0;
  display:block;
  height:auto;
}
.contact-details-overlay .row:nth-child(1){top:0}
.contact-details-overlay .row:nth-child(2){top:47px}
.contact-details-overlay .row:nth-child(3){top:90px}
.contact-details-overlay .row .icon{
  position:absolute;
  left:0;
  top:0;
  width:auto;
  height:auto;
  max-width:none;
  max-height:none;
  margin:0;
  padding:0;
  object-fit:contain;
}
.contact-details-overlay .row:nth-child(1) .icon{width:38px;height:35px}
.contact-details-overlay .row:nth-child(2) .icon{width:40px;height:36px}
.contact-details-overlay .row:nth-child(3) .icon{width:38px;height:39px}
.contact-details-overlay .row > span:last-child{
  position:absolute;
  left:56px;
  top:7px;
  margin:0;
  white-space:nowrap;
}
.contact-details-overlay .row:nth-child(3) > span:last-child{
  top:3px;
  line-height:1.42;
  white-space:nowrap;
}

/* Vertical separator from the original contact reference. */
.contact-divider{
  position:absolute;
  left:286px;
  top:153px;
  width:1px;
  height:150px;
  background:rgba(255,255,255,.62);
}
@media(max-width:650px){
  .contact-divider{
    left:230px;
    top:153px;
    height:145px;
  }
}

/* Footer text from the supplied reference image. */
.footer-text-overlay{
  position:absolute;
  left:0;
  top:1310px;
  width:100%;
  height:103px;
  z-index:10;
  color:#fff;
  font-family:Arial,Helvetica,sans-serif;
  pointer-events:none;
}
.footer-brand{
  position:absolute;
  left:51px;
  top:18px;
}
.footer-brand .name{
  margin:0;
  font-family:"Arial Rounded MT Bold","Arial Rounded",Arial,sans-serif;
  font-size:34px;
  line-height:.95;
  font-weight:700;
  letter-spacing:-1px;
}
.footer-brand .sub{
  margin-top:8px;
  font-size:9px;
  line-height:1;
  letter-spacing:.7px;
}
.footer-center{
  position:absolute;
  left:335px;
  top:48px;
  font-size:10px;
  line-height:1;
  white-space:nowrap;
}
.footer-center .sep{
  margin:0 13px;
  color:rgba(255,255,255,.75);
}
.footer-langs{
  position:absolute;
  right:25px;
  top:48px;
  font-size:10px;
  line-height:1;
  white-space:nowrap;
}
.footer-langs .sep{
  margin:0 12px;
  color:rgba(255,255,255,.75);
}
@media(max-width:650px){
  .footer-text-overlay{
    top:1310px;
  }
  .footer-brand{left:25px}
  .footer-brand .name{font-size:28px}
  .footer-center{left:220px;font-size:8px}
  .footer-langs{right:15px;font-size:8px}
}

/* Footer brand: exact same AUTEC2000 lettering and subtitle proportions as the reference header. */
.footer-brand{
  left:51px;
  top:17px;
  width:224px;
  height:auto;
}
.footer-brand .brand-image{
  display:block;
  width:224px;
  height:auto;
}
.footer-brand .name,
.footer-brand .sub{
  display:none;
}
@media(max-width:650px){
  .footer-brand{
    left:25px;
    top:17px;
    width:190px;
  }
  .footer-brand .brand-image{
    width:190px;
  }
}


/* AUTEC2000 in footer as live font; subtitle artwork remains untouched. */
.footer-brand .name{
  display:block;
  position:absolute;
  left:0;
  top:-3px;
  margin:0;
  font-family:"Arial Rounded Thin",Arial,sans-serif;
  font-size:34px;
  line-height:34px;
  font-weight:400;
  letter-spacing:0;
  white-space:nowrap;
  color:#fff;
  transform:scaleX(1.05);
  transform-origin:left top;
  text-shadow:0 1px 2px rgba(0,0,0,.65);
}

/* Cookie notice overlay — text, icon and buttons only, matching supplied reference. */
.cookie-text-overlay{
  position:absolute;
  left:0;
  top:1413px;
  width:100%;
  height:124px;
  z-index:20;
  color:#fff;
  font-family:Arial,Helvetica,sans-serif;
  pointer-events:none;
}
.cookie-icon{
  position:absolute;
  left:26px;
  top:28px;
  width:34px;
  height:35px;
  object-fit:contain;
}
.cookie-copy{
  position:absolute;
  left:71px;
  top:29px;
  font-size:12px;
  line-height:1.55;
  font-weight:400;
  white-space:nowrap;
}
.cookie-copy .privacy{
  text-decoration:underline;
}
.cookie-buttons{
  position:absolute;
  right:27px;
  top:29px;
  display:flex;
  gap:12px;
  align-items:stretch;
}
.cookie-button{
  height:38px;
  padding:0 16px;
  border:1px solid rgba(255,255,255,.52);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:11px;
  line-height:1;
  white-space:nowrap;
  box-sizing:border-box;
}
.cookie-button.settings{width:131px}
.cookie-button.reject{width:123px}
.cookie-button.accept{
  width:129px;
  background:#fff;
  color:#111;
  border-color:#fff;
}
@media(max-width:650px){
  .cookie-text-overlay{
    top:1413px;
    height:124px;
  }
  .cookie-copy{
    left:60px;
    font-size:10px;
    white-space:normal;
    width:calc(100% - 80px);
  }
  .cookie-buttons{
    right:15px;
    top:75px;
    gap:7px;
    transform:scale(.82);
    transform-origin:right top;
  }
  .cookie-icon{left:20px;top:28px}
}

/* Cookie notice is anchored to the existing centered 1024px site. */
.cookie-text-overlay{
  left:0;
  top:1413px;
  width:100%;
  max-width:1024px;
}

/* Slightly lighter weight for the three requested headings only. */
.middle-title{
  font-weight:700;
}
.contact-copy .title{
  font-weight:700;
}



/* AUTEC2000 live font in the header — replaces only the logo artwork. */
.header-brand-font{
  position:absolute;
  left:51px;
  top:7px;
  z-index:4;
  height:48px;
  line-height:48px;
  font-family:"Arial Rounded Thin",Arial,sans-serif;
  font-size:48px;
  font-weight:400;
  letter-spacing:0;
  white-space:nowrap;
  color:#fff;
  text-shadow:0 2px 3px rgba(0,0,0,.72);
  transform:scaleX(1.23);
  transform-origin:left top;
  pointer-events:none;
}


/* Live-font replacements for header subtitle and navigation; exact original positions preserved. */
.header-subtitle-font{
  position:absolute;
  left:52px;
  top:66px;
  width:345px;
  height:18px;
  line-height:14px;
  font-family:"Arial Rounded Thin",Arial,sans-serif;
  font-size:13px;
  font-weight:400;
  letter-spacing:1.36px;
  white-space:nowrap;
  color:#fff;
  z-index:5;
  pointer-events:none;
}
.header-nav-font{
  position:absolute;
  left:0; top:0; width:100%; height:99px;
  z-index:5; pointer-events:none;
  font-family:"Arial Rounded Thin",Arial,sans-serif;
  font-size:13px; font-weight:400; color:#fff;
}
.header-nav-font .hn{position:absolute; top:57px; height:18px; line-height:14px; white-space:nowrap;}
.header-nav-font .home{left:590px;}
.header-nav-font .contact{left:698px;}
.header-nav-font .imprint{left:789px;}
.header-nav-font .de{left:896px;}
.header-nav-font .it{left:935px;}
.header-nav-font .en{left:968px;}
.header-nav-font .sep0{left:871px; color:rgba(255,255,255,.75);}
.header-nav-font .sep1{left:918px; color:rgba(255,255,255,.75);}
.header-nav-font .sep2{left:956px; color:rgba(255,255,255,.75);}

/* Footer subtitle is now live text; position and size remain at the original artwork location. */
.footer-brand .brand-image{display:none;}
.footer-brand .sub{
  display:block;
  position:absolute;
  left:0;
  top:31px;
  margin:0;
  width:224px;
  height:14px;
  font-family:"Arial Rounded Thin",Arial,sans-serif;
  font-size:9px;
  font-weight:400;
  line-height:10px;
  letter-spacing:.07px;
  white-space:nowrap;
  color:#fff;
}

/* FUNCTIONAL CLICK LAYERS — added without changing any existing visual position or typography. */
.header-click-layer{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:99px;
  z-index:60;
  pointer-events:none;
}
.header-click{
  position:absolute;
  top:0;
  height:99px;
  display:block;
  background:transparent;
  pointer-events:auto;
  cursor:pointer;
}
.header-click.logo{left:30px;width:390px}
.header-click.home{left:580px;width:92px}
.header-click.contact{left:687px;width:72px}
.header-click.imprint{left:779px;width:92px}
.header-click.lang-de{left:886px;width:32px}
.header-click.lang-it{left:925px;width:32px}
.header-click.lang-en{left:961px;width:38px}

.contact-click-layer{
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:341px;
  z-index:40;
  pointer-events:none;
}
.contact-click{
  position:absolute;
  display:block;
  background:transparent;
  pointer-events:auto;
  cursor:pointer;
}
.contact-click.phone{left:0;top:151px;width:190px;height:35px}
.contact-click.email{left:0;top:198px;width:220px;height:35px}
.contact-click.form{left:331px;top:176px;width:278px;height:77px}

.footer-click-layer{
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:103px;
  z-index:30;
  pointer-events:none;
}
.footer-click{
  position:absolute;
  display:block;
  background:transparent;
  pointer-events:auto;
  cursor:pointer;
}
.footer-click.logo{left:45px;top:10px;width:240px;height:80px}
/* Footer click areas aligned to the existing Version 1 artwork; visual layout unchanged. */
.footer-click.impressum{left:450px;top:40px;width:85px;height:22px}
.footer-click.datenschutz{left:535px;top:40px;width:90px;height:22px}
.footer-click.cookies{left:620px;top:40px;width:140px;height:22px}
.footer-click.lang-de{left:890px;top:40px;width:40px;height:22px}
.footer-click.lang-it{left:940px;top:40px;width:40px;height:22px}
.footer-click.lang-en{left:990px;top:40px;width:34px;height:22px}

#cookie-einstellungen .cookie-button,
#cookie-einstellungen .privacy{
  pointer-events:auto;
  cursor:pointer;
}



/* Header navigation on the contact-form page — same click areas as the main Version 3 header. */
.contact-header-click-layer{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:99px;
  z-index:20;
  pointer-events:none;
}
.contact-header-click{
  position:absolute;
  top:0;
  height:99px;
  display:block;
  background:transparent;
  pointer-events:auto;
  cursor:pointer;
}
.contact-header-click.logo{left:30px;width:390px}
.contact-header-click.home{left:580px;width:92px}
.contact-header-click.contact{left:687px;width:72px}
.contact-header-click.imprint{left:779px;width:92px}
.contact-header-click.lang-de{left:886px;width:32px}
.contact-header-click.lang-it{left:925px;width:32px}
.contact-header-click.lang-en{left:961px;width:38px}

/* Contact form page — aligned to the same 1024px frame and left grid as Version 3. */
.contact-page-wrap{
  min-height:100vh;
  background:#0b151a;
  color:#fff;
  font-family:Arial,Helvetica,sans-serif;
  padding:0 0 60px;
}
.contact-page-header{
  position:relative;
  width:100%;
  height:99px;
  background:#0b151a url("assets-top-header.png") top center / 100% auto no-repeat;
  border-bottom:1px solid rgba(255,255,255,.18);
}
.contact-page-inner{
  width:100%;
  max-width:1024px;
  margin:0 auto;
  padding:50px 59px 0;
}
.contact-page-eyebrow{
  margin:0 0 10px;
  font-size:13px;
  letter-spacing:4px;
}
.contact-page-title{
  margin:0 0 10px;
  font-size:32px;
  line-height:1.15;
  font-weight:700;
}
.contact-page-intro{
  margin:0 0 34px;
  font-size:16px;
  line-height:1.5;
  color:#d8dee1;
}
.contact-form{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px 24px;
}
.contact-form .field-full{grid-column:1 / -1}
.contact-form label{
  display:block;
  margin:0 0 8px;
  font-size:12px;
  letter-spacing:1.5px;
  text-transform:uppercase;
}
.contact-form input,
.contact-form textarea{
  width:100%;
  border:1px solid rgba(255,255,255,.42);
  background:rgba(0,0,0,.42);
  color:#fff;
  border-radius:0;
  padding:13px 14px;
  font:inherit;
  outline:none;
}
.contact-form input:focus,
.contact-form textarea:focus{border-color:#fff}
.contact-form textarea{min-height:180px;resize:vertical}
.contact-form .required{color:#ef1717}
.contact-form-actions{
  grid-column:1 / -1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-top:4px;
}
.contact-submit{
  border:1px solid rgba(255,255,255,.78);
  background:transparent;
  color:#fff;
  padding:13px 25px;
  font:700 12px Arial,Helvetica,sans-serif;
  letter-spacing:1.5px;
  text-transform:uppercase;
  cursor:pointer;
}
.contact-submit:hover{background:#fff;color:#111}
.contact-form-note{
  margin:0;
  font-size:11px;
  line-height:1.45;
  color:#aeb8bd;
}
.contact-form-message{
  margin:0 0 25px;
  padding:14px 16px;
  border:1px solid rgba(255,255,255,.35);
  background:rgba(255,255,255,.07);
  font-size:14px;
  line-height:1.5;
}
.contact-form-message.error{border-color:#ef1717}
.contact-page-footer{
  width:100%;
  max-width:1024px;
  margin:48px auto 0;
  padding:20px 59px 0;
  border-top:1px solid rgba(255,255,255,.18);
  font-size:11px;
  color:#aeb8bd;
}
.contact-page-footer a{color:#fff;text-decoration:none}
@media(max-width:650px){
  .contact-page-inner{padding:45px 25px 0}
  .contact-form{grid-template-columns:1fr}
  .contact-form .field-full,.contact-form-actions{grid-column:auto}
  .contact-form-actions{display:block}
  .contact-form-note{margin-top:15px}
  .contact-page-footer{margin-top:35px;padding-left:25px;padding-right:25px}
}

.footer-center .footer-autec{font-family:"Arial Rounded Thin",Arial,sans-serif;font-weight:400;}

.contact-page-header .header-brand-font{
  z-index:10;
}


/* Live signature lettering — Alex Brush font. */
@font-face{
  font-family:"Alex Brush Local";
  src:url("assets-alex-brush.ttf") format("truetype");
  font-weight:400;
  font-style:normal;
  font-display:swap;
}
.contact-text-block .contact-signature-font{
  position:absolute;
  left:731px;
  top:160px;
  width:210px;
  height:155px;
  color:#fff;
  font-family:"Alex Brush Local",cursive;
  font-size:27px;
  font-weight:500;
  font-style:normal;
  line-height:1;
  transform:rotate(-11deg);
  transform-origin:left top;
  pointer-events:none;
}
.contact-text-block .contact-signature-font span{
  position:absolute;
  display:block;
  white-space:nowrap;
}
.contact-text-block .contact-signature-font span:nth-child(1){left:8px;top:5px;}
.contact-text-block .contact-signature-font span:nth-child(2){left:35px;top:43px;}
.contact-text-block .contact-signature-font span:nth-child(3){left:42px;top:82px;}
.contact-text-block .contact-signature-font:after{
  content:"";
  position:absolute;
  left:62px;
  top:126px;
  width:108px;
  height:2px;
  background:#ef1717;
  transform:rotate(-11deg);
  transform-origin:left center;
}
@media(max-width:650px){
  .contact-text-block .contact-signature-font{
    left:731px;
    top:160px;
    width:210px;
    height:155px;
  }
}

/* Reference position: match the original right-side signature placement. */
.contact-text-block .contact-signature-font{
  left:660px !important;
  top:160px !important;
  width:210px !important;
  height:155px !important;
  transform:rotate(-11deg) !important;
  transform-origin:left top !important;
}
.contact-text-block .contact-signature-font span:nth-child(1){left:8px !important; top:5px !important;}
.contact-text-block .contact-signature-font span:nth-child(2){left:35px !important; top:43px !important;}
.contact-text-block .contact-signature-font span:nth-child(3){left:42px !important; top:82px !important;}
.contact-text-block .contact-signature-font:after{
  left:62px !important;
  top:126px !important;
  width:108px !important;
  height:2px !important;
  transform:rotate(0deg) !important;
  transform-origin:left center !important;
}
@media(max-width:650px){
  .contact-text-block .contact-signature-font{left:660px !important;top:160px !important;}
}


/* Impressum page — uses the same header geometry as the contact page. */
.legal-page-wrap{width:100%;max-width:1024px;margin:0 auto;min-height:1536px;background:#171d21;color:#fff;box-sizing:border-box;}
.legal-page-header{position:relative;height:99px;background-image:url("assets-top-header.png");background-size:100% 99px;background-repeat:no-repeat;overflow:hidden;}
.legal-page-inner{padding:56px 59px 120px;box-sizing:border-box;min-height:1050px;font-family:Arial,sans-serif;}
.legal-content{max-width:760px;font-size:16px;line-height:1.7;color:#fff;}
.legal-content h2{font-size:22px;margin:34px 0 12px;font-weight:700;}
.legal-content p{margin:0 0 22px;}
.legal-content a{color:#fff;text-decoration:underline;}

/* Privacy page */
.privacy-page .privacy-lang-nav{display:flex;gap:10px;margin:-8px 0 24px;font-family:Arial,sans-serif;font-size:14px;font-weight:700;}
.privacy-page .privacy-lang-nav a{color:#fff;text-decoration:none;}
.privacy-page .privacy-lang-nav a:hover{text-decoration:underline;}
.privacy-content section{scroll-margin-top:20px;margin-bottom:55px;}
.privacy-content h2{font-size:21px;margin-top:30px;}
.privacy-content p{max-width:820px;}
@media(max-width:650px){
  .privacy-page .privacy-lang-nav{margin-top:0;}
}

/* Legal / privacy pages: keep the footer and cookie bar in normal document flow.
   This prevents the fixed 1536px homepage overlays from covering long legal text. */
.site > .legal-page-wrap{
  min-height:0;
  overflow:visible;
  background:#171d21;
}
.site > .legal-page-wrap .legal-page-inner{
  min-height:0;
  padding-bottom:70px;
}
.site > .legal-page-wrap ~ .footer-text-overlay{
  position:relative;
  left:auto;
  top:auto;
  width:100%;
  max-width:none;
  height:103px;
  background:#0b1519;
  margin:0;
}
.site > .legal-page-wrap ~ .cookie-text-overlay{
  position:relative;
  left:auto;
  top:auto;
  width:100%;
  max-width:none;
  height:124px;
  background:#111d22;
  margin:0;
}


/* MOBILE LAYOUT – Version 10 responsive adaptation */
@media (max-width:650px){
  /* The complete landing composition keeps the original 1024px coordinate
     system and is zoomed as one unit. This preserves every existing position,
     image proportion and typography on a phone. */
  .site{overflow:hidden}
  .visual-wrap{
    width:1024px;
    height:1536px;
    max-width:none;
    position:relative;
    overflow:hidden;
    zoom:var(--autec-mobile-zoom, .38);
  }
  .visual{
    position:relative;
    width:100%;
    height:1536px;
    max-width:none;
    aspect-ratio:auto;
  }
  .visual-wrap > *{transform:none !important}
  .hero-text-block{left:59px;top:150px;width:900px}
  .hero-text-block .headline{font-size:58px;line-height:1.08;letter-spacing:7px;margin-bottom:18px}
  .hero-text-block p{font-size:27px;line-height:1.45}
  .hero-text-block .strap{font-size:25px;line-height:1.55;letter-spacing:5px}
  .hero-text-block .divider{margin:24px 0 24px;height:2px}
  .middle-text-block{top:561px;height:408px}
  .middle-icon{width:82px;height:87px}
  .middle-column.left .middle-icon{left:45px;top:103px}
  .middle-column.right .middle-icon{left:40px;top:103px}
  .middle-title{font-size:43px;line-height:1.12}
  .middle-column.left .middle-title{left:51px;top:184px}
  .middle-column.right .middle-title{left:45px;top:184px}
  .middle-description{font-size:24px;line-height:1.45}
  .middle-column.left .middle-description{left:51px;top:235px}
  .middle-column.right .middle-description{left:45px;top:235px}
  .middle-list{font-size:17px;line-height:1.6}
  .contact-text-block{left:59px;top:969px;width:965px;height:341px}
  .contact-copy .eyebrow{font-size:18px;letter-spacing:6px}
  .contact-copy .title{font-size:48px;line-height:1.12}
  .contact-copy .intro{font-size:25px;line-height:1.45}
  .contact-details-overlay{font-size:22px}
  .contact-frame .label{font-size:19px;line-height:1.2}
  .contact-frame .mail,.contact-frame .arrow{font-size:22px}
  .contact-text-block .contact-details-overlay{top:151px!important}
  .contact-text-block .contact-signature-font{left:660px!important;top:160px!important}
  .contact-divider{left:286px;top:153px;height:150px}
  .contact-frame{left:331px;top:176px;width:278px;height:77px}
  /* Footer and cookie bar follow the same scaled 1024px composition as the phone layout. */
  .footer-text-overlay{top:calc(1310px * var(--autec-mobile-zoom, .38));width:1024px;height:103px;transform:scale(var(--autec-mobile-zoom, .38));transform-origin:top left;pointer-events:none}
  .cookie-text-overlay{top:calc(1413px * var(--autec-mobile-zoom, .38));width:1024px;height:124px;transform:scale(var(--autec-mobile-zoom, .38));transform-origin:top left;pointer-events:none}
  .footer-brand{left:51px;top:17px;width:224px}
  .footer-center{left:335px;top:48px;font-size:10px}
  .footer-langs{right:25px;top:48px;font-size:10px}
  .cookie-icon{left:26px;top:28px}
  .cookie-copy{left:71px;top:29px;font-size:12px;width:auto;white-space:nowrap}
  .cookie-buttons{right:27px;top:29px;transform:none}
  .header-brand-font{left:51px;top:5px;font-size:70px;line-height:70px;height:70px;transform:scaleX(1.23)}
  .header-subtitle-font{left:52px;top:69px;font-size:19px;line-height:18px;width:500px;letter-spacing:1.8px}
  .header-nav-font{font-size:18px}
  .header-nav-font .hn{top:57px;height:22px;line-height:20px}
  .header-nav-font .home{left:590px}
  .header-nav-font .contact{left:698px}
  .header-nav-font .imprint{left:789px}
  .header-nav-font .de{left:896px}
  .header-nav-font .it{left:935px}
  .header-nav-font .en{left:968px}
  .header-click-layer{width:1024px;height:99px}
  .header-click{height:99px}
  .contact-click-layer{width:1024px}
  .footer-click-layer{width:1024px}
}

/* Phone contact form: retain the Version 10 visual language while using the
   full available screen width and comfortably tappable controls. */
@media(max-width:650px){
  .contact-page-wrap{min-height:100vh}
  .contact-page-header{height:99px;overflow:hidden}
  .contact-page-header .header-brand-font{left:25px;top:7px;font-size:39px;line-height:40px;transform:scaleX(1.18)}
  .contact-page-header .header-subtitle-font{left:25px;top:58px;width:290px;font-size:10px;letter-spacing:.9px}
  .contact-page-header .header-nav-font{font-size:10px}
  .contact-page-header .header-nav-font .home{left:25px;top:78px}
  .contact-page-header .header-nav-font .contact{left:88px;top:78px}
  .contact-page-header .header-nav-font .imprint{left:155px;top:78px}
  .contact-page-header .header-nav-font .de{left:auto;right:86px;top:78px}
  .contact-page-header .header-nav-font .it{left:auto;right:52px;top:78px}
  .contact-page-header .header-nav-font .en{left:auto;right:20px;top:78px}
  .contact-page-header .header-nav-font .sep0,
  .contact-page-header .header-nav-font .sep1,
  .contact-page-header .header-nav-font .sep2{display:none}
  .contact-header-click-layer{height:99px}
  .contact-header-click.logo{left:15px;width:260px;height:70px}
  .contact-header-click.home{left:15px;top:68px;width:60px;height:31px}
  .contact-header-click.contact{left:78px;top:68px;width:70px;height:31px}
  .contact-header-click.imprint{left:145px;top:68px;width:90px;height:31px}
  .contact-header-click.lang-de{left:auto;right:76px;top:68px;width:32px;height:31px}
  .contact-header-click.lang-it{left:auto;right:42px;top:68px;width:32px;height:31px}
  .contact-header-click.lang-en{left:auto;right:8px;top:68px;width:32px;height:31px}
  .contact-page-inner{padding:35px 20px 0}
  .contact-page-eyebrow{font-size:11px;letter-spacing:3px;margin-bottom:9px}
  .contact-page-title{font-size:26px;letter-spacing:.5px}
  .contact-page-intro{font-size:14px;line-height:1.55;margin-bottom:28px}
  .contact-form{gap:17px}
  .contact-form label{font-size:11px;letter-spacing:1.2px;margin-bottom:7px}
  .contact-form input,.contact-form textarea{padding:12px 12px;font-size:16px}
  .contact-form textarea{min-height:150px}
  .contact-submit{width:100%;padding:14px 18px}
  .contact-form-actions{margin-top:2px}
  .contact-form-note{font-size:10px}
  .contact-page-footer{margin-top:30px;padding:18px 20px 0;font-size:10px;line-height:1.6}
}

/* Phone legal/privacy pages */
@media(max-width:650px){
  .legal-page-wrap{min-height:0}
  .legal-page-header{height:99px;background-size:auto 99px;background-position:top left}
  .legal-page-inner{padding:35px 20px 55px}
  .legal-content{font-size:14px;line-height:1.65}
  .legal-content h2{font-size:19px;margin:28px 0 10px}
  .legal-content p{margin-bottom:18px}
  .privacy-page .privacy-lang-nav{font-size:12px;gap:12px;margin:0 0 20px}
  .privacy-content h2{font-size:18px}
}

/* VERSION 15 – smartphone refinement for contact, imprint and privacy pages.
   The desktop 1024px composition remains unchanged. On smaller viewports the
   standalone pages use a true fluid layout; footer/cookie content stays in
   normal document flow instead of inheriting the homepage's 1024px zoom. */
@media (max-width:1024px){
  .contact-page-wrap,
  .legal-page-wrap{
    width:100%;
    max-width:none;
    min-height:0;
    overflow:visible;
  }

  /* Compact, readable page header. */
  .contact-page-header,
  .legal-page-header{
    width:100%;
    height:118px;
    background-color:#0b151a;
    background-size:100% 118px;
    background-position:center top;
    background-repeat:no-repeat;
  }
  .contact-page-header .header-brand-font,
  .legal-page-header .header-brand-font{
    left:22px;
    top:7px;
    font-size:40px;
    line-height:42px;
    height:42px;
    transform:scaleX(1.10);
  }
  .contact-page-header .header-subtitle-font,
  .legal-page-header .header-subtitle-font{
    left:23px;
    top:53px;
    width:auto;
    font-size:10px;
    line-height:12px;
    letter-spacing:.8px;
  }
  .contact-page-header .header-nav-font,
  .legal-page-header .header-nav-font{
    font-size:10px;
  }
  .contact-page-header .header-nav-font .hn,
  .legal-page-header .header-nav-font .hn{
    top:88px;
    line-height:13px;
    height:16px;
  }
  .contact-page-header .header-nav-font .home,
  .legal-page-header .header-nav-font .home{left:22px}
  .contact-page-header .header-nav-font .contact,
  .legal-page-header .header-nav-font .contact{left:88px}
  .contact-page-header .header-nav-font .imprint,
  .legal-page-header .header-nav-font .imprint{left:158px}
  .contact-page-header .header-nav-font .de,
  .legal-page-header .header-nav-font .de{left:auto;right:82px}
  .contact-page-header .header-nav-font .it,
  .legal-page-header .header-nav-font .it{left:auto;right:48px}
  .contact-page-header .header-nav-font .en,
  .legal-page-header .header-nav-font .en{left:auto;right:15px}
  .contact-page-header .header-nav-font .sep0,
  .contact-page-header .header-nav-font .sep1,
  .contact-page-header .header-nav-font .sep2,
  .legal-page-header .header-nav-font .sep0,
  .legal-page-header .header-nav-font .sep1,
  .legal-page-header .header-nav-font .sep2{display:none}

  .contact-header-click-layer{height:118px}
  .contact-header-click.logo{left:10px;top:0;width:260px;height:78px}
  .contact-header-click.home{left:10px;top:78px;width:68px;height:40px}
  .contact-header-click.contact{left:78px;top:78px;width:78px;height:40px}
  .contact-header-click.imprint{left:150px;top:78px;width:105px;height:40px}
  .contact-header-click.lang-de{left:auto;right:68px;top:78px;width:35px;height:40px}
  .contact-header-click.lang-it{left:auto;right:35px;top:78px;width:35px;height:40px}
  .contact-header-click.lang-en{left:auto;right:2px;top:78px;width:35px;height:40px}

  .contact-page-inner{
    width:100%;
    max-width:none;
    padding:38px 22px 0;
  }
  .contact-page-eyebrow{
    font-size:12px;
    letter-spacing:3px;
    margin-bottom:10px;
  }
  .contact-page-title{
    font-size:29px;
    line-height:1.12;
    letter-spacing:.2px;
    margin-bottom:14px;
  }
  .contact-page-intro{
    font-size:16px;
    line-height:1.55;
    margin-bottom:30px;
  }
  .contact-form{
    grid-template-columns:1fr;
    gap:18px;
  }
  .contact-form .field-full,
  .contact-form-actions{grid-column:auto}
  .contact-form label{
    font-size:12px;
    letter-spacing:1.3px;
    margin-bottom:8px;
  }
  .contact-form input,
  .contact-form textarea{
    width:100%;
    min-height:52px;
    padding:13px 12px;
    font-size:16px;
  }
  .contact-form textarea{min-height:170px}
  .contact-form-actions{
    display:block;
    margin-top:2px;
  }
  .contact-submit{
    width:100%;
    min-height:50px;
    padding:14px 18px;
  }
  .contact-form-note{
    margin:14px 0 0;
    font-size:11px;
  }
  .contact-page-footer{
    width:100%;
    max-width:none;
    margin:38px 0 0;
    padding:18px 22px 24px;
    font-size:11px;
    line-height:1.6;
  }

  /* Legal/privacy content: readable width, no oversized desktop margins. */
  .legal-page-inner{
    width:100%;
    max-width:none;
    min-height:0;
    padding:38px 22px 55px;
  }
  .legal-content{
    max-width:none;
    width:100%;
    font-size:16px;
    line-height:1.65;
  }
  .legal-content h2{
    font-size:22px;
    line-height:1.25;
    margin:30px 0 12px;
  }
  .legal-content p{
    max-width:none;
    margin-bottom:20px;
  }
  .privacy-page .privacy-lang-nav{
    margin:0 0 24px;
    font-size:14px;
    gap:10px;
  }
  .privacy-content section{margin-bottom:42px}
  .privacy-content h2{font-size:21px}

  /* On standalone pages the footer is a real block, not the scaled homepage overlay. */
  .site > .contact-page-wrap ~ .footer-text-overlay,
  .site > .legal-page-wrap ~ .footer-text-overlay{
    position:relative;
    left:auto;
    top:auto;
    width:100%;
    max-width:none;
    height:112px;
    min-height:112px;
    margin:0;
    padding:0;
    background:#0b1519;
    transform:none !important;
    transform-origin:initial;
    overflow:hidden;
  }
  .site > .contact-page-wrap ~ .footer-text-overlay .footer-brand,
  .site > .legal-page-wrap ~ .footer-text-overlay .footer-brand{
    left:22px;
    top:16px;
    width:190px;
  }
  .site > .contact-page-wrap ~ .footer-text-overlay .footer-brand .name,
  .site > .legal-page-wrap ~ .footer-text-overlay .footer-brand .name{
    font-size:27px;
    line-height:28px;
  }
  .site > .contact-page-wrap ~ .footer-text-overlay .footer-brand .sub,
  .site > .legal-page-wrap ~ .footer-text-overlay .footer-brand .sub{
    top:27px;
    width:190px;
    font-size:8px;
    line-height:9px;
  }
  .site > .contact-page-wrap ~ .footer-text-overlay .footer-center,
  .site > .legal-page-wrap ~ .footer-text-overlay .footer-center{
    left:22px;
    top:65px;
    width:calc(100% - 125px);
    font-size:8px;
    line-height:12px;
    white-space:normal;
  }
  .site > .contact-page-wrap ~ .footer-text-overlay .footer-center .sep,
  .site > .legal-page-wrap ~ .footer-text-overlay .footer-center .sep{margin:0 5px}
  .site > .contact-page-wrap ~ .footer-text-overlay .footer-langs,
  .site > .legal-page-wrap ~ .footer-text-overlay .footer-langs{
    right:18px;
    top:65px;
    font-size:8px;
  }
  .site > .contact-page-wrap ~ .footer-text-overlay .footer-click-layer,
  .site > .legal-page-wrap ~ .footer-text-overlay .footer-click-layer{
    width:100%;
    height:112px;
  }
  .site > .contact-page-wrap ~ .footer-text-overlay .footer-click.logo,
  .site > .legal-page-wrap ~ .footer-text-overlay .footer-click.logo{left:10px;top:8px;width:210px;height:48px}
  .site > .contact-page-wrap ~ .footer-text-overlay .footer-click.impressum,
  .site > .legal-page-wrap ~ .footer-text-overlay .footer-click.impressum{left:22px;top:61px;width:75px;height:30px}
  .site > .contact-page-wrap ~ .footer-text-overlay .footer-click.datenschutz,
  .site > .legal-page-wrap ~ .footer-text-overlay .footer-click.datenschutz{left:95px;top:61px;width:75px;height:30px}
  .site > .contact-page-wrap ~ .footer-text-overlay .footer-click.cookies,
  .site > .legal-page-wrap ~ .footer-text-overlay .footer-click.cookies{left:168px;top:61px;width:115px;height:30px}
  .site > .contact-page-wrap ~ .footer-text-overlay .footer-click.lang-de,
  .site > .legal-page-wrap ~ .footer-text-overlay .footer-click.lang-de{left:auto;right:65px;top:61px;width:28px;height:30px}
  .site > .contact-page-wrap ~ .footer-text-overlay .footer-click.lang-it,
  .site > .legal-page-wrap ~ .footer-text-overlay .footer-click.lang-it{left:auto;right:37px;top:61px;width:28px;height:30px}
  .site > .contact-page-wrap ~ .footer-text-overlay .footer-click.lang-en,
  .site > .legal-page-wrap ~ .footer-text-overlay .footer-click.lang-en{left:auto;right:9px;top:61px;width:28px;height:30px}

  /* Cookie banner: full-width, readable and never over the form/legal text. */
  .site > .contact-page-wrap ~ .cookie-text-overlay,
  .site > .legal-page-wrap ~ .cookie-text-overlay{
    position:relative;
    left:auto;
    top:auto;
    width:100%;
    max-width:none;
    height:auto;
    min-height:168px;
    margin:0;
    padding:18px 18px 20px;
    background:#111d22;
    transform:none !important;
    transform-origin:initial;
    overflow:hidden;
  }
  .site > .contact-page-wrap ~ .cookie-text-overlay .cookie-icon,
  .site > .legal-page-wrap ~ .cookie-text-overlay .cookie-icon{
    left:18px;
    top:20px;
    width:28px;
    height:29px;
  }
  .site > .contact-page-wrap ~ .cookie-text-overlay .cookie-copy,
  .site > .legal-page-wrap ~ .cookie-text-overlay .cookie-copy{
    position:relative;
    left:auto;
    top:auto;
    width:calc(100% - 42px);
    margin-left:42px;
    font-size:10px;
    line-height:1.5;
    white-space:normal;
  }
  .site > .contact-page-wrap ~ .cookie-text-overlay .cookie-buttons,
  .site > .legal-page-wrap ~ .cookie-text-overlay .cookie-buttons{
    position:relative;
    left:auto;
    right:auto;
    top:auto;
    margin-top:16px;
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    transform:none;
  }
  .site > .contact-page-wrap ~ .cookie-text-overlay .cookie-button,
  .site > .legal-page-wrap ~ .cookie-text-overlay .cookie-button{
    height:38px;
    font-size:10px;
    padding:0 10px;
  }
  .site > .contact-page-wrap ~ .cookie-text-overlay .cookie-button.settings,
  .site > .legal-page-wrap ~ .cookie-text-overlay .cookie-button.settings{width:auto;flex:1 1 125px}
  .site > .contact-page-wrap ~ .cookie-text-overlay .cookie-button.reject,
  .site > .legal-page-wrap ~ .cookie-text-overlay .cookie-button.reject{width:auto;flex:1 1 100px}
  .site > .contact-page-wrap ~ .cookie-text-overlay .cookie-button.accept,
  .site > .legal-page-wrap ~ .cookie-text-overlay .cookie-button.accept{width:auto;flex:1 1 105px}
}
/* VERSION 17 – true fluid smartphone layout for the landing page.
   Desktop/tablet composition remains unchanged. */
@media (max-width:650px){
  html,body{background:#000;overflow-x:hidden}
  .site{width:100%;max-width:none;overflow:visible;background:#000}
  .visual-wrap{width:100%;height:auto;position:relative;display:block;overflow:visible;line-height:normal;zoom:1}

  /* Mobile header: same compact structure as the inner pages. */
  .top-header-overlay{
    top:0;left:0;width:100%;height:99px;object-fit:cover;object-position:left top;
  }
  .header-brand-font{
    left:22px;top:6px;font-size:40px;line-height:42px;height:42px;transform:scaleX(1.08);transform-origin:left top;
  }
  .header-subtitle-font{
    left:23px;top:52px;width:auto;font-size:10px;line-height:12px;letter-spacing:.8px;
  }
  .header-nav-font{font-size:10px;height:99px;width:100%}
  .header-nav-font .hn{top:78px;height:15px;line-height:13px}
  .header-nav-font .home{left:22px}
  .header-nav-font .contact{left:92px}
  .header-nav-font .imprint{left:154px}
  .header-nav-font .de{left:auto;right:76px}
  .header-nav-font .it{left:auto;right:42px}
  .header-nav-font .en{left:auto;right:9px}
  .header-nav-font .sep0,.header-nav-font .sep1,.header-nav-font .sep2{display:none}
  .header-click-layer{top:0;left:0;width:100%;height:99px}
  .header-click.logo{left:10px;top:0;width:250px;height:70px}
  .header-click.home{left:10px;top:68px;width:72px;height:31px}
  .header-click.contact{left:82px;top:68px;width:70px;height:31px}
  .header-click.imprint{left:152px;top:68px;width:88px;height:31px}
  .header-click.lang-de{right:61px;left:auto;top:68px;width:30px;height:31px}
  .header-click.lang-it{right:29px;left:auto;top:68px;width:30px;height:31px}
  .header-click.lang-en{right:0;left:auto;top:68px;width:29px;height:31px}

  /* Hero: full-width, readable image crop instead of shrinking the 1024px composition. */
  .visual{
    margin-top:99px;
    width:100%;height:365px;aspect-ratio:auto;
    background-image:url("assets-mobile-hero.png");
    background-size:cover;background-position:center top;background-repeat:no-repeat;
  }
  /* Mobile only: darken the Under Construction hero image without moving or altering any content. */
  .visual::after{
    content:"";
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.42);
    z-index:1;
    pointer-events:none;
  }
  .hero-text-block{
    left:24px;top:130px;width:calc(100% - 48px);z-index:5;
  }
  .hero-text-block .divider{width:100%;height:1px;margin:0 0 17px}
  .hero-text-block .divider:before{width:46px;height:2px}
  .hero-text-block .headline{font-size:27px;line-height:1.1;letter-spacing:5px;margin:0 0 14px;font-weight:400;white-space:normal}
  .hero-text-block p{font-size:15px;line-height:1.5;margin:0}
  .hero-text-block .strap{font-size:14px;line-height:1.7;letter-spacing:3.5px;margin-top:17px}

  /* Service section becomes a true mobile block with the original middle image cropped to width. */
  .middle-text-block{
    position:relative;top:auto;left:auto;width:100%;height:390px;
    background-image:url("assets-mobile-middle.png");background-size:cover;background-position:center top;background-repeat:no-repeat;
    z-index:6;overflow:hidden;color:#fff;
  }
  .middle-column{top:0;width:50%;height:100%}
  .middle-column.left{left:0}.middle-column.right{left:50%}
  .middle-icon{width:55px;height:59px;transform:none}
  .middle-column.left .middle-icon,.middle-column.right .middle-icon{left:18px;top:48px}
  .middle-title{font-size:18px;line-height:1.15;white-space:normal;max-width:calc(100% - 28px);font-weight:700}
  .middle-column.left .middle-title,.middle-column.right .middle-title{left:20px;top:116px}
  .middle-description{font-size:11px;line-height:1.42;max-width:calc(100% - 30px)}
  .middle-column.left .middle-description,.middle-column.right .middle-description{left:20px;top:153px}
  .middle-rule{left:20px;top:221px;width:38px;height:2px}
  .middle-column.right .middle-rule{left:20px}
  .middle-list{left:20px!important;top:239px!important;font-size:9px;line-height:1.75;letter-spacing:1.6px;white-space:normal;max-width:calc(100% - 25px)}

  /* Contact block on landing page: readable, stacked and still uses the supplied mountain image. */
  .contact-text-block{
    position:relative;left:auto;top:auto;width:100%;height:335px;
    margin:0;overflow:hidden;background-image:url("assets-mobile-contact.png");background-size:cover;background-position:center top;background-repeat:no-repeat;
    z-index:8;padding:0 24px;
  }
  .contact-text-block .contact-copy{left:24px;top:24px}
  .contact-copy .eyebrow{font-size:11px;letter-spacing:3.5px;margin-bottom:7px}
  .contact-copy .title{font-size:25px;line-height:1.15;margin-bottom:6px;white-space:normal}
  .contact-copy .intro{font-size:13px;line-height:1.45}
  .contact-details-overlay{left:24px;top:128px!important;font-size:13px;line-height:1.35}
  .contact-details-overlay .row{margin-bottom:9px}
  .contact-details-overlay .icon{width:25px;height:25px;margin-right:9px;object-fit:contain}
  .contact-divider{left:calc(50% - 1px);top:118px;height:165px}
  .contact-frame{left:auto;right:24px;top:137px;width:43%;height:67px}
  .contact-frame .mail{left:12px;top:21px;font-size:16px}
  .contact-frame .label{left:39px;top:14px;font-size:9px;line-height:1.3}
  .contact-frame .arrow{left:61px;top:43px;font-size:15px}
  .contact-signature-font{display:none}
  .contact-click-layer{left:0;top:0;width:100%;height:335px}
  .contact-click.phone{left:20px;top:125px;width:180px;height:35px}
  .contact-click.email{left:20px;top:165px;width:220px;height:35px}
  .contact-click.form{left:auto;right:20px;top:132px;width:48%;height:78px}

  /* Landing footer and cookies: normal document flow, full width. */
  .visual-wrap + .footer-text-overlay{position:relative;left:auto;top:auto;width:100%;height:94px;min-height:94px;background:#0b1519;margin:0;transform:none;overflow:hidden}
  .visual-wrap + .footer-text-overlay .footer-brand{left:20px;top:12px;width:165px}
  .visual-wrap + .footer-text-overlay .footer-brand .name{font-size:24px;line-height:25px;transform:scaleX(1.03)}
  .visual-wrap + .footer-text-overlay .footer-brand .sub{top:24px;width:170px;font-size:6.5px;line-height:8px;letter-spacing:0}
  .visual-wrap + .footer-text-overlay .footer-center{left:20px;top:60px;width:calc(100% - 110px);font-size:7px;line-height:10px;white-space:normal}
  .visual-wrap + .footer-text-overlay .footer-langs{right:12px;top:60px;font-size:7px}
  .visual-wrap + .footer-text-overlay .footer-click-layer{width:100%;height:94px}
  .visual-wrap + .footer-text-overlay .footer-click.logo{left:10px;top:6px;width:185px;height:46px}
  .visual-wrap + .footer-text-overlay .footer-click.impressum{left:20px;top:58px;width:65px;height:28px}
  .visual-wrap + .footer-text-overlay .footer-click.datenschutz{left:84px;top:58px;width:65px;height:28px}
  .visual-wrap + .footer-text-overlay .footer-click.cookies{left:148px;top:58px;width:95px;height:28px}
  .visual-wrap + .footer-text-overlay .footer-click.lang-de{right:55px;left:auto;top:58px;width:25px;height:28px}
  .visual-wrap + .footer-text-overlay .footer-click.lang-it{right:30px;left:auto;top:58px;width:25px;height:28px}
  .visual-wrap + .footer-text-overlay .footer-click.lang-en{right:5px;left:auto;top:58px;width:25px;height:28px}

  .visual-wrap + .footer-text-overlay + .cookie-text-overlay{position:relative;left:auto;top:auto;width:100%;height:auto;min-height:126px;background:#111d22;margin:0;padding:14px 14px 16px;transform:none;overflow:hidden}
  .visual-wrap + .footer-text-overlay + .cookie-text-overlay .cookie-icon{left:14px;top:17px;width:24px;height:25px}
  .visual-wrap + .footer-text-overlay + .cookie-text-overlay .cookie-copy{left:47px;top:15px;width:calc(100% - 61px);font-size:8px;line-height:1.45;white-space:normal}
  .visual-wrap + .footer-text-overlay + .cookie-text-overlay .cookie-buttons{position:relative;left:auto;right:auto;top:auto;margin:12px 0 0 47px;display:flex;gap:5px;transform:none;flex-wrap:nowrap}
  .visual-wrap + .footer-text-overlay + .cookie-text-overlay .cookie-button{height:31px;font-size:7px;padding:0 5px}
  .visual-wrap + .footer-text-overlay + .cookie-text-overlay .cookie-button.settings{width:31%;}
  .visual-wrap + .footer-text-overlay + .cookie-text-overlay .cookie-button.reject{width:27%;}
  .visual-wrap + .footer-text-overlay + .cookie-text-overlay .cookie-button.accept{width:32%;}
}

/* VERSION 17 – inner pages use the same compact header and never allow long titles to overflow. */
@media(max-width:650px){
  .contact-page-header,.legal-page-header{height:112px;background-size:cover;background-position:center top}
  .contact-page-header .header-brand-font,.legal-page-header .header-brand-font{left:22px;top:6px;font-size:40px;line-height:42px;transform:scaleX(1.08)}
  .contact-page-header .header-subtitle-font,.legal-page-header .header-subtitle-font{left:23px;top:52px;font-size:10px;letter-spacing:.8px;width:auto}
  .contact-page-header .header-nav-font,.legal-page-header .header-nav-font{font-size:10px}
  .contact-page-header .header-nav-font .hn,.legal-page-header .header-nav-font .hn{top:79px}
  .contact-page-header .header-nav-font .home,.legal-page-header .header-nav-font .home{left:22px}
  .contact-page-header .header-nav-font .contact,.legal-page-header .header-nav-font .contact{left:92px}
  .contact-page-header .header-nav-font .imprint,.legal-page-header .header-nav-font .imprint{left:154px}
  .contact-page-header .header-nav-font .de,.legal-page-header .header-nav-font .de{right:76px}
  .contact-page-header .header-nav-font .it,.legal-page-header .header-nav-font .it{right:42px}
  .contact-page-header .header-nav-font .en,.legal-page-header .header-nav-font .en{right:9px}
  .contact-header-click-layer{height:112px}
  .contact-header-click.logo{left:10px;top:0;width:250px;height:70px}
  .contact-header-click.home{left:10px;top:68px;width:72px;height:38px}
  .contact-header-click.contact{left:82px;top:68px;width:70px;height:38px}
  .contact-header-click.imprint{left:152px;top:68px;width:88px;height:38px}
  .contact-header-click.lang-de{right:61px;top:68px;width:30px;height:38px}
  .contact-header-click.lang-it{right:29px;top:68px;width:30px;height:38px}
  .contact-header-click.lang-en{right:0;top:68px;width:29px;height:38px}
  .contact-page-inner,.legal-page-inner{padding:36px 22px 55px}
  .contact-page-title{font-size:29px;line-height:1.12}
  .contact-page-intro{font-size:15px;line-height:1.55}
  .legal-content{font-size:15px;line-height:1.62}
  .legal-content h2{font-size:22px;line-height:1.25}
  .privacy-page .contact-page-title{font-size:30px;line-height:1.08;overflow-wrap:anywhere}
  .privacy-content h2{font-size:21px;line-height:1.25}
}

/* VERSION 18 – final mobile composition cleanup.
   The phone layout uses the same visual language on every page, while keeping
   the supplied imagery intact. Desktop/tablet styles are untouched. */
@media (max-width:650px){
  /* Remove the artificial black gap above the landing header. */
  .visual-wrap{margin:0 !important;}
  .visual{margin-top:0 !important;}

  /* Keep the header compact and readable without crowding the language links. */
  .header-brand-font{font-size:39px;line-height:41px;top:5px;transform:scaleX(1.06)}
  .header-subtitle-font{top:51px;font-size:9px;letter-spacing:.7px}
  .header-nav-font{font-size:9px}
  .header-nav-font .hn{top:78px}
  .header-nav-font .home{left:22px}
  .header-nav-font .contact{left:91px}
  .header-nav-font .imprint{left:153px}
  .header-nav-font .de{right:76px}
  .header-nav-font .it{right:42px}
  .header-nav-font .en{right:9px}

  /* Hero: readable but not oversized. */
  .visual{height:365px;background-position:center top}
  .hero-text-block{left:24px;top:130px;width:calc(100% - 48px)}
  .hero-text-block .headline{font-size:27px;line-height:1.08;letter-spacing:4px;margin-bottom:14px}
  .hero-text-block p{font-size:14px;line-height:1.5}
  .hero-text-block .strap{font-size:13px;line-height:1.75;letter-spacing:3px;margin-top:17px}

  /* Services: stack the two original image halves vertically. This prevents
     title/description/list collisions on narrow screens. */
  .middle-text-block{height:620px;background:none;display:block;overflow:hidden}
  .middle-column{position:absolute;left:0 !important;width:100%;height:310px}
  .middle-column.left{top:0;background-image:url("assets-mobile-middle.png");background-size:auto 310px;background-position:left top;background-repeat:no-repeat}
  .middle-column.right{top:310px;background-image:url("assets-mobile-middle.png");background-size:auto 310px;background-position:right top;background-repeat:no-repeat}
  .middle-icon{width:58px;height:62px;left:20px !important;top:28px !important}
  .middle-title{left:20px !important;top:101px !important;font-size:22px;line-height:1.15;white-space:normal;max-width:calc(100% - 40px)}
  .middle-description{left:20px !important;top:140px !important;font-size:13px;line-height:1.45;max-width:calc(100% - 40px)}
  .middle-rule{left:20px !important;top:220px !important;width:38px;height:2px}
  .middle-list{left:20px !important;top:238px !important;font-size:10px;line-height:1.65;letter-spacing:1.5px;max-width:calc(100% - 40px)}

  /* Contact on the landing page: one clean vertical flow. */
  .contact-text-block{height:470px;padding:0;}
  .contact-text-block .contact-copy{left:24px;top:24px;width:calc(100% - 48px)}
  .contact-copy .eyebrow{font-size:11px;letter-spacing:3.5px;margin-bottom:8px}
  .contact-copy .title{font-size:27px;line-height:1.15;margin-bottom:8px;white-space:normal}
  .contact-copy .intro{font-size:14px;line-height:1.45}
  .contact-details-overlay{left:24px !important;top:145px !important;font-size:14px;line-height:1.4}
  .contact-details-overlay .row{margin-bottom:10px}
  .contact-details-overlay .icon{width:27px;height:27px;margin-right:10px}
  .contact-divider,.contact-signature-font{display:none !important}
  .contact-frame{left:24px !important;right:24px !important;top:365px !important;width:auto !important;height:70px !important}
  .contact-frame .mail{left:18px;top:22px;font-size:17px}
  .contact-frame .label{left:50px;top:17px;font-size:11px;line-height:1.3}
  .contact-frame .arrow{right:18px;left:auto;top:26px;font-size:17px}
  .contact-click-layer{height:470px}
  .contact-click.phone{left:20px;top:140px;width:260px;height:38px}
  .contact-click.email{left:20px;top:188px;width:300px;height:38px}
  .contact-click.form{left:20px;right:20px;top:355px;width:auto;height:90px}

  /* Footer and cookie notice are full-width, readable blocks. */
  .visual-wrap + .footer-text-overlay{height:128px;min-height:128px}
  .visual-wrap + .footer-text-overlay .footer-brand{left:20px;top:13px;width:190px}
  .visual-wrap + .footer-text-overlay .footer-brand .name{font-size:27px;line-height:29px}
  .visual-wrap + .footer-text-overlay .footer-brand .sub{top:27px;width:190px;font-size:7px;line-height:9px}
  .visual-wrap + .footer-text-overlay .footer-center{left:20px;top:78px;width:calc(100% - 110px);font-size:8px;line-height:12px}
  .visual-wrap + .footer-text-overlay .footer-langs{right:14px;top:78px;font-size:8px}

  .visual-wrap + .footer-text-overlay + .cookie-text-overlay{min-height:185px;padding:18px 20px 20px}
  .visual-wrap + .footer-text-overlay + .cookie-text-overlay .cookie-icon{left:20px;top:20px;width:28px;height:29px}
  .visual-wrap + .footer-text-overlay + .cookie-text-overlay .cookie-copy{left:60px;top:18px;width:calc(100% - 80px);font-size:11px;line-height:1.5}
  .visual-wrap + .footer-text-overlay + .cookie-text-overlay .cookie-buttons{margin:18px 0 0 0;gap:8px;display:flex;flex-wrap:nowrap}
  .visual-wrap + .footer-text-overlay + .cookie-text-overlay .cookie-button{height:48px;font-size:10px;padding:0 6px}
  .visual-wrap + .footer-text-overlay + .cookie-text-overlay .cookie-button.settings{width:34%}
  .visual-wrap + .footer-text-overlay + .cookie-text-overlay .cookie-button.reject{width:29%}
  .visual-wrap + .footer-text-overlay + .cookie-text-overlay .cookie-button.accept{width:37%}

  /* Inner-page header matches the landing header proportions. */
  .contact-page-header,.legal-page-header{height:112px}
  .contact-page-header .header-brand-font,.legal-page-header .header-brand-font{left:22px;top:5px;font-size:39px;line-height:41px;transform:scaleX(1.06)}
  .contact-page-header .header-subtitle-font,.legal-page-header .header-subtitle-font{left:23px;top:51px;font-size:9px;letter-spacing:.7px}
  .contact-page-header .header-nav-font,.legal-page-header .header-nav-font{font-size:9px}
  .contact-page-header .header-nav-font .hn,.legal-page-header .header-nav-font .hn{top:79px}
  .contact-page-header .header-nav-font .home,.legal-page-header .header-nav-font .home{left:22px}
  .contact-page-header .header-nav-font .contact,.legal-page-header .header-nav-font .contact{left:91px}
  .contact-page-header .header-nav-font .imprint,.legal-page-header .header-nav-font .imprint{left:153px}
  .contact-page-header .header-nav-font .de,.legal-page-header .header-nav-font .de{right:76px}
  .contact-page-header .header-nav-font .it,.legal-page-header .header-nav-font .it{right:42px}
  .contact-page-header .header-nav-font .en,.legal-page-header .header-nav-font .en{right:9px}

  /* Legal pages: titles must fit the phone instead of breaking mid-word. */
  .legal-page-inner,.contact-page-inner{padding:36px 22px 55px}
  .privacy-page .contact-page-title{font-size:25px !important;line-height:1.12 !important;letter-spacing:0 !important;overflow-wrap:normal !important;word-break:normal !important;white-space:normal !important}
  .legal-page-wrap .contact-page-title{font-size:29px;line-height:1.1}
}

/* VERSION 19 – final mobile spacing correction.
   Fixes the landing-page footer/cookie overlap and keeps all mobile blocks
   inside their own vertical flow. Desktop and standalone-page layouts remain unchanged. */
@media (max-width:650px){
  /* Landing footer: reserve space for the language selector so the footer links
     never run underneath DE / IT / EN. */
  .visual-wrap + .footer-text-overlay{
    height:142px !important;
    min-height:142px !important;
    overflow:hidden;
  }
  .visual-wrap + .footer-text-overlay .footer-brand{
    left:20px !important;
    top:13px !important;
  }
  .visual-wrap + .footer-text-overlay .footer-center{
    left:20px !important;
    top:78px !important;
    width:calc(100% - 185px) !important;
    max-width:none !important;
    font-size:8px !important;
    line-height:13px !important;
    white-space:normal !important;
  }
  .visual-wrap + .footer-text-overlay .footer-langs{
    right:14px !important;
    top:79px !important;
    font-size:8px !important;
    line-height:13px !important;
  }

  /* Landing cookie banner: the copy must participate in normal flow. The
     previous absolute positioning caused the three buttons to sit on top of it. */
  .visual-wrap + .footer-text-overlay + .cookie-text-overlay{
    position:relative !important;
    left:auto !important;
    top:auto !important;
    width:100% !important;
    height:auto !important;
    min-height:210px !important;
    margin:0 !important;
    padding:18px 20px 22px !important;
    background:#111d22 !important;
    overflow:hidden !important;
    transform:none !important;
  }
  .visual-wrap + .footer-text-overlay + .cookie-text-overlay .cookie-icon{
    position:absolute !important;
    left:20px !important;
    top:20px !important;
    width:28px !important;
    height:29px !important;
  }
  .visual-wrap + .footer-text-overlay + .cookie-text-overlay .cookie-copy{
    position:relative !important;
    left:auto !important;
    top:auto !important;
    width:calc(100% - 42px) !important;
    margin:0 0 0 42px !important;
    padding:0 !important;
    font-size:11px !important;
    line-height:1.5 !important;
    white-space:normal !important;
  }
  .visual-wrap + .footer-text-overlay + .cookie-text-overlay .cookie-buttons{
    position:relative !important;
    left:auto !important;
    right:auto !important;
    top:auto !important;
    width:100% !important;
    margin:18px 0 0 !important;
    padding:0 !important;
    display:grid !important;
    grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) minmax(0,1.15fr) !important;
    gap:8px !important;
    transform:none !important;
  }
  .visual-wrap + .footer-text-overlay + .cookie-text-overlay .cookie-button,
  .visual-wrap + .footer-text-overlay + .cookie-text-overlay .cookie-button.settings,
  .visual-wrap + .footer-text-overlay + .cookie-text-overlay .cookie-button.reject,
  .visual-wrap + .footer-text-overlay + .cookie-text-overlay .cookie-button.accept{
    width:auto !important;
    min-width:0 !important;
    height:48px !important;
    padding:0 5px !important;
    font-size:10px !important;
    line-height:1.15 !important;
    white-space:normal !important;
    text-align:center !important;
  }
}

/* VERSION 20 – footer links/settings cleanup.
   The visible footer labels are now the real links themselves; no transparent
   overlay click areas are used. Language links always keep the current page. */
.footer-brand-link,
.footer-brand-link:visited,
.footer-link,
.footer-link:visited,
.footer-lang-link,
.footer-lang-link:visited{
  color:#fff;
  text-decoration:none;
  cursor:pointer;
  pointer-events:auto;
}
.footer-brand-link{display:block;color:#fff}
.footer-link:hover,.footer-lang-link:hover,.footer-brand-link:hover{text-decoration:underline}
.footer-lang-link.active{font-weight:700}
.footer-text-overlay .footer-center,
.footer-text-overlay .footer-langs{pointer-events:auto}
.footer-text-overlay .footer-center .sep,
.footer-text-overlay .footer-langs .sep{display:inline-block}
.footer-text-overlay .footer-cookie-link{pointer-events:auto}
.cookie-button{font-family:Arial,Helvetica,sans-serif;cursor:pointer;color:inherit;background:transparent}
.cookie-button.accept{background:#fff;color:#111}

@media(max-width:650px){
  .visual-wrap + .footer-text-overlay .footer-center{
    display:block;
    width:calc(100% - 185px) !important;
    white-space:normal !important;
  }
  .visual-wrap + .footer-text-overlay .footer-center > span,
  .visual-wrap + .footer-text-overlay .footer-center > a{display:inline}
  .visual-wrap + .footer-text-overlay .footer-langs{
    white-space:nowrap !important;
    pointer-events:auto !important;
  }
  .visual-wrap + .footer-text-overlay .footer-brand-link{pointer-events:auto}
  .site > .contact-page-wrap ~ .footer-text-overlay .footer-center,
  .site > .legal-page-wrap ~ .footer-text-overlay .footer-center{
    pointer-events:auto;
  }
}

/* VERSION 22/23 REQUEST – mobile only: move service icons and the complete
   service text content 40px downward. Background artwork and desktop layout
   remain unchanged. */
@media (max-width:650px){
  .middle-column.left .middle-icon,
  .middle-column.right .middle-icon{top:68px !important;}
  .middle-column.left .middle-title,
  .middle-column.right .middle-title{top:141px !important;}
  .middle-column.left .middle-description,
  .middle-column.right .middle-description{top:180px !important;}
  .middle-column.left .middle-list,
  .middle-column.right .middle-list{top:278px !important;}
}

/* VERSION 25 – mobile only: bring the service list text closer to the divider line. */
@media (max-width: 767px){
  .middle-column.left .middle-list,
  .middle-column.right .middle-list{top:248px !important;}
}

/* VERSION 24.1 – working cookie settings dialog. */
.footer-text-overlay .footer-cookie-link{
  appearance:none;
  -webkit-appearance:none;
  border:0;
  padding:0;
  margin:0;
  background:transparent;
  font:inherit;
  line-height:inherit;
}
.cookie-settings-dialog{
  position:fixed;
  inset:0;
  z-index:99999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(0,0,0,.72);
  box-sizing:border-box;
  pointer-events:auto;
}
.cookie-settings-dialog.is-open{display:flex}
.cookie-settings-panel{
  position:relative;
  width:min(520px,100%);
  box-sizing:border-box;
  padding:32px 34px 28px;
  background:#111d22;
  color:#fff;
  border:1px solid rgba(255,255,255,.28);
  box-shadow:0 18px 60px rgba(0,0,0,.55);
  font-family:Arial,Helvetica,sans-serif;
}
.cookie-settings-panel h2{
  margin:0 42px 18px 0;
  font-size:22px;
  line-height:1.2;
  letter-spacing:.04em;
}
.cookie-settings-panel p{
  margin:0 0 12px;
  font-size:13px;
  line-height:1.55;
}
.cookie-settings-close{
  position:absolute;
  right:14px;
  top:10px;
  width:34px;
  height:34px;
  border:0;
  background:transparent;
  color:#fff;
  font-size:28px;
  line-height:34px;
  cursor:pointer;
}
.cookie-settings-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  margin-top:22px;
}
.cookie-settings-actions .cookie-button{position:static;width:auto;min-width:120px;height:40px}
@media(max-width:650px){
  .cookie-settings-dialog{padding:16px}
  .cookie-settings-panel{padding:26px 22px 22px}
  .cookie-settings-panel h2{font-size:19px}
  .cookie-settings-panel p{font-size:12px}
  .cookie-settings-actions{flex-wrap:wrap}
  .cookie-settings-actions .cookie-button{flex:1 1 120px}
}
