/* SmartTech shared reading scale. Orange, imagery and the existing card design are retained. */
body{font-family:Arial,Helvetica,sans-serif;color:#47596d}
#content.service-layout,#content.about-layout,#content.contact-page{display:block;float:none;width:100%;box-sizing:border-box;margin:0;padding:52px 0 60px}
#content .service-page-shell,#content .about-page-shell{max-width:960px;width:100%;margin:0 auto}
#content .page-hero{margin:0 0 32px;padding:0 0 22px;border-bottom:3px solid #f45112}
#content .page-hero h1{font-size:40px!important;line-height:1.15!important;margin:0!important}
#content .page-kicker{font-size:12px;line-height:1.5;letter-spacing:2px;margin-bottom:8px}
#content .page-body,#content #page-content,#content .service-page,#content .legal-imprint,#content .about-copy,#content .contact-information,#content .wpcf7{font-size:17px!important;line-height:1.7!important;color:#47596d}
#content .page-body p,#content .contact-information p,#content .wpcf7 p{font-size:17px!important;line-height:1.7!important;margin:0 0 20px}
#content .page-body h2,#content.contact-page h2{font-size:28px!important;line-height:1.2!important;margin:32px 0 14px}
#content .page-body h3{font-size:21px!important;line-height:1.25!important;margin:0 0 12px}
#content .service-page{max-width:none}
#content .service-lead{font-size:18px!important;line-height:1.65!important;max-width:900px;margin:0 0 30px;padding:0;border:0;color:#40536a}
#content .content-section{margin:32px 0}
#content .content-section p{max-width:900px}
#content .service-grid{margin:28px 0 34px;gap:20px;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
#content .service-card{padding:23px 22px;min-height:0;background:#f5f7f9;border-top:3px solid #f45112}
#content .service-card p{font-size:17px!important;margin:0;line-height:1.65!important}
#content .service-steps li{font-size:17px;line-height:1.7;padding-top:15px;padding-bottom:15px}
#content .service-cta{padding:28px 30px;margin:36px 0 0}
#content .service-cta h2{color:#fff;margin:0 0 12px}
#content .service-cta p{color:#edf1f5;max-width:800px}
#content .profile-contact-link,#content .service-cta a,#content input[type=submit]{font-size:16px!important;line-height:1.4!important;padding:12px 20px;border-radius:4px}
#content .about-feature{display:block}
#content .about-feature #page-content{width:100%;max-width:none}
#content .profile-section{margin:32px 0;grid-template-columns:300px minmax(0,1fr);gap:32px}
#content .profile-section-reverse{grid-template-columns:minmax(0,1fr) 300px}
#content .profile-section-copy h2{margin:0 0 14px}
#content .profile-image{width:300px;max-width:100%;height:auto}
#content .profile-ai{padding-top:26px;margin:30px 0;border-top:1px solid #e2e6ea}
#content .legal-imprint{max-width:820px;margin:0;padding:0}
#content.contact-page .contact-page-columns{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:55px}
#content.contact-page .three_fifth,#content.contact-page .two_fifth{float:none;width:100%;margin:0;min-width:0}
#content.contact-page .contact-information h2,#content.contact-page .widget h2{font-size:28px!important;line-height:1.2!important;margin:0 0 22px!important}
#content.contact-page .address dt{font-size:18px;line-height:1.6}
#content.contact-page .address dd{font-size:17px;line-height:1.7}
#content .wpcf7 input[type=text],#content .wpcf7 input[type=email],#content .wpcf7 textarea{font-size:17px!important;line-height:1.5;width:100%;max-width:100%;box-sizing:border-box;padding:10px 12px;min-height:44px;background:#f8fafb;border:1px solid #c7d0d8;border-radius:3px;color:#202a35}
#content .wpcf7 textarea{min-height:180px}
#content .wpcf7 p:empty,#content.contact-page>.hr{display:none}
#content .wpcf7 input:focus,#content .wpcf7 textarea:focus{outline:2px solid #f45112;outline-offset:2px}
a:focus-visible,input:focus-visible{outline:2px solid #f45112;outline-offset:3px}
/* Cards retain their existing illustrations, with readable text and room to grow. */
body .ascon-top-card-desc,body .ascon-card-desc{font-size:16px!important;line-height:1.6!important}
body .ascon-top-card-title,body .ascon-card-title{font-size:22px!important;line-height:1.2!important}
body .ascon-top-card{padding:24px 20px!important;min-height:355px!important}
body .ascon-card{min-height:325px!important}
body .ascon-card-content{max-width:85%!important;height:auto!important;flex:1}
body .ascon-card:before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(255,255,255,.98) 15%,rgba(255,255,255,.93) 55%,rgba(255,255,255,.2));z-index:1;pointer-events:none}
body .ascon-card-btn,body .ascon-card-sub-link,body .ascon-card-sub-text{font-size:14px!important;line-height:1.5!important}
body .ascon-card-btn{padding:9px 16px!important}
#widget-footer{font-size:16px;line-height:1.65}
#widget-footer .widget,#widget-footer p,#widget-footer .text,#widget-footer .menu a{font-size:16px!important;line-height:1.65!important}
#widget-footer h3{font-size:26px!important;line-height:1.2}
#widget-footer h5{font-size:16px;line-height:1.5}
#footer .copyright{font-size:13px!important;line-height:1.7;color:#9caebd;text-transform:none}
#footer .legal-footer-note{font-size:12px;line-height:1.7;color:#9caebd;opacity:1;text-transform:none}
/* The old 960px grid also needs an explicit narrow-screen container. */
@media(max-width:980px){
html,body{min-width:0!important;width:100%!important}
#main{width:100%;min-width:0}
#main>.container_16,#header .container_16,nav.primary .container_16,#slider-wrapper .container_16,#footer .container_16{width:100%!important;box-sizing:border-box}
.primary_content_wrap{padding:0 24px!important}
#content.service-layout,#content.about-layout,#content.contact-page{padding:40px 0;width:100%;margin:0}
#header .grid_16,nav.primary .grid_16,#slider-wrapper .grid_16{width:100%;margin:0;box-sizing:border-box}
#header .logo{left:24px}
#header .logo img{max-width:calc(100vw - 80px)!important}
body .ascon-top-cards,body .ascon-bottom-cards{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))}
#content .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
#content .profile-section{grid-template-columns:260px minmax(0,1fr);gap:24px}
#content .profile-section-reverse{grid-template-columns:minmax(0,1fr) 260px}
#footer .container_16{padding:0 24px}
#footer .grid_8{width:55%;margin:0 5% 0 0}
#footer .grid_3{width:35%;padding:0;margin:0}
#footer .copyright .grid_16{width:100%;margin:0}
}
@media(max-width:767px){
#content .page-hero h1{font-size:34px!important}
#content .profile-section,#content .profile-section-reverse,#content.contact-page .contact-page-columns{grid-template-columns:1fr;gap:24px}
#content .profile-section-reverse .profile-image,#content .profile-section-reverse .profile-section-copy{grid-column:auto;grid-row:auto}
#content .profile-image{width:300px;max-width:100%}
#content .service-grid{grid-template-columns:1fr}
#content .service-cta{padding:24px}
body .ascon-top-cards-section{padding:30px 0!important}
body .ascon-top-cards,body .ascon-bottom-cards{grid-template-columns:1fr}
body .ascon-top-card,body .ascon-card{min-height:0!important}
body .ascon-card-content{max-width:90%!important}
#header .logo a{padding-right:0!important;border-right:0!important}
nav.primary{overflow:visible}
#topnav{display:flex;flex-wrap:wrap;float:none;width:100%;margin:0;padding:0}
#topnav>li{float:none;flex:1 1 45%;margin:0;text-align:center}
#topnav>li>a{padding:18px 8px!important;white-space:nowrap;font-size:18px}
#footer .grid_8,#footer .grid_3{float:none;width:100%;padding:0;margin:0 0 28px}
#slider-wrapper{overflow:hidden}
#slider-wrapper .container_16{max-width:100%}
}
#content.contact-page .contact-page-columns h2{font-size:28px!important;line-height:1.2!important;margin:0 0 22px!important}
#content .wpcf7 input[type=submit]{width:auto!important;height:auto!important;min-height:44px;box-sizing:border-box;white-space:normal;background:#f45112;color:#fff;border:0;font-weight:bold;cursor:pointer}
#widget-footer .inner,#widget-footer .box,#widget-footer .box-text{color:#c8d3dd}
#widget-footer .grid_3{width:240px;padding:0}
@media(max-width:767px){#widget-footer .grid_3{width:100%}}
@media(max-width:767px){
nav.primary,nav.primary .container_16,nav.primary .grid_16{height:auto!important;min-height:0!important;float:none}
#topnav>li{height:auto!important}
#topnav>li>a{height:auto!important;line-height:1.4!important;display:block;box-sizing:border-box;width:100%!important;padding:16px 8px!important}
}
@media(max-width:767px){
nav.primary .grid_16{display:block!important}
nav.primary #topnav{position:static!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;top:auto;left:auto}
nav.primary #topnav>li{width:100%!important;min-width:0;box-sizing:border-box;background:#ed4800}
nav.primary #topnav>li>a{font-size:18px!important}
}
/* Compact homepage previews: the detailed explanations belong on the destination pages. */
body .ascon-top-card{min-height:280px!important;padding:22px 18px 18px!important}
body .ascon-top-card-title{font-size:20px!important}
body .ascon-top-card-desc,body .ascon-card-desc{font-size:14px!important;line-height:1.5!important}
body .ascon-card{min-height:210px!important;padding:18px 16px!important}
body .ascon-card:before{display:none!important}
body .ascon-card-content{max-width:54%!important}
body .ascon-card-title{font-size:21px!important}
body .ascon-card-btn{font-size:12px!important;padding:7px 12px!important}
body .ascon-card-sub-link,body .ascon-card-sub-text{font-size:12px!important}
body .ascon-card-sub{min-width:0}
@media(max-width:767px){body .ascon-top-card{min-height:0!important}body .ascon-card{min-height:210px!important}body .ascon-card-content{max-width:58%!important}}

/* Keep the company disclosure subordinate to the copyright line. */
#footer .legal-footer-note{
  margin-top:6px;
  font-size:10px!important;
  line-height:1.45!important;
  color:#42515f!important;
  opacity:.72!important;
  text-transform:none;
}

