:root{
  --navy:#122f44;
  --navy-dark:#071a28;
  --red:#e3062a;
  --silver:#cfd4d8;
  --paper:#f5f3ee;
  --white:#fffefa;
  --ink:#13202a;
  --muted:#5d6870;
  --line:rgba(18,47,68,.16);
  --line-dark:rgba(255,255,255,.18);
  --shadow:0 28px 80px rgba(7,26,40,.18);
  --ease:cubic-bezier(.2,.8,.2,1);
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,textarea,select{font:inherit}.scroll-meter{display:none}.hp{position:absolute!important;left:-9999px!important}.wide{grid-column:1/-1}.label{margin:0 0 14px;text-transform:uppercase;letter-spacing:.16em;color:var(--red);font-size:13px;font-weight:950}.label.light{color:#fff}.site-header{position:relative;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px clamp(18px,4vw,60px);background:var(--white);border-bottom:1px solid var(--line)}.brand-mark{display:flex;align-items:center}.brand-mark img{width:190px;height:auto}.site-nav{display:flex;align-items:center;gap:4px}.site-nav a{padding:12px 13px;text-transform:uppercase;letter-spacing:.09em;font-size:12px;font-weight:900;color:var(--navy);border:1px solid transparent;transition:.22s var(--ease)}.site-nav a:hover{border-color:var(--navy);background:var(--navy);color:#fff}.menu-button{display:none;width:48px;height:42px;border:1px solid var(--navy);background:transparent;padding:10px;border-radius:0}.menu-button span{display:block;height:2px;background:var(--navy);margin:6px 0}.hero{position:relative;min-height:calc(100svh - 84px);display:grid;align-items:end;overflow:hidden}.hero-image{background-image:var(--hero-image);background-size:cover;background-position:center center}.hero-image:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,26,40,.88) 0%,rgba(7,26,40,.62) 38%,rgba(7,26,40,.18) 74%,rgba(7,26,40,.58) 100%)}.hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 0%,rgba(7,26,40,.15) 46%,rgba(7,26,40,.9) 100%);pointer-events:none}.hero-content{position:relative;z-index:2;width:min(1120px,100%);padding:clamp(72px,10vw,140px) clamp(18px,5vw,72px) clamp(90px,10vw,150px)}.hero h1{margin:0;color:#fff;font-size:clamp(58px,10vw,148px);line-height:.88;letter-spacing:-.075em;max-width:1050px;text-wrap:balance}.hero-line{max-width:860px;margin:28px 0 0;color:#f5f3ee;font-size:clamp(23px,3vw,42px);line-height:1.08;letter-spacing:-.035em;font-weight:650;text-shadow:0 2px 18px rgba(0,0,0,.28)}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:15px 20px;border:1px solid var(--navy);font-weight:950;text-transform:uppercase;letter-spacing:.08em;font-size:12px;cursor:pointer;transition:.24s var(--ease);border-radius:0}.button.primary{background:var(--red);border-color:var(--red);color:#fff}.button.primary:hover{background:#b80422;border-color:#b80422;transform:translateY(-3px)}.button.secondary{background:transparent;color:var(--navy)}.button.secondary:hover{background:var(--navy);color:#fff;transform:translateY(-3px)}.light-button{border-color:#fff!important;color:#fff!important;background:rgba(255,255,255,.08)!important}.light-button:hover{background:#fff!important;color:var(--navy)!important}.hero-info{position:absolute;right:clamp(18px,4vw,60px);bottom:clamp(18px,4vw,48px);z-index:3;width:min(440px,calc(100% - 36px));background:rgba(255,254,250,.92);border-left:5px solid var(--red);padding:20px 22px;box-shadow:0 20px 70px rgba(0,0,0,.22);backdrop-filter:blur(12px)}.hero-info b{display:block;color:var(--navy);font-size:26px;line-height:.95;letter-spacing:-.04em}.hero-info span{display:block;margin-top:10px;color:#3d4952;font-weight:750;line-height:1.35}.plain-intro{padding:clamp(64px,8vw,120px) clamp(18px,5vw,72px);background:var(--paper);border-bottom:1px solid var(--line)}.plain-intro h2{margin:0;color:var(--navy-dark);font-size:clamp(42px,7vw,100px);line-height:.92;letter-spacing:-.068em;max-width:1250px;text-wrap:balance}.plain-intro p:not(.label){max-width:820px;margin:26px 0 0;color:var(--muted);font-size:clamp(20px,2.2vw,30px);line-height:1.22}.portfolio-strip{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line);margin:0 clamp(18px,5vw,72px) clamp(52px,7vw,96px)}.portfolio-card{min-height:300px;background:var(--white);padding:28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:.35s var(--ease);position:relative;overflow:hidden}.portfolio-card:before{content:"";position:absolute;inset:0 auto 0 0;width:0;background:var(--navy);transition:.35s var(--ease);z-index:0}.portfolio-card:hover{transform:translateY(-8px);box-shadow:var(--shadow);color:#fff}.portfolio-card:hover:before{width:100%}.portfolio-card>*{position:relative;z-index:1}.portfolio-card span{display:block;color:var(--red);font-weight:950;margin-bottom:58px}.portfolio-card h3{margin:0 0 14px;color:var(--navy);font-size:clamp(30px,3vw,46px);line-height:.92;letter-spacing:-.055em}.portfolio-card p{margin:0;color:var(--muted);font-size:18px;line-height:1.35}.portfolio-card:hover h3,.portfolio-card:hover p,.portfolio-card:hover span{color:#fff}.split-showcase{display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(28px,5vw,78px);align-items:center;padding:clamp(60px,8vw,118px) clamp(18px,5vw,72px);background:var(--navy-dark);color:#fff}.showcase-copy h2{margin:0;color:#fff;font-size:clamp(44px,7vw,98px);line-height:.9;letter-spacing:-.066em;text-wrap:balance}.showcase-copy p:not(.label){font-size:clamp(20px,2.2vw,28px);line-height:1.22;color:#d8dee2;max-width:680px}.showcase-photo{position:relative;display:block;padding:0;border:1px solid var(--line-dark);background:transparent;cursor:zoom-in;overflow:hidden;border-radius:0;text-align:left}.showcase-photo img{width:100%;height:min(72svh,760px);object-fit:cover;transition:transform .8s var(--ease),filter .8s var(--ease)}.showcase-photo:hover img{transform:scale(1.045);filter:saturate(1.04) contrast(1.06)}.showcase-photo span{position:absolute;left:0;right:0;bottom:0;background:rgba(7,26,40,.82);border-top:4px solid var(--red);padding:16px 18px;color:#fff;text-transform:uppercase;letter-spacing:.11em;font-size:12px;font-weight:950}.capabilities,.request-section{padding:clamp(60px,8vw,116px) clamp(18px,5vw,72px)}.section-title{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:28px}.section-title h2,.request-copy h2{margin:0;color:var(--navy-dark);font-size:clamp(44px,7vw,96px);line-height:.9;letter-spacing:-.066em}.capability-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.capability-card{min-height:275px;background:var(--white);border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px;position:relative;overflow:hidden;transition:.3s var(--ease)}.capability-card:hover{background:var(--navy);color:#fff;transform:translateY(-6px);box-shadow:var(--shadow);z-index:2}.capability-card span{display:block;color:var(--red);font-weight:950;margin-bottom:52px}.capability-card h3{margin:0 0 12px;color:var(--navy);font-size:clamp(25px,2.4vw,36px);line-height:.95;letter-spacing:-.045em}.capability-card p{margin:0;color:var(--muted);font-size:17px;line-height:1.35}.capability-card:hover h3,.capability-card:hover p{color:#fff}.proof-band{display:grid;grid-template-columns:repeat(4,1fr);margin:0 clamp(18px,5vw,72px);border-top:1px solid var(--line);border-left:1px solid var(--line)}.proof-band div{background:var(--white);padding:28px 22px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.proof-band b{display:block;color:var(--navy);font-size:clamp(38px,5vw,72px);line-height:.85;letter-spacing:-.06em}.proof-band span{display:block;margin-top:12px;color:var(--muted);font-weight:800}.request-section{display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(28px,5vw,76px);background:#ebe8e1}.request-copy p:not(.label){font-size:21px;color:#4f5b64;max-width:560px;line-height:1.35}.request-form{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;background:var(--white);border:1px solid var(--line);padding:18px;box-shadow:0 18px 55px rgba(16,47,68,.08)}label{display:grid;gap:7px;color:var(--navy);font-weight:850}label span{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}input,textarea,select{width:100%;border:1px solid var(--line);background:#faf9f4;border-radius:0;padding:15px;color:var(--ink);outline:none}input:focus,textarea:focus,select:focus{border-color:var(--red);box-shadow:0 0 0 4px rgba(227,6,42,.08)}.file input{padding:15px}.subhero{padding:70px clamp(18px,5vw,72px);background:var(--navy-dark);color:#fff}.subhero h1{margin:0;font-size:clamp(46px,7vw,104px);line-height:.9;letter-spacing:-.065em;max-width:1050px}.subhero p:not(.label){max-width:760px;color:#d7dee2;font-size:21px;line-height:1.35}.page-shell{padding:clamp(44px,6vw,88px) clamp(18px,5vw,72px)}.jobs-grid,.warehouse-grid{display:grid;grid-template-columns:repeat(3,1fr);border-left:1px solid var(--line);border-top:1px solid var(--line)}.job-card,.item-card{background:var(--white);border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px;min-height:260px}.job-card h2,.item-card h2{margin:0 0 10px;font-size:32px;line-height:.96;letter-spacing:-.04em;color:var(--navy)}.job-card p,.item-card p{color:var(--muted);font-size:17px;line-height:1.38}.job-meta,.item-meta{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.tag{display:inline-flex;background:#ece9e2;color:var(--navy);padding:7px 10px;font-weight:850;text-transform:uppercase;letter-spacing:.08em;font-size:11px}.cart-dock{position:relative;margin-top:48px;background:var(--navy-dark);color:#fff;border:1px solid var(--line-dark);padding:22px}.cart-list{display:grid;gap:8px;margin:16px 0}.cart-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line-dark);padding:12px;background:rgba(255,255,255,.06)}.cart-row button{border:1px solid var(--line-dark);background:transparent;color:#fff;padding:8px 10px;cursor:pointer;border-radius:0}.mini-form{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.cart-dock label{color:#fff}.cart-dock label span{color:#cbd5da}
.partner-section{position:relative;overflow:hidden;padding:clamp(60px,8vw,116px) clamp(18px,5vw,72px);background:var(--white);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.partner-section:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(18,47,68,.045),transparent 32%,rgba(227,6,42,.035));pointer-events:none}.partner-section:after{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,var(--red),transparent);opacity:.7;animation:partnerLine 6s var(--ease) infinite}.partner-copy{position:relative;z-index:1;display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(24px,5vw,78px);align-items:end;margin-bottom:clamp(28px,4vw,54px)}.partner-copy h2{margin:0;color:var(--navy-dark);font-size:clamp(42px,7vw,92px);line-height:.9;letter-spacing:-.066em;text-wrap:balance}.partner-copy p:not(.label){margin:0;color:var(--muted);font-size:clamp(19px,2vw,26px);line-height:1.22;max-width:680px}.partner-wall{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line);background:#f3f0e9}.partner-logo{min-height:230px;display:grid;align-content:center;justify-items:center;gap:14px;padding:28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(255,254,250,.62);position:relative;overflow:hidden;transition:transform .36s var(--ease),background .36s var(--ease),box-shadow .36s var(--ease)}.partner-logo:before{content:"";position:absolute;inset:0;transform:translateX(-110%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.74),transparent);transition:transform .72s var(--ease)}.partner-logo:hover{background:#fff;transform:translateY(-8px);box-shadow:var(--shadow);z-index:2}.partner-logo:hover:before{transform:translateX(110%)}.partner-logo img{max-width:min(230px,78%);max-height:96px;object-fit:contain;filter:grayscale(1) contrast(.88);opacity:.34;transition:filter .38s var(--ease),opacity .38s var(--ease),transform .38s var(--ease)}.partner-logo:hover img{filter:none;opacity:.96;transform:scale(1.055)}.partner-logo span{color:var(--navy);font-weight:950;text-transform:uppercase;letter-spacing:.12em;font-size:12px}.partner-logo small{color:var(--muted);font-weight:750;text-align:center;line-height:1.25}.partner-note{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.partner-note span{display:inline-flex;padding:9px 11px;background:var(--navy-dark);color:#fff;font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.11em}.partner-logo.is-active{background:#fff}.partner-logo.is-active img{filter:none;opacity:.82;transform:scale(1.035)}@keyframes partnerLine{0%,100%{transform:translateX(-35%);opacity:.25}50%{transform:translateX(35%);opacity:.95}}
.site-footer{background:var(--navy-dark);color:#fff;padding:clamp(42px,6vw,78px) clamp(18px,5vw,72px) 28px}.footer-main{display:grid;grid-template-columns:minmax(240px,.72fr) 1fr;gap:clamp(24px,5vw,72px);align-items:end;padding-bottom:34px;border-bottom:1px solid var(--line-dark)}.footer-wordmark{display:inline-grid;gap:4px;color:#fff;text-transform:uppercase;line-height:.86;letter-spacing:-.055em;font-weight:950;transition:.28s var(--ease)}.footer-wordmark span{font-size:clamp(38px,6vw,86px)}.footer-wordmark em{font-style:normal;font-size:clamp(30px,4.8vw,70px);color:var(--red);letter-spacing:-.04em}.footer-wordmark:hover{transform:translateX(8px)}.footer-statement{border-left:4px solid var(--red);padding-left:clamp(18px,3vw,34px)}.footer-statement b{display:block;font-size:clamp(30px,4.5vw,68px);line-height:.9;letter-spacing:-.06em;max-width:820px}.footer-statement span{display:block;margin-top:12px;color:#d4dadd;font-size:clamp(16px,1.6vw,20px);line-height:1.35}.footer-grid{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:24px;padding:30px 0;border-bottom:1px solid var(--line-dark)}.footer-grid div{display:grid;align-content:start;gap:10px}.footer-label{color:var(--red);text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:950}.footer-grid a,.footer-grid p{color:#e7ebed;margin:0}.footer-grid a:hover{color:#fff;text-decoration:underline}.footer-bottom{display:flex;justify-content:space-between;gap:18px;padding-top:22px;color:#cbd5da;font-size:13px}.lightbox{position:fixed;inset:0;z-index:90;background:rgba(4,13,20,.92);display:none;align-items:center;justify-content:center;padding:18px}.lightbox.open{display:flex}.lightbox img{max-height:90svh;max-width:94vw;border:1px solid rgba(255,255,255,.22);box-shadow:0 30px 90px rgba(0,0,0,.5)}.lightbox button{position:absolute;top:18px;right:18px;width:48px;height:48px;border:1px solid rgba(255,255,255,.3);background:#fff;color:var(--navy);font-size:30px;cursor:pointer;border-radius:0}.reveal{opacity:0;transform:translateY(24px);transition:opacity .72s var(--ease),transform .72s var(--ease)}.reveal.in{opacity:1;transform:none}.delay-1{transition-delay:.08s}.delay-2{transition-delay:.16s}@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}@media (max-width:1100px){.capability-grid{grid-template-columns:repeat(2,1fr)}.split-showcase,.request-section{grid-template-columns:1fr}.portfolio-strip{grid-template-columns:1fr}.proof-band{grid-template-columns:repeat(2,1fr)}.jobs-grid,.warehouse-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:760px){.site-header{align-items:center;padding:14px 16px}.brand-mark img{width:158px}.menu-button{display:block}.site-nav{position:absolute;left:16px;right:16px;top:calc(100% + 8px);display:none;background:var(--white);border:1px solid var(--line);box-shadow:var(--shadow);padding:8px;z-index:50}.site-nav.open{display:grid}.site-nav a{padding:14px;border-color:var(--line)}.hero{min-height:calc(100svh - 70px)}.hero-image{background-position:58% center}.hero-image:before{background:linear-gradient(180deg,rgba(7,26,40,.48) 0%,rgba(7,26,40,.52) 42%,rgba(7,26,40,.92) 100%)}.hero-content{padding:54px 16px 160px}.hero h1{font-size:clamp(48px,15vw,78px);letter-spacing:-.065em}.hero-line{font-size:22px;line-height:1.14}.hero-info{left:16px;right:16px;bottom:18px;width:auto;padding:16px}.plain-intro,.capabilities,.request-section,.split-showcase,.page-shell,.subhero{padding-left:16px;padding-right:16px}.portfolio-strip,.proof-band{margin-left:16px;margin-right:16px}.capability-grid,.proof-band,.jobs-grid,.warehouse-grid,.request-form,.mini-form,.footer-main,.footer-grid,.partner-copy,.partner-wall{grid-template-columns:1fr}.section-title{display:block}.footer-bottom{display:grid}.showcase-photo img{height:430px}.portfolio-card{min-height:245px}.capability-card{min-height:245px}.partner-logo{min-height:170px}.partner-logo img{max-height:78px}}


/* v183 — darker, left-aligned client logo section tidy-up */
.partner-section{
  background:
    radial-gradient(circle at 84% 18%, rgba(227,6,42,.22), transparent 28%),
    linear-gradient(135deg, #061620 0%, #0b2535 46%, #041018 100%);
  color:#fff;
  border-top:1px solid rgba(255,255,255,.12);
  border-bottom:1px solid rgba(255,255,255,.12);
}
.partner-section:before{
  background:
    linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px),
    linear-gradient(180deg, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size:72px 72px;
  opacity:.34;
}
.partner-section:after{
  background:linear-gradient(90deg, var(--red), rgba(255,255,255,.75), transparent 72%);
  opacity:.55;
}
.partner-copy{
  grid-template-columns:minmax(0,1fr);
  gap:18px;
  align-items:start;
  text-align:left;
  max-width:1120px;
  margin-left:0;
  margin-right:auto;
}
.partner-copy .label{
  color:#fff;
  margin-bottom:4px;
}
.partner-copy h2{
  color:#fff;
  max-width:980px;
  font-size:clamp(40px,6vw,82px);
  letter-spacing:-.06em;
}
.partner-copy p:not(.label){
  color:#d5dee4;
  max-width:760px;
  font-size:clamp(18px,1.75vw,24px);
}
.partner-wall{
  grid-template-columns:repeat(4,minmax(0,1fr));
  background:rgba(255,255,255,.035);
  border-color:rgba(255,255,255,.16);
  box-shadow:0 30px 80px rgba(0,0,0,.22);
}
.partner-logo{
  min-height:216px;
  align-content:end;
  justify-items:start;
  text-align:left;
  padding:30px 28px;
  border-color:rgba(255,255,255,.14);
  background:rgba(255,255,255,.055);
  box-shadow:none;
}
.partner-logo:before{
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.14), transparent);
}
.partner-logo:after{
  content:"";
  position:absolute;
  left:0;
  right:auto;
  bottom:0;
  width:0;
  height:4px;
  background:var(--red);
  transition:width .36s var(--ease);
}
.partner-logo:hover,
.partner-logo.is-active{
  background:rgba(255,255,255,.10);
  transform:translateY(-5px);
  box-shadow:0 28px 70px rgba(0,0,0,.28);
}
.partner-logo:hover:after,
.partner-logo.is-active:after{width:100%}
.partner-logo img{
  justify-self:start;
  margin-bottom:auto;
  max-width:min(220px,88%);
  max-height:82px;
  filter:grayscale(1) brightness(1.85) contrast(.82);
  opacity:.38;
}
.partner-logo:hover img,
.partner-logo.is-active img{
  filter:grayscale(.08) brightness(1.04) contrast(1.02);
  opacity:.96;
  transform:translateX(4px) scale(1.035);
}
.partner-logo span{
  color:#fff;
  margin-top:18px;
}
.partner-logo small{
  color:#b9c6cd;
  text-align:left;
  max-width:220px;
}
.partner-note{
  justify-content:flex-start;
  margin-top:20px;
}
.partner-note span{
  background:rgba(255,255,255,.075);
  color:#e9eef1;
  border:1px solid rgba(255,255,255,.14);
}
@media (max-width:1100px){
  .partner-wall{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:760px){
  .partner-section{padding-left:16px;padding-right:16px;}
  .partner-wall{grid-template-columns:1fr;}
  .partner-logo{min-height:168px;padding:24px;}
  .partner-logo img{max-height:66px;}
}

/* v184 — light logo card surfaces inside dark client section */
.partner-wall{
  background:rgba(255,255,255,.10);
  border-color:rgba(255,255,255,.20);
}
.partner-logo{
  background:linear-gradient(180deg, #fffefa 0%, #f1efe7 100%);
  border-color:rgba(255,255,255,.24);
  color:var(--navy-dark);
}
.partner-logo:before{
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.92), transparent);
}
.partner-logo:hover,
.partner-logo.is-active{
  background:#ffffff;
  box-shadow:0 30px 80px rgba(0,0,0,.32);
}
.partner-logo img{
  filter:grayscale(.82) contrast(.92) saturate(.82);
  opacity:.68;
}
.partner-logo:hover img,
.partner-logo.is-active img{
  filter:none;
  opacity:1;
}
.partner-logo span{
  color:var(--navy-dark);
}
.partner-logo small{
  color:#5c6770;
}


