﻿
/* PORT AZUR v1.0.1 — visual polish and technical tools */
body{font-weight:400;letter-spacing:-.002em}
p{font-weight:400}
h1{font-weight:760}h2{font-weight:730}h3{font-weight:680}
.btn{font-weight:650;letter-spacing:.04em;border-radius:0;padding-inline:18px}
.site-nav{gap:18px}.site-nav a{font-weight:620}
.kicker,.section-code{font-weight:650;letter-spacing:.10em}.eyebrow{font-weight:650}
/* remove visual noise from legacy section codes even if a page still contains one */
.section-code:empty{display:none}
.tool-strip{background:#0a1117;border-bottom:1px solid rgba(23,136,255,.18)}
.tool-strip-inner{min-height:72px;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:26px}.tool-strip-copy strong{display:block;font-size:.86rem}.tool-strip-copy span{display:block;margin-top:2px;color:#7f909d;font-size:.75rem}.tool-strip a{font-size:.78rem;font-weight:620;color:#c9d5dd}.tool-strip a span{color:#1788FF;margin-left:8px}
.compact-hero{padding-bottom:58px}.compact-hero h1{max-width:1000px}.compact-hero p{max-width:820px}
.directory-section{padding-top:74px!important}.directory-toolbar{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:30px}.directory-toolbar h2{font-size:clamp(2rem,3.7vw,4rem)}.directory-toolbar p{margin-top:10px;max-width:700px}.subtle-tool-link{font-size:.78rem;font-weight:650;color:#0057C7;white-space:nowrap}
.directory-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#ccd3d7;border:1px solid #ccd3d7}.directory-card{min-height:230px;background:#f7f8f9;color:#10171d;padding:26px;display:flex;flex-direction:column}.directory-card:hover{background:#eef3f6}.directory-card-top span{display:block;color:#66747e;font-size:.76rem}.directory-card-top b{display:block;margin-top:25px;font-size:2.35rem;letter-spacing:-.035em}.directory-card p{margin-top:9px;color:#64717a;font-size:.83rem}.directory-card-link{margin-top:auto;padding-top:28px;color:#164b77;font-size:.74rem;font-weight:650;text-transform:uppercase;letter-spacing:.05em}
.material-page-hero{padding:calc(var(--header-h) + 72px) 0 54px;background:linear-gradient(135deg,#132331,#071019);border-bottom:1px solid var(--line)}.material-page-hero .crumb{color:#8fa9bd;font-size:.76rem}.material-page-hero h1{margin-top:34px;font-size:clamp(4rem,9vw,8rem)}.material-page-hero> .container>p{font-size:1.05rem;color:#c5d0d8}.material-summary{display:flex;gap:36px;flex-wrap:wrap;margin-top:30px;padding-top:22px;border-top:1px solid var(--line)}.material-summary span{font-size:.8rem;color:#8fa0ac}.material-summary b{color:#fff}
.material-data{padding-top:74px!important}.content-heading{display:grid;grid-template-columns:1fr minmax(300px,.65fr);gap:50px;align-items:end}.content-heading p{max-width:560px}.standard-panel{display:grid;grid-template-columns:1fr 1fr;margin-top:34px;border:1px solid #ccd3d7;background:#fff}.standard-panel>div{padding:24px;border-right:1px solid #d9dfe3}.standard-panel>div:last-child{border-right:0}.standard-panel span{display:block;color:#78848c;font-size:.7rem;text-transform:uppercase;letter-spacing:.07em}.standard-panel strong{display:block;margin-top:9px;font-size:1.05rem}.standard-panel p{margin-top:7px;font-size:.82rem}
.table-block,.property-section{margin-top:42px}.table-block h3,.property-section h3{font-size:1.3rem;margin-bottom:16px}.tech-table{width:100%;border-collapse:collapse;background:#fff}.tech-table th,.tech-table td{padding:13px 16px;border:1px solid #dce1e4;text-align:left;font-size:.84rem}.source-note{margin-top:9px;font-size:.72rem}.property-grid-v1{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.property-card{background:#fff;border:1px solid #d7dde1}.property-card header{padding:18px}.property-card header strong,.property-card header span,.property-card header b{display:block}.property-card header span{margin-top:5px;color:#68757e;font-size:.78rem}.property-card header b{margin-top:8px;font-size:.78rem}.property-card table{width:100%;border-collapse:collapse}.property-card th,.property-card td{padding:10px 18px;border-top:1px solid #edf0f2;text-align:left;font-size:.8rem}.property-card th{font-weight:500}.property-card footer{padding:10px 18px;color:#75818a;font-size:.68rem;border-top:1px solid #edf0f2}
.plain-cta{background:#0b1117;border-top:1px solid rgba(23,136,255,.18)}.plain-cta .container{min-height:210px;display:flex;align-items:center;justify-content:space-between;gap:40px}.plain-cta h2{font-size:clamp(2rem,3vw,3.3rem)}.plain-cta p{margin-top:10px;max-width:680px}
.calc-shell{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:34px;align-items:start}.mass-form{background:#fff;border:1px solid #d6dce0;padding:28px}.form-heading h2{font-size:2.2rem}.form-heading p{margin-top:9px}.calc-grid,.shape-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:24px}.mass-form label{display:block;color:#27323a;font-size:.72rem;font-weight:650;text-transform:uppercase;letter-spacing:.045em}.mass-form input,.mass-form select{width:100%;height:49px;margin-top:7px;padding:0 12px;border:1px solid #cbd2d7;background:#fff;color:#11171c;border-radius:0}.form-error{margin:18px 0;padding:11px 13px;border-left:3px solid #b94c4c;background:#f8ecec;color:#873c3c;font-size:.82rem}.mass-form button{margin-top:22px}.mass-result{position:sticky;top:calc(var(--header-h) + 24px);background:#0b1117;padding:28px;border:1px solid rgba(23,136,255,.25)}.mass-result>span{color:#8ea4b5;font-size:.72rem;text-transform:uppercase;letter-spacing:.07em}.result-row{margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}.result-row small{display:block;color:#8ea0ad}.result-row strong{display:block;margin-top:6px;font-size:1.9rem;font-weight:650}.mass-result p{margin-top:23px;font-size:.79rem}.mass-result a{display:block;margin-top:22px;padding-top:16px;border-top:1px solid var(--line);color:#1788FF;font-size:.75rem;font-weight:650;text-transform:uppercase;letter-spacing:.045em}
@media(max-width:1180px){.site-nav{gap:12px}.site-nav a{font-size:.65rem}.utility-nav-item:before{display:none}}
@media(max-width:900px){.tool-strip-inner{grid-template-columns:1fr 1fr}.tool-strip-copy{grid-column:1/-1;padding-top:14px}.tool-strip a{padding-bottom:14px}.directory-grid{grid-template-columns:1fr 1fr}.content-heading,.calc-shell{grid-template-columns:1fr}.mass-result{position:static}.property-grid-v1{grid-template-columns:1fr}}
@media(max-width:620px){.directory-toolbar{align-items:flex-start;flex-direction:column}.directory-grid{grid-template-columns:1fr}.plain-cta .container{padding-top:34px;padding-bottom:34px;align-items:flex-start;flex-direction:column}.calc-grid,.shape-fields{grid-template-columns:1fr}.mass-form{padding:20px}.standard-panel{grid-template-columns:1fr}.standard-panel>div{border-right:0;border-bottom:1px solid #d9dfe3}.standard-panel>div:last-child{border-bottom:0}}

/* v1.0.2 industrial content */
.site-nav a{white-space:nowrap}
.tool-strip-copy strong{font-weight:700}
.material-card .code{display:none}
@media(max-width:1180px){
  .site-nav{gap:16px}
  .site-nav a{font-size:.72rem}
}


/* v1.0.3 — Russian visual polish */
.format-work-head{
  align-items:end;
  grid-template-columns:minmax(0,1.55fr) minmax(310px,.72fr);
  column-gap:clamp(48px,6vw,108px);
}
.format-work-title{max-width:980px}
.format-work-note{
  align-self:end;
  max-width:470px;
  margin-bottom:.2em;
  padding:17px 0 4px 24px;
  border-left:2px solid #1788FF;
  position:relative;
}
.format-work-note::before{
  content:"";
  position:absolute;
  left:-2px;
  top:0;
  width:58px;
  height:2px;
  background:#1788FF;
}
.format-work-note span{
  display:block;
  margin-bottom:10px;
  color:#1788FF;
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.09em;
}
.format-work-note p{
  margin:0!important;
  max-width:430px!important;
  color:#9fb3c2;
  line-height:1.55;
}
.slow-zoom{overflow:hidden}
.slow-zoom img{
  width:100%;
  height:100%;
  object-fit:cover;
  will-change:transform;
  animation:portAzurDrift 12s ease-in-out infinite;
}
.slow-zoom-b img{animation-name:portAzurDriftReverse}
.slow-zoom-c img{animation-duration:13s}
@keyframes portAzurDrift{
  0%{transform:scale(1.000) translate3d(-.15%,.10%,0)}
  50%{transform:scale(1.035) translate3d(.35%,-.25%,0)}
  100%{transform:scale(1.000) translate3d(-.15%,.10%,0)}
}
@keyframes portAzurDriftReverse{
  0%{transform:scale(1.015) translate3d(.25%,-.10%,0)}
  50%{transform:scale(1.045) translate3d(-.35%,.20%,0)}
  100%{transform:scale(1.015) translate3d(.25%,-.10%,0)}
}
@media(prefers-reduced-motion:reduce){
  .slow-zoom img{animation:none!important;transform:none!important}
}
@media(max-width:900px){
  .format-work-head{grid-template-columns:1fr;gap:26px}
  .format-work-note{justify-self:start;max-width:620px}
}


/* v1.0.4 — production polish */
.hero-media-v104 picture{position:absolute;inset:0;display:block;z-index:1;overflow:hidden}
.hero-media-v104 picture img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%;animation:heroBreathV104 16s ease-in-out infinite;will-change:transform}
@keyframes heroBreathV104{0%,100%{transform:scale(1.01)}50%{transform:scale(1.045)}}
.section-head.attached-head p,.section-head>p{border-left:2px solid #1788FF;padding-left:20px;align-self:end}
.light .section-head>p{color:#65737d}
.production-copy-v104{padding:clamp(28px,4vw,64px)!important}
.production-copy-v104 h2{margin-bottom:18px}
.production-lead-v104{max-width:720px!important}
.process-grid-v104{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(255,255,255,.13);border-left:1px solid rgba(255,255,255,.13);margin-top:30px}
.process-grid-v104 article{padding:22px;border-right:1px solid rgba(255,255,255,.13);border-bottom:1px solid rgba(255,255,255,.13);min-height:170px}
.process-grid-v104 span{display:block;color:#1788FF;font-size:.68rem;font-weight:800;letter-spacing:.08em;margin-bottom:16px}
.process-grid-v104 strong{display:block;font-size:.92rem;text-transform:uppercase}
.process-grid-v104 p{font-size:.82rem;margin-top:8px!important;color:#9fb3c2!important;line-height:1.5}
.directory-hero-v104 p.directory-hero-note{max-width:820px;margin-top:22px;border-left:2px solid #1788FF;padding-left:20px}
.directory-toolbar-v104{align-items:end}
.directory-controls{margin:26px 0 30px;display:grid;grid-template-columns:minmax(260px,420px) 1fr auto;gap:20px;align-items:end}
.directory-search span{display:block;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;margin-bottom:7px;color:#5e6c75}
.directory-search input{width:100%;height:48px;border:1px solid #bcc7cd;background:#fff;color:#10171d;padding:0 14px;font:inherit;outline:none}
.directory-search input:focus{border-color:#006FF7;box-shadow:0 0 0 2px rgba(0,111,247,.12)}
.directory-filter-row{display:flex;gap:7px;flex-wrap:wrap}
.directory-filter-row button{border:1px solid #c8d1d6;background:#f7f8f9;color:#44535e;padding:9px 11px;font:700 .68rem inherit;cursor:pointer}
.directory-filter-row button:hover,.directory-filter-row button.active{background:#0b1b29;color:#fff;border-color:#0b1b29}
.directory-result-meta{font-size:.76rem;color:#64717a;white-space:nowrap;padding-bottom:11px}
.directory-empty{padding:40px;border:1px solid #ccd3d7;background:#f7f8f9;text-align:center;color:#64717a}
.directory-more-link{margin-top:26px}
.company-documents{border-top:1px solid #d3dadd}
.document-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#cbd3d8;border:1px solid #cbd3d8}
.document-slot{background:#f7f8f9;padding:28px;min-height:280px;display:flex;flex-direction:column}
.document-slot>span{font-size:.66rem;color:#006FF7;font-weight:800}
.document-slot h3{font-size:1.35rem;margin-top:26px;text-transform:uppercase}
.document-slot p{font-size:.82rem;color:#68757d;margin-top:12px}
.document-slot a{margin-top:auto;padding-top:22px;font-size:.72rem;text-transform:uppercase;font-weight:750;color:#0057C7}
.material-checklist{margin-top:28px}
.reference-note{margin-top:22px}
.brand-test-toggle{position:fixed;right:18px;bottom:18px;z-index:9999;background:#071019;color:#fff;border:1px solid rgba(23,136,255,.5);box-shadow:0 10px 30px rgba(0,0,0,.28);padding:8px;display:flex;align-items:center;gap:8px;font-size:.72rem}
.brand-test-toggle button{background:#153a5b;color:#fff;border:0;padding:8px 10px;font:700 .7rem inherit;cursor:pointer}
.brand-test-toggle span{color:#9fb3c2}
@media(max-width:1050px){.document-grid{grid-template-columns:1fr 1fr}.directory-controls{grid-template-columns:1fr}.directory-result-meta{padding:0}.process-grid-v104{grid-template-columns:1fr}}
@media(max-width:620px){.document-grid{grid-template-columns:1fr}.process-grid-v104 article{min-height:0}.hero-media-v104 picture img{object-position:center center}.directory-filter-row{gap:5px}}
@media(prefers-reduced-motion:reduce){.hero-media-v104 picture img{animation:none!important;transform:none!important}}


/* =========================================================
   v1.0.5 — usability pass: directory, calculator, material pages
   ========================================================= */
[hidden]{display:none!important}

/* Footer brand should retain the same lockup as the header, including on mobile. */
.site-footer .brand{display:flex!important;align-items:center!important;gap:13px!important;min-width:0!important;width:max-content;max-width:100%;margin:0!important}
.site-footer .brand img{width:48px!important;height:48px!important;flex:0 0 48px!important;object-fit:contain}
.site-footer .brand-copy{display:block!important;overflow:visible!important}
.site-footer .brand-copy strong{display:block!important;color:#fff!important;font-size:.92rem!important;line-height:1.2!important;white-space:nowrap!important;overflow:visible!important}
.site-footer .brand-meta{display:block!important;font-size:.56rem!important;line-height:1.35!important;letter-spacing:.075em!important;white-space:nowrap!important;color:#758694!important}

/* Directory */
.directory-hero-v105 p{max-width:760px;margin-top:22px;border-left:2px solid #1788FF;padding-left:20px}
.directory-section-v105{padding-top:68px!important}
.directory-intro-v105{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:42px;align-items:end;margin-bottom:34px}
.directory-intro-v105 h2{font-size:clamp(2.2rem,4.6vw,4.8rem);max-width:900px}
.directory-intro-v105 p{max-width:760px;margin-top:12px}
.tool-card-mini{background:#0b1721;color:#fff;padding:20px;border:1px solid #17334a;display:flex;flex-direction:column;gap:8px;min-height:130px;justify-content:flex-end}
.tool-card-mini span{color:#1788FF;font-size:.65rem;font-weight:700;letter-spacing:.08em}.tool-card-mini b{font-size:1rem}.tool-card-mini em{font-style:normal;color:#9fb3c2;font-size:.76rem}
.directory-controls-v105{position:sticky;top:var(--header-h);z-index:20;background:rgba(237,242,245,.96);backdrop-filter:blur(10px);padding:18px 0 20px;border-top:1px solid #ccd5da;border-bottom:1px solid #ccd5da;margin-bottom:38px}
.directory-search-v105{display:grid;grid-template-columns:80px minmax(220px,480px);align-items:center;gap:14px;margin-bottom:14px}.directory-search-v105 span{font-size:.72rem;font-weight:800;text-transform:uppercase;color:#52616b}.directory-search-v105 input{height:48px;width:100%;padding:0 15px;border:1px solid #b9c5cc;background:#fff;color:#10171d;font:inherit;outline:none}.directory-search-v105 input:focus{border-color:#006FF7;box-shadow:0 0 0 3px rgba(0,111,247,.12)}
.directory-filter-row-v105{display:flex;flex-wrap:wrap;gap:7px}.directory-filter-row-v105 button{border:1px solid #c1ccd2;background:#fff;color:#41515c;padding:9px 12px;font:700 .72rem/1 inherit;cursor:pointer}.directory-filter-row-v105 button:hover,.directory-filter-row-v105 button.active{background:#0b1b29;border-color:#0b1b29;color:#fff}.directory-filter-row-v105 .filter-reset{margin-left:auto;border-color:#8ca9bd;color:#0057C7}
.directory-result-meta-v105{margin-top:12px;font-size:.75rem;color:#687780}.directory-result-meta-v105 strong{color:#111820}
.material-group{margin-top:52px}.material-group:first-child{margin-top:0}.material-group-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:16px;padding-bottom:13px;border-bottom:2px solid #10202d}.material-group-head span{display:block;font-size:.7rem;color:#63727c;text-transform:uppercase;letter-spacing:.06em}.material-group-head h3{font-size:clamp(1.6rem,2.8vw,2.6rem);margin-top:3px}.material-group-head>b{font-size:.75rem;color:#687780;font-weight:500}.material-group-head>b span{display:inline;color:#0057C7;font-size:inherit;font-weight:800}
.material-grid-v105{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#cbd4d9;border:1px solid #cbd4d9}.material-card-v105{min-height:228px;padding:24px;background:#f8fafb;color:#10171d;display:flex;flex-direction:column;position:relative;transition:.16s}.material-card-v105:hover{background:#fff;box-shadow:inset 0 0 0 2px #006FF7;z-index:1}.material-card-category{font-size:.72rem;line-height:1.35;color:#697781;min-height:2.2em}.material-card-grade{font-size:clamp(2.15rem,3vw,3.1rem);line-height:1;margin-top:24px;font-weight:780;letter-spacing:-.04em}.material-card-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.material-card-meta span{font-size:.66rem;border:1px solid #d2dbe0;padding:5px 7px;color:#687780}.material-card-meta .material-status.verified{color:#175278;border-color:#9cc0d8;background:#edf6fb}.material-card-action{margin-top:auto;padding-top:26px;display:flex;align-items:center;justify-content:space-between;color:#0057C7;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.material-card-action b{font-size:1.25rem;font-weight:400}.directory-empty-v105{margin-top:30px;border:1px solid #cbd4d9;background:#fff;padding:42px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}.directory-empty-v105 b{font-size:1.35rem}.directory-empty-v105 span{color:#6a7881}.directory-empty-v105 button{margin-top:12px;border:1px solid #0057C7;background:#0057C7;color:#fff;padding:11px 15px;cursor:pointer;font-weight:700}

/* Material detail pages */
.material-page-hero{padding-bottom:48px}.material-type-label{color:#1788FF;font-size:.68rem;font-weight:800;letter-spacing:.09em;margin-bottom:18px}.material-page-hero h1{margin-top:0!important;line-height:.9}.material-page-hero> .container>p{margin-top:10px}.material-summary{margin-top:26px}
.material-backbar{margin:-20px 0 42px}.material-backbar a{display:inline-flex;align-items:center;gap:12px;background:#0b1b29;color:#fff;padding:13px 17px;border-left:4px solid #006FF7;font-size:.78rem}.material-backbar a span{font-size:1.2rem;color:#1788FF}.material-backbar a:hover{background:#12304a}.content-heading h2{max-width:680px}

/* Calculator */
.calculator-hero-v105 p{max-width:800px}.calculator-block-v105{padding-top:62px!important}.calc-shell-v105{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr);gap:32px;align-items:start}.mass-form-v105{background:#fff;border:1px solid #cbd5da;padding:30px}.calc-step{display:grid;grid-template-columns:38px 1fr;gap:14px;align-items:start}.calc-step>span{width:32px;height:32px;display:grid;place-items:center;background:#0c1d2a;color:#1788FF;font-size:.7rem;font-weight:800}.calc-step h2{font-size:1.65rem}.calc-step p{margin-top:5px;font-size:.84rem;max-width:720px}.calc-material-row{display:grid;grid-template-columns:1.35fr 1fr .65fr;gap:12px;margin:20px 0 34px}.mass-form-v105 label{display:block;color:#28343c;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.calc-material-row label>span,.shape-fields-v105 label>span{display:block;margin-bottom:7px}.mass-form-v105 input,.mass-form-v105 select{width:100%;height:48px;padding:0 12px;border:1px solid #bec9cf;background:#fff;color:#10171d;font:inherit;border-radius:0}.mass-form-v105 input:focus,.mass-form-v105 select:focus{outline:2px solid rgba(0,111,247,.22);border-color:#006FF7}.calc-density-label small{display:block;margin-top:5px;color:#7b8790;text-transform:none;font-weight:400;letter-spacing:0}.shape-step{margin-top:6px}.shape-picker-v105{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:20px 0 34px}.shape-picker-v105 label{cursor:pointer}.shape-picker-v105 input{position:absolute;opacity:0;pointer-events:none}.shape-tile{min-height:142px;border:1px solid #c7d1d6;background:#f7f9fa;padding:14px;display:flex!important;flex-direction:column;align-items:flex-start;text-transform:none;transition:.15s}.shape-tile b,.shape-tile small{display:block;width:100%}.shape-tile b{line-height:1.22}.shape-tile small{min-height:2.6em}.shape-tile svg{width:68px;height:48px;fill:none;stroke:#526775;stroke-width:2;margin-bottom:9px}.shape-tile b{font-size:.88rem;color:#111820}.shape-tile small{font-size:.68rem;line-height:1.3;color:#75838c;margin-top:4px}.shape-picker-v105 input:checked+.shape-tile{border-color:#0057C7;background:#edf5fa;box-shadow:inset 0 0 0 1px #0057C7}.shape-picker-v105 input:checked+.shape-tile svg{stroke:#0057C7}.dims-step{margin-top:3px}.shape-fields-v105{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px}.form-error-v105{margin:16px 0 0;padding:12px 14px;border-left:3px solid #a43d3d;background:#f9ebeb;color:#853737;font-size:.82rem}.calc-submit-v105{margin-top:22px;min-width:190px}
.mass-result-v105{position:sticky;top:calc(var(--header-h) + 22px);background:#071019;color:#fff;border:1px solid #17334a;padding:28px}.result-kicker{font-size:.68rem;color:#1788FF;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.result-empty-v105{padding:42px 0 34px;border-bottom:1px solid #23323e}.result-empty-v105 b{font-size:1.55rem}.result-empty-v105 p{margin-top:8px;color:#91a2ae;font-size:.84rem}.result-primary-v105{padding:24px 0;border-bottom:1px solid #263641}.result-primary-v105>span{display:block;color:#9eb0bc;font-size:.76rem}.result-primary-v105 strong{display:block;color:#fff!important;font-size:clamp(2.4rem,4.2vw,4.5rem);line-height:1;margin-top:8px;letter-spacing:-.045em}.result-primary-v105 small{display:block;color:#1788FF;margin-top:7px}.result-metrics-v105{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid #263641}.result-metrics-v105>div{padding:16px 0;border-bottom:1px solid #1b2a35}.result-metrics-v105>div:nth-child(odd){padding-right:14px}.result-metrics-v105>div:nth-child(even){padding-left:14px;border-left:1px solid #263641}.result-metrics-v105>div:nth-last-child(-n+2){border-bottom:0}.result-metrics-v105 span,.result-summary-v105 span{display:block;color:#8295a3;font-size:.68rem;text-transform:uppercase;letter-spacing:.045em}.result-metrics-v105 b{display:block;margin-top:5px;color:#fff;font-size:1rem}.result-summary-v105{padding:18px 0;border-bottom:1px solid #263641}.result-summary-v105 p{margin-top:7px;color:#c1cbd2;font-size:.8rem}.result-disclaimer-v105{margin-top:18px;color:#7f929f;font-size:.74rem}.result-action-v105{display:flex;justify-content:space-between;align-items:center;margin-top:18px;padding-top:17px;border-top:1px solid #263641;color:#1788FF;font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.045em}

@media(max-width:1000px){.directory-intro-v105{grid-template-columns:1fr}.tool-card-mini{max-width:360px}.material-grid-v105{grid-template-columns:1fr 1fr}.calc-shell-v105{grid-template-columns:1fr}.mass-result-v105{position:static}.shape-picker-v105{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.site-footer .brand{align-items:flex-start!important}.site-footer .brand img{width:42px!important;height:42px!important;flex-basis:42px!important}.site-footer .brand-copy strong{font-size:.78rem!important}.site-footer .brand-meta{font-size:.48rem!important;letter-spacing:.035em!important;white-space:normal!important;max-width:245px}.directory-controls-v105{position:static}.directory-search-v105{grid-template-columns:1fr;gap:6px}.directory-filter-row-v105 button{font-size:.68rem}.material-group-head{align-items:flex-start}.material-grid-v105{grid-template-columns:1fr}.material-card-v105{min-height:200px}.material-backbar{margin:-10px 0 30px}.material-backbar a{width:100%}.mass-form-v105{padding:20px}.calc-material-row,.shape-fields-v105{grid-template-columns:1fr}.shape-picker-v105{grid-template-columns:1fr 1fr}.shape-tile{min-height:125px}.final-cta h2{font-size:clamp(2.15rem,12vw,3.4rem)!important;overflow-wrap:anywhere}.final-cta .container{overflow:hidden}}


/* v1.0.5b — Technical center dropdown + tool hub */
.nav-tools{position:relative;display:flex;align-items:center;gap:0}
.nav-tools-parent{position:relative}
.nav-tools.is-current>.nav-tools-parent{color:#1788FF!important}
.nav-tools.is-current>.nav-tools-parent::after{content:"";position:absolute;left:0;right:0;bottom:-9px;height:2px;background:var(--pa-brand-blue-bright)}
.nav-tools-toggle{display:grid;place-items:center;width:0;height:24px;padding:0;border:0;background:transparent;color:#8298a8;cursor:pointer;opacity:0;overflow:hidden;pointer-events:none;transition:width .16s ease,opacity .16s ease,color .16s ease}
.nav-tools-toggle span{font-size:1rem;line-height:1;transform:translateY(-1px);transition:transform .18s ease}
.nav-tools:hover .nav-tools-toggle,.nav-tools:focus-within .nav-tools-toggle,.nav-tools.open .nav-tools-toggle{width:20px;opacity:1;color:#fff;pointer-events:auto}
.nav-tools.open .nav-tools-toggle span{transform:rotate(180deg) translateY(1px)}
.nav-tools-menu{position:absolute;z-index:130;top:calc(100% + 18px);left:50%;min-width:260px;padding:8px;background:#071019;border:1px solid rgba(23,136,255,.35);box-shadow:0 18px 48px rgba(0,0,0,.38);opacity:0;visibility:hidden;transform:translate(-50%,-6px);transition:.16s ease}
.nav-tools-menu::before{content:"";position:absolute;left:0;right:0;top:-20px;height:20px}
.nav-tools-menu a{display:block!important;padding:12px 14px!important;color:#b9c8d2!important;font-size:.69rem!important;letter-spacing:.045em!important;border:1px solid transparent;text-transform:uppercase}
.nav-tools-menu a:hover,.nav-tools-menu a[aria-current="page"]{background:rgba(0,111,247,.13);border-color:rgba(23,136,255,.22);color:#fff!important}
@media(min-width:821px){.nav-tools:hover .nav-tools-menu,.nav-tools:focus-within .nav-tools-menu,.nav-tools.open .nav-tools-menu{opacity:1;visibility:visible;transform:translate(-50%,0)}}

.technical-hub-v105b{padding-bottom:84px!important}
.technical-hub-head{margin-bottom:34px}
.technical-tool-grid-v105b{display:grid;grid-template-columns:1fr 1fr;border:1px solid #c9d2d9;background:#c9d2d9;gap:1px}
.technical-tool-card-v105b{position:relative;display:flex;flex-direction:column;min-height:430px;padding:42px;background:#fff;color:#071019;overflow:hidden;transition:transform .18s ease,background .18s ease}
.technical-tool-card-v105b:hover{background:#f8fbfd}
.technical-tool-card-v105b::after{content:"";position:absolute;right:-55px;bottom:-55px;width:190px;height:190px;border:1px solid rgba(4,40,82,.13);transform:rotate(45deg)}
.technical-tool-kicker{color:#1a5186;font:800 .7rem/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em}
.technical-tool-card-v105b h3{max-width:620px;margin-top:26px;font-size:clamp(2rem,3.4vw,3.55rem);line-height:.98;text-transform:uppercase}
.technical-tool-card-v105b p{max-width:590px;margin-top:22px;color:#61727e;font-size:.96rem}
.technical-tool-card-v105b>strong{margin-top:auto;padding-top:34px;color:#042852;text-transform:uppercase;font-size:.78rem;letter-spacing:.045em}
.technical-tool-card-v105b>strong span{margin-left:7px;color:#006FF7}
.technical-tool-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:28px}
.technical-tool-meta span{padding:8px 10px;border:1px solid #d3dce2;color:#51636f;font-size:.7rem;font-weight:700;text-transform:uppercase}
.calc-shape-mini-v105b{display:flex;gap:15px;align-items:center;margin-top:30px;height:58px}
.calc-shape-mini-v105b span{display:block;position:relative;border:2px solid #006FF7;opacity:.82}
.calc-shape-mini-v105b .shape-plate{width:64px;height:18px}
.calc-shape-mini-v105b .shape-round{width:38px;height:38px;border-radius:50%}
.calc-shape-mini-v105b .shape-square{width:38px;height:38px}
.calc-shape-mini-v105b .shape-tube{width:44px;height:44px;border-radius:50%}
.calc-shape-mini-v105b .shape-tube::after{content:"";position:absolute;inset:8px;border:2px solid #006FF7;border-radius:50%}

.technical-quick-v105b{background:#08131d!important;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}
.technical-material-links-v105b{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.13);gap:1px}
.technical-material-links-v105b a{min-height:190px;padding:26px;background:#0a1722;display:flex;flex-direction:column;color:#fff;transition:.16s ease}
.technical-material-links-v105b a:hover{background:#0d1d2a}
.technical-material-links-v105b span{color:#8398a8;font-size:.7rem}
.technical-material-links-v105b b{margin-top:24px;font-size:2.05rem;line-height:1}
.technical-material-links-v105b em{margin-top:auto;padding-top:24px;color:#1788FF;font-style:normal;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.technical-material-links-v105b .all-materials{background:#0e2b43}
.technical-material-links-v105b .all-materials b{font-size:3.2rem}

.technical-request-v105b{padding-top:70px!important;padding-bottom:70px!important}
.technical-request-inner-v105b{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:55px;align-items:end}
.technical-request-inner-v105b h2{max-width:850px;font-size:clamp(2.2rem,4vw,4.3rem)}
.technical-request-inner-v105b p{max-width:760px;margin-top:18px;color:#63747f}

@media(max-width:820px){
  .nav-tools{display:grid;width:100%;grid-template-columns:1fr;align-items:center}
  .nav-tools>.nav-tools-parent{width:100%;display:flex;align-items:center;justify-content:space-between}
  .nav-tools>.nav-tools-parent::before{content:"";width:7px;height:7px;margin-left:12px;border-right:1px solid #8298a8;border-bottom:1px solid #8298a8;opacity:0;transform:rotate(45deg) translateY(-2px);transition:transform .16s ease,opacity .16s ease}
  .nav-tools.open>.nav-tools-parent::before{opacity:1;transform:rotate(225deg) translate(-1px,-1px);border-color:#fff}
  .nav-tools.is-current>.nav-tools-parent::after{bottom:-5px}
  .nav-tools-toggle{display:none!important}
  .nav-tools-menu{position:static;grid-column:1/-1;display:none;min-width:0;width:100%;margin-top:9px;padding:7px;opacity:1;visibility:visible;transform:none;background:#0a1722;box-shadow:none}
  .nav-tools.open .nav-tools-menu{display:block}
  .nav-tools-menu::before{display:none}
  .nav-tools-menu a{padding:11px 12px!important;border-bottom:1px solid rgba(255,255,255,.07)}
  .nav-tools-menu a:last-child{border-bottom:0}
  .technical-tool-grid-v105b{grid-template-columns:1fr}
  .technical-tool-card-v105b{min-height:370px;padding:30px}
  .technical-material-links-v105b{grid-template-columns:1fr 1fr}
  .technical-request-inner-v105b{grid-template-columns:1fr;align-items:start;gap:30px}
}
@media(max-width:560px){
  .technical-tool-card-v105b{min-height:330px;padding:24px}
  .technical-tool-card-v105b h3{font-size:clamp(2rem,10vw,2.8rem)}
  .technical-material-links-v105b{grid-template-columns:1fr}
  .technical-material-links-v105b a{min-height:155px}
  .technical-request-inner-v105b .btn{width:100%;text-align:center}
}

/* v1.0.5c — calculator validation/layout fixes */
.calc-material-row label,.shape-fields-v105 label{min-width:0}.shape-tile{overflow:hidden}.form-error-v105[hidden]{display:none!important}

/* =========================================================
   v1.0.5d — directory composition, material contrast, motion
   ========================================================= */

/* Technical-center arrow: draw it geometrically so it is visually centered. */
.nav-tools-toggle{align-self:center;justify-self:center}
.nav-tools-toggle span{display:block;position:relative;width:10px;height:10px;font-size:0!important;line-height:0;transform:none!important}
.nav-tools-toggle span::before{content:"";position:absolute;left:50%;top:50%;width:5px;height:5px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:translate(-50%,-64%) rotate(45deg);transform-origin:center;transition:transform .18s ease}
.nav-tools.open .nav-tools-toggle span::before{transform:translate(-50%,-36%) rotate(225deg)}

/* Directory intro: title is a full-width statement, controls form one grounded panel. */
.directory-intro-v105d{display:block!important;margin-bottom:28px!important}
.directory-intro-v105d>div{max-width:1000px}
.directory-controls-v105d{position:relative!important;top:auto!important;z-index:1!important;margin:0 0 44px!important;padding:24px!important;background:#fff!important;backdrop-filter:none!important;border:1px solid #c7d2d9!important;box-shadow:none!important}
.directory-controls-main-v105d{display:grid;grid-template-columns:minmax(0,1fr) 245px;gap:18px;align-items:end;padding-bottom:20px;border-bottom:1px solid #d8e0e5}
.directory-controls-v105d .directory-search-v105{display:block!important;margin:0!important}
.directory-controls-v105d .directory-search-v105>span{display:block;margin:0 0 8px;color:#52616b;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.055em}
.directory-controls-v105d .directory-search-v105 input{height:52px}
.directory-calculator-link-v105d{min-height:76px;padding:13px 16px;border:1px solid #9eb2c0;border-left:3px solid #006FF7;background:#f6f9fb;color:#0c1a24;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;column-gap:14px;align-content:center;transition:.16s ease}
.directory-calculator-link-v105d:hover{background:#edf5fa;border-color:#006FF7}
.directory-calculator-link-v105d span{grid-column:1/-1;color:#687985;font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;margin-bottom:4px}
.directory-calculator-link-v105d b{font-size:.92rem;line-height:1.15}
.directory-calculator-link-v105d em{font-style:normal;color:#1a5b8d;font-size:.69rem;font-weight:800;align-self:end;white-space:nowrap}
.directory-filter-head-v105d{margin-top:18px;margin-bottom:9px}
.directory-filter-head-v105d span{color:#52616b;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.055em}
.directory-controls-v105d .directory-filter-row-v105{gap:8px}
.directory-controls-v105d .directory-filter-row-v105 button{min-height:38px;padding:9px 13px}
.directory-controls-v105d .directory-result-meta-v105{margin-top:14px;padding-top:12px;border-top:1px solid #e0e6ea}

/* Material-page checklist: remove dark-theme text inheritance in the light section. */
.light .material-checklist{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;border:0!important;background:transparent!important}
.light .material-checklist .fact-card{position:relative;min-height:165px;padding:24px!important;background:#fff!important;border:1px solid #d2dce2!important;color:#17212a!important}
.light .material-checklist .fact-card::before{content:"";position:absolute;left:-1px;top:-1px;width:42px;height:3px;background:#006FF7}
.light .material-checklist .fact-card b{color:#111a21!important;font-size:1rem!important}
.light .material-checklist .fact-card p{color:#5f6f79!important;line-height:1.5}

/* Motion: still restrained, but visible enough to read as deliberate. */
.slow-zoom img{animation-duration:10s!important;animation-timing-function:ease-in-out!important}
@keyframes portAzurDrift{
  0%,100%{transform:scale(1.008) translate3d(-.35%,.18%,0)}
  50%{transform:scale(1.058) translate3d(.75%,-.45%,0)}
}
@keyframes portAzurDriftReverse{
  0%,100%{transform:scale(1.018) translate3d(.45%,-.20%,0)}
  50%{transform:scale(1.064) translate3d(-.75%,.45%,0)}
}
.hero-media-v104 picture img{animation-duration:12s!important}
@keyframes heroBreathV104{
  0%,100%{transform:scale(1.012) translate3d(-.15%,0,0)}
  50%{transform:scale(1.060) translate3d(.35%,-.18%,0)}
}

@media(max-width:1000px){
  .directory-controls-main-v105d{grid-template-columns:1fr}
  .directory-calculator-link-v105d{max-width:none}
  .light .material-checklist{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .directory-controls-v105d{padding:18px!important}
  .directory-controls-main-v105d{gap:14px}
  .directory-calculator-link-v105d{min-height:68px}
  .light .material-checklist{grid-template-columns:1fr}
}


/* =========================================================
   v1.0.5e — slightly more visible photo motion + company story image
   ========================================================= */

/* A little more amplitude than v1.0.5d: visible on a normal glance, not a slideshow effect. */
.slow-zoom img{
  animation-duration:9s!important;
  animation-timing-function:ease-in-out!important;
}
@keyframes portAzurDrift{
  0%,100%{transform:scale(1.012) translate3d(-.55%,.28%,0)}
  50%{transform:scale(1.082) translate3d(1.15%,-.70%,0)}
}
@keyframes portAzurDriftReverse{
  0%,100%{transform:scale(1.024) translate3d(.65%,-.30%,0)}
  50%{transform:scale(1.088) translate3d(-1.15%,.72%,0)}
}
.hero-media-v104 picture img{
  animation-duration:10s!important;
}
@keyframes heroBreathV104{
  0%,100%{transform:scale(1.018) translate3d(-.35%,.08%,0)}
  50%{transform:scale(1.085) translate3d(.80%,-.40%,0)}
}

/* Fill the formerly empty "КТО МЫ" column with a real production image. */
.company-story-aside{
  display:flex;
  flex-direction:column;
  gap:20px;
  min-width:0;
}
.company-story-aside>span{
  display:block;
  font-size:.78rem;
  color:#748795;
  text-transform:uppercase;
  font-weight:800;
  letter-spacing:.08em;
}
.company-story-photo{
  position:relative;
  width:100%;
  min-height:360px;
  height:100%;
  max-height:520px;
  border:1px solid rgba(126,149,165,.26);
  background:#0b1721;
}
.company-story-photo img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:54% center;
}
@media(max-width:900px){
  .company-story-photo{
    min-height:300px;
    max-height:420px;
    aspect-ratio:16/10;
  }
}
@media(max-width:620px){
  .company-story-photo{
    min-height:240px;
    max-height:none;
    aspect-ratio:4/3;
  }
}

/* Respect the OS accessibility preference even with stronger normal motion. */
@media(prefers-reduced-motion:reduce){
  .slow-zoom img,
  .hero-media-v104 picture img{
    animation:none!important;
    transform:none!important;
  }
}


/* =========================================================
   v1.0.5f — homepage technical center + clearly visible photo motion
   ========================================================= */

/* More readable motion: still slow, but now unmistakably alive. */
.slow-zoom img{
  animation-duration:8s!important;
  animation-timing-function:ease-in-out!important;
}
@keyframes portAzurDrift{
  0%,100%{transform:scale(1.025) translate3d(-1.1%,.55%,0)}
  50%{transform:scale(1.135) translate3d(2.0%,-1.25%,0)}
}
@keyframes portAzurDriftReverse{
  0%,100%{transform:scale(1.035) translate3d(1.15%,-.60%,0)}
  50%{transform:scale(1.145) translate3d(-2.1%,1.20%,0)}
}
.hero-media-v104 picture img{
  animation-duration:9s!important;
}
@keyframes heroBreathV104{
  0%,100%{transform:scale(1.025) translate3d(-.8%,.25%,0)}
  50%{transform:scale(1.125) translate3d(1.5%,-.85%,0)}
}

/* One coherent Technical Center on the homepage; no separate floating dark strip. */
.home-tech-center{
  padding-top:94px!important;
  padding-bottom:94px!important;
}
.home-tech-head{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(320px,.6fr);
  gap:70px;
  align-items:end;
  padding-bottom:34px;
}
.home-tech-head h2{
  max-width:980px;
  font-size:clamp(2.8rem,5.7vw,6rem);
  line-height:.94;
}
.home-tech-head>p{
  max-width:520px;
  margin:0 0 7px;
  padding-left:24px;
  border-left:2px solid #1788FF;
  color:#627582;
  font-size:1rem;
  line-height:1.58;
}

.home-tech-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1px;
  background:#c7d2d9;
  border:1px solid #c7d2d9;
}
.home-tech-card{
  position:relative;
  min-height:330px;
  padding:34px 36px 30px;
  background:#fff;
  color:#101820;
  display:grid;
  grid-template-columns:auto 1fr;
  grid-template-rows:1fr auto;
  gap:0 24px;
  overflow:hidden;
  transition:background .18s ease,transform .18s ease;
}
.home-tech-card:hover{background:#f3f7f9}
.home-tech-card-index{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  background:#0b2030;
  color:#1788FF;
  font-size:.72rem;
  font-weight:800;
}
.home-tech-card-copy span{
  color:#597284;
  font-size:.66rem;
  font-weight:800;
  letter-spacing:.08em;
}
.home-tech-card-copy h3{
  margin-top:12px;
  max-width:520px;
  font-size:clamp(2rem,3.2vw,3.65rem);
  line-height:.98;
}
.home-tech-card-copy p{
  margin-top:18px;
  max-width:540px;
  color:#62717c;
  font-size:.92rem;
  line-height:1.55;
}
.home-tech-card-action{
  grid-column:1/-1;
  margin-top:28px;
  padding-top:20px;
  border-top:1px solid #d8e0e5;
  display:flex;
  justify-content:space-between;
  align-items:center;
  color:#0d4d7b;
  font-size:.77rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.045em;
}
.home-tech-card-action b{
  font-size:1.25rem;
  font-weight:500;
}
.home-tech-calculator{
  background:#0b1721;
  color:#f3f7f9;
}
.home-tech-calculator:hover{background:#102230}
.home-tech-calculator .home-tech-card-index{
  background:#163952;
  color:#8cc7f1;
}
.home-tech-calculator .home-tech-card-copy span{color:#72acd4}
.home-tech-calculator .home-tech-card-copy p{color:#9fb1bd}
.home-tech-calculator .home-tech-card-action{
  border-color:rgba(255,255,255,.12);
  color:#8ec7ee;
}

.home-tech-shapes{
  position:absolute;
  right:32px;
  bottom:82px;
  display:flex;
  gap:15px;
  opacity:.34;
}
.home-tech-shapes i{
  display:block;
  position:relative;
  width:42px;
  height:30px;
  border:2px solid #8ec7ee;
}
.home-tech-shapes .shape-sheet{transform:skewY(-12deg);height:18px;margin-top:8px}
.home-tech-shapes .shape-round{border-radius:50%;width:32px;height:32px}
.home-tech-shapes .shape-square{width:30px;height:30px}
.home-tech-shapes .shape-tube{border-radius:50%;width:38px;height:30px}
.home-tech-shapes .shape-tube::after{
  content:"";
  position:absolute;
  inset:7px 9px;
  border:2px solid #8ec7ee;
  border-radius:50%;
}

.home-tech-example-line{
  min-height:68px;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px 20px;
  padding:0 18px;
  border:1px solid #d4dde2;
  border-top:0;
  background:#f7f9fa;
}
.home-tech-example-line span{
  margin-right:12px;
  color:#6a7a85;
  font-size:.67rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.065em;
}
.home-tech-example-line b{
  color:#16212a;
  font-size:.82rem;
}
.home-tech-example-line em{
  color:#7a8993;
  font-style:normal;
  font-size:.8rem;
}

@media(max-width:900px){
  .home-tech-head{grid-template-columns:1fr;gap:24px}
  .home-tech-head>p{max-width:700px}
  .home-tech-grid{grid-template-columns:1fr}
  .home-tech-card{min-height:290px}
}
@media(max-width:620px){
  .home-tech-center{padding-top:68px!important;padding-bottom:68px!important}
  .home-tech-head h2{font-size:clamp(2.6rem,13vw,4.1rem)}
  .home-tech-head>p{padding-left:16px}
  .home-tech-card{min-height:270px;padding:24px 22px;grid-template-columns:auto 1fr;gap:0 16px}
  .home-tech-card-copy h3{font-size:clamp(1.9rem,10vw,2.7rem)}
  .home-tech-shapes{right:20px;bottom:74px;transform:scale(.8);transform-origin:right bottom}
  .home-tech-example-line{padding:16px 18px}
}

/* Keep accessibility preference authoritative. */
@media(prefers-reduced-motion:reduce){
  .slow-zoom img,
  .hero-media-v104 picture img{
    animation:none!important;
    transform:none!important;
  }
}


/* =========================================================
   v1.0.5g — visible slow cinematic motion
   ========================================================= */

/*
   The previous versions used small zoom deltas, which can disappear visually
   on large desktop images. Here each one-way movement lasts 11–13 seconds,
   but the travel distance is much larger, so the image is clearly alive.
*/
.slow-zoom img{
  animation-duration:12s!important;
  animation-direction:alternate!important;
  animation-timing-function:ease-in-out!important;
  animation-iteration-count:infinite!important;
  transform-origin:center center;
}
.slow-zoom-a img{animation-name:portAzurPanA!important}
.slow-zoom-b img{animation-name:portAzurPanB!important}
.slow-zoom-c img{animation-name:portAzurPanC!important}

@keyframes portAzurPanA{
  from{transform:scale(1.14) translate3d(-2.8%,1.0%,0)}
  to{transform:scale(1.21) translate3d(2.8%,-1.2%,0)}
}
@keyframes portAzurPanB{
  from{transform:scale(1.13) translate3d(2.8%,-1.0%,0)}
  to{transform:scale(1.205) translate3d(-2.8%,1.1%,0)}
}
@keyframes portAzurPanC{
  from{transform:scale(1.12) translate3d(-2.2%,-.7%,0)}
  to{transform:scale(1.20) translate3d(2.5%,1.0%,0)}
}

/* Hero: slower than the inline photos, but with a visible lateral drift. */
.hero-media-v104 picture img{
  animation-name:heroPanV105g!important;
  animation-duration:13s!important;
  animation-direction:alternate!important;
  animation-timing-function:ease-in-out!important;
  animation-iteration-count:infinite!important;
  transform-origin:center center;
}
@keyframes heroPanV105g{
  from{transform:scale(1.10) translate3d(-2.4%,.6%,0)}
  to{transform:scale(1.18) translate3d(2.4%,-.8%,0)}
}

/* Accessibility remains respected. */
@media(prefers-reduced-motion:reduce){
  .slow-zoom img,
  .hero-media-v104 picture img{
    animation:none!important;
    transform:none!important;
  }
}


/* =========================================================
   v1.0.5h — reduced-motion keeps a subtle, slower movement
   ========================================================= */

/*
  Normal visitors keep the visible cinematic motion from v1.0.5g.
  If the OS/browser reports prefers-reduced-motion: reduce,
  we no longer freeze images completely; instead we use a much
  smaller amplitude and a significantly slower cycle.
*/
@keyframes portAzurReducedPanA{
  from{transform:scale(1.045) translate3d(-.45%,.18%,0)}
  to{transform:scale(1.062) translate3d(.45%,-.18%,0)}
}
@keyframes portAzurReducedPanB{
  from{transform:scale(1.045) translate3d(.45%,-.18%,0)}
  to{transform:scale(1.062) translate3d(-.45%,.18%,0)}
}
@keyframes portAzurReducedPanC{
  from{transform:scale(1.04) translate3d(-.35%,-.12%,0)}
  to{transform:scale(1.058) translate3d(.40%,.15%,0)}
}
@keyframes heroReducedPanV105h{
  from{transform:scale(1.04) translate3d(-.40%,.12%,0)}
  to{transform:scale(1.06) translate3d(.40%,-.15%,0)}
}

@media(prefers-reduced-motion:reduce){
  .slow-zoom img{
    animation-duration:24s!important;
    animation-direction:alternate!important;
    animation-timing-function:ease-in-out!important;
    animation-iteration-count:infinite!important;
    transform-origin:center center!important;
  }
  .slow-zoom-a img{animation-name:portAzurReducedPanA!important}
  .slow-zoom-b img{animation-name:portAzurReducedPanB!important}
  .slow-zoom-c img{animation-name:portAzurReducedPanC!important}

  .hero-media-v104 picture img{
    animation-name:heroReducedPanV105h!important;
    animation-duration:28s!important;
    animation-direction:alternate!important;
    animation-timing-function:ease-in-out!important;
    animation-iteration-count:infinite!important;
    transform-origin:center center!important;
  }
}


/* v1.0.6-media */

.hero-media-v106{
  overflow:hidden;
}

.hero-media-v106 .hero-poster-v106,
.hero-media-v106 video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
}

.hero-media-v106 .hero-poster-v106{
  z-index:1;
  animation:none!important;
  transform:none!important;
}

.hero-media-v106 video{
  z-index:2;
}

.hero-media-v106::after{
  z-index:3;
  pointer-events:none;
}

.company-gallery-v106 img{
  display:block;
}

.company-gallery-v106 img:first-child{
  object-position:center center;
}

.company-gallery-v106 img:nth-child(2),
.company-gallery-v106 img:nth-child(4){
  object-position:center 38%;
}

.company-gallery-v106 img:nth-child(3){
  object-position:center 45%;
}

@media(max-width:620px){
  .hero-media-v106 .hero-poster-v106,
  .hero-media-v106 video{
    object-position:center center;
  }

  .company-gallery-v106 img{
    object-position:center center;
  }
}

/* v1.0.6j-hero-light-qa */
.hero-media-v106::after{
  background:
    linear-gradient(
      180deg,
      rgba(7, 15, 23, 0.34) 0%,
      rgba(7, 15, 23, 0.18) 34%,
      rgba(7, 15, 23, 0.46) 100%
    ) !important;
}

@media (max-width: 900px){
  .hero-media-v106::after{
    background:
      linear-gradient(
        180deg,
        rgba(7, 15, 23, 0.42) 0%,
        rgba(7, 15, 23, 0.24) 34%,
        rgba(7, 15, 23, 0.54) 100%
      ) !important;
  }
}


/* v1.0.6k-polish */

/*
 * Hero:
 * text side remains protected;
 * video side is intentionally much brighter.
 */
.hero-media-v106::after{
  background:
    linear-gradient(
      90deg,
      rgba(5,12,18,.72) 0%,
      rgba(5,12,18,.57) 28%,
      rgba(5,12,18,.30) 55%,
      rgba(5,12,18,.13) 78%,
      rgba(5,12,18,.10) 100%
    ) !important;
}

/* Mobile needs more uniform contrast because text occupies most width. */
@media(max-width:900px){
  .hero-media-v106::after{
    background:
      linear-gradient(
        180deg,
        rgba(5,12,18,.43) 0%,
        rgba(5,12,18,.31) 42%,
        rgba(5,12,18,.50) 100%
      ) !important;
  }
}

/*
 * Directory grids:
 * don't paint an artificial empty third cell
 * when a group ends with an incomplete row.
 */
.material-grid-v105{
  background:transparent !important;
}

/* prevent images from looking artificially soft */
img{
  image-rendering:auto;
}

/* Contact hero crop */
body:has(#requestForm) .inner-hero-media img{
  object-position:center 54%;
}


/* v1.0.6m-hero-video-accent */

/*
  Goal:
  - video must be visually dominant;
  - text remains readable;
  - right side should stay almost clean.
*/
.hero-media-v106::after{
  background:
    linear-gradient(
      90deg,
      rgba(5,12,18,.46) 0%,
      rgba(5,12,18,.34) 18%,
      rgba(5,12,18,.18) 36%,
      rgba(5,12,18,.08) 56%,
      rgba(5,12,18,.03) 78%,
      rgba(5,12,18,0) 100%
    ) !important;
}

/* mobile: keep some protection, but still lighter than before */
@media(max-width:900px){
  .hero-media-v106::after{
    background:
      linear-gradient(
        180deg,
        rgba(5,12,18,.26) 0%,
        rgba(5,12,18,.14) 36%,
        rgba(5,12,18,.24) 100%
      ) !important;
  }
}

/* v1.0.6p — semantic blue headline accent */

.semantic-accent{
  color:#2384c8;
}

/*
  Keep the accent consistent with the main-page visual language:
  white = statement / subject
  blue  = key outcome / positioning
*/
.inner-hero h1 .semantic-accent,
.page-hero h1 .semantic-accent{
  color:#2384c8;
}



/* =========================================================
   v1.0.7-client — client-directed simplification & brand system
   ========================================================= */
:root{
  --pa-brand-blue:#0957A2;
  --pa-brand-blue-soft:#5C7CA2;
  --pa-brand-steel:#3D566D;
  --pa-brand-copper:#C7927D;
  --pa-brand-ice:#EAF0F4;
  --pa-brand-paper:#F5F7F8;
  --pa-brand-ink:#101820;
}

.header-contact-strip{
  position:absolute;
  left:0;right:0;top:100%;
  border-top:1px solid rgba(255,255,255,.035);
  border-bottom:1px solid rgba(255,255,255,.08);
  background:rgba(5,12,18,.96);
}
.header-contact-strip-inner{
  min-height:28px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:22px;
  color:#8ea0ae;
  font:700 .57rem/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.header-contact-strip a{color:#c5d0d8}
.header-contact-strip a:hover{color:#fff}

.brand-meta:first-of-type{color:var(--pa-brand-copper)!important}
.brand-meta + .brand-meta{color:#8ea0ae!important}
.btn.primary{background:var(--pa-brand-blue)!important;border-color:var(--pa-brand-blue)!important}
.btn.primary:hover{background:#0c67bc!important;border-color:#0c67bc!important}
.site-nav a:hover,.site-nav a[aria-current="page"]{color:#fff}
.semantic-accent,.inner-hero h1 .semantic-accent,.page-hero h1 .semantic-accent{color:#4d8fc6!important}

/* Main page: 10-second route selector, no explanatory tail. */
.home-client-v1 .hero{
  min-height:calc(100svh - 28px);
  padding-bottom:0!important;
  align-items:flex-end;
}
.home-client-v1 .hero-grid{opacity:.08!important}
.home-client-v1 .hero-media-v106::after{
  background:linear-gradient(90deg,rgba(5,12,18,.28) 0%,rgba(5,12,18,.17) 28%,rgba(5,12,18,.07) 52%,rgba(5,12,18,0) 78%)!important;
}
.home-hero-copy{
  max-width:none!important;
  padding-bottom:118px;
}
.home-hero-copy .kicker{
  color:#fff!important;
  text-shadow:0 1px 8px rgba(0,0,0,.55);
}
.home-hero-copy h1{
  max-width:1150px!important;
  text-shadow:0 2px 18px rgba(0,0,0,.38);
}
.home-hero-copy h1 .hero-accent{
  color:#4b91cf!important;
}
.hero-routes{
  position:absolute;
  left:0;right:0;bottom:0;
  display:grid;
  grid-template-columns:1fr 1fr;
  min-height:92px;
  border-top:1px solid rgba(255,255,255,.24);
}
.hero-route{
  position:relative;
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:18px;
  align-items:center;
  min-width:0;
  padding:0 max(34px,calc((100vw - 1320px)/2));
  text-transform:uppercase;
  transition:background .2s ease,color .2s ease;
}
.hero-route:first-child{
  padding-left:max(34px,calc((100vw - 1320px)/2));
  padding-right:40px;
  background:rgba(9,87,162,.92);
}
.hero-route:last-child{
  padding-left:40px;
  padding-right:max(34px,calc((100vw - 1320px)/2));
  background:rgba(10,17,24,.90);
  border-left:1px solid rgba(255,255,255,.28);
}
.hero-route span{
  color:var(--pa-brand-copper);
  font:800 .68rem ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.14em;
}
.hero-route strong{
  color:#fff;
  font-size:clamp(1.05rem,1.45vw,1.55rem);
  letter-spacing:-.01em;
}
.hero-route b{color:#fff;font-size:1.65rem;font-weight:400}
.hero-route:hover{background:#0b66b9}
.hero-route:hover::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;height:3px;
  background:var(--pa-brand-copper);
}

/* Company page: requested asset-led structure. */
.company-client-v1 .inner-hero-media::after{
  background:linear-gradient(90deg,rgba(5,12,18,.72),rgba(5,12,18,.22) 60%,rgba(5,12,18,.06))!important;
}
.company-assets{
  padding:96px 0 110px;
  background:var(--pa-brand-paper);
  color:var(--pa-brand-ink);
}
.company-assets-head{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);
  gap:60px;
  align-items:end;
  margin-bottom:42px;
}
.company-assets-head .eyebrow{color:var(--pa-brand-blue)!important}
.company-assets-head h2{
  max-width:820px;
  color:var(--pa-brand-ink);
}
.company-assets-head p{max-width:460px;justify-self:end;color:#52606b}
.company-asset{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);
  min-height:430px;
  border-top:1px solid #c8d0d5;
  background:#fff;
}
.company-asset:last-of-type{border-bottom:1px solid #c8d0d5}
.company-asset figure{margin:0;overflow:hidden;min-height:430px;background:#16232d}
.company-asset figure img{width:100%;height:100%;display:block;object-fit:cover}
.company-asset-copy{
  position:relative;
  padding:52px 56px;
  border-left:1px solid #d5dce0;
}
.company-asset-index{
  display:block;
  margin-bottom:20px;
  color:var(--pa-brand-copper);
  font:900 .72rem ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.16em;
}
.company-asset h3{
  max-width:640px;
  margin:0 0 20px;
  color:var(--pa-brand-ink);
  font-size:clamp(1.75rem,2.6vw,3.15rem);
  line-height:.98;
  text-transform:uppercase;
  letter-spacing:-.035em;
}
.company-asset p,.company-asset li{
  color:#43515c;
  font-size:.98rem;
  line-height:1.65;
}
.company-asset ul{margin:18px 0 0;padding-left:20px}
.company-asset-link{
  display:inline-block;
  margin-top:26px;
  color:var(--pa-brand-blue);
  font-size:.78rem;
  font-weight:850;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.asset-metric{
  display:flex;
  align-items:baseline;
  gap:16px;
  margin:20px 0 18px;
}
.asset-metric b{
  color:var(--pa-brand-blue);
  font-size:clamp(2.7rem,5vw,5.2rem);
  line-height:.85;
  letter-spacing:-.055em;
}
.asset-metric span{
  color:#65727b;
  font-size:.75rem;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.asset-address{
  margin-top:18px;
  padding-top:18px;
  border-top:1px solid #d8dee2;
  color:var(--pa-brand-steel)!important;
  font-weight:800;
}
.reliability-visual{
  display:flex;
  align-items:center;
  justify-content:center;
  background:
    linear-gradient(135deg,rgba(9,87,162,.96),rgba(35,61,82,.97)),
    repeating-linear-gradient(60deg,transparent 0 38px,rgba(255,255,255,.04) 38px 39px)!important;
}
.reliability-codes{
  display:grid;
  grid-template-columns:repeat(2,minmax(120px,1fr));
  gap:12px;
  width:min(78%,520px);
}
.reliability-codes span{
  display:flex;align-items:center;justify-content:center;
  min-height:120px;
  border:1px solid rgba(255,255,255,.28);
  color:#fff;
  font-size:clamp(1.8rem,3.2vw,3.4rem);
  font-weight:950;
  letter-spacing:-.04em;
}
.reliability-codes small{
  grid-column:1/-1;
  display:block;
  padding-top:14px;
  color:#d9e3ea;
  font:850 .72rem ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.18em;
  text-align:center;
}
.company-partners{
  padding:64px 0 0;
}
.company-partners-head{
  display:flex;
  gap:24px;
  align-items:flex-start;
  margin-bottom:28px;
}
.company-partners-head h3{
  margin:5px 0 0;
  color:var(--pa-brand-ink);
  font-size:clamp(1.8rem,3vw,3.4rem);
  text-transform:uppercase;
  letter-spacing:-.035em;
}
.partner-name-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid #c8d0d5;
  border-left:1px solid #c8d0d5;
}
.partner-name-grid span{
  display:flex;align-items:center;
  min-height:118px;
  padding:24px;
  border-right:1px solid #c8d0d5;
  border-bottom:1px solid #c8d0d5;
  color:#263844;
  font-weight:850;
  font-size:.9rem;
  text-transform:uppercase;
}
.company-client-requisites{border-top:1px solid #d5dce0}
.requisites-grid{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  border:1px solid #cbd3d8;
}
.requisites-main,.requisites-action{padding:34px}
.requisites-main{
  display:flex;
  flex-direction:column;
  gap:10px;
  background:#fff;
}
.requisites-main strong{font-size:1.5rem;color:#12202a}
.requisites-main span{color:#52616c}
.requisites-action{
  border-left:1px solid #cbd3d8;
  background:#edf2f5;
}
.requisites-action>span{
  color:var(--pa-brand-copper);
  font:850 .7rem ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.13em;
}
.requisites-action p{margin:10px 0 20px;color:#52616c}

@media(max-width:1100px){
  .header-contact-strip{display:none}
  .home-client-v1 .hero{min-height:100svh}
  .company-asset{grid-template-columns:1fr}
  .company-asset figure{min-height:380px}
  .company-asset-copy{border-left:0;border-top:1px solid #d5dce0}
  .partner-name-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:820px){
  .home-client-v1 .hero{
    min-height:100svh!important;
    padding:100px 0 0!important;
    align-items:flex-start!important;
  }
  .home-hero-copy{padding-bottom:190px;padding-top:40px}
  .hero-routes{grid-template-columns:1fr;min-height:164px}
  .hero-route{padding:0 20px!important}
  .hero-route:last-child{border-left:0;border-top:1px solid rgba(255,255,255,.25)}
  .company-assets{padding:70px 0}
  .company-assets-head{grid-template-columns:1fr;gap:18px}
  .company-assets-head p{justify-self:start}
  .company-asset-copy{padding:34px 24px}
  .company-asset figure{min-height:300px}
  .partner-name-grid{grid-template-columns:1fr}
  .requisites-grid{grid-template-columns:1fr}
  .requisites-action{border-left:0;border-top:1px solid #cbd3d8}
}


/* v1.0.7b — home hero alignment fix */
.home-client-v1 .hero{
  min-height:calc(100svh - 28px);
  padding-top:142px!important;
  padding-bottom:0!important;
  align-items:flex-start!important;
}
.home-hero-copy{
  max-width:none!important;
  padding-top:0!important;
  padding-bottom:118px!important;
}
.home-hero-copy .kicker{
  margin-bottom:12px!important;
}
.home-hero-copy h1{
  margin-top:0!important;
  line-height:.92!important;
}
.hero-routes{
  align-items:stretch;
}
.hero-route{
  display:grid!important;
  grid-template-columns:56px minmax(0,1fr) 44px!important;
  align-items:center!important;
  min-height:92px!important;
}
.hero-route span,
.hero-route b{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  align-self:stretch!important;
}
.hero-route strong{
  display:flex!important;
  align-items:center!important;
  min-height:92px!important;
  line-height:1!important;
}
@media(max-width:820px){
  .home-client-v1 .hero{
    min-height:100svh!important;
    padding:112px 0 0!important;
    align-items:flex-start!important;
  }
  .home-hero-copy{
    padding-top:8px!important;
    padding-bottom:190px!important;
  }
  .home-hero-copy .kicker{margin-bottom:10px!important}
  .home-hero-copy h1{line-height:.94!important}
  .hero-routes{grid-template-columns:1fr!important;min-height:164px!important}
  .hero-route{
    grid-template-columns:44px minmax(0,1fr) 32px!important;
    min-height:82px!important;
    padding:0 20px!important;
  }
  .hero-route strong{
    min-height:82px!important;
    font-size:1.1rem!important;
  }
  .hero-route:last-child{
    border-left:0!important;
    border-top:1px solid rgba(255,255,255,.25)!important;
  }
}


/* v1.0.7c — center route labels independently of number/arrow */
.hero-route{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:92px!important;
  padding:0 92px!important;
}
.hero-route:first-child,
.hero-route:last-child{
  padding-left:92px!important;
  padding-right:92px!important;
}
.hero-route span{
  position:absolute!important;
  left:44px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  display:block!important;
  height:auto!important;
}
.hero-route strong{
  display:block!important;
  min-height:0!important;
  width:100%!important;
  text-align:center!important;
  line-height:1.02!important;
}
.hero-route b{
  position:absolute!important;
  right:44px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  display:block!important;
  height:auto!important;
}
@media(max-width:820px){
  .hero-route,
  .hero-route:first-child,
  .hero-route:last-child{
    min-height:82px!important;
    padding:0 58px!important;
  }
  .hero-route span{left:18px!important}
  .hero-route b{right:18px!important}
  .hero-route strong{
    min-height:0!important;
    text-align:center!important;
  }
}


/* =========================================================
   v1.0.8 — client service page / service dropdown
   ========================================================= */
.nav-services-menu{
  min-width:420px!important;
  left:0!important;
  transform:translate(0,-6px)!important;
}
@media(min-width:821px){
  .nav-services:hover .nav-tools-menu,
  .nav-services:focus-within .nav-tools-menu,
  .nav-services.open .nav-tools-menu{
    transform:translate(0,0)!important;
  }
}
.nav-services-menu a{
  white-space:normal!important;
  line-height:1.35!important;
}

.services-client-page{
  background:#f4f6f7;
}
.services-client-hero .inner-hero-media::after{
  background:linear-gradient(90deg,rgba(5,12,18,.76),rgba(5,12,18,.28) 62%,rgba(5,12,18,.08))!important;
}
.service-tape{
  padding:0 0 96px;
  background:#f4f6f7;
  color:#111a21;
}
.service-section{
  width:min(1320px,calc(100% - 48px));
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(420px,.92fr);
  min-height:560px;
  border-left:1px solid #ccd4d9;
  border-right:1px solid #ccd4d9;
  border-bottom:1px solid #ccd4d9;
  background:#fff;
  scroll-margin-top:126px;
}
.service-section:first-child{
  border-top:1px solid #ccd4d9;
}
.service-media{
  margin:0;
  min-height:560px;
  overflow:hidden;
  background:#101820;
}
.service-media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.service-copy{
  padding:52px 54px 56px;
  border-left:1px solid #d7dde1;
}
.service-index{
  display:block;
  margin-bottom:20px;
  color:var(--pa-brand-copper);
  font:900 .72rem/1 ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.16em;
}
.service-copy h2{
  margin:0;
  max-width:680px;
  color:#111a21;
  font-size:clamp(2rem,3vw,3.55rem);
  line-height:.96;
  letter-spacing:-.045em;
  text-transform:uppercase;
}
.service-lead{
  max-width:680px;
  margin:24px 0 0;
  color:#43515c;
  font-size:1rem;
  line-height:1.65;
}
.service-copy h3{
  margin:34px 0 14px;
  color:#20303b;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.service-specs{
  border-top:1px solid #cfd6da;
}
.service-specs>div{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(180px,.65fr);
  gap:24px;
  align-items:start;
  padding:14px 0;
  border-bottom:1px solid #dbe0e3;
}
.service-specs b{
  color:#263640;
  font-size:.83rem;
  line-height:1.4;
}
.service-specs span{
  color:#0957a2;
  font-size:.86rem;
  font-weight:850;
  line-height:1.4;
}
.service-note{
  margin-top:16px;
  color:#6a7780;
  font-size:.8rem;
}
.service-section-pending{
  min-height:360px;
}
.service-section-pending .service-media{
  min-height:360px;
}
.service-pending-media{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:14px;
  background:
    linear-gradient(135deg,rgba(9,87,162,.96),rgba(32,53,70,.98)),
    repeating-linear-gradient(60deg,transparent 0 38px,rgba(255,255,255,.04) 38px 39px);
}
.service-pending-media span{
  color:var(--pa-brand-copper);
  font:900 .75rem ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.16em;
}
.service-pending-media strong{
  color:#fff;
  font-size:clamp(1.5rem,2.6vw,3rem);
  letter-spacing:-.03em;
}
.service-section-pending .service-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
}

/* merged company intro */
.company-hero-story{
  max-width:820px;
  margin-top:24px;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.24);
}
.company-hero-story p{
  max-width:780px!important;
  margin:0 0 9px!important;
  color:#d5dce1!important;
  font-size:.92rem!important;
  line-height:1.55!important;
}

/* partner block follows the same left-photo/right-text rule */
.company-partner-asset .partner-links{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1px;
  margin-top:26px;
  background:#d1d8dc;
  border:1px solid #d1d8dc;
}
.company-partner-asset .partner-links a{
  min-height:88px;
  display:flex;
  align-items:center;
  padding:18px 20px;
  background:#f8fafb;
  color:#263844;
  font-size:.78rem;
  font-weight:850;
  line-height:1.25;
  text-transform:uppercase;
}
.company-partner-asset .partner-links a:hover{
  background:#eef4f8;
  color:#0957a2;
}

@media(max-width:980px){
  .service-section{
    grid-template-columns:1fr;
    width:min(100% - 28px,760px);
  }
  .service-media{min-height:360px}
  .service-copy{
    border-left:0;
    border-top:1px solid #d7dde1;
    padding:38px 28px 42px;
  }
  .service-section-pending .service-media{min-height:240px}
}
@media(max-width:820px){
  .nav-services-menu{
    min-width:0!important;
    left:auto!important;
    transform:none!important;
  }
  .service-section{
    scroll-margin-top:78px;
  }
  .service-specs>div{
    grid-template-columns:1fr;
    gap:5px;
  }
  .company-partner-asset .partner-links{
    grid-template-columns:1fr;
  }
}

/* COMMON COMPANY-V3 FOUNDATION recovered from pre-split CSS */
/* =========================================================
   TEST-V3 v1.0.9 — company rebuild / stronger UI
   ========================================================= */

/* brand block in header */
.site-header{height:92px!important}
:root{--header-h:92px}
.site-header .header-inner{height:92px!important}
.site-header .brand{min-width:390px!important;gap:16px!important}
.site-header .brand img{width:64px!important;height:64px!important}
.site-header .brand-copy strong{
  font-size:1.08rem!important;
  line-height:1.05!important;
  letter-spacing:.035em!important;
}
.site-header .brand-meta{
  font-size:.60rem!important;
  line-height:1.25!important;
  letter-spacing:.085em!important;
}
.site-header .brand-founded{
  color:var(--pa-gold)!important;
  font-size:.64rem!important;
  font-weight:900!important;
  margin-top:6px!important;
}
.site-header .brand-production{
  color:#fff!important;
  font-size:.61rem!important;
  font-weight:800!important;
}
.site-header .brand-products{color:#8997a2!important}

/* no translucent black plaques */
.btn.ghost{
  background:#fff!important;
  color:#111!important;
  border:2px solid #fff!important;
  backdrop-filter:none!important;
}
.btn.ghost:hover{
  background:var(--pa-gold)!important;
  border-color:var(--pa-gold)!important;
  color:#111!important;
}
.hero-tag{
  background:transparent!important;
  backdrop-filter:none!important;
  border:1px solid rgba(255,255,255,.62)!important;
}
.inner-hero-copy,
.company-hero-story{
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}

/* buttons must read as controls */
.btn{
  min-height:54px!important;
  padding:0 24px!important;
  border-width:2px!important;
  font-weight:850!important;
  letter-spacing:.055em!important;
  cursor:pointer!important;
}
.btn.primary{box-shadow:0 0 0 1px rgba(0,0,0,.12)}
.btn.secondary{box-shadow:0 0 0 1px rgba(0,0,0,.08)}
.company-v3-action{margin-top:34px;min-width:290px}

/* Company hero */
.company-v3-hero{
  position:relative;
  min-height:700px;
  padding:calc(var(--header-h) + 82px) 0 78px;
  overflow:hidden;
  display:flex;
  align-items:flex-end;
  background:#0a0e11;
}
.company-v3-hero-media{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 48%;
}
.company-v3-hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(5,8,10,.70) 0%,rgba(5,8,10,.38) 42%,rgba(5,8,10,.08) 74%,rgba(5,8,10,0) 100%);
}
.company-v3-hero-inner{position:relative;z-index:2}
.company-v3-hero-copy{max-width:1000px}
.company-v3-brandline{
  margin-bottom:18px;
  color:var(--pa-gold);
  font:900 .72rem/1 ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.15em;
}
.company-v3-hero h1{
  max-width:970px;
  color:#fff;
  font-size:clamp(3.3rem,6.1vw,6.9rem);
  line-height:.90;
  letter-spacing:-.06em;
  text-transform:uppercase;
}
.company-v3-hero-copy p{
  max-width:850px;
  margin-top:18px;
  color:#f0f2f3;
  font-size:1.05rem;
  line-height:1.55;
  text-shadow:0 1px 10px rgba(0,0,0,.45);
}
.company-v3-hero-copy p+p{margin-top:8px;color:#cdd5da}

/* Assets */
.company-v3-assets{
  padding:88px 0 104px;
  background:#f4f5f5;
  color:#11171c;
}
.company-v3-label{
  margin-bottom:34px;
  color:var(--pa-gold-deep);
  font:900 .78rem/1 ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.16em;
}
.company-v3-block,
.company-v3-partners{
  margin-top:72px;
  padding-top:32px;
  border-top:1px solid #cbd2d6;
}
.company-v3-block:first-of-type{margin-top:0}
.company-v3-block-head{
  display:grid;
  grid-template-columns:64px minmax(0,1fr);
  gap:18px;
  align-items:start;
  margin-bottom:28px;
}
.company-v3-block-head>span{
  padding-top:8px;
  color:var(--pa-gold-deep);
  font:900 .72rem/1 ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.18em;
}
.company-v3-block-head h2{
  max-width:1120px;
  color:#10171c;
  font-size:clamp(2.1rem,3.8vw,4.6rem);
  line-height:.95;
  letter-spacing:-.045em;
  text-transform:uppercase;
}
.company-v3-block-grid{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(400px,.8fr);
  align-items:stretch;
  background:#fff;
  border:1px solid #d0d6da;
}
.company-v3-block-grid figure{
  margin:0;
  min-height:500px;
  overflow:hidden;
  background:#121920;
}
.company-v3-block-grid figure img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.company-v3-block-copy{
  padding:50px 54px;
  border-left:1px solid #d7dde1;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.company-v3-list{
  margin:0;
  padding-left:24px;
  color:#31414d;
  font-size:1rem;
  line-height:1.58;
}
.company-v3-list li+li{margin-top:10px}
.company-v3-list-large{
  font-size:clamp(1.06rem,1.35vw,1.25rem);
  line-height:1.45;
}
.company-v3-list-large li+li{margin-top:14px}
.company-v3-list li::marker{color:var(--pa-gold-deep)}

.company-v3-metric{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  margin-bottom:30px;
}
.company-v3-metric strong{
  color:var(--pa-gold-deep);
  font-size:clamp(4rem,6vw,7rem);
  line-height:.82;
  letter-spacing:-.07em;
}
.company-v3-metric span{
  margin-top:16px;
  color:#697680;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.company-v3-warehouse-copy>p{
  max-width:520px;
  color:#43515c;
  font-size:1.08rem;
  line-height:1.65;
}
.company-v3-address{
  margin-top:28px;
  padding-top:24px;
  border-top:1px solid #d4dade;
  color:#1d2a33;
  font-size:1.05rem;
  font-weight:850;
}
.company-v3-law-tags{
  display:flex;
  gap:9px;
  flex-wrap:wrap;
  margin-bottom:28px;
}
.company-v3-law-tags span{
  padding:10px 13px;
  border:1px solid #c6a15d;
  color:#775416;
  background:#fbf7ef;
  font-size:.74rem;
  font-weight:900;
  letter-spacing:.07em;
}

/* partners without boxed grid */
.company-v3-partner-cloud{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:clamp(26px,4vw,70px);
  flex-wrap:wrap;
  padding:42px 8px 18px;
}
.partner-mark{
  flex:0 1 180px;
  min-height:115px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  text-align:center;
  color:#26343e;
  transition:transform .18s ease,opacity .18s ease;
}
.partner-mark:hover{transform:translateY(-3px);opacity:.82}
.partner-mark img{
  max-width:150px;
  max-height:62px;
  width:auto;
  height:auto;
  object-fit:contain;
  filter:saturate(.9);
}
.partner-mark span{
  max-width:190px;
  font-size:.68rem;
  font-weight:750;
  line-height:1.3;
  color:#66737d;
}
.partner-mark strong{
  font-size:1.45rem;
  letter-spacing:-.03em;
  color:#17232b;
}
.partner-mark-text img{max-width:38px;max-height:38px}

/* CTA is a call-to-action, not a full content section */
.company-v3-cta{
  background:#fff;
  color:#11171c;
  border-top:1px solid #ccd3d7;
  border-bottom:1px solid #ccd3d7;
}
.company-v3-cta-inner{
  min-height:190px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:50px;
}
.company-v3-cta span{
  color:var(--pa-gold-deep);
  font:900 .7rem/1 ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.14em;
}
.company-v3-cta h2{
  margin-top:10px;
  color:#11171c;
  font-size:clamp(1.8rem,3vw,3.5rem);
  line-height:.95;
  text-transform:uppercase;
}

/* enterprise card lives with contacts, not in company story */
.enterprise-card-strip{
  background:#fff;
  color:#11171c;
  border-bottom:1px solid #d2d8dc;
}
.enterprise-card-strip .container{
  min-height:154px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:40px;
}
.enterprise-card-copy span{
  color:var(--pa-gold-deep);
  font:900 .7rem/1 ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.14em;
}
.enterprise-card-copy h2{
  margin-top:9px;
  color:#11171c;
  font-size:clamp(1.55rem,2.5vw,2.7rem);
  text-transform:uppercase;
}
.enterprise-card-copy p{
  margin-top:8px;
  color:#65727b;
  font-size:.85rem;
}

/* keep text CTAs secondary; main actions are real buttons */
.company-v3 a.company-v3-action,
.enterprise-card-strip .btn{
  text-decoration:none!important;
}

/* Mobile */
@media(max-width:1180px){
  .site-header .brand{min-width:320px!important}
  .site-header .brand img{width:56px!important;height:56px!important}
  .site-header .brand-copy strong{font-size:.96rem!important}
}
@media(max-width:980px){
  .company-v3-block-grid{grid-template-columns:1fr}
  .company-v3-block-copy{border-left:0;border-top:1px solid #d7dde1}
  .company-v3-block-grid figure{min-height:380px}
  .company-v3-cta-inner,
  .enterprise-card-strip .container{
    padding-top:34px;
    padding-bottom:34px;
    align-items:flex-start;
    flex-direction:column;
  }
}
@media(max-width:820px){
  .site-header{height:78px!important}
  :root{--header-h:78px}
  .site-header .header-inner{height:78px!important}
  .site-header .brand{min-width:0!important}
  .site-header .brand img{width:48px!important;height:48px!important}
  .site-header .brand-copy strong{font-size:.84rem!important}
  .site-header .brand-meta{display:none!important}
  .company-v3-hero{min-height:620px;padding:128px 0 54px}
  .company-v3-hero h1{font-size:clamp(2.8rem,12vw,4.8rem)}
  .company-v3-assets{padding:62px 0 78px}
  .company-v3-block{margin-top:52px}
  .company-v3-block-head{grid-template-columns:42px 1fr;gap:10px}
  .company-v3-block-head h2{font-size:clamp(1.9rem,9vw,3rem)}
  .company-v3-block-grid figure{min-height:290px}
  .company-v3-block-copy{padding:30px 24px 34px}
  .company-v3-action{width:100%;min-width:0}
  .company-v3-partner-cloud{justify-content:center;gap:24px}
  .partner-mark{flex-basis:130px}
}

/* =========================================================
   v1.0.11 — canonical client-approved composition
   ========================================================= */
:root{--header-h:104px}

/* Header brand: four-line identity, first two lines prominent */
.site-header{height:var(--header-h)!important}
.site-header .header-inner{height:var(--header-h)!important}
.site-header .brand{
  min-width:420px!important;
  gap:18px!important;
}
.site-header .brand img{
  width:72px!important;
  height:72px!important;
  flex:0 0 72px!important;
}
.site-header .brand-copy{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  min-width:0;
}
.site-header .brand-copy strong{
  margin:0!important;
  color:#fff!important;
  font-size:1.14rem!important;
  line-height:1.05!important;
  font-weight:900!important;
  letter-spacing:.035em!important;
}
.site-header .brand-meta{
  margin-top:3px!important;
  font-family:ui-monospace,SFMono-Regular,Consolas,monospace!important;
  text-transform:uppercase!important;
}
.site-header .brand-founded{
  margin-top:6px!important;
  color:#fff!important;
  font-size:.78rem!important;
  line-height:1.05!important;
  font-weight:900!important;
  letter-spacing:.075em!important;
}
.site-header .brand-production,
.site-header .brand-products{
  font-size:.58rem!important;
  line-height:1.22!important;
  font-weight:850!important;
  letter-spacing:.095em!important;
}
.site-header .header-cta{
  min-height:52px!important;
  padding-inline:22px!important;
}

/* Footer mirrors brand identity without duplicate descriptor paragraph */
.site-footer .brand{gap:14px}
.site-footer .brand img{width:58px;height:58px}
.site-footer .brand-copy strong{font-size:1rem}
.site-footer .brand-founded{
  color:#fff!important;
  font-size:.68rem!important;
  font-weight:900!important;
}
.site-footer .brand-production{color:var(--brand-primary)!important}
.site-footer .brand-products{color:#8f9da7!important}

/* No translucent black badge language */
.hero-tags{
  gap:14px!important;
  align-items:center!important;
}
.hero-tag{
  position:relative!important;
  padding:0!important;
  border:0!important;
  background:none!important;
  backdrop-filter:none!important;
  color:#d8e0e5!important;
}
.hero-tag+ .hero-tag::before{
  content:"•";
  margin-right:14px;
  color:var(--brand-primary);
}

/* Home: three clear visual levels */
.home-client-v1 .hero{
  min-height:100svh!important;
  padding:calc(var(--header-h) + 54px) 0 122px!important;
  align-items:center!important;
}
.home-client-v1 .hero .container{
  width:100%;
}
.home-hero-copy{
  max-width:none!important;
  padding:0 0 68px!important;
}
.home-hero-copy .kicker{
  margin:0 0 34px!important;
  max-width:920px;
  font-size:.72rem!important;
  line-height:1.45!important;
  letter-spacing:.12em!important;
}
.home-hero-copy h1{
  margin:0!important;
  max-width:1180px!important;
  font-size:clamp(4.2rem,7.2vw,8rem)!important;
  line-height:.90!important;
  letter-spacing:-.06em!important;
}
.hero-routes{
  left:50%!important;
  right:auto!important;
  bottom:28px!important;
  transform:translateX(-50%);
  width:min(1320px,calc(100% - 64px))!important;
  min-height:88px!important;
  gap:12px!important;
  border-top:0!important;
}
.hero-route,
.hero-route:first-child,
.hero-route:last-child{
  min-height:88px!important;
  padding:0 82px!important;
  border:2px solid rgba(255,255,255,.82)!important;
  box-shadow:0 12px 30px rgba(0,0,0,.24)!important;
}
.hero-route:first-child{
  border-color:var(--brand-primary)!important;
}
.hero-route:last-child{
  background:#fff!important;
  border-color:#fff!important;
}
.hero-route:last-child strong,
.hero-route:last-child b{
  color:#111!important;
}
.hero-route:last-child span{
  color:var(--brand-primary)!important;
}
.hero-route strong{
  font-size:clamp(1.05rem,1.35vw,1.42rem)!important;
  font-weight:900!important;
  letter-spacing:.015em!important;
}
.hero-route span{left:30px!important}
.hero-route b{right:30px!important}
.hero-route:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 38px rgba(0,0,0,.30)!important;
}

/* Company hero is a complete first screen */
.company-v3-hero{
  min-height:100svh!important;
  padding:calc(var(--header-h) + 72px) 0 64px!important;
  align-items:center!important;
}
.company-v3-hero::after{
  background:linear-gradient(90deg,rgba(5,8,10,.76) 0%,rgba(5,8,10,.46) 44%,rgba(5,8,10,.10) 78%,rgba(5,8,10,0) 100%)!important;
}
.company-v3-hero-copy{
  max-width:1040px!important;
}
.company-v3-brandline{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:24px!important;
}
.company-v3-brandline::before{
  content:"";
  width:38px;
  height:2px;
  background:var(--brand-primary);
  flex:0 0 38px;
}
.company-v3-hero h1{
  max-width:1050px!important;
  font-size:clamp(3.35rem,5.8vw,6.6rem)!important;
}
.company-v3-story{
  max-width:860px;
  margin-top:28px;
}
.company-v3-story p{
  margin:0!important;
  color:#e2e7ea!important;
  font-size:.98rem!important;
  line-height:1.54!important;
}
.company-v3-story p+p{
  margin-top:10px!important;
  color:#cbd4da!important;
}

/* Assets: each one reads as a separate module */
.company-v3-assets{
  padding:78px 0 100px!important;
}
.company-v3-label{
  margin-bottom:46px!important;
  font-size:.86rem!important;
}
.company-v3-block,
.company-v3-partners{
  margin-top:96px!important;
  padding-top:0!important;
  border-top:0!important;
}
.company-v3-block:first-of-type{margin-top:0!important}
.company-v3-block-head{
  margin-bottom:26px!important;
  padding-bottom:18px;
  border-bottom:1px solid #c9d0d4;
}
.company-v3-block-head h2{
  max-width:1240px!important;
  font-size:clamp(2.2rem,3.45vw,4.1rem)!important;
}
.company-v3-block-grid{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  border:1px solid #d2d8dc!important;
  box-shadow:0 18px 48px rgba(17,24,29,.06);
}
.company-v3-block-grid figure{
  min-height:480px!important;
}
.company-v3-block-copy{
  padding:52px 58px!important;
}
.company-v3-list{
  font-size:1.02rem!important;
}
.company-v3-list-large{
  font-size:clamp(1.15rem,1.45vw,1.34rem)!important;
}
.company-v3-copy-kicker{
  margin-bottom:20px;
  color:var(--brand-primary-deep);
  font:900 .7rem/1 ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.14em;
}
.company-v3-action{
  align-self:flex-start;
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  min-width:310px!important;
  min-height:58px!important;
  margin-top:36px!important;
}

/* Warehouse: metric + location as two deliberate facts */
.company-v3-facts{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:26px;
  align-items:end;
  margin-bottom:32px;
}
.company-v3-metric{margin:0!important}
.company-v3-metric strong{
  font-size:clamp(4.2rem,5.7vw,6.8rem)!important;
}
.company-v3-location{
  padding-bottom:8px;
}
.company-v3-location strong{
  display:block;
  color:var(--brand-primary-deep);
  font-size:clamp(1.7rem,2.4vw,2.65rem);
  line-height:.9;
  letter-spacing:-.04em;
}
.company-v3-location span{
  display:block;
  margin-top:8px;
  color:#5c6973;
  font-size:.92rem;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.company-v3-address{
  margin-top:22px!important;
  padding-top:20px!important;
}

/* Portrait stock photo stays visually intentional */
.company-v3-stock-photo{
  display:flex;
  align-items:center;
  justify-content:center;
  background:#151c21!important;
}
.company-v3-stock-photo img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
}

/* Reliability: photo first, compact facts instead of giant empty plaques */
.company-v3-law-tags{
  gap:8px!important;
  margin-bottom:24px!important;
}
.company-v3-law-tags span{
  padding:9px 12px!important;
  background:transparent!important;
  border-width:1px!important;
}
.company-card-download{
  margin-top:30px!important;
}

/* Partners: loose brand field, no cards/grid */
.company-v3-partners{
  padding-top:0!important;
}
.company-v3-partner-cloud{
  justify-content:flex-start!important;
  column-gap:clamp(42px,6vw,92px)!important;
  row-gap:44px!important;
  padding:34px 10px 8px!important;
}
.partner-mark{
  flex:0 1 190px!important;
  min-height:110px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.partner-mark img{
  max-width:160px!important;
  max-height:62px!important;
}
.partner-mark span{
  max-width:205px!important;
  font-size:.7rem!important;
}

/* Company CTA is a finish line, not another section */
.company-v3-cta-inner{
  min-height:126px!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:space-between!important;
}
.company-v3-cta strong{
  max-width:760px;
  color:#182229;
  font-size:clamp(1.15rem,1.7vw,1.65rem);
  line-height:1.15;
  letter-spacing:.02em;
}
.company-v3-cta .btn{
  flex:0 0 auto;
  min-width:220px;
}

/* Make buttons look unmistakably clickable site-wide */
.btn{
  border-radius:0!important;
  min-height:54px!important;
  padding:0 24px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-width:2px!important;
  font-weight:900!important;
  text-transform:uppercase!important;
  letter-spacing:.055em!important;
  box-shadow:0 8px 20px rgba(0,0,0,.10);
}
.btn:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 26px rgba(0,0,0,.16);
}

/* Enterprise card is compact and belongs with contacts */
.enterprise-card-strip .container{
  min-height:142px!important;
}
.enterprise-card-strip .btn{
  min-width:190px;
}

/* Headings are statements, not sentences */
h1,h2,h3{text-wrap:balance}

@media(max-width:1180px){
  .site-header .brand{min-width:330px!important}
  .site-header .brand img{width:62px!important;height:62px!important;flex-basis:62px!important}
  .site-header .brand-copy strong{font-size:1rem!important}
  .site-header .brand-founded{font-size:.68rem!important}
  .site-header .brand-production,
  .site-header .brand-products{font-size:.52rem!important}
  .hero-routes{width:calc(100% - 36px)!important}
}
@media(max-width:980px){
  .company-v3-block-grid{grid-template-columns:1fr!important}
  .company-v3-block-copy{border-left:0!important;border-top:1px solid #d7dde1!important}
  .company-v3-facts{grid-template-columns:1fr 1fr}
}
@media(max-width:820px){
  :root{--header-h:78px}
  .site-header{height:var(--header-h)!important}
  .site-header .header-inner{height:var(--header-h)!important}
  .site-header .brand img{width:48px!important;height:48px!important;flex-basis:48px!important}
  .site-header .brand-copy strong{font-size:.86rem!important}
  .site-header .brand-meta{display:none!important}

  .home-client-v1 .hero{
    min-height:100svh!important;
    padding:118px 0 190px!important;
    align-items:center!important;
  }
  .home-hero-copy{padding:0!important}
  .home-hero-copy .kicker{margin-bottom:22px!important}
  .home-hero-copy h1{
    font-size:clamp(2.75rem,11vw,4.7rem)!important;
  }
  .hero-routes{
    width:calc(100% - 24px)!important;
    grid-template-columns:1fr!important;
    min-height:0!important;
    gap:8px!important;
    bottom:14px!important;
  }
  .hero-route,
  .hero-route:first-child,
  .hero-route:last-child{
    min-height:72px!important;
    padding:0 52px!important;
  }
  .hero-route span{left:18px!important}
  .hero-route b{right:18px!important}

  .company-v3-hero{
    min-height:100svh!important;
    padding:112px 0 48px!important;
    align-items:center!important;
  }
  .company-v3-hero h1{
    font-size:clamp(2.7rem,11.5vw,4.8rem)!important;
  }
  .company-v3-story p{
    font-size:.88rem!important;
    line-height:1.48!important;
  }
  .company-v3-assets{padding:58px 0 72px!important}
  .company-v3-block,
  .company-v3-partners{margin-top:64px!important}
  .company-v3-block-head{
    grid-template-columns:38px minmax(0,1fr)!important;
    gap:8px!important;
  }
  .company-v3-block-head h2{
    font-size:clamp(1.9rem,8.7vw,3rem)!important;
  }
  .company-v3-block-grid figure{min-height:300px!important}
  .company-v3-block-copy{padding:30px 24px 34px!important}
  .company-v3-facts{grid-template-columns:1fr;gap:18px}
  .company-v3-action{width:100%!important;min-width:0!important}
  .company-v3-cta-inner{
    min-height:0!important;
    padding-top:28px!important;
    padding-bottom:28px!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:18px!important;
  }
  .company-v3-cta .btn{width:100%}
}

/* =========================================================
   v1.0.12 — home hero composition fix
   ========================================================= */

/*
   Desktop:
   - keep the headline completely above route buttons
   - reduce oversized headline slightly
   - give route buttons their own visual zone
*/

.home-client-v1 .hero{
  min-height:100svh!important;
  padding:calc(var(--header-h) + 48px) 0 176px!important;
  align-items:flex-start!important;
}

.home-client-v1 .hero .container{
  width:100%!important;
}

.home-hero-copy{
  width:100%!important;
  max-width:1180px!important;
  padding:30px 0 0!important;
  margin:0!important;
}

.home-hero-copy .kicker{
  max-width:980px!important;
  margin:0 0 24px!important;
  font-size:.72rem!important;
  line-height:1.4!important;
  letter-spacing:.12em!important;
}

.home-hero-copy h1{
  width:auto!important;
  max-width:1030px!important;
  margin:0!important;

  font-size:clamp(3.75rem,6vw,6.65rem)!important;
  line-height:.89!important;
  letter-spacing:-.055em!important;
}

/*
   Routes are visually separated from H1 and anchored
   to the bottom of the viewport
*/
.hero-routes{
  position:absolute!important;

  left:50%!important;
  right:auto!important;
  bottom:18px!important;

  transform:translateX(-50%)!important;

  width:min(1320px,calc(100% - 64px))!important;

  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:10px!important;

  min-height:74px!important;

  border:0!important;
}

.hero-route,
.hero-route:first-child,
.hero-route:last-child{
  position:relative!important;

  display:flex!important;
  align-items:center!important;
  justify-content:center!important;

  min-height:74px!important;

  padding:0 64px!important;

  border:2px solid rgba(255,255,255,.88)!important;

  box-shadow:0 12px 30px rgba(0,0,0,.25)!important;

  overflow:hidden!important;
}

.hero-route:first-child{
  border-color:var(--brand-primary)!important;
}

.hero-route:last-child{
  background:#fff!important;
  border-color:#fff!important;
}

.hero-route strong{
  width:100%!important;

  min-height:0!important;

  display:block!important;

  color:inherit;

  text-align:center!important;

  font-size:clamp(1rem,1.2vw,1.3rem)!important;
  line-height:1.05!important;
  font-weight:900!important;

  letter-spacing:.015em!important;
}

.hero-route span{
  position:absolute!important;

  left:24px!important;
  top:50%!important;

  transform:translateY(-50%)!important;

  display:block!important;

  font-size:.67rem!important;
}

.hero-route b{
  position:absolute!important;

  right:24px!important;
  top:50%!important;

  transform:translateY(-50%)!important;

  display:block!important;

  font-size:1.55rem!important;
}

.hero-route:last-child strong,
.hero-route:last-child b{
  color:#111!important;
}

.hero-route:last-child span{
  color:var(--brand-primary)!important;
}

.hero-route:hover{
  transform:translateY(-2px)!important;

  box-shadow:0 16px 38px rgba(0,0,0,.30)!important;
}

/*
   Medium desktop / laptop screens
*/
@media (max-width:1300px) and (min-width:821px){

  .home-client-v1 .hero{
    padding-top:calc(var(--header-h) + 38px)!important;
  }

  .home-hero-copy{
    padding-top:22px!important;
  }

  .home-hero-copy h1{
    max-width:920px!important;

    font-size:clamp(3.55rem,5.7vw,5.8rem)!important;
  }

  .hero-routes{
    width:calc(100% - 40px)!important;
  }
}

/*
   Short desktop screens.
   This is important for laptops where viewport height is limited.
*/
@media (max-height:850px) and (min-width:821px){

  .home-client-v1 .hero{
    padding-top:calc(var(--header-h) + 24px)!important;
    padding-bottom:150px!important;
  }

  .home-hero-copy{
    padding-top:12px!important;
  }

  .home-hero-copy .kicker{
    margin-bottom:16px!important;
  }

  .home-hero-copy h1{
    max-width:900px!important;

    font-size:clamp(3.35rem,5.45vw,5.55rem)!important;
  }

  .hero-routes{
    bottom:12px!important;
  }

  .hero-route,
  .hero-route:first-child,
  .hero-route:last-child{
    min-height:68px!important;
  }
}

/*
   Mobile
*/
@media (max-width:820px){

  .home-client-v1 .hero{
    min-height:100svh!important;

    padding:108px 0 178px!important;

    align-items:flex-start!important;
  }

  .home-hero-copy{
    max-width:none!important;

    padding:20px 0 0!important;
  }

  .home-hero-copy .kicker{
    margin-bottom:18px!important;

    font-size:.59rem!important;
    line-height:1.42!important;
  }

  .home-hero-copy h1{
    max-width:100%!important;

    font-size:clamp(2.7rem,10.5vw,4.5rem)!important;
    line-height:.92!important;
  }

  .hero-routes{
    width:calc(100% - 20px)!important;

    grid-template-columns:1fr!important;

    gap:7px!important;

    bottom:10px!important;
  }

  .hero-route,
  .hero-route:first-child,
  .hero-route:last-child{
    min-height:68px!important;

    padding:0 48px!important;
  }

  .hero-route strong{
    font-size:.98rem!important;
  }

  .hero-route span{
    left:16px!important;
  }

  .hero-route b{
    right:16px!important;
  }
}


/* =========================================================
   v1.0.13 — partner grid and tender CTA
   ========================================================= */

/* partners: free grid 3x2, no table, no cards */
.company-v3-partner-cloud{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:34px 42px !important;
  justify-items:center !important;
  align-items:start !important;
  padding:34px 10px 8px !important;
}

.partner-mark{
  width:100% !important;
  max-width:240px !important;
  min-height:118px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:12px !important;
  padding:8px 6px !important;
  text-align:center !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

.partner-mark img{
  max-width:160px !important;
  max-height:58px !important;
  width:auto !important;
  height:auto !important;
  object-fit:contain !important;
}

.partner-mark span{
  max-width:220px !important;
  font-size:.72rem !important;
  line-height:1.32 !important;
  font-weight:750 !important;
  color:#66737d !important;
}

.partner-mark strong{
  font-size:1.28rem !important;
  line-height:1 !important;
}

/* tender block buttons */
.company-v3-button-row{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:14px !important;
  margin-top:30px !important;
}

.company-v3-button-row .btn{
  min-width:260px !important;
}

.company-v3-tender-btn{
  order:1 !important;
}

.company-card-download{
  order:2 !important;
}

@media (max-width:980px){
  .company-v3-partner-cloud{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:28px 28px !important;
  }
}

@media (max-width:640px){
  .company-v3-partner-cloud{
    grid-template-columns:1fr !important;
    gap:22px !important;
  }

  .company-v3-button-row{
    width:100% !important;
  }

  .company-v3-button-row .btn{
    width:100% !important;
    min-width:0 !important;
  }
}



/* =========================================================
   v1.0.14 — canonical home: one block = one screen
   ========================================================= */

.home-v2{
  background:#0a0f13;
}

.home-intro-screen,
.home-directions-screen{
  position:relative;
  min-height:100svh;
  box-sizing:border-box;
  scroll-margin-top:0;
}

/* Screen 1 — hero */
.home-intro-screen{
  display:flex;
  align-items:center;
  overflow:hidden;
  padding:calc(var(--header-h) + 66px) 0 72px;
  background:#080d11;
}

.home-intro-media,
.home-intro-media::after{
  position:absolute;
  inset:0;
}

.home-intro-media img,
.home-intro-media video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}

.home-intro-media img{z-index:1}
.home-intro-media video{z-index:2}

.home-intro-media::after{
  content:"";
  z-index:3;
  background:
    linear-gradient(90deg,rgba(4,8,11,.74) 0%,rgba(4,8,11,.48) 38%,rgba(4,8,11,.14) 72%,rgba(4,8,11,.02) 100%),
    linear-gradient(0deg,rgba(4,8,11,.34) 0%,rgba(4,8,11,0) 44%,rgba(4,8,11,.16) 100%);
}

.home-intro-inner{
  position:relative;
  z-index:4;
  width:100%;
}

.home-intro-copy{
  max-width:1500px;
}

.home-intro-kicker{
  margin-bottom:26px;
  color:#f0f4f6;
  font:900 .72rem/1.45 ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.12em;
  text-transform:uppercase;
  text-shadow:0 1px 10px rgba(0,0,0,.5);
}

.home-intro-copy h1{
  margin:0;
  max-width:1500px;
  color:#fff;
  font-size:clamp(4rem,4.6vw,5.8rem);
  line-height:.91;
  letter-spacing:-.055em;
  text-transform:uppercase;
  text-shadow:0 3px 24px rgba(0,0,0,.34);
}

.home-intro-copy h1 span{
  color:var(--brand-primary);
  white-space:nowrap;
}

.home-scroll-link{
  position:absolute;
  left:0;
  bottom:-42px;
  display:inline-flex;
  align-items:center;
  gap:12px;
  color:#fff;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.10em;
  text-transform:uppercase;
  border-bottom:2px solid var(--brand-primary);
  padding-bottom:8px;
}

.home-scroll-link b{
  color:var(--brand-primary);
  font-size:1.15rem;
  font-weight:500;
}

.home-scroll-link:hover{
  color:var(--brand-primary-hover);
}

/* Screen 2 — two clear destinations */
.home-directions-screen{
  display:flex;
  align-items:stretch;
  padding:calc(var(--header-h) + 68px) 0 58px;
  background:#f3f5f6;
  color:#11181d;
}

.home-directions-inner{
  display:flex;
  flex-direction:column;
  width:100%;
}

.home-directions-head{
  display:grid;
  grid-template-columns:260px minmax(0,1fr);
  gap:28px;
  align-items:end;
  padding-bottom:24px;
  border-bottom:1px solid #cbd2d6;
}

.home-directions-label{
  color:var(--brand-primary-deep);
  font:900 .74rem/1.3 ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.home-directions-head h2{
  margin:0;
  color:#10171c;
  font-size:clamp(2.8rem,4vw,4.8rem);
  line-height:.92;
  letter-spacing:-.045em;
  text-transform:uppercase;
}

.home-direction-grid{
  flex:1 1 auto;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  min-height:0;
  padding-top:28px;
}

.home-direction{
  position:relative;
  min-height:500px;
  overflow:hidden;
  display:flex;
  align-items:flex-end;
  color:#fff;
  border:2px solid transparent;
  box-shadow:0 18px 50px rgba(11,18,23,.10);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}

.home-direction img,
.home-direction-shade{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}

.home-direction img{
  object-fit:cover;
  transition:transform .35s ease;
}

.home-direction-shade{
  background:
    linear-gradient(0deg,rgba(6,10,13,.86) 0%,rgba(6,10,13,.42) 48%,rgba(6,10,13,.08) 82%),
    linear-gradient(90deg,rgba(6,10,13,.28),rgba(6,10,13,.06));
}

.home-direction-content{
  position:relative;
  z-index:2;
  width:100%;
  padding:38px 40px 36px;
}

.home-direction-content span{
  display:block;
  margin-bottom:18px;
  color:var(--brand-primary);
  font:900 .72rem/1 ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.16em;
}

.home-direction-content strong{
  display:block;
  max-width:700px;
  color:#fff;
  font-size:clamp(2rem,3vw,3.65rem);
  line-height:.94;
  letter-spacing:-.04em;
  text-transform:uppercase;
}

.home-direction-content b{
  display:inline-flex;
  align-items:center;
  min-height:50px;
  margin-top:28px;
  padding:0 18px;
  background:var(--brand-primary);
  color:#fff;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.075em;
  text-transform:uppercase;
  border:2px solid var(--brand-primary);
}

html[data-theme="gold"] .home-direction-content b{
  color:#111;
}

.home-direction:hover{
  transform:translateY(-4px);
  border-color:var(--brand-primary);
  box-shadow:0 24px 62px rgba(11,18,23,.16);
}

.home-direction:hover img{
  transform:scale(1.025);
}

.home-direction:hover .home-direction-content b{
  background:var(--brand-primary-hover);
  border-color:var(--brand-primary-hover);
}

/* Desktop with limited height */
@media (max-height:850px) and (min-width:821px){
  .home-intro-screen{
    padding-top:calc(var(--header-h) + 48px);
    padding-bottom:54px;
  }

  .home-intro-kicker{
    margin-bottom:18px;
  }

  .home-intro-copy h1{
    font-size:clamp(3.55rem,4.15vw,5.15rem);
  }

  .home-scroll-link{
    bottom:-30px;
  }

  .home-directions-screen{
    padding-top:calc(var(--header-h) + 50px);
    padding-bottom:36px;
  }

  .home-directions-head{
    padding-bottom:18px;
  }

  .home-direction-grid{
    padding-top:18px;
  }

  .home-direction{
    min-height:390px;
  }

  .home-direction-content{
    padding:28px 32px;
  }
}

@media (max-width:1100px) and (min-width:821px){
  .home-intro-copy h1{
    font-size:clamp(3.6rem,6vw,5rem);
  }

  .home-intro-copy h1 span{
    white-space:normal;
  }

  .home-directions-head{
    grid-template-columns:200px minmax(0,1fr);
  }

  .home-direction-content strong{
    font-size:clamp(1.8rem,3.5vw,3rem);
  }
}

@media (max-width:820px){
  .home-intro-screen{
    min-height:100svh;
    padding:108px 0 72px;
    align-items:center;
  }

  .home-intro-kicker{
    margin-bottom:18px;
    font-size:.58rem;
    line-height:1.45;
  }

  .home-intro-copy h1{
    font-size:clamp(2.75rem,10.7vw,4.6rem);
    line-height:.92;
  }

  .home-intro-copy h1 span{
    white-space:normal;
  }

  .home-scroll-link{
    position:static;
    margin-top:32px;
  }

  .home-directions-screen{
    min-height:auto;
    padding:110px 0 40px;
  }

  .home-directions-head{
    grid-template-columns:1fr;
    gap:10px;
  }

  .home-directions-head h2{
    font-size:clamp(2.2rem,10vw,3.4rem);
  }

  .home-direction-grid{
    grid-template-columns:1fr;
    gap:14px;
    padding-top:22px;
  }

  .home-direction{
    min-height:58svh;
  }

  .home-direction-content{
    padding:28px 24px;
  }

  .home-direction-content strong{
    font-size:clamp(2rem,9vw,3.2rem);
  }

  .home-direction-content b{
    min-height:48px;
    margin-top:22px;
    padding:0 14px;
    font-size:.66rem;
  }
}


/* =========================================================
   v1.0.15 — restore clean single-screen home
   ========================================================= */

.home-client-v1 .home-hero-client{
  min-height:100svh!important;
  padding:calc(var(--header-h) + 42px) 0 46px!important;
  align-items:stretch!important;
}

.home-client-v1 .home-hero-client .container{
  position:relative!important;
  z-index:5!important;
  width:100%!important;
  display:flex!important;
  align-items:stretch!important;
}

.home-client-v1 .home-hero-copy{
  width:100%!important;
  max-width:none!important;
  min-height:calc(100svh - var(--header-h) - 88px)!important;
  padding:0!important;
  margin:0!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
}

.home-client-v1 .home-hero-copy .kicker{
  max-width:980px!important;
  margin:0 0 22px!important;
  color:#fff!important;
  font-size:.70rem!important;
  line-height:1.4!important;
  letter-spacing:.12em!important;
  text-shadow:0 1px 8px rgba(0,0,0,.55)!important;
}

.home-client-v1 .home-hero-copy h1{
  width:100%!important;
  max-width:1340px!important;
  margin:0!important;
  color:#fff!important;
  font-size:clamp(4rem,5vw,5.8rem)!important;
  line-height:.90!important;
  letter-spacing:-.055em!important;
  text-shadow:0 3px 22px rgba(0,0,0,.38)!important;
  text-transform:uppercase!important;
}

.home-client-v1 .home-hero-copy h1 .hero-accent,
.home-client-v1 .home-hero-copy h1 .hero-main-line{
  display:block!important;
}

.home-client-v1 .home-hero-copy h1 .hero-accent{
  color:var(--brand-primary)!important;
}

@media (min-width:1101px){
  .home-client-v1 .home-hero-copy h1 .hero-accent,
  .home-client-v1 .home-hero-copy h1 .hero-main-line{
    white-space:nowrap!important;
  }
}

/* Buttons stay inside the same hero flow — no overlap, no separate section */
.home-client-v1 .hero-routes{
  position:static!important;
  left:auto!important;
  right:auto!important;
  bottom:auto!important;
  transform:none!important;

  width:100%!important;
  max-width:1320px!important;
  min-height:0!important;

  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:14px!important;

  margin:38px 0 0!important;
  border:0!important;
}

.home-client-v1 .hero-route,
.home-client-v1 .hero-route:first-child,
.home-client-v1 .hero-route:last-child{
  position:relative!important;
  min-height:76px!important;

  display:flex!important;
  align-items:center!important;
  justify-content:center!important;

  padding:0 68px!important;

  border:2px solid transparent!important;
  box-shadow:0 12px 28px rgba(0,0,0,.20)!important;

  overflow:hidden!important;
  transition:
    transform .18s ease,
    box-shadow .18s ease,
    background .18s ease,
    border-color .18s ease!important;
}

.home-client-v1 .hero-route:first-child{
  background:var(--brand-primary)!important;
  border-color:var(--brand-primary)!important;
}

.home-client-v1 .hero-route:last-child{
  background:#fff!important;
  border-color:#fff!important;
}

.home-client-v1 .hero-route strong{
  display:block!important;
  width:100%!important;
  min-height:0!important;

  color:#111!important;
  text-align:center!important;

  font-size:clamp(1.02rem,1.2vw,1.28rem)!important;
  line-height:1.05!important;
  font-weight:900!important;
  letter-spacing:.012em!important;
}

.home-client-v1 .hero-route span{
  position:absolute!important;
  left:24px!important;
  top:50%!important;
  transform:translateY(-50%)!important;

  display:block!important;
  color:var(--brand-secondary)!important;

  font:900 .67rem/1 ui-monospace,SFMono-Regular,Consolas,monospace!important;
  letter-spacing:.14em!important;
}

.home-client-v1 .hero-route b{
  position:absolute!important;
  right:24px!important;
  top:50%!important;
  transform:translateY(-50%)!important;

  display:block!important;
  color:#111!important;

  font-size:1.5rem!important;
  font-weight:500!important;
}

html[data-theme="blue"] .home-client-v1 .hero-route:first-child strong,
html[data-theme="blue"] .home-client-v1 .hero-route:first-child b{
  color:#fff!important;
}

html[data-theme="gold"] .home-client-v1 .hero-route:first-child strong,
html[data-theme="gold"] .home-client-v1 .hero-route:first-child b{
  color:#111!important;
}

.home-client-v1 .hero-route:last-child span{
  color:var(--brand-primary)!important;
}

.home-client-v1 .hero-route:hover{
  transform:translateY(-3px)!important;
  box-shadow:0 17px 38px rgba(0,0,0,.28)!important;
}

.home-client-v1 .hero-route:first-child:hover{
  background:var(--brand-primary-hover)!important;
  border-color:var(--brand-primary-hover)!important;
}

.home-client-v1 .hero-route:last-child:hover{
  border-color:var(--brand-primary)!important;
}

.home-client-v1 .hero-route:hover::after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  height:4px!important;
  background:var(--brand-secondary)!important;
}

/* Keep the background readable without the heavy black-plaque look */
.home-client-v1 .hero-media-v106::after{
  background:
    linear-gradient(90deg,rgba(5,10,14,.46) 0%,rgba(5,10,14,.24) 44%,rgba(5,10,14,.06) 76%,rgba(5,10,14,0) 100%),
    linear-gradient(0deg,rgba(5,10,14,.22) 0%,rgba(5,10,14,0) 46%,rgba(5,10,14,.10) 100%)!important;
}

.home-client-v1 .hero-grid{
  opacity:.05!important;
}

/* Laptop / short desktop */
@media (max-height:850px) and (min-width:821px){
  .home-client-v1 .home-hero-client{
    padding-top:calc(var(--header-h) + 30px)!important;
    padding-bottom:32px!important;
  }

  .home-client-v1 .home-hero-copy{
    min-height:calc(100svh - var(--header-h) - 62px)!important;
  }

  .home-client-v1 .home-hero-copy .kicker{
    margin-bottom:16px!important;
  }

  .home-client-v1 .home-hero-copy h1{
    font-size:clamp(3.55rem,4.55vw,5.1rem)!important;
  }

  .home-client-v1 .hero-routes{
    margin-top:28px!important;
  }

  .home-client-v1 .hero-route,
  .home-client-v1 .hero-route:first-child,
  .home-client-v1 .hero-route:last-child{
    min-height:68px!important;
  }
}

@media (max-width:1100px) and (min-width:821px){
  .home-client-v1 .home-hero-copy h1{
    max-width:980px!important;
    font-size:clamp(3.45rem,5.6vw,5rem)!important;
  }

  .home-client-v1 .home-hero-copy h1 .hero-accent,
  .home-client-v1 .home-hero-copy h1 .hero-main-line{
    white-space:normal!important;
  }

  .home-client-v1 .hero-routes{
    margin-top:30px!important;
  }
}

@media (max-width:820px){
  .home-client-v1 .home-hero-client{
    min-height:100svh!important;
    padding:104px 0 28px!important;
    align-items:stretch!important;
  }

  .home-client-v1 .home-hero-copy{
    min-height:calc(100svh - 132px)!important;
    justify-content:center!important;
  }

  .home-client-v1 .home-hero-copy .kicker{
    margin-bottom:16px!important;
    font-size:.58rem!important;
  }

  .home-client-v1 .home-hero-copy h1{
    font-size:clamp(2.55rem,10.2vw,4.3rem)!important;
    line-height:.92!important;
  }

  .home-client-v1 .home-hero-copy h1 .hero-accent,
  .home-client-v1 .home-hero-copy h1 .hero-main-line{
    white-space:normal!important;
  }

  .home-client-v1 .hero-routes{
    grid-template-columns:1fr!important;
    gap:8px!important;
    margin-top:26px!important;
  }

  .home-client-v1 .hero-route,
  .home-client-v1 .hero-route:first-child,
  .home-client-v1 .hero-route:last-child{
    min-height:66px!important;
    padding:0 50px!important;
  }

  .home-client-v1 .hero-route span{
    left:16px!important;
  }

  .home-client-v1 .hero-route b{
    right:16px!important;
  }

  .home-client-v1 .hero-route strong{
    font-size:.96rem!important;
  }
}


/* =========================================================
   v1.0.16 — balanced responsive single-screen home
   ========================================================= */

/*
  One composition, always:
  kicker -> headline -> two equal action buttons.
  The normal .container width is preserved, so the composition
  stays centered on wide monitors instead of stretching edge-to-edge.
*/
.home-client-v1 .home-hero-client{
  min-height:100svh!important;
  padding:calc(var(--header-h) + 52px) 0 38px!important;
  align-items:center!important;
}

.home-client-v1 .home-hero-client > .container{
  width:min(calc(100% - 48px),var(--max))!important;
  min-height:calc(100svh - var(--header-h) - 90px)!important;
  margin:0 auto!important;
  display:flex!important;
  align-items:center!important;
}

.home-client-v1 .home-hero-copy{
  width:100%!important;
  max-width:none!important;
  min-height:0!important;
  padding:0!important;
  margin:0!important;
  display:block!important;
}

.home-client-v1 .home-hero-copy .kicker{
  margin:0 0 clamp(16px,2.1vh,24px)!important;
  max-width:980px!important;
  font-size:clamp(.62rem,.72vw,.74rem)!important;
  line-height:1.35!important;
}

.home-client-v1 .home-hero-copy h1{
  width:100%!important;
  max-width:1380px!important;
  margin:0!important;
  font-size:clamp(4.15rem,5.25vw,6.25rem)!important;
  line-height:.90!important;
  letter-spacing:-.055em!important;
}

.home-client-v1 .home-hero-copy h1 .hero-accent,
.home-client-v1 .home-hero-copy h1 .hero-main-line{
  display:block!important;
  white-space:nowrap!important;
}

/* the buttons are part of the same composition, not a bottom ribbon */
.home-client-v1 .hero-routes{
  position:static!important;
  inset:auto!important;
  transform:none!important;
  width:100%!important;
  max-width:1380px!important;
  min-height:0!important;
  margin:clamp(30px,4.2vh,46px) 0 0!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:16px!important;
  border:0!important;
}

.home-client-v1 .hero-route,
.home-client-v1 .hero-route:first-child,
.home-client-v1 .hero-route:last-child{
  min-height:clamp(82px,9.2vh,96px)!important;
  padding:0 78px!important;
  border:2px solid transparent!important;
  box-shadow:0 14px 34px rgba(0,0,0,.24)!important;
}

.home-client-v1 .hero-route strong{
  font-size:clamp(1.08rem,1.32vw,1.42rem)!important;
  line-height:1.05!important;
}

.home-client-v1 .hero-route span{
  left:28px!important;
}

.home-client-v1 .hero-route b{
  right:28px!important;
  font-size:1.65rem!important;
}

/* 1366–1550px class screens */
@media (max-width:1550px) and (min-width:1101px){
  .home-client-v1 .home-hero-client > .container{
    width:min(calc(100% - 64px),1320px)!important;
  }

  .home-client-v1 .home-hero-copy h1{
    font-size:clamp(3.85rem,5.1vw,5.35rem)!important;
  }

  .home-client-v1 .hero-routes{
    max-width:none!important;
  }
}

/* short laptops: keep the same composition, only scale it */
@media (max-height:820px) and (min-width:821px){
  .home-client-v1 .home-hero-client{
    padding-top:calc(var(--header-h) + 42px)!important;
    padding-bottom:26px!important;
  }

  .home-client-v1 .home-hero-client > .container{
    min-height:calc(100svh - var(--header-h) - 68px)!important;
  }

  .home-client-v1 .home-hero-copy .kicker{
    margin-bottom:14px!important;
  }

  .home-client-v1 .home-hero-copy h1{
    font-size:clamp(3.45rem,4.75vw,5rem)!important;
  }

  .home-client-v1 .hero-routes{
    margin-top:26px!important;
  }

  .home-client-v1 .hero-route,
  .home-client-v1 .hero-route:first-child,
  .home-client-v1 .hero-route:last-child{
    min-height:72px!important;
  }
}

/* tablets: allow headline wraps, keep buttons equal */
@media (max-width:1100px) and (min-width:821px){
  .home-client-v1 .home-hero-client > .container{
    width:calc(100% - 48px)!important;
  }

  .home-client-v1 .home-hero-copy h1{
    font-size:clamp(3.45rem,6vw,4.8rem)!important;
  }

  .home-client-v1 .home-hero-copy h1 .hero-accent,
  .home-client-v1 .home-hero-copy h1 .hero-main-line{
    white-space:normal!important;
  }

  .home-client-v1 .hero-route,
  .home-client-v1 .hero-route:first-child,
  .home-client-v1 .hero-route:last-child{
    padding:0 58px!important;
  }
}

/* phones */
@media (max-width:820px){
  .home-client-v1 .home-hero-client{
    min-height:100svh!important;
    padding:98px 0 24px!important;
    align-items:center!important;
  }

  .home-client-v1 .home-hero-client > .container{
    width:calc(100% - 28px)!important;
    min-height:calc(100svh - 122px)!important;
    display:flex!important;
    align-items:center!important;
  }

  .home-client-v1 .home-hero-copy .kicker{
    margin-bottom:14px!important;
    font-size:.57rem!important;
  }

  .home-client-v1 .home-hero-copy h1{
    font-size:clamp(2.45rem,10.4vw,4rem)!important;
    line-height:.92!important;
  }

  .home-client-v1 .home-hero-copy h1 .hero-accent,
  .home-client-v1 .home-hero-copy h1 .hero-main-line{
    white-space:normal!important;
  }

  .home-client-v1 .hero-routes{
    grid-template-columns:1fr!important;
    gap:8px!important;
    margin-top:24px!important;
  }

  .home-client-v1 .hero-route,
  .home-client-v1 .hero-route:first-child,
  .home-client-v1 .hero-route:last-child{
    min-height:66px!important;
    padding:0 48px!important;
  }

  .home-client-v1 .hero-route span{left:16px!important}
  .home-client-v1 .hero-route b{right:16px!important}

  .home-client-v1 .hero-route strong{
    font-size:.94rem!important;
  }
}


/* =========================================================
   v1.0.18 — company asset balance + button consistency
   ========================================================= */

/* keep portrait images from dictating the entire row height */
.company-v3-block-grid{
  min-height:470px!important;
  align-items:stretch!important;
}
.company-v3-block-grid figure{
  position:relative!important;
  min-height:0!important;
  height:auto!important;
  overflow:hidden!important;
}
.company-v3-block-grid figure img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
.company-v3-stock-photo img{
  object-position:center 42%!important;
}

/* text columns: stronger hierarchy, less floating whitespace */
.company-v3-block-copy{
  padding:44px 50px!important;
  justify-content:flex-start!important;
}
.company-v3-copy-kicker{
  margin-bottom:24px!important;
  color:var(--brand-primary-deep)!important;
  font-size:.72rem!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:.14em!important;
}
.company-v3-list{
  max-width:620px;
}
.company-v3-list-large{
  font-size:clamp(1.08rem,1.25vw,1.28rem)!important;
  line-height:1.48!important;
}
.company-v3-list-large li+li{
  margin-top:12px!important;
}
.company-v3-action{
  margin-top:auto!important;
  padding-top:0!important;
}

/* warehouse facts read as one composed information group */
.company-v3-warehouse-copy{
  justify-content:center!important;
}
.company-v3-facts{
  grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)!important;
  gap:34px!important;
  align-items:end!important;
  margin-bottom:30px!important;
}
.company-v3-metric strong{
  font-size:clamp(4rem,5.2vw,6.2rem)!important;
  line-height:.84!important;
}
.company-v3-metric span{
  margin-top:13px!important;
  font-size:.68rem!important;
  letter-spacing:.11em!important;
}
.company-v3-location{
  padding:0 0 6px 28px!important;
  border-left:1px solid #d5dade;
}
.company-v3-location span{
  display:block!important;
  margin:0 0 10px!important;
  color:#7c8790!important;
  font:900 .66rem/1 ui-monospace,SFMono-Regular,Consolas,monospace!important;
  letter-spacing:.13em!important;
}
.company-v3-location strong{
  display:block!important;
  color:var(--brand-primary-deep)!important;
  font-size:clamp(1.35rem,1.9vw,2.05rem)!important;
  line-height:.94!important;
  letter-spacing:-.035em!important;
}
.company-v3-warehouse-copy>p{
  max-width:590px!important;
  margin:0!important;
  font-size:1.03rem!important;
  line-height:1.58!important;
}
.company-v3-address{
  margin-top:22px!important;
  padding-top:18px!important;
  font-size:.95rem!important;
}

/* all action buttons on asset blocks share one visual language */
.company-v3-block .btn{
  min-height:56px!important;
  min-width:260px!important;
  padding:0 22px!important;
  font-size:.72rem!important;
}
.company-v3-block .btn.primary{
  background:var(--brand-primary)!important;
  border-color:var(--brand-primary)!important;
}
.company-v3-block .btn.secondary{
  background:#fff!important;
  border-color:var(--brand-primary)!important;
  color:var(--brand-primary-deep)!important;
}
.company-v3-block .btn.secondary:hover{
  background:var(--brand-primary)!important;
  color:#fff!important;
}
html[data-theme="gold"] .company-v3-block .btn.primary{
  color:#111!important;
}
html[data-theme="gold"] .company-v3-block .btn.secondary:hover{
  color:#111!important;
}

/* prevent very tall blank rows on wider screens */
@media(min-width:981px){
  .company-v3-block-grid{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  }
  .company-v3-block-grid:not(:has(.company-v3-law-tags)){
    min-height:460px!important;
  }
}

/* tablet / mobile returns to natural height */
@media(max-width:980px){
  .company-v3-block-grid{
    min-height:0!important;
  }
  .company-v3-block-grid figure{
    min-height:360px!important;
  }
  .company-v3-block-grid figure img{
    position:absolute!important;
  }
  .company-v3-block-copy{
    padding:32px 28px 36px!important;
  }
  .company-v3-action{
    margin-top:30px!important;
  }
  .company-v3-facts{
    grid-template-columns:1fr 1fr!important;
  }
}

@media(max-width:640px){
  .company-v3-block-grid figure{
    min-height:300px!important;
  }
  .company-v3-facts{
    grid-template-columns:1fr!important;
    gap:20px!important;
  }
  .company-v3-location{
    padding:18px 0 0!important;
    border-left:0!important;
    border-top:1px solid #d5dade;
  }
}


/* =========================================================
   v1.0.19 — metal products page rebuilt around confirmed brief
   ========================================================= */

.products-client-v2{
  background:#f3f5f6;
}

.products-v2-hero{
  min-height:100svh!important;
}

.products-v2-hero .inner-hero-media::after{
  background:
    linear-gradient(90deg,rgba(4,8,11,.68) 0%,rgba(4,8,11,.38) 42%,rgba(4,8,11,.10) 76%,rgba(4,8,11,0) 100%),
    linear-gradient(0deg,rgba(4,8,11,.28) 0%,rgba(4,8,11,0) 50%)!important;
}

.products-v2-hero-copy{
  max-width:1120px!important;
}

.products-v2-hero-copy h1{
  max-width:1050px!important;
  font-size:clamp(4rem,5.6vw,6.6rem)!important;
  line-height:.9!important;
  letter-spacing:-.055em!important;
  margin-bottom:28px!important;
}

.products-v2-hero-copy p{
  max-width:820px!important;
  font-size:clamp(1rem,1.22vw,1.24rem)!important;
  line-height:1.52!important;
}

.products-v2-actions{
  margin-top:34px!important;
  gap:12px!important;
}

.products-v2-actions .btn{
  min-height:58px!important;
  min-width:270px!important;
}

/* catalogue section */
.products-v2-range{
  padding:92px 0 96px;
  background:#f3f5f6;
}

.products-v2-head{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);
  gap:56px;
  align-items:end;
  padding-bottom:30px;
  border-bottom:1px solid #cbd2d6;
}

.products-v2-head h2{
  margin:10px 0 0;
  max-width:980px;
  color:#10171c;
  font-size:clamp(2.9rem,4.4vw,5.2rem);
  line-height:.92;
  letter-spacing:-.05em;
}

.products-v2-head>p{
  margin:0;
  max-width:520px;
  color:#59656e;
  font-size:1.05rem;
  line-height:1.55;
}

.products-v2-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  margin-top:30px;
}

.products-v2-card{
  position:relative;
  min-height:360px;
  overflow:hidden;
  background:#0b1217;
}

.products-v2-card img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .35s ease;
}

.products-v2-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(0deg,rgba(5,9,12,.84) 0%,rgba(5,9,12,.22) 58%,rgba(5,9,12,.02) 100%);
}

.products-v2-card>div{
  position:absolute;
  z-index:2;
  left:0;
  right:0;
  bottom:0;
  padding:30px 34px 32px;
}

.products-v2-card span{
  display:block;
  margin-bottom:13px;
  color:var(--brand-primary);
  font:900 .69rem/1 ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.15em;
}

.products-v2-card h3{
  margin:0;
  max-width:620px;
  color:#fff;
  font-size:clamp(1.7rem,2.7vw,3rem);
  line-height:.95;
  letter-spacing:-.035em;
}

.products-v2-card:hover img{
  transform:scale(1.025);
}

/* preparation section */
.products-v2-prep{
  padding:96px 0;
  background:#fff;
}

.products-v2-prep-head{
  max-width:1050px;
  margin-bottom:30px;
}

.products-v2-prep-head h2{
  margin:10px 0 0;
  color:#11181d;
  font-size:clamp(2.8rem,4.3vw,5rem);
  line-height:.92;
  letter-spacing:-.05em;
}

.products-v2-prep-grid{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  min-height:520px;
  border:1px solid #cfd5d8;
  background:#fff;
}

.products-v2-prep-grid figure{
  position:relative;
  min-height:520px;
  margin:0;
  overflow:hidden;
}

.products-v2-prep-grid figure img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}

.products-v2-prep-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:54px 58px;
}

.products-v2-prep-copy>p{
  margin:0 0 28px;
  color:#3d4951;
  font-size:1.08rem;
  line-height:1.62;
}

.products-v2-prep-copy ul{
  margin:0;
  padding-left:1.15rem;
  color:#243038;
  font-size:1.02rem;
  line-height:1.5;
}

.products-v2-prep-copy li+li{
  margin-top:10px;
}

.products-v2-prep-copy .btn{
  align-self:flex-start;
  min-width:250px;
  min-height:56px;
  margin-top:34px;
}

/* compact action ending instead of a second giant page section */
.products-v2-cta{
  padding:52px 0;
  background:#0b1217;
  color:#fff;
}

.products-v2-cta-inner{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:50px;
  align-items:center;
}

.products-v2-cta h2{
  margin:8px 0 8px;
  color:#fff;
  font-size:clamp(2rem,3vw,3.3rem);
  line-height:.95;
  letter-spacing:-.035em;
}

.products-v2-cta p{
  margin:0;
  max-width:760px;
  color:#c3ccd2;
  font-size:1rem;
  line-height:1.5;
}

.products-v2-cta .btn{
  min-width:280px;
  min-height:58px;
}

@media(max-width:980px){
  .products-v2-head{
    grid-template-columns:1fr;
    gap:18px;
  }

  .products-v2-grid{
    grid-template-columns:1fr;
  }

  .products-v2-card{
    min-height:320px;
  }

  .products-v2-prep-grid{
    grid-template-columns:1fr;
    min-height:0;
  }

  .products-v2-prep-grid figure{
    min-height:420px;
  }

  .products-v2-prep-copy{
    padding:40px 32px 44px;
  }

  .products-v2-cta-inner{
    grid-template-columns:1fr;
    gap:26px;
  }

  .products-v2-cta .btn{
    justify-self:start;
  }
}

@media(max-width:640px){
  .products-v2-range,
  .products-v2-prep{
    padding:68px 0;
  }

  .products-v2-hero-copy h1{
    font-size:clamp(2.75rem,10vw,4.2rem)!important;
  }

  .products-v2-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
  }

  .products-v2-actions .btn{
    width:100%!important;
    min-width:0!important;
  }

  .products-v2-card{
    min-height:270px;
  }

  .products-v2-card>div{
    padding:24px 22px;
  }

  .products-v2-prep-grid figure{
    min-height:300px;
  }

  .products-v2-prep-copy{
    padding:30px 22px 34px;
  }

  .products-v2-cta{
    padding:40px 0;
  }

  .products-v2-cta .btn{
    width:100%;
    min-width:0;
  }
}


/* =========================================================
   v1.0.20 — products hero polish
   ========================================================= */

.products-v2-hero{
  height:clamp(640px,calc(100svh - var(--header-h)),820px)!important;
  min-height:640px!important;
  max-height:820px!important;
  align-items:center!important;
  padding:calc(var(--header-h) + 34px) 0 44px!important;
}

.products-v2-hero .inner-hero-media img{
  object-position:center 48%!important;
}

.products-v2-hero-copy{
  max-width:1180px!important;
  transform:translateY(-3vh);
}

.products-v2-hero-copy h1{
  max-width:1120px!important;
  font-size:clamp(4.35rem,5.9vw,6.9rem)!important;
  margin-bottom:26px!important;
}

.products-v2-hero-copy p{
  max-width:860px!important;
  font-size:clamp(1.05rem,1.28vw,1.28rem)!important;
}

.products-v2-actions{
  margin-top:32px!important;
  gap:14px!important;
}

.products-v2-actions .btn{
  min-height:64px!important;
  min-width:320px!important;
  padding:0 26px!important;
  font-size:.78rem!important;
  letter-spacing:.065em!important;
}

@media(max-height:800px) and (min-width:821px){
  .products-v2-hero{
    height:calc(100svh - var(--header-h))!important;
    min-height:600px!important;
    padding:calc(var(--header-h) + 22px) 0 30px!important;
  }

  .products-v2-hero-copy{
    transform:translateY(-1vh);
  }

  .products-v2-hero-copy h1{
    font-size:clamp(3.8rem,5.2vw,5.6rem)!important;
    margin-bottom:20px!important;
  }

  .products-v2-actions{
    margin-top:24px!important;
  }

  .products-v2-actions .btn{
    min-height:58px!important;
  }
}

@media(max-width:820px){
  .products-v2-hero{
    height:auto!important;
    min-height:100svh!important;
    max-height:none!important;
    align-items:center!important;
    padding:104px 0 44px!important;
  }

  .products-v2-hero-copy{
    transform:none!important;
  }

  .products-v2-actions .btn{
    min-width:0!important;
  }
}


/* =========================================================
   v1.0.21 — contacts / B2B request flow
   ========================================================= */

.contacts-client-v2{
  background:#f3f5f6;
}

.contacts-v2-hero{
  min-height:78svh!important;
  align-items:center!important;
  padding:calc(var(--header-h) + 50px) 0 58px!important;
}

.contacts-v2-hero .inner-hero-media img{
  object-position:center 48%!important;
}

.contacts-v2-hero .inner-hero-media::after{
  background:
    linear-gradient(90deg,rgba(4,8,11,.74) 0%,rgba(4,8,11,.46) 44%,rgba(4,8,11,.12) 78%,rgba(4,8,11,0) 100%),
    linear-gradient(0deg,rgba(4,8,11,.30) 0%,rgba(4,8,11,0) 50%)!important;
}

.contacts-v2-hero-copy{
  max-width:1120px!important;
}

.contacts-v2-hero-copy h1{
  max-width:1080px!important;
  font-size:clamp(4rem,5.5vw,6.5rem)!important;
  line-height:.9!important;
  letter-spacing:-.055em!important;
  margin-bottom:26px!important;
}

.contacts-v2-hero-copy p{
  max-width:840px!important;
  font-size:clamp(1.02rem,1.22vw,1.24rem)!important;
  line-height:1.55!important;
}

.contacts-v2-hero-actions{
  display:flex!important;
  gap:14px!important;
  flex-wrap:wrap!important;
  margin-top:32px!important;
}

.contacts-v2-hero-actions .btn{
  min-height:60px!important;
  min-width:260px!important;
}

/* request block */
.contacts-v2-request{
  padding:94px 0 98px;
  background:#f3f5f6;
}

.contacts-v2-head,
.contacts-v2-company-head{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);
  gap:52px;
  align-items:end;
  padding-bottom:28px;
  border-bottom:1px solid #cbd2d6;
}

.contacts-v2-head h2,
.contacts-v2-company-head h2{
  margin:10px 0 0;
  color:#10171c;
  font-size:clamp(3rem,4.4vw,5.1rem);
  line-height:.92;
  letter-spacing:-.05em;
}

.contacts-v2-head>p,
.contacts-v2-company-head>p{
  margin:0;
  max-width:560px;
  color:#59656e;
  font-size:1.04rem;
  line-height:1.55;
}

.contacts-v2-grid{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
  gap:16px;
  margin-top:30px;
}

.contacts-v2-submit,
.contacts-v2-info{
  min-height:500px;
  border:1px solid #ccd3d7;
}

.contacts-v2-submit{
  display:flex;
  flex-direction:column;
  padding:46px 50px;
  background:#fff;
}

.contacts-v2-submit-copy>span,
.contacts-v2-info-block>span,
.contacts-v2-info-row span,
.contacts-v2-req-row>span,
.contacts-v2-req-triple span,
.contacts-v2-card-download span{
  display:block;
  color:var(--brand-primary-deep);
  font:900 .68rem/1.25 ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.13em;
  text-transform:uppercase;
}

.contacts-v2-submit h3{
  margin:16px 0 16px;
  color:#11181d;
  font-size:clamp(2rem,3vw,3.5rem);
  line-height:.96;
  letter-spacing:-.04em;
  overflow-wrap:anywhere;
}

.contacts-v2-submit-copy p{
  margin:0;
  max-width:650px;
  color:#46535c;
  font-size:1.04rem;
  line-height:1.58;
}

.contacts-v2-checklist{
  margin:30px 0 0;
  padding-left:1.1rem;
  color:#27333b;
  font-size:1rem;
  line-height:1.5;
}

.contacts-v2-checklist li+li{
  margin-top:9px;
}

.contacts-v2-mail-btn{
  align-self:flex-start;
  min-height:58px!important;
  min-width:290px!important;
  margin-top:auto!important;
}

.contacts-v2-info{
  display:flex;
  flex-direction:column;
  padding:46px 46px;
  background:#0b1217;
  color:#fff;
}

.contacts-v2-info-block{
  padding-bottom:34px;
  border-bottom:1px solid rgba(255,255,255,.16);
}

.contacts-v2-info-block strong{
  display:block;
  margin-top:16px;
  color:#fff;
  font-size:clamp(2rem,3vw,3.35rem);
  line-height:.96;
  letter-spacing:-.04em;
}

.contacts-v2-info-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
  padding:34px 0;
  border-bottom:1px solid rgba(255,255,255,.16);
}

.contacts-v2-info-row a{
  display:block;
  margin-top:12px;
  color:#fff;
  font-size:1rem;
  font-weight:850;
  line-height:1.3;
  overflow-wrap:anywhere;
}

.contacts-v2-info-note{
  margin-top:auto;
  padding-top:34px;
}

.contacts-v2-info-note strong{
  display:block;
  color:#fff;
  font-size:1.22rem;
}

.contacts-v2-info-note p{
  margin:8px 0 0;
  max-width:520px;
  color:#aebac2;
  font-size:.94rem;
  line-height:1.5;
}

/* requisites */
.contacts-v2-company{
  padding:96px 0;
  background:#fff;
}

.contacts-v2-company-grid{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr);
  gap:16px;
  margin-top:30px;
}

.contacts-v2-requisites{
  border:1px solid #cfd5d8;
  background:#fff;
}

.contacts-v2-req-row{
  padding:30px 34px;
  border-bottom:1px solid #d8dde0;
}

.contacts-v2-req-row:last-child{
  border-bottom:0;
}

.contacts-v2-req-row strong{
  display:block;
  margin-top:11px;
  color:#182128;
  font-size:1.06rem;
  line-height:1.5;
}

.contacts-v2-req-triple{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-bottom:1px solid #d8dde0;
}

.contacts-v2-req-triple>div{
  padding:26px 30px;
  border-right:1px solid #d8dde0;
}

.contacts-v2-req-triple>div:last-child{
  border-right:0;
}

.contacts-v2-req-triple strong{
  display:block;
  margin-top:10px;
  color:#11181d;
  font-size:1.18rem;
}

.contacts-v2-card-download{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:38px 40px;
  background:#f3f5f6;
  border:1px solid #cfd5d8;
}

.contacts-v2-card-download h3{
  margin:14px 0 12px;
  color:#11181d;
  font-size:clamp(2rem,3vw,3.25rem);
  line-height:.95;
  letter-spacing:-.04em;
}

.contacts-v2-card-download p{
  margin:0;
  max-width:430px;
  color:#536069;
  font-size:1rem;
  line-height:1.55;
}

.contacts-v2-card-download .btn{
  align-self:flex-start;
  min-height:58px!important;
  min-width:260px!important;
  margin-top:34px;
}

@media(max-width:980px){
  .contacts-v2-hero{
    min-height:72svh!important;
  }

  .contacts-v2-head,
  .contacts-v2-company-head,
  .contacts-v2-grid,
  .contacts-v2-company-grid{
    grid-template-columns:1fr;
  }

  .contacts-v2-head,
  .contacts-v2-company-head{
    gap:18px;
  }

  .contacts-v2-submit,
  .contacts-v2-info{
    min-height:0;
  }

  .contacts-v2-mail-btn{
    margin-top:34px!important;
  }
}

@media(max-width:640px){
  .contacts-v2-hero{
    min-height:100svh!important;
    padding:104px 0 42px!important;
  }

  .contacts-v2-hero-copy h1{
    font-size:clamp(2.75rem,10vw,4.25rem)!important;
  }

  .contacts-v2-hero-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
  }

  .contacts-v2-hero-actions .btn{
    width:100%!important;
    min-width:0!important;
  }

  .contacts-v2-request,
  .contacts-v2-company{
    padding:68px 0;
  }

  .contacts-v2-submit,
  .contacts-v2-info{
    padding:32px 24px;
  }

  .contacts-v2-info-row,
  .contacts-v2-req-triple{
    grid-template-columns:1fr;
  }

  .contacts-v2-req-triple>div{
    border-right:0;
    border-bottom:1px solid #d8dde0;
  }

  .contacts-v2-req-triple>div:last-child{
    border-bottom:0;
  }

  .contacts-v2-card-download{
    padding:32px 24px;
  }

  .contacts-v2-mail-btn,
  .contacts-v2-card-download .btn{
    width:100%!important;
    min-width:0!important;
  }
}


/* =========================================================
   v1.0.22 — client brand lockup, larger contact strip,
   white home headline and rounded action system
   ========================================================= */

:root{
  --pa-lockup-white:#ffffff;
  --pa-lockup-gray:#9aa5ad;
}

/* ---------- BRAND LOCKUP: HEADER + FOOTER ---------- */
/*
   Logo sizing is driven by WIDTH, not by a forced square box.
   This keeps the shield visually large while the upper emblem
   is allowed to project above the text block.
*/
.site-header .brand,
.site-footer .brand{
  display:flex!important;
  align-items:center!important;
  gap:16px!important;
  min-width:0!important;
  overflow:visible!important;
}

.site-header .brand img,
.site-footer .brand img{
  width:72px!important;
  height:auto!important;
  max-height:none!important;
  flex:0 0 72px!important;
  object-fit:contain!important;
  transform:translateY(-4px);
}

.site-header .brand-copy,
.site-footer .brand-copy{
  display:grid!important;
  grid-auto-rows:auto;
  gap:3px!important;
  width:292px!important;
  min-width:292px!important;
  overflow:visible!important;
  font-family:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace!important;
  text-transform:uppercase;
}

/* The two principal lines have the same size and weight. */
.site-header .brand-copy strong,
.site-footer .brand-copy strong,
.site-header .brand-founded,
.site-footer .brand-founded{
  display:block!important;
  margin:0!important;
  color:var(--pa-lockup-white)!important;
  font-family:inherit!important;
  font-size:.84rem!important;
  font-weight:900!important;
  line-height:1.04!important;
  letter-spacing:.035em!important;
  white-space:nowrap!important;
}

/* Supporting information uses the only secondary lockup colour: grey. */
.site-header .brand-production,
.site-header .brand-products,
.site-footer .brand-production,
.site-footer .brand-products{
  display:block!important;
  margin:0!important;
  color:var(--pa-lockup-gray)!important;
  font-family:inherit!important;
  font-size:.635rem!important;
  font-weight:800!important;
  line-height:1.08!important;
  letter-spacing:.045em!important;
  white-space:nowrap!important;
}

/* No blue / copper inside the brand signature. */
.site-header .brand-meta,
.site-footer .brand-meta{
  text-transform:uppercase!important;
}
.site-header .brand-founded,
.site-footer .brand-founded{
  color:#fff!important;
}

/* Give the header brand enough visual authority without growing the whole header. */
.site-header .header-inner{
  overflow:visible!important;
}
.site-header .brand{
  min-width:380px!important;
}

/* ---------- CONTACT STRIP ---------- */
.header-contact-strip-inner{
  min-height:40px!important;
  gap:30px!important;
  font-size:.68rem!important;
  line-height:1.2!important;
  font-weight:800!important;
  letter-spacing:.075em!important;
}

.header-contact-strip-inner>span{
  color:#9ba8b2!important;
}

.header-contact-strip-inner a{
  color:#f3f6f8!important;
  font-weight:850!important;
}

.header-contact-strip-inner a:hover{
  color:#fff!important;
}

/* ---------- HOME HERO ---------- */
.home-client-v1 .home-hero-copy h1,
.home-client-v1 .home-hero-copy h1 .hero-accent,
.home-client-v1 .home-hero-copy h1 .hero-main-line{
  color:#fff!important;
}

.home-hero-lead{
  max-width:1020px;
  margin:24px 0 0!important;
  color:#fff!important;
  font-size:clamp(1rem,1.18vw,1.18rem);
  line-height:1.5;
  font-weight:620;
  text-shadow:0 2px 14px rgba(0,0,0,.45);
}

.home-client-v1 .hero-routes{
  margin-top:28px!important;
}

/* ---------- ROUNDED BUTTON SYSTEM ---------- */
.btn{
  border-radius:999px!important;
}

.header-cta{
  min-height:52px!important;
  padding-left:25px!important;
  padding-right:25px!important;
  border-radius:999px!important;
}

.home-client-v1 .hero-route,
.home-client-v1 .hero-route:first-child,
.home-client-v1 .hero-route:last-child{
  border-radius:999px!important;
  overflow:hidden!important;
}

.home-client-v1 .hero-route:hover::after{
  border-radius:0 0 999px 999px;
}

/* Footer brand must be the same lockup, not a miniature variant. */
.site-footer .brand{
  width:max-content!important;
  max-width:100%!important;
}
.site-footer .brand img{
  width:72px!important;
  flex-basis:72px!important;
}
.site-footer .brand-copy{
  width:292px!important;
  min-width:292px!important;
}

/* ---------- SHORT DESKTOPS ---------- */
@media(max-height:820px) and (min-width:821px){
  .home-hero-lead{
    margin-top:18px!important;
    max-width:920px;
    font-size:.96rem;
    line-height:1.42;
  }

  .home-client-v1 .hero-routes{
    margin-top:22px!important;
  }
}

/* ---------- MID-SIZE DESKTOP / TABLET ---------- */
@media(max-width:1250px) and (min-width:821px){
  .site-header .brand{
    min-width:315px!important;
    gap:12px!important;
  }

  .site-header .brand img{
    width:62px!important;
    flex-basis:62px!important;
  }

  .site-header .brand-copy{
    width:240px!important;
    min-width:240px!important;
  }

  .site-header .brand-copy strong,
  .site-header .brand-founded{
    font-size:.72rem!important;
  }

  .site-header .brand-production,
  .site-header .brand-products{
    font-size:.54rem!important;
  }

  .header-contact-strip-inner{
    min-height:36px!important;
    gap:20px!important;
    font-size:.61rem!important;
  }
}

/* ---------- MOBILE ---------- */
@media(max-width:820px){
  .site-header .brand{
    min-width:0!important;
    gap:9px!important;
  }

  .site-header .brand img{
    width:52px!important;
    flex-basis:52px!important;
    transform:translateY(-2px);
  }

  .site-header .brand-copy{
    width:auto!important;
    min-width:0!important;
    gap:2px!important;
  }

  .site-header .brand-copy strong{
    font-size:.70rem!important;
  }

  .site-header .brand-founded{
    display:block!important;
    font-size:.62rem!important;
  }

  .site-header .brand-production,
  .site-header .brand-products{
    display:none!important;
  }

  .header-contact-strip{
    display:none!important;
  }

  .site-footer .brand{
    gap:12px!important;
  }

  .site-footer .brand img{
    width:62px!important;
    flex-basis:62px!important;
  }

  .site-footer .brand-copy{
    width:auto!important;
    min-width:0!important;
  }

  .site-footer .brand-copy strong,
  .site-footer .brand-founded{
    font-size:.72rem!important;
  }

  .site-footer .brand-production,
  .site-footer .brand-products{
    display:block!important;
    font-size:.55rem!important;
  }

  .home-hero-lead{
    margin-top:18px!important;
    font-size:.91rem;
    line-height:1.46;
  }

  .home-client-v1 .hero-routes{
    margin-top:20px!important;
  }

  .home-client-v1 .hero-route,
  .home-client-v1 .hero-route:first-child,
  .home-client-v1 .hero-route:last-child{
    border-radius:28px!important;
  }
}


/* =========================================================
   v1.0.23 — services page aligned to company structure
   ========================================================= */

.services-v4{
  background:#f4f5f5;
  color:#11171c;
}

/* hero mirrors company page */
.service-v4-hero{
  position:relative;
  min-height:700px;
  padding:calc(var(--header-h) + 82px) 0 78px;
  overflow:hidden;
  display:flex;
  align-items:flex-end;
  background:#0a0e11;
}
.service-v4-hero-media{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 48%;
}
.service-v4-hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(5,8,10,.72) 0%,rgba(5,8,10,.42) 42%,rgba(5,8,10,.09) 74%,rgba(5,8,10,0) 100%);
}
.service-v4-hero-inner{position:relative;z-index:2}
.service-v4-hero-copy{max-width:1000px}
.service-v4-brandline{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:18px;
  color:#fff;
  font:900 .72rem/1 ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.15em;
}
.service-v4-brandline::before{
  content:"";
  width:38px;
  height:1px;
  background:currentColor;
  opacity:.9;
}
.service-v4-hero h1{
  max-width:980px;
  color:#fff;
  font-size:clamp(3.3rem,6vw,6.8rem);
  line-height:.9;
  letter-spacing:-.06em;
  text-transform:uppercase;
}
.service-v4-story p{
  max-width:850px;
  margin:18px 0 0;
  color:#eef1f3;
  font-size:1.05rem;
  line-height:1.55;
  text-shadow:0 1px 10px rgba(0,0,0,.45);
}
.service-v4-hero-btn{
  margin-top:30px!important;
  min-width:230px!important;
}

/* list shell mirrors company assets */
.service-v4-list{
  padding:88px 0 104px;
  background:#f4f5f5;
}
.service-v4-label{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:34px;
  color:var(--brand-primary-deep);
  font:900 .78rem/1 ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.16em;
}
.service-v4-label::before{
  content:"";
  width:38px;
  height:1px;
  background:currentColor;
  opacity:.9;
}

.service-v4-block{
  margin-top:72px;
  padding-top:32px;
  border-top:1px solid #cbd2d6;
}
.service-v4-block:first-of-type{
  margin-top:0;
}
.service-v4-block-head{
  display:flex;
  justify-content:center;
  margin-bottom:28px;
  text-align:center;
}
.service-v4-block-head h2{
  max-width:1180px;
  margin:0 auto;
  color:#10171c;
  font-size:clamp(2.2rem,3.8vw,4.6rem);
  line-height:.94;
  letter-spacing:-.045em;
  text-transform:uppercase;
}
.service-v4-grid{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(420px,.85fr);
  align-items:stretch;
  background:#fff;
  border:1px solid #d0d6da;
}
.service-v4-grid figure{
  position:relative;
  min-height:500px;
  margin:0;
  overflow:hidden;
  background:#121920;
}
.service-v4-grid figure img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.service-v4-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:48px 52px;
  border-left:1px solid #d7dde1;
}
.service-v4-kicker{
  margin-bottom:22px;
  color:var(--brand-primary-deep);
  font:900 .7rem/1 ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.service-v4-lead{
  margin:0;
  color:#26333c;
  font-size:1.06rem;
  line-height:1.6;
}
.service-v4-specs{
  margin-top:28px;
  border-top:1px solid #d6dde1;
}
.service-v4-specs>div{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(180px,.7fr);
  gap:24px;
  align-items:start;
  padding:16px 0;
  border-bottom:1px solid #dfe4e7;
}
.service-v4-specs b{
  color:#27343d;
  font-size:.9rem;
  line-height:1.4;
}
.service-v4-specs span{
  color:var(--brand-primary-deep);
  font-size:.92rem;
  font-weight:850;
  line-height:1.4;
}
.service-v4-note{
  margin:20px 0 0;
  color:#66737d;
  font-size:.86rem;
  line-height:1.45;
}
.service-v4-copy-pending{
  justify-content:center;
}
.service-v4-copy-pending .service-v4-lead{
  max-width:540px;
  font-size:1.15rem;
}

/* compact CTA like company */
.service-v4-cta{
  padding:38px 0;
  background:#0b1217;
  color:#fff;
}
.service-v4-cta-inner{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:40px;
  align-items:center;
}
.service-v4-cta strong{
  max-width:880px;
  color:#fff;
  font-size:clamp(1.25rem,2vw,2rem);
  line-height:1.15;
  letter-spacing:-.02em;
}
.service-v4-cta .btn{
  min-width:220px!important;
}

@media(max-width:980px){
  .service-v4-hero{
    min-height:640px;
    padding:calc(var(--header-h) + 62px) 0 56px;
  }
  .service-v4-grid{
    grid-template-columns:1fr;
  }
  .service-v4-grid figure{
    min-height:420px;
  }
  .service-v4-copy{
    border-left:0;
    border-top:1px solid #d7dde1;
    padding:38px 32px 42px;
  }
  .service-v4-cta-inner{
    grid-template-columns:1fr;
    gap:24px;
  }
  .service-v4-cta .btn{
    justify-self:start;
  }
}

@media(max-width:640px){
  .service-v4-hero{
    min-height:100svh;
    padding:104px 0 42px;
  }
  .service-v4-hero h1{
    font-size:clamp(2.75rem,10vw,4.2rem);
  }
  .service-v4-list{
    padding:68px 0;
  }
  .service-v4-block{
    margin-top:54px;
    padding-top:26px;
  }
  .service-v4-block-head h2{
    font-size:clamp(2rem,9vw,3rem);
  }
  .service-v4-grid figure{
    min-height:300px;
  }
  .service-v4-copy{
    padding:30px 22px 34px;
  }
  .service-v4-specs>div{
    grid-template-columns:1fr;
    gap:6px;
  }
  .service-v4-cta{
    padding:34px 0;
  }
  .service-v4-cta .btn{
    width:100%;
    min-width:0!important;
  }
}


/* =========================================================
   v1.0.24 — client call alignment pass
   ========================================================= */

/* ---------- brand lockup: make all four lines read as one rectangle ---------- */
.site-header .brand-copy>strong,
.site-header .brand-copy>span,
.site-footer .brand-copy>strong,
.site-footer .brand-copy>span{
  width:100%!important;
  text-align:justify!important;
  text-align-last:justify!important;
}

/* ---------- home: two clear equal pill buttons, no indices/arrows ---------- */
.home-client-v1 .hero-routes{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:16px!important;
}
.home-client-v1 .hero-route,
.home-client-v1 .hero-route:first-child,
.home-client-v1 .hero-route:last-child{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:72px!important;
  padding:0 32px!important;
  border:2px solid var(--brand-primary)!important;
  border-radius:999px!important;
  background:var(--brand-primary)!important;
  color:#fff!important;
  box-shadow:none!important;
}
.home-client-v1 .hero-route strong{
  color:#fff!important;
  text-align:center!important;
  font-size:clamp(.95rem,1.25vw,1.18rem)!important;
  line-height:1.12!important;
  letter-spacing:.02em!important;
}
.home-client-v1 .hero-route::after{
  display:none!important;
}

/* ---------- company: same small label system as hero ---------- */
.company-v3-brandline,
.company-v3-label{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  color:var(--brand-primary-deep)!important;
  font:900 .72rem/1 ui-monospace,SFMono-Regular,Consolas,monospace!important;
  letter-spacing:.15em!important;
  text-transform:uppercase!important;
}
.company-v3-brandline::before,
.company-v3-label::before{
  content:"";
  width:38px;
  height:1px;
  flex:0 0 38px;
  background:currentColor;
  opacity:.9;
}
.company-v3-brandline{
  color:#fff!important;
}

/* centered section titles, no numeric columns */
.company-v3-block-head{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  margin-bottom:30px!important;
  text-align:center!important;
}
.company-v3-block-head>span{
  display:none!important;
}
.company-v3-block-head h2{
  max-width:1180px!important;
  margin:0 auto!important;
  color:var(--brand-primary-deep)!important;
  text-align:center!important;
  font-size:clamp(2.25rem,3.9vw,4.7rem)!important;
  line-height:.94!important;
}

/* company list becomes a stronger check list */
.company-v3-list,
.company-v3-list-large{
  list-style:none!important;
  margin:0!important;
  padding:0!important;
  color:#26343e!important;
  font-size:clamp(1.08rem,1.38vw,1.32rem)!important;
  line-height:1.48!important;
}
.company-v3-list li,
.company-v3-list-large li{
  position:relative;
  padding-left:34px;
}
.company-v3-list li::before,
.company-v3-list-large li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:.02em;
  color:var(--brand-primary-deep);
  font-size:1.05em;
  font-weight:950;
}
.company-v3-list li+li,
.company-v3-list-large li+li{
  margin-top:16px!important;
}
.company-v3-block-copy{
  padding:56px 62px!important;
}
.company-v3-action{
  align-self:flex-start!important;
  margin-top:38px!important;
}

/* warehouse composition: two mirrored columns */
.company-v3-facts-v2{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:clamp(28px,4vw,72px)!important;
  align-items:end!important;
  margin:0 0 38px!important;
}
.company-v3-fact{
  display:grid;
  grid-template-rows:auto auto;
  gap:10px;
  min-width:0;
}
.company-v3-fact strong{
  display:block;
  margin:0;
  color:#11181d;
  font-size:clamp(2.8rem,4.8vw,5.2rem);
  font-weight:900;
  line-height:.88;
  letter-spacing:-.055em;
  text-transform:uppercase;
  white-space:nowrap;
}
.company-v3-fact span{
  display:block;
  color:#11181d;
  font-size:clamp(1.45rem,2.25vw,2.35rem);
  font-weight:900;
  line-height:.95;
  letter-spacing:-.035em;
  text-transform:uppercase;
}
.company-v3-warehouse-copy>p{
  max-width:680px!important;
  margin:0!important;
  font-size:clamp(1.08rem,1.35vw,1.28rem)!important;
  line-height:1.55!important;
}
.company-v3-address{
  margin-top:26px!important;
  padding-top:0!important;
  border-top:0!important;
  font-size:clamp(1.05rem,1.35vw,1.25rem)!important;
}

/* tender badges are retired completely */
.company-v3-law-tags{
  display:none!important;
}

/* partners title follows the same centered title system */
.company-v3-partners .company-v3-block-head{
  justify-content:center!important;
}

/* ---------- services: exact same architecture language ---------- */
.service-v4-brandline{
  color:var(--brand-primary)!important;
}
.service-v4-label{
  color:var(--brand-primary-deep)!important;
}
.service-v4-block-head h2{
  color:var(--brand-primary-deep)!important;
}
.service-v4-copy{
  padding:56px 62px!important;
}
.service-v4-lead{
  font-size:clamp(1.08rem,1.3vw,1.28rem)!important;
  line-height:1.55!important;
}
.service-v4-kicker{
  margin-top:30px!important;
  margin-bottom:18px!important;
}

/* technical parameters are now a check-list rather than a table-like block */
.service-v4-specs{
  margin-top:18px!important;
  border-top:0!important;
}
.service-v4-specs>div{
  position:relative;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(170px,.72fr)!important;
  gap:28px!important;
  padding:15px 0 15px 36px!important;
  border-bottom:0!important;
}
.service-v4-specs>div::before{
  content:"✓";
  position:absolute;
  left:0;
  top:15px;
  color:var(--brand-primary-deep);
  font-size:1.08rem;
  font-weight:950;
  line-height:1;
}
.service-v4-specs b{
  font-size:clamp(.94rem,1.08vw,1.05rem)!important;
  line-height:1.42!important;
}
.service-v4-specs span{
  font-size:clamp(.94rem,1.08vw,1.05rem)!important;
  line-height:1.42!important;
}

/* mobile */
@media(max-width:820px){
  .home-client-v1 .hero-routes{
    grid-template-columns:1fr!important;
  }
  .home-client-v1 .hero-route,
  .home-client-v1 .hero-route:first-child,
  .home-client-v1 .hero-route:last-child{
    min-height:60px!important;
  }
  .company-v3-block-copy,
  .service-v4-copy{
    padding:34px 26px!important;
  }
  .company-v3-facts-v2{
    gap:22px!important;
  }
  .company-v3-fact strong{
    font-size:clamp(2rem,9vw,3.2rem);
  }
  .company-v3-fact span{
    font-size:clamp(1.15rem,5.5vw,1.7rem);
  }
}

@media(max-width:560px){
  .company-v3-facts-v2{
    grid-template-columns:1fr 1fr!important;
    gap:16px!important;
  }
  .company-v3-fact strong{
    white-space:normal;
  }
  .service-v4-specs>div{
    grid-template-columns:1fr!important;
    gap:5px!important;
  }
}


/* =========================================================
   v1.0.25 — visual cleanup after PDF review
   ========================================================= */

/* ---------- BRAND LOCKUP ----------
   Keep natural word spacing. Build the rectangle with per-line
   tracking instead of text justification, which created holes. */
.site-header .brand-copy>strong,
.site-header .brand-copy>span,
.site-footer .brand-copy>strong,
.site-footer .brand-copy>span{
  width:auto!important;
  text-align:left!important;
  text-align-last:auto!important;
  word-spacing:normal!important;
}

.site-header .brand-copy>strong,
.site-footer .brand-copy>strong{
  letter-spacing:.20em!important;
}

.site-header .brand-founded,
.site-footer .brand-founded{
  letter-spacing:.055em!important;
}

.site-header .brand-production,
.site-footer .brand-production{
  letter-spacing:.052em!important;
}

.site-header .brand-products,
.site-footer .brand-products{
  letter-spacing:.036em!important;
}

/* ---------- WAREHOUSE FACTS ----------
   Two clearly separated columns: location on the left,
   area on the right. No divider. */
.company-v3-facts-v2{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  column-gap:clamp(64px,6vw,116px)!important;
  row-gap:0!important;
  align-items:end!important;
}

.company-v3-fact{
  align-content:end;
}

.company-v3-fact-location,
.company-v3-fact-area{
  padding:0!important;
  border:0!important;
}

.company-v3-fact strong{
  font-size:clamp(2.45rem,3.55vw,4.25rem)!important;
  line-height:.9!important;
  letter-spacing:-.045em!important;
}

.company-v3-fact span{
  margin-top:8px!important;
  font-size:clamp(1.35rem,1.8vw,2rem)!important;
  line-height:.95!important;
  letter-spacing:-.025em!important;
}

/* ---------- SERVICES ----------
   Give technical data almost half the card width. */
@media(min-width:981px){
  .service-v4-grid{
    grid-template-columns:minmax(0,1.04fr) minmax(460px,.96fr)!important;
  }

  .service-v4-copy{
    padding-left:52px!important;
    padding-right:52px!important;
  }

  .service-v4-specs>div{
    grid-template-columns:minmax(0,1fr) minmax(185px,.82fr)!important;
    gap:22px!important;
  }
}

/* ---------- PRINT / PDF ----------
   Fixed header was being repeated over section headings. */
@media print{
  html,
  body{
    background:#fff!important;
    overflow:visible!important;
  }

  body{
    padding-top:0!important;
  }

  .site-header{
    position:relative!important;
    top:auto!important;
    left:auto!important;
    right:auto!important;
    z-index:auto!important;
    height:auto!important;
    min-height:var(--header-h)!important;
    break-after:avoid-page;
    -webkit-print-color-adjust:exact;
    print-color-adjust:exact;
  }

  .header-inner{
    min-height:var(--header-h)!important;
  }

  .header-contact-strip{
    position:relative!important;
  }

  .company-v3-hero,
  .service-v4-hero,
  .products-v2-hero,
  .contacts-v2-hero{
    padding-top:48px!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    break-after:page;
  }

  .company-v3-block,
  .service-v4-block,
  .company-v3-partners,
  .products-v2-card,
  .products-v2-prep-grid{
    break-inside:avoid-page;
    page-break-inside:avoid;
  }

  .company-v3-block-head,
  .service-v4-block-head,
  .products-v2-head,
  .contacts-v2-head,
  .contacts-v2-company-head{
    break-after:avoid-page;
    page-break-after:avoid;
  }

  .service-v4-cta,
  .site-footer{
    break-inside:avoid-page;
    page-break-inside:avoid;
  }

  *{
    -webkit-print-color-adjust:exact;
    print-color-adjust:exact;
  }
}


/* =========================================================
   v1.0.26 — print flow correction
   ========================================================= */
@media print{
  /* Do not force the hero onto a dedicated printed page.
     It created a large empty area below the first screen. */
  .company-v3-hero,
  .service-v4-hero,
  .products-v2-hero,
  .contacts-v2-hero{
    break-after:auto!important;
    page-break-after:auto!important;
  }

  /* Pull the first content section naturally after the hero. */
  .company-v3-assets,
  .service-v4-list{
    break-before:auto!important;
    page-break-before:auto!important;
    padding-top:44px!important;
  }

  /* Keep headings attached to their content without moving an
     entire large section to the next page unnecessarily. */
  .company-v3-block,
  .service-v4-block{
    break-inside:auto!important;
    page-break-inside:auto!important;
  }

  .company-v3-block-head,
  .service-v4-block-head{
    break-after:avoid-page!important;
    page-break-after:avoid!important;
  }

  .company-v3-block-grid,
  .service-v4-grid{
    break-inside:avoid-page!important;
    page-break-inside:avoid!important;
  }
}


/* =========================================================
   v1.0.27 — service polish + partner scale + print tightening
   ========================================================= */

/* Pending service cards should not look like unfinished full-size screens. */
.service-v4-block-pending{
  margin-top:54px!important;
}
.service-v4-block-pending .service-v4-grid{
  min-height:0!important;
}
.service-v4-block-pending .service-v4-grid figure{
  min-height:360px!important;
}
.service-v4-block-pending .service-v4-copy{
  min-height:360px!important;
  justify-content:center!important;
  padding-top:40px!important;
  padding-bottom:40px!important;
}
.service-v4-block-pending .service-v4-kicker{
  margin-top:0!important;
  margin-bottom:16px!important;
}
.service-v4-block-pending .service-v4-lead{
  max-width:500px!important;
  font-size:1.06rem!important;
  line-height:1.52!important;
}

/* The current laser source contains a small UI badge at the lower-left edge.
   Until the clean source is supplied, crop only that image a little tighter. */
#laser-cutting figure{
  overflow:hidden!important;
}
#laser-cutting figure img{
  transform:scale(1.12);
  transform-origin:62% 38%;
}

/* Partner marks should use the available white field instead of floating tiny. */
.company-v3-partners-grid{
  column-gap:54px!important;
  row-gap:42px!important;
}
.company-v3-partner{
  min-height:118px!important;
  padding:18px 22px!important;
}
.company-v3-partner img{
  width:auto!important;
  max-width:min(210px,88%)!important;
  max-height:64px!important;
  object-fit:contain!important;
}
.company-v3-partner strong{
  margin-top:10px!important;
  font-size:.88rem!important;
  line-height:1.28!important;
}

/* Keep the browser layout untouched; only tighten print output. */
@media print{
  @page{
    size:A4 portrait;
    margin:8mm;
  }

  .service-v4-list,
  .company-v3-assets{
    padding-top:28px!important;
    padding-bottom:34px!important;
  }

  .service-v4-block,
  .company-v3-block{
    margin-top:34px!important;
    padding-top:20px!important;
  }

  .service-v4-block-pending{
    margin-top:28px!important;
  }

  .service-v4-block-pending .service-v4-grid figure,
  .service-v4-block-pending .service-v4-copy{
    min-height:270px!important;
  }

  .service-v4-grid,
  .company-v3-block-grid{
    break-inside:auto!important;
    page-break-inside:auto!important;
  }

  .service-v4-block-head,
  .company-v3-block-head{
    margin-bottom:16px!important;
  }

  .service-v4-block-head h2,
  .company-v3-block-head h2{
    font-size:30px!important;
    line-height:.96!important;
  }

  .service-v4-copy,
  .company-v3-block-copy{
    padding:28px 30px!important;
  }

  .service-v4-specs>div{
    padding-top:9px!important;
    padding-bottom:9px!important;
  }

  .company-v3-partners-grid{
    row-gap:20px!important;
  }

  .company-v3-partner{
    min-height:90px!important;
    padding:12px 16px!important;
  }

  .company-v3-partner img{
    max-height:52px!important;
  }

  .site-footer{
    margin-top:0!important;
  }
}

@media(max-width:980px){
  .service-v4-block-pending .service-v4-grid figure,
  .service-v4-block-pending .service-v4-copy{
    min-height:300px!important;
  }

  .company-v3-partners-grid{
    column-gap:28px!important;
    row-gap:28px!important;
  }
}

@media(max-width:640px){
  .service-v4-block-pending .service-v4-grid figure,
  .service-v4-block-pending .service-v4-copy{
    min-height:0!important;
  }

  #laser-cutting figure img{
    transform:scale(1.08);
  }
}


/* v1.0.27b — correct partner-cloud selectors */
.company-v3-partner-cloud{
  column-gap:54px!important;
  row-gap:42px!important;
}
.company-v3-partner-cloud .partner-mark{
  min-height:118px!important;
  padding:18px 22px!important;
}
.company-v3-partner-cloud .partner-mark img{
  width:auto!important;
  max-width:min(210px,88%)!important;
  max-height:64px!important;
  object-fit:contain!important;
}
.company-v3-partner-cloud .partner-mark span{
  margin-top:10px!important;
  font-size:.88rem!important;
  line-height:1.28!important;
}
.company-v3-partner-cloud .partner-mark strong{
  font-size:1.35rem!important;
  line-height:1!important;
}

@media print{
  .company-v3-partner-cloud{
    row-gap:20px!important;
  }
  .company-v3-partner-cloud .partner-mark{
    min-height:90px!important;
    padding:12px 16px!important;
  }
  .company-v3-partner-cloud .partner-mark img{
    max-height:52px!important;
  }
}

@media(max-width:980px){
  .company-v3-partner-cloud{
    column-gap:28px!important;
    row-gap:28px!important;
  }
}


/* =========================================================
   v1.0.28 — client content + header hierarchy + hero readability
   ========================================================= */

/* Header/footer lockup: title first, foundation second, supporting lines third.
   Keep the enlarged shield, but bring text physically closer to it. */
.site-header .brand,
.site-footer .brand{
  gap:9px!important;
}

.site-header .brand-copy,
.site-footer .brand-copy{
  width:284px!important;
  min-width:284px!important;
  gap:3px!important;
}

.site-header .brand-copy>strong,
.site-footer .brand-copy>strong{
  color:#fff!important;
  font-size:.94rem!important;
  font-weight:950!important;
  line-height:1!important;
  letter-spacing:.115em!important;
}

.site-header .brand-founded,
.site-footer .brand-founded{
  color:#fff!important;
  font-size:.76rem!important;
  font-weight:850!important;
  line-height:1.04!important;
  letter-spacing:.055em!important;
  opacity:.96;
}

.site-header .brand-production,
.site-header .brand-products,
.site-footer .brand-production,
.site-footer .brand-products{
  color:var(--pa-lockup-gray)!important;
  font-size:.62rem!important;
  font-weight:800!important;
  line-height:1.08!important;
}

.site-header .brand{
  min-width:368px!important;
}

/* The client asked for visibly more separation between the two words
   while keeping the tightly assembled two-line hero block. */
.home-client-v1 .home-hero-copy h1 .hero-accent{
  word-spacing:.20em!important;
}

/* The three formerly pending services now have confirmed technical data. */
#laser-cutting .service-v4-kicker,
#sheet-bending .service-v4-kicker,
#lamination .service-v4-kicker{
  margin-top:0!important;
}

#laser-cutting .service-v4-specs,
#sheet-bending .service-v4-specs,
#lamination .service-v4-specs{
  margin-top:6px!important;
}

/* Remove the temporary crop workaround: a new clean client image will replace it. */
#laser-cutting figure img{
  transform:none!important;
  transform-origin:center!important;
}

@media(max-width:820px){
  .site-header .brand{
    gap:8px!important;
  }

  .site-header .brand-copy{
    width:auto!important;
    min-width:0!important;
  }

  .site-header .brand-copy>strong{
    font-size:.72rem!important;
    letter-spacing:.075em!important;
  }

  .site-header .brand-founded{
    font-size:.60rem!important;
  }

  .home-client-v1 .home-hero-copy h1 .hero-accent{
    word-spacing:.10em!important;
  }
}


/* PORT_AZUR_V1_0_28_CLIENT_CONTENT */


/* =========================================================
   v1.0.29 — tight header lockup + uncropped service media
   ========================================================= */

/* Header: pull the enlarged shield almost flush to the text,
   matching the compact footer lockup. */
.site-header .brand{
  gap:0!important;
}
.site-header .brand-copy{
  margin-left:-16px!important;
}
.site-header .brand img{
  display:block!important;
}

/* Generated technical service visuals must be shown completely.
   These are explanatory plates, not decorative cover photos. */
#laser-cutting figure,
#sheet-bending figure,
#lamination figure{
  background:#eef1f3!important;
}
#laser-cutting figure img,
#sheet-bending figure img,
#lamination figure img{
  object-fit:contain!important;
  object-position:center center!important;
  transform:none!important;
}

/* PDF/print: stack service media over specs instead of letting a
   two-column grid split awkwardly across page boundaries. */
@media print{
  .service-v4-grid{
    display:block!important;
  }

  .service-v4-grid figure{
    position:relative!important;
    height:250px!important;
    min-height:250px!important;
    break-after:avoid-page!important;
    page-break-after:avoid!important;
  }

  .service-v4-grid figure img{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
  }

  .service-v4-copy{
    border-left:0!important;
    border-top:1px solid #d7dde1!important;
    padding:22px 26px 26px!important;
  }

  .service-v4-specs>div{
    break-inside:avoid-page!important;
    page-break-inside:avoid!important;
  }
}

@media(max-width:820px){
  .site-header .brand{
    gap:0!important;
  }
  .site-header .brand-copy{
    margin-left:-9px!important;
  }
}


/* =========================================================
   v1.0.30 — very tight header brand lockup
   ========================================================= */

/* The logo PNG has visual empty space inside its box.
   Pull the text block left hard so the visible shield and text
   read as one compact lockup. Keep footer unchanged. */
.site-header .brand{
  gap:0!important;
}

.site-header .brand-copy{
  margin-left:-42px!important;
}

@media(max-width:1250px) and (min-width:821px){
  .site-header .brand-copy{
    margin-left:-34px!important;
  }
}

@media(max-width:820px){
  .site-header .brand-copy{
    margin-left:-18px!important;
  }
}

/* PORT_AZUR_V1_0_30_TIGHT_BRAND */


/* =========================================================
   v1.0.31 — brand lockup only: white + gray
   synced from approved preview
   ========================================================= */
.site-header .brand-copy > *:nth-child(1),
.site-header .brand-copy > *:nth-child(2),
.site-footer .brand-copy > *:nth-child(1),
.site-footer .brand-copy > *:nth-child(2){
  color:#fff!important;
}
.site-header .brand-copy > *:nth-child(3),
.site-header .brand-copy > *:nth-child(4),
.site-footer .brand-copy > *:nth-child(3),
.site-footer .brand-copy > *:nth-child(4){
  color:#9aa3ad!important;
}
.site-header .brand-copy > *:nth-child(1) *,
.site-header .brand-copy > *:nth-child(2) *,
.site-footer .brand-copy > *:nth-child(1) *,
.site-footer .brand-copy > *:nth-child(2) *{
  color:#fff!important;
}
.site-header .brand-copy > *:nth-child(3) *,
.site-header .brand-copy > *:nth-child(4) *,
.site-footer .brand-copy > *:nth-child(3) *,
.site-footer .brand-copy > *:nth-child(4) *{
  color:#9aa3ad!important;
}
/* PORT_AZUR_V1_0_31_BRAND_TWO_COLORS */


/* =========================================================
   v1.0.32 — final responsive typography + spacing polish
   ========================================================= */

/* Headings: prevent ugly single-word tails and mid-word breaks. */
.home-client-v1 .home-hero-copy h1,
.company-v3-hero h1,
.company-v3-block-head h2,
.service-v4-hero h1,
.service-v4-block-head h2,
.products-v2-hero-copy h1,
.products-v2-head h2,
.products-v2-prep-head h2,
.products-v2-cta h2,
.contacts-v2-hero-copy h1,
.contacts-v2-head h2,
.contacts-v2-company-head h2,
.page-hero h1,
.section-head h2,
.technical-request-inner-v105b h2,
.directory-intro-v105 h2,
.plain-cta h2{
  text-wrap:balance;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}

/* Body copy: improve rag without changing content or widths. */
.home-hero-lead,
.company-v3-story p,
.company-v3-block-copy p,
.company-v3-list li,
.service-v4-story p,
.service-v4-lead,
.service-v4-specs b,
.service-v4-specs span,
.products-client-v2 p,
.contacts-client-v2 p,
.contacts-v2-checklist li,
.page-hero p,
.section-head p,
.technical-tool-card-v105b p,
.directory-intro-v105 p,
.mass-form-v105 p{
  text-wrap:pretty;
}

/* Fixed header: in-page links must not land under it. */
[id]{
  scroll-margin-top:calc(var(--header-h) + 28px);
}

/* Buttons: one rhythm throughout the site. */
.btn,
.hero-route{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  line-height:1.14!important;
  text-wrap:balance;
}
.btn{
  padding-top:14px!important;
  padding-bottom:14px!important;
}
.hero-actions,
.products-v2-actions,
.contacts-v2-hero-actions,
.company-v3-button-row{
  flex-wrap:wrap!important;
  gap:14px!important;
}
.company-v3-button-row .company-v3-action{
  margin-top:0!important;
}

/* Technical rows should align from the first text line. */
.service-v4-specs>div{
  align-items:start!important;
}
.service-v4-specs span{
  min-width:0;
}

/* Keep labels and utility text from breaking into awkward fragments. */
.company-v3-label,
.company-v3-brandline,
.service-v4-label,
.service-v4-brandline,
.service-v4-kicker,
.eyebrow,
.kicker,
.header-contact-strip-inner a{
  white-space:nowrap;
}

/* Tablet width: switch navigation to menu before the header becomes cramped. */
@media(max-width:960px) and (min-width:821px){
  .site-header .brand{
    min-width:320px!important;
  }
  .site-header .brand-copy{
    width:250px!important;
    min-width:250px!important;
  }
  .site-nav{
    display:none!important;
    position:absolute!important;
    top:var(--header-h)!important;
    left:0!important;
    right:0!important;
    padding:18px 24px!important;
    background:#071019!important;
    border-bottom:1px solid var(--line)!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:14px!important;
  }
  .site-nav.open{
    display:flex!important;
  }
  .menu-toggle{
    display:block!important;
    margin-left:auto!important;
  }
}

/* Mobile: balanced headings, comfortable CTA height, no edge collisions. */
@media(max-width:820px){
  .company-v3-block-head h2,
  .service-v4-block-head h2{
    max-width:100%!important;
    line-height:.98!important;
  }

  .btn,
  .hero-route{
    min-height:56px!important;
    width:100%!important;
    min-width:0!important;
    padding:13px 18px!important;
    white-space:normal!important;
  }

  .company-v3-button-row,
  .hero-actions,
  .products-v2-actions,
  .contacts-v2-hero-actions{
    width:100%;
    gap:10px!important;
  }

  .service-v4-copy,
  .company-v3-block-copy{
    min-width:0!important;
  }

  .service-v4-specs>div{
    min-width:0!important;
  }

  .service-v4-specs b,
  .service-v4-specs span{
    overflow-wrap:break-word;
  }

  [id]{
    scroll-margin-top:calc(var(--header-h) + 16px);
  }
}

/* Very narrow phones: stop long utility labels from overflowing. */
@media(max-width:420px){
  .company-v3-label,
  .company-v3-brandline,
  .service-v4-label,
  .service-v4-brandline,
  .service-v4-kicker,
  .eyebrow,
  .kicker{
    white-space:normal;
  }

  .home-client-v1 .home-hero-copy h1,
  .company-v3-hero h1,
  .service-v4-hero h1,
  .products-v2-hero-copy h1,
  .contacts-v2-hero-copy h1{
    letter-spacing:-.04em!important;
  }
}

/* PORT_AZUR_V1_0_32_FINAL_POLISH */


/* =========================================================
   v1.0.33 — rebuilt edge header + dark company page
   ========================================================= */

/* ---------- HEADER SHELL ---------- */
:root{
  --header-h:126px;
}

.site-header.site-header-v2{
  height:var(--header-h)!important;
  background:#080c10!important;
  border-bottom:1px solid rgba(255,255,255,.10)!important;
}

.site-header-v2 .header-inner-v2{
  width:100%!important;
  max-width:none!important;
  height:var(--header-h)!important;
  margin:0!important;
  padding:0 10px!important;
  display:grid!important;
  grid-template-columns:minmax(330px,auto) minmax(540px,1fr) minmax(190px,auto)!important;
  align-items:center!important;
  gap:18px!important;
  overflow:visible!important;
}

/* ---------- LEFT: LOGO + RECTANGULAR 4-LINE LOCKUP ---------- */
.site-header-v2 .header-brand-v2{
  min-width:0!important;
  width:max-content!important;
  display:flex!important;
  align-items:center!important;
  gap:0!important;
  margin:0!important;
  justify-self:start!important;
}

.site-header-v2 .header-brand-v2 img{
  width:88px!important;
  height:88px!important;
  flex:0 0 88px!important;
  object-fit:contain!important;
}

.site-header-v2 .brand-copy-v2{
  width:246px!important;
  min-width:246px!important;
  margin-left:-12px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  gap:2px!important;
  font-family:ui-monospace,SFMono-Regular,Consolas,monospace!important;
  text-transform:uppercase!important;
}

.site-header-v2 .brand-copy-v2>strong,
.site-header-v2 .brand-copy-v2>span{
  display:block!important;
  width:auto!important;
  margin:0!important;
  white-space:nowrap!important;
  text-align:left!important;
  text-align-last:auto!important;
  word-spacing:normal!important;
  line-height:.98!important;
}

.site-header-v2 .brand-copy-v2>strong{
  color:#fff!important;
  font-family:ui-monospace,SFMono-Regular,Consolas,monospace!important;
  font-size:1.44rem!important;
  font-weight:950!important;
  letter-spacing:.045em!important;
}

.site-header-v2 .brand-copy-v2>.brand-founded{
  color:#fff!important;
  font-size:1.02rem!important;
  font-weight:900!important;
  letter-spacing:.045em!important;
}

.site-header-v2 .brand-copy-v2>.brand-production{
  color:#9aa3ad!important;
  font-size:.75rem!important;
  font-weight:850!important;
  letter-spacing:.04em!important;
}

.site-header-v2 .brand-copy-v2>.brand-products{
  color:#9aa3ad!important;
  font-size:.67rem!important;
  font-weight:850!important;
  letter-spacing:.035em!important;
}

/* ---------- CENTER: 2x2 TEXT NAV + 4 ACTION BUTTONS ---------- */
.site-header-v2 .header-center-v2{
  position:static!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:12px!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  background:none!important;
  border:0!important;
  justify-self:center!important;
}

.site-header-v2 .header-primary-grid{
  display:grid!important;
  grid-template-columns:repeat(2,max-content)!important;
  justify-content:center!important;
  align-items:center!important;
  gap:5px 48px!important;
}

.site-header-v2 .header-primary-grid>a{
  position:relative;
  color:#f3f6f8!important;
  font-size:.78rem!important;
  line-height:1.15!important;
  font-weight:850!important;
  letter-spacing:.07em!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
}

.site-header-v2 .header-primary-grid>a:hover,
.site-header-v2 .header-primary-grid>a[aria-current="page"]{
  color:#006FF7!important;
}

.site-header-v2 .header-primary-grid>a[aria-current="page"]::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-4px;
  height:2px;
  border-radius:999px;
  background:#006FF7;
}

.site-header-v2 .header-action-row{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex-wrap:nowrap!important;
  gap:8px!important;
}

.site-header-v2 .header-quick-link{
  min-height:34px!important;
  padding:0 15px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid #006FF7!important;
  border-radius:999px!important;
  background:#17334b!important;
  color:#f7f9fa!important;
  font-size:.61rem!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:.055em!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
  transition:background .15s ease,border-color .15s ease,transform .15s ease!important;
}

.site-header-v2 .header-quick-link:hover,
.site-header-v2 .header-quick-link[aria-current="page"]{
  background:#006FF7!important;
  border-color:#4b91ca!important;
  color:#fff!important;
  transform:translateY(-1px);
}

.site-header-v2 .header-quick-primary{
  background:#006FF7!important;
  border-color:#006FF7!important;
}

.site-header-v2 .header-quick-primary:hover{
  background:#377fbb!important;
  border-color:#377fbb!important;
}

/* ---------- RIGHT: RECTANGULAR CONTACT LOCKUP ---------- */
.site-header-v2 .header-meta-v2{
  width:198px!important;
  min-width:198px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:center!important;
  gap:3px!important;
  justify-self:end!important;
  text-transform:uppercase!important;
  font-family:ui-monospace,SFMono-Regular,Consolas,monospace!important;
}

.site-header-v2 .header-meta-v2>span,
.site-header-v2 .header-meta-v2>a{
  display:block!important;
  margin:0!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  line-height:1!important;
  text-align:right!important;
}

.site-header-v2 .header-meta-v2>span:nth-child(1){
  color:#fff!important;
  font-size:1.02rem!important;
  font-weight:900!important;
  letter-spacing:.035em!important;
}

.site-header-v2 .header-meta-v2>span:nth-child(2){
  color:#fff!important;
  font-size:.82rem!important;
  font-weight:850!important;
  letter-spacing:.028em!important;
}

.site-header-v2 .header-meta-v2>a:nth-child(3){
  color:#9aa3ad!important;
  font-size:.72rem!important;
  font-weight:850!important;
  letter-spacing:.018em!important;
}

.site-header-v2 .header-meta-v2>a:nth-child(4){
  color:#9aa3ad!important;
  font-size:.79rem!important;
  font-weight:850!important;
  letter-spacing:.025em!important;
}

.site-header-v2 .header-meta-v2>a:hover{
  color:#006FF7!important;
}

.site-header-v2 .header-mobile-meta{
  display:none!important;
}

.site-header-v2 .menu-toggle{
  display:none!important;
}

/* Old second header row is retired. */
.header-contact-strip{
  display:none!important;
}

/* ---------- HOME HERO: slightly more air between words on line 2 ---------- */
.home-client-v1 .home-hero-copy h1 .hero-main-line{
  word-spacing:.16em!important;
}

/* ---------- COMPANY: DARK BASE / BLUE TYPOGRAPHIC ACCENTS ---------- */
.company-v3{
  background:#06090c!important;
  color:#eef3f6!important;
}

.company-v3-assets{
  background:#06090c!important;
  color:#eef3f6!important;
}

.company-v3-label,
.company-v3-block-head h2{
  color:#006FF7!important;
}

.company-v3-label::before{
  background:#006FF7!important;
}

.company-v3-block-head{
  border-bottom-color:rgba(74,144,200,.30)!important;
}

.company-v3-block-grid{
  background:#0c1217!important;
  border-color:#20313e!important;
  box-shadow:0 18px 54px rgba(0,0,0,.28)!important;
}

.company-v3-block-copy{
  background:#0c1217!important;
  color:#dce4e9!important;
  border-left-color:#20313e!important;
}

.company-v3-list,
.company-v3-list-large{
  color:#d7e0e6!important;
}

.company-v3-list li::before,
.company-v3-list-large li::before{
  color:#006FF7!important;
}

.company-v3-fact strong{
  color:#f5f8fa!important;
}

.company-v3-fact span{
  color:#006FF7!important;
}

.company-v3-warehouse-copy>p{
  color:#c3cdd4!important;
}

.company-v3-address{
  color:#f0f4f7!important;
  border-top-color:#20313e!important;
}

.company-v3 .btn.primary{
  background:#006FF7!important;
  border-color:#006FF7!important;
  color:#fff!important;
}

.company-v3 .btn.primary:hover{
  background:#377fbb!important;
  border-color:#377fbb!important;
}

.company-v3 .btn.secondary{
  background:transparent!important;
  border-color:#397fb7!important;
  color:#dceafa!important;
}

.company-v3 .btn.secondary:hover{
  background:#006FF7!important;
  color:#fff!important;
}

.company-v3-partner-cloud{
  color:#e8eef2!important;
}

.company-v3-partner-cloud .partner-mark{
  background:#0b1116!important;
  border:1px solid #1c2b36!important;
  border-radius:20px!important;
}

.company-v3-partner-cloud .partner-mark span{
  color:#aebbc5!important;
}

.company-v3-partner-cloud .partner-mark strong{
  color:#f3f6f8!important;
}

/* ---------- RESPONSIVE HEADER ---------- */
@media(max-width:1450px) and (min-width:1181px){
  :root{--header-h:120px}

  .site-header-v2 .header-inner-v2{
    grid-template-columns:minmax(300px,auto) minmax(500px,1fr) minmax(180px,auto)!important;
    gap:12px!important;
    padding-inline:8px!important;
  }

  .site-header-v2 .header-brand-v2 img{
    width:80px!important;
    height:80px!important;
    flex-basis:80px!important;
  }

  .site-header-v2 .brand-copy-v2{
    width:226px!important;
    min-width:226px!important;
    margin-left:-10px!important;
  }

  .site-header-v2 .brand-copy-v2>strong{font-size:1.28rem!important}
  .site-header-v2 .brand-copy-v2>.brand-founded{font-size:.92rem!important}
  .site-header-v2 .brand-copy-v2>.brand-production{font-size:.68rem!important}
  .site-header-v2 .brand-copy-v2>.brand-products{font-size:.61rem!important}

  .site-header-v2 .header-primary-grid{gap:4px 34px!important}
  .site-header-v2 .header-action-row{gap:6px!important}
  .site-header-v2 .header-quick-link{
    min-height:32px!important;
    padding-inline:11px!important;
    font-size:.56rem!important;
  }

  .site-header-v2 .header-meta-v2{
    width:184px!important;
    min-width:184px!important;
  }

  .site-header-v2 .header-meta-v2>span:nth-child(1){font-size:.93rem!important}
  .site-header-v2 .header-meta-v2>span:nth-child(2){font-size:.74rem!important}
  .site-header-v2 .header-meta-v2>a:nth-child(3){font-size:.65rem!important}
  .site-header-v2 .header-meta-v2>a:nth-child(4){font-size:.71rem!important}
}

/* At tablet / narrow desktop widths the full three-column header becomes a menu. */
@media(max-width:1180px){
  :root{--header-h:88px}

  .site-header.site-header-v2{
    height:var(--header-h)!important;
  }

  .site-header-v2 .header-inner-v2{
    height:var(--header-h)!important;
    grid-template-columns:auto 1fr auto!important;
    gap:12px!important;
    padding:0 12px!important;
  }

  .site-header-v2 .header-brand-v2 img{
    width:68px!important;
    height:68px!important;
    flex-basis:68px!important;
  }

  .site-header-v2 .brand-copy-v2{
    width:210px!important;
    min-width:210px!important;
    margin-left:-9px!important;
  }

  .site-header-v2 .brand-copy-v2>strong{font-size:1.16rem!important}
  .site-header-v2 .brand-copy-v2>.brand-founded{font-size:.82rem!important}
  .site-header-v2 .brand-copy-v2>.brand-production{font-size:.60rem!important}
  .site-header-v2 .brand-copy-v2>.brand-products{font-size:.54rem!important}

  .site-header-v2 .header-meta-v2{
    display:none!important;
  }

  .site-header-v2 .menu-toggle{
    display:block!important;
    grid-column:3!important;
    justify-self:end!important;
    margin:0!important;
    border:1px solid #006FF7!important;
    border-radius:999px!important;
    padding:10px 15px!important;
    color:#fff!important;
    background:#122536!important;
    font-size:.68rem!important;
    font-weight:900!important;
    letter-spacing:.06em!important;
  }

  .site-header-v2 .header-center-v2{
    display:none!important;
    position:absolute!important;
    top:var(--header-h)!important;
    left:0!important;
    right:0!important;
    z-index:120!important;
    padding:22px 18px 24px!important;
    background:#080d11!important;
    border-top:1px solid rgba(255,255,255,.07)!important;
    border-bottom:1px solid #20313e!important;
    box-shadow:0 18px 40px rgba(0,0,0,.32)!important;
  }

  .site-header-v2 .header-center-v2.open{
    display:flex!important;
  }

  .site-header-v2 .header-primary-grid{
    width:100%!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
  }

  .site-header-v2 .header-primary-grid>a{
    min-height:42px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    border:1px solid #1e3344!important;
    border-radius:14px!important;
    background:#0d171f!important;
  }

  .site-header-v2 .header-action-row{
    width:100%!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
  }

  .site-header-v2 .header-quick-link{
    width:100%!important;
    min-height:44px!important;
    white-space:normal!important;
    text-align:center!important;
  }

  .site-header-v2 .header-mobile-meta{
    width:100%!important;
    margin-top:4px!important;
    padding-top:16px!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px 18px!important;
    border-top:1px solid #20313e!important;
    color:#9aa3ad!important;
    font:800 .68rem/1.25 ui-monospace,SFMono-Regular,Consolas,monospace!important;
    text-transform:uppercase!important;
  }

  .site-header-v2 .header-mobile-meta a{
    color:#dce4e9!important;
  }
}

@media(max-width:640px){
  :root{--header-h:78px}

  .site-header-v2 .header-inner-v2{
    height:var(--header-h)!important;
    padding-inline:8px!important;
    gap:8px!important;
  }

  .site-header-v2 .header-brand-v2 img{
    width:58px!important;
    height:58px!important;
    flex-basis:58px!important;
  }

  .site-header-v2 .brand-copy-v2{
    width:168px!important;
    min-width:168px!important;
    margin-left:-7px!important;
  }

  .site-header-v2 .brand-copy-v2>strong{
    font-size:.94rem!important;
    letter-spacing:.035em!important;
  }

  .site-header-v2 .brand-copy-v2>.brand-founded{
    font-size:.66rem!important;
  }

  .site-header-v2 .brand-copy-v2>.brand-production,
  .site-header-v2 .brand-copy-v2>.brand-products{
    display:none!important;
  }

  .site-header-v2 .menu-toggle{
    padding:9px 12px!important;
    font-size:.60rem!important;
  }

  .site-header-v2 .header-center-v2{
    padding:16px 10px 20px!important;
  }

  .site-header-v2 .header-primary-grid,
  .site-header-v2 .header-action-row,
  .site-header-v2 .header-mobile-meta{
    grid-template-columns:1fr!important;
  }

  .home-client-v1 .home-hero-copy h1 .hero-main-line{
    word-spacing:.08em!important;
  }
}

/* print: keep the rebuilt header coherent */
@media print{
  .site-header.site-header-v2{
    position:relative!important;
    height:auto!important;
    min-height:96px!important;
  }

  .site-header-v2 .header-inner-v2{
    min-height:96px!important;
    height:auto!important;
    grid-template-columns:auto 1fr auto!important;
  }

  .site-header-v2 .menu-toggle,
  .site-header-v2 .header-mobile-meta{
    display:none!important;
  }
}

/* PORT_AZUR_V1_0_33_HEADER_COMPANY_DARK */


/* =========================================================
   v1.0.34 — stable centered header + single font + dark surfaces
   ========================================================= */

:root{
  --pa-page-black:#050709;
  --pa-surface-black:#0a0e12;
  --pa-surface-black-2:#0e1419;
  --pa-dark-line:#22303a;
  --pa-dark-text:#edf2f5;
  --pa-dark-muted:#a9b4bc;
}

/* ---------- ONE TYPEFACE ACROSS THE WHOLE SITE ---------- */
html,
body,
body *,
button,
input,
textarea,
select{
  font-family:Arial,Helvetica,sans-serif!important;
}

/* ---------- HEADER: TRUE CENTER, EDGE-ANCHORED SIDES ---------- */
.site-header-v2 .header-inner-v2{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0 8px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;
  align-items:center!important;
  gap:12px!important;
}

/* left block stays at the extreme left */
.site-header-v2 .header-brand-v2{
  grid-column:1!important;
  justify-self:start!important;
  min-width:0!important;
  max-width:100%!important;
}

/* center block is mathematically centered in the viewport */
.site-header-v2 .header-center-v2{
  grid-column:2!important;
  justify-self:center!important;
  margin:0!important;
  min-width:0!important;
  max-width:min(760px,48vw)!important;
}

/* right block mirrors the left edge position */
.site-header-v2 .header-meta-v2{
  grid-column:3!important;
  justify-self:end!important;
  width:230px!important;
  min-width:230px!important;
  align-items:center!important;
  text-align:center!important;
}

.site-header-v2 .header-meta-v2>span,
.site-header-v2 .header-meta-v2>a{
  width:100%!important;
  text-align:center!important;
}

/* Both text lockups are centered inside their own rectangles. */
.site-header-v2 .brand-copy-v2{
  align-items:center!important;
  text-align:center!important;
}

.site-header-v2 .brand-copy-v2>strong,
.site-header-v2 .brand-copy-v2>span{
  width:100%!important;
  text-align:center!important;
}

/* Center menu remains compact and symmetric. */
.site-header-v2 .header-primary-grid{
  grid-template-columns:repeat(2,minmax(150px,1fr))!important;
  width:min(430px,100%)!important;
  gap:5px 30px!important;
}

.site-header-v2 .header-primary-grid>a{
  text-align:center!important;
}

.site-header-v2 .header-action-row{
  width:max-content!important;
  max-width:100%!important;
  gap:7px!important;
}

/* Switch to compact menu before the three desktop zones can collide. */
@media(max-width:1320px){
  :root{--header-h:88px}

  .site-header.site-header-v2{
    height:var(--header-h)!important;
  }

  .site-header-v2 .header-inner-v2{
    height:var(--header-h)!important;
    grid-template-columns:auto 1fr auto!important;
    padding:0 10px!important;
  }

  .site-header-v2 .header-meta-v2{
    display:none!important;
  }

  .site-header-v2 .header-center-v2{
    display:none!important;
    position:absolute!important;
    top:var(--header-h)!important;
    left:0!important;
    right:0!important;
    max-width:none!important;
    width:100%!important;
    padding:20px 16px 22px!important;
    background:#070b0f!important;
    border-top:1px solid rgba(255,255,255,.07)!important;
    border-bottom:1px solid var(--pa-dark-line)!important;
    box-shadow:0 18px 40px rgba(0,0,0,.4)!important;
  }

  .site-header-v2 .header-center-v2.open{
    display:flex!important;
  }

  .site-header-v2 .menu-toggle{
    display:block!important;
    grid-column:3!important;
    justify-self:end!important;
  }

  .site-header-v2 .header-primary-grid{
    width:100%!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
  }

  .site-header-v2 .header-action-row{
    width:100%!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
  }

  .site-header-v2 .header-mobile-meta{
    width:100%!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px 18px!important;
    text-align:center!important;
  }
}

@media(max-width:640px){
  .site-header-v2 .brand-copy-v2{
    align-items:flex-start!important;
    text-align:left!important;
  }

  .site-header-v2 .brand-copy-v2>strong,
  .site-header-v2 .brand-copy-v2>span{
    text-align:left!important;
  }

  .site-header-v2 .header-primary-grid,
  .site-header-v2 .header-action-row,
  .site-header-v2 .header-mobile-meta{
    grid-template-columns:1fr!important;
  }
}

/* ---------- GLOBAL DARK SURFACE SYSTEM ---------- */
html,
body{
  background:var(--pa-page-black)!important;
  color:var(--pa-dark-text)!important;
}

main,
.block,
.light,
.services-v4,
.service-v4-list,
.products-client-v2,
.products-v2-range,
.products-v2-prep,
.products-v2-cta,
.contacts-client-v2,
.contacts-v2-request,
.contacts-v2-company,
.company-v3,
.company-v3-assets,
.directory-section-v105,
.calculator-block-v105,
.technical-hub-v105b,
.technical-quick-v105b,
.technical-request-v105b{
  background:var(--pa-page-black)!important;
  color:var(--pa-dark-text)!important;
}

/* Main content surfaces */
.company-v3-block-grid,
.company-v3-block-copy,
.service-v4-grid,
.service-v4-copy,
.products-v2-prep-grid,
.products-v2-prep-copy,
.contacts-v2-submit,
.contacts-v2-info,
.contacts-v2-requisites,
.contacts-v2-card-download,
.technical-tool-card-v105b,
.directory-controls-v105d,
.directory-calculator-link-v105d,
.material-card-v105,
.directory-empty-v105,
.mass-form-v105,
.mass-result-v105,
.shape-tile,
.contact-box,
.request-form-pro,
.document-slot,
.standard-panel,
.property-card,
.tech-table{
  background:var(--pa-surface-black)!important;
  color:var(--pa-dark-text)!important;
  border-color:var(--pa-dark-line)!important;
  box-shadow:none!important;
}

/* Slightly lifted interactive surfaces */
.technical-material-links-v105b>a,
.material-card-v105:hover,
.technical-tool-card-v105b:hover,
.directory-calculator-link-v105d:hover{
  background:var(--pa-surface-black-2)!important;
  color:var(--pa-dark-text)!important;
  border-color:#31516a!important;
}

/* Form fields */
.mass-form-v105 input,
.mass-form-v105 select,
.directory-search-v105 input,
.request-form-pro input,
.request-form-pro textarea,
.request-form-pro select{
  background:#070b0f!important;
  color:#f3f6f8!important;
  border-color:#31414d!important;
}

/* Filter buttons */
.directory-filter-row-v105 button{
  background:#0b1116!important;
  color:#cbd5db!important;
  border-color:#2c3b46!important;
}

.directory-filter-row-v105 button:hover,
.directory-filter-row-v105 button.active{
  background:#17334b!important;
  color:#fff!important;
  border-color:#006FF7!important;
}

/* Copy colors on formerly light pages */
.company-v3 p,
.company-v3-list,
.company-v3-list-large,
.service-v4 p,
.service-v4-lead,
.service-v4-specs b,
.service-v4-specs span,
.products-client-v2 p,
.products-v2-prep-copy,
.products-v2-prep-copy li,
.contacts-client-v2 p,
.contacts-v2-checklist,
.technical-hub-v105b p,
.technical-quick-v105b p,
.technical-request-v105b p,
.directory-section-v105 p,
.material-card-v105,
.calculator-block-v105 p,
.mass-form-v105 label,
.mass-result-v105{
  color:var(--pa-dark-muted)!important;
}

/* Primary section headings on dark background */
.company-v3-block-head h2,
.service-v4-block-head h2,
.products-v2-head h2,
.products-v2-prep-head h2,
.products-v2-cta h2,
.contacts-v2-head h2,
.contacts-v2-company-head h2,
.technical-hub-v105b h2,
.technical-quick-v105b h2,
.technical-request-v105b h2,
.directory-section-v105 h2,
.material-group-head h3,
.calculator-block-v105 h2{
  color:var(--brand-primary,#006FF7)!important;
}

/* Strong card text remains white. */
.products-v2-prep-copy strong,
.contacts-v2-submit h3,
.contacts-v2-info strong,
.contacts-v2-info a,
.contacts-v2-requisites strong,
.technical-tool-card-v105b h3,
.technical-tool-card-v105b strong,
.technical-material-links-v105b b,
.material-card-grade,
.material-card-action,
.mass-form-v105 h2,
.mass-result-v105 strong,
.mass-result-v105 b{
  color:#f2f6f8!important;
}

/* Dark dividers instead of light gray ones. */
.company-v3-block-head,
.service-v4-block-head,
.products-v2-head,
.products-v2-prep-head,
.contacts-v2-head,
.contacts-v2-company-head,
.material-group-head{
  border-color:var(--pa-dark-line)!important;
}

/* Partner cards remain separate elements, but dark. */
.company-v3-partner-cloud .partner-mark{
  background:#0a0f14!important;
  border-color:#22313c!important;
}
.company-v3-partner-cloud .partner-mark span{
  color:#aeb9c1!important;
}
.company-v3-partner-cloud .partner-mark strong{
  color:#f2f5f7!important;
}

/* Keep explanatory generated images neutral inside the dark UI. */
#laser-cutting figure,
#sheet-bending figure,
#lamination figure{
  background:#11171c!important;
}

/* Home second-line readability request remains, but without huge artificial spacing. */
.home-client-v1 .home-hero-copy h1 .hero-main-line{
  word-spacing:.13em!important;
}

/* PORT_AZUR_V1_0_34_STABLE_DARK_SYSTEM */


/* v1.0.34b — remove remaining white action surfaces */
.home-client-v1 .hero-route,
.home-client-v1 .hero-route:first-child,
.home-client-v1 .hero-route:last-child{
  background:rgba(7,11,15,.90)!important;
  border:1px solid #2a3a46!important;
  color:#fff!important;
}
.home-client-v1 .hero-route:hover{
  background:#10202d!important;
  border-color:var(--brand-primary,#006FF7)!important;
}
.btn.secondary,
.btn.ghost{
  background:#0a0f14!important;
  color:#f2f6f8!important;
  border-color:#31516a!important;
  backdrop-filter:none!important;
}
.btn.secondary:hover,
.btn.ghost:hover{
  background:#17334b!important;
  color:#fff!important;
  border-color:#006FF7!important;
}
/* PORT_AZUR_V1_0_34B_NO_WHITE_ACTIONS */

/* =========================================================
   v1.0.35 — strict header geometry, true 2-row center layout
   ========================================================= */

.site-header-v2 .header-inner-v2{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 10px !important;

  display:grid !important;
  grid-template-columns:330px minmax(0,1fr) 330px !important;
  align-items:center !important;
  gap:18px !important;
}

/* --- LEFT BLOCK --- */
.site-header-v2 .header-brand-v2{
  width:330px !important;
  min-width:330px !important;
  max-width:330px !important;

  display:grid !important;
  grid-template-columns:64px 250px !important;
  column-gap:10px !important;
  align-items:center !important;
  justify-self:start !important;
}

.site-header-v2 .header-brand-v2 img,
.site-header-v2 .header-brand-v2 .brand-mark-v2{
  width:64px !important;
  height:auto !important;
}

.site-header-v2 .brand-copy-v2{
  width:250px !important;
  min-width:250px !important;
  max-width:250px !important;

  display:grid !important;
  grid-auto-rows:min-content !important;
  row-gap:2px !important;

  text-align:left !important;
  align-items:start !important;
  justify-items:start !important;
}

.site-header-v2 .brand-copy-v2 > *{
  margin:0 !important;
  width:100% !important;
  line-height:1.02 !important;
  white-space:nowrap !important;
}

.site-header-v2 .brand-copy-v2 strong{
  color:#ffffff !important;
}

.site-header-v2 .brand-copy-v2 span{
  color:#b7bec6 !important;
}

/* --- CENTER BLOCK: EXACTLY 2 ROWS --- */
.site-header-v2 .header-center-v2{
  display:grid !important;
  grid-template-rows:auto auto !important;
  row-gap:10px !important;
  justify-items:center !important;
  align-content:center !important;
  justify-self:center !important;
  width:max-content !important;
  max-width:100% !important;
  margin:0 auto !important;
}

.site-header-v2 .header-primary-grid{
  display:grid !important;
  grid-template-columns:repeat(4,max-content) !important;
  grid-template-rows:auto !important;
  gap:0 30px !important;
  justify-content:center !important;
  align-items:center !important;
  width:max-content !important;
  margin:0 auto !important;
}

.site-header-v2 .header-primary-grid > a{
  display:block !important;
  white-space:nowrap !important;
  text-align:center !important;
  line-height:1 !important;
}

.site-header-v2 .header-action-row{
  display:grid !important;
  grid-template-columns:repeat(4,max-content) !important;
  grid-template-rows:auto !important;
  gap:0 10px !important;
  justify-content:center !important;
  align-items:center !important;
  width:max-content !important;
  margin:0 auto !important;
}

.site-header-v2 .header-action-row .btn{
  white-space:nowrap !important;
}

/* --- RIGHT BLOCK --- */
.site-header-v2 .header-meta-v2{
  width:330px !important;
  min-width:330px !important;
  max-width:330px !important;

  display:grid !important;
  grid-auto-rows:min-content !important;
  row-gap:2px !important;

  justify-self:end !important;
  align-items:end !important;
  justify-items:end !important;
  text-align:right !important;
}

.site-header-v2 .header-meta-v2 > *{
  display:block !important;
  margin:0 !important;
  width:100% !important;
  line-height:1.02 !important;
  white-space:nowrap !important;
  text-align:right !important;
  color:#ffffff !important;
}

/* --- GENERAL HEADER CLEANUP --- */
.site-header-v2 .header-primary-grid a{
  color:#ffffff !important;
}

.site-header-v2 .header-primary-grid a:hover,
.site-header-v2 .header-primary-grid a.is-active{
  color:var(--brand-primary,#006FF7) !important;
}

.site-header-v2 .header-action-row .btn{
  border-radius:999px !important;
}

/* Slightly tighter desktop */
@media (max-width: 1700px){
  .site-header-v2 .header-inner-v2{
    grid-template-columns:300px minmax(0,1fr) 300px !important;
    gap:14px !important;
  }

  .site-header-v2 .header-brand-v2{
    width:300px !important;
    min-width:300px !important;
    max-width:300px !important;
    grid-template-columns:58px 230px !important;
    column-gap:8px !important;
  }

  .site-header-v2 .header-brand-v2 img,
  .site-header-v2 .header-brand-v2 .brand-mark-v2{
    width:58px !important;
  }

  .site-header-v2 .brand-copy-v2{
    width:230px !important;
    min-width:230px !important;
    max-width:230px !important;
  }

  .site-header-v2 .header-meta-v2{
    width:300px !important;
    min-width:300px !important;
    max-width:300px !important;
  }

  .site-header-v2 .header-primary-grid{
    gap:0 22px !important;
  }

  .site-header-v2 .header-action-row{
    gap:0 8px !important;
  }
}

/* Mobile breakpoint: stop squeezing, switch to menu */
@media (max-width: 1380px){
  .site-header-v2 .header-inner-v2{
    grid-template-columns:auto 1fr auto !important;
    padding:0 10px !important;
  }

  .site-header-v2 .header-center-v2{
    display:none !important;
  }

  .site-header-v2 .header-meta-v2{
    display:none !important;
  }

  .site-header-v2 .menu-toggle{
    display:block !important;
    justify-self:end !important;
  }
}

/* PORT_AZUR_V1_0_35_STRICT_HEADER */


/* =========================================================
   v1.0.36 — balanced symmetric header
   ========================================================= */

/* Desktop header = equal side zones + fixed center.
   The visual center no longer depends on the width of the logo/contact text. */
@media(min-width:1421px){
  :root{--header-h:126px}

  .site-header.site-header-v2{
    height:var(--header-h)!important;
  }

  .site-header-v2 .header-inner-v2{
    width:100%!important;
    max-width:none!important;
    height:var(--header-h)!important;
    margin:0!important;
    padding:0 12px!important;

    display:grid!important;
    grid-template-columns:minmax(0,1fr) 720px minmax(0,1fr)!important;
    align-items:center!important;
    column-gap:16px!important;
  }

  /* LEFT */
  .site-header-v2 .header-brand-v2{
    grid-column:1!important;
    justify-self:start!important;
    width:338px!important;
    min-width:338px!important;
    max-width:338px!important;
    margin:0!important;

    display:grid!important;
    grid-template-columns:86px 244px!important;
    column-gap:8px!important;
    align-items:center!important;
  }

  .site-header-v2 .header-brand-v2 img{
    width:86px!important;
    height:86px!important;
    object-fit:contain!important;
  }

  .site-header-v2 .brand-copy-v2{
    width:244px!important;
    min-width:244px!important;
    max-width:244px!important;
    margin:0!important;

    display:grid!important;
    grid-template-rows:repeat(4,auto)!important;
    row-gap:3px!important;
    align-content:center!important;
    justify-items:start!important;
    text-align:left!important;
  }

  .site-header-v2 .brand-copy-v2>strong,
  .site-header-v2 .brand-copy-v2>span{
    display:block!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    text-align:left!important;
    white-space:nowrap!important;
    line-height:.98!important;
  }

  .site-header-v2 .brand-copy-v2>strong{
    font-size:1.34rem!important;
    font-weight:900!important;
    letter-spacing:.05em!important;
    color:#fff!important;
  }

  .site-header-v2 .brand-copy-v2>.brand-founded{
    font-size:.96rem!important;
    font-weight:850!important;
    letter-spacing:.045em!important;
    color:#fff!important;
  }

  .site-header-v2 .brand-copy-v2>.brand-production{
    font-size:.69rem!important;
    font-weight:800!important;
    letter-spacing:.045em!important;
    color:#aeb6bd!important;
  }

  .site-header-v2 .brand-copy-v2>.brand-products{
    font-size:.625rem!important;
    font-weight:800!important;
    letter-spacing:.035em!important;
    color:#aeb6bd!important;
  }

  /* CENTER — EXACTLY TWO ROWS OF FOUR */
  .site-header-v2 .header-center-v2{
    grid-column:2!important;
    justify-self:center!important;
    align-self:center!important;

    width:720px!important;
    min-width:720px!important;
    max-width:720px!important;
    margin:0!important;
    padding:0!important;

    display:grid!important;
    grid-template-rows:28px 40px!important;
    row-gap:12px!important;
    align-content:center!important;
    justify-items:stretch!important;

    position:static!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
  }

  .site-header-v2 .header-primary-grid{
    width:720px!important;
    margin:0!important;

    display:grid!important;
    grid-template-columns:repeat(4,1fr)!important;
    gap:0!important;
    align-items:center!important;
    justify-items:center!important;
  }

  .site-header-v2 .header-primary-grid>a{
    width:100%!important;
    height:28px!important;
    padding:0 8px!important;

    display:flex!important;
    align-items:center!important;
    justify-content:center!important;

    color:#f4f6f8!important;
    font-size:.80rem!important;
    font-weight:850!important;
    letter-spacing:.055em!important;
    line-height:1!important;
    text-align:center!important;
    white-space:nowrap!important;
  }

  .site-header-v2 .header-primary-grid>a[aria-current="page"]{
    color:#4c91ca!important;
  }

  .site-header-v2 .header-primary-grid>a[aria-current="page"]::after{
    left:18%!important;
    right:18%!important;
    bottom:0!important;
  }

  .site-header-v2 .header-action-row{
    width:720px!important;
    margin:0!important;

    display:grid!important;
    grid-template-columns:repeat(4,1fr)!important;
    gap:10px!important;
    align-items:stretch!important;
  }

  .site-header-v2 .header-quick-link{
    width:100%!important;
    min-width:0!important;
    height:40px!important;
    min-height:40px!important;
    padding:0 10px!important;
    margin:0!important;

    display:flex!important;
    align-items:center!important;
    justify-content:center!important;

    border-radius:999px!important;
    font-size:.60rem!important;
    font-weight:900!important;
    letter-spacing:.045em!important;
    line-height:1.08!important;
    text-align:center!important;
    white-space:nowrap!important;
  }

  /* RIGHT — mirrors the left block footprint */
  .site-header-v2 .header-meta-v2{
    grid-column:3!important;
    justify-self:end!important;
    align-self:center!important;

    width:338px!important;
    min-width:338px!important;
    max-width:338px!important;
    margin:0!important;

    display:grid!important;
    grid-template-rows:repeat(4,auto)!important;
    row-gap:3px!important;
    align-content:center!important;
    justify-items:center!important;
    text-align:center!important;
  }

  .site-header-v2 .header-meta-v2>span,
  .site-header-v2 .header-meta-v2>a{
    display:block!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    text-align:center!important;
    white-space:nowrap!important;
    line-height:.98!important;
  }

  .site-header-v2 .header-meta-v2>span:nth-child(1){
    font-size:1.02rem!important;
    font-weight:900!important;
    letter-spacing:.04em!important;
    color:#fff!important;
  }

  .site-header-v2 .header-meta-v2>span:nth-child(2){
    font-size:.84rem!important;
    font-weight:850!important;
    letter-spacing:.035em!important;
    color:#fff!important;
  }

  .site-header-v2 .header-meta-v2>a:nth-child(3){
    font-size:.71rem!important;
    font-weight:800!important;
    letter-spacing:.025em!important;
    color:#aeb6bd!important;
  }

  .site-header-v2 .header-meta-v2>a:nth-child(4){
    font-size:.78rem!important;
    font-weight:850!important;
    letter-spacing:.03em!important;
    color:#aeb6bd!important;
  }

  .site-header-v2 .menu-toggle,
  .site-header-v2 .header-mobile-meta{
    display:none!important;
  }
}

/* At narrower widths stop squeezing the desktop composition.
   Switch to one compact mobile drawer instead. */
@media(max-width:1420px){
  :root{--header-h:88px}

  .site-header.site-header-v2{
    height:var(--header-h)!important;
  }

  .site-header-v2 .header-inner-v2{
    height:var(--header-h)!important;
    width:100%!important;
    max-width:none!important;
    padding:0 10px!important;
    display:grid!important;
    grid-template-columns:auto 1fr auto!important;
    align-items:center!important;
    gap:10px!important;
  }

  .site-header-v2 .header-brand-v2{
    grid-column:1!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    display:grid!important;
    grid-template-columns:68px 214px!important;
    column-gap:6px!important;
    align-items:center!important;
  }

  .site-header-v2 .header-brand-v2 img{
    width:68px!important;
    height:68px!important;
  }

  .site-header-v2 .brand-copy-v2{
    width:214px!important;
    min-width:214px!important;
    max-width:214px!important;
    margin:0!important;
    align-items:start!important;
    text-align:left!important;
  }

  .site-header-v2 .brand-copy-v2>strong,
  .site-header-v2 .brand-copy-v2>span{
    text-align:left!important;
  }

  .site-header-v2 .header-meta-v2{
    display:none!important;
  }

  .site-header-v2 .menu-toggle{
    display:block!important;
    grid-column:3!important;
    justify-self:end!important;
    margin:0!important;
  }

  .site-header-v2 .header-center-v2{
    display:none!important;
    position:absolute!important;
    top:var(--header-h)!important;
    left:0!important;
    right:0!important;
    z-index:120!important;

    width:100%!important;
    max-width:none!important;
    padding:18px 14px 22px!important;

    background:#080d11!important;
    border-top:1px solid rgba(255,255,255,.06)!important;
    border-bottom:1px solid #20313e!important;
    box-shadow:0 18px 40px rgba(0,0,0,.36)!important;
  }

  .site-header-v2 .header-center-v2.open{
    display:grid!important;
    grid-template-rows:auto auto auto!important;
    gap:10px!important;
  }

  .site-header-v2 .header-primary-grid,
  .site-header-v2 .header-action-row{
    width:100%!important;
    display:grid!important;
    grid-template-columns:repeat(2,1fr)!important;
    gap:8px!important;
  }

  .site-header-v2 .header-primary-grid>a,
  .site-header-v2 .header-quick-link{
    width:100%!important;
    min-width:0!important;
    min-height:44px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    white-space:normal!important;
  }

  .site-header-v2 .header-mobile-meta{
    width:100%!important;
    padding-top:12px!important;
    display:grid!important;
    grid-template-columns:repeat(2,1fr)!important;
    gap:7px 16px!important;
    border-top:1px solid #20313e!important;
    text-align:center!important;
  }
}

@media(max-width:640px){
  :root{--header-h:78px}

  .site-header-v2 .header-brand-v2{
    grid-template-columns:58px minmax(0,170px)!important;
  }

  .site-header-v2 .header-brand-v2 img{
    width:58px!important;
    height:58px!important;
  }

  .site-header-v2 .brand-copy-v2{
    width:170px!important;
    min-width:0!important;
  }

  .site-header-v2 .brand-copy-v2>strong{
    font-size:.94rem!important;
  }

  .site-header-v2 .brand-copy-v2>.brand-founded{
    font-size:.66rem!important;
  }

  .site-header-v2 .brand-copy-v2>.brand-production,
  .site-header-v2 .brand-copy-v2>.brand-products{
    display:none!important;
  }

  .site-header-v2 .header-primary-grid,
  .site-header-v2 .header-action-row,
  .site-header-v2 .header-mobile-meta{
    grid-template-columns:1fr!important;
  }
}

/* PORT_AZUR_V1_0_36_BALANCED_HEADER */

/* =========================================================
   v1.0.38 — exact rectangular industrial header
   ========================================================= */

/* PORT_AZUR_V1_0_38_HEADER_REBUILD */


/* ---------------------------------------------------------
   GLOBAL FONT
   --------------------------------------------------------- */

html,
body,
body *,
button,
input,
textarea,
select {
  font-family: Arial, Helvetica, sans-serif !important;
}


/* ---------------------------------------------------------
   HEADER BASE
   --------------------------------------------------------- */

:root {
  --header-h: 136px;
}


.site-header-v3 {
  position: fixed;
  z-index: 100;
  top: 0;
  left: 0;
  right: 0;

  height: var(--header-h);

  background: #060a0e;
  border-bottom: 1px solid #24313a;
}


.header-shell-v3 {
  width: 100%;
  max-width: none;

  height: 100%;

  padding: 0 4px;
  margin: 0;

  display: grid;

  grid-template-columns:
    minmax(405px, 1fr)
    minmax(720px, 820px)
    minmax(405px, 1fr);

  column-gap: 10px;

  align-items: center;
}


/* ---------------------------------------------------------
   LEFT BRAND
   --------------------------------------------------------- */

.header-brand-v3 {
  justify-self: start;

  width: 396px;

  display: grid;
  grid-template-columns: 112px 286px;

  column-gap: 0;

  align-items: center;

  color: inherit;
  text-decoration: none;
}


.header-logo-v3 {
  width: 112px;
  height: 112px;

  max-width: none;

  object-fit: contain;

  margin: 0;
  padding: 0;
}


.header-lockup-left-v3 {
  width: 286px;

  margin-left: -10px;
}


/* ---------------------------------------------------------
   PERFECT RECTANGLE TEXT SYSTEM
   --------------------------------------------------------- */

.header-lockup-v3 {
  display: grid;

  grid-template-rows:
    repeat(4, auto);

  row-gap: 4px;

  align-content: center;
}


.lock-line-v3 {
  width: 100%;

  margin: 0;
  padding: 0;

  display: flex;

  align-items: baseline;
  justify-content: space-between;

  white-space: nowrap;

  line-height: 0.94;

  text-transform: uppercase;

  color: #ffffff;

  text-decoration: none;
}


.lock-line-v3 > span {
  display: block;
  flex: 0 0 auto;
}


/* LEFT LINE 1 */
.lock-main-v3 {
  font-size: 19px;
  font-weight: 900;

  letter-spacing: 0.02em;
}


/* LEFT LINE 2 */
.lock-founded-v3 {
  font-size: 15px;
  font-weight: 900;

  letter-spacing: 0.01em;
}


/* LEFT LINE 3 + 4 */
.lock-small-v3 {
  font-size: 10.5px;
  font-weight: 800;

  letter-spacing: 0;

  color: #aab4bc;
}


/* ---------------------------------------------------------
   CENTER
   --------------------------------------------------------- */

.header-center-v3 {
  justify-self: center;
  align-self: center;

  width: min(800px, 100%);

  margin: 0;
  padding: 0;

  display: grid;

  grid-template-rows:
    28px
    44px;

  row-gap: 12px;

  align-content: center;

  background: transparent;
  border: 0;
}


/* ROW 1 — EXACTLY 4 ITEMS */
.header-nav-row-v3 {
  width: 100%;

  display: grid;

  grid-template-columns:
    repeat(4, 1fr);

  align-items: center;
}


.header-nav-row-v3 > a {
  position: relative;

  width: 100%;
  height: 28px;

  display: flex;

  align-items: center;
  justify-content: center;

  padding: 0 10px;

  color: #ffffff;

  text-align: center;
  text-transform: uppercase;

  white-space: nowrap;

  font-size: 13px;
  font-weight: 800;

  letter-spacing: 0.04em;

  line-height: 1;
}


.header-nav-row-v3 > a:hover,
.header-nav-row-v3 > a[aria-current="page"] {
  color: #4c91ca;
}


.header-nav-row-v3 > a[aria-current="page"]::after {
  content: "";

  position: absolute;

  left: 20%;
  right: 20%;
  bottom: 0;

  height: 2px;

  border-radius: 99px;

  background: #006FF7;
}


/* ROW 2 — EXACTLY 4 IDENTICAL BUTTONS */
.header-pill-row-v3 {
  width: 100%;

  display: grid;

  grid-template-columns:
    repeat(4, 1fr);

  gap: 9px;
}


.header-pill-v3 {
  width: 100%;
  height: 44px;

  min-width: 0;

  display: flex;

  align-items: center;
  justify-content: center;

  margin: 0;
  padding: 0 10px;

  border: 1px solid #4382b7;
  border-radius: 999px;

  background: #286da7;

  color: #ffffff;

  text-align: center;
  text-transform: uppercase;

  white-space: nowrap;

  font-size: 10.5px;
  font-weight: 900;

  letter-spacing: 0.025em;

  line-height: 1;
}


.header-pill-v3:hover,
.header-pill-v3.is-current {
  background: #347fb9;

  border-color: #1788FF;

  color: #ffffff;
}


/* ---------------------------------------------------------
   RIGHT RECTANGLE
   --------------------------------------------------------- */

.header-lockup-right-v3 {
  justify-self: end;

  width: 350px;

  color: #ffffff;
}


.contact-main-v3 {
  font-size: 18px;
  font-weight: 900;

  letter-spacing: 0.015em;
}


.contact-address-v3 {
  font-size: 15px;
  font-weight: 900;

  letter-spacing: 0;
}


.contact-small-v3 {
  font-size: 11.7px;
  font-weight: 800;

  color: #aab4bc;
}


.contact-phone-v3 {
  font-size: 13.5px;
  font-weight: 850;

  color: #aab4bc;
}


/* ---------------------------------------------------------
   RETIRE OLD SECOND HEADER STRIP
   --------------------------------------------------------- */

.header-contact-strip {
  display: none !important;
}


.header-mobile-meta-v3 {
  display: none;
}


.header-menu-v3 {
  display: none;
}


/* ---------------------------------------------------------
   RESPONSIVE
   --------------------------------------------------------- */

@media (max-width: 1640px) {

  :root {
    --header-h: 88px;
  }


  .site-header-v3 {
    height: var(--header-h);
  }


  .header-shell-v3 {
    grid-template-columns:
      auto
      1fr
      auto;

    padding: 0 10px;
  }


  .header-brand-v3 {
    width: auto;

    grid-template-columns:
      70px
      218px;
  }


  .header-logo-v3 {
    width: 70px;
    height: 70px;
  }


  .header-lockup-left-v3 {
    width: 218px;

    margin-left: -6px;
  }


  .lock-main-v3 {
    font-size: 14px;
  }


  .lock-founded-v3 {
    font-size: 11px;
  }


  .lock-small-v3 {
    font-size: 8px;
  }


  .header-lockup-right-v3 {
    display: none;
  }


  .header-center-v3 {
    display: none;

    position: absolute;

    top: var(--header-h);
    left: 0;
    right: 0;

    z-index: 120;

    width: 100%;

    padding: 18px;

    background: #070c10;

    border-top: 1px solid rgba(255,255,255,.06);
    border-bottom: 1px solid #26343e;

    box-shadow:
      0 18px 40px rgba(0,0,0,.40);
  }


  .header-center-v3.open {
    display: grid;

    grid-template-rows:
      auto
      auto
      auto;

    gap: 10px;
  }


  .header-nav-row-v3,
  .header-pill-row-v3 {
    grid-template-columns:
      repeat(2, 1fr);

    gap: 8px;
  }


  .header-nav-row-v3 > a,
  .header-pill-v3 {
    min-height: 44px;

    height: auto;

    white-space: normal;
  }


  .header-mobile-meta-v3 {
    display: grid;

    grid-template-columns:
      repeat(2, 1fr);

    gap: 8px 16px;

    padding-top: 14px;

    border-top: 1px solid #26343e;

    text-align: center;

    color: #aab4bc;

    font-size: 11px;
    font-weight: 700;

    text-transform: uppercase;
  }


  .header-mobile-meta-v3 a {
    color: #ffffff;
  }


  .header-menu-v3 {
    display: block;

    justify-self: end;

    padding: 10px 16px;

    border: 1px solid #006FF7;
    border-radius: 999px;

    background: #153149;

    color: #ffffff;

    font-size: 11px;
    font-weight: 900;

    letter-spacing: 0.05em;
  }

}


@media (max-width: 640px) {

  :root {
    --header-h: 76px;
  }


  .header-shell-v3 {
    padding: 0 6px;
  }


  .header-brand-v3 {
    grid-template-columns:
      58px
      176px;
  }


  .header-logo-v3 {
    width: 58px;
    height: 58px;
  }


  .header-lockup-left-v3 {
    width: 176px;

    margin-left: -5px;
  }


  .lock-main-v3 {
    font-size: 11.5px;
  }


  .lock-founded-v3 {
    font-size: 9px;
  }


  .lock-small-v3 {
    display: none;
  }


  .header-nav-row-v3,
  .header-pill-row-v3,
  .header-mobile-meta-v3 {
    grid-template-columns:
      1fr;
  }

}


/* =========================================================
   v1.0.39 — proportional rectangular header lockup
   ========================================================= */

/* PORT_AZUR_V1_0_39_HEADER_LOCKUP */

:root{
  --header-h:124px;
}

.site-header-v4{
  position:fixed;
  z-index:100;
  top:0;
  left:0;
  right:0;
  height:var(--header-h);
  background:#060a0e;
  border-bottom:1px solid #25323b;
}

.header-shell-v4{
  width:100%;
  max-width:none;
  height:100%;
  margin:0;
  padding:0 6px;

  display:grid;
  grid-template-columns:minmax(0,1fr) 760px minmax(0,1fr);
  gap:10px;
  align-items:center;
}

/* LEFT */
.header-brand-v4{
  justify-self:start;

  display:grid;
  grid-template-columns:94px 248px;
  align-items:center;

  width:342px;
  min-width:342px;

  color:inherit;
  text-decoration:none;
}

.header-logo-v4{
  width:94px;
  height:94px;
  max-width:none;
  object-fit:contain;
  margin:0;
}

/* shared exact-width typography rows */
.header-fit-group-v4{
  display:grid;
  grid-template-rows:repeat(4,auto);
  row-gap:3px;
  align-content:center;
}

.header-brand-copy-v4{
  width:248px;
  margin-left:-2px;
}

.header-fit-row-v4{
  width:100%;
  overflow:visible;
  height:1em;
  line-height:1;
  white-space:nowrap;
}

.header-fit-row-v4 > [data-fit-line]{
  display:inline-block;
  width:max-content;
  white-space:nowrap;
  transform-origin:left center;
  color:inherit;
  text-decoration:none;
}

.header-fit-main-v4{
  height:20px;
  color:#fff;
  font-size:20px;
  font-weight:900;
}

.header-fit-founded-v4{
  height:16px;
  color:#fff;
  font-size:16px;
  font-weight:900;
}

.header-fit-small-v4{
  height:11px;
  color:#aeb7be;
  font-size:11px;
  font-weight:800;
}

/* CENTER: always exactly 2 rows */
.header-center-v4{
  justify-self:center;
  align-self:center;

  width:760px;
  max-width:760px;

  display:grid;
  grid-template-rows:28px 44px;
  row-gap:11px;
  align-content:center;

  position:static;
  margin:0;
  padding:0;
  background:transparent;
  border:0;
}

.header-nav-row-v4{
  width:100%;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  align-items:center;
}

.header-nav-row-v4 > a{
  position:relative;
  height:28px;

  display:flex;
  align-items:center;
  justify-content:center;

  color:#fff;
  text-transform:uppercase;
  text-align:center;
  white-space:nowrap;

  font-size:13px;
  font-weight:850;
  letter-spacing:.04em;
  line-height:1;
}

.header-nav-row-v4 > a:hover,
.header-nav-row-v4 > a[aria-current="page"]{
  color:#006FF7;
}

.header-nav-row-v4 > a[aria-current="page"]::after{
  content:"";
  position:absolute;
  left:22%;
  right:22%;
  bottom:0;
  height:2px;
  border-radius:99px;
  background:#006FF7;
}

.header-pill-row-v4{
  width:100%;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:8px;
}

.header-pill-v4{
  width:100%;
  min-width:0;
  height:44px;

  display:flex;
  align-items:center;
  justify-content:center;

  margin:0;
  padding:0 10px;

  border:1px solid #006FF7;
  border-radius:999px;

  background:#006FF7;
  color:#fff;

  text-align:center;
  text-transform:uppercase;
  white-space:nowrap;

  font-size:10.5px;
  font-weight:900;
  letter-spacing:.025em;
  line-height:1;
}

.header-pill-v4:hover,
.header-pill-v4[aria-current="page"]{
  background:#1788FF;
  border-color:#1788FF;
  color:#fff;
}

/* RIGHT */
.header-contact-v4{
  justify-self:end;

  width:292px;
  min-width:292px;

  color:#fff;
}

.header-contact-main-v4{
  height:19px;
  font-size:19px;
  font-weight:900;
}

.header-contact-address-v4{
  height:16px;
  font-size:16px;
  font-weight:900;
}

.header-contact-small-v4{
  height:12px;
  color:#aeb7be;
  font-size:12px;
  font-weight:800;
}

.header-contact-phone-v4{
  height:14px;
  color:#aeb7be;
  font-size:14px;
  font-weight:850;
}

.header-mobile-meta-v4,
.header-menu-v4{
  display:none;
}

.header-contact-strip{
  display:none!important;
}

/* Medium desktop: keep the full 3-zone composition */
@media(max-width:1450px) and (min-width:1181px){
  :root{
    --header-h:112px;
  }

  .header-shell-v4{
    grid-template-columns:minmax(0,1fr) 620px minmax(0,1fr);
    gap:8px;
    padding:0 5px;
  }

  .header-brand-v4{
    grid-template-columns:78px 196px;
    width:274px;
    min-width:274px;
  }

  .header-logo-v4{
    width:78px;
    height:78px;
  }

  .header-brand-copy-v4{
    width:196px;
    margin-left:-2px;
  }

  .header-fit-main-v4{
    height:16px;
    font-size:16px;
  }

  .header-fit-founded-v4{
    height:13px;
    font-size:13px;
  }

  .header-fit-small-v4{
    height:9px;
    font-size:9px;
  }

  .header-center-v4{
    width:620px;
    max-width:620px;
    grid-template-rows:26px 40px;
    row-gap:9px;
  }

  .header-nav-row-v4 > a{
    font-size:11.5px;
  }

  .header-pill-v4{
    height:40px;
    font-size:9px;
    padding-inline:7px;
  }

  .header-contact-v4{
    width:252px;
    min-width:252px;
  }

  .header-contact-main-v4{
    height:16px;
    font-size:16px;
  }

  .header-contact-address-v4{
    height:13px;
    font-size:13px;
  }

  .header-contact-small-v4{
    height:10px;
    font-size:10px;
  }

  .header-contact-phone-v4{
    height:12px;
    font-size:12px;
  }
}

/* Only genuinely narrow screens collapse to menu */
@media(max-width:1180px){
  :root{
    --header-h:84px;
  }

  .site-header-v4{
    height:var(--header-h);
  }

  .header-shell-v4{
    grid-template-columns:auto 1fr auto;
    gap:8px;
    padding:0 8px;
  }

  .header-brand-v4{
    grid-column:1;
    grid-template-columns:64px 188px;
    width:252px;
    min-width:252px;
  }

  .header-logo-v4{
    width:64px;
    height:64px;
  }

  .header-brand-copy-v4{
    width:188px;
    margin-left:-2px;
  }

  .header-fit-main-v4{
    height:15px;
    font-size:15px;
  }

  .header-fit-founded-v4{
    height:12px;
    font-size:12px;
  }

  .header-fit-small-v4{
    height:8px;
    font-size:8px;
  }

  .header-contact-v4{
    display:none;
  }

  .header-menu-v4{
    display:block;
    grid-column:3;
    justify-self:end;

    padding:10px 15px;

    border:1px solid #006FF7;
    border-radius:999px;

    background:#153149;
    color:#fff;

    font-size:11px;
    font-weight:900;
    letter-spacing:.05em;
  }

  .header-center-v4{
    display:none;

    position:absolute;
    top:var(--header-h);
    left:0;
    right:0;
    z-index:120;

    width:100%;
    max-width:none;

    padding:16px;

    background:#070c10;
    border-top:1px solid rgba(255,255,255,.06);
    border-bottom:1px solid #26343e;
    box-shadow:0 18px 40px rgba(0,0,0,.4);
  }

  .header-center-v4.open{
    display:grid;
    grid-template-rows:auto auto auto;
    gap:9px;
  }

  .header-nav-row-v4,
  .header-pill-row-v4{
    grid-template-columns:repeat(2,1fr);
    gap:8px;
  }

  .header-nav-row-v4 > a,
  .header-pill-v4{
    min-height:44px;
    height:auto;
    white-space:normal;
  }

  .header-mobile-meta-v4{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:7px 14px;

    padding-top:12px;

    border-top:1px solid #26343e;

    text-align:center;
    color:#aeb7be;

    font-size:11px;
    font-weight:700;
    text-transform:uppercase;
  }

  .header-mobile-meta-v4 a{
    color:#fff;
  }
}

@media(max-width:640px){
  :root{
    --header-h:74px;
  }

  .header-shell-v4{
    padding-inline:5px;
  }

  .header-brand-v4{
    grid-template-columns:54px 152px;
    width:206px;
    min-width:206px;
  }

  .header-logo-v4{
    width:54px;
    height:54px;
  }

  .header-brand-copy-v4{
    width:152px;
  }

  .header-fit-main-v4{
    height:12px;
    font-size:12px;
  }

  .header-fit-founded-v4{
    height:10px;
    font-size:10px;
  }

  .header-fit-small-v4{
    display:none;
  }

  .header-nav-row-v4,
  .header-pill-row-v4,
  .header-mobile-meta-v4{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   v1.0.40 — compact, undistorted desktop header
   ========================================================= */

/* PORT_AZUR_V1_0_40_COMPACT_HEADER */

@media(min-width:1451px){
  :root{
    --header-h:112px;
  }

  .site-header-v4{
    height:var(--header-h);
  }

  .header-shell-v4{
    width:min(calc(100% - 40px),1480px);
    max-width:1480px;
    margin:0 auto;
    padding:0;

    grid-template-columns:342px minmax(0,660px) 292px;
    column-gap:24px;
    justify-content:space-between;
  }

  .header-brand-v4{
    grid-template-columns:86px 242px;
    width:328px;
    min-width:328px;
  }

  .header-logo-v4{
    width:86px;
    height:86px;
  }

  .header-brand-copy-v4{
    width:242px;
    margin-left:-1px;
  }

  .header-fit-group-v4{
    row-gap:2px;
  }

  .header-fit-main-v4{
    height:19px;
    font-size:19px;
  }

  .header-fit-founded-v4{
    height:15px;
    font-size:15px;
  }

  .header-fit-small-v4{
    height:10px;
    font-size:10px;
    letter-spacing:.015em;
  }

  .header-center-v4{
    width:660px;
    max-width:660px;
    grid-template-rows:24px 40px;
    row-gap:10px;
  }

  .header-nav-row-v4 > a{
    height:24px;
    font-size:12px;
    letter-spacing:.025em;
  }

  .header-nav-row-v4 > a[aria-current="page"]::after{
    left:28%;
    right:28%;
  }

  .header-pill-row-v4{
    gap:10px;
  }

  .header-pill-v4{
    height:40px;
    padding:0 12px;
    border-radius:16px;
    font-size:9.7px;
    letter-spacing:.015em;
  }

  .header-contact-v4{
    width:280px;
    min-width:280px;
  }

  .header-contact-main-v4{
    height:18px;
    font-size:18px;
  }

  .header-contact-address-v4{
    height:15px;
    font-size:15px;
  }

  .header-contact-small-v4{
    height:11px;
    font-size:11px;
    letter-spacing:.01em;
  }

  .header-contact-phone-v4{
    height:13px;
    font-size:13px;
    letter-spacing:.01em;
  }
}

/* Keep the rectangular lockup by typography, not by distorting glyphs. */
.header-fit-row-v4 > [data-fit-line]{
  transform:none!important;
  width:max-content!important;
}


/* =========================================================
   v1.0.43 — balanced rectangular header typography
   ========================================================= */

/* PORT_AZUR_V1_0_43_BALANCED_LOCKUP */

@media(min-width:1451px){
  .header-shell-v4{
    grid-template-columns:314px minmax(0,660px) 228px;
  }

  .header-brand-v4{
    grid-template-columns:86px 228px;
    width:314px;
    min-width:314px;
  }

  .header-brand-copy-v4{
    width:228px;
    margin-left:0;
  }

  .header-contact-v4{
    width:228px;
    min-width:228px;
  }

  .header-fit-group-v4{
    row-gap:2px;
  }

  .header-fit-main-v4{
    height:21px;
    font-size:20.5px;
    font-weight:850;
  }

  .header-fit-founded-v4{
    height:17px;
    font-size:16.5px;
    font-weight:850;
  }

  .header-fit-small-v4{
    height:11px;
    font-size:10.8px;
    font-weight:800;
  }

  .header-contact-main-v4{
    height:20px;
    font-size:19.5px;
    font-weight:850;
  }

  .header-contact-address-v4{
    height:17px;
    font-size:16.5px;
    font-weight:850;
  }

  .header-contact-small-v4{
    height:12px;
    font-size:11.4px;
    font-weight:800;
  }

  .header-contact-phone-v4{
    height:15px;
    font-size:14.5px;
    font-weight:850;
  }
}


/* =========================================================
   v1.0.44 — refined rectangular header typography
   ========================================================= */

/* PORT_AZUR_V1_0_44_REFINED_LOCKUP */

@media(min-width:1451px){
  .header-fit-group-v4{
    row-gap:4px;
  }

  .header-fit-main-v4{
    height:21px;
    font-size:20.5px;
    font-weight:850;
  }

  .header-fit-founded-v4{
    height:17px;
    font-size:16.5px;
    font-weight:850;
  }

  .header-fit-small-v4{
    height:12px;
    font-size:10.9px;
    font-weight:800;
  }

  .header-contact-main-v4{
    height:21px;
    font-size:20px;
    font-weight:850;
  }

  .header-contact-address-v4{
    height:18px;
    font-size:17px;
    font-weight:850;
  }

  .header-contact-small-v4{
    height:13px;
    font-size:11.7px;
    font-weight:800;
  }

  .header-contact-phone-v4{
    height:17px;
    font-size:16.2px;
    font-weight:800;
  }
}


/* =========================================================
   v1.0.45 — stable full-width header + lighter tool row
   ========================================================= */

/* PORT_AZUR_V1_0_45_STABLE_HEADER */

@media(min-width:1451px){
  .header-shell-v4{
    position:relative;
    display:block;
    width:100%;
    max-width:none;
    margin:0;
    padding:0 clamp(22px,2.2vw,44px);
  }

  .header-brand-v4{
    position:absolute;
    left:clamp(22px,2.2vw,44px);
    top:50%;
    transform:translateY(-50%);
    justify-self:auto;
  }

  .header-center-v4{
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    width:min(680px,42vw);
    max-width:680px;
    justify-self:auto;
    grid-template-rows:24px 34px;
    row-gap:8px;
  }

  .header-contact-v4{
    position:absolute;
    right:clamp(22px,2.2vw,44px);
    top:50%;
    transform:translateY(-50%);
    justify-self:auto;
  }

  .header-pill-row-v4{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:0;
  }

  .header-pill-v4{
    width:auto;
    min-width:164px;
    height:34px;
    padding:0 22px;
    border-radius:12px;
    font-size:9.6px;
    letter-spacing:.02em;
    background:#006FF7;
  }
}


/* =========================================================
   v1.0.46 — single-row navigation + calculator anchor
   ========================================================= */

/* PORT_AZUR_V1_0_46_SINGLE_ROW_HEADER */

@media(min-width:1181px){
  :root{
    --header-h:104px;
  }

  .site-header-v4{
    height:var(--header-h);
  }

  .header-shell-v4{
    position:relative;
    display:block;
    width:100%;
    max-width:none;
    height:100%;
    margin:0;
    padding:0;
  }

  .header-brand-v4{
    position:absolute;
    left:clamp(16px,2vw,40px);
    top:50%;
    transform:translateY(-50%);
    justify-self:auto;
  }

  .header-center-v4{
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    width:clamp(520px,45vw,720px);
    max-width:none;
    height:42px;
    display:block;
    margin:0;
    padding:0;
  }

  .header-nav-row-v4{
    width:100%;
    height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:clamp(12px,1.45vw,28px);
  }

  .header-nav-row-v4 > a:not(.header-calculator-v4){
    height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    padding:0;
    font-size:12px;
    letter-spacing:.02em;
  }

  .header-calculator-v4{
    height:38px;
    min-width:138px;
    padding:0 18px;
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    border:1px solid #006FF7;
    border-radius:12px;
    background:#006FF7;
    color:#fff!important;
    text-transform:uppercase;
    white-space:nowrap;
    font-size:9.8px;
    font-weight:900;
    letter-spacing:.025em;
    line-height:1;
  }

  .header-calculator-v4:hover,
  .header-calculator-v4[aria-current="page"]{
    background:#1788FF;
    border-color:#1788FF;
    color:#fff!important;
  }

  .header-pill-row-v4{
    display:none!important;
  }

  .header-contact-v4{
    position:absolute;
    right:clamp(16px,2vw,40px);
    top:50%;
    transform:translateY(-50%);
    justify-self:auto;
  }
}

@media(max-width:1180px){
  .header-calculator-v4{
    min-height:44px;
    display:flex!important;
    align-items:center;
    justify-content:center;
    border:1px solid #006FF7;
    border-radius:12px;
    background:#006FF7;
    color:#fff!important;
    font-size:10px!important;
    font-weight:900!important;
    text-transform:uppercase;
  }
}

/* Make the existing footer request link a visible CTA without adding another block. */
.site-footer a[href="contacts.html#request"]{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  width:max-content;
  min-height:38px;
  margin-top:10px;
  padding:0 14px;
  border:1px solid #006FF7;
  border-radius:10px;
  background:#006FF7;
  color:#fff!important;
  font-size:.7rem!important;
  font-weight:850!important;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.site-footer a[href="contacts.html#request"]:hover{
  background:#1788FF!important;
  border-color:#1788FF!important;
  color:#fff!important;
}


/* =========================================================
   v1.0.47 — zoom-stable company typography
   ========================================================= */

/* PORT_AZUR_V1_0_47_ZOOM_STABLE_COMPANY */

/*
  Do not size the warehouse headline / facts from the browser viewport.
  Browser zoom changes the CSS viewport width, so vw-based type was
  getting larger while the content card itself stayed capped at --max.
*/
@media(min-width:981px){
  .company-v3-block-copy{
    container-type:inline-size;
  }

  .company-v3-block-head h2{
    width:100%!important;
    max-width:none!important;
    font-size:clamp(2.7rem,3.12vw,3.75rem)!important;
    line-height:.94!important;
    letter-spacing:-.045em!important;
  }

  .company-v3-facts-v2{
    grid-template-columns:minmax(0,1.12fr) minmax(120px,.88fr)!important;
    column-gap:clamp(24px,5cqw,40px)!important;
    row-gap:0!important;
    align-items:end!important;
    margin-bottom:34px!important;
  }

  .company-v3-fact strong{
    font-size:clamp(2.55rem,9cqw,3.45rem)!important;
    line-height:.9!important;
    letter-spacing:-.045em!important;
    white-space:nowrap!important;
  }

  .company-v3-fact span{
    margin-top:9px!important;
    font-size:clamp(1.15rem,4.1cqw,1.55rem)!important;
    line-height:.95!important;
    letter-spacing:-.025em!important;
    white-space:nowrap!important;
  }

  .company-v3-warehouse-copy>p{
    font-size:1.06rem!important;
    line-height:1.55!important;
  }

  .company-v3-address{
    font-size:1.02rem!important;
    line-height:1.35!important;
  }
}

@media(min-width:1200px){
  .company-v3-block-head h2{
    white-space:nowrap!important;
    text-wrap:nowrap!important;
  }
}

@media(max-width:1199px) and (min-width:981px){
  .company-v3-block-head h2{
    font-size:clamp(2.45rem,4.1vw,3.25rem)!important;
    white-space:normal!important;
    text-wrap:balance!important;
  }
}


/* =========================================================
   v1.0.48 — centered warehouse card + deliberate 2-line title
   ========================================================= */

/* PORT_AZUR_V1_0_48_COMPANY_CENTERED */

.company-v3-warehouse-title{
  max-width:none!important;
  width:100%!important;
  text-align:center!important;
  white-space:normal!important;
  text-wrap:initial!important;
}

.company-v3-warehouse-title > span{
  display:block;
  width:100%;
  text-align:center;
}

.company-v3-warehouse-copy{
  align-items:stretch!important;
  justify-content:center!important;
  text-align:center!important;
}

.company-v3-warehouse-copy .company-v3-facts-v2{
  width:min(100%,620px);
  margin-left:auto!important;
  margin-right:auto!important;
}

.company-v3-warehouse-copy .company-v3-fact{
  justify-items:center!important;
  text-align:center!important;
}

.company-v3-warehouse-copy>p{
  max-width:620px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}

.company-v3-warehouse-copy .company-v3-address{
  width:100%;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}

@media(min-width:981px){
  .company-v3-warehouse-title{
    font-size:clamp(2.55rem,3.1vw,3.65rem)!important;
    line-height:.96!important;
  }

  .company-v3-warehouse-title > span + span{
    margin-top:.06em;
  }
}

@media(max-width:980px){
  .company-v3-warehouse-title > span{
    display:inline;
  }

  .company-v3-warehouse-title > span + span::before{
    content:" ";
  }
}

/* =========================================================
   v1.0.49 — tender photo + unified actions
   ========================================================= */

/* PORT_AZUR_V1_0_49_TENDER_ACTIONS */

/* Сохраняем верх фотографии с металлической табличкой */
.company-v3-block img[src*="tender-sales-v4"]{
  object-position:center top!important;
}

/* Две тендерные кнопки — одна группа, один размер */
.company-v3-button-row{
  width:min(100%,380px)!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:16px!important;
  margin-top:34px!important;
  align-items:stretch!important;
}

.company-v3-button-row .btn,
.company-v3-button-row .company-v3-action,
.company-v3-button-row .company-v3-tender-btn,
.company-v3-button-row .company-card-download{
  width:100%!important;
  min-width:0!important;
  height:68px!important;
  min-height:68px!important;

  margin:0!important;
  padding:0 24px!important;

  display:flex!important;
  align-items:center!important;
  justify-content:center!important;

  border:1px solid #4d8fca!important;
  border-radius:18px!important;

  background:#2f78b7!important;
  color:#fff!important;

  box-shadow:none!important;

  text-align:center!important;
  text-decoration:none!important;
  text-transform:uppercase!important;

  font-size:14px!important;
  font-weight:900!important;
  line-height:1.15!important;
  letter-spacing:.035em!important;

  transition:
    background .18s ease,
    border-color .18s ease,
    transform .18s ease!important;
}

.company-v3-button-row .btn:hover,
.company-v3-button-row .company-v3-action:hover,
.company-v3-button-row .company-v3-tender-btn:hover,
.company-v3-button-row .company-card-download:hover{
  background:#1788FF!important;
  border-color:#1788FF!important;
  color:#fff!important;
  transform:translateY(-1px)!important;
}

@media(max-width:640px){
  .company-v3-button-row{
    width:100%!important;
  }

  .company-v3-button-row .btn{
    height:62px!important;
    min-height:62px!important;
    font-size:12px!important;
  }
}



/* =========================================================
   v1.0.50 — unified partner logo cards
   ========================================================= */

/* PORT_AZUR_V1_0_50_PARTNERS_GRID */

.company-v3-partners-clean{
  padding-top:56px!important;
  padding-bottom:72px!important;
}

.company-v3-partners-clean .company-v3-block-head{
  margin-bottom:42px!important;
}

.partners-clean-grid{
  width:min(100%,1460px);
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  align-items:stretch;
}

.partner-clean-card{
  min-height:218px;
  padding:20px;
  display:grid;
  grid-template-rows:112px minmax(48px,auto);
  gap:16px;
  align-items:center;
  border:1px solid #223440;
  border-radius:22px;
  background:#0a1015;
  color:#f2f6f8;
  text-decoration:none;
  box-shadow:none;
  transition:transform .18s ease,border-color .18s ease,background .18s ease;
}

.partner-clean-card:hover{
  transform:translateY(-2px);
  border-color:#3e82bb;
  background:#0d161d;
  color:#fff;
}

.partner-clean-logo-stage{
  width:100%;
  height:112px;
  padding:14px 22px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border:1px solid rgba(15,34,48,.10);
  border-radius:14px;
  background:#f4f6f8;
}

.partner-clean-logo-stage img{
  display:block;
  width:auto;
  height:auto;
  max-width:210px;
  max-height:82px;
  object-fit:contain;
}

.partner-clean-card--mlz .partner-clean-logo-stage img{
  max-width:92px;
  max-height:92px;
}

.partner-clean-card--umk .partner-clean-logo-stage img{
  max-width:220px;
  max-height:80px;
}

.partner-clean-name{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  margin:0 auto;
  max-width:310px;
  color:#f2f6f8!important;
  text-align:center;
  font-size:1rem;
  font-weight:800;
  line-height:1.25;
  letter-spacing:-.01em;
}

@media(max-width:1180px){
  .partners-clean-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:700px){
  .company-v3-partners-clean{
    padding-top:40px!important;
    padding-bottom:52px!important;
  }
  .partners-clean-grid{
    grid-template-columns:1fr;
    gap:16px;
  }
  .partner-clean-card{
    min-height:196px;
    grid-template-rows:100px minmax(44px,auto);
    padding:18px;
    border-radius:18px;
  }
  .partner-clean-logo-stage{
    height:100px;
  }
  .partner-clean-logo-stage img{
    max-width:190px;
    max-height:72px;
  }
  .partner-clean-card--mlz .partner-clean-logo-stage img{
    max-width:82px;
    max-height:82px;
  }
}


/* =========================================================
   v1.0.51 — services CTA: button only
   ========================================================= */

/* PORT_AZUR_V1_0_51_SERVICE_CTA */

.service-v4-cta{
  padding:28px 0!important;
}

.service-v4-cta-inner{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:0!important;
}

.service-v4-cta-inner .btn{
  width:auto!important;
  min-width:260px!important;
  min-height:58px!important;
  justify-self:auto!important;
  margin:0!important;
}

@media(max-width:640px){
  .service-v4-cta{
    padding:24px 0!important;
  }

  .service-v4-cta-inner .btn{
    width:min(100%,320px)!important;
    min-width:0!important;
  }
}


/* =========================================================
   v1.0.53 — viewport service sections, company dividers,
   lighter edge lockups, footer brand lockup
   ========================================================= */

/* PORT_AZUR_V1_0_53_VIEWPORT_SECTIONS */

/* ---------- desktop service sections: one section = one viewport ---------- */
@media(min-width:1181px){
  .service-v4-list{
    padding:0 0 40px!important;
  }

  .service-v4-label{
    display:none!important;
  }

  .service-v4-block{
    box-sizing:border-box;
    min-height:calc(100svh - var(--header-h))!important;
    margin-top:0!important;
    padding:18px 0 20px!important;
    border-top:1px solid rgba(126,153,171,.55)!important;
    display:flex;
    flex-direction:column;
    justify-content:center;
  }

  .service-v4-block-head{
    flex:0 0 auto;
    margin-bottom:14px!important;
  }

  .service-v4-block-head h2{
    max-width:1120px!important;
    font-size:clamp(2.25rem,3.15vw,3.85rem)!important;
    line-height:.92!important;
    letter-spacing:-.045em!important;
  }

  .service-v4-grid{
    flex:0 0 auto;
    min-height:0!important;
    height:clamp(460px,calc(100svh - var(--header-h) - 175px),560px)!important;
  }

  .service-v4-grid figure{
    min-height:0!important;
    height:100%!important;
  }

  .service-v4-copy{
    min-height:0!important;
    padding:24px 38px!important;
    justify-content:center!important;
  }

  .service-v4-lead{
    font-size:clamp(.94rem,1vw,1.05rem)!important;
    line-height:1.4!important;
  }

  .service-v4-kicker{
    margin-top:16px!important;
    margin-bottom:8px!important;
    font-size:.66rem!important;
  }

  .service-v4-specs{
    margin-top:8px!important;
  }

  .service-v4-specs>div{
    grid-template-columns:minmax(0,1fr) minmax(150px,.68fr)!important;
    gap:18px!important;
    padding:7px 0 7px 28px!important;
  }

  .service-v4-specs>div::before{
    top:7px!important;
    font-size:.98rem!important;
  }

  .service-v4-specs b,
  .service-v4-specs span{
    font-size:clamp(.79rem,.86vw,.91rem)!important;
    line-height:1.25!important;
  }
}

/* Short desktop screens need another small vertical squeeze. */
@media(min-width:1181px) and (max-height:820px){
  .service-v4-block{
    padding-top:12px!important;
    padding-bottom:14px!important;
  }

  .service-v4-block-head{
    margin-bottom:10px!important;
  }

  .service-v4-block-head h2{
    font-size:clamp(2rem,2.8vw,3.3rem)!important;
  }

  .service-v4-grid{
    height:clamp(430px,calc(100svh - var(--header-h) - 145px),515px)!important;
  }

  .service-v4-copy{
    padding:18px 32px!important;
  }

  .service-v4-specs>div{
    padding-top:5px!important;
    padding-bottom:5px!important;
  }

  .service-v4-specs>div::before{
    top:5px!important;
  }
}

/* ---------- company: same full-width separator rhythm as services ---------- */
.company-v3-assets .company-v3-block,
.company-v3-assets .company-v3-partners-clean{
  border-top:1px solid rgba(126,153,171,.48)!important;
  padding-top:26px!important;
}

.company-v3-assets .company-v3-block:first-of-type{
  margin-top:0!important;
}

.company-v3-assets .company-v3-block-head{
  border-bottom:0!important;
}

/* ---------- header edge lockups: slightly smaller, same geometry ---------- */
@media(min-width:1181px){
  .header-brand-v4{
    grid-template-columns:76px 210px!important;
    width:286px!important;
    min-width:286px!important;
  }

  .header-logo-v4{
    width:76px!important;
    height:76px!important;
  }

  .header-brand-copy-v4{
    width:210px!important;
  }

  .header-contact-v4{
    width:212px!important;
    min-width:212px!important;
  }

  .header-fit-main-v4{
    height:19px!important;
    font-size:18.5px!important;
  }

  .header-fit-founded-v4{
    height:15px!important;
    font-size:14.8px!important;
  }

  .header-fit-small-v4{
    height:10px!important;
    font-size:9.8px!important;
  }

  .header-contact-main-v4{
    height:19px!important;
    font-size:18px!important;
  }

  .header-contact-address-v4{
    height:15px!important;
    font-size:14.8px!important;
  }

  .header-contact-small-v4{
    height:11px!important;
    font-size:10.5px!important;
  }

  .header-contact-phone-v4{
    height:14px!important;
    font-size:13.5px!important;
  }
}

/* ---------- footer: use the same logo + four-line identity logic ---------- */
.site-footer .brand{
  width:296px!important;
  min-width:296px!important;
  display:grid!important;
  grid-template-columns:76px 220px!important;
  gap:0!important;
  align-items:center!important;
  text-decoration:none!important;
}

.site-footer .brand img{
  width:76px!important;
  height:76px!important;
  max-width:none!important;
  object-fit:contain!important;
}

.site-footer .brand-copy{
  width:220px!important;
  min-width:220px!important;
  margin:0!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  gap:2px!important;
}

.site-footer .brand-copy strong{
  margin:0!important;
  color:#fff!important;
  font-size:1.08rem!important;
  font-weight:900!important;
  line-height:1.02!important;
  letter-spacing:.015em!important;
  white-space:nowrap!important;
}

.site-footer .brand-meta{
  display:block!important;
  margin:0!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
}

.site-footer .brand-founded{
  color:#fff!important;
  font-size:.82rem!important;
  font-weight:900!important;
  line-height:1.02!important;
  letter-spacing:.01em!important;
}

.site-footer .brand-production,
.site-footer .brand-products{
  color:#9aa3ad!important;
  font-size:.60rem!important;
  font-weight:850!important;
  line-height:1.14!important;
  letter-spacing:.01em!important;
}

@media(max-width:820px){
  .site-footer .brand{
    width:260px!important;
    min-width:0!important;
    grid-template-columns:66px 194px!important;
  }

  .site-footer .brand img{
    width:66px!important;
    height:66px!important;
  }

  .site-footer .brand-copy{
    width:194px!important;
    min-width:0!important;
  }

  .site-footer .brand-copy strong{
    font-size:.94rem!important;
  }

  .site-footer .brand-founded{
    font-size:.72rem!important;
  }

  .site-footer .brand-production,
  .site-footer .brand-products{
    font-size:.54rem!important;
  }
}


/* =========================================================
   v1.0.54 — identical header/footer lockup + lighter edge text
   + one-line service headings where the desktop width allows
   ========================================================= */

/* PORT_AZUR_V1_0_54_LOCKUPS_ONE_LINE_HEADINGS */

/* ---------- header: keep geometry, make edge typography lighter/smaller ---------- */
@media(min-width:1181px){
  .header-brand-v4{
    grid-template-columns:76px 202px!important;
    width:278px!important;
    min-width:278px!important;
  }

  .header-logo-v4{
    width:76px!important;
    height:76px!important;
  }

  .header-brand-copy-v4{
    width:202px!important;
  }

  .header-contact-v4{
    width:202px!important;
    min-width:202px!important;
  }

  .header-fit-group-v4{
    row-gap:3px!important;
  }

  .header-fit-main-v4{
    height:17px!important;
    font-size:16.8px!important;
    font-weight:850!important;
  }

  .header-fit-founded-v4{
    height:14px!important;
    font-size:13.5px!important;
    font-weight:850!important;
  }

  .header-fit-small-v4{
    height:9px!important;
    font-size:9.2px!important;
    font-weight:800!important;
  }

  .header-contact-main-v4{
    height:17px!important;
    font-size:16.5px!important;
    font-weight:850!important;
  }

  .header-contact-address-v4{
    height:14px!important;
    font-size:13.5px!important;
    font-weight:850!important;
  }

  .header-contact-small-v4{
    height:10px!important;
    font-size:9.5px!important;
    font-weight:800!important;
  }

  .header-contact-phone-v4{
    height:13px!important;
    font-size:12.5px!important;
    font-weight:800!important;
  }
}

/* ---------- footer: the exact same brand lockup as the header ---------- */
.site-footer .footer-brand-lockup-v4{
  position:static!important;
  inset:auto!important;
  transform:none!important;
  justify-self:start!important;
  margin:0!important;
}

.site-footer .footer-brand-lockup-v4 .header-brand-copy-v4{
  margin-left:0!important;
}

.site-footer .footer-brand-lockup-v4 .header-fit-row-v4{
  width:100%!important;
}

.site-footer .footer-brand-lockup-v4 .header-fit-row-v4 > [data-fit-line]{
  transform:none!important;
  width:max-content!important;
}

/* ---------- services: one line on sufficiently wide desktops ---------- */
@media(min-width:1450px){
  .service-v4-block-head h2{
    width:100%!important;
    max-width:none!important;
    white-space:nowrap!important;
    text-wrap:nowrap!important;
    font-size:clamp(2rem,2.4vw,3.15rem)!important;
    line-height:.94!important;
    letter-spacing:-.04em!important;
  }
}

/* Medium desktop: allow natural wrapping instead of overflow. */
@media(min-width:1181px) and (max-width:1449px){
  .service-v4-block-head h2{
    max-width:100%!important;
    white-space:normal!important;
    text-wrap:balance!important;
    font-size:clamp(2rem,3vw,3.2rem)!important;
  }
}



/* =========================================================
   v1.0.55 — footer lockup mobile fix
   ========================================================= */

/* PORT_AZUR_V1_0_55_FOOTER_LOCKUP_MOBILE_FIX */

/* Жёстко фиксируем бренд-блок в подвале, чтобы мобильные стили шапки
   не ломали его и логотип не уезжал вверх. */
.site-footer .footer-brand-lockup-v4{
  display:grid !important;
  grid-template-columns:72px 198px !important;
  width:270px !important;
  min-width:270px !important;
  max-width:270px !important;
  gap:0 !important;
  align-items:center !important;
  justify-items:start !important;
  text-decoration:none !important;
}

.site-footer .footer-brand-lockup-v4 .header-logo-v4{
  width:72px !important;
  height:72px !important;
  min-width:72px !important;
  max-width:none !important;
  object-fit:contain !important;
  display:block !important;
}

.site-footer .footer-brand-lockup-v4 .header-brand-copy-v4,
.site-footer .footer-brand-lockup-v4 .header-fit-group-v4{
  width:198px !important;
  min-width:198px !important;
  display:grid !important;
  grid-template-rows:18px 14px 10px 10px !important;
  row-gap:3px !important;
  align-content:center !important;
  justify-items:start !important;
}

.site-footer .footer-brand-lockup-v4 .header-fit-row-v4{
  width:100% !important;
  margin:0 !important;
}

.site-footer .footer-brand-lockup-v4 .header-fit-row-v4 > [data-fit-line]{
  display:block !important;
  width:100% !important;
  transform:none !important;
  white-space:nowrap !important;
}

.site-footer .footer-brand-lockup-v4 .header-fit-main-v4{
  height:18px !important;
  font-size:17.6px !important;
  line-height:18px !important;
}

.site-footer .footer-brand-lockup-v4 .header-fit-founded-v4{
  height:14px !important;
  font-size:13.9px !important;
  line-height:14px !important;
}

.site-footer .footer-brand-lockup-v4 .header-fit-small-v4{
  height:10px !important;
  font-size:9.2px !important;
  line-height:10px !important;
}

/* На мобильном — та же форма, только компактнее */
@media (max-width: 820px) {
  .site-footer .footer-brand-lockup-v4{
    grid-template-columns:64px 184px !important;
    width:248px !important;
    min-width:248px !important;
    max-width:248px !important;
  }

  .site-footer .footer-brand-lockup-v4 .header-logo-v4{
    width:64px !important;
    height:64px !important;
    min-width:64px !important;
  }

  .site-footer .footer-brand-lockup-v4 .header-brand-copy-v4,
  .site-footer .footer-brand-lockup-v4 .header-fit-group-v4{
    width:184px !important;
    min-width:184px !important;
    grid-template-rows:16px 13px 9px 9px !important;
    row-gap:3px !important;
  }

  .site-footer .footer-brand-lockup-v4 .header-fit-main-v4{
    height:16px !important;
    font-size:15.8px !important;
    line-height:16px !important;
  }

  .site-footer .footer-brand-lockup-v4 .header-fit-founded-v4{
    height:13px !important;
    font-size:12.6px !important;
    line-height:13px !important;
  }

  .site-footer .footer-brand-lockup-v4 .header-fit-small-v4{
    height:9px !important;
    font-size:8.7px !important;
    line-height:9px !important;
  }
}



/* =========================================================
   v1.0.56 — footer brand block without staircase
   ========================================================= */

/* PORT_AZUR_V1_0_56_FOOTER_NO_STAIRCASE */

/* В подвале полностью убираем fit-логику и делаем
   обычный ровный текстовый блок. */
.site-footer .footer-brand-lockup-v4{
  display:grid !important;
  grid-template-columns:64px 1fr !important;
  align-items:center !important;
  column-gap:14px !important;
  width:auto !important;
  min-width:0 !important;
  max-width:none !important;
}

.site-footer .footer-brand-lockup-v4 .header-logo-v4{
  width:64px !important;
  height:64px !important;
  min-width:64px !important;
  display:block !important;
  object-fit:contain !important;
}

.site-footer .footer-brand-lockup-v4 .header-fit-group-v4,
.site-footer .footer-brand-lockup-v4 .header-brand-copy-v4{
  width:auto !important;
  min-width:0 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:center !important;
  gap:2px !important;
}

/* Полностью нейтрализуем "fit"-строки */
.site-footer .footer-brand-lockup-v4 .header-fit-row-v4{
  width:auto !important;
  height:auto !important;
  min-height:0 !important;
  display:block !important;
  margin:0 !important;
  padding:0 !important;
}

.site-footer .footer-brand-lockup-v4 .header-fit-row-v4 > [data-fit-line]{
  display:block !important;
  width:auto !important;
  transform:none !important;
  letter-spacing:0 !important;
  white-space:nowrap !important;
  text-align:left !important;
}

/* Типографика подвала — ровная, без лесенки */
.site-footer .footer-brand-lockup-v4 .header-fit-main-v4 > [data-fit-line]{
  font-size:17px !important;
  line-height:1.02 !important;
  font-weight:900 !important;
  color:#fff !important;
}

.site-footer .footer-brand-lockup-v4 .header-fit-founded-v4 > [data-fit-line]{
  font-size:13.4px !important;
  line-height:1.02 !important;
  font-weight:900 !important;
  color:#fff !important;
}

.site-footer .footer-brand-lockup-v4 .header-fit-small-v4 > [data-fit-line]{
  font-size:9.3px !important;
  line-height:1.08 !important;
  font-weight:850 !important;
  color:#c7ced6 !important;
}

/* На мобильном ещё компактнее */
@media (max-width: 820px) {
  .site-footer .footer-brand-lockup-v4{
    grid-template-columns:56px 1fr !important;
    column-gap:12px !important;
  }

  .site-footer .footer-brand-lockup-v4 .header-logo-v4{
    width:56px !important;
    height:56px !important;
    min-width:56px !important;
  }

  .site-footer .footer-brand-lockup-v4 .header-fit-main-v4 > [data-fit-line]{
    font-size:15.8px !important;
  }

  .site-footer .footer-brand-lockup-v4 .header-fit-founded-v4 > [data-fit-line]{
    font-size:12.5px !important;
  }

  .site-footer .footer-brand-lockup-v4 .header-fit-small-v4 > [data-fit-line]{
    font-size:8.8px !important;
  }
}


/* =========================================================
   v1.0.57 — footer rectangle fit
   ========================================================= */

/* PORT_AZUR_V1_0_57_FOOTER_RECTANGLE_FIT */

/*
   Footer uses the same four-line brand lockup idea as the header.
   Previous v55/v56 rules are intentionally overridden here.
*/
.site-footer .footer-brand-lockup-v4{
  position:static!important;
  inset:auto!important;
  transform:none!important;

  display:grid!important;
  grid-template-columns:76px 202px!important;
  column-gap:0!important;
  align-items:center!important;

  width:278px!important;
  min-width:278px!important;
  max-width:278px!important;

  margin:0!important;
  text-decoration:none!important;
}

.site-footer .footer-brand-lockup-v4 .header-logo-v4{
  display:block!important;
  width:76px!important;
  height:76px!important;
  min-width:76px!important;
  max-width:76px!important;
  object-fit:contain!important;
}

.site-footer .footer-brand-lockup-v4 .header-brand-copy-v4,
.site-footer .footer-brand-lockup-v4 .header-fit-group-v4{
  display:grid!important;
  grid-template-rows:repeat(4,auto)!important;
  row-gap:3px!important;
  align-content:center!important;

  width:202px!important;
  min-width:202px!important;
  max-width:202px!important;

  margin:0!important;
}

.site-footer .footer-brand-lockup-v4 .header-fit-row-v4{
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
  line-height:1!important;
  white-space:nowrap!important;
}

.site-footer .footer-brand-lockup-v4 [data-fit-line]{
  display:inline-block!important;
  width:max-content!important;
  max-width:none!important;
  transform:none!important;
  transform-origin:left center!important;
  white-space:nowrap!important;
  text-align:left!important;
  line-height:1!important;
}

.site-footer .footer-brand-lockup-v4 .header-fit-main-v4 [data-fit-line]{
  color:#fff!important;
  font-size:16.8px!important;
  font-weight:850!important;
}

.site-footer .footer-brand-lockup-v4 .header-fit-founded-v4 [data-fit-line]{
  color:#fff!important;
  font-size:13.5px!important;
  font-weight:850!important;
}

.site-footer .footer-brand-lockup-v4 .header-fit-small-v4{
  display:block!important;
}

.site-footer .footer-brand-lockup-v4 .header-fit-small-v4 [data-fit-line]{
  color:#aeb7be!important;
  font-size:9.2px!important;
  font-weight:800!important;
}

/* Tablet / narrow desktop */
@media(max-width:1180px){
  .site-footer .footer-brand-lockup-v4{
    grid-template-columns:64px 188px!important;
    width:252px!important;
    min-width:252px!important;
    max-width:252px!important;
  }

  .site-footer .footer-brand-lockup-v4 .header-logo-v4{
    width:64px!important;
    height:64px!important;
    min-width:64px!important;
    max-width:64px!important;
  }

  .site-footer .footer-brand-lockup-v4 .header-brand-copy-v4,
  .site-footer .footer-brand-lockup-v4 .header-fit-group-v4{
    width:188px!important;
    min-width:188px!important;
    max-width:188px!important;
  }

  .site-footer .footer-brand-lockup-v4 .header-fit-main-v4 [data-fit-line]{
    font-size:15px!important;
  }

  .site-footer .footer-brand-lockup-v4 .header-fit-founded-v4 [data-fit-line]{
    font-size:12px!important;
  }

  .site-footer .footer-brand-lockup-v4 .header-fit-small-v4 [data-fit-line]{
    font-size:8px!important;
  }
}

/* Phones: keep all four lines visible, but compact. */
@media(max-width:640px){
  .site-footer .footer-brand-lockup-v4{
    grid-template-columns:58px 180px!important;
    width:238px!important;
    min-width:238px!important;
    max-width:238px!important;
  }

  .site-footer .footer-brand-lockup-v4 .header-logo-v4{
    width:58px!important;
    height:58px!important;
    min-width:58px!important;
    max-width:58px!important;
  }

  .site-footer .footer-brand-lockup-v4 .header-brand-copy-v4,
  .site-footer .footer-brand-lockup-v4 .header-fit-group-v4{
    width:180px!important;
    min-width:180px!important;
    max-width:180px!important;
    row-gap:2px!important;
  }

  .site-footer .footer-brand-lockup-v4 .header-fit-main-v4 [data-fit-line]{
    font-size:14px!important;
  }

  .site-footer .footer-brand-lockup-v4 .header-fit-founded-v4 [data-fit-line]{
    font-size:11px!important;
  }

  .site-footer .footer-brand-lockup-v4 .header-fit-small-v4 [data-fit-line]{
    font-size:7.6px!important;
  }
}



/* =========================================================
   v1.0.58 — hero kicker blue + unified media crop
   ========================================================= */

/* PORT_AZUR_V1_0_58_HERO_KICKER_AND_MEDIA_CROP */

/* 1) Главная — синяя строка над hero-заголовком */
.home-hero-kicker-blue{
  color:#2f76c2 !important;
}

/* 2) Единый принцип кадрирования фото в услугах и компании
   Идея:
   - контейнер фото имеет фиксированную высоту/соотношение;
   - картинка всегда fill'ит область;
   - object-position задаёт точку фокуса;
   - из-за этого при разных масштабах фото ведут себя стабильнее.
*/

/* ---- SERVICES / COMPANY media frame ---- */
.service-v4-block-media,
.company-v4-block-media,
.service-v4-media,
.company-v4-media,
.service-v4-photo,
.company-v4-photo{
  position:relative !important;
  overflow:hidden !important;
  background:#07111b !important;
}

/* На десктопе делаем единый размер медиаблока */
@media (min-width: 1181px) {
  .service-v4-block-media,
  .company-v4-block-media,
  .service-v4-media,
  .company-v4-media,
  .service-v4-photo,
  .company-v4-photo{
    height:clamp(340px, 44vh, 560px) !important;
  }
}

/* На планшетах */
@media (max-width: 1180px) and (min-width: 821px) {
  .service-v4-block-media,
  .company-v4-block-media,
  .service-v4-media,
  .company-v4-media,
  .service-v4-photo,
  .company-v4-photo{
    height:clamp(300px, 40vh, 460px) !important;
  }
}

/* На мобиле */
@media (max-width: 820px) {
  .service-v4-block-media,
  .company-v4-block-media,
  .service-v4-media,
  .company-v4-media,
  .service-v4-photo,
  .company-v4-photo{
    height:clamp(220px, 34vh, 320px) !important;
  }
}

/* Сами картинки */
.service-v4-block-media img,
.company-v4-block-media img,
.service-v4-media img,
.company-v4-media img,
.service-v4-photo img,
.company-v4-photo img{
  width:100% !important;
  height:100% !important;
  display:block !important;
  object-fit:cover !important;
  object-position:var(--img-focus, 50% 50%) !important;
}

/* ---- Точки фокуса для конкретных фото ---- */
/* Резка круглого проката и труб */
img[src*="service-round-cutting"]{
  object-position:50% 56% !important;
}

/* Прямолинейный дисковый раскрой плитного проката */
img[src*="service-plate-cutting"],
img[src*="plate-cutting"]{
  object-position:50% 42% !important;
}

/* Лазерная резка */
img[src*="laser"]{
  object-position:50% 50% !important;
}

/* Гибка */
img[src*="bending"],
img[src*="sheet-bending"]{
  object-position:50% 42% !important;
}

/* Компания / производственно-складской комплекс */
img[src*="company"],
img[src*="warehouse"],
img[src*="production-base"]{
  object-position:50% 46% !important;
}



/* =========================================================
   v1.0.59 — stable media viewports for services/company
   ========================================================= */

/* PORT_AZUR_V1_0_59_STABLE_MEDIA_VIEWPORTS */

/*
  Суть фикса:
  - фото больше не подстраивается хаотично под текст;
  - у изображения есть стабильное "окно";
  - картинка заполняет его через cover;
  - для отдельных фото задаём фокус.
*/

/* ---------------------------------------------------------
   1) Общая логика для media-блоков в УСЛУГАХ и КОМПАНИИ
   --------------------------------------------------------- */
.service-v4-block-media,
.company-v4-block-media,
.service-v4-media,
.company-v4-media,
.service-v4-photo,
.company-v4-photo,
.service-v4-block-media > a,
.company-v4-block-media > a,
.service-v4-media > a,
.company-v4-media > a,
.service-v4-photo > a,
.company-v4-photo > a {
  position: relative !important;
  display: block !important;
  overflow: hidden !important;
  background: #07111b !important;
  isolation: isolate !important;
}

/* На широких экранах — единое окно кадрирования */
@media (min-width: 1181px) {
  .service-v4-block-media,
  .company-v4-block-media,
  .service-v4-media,
  .company-v4-media,
  .service-v4-photo,
  .company-v4-photo {
    aspect-ratio: 16 / 10 !important;
    min-height: 360px !important;
    max-height: 520px !important;
  }
}

/* На планшетах */
@media (max-width: 1180px) and (min-width: 821px) {
  .service-v4-block-media,
  .company-v4-block-media,
  .service-v4-media,
  .company-v4-media,
  .service-v4-photo,
  .company-v4-photo {
    aspect-ratio: 16 / 10 !important;
    min-height: 320px !important;
    max-height: 460px !important;
  }
}

/* На мобиле */
@media (max-width: 820px) {
  .service-v4-block-media,
  .company-v4-block-media,
  .service-v4-media,
  .company-v4-media,
  .service-v4-photo,
  .company-v4-photo {
    aspect-ratio: 4 / 3 !important;
    min-height: 220px !important;
    max-height: 320px !important;
  }
}

/* ---------------------------------------------------------
   2) Сами картинки
   --------------------------------------------------------- */
.service-v4-block-media img,
.company-v4-block-media img,
.service-v4-media img,
.company-v4-media img,
.service-v4-photo img,
.company-v4-photo img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: 50% 50% !important;
  transform: none !important;
}

/* ---------------------------------------------------------
   3) Выравниваем внутреннюю сетку, чтобы фото не "ехало"
   --------------------------------------------------------- */
.service-v4-block,
.company-v4-block,
.service-v4-row,
.company-v4-row,
.service-v4-grid,
.company-v4-grid {
  align-items: start !important;
}

/* ---------------------------------------------------------
   4) Точки фокуса по конкретным фото
   --------------------------------------------------------- */

/* Резка круглого проката и труб */
img[src*="service-round-cutting"],
img[src*="round-cutting"] {
  object-position: 50% 58% !important;
}

/* Прямолинейный дисковый раскрой плитного проката */
img[src*="service-plate-cutting"],
img[src*="plate-cutting"] {
  object-position: 50% 42% !important;
}

/* Лазерная резка металлов */
img[src*="laser"] {
  object-position: 50% 52% !important;
}

/* Гибка листового металла */
img[src*="bending"],
img[src*="sheet-bending"] {
  object-position: 50% 44% !important;
}

/* Ламинирование листов */
img[src*="laminating"],
img[src*="lamination"],
img[src*="laminated"] {
  object-position: 50% 58% !important;
}

/* Компания / склад / производственная база / тендеры */
img[src*="warehouse"],
img[src*="company"],
img[src*="production-base"],
img[src*="tender"] {
  object-position: 50% 46% !important;
}

/* ---------------------------------------------------------
   5) Если в некоторых блоках img не absolute из-за другой
      вложенности — принудительно растягиваем и link-wrapper
   --------------------------------------------------------- */
.service-v4-block-media > a > img,
.company-v4-block-media > a > img,
.service-v4-media > a > img,
.company-v4-media > a > img,
.service-v4-photo > a > img,
.company-v4-photo > a > img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

/* ---------------------------------------------------------
   6) Чуть аккуратнее на совсем узких экранах
   --------------------------------------------------------- */
@media (max-width: 640px) {
  .service-v4-block-media,
  .company-v4-block-media,
  .service-v4-media,
  .company-v4-media,
  .service-v4-photo,
  .company-v4-photo {
    aspect-ratio: 4 / 3 !important;
    min-height: 200px !important;
    max-height: 280px !important;
  }
}


/* =========================================================
   v1.0.60 — real media selectors + undo v59 layout drift
   ========================================================= */

/* PORT_AZUR_V1_0_60_MEDIA_FIX_REAL_SELECTORS */

/* v59 accidentally targeted .service-v4-block itself and changed
   flex cross-axis alignment. Restore full-width section geometry. */
.service-v4-block{
  align-items:stretch!important;
}
.service-v4-block-head,
.service-v4-grid{
  width:100%!important;
  max-width:none!important;
}

/* The real services markup is:
   .service-v4-grid > figure > img
   Keep the viewport-sized card from v53, but show the whole source image
   instead of changing the crop when browser zoom changes the effective viewport. */
.service-v4-grid{
  align-items:stretch!important;
}
.service-v4-grid > figure{
  position:relative!important;
  overflow:hidden!important;
  background:#07111b!important;
}
.service-v4-grid > figure > img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  transform:none!important;
}

/* Company uses different, v3 class names. Same rule: never crop source photos.
   This also makes zoom changes affect only the amount of surrounding dark field,
   not which part of the photo disappears. */
.company-v3-block-grid{
  align-items:stretch!important;
}
.company-v3-block-grid > figure{
  position:relative!important;
  overflow:hidden!important;
  background:#07111b!important;
}
.company-v3-block-grid > figure > img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  transform:none!important;
}

/* Keep partner logos and other non-photo graphics out of this rule. */
.company-v3-partners img,
.partners-clean-grid img{
  object-fit:contain!important;
}

/* Tablet/mobile: figure has an explicit natural window instead of inheriting
   a changing text-column height. */
@media(max-width:980px){
  .service-v4-grid > figure{
    height:clamp(300px,56vw,520px)!important;
    min-height:0!important;
  }

  .company-v3-block-grid > figure{
    height:clamp(280px,58vw,520px)!important;
    min-height:0!important;
  }
}

@media(max-width:640px){
  .service-v4-grid > figure{
    height:clamp(230px,68vw,360px)!important;
  }

  .company-v3-block-grid > figure{
    height:clamp(220px,70vw,340px)!important;
  }
}

/* COMMON CLIENT HEADER STRUCTURE 20260929 */
/* =========================================================
   Stage 2 — consolidated client changes / visual reference pass
   PORT_AZUR_STAGE2_CONSOLIDATED_20260928
   ========================================================= */
:root{
  --stage2-blue:#006ef9;
  --stage2-blue-home:#0065f1;
  --stage2-blue-hover:#1680ff;
  --stage2-display:"Bahnschrift Condensed","Bahnschrift","Arial Narrow",Impact,Haettenschweiler,sans-serif;
}

/* ---------- HEADER ---------- */
.site-header-v4 .header-contact-v4{
  grid-template-rows:repeat(3,auto)!important;
  row-gap:4px!important;
}
.site-header-v4 .header-contact-small-v4 a{
  text-transform:none!important;
}

@media(min-width:1181px){
  .site-header-v4 .header-shell-v4{
    padding-left:24px!important;
    padding-right:24px!important;
  }

  .site-header-v4 .header-center-v4{
    width:clamp(620px,43vw,720px)!important;
    max-width:720px!important;
  }

  .site-header-v4 .header-nav-row-v4{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:0!important;
    align-items:center!important;
  }

  .site-header-v4 .header-calculator-v4{
    display:none!important;
  }

  .site-header-v4 .header-services-v4{
    position:relative!important;
    width:100%!important;
    height:28px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    grid-column:auto!important;
  }

  .site-header-v4 .header-nav-row-v4 > a:not(.header-calculator-v4),
  .site-header-v4 .header-services-parent-v4{
    width:100%!important;
    height:28px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:0 8px!important;
    color:#168dff!important;
    font-family:var(--stage2-display)!important;
    font-size:clamp(15px,.95vw,17px)!important;
    font-weight:700!important;
    letter-spacing:.025em!important;
    line-height:1!important;
    text-transform:uppercase!important;
    white-space:nowrap!important;
  }

  .site-header-v4 .header-nav-row-v4 > a:not(.header-calculator-v4):hover,
  .site-header-v4 .header-nav-row-v4 > a:not(.header-calculator-v4)[aria-current="page"],
  .site-header-v4 .header-services-parent-v4:hover,
  .site-header-v4 .header-services-parent-v4[aria-current="page"]{
    color:#fff!important;
  }

  .site-header-v4 .header-services-parent-v4{
    position:relative!important;
    padding-right:20px!important;
  }

  .site-header-v4 .header-services-parent-v4::after{
    content:"";
    position:absolute;
    right:10px;
    top:50%;
    width:6px;
    height:6px;
    border-right:1px solid currentColor;
    border-bottom:1px solid currentColor;
    transform:translateY(-72%) rotate(45deg);
    transition:transform .16s ease;
  }

  .site-header-v4 .header-services-v4:hover .header-services-parent-v4::after,
  .site-header-v4 .header-services-v4:focus-within .header-services-parent-v4::after{
    transform:translateY(-28%) rotate(225deg);
  }

  .site-header-v4 .header-services-menu-v4{
    position:absolute;
    z-index:160;
    top:calc(100% + 14px);
    left:50%;
    width:390px;
    padding:8px;
    background:#07121c;
    border:1px solid rgba(0,110,249,.46);
    box-shadow:0 18px 48px rgba(0,0,0,.42);
    opacity:0;
    visibility:hidden;
    transform:translate(-50%,-6px);
    transition:opacity .16s ease,transform .16s ease,visibility .16s ease;
  }

  .site-header-v4 .header-services-menu-v4::before{
    content:"";
    position:absolute;
    left:0;right:0;top:-14px;height:14px;
  }

  .site-header-v4 .header-services-v4:hover .header-services-menu-v4,
  .site-header-v4 .header-services-v4:focus-within .header-services-menu-v4{
    opacity:1;
    visibility:visible;
    transform:translate(-50%,0);
  }

  .site-header-v4 .header-services-menu-v4 a{
    display:block;
    padding:12px 14px;
    border:1px solid transparent;
    color:#c5d0d7;
    font-family:Inter,Arial,Helvetica,sans-serif;
    font-size:12px;
    font-weight:760;
    letter-spacing:.025em;
    line-height:1.25;
    text-transform:uppercase;
  }

  .site-header-v4 .header-services-menu-v4 a:hover,
  .site-header-v4 .header-services-menu-v4 a:focus{
    background:rgba(0,110,249,.14);
    border-color:rgba(0,110,249,.26);
    color:#fff;
    outline:none;
  }

  .site-header-v4 .header-right-stage2{
    justify-self:end;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:14px;
    min-width:0;
  }

  .site-header-v4 .header-contact-v4{
    width:205px!important;
    min-width:205px!important;
  }

  .site-header-v4 .header-contact-v4 .header-fit-row-v4,
  .site-header-v4 .header-fit-main-v4,
  .site-header-v4 .header-fit-founded-v4,
  .site-header-v4 .header-fit-small-v4{
    font-family:var(--stage2-display)!important;
  }

  .site-header-v4 .header-contact-main-v4{
    height:18px!important;
    font-size:17px!important;
    font-weight:700!important;
  }

  .site-header-v4 .header-contact-phone-v4{
    height:18px!important;
    color:#fff!important;
    font-size:17px!important;
    font-weight:700!important;
  }

  .site-header-v4 .header-contact-small-v4{
    height:14px!important;
    color:#c2ccd3!important;
    font-family:Inter,Arial,Helvetica,sans-serif!important;
    font-size:12px!important;
    font-weight:500!important;
  }

  .site-header-v4 .header-stage2-cta{
    width:clamp(160px,11vw,198px);
    height:56px;
    flex:0 0 auto;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid #1680ff;
    border-radius:4px;
    background:linear-gradient(180deg,#0b7cff 0%,#0064e8 100%);
    box-shadow:0 10px 28px rgba(0,101,241,.22);
    color:#fff;
    font-family:var(--stage2-display);
    font-size:19px;
    font-weight:700;
    letter-spacing:.015em;
    text-transform:uppercase;
  }
  .site-header-v4 .header-stage2-cta:hover{
    background:linear-gradient(180deg,#258cff 0%,#0872f4 100%);
  }
}

@media(min-width:1181px) and (max-width:1350px){
  .site-header-v4 .header-stage2-cta{display:none!important;}
  .site-header-v4 .header-contact-v4{
    width:190px!important;
    min-width:190px!important;
  }
}

@media(max-width:1180px){
  .site-header-v4 .header-right-stage2{display:contents!important;}
  .site-header-v4 .header-stage2-cta{display:none!important;}

  .site-header-v4 .header-nav-row-v4{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .site-header-v4 .header-services-v4{
    grid-column:1/-1;
    width:100%;
    display:grid;
  }

  .site-header-v4 .header-services-parent-v4{
    min-height:44px;
    display:flex;
    align-items:center;
    justify-content:center;
    position:relative;
    border:1px solid rgba(0,110,249,.30);
    color:#168dff!important;
    font-family:var(--stage2-display)!important;
    font-size:14px!important;
    font-weight:700!important;
    text-transform:uppercase;
  }

  .site-header-v4 .header-services-parent-v4::after{
    content:"";
    width:7px;height:7px;margin-left:10px;
    border-right:1px solid currentColor;
    border-bottom:1px solid currentColor;
    transform:translateY(-2px) rotate(45deg);
  }

  .site-header-v4 .header-services-v4.open .header-services-parent-v4::after{
    transform:translateY(2px) rotate(225deg);
  }

  .site-header-v4 .header-services-menu-v4{
    display:none;
    width:100%;
    margin-top:8px;
    padding:7px;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:1px;
    background:#0a1722;
    border:1px solid rgba(0,110,249,.24);
  }

  .site-header-v4 .header-services-v4.open .header-services-menu-v4{
    display:grid;
  }

  .site-header-v4 .header-services-menu-v4 a{
    min-height:42px;
    display:flex;
    align-items:center;
    padding:10px 12px;
    background:#071019;
    color:#c0ced7;
    font-size:10.5px;
    font-weight:720;
    line-height:1.25;
    text-transform:uppercase;
  }

  .site-header-v4 .header-mobile-meta-v4{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  .site-header-v4 .header-mobile-meta-v4 a[href^="mailto:"]{
    text-transform:none!important;
  }
}

@media(max-width:640px){
  .site-header-v4 .header-services-menu-v4{grid-template-columns:1fr;}
  .site-header-v4 .header-mobile-meta-v4{grid-template-columns:1fr!important;}
}


/* Shared header content introduced by client Stage 2.
   Presentation variants may override dimensions, but the structure is common. */
.site-header-v4 .header-stage2-contact{
  min-width:0;
  display:grid;
  grid-template-rows:auto auto auto;
  row-gap:3px;
  align-content:center;
  justify-items:start;
  color:#fff;
  text-align:left;
}
.site-header-v4 .header-stage2-city,
.site-header-v4 .header-stage2-phone{
  color:#fff;
  font-family:var(--stage2-display)!important;
  font-size:17px!important;
  font-weight:700!important;
  line-height:1.05!important;
  letter-spacing:.015em!important;
  white-space:nowrap;
}
.site-header-v4 .header-stage2-mail{
  color:#c2ccd3;
  font-family:Inter,Arial,sans-serif!important;
  font-size:12px!important;
  font-weight:500!important;
  line-height:1.15!important;
  text-transform:none!important;
  white-space:nowrap;
}
@media(max-width:1180px){
  .site-header-v4 .header-stage2-contact{display:none!important;}
}

/* 2026-10-01 hero system final pass: one visual language across all top-level pages */
:root{--pa-hero-header-h:96px;--pa-hero-blue:#0c82ff;--pa-hero-bg:#05090d;}
.unified-hero-v4,.unified-home-hero-v4{
  position:relative!important;height:calc(100svh - var(--pa-hero-header-h))!important;
  min-height:640px!important;max-height:900px!important;overflow:hidden!important;background:var(--pa-hero-bg)!important;
}
.unified-hero-v4::before,.unified-home-hero-v4::before{
  content:""!important;position:absolute!important;inset:0!important;z-index:1!important;pointer-events:none!important;
  background:linear-gradient(90deg,rgba(2,7,12,.96) 0%,rgba(2,7,12,.88) 36%,rgba(2,7,12,.54) 59%,rgba(2,7,12,.16) 100%)!important;
}
.unified-hero-v4 .service-v4-hero-media,.unified-hero-v4 .company-v3-hero-media,.unified-hero-v4 .pa-hero-media{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;z-index:0!important;
}
.unified-hero-v4 .pa-hero-shade{display:none!important;}
.unified-hero-v4 .service-v4-hero-inner,.unified-hero-v4 .company-v3-hero-inner,.unified-hero-v4 .pa-hero-inner,.unified-home-hero-v4>.container{
  position:relative!important;z-index:2!important;width:100%!important;max-width:none!important;height:100%!important;
  margin:0!important;padding:46px 52px 38px!important;box-sizing:border-box!important;display:flex!important;align-items:flex-start!important;
}

.unified-hero-v4 .service-v4-hero-copy,.unified-hero-v4 .company-v3-hero-copy,.unified-hero-v4 .pa-hero-copy,.unified-home-hero-v4 .home-hero-copy{
  width:min(1080px,72vw)!important;max-width:1080px!important;margin:0!important;padding:0!important;transform:none!important;
}
.unified-hero-v4 .service-v4-brandline,.unified-hero-v4 .company-v3-brandline,.unified-hero-v4 .pa-kicker,.unified-home-hero-v4 .kicker{
  position:relative!important;margin:0 0 18px!important;padding-left:18px!important;color:#b4c2cc!important;
  font-family:Bahnschrift,"Bahnschrift Condensed","Arial Narrow",Arial,sans-serif!important;font-size:14px!important;
  font-weight:600!important;font-stretch:80%!important;line-height:1.2!important;letter-spacing:.075em!important;text-transform:uppercase!important;
}
.unified-hero-v4 .service-v4-brandline::before,.unified-hero-v4 .company-v3-brandline::before,.unified-hero-v4 .pa-kicker::before,.unified-home-hero-v4 .kicker::before{
  content:""!important;position:absolute!important;left:0!important;top:.02em!important;width:4px!important;height:1.25em!important;background:var(--pa-hero-blue)!important;
}
.unified-hero-v4 h1,.unified-home-hero-v4 h1{
  width:100%!important;max-width:none!important;margin:0 0 24px!important;padding:0!important;
  font-family:Bahnschrift,"Bahnschrift Condensed","Arial Narrow",Impact,sans-serif!important;font-size:clamp(58px,4.15vw,78px)!important;
  font-weight:700!important;font-stretch:80%!important;line-height:.92!important;letter-spacing:-.025em!important;text-transform:uppercase!important;
}
.unified-hero-v4 h1>span,.unified-home-hero-v4 h1>span{display:block!important;white-space:nowrap!important;font:inherit!important;letter-spacing:inherit!important;}
.unified-hero-v4 h1 .hero-title-white,.unified-home-hero-v4 h1 .hero-accent{color:#fff!important;}
.unified-hero-v4 h1 .hero-title-blue,.unified-home-hero-v4 h1 .hero-main-line{color:var(--pa-hero-blue)!important;}

.unified-hero-v4 .service-v4-story,.unified-hero-v4 .company-v3-story,.unified-hero-v4 .pa-hero-copy>p,.unified-home-hero-v4 .home-hero-lead{
  max-width:850px!important;margin:0 0 20px!important;color:#eef3f6!important;font-size:17px!important;line-height:1.45!important;transform:none!important;
}
.unified-hero-v4 .company-v3-story p{margin:0 0 9px!important;}
.unified-hero-v4 .service-v4-hero-chips,.unified-hero-v4 .pa-chips,.unified-home-hero-v4 .hero-routes{margin-top:14px!important;transform:none!important;}
.unified-hero-v4 .service-v4-hero-btn,.unified-hero-v4 .pa-hero-actions{margin-top:18px!important;transform:none!important;}
.unified-home-hero-v4 .home-hero-kicker-blue{color:inherit!important;}
.pa-materials-hero .pa-hero-media{object-position:center 46%!important;}
.company-v3-hero .company-v3-hero-media{object-position:center 48%!important;}
.pa-contacts-hero .pa-hero-media{object-position:center 54%!important;}
.site-header-v4 .header-brand-copy-v4{width:258px!important;min-width:258px!important;}
.site-header-v4 .header-brand-copy-v4 .header-fit-row-v4{width:100%!important;overflow:visible!important;}
.site-header-v4 .header-brand-copy-v4 [data-fit-line]{
  display:block!important;width:100%!important;max-width:none!important;transform:none!important;white-space:nowrap!important;
  text-align:justify!important;text-align-last:justify!important;font-stretch:80%!important;letter-spacing:0!important;
}
.site-header-v4 .header-fit-main-v4 [data-fit-line]{font-size:21px!important;}
.site-header-v4 .header-fit-founded-v4 [data-fit-line]{font-size:18px!important;}
.site-header-v4 .header-fit-small-v4 [data-fit-line]{font-size:11.5px!important;}
@media(max-width:900px){
  .unified-hero-v4,.unified-home-hero-v4{height:auto!important;max-height:none!important;min-height:calc(100svh - 78px)!important;}
  .unified-hero-v4 .service-v4-hero-inner,.unified-hero-v4 .company-v3-hero-inner,.unified-hero-v4 .pa-hero-inner,.unified-home-hero-v4>.container{padding:32px 22px 34px!important;}
  .unified-hero-v4 .service-v4-hero-copy,.unified-hero-v4 .company-v3-hero-copy,.unified-hero-v4 .pa-hero-copy,.unified-home-hero-v4 .home-hero-copy{width:100%!important;max-width:none!important;}
  .unified-hero-v4 h1,.unified-home-hero-v4 h1{font-size:clamp(40px,10vw,58px)!important;}
  .unified-hero-v4 h1>span,.unified-home-hero-v4 h1>span{white-space:normal!important;}
}

/* hero final specificity + header optical fitting */
html[data-preview="v4"] .unified-hero-v4 h1>.hero-title-white,
html[data-preview="v4"] .unified-home-hero-v4 h1>.hero-accent{color:#fff!important;}
html[data-preview="v4"] .unified-hero-v4 h1>.hero-title-blue,
html[data-preview="v4"] .unified-home-hero-v4 h1>.hero-main-line{color:var(--pa-hero-blue)!important;}
.site-header-v4 .header-brand-copy-v4 [data-fit-line]{
  display:inline-block!important;width:max-content!important;max-width:none!important;
  text-align:left!important;text-align-last:auto!important;white-space:nowrap!important;
}

/* company hero must obey the same geometry, not legacy Stage 2 offsets */
html[data-preview="v4"] .stage2-company-exact .unified-hero-v4 .company-v3-hero-inner{
  height:100%!important;min-height:0!important;margin:0!important;padding:46px 52px 38px!important;
  display:flex!important;align-items:flex-start!important;
}
html[data-preview="v4"] .stage2-company-exact .unified-hero-v4 .company-v3-hero-copy{
  width:min(1080px,72vw)!important;max-width:1080px!important;margin:0!important;padding:0!important;transform:none!important;
}
html[data-preview="v4"] .stage2-company-exact .unified-hero-v4 h1{
  margin:0 0 24px!important;font-size:clamp(58px,4.15vw,78px)!important;line-height:.92!important;letter-spacing:-.025em!important;
}
html[data-preview="v4"] .stage2-company-exact .unified-hero-v4 .company-v3-brandline{
  margin:0 0 18px!important;transform:none!important;
}

/* fixed header occupies real layout space; hero fills exactly the remaining viewport */
body>main{padding-top:var(--pa-hero-header-h)!important;}
@media(max-width:1180px){:root{--pa-hero-header-h:78px;}body>main{padding-top:var(--pa-hero-header-h)!important;}}


/* 2026-10-01 final visual polish: compact hero rhythm + one header type system */
html[data-preview="v4"] .unified-hero-v4 .service-v4-hero-inner,
html[data-preview="v4"] .unified-hero-v4 .company-v3-hero-inner,
html[data-preview="v4"] .unified-hero-v4 .pa-hero-inner,
html[data-preview="v4"] .unified-home-hero-v4 > .container,
html[data-preview="v4"] .stage2-home-exact > .container{
  height:100%!important;
  min-height:0!important;
  margin:0!important;
  padding-top:28px!important;
  padding-bottom:24px!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
}

html[data-preview="v4"] .unified-hero-v4 .service-v4-hero-copy,
html[data-preview="v4"] .unified-hero-v4 .company-v3-hero-copy,
html[data-preview="v4"] .unified-hero-v4 .pa-hero-copy,
html[data-preview="v4"] .unified-home-hero-v4 .home-hero-copy,
html[data-preview="v4"] .stage2-home-exact .home-hero-copy{
  margin:0!important;
  padding:0!important;
  transform:none!important;
  align-self:flex-start!important;
}

html[data-preview="v4"] .unified-hero-v4 .service-v4-brandline,
html[data-preview="v4"] .unified-hero-v4 .company-v3-brandline,
html[data-preview="v4"] .unified-hero-v4 .pa-kicker,
html[data-preview="v4"] .unified-home-hero-v4 .kicker{
  margin-bottom:14px!important;
}
html[data-preview="v4"] .unified-hero-v4 h1,
html[data-preview="v4"] .unified-home-hero-v4 h1{
  margin-bottom:18px!important;
}
html[data-preview="v4"] .unified-hero-v4 .service-v4-story,
html[data-preview="v4"] .unified-hero-v4 .company-v3-story,
html[data-preview="v4"] .unified-hero-v4 .pa-hero-copy > p,
html[data-preview="v4"] .unified-home-hero-v4 .home-hero-lead{
  margin-bottom:16px!important;
}
html[data-preview="v4"] .unified-hero-v4 .service-v4-hero-chips,
html[data-preview="v4"] .unified-hero-v4 .pa-chips,
html[data-preview="v4"] .unified-home-hero-v4 .hero-routes{
  margin-top:10px!important;
}
html[data-preview="v4"] .unified-hero-v4 .service-v4-hero-btn,
html[data-preview="v4"] .unified-hero-v4 .pa-hero-actions{
  margin-top:14px!important;
}

/* Header: brand lockup and contact block use the same condensed industrial type family */
html[data-preview="v4"] .site-header-v4 .header-brand-copy-v4,
html[data-preview="v4"] .site-header-v4 .header-contact-v4,
html[data-preview="v4"] .site-header-v4 .header-brand-copy-v4 [data-fit-line],
html[data-preview="v4"] .site-header-v4 .header-contact-v4 [data-fit-line]{
  font-family:Bahnschrift,"Bahnschrift Condensed","Arial Narrow",Arial,sans-serif!important;
  font-stretch:80%!important;
  text-transform:uppercase!important;
}

html[data-preview="v4"] .site-header-v4 .header-brand-copy-v4{
  width:292px!important;
  min-width:292px!important;
}
html[data-preview="v4"] .site-header-v4 .header-brand-copy-v4 .header-fit-row-v4{
  width:100%!important;
  overflow:visible!important;
}
html[data-preview="v4"] .site-header-v4 .header-brand-copy-v4 [data-fit-line]{
  display:inline-block!important;
  width:max-content!important;
  max-width:none!important;
  text-align:left!important;
  text-align-last:auto!important;
  white-space:nowrap!important;
  line-height:.92!important;
  font-weight:700!important;
  transform:none!important;
}
html[data-preview="v4"] .site-header-v4 .header-fit-main-v4 [data-fit-line]{font-size:22px!important;}
html[data-preview="v4"] .site-header-v4 .header-fit-founded-v4 [data-fit-line]{font-size:18px!important;}
html[data-preview="v4"] .site-header-v4 .header-fit-small-v4 [data-fit-line]{font-size:11.5px!important;font-weight:600!important;line-height:1!important;}

html[data-preview="v4"] .site-header-v4 .header-contact-v4 [data-fit-line]{
  font-weight:700!important;
  line-height:.94!important;
}
html[data-preview="v4"] .site-header-v4 .header-contact-small-v4 [data-fit-line]{font-weight:600!important;}

@media(max-width:1180px){
  html[data-preview="v4"] .unified-hero-v4 .service-v4-hero-inner,
  html[data-preview="v4"] .unified-hero-v4 .company-v3-hero-inner,
  html[data-preview="v4"] .unified-hero-v4 .pa-hero-inner,
  html[data-preview="v4"] .unified-home-hero-v4 > .container,
  html[data-preview="v4"] .stage2-home-exact > .container{
    padding-top:24px!important;
    padding-bottom:24px!important;
  }
}


/* 2026-10-01 geometry lock: all hero sections share one grid */
html[data-preview="v4"] body .unified-home-hero-v4,
html[data-preview="v4"] body .services-v4 .service-v4-hero.unified-hero-v4,
html[data-preview="v4"] body .pa-materials .pa-materials-hero.unified-hero-v4,
html[data-preview="v4"] body .stage2-company-exact .company-v3-hero.unified-hero-v4,
html[data-preview="v4"] body .pa-contacts .pa-contacts-hero.unified-hero-v4{
  height:calc(100svh - var(--pa-hero-header-h))!important;
  min-height:680px!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}

html[data-preview="v4"] body .unified-home-hero-v4>.container,
html[data-preview="v4"] body .services-v4 .service-v4-hero-inner,
html[data-preview="v4"] body .pa-materials .pa-hero-inner,
html[data-preview="v4"] body .stage2-company-exact .company-v3-hero-inner,
html[data-preview="v4"] body .pa-contacts .pa-hero-inner{
  position:relative!important;
  inset:auto!important;
  top:auto!important;
  right:auto!important;
  bottom:auto!important;
  left:auto!important;
  width:100%!important;
  max-width:none!important;
  height:100%!important;
  min-height:0!important;
  margin:0!important;
  padding:46px 56px 34px!important;
  box-sizing:border-box!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  transform:none!important;
}

html[data-preview="v4"] body .unified-home-hero-v4 .home-hero-copy,
html[data-preview="v4"] body .services-v4 .service-v4-hero-copy,
html[data-preview="v4"] body .pa-materials .pa-hero-copy,
html[data-preview="v4"] body .stage2-company-exact .company-v3-hero-copy,
html[data-preview="v4"] body .pa-contacts .pa-hero-copy{
  position:relative!important;
  inset:auto!important;
  top:auto!important;
  left:auto!important;
  width:min(980px,70vw)!important;
  max-width:980px!important;
  margin:0!important;
  padding:0!important;
  align-self:flex-start!important;
  transform:none!important;
}

/* identical vertical rhythm */
html[data-preview="v4"] body .unified-home-hero-v4 .kicker,
html[data-preview="v4"] body .services-v4 .service-v4-brandline,
html[data-preview="v4"] body .pa-materials .pa-kicker,
html[data-preview="v4"] body .stage2-company-exact .company-v3-brandline,
html[data-preview="v4"] body .pa-contacts .pa-kicker{
  margin:0 0 14px!important;
}

html[data-preview="v4"] body .unified-home-hero-v4 h1,
html[data-preview="v4"] body .services-v4 .service-v4-hero h1,
html[data-preview="v4"] body .pa-materials .pa-materials-hero h1,
html[data-preview="v4"] body .stage2-company-exact .company-v3-hero h1,
html[data-preview="v4"] body .pa-contacts .pa-contacts-hero h1{
  width:100%!important;
  max-width:none!important;
  margin:0 0 20px!important;
  padding:0!important;
  font-family:Bahnschrift,"Bahnschrift Condensed","Arial Narrow",Impact,sans-serif!important;
  font-size:clamp(58px,4.15vw,74px)!important;
  font-weight:700!important;
  font-stretch:80%!important;
  line-height:.92!important;
  letter-spacing:-.025em!important;
  text-transform:uppercase!important;
}

html[data-preview="v4"] body .unified-home-hero-v4 h1>span,
html[data-preview="v4"] body .unified-hero-v4 h1>span{
  display:block!important;
  white-space:nowrap!important;
}

html[data-preview="v4"] body .unified-home-hero-v4 h1>.hero-accent,
html[data-preview="v4"] body .unified-hero-v4 h1>.hero-title-white{
  color:#fff!important;
}
html[data-preview="v4"] body .unified-home-hero-v4 h1>.hero-main-line,
html[data-preview="v4"] body .unified-hero-v4 h1>.hero-title-blue{
  color:var(--pa-hero-blue)!important;
}

html[data-preview="v4"] body .unified-home-hero-v4 .home-hero-lead,
html[data-preview="v4"] body .services-v4 .service-v4-story,
html[data-preview="v4"] body .pa-materials .pa-hero-copy>p,
html[data-preview="v4"] body .stage2-company-exact .company-v3-story,
html[data-preview="v4"] body .pa-contacts .pa-hero-copy>p{
  width:100%!important;
  max-width:850px!important;
  margin:0 0 18px!important;
  padding:0!important;
  font-size:17px!important;
  line-height:1.45!important;
  transform:none!important;
}

html[data-preview="v4"] body .stage2-company-exact .company-v3-story p{
  margin:0!important;
}

html[data-preview="v4"] body .unified-home-hero-v4 .hero-routes,
html[data-preview="v4"] body .services-v4 .service-v4-hero-chips,
html[data-preview="v4"] body .pa-materials .pa-chips{
  margin-top:10px!important;
  transform:none!important;
}
html[data-preview="v4"] body .services-v4 .service-v4-hero-btn,
html[data-preview="v4"] body .pa-materials .pa-hero-actions{
  margin-top:14px!important;
  transform:none!important;
}
html[data-preview="v4"] body .pa-contacts .pa-contact-facts{
  margin-top:14px!important;
}

/* compact header lockup: no stretched-out lettering */
html[data-preview="v4"] body .site-header-v4 .header-brand-copy-v4{
  width:248px!important;
  min-width:248px!important;
  max-width:248px!important;
}
html[data-preview="v4"] body .site-header-v4 .header-brand-copy-v4 [data-fit-line]{
  font-family:Bahnschrift,"Bahnschrift Condensed","Arial Narrow",Arial,sans-serif!important;
  font-stretch:80%!important;
  font-weight:700!important;
  line-height:.94!important;
  text-align:left!important;
  text-align-last:auto!important;
  white-space:nowrap!important;
}
html[data-preview="v4"] body .site-header-v4 .header-fit-main-v4 [data-fit-line]{font-size:20px!important;}
html[data-preview="v4"] body .site-header-v4 .header-fit-founded-v4 [data-fit-line]{font-size:17px!important;}
html[data-preview="v4"] body .site-header-v4 .header-fit-small-v4 [data-fit-line]{font-size:10.5px!important;font-weight:600!important;line-height:1.02!important;}

@media(max-width:1180px){
  html[data-preview="v4"] body .unified-home-hero-v4,
  html[data-preview="v4"] body .unified-hero-v4{
    height:auto!important;
    min-height:calc(100svh - 78px)!important;
  }
  html[data-preview="v4"] body .unified-home-hero-v4>.container,
  html[data-preview="v4"] body .unified-hero-v4 .service-v4-hero-inner,
  html[data-preview="v4"] body .unified-hero-v4 .company-v3-hero-inner,
  html[data-preview="v4"] body .unified-hero-v4 .pa-hero-inner{
    padding:30px 24px 30px!important;
  }
  html[data-preview="v4"] body .unified-home-hero-v4 .home-hero-copy,
  html[data-preview="v4"] body .unified-hero-v4 .service-v4-hero-copy,
  html[data-preview="v4"] body .unified-hero-v4 .company-v3-hero-copy,
  html[data-preview="v4"] body .unified-hero-v4 .pa-hero-copy{
    width:100%!important;
    max-width:none!important;
  }
  html[data-preview="v4"] body .unified-home-hero-v4 h1,
  html[data-preview="v4"] body .unified-hero-v4 h1{
    font-size:clamp(42px,10vw,58px)!important;
  }
  html[data-preview="v4"] body .unified-home-hero-v4 h1>span,
  html[data-preview="v4"] body .unified-hero-v4 h1>span{
    white-space:normal!important;
  }
}


/* Home must obey the same hero typography as section pages */
html[data-preview="v4"] body main .stage2-home-exact.unified-home-hero-v4 .home-hero-copy .kicker{
  margin:0 0 14px!important;
  padding-left:18px!important;
  font-size:14px!important;
  line-height:1.2!important;
  transform:none!important;
}
html[data-preview="v4"] body main .stage2-home-exact.unified-home-hero-v4 .home-hero-copy h1{
  margin:0 0 20px!important;
  font-size:clamp(58px,4.15vw,74px)!important;
  line-height:.92!important;
  letter-spacing:-.025em!important;
  transform:none!important;
}
html[data-preview="v4"] body main .stage2-home-exact.unified-home-hero-v4 .home-hero-copy h1>.hero-accent,
html[data-preview="v4"] body main .stage2-home-exact.unified-home-hero-v4 .home-hero-copy h1>.hero-main-line{
  font:inherit!important;
  font-size:inherit!important;
  line-height:inherit!important;
  letter-spacing:inherit!important;
  transform:none!important;
}
html[data-preview="v4"] body main .stage2-home-exact.unified-home-hero-v4 .home-hero-copy h1>.hero-accent{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
html[data-preview="v4"] body main .stage2-home-exact.unified-home-hero-v4 .home-hero-copy h1>.hero-main-line{
  color:var(--pa-hero-blue)!important;
  -webkit-text-fill-color:var(--pa-hero-blue)!important;
}


/* =========================================================
   2026-10-01 client-fit pass
   Bigger hero typography, lighter media, real viewport sizing
   ========================================================= */
:root{
  --pa-live-vh:100vh;
  --pa-live-header-h:96px;
  --pa-screen-h:calc(100vh - 96px);
  --pa-ui-scale:1;
}

/* Exact browser-viewport hero height */
html[data-preview="v4"] body .unified-home-hero-v4,
html[data-preview="v4"] body .unified-hero-v4{
  height:var(--pa-screen-h)!important;
  min-height:var(--pa-screen-h)!important;
  max-height:var(--pa-screen-h)!important;
  overflow:hidden!important;
}

/* Main sections: never visually collapse into 1.5 blocks on standard desktop viewports */
@media(min-width:901px){
  html[data-preview="v4"] .services-v4 .service-v4-block,
  html[data-preview="v4"] .services-v4 .service-v4-cta,
  html[data-preview="v4"] .pa-materials > .pa-section,
  html[data-preview="v4"] .stage2-company-exact .company-v3-block,
  html[data-preview="v4"] .stage2-company-exact .company-v3-partners,
  html[data-preview="v4"] .pa-contacts > .pa-section{
    min-height:var(--pa-screen-h)!important;
    box-sizing:border-box!important;
  }
}

/* Same hero origin everywhere, scaled from actual available browser height */
html[data-preview="v4"] body .unified-home-hero-v4>.container,
html[data-preview="v4"] body .unified-hero-v4 .service-v4-hero-inner,
html[data-preview="v4"] body .unified-hero-v4 .company-v3-hero-inner,
html[data-preview="v4"] body .unified-hero-v4 .pa-hero-inner{
  height:100%!important;
  padding:
    calc(48px * var(--pa-ui-scale))
    56px
    calc(34px * var(--pa-ui-scale))!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
}

html[data-preview="v4"] body .unified-home-hero-v4 .home-hero-copy,
html[data-preview="v4"] body .unified-hero-v4 .service-v4-hero-copy,
html[data-preview="v4"] body .unified-hero-v4 .company-v3-hero-copy,
html[data-preview="v4"] body .unified-hero-v4 .pa-hero-copy{
  width:min(1120px,72vw)!important;
  max-width:1120px!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
}

/* Bigger typography, but scales down on shorter screens */
html[data-preview="v4"] body .unified-home-hero-v4 h1,
html[data-preview="v4"] body .unified-hero-v4 h1{
  margin:0 0 calc(22px * var(--pa-ui-scale))!important;
  font-size:clamp(62px,calc(92px * var(--pa-ui-scale)),102px)!important;
  line-height:.91!important;
  letter-spacing:-.028em!important;
  transform:none!important;
}

html[data-preview="v4"] body .unified-home-hero-v4 .kicker,
html[data-preview="v4"] body .unified-hero-v4 .service-v4-brandline,
html[data-preview="v4"] body .unified-hero-v4 .company-v3-brandline,
html[data-preview="v4"] body .unified-hero-v4 .pa-kicker{
  margin:0 0 calc(16px * var(--pa-ui-scale))!important;
  font-size:clamp(14px,calc(16px * var(--pa-ui-scale)),18px)!important;
  line-height:1.2!important;
  transform:none!important;
}

html[data-preview="v4"] body .unified-home-hero-v4 .home-hero-lead,
html[data-preview="v4"] body .unified-hero-v4 .service-v4-story,
html[data-preview="v4"] body .unified-hero-v4 .company-v3-story,
html[data-preview="v4"] body .unified-hero-v4 .pa-hero-copy>p{
  max-width:900px!important;
  margin:0 0 calc(20px * var(--pa-ui-scale))!important;
  font-size:clamp(18px,calc(21px * var(--pa-ui-scale)),23px)!important;
  line-height:1.42!important;
  transform:none!important;
}

/* Home follows the same white / blue hierarchy as the reference */
html[data-preview="v4"] body main .stage2-home-exact.unified-home-hero-v4 .home-hero-copy h1>.hero-accent{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
html[data-preview="v4"] body main .stage2-home-exact.unified-home-hero-v4 .home-hero-copy h1>.hero-main-line{
  color:var(--pa-hero-blue)!important;
  -webkit-text-fill-color:var(--pa-hero-blue)!important;
}

/* Controls scale with the hero instead of looking undersized */
html[data-preview="v4"] .unified-home-hero-v4 .hero-routes{
  gap:22px!important;
  margin-top:calc(10px * var(--pa-ui-scale))!important;
}
html[data-preview="v4"] .unified-home-hero-v4 .hero-route{
  min-height:calc(70px * var(--pa-ui-scale))!important;
  min-width:360px!important;
  padding:0 28px!important;
  font-size:clamp(17px,calc(19px * var(--pa-ui-scale)),21px)!important;
}
html[data-preview="v4"] .services-v4 .service-v4-hero-chips,
html[data-preview="v4"] .pa-materials .pa-chips{
  margin-top:calc(10px * var(--pa-ui-scale))!important;
}
html[data-preview="v4"] .services-v4 .service-v4-hero-chips a,
html[data-preview="v4"] .pa-materials .pa-chips a{
  min-height:calc(46px * var(--pa-ui-scale))!important;
  font-size:clamp(14px,calc(15px * var(--pa-ui-scale)),17px)!important;
}
html[data-preview="v4"] .services-v4 .service-v4-hero-btn,
html[data-preview="v4"] .pa-materials .pa-hero-actions{
  margin-top:calc(14px * var(--pa-ui-scale))!important;
}
html[data-preview="v4"] .services-v4 .service-v4-hero-btn,
html[data-preview="v4"] .pa-materials .pa-btn{
  min-height:calc(60px * var(--pa-ui-scale))!important;
  font-size:clamp(15px,calc(17px * var(--pa-ui-scale)),19px)!important;
}
html[data-preview="v4"] .pa-contacts .pa-contact-facts{
  margin-top:calc(16px * var(--pa-ui-scale))!important;
}
html[data-preview="v4"] .pa-contacts .pa-contact-facts>div{
  min-height:calc(94px * var(--pa-ui-scale))!important;
}

/* The video is the hero on home: keep it clearly visible */
html[data-preview="v4"] .unified-home-hero-v4::before{
  background:linear-gradient(
    90deg,
    rgba(2,7,12,.36) 0%,
    rgba(2,7,12,.25) 31%,
    rgba(2,7,12,.10) 52%,
    rgba(2,7,12,.02) 72%,
    rgba(2,7,12,0) 100%
  )!important;
}
html[data-preview="v4"] .unified-home-hero-v4 .hero-grid{
  opacity:.10!important;
}
html[data-preview="v4"] .unified-home-hero-v4 .hero-media::after{
  opacity:0!important;
}

/* Inner pages use real imagery with only a local readability gradient */
html[data-preview="v4"] .unified-hero-v4::before{
  background:linear-gradient(
    90deg,
    rgba(2,7,12,.48) 0%,
    rgba(2,7,12,.30) 30%,
    rgba(2,7,12,.10) 50%,
    rgba(2,7,12,0) 70%
  )!important;
}
html[data-preview="v4"] .unified-hero-v4 h1,
html[data-preview="v4"] .unified-hero-v4 .service-v4-story,
html[data-preview="v4"] .unified-hero-v4 .company-v3-story,
html[data-preview="v4"] .unified-hero-v4 .pa-hero-copy>p{
  text-shadow:0 2px 16px rgba(0,0,0,.30)!important;
}

/* Real-photo framing */
html[data-preview="v4"] .service-v4-hero .service-v4-hero-media{object-position:center 46%!important;}
html[data-preview="v4"] .pa-materials-hero .pa-hero-media{object-position:center 48%!important;}
html[data-preview="v4"] .company-v3-hero .company-v3-hero-media{object-position:center 46%!important;}
html[data-preview="v4"] .pa-contacts-hero .pa-hero-media{object-position:center 50%!important;}

/* Narrow/short desktops: scale rather than reveal part of the next section */
@media(min-width:901px) and (max-height:760px){
  html[data-preview="v4"] body .unified-home-hero-v4>.container,
  html[data-preview="v4"] body .unified-hero-v4 .service-v4-hero-inner,
  html[data-preview="v4"] body .unified-hero-v4 .company-v3-hero-inner,
  html[data-preview="v4"] body .unified-hero-v4 .pa-hero-inner{
    padding-top:calc(34px * var(--pa-ui-scale))!important;
    padding-bottom:calc(24px * var(--pa-ui-scale))!important;
  }
  html[data-preview="v4"] body .unified-home-hero-v4 h1,
  html[data-preview="v4"] body .unified-hero-v4 h1{
    font-size:clamp(56px,calc(82px * var(--pa-ui-scale)),88px)!important;
  }
  html[data-preview="v4"] body .unified-home-hero-v4 .home-hero-lead,
  html[data-preview="v4"] body .unified-hero-v4 .service-v4-story,
  html[data-preview="v4"] body .unified-hero-v4 .company-v3-story,
  html[data-preview="v4"] body .unified-hero-v4 .pa-hero-copy>p{
    font-size:clamp(17px,calc(19px * var(--pa-ui-scale)),20px)!important;
  }
}

/* Mobile remains content-driven, no forced full-screen clipping */
@media(max-width:900px){
  html[data-preview="v4"] body .unified-home-hero-v4,
  html[data-preview="v4"] body .unified-hero-v4{
    height:auto!important;
    min-height:calc(100svh - 78px)!important;
    max-height:none!important;
    overflow:visible!important;
  }
  html[data-preview="v4"] body .unified-home-hero-v4>.container,
  html[data-preview="v4"] body .unified-hero-v4 .service-v4-hero-inner,
  html[data-preview="v4"] body .unified-hero-v4 .company-v3-hero-inner,
  html[data-preview="v4"] body .unified-hero-v4 .pa-hero-inner{
    padding:30px 24px 34px!important;
  }
  html[data-preview="v4"] body .unified-home-hero-v4 .home-hero-copy,
  html[data-preview="v4"] body .unified-hero-v4 .service-v4-hero-copy,
  html[data-preview="v4"] body .unified-hero-v4 .company-v3-hero-copy,
  html[data-preview="v4"] body .unified-hero-v4 .pa-hero-copy{
    width:100%!important;
    max-width:none!important;
  }
  html[data-preview="v4"] body .unified-home-hero-v4 h1,
  html[data-preview="v4"] body .unified-hero-v4 h1{
    font-size:clamp(42px,10vw,60px)!important;
  }
  html[data-preview="v4"] .unified-home-hero-v4 .hero-route{
    min-width:0!important;
    width:100%!important;
  }
}


/* Final specificity guard: viewport height and hero scale must win over legacy page rules */
html[data-preview="v4"] body main .stage2-home-exact.unified-home-hero-v4,
html[data-preview="v4"] body main.services-v4 .service-v4-hero.unified-hero-v4,
html[data-preview="v4"] body main.pa-materials .pa-materials-hero.unified-hero-v4,
html[data-preview="v4"] body main.stage2-company-exact .company-v3-hero.unified-hero-v4,
html[data-preview="v4"] body main.pa-contacts .pa-contacts-hero.unified-hero-v4{
  height:var(--pa-screen-h)!important;
  min-height:var(--pa-screen-h)!important;
  max-height:var(--pa-screen-h)!important;
}

html[data-preview="v4"] body main .stage2-home-exact.unified-home-hero-v4 h1,
html[data-preview="v4"] body main.services-v4 .service-v4-hero.unified-hero-v4 h1,
html[data-preview="v4"] body main.pa-materials .pa-materials-hero.unified-hero-v4 h1,
html[data-preview="v4"] body main.stage2-company-exact .company-v3-hero.unified-hero-v4 h1,
html[data-preview="v4"] body main.pa-contacts .pa-contacts-hero.unified-hero-v4 h1{
  font-size:clamp(62px,calc(92px * var(--pa-ui-scale)),102px)!important;
  line-height:.91!important;
  letter-spacing:-.028em!important;
}

html[data-preview="v4"] body main .stage2-home-exact.unified-home-hero-v4 .kicker,
html[data-preview="v4"] body main.services-v4 .service-v4-brandline,
html[data-preview="v4"] body main.pa-materials .pa-kicker,
html[data-preview="v4"] body main.stage2-company-exact .company-v3-brandline,
html[data-preview="v4"] body main.pa-contacts .pa-kicker{
  font-size:clamp(14px,calc(16px * var(--pa-ui-scale)),18px)!important;
  margin-bottom:calc(16px * var(--pa-ui-scale))!important;
}

@media(min-width:901px) and (max-height:760px){
  html[data-preview="v4"] body main .stage2-home-exact.unified-home-hero-v4 h1,
  html[data-preview="v4"] body main.services-v4 .service-v4-hero.unified-hero-v4 h1,
  html[data-preview="v4"] body main.pa-materials .pa-materials-hero.unified-hero-v4 h1,
  html[data-preview="v4"] body main.stage2-company-exact .company-v3-hero.unified-hero-v4 h1,
  html[data-preview="v4"] body main.pa-contacts .pa-contacts-hero.unified-hero-v4 h1{
    font-size:clamp(58px,calc(84px * var(--pa-ui-scale)),90px)!important;
  }
}


/* Home-specific legacy override neutralizer */
html[data-preview="v4"] body.home-client-v1 main .stage2-home-exact.unified-home-hero-v4 .home-hero-copy h1{
  font-size:clamp(62px,calc(92px * var(--pa-ui-scale)),102px)!important;
  line-height:.91!important;
  letter-spacing:-.028em!important;
  margin-bottom:calc(22px * var(--pa-ui-scale))!important;
  transform:none!important;
}
html[data-preview="v4"] body.home-client-v1 main .stage2-home-exact.unified-home-hero-v4 .home-hero-copy .kicker{
  font-size:clamp(14px,calc(16px * var(--pa-ui-scale)),18px)!important;
  margin-bottom:calc(16px * var(--pa-ui-scale))!important;
  transform:none!important;
}
@media(min-width:901px) and (max-height:760px){
  html[data-preview="v4"] body.home-client-v1 main .stage2-home-exact.unified-home-hero-v4 .home-hero-copy h1{
    font-size:clamp(58px,calc(84px * var(--pa-ui-scale)),90px)!important;
  }
}


/* Home render hierarchy requested by client: blue first line, white second line */
html[data-preview="v4"] body.home-client-v1 main .stage2-home-exact.unified-home-hero-v4 .home-hero-copy h1>.hero-accent{
  color:var(--pa-hero-blue)!important;
  -webkit-text-fill-color:var(--pa-hero-blue)!important;
}
html[data-preview="v4"] body.home-client-v1 main .stage2-home-exact.unified-home-hero-v4 .home-hero-copy h1>.hero-main-line{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}


/* 2026-10-01 client reference alignment:
   all hero content is vertically centered on the left and scaled up */
html[data-preview="v4"] body .unified-home-hero-v4>.container,
html[data-preview="v4"] body .unified-hero-v4 .service-v4-hero-inner,
html[data-preview="v4"] body .unified-hero-v4 .company-v3-hero-inner,
html[data-preview="v4"] body .unified-hero-v4 .pa-hero-inner{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  padding-top:0!important;
  padding-bottom:0!important;
}

html[data-preview="v4"] body .unified-home-hero-v4 .home-hero-copy,
html[data-preview="v4"] body .unified-hero-v4 .service-v4-hero-copy,
html[data-preview="v4"] body .unified-hero-v4 .company-v3-hero-copy,
html[data-preview="v4"] body .unified-hero-v4 .pa-hero-copy{
  width:min(1160px,72vw)!important;
  max-width:1160px!important;
  margin:0!important;
  padding:0!important;
  align-self:auto!important;
  transform:translateY(-2%)!important;
}

html[data-preview="v4"] body.home-client-v1 main .stage2-home-exact.unified-home-hero-v4 .home-hero-copy h1,
html[data-preview="v4"] body main.services-v4 .service-v4-hero.unified-hero-v4 h1,
html[data-preview="v4"] body main.pa-materials .pa-materials-hero.unified-hero-v4 h1,
html[data-preview="v4"] body main.stage2-company-exact .company-v3-hero.unified-hero-v4 h1,
html[data-preview="v4"] body main.pa-contacts .pa-contacts-hero.unified-hero-v4 h1{
  font-size:clamp(68px,calc(102px * var(--pa-ui-scale)),112px)!important;
  line-height:.90!important;
  letter-spacing:-.03em!important;
  margin:0 0 calc(24px * var(--pa-ui-scale))!important;
}

html[data-preview="v4"] body .unified-home-hero-v4 .kicker,
html[data-preview="v4"] body .unified-hero-v4 .service-v4-brandline,
html[data-preview="v4"] body .unified-hero-v4 .company-v3-brandline,
html[data-preview="v4"] body .unified-hero-v4 .pa-kicker{
  font-size:clamp(15px,calc(17px * var(--pa-ui-scale)),19px)!important;
  margin-bottom:calc(18px * var(--pa-ui-scale))!important;
}

html[data-preview="v4"] body .unified-home-hero-v4 .home-hero-lead,
html[data-preview="v4"] body .unified-hero-v4 .service-v4-story,
html[data-preview="v4"] body .unified-hero-v4 .company-v3-story,
html[data-preview="v4"] body .unified-hero-v4 .pa-hero-copy>p{
  max-width:930px!important;
  font-size:clamp(19px,calc(22px * var(--pa-ui-scale)),24px)!important;
  line-height:1.42!important;
  margin-bottom:calc(22px * var(--pa-ui-scale))!important;
}

html[data-preview="v4"] .unified-home-hero-v4 .hero-route{
  min-height:calc(76px * var(--pa-ui-scale))!important;
  min-width:390px!important;
  font-size:clamp(18px,calc(20px * var(--pa-ui-scale)),22px)!important;
}

html[data-preview="v4"] .services-v4 .service-v4-hero-chips a,
html[data-preview="v4"] .pa-materials .pa-chips a{
  min-height:calc(50px * var(--pa-ui-scale))!important;
  font-size:clamp(15px,calc(16px * var(--pa-ui-scale)),18px)!important;
}

html[data-preview="v4"] .services-v4 .service-v4-hero-btn,
html[data-preview="v4"] .pa-materials .pa-btn{
  min-height:calc(64px * var(--pa-ui-scale))!important;
  font-size:clamp(16px,calc(18px * var(--pa-ui-scale)),20px)!important;
}

/* Short desktop windows: stay centered, scale content rather than pinning it to the top */
@media(min-width:901px) and (max-height:760px){
  html[data-preview="v4"] body .unified-home-hero-v4 .home-hero-copy,
  html[data-preview="v4"] body .unified-hero-v4 .service-v4-hero-copy,
  html[data-preview="v4"] body .unified-hero-v4 .company-v3-hero-copy,
  html[data-preview="v4"] body .unified-hero-v4 .pa-hero-copy{
    transform:none!important;
  }

  html[data-preview="v4"] body.home-client-v1 main .stage2-home-exact.unified-home-hero-v4 .home-hero-copy h1,
  html[data-preview="v4"] body main.services-v4 .service-v4-hero.unified-hero-v4 h1,
  html[data-preview="v4"] body main.pa-materials .pa-materials-hero.unified-hero-v4 h1,
  html[data-preview="v4"] body main.stage2-company-exact .company-v3-hero.unified-hero-v4 h1,
  html[data-preview="v4"] body main.pa-contacts .pa-contacts-hero.unified-hero-v4 h1{
    font-size:clamp(60px,calc(88px * var(--pa-ui-scale)),94px)!important;
  }

  html[data-preview="v4"] body .unified-home-hero-v4 .home-hero-lead,
  html[data-preview="v4"] body .unified-hero-v4 .service-v4-story,
  html[data-preview="v4"] body .unified-hero-v4 .company-v3-story,
  html[data-preview="v4"] body .unified-hero-v4 .pa-hero-copy>p{
    font-size:clamp(17px,calc(19px * var(--pa-ui-scale)),21px)!important;
  }
}

/* Large 2K/4K desktop: keep the block visually dominant, not tiny in a huge viewport */
@media(min-width:2200px) and (min-height:1200px){
  html[data-preview="v4"] body .unified-home-hero-v4 .home-hero-copy,
  html[data-preview="v4"] body .unified-hero-v4 .service-v4-hero-copy,
  html[data-preview="v4"] body .unified-hero-v4 .company-v3-hero-copy,
  html[data-preview="v4"] body .unified-hero-v4 .pa-hero-copy{
    width:min(1320px,66vw)!important;
    max-width:1320px!important;
  }
  html[data-preview="v4"] body.home-client-v1 main .stage2-home-exact.unified-home-hero-v4 .home-hero-copy h1,
  html[data-preview="v4"] body main.services-v4 .service-v4-hero.unified-hero-v4 h1,
  html[data-preview="v4"] body main.pa-materials .pa-materials-hero.unified-hero-v4 h1,
  html[data-preview="v4"] body main.stage2-company-exact .company-v3-hero.unified-hero-v4 h1,
  html[data-preview="v4"] body main.pa-contacts .pa-contacts-hero.unified-hero-v4 h1{
    font-size:118px!important;
  }
  html[data-preview="v4"] body .unified-home-hero-v4 .home-hero-lead,
  html[data-preview="v4"] body .unified-hero-v4 .service-v4-story,
  html[data-preview="v4"] body .unified-hero-v4 .company-v3-story,
  html[data-preview="v4"] body .unified-hero-v4 .pa-hero-copy>p{
    font-size:25px!important;
    max-width:1020px!important;
  }
}


/* Company page had a legacy start-alignment override; keep it on the same centered hero grid */
html[data-preview="v4"] body main.stage2-company-exact .company-v3-hero.unified-hero-v4 .company-v3-hero-inner{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  padding-top:0!important;
  padding-bottom:0!important;
}
html[data-preview="v4"] body main.stage2-company-exact .company-v3-hero.unified-hero-v4 .company-v3-hero-copy{
  align-self:auto!important;
  transform:translateY(-2%)!important;
}


/* Native 4K without OS scaling: preserve the same visual proportion as 2K */
@media(min-width:3200px) and (min-height:1700px){
  html[data-preview="v4"] body .unified-home-hero-v4 .home-hero-copy,
  html[data-preview="v4"] body .unified-hero-v4 .service-v4-hero-copy,
  html[data-preview="v4"] body .unified-hero-v4 .company-v3-hero-copy,
  html[data-preview="v4"] body .unified-hero-v4 .pa-hero-copy{
    width:min(1540px,58vw)!important;
    max-width:1540px!important;
  }
  html[data-preview="v4"] body.home-client-v1 main .stage2-home-exact.unified-home-hero-v4 .home-hero-copy h1,
  html[data-preview="v4"] body main.services-v4 .service-v4-hero.unified-hero-v4 h1,
  html[data-preview="v4"] body main.pa-materials .pa-materials-hero.unified-hero-v4 h1,
  html[data-preview="v4"] body main.stage2-company-exact .company-v3-hero.unified-hero-v4 h1,
  html[data-preview="v4"] body main.pa-contacts .pa-contacts-hero.unified-hero-v4 h1{
    font-size:144px!important;
  }
  html[data-preview="v4"] body .unified-home-hero-v4 .kicker,
  html[data-preview="v4"] body .unified-hero-v4 .service-v4-brandline,
  html[data-preview="v4"] body .unified-hero-v4 .company-v3-brandline,
  html[data-preview="v4"] body .unified-hero-v4 .pa-kicker{
    font-size:21px!important;
  }
  html[data-preview="v4"] body .unified-home-hero-v4 .home-hero-lead,
  html[data-preview="v4"] body .unified-hero-v4 .service-v4-story,
  html[data-preview="v4"] body .unified-hero-v4 .company-v3-story,
  html[data-preview="v4"] body .unified-hero-v4 .pa-hero-copy>p{
    font-size:28px!important;
    max-width:1160px!important;
  }
}


/* 2026-10-01 readability polish for light real photos */
html[data-preview="v4"] body main.pa-materials .pa-materials-hero.unified-hero-v4::before,
html[data-preview="v4"] body main.pa-contacts .pa-contacts-hero.unified-hero-v4::before{
  background:linear-gradient(
    90deg,
    rgba(2,7,12,.72) 0%,
    rgba(2,7,12,.54) 30%,
    rgba(2,7,12,.26) 49%,
    rgba(2,7,12,.08) 66%,
    rgba(2,7,12,0) 80%
  )!important;
}

html[data-preview="v4"] body main.pa-materials .pa-materials-hero.unified-hero-v4 .pa-hero-copy,
html[data-preview="v4"] body main.pa-contacts .pa-contacts-hero.unified-hero-v4 .pa-hero-copy{
  text-shadow:0 2px 18px rgba(0,0,0,.42)!important;
}

/* Contacts now use a lightweight real warehouse photo */
html[data-preview="v4"] body main.pa-contacts .pa-contacts-hero .pa-hero-media{
  object-position:center 48%!important;
}


/* 2026-10-01 stronger local hero shading: use the real shade layer above the image */
html[data-preview="v4"] body main.pa-materials .pa-materials-hero.unified-hero-v4 .pa-hero-shade,
html[data-preview="v4"] body main.pa-contacts .pa-contacts-hero.unified-hero-v4 .pa-hero-shade{
  display:block!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  pointer-events:none!important;
  background:linear-gradient(
    90deg,
    rgba(2,7,12,.82) 0%,
    rgba(2,7,12,.68) 29%,
    rgba(2,7,12,.40) 48%,
    rgba(2,7,12,.14) 66%,
    rgba(2,7,12,0) 82%
  )!important;
}
html[data-preview="v4"] body main.pa-materials .pa-materials-hero.unified-hero-v4::before,
html[data-preview="v4"] body main.pa-contacts .pa-contacts-hero.unified-hero-v4::before{
  background:none!important;
}
html[data-preview="v4"] body main.pa-materials .pa-materials-hero .pa-hero-inner,
html[data-preview="v4"] body main.pa-contacts .pa-contacts-hero .pa-hero-inner{
  position:relative!important;
  z-index:2!important;
}

/* One visual block per desktop viewport.
   Long content may grow only when it genuinely cannot fit without clipping. */
@media(min-width:901px){
  html[data-preview="v4"] .services-v4 .service-v4-block,
  html[data-preview="v4"] .services-v4 .service-v4-cta,
  html[data-preview="v4"] .pa-materials > .pa-section,
  html[data-preview="v4"] .stage2-company-exact .company-v3-block,
  html[data-preview="v4"] .stage2-company-exact .company-v3-partners,
  html[data-preview="v4"] .pa-contacts > .pa-section{
    min-height:var(--pa-screen-h)!important;
    box-sizing:border-box!important;
  }

  html[data-preview="v4"] .services-v4 .service-v4-block,
  html[data-preview="v4"] .stage2-company-exact .company-v3-block,
  html[data-preview="v4"] .stage2-company-exact .company-v3-partners{
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
  }

  html[data-preview="v4"] .services-v4 .service-v4-list{
    padding-top:0!important;
    padding-bottom:0!important;
  }
  html[data-preview="v4"] .services-v4 .service-v4-list>.container{
    width:100%!important;
    max-width:none!important;
  }
  html[data-preview="v4"] .services-v4 .service-v4-label{
    min-height:72px!important;
    display:flex!important;
    align-items:flex-end!important;
    padding-left:56px!important;
    margin:0!important;
  }

  html[data-preview="v4"] .stage2-company-exact .company-v3-assets{
    padding-top:0!important;
    padding-bottom:0!important;
  }
  html[data-preview="v4"] .stage2-company-exact .company-v3-assets>.container{
    width:100%!important;
    max-width:none!important;
  }
  html[data-preview="v4"] .stage2-company-exact .company-v3-label{
    min-height:72px!important;
    display:flex!important;
    align-items:flex-end!important;
    padding-left:56px!important;
    margin:0!important;
  }

  /* Product/contact sections were only slightly taller than one screen; compact their vertical rhythm. */
  html[data-preview="v4"] .pa-materials > .pa-section,
  html[data-preview="v4"] .pa-contacts > .pa-section{
    padding-top:24px!important;
    padding-bottom:24px!important;
  }
  html[data-preview="v4"] .pa-materials > .pa-section>.container,
  html[data-preview="v4"] .pa-contacts > .pa-section>.container{
    min-height:calc(var(--pa-screen-h) - 48px)!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
  }

  html[data-preview="v4"] .pa-materials .pa-section-title,
  html[data-preview="v4"] .pa-contacts .pa-section-title{
    margin-top:8px!important;
    margin-bottom:14px!important;
  }
  html[data-preview="v4"] .pa-materials .pa-section-intro{
    margin-bottom:18px!important;
  }
}

/* Scroll anchors land below the fixed header */
html[data-preview="v4"] .service-v4-block,
html[data-preview="v4"] .pa-section,
html[data-preview="v4"] .company-v3-block,
html[data-preview="v4"] .company-v3-partners{
  scroll-margin-top:var(--pa-live-header-h)!important;
}


/* Viewport block tuning: remove wrapper-only height and fit dense sections to one screen */
@media(min-width:901px){
  /* Section labels live inside the first viewport instead of creating an extra partial strip. */
  html[data-preview="v4"] .services-v4 .service-v4-list>.container,
  html[data-preview="v4"] .stage2-company-exact .company-v3-assets>.container{
    position:relative!important;
  }
  html[data-preview="v4"] .services-v4 .service-v4-label,
  html[data-preview="v4"] .stage2-company-exact .company-v3-label{
    position:absolute!important;
    z-index:3!important;
    top:22px!important;
    left:56px!important;
    min-height:0!important;
    padding:0!important;
    margin:0!important;
  }

  html[data-preview="v4"] .stage2-company-exact .company-v3-block,
  html[data-preview="v4"] .stage2-company-exact .company-v3-block + .company-v3-block,
  html[data-preview="v4"] .stage2-company-exact .company-v3-partners{
    margin-top:0!important;
  }

  /* Material nomenclature: preserve all cards but fit the complete block into the viewport. */
  html[data-preview="v4"] .pa-materials .pa-material-range{
    height:var(--pa-screen-h)!important;
    min-height:var(--pa-screen-h)!important;
    overflow:hidden!important;
    padding-top:18px!important;
    padding-bottom:18px!important;
  }
  html[data-preview="v4"] .pa-materials .pa-material-range>.container{
    min-height:calc(var(--pa-screen-h) - 36px)!important;
  }
  html[data-preview="v4"] .pa-materials .pa-material-range .pa-material-grid{
    gap:10px!important;
    margin-top:10px!important;
  }
  html[data-preview="v4"] .pa-materials .pa-material-range .pa-material-card>img{
    height:136px!important;
  }
  html[data-preview="v4"] .pa-materials .pa-material-range .pa-material-card>div{
    min-height:132px!important;
    padding:10px 14px 12px!important;
  }
  html[data-preview="v4"] .pa-materials .pa-material-range .pa-material-card h3{
    margin-bottom:6px!important;
  }
  html[data-preview="v4"] .pa-materials .pa-material-range .pa-material-card dl{
    margin-bottom:7px!important;
  }

  /* Request section: fit the form/photo pair without cropping. */
  html[data-preview="v4"] .pa-materials .pa-request-spec{
    height:var(--pa-screen-h)!important;
    min-height:var(--pa-screen-h)!important;
    overflow:hidden!important;
    padding-top:16px!important;
    padding-bottom:16px!important;
  }
  html[data-preview="v4"] .pa-materials .pa-request-spec>.container{
    min-height:calc(var(--pa-screen-h) - 32px)!important;
  }
  html[data-preview="v4"] .pa-request-spec .pa-request-card{
    padding:16px!important;
  }
  html[data-preview="v4"] .pa-request-field input{
    min-height:50px!important;
    height:50px!important;
  }

  /* The other product/contact blocks already fit; lock them exactly to one viewport. */
  html[data-preview="v4"] .pa-materials > .pa-online-tools,
  html[data-preview="v4"] .pa-materials > .pa-origin,
  html[data-preview="v4"] .pa-contacts > .pa-contact-details,
  html[data-preview="v4"] .services-v4 .service-v4-block,
  html[data-preview="v4"] .services-v4 .service-v4-cta,
  html[data-preview="v4"] .stage2-company-exact .company-v3-block,
  html[data-preview="v4"] .stage2-company-exact .company-v3-partners{
    height:var(--pa-screen-h)!important;
    min-height:var(--pa-screen-h)!important;
    max-height:var(--pa-screen-h)!important;
    overflow:hidden!important;
  }
}


/* Make the local readability gradient unmistakable, matching the Company hero feel. */
html[data-preview="v4"] body main.pa-materials .pa-materials-hero.unified-hero-v4 .pa-hero-shade,
html[data-preview="v4"] body main.pa-contacts .pa-contacts-hero.unified-hero-v4 .pa-hero-shade{
  background:linear-gradient(
    90deg,
    rgba(2,7,12,.90) 0%,
    rgba(2,7,12,.78) 28%,
    rgba(2,7,12,.50) 46%,
    rgba(2,7,12,.20) 63%,
    rgba(2,7,12,.04) 78%,
    rgba(2,7,12,0) 88%
  )!important;
}


/* Short desktop safety: content-rich sections may grow, but never become shorter than one viewport. */
@media(min-width:901px) and (max-height:800px){
  html[data-preview="v4"] .pa-materials > .pa-section,
  html[data-preview="v4"] .pa-contacts > .pa-section{
    height:auto!important;
    min-height:var(--pa-screen-h)!important;
    max-height:none!important;
    overflow:visible!important;
  }
}


/* =========================================================
   2026-10-01 layout cleanup
   Consistent gutters, no edge-sticking, no empty full-screen CTA
   ========================================================= */
:root{
  --pa-content-max:1520px;
  --pa-content-gutter:40px;
}

/* Restore one consistent centered content width after viewport sizing pass */
html[data-preview="v4"] .services-v4 .service-v4-list>.container,
html[data-preview="v4"] .stage2-company-exact .company-v3-assets>.container,
html[data-preview="v4"] .pa-materials > .pa-section>.container,
html[data-preview="v4"] .pa-contacts > .pa-section>.container,
html[data-preview="v4"] .service-v4-cta>.container,
html[data-preview="v4"] .site-footer>.container{
  width:min(calc(100% - (var(--pa-content-gutter) * 2)),var(--pa-content-max))!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Parent labels were creating stray text at the top edge; block kickers already do this job. */
html[data-preview="v4"] .services-v4 .service-v4-label,
html[data-preview="v4"] .stage2-company-exact .company-v3-label{
  display:none!important;
}

/* Full-screen substantive blocks keep safe horizontal gutters */
html[data-preview="v4"] .services-v4 .service-v4-block,
html[data-preview="v4"] .stage2-company-exact .company-v3-block,
html[data-preview="v4"] .stage2-company-exact .company-v3-partners{
  width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
}

/* Keep headings and grids inside the same visual column */
html[data-preview="v4"] .services-v4 .service-v4-block-head,
html[data-preview="v4"] .services-v4 .service-v4-grid,
html[data-preview="v4"] .stage2-company-exact .company-v3-block-head,
html[data-preview="v4"] .stage2-company-exact .company-v3-block-grid,
html[data-preview="v4"] .stage2-company-exact .partners-clean-grid,
html[data-preview="v4"] .stage2-company-exact .stage2-partners-assurance{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}

/* CTA is a compact closing block, not an empty full-screen slide. */
html[data-preview="v4"] .services-v4 .service-v4-cta{
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
  padding:54px 0!important;
}
html[data-preview="v4"] .services-v4 .service-v4-cta-inner{
  min-height:0!important;
  display:grid!important;
  align-items:center!important;
}

/* Footer stays content-height; it should never look like an empty viewport. */
html[data-preview="v4"] .site-footer{
  min-height:0!important;
  height:auto!important;
  padding-top:54px!important;
  padding-bottom:28px!important;
}
html[data-preview="v4"] .site-footer .footer-grid{
  align-items:start!important;
  gap:48px!important;
}
html[data-preview="v4"] .site-footer .footer-bottom{
  margin-top:42px!important;
}

/* Footer brand uses header metrics; remove old footer-only scaling rules. */
html[data-preview="v4"] .site-footer .footer-brand-lockup-v4{
  margin:0!important;
  padding:0!important;
  transform:none!important;
}
html[data-preview="v4"] .site-footer .footer-brand-lockup-v4 .header-brand-copy-v4,
html[data-preview="v4"] .site-footer .footer-brand-lockup-v4 .header-fit-group-v4{
  height:auto!important;
  margin:0!important;
  row-gap:1px!important;
  align-content:center!important;
}
html[data-preview="v4"] .site-footer .footer-brand-lockup-v4 .header-fit-row-v4{
  margin:0!important;
  padding:0!important;
  height:auto!important;
  min-height:0!important;
}

/* Soft snap helps full-height blocks settle cleanly without forcing the user. */
@media(min-width:901px){
  html[data-preview="v4"]{
    scroll-snap-type:y proximity;
    scroll-padding-top:var(--pa-live-header-h);
  }
  html[data-preview="v4"] .unified-home-hero-v4,
  html[data-preview="v4"] .unified-hero-v4,
  html[data-preview="v4"] .services-v4 .service-v4-block,
  html[data-preview="v4"] .pa-materials > .pa-section,
  html[data-preview="v4"] .stage2-company-exact .company-v3-block,
  html[data-preview="v4"] .stage2-company-exact .company-v3-partners,
  html[data-preview="v4"] .pa-contacts > .pa-section{
    scroll-snap-align:start;
    scroll-snap-stop:normal;
  }
}

/* Smaller desktops keep comfortable gutters rather than sticking to screen edges. */
@media(max-width:1180px){
  :root{--pa-content-gutter:22px;}
}

@media(max-width:900px){
  html[data-preview="v4"]{scroll-snap-type:none;}
  :root{--pa-content-gutter:16px;}
  html[data-preview="v4"] .services-v4 .service-v4-cta{
    padding:36px 0!important;
  }
  html[data-preview="v4"] .site-footer{
    padding-top:38px!important;
  }
}


/* Wider desktop canvas while preserving the same safe 40px side gutters. */
:root{--pa-content-max:2000px;}

html[data-preview="v4"] .site-footer .footer-brand-lockup-v4 .header-logo-v4{
  box-sizing:border-box!important;
  object-fit:contain!important;
  padding:0!important;
  margin:0!important;
}


/* 2026-10-01 final micro-polish: true between-block divider + full image rounding */
html[data-preview="v4"] .services-v4 .service-v4-block-head,
html[data-preview="v4"] .stage2-company-exact .company-v3-block-head{
  border-bottom:0!important;
}

/* Divider belongs to the boundary between viewport blocks, not below the title */
html[data-preview="v4"] .services-v4 .service-v4-block,
html[data-preview="v4"] .stage2-company-exact .company-v3-block{
  position:relative!important;
}
html[data-preview="v4"] .services-v4 .service-v4-block + .service-v4-block::before,
html[data-preview="v4"] .stage2-company-exact .company-v3-block + .company-v3-block::before{
  content:""!important;
  position:absolute!important;
  z-index:8!important;
  left:var(--pa-content-gutter)!important;
  right:var(--pa-content-gutter)!important;
  top:0!important;
  height:1px!important;
  background:rgba(104,132,151,.28)!important;
  pointer-events:none!important;
}

/* Ensure every media card is clipped on all four corners */
html[data-preview="v4"] .services-v4 .service-v4-grid>figure,
html[data-preview="v4"] .stage2-company-exact .company-v3-block-grid>figure{
  overflow:hidden!important;
  border-radius:14px!important;
  clip-path:inset(0 round 14px)!important;
  isolation:isolate!important;
}
html[data-preview="v4"] .services-v4 .service-v4-grid>figure img,
html[data-preview="v4"] .stage2-company-exact .company-v3-block-grid>figure img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  border-radius:14px!important;
  clip-path:inset(0 round 14px)!important;
}


/* 2026-10-01 separator/radius correction:
   keep the divider in a real gap between blocks, never pinned to the next block top */
@media(min-width:901px){
  html[data-preview="v4"] .services-v4 .service-v4-block,
  html[data-preview="v4"] .stage2-company-exact .company-v3-block{
    height:calc(var(--pa-screen-h) - 24px)!important;
    min-height:calc(var(--pa-screen-h) - 24px)!important;
    max-height:calc(var(--pa-screen-h) - 24px)!important;
    margin:0 0 24px!important;
    overflow:visible!important;
  }

  html[data-preview="v4"] .services-v4 .service-v4-block:last-of-type,
  html[data-preview="v4"] .stage2-company-exact .company-v3-block:last-of-type{
    margin-bottom:0!important;
  }

  /* remove the previous top-of-next-block divider */
  html[data-preview="v4"] .services-v4 .service-v4-block + .service-v4-block::before,
  html[data-preview="v4"] .stage2-company-exact .company-v3-block + .company-v3-block::before{
    content:none!important;
    display:none!important;
  }

  /* divider sits halfway through the 24px inter-block gap */
  html[data-preview="v4"] .services-v4 .service-v4-block:not(:last-of-type)::after,
  html[data-preview="v4"] .stage2-company-exact .company-v3-block:not(:last-of-type)::after{
    content:""!important;
    position:absolute!important;
    z-index:8!important;
    left:var(--pa-content-gutter)!important;
    right:var(--pa-content-gutter)!important;
    bottom:-12px!important;
    height:1px!important;
    background:rgba(104,132,151,.30)!important;
    pointer-events:none!important;
  }
}

/* make all four image corners visibly rounded */
html[data-preview="v4"] .services-v4 .service-v4-grid>figure,
html[data-preview="v4"] .stage2-company-exact .company-v3-block-grid>figure{
  border-radius:18px!important;
  overflow:hidden!important;
  clip-path:inset(0 round 18px)!important;
  transform:translateZ(0)!important;
  background:#050709!important;
}
html[data-preview="v4"] .services-v4 .service-v4-grid>figure>img,
html[data-preview="v4"] .stage2-company-exact .company-v3-block-grid>figure>img{
  border-radius:18px!important;
  clip-path:inset(0 round 18px)!important;
  overflow:hidden!important;
  transform:translateZ(0)!important;
}





/* 2026-10-01 final hero-meta + company-divider correction */

/* One identical overline system on every hero */
html[data-preview="v4"] .unified-home-hero-v4 .kicker,
html[data-preview="v4"] .unified-hero-v4 .service-v4-brandline,
html[data-preview="v4"] .unified-hero-v4 .company-v3-brandline,
html[data-preview="v4"] .unified-hero-v4 .pa-kicker{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  min-height:19px!important;
  margin:0 0 18px!important;
  padding-left:18px!important;
  color:#9db2c2!important;
  font-family:Bahnschrift,"Bahnschrift Condensed","Arial Narrow",Arial,sans-serif!important;
  font-size:15.68px!important;
  font-weight:700!important;
  font-stretch:80%!important;
  line-height:1.2!important;
  letter-spacing:1.4112px!important;
  text-transform:uppercase!important;
}

/* Center the blue bar on the text line, not at the text baseline */
html[data-preview="v4"] .unified-home-hero-v4 .kicker::before,
html[data-preview="v4"] .unified-hero-v4 .service-v4-brandline::before,
html[data-preview="v4"] .unified-hero-v4 .company-v3-brandline::before,
html[data-preview="v4"] .unified-hero-v4 .pa-kicker::before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  top:50%!important;
  width:4px!important;
  height:22px!important;
  margin:0!important;
  border-radius:0!important;
  background:var(--pa-hero-blue)!important;
  transform:translateY(-50%)!important;
}

/* Home overline must use exactly the same typography as inner pages */
html[data-preview="v4"] .unified-home-hero-v4 .home-hero-kicker-blue{
  color:inherit!important;
  font:inherit!important;
  font-family:inherit!important;
  font-size:inherit!important;
  font-weight:inherit!important;
  font-stretch:inherit!important;
  line-height:inherit!important;
  letter-spacing:inherit!important;
  text-transform:inherit!important;
}

/* Material/contact separators: neutral round bullets, same color as overline text */
html[data-preview="v4"] .unified-hero-v4 .pa-kicker i,
html[data-preview="v4"] .pa-section-kicker i{
  display:inline-block!important;
  width:6px!important;
  height:6px!important;
  flex:0 0 6px!important;
  margin:0 10px!important;
  border-radius:50%!important;
  background:currentColor!important;
  box-shadow:none!important;
  vertical-align:middle!important;
}

/* Services overline gets the same centered blue bar explicitly */
html[data-preview="v4"] .services-v4 .service-v4-brandline{
  padding-left:18px!important;
}

/* COMPANY: no decorative line below any block heading */
html[data-preview="v4"] .stage2-company-exact :is(
  .stage2-production-block,
  .stage2-warehouse-block,
  .stage2-stock-block,
  .stage2-tender-block,
  .stage2-partners
) .company-v3-block-head{
  border-top:0!important;
  border-bottom:0!important;
  box-shadow:none!important;
  background-image:none!important;
}

html[data-preview="v4"] .stage2-company-exact :is(
  .stage2-production-block,
  .stage2-warehouse-block,
  .stage2-stock-block,
  .stage2-tender-block,
  .stage2-partners
) .company-v3-block-head::before,
html[data-preview="v4"] .stage2-company-exact :is(
  .stage2-production-block,
  .stage2-warehouse-block,
  .stage2-stock-block,
  .stage2-tender-block,
  .stage2-partners
) .company-v3-block-head::after{
  content:none!important;
  display:none!important;
}

/* COMPANY: one full-width divider exactly in the inter-block gap */
@media(min-width:901px){
  html[data-preview="v4"] .stage2-company-exact .company-v3-block{
    position:relative!important;
    margin-bottom:28px!important;
  }

  html[data-preview="v4"] .stage2-company-exact .company-v3-block + .company-v3-block::before{
    content:none!important;
    display:none!important;
  }

  html[data-preview="v4"] .stage2-company-exact .company-v3-block:not(:last-of-type)::after{
    content:""!important;
    position:absolute!important;
    z-index:8!important;
    left:0!important;
    right:0!important;
    bottom:-14px!important;
    height:1px!important;
    background:rgba(104,132,151,.30)!important;
    pointer-events:none!important;
  }
}


/* Exact specificity fixes for hero overlines */
html[data-preview="v4"] body.home-client-v1 main .stage2-home-exact.unified-home-hero-v4 .home-hero-copy .kicker{
  font-family:Bahnschrift,"Bahnschrift Condensed","Arial Narrow",Arial,sans-serif!important;
  font-size:15.68px!important;
  font-weight:700!important;
  font-stretch:80%!important;
  line-height:1.2!important;
  letter-spacing:1.4112px!important;
  color:#9db2c2!important;
}
html[data-preview="v4"] body.home-client-v1 main .stage2-home-exact.unified-home-hero-v4 .home-hero-copy .home-hero-kicker-blue{
  font-family:inherit!important;
  font-size:inherit!important;
  font-weight:inherit!important;
  font-stretch:inherit!important;
  line-height:inherit!important;
  letter-spacing:inherit!important;
  color:inherit!important;
}

/* Services had an old transform:none on the bar; force true vertical centering */
html[data-preview="v4"] body main.services-v4 .service-v4-hero.unified-hero-v4 .service-v4-brandline::before{
  top:50%!important;
  height:22px!important;
  transform:translateY(-50%)!important;
}

/* Keep the same centering rule explicit everywhere */
html[data-preview="v4"] body main.pa-materials .pa-materials-hero.unified-hero-v4 .pa-kicker::before,
html[data-preview="v4"] body main.stage2-company-exact .company-v3-hero.unified-hero-v4 .company-v3-brandline::before,
html[data-preview="v4"] body main.pa-contacts .pa-contacts-hero.unified-hero-v4 .pa-kicker::before,
html[data-preview="v4"] body.home-client-v1 main .stage2-home-exact.unified-home-hero-v4 .home-hero-copy .kicker::before{
  top:50%!important;
  height:22px!important;
  transform:translateY(-50%)!important;
}


/* Absolute centering without transform conflicts from legacy rules */
html[data-preview="v4"] body main.services-v4 .service-v4-hero.unified-hero-v4 .service-v4-brandline::before,
html[data-preview="v4"] body main.pa-materials .pa-materials-hero.unified-hero-v4 .pa-kicker::before,
html[data-preview="v4"] body main.stage2-company-exact .company-v3-hero.unified-hero-v4 .company-v3-brandline::before,
html[data-preview="v4"] body main.pa-contacts .pa-contacts-hero.unified-hero-v4 .pa-kicker::before,
html[data-preview="v4"] body.home-client-v1 main .stage2-home-exact.unified-home-hero-v4 .home-hero-copy .kicker::before{
  top:calc(50% - 11px)!important;
  height:22px!important;
  transform:none!important;
}


/* 2026-10-01 final pass: hero meta, dividers, materials viewport fit */

/* SERVICES: use a real border for the blue overline bar so it cannot disappear */
html[data-preview="v4"] body main.services-v4 .service-v4-brandline{
  border-left:4px solid var(--pa-hero-blue)!important;
  padding-left:14px!important;
}
html[data-preview="v4"] body main.services-v4 .service-v4-brandline::before{
  content:none!important;
  display:none!important;
}

/* SERVICES: divider exactly matches the block width */
@media(min-width:901px){
  html[data-preview="v4"] body main.services-v4 .service-v4-block{
    height:calc(var(--pa-screen-h) - 32px)!important;
    min-height:calc(var(--pa-screen-h) - 32px)!important;
    max-height:calc(var(--pa-screen-h) - 32px)!important;
    margin:0 0 32px!important;
  }
  html[data-preview="v4"] body main.services-v4 .service-v4-block:not(:last-of-type)::after{
    left:0!important;
    right:0!important;
    bottom:-16px!important;
    width:auto!important;
  }

  /* COMPANY: create a real centered gap around every divider */
  html[data-preview="v4"] body main.stage2-company-exact .company-v3-block{
    height:calc(var(--pa-screen-h) - 40px)!important;
    min-height:calc(var(--pa-screen-h) - 40px)!important;
    max-height:calc(var(--pa-screen-h) - 40px)!important;
    margin:0 0 40px!important;
  }
  html[data-preview="v4"] body main.stage2-company-exact .company-v3-block:not(:last-of-type)::after{
    left:0!important;
    right:0!important;
    bottom:-20px!important;
    width:auto!important;
  }
}

/* CONTACTS: anonymous flex text runs + gap were creating giant spacing */
html[data-preview="v4"] body main.pa-contacts .pa-kicker{
  gap:0!important;
  column-gap:0!important;
  row-gap:0!important;
  word-spacing:0!important;
}
html[data-preview="v4"] body main.pa-contacts .pa-kicker i{
  margin:0 12px!important;
}

/* MATERIALS: every desktop section is exactly one available viewport high */
@media(min-width:901px){
  html[data-preview="v4"] body main.pa-materials > .pa-section{
    height:var(--pa-screen-h)!important;
    min-height:var(--pa-screen-h)!important;
    max-height:var(--pa-screen-h)!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }
  html[data-preview="v4"] body main.pa-materials > .pa-section>.container{
    height:100%!important;
    min-height:0!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    box-sizing:border-box!important;
  }
}

/* Short desktop material layout: compact the content instead of growing past viewport */
@media(min-width:901px) and (max-height:800px){
  html[data-preview="v4"] body main.pa-materials > .pa-section{
    padding-top:12px!important;
    padding-bottom:12px!important;
  }
  html[data-preview="v4"] body main.pa-materials > .pa-section>.container{
    padding-top:0!important;
    padding-bottom:0!important;
  }
  html[data-preview="v4"] body main.pa-materials .pa-section-kicker{
    margin-bottom:6px!important;
    font-size:12px!important;
    line-height:1.1!important;
  }
  html[data-preview="v4"] body main.pa-materials .pa-section-title{
    margin:0 0 8px!important;
    font-size:clamp(30px,3vw,40px)!important;
    line-height:.95!important;
  }
  html[data-preview="v4"] body main.pa-materials .pa-section-intro{
    margin:0 0 10px!important;
    font-size:13px!important;
    line-height:1.3!important;
  }

  /* nomenclature */
  html[data-preview="v4"] body main.pa-materials .pa-material-range .pa-material-grid{
    gap:8px!important;
    margin-top:4px!important;
  }
  html[data-preview="v4"] body main.pa-materials .pa-material-range .pa-material-card>img{
    height:92px!important;
  }
  html[data-preview="v4"] body main.pa-materials .pa-material-range .pa-material-card>div{
    min-height:0!important;
    padding:8px 10px 9px!important;
  }
  html[data-preview="v4"] body main.pa-materials .pa-material-range .pa-material-card h3{
    margin:0 0 4px!important;
    font-size:16px!important;
  }
  html[data-preview="v4"] body main.pa-materials .pa-material-range .pa-material-card dl{
    margin:0 0 4px!important;
    font-size:11px!important;
    line-height:1.2!important;
  }
  html[data-preview="v4"] body main.pa-materials .pa-material-range .pa-material-card a{
    font-size:10px!important;
  }

  /* online tools */
  html[data-preview="v4"] body main.pa-materials .pa-online-tools .pa-tools-workbench{
    gap:12px!important;
    align-items:stretch!important;
  }
  html[data-preview="v4"] body main.pa-materials .pa-online-tools .pa-tools-stack{
    gap:10px!important;
  }
  html[data-preview="v4"] body main.pa-materials .pa-online-tools .pa-tool-panel{
    padding:10px!important;
  }
  html[data-preview="v4"] body main.pa-materials .pa-online-tools .pa-tool-panel h3{
    font-size:16px!important;
  }
  html[data-preview="v4"] body main.pa-materials .pa-online-tools .pa-tool-panel p,
  html[data-preview="v4"] body main.pa-materials .pa-online-tools label,
  html[data-preview="v4"] body main.pa-materials .pa-online-tools input,
  html[data-preview="v4"] body main.pa-materials .pa-online-tools select{
    font-size:12px!important;
  }
  html[data-preview="v4"] body main.pa-materials .pa-online-tools .pa-tool-photo{
    max-height:330px!important;
    overflow:hidden!important;
  }

  /* origin */
  html[data-preview="v4"] body main.pa-materials .pa-origin-grid{
    gap:12px!important;
  }
  html[data-preview="v4"] body main.pa-materials .pa-origin-copy{
    gap:8px!important;
  }
  html[data-preview="v4"] body main.pa-materials .pa-origin-copy article{
    padding:9px 10px!important;
  }
  html[data-preview="v4"] body main.pa-materials .pa-origin-copy h3{
    margin-bottom:3px!important;
    font-size:15px!important;
  }
  html[data-preview="v4"] body main.pa-materials .pa-origin-copy p{
    font-size:11.5px!important;
    line-height:1.25!important;
  }
  html[data-preview="v4"] body main.pa-materials .pa-origin .pa-media-card{
    max-height:360px!important;
  }

  /* request */
  html[data-preview="v4"] body main.pa-materials .pa-request-spec .pa-request-grid{
    gap:12px!important;
  }
  html[data-preview="v4"] body main.pa-materials .pa-request-spec .pa-request-card{
    padding:10px!important;
  }
  html[data-preview="v4"] body main.pa-materials .pa-request-spec .pa-choice-row{
    gap:6px!important;
    margin-bottom:8px!important;
  }
  html[data-preview="v4"] body main.pa-materials .pa-request-spec .pa-request-field{
    margin-bottom:7px!important;
  }
  html[data-preview="v4"] body main.pa-materials .pa-request-spec .pa-request-field input{
    height:40px!important;
    min-height:40px!important;
  }
  html[data-preview="v4"] body main.pa-materials .pa-request-spec .pa-upload-line{
    min-height:70px!important;
    padding:8px!important;
  }
  html[data-preview="v4"] body main.pa-materials .pa-request-spec .pa-request-note{
    margin:7px 0!important;
    font-size:11px!important;
  }
  html[data-preview="v4"] body main.pa-materials .pa-request-spec .pa-media-card{
    max-height:360px!important;
    overflow:hidden!important;
  }
}


/* 2026-10-01 materials finishing: no crop, no button overflow, single choice border */
html[data-preview="v4"] body main.pa-materials .pa-online-tools .pa-tools-workbench,
html[data-preview="v4"] body main.pa-materials .pa-request-spec .pa-request-grid{
  min-width:0!important;
}
html[data-preview="v4"] body main.pa-materials .pa-online-tools .pa-tools-stack,
html[data-preview="v4"] body main.pa-materials .pa-online-tools .pa-tool-panel,
html[data-preview="v4"] body main.pa-materials .pa-request-spec .pa-request-card{
  min-width:0!important;
  box-sizing:border-box!important;
}

/* Buttons stay strictly inside their card */
html[data-preview="v4"] body main.pa-materials .pa-tool-panel .pa-btn,
html[data-preview="v4"] body main.pa-materials .pa-mini-calc .pa-btn,
html[data-preview="v4"] body main.pa-materials .pa-request-card .pa-btn{
  display:flex!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  margin-left:0!important;
  margin-right:0!important;
  inset:auto!important;
  transform:none!important;
}

/* Choice controls: one frame only — the label itself */
html[data-preview="v4"] body main.pa-materials .pa-choice-option{
  min-width:0!important;
  box-sizing:border-box!important;
}
html[data-preview="v4"] body main.pa-materials .pa-choice-option>span{
  min-height:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  display:block!important;
}

/* Show the entire material photos instead of cropping them */
html[data-preview="v4"] body main.pa-materials .pa-online-tools .pa-tool-photo,
html[data-preview="v4"] body main.pa-materials .pa-request-spec .pa-media-card{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  background:#050b10!important;
}
html[data-preview="v4"] body main.pa-materials .pa-online-tools .pa-tool-photo img,
html[data-preview="v4"] body main.pa-materials .pa-request-spec .pa-media-card img{
  position:static!important;
  inset:auto!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  display:block!important;
}


/* 2026-10-01 materials layout recovery */
html[data-preview="v4"] body main.pa-materials .pa-online-tools .pa-tool-photo img{
  object-fit:cover!important;
  object-position:center center!important;
}
html[data-preview="v4"] body main.pa-materials .pa-request-spec .pa-media-card img{
  object-fit:cover!important;
  object-position:center center!important;
}

/* Give buttons visible breathing room inside cards */
html[data-preview="v4"] body main.pa-materials .pa-tool-panel,
html[data-preview="v4"] body main.pa-materials .pa-request-card{
  overflow:hidden!important;
}
html[data-preview="v4"] body main.pa-materials .pa-tool-panel .pa-btn,
html[data-preview="v4"] body main.pa-materials .pa-request-card .pa-btn{
  margin-bottom:6px!important;
}

/* Short desktop windows: compact controls rather than letting buttons sit on card edges */
@media(min-width:901px) and (max-height:820px){
  html[data-preview="v4"] body main.pa-materials .pa-online-tools .pa-tool-panel{
    padding:12px!important;
  }
  html[data-preview="v4"] body main.pa-materials .pa-mini-calc{
    gap:8px!important;
  }
  html[data-preview="v4"] body main.pa-materials .pa-mini-calc select,
  html[data-preview="v4"] body main.pa-materials .pa-mini-calc input,
  html[data-preview="v4"] body main.pa-materials .pa-mini-search input{
    height:36px!important;
  }
  html[data-preview="v4"] body main.pa-materials .pa-tool-panel .pa-btn{
    min-height:48px!important;
    height:48px!important;
    margin-top:10px!important;
    margin-bottom:8px!important;
  }

  html[data-preview="v4"] body main.pa-materials .pa-request-spec .pa-request-card{
    padding:14px!important;
    gap:12px!important;
  }
  html[data-preview="v4"] body main.pa-materials .pa-request-spec .pa-choice-row{
    margin-bottom:4px!important;
  }
  html[data-preview="v4"] body main.pa-materials .pa-request-spec .pa-request-field{
    margin-bottom:4px!important;
  }
  html[data-preview="v4"] body main.pa-materials .pa-request-spec .pa-request-field input{
    height:38px!important;
    min-height:38px!important;
  }
  html[data-preview="v4"] body main.pa-materials .pa-request-spec .pa-upload-line{
    min-height:64px!important;
    padding:8px 10px!important;
    margin-bottom:6px!important;
  }
  html[data-preview="v4"] body main.pa-materials .pa-request-spec .pa-request-note{
    margin:4px 0!important;
  }
  html[data-preview="v4"] body main.pa-materials .pa-request-card .pa-btn{
    min-height:48px!important;
    height:48px!important;
    margin-top:4px!important;
    margin-bottom:8px!important;
  }
}


/* Keep the online-services photo equal to the tools stack height */
@media(min-width:901px){
  html[data-preview="v4"] body main.pa-materials .pa-online-tools .pa-tools-workbench{
    align-items:stretch!important;
  }
  html[data-preview="v4"] body main.pa-materials .pa-online-tools .pa-tool-photo{
    height:auto!important;
    min-height:100%!important;
    max-height:none!important;
    align-self:stretch!important;
    aspect-ratio:auto!important;
  }
  html[data-preview="v4"] body main.pa-materials .pa-online-tools .pa-tool-photo img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center center!important;
  }
}


/* 2026-10-02 engineering tools: navigation cards only */
html[data-preview="v4"] body main.pa-materials .pa-online-tools .pa-tools-links{
  grid-template-columns:minmax(0,1fr) minmax(0,1.04fr)!important;
  gap:18px!important;
  align-items:stretch!important;
}
html[data-preview="v4"] body main.pa-materials .pa-online-tools .pa-tools-link-stack{
  display:grid!important;
  grid-template-rows:1fr 1fr!important;
  gap:14px!important;
  min-width:0!important;
  height:100%!important;
}
html[data-preview="v4"] body main.pa-materials .pa-online-tools .pa-tool-link-card{
  display:grid!important;
  grid-template-columns:64px minmax(0,1fr)!important;
  grid-template-rows:auto 1fr auto!important;
  column-gap:18px!important;
  row-gap:10px!important;
  align-items:start!important;
  min-width:0!important;
  height:100%!important;
  box-sizing:border-box!important;
  padding:22px!important;
  border:1px solid #284457!important;
  border-radius:14px!important;
  background:rgba(6,18,27,.92)!important;
  text-decoration:none!important;
  color:#fff!important;
  transition:border-color .18s ease,background .18s ease,transform .18s ease!important;
  overflow:hidden!important;
}
html[data-preview="v4"] body main.pa-materials .pa-online-tools .pa-tool-link-card:hover{
  border-color:#1683ff!important;
  background:rgba(8,27,41,.98)!important;
  transform:translateY(-1px)!important;
}
html[data-preview="v4"] body main.pa-materials .pa-online-tools .pa-tool-link-card .pa-tool-icon{
  grid-column:1!important;
  grid-row:1 / span 3!important;
  width:56px!important;
  height:56px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:10px!important;
  background:#1683ff!important;
  color:#fff!important;
  font-size:27px!important;
  line-height:1!important;
}
html[data-preview="v4"] body main.pa-materials .pa-online-tools .pa-tool-link-copy{
  grid-column:2!important;
  grid-row:1 / span 2!important;
  display:block!important;
  min-width:0!important;
}
html[data-preview="v4"] body main.pa-materials .pa-online-tools .pa-tool-link-copy strong{
  display:block!important;
  margin:0 0 8px!important;
  color:#fff!important;
  font-family:Bahnschrift,"Arial Narrow",Arial,sans-serif!important;
  font-size:clamp(20px,1.35vw,28px)!important;
  font-weight:800!important;
  line-height:1.02!important;
}
html[data-preview="v4"] body main.pa-materials .pa-online-tools .pa-tool-link-copy small{
  display:block!important;
  max-width:640px!important;
  color:#a8c0d0!important;
  font-size:15px!important;
  line-height:1.38!important;
}
html[data-preview="v4"] body main.pa-materials .pa-online-tools .pa-tool-link-action{
  grid-column:2!important;
  grid-row:3!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  min-width:0!important;
  padding-top:14px!important;
  border-top:1px solid rgba(120,151,171,.24)!important;
  color:#fff!important;
  font-family:Bahnschrift,"Arial Narrow",Arial,sans-serif!important;
  font-size:15px!important;
  font-weight:800!important;
  letter-spacing:.02em!important;
}
html[data-preview="v4"] body main.pa-materials .pa-online-tools .pa-tool-link-action b{
  color:#1683ff!important;
  font-size:20px!important;
}
html[data-preview="v4"] body main.pa-materials .pa-online-tools .pa-tool-photo{
  min-height:0!important;
  height:100%!important;
  max-height:none!important;
  border-radius:14px!important;
  overflow:hidden!important;
}
html[data-preview="v4"] body main.pa-materials .pa-online-tools .pa-tool-photo img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
}
@media(min-width:901px) and (max-height:820px){
  html[data-preview="v4"] body main.pa-materials .pa-online-tools .pa-tools-links{
    gap:14px!important;
  }
  html[data-preview="v4"] body main.pa-materials .pa-online-tools .pa-tools-link-stack{
    gap:10px!important;
  }
  html[data-preview="v4"] body main.pa-materials .pa-online-tools .pa-tool-link-card{
    grid-template-columns:54px minmax(0,1fr)!important;
    column-gap:14px!important;
    row-gap:7px!important;
    padding:16px!important;
  }
  html[data-preview="v4"] body main.pa-materials .pa-online-tools .pa-tool-link-card .pa-tool-icon{
    width:48px!important;
    height:48px!important;
    font-size:23px!important;
  }
  html[data-preview="v4"] body main.pa-materials .pa-online-tools .pa-tool-link-copy strong{
    margin-bottom:5px!important;
    font-size:20px!important;
  }
  html[data-preview="v4"] body main.pa-materials .pa-online-tools .pa-tool-link-copy small{
    font-size:13px!important;
    line-height:1.28!important;
  }
  html[data-preview="v4"] body main.pa-materials .pa-online-tools .pa-tool-link-action{
    padding-top:9px!important;
    font-size:13px!important;
  }
}
@media(max-width:900px){
  html[data-preview="v4"] body main.pa-materials .pa-online-tools .pa-tools-links{
    grid-template-columns:1fr!important;
  }
  html[data-preview="v4"] body main.pa-materials .pa-online-tools .pa-tool-photo{
    min-height:280px!important;
  }
}


/* v1.0.62 — AA Magnum hero headings */
@font-face{
  font-family:"AA Magnum";
  src:url("fonts/AAMagnum.ttf") format("truetype");
  font-style:normal;
  font-weight:400;
  font-display:swap;
}

body.home-client-v1 .unified-home-hero-v4 .home-hero-copy h1,
body .service-v4-hero.unified-hero-v4 h1,
body .pa-materials-hero.unified-hero-v4 h1,
body .company-v3-hero.unified-hero-v4 h1,
body .pa-contacts-hero.unified-hero-v4 h1{
  font-family:"AA Magnum","Bahnschrift Condensed","Arial Narrow",sans-serif!important;
  font-weight:400!important;
}