/* Seven direct destinations fit the original 940px navigation grid. */
#topnav > li > a{
  height:90px;
  display:flex!important;
  align-items:center;
  justify-content:center;
  line-height:1.15!important;
  box-sizing:border-box;
}
@media(max-width:767px){
  #topnav > li > a{height:auto!important;min-height:58px;line-height:1.2!important}
}

/* Compact main navigation with a readable service submenu. */
#topnav > li > a{height:90px;display:block!important;line-height:90px!important}
#topnav > li.menu-item-has-children > a{padding-right:24px!important}
#topnav > li > .sub-menu{width:250px;box-sizing:border-box;padding:10px 0}
#topnav > li > .sub-menu li{width:100%}
#topnav > li > .sub-menu li a{width:auto;min-height:38px;margin:0;padding:10px 18px;box-sizing:border-box;text-align:left;text-transform:none;font-size:14px;line-height:1.25}
@media(max-width:767px){
  #topnav > li > a{height:auto!important;line-height:1.35!important;padding:16px 8px!important}
  #topnav > li.menu-item-has-children{grid-column:1/-1}
  #topnav > li > .sub-menu{position:static!important;display:block!important;width:100%;padding:0;background:#d84200}
  #topnav > li > .sub-menu li{display:block;width:100%}
  #topnav > li > .sub-menu li a{display:block;width:100%;padding:12px 20px;text-align:center;color:#fff;line-height:1.3}
}