/* v185 — expanded client logo wall, cleaner light-card presentation */
.partner-section{
  padding-top:clamp(58px,7vw,104px);
  padding-bottom:clamp(58px,7vw,104px);
}
.partner-copy h2{
  max-width:1100px;
}
.partner-copy p:not(.label){
  max-width:830px;
}
.partner-wall{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:0;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.20);
  border-right:0;
  border-bottom:0;
}
.partner-logo{
  min-height:210px;
  padding:28px 24px 24px;
  align-content:center;
  justify-items:start;
  background:linear-gradient(180deg,#fffefa 0%,#f2f0e8 100%);
  border-right:1px solid rgba(255,255,255,.30);
  border-bottom:1px solid rgba(255,255,255,.30);
}
.partner-logo img{
  max-width:min(220px,92%);
  max-height:92px;
  width:auto;
  height:auto;
  object-fit:contain;
  object-position:left center;
  filter:grayscale(.55) saturate(.82) contrast(.96);
  opacity:.74;
}
.partner-logo:hover img,
.partner-logo.is-active img{
  filter:none;
  opacity:1;
  transform:translateX(4px) scale(1.045);
}
.partner-logo span{
  margin-top:18px;
  color:var(--navy-dark);
}
.partner-logo small{
  max-width:250px;
  color:#56626a;
}
@media (max-width:1250px){
  .partner-wall{grid-template-columns:repeat(4,minmax(0,1fr));}
}
@media (max-width:980px){
  .partner-wall{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:620px){
  .partner-wall{grid-template-columns:1fr;}
  .partner-logo{min-height:156px;padding:22px;}
  .partner-logo img{max-height:72px;max-width:86%;}
}


/* v186 — commercial service contract section */
.service-contract-section{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:1.12fr .88fr;
  gap:clamp(24px,4vw,64px);
  padding:clamp(62px,8vw,118px) clamp(18px,5vw,72px);
  background:
    linear-gradient(135deg, #fffefa 0%, #f3f1ea 52%, #e6e1d6 100%);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.service-contract-section:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(18,47,68,.055) 1px, transparent 1px),
    linear-gradient(180deg, rgba(18,47,68,.045) 1px, transparent 1px);
  background-size:86px 86px;
  opacity:.55;
  pointer-events:none;
}
.service-contract-section:after{
  content:"SERVICE";
  position:absolute;
  right:-.08em;
  top:.08em;
  color:rgba(18,47,68,.045);
  font-size:clamp(92px,18vw,270px);
  line-height:.78;
  font-weight:950;
  letter-spacing:-.09em;
  pointer-events:none;
}
.service-copy,.service-panel,.service-ticket-grid{position:relative;z-index:1}
.service-copy h2{
  margin:0;
  color:var(--navy-dark);
  font-size:clamp(44px,7vw,100px);
  line-height:.9;
  letter-spacing:-.068em;
  max-width:1060px;
  text-wrap:balance;
}
.service-copy p:not(.label){
  max-width:760px;
  margin:24px 0 0;
  color:#48555e;
  font-size:clamp(19px,2vw,27px);
  line-height:1.22;
}
.service-panel{
  align-self:start;
  background:var(--navy-dark);
  color:#fff;
  border:1px solid var(--navy-dark);
  padding:clamp(22px,3vw,34px);
  box-shadow:0 28px 80px rgba(7,26,40,.16);
}
.service-panel-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding-bottom:22px;
  border-bottom:1px solid rgba(255,255,255,.18);
}
.service-panel-top span{
  color:#cfd8dd;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:12px;
  font-weight:950;
}
.service-panel-top b{
  color:var(--red);
  font-size:clamp(34px,4.4vw,68px);
  line-height:.82;
  letter-spacing:-.06em;
  text-transform:uppercase;
}
.service-panel p{
  color:#e4eaed;
  font-size:20px;
  line-height:1.32;
  margin:22px 0 24px;
}
.service-ticket-grid{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid var(--line);
  border-left:1px solid var(--line);
  margin-top:clamp(18px,3vw,34px);
}
.service-ticket{
  min-height:245px;
  background:rgba(255,254,250,.78);
  backdrop-filter:blur(10px);
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  padding:26px;
  transition:transform .32s var(--ease), background .32s var(--ease), box-shadow .32s var(--ease);
}
.service-ticket:hover{
  background:#fff;
  transform:translateY(-7px);
  box-shadow:0 22px 68px rgba(7,26,40,.15);
}
.service-ticket span{
  display:block;
  color:var(--red);
  font-weight:950;
  margin-bottom:46px;
}
.service-ticket h3{
  margin:0 0 12px;
  color:var(--navy);
  font-size:clamp(27px,2.6vw,42px);
  line-height:.92;
  letter-spacing:-.052em;
}
.service-ticket p{
  margin:0;
  color:#5b666e;
  font-size:18px;
  line-height:1.34;
}
@media (max-width:980px){
  .service-contract-section{grid-template-columns:1fr;}
  .service-ticket-grid{grid-template-columns:1fr;}
}
@media (max-width:620px){
  .service-contract-section{padding-left:16px;padding-right:16px;}
  .service-panel-top{display:grid;}
  .service-ticket{min-height:210px;padding:22px;}
}


/* In-page form confirmation used by all public website forms. */
.form-confirmation{
  width:min(1120px, calc(100% - 32px));
  margin:18px auto 0;
  padding:14px 16px;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  border-top:1px solid rgba(7,26,40,.16);
  border-bottom:1px solid rgba(7,26,40,.16);
  background:rgba(255,254,250,.94);
  color:var(--navy-dark);
  box-shadow:0 18px 48px rgba(7,26,40,.08);
}
.form-confirmation strong{
  display:block;
  font-size:14px;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:950;
}
.form-confirmation p{
  margin:5px 0 0;
  color:#43505a;
  font-size:16px;
  line-height:1.35;
}
.form-confirmation button{
  border:0;
  background:transparent;
  color:var(--red);
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:12px;
  cursor:pointer;
  padding:4px 0;
}
.form-confirmation.is-warning{
  border-color:rgba(183,72,48,.34);
}
@media (max-width:640px){
  .form-confirmation{display:grid;width:calc(100% - 24px);margin-top:12px;}
}


/* v214: clearer animated form confirmations and submit feedback. */
@keyframes formToastIn{
  from{opacity:0;transform:translateY(-16px) scale(.985);filter:blur(3px);}
  to{opacity:1;transform:translateY(0) scale(1);filter:blur(0);}
}
.form-confirmation{
  position:fixed;
  z-index:120;
  top:18px;
  right:18px;
  width:min(520px, calc(100vw - 36px));
  margin:0;
  padding:14px 14px;
  display:grid;
  grid-template-columns:42px 1fr auto;
  align-items:center;
  gap:13px;
  border:1px solid rgba(7,26,40,.14);
  border-left:5px solid var(--red);
  background:rgba(255,254,250,.96);
  color:var(--navy-dark);
  box-shadow:0 24px 80px rgba(7,26,40,.18);
  backdrop-filter:blur(14px);
  opacity:0;
  transform:translateY(-16px) scale(.985);
}
.form-confirmation.is-visible{animation:formToastIn .42s var(--ease) forwards;}
.form-confirmation-mark{
  width:42px;height:42px;
  display:grid;place-items:center;
  background:var(--navy-dark);
  color:#fff;
  font-weight:950;
  font-size:20px;
}
.form-confirmation-copy{min-width:0;}
.form-confirmation strong{font-size:13px;letter-spacing:.13em;}
.form-confirmation p{margin:4px 0 0;font-size:15px;color:#3f4b54;line-height:1.35;}
.form-confirmation button{
  align-self:start;
  border:1px solid rgba(7,26,40,.14);
  background:#fff;
  color:var(--navy-dark);
  padding:8px 9px;
  transition:.22s var(--ease);
}
.form-confirmation button:hover{background:var(--navy-dark);color:#fff;transform:translateY(-2px);}
.form-confirmation.is-warning{border-left-color:#b74830;}
.form-confirmation.is-warning .form-confirmation-mark{background:#b74830;}
.request-form.is-submitting,.mini-form.is-submitting{opacity:.82;}
.request-form.is-submitting button[type="submit"],.mini-form.is-submitting button[type="submit"]{pointer-events:none;filter:saturate(.75);}
@media (max-width:640px){
  .form-confirmation{top:12px;right:12px;left:12px;width:auto;grid-template-columns:36px 1fr;}
  .form-confirmation button{grid-column:2;justify-self:start;}
  .form-confirmation-mark{width:36px;height:36px;}
}


/* v215: lightweight public form confirmation. Short public copy, smoother motion, less paint-heavy. */
@keyframes formToastLightIn{from{opacity:0;transform:translate3d(0,-8px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes formToastLightOut{from{opacity:1;transform:translate3d(0,0,0)}to{opacity:0;transform:translate3d(0,-6px,0)}}
.form-confirmation{
  position:fixed;z-index:120;top:18px;right:18px;width:auto;max-width:calc(100vw - 28px);min-width:min(340px,calc(100vw - 28px));
  margin:0;padding:12px 12px 12px 13px;display:flex;align-items:center;gap:11px;
  border:1px solid rgba(7,26,40,.12);border-left:3px solid var(--red);background:rgba(255,254,250,.98);color:var(--navy-dark);
  box-shadow:0 12px 30px rgba(7,26,40,.12);backdrop-filter:none;opacity:0;transform:translate3d(0,-8px,0);will-change:opacity,transform;
}
.form-confirmation.is-visible{animation:formToastLightIn .24s ease-out forwards;}
.form-confirmation.is-hiding{animation:formToastLightOut .2s ease-in forwards;}
.form-confirmation-mark{width:28px;height:28px;display:grid;place-items:center;background:var(--navy-dark);color:#fff;font-weight:950;font-size:15px;border-radius:999px;flex:0 0 auto;}
.form-confirmation strong{font-size:14px;letter-spacing:0;text-transform:none;font-weight:900;line-height:1.2;}
.form-confirmation p,.form-confirmation-copy{display:none!important;}
.form-confirmation button{margin-left:auto;border:0;background:transparent;color:#59636f;padding:2px 4px;font-size:22px;line-height:1;font-weight:500;cursor:pointer;transition:color .16s ease;}
.form-confirmation button:hover{background:transparent;color:var(--navy-dark);transform:none;}
.form-confirmation.is-warning{border-left-color:#b74830;}
.form-confirmation.is-warning .form-confirmation-mark{background:#b74830;}
@media(max-width:640px){.form-confirmation{top:12px;right:12px;left:12px;min-width:0;width:auto;display:flex}.form-confirmation button{grid-column:auto;justify-self:auto}.form-confirmation-mark{width:28px;height:28px}}
@media(prefers-reduced-motion:reduce){.form-confirmation,.form-confirmation.is-visible,.form-confirmation.is-hiding{animation:none!important;opacity:1;transform:none;will-change:auto}}

/* v216 — public homepage presentation polish
   Purpose: tasteful construction-themed movement and section presentation without changing form/backend behavior.
   Keep animations transform/opacity based for smoother performance on shared hosting and mobile devices. */
.home-page{
  background:
    linear-gradient(90deg, rgba(18,47,68,.035) 1px, transparent 1px),
    linear-gradient(180deg, rgba(18,47,68,.028) 1px, transparent 1px),
    var(--paper);
  background-size:88px 88px;
}
.home-page .site-header{
  position:sticky;
  top:0;
  background:rgba(255,254,250,.94);
  backdrop-filter:saturate(1.08) blur(12px);
  transition:box-shadow .24s ease, border-color .24s ease, background .24s ease;
}
.home-page .site-header.is-elevated{
  box-shadow:0 14px 42px rgba(7,26,40,.10);
  border-bottom-color:rgba(18,47,68,.22);
}
.home-page .hero-image{
  background-position:center calc(50% + var(--hero-y, 0px));
  isolation:isolate;
}
.home-page .hero-image:before{
  background:
    linear-gradient(90deg,rgba(7,26,40,.90) 0%,rgba(7,26,40,.60) 38%,rgba(7,26,40,.14) 74%,rgba(7,26,40,.58) 100%),
    radial-gradient(circle at 18% 78%, rgba(227,6,42,.24), transparent 34%);
}
.home-page .hero-content,
.home-page .hero-info{
  will-change:transform, opacity;
}
.home-page .hero h1{
  text-shadow:0 20px 70px rgba(0,0,0,.32);
}
.home-page .hero-info{
  transform:translate3d(0,0,0);
  transition:transform .32s var(--ease), box-shadow .32s var(--ease), background .32s var(--ease);
}
.home-page .hero-info:hover{
  transform:translate3d(0,-6px,0);
  box-shadow:0 26px 80px rgba(0,0,0,.26);
  background:#fffefa;
}
.home-page .button{
  position:relative;
  overflow:hidden;
  transform:translateZ(0);
}
.home-page .button:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(110deg, transparent 0%, rgba(255,255,255,.28) 45%, transparent 70%);
  transform:translateX(-120%);
  transition:transform .55s var(--ease);
  pointer-events:none;
}
.home-page .button:hover:before{transform:translateX(120%)}
.home-page .plain-intro,
.home-page .capabilities,
.home-page .service-contract-section,
.home-page .request-section,
.home-page .partner-section{
  position:relative;
  overflow:hidden;
}
.home-page .plain-intro:before,
.home-page .capabilities:before,
.home-page .request-section:before{
  content:"";
  position:absolute;
  left:clamp(18px,5vw,72px);
  right:clamp(18px,5vw,72px);
  top:0;
  height:1px;
  background:linear-gradient(90deg, var(--red), rgba(18,47,68,.18), transparent 72%);
  transform-origin:left center;
  transform:scaleX(.12);
  opacity:.55;
  transition:transform .9s var(--ease), opacity .9s var(--ease);
  pointer-events:none;
}
.home-page .plain-intro.in:before,
.home-page .capabilities.is-presented:before,
.home-page .request-section.is-presented:before{transform:scaleX(1);opacity:1}
.home-page .portfolio-strip,
.home-page .capability-grid,
.home-page .service-ticket-grid,
.home-page .proof-band{
  gap:14px;
  border:0;
}
.home-page .portfolio-card,
.home-page .capability-card,
.home-page .service-ticket,
.home-page .proof-band div{
  border:1px solid rgba(18,47,68,.13);
  box-shadow:0 1px 0 rgba(255,255,255,.55) inset;
  transform:translateZ(0);
}
.home-page .portfolio-card:after,
.home-page .capability-card:after,
.home-page .service-ticket:after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:0;
  height:4px;
  background:var(--red);
  transition:width .34s var(--ease);
  pointer-events:none;
  z-index:2;
}
.home-page .portfolio-card:hover:after,
.home-page .capability-card:hover:after,
.home-page .service-ticket:hover:after{width:100%}
.home-page .portfolio-card,
.home-page .capability-card,
.home-page .service-ticket{
  transition:transform .32s var(--ease), box-shadow .32s var(--ease), background .32s var(--ease), color .32s var(--ease);
}
.home-page .portfolio-card:hover,
.home-page .capability-card:hover,
.home-page .service-ticket:hover{
  transform:translate3d(0,-8px,0);
  box-shadow:0 24px 70px rgba(7,26,40,.16);
}
.home-page .split-showcase{
  background:
    radial-gradient(circle at 86% 22%, rgba(227,6,42,.20), transparent 28%),
    linear-gradient(135deg,#061721 0%,#0b2738 48%,#050f16 100%);
}
.home-page .showcase-photo{
  box-shadow:0 32px 90px rgba(0,0,0,.25);
  transition:transform .38s var(--ease), box-shadow .38s var(--ease), border-color .38s var(--ease);
}
.home-page .showcase-photo:hover{
  transform:translate3d(0,-6px,0);
  border-color:rgba(255,255,255,.36);
  box-shadow:0 42px 110px rgba(0,0,0,.34);
}
.home-page .service-panel{
  position:relative;
  overflow:hidden;
  transition:transform .34s var(--ease), box-shadow .34s var(--ease);
}
.home-page .service-panel:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(120deg, transparent, rgba(255,255,255,.09), transparent);
  transform:translateX(-120%);
  transition:transform .8s var(--ease);
}
.home-page .service-panel:hover{transform:translate3d(0,-6px,0);box-shadow:0 34px 90px rgba(7,26,40,.24)}
.home-page .service-panel:hover:before{transform:translateX(120%)}
.home-page .proof-band{
  background:transparent;
}
.home-page .proof-band div{
  position:relative;
  overflow:hidden;
  transition:transform .3s var(--ease), box-shadow .3s var(--ease), background .3s var(--ease);
}
.home-page .proof-band div:hover{
  transform:translate3d(0,-5px,0);
  background:#fff;
  box-shadow:0 18px 52px rgba(7,26,40,.12);
}
.home-page .partner-logo{
  transition:transform .34s var(--ease), box-shadow .34s var(--ease), background .34s var(--ease);
}
.home-page .request-section{
  background:
    radial-gradient(circle at 12% 20%, rgba(227,6,42,.10), transparent 26%),
    linear-gradient(135deg,#eeeae1 0%,#f7f5ee 54%,#e8e3d7 100%);
}
.home-page .request-form{
  border:1px solid rgba(18,47,68,.14);
  box-shadow:0 28px 80px rgba(7,26,40,.10);
  transition:transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s var(--ease);
}
.home-page .request-form:hover{
  transform:translate3d(0,-4px,0);
  box-shadow:0 34px 96px rgba(7,26,40,.13);
  border-color:rgba(18,47,68,.22);
}
.home-page input,
.home-page textarea,
.home-page select{
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease, transform .18s ease;
}
.home-page input:hover,
.home-page textarea:hover,
.home-page select:hover{background:#fffefa}
.home-page input:focus,
.home-page textarea:focus,
.home-page select:focus{transform:translateY(-1px)}
.reveal{
  opacity:0;
  transform:translate3d(0,28px,0);
  transition:opacity .7s var(--ease), transform .7s var(--ease);
  will-change:opacity, transform;
}
.reveal.from-left{transform:translate3d(-28px,0,0)}
.reveal.from-right{transform:translate3d(28px,0,0)}
.reveal.scale-in{transform:translate3d(0,18px,0) scale(.985)}
.reveal.in,
.reveal.from-left.in,
.reveal.from-right.in,
.reveal.scale-in.in{
  opacity:1;
  transform:translate3d(0,0,0) scale(1);
}
.reveal.in{will-change:auto}
@media (max-width:760px){
  .home-page .hero-image{background-position:58% center!important;}
  .home-page .portfolio-strip,
  .home-page .capability-grid,
  .home-page .service-ticket-grid,
  .home-page .proof-band{gap:10px;}
  .home-page .portfolio-card:hover,
  .home-page .capability-card:hover,
  .home-page .service-ticket:hover,
  .home-page .proof-band div:hover,
  .home-page .request-form:hover,
  .home-page .service-panel:hover{transform:none;}
  .home-page .plain-intro:before,
  .home-page .capabilities:before,
  .home-page .request-section:before{left:16px;right:16px;}
}
@media (prefers-reduced-motion:reduce){
  .home-page .hero-image{background-position:center center!important;}
  .home-page .button:before,
  .home-page .service-panel:before{display:none!important;}
  .reveal,.reveal.from-left,.reveal.from-right,.reveal.scale-in{opacity:1!important;transform:none!important;will-change:auto!important;}
}

/* v217 — refined homepage interaction + presentation pass
   Keep effects subtle, performant, and consistent across the public site. */
:root{--lift-shadow:0 18px 52px rgba(7,26,40,.12);--lift-shadow-strong:0 28px 76px rgba(7,26,40,.16)}
.home-page .site-nav a,
.home-page .button,
.home-page .portfolio-card,
.home-page .capability-card,
.home-page .service-ticket,
.home-page .partner-logo,
.home-page .proof-band div,
.home-page .request-form,
.home-page .showcase-photo,
.home-page .hero-info{
  -webkit-tap-highlight-color:transparent;
}
.home-page .site-header{
  transition:box-shadow .28s var(--ease), background-color .28s var(--ease), border-color .28s var(--ease);
}
.home-page .site-header.is-elevated{box-shadow:0 10px 34px rgba(7,26,40,.10);border-color:rgba(18,47,68,.12)}
.home-page .site-nav a{position:relative;overflow:hidden;border-color:transparent;background:transparent;color:var(--navy)}
.home-page .site-nav a:after{content:"";position:absolute;left:12px;right:12px;bottom:7px;height:2px;background:var(--red);transform:scaleX(0);transform-origin:left center;transition:transform .24s var(--ease)}
.home-page .site-nav a:hover{background:rgba(18,47,68,.045);color:var(--navy);border-color:rgba(18,47,68,.10);transform:translateY(-1px)}
.home-page .site-nav a:hover:after{transform:scaleX(1)}
.home-page .button{box-shadow:0 0 0 rgba(7,26,40,0);transition:transform .24s var(--ease),box-shadow .24s var(--ease),background-color .24s var(--ease),border-color .24s var(--ease),color .24s var(--ease)}
.home-page .button:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(7,26,40,.13)}
.home-page .button.primary:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(227,6,42,.20)}
.home-page .section-presenter{isolation:isolate;transform:translateZ(0)}
.home-page .section-presenter:after{content:"";position:absolute;left:clamp(18px,5vw,72px);right:clamp(18px,5vw,72px);top:clamp(14px,2vw,22px);height:1px;background:linear-gradient(90deg,rgba(227,6,42,.75),rgba(18,47,68,.20),transparent);transform:scaleX(.06);transform-origin:left center;opacity:.35;transition:transform 1s var(--ease),opacity 1s var(--ease);pointer-events:none;z-index:0}.home-page .section-presenter.is-presented:after{transform:scaleX(1);opacity:.9}
.home-page .plain-intro h2,.home-page .section-title h2,.home-page .showcase-copy h2,.home-page .service-copy h2,.home-page .partner-copy h2,.home-page .request-copy h2{transition:letter-spacing .34s var(--ease),transform .34s var(--ease)}
.home-page .section-presenter.is-presented:hover h2{letter-spacing:-.071em;transform:translateX(2px)}
.home-page .portfolio-strip,.home-page .capability-grid,.home-page .service-ticket-grid,.home-page .partner-wall,.home-page .proof-band{gap:12px;border:0;background:transparent}
.home-page .portfolio-card,.home-page .capability-card,.home-page .service-ticket,.home-page .partner-logo,.home-page .proof-band div{border:1px solid rgba(18,47,68,.115);box-shadow:0 1px 0 rgba(255,255,255,.65) inset;transition:transform .26s var(--ease),box-shadow .26s var(--ease),background-color .26s var(--ease),border-color .26s var(--ease),color .26s var(--ease);will-change:auto}
.home-page .portfolio-card:hover,.home-page .capability-card:hover,.home-page .service-ticket:hover,.home-page .partner-logo:hover,.home-page .proof-band div:hover{transform:translate3d(0,-5px,0);box-shadow:var(--lift-shadow);border-color:rgba(18,47,68,.20)}
.home-page .portfolio-card:hover,.home-page .capability-card:hover{background:#fff;color:var(--ink)}
.home-page .portfolio-card:before{opacity:.04}.home-page .portfolio-card:hover:before{width:100%;opacity:.05}.home-page .portfolio-card:hover h3,.home-page .portfolio-card:hover p,.home-page .portfolio-card:hover span,.home-page .capability-card:hover h3,.home-page .capability-card:hover p{color:inherit}.home-page .portfolio-card:hover span,.home-page .capability-card:hover span{color:var(--red)}
.home-page .portfolio-card:after,.home-page .capability-card:after,.home-page .service-ticket:after{height:3px;background:linear-gradient(90deg,var(--red),rgba(18,47,68,.34));transition:width .28s var(--ease)}
.home-page .capability-card span,.home-page .portfolio-card span,.home-page .service-ticket .ticket-kicker{transition:transform .28s var(--ease),color .28s var(--ease)}
.home-page .capability-card:hover span,.home-page .portfolio-card:hover span,.home-page .service-ticket:hover .ticket-kicker{transform:translateX(3px)}
.home-page .service-panel{box-shadow:0 24px 70px rgba(7,26,40,.20);transition:transform .28s var(--ease),box-shadow .28s var(--ease),border-color .28s var(--ease)}
.home-page .service-panel:hover{transform:translate3d(0,-4px,0);box-shadow:0 30px 86px rgba(7,26,40,.24)}
.home-page .service-panel:before{opacity:.65;transition:transform .9s var(--ease),opacity .28s var(--ease)}
.home-page .showcase-photo:hover{transform:translate3d(0,-4px,0);box-shadow:0 34px 92px rgba(0,0,0,.30)}
.home-page .showcase-photo img{transition:transform .9s var(--ease),filter .9s var(--ease)}
.home-page .showcase-photo:hover img{transform:scale(1.026);filter:saturate(1.03) contrast(1.04)}
.home-page .partner-logo:before{opacity:.55}.home-page .partner-logo:hover img,.home-page .partner-logo.is-active img{transform:scale(1.025);opacity:.90}.home-page .partner-logo:hover,.home-page .partner-logo.is-active{box-shadow:var(--lift-shadow);background:#fff}
.home-page .request-form:hover{transform:translate3d(0,-3px,0);box-shadow:0 28px 78px rgba(7,26,40,.12)}
.home-page input:focus,.home-page textarea:focus,.home-page select:focus{transform:none;box-shadow:0 0 0 3px rgba(227,6,42,.075);background:#fff}
.reveal{opacity:0;transform:translate3d(0,34px,0);transition:opacity .78s var(--ease),transform .78s var(--ease);will-change:opacity,transform}.reveal.from-left{transform:translate3d(-34px,10px,0)}.reveal.from-right{transform:translate3d(34px,10px,0)}.reveal.scale-in{transform:translate3d(0,24px,0) scale(.982)}.reveal.in,.reveal.from-left.in,.reveal.from-right.in,.reveal.scale-in.in{opacity:1;transform:translate3d(0,0,0) scale(1)}
@media (max-width:760px){.home-page .section-presenter:after{left:16px;right:16px}.home-page .section-presenter.is-presented:hover h2{letter-spacing:inherit;transform:none}.home-page .portfolio-strip,.home-page .capability-grid,.home-page .service-ticket-grid,.home-page .partner-wall,.home-page .proof-band{gap:10px}.home-page .portfolio-card:hover,.home-page .capability-card:hover,.home-page .service-ticket:hover,.home-page .partner-logo:hover,.home-page .proof-band div:hover,.home-page .service-panel:hover,.home-page .showcase-photo:hover,.home-page .request-form:hover{transform:none}.home-page .button:hover{transform:none}}
@media (prefers-reduced-motion:reduce){.home-page .section-presenter:after{transform:none!important;opacity:.35!important}.home-page .section-presenter.is-presented:hover h2{letter-spacing:inherit!important;transform:none!important}.home-page .site-nav a,.home-page .button,.home-page .portfolio-card,.home-page .capability-card,.home-page .service-ticket,.home-page .partner-logo,.home-page .proof-band div,.home-page .service-panel,.home-page .showcase-photo,.home-page .request-form{transition:none!important}.home-page .portfolio-card:hover,.home-page .capability-card:hover,.home-page .service-ticket:hover,.home-page .partner-logo:hover,.home-page .proof-band div:hover,.home-page .service-panel:hover,.home-page .showcase-photo:hover,.home-page .request-form:hover,.home-page .button:hover{transform:none!important}.reveal,.reveal.from-left,.reveal.from-right,.reveal.scale-in{opacity:1!important;transform:none!important;transition:none!important;will-change:auto!important}}


/* v218 — public homepage hover polish + compact client logo wall
   Direction: no dark hover flicker. Interactions should feel glossy, subtle, and responsive. */
.home-page .portfolio-card,
.home-page .capability-card,
.home-page .service-ticket,
.home-page .proof-band div,
.home-page .partner-logo{
  position:relative;
  overflow:hidden;
  background:#fffefa;
  color:var(--ink);
  border-color:rgba(18,47,68,.12);
  box-shadow:0 1px 0 rgba(255,255,255,.72) inset;
  transition:
    transform .24s var(--ease),
    box-shadow .24s var(--ease),
    border-color .24s var(--ease),
    background-color .24s var(--ease),
    color .24s var(--ease);
}
.home-page .portfolio-card:before,
.home-page .capability-card:before,
.home-page .service-ticket:before,
.home-page .proof-band div:before,
.home-page .partner-logo:before{
  content:"";
  position:absolute;
  inset:-1px;
  width:auto;
  background:
    linear-gradient(115deg, transparent 0%, rgba(255,255,255,.70) 42%, rgba(255,255,255,.18) 53%, transparent 68%),
    radial-gradient(circle at 18% 0%, rgba(227,6,42,.055), transparent 34%);
  opacity:0;
  transform:translate3d(-26%,0,0);
  transition:opacity .22s ease, transform .52s var(--ease);
  pointer-events:none;
  z-index:0;
}
.home-page .portfolio-card:after,
.home-page .capability-card:after,
.home-page .service-ticket:after{
  height:2px;
  width:100%;
  opacity:0;
  background:linear-gradient(90deg, rgba(227,6,42,.78), rgba(18,47,68,.22), transparent 74%);
  transform:scaleX(.18);
  transform-origin:left center;
  transition:opacity .24s var(--ease), transform .34s var(--ease);
}
.home-page .portfolio-card:hover,
.home-page .capability-card:hover,
.home-page .service-ticket:hover,
.home-page .proof-band div:hover{
  background:#fffefa;
  color:var(--ink);
  border-color:rgba(18,47,68,.18);
  transform:translate3d(0,-4px,0);
  box-shadow:0 16px 42px rgba(7,26,40,.105), 0 1px 0 rgba(255,255,255,.78) inset;
}
.home-page .portfolio-card:hover:before,
.home-page .capability-card:hover:before,
.home-page .service-ticket:hover:before,
.home-page .proof-band div:hover:before{
  opacity:1;
  transform:translate3d(26%,0,0);
}
.home-page .portfolio-card:hover:after,
.home-page .capability-card:hover:after,
.home-page .service-ticket:hover:after{
  opacity:1;
  transform:scaleX(1);
}
.home-page .portfolio-card > *,
.home-page .capability-card > *,
.home-page .service-ticket > *,
.home-page .proof-band div > *,
.home-page .partner-logo > *{
  position:relative;
  z-index:1;
}
.home-page .portfolio-card:hover h3,
.home-page .portfolio-card:hover p,
.home-page .capability-card:hover h3,
.home-page .capability-card:hover p,
.home-page .service-ticket:hover h3,
.home-page .service-ticket:hover p,
.home-page .proof-band div:hover b,
.home-page .proof-band div:hover span{
  color:inherit;
}
.home-page .portfolio-card:hover span,
.home-page .capability-card:hover span,
.home-page .service-ticket:hover .ticket-kicker{
  color:var(--red);
  transform:translateX(2px);
}
.home-page .button.secondary:hover,
.home-page .light-button:hover{
  background:rgba(255,255,255,.12)!important;
  color:inherit!important;
  border-color:rgba(18,47,68,.24)!important;
}
.home-page .site-nav a:hover{
  background:linear-gradient(180deg, rgba(255,255,255,.78), rgba(18,47,68,.035));
  color:var(--navy);
  border-color:rgba(18,47,68,.10);
}

.home-page .partner-section{
  padding-top:clamp(52px,6vw,88px);
  padding-bottom:clamp(52px,6vw,88px);
}
.home-page .partner-copy{
  margin-bottom:clamp(18px,2.4vw,30px);
}
.home-page .partner-wall{
  display:grid;
  grid-template-columns:repeat(5,minmax(120px,1fr));
  gap:0;
  align-items:stretch;
  background:transparent;
  border:1px solid rgba(18,47,68,.12);
  border-right:0;
  border-bottom:0;
  overflow:visible;
}
.home-page .partner-logo{
  min-height:148px;
  padding:22px 18px 18px;
  align-content:center;
  justify-items:center;
  text-align:center;
  background:#fffefa;
  border-right:1px solid rgba(18,47,68,.12);
  border-bottom:1px solid rgba(18,47,68,.12);
  box-shadow:none;
  z-index:1;
}
.home-page .partner-logo:hover{
  transform:translate3d(0,-5px,0) scale(1.035);
  background:#fff;
  border-color:rgba(18,47,68,.20);
  box-shadow:0 18px 45px rgba(7,26,40,.13);
  z-index:5;
}
.home-page .partner-logo:hover:before{
  opacity:1;
  transform:translate3d(24%,0,0);
}
.home-page .partner-logo img,
.home-page .partner-logo.is-active img{
  max-width:min(176px,88%);
  max-height:74px;
  object-position:center center;
  filter:grayscale(.42) saturate(.86) contrast(.98);
  opacity:.78;
  transform:none;
  transition:transform .26s var(--ease), filter .26s var(--ease), opacity .26s var(--ease);
}
.home-page .partner-logo:hover img,
.home-page .partner-logo:focus-within img{
  filter:none;
  opacity:1;
  transform:scale(1.075);
}
.home-page .partner-logo span{
  margin-top:14px;
  color:var(--navy);
}
.home-page .partner-logo small{
  display:none;
}
.home-page .partner-logo.is-active{
  background:#fffefa;
  box-shadow:none;
}
@media (max-width:1100px){
  .home-page .partner-wall{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media (max-width:620px){
  .home-page .partner-wall{grid-template-columns:repeat(2,minmax(0,1fr));}
  .home-page .partner-logo{min-height:122px;padding:18px 12px 14px;}
  .home-page .partner-logo img{max-height:56px;max-width:86%;}
  .home-page .partner-logo span{font-size:10px;letter-spacing:.10em;}
}
@media (hover:none){
  .home-page .portfolio-card:hover,
  .home-page .capability-card:hover,
  .home-page .service-ticket:hover,
  .home-page .proof-band div:hover,
  .home-page .partner-logo:hover{
    transform:none;
    box-shadow:0 1px 0 rgba(255,255,255,.72) inset;
  }
}
@media (prefers-reduced-motion:reduce){
  .home-page .portfolio-card:before,
  .home-page .capability-card:before,
  .home-page .service-ticket:before,
  .home-page .proof-band div:before,
  .home-page .partner-logo:before{display:none!important;}
}

/* v219 — card hover cleanup
   Direction: restore the sleek dark-blue hover treatment consistently on homepage cards,
   remove the stray red presentation lines, and keep logo-wall hover clean. */
.home-page .section-presenter:after,
.home-page .plain-intro:before,
.home-page .capabilities:before,
.home-page .request-section:before{
  background:linear-gradient(90deg, rgba(18,47,68,.18), rgba(18,47,68,.08), transparent 72%) !important;
  opacity:.42 !important;
}
.home-page .section-presenter.is-presented:after,
.home-page .plain-intro.in:before,
.home-page .capabilities.is-presented:before,
.home-page .request-section.is-presented:before{
  opacity:.55 !important;
}

.home-page .portfolio-card,
.home-page .capability-card,
.home-page .service-ticket,
.home-page .proof-band div{
  position:relative;
  overflow:hidden;
  background:#fffefa !important;
  color:var(--ink);
  border:1px solid rgba(18,47,68,.13) !important;
  box-shadow:0 1px 0 rgba(255,255,255,.72) inset;
  transition:
    transform .26s var(--ease),
    box-shadow .26s var(--ease),
    border-color .26s var(--ease),
    color .26s var(--ease) !important;
}
.home-page .portfolio-card:before,
.home-page .capability-card:before,
.home-page .service-ticket:before,
.home-page .proof-band div:before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  width:auto !important;
  height:auto !important;
  background:
    linear-gradient(135deg, rgba(7,26,40,.98) 0%, rgba(13,43,63,.98) 48%, rgba(5,17,27,.98) 100%) !important;
  opacity:0 !important;
  transform:none !important;
  transition:opacity .24s var(--ease) !important;
  z-index:0 !important;
  pointer-events:none !important;
}
.home-page .portfolio-card:after,
.home-page .capability-card:after,
.home-page .service-ticket:after,
.home-page .proof-band div:after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  width:auto !important;
  height:auto !important;
  background:
    linear-gradient(115deg, transparent 0%, transparent 38%, rgba(255,255,255,.105) 50%, transparent 64%, transparent 100%) !important;
  opacity:0 !important;
  transform:translate3d(-18%,0,0) !important;
  transition:opacity .24s ease, transform .48s var(--ease) !important;
  z-index:1 !important;
  pointer-events:none !important;
}
.home-page .portfolio-card:hover,
.home-page .capability-card:hover,
.home-page .service-ticket:hover,
.home-page .proof-band div:hover{
  color:#fff !important;
  transform:translate3d(0,-5px,0) !important;
  border-color:rgba(7,26,40,.78) !important;
  box-shadow:0 20px 54px rgba(7,26,40,.18) !important;
}
.home-page .portfolio-card:hover:before,
.home-page .capability-card:hover:before,
.home-page .service-ticket:hover:before,
.home-page .proof-band div:hover:before{
  opacity:1 !important;
}
.home-page .portfolio-card:hover:after,
.home-page .capability-card:hover:after,
.home-page .service-ticket:hover:after,
.home-page .proof-band div:hover:after{
  opacity:1 !important;
  transform:translate3d(18%,0,0) !important;
}
.home-page .portfolio-card > *,
.home-page .capability-card > *,
.home-page .service-ticket > *,
.home-page .proof-band div > *{
  position:relative;
  z-index:2;
}
.home-page .portfolio-card:hover h3,
.home-page .portfolio-card:hover p,
.home-page .portfolio-card:hover span,
.home-page .capability-card:hover h3,
.home-page .capability-card:hover p,
.home-page .capability-card:hover span,
.home-page .service-ticket:hover h3,
.home-page .service-ticket:hover p,
.home-page .service-ticket:hover span,
.home-page .service-ticket:hover .ticket-kicker,
.home-page .proof-band div:hover b,
.home-page .proof-band div:hover span{
  color:#fff !important;
}
.home-page .portfolio-card:hover span,
.home-page .capability-card:hover span,
.home-page .service-ticket:hover .ticket-kicker{
  transform:translateX(2px) !important;
}
.home-page .proof-band div:hover b{
  text-shadow:0 8px 24px rgba(0,0,0,.15);
}

.home-page .partner-logo,
.home-page .partner-logo:hover{
  background:#fffefa !important;
  color:var(--ink) !important;
}
.home-page .partner-logo:before{
  background:linear-gradient(115deg, transparent 0%, rgba(255,255,255,.72) 44%, rgba(255,255,255,.20) 54%, transparent 68%) !important;
}
.home-page .partner-logo:hover{
  transform:translate3d(0,-5px,0) scale(1.035) !important;
  border-color:rgba(18,47,68,.20) !important;
  box-shadow:0 18px 45px rgba(7,26,40,.13) !important;
}

@media (hover:none), (max-width:760px){
  .home-page .portfolio-card:hover,
  .home-page .capability-card:hover,
  .home-page .service-ticket:hover,
  .home-page .proof-band div:hover,
  .home-page .partner-logo:hover{
    transform:none !important;
  }
}
@media (prefers-reduced-motion:reduce){
  .home-page .portfolio-card:after,
  .home-page .capability-card:after,
  .home-page .service-ticket:after,
  .home-page .proof-band div:after{display:none !important;}
}

/* v221 — client logo-only showcase refinement
   Rollback note: based on v219. Only the logo wall/cards are adjusted here.
   Do not change partner section text, heading layout, or background in this pass. */
.home-page .partner-wall{
  grid-template-columns:repeat(5,minmax(132px,1fr)) !important;
  gap:0 !important;
  align-items:stretch !important;
  border:1px solid rgba(18,47,68,.12) !important;
  border-right:0 !important;
  border-bottom:0 !important;
  background:transparent !important;
  overflow:visible !important;
  isolation:isolate;
}
.home-page .partner-logo{
  min-height:166px !important;
  padding:22px 16px 18px !important;
  display:grid !important;
  place-items:center !important;
  align-content:center !important;
  justify-items:center !important;
  gap:10px !important;
  text-align:center !important;
  background:#fffefa !important;
  border-right:1px solid rgba(18,47,68,.12) !important;
  border-bottom:1px solid rgba(18,47,68,.12) !important;
  color:var(--ink) !important;
  box-shadow:none !important;
  transform:translate3d(0,0,0) scale(1) !important;
  transition:
    transform .30s var(--ease),
    box-shadow .30s var(--ease),
    background-color .30s var(--ease),
    border-color .30s var(--ease) !important;
  z-index:1;
}
.home-page .partner-logo:before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  width:auto !important;
  height:auto !important;
  background:linear-gradient(115deg, transparent 0%, transparent 36%, rgba(255,255,255,.72) 50%, transparent 64%, transparent 100%) !important;
  opacity:0 !important;
  transform:translate3d(-42%,0,0) !important;
  transition:opacity .24s ease, transform .62s var(--ease) !important;
  pointer-events:none !important;
  z-index:1 !important;
}
.home-page .partner-logo:after{
  content:"" !important;
  position:absolute !important;
  left:18px !important;
  right:18px !important;
  bottom:0 !important;
  height:2px !important;
  width:auto !important;
  background:linear-gradient(90deg, transparent, rgba(227,6,42,.62), transparent) !important;
  opacity:0 !important;
  transform:scaleX(.35) !important;
  transform-origin:center !important;
  transition:opacity .24s ease, transform .30s var(--ease) !important;
  pointer-events:none !important;
  z-index:2 !important;
}
.home-page .partner-logo:hover,
.home-page .partner-logo:focus-within,
.home-page .partner-logo.is-active{
  background:#fff !important;
  border-color:rgba(18,47,68,.22) !important;
  box-shadow:0 20px 48px rgba(7,26,40,.12) !important;
  transform:translate3d(0,-6px,0) scale(1.04) !important;
  z-index:6 !important;
}
.home-page .partner-logo:hover:before,
.home-page .partner-logo:focus-within:before,
.home-page .partner-logo.is-active:before{
  opacity:1 !important;
  transform:translate3d(42%,0,0) !important;
}
.home-page .partner-logo:hover:after,
.home-page .partner-logo:focus-within:after,
.home-page .partner-logo.is-active:after{
  opacity:1 !important;
  transform:scaleX(1) !important;
}
.home-page .partner-logo img,
.home-page .partner-logo.is-active img{
  position:relative !important;
  z-index:3 !important;
  display:block !important;
  width:auto !important;
  max-width:min(230px,92%) !important;
  max-height:96px !important;
  object-fit:contain !important;
  object-position:center center !important;
  margin:auto !important;
  filter:grayscale(.30) saturate(.88) contrast(.98) !important;
  opacity:.86 !important;
  transform:translate3d(0,0,0) scale(1) !important;
  transition:transform .30s var(--ease), filter .30s var(--ease), opacity .30s var(--ease) !important;
}
.home-page .partner-logo:hover img,
.home-page .partner-logo:focus-within img,
.home-page .partner-logo.is-active img{
  filter:none !important;
  opacity:1 !important;
  transform:translate3d(0,-2px,0) scale(1.10) !important;
}
.home-page .partner-logo span{
  position:relative !important;
  z-index:3 !important;
  margin-top:8px !important;
  max-width:100% !important;
  color:var(--navy-dark) !important;
  font-size:11px !important;
  line-height:1.1 !important;
  letter-spacing:.12em !important;
  opacity:.74 !important;
  transition:opacity .24s var(--ease), transform .24s var(--ease), color .24s var(--ease) !important;
}
.home-page .partner-logo:hover span,
.home-page .partner-logo:focus-within span,
.home-page .partner-logo.is-active span{
  opacity:1 !important;
  color:var(--navy) !important;
  transform:translateY(2px) !important;
}
.home-page .partner-logo small{
  display:none !important;
}
@media (max-width:1180px){
  .home-page .partner-wall{grid-template-columns:repeat(4,minmax(0,1fr)) !important;}
  .home-page .partner-logo{min-height:154px !important;}
  .home-page .partner-logo img{max-height:84px !important;max-width:90% !important;}
}
@media (max-width:820px){
  .home-page .partner-wall{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .home-page .partner-logo{min-height:136px !important;padding:18px 12px 15px !important;}
  .home-page .partner-logo img{max-height:68px !important;max-width:88% !important;}
}
@media (hover:none), (max-width:760px){
  .home-page .partner-logo:hover,
  .home-page .partner-logo:focus-within{
    transform:translate3d(0,0,0) scale(1) !important;
    box-shadow:none !important;
  }
  .home-page .partner-logo.is-active{
    transform:translate3d(0,-3px,0) scale(1.02) !important;
    box-shadow:0 14px 30px rgba(7,26,40,.10) !important;
  }
}
@media (prefers-reduced-motion:reduce){
  .home-page .partner-logo.is-active,
  .home-page .partner-logo:hover,
  .home-page .partner-logo:focus-within{
    transform:none !important;
  }
  .home-page .partner-logo:before,
  .home-page .partner-logo:after{
    transition:none !important;
  }
}

