/* Keep the original logo geometry and exact Contec blue, with real alpha.
   The green channel separates the original pale lettering from its navy field. */
.brand-filters{position:absolute;overflow:hidden;pointer-events:none}
.brand-mark{background:transparent;isolation:auto;mix-blend-mode:normal}
.brand-mark::after{content:none}
.brand .brand-mark img{filter:url(#contec-logo-ink);mix-blend-mode:normal}

/* Compact and touch-first. Desktop layout and media remain unchanged. */
@media(max-width:850px){
  :root{--page-pad:clamp(20px,4.6vw,32px)}
  html{scroll-padding-top:96px;-webkit-text-size-adjust:100%}
  body{min-width:0}
  .page-width,.hero-copy,.trade-copy,.trade-detail,.management-content,.center-service,.contact-heading,.contact-form,.form-row>div{min-width:0}
  .site-header{position:sticky;top:0;height:76px;gap:10px;padding:0 var(--page-pad);background:#112137}
  .site-header .brand{width:112px;flex:0 0 112px;gap:4px}
  .brand-overline{font-size:.5rem;letter-spacing:.08em}
  .header-contact{min-height:44px;padding:10px 12px;font-size:.875rem;gap:0;white-space:nowrap}
  .header-contact>span{display:none}
  .menu-toggle{width:44px;height:44px;flex:0 0 44px}
  .mobile-menu{top:100%;padding:8px var(--page-pad) 16px;max-height:calc(100dvh - 76px);overflow-y:auto;overscroll-behavior:contain}
  .mobile-menu a{min-height:50px;padding:13px 0;font-size:1rem;line-height:1.5}

  .hero{min-height:0;height:auto;max-height:none;overflow:visible}
  .hero-content{display:block;padding-top:22px;padding-bottom:24px}
  .hero-copy .eyebrow{white-space:normal;max-width:none;font-size:.75rem;margin-bottom:16px;letter-spacing:.08em}
  .hero-copy #hero-heading{font-size:clamp(2rem,9.3vw,3.75rem);line-height:1.12;max-width:100%;animation:none}
  .hero-copy #hero-heading .slogan-line{line-height:1.12;padding:.08em 0;margin:-.08em 0}
  .hero-copy #hero-heading .slogan-line>span{white-space:normal;overflow-wrap:break-word}
  .hero-copy .hero-intro{margin-top:18px;animation:none}
  .hero-service-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 14px;max-width:360px;font-size:.9375rem}
  .hero-copy .hero-experience{margin-top:16px;padding-bottom:0;border:0}
  .hero-experience::before,.hero-experience::after,.experience-energy{display:none}
  .hero-actions,.hero-experience+.hero-actions{grid-template-columns:1fr;gap:8px;margin-top:20px;max-width:none}
  .hero-action{min-height:52px;padding:13px 15px;align-items:center;gap:12px}
  .hero-action>span{min-width:0}
  .hero-action strong{font-size:.9375rem;line-height:1.5;overflow-wrap:break-word}
  .hero-action>b{align-self:center}
  .hero-stage,.hero-foot,.trade-panel>.trade-visual,.management-layout>.service-visual{display:none!important}

  .services,.references,.management-section,.contact{padding:28px 0}
  .section-meta{margin-bottom:14px;padding-bottom:9px}
  .section-meta .eyebrow{font-size:.8125rem}
  .services-lead,.center-heading{margin-bottom:16px}
  .services-lead h2,.management-content>h2,.contact-heading h2{font-size:clamp(1.8rem,7.4vw,2.75rem);line-height:1.2;letter-spacing:-.04em;overflow-wrap:break-word}
  .center-heading>h2{font-size:clamp(1.6rem,6.8vw,2.75rem);line-height:1.2;overflow-wrap:break-word}
  .trade-tabs{padding:6px}
  .trade-tabs button{flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:12px 7px;min-height:86px}
  .trade-tabs button span{font-size:.8125rem;line-height:1.4}
  .trade-tabs button strong{font-size:1rem;line-height:1.4;max-width:12ch;overflow-wrap:break-word;text-wrap:balance}
  .trade-indicator{top:6px;bottom:6px;left:6px;width:calc(50% - 6px)}
  .trade-panels{grid-template-rows:auto auto;row-gap:14px}
  .trade-panels>.trade-panel{grid-template-columns:minmax(0,1fr);grid-template-areas:'copy' 'detail';grid-template-rows:subgrid;padding:20px 18px;column-gap:0;row-gap:14px}
  .trade-copy h3{font-size:clamp(1.85rem,7.3vw,2.5rem);line-height:1.17;margin:10px 0 14px;overflow-wrap:break-word}
  .trade-copy>p:not(.eyebrow){font-size:1rem;line-height:1.6;max-width:none}
  .trade-detail{gap:14px;padding:0}
  .trade-points{margin:0}
  .trade-points li{font-size:1.0625rem;line-height:1.5;padding:10px 0;gap:10px;overflow-wrap:break-word}
  .trade-scope{font-size:1rem;line-height:1.5}
  .button,.trade-detail .button,.management-content .button,.center-service .button,.success-cta,.contact-form .button{min-height:50px;padding:13px 15px;gap:12px;font-size:.9375rem;line-height:1.5;white-space:normal}
  .button>.arrow-icon,.button>span[aria-hidden]{flex:0 0 20px}
  .button .arrow-icon{width:20px;height:20px}

  .management-layout{grid-template-columns:minmax(0,1fr);gap:0}
  .management-content>h2{margin:12px 0 14px}
  .management-promise{max-width:none;font-size:1rem;line-height:1.65}
  .management-points{margin:16px 0 18px}
  .management-points li{font-size:1rem;line-height:1.55;padding:11px 0;gap:11px}
  .management-content .button{width:100%}
  .owner-statement{grid-template-columns:minmax(0,1fr);gap:10px;margin-top:20px;padding-top:18px}
  .owner-statement h3{font-size:1.75rem;line-height:1.25;max-width:none}
  .owner-statement p{font-size:1rem;line-height:1.65}
  .center-heading{display:flex;flex-direction:column;align-items:stretch;gap:16px}
  .center-service{max-width:none}
  .center-service h3{font-size:1.4rem;line-height:1.35}
  .center-service p{font-size:1rem;line-height:1.6;max-width:none}
  .center-service .button{width:100%;margin-top:16px}

  .success-grid{grid-template-columns:minmax(0,1fr);gap:16px}
  .success-card{height:auto}
  .success-photo{height:auto;background:#0e2034}
  .success-photo img{width:100%;height:auto;object-fit:contain;transform:none;will-change:auto}
  .success-photo::after{display:none}
  .success-photo-caption{position:static;padding:16px 18px 0}
  .success-photo-caption h3{font-size:1.3rem;line-height:1.3;overflow-wrap:break-word;margin-bottom:3px}
  .success-photo-caption>span{font-size:.875rem}
  .success-body{padding:16px 18px;gap:12px}
  .success-graph{height:85px;margin-top:10px}
  .graph-values>span{font-size:1.25rem}
  .graph-values>strong{font-size:2.3rem}
  .graph-values{gap:12px}
  .graph-values>span,.graph-values>strong{min-width:0;flex:1;overflow-wrap:anywhere}
  .graph-values small{font-size:.8125rem;line-height:1.4}
  .success-copy h4{font-size:1.25rem;line-height:1.35}
  .success-copy p{font-size:1rem;line-height:1.55}
  .success-cta{margin:0 18px 18px}
  .vacancy-invitation{grid-template-columns:minmax(0,1fr) 108px;gap:10px;padding-left:10px;margin-top:15px;align-items:center}
  .vacancy-copy{min-width:0;hyphens:auto;overflow-wrap:break-word}
  .vacancy-copy h4{font-size:1rem;line-height:1.4}
  .vacancy-copy p{font-size:.875rem;line-height:1.5}
  .vacancy-invitation .vacancy-cta{width:100%;min-width:0;min-height:48px;padding:12px 8px;font-size:.8125rem;line-height:1.5;text-align:center}
  .vacancy-cta .arrow-icon{display:none}

  .contact-layout{grid-template-columns:minmax(0,1fr);gap:20px;margin:0}
  .contact-heading h2{margin-bottom:16px}
  .contact-heading p{font-size:1rem;line-height:1.6;max-width:none;margin-bottom:18px}
  .contact-emails{gap:14px;margin-top:14px}
  .contact-mail{font-size:1rem;gap:10px;min-height:56px;letter-spacing:0}
  .contact-mail-copy{gap:4px;min-width:0}
  .contact-mail-copy strong{font-size:1rem;overflow-wrap:anywhere}
  .contact-mail-copy small{font-size:.875rem}
  .contact-phone{min-height:48px;font-size:1.125rem}
  .contact-form{padding:20px 16px;gap:10px;max-width:100%}
  .contact-form .form-row{grid-template-columns:minmax(0,1fr);gap:10px}
  .contact-form label{font-size:.875rem}
  .contact-form input,.contact-form select,.contact-form textarea{font-size:1rem;line-height:1.5;min-height:48px;padding:12px;max-width:100%}
  .contact-form textarea{min-height:112px}
  .contact-form select{padding-right:24px;text-overflow:ellipsis}
  .form-extra summary{display:block;font-size:.875rem;line-height:1.5;padding:12px 0;min-height:44px}
  .form-extra summary>span{margin-left:5px;font-size:.75rem}
  .contact-form .button{width:100%;justify-self:stretch}
  .contact-form .form-note{font-size:.8125rem;line-height:1.5}
  .request-subject{overflow-wrap:anywhere}

  .site-footer .page-width{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 10px;padding-top:16px;padding-bottom:calc(12px + env(safe-area-inset-bottom))}
  .site-footer .footer-top,.site-footer .footer-bottom{display:contents}
  .footer-identity{grid-column:1 / -1;grid-row:1;width:100%;gap:18px;min-width:0;padding-bottom:12px;border-bottom:1px solid #ffffff12}
  .site-footer .footer-identity .brand{width:112px;flex:0 0 112px}
  .footer-address{font-size:.875rem;line-height:1.6;padding-left:16px;min-width:0;overflow-wrap:break-word}
  .site-footer .back-top{grid-column:2;grid-row:3;justify-self:end;margin:0;min-height:44px;gap:6px;font-size:.8125rem;line-height:1.5}
  .site-footer .back-top .arrow-icon{width:16px;height:16px;flex-basis:16px}
  .footer-bottom{font-size:.8125rem}
  .footer-bottom>span:first-child{grid-column:1 / -1;grid-row:2;padding-top:8px;line-height:1.5}
  .footer-bottom>div{grid-column:1;grid-row:3;gap:14px;min-width:0;flex-wrap:wrap}
  .footer-bottom a,.footer-bottom button{display:inline-flex;min-height:44px;align-items:center}
  dialog{width:calc(100% - 32px);max-height:calc(100dvh - 32px);padding:44px 20px 24px;overflow-wrap:anywhere}
  dialog h2{font-size:1.75rem}
  dialog .dialog-close{width:44px;height:44px;top:3px;right:5px}

  .motion-ready .reveal:not(.visible){opacity:1;transform:none}
  .reveal,.management-points li,.owner-statement{transition:none}
  .fully-let{animation:none;background:none;color:#c9b17b}
}

@media(max-width:850px) and (hover:none){
  .button:hover,.hero-action:hover,.button:hover .arrow-icon,.hero-action:hover .arrow-icon{transform:none}
  .button::after,.trade-points li::after{display:none}
}
