/* Homepage modern design system — scoped to homepage only. */
.home-page{
 --home-ink:#071923;
 --home-navy:#082536;
 --home-navy-2:#0a3148;
 --home-blue:#087bb8;
 --home-sky:#79d6f4;
 --home-soft:#f4f8fb;
 --home-soft-2:#eaf2f6;
 --home-line:rgba(9,48,70,.10);
 --home-shadow:0 28px 80px rgba(7,31,48,.10);
 --home-shadow-strong:0 30px 80px rgba(1,14,24,.22);
 background:#f7fafc;
}

/* Company profile photos keep their original ratio; no photo is invented for leadership. */
.home-company-card .card-image.is-contained{height:auto;aspect-ratio:auto;background:#edf5f8}
.home-company-card .card-image.is-contained:after{display:none}
.home-company-card .card-image.is-contained img{display:block;width:100%;height:auto;object-fit:contain}
.home-board-card.without-photo{padding:30px 22px;align-self:start;border-top:3px solid #0c6ea8}
.home-board-card.without-photo h3{margin-top:0}
.home-page main{overflow:hidden}
.home-page .section{padding:clamp(88px,8vw,132px) 0}
.home-page .eyebrow{letter-spacing:.18em}
.home-page .eyebrow.dark{color:#087bb8}

/* Hero refinement */
.home-page .home-hero-modern{border-bottom:1px solid rgba(255,255,255,.1)}
.home-page .home-hero-modern .hero-shade{
 background:
  linear-gradient(90deg,rgba(2,12,19,.86) 0%,rgba(2,12,19,.72) 30%,rgba(2,12,19,.48) 46%,rgba(2,12,19,.15) 65%,rgba(2,12,19,.03) 100%),
  linear-gradient(0deg,rgba(2,12,19,.38) 0%,rgba(2,12,19,.05) 48%,rgba(2,12,19,.16) 100%);
}
.home-page .home-hero-modern .slide-content{gap:22px}
.home-page .home-hero-modern .slide-kicker{
 width:max-content;max-width:100%;padding:7px 12px 7px 7px;border:1px solid rgba(155,224,250,.18);border-radius:999px;
 background:rgba(4,29,43,.24);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
 color:#dff6ff;font-weight:700;
}
.home-page .home-hero-modern .slide-kicker span{width:30px;height:30px;background:rgba(86,199,240,.13)}
.home-page .home-hero-modern .slide-copy h1{
 margin:20px 0 22px;font-size:var(--hero-title-size,84px);line-height:.98;letter-spacing:-.065em;
 max-width:760px;text-wrap:balance;
}
.home-page .home-hero-modern .hero-slide-rich{max-width:650px;font-size:18px;line-height:1.78;color:rgba(242,249,252,.9)}
.home-page .home-hero-modern .hero-slide-rich p{margin:0 0 .8em}
.home-page .home-hero-modern .actions{margin-top:28px;gap:22px}
.home-page .home-hero-modern .hero-button{
 min-height:56px;padding:0 22px;border-radius:16px;background:linear-gradient(135deg,#087bb8,#079fd0);
 box-shadow:0 18px 38px rgba(4,92,139,.28),inset 0 1px 0 rgba(255,255,255,.16);
 transition:transform .22s ease,box-shadow .22s ease,background .22s ease;
}
.home-page .home-hero-modern .hero-button span{font-size:17px}
.home-page .home-hero-modern .text-link{display:inline-flex;align-items:center;min-height:44px;color:rgba(255,255,255,.9);font-weight:700}
.home-page .home-hero-modern .hero-identity{
 border-color:rgba(255,255,255,.14);background:linear-gradient(135deg,rgba(3,21,32,.62),rgba(7,49,69,.38));
 box-shadow:0 20px 48px rgba(0,0,0,.18);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
}
.home-page .home-hero-modern .identity-logo{border-radius:14px}
.home-page .home-hero-modern .identity-facts small{color:#86cde8}
.home-page .home-hero-modern .hero-tabs{
 background:linear-gradient(180deg,rgba(4,27,40,.86),rgba(3,18,28,.80));
 border-color:rgba(151,222,250,.16);box-shadow:0 28px 65px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.07);
}
.home-page .home-hero-modern .hero-tab{color:rgba(220,237,245,.72)}
.home-page .home-hero-modern .hero-tab.is-active{
 color:#064b70;background:linear-gradient(135deg,#fff,#edf8fc);box-shadow:0 12px 28px rgba(0,0,0,.23),inset 0 -3px #0992c6;
}
.home-page .home-hero-modern .hero-arrows button{
 background:rgba(4,28,42,.70);border-color:rgba(255,255,255,.22);box-shadow:0 16px 32px rgba(0,0,0,.22);
 transition:transform .2s ease,background .2s ease,border-color .2s ease;
}

/* About / intro */
.home-intro-modern{
 position:relative;background:
  radial-gradient(circle at 12% 0%,rgba(76,189,231,.14),transparent 26%),
  radial-gradient(circle at 92% 68%,rgba(7,123,184,.08),transparent 26%),
  linear-gradient(180deg,#f8fbfd 0%,#fff 100%);
}
.home-intro-modern:before{
 content:"";position:absolute;left:50%;top:0;width:min(1180px,calc(100% - 48px));height:1px;transform:translateX(-50%);
 background:linear-gradient(90deg,transparent,rgba(7,123,184,.22),transparent);
}
.home-intro-grid{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:clamp(50px,8vw,118px);align-items:start}
.home-intro-heading{position:relative;padding:8px 0 0}
.home-intro-heading:after{
 content:"";display:block;width:82px;height:4px;margin-top:34px;border-radius:999px;
 background:linear-gradient(90deg,#087bb8,#70d3f4);
}
.home-intro-heading h2{font-size:clamp(44px,5vw,74px);line-height:1.02;letter-spacing:-.06em;max-width:9.5ch;text-wrap:balance}
.home-intro-copy{padding-top:10px}
.home-intro-copy .lead{font-size:clamp(18px,1.45vw,22px);line-height:1.78;color:#405563;max-width:720px}
.home-inline-link,.home-section-link{
 display:inline-flex;align-items:center;gap:10px;margin-top:10px;color:#0672ab;font-weight:800;font-size:14px;
 transition:gap .2s ease,color .2s ease;
}
.home-stat-grid{
 margin-top:70px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;border:0;box-shadow:none;background:transparent;
}
.home-stat-grid>div{
 position:relative;min-height:150px;padding:28px 26px;border:1px solid rgba(9,70,101,.09);border-radius:22px;
 background:rgba(255,255,255,.82);box-shadow:0 20px 50px rgba(13,53,76,.07);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
 overflow:hidden;
}
.home-stat-grid>div:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,#0a7fba,#76d7f5);opacity:.8}
.home-stat-grid strong{font-size:clamp(34px,3.2vw,48px);line-height:1;color:#073e5d;letter-spacing:-.05em}
.home-stat-grid span{margin-top:12px;color:#667b87;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}

/* Companies */
.home-portfolio-modern{
 position:relative;background:
  radial-gradient(circle at 14% 8%,rgba(50,171,216,.17),transparent 24%),
  radial-gradient(circle at 90% 82%,rgba(33,106,145,.17),transparent 26%),
  linear-gradient(145deg,#06151f 0%,#082838 52%,#061c29 100%);
}
.home-portfolio-modern:before{
 content:"";position:absolute;inset:0;pointer-events:none;opacity:.28;
 background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:80px 80px;
 mask-image:linear-gradient(180deg,#000,transparent 80%);
}
.home-section-head{position:relative;z-index:1;gap:40px;margin-bottom:50px}
.home-section-head h2{max-width:740px;font-size:clamp(42px,4.6vw,68px);line-height:1.02;letter-spacing:-.055em;text-wrap:balance}
.home-portfolio-modern .home-section-head h2{color:#fff}
.home-portfolio-modern .home-section-head .eyebrow{color:#7fd9f5}
.home-portfolio-modern .home-section-link{color:#ccecf8;margin:0;padding:12px 16px;border:1px solid rgba(255,255,255,.13);border-radius:999px;background:rgba(255,255,255,.04)}
.home-company-grid{position:relative;z-index:1;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.home-company-card{
 position:relative;border:1px solid rgba(255,255,255,.09);border-radius:26px;background:rgba(11,43,59,.76);overflow:hidden;
 box-shadow:0 22px 56px rgba(0,0,0,.18);transform:translateZ(0);
 transition:transform .35s cubic-bezier(.2,.8,.2,1),border-color .3s ease,box-shadow .35s ease,background .3s ease;
}
.home-company-card .card-image{height:250px;background-color:#0a2636;background-position:center;background-size:cover;overflow:hidden}
.home-company-card .card-image:after{background:linear-gradient(180deg,rgba(3,18,27,.02) 26%,rgba(3,18,27,.82) 100%)}
.home-company-card .card-image>span{
 left:20px;top:18px;bottom:auto;width:38px;height:38px;display:grid;place-items:center;border-radius:50%;
 border:1px solid rgba(255,255,255,.25);background:rgba(5,27,40,.42);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
 font-size:9px;
}
.home-company-card .card-body{position:relative;padding:28px 26px 26px;min-height:280px;display:flex;flex-direction:column}
.home-company-card .company-card-logo{
 width:76px;height:54px;padding:7px;margin:-54px 0 20px;border-radius:14px;background:#fff;border:1px solid rgba(255,255,255,.8);
 box-shadow:0 12px 28px rgba(0,0,0,.16);display:grid;place-items:center;position:relative;z-index:2;
}
.home-company-card .company-card-logo img{max-width:100%;max-height:100%;object-fit:contain}
.home-company-card .card-body small{color:#7bd6f3;font-size:9px;letter-spacing:.15em}
.home-company-card .card-body h3{color:#fff;font-size:clamp(23px,2vw,30px);line-height:1.14;margin:12px 0 14px}
.home-company-card .card-summary{color:#a9bfcb;line-height:1.72;font-size:14px}
.home-company-card .card-summary p{margin:0 0 .7em}
.home-company-card .card-body b{margin-top:auto;padding-top:24px;color:#eefbff;font-size:12px;border-top:1px solid rgba(255,255,255,.09)}
.home-company-card .card-body b span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:rgba(114,213,245,.12);color:#8eddf7}

/* Leadership */
.home-board-modern{
 position:relative;background:linear-gradient(180deg,#f8fbfc 0%,#eef5f8 100%);
}
.home-board-modern:after{
 content:"";position:absolute;width:420px;height:420px;border-radius:50%;right:-190px;top:60px;
 background:radial-gradient(circle,rgba(84,191,230,.15),rgba(84,191,230,0) 68%);pointer-events:none;
}
.home-section-head-dark h2{color:#071923}
.home-board-grid{position:relative;z-index:1;gap:20px}
.home-board-card{
 border:1px solid rgba(8,58,84,.08);border-radius:24px;background:rgba(255,255,255,.84);padding:10px 10px 22px;
 box-shadow:0 20px 52px rgba(11,49,70,.07);overflow:hidden;
 transition:transform .32s cubic-bezier(.2,.8,.2,1),box-shadow .32s ease,border-color .32s ease;
}
.home-board-card .board-photo{border-radius:18px;aspect-ratio:4/5}
.home-board-card .board-photo:after{border:0;background:linear-gradient(0deg,rgba(4,25,36,.15),transparent 34%)}
.home-board-copy{padding:0 10px}
.home-board-card h3{font-size:20px;margin:20px 0 6px;color:#112f40}
.home-board-card h3:before{width:18px;background:#0b86bd}
.home-board-card p{margin:0!important;padding-left:31px!important;color:#0b78aa!important;font-size:10px!important;letter-spacing:.10em!important}

/* Direction */
.home-direction-modern{
 position:relative;background:
  radial-gradient(circle at 80% 20%,rgba(10,129,185,.10),transparent 24%),
  linear-gradient(180deg,#fff 0%,#f4f8fa 100%);
}
.home-direction-grid{grid-template-columns:1.05fr 1fr 1fr;gap:20px;align-items:stretch}
.home-direction-intro{padding:36px 36px 36px 0;align-self:center}
.home-direction-intro h2{font-size:clamp(38px,4.2vw,62px);line-height:1.04;letter-spacing:-.055em;text-wrap:balance}
.home-purpose-card{
 position:relative;min-height:360px;padding:38px;border:1px solid rgba(6,66,96,.10);border-radius:28px;background:rgba(255,255,255,.9);
 box-shadow:0 22px 54px rgba(12,52,72,.07);overflow:hidden;
}
.home-purpose-card:before{content:"";position:absolute;left:38px;top:78px;width:42px;height:2px;background:#63c9ed}
.home-purpose-card>span{color:#097daf;font-weight:800;letter-spacing:.16em}
.home-purpose-card .purpose-rich{margin-top:104px;color:#425966;font-size:17px;line-height:1.8}
.home-purpose-card .purpose-rich p{margin:0 0 .9em}
.home-purpose-card-accent{
 border-color:rgba(255,255,255,.1);background:linear-gradient(145deg,#087db5,#07577e);color:#fff;
 box-shadow:0 26px 60px rgba(7,91,132,.22);
}
.home-purpose-card-accent:after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;right:-120px;bottom:-130px;border:1px solid rgba(255,255,255,.12);box-shadow:0 0 0 42px rgba(255,255,255,.035)}
.home-purpose-card-accent>span{color:#d5f4ff}
.home-purpose-card-accent .purpose-rich{color:#eefaff}
.home-purpose-card-accent:before{background:#a4e8ff}

/* CTA */
.home-cta-modern{position:relative;padding:clamp(78px,8vw,118px) 0;background:linear-gradient(180deg,#edf5f8 0%,#f7fbfd 100%);color:#123446;overflow:hidden}
.home-cta-modern:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 14% 72%,rgba(122,217,247,.18),transparent 22%),radial-gradient(circle at 86% 16%,rgba(10,120,183,.10),transparent 24%);pointer-events:none}
.home-cta-modern .container{position:relative}
.home-cta-card{
 position:relative;isolation:isolate;overflow:hidden;min-height:420px;padding:clamp(42px,5.2vw,74px);border-radius:36px;
 display:flex;flex-direction:column;align-items:flex-start;justify-content:center;
 background:linear-gradient(135deg,rgba(255,255,255,.64),rgba(255,255,255,.24));
 border:1px solid rgba(255,255,255,.56);
 backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
 box-shadow:0 28px 70px rgba(8,52,76,.12), inset 0 1px 0 rgba(255,255,255,.42);
}
.home-cta-card:before{content:"";position:absolute;z-index:-2;inset:0;background:var(--home-cta-image,linear-gradient(135deg,#bfeaf8,#d9eef6));background-size:cover;background-position:var(--home-cta-image-position,center);opacity:.18;transform:scale(1.02)}
.home-cta-card:after{content:"";position:absolute;z-index:-1;inset:0;background:radial-gradient(circle at 84% 18%,rgba(105,214,248,.22),transparent 28%),linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,0));pointer-events:none}
.home-cta-kicker{display:inline-flex;align-items:center;gap:10px;padding:9px 14px;border:1px solid rgba(12,94,136,.12);border-radius:999px;background:rgba(255,255,255,.52);color:#0c5e88!important;box-shadow:0 10px 24px rgba(8,69,100,.06)}
.home-cta-kicker:before{content:"";width:7px;height:7px;border-radius:50%;background:#2ca7d9;box-shadow:0 0 0 5px rgba(44,167,217,.10)}
.home-cta-modern h2{max-width:760px;margin:24px 0 34px;color:#173345;font-size:clamp(38px,4.8vw,64px);line-height:1.04;letter-spacing:-.055em;text-wrap:balance}
.home-cta-button{min-height:56px;margin:0;padding:0 22px;border-radius:16px;background:linear-gradient(135deg,#0a6ea6,#0f8dcb);color:#fff;box-shadow:0 18px 40px rgba(6,96,145,.18)}

/* Shared motion and interactions */
.home-page .reveal{transform:translateY(28px);transition:opacity .75s cubic-bezier(.2,.7,.2,1) var(--delay,0ms),transform .75s cubic-bezier(.2,.7,.2,1) var(--delay,0ms)}
.home-page .reveal.visible,.home-page .reveal.is-visible{transform:none}
@media(hover:hover){
 .home-page .home-hero-modern .hero-button:hover{transform:translateY(-2px);box-shadow:0 24px 46px rgba(4,92,139,.34)}
 .home-page .home-hero-modern .hero-arrows button:hover{transform:translateY(-2px)}
 .home-inline-link:hover,.home-section-link:hover{gap:15px;color:#045b8a}
 .home-portfolio-modern .home-section-link:hover{color:#fff;background:rgba(255,255,255,.09)}
 .home-company-card:hover{transform:translateY(-8px);border-color:rgba(126,216,249,.24);background:rgba(12,48,66,.9);box-shadow:0 32px 70px rgba(0,0,0,.25)}
 .home-board-card:hover{transform:translateY(-7px);border-color:rgba(7,123,184,.16);box-shadow:0 30px 66px rgba(11,49,70,.12)}
 .home-cta-button:hover{transform:translateY(-2px);background:linear-gradient(135deg,#085b89,#0a7ab2);color:#fff}
}

/* Responsive */
@media(max-width:1100px){
 .home-company-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .home-direction-grid{grid-template-columns:1fr 1fr}.home-direction-intro{grid-column:1/-1;padding:0 0 26px;max-width:760px}
 .home-purpose-card{min-height:330px}
}
@media(max-width:900px){
 .home-page .section{padding:86px 0}
 .home-page .home-hero-modern .slide-copy h1{font-size:var(--hero-title-size-tablet,68px)}
 .home-page .home-hero-modern .hero-slide-rich{font-size:17px}
 .home-intro-grid{grid-template-columns:1fr;gap:32px}.home-intro-heading h2{max-width:13ch}.home-intro-heading:after{margin-top:25px}
 .home-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:52px}
 .home-board-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .home-cta-card{min-height:410px;border-radius:28px}
}
@media(max-width:650px){
 .home-page .section{padding:72px 0}
 /* Mobile intro/stat alignment: center the journey link and stat content. */
 .home-intro-grid{justify-items:center;text-align:center}
 .home-intro-heading{width:100%;text-align:center}
 .home-intro-heading h2{margin-left:auto;margin-right:auto}
 .home-intro-heading:after{margin-left:auto;margin-right:auto}
 .home-intro-copy{width:100%;text-align:center}
 .home-intro-copy .lead{margin-left:auto;margin-right:auto}
 .home-inline-link{justify-content:center;margin-left:auto;margin-right:auto}
 .home-stat-grid{width:100%}
 .home-stat-grid>div{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
 .home-stat-grid strong,.home-stat-grid span{width:100%;text-align:center}
 .home-page .home-hero-modern .slide-kicker{font-size:8px}
 .home-page .home-hero-modern .slide-copy h1{font-size:var(--hero-title-size-mobile,54px);margin-top:18px}
 .home-page .home-hero-modern .hero-slide-rich{font-size:15px;line-height:1.65}
 .home-page .home-hero-modern .actions{margin-top:20px;gap:14px;align-items:flex-start}
 .home-page .home-hero-modern .hero-button{min-height:50px;border-radius:14px;padding:0 18px}
 .home-intro-heading h2{font-size:clamp(38px,11vw,52px)}
 .home-intro-copy .lead{font-size:17px;line-height:1.72}
 .home-stat-grid{grid-template-columns:1fr 1fr;gap:10px;margin-top:42px}
 .home-stat-grid>div{min-height:124px;padding:22px 18px;border-radius:18px}
 .home-stat-grid strong{font-size:34px}.home-stat-grid span{font-size:9px;line-height:1.45}
 .home-section-head{align-items:flex-start;flex-direction:column;margin-bottom:34px}.home-section-head h2{font-size:clamp(38px,11vw,52px)}
 .home-company-grid{grid-template-columns:1fr;gap:16px}
 .home-company-card{border-radius:22px}.home-company-card .card-image{height:220px}.home-company-card .card-body{min-height:250px;padding:25px 22px 22px}
 .home-board-grid{grid-template-columns:1fr 1fr;gap:12px}.home-board-card{padding:7px 7px 17px;border-radius:18px}.home-board-card .board-photo{border-radius:14px}.home-board-copy{padding:0 5px}.home-board-card h3{font-size:15px;margin-top:14px}.home-board-card h3:before{display:none}.home-board-card p{padding-left:0!important;font-size:8px!important}
 .home-direction-grid{grid-template-columns:1fr;gap:14px}.home-direction-intro{grid-column:auto}.home-direction-intro h2{font-size:clamp(38px,11vw,52px)}
 .home-purpose-card{min-height:290px;padding:28px;border-radius:22px}.home-purpose-card:before{left:28px;top:66px}.home-purpose-card .purpose-rich{margin-top:82px;font-size:16px}
 .home-cta-modern{padding:60px 0}.home-cta-card{min-height:390px;padding:38px 26px;border-radius:24px}.home-cta-modern h2{font-size:clamp(34px,10vw,48px);margin:22px 0 30px}.home-cta-button{min-height:52px;border-radius:14px}
}
@media(max-width:420px){
 .home-stat-grid{grid-template-columns:1fr}
 .home-stat-grid>div{min-height:108px}
 .home-board-grid{grid-template-columns:1fr 1fr}
}
@media(prefers-reduced-motion:reduce){
 .home-page .reveal,.home-company-card,.home-board-card,.home-page .home-hero-modern .hero-button,.home-page .home-hero-modern .hero-arrows button,.home-inline-link,.home-section-link{transition:none!important}
}

/* CMS-adjustable desktop space between the header/logo and hero copy. */
@media(min-width:1001px){
 .home-page .home-hero-modern .slide-content{
  justify-content:flex-start!important;
  padding-top:calc(100px + var(--home-hero-logo-text-gap,28px))!important;
 }
}


/* Desktop hero identity safe-zone: keep company facts above the company dock. */
@media(min-width:1001px){
 .home-page .home-hero-modern .slide-content{
  position:relative;
  padding-bottom:210px!important;
 }
 .home-page .home-hero-modern .hero-identity{
  position:absolute!important;
  left:0;
  bottom:118px;
  width:min(610px,48%)!important;
  max-width:610px!important;
  margin:0!important;
  z-index:5;
 }
}
@media(min-width:1001px) and (max-width:1250px){
 .home-page .home-hero-modern .hero-identity{
  bottom:116px;
  width:min(570px,52%)!important;
 }
}


/* Final desktop hero vertical layout: text/actions -> identity -> dock. */
@media(min-width:1001px){
 .home-page .home-hero-modern .hero-slide{
  min-height:840px!important;
 }
 .home-page .home-hero-modern .slide-content{
  display:grid!important;
  grid-template-rows:auto auto!important;
  align-content:start!important;
  align-items:start!important;
  row-gap:30px!important;
  height:840px!important;
  padding-top:calc(100px + var(--home-hero-logo-text-gap,28px))!important;
  padding-bottom:128px!important;
 }
 .home-page .home-hero-modern .slide-copy{
  grid-row:1;
  align-self:start!important;
  width:min(760px,58%)!important;
  max-width:760px!important;
  min-width:0;
  padding:0!important;
  margin:0!important;
 }
 .home-page .home-hero-modern .hero-identity{
  position:static!important;
  grid-row:2;
  align-self:start!important;
  justify-self:start!important;
  width:min(610px,52%)!important;
  max-width:610px!important;
  margin:0!important;
  padding:9px 11px!important;
  z-index:5;
 }
 .home-page .home-hero-modern .actions{margin-top:24px!important;margin-bottom:0!important}
}
@media(min-width:1001px) and (max-width:1250px){
 .home-page .home-hero-modern .hero-slide{min-height:860px!important}
 .home-page .home-hero-modern .slide-content{height:860px!important;padding-bottom:130px!important}
 .home-page .home-hero-modern .slide-copy{width:min(700px,62%)!important}
 .home-page .home-hero-modern .hero-identity{width:min(570px,56%)!important}
}


/* Homepage full-bleed banner: the hero image continues behind the transparent navbar. */
.home-page{margin:0!important;padding:0!important;}
.home-page main{margin:0!important;padding:0!important;}
.home-page main > .home-hero-modern:first-child,
.home-page .home-hero-modern{
  position:relative!important;
  margin:0!important;
  padding:0!important;
  width:100%!important;
  max-width:none!important;
  min-height:max(840px,100vh)!important;
  overflow:hidden!important;
}
.home-page .home-hero-modern .hero-slides,
.home-page .home-hero-modern .hero-slide{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
}
.home-page .home-hero-modern .hero-photo{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  overflow:hidden!important;
}
.home-page .home-hero-modern .hero-photo img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  border-radius:0!important;
}
/* Top shading belongs to the banner, not to the navbar, so the image remains visible behind navigation. */
.home-page .home-hero-modern .hero-shade{
  display:block!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  pointer-events:none!important;
  background:
    linear-gradient(180deg,rgba(2,16,26,.48) 0,rgba(2,16,26,.18) 120px,rgba(2,16,26,0) 230px),
    linear-gradient(90deg,rgba(2,12,19,.86) 0%,rgba(2,12,19,.72) 30%,rgba(2,12,19,.48) 46%,rgba(2,12,19,.15) 65%,rgba(2,12,19,.03) 100%),
    linear-gradient(0deg,rgba(2,12,19,.38) 0%,rgba(2,12,19,.05) 48%,rgba(2,12,19,.16) 100%)!important;
}
@media(max-width:1000px){
  .home-page .home-hero-modern{min-height:max(780px,100svh)!important;}
}
@media(max-width:600px){
  .home-page .home-hero-modern{min-height:max(735px,100svh)!important;}
}


/* Adjustable homepage banner sizing (CMS: Homepage -> Hero slider defaults). */
@media (min-width:1001px){
  .home-page main > .home-hero-modern:first-child,
  .home-page .home-hero-modern{
    height:var(--home-banner-height,720px)!important;
    min-height:var(--home-banner-height,720px)!important;
    max-height:var(--home-banner-height,720px)!important;
  }
  .home-page .home-hero-modern .hero-slide{
    height:100%!important;
    min-height:0!important;
  }
  .home-page .home-hero-modern .slide-content{
    height:100%!important;
    min-height:0!important;
    padding-top:calc(82px + var(--home-hero-logo-text-gap,28px))!important;
    padding-bottom:112px!important;
    row-gap:22px!important;
  }
}

/* Responsive hero height; image fitting is handled automatically with cover below. */
@media (max-width:1000px){
  .home-page .home-hero-modern{
    height:min(var(--home-banner-height,720px),780px)!important;
    min-height:700px!important;
    max-height:none!important;
  }
}
@media (max-width:600px){
  .home-page .home-hero-modern{
    height:auto!important;
    min-height:700px!important;
    max-height:none!important;
  }
}


/* Homepage hero image quality: sharp static photo + smooth cross-fade. */
.home-page .home-hero-modern .hero-slide{
  transform:none!important;
  transition:opacity .68s cubic-bezier(.22,.61,.36,1),visibility .68s linear!important;
  will-change:opacity;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
}
.home-page .home-hero-modern .hero-slide.is-active{
  transform:none!important;
}
.home-page .home-hero-modern .hero-photo{
  background:#071a27!important;
}
.home-page .home-hero-modern .hero-photo img{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  transform:translate(-50%,-50%) scale(var(--home-banner-image-scale,1))!important;
  transform-origin:center center!important;
  transition:none!important;
  animation:none!important;
  image-rendering:auto;
  filter:contrast(1.035) saturate(1.025)!important;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
}
/* Keep text readable without muddying the banner photograph. */
.home-page .home-hero-modern .hero-shade{
  background:
    linear-gradient(180deg,rgba(2,16,26,.34) 0,rgba(2,16,26,.10) 118px,rgba(2,16,26,0) 220px),
    linear-gradient(90deg,rgba(2,12,19,.72) 0%,rgba(2,12,19,.58) 29%,rgba(2,12,19,.34) 46%,rgba(2,12,19,.10) 66%,rgba(2,12,19,.015) 100%),
    linear-gradient(0deg,rgba(2,12,19,.26) 0%,rgba(2,12,19,.025) 48%,rgba(2,12,19,.09) 100%)!important;
}
@media(max-width:1000px){
  .home-page .home-hero-modern .hero-photo img{
    width:100%!important;
    height:100%!important;
    transform:translate(-50%,-50%) scale(var(--home-banner-image-scale,1))!important;
  }
  .home-page .home-hero-modern .hero-shade{
    background:
      linear-gradient(90deg,rgba(2,12,19,.68) 0%,rgba(2,12,19,.46) 55%,rgba(2,12,19,.12) 100%),
      linear-gradient(0deg,rgba(2,12,19,.38),rgba(2,12,19,.03) 58%)!important;
  }
}
@media(prefers-reduced-motion:reduce){
  .home-page .home-hero-modern .hero-slide{transition:none!important}
}


/* Homepage hero automatic image fitting.
   Any uploaded landscape image fills the banner proportionally without distortion.
   The CMS Banner focus controls which part of the photo remains visible when cropping is needed. */
.home-page .home-hero-modern .hero-photo,
.home-page .home-hero-modern .hero-photo.is-auto-cover{
  background:#071a27!important;
}
.home-page .home-hero-modern .hero-photo img,
.home-page .home-hero-modern .hero-photo.is-auto-cover img{
  object-fit:cover!important;
  object-position:var(--slide-focus,center)!important;
}
.home-page .home-hero-modern .fallback-slide .hero-photo img{
  object-fit:cover!important;
  object-position:var(--hero-image-position,center)!important;
}