/* Footer remains a short overview; detail links live in the header submenu. */
#widget-footer .sub-menu{display:none!important}

/* Keep the service dropdown visually closed, including the active destination. */
#topnav > li > .sub-menu li.current-menu-item > a,
#topnav > li > .sub-menu li.current_page_item > a{
  color:#fff!important;
  background:#d84200!important;
}
#topnav > li > .sub-menu li a:hover,
#topnav > li > .sub-menu li a:focus{
  color:#fff!important;
  background:#c83b00!important;
}

/* Give the active white main-navigation item a closed lower edge. */
#topnav > li.current-menu-item > a,
#topnav > li.current_page_item > a,
#topnav > li.current-menu-ancestor > a,
#topnav > li.current-page-ancestor > a{
  box-shadow:inset 0 -4px 0 #ed4800;
}

/* The service menu opens only through its arrow button, never on hover. */
#topnav > li:hover > .sub-menu,
#topnav > li.sfHover > .sub-menu{left:auto!important;top:-999em!important}
#topnav > li.is-open > .sub-menu{left:0!important;top:91px!important}
#topnav > li.menu-item-has-children{position:relative}
#topnav > li > .service-menu-toggle{
  position:absolute;right:8px;top:32px;width:24px;height:26px;padding:0;border:0;
  background:transparent;color:#fff;cursor:pointer;z-index:101;
}
#topnav > li > .service-menu-toggle:after{content:'▾';font-size:16px;line-height:1}
#topnav > li > .service-menu-toggle[aria-expanded='true']:after{content:'▴'}
@media(max-width:767px){
  #topnav > li > .service-menu-toggle{top:15px;right:16px}
  #topnav > li > .sub-menu{display:none!important}
  #topnav > li.is-open > .sub-menu{position:static!important;display:block!important;width:100%;padding:0}
}

/* A service submenu uses its own parent as the active item while it is visible. */
#topnav > li > .service-menu-toggle{display:none!important}
#topnav > li:hover > .sub-menu,
#topnav > li.sfHover > .sub-menu{left:0!important;top:91px!important}
#topnav.menu-subnav-open > li.current-menu-item:not(.menu-item-has-children) > a,
#topnav.menu-subnav-open > li.current_page_item:not(.menu-item-has-children) > a{
  color:#fff!important;
  background:#ed4800!important;
  box-shadow:none!important;
}
#topnav.menu-subnav-open > li.menu-item-has-children.sfHover > a,
#topnav.menu-subnav-open > li.menu-item-has-children:hover > a{
  color:#222c36!important;
  background:#fff!important;
  box-shadow:inset 0 -4px 0 #ed4800!important;
}
@media(max-width:767px){
  #topnav > li > .sub-menu{display:none!important}
  #topnav > li.sfHover > .sub-menu{position:static!important;display:block!important;width:100%;padding:0}
}

/* Active navigation uses the restrained dark-orange state instead of white. */
#topnav > li.current-menu-item > a,
#topnav > li.current_page_item > a,
#topnav > li.current-menu-ancestor > a,
#topnav > li.current-page-ancestor > a,
#topnav.menu-subnav-open > li.menu-item-has-children.sfHover > a,
#topnav.menu-subnav-open > li.menu-item-has-children:hover > a,
#topnav > li.sfHover > a,
#topnav > li > a:hover{
  color:#fff!important;
  background:#d84200!important;
  box-shadow:inset 0 -4px 0 #c83b00!important;
}

/* ASCON branding and existing footer content remain site-specific. */
html,body,#main{background:#fff!important}
body{min-height:100vh}
#main{min-height:100vh;display:flex;flex-direction:column}
#main>#content{flex:1}
#footer{margin-top:auto}
#widget-footer .sub-menu{display:none!important}
#content.contact-page .contact-information .widget > h2{display:none!important}
