/* =========================================================
   BHJ Security — interim exhibition site
   Design system

   Direction (client brief): light, spacious, modern, professional
   enterprise-technology. International B2B. Data-centre led.
   Never the dark, device-catalogue look of a traditional security site.

   Brand gradient  #0F3193 -> #35B2D2
   Structure and content follow the confirmed 0914 wireframe;
   the visual design is ours.
   ========================================================= */

:root{
  /* ---- brand ---- */
  --deep:#0F3193;
  --deep-2:#183FA8;
  --deep-d:#0A2068;
  --cyan:#35B2D2;
  --cyan-d:#2494B4;
  --grad:linear-gradient(100deg,#0F3193 0%,#2C6ABF 48%,#35B2D2 100%);
  --grad-r:linear-gradient(100deg,#35B2D2 0%,#2C6ABF 52%,#0F3193 100%);

  /* ---- ink: blue-biased neutrals, never flat grey ---- */
  --ink:#11172A;
  --ink-2:#4A5468;
  --ink-3:#7A8598;
  --ink-4:#AEB7C6;

  /* ---- surface ---- */
  --bg:#FFFFFF;
  --bg-2:#F4F7FA;
  --bg-3:#EDF3F8;
  --line:#E2E8F0;
  --line-2:#EEF2F7;
  --footer:#0A0D14;

  /* ---- depth ---- */
  --sh-1:0 1px 2px rgba(16,32,80,.04);
  --sh-2:0 18px 46px -30px rgba(16,32,80,.30);
  --sh-3:0 30px 70px -34px rgba(16,32,80,.36);

  /* ---- metrics ---- */
  --wrap:1280px;
  --gut:32px;
  --sp:128px;
  --sp-s:88px;
  --hdr:86px;
  --sub:50px;
  --r:6px;
  --r-lg:10px;
  --ease:cubic-bezier(.22,.61,.36,1);
  --ease-o:cubic-bezier(.16,1,.3,1);

  --font:"Archivo","Segoe UI",-apple-system,BlinkMacSystemFont,"Helvetica Neue",
         Roboto,Arial,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;background:var(--bg);color:var(--ink);
  font-family:var(--font);font-size:16px;line-height:1.72;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}
img{max-width:100%;display:block;border:0}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
ul,ol{margin:0;padding:0;list-style:none}
h1,h2,h3,h4,h5{margin:0;font-weight:600;line-height:1.22;letter-spacing:-.014em;text-wrap:balance;
  font-variant-numeric:tabular-nums}
p{margin:0}
:focus-visible{outline:2px solid var(--cyan);outline-offset:3px;border-radius:2px}
::selection{background:rgba(53,178,210,.22)}

/* =========================================================
   LAYOUT
   ========================================================= */
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
.wrap--narrow{max-width:1020px}
.section{padding:var(--sp) 0;position:relative}
.section--tight{padding:var(--sp-s) 0}
.section--alt{background:var(--bg-2)}
.section--tint{background:var(--bg-3)}
.section--line{border-top:1px solid var(--line-2)}

.grid{display:grid;gap:26px}
.g-2{grid-template-columns:repeat(2,1fr)}
.g-3{grid-template-columns:repeat(3,1fr)}
.g-4{grid-template-columns:repeat(4,1fr)}
.g-5{grid-template-columns:repeat(5,1fr)}

/* =========================================================
   TYPE
   ========================================================= */
.eyebrow{
  display:inline-flex;align-items:center;gap:11px;
  font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;
  color:var(--deep);margin-bottom:22px;
}
.eyebrow::before{content:"";width:26px;height:2px;border-radius:2px;background:var(--grad);flex:none}
.eyebrow--c{justify-content:center}
.eyebrow--plain::before{display:none}

.h-xl{font-size:clamp(38px,5.1vw,66px);font-weight:600;letter-spacing:-.03em;line-height:1.04}
.h-lg{font-size:clamp(28px,3.2vw,43px);font-weight:600;letter-spacing:-.024em;line-height:1.18}
.h-md{font-size:clamp(21px,2.2vw,28px);font-weight:600;letter-spacing:-.012em;line-height:1.3}
.h-sm{font-size:19px;font-weight:600;line-height:1.4}
.h-xs{font-size:15.5px;font-weight:600;line-height:1.45;letter-spacing:-.004em}

.lead{font-size:clamp(17px,1.5vw,20px);line-height:1.6;color:var(--ink-2);font-weight:400;letter-spacing:-.004em}
.body{font-size:15.5px;line-height:1.8;color:var(--ink-2)}
.body-s{font-size:14px;line-height:1.75;color:var(--ink-2)}
.muted{color:var(--ink-3)}
.center{text-align:center}
.measure{max-width:64ch}
.measure-s{max-width:54ch}
.mx{margin-left:auto;margin-right:auto}
.grad-text{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}

.mt-8{margin-top:8px}.mt-12{margin-top:12px}.mt-16{margin-top:16px}
.mt-24{margin-top:24px}.mt-32{margin-top:32px}.mt-48{margin-top:48px}.mt-64{margin-top:64px}
.mb-16{margin-bottom:16px}.mb-24{margin-bottom:24px}.mb-32{margin-bottom:32px}
.mb-48{margin-bottom:48px}.mb-64{margin-bottom:64px}

/* =========================================================
   BUTTONS
   ========================================================= */
.btn{
  position:relative;overflow:hidden;
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  height:38px;padding:0 22px;border-radius:3px;
  background:var(--cyan);color:#fff;
  font-size:11.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  transition:box-shadow .35s var(--ease),transform .35s var(--ease);
  white-space:nowrap;isolation:isolate;
}
.btn::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--grad);
  opacity:0;transition:opacity .35s var(--ease)}
.btn:hover{transform:translateY(-2px);box-shadow:var(--sh-2)}
.btn:hover::before{opacity:1}
.btn--lg{height:48px;padding:0 32px;font-size:12px}
.btn--grad{background:var(--grad)}
.btn--grad::before{background:var(--deep)}
.btn--ghost{background:transparent;color:var(--deep);border:1px solid var(--line)}
.btn--ghost::before{background:var(--grad)}
.btn--ghost:hover{color:#fff;border-color:transparent}
.btn--white{background:#fff;color:var(--deep)}
.btn--white::before{background:var(--grad)}
.btn--white:hover{color:#fff}

.link-arrow{
  display:inline-flex;align-items:center;gap:10px;
  font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
  color:var(--deep);transition:color .3s var(--ease);
}
.link-arrow svg{transition:transform .35s var(--ease-o);flex:none}
.link-arrow:hover{color:var(--cyan)}
.link-arrow:hover svg{transform:translateX(6px)}

/* =========================================================
   HEADER
   ========================================================= */
.hdr{
  position:sticky;top:0;z-index:90;background:rgba(255,255,255,.92);
  backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px);
  border-bottom:1px solid transparent;transition:border-color .3s var(--ease),box-shadow .3s var(--ease);
}
.hdr.is-stuck{border-bottom-color:var(--line-2);box-shadow:0 10px 30px -24px rgba(16,32,80,.4)}
.hdr__in{display:flex;align-items:center;justify-content:space-between;height:var(--hdr);gap:20px}
.hdr__logo img{height:32px;width:auto}
.hdr__nav{display:flex;align-items:center;gap:clamp(13px,1.9vw,28px);margin-left:auto}
.hdr__nav a{
  position:relative;font-size:12.5px;font-weight:500;letter-spacing:.06em;
  text-transform:uppercase;color:var(--ink);padding:8px 0;white-space:nowrap;
  transition:color .25s var(--ease);
}
.hdr__nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;border-radius:2px;
  background:var(--grad);transform:scaleX(0);transform-origin:left;transition:transform .38s var(--ease-o)}
.hdr__nav a:hover{color:var(--deep)}
.hdr__nav a:hover::after,.hdr__nav a.is-active::after{transform:scaleX(1)}
.hdr__nav a.is-active{color:var(--deep)}
.hdr__cta{margin-left:clamp(12px,1.8vw,24px)}

.burger{display:none;width:40px;height:40px;align-items:center;justify-content:center;flex:none}
.burger span{display:block;width:22px;height:1.5px;background:var(--ink);position:relative;transition:background .2s}
.burger span::before,.burger span::after{content:"";position:absolute;left:0;width:22px;height:1.5px;background:var(--ink);
  transition:transform .34s var(--ease-o),top .34s var(--ease-o)}
.burger span::before{top:-7px}
.burger span::after{top:7px}
.is-menu .burger span{background:transparent}
.is-menu .burger span::before{top:0;transform:rotate(45deg)}
.is-menu .burger span::after{top:0;transform:rotate(-45deg)}

.subnav{background:rgba(255,255,255,.94);backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line-2);position:sticky;top:var(--hdr);z-index:80}
.subnav__in{display:flex;gap:clamp(18px,3.2vw,54px);height:var(--sub);align-items:center;overflow-x:auto;scrollbar-width:none}
.subnav__in::-webkit-scrollbar{display:none}
.subnav a{
  position:relative;font-size:11.5px;font-weight:500;letter-spacing:.13em;text-transform:uppercase;
  color:var(--ink-3);white-space:nowrap;padding:6px 0;transition:color .25s var(--ease);
}
.subnav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;border-radius:2px;
  background:var(--grad);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease-o)}
.subnav a:hover{color:var(--deep)}
.subnav a.is-active{color:var(--deep)}
.subnav a.is-active::after{transform:scaleX(1)}

/* =========================================================
   HERO
   ========================================================= */
.hero{position:relative;overflow:hidden;background:#fff}
.hero__bg{
  position:absolute;inset:0;z-index:0;
  background:
    radial-gradient(920px 620px at 84% 6%,rgba(53,178,210,.14),transparent 64%),
    radial-gradient(760px 640px at 100% 88%,rgba(15,49,147,.10),transparent 66%);
}
.hero__grid{
  position:absolute;inset:0;z-index:0;opacity:.6;
  background-image:linear-gradient(var(--line-2) 1px,transparent 1px),linear-gradient(90deg,var(--line-2) 1px,transparent 1px);
  background-size:88px 88px;
  -webkit-mask-image:radial-gradient(closest-side at 76% 42%,#000 12%,transparent 100%);
  mask-image:radial-gradient(closest-side at 76% 42%,#000 12%,transparent 100%);
}
.hero__in{
  position:relative;z-index:2;min-height:640px;
  display:flex;flex-direction:column;justify-content:center;align-items:flex-start;
  padding:132px 0 128px;
}
.hero h1{margin-bottom:20px}
.hero .lead{max-width:40ch}
.hero .btn{margin-top:40px}

.hero--img{background:none}
.hero__media{
  position:absolute;top:0;right:0;bottom:0;width:56%;z-index:0;overflow:hidden;
  background-position:center;background-size:cover;background-repeat:no-repeat;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.35) 12%,#000 34%,#000 100%);
  mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.35) 12%,#000 34%,#000 100%);
}
.hero__media::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(200deg,rgba(53,178,210,.16) 0%,rgba(15,49,147,.24) 100%);
  mix-blend-mode:multiply;opacity:.55;
}
.hero--img .hero__in{min-height:660px}
.hero--img .hero__in>*{max-width:52%}
.hero__rule{width:64px;height:3px;border-radius:3px;background:var(--grad);margin-bottom:30px}

.scrollcue{
  position:absolute;left:50%;transform:translateX(-50%);bottom:30px;z-index:3;
  display:inline-flex;flex-direction:column;align-items:center;gap:8px;
  font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3);
  transition:color .3s var(--ease);
}
.scrollcue:hover{color:var(--deep)}
.scrollcue svg{flex:none}
.scrollcue svg{animation:bob 2.1s var(--ease) infinite}
@keyframes bob{0%,100%{transform:translateY(0);opacity:.5}50%{transform:translateY(4px);opacity:1}}

.phero{position:relative;overflow:hidden;background:#fff;border-bottom:1px solid var(--line-2)}
.phero__in{position:relative;z-index:2;min-height:340px;
  display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:92px 0 84px}
.phero h1{font-size:clamp(30px,3.8vw,46px);font-weight:600;letter-spacing:-.022em;margin-bottom:16px}
.phero p{font-size:clamp(15px,1.35vw,18.5px);color:var(--ink-2);max-width:50ch;line-height:1.6}
.phero .crumbs{margin-bottom:26px}

.crumbs{display:flex;align-items:center;gap:9px;font-size:11.5px;color:var(--ink-3);flex-wrap:wrap;
  letter-spacing:.09em;text-transform:uppercase}
.crumbs a{transition:color .25s var(--ease)}
.crumbs a:hover{color:var(--deep)}
.crumbs .sep{color:var(--ink-4)}
.crumbs .cur{color:var(--deep)}

/* =========================================================
   MEDIA
   ========================================================= */
.shot{position:relative;overflow:hidden;border-radius:var(--r);background:var(--bg-2);box-shadow:var(--sh-1)}
.shot img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s var(--ease-o)}
.shot--16x9{aspect-ratio:16/9}
.shot--4x3{aspect-ratio:4/3}
.shot--3x2{aspect-ratio:3/2}
.shot--1x1{aspect-ratio:1/1}
.shot--tall{aspect-ratio:3/4}
.shot--wide{aspect-ratio:21/9}
.shot--auto{aspect-ratio:auto}
.shot--auto img{height:auto}
.shot--lg{border-radius:var(--r-lg);box-shadow:var(--sh-2)}
a:hover>.shot img,.case:hover .shot img,.ncard:hover .shot img{transform:scale(1.035)}

.ph{position:relative;overflow:hidden;border-radius:var(--r);
  background:linear-gradient(135deg,#EAF0F7 0%,#E2ECF4 52%,#E8EFF7 100%);
  display:flex;align-items:center;justify-content:center}
.ph::before{content:"";position:absolute;inset:0;opacity:.5;
  background-image:linear-gradient(rgba(15,49,147,.06) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(15,49,147,.06) 1px,transparent 1px);
  background-size:36px 36px}
.ph svg{position:relative;z-index:1;width:44px;height:44px;stroke:var(--deep);opacity:.36;fill:none;stroke-width:1.2}
.ph--16x9{aspect-ratio:16/9}
.ph--4x3{aspect-ratio:4/3}

/* =========================================================
   CARDS
   ========================================================= */
.card{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--r);
  transition:border-color .4s var(--ease),box-shadow .4s var(--ease),transform .4s var(--ease-o)}
.card:hover{border-color:transparent;box-shadow:var(--sh-3);transform:translateY(-4px)}
.card__pad{padding:30px 30px 34px}

.tile{
  position:relative;overflow:hidden;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;
  min-height:214px;padding:36px 24px;text-align:center;
  background:#fff;border:1px solid var(--line);border-radius:var(--r);
  transition:border-color .4s var(--ease),box-shadow .4s var(--ease),transform .45s var(--ease-o);
}
.tile::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--grad);
  transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease-o)}
.tile:hover{border-color:transparent;box-shadow:var(--sh-3);transform:translateY(-6px)}
.tile:hover::after{transform:scaleX(1)}
.tile__ring{width:66px;height:66px;border-radius:50%;flex:none;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(150deg,rgba(15,49,147,.07),rgba(53,178,210,.13));
  transition:background .45s var(--ease)}
.tile:hover .tile__ring{background:var(--grad)}
.tile__ico{width:28px;height:28px;stroke:var(--deep);fill:none;stroke-width:1.3;transition:stroke .45s var(--ease)}
.tile:hover .tile__ico{stroke:#fff}
.tile__t{font-size:15px;font-weight:500;color:var(--ink);line-height:1.5;letter-spacing:-.004em;max-width:20ch}

.fbox{position:relative;border:1px solid var(--line);border-radius:var(--r);
  padding:28px 30px;background:#fff;height:100%;
  transition:border-color .4s var(--ease),box-shadow .4s var(--ease),transform .4s var(--ease-o)}
.fbox:hover{border-color:transparent;box-shadow:var(--sh-2);transform:translateY(-3px)}
.fbox h4{font-size:15px;font-weight:600;margin-bottom:12px}
.fbox h4::before{content:"";display:block;width:24px;height:2px;border-radius:2px;background:var(--grad);margin-bottom:14px}
.fbox p{font-size:13.5px;line-height:1.78;color:var(--ink-2)}
.fbox--hl{background:var(--bg-2);border-color:transparent}
.fbox--hl:hover{box-shadow:none;transform:none}
.fbox--plain h4::before{display:none}

.step{position:relative;padding:30px 28px 34px;border:1px solid var(--line);border-radius:var(--r);background:#fff;height:100%}
.step__n{font-size:11px;font-weight:600;letter-spacing:.16em;display:block;margin-bottom:16px;
  background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.step h4{font-size:15.5px;font-weight:600;margin-bottom:10px}
.step p{font-size:13.5px;line-height:1.75;color:var(--ink-2)}

.stat__n{font-size:clamp(34px,3.8vw,52px);font-weight:600;line-height:1;letter-spacing:-.03em;
  background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.stat__l{font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);margin-top:12px}

/* =========================================================
   CAROUSEL
   ========================================================= */
.carousel{position:relative}
.carousel__track{display:flex;align-items:stretch;gap:26px;overflow-x:auto;scroll-snap-type:x mandatory;
  scrollbar-width:none;padding:10px 2px 14px}
.carousel__track::-webkit-scrollbar{display:none}
.carousel__track>*{scroll-snap-align:start;flex:0 0 calc((100% - 78px)/4);align-self:stretch}
.carousel--3 .carousel__track>*{flex:0 0 calc((100% - 52px)/3)}
.carousel__foot{display:flex;align-items:center;gap:28px;margin-top:38px}
.carousel__bar{flex:1;height:2px;background:var(--line);position:relative;overflow:hidden;border-radius:2px}
.carousel__bar i{position:absolute;left:0;top:0;height:100%;border-radius:2px;background:var(--grad);
  transition:transform .45s var(--ease-o),width .45s var(--ease-o)}
.carousel__btns{display:flex;gap:10px;flex:none}
.cbtn{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:#fff;
  display:flex;align-items:center;justify-content:center;color:var(--ink-3);
  transition:background .3s var(--ease),border-color .3s var(--ease),color .3s var(--ease),box-shadow .3s var(--ease)}
.cbtn:hover:not(:disabled){background:var(--grad);border-color:transparent;color:#fff;box-shadow:var(--sh-2)}
.cbtn:disabled{opacity:.32;cursor:default}
.cbtn svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:1.7}

/* =========================================================
   TABS / FILTERS
   ========================================================= */
.tabs{display:flex;gap:clamp(20px,3.4vw,52px);border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tab{position:relative;padding:0 0 16px;font-size:15.5px;font-weight:500;color:var(--ink-3);
  white-space:nowrap;transition:color .28s var(--ease)}
.tab::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;border-radius:2px;background:var(--grad);
  transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease-o)}
.tab:hover{color:var(--ink)}
.tab.is-active{color:var(--deep);font-weight:600}
.tab.is-active::after{transform:scaleX(1)}

.pills{display:flex;flex-wrap:wrap;gap:10px}
.pill{height:34px;padding:0 18px;border-radius:17px;background:var(--bg-2);
  font-size:12px;font-weight:500;letter-spacing:.02em;color:var(--ink-2);
  display:inline-flex;align-items:center;
  transition:background .3s var(--ease),color .3s var(--ease),box-shadow .3s var(--ease)}
.pill:hover{background:var(--bg-3);color:var(--deep)}
.pill.is-active{background:var(--grad);color:#fff;box-shadow:var(--sh-2)}

.filters{display:flex;flex-wrap:wrap;gap:clamp(16px,2.6vw,40px);margin-bottom:56px;
  border-bottom:1px solid var(--line-2);padding-bottom:22px}
.filter{position:relative;font-size:13px;font-weight:500;color:var(--ink-3);letter-spacing:.02em;
  padding-bottom:4px;transition:color .28s var(--ease)}
.filter span{font-size:11.5px;color:var(--ink-4);margin-left:6px}
.filter::after{content:"";position:absolute;left:0;right:0;bottom:-23px;height:2px;border-radius:2px;
  background:var(--grad);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease-o)}
.filter:hover{color:var(--ink)}
.filter.is-active{color:var(--deep);font-weight:600}
.filter.is-active span{color:var(--cyan)}
.filter.is-active::after{transform:scaleX(1)}

.panel{display:none}
.panel.is-active{display:block}

/* =========================================================
   ACCORDION
   ========================================================= */
.acc{border:1px solid var(--line);border-radius:var(--r);margin-bottom:12px;background:#fff;overflow:hidden;
  transition:background .35s var(--ease),border-color .35s var(--ease),box-shadow .35s var(--ease)}
.acc.is-open{background:var(--bg-2);border-color:transparent;box-shadow:var(--sh-1)}
.acc__hd{width:100%;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 28px;text-align:left}
.acc__hd h4{font-size:13.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.acc.is-open .acc__hd h4{color:var(--deep)}
.acc__ic{position:relative;width:14px;height:14px;flex:none}
.acc__ic::before,.acc__ic::after{content:"";position:absolute;background:var(--ink-2);
  transition:transform .35s var(--ease),opacity .35s var(--ease)}
.acc__ic::before{left:0;top:6px;width:14px;height:1.5px}
.acc__ic::after{left:6px;top:0;width:1.5px;height:14px}
.acc.is-open .acc__ic::after{transform:scaleY(0);opacity:0}
.acc__bd{max-height:0;overflow:hidden;transition:max-height .45s var(--ease-o)}
.acc__bd>div{padding:0 28px 26px;font-size:14.5px;line-height:1.82;color:var(--ink-2);max-width:78ch}

/* =========================================================
   FIVE-LAYER DEFENSE
   ========================================================= */
.layers{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,5vw,72px);align-items:center}
.layers__viz{position:relative;display:flex;flex-direction:column;align-items:center;padding:30px 0}
.plate{
  width:min(330px,84%);aspect-ratio:2.3/1;border-radius:3px;
  background:linear-gradient(135deg,#F2F6FA 0%,#E7EEF6 100%);
  border:1px solid rgba(15,49,147,.09);
  transform:perspective(1000px) rotateX(56deg) rotateZ(45deg);
  box-shadow:0 20px 34px -26px rgba(16,32,80,.55);
  transition:background .45s var(--ease),border-color .45s var(--ease),transform .5s var(--ease-o),box-shadow .45s var(--ease);
  margin:-32px 0;
}
.plate.is-on{background:var(--grad);border-color:transparent;
  box-shadow:0 26px 46px -20px rgba(15,49,147,.5);
  transform:perspective(1000px) rotateX(56deg) rotateZ(45deg) translateZ(28px)}
.layers__list{display:flex;flex-direction:column}
.lrow{display:grid;grid-template-columns:58px 32px 1fr;gap:18px;align-items:start;
  padding:20px 0;cursor:pointer;border-top:1px solid var(--line-2);transition:padding-left .35s var(--ease)}
.lrow:first-child{border-top:0}
.lrow:hover{padding-left:6px}
.lrow__rule{height:1px;background:var(--line);margin-top:12px;
  transition:background .35s var(--ease),transform .4s var(--ease-o);transform-origin:left}
.lrow__n{font-size:12px;color:var(--ink-3);margin-top:2px;font-weight:600;letter-spacing:.08em;transition:color .35s var(--ease)}
.lrow h4{font-size:16.5px;font-weight:600;margin-bottom:7px}
.lrow p{font-size:13.5px;line-height:1.72;color:var(--ink-2)}
.lrow.is-on .lrow__rule{background:var(--grad);transform:scaleX(1.12)}
.lrow.is-on .lrow__n{color:var(--cyan)}
.lrow.is-on h4{color:var(--deep)}

/* =========================================================
   ISMS ORBIT
   ========================================================= */
.orbit{display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px;align-items:center}
.orbit__core{position:relative;border-radius:var(--r);padding:40px 28px;text-align:center;color:#fff;
  background:var(--grad);box-shadow:var(--sh-2)}
.orbit__core h4{font-size:16px;font-weight:600;margin-bottom:12px}
.orbit__core p{font-size:13.5px;line-height:1.7;color:rgba(255,255,255,.88)}
.orbit__col{display:flex;flex-direction:column;gap:24px}

/* =========================================================
   SUBSYSTEM MATRIX
   ========================================================= */
.matrix{display:grid;grid-template-columns:repeat(4,1fr);
  border-top:1px solid var(--line);border-left:1px solid var(--line);
  border-radius:var(--r);overflow:hidden}
.mcell{position:relative;border-right:1px solid var(--line);border-bottom:1px solid var(--line);
  padding:46px 30px 42px;text-align:center;background:#fff;transition:background .4s var(--ease)}
.mcell::after{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--grad);
  transform:scaleX(0);transition:transform .45s var(--ease-o)}
.mcell:hover{background:var(--bg-2)}
.mcell:hover::after{transform:scaleX(1)}
.mcell svg{width:32px;height:32px;stroke:var(--cyan);fill:none;stroke-width:1.3;margin:0 auto 22px}
.mcell h4{font-size:15.5px;font-weight:600;margin-bottom:12px}
.mcell p{font-size:13px;line-height:1.72;color:var(--ink-2)}

/* =========================================================
   INDUSTRY COLUMNS
   ========================================================= */
.icols{display:grid;grid-template-columns:repeat(5,1fr);
  border-left:1px solid var(--line);border-top:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.icol{position:relative;border-right:1px solid var(--line);border-bottom:1px solid var(--line);
  padding:56px 26px 46px;text-align:center;background:#fff;
  display:flex;flex-direction:column;align-items:center;gap:22px;
  transition:background .4s var(--ease);min-height:340px}
.icol::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--grad);
  transform:scaleX(0);transition:transform .45s var(--ease-o)}
.icol:hover{background:var(--bg-2)}
.icol:hover::after{transform:scaleX(1)}
.icol svg{width:38px;height:38px;stroke:var(--cyan);fill:none;stroke-width:1.25}
.icol h3{font-size:16px;font-weight:600;line-height:1.38}
.icol p{font-size:13px;line-height:1.7;color:var(--ink-2)}
.icol .link-arrow{margin-top:auto;font-size:10.5px}

/* =========================================================
   HOME — WHO WE SERVE
   ========================================================= */
.rings{position:relative;aspect-ratio:1;width:min(760px,150%);margin-left:calc(-1 * min(300px,26vw))}
.rings i{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  border:1px dashed rgba(53,178,210,.5);border-radius:50%}
.rings i:nth-child(1){width:32%;height:32%}
.rings i:nth-child(2){width:56%;height:56%}
.rings i:nth-child(3){width:80%;height:80%;border-color:rgba(53,178,210,.34)}
.rings i:nth-child(4){width:100%;height:100%;border-color:rgba(15,49,147,.18)}
.rings b{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:92px;height:92px;border-radius:50%;background:var(--grad);opacity:.14;filter:blur(6px)}
.rings em{position:absolute;right:0;top:38%;width:9px;height:9px;border-radius:50%;
  background:var(--grad);box-shadow:0 0 0 5px rgba(53,178,210,.14)}

.iswitch{display:flex;flex-direction:column;justify-content:center}
.iswitch__row{display:grid;grid-template-columns:minmax(230px,.95fr) 1.05fr;gap:28px;align-items:baseline;
  padding:26px 0;cursor:pointer}
.iswitch__row h3{font-size:23px;font-weight:400;font-style:italic;color:var(--ink-4);letter-spacing:-.01em;
  transition:color .35s var(--ease)}
.iswitch__d{font-size:13.5px;font-style:italic;line-height:1.72;color:var(--ink-3);
  opacity:0;transform:translateY(-5px);transition:opacity .4s var(--ease),transform .4s var(--ease-o)}
.iswitch__row.is-on h3{color:var(--cyan)}
.iswitch__row.is-on .iswitch__d{opacity:1;transform:none;color:var(--ink-2)}

.venn{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;padding:24px 0}
.venn__c{width:clamp(200px,25vw,306px);aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle at 46% 38%,rgba(53,178,210,.34),rgba(44,106,191,.18) 58%,rgba(15,49,147,.05) 70%,rgba(15,49,147,0) 73%);
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:22px;
  margin:0 clamp(-52px,-4.2vw,-22px);transition:transform .5s var(--ease-o)}
.venn__c:hover{transform:scale(1.05)}
.venn__c h4{font-size:18px;font-weight:600;margin-bottom:6px;color:var(--deep)}
.venn__c span{font-size:13px;color:var(--ink-2);line-height:1.5}

.dgrid{display:grid;grid-template-columns:1fr 1fr}
.dcell{position:relative;padding:34px 26px 32px;text-align:center;
  border-right:1px solid var(--line);border-bottom:1px solid var(--line);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;
  transition:background .4s var(--ease)}
.dcell:nth-child(2n){border-right:0}
.dcell:nth-child(5),.dcell:nth-child(6){border-bottom:0}
.dcell:hover{background:var(--bg-2)}
.dcell__n{position:absolute;top:18px;right:22px;font-size:11.5px;font-weight:600;letter-spacing:.1em;
  color:var(--ink-4);transition:color .35s var(--ease)}
.dcell:hover .dcell__n{color:var(--cyan)}
.dcell svg{width:30px;height:30px;stroke:var(--cyan);fill:none;stroke-width:1.3}
.dcell span{font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);font-weight:600}

/* =========================================================
   CASE CARD
   ========================================================= */
.case{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r);
  overflow:hidden;height:auto;
  transition:border-color .4s var(--ease),box-shadow .4s var(--ease),transform .45s var(--ease-o)}
.case:hover{border-color:transparent;box-shadow:var(--sh-3);transform:translateY(-5px)}
.case .shot{border-radius:0;box-shadow:none}
.case__bd{padding:26px 26px 30px;display:flex;flex-direction:column;gap:16px;flex:1}
.case__t{font-size:15px;font-weight:600;line-height:1.48;letter-spacing:-.006em}
.case__meta{display:flex;flex-direction:column;gap:8px}
.case__meta li{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--ink-2)}
.case__dot{width:7px;height:7px;border-radius:50%;background:var(--grad);flex:none}
.case__scope{font-size:12.5px;line-height:1.7;color:var(--ink-3);margin-top:auto;
  padding-top:16px;border-top:1px solid var(--line-2)}

/* =========================================================
   NEWS
   ========================================================= */
.nfeat{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,5vw,64px);align-items:center;
  padding:52px 0;border-bottom:1px solid var(--line-2)}
.nfeat h3{font-size:clamp(20px,2.1vw,26px);font-weight:600;margin-bottom:16px;line-height:1.36}
.nfeat h3 a{transition:color .3s var(--ease)}
.nfeat h3 a:hover{color:var(--deep)}
.nfeat p{font-size:14.5px;line-height:1.8;color:var(--ink-2);margin-bottom:30px}
.nfeat__foot{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}

.nrow{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:28px 0;
  border-bottom:1px solid var(--line-2);transition:padding-left .4s var(--ease-o)}
.nrow:hover{padding-left:10px}
.nrow h4{font-size:16.5px;font-weight:600;line-height:1.5;transition:color .3s var(--ease)}
.nrow:hover h4{color:var(--deep)}

.ncard{display:grid;grid-template-columns:352px 1fr;gap:36px;align-items:center;
  border:1px solid var(--line);border-radius:var(--r);padding:24px;background:#fff;
  transition:border-color .4s var(--ease),box-shadow .4s var(--ease),transform .4s var(--ease-o)}
.ncard:hover{border-color:transparent;box-shadow:var(--sh-3);transform:translateY(-3px)}
.ncard h3{font-size:19px;font-weight:600;margin-bottom:14px;line-height:1.45}
.ncard p{font-size:13.5px;line-height:1.8;color:var(--ink-2);margin-bottom:24px}
.ncard__foot{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}

.date{display:inline-flex;align-items:center;gap:9px;font-size:12.5px;color:var(--ink-3)}
.date svg{width:14px;height:14px;stroke:var(--ink-3);fill:none;stroke-width:1.4;flex:none}

.article{max-width:780px;margin:0 auto}
.article h2{font-size:clamp(26px,3.2vw,38px);font-weight:600;text-align:center;margin-bottom:24px;line-height:1.26}
.article__meta{display:flex;justify-content:center;margin-bottom:52px}
.article__lead{font-size:16.5px;line-height:1.82;color:var(--ink);margin-bottom:46px}
.article h3{font-size:18px;font-weight:600;margin:46px 0 16px}
.article h3::before{content:"";display:block;width:26px;height:2px;border-radius:2px;background:var(--grad);margin-bottom:16px}
.article p{font-size:15.5px;line-height:1.9;color:var(--ink-2);margin-bottom:18px}
.article .shot{margin:48px 0}

.pager{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:44px 0 0;margin-top:52px;
  border-top:1px solid var(--line);flex-wrap:wrap}
.pager__nav{display:flex;align-items:center;gap:14px;font-size:12px;color:var(--ink-3);
  letter-spacing:.09em;text-transform:uppercase}

.pagination{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:56px;font-size:13px;color:var(--ink-3)}
.pagination a,.pagination span{min-width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;
  border-radius:3px;padding:0 8px;transition:background .3s var(--ease),color .3s var(--ease)}
.pagination a:hover{background:var(--bg-2);color:var(--deep)}
.pagination .is-active{background:var(--grad);color:#fff;font-weight:600}

/* =========================================================
   CONTACT
   ========================================================= */
.contact-lines{display:flex;flex-wrap:wrap;gap:52px}
.cline{display:flex;align-items:center;gap:16px;font-size:16.5px}
.cline a{transition:color .3s var(--ease)}
.cline a:hover{color:var(--deep)}
.cline .ic{width:44px;height:44px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(150deg,rgba(15,49,147,.07),rgba(53,178,210,.14))}
.cline svg{width:17px;height:17px;stroke:var(--deep);fill:none;stroke-width:1.5}

.office{position:relative;background:var(--bg-2);border-radius:var(--r);padding:30px 32px 32px;height:100%;
  transition:background .4s var(--ease),box-shadow .4s var(--ease),transform .4s var(--ease-o)}
.office::before{content:"";position:absolute;left:0;top:30px;bottom:32px;width:2px;border-radius:2px;
  background:var(--grad);opacity:0;transition:opacity .4s var(--ease)}
.office:hover{background:#fff;box-shadow:var(--sh-2);transform:translateY(-3px)}
.office:hover::before{opacity:1}
.office h3{font-size:14px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;margin-bottom:16px;color:var(--deep)}
.office__addr{font-size:13.5px;line-height:1.75;color:var(--ink-2);margin-bottom:22px}
.office__c{font-size:13px;line-height:1.95;color:var(--ink-2)}
.office__c a{color:var(--cyan);transition:color .3s var(--ease)}
.office__c a:hover{color:var(--deep)}

.form{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.field{display:flex;flex-direction:column;gap:9px}
.field--full{grid-column:1/-1}
.field label{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.field input,.field select,.field textarea{font:inherit;font-size:15px;color:var(--ink);background:#fff;
  border:1px solid var(--line);border-radius:4px;padding:13px 15px;width:100%;
  transition:border-color .3s var(--ease),box-shadow .3s var(--ease)}
.field textarea{min-height:140px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--cyan);
  box-shadow:0 0 0 3px rgba(53,178,210,.14)}
.form__note{font-size:12.5px;color:var(--ink-3);grid-column:1/-1;line-height:1.7}

.map{position:relative;background:var(--bg-2);border-radius:var(--r-lg);aspect-ratio:16/7;overflow:hidden;
  display:flex;align-items:flex-end;justify-content:flex-end;padding:30px;box-shadow:var(--sh-1)}
.map__cities{font-size:12.5px;line-height:1.95;color:var(--ink-2);text-align:right;position:relative;z-index:2;letter-spacing:.03em}
.map__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.9;z-index:1}

/* =========================================================
   JOURNEY
   ========================================================= */
.journey{display:grid;grid-template-columns:1fr 320px;gap:clamp(36px,5vw,64px);align-items:center}
.jyear{font-size:clamp(76px,11.5vw,158px);font-weight:700;line-height:.84;letter-spacing:-.045em;
  background:linear-gradient(180deg,#DCE5EF 0%,#F1F5F9 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent}
.jsteps{display:flex;flex-direction:column;gap:28px;border-right:2px solid var(--line);padding-right:28px;text-align:right}
.jstep{position:relative;font-size:14.5px;font-weight:500;color:var(--ink-3);cursor:pointer;transition:color .3s var(--ease)}
.jstep::after{content:"";position:absolute;right:-30px;top:50%;width:2px;height:0;border-radius:2px;
  background:var(--grad);transform:translateY(-50%);transition:height .4s var(--ease-o)}
.jstep:hover{color:var(--ink-2)}
.jstep.is-on{color:var(--deep);font-weight:600}
.jstep.is-on::after{height:26px}

/* =========================================================
   LOGO WALL / CERTIFICATES
   ========================================================= */
.logos{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
.logo-cell{height:70px;background:var(--bg-2);border-radius:35px;display:flex;align-items:center;justify-content:center;
  font-size:12.5px;font-weight:600;letter-spacing:.1em;color:var(--ink-3);text-align:center;padding:0 16px;
  transition:background .35s var(--ease),color .35s var(--ease),transform .4s var(--ease-o),box-shadow .35s var(--ease)}
.logo-cell:hover{background:#fff;color:var(--deep);box-shadow:var(--sh-2);transform:translateY(-3px)}

.refs{display:grid;grid-template-columns:repeat(5,1fr);gap:22px}
.ref{text-align:center}
.ref .shot{aspect-ratio:16/9;margin-bottom:14px}
.ref span{font-size:12.5px;color:var(--ink-2)}

.certcard{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;text-align:center;
  transition:border-color .4s var(--ease),box-shadow .4s var(--ease),transform .4s var(--ease-o)}
.certcard:hover{border-color:transparent;box-shadow:var(--sh-3);transform:translateY(-4px)}
.certcard .shot{aspect-ratio:3/4;background:#fff;box-shadow:none;border-radius:0}
.certcard .shot img{object-fit:contain;padding:16px}
.certcard span{display:block;font-size:12.5px;line-height:1.55;color:var(--ink-2);padding:16px 14px 20px;
  border-top:1px solid var(--line-2)}

/* =========================================================
   MISC
   ========================================================= */
.badges{display:flex;flex-wrap:wrap;gap:10px}
.badge{font-size:12px;letter-spacing:.03em;color:var(--ink-2);
  border:1px solid var(--line);border-radius:16px;padding:6px 15px;background:#fff;
  transition:border-color .3s var(--ease),color .3s var(--ease)}
.badge:hover{border-color:var(--cyan);color:var(--deep)}

.notice{position:relative;background:var(--bg-2);padding:20px 24px 20px 26px;
  font-size:13.5px;line-height:1.78;color:var(--ink-2);border-radius:0 var(--r) var(--r) 0;overflow:hidden}
.notice::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--grad)}

.kv{display:flex;flex-direction:column}
.kv li{display:grid;grid-template-columns:210px 1fr;gap:26px;padding:17px 0;
  border-top:1px solid var(--line-2);font-size:14.5px}
.kv li:first-child{border-top:0}
.kv b{font-weight:600;color:var(--ink)}
.kv span{color:var(--ink-2);line-height:1.75}

.tbl{width:100%;border-collapse:collapse;font-size:14px}
.tbl th,.tbl td{text-align:left;padding:16px 20px;border-bottom:1px solid var(--line-2)}
.tbl thead th{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);
  background:var(--bg-2);border-bottom:1px solid var(--line);white-space:nowrap}
.tbl tbody tr{transition:background .3s var(--ease)}
.tbl tbody tr:hover{background:var(--bg-2)}
.tbl td:first-child{font-weight:600}
.tbl-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r)}
.tbl-scroll .tbl{min-width:640px}

.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,5.2vw,80px);align-items:center}
.split--rev>*:first-child{order:2}

.cta{position:relative;overflow:hidden;background:var(--bg-3);text-align:center;padding:104px 0}
.cta::before{content:"";position:absolute;inset:0;
  background:radial-gradient(760px 380px at 50% 0%,rgba(53,178,210,.16),transparent 70%)}
.cta>*{position:relative}
.cta h2{margin-bottom:20px}
.cta p{font-size:16px;color:var(--ink-2);max-width:62ch;margin:0 auto 36px;line-height:1.7}

.closing{position:relative;text-align:center;background:var(--bg-2);border-radius:var(--r-lg);
  padding:clamp(40px,5vw,64px) clamp(28px,5vw,72px);margin-top:72px}
.closing h3{font-size:clamp(19px,2.2vw,26px);font-weight:600;margin-bottom:18px}
.closing p{font-size:15px;line-height:1.85;color:var(--ink-2);max-width:76ch;margin:0 auto 28px}

/* entrance motion deliberately off until structure is signed off */
.rv{opacity:1;transform:none}

/* =========================================================
   FOOTER
   ========================================================= */
.ftr{background:var(--footer);color:#fff;padding:84px 0 0;position:relative}
.ftr::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--grad)}
.ftr__grid{display:grid;grid-template-columns:1.5fr 1.05fr 1fr;gap:clamp(32px,5vw,72px)}
.ftr__logo{height:54px;width:auto;margin-bottom:46px}
.ftr__nav{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(4,auto);grid-auto-flow:column;gap:15px 26px}
.ftr__nav a{font-size:11.5px;white-space:nowrap;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:#fff;
  transition:color .3s var(--ease)}
.ftr__nav a:hover{color:var(--cyan)}
.ftr h4{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;margin-bottom:13px;color:#fff}
.ftr__addr{font-size:12.5px;line-height:1.8;color:rgba(255,255,255,.58);margin-bottom:28px}
.ftr__link{display:inline-block;font-size:12.5px;color:#fff;border-bottom:1px solid rgba(255,255,255,.32);
  padding-bottom:2px;margin-bottom:16px;transition:color .3s var(--ease),border-color .3s var(--ease)}
.ftr__link:hover{color:var(--cyan);border-color:var(--cyan)}
.ftr__bot{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
  border-top:1px solid rgba(255,255,255,.12);margin-top:68px;padding:26px 0 30px;
  font-size:11.5px;color:rgba(255,255,255,.55);letter-spacing:.03em}
.ftr__bot a:hover{color:#fff}
.totop{display:inline-flex;align-items:center;gap:9px;font-size:11.5px;letter-spacing:.12em;
  text-transform:uppercase;color:#fff;transition:color .3s var(--ease)}
.totop:hover{color:var(--cyan)}

/* =========================================================
   MOBILE MENU
   ========================================================= */
.mmenu{position:fixed;inset:var(--hdr) 0 0;background:#fff;z-index:85;
  transform:translateX(100%);transition:transform .45s var(--ease-o);
  overflow-y:auto;padding:34px var(--gut) 60px;display:none}
@media (max-width:1120px){.mmenu{display:block}}
.is-menu .mmenu{transform:none}
.is-menu{overflow:hidden}
.mmenu a{display:block;padding:16px 0;border-bottom:1px solid var(--line-2);
  font-size:15px;font-weight:500;letter-spacing:.05em;text-transform:uppercase}
.mmenu a:hover{color:var(--deep)}
.mmenu .btn{margin-top:30px;width:100%}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width:1280px){
  .carousel__track>*{flex:0 0 calc((100% - 52px)/3)}
}
@media (max-width:1120px){
  :root{--sp:96px;--sp-s:70px;--hdr:76px}
  .hdr__nav,.hdr__cta{display:none}
  .burger{display:flex}
  .icols{grid-template-columns:repeat(2,1fr)}
  .icol{min-height:0;padding:42px 24px}
  .matrix{grid-template-columns:repeat(2,1fr)}
  .logos,.refs{grid-template-columns:repeat(3,1fr)}
  .ftr__grid{grid-template-columns:1fr 1fr;gap:42px}
  .ncard{grid-template-columns:270px 1fr;gap:26px}
  .g-5{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:940px){
  .layers,.orbit,.journey,.nfeat,.split{grid-template-columns:1fr;gap:38px}
  .split--rev>*:first-child{order:0}
  .orbit__col{gap:18px}
  .jsteps{border-right:0;border-left:2px solid var(--line);padding-right:0;padding-left:24px;text-align:left}
  .jstep::after{right:auto;left:-26px}
  .g-3,.g-4{grid-template-columns:repeat(2,1fr)}
  .carousel__track>*,.carousel--3 .carousel__track>*{flex:0 0 calc((100% - 26px)/2)}
  .rings{width:min(560px,90vw);margin-left:calc(-1 * min(160px,16vw))}
}
@media (max-width:760px){
  .venn{flex-direction:column}
  .venn__c{margin:-28px 0}
}
@media (max-width:740px){
  :root{--gut:20px;--sp:68px;--sp-s:54px}
  body{font-size:15px}
  .hero__in,.hero--img .hero__in{min-height:460px;padding:84px 0 78px}
  .phero__in{min-height:230px;padding:60px 0 54px}
  .g-2,.g-3,.g-4,.g-5{grid-template-columns:1fr}
  .carousel__track>*,.carousel--3 .carousel__track>*{flex:0 0 86%}
  .matrix,.icols{grid-template-columns:1fr}
  .logos,.refs{grid-template-columns:repeat(2,1fr)}
  .ncard,.form{grid-template-columns:1fr}
  .ftr__grid{grid-template-columns:1fr;gap:36px}
  .ftr{padding-top:60px}
  .contact-lines{gap:24px;flex-direction:column}
  .nrow{flex-direction:column;align-items:flex-start;gap:12px}
  .lrow{grid-template-columns:36px 1fr;gap:14px}
  .lrow__rule{display:none}
  .iswitch__row{grid-template-columns:1fr;gap:8px}
  .dgrid{grid-template-columns:1fr}
  .plate{width:72%}
  .cta{padding:72px 0}
}
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.01ms!important;animation-iteration-count:1!important;
    transition-duration:.01ms!important;scroll-behavior:auto!important}
}


/* =========================================================
   HOMEPAGE — PREMIUM LAYER
   ========================================================= */

/* platform orbs — crisper, with a defined ring */
.venn__c{
  position:relative;
  background:radial-gradient(circle at 44% 36%,rgba(53,178,210,.26),rgba(44,106,191,.13) 55%,rgba(15,49,147,.03) 69%,rgba(15,49,147,0) 72%);
}
.venn__c::before{
  content:"";position:absolute;inset:0;border-radius:50%;
  border:1px solid rgba(53,178,210,.45);
  -webkit-mask-image:radial-gradient(circle,transparent 71%,#000 71.5%);
  mask-image:radial-gradient(circle,transparent 71%,#000 71.5%);
}
.venn__c h4{font-size:20px;letter-spacing:-.01em}
.venn__c span{font-size:12.5px;letter-spacing:.02em}

/* delivery grid — numerals carry the weight */
.dcell{min-height:158px}
.dcell__n{
  position:absolute;top:18px;right:22px;font-size:11.5px;font-weight:500;letter-spacing:.08em;
  line-height:1;color:var(--ink-4);font-variant-numeric:tabular-nums;
}
.dcell:hover .dcell__n{color:var(--cyan)}

.dcell span{font-size:12px;letter-spacing:.16em;font-weight:500}

/* who-we-serve list at a confident scale */
.iswitch__row h3{font-size:clamp(19px,1.9vw,25px)}

/* inner-page hero carrying a photograph */
.phero--img .phero__media{
  position:absolute;top:0;right:0;bottom:0;width:50%;z-index:0;
  background-position:center;background-size:cover;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.4) 16%,#000 44%,#000 100%);
  mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.4) 16%,#000 44%,#000 100%);
}
.phero--img .phero__media::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(200deg,rgba(53,178,210,.16),rgba(15,49,147,.26));
  mix-blend-mode:multiply;opacity:.55;
}
.phero--img .phero__in{min-height:400px}
.phero--img .phero__in>*{max-width:52%}
@media (max-width:940px){
  .phero--img .phero__media{width:100%;opacity:.16;-webkit-mask-image:none;mask-image:none}
  .phero--img .phero__in>*{max-width:100%}
}

/* resilience: two columns flanking a portrait image */
.resil{display:grid;grid-template-columns:1fr .78fr 1fr;gap:28px;align-items:stretch}
.resil__col{display:flex;flex-direction:column;gap:28px}
.resil__col .fbox{flex:1;display:flex;flex-direction:column;justify-content:center}
.resil__media{align-self:stretch}
.resil__media img{height:100%}
@media (max-width:940px){.resil{grid-template-columns:1fr}.resil__media{aspect-ratio:16/9}}

/* event block */
.event{display:grid;grid-template-columns:.95fr 1.05fr;gap:0;border:1px solid var(--line);
  border-radius:var(--r-lg);overflow:hidden;background:#fff;box-shadow:var(--sh-2)}
.event__media{position:relative;overflow:hidden;background:var(--bg-2);min-height:320px}
.event__media img{width:100%;height:100%;object-fit:cover}
.event__body{padding:clamp(30px,3.6vw,52px)}
@media (max-width:940px){.event{grid-template-columns:1fr}.event__media{min-height:0;aspect-ratio:1200/628}}


/* ---- platform orbs: defined ring, stronger fill ---- */
.venn__c{
  background:radial-gradient(circle at 44% 36%,rgba(53,178,210,.30),rgba(44,106,191,.16) 56%,rgba(15,49,147,.04) 70%,rgba(15,49,147,0) 72%);
}
.venn__c::before{
  border:1px solid rgba(53,178,210,.32);
  -webkit-mask-image:none;mask-image:none;
}

/* GPT homepage visual pass. Isolated to preserve Claude's inner pages.
   All decorative motion leaves content visible at rest and without JS. */
.home-premium{--wrap:1320px;--sp:108px;--ink:#10243b;--ink-2:#526477;--ink-3:#687c8d;--hdr:84px}
.home-premium .hdr{border-bottom-color:#e7edf2;background:rgba(255,255,255,.94)}
.home-premium .hdr__nav{gap:20px}
.home-premium .hdr__nav a{font-size:10px;letter-spacing:.065em}
.home-premium .hdr__logo img{height:35px}
.home-premium .hdr__cta{margin-left:10px}
.home-premium .btn{height:44px;padding:0 27px;border-radius:2px;background:#0F3193;box-shadow:0 7px 20px -12px #0f319366;letter-spacing:.1em}
.home-premium .btn::before{background:linear-gradient(105deg,#0F3193,#2278ae)}
.home-premium .btn::after{content:"";width:14px;height:8px;margin-left:12px;background:currentColor;clip-path:polygon(0 42%,78% 42%,52% 0,65% 0,100% 50%,65% 100%,52% 100%,78% 58%,0 58%);transition:transform .3s}
.home-premium .btn:hover::after{transform:translateX(4px)}
.home-premium .hdr__cta{height:36px;padding:0 21px;background:#0F3193}
.home-premium .hdr__cta::after,.home-premium .mmenu .btn::after{display:none}
.home-premium .hero{background:#f4f8fb;border-bottom:1px solid #e5edf3}
.home-premium .hero__media{width:78%;background-image:url('../img/hero-home-security.webp')!important;background-position:66% center;mask-image:linear-gradient(90deg,transparent,#000 50%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 50%)}
.home-premium .hero__media::after{background:linear-gradient(90deg,#f4f8fb 0%,transparent 50%);opacity:.2;mix-blend-mode:normal}
.home-premium .hero__in{min-height:650px;padding:105px var(--gut) 130px}
.home-premium .hero__in>h1{max-width:720px;font-size:clamp(42px,4.6vw,66px);line-height:1.08;letter-spacing:-.047em;font-weight:500;text-wrap:initial}
.home-premium .hero .lead{max-width:490px;font-size:18px;color:#465d70;margin-top:5px}
.home-premium .hero .btn{margin-top:34px;height:48px}
.home-premium .scrollcue{left:var(--gut);transform:none;flex-direction:row;gap:16px;bottom:35px;color:#526477}
.home-premium .hero::after{content:"";position:absolute;left:0;bottom:0;width:37%;height:3px;background:var(--grad)}
.home-premium .h-lg{font-size:clamp(28px,3vw,40px);line-height:1.22;font-weight:500;letter-spacing:-.035em}
.home-premium .eyebrow{font-size:10px;letter-spacing:.2em;margin-bottom:24px}
.home-premium .section>.wrap>.h-lg{max-width:900px}
.home-premium #brand-statement{padding:106px 0;background:radial-gradient(ellipse at 50% 60%,#f6fafc,transparent 58%)}
.home-premium #brand-statement h2{max-width:950px;font-size:clamp(27px,2.7vw,37px)}
.home-premium #brand-statement img{width:min(190px,40%)!important;margin:40px auto 32px!important;filter:drop-shadow(0 12px 16px #0f319314)}
.home-premium #brand-statement .lead{font-size:16px;max-width:640px;line-height:1.8}
.home-premium .section--alt{background:#f3f7fa;border-top:1px solid #eaf0f4;border-bottom:1px solid #eaf0f4}
.home-premium .carousel__track{gap:20px;padding:10px 2px 20px}
.home-premium .carousel__track>*{flex-basis:calc((100% - 60px)/4)}
.home-premium .carousel--3 .carousel__track>*{flex-basis:calc((100% - 40px)/3)}
.home-premium .tile{align-items:flex-start;text-align:left;min-height:235px;padding:32px 26px;gap:30px;border-color:#e0e9ef;border-radius:4px;background:linear-gradient(135deg,#fff 45%,#f9fcff)}
.home-premium .tile__ring{width:66px;height:66px;background:#edf5f9;border:1px solid #dcebf2;border-radius:18px;transition:transform .4s,background .4s}
.home-premium .tile__ico{width:31px;height:31px;stroke-width:1.25}
.home-premium .tile__t{font-size:17px;font-weight:500;max-width:20ch}
.home-premium .tile:hover .tile__ring{transform:translateY(-3px);background:var(--deep)}
.home-premium .tile:hover{box-shadow:0 14px 32px -24px #0f319380;border-color:#a6c9df;transform:translateY(-4px)}
.home-premium .carousel__foot{margin-top:19px;gap:32px}
.home-premium .cbtn{width:42px;height:42px;color:var(--deep);border-color:#cbdce7}
.home-premium .cbtn:disabled{opacity:.4}
.home-premium .split:has(.rings){grid-template-columns:.95fr 1.05fr;gap:64px}
.home-premium .rings{width:100%;margin:0;max-width:530px;isolation:isolate;overflow:clip;background:radial-gradient(circle,#f1f8fc,transparent 66%)}
.home-premium .rings i{border-style:solid;border-color:#cbdfea;transition:border-color .5s,box-shadow .5s}
.home-premium .rings i:nth-child(1){border-color:#6aaecf;background:#eaf4fa77}
.home-premium .rings i::after{content:"";position:absolute;top:50%;right:-4px;width:7px;height:7px;border-radius:50%;background:#35b2d2;box-shadow:0 0 0 5px #35b2d211}
.home-premium .rings i:nth-child(2){transform:translate(-50%,-50%) rotate(145deg)}
.home-premium .rings i:nth-child(3){transform:translate(-50%,-50%) rotate(235deg)}
.home-premium .rings i:nth-child(4){border-style:dashed;border-color:#d6e4ed;transform:translate(-50%,-50%) rotate(315deg)}
.home-premium .rings b{width:86px;height:86px;filter:none;opacity:1;background:radial-gradient(circle at 28% 24%,#76d0e2,#1c73ad 54%,#0f3193);box-shadow:inset -6px -8px 18px #0a206844,0 18px 44px #0f319322}
.home-premium .rings em{display:none}
.home-premium .iswitch__row{grid-template-columns:1fr;gap:9px;padding:19px 4px 19px 22px;border-bottom:1px solid #e2eaf0;position:relative}
.home-premium .iswitch__row::before{content:"";position:absolute;left:0;top:24px;width:3px;height:19px;background:var(--grad);transform:scaleY(0);transition:transform .35s}
.home-premium .iswitch__row.is-on::before{transform:scaleY(1)}
.home-premium .iswitch__row h3{font-size:22px;font-style:normal;font-weight:400;color:#697f91}
.home-premium .iswitch__d{font-size:13px;font-style:normal;opacity:1;transform:none;color:#697b8b;line-height:1.6}
.home-premium .iswitch__row.is-on h3{color:#0f3193}
.home-premium .iswitch__row.is-on{background:linear-gradient(90deg,#f1f7fb,transparent)}
.home-premium .venn{padding:36px 0 30px;isolation:isolate}
.home-premium .venn__c{width:310px;margin:0 -26px;background:radial-gradient(circle at 30% 25%,#ffffffb3,#a4d5eb55 52%,#4481b326);border:1px solid #83b5d14d;box-shadow:inset 0 0 35px #ffffff88,0 22px 50px -36px #0f319355;backdrop-filter:blur(2px)}
.home-premium .venn__c:nth-child(2){background:radial-gradient(circle at 30% 25%,#ffffffaa,#81aecb44 55%,#376d9f22);z-index:1}
.home-premium .venn__c::before{inset:10px;border-color:#ffffff88}
.home-premium .venn__c h4{font-size:27px;font-weight:500;letter-spacing:-.035em}
.home-premium .venn__c span{max-width:145px;font-size:13px;color:#45647d}
.home-premium .dgrid{border:1px solid #dce7ef;border-radius:4px;overflow:hidden;background:linear-gradient(135deg,#fff,#f8fbfd)}
.home-premium .dcell{min-height:153px;gap:19px}
.home-premium .dcell svg{width:32px;height:32px;stroke:#267da9;transition:transform .4s}
.home-premium .dcell:hover svg{transform:translateY(-4px)}
.home-premium .dcell:hover{background:#eaf4fa}
.home-premium .dcell .dcell__n{font-size:12px;color:#748da1;font-weight:400}
.home-premium .case{border-color:#dfe8ef;border-radius:4px}
.home-premium .case .shot{aspect-ratio:16/10}
.home-premium .case__bd{padding:25px 26px 28px;gap:17px}
.home-premium .case__t{font-size:18px;font-weight:500;line-height:1.4}
.home-premium .case__scope{color:#62788a}
.home-premium .nfeat h3{font-size:clamp(25px,2.7vw,36px);font-weight:500;letter-spacing:-.025em}
.home-premium .nfeat .shot{border-radius:4px}
.home-premium .nrow{padding:25px 0;transition:padding .3s,background .3s}
.home-premium .nrow:hover{padding-left:15px;padding-right:15px;background:#f5f9fc}
.home-premium .nrow h4{font-weight:400;font-size:17px}
.home-premium .pill{font-size:10px;padding:9px 16px}
.home-premium .ftr{background:#0a1524;padding-top:76px}
.home-premium .ftr__addr{color:#a2afbd}
.home-premium .ftr__logo{height:44px}
.home-premium .ftr__nav a{font-size:10px;letter-spacing:.05em}
.home-premium .mmenu{visibility:hidden;transition:transform .45s var(--ease-o),visibility .45s}
.home-premium.is-menu .mmenu{visibility:visible}
@media(min-width:941px) and (prefers-reduced-motion:no-preference){
 .home-premium .rings i{animation:bhj-orbit 65s linear infinite}
 .home-premium .rings i:nth-child(2){animation-duration:85s;animation-direction:reverse}
 .home-premium .rings i:nth-child(3){animation-duration:105s}
 .home-premium .rings i:nth-child(4){animation-duration:130s;animation-direction:reverse}
 .home-premium .venn__c{animation:bhj-breathe 9s ease-in-out infinite}
 .home-premium .venn__c:nth-child(2){animation-delay:-3s}
 .home-premium .venn__c:nth-child(3){animation-delay:-6s}
}
@keyframes bhj-orbit{to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes bhj-breathe{50%{box-shadow:inset 0 0 35px #ffffffaa,0 22px 50px -28px #0f319333}}
@media(max-width:1120px){.home-premium{--hdr:76px;--sp:88px}.home-premium .hero__in{min-height:590px}.home-premium .hero__in>h1{font-size:52px;max-width:650px}}
@media(max-width:940px){
 .home-premium .split:has(.rings){grid-template-columns:1fr;gap:28px}
 .home-premium .rings{max-width:360px;margin:auto}
 .home-premium .carousel__track>*,.home-premium .carousel--3 .carousel__track>*{flex-basis:calc((100% - 20px)/2)}
 .home-premium .venn__c{width:265px;margin:0 -28px}
 .home-premium .hero__media{width:100%;opacity:.65}
 .home-premium .hero__in>h1{font-size:49px}
}
@media(max-width:740px){
 .home-premium{--sp:64px;--hdr:70px}
 .home-premium .hdr__logo img{height:31px}
 .home-premium .hero__in{min-height:660px;padding:60px var(--gut) 325px;justify-content:flex-start}
 .home-premium .hero__in>h1{font-size:clamp(32px,7.7vw,49px);max-width:100%;letter-spacing:-.043em}
 .home-premium .hero .lead{font-size:15px;max-width:100%;margin-top:0}
 .home-premium .hero .btn{margin-top:23px;height:43px;max-width:100%}
 .home-premium .hero__media{top:auto;height:320px;width:100%;opacity:1;background-position:65% center;mask-image:linear-gradient(180deg,transparent,#000 35%);-webkit-mask-image:linear-gradient(180deg,transparent,#000 35%)}
 .home-premium .scrollcue{bottom:24px;background:#ffffffc9;padding:9px 13px;border-radius:2px}
 .home-premium #brand-statement{padding:65px 0}
 .home-premium #brand-statement h2{font-size:27px}
 .home-premium .mt-64{margin-top:35px}
 .home-premium .h-lg{font-size:28px}
 .home-premium .carousel__track>*,.home-premium .carousel--3 .carousel__track>*{flex-basis:88%}
 .home-premium .tile{min-height:215px}
 .home-premium .iswitch__row h3{font-size:20px}
 .home-premium .venn{flex-direction:column;padding:35px 0}
 .home-premium .venn__c{width:245px;margin:-15px 0}
 .home-premium .dgrid{grid-template-columns:1fr 1fr}
 .home-premium .dcell{min-height:145px;padding:28px 15px}
 .home-premium .nrow h4{font-size:16px}
 .home-premium .pills{gap:5px;flex-wrap:wrap}
 .home-premium .pill{padding:8px 10px;font-size:9px}
 .home-premium .ftr__nav{gap:15px 16px}
 .home-premium .ftr__nav a{white-space:normal;line-height:1.6}
}
@media(prefers-reduced-motion:reduce){.home-premium *{animation:none!important;transition:none!important}}

/* Review 02: centered scroll cue + editorial half-circle industry selector. */
.home-premium .scrollcue{left:50%;transform:translateX(-50%);flex-direction:column;gap:9px;bottom:25px;padding:10px 16px;color:#36546c;background:rgba(255,255,255,.68);backdrop-filter:blur(8px);border-radius:24px;font-size:9px}
.home-premium .industry-scroll{padding:0;height:calc(100vh - var(--hdr) + var(--arc-travel));background:#fff}
.home-premium .industry-scroll>.wrap{position:sticky;top:var(--hdr);height:calc(100vh - var(--hdr));max-width:none;padding:44px 0 28px;display:flex;flex-direction:column;overflow:clip;transform:none!important}
.home-premium .industry-scroll>.wrap>.center{flex:none}
.home-premium .industry-scroll>.wrap>.h-lg{font-size:clamp(28px,2.35vw,37px);max-width:1000px;padding:0 32px;flex:none}
.home-premium .industry-scroll .eyebrow{margin-bottom:17px}
.home-premium .industry-scroll .split{display:block;position:relative;flex:1;min-height:340px;margin-top:20px;width:100%}
.home-premium .industry-scroll .rings{position:absolute;width:calc(var(--arc-radius)*2);height:calc(var(--arc-radius)*2);max-width:none;left:calc(var(--arc-radius)*-1);top:50%;transform:translateY(-50%);margin:0;overflow:visible;background:none;pointer-events:none}
.home-premium .industry-scroll .rings i{animation:none;transform:translate(-50%,-50%);border:1px solid #c7dfe9;background:none;box-shadow:none!important}
.home-premium .industry-scroll .rings i:nth-child(1){width:34%;height:34%;border-color:#e2eef3}
.home-premium .industry-scroll .rings i:nth-child(2){width:65%;height:65%;border-color:#d6e8f0}
.home-premium .industry-scroll .rings i:nth-child(3){width:100%;height:100%;border-color:#9fc9da}
.home-premium .industry-scroll .rings i:nth-child(4){width:105%;height:105%;border-style:dashed;border-color:#e1edf2}
.home-premium .industry-scroll .rings i::after{display:none}
.home-premium .industry-scroll .rings b{display:none}
.home-premium .industry-scroll .rings em{display:block;top:50%;right:-5px;transform:translateY(-50%);height:10px;width:10px;background:#35b2d2;box-shadow:0 0 0 7px #35b2d21a}
.home-premium .industry-scroll .iswitch{position:absolute;inset:0;display:block;overflow:clip}
.home-premium .industry-scroll .iswitch__row{position:absolute;inset:0;display:block;border:0;padding:0;background:none;pointer-events:none}
.home-premium .industry-scroll .iswitch__row::before{display:none}
.home-premium .industry-scroll .iswitch__row h3{position:absolute;left:var(--arc-x);top:calc(50% + var(--arc-y));transform:translateY(-50%);width:clamp(300px,25vw,400px);font-size:clamp(22px,2vw,30px);line-height:1.3;letter-spacing:-.025em;color:#748b9c;font-weight:400;opacity:var(--arc-alpha);pointer-events:auto;transition:color .25s}
.home-premium .industry-scroll .iswitch__row.is-on h3{color:#238fae}
.home-premium .industry-scroll .iswitch__d{position:absolute;top:50%;left:60%;width:31%;max-width:460px;transform:translateY(calc(-50% + 8px));opacity:0;visibility:hidden;font-size:clamp(17px,1.5vw,22px);line-height:1.7;color:#405c70;transition:opacity .3s,transform .3s,visibility .3s}
.home-premium .industry-scroll .iswitch__row.is-on .iswitch__d{opacity:1;visibility:visible;transform:translateY(-50%);pointer-events:auto}
.home-premium .industry-scroll .iswitch__row:focus-visible{outline:none}
.home-premium .industry-scroll .iswitch__row:focus-visible h3{outline:2px solid #35b2d2;outline-offset:8px}
.home-premium .industry-scroll>.wrap>p:last-child{margin-top:18px;flex:none}
@media(max-width:740px){.home-premium .scrollcue{bottom:20px;padding:10px 16px}}

/* Review 03: marker shares the title's arc coordinates; stages settle. */
.home-premium .industry-scroll .rings em{right:auto;left:calc(var(--arc-radius) + var(--arc-point-x, var(--arc-radius)));top:calc(50% + var(--arc-point-y, 0px));transform:translate(-50%,-50%)}
.home-premium .industry-scroll .iswitch__row.is-on .iswitch__d{transform:translateY(calc(-50% + var(--arc-point-y, 0px)));transition:opacity .25s,visibility .25s}

/* Keep brand copy as a short interlude, with the logo as the moving focus. */
.home-premium #brand-statement.brand-transition{padding:0;height:calc(min(570px, 100vh - var(--hdr)) + 420px);background:radial-gradient(ellipse at 50% 45%,#f0f7fb,white 65%)}
.home-premium #brand-statement.brand-transition>.wrap{position:sticky;top:var(--hdr);height:min(570px, calc(100vh - var(--hdr)));display:flex;flex-direction:column;align-items:center;justify-content:center;padding:25px var(--gut);transform:none!important}
.home-premium #brand-statement.brand-transition h2{font-size:clamp(25px,2.3vw,32px);max-width:900px;line-height:1.25}
.home-premium #brand-statement.brand-transition img{width:150px!important;margin:55px auto!important;transform:translateY(var(--brand-lift,0px)) scale(var(--brand-scale,.85));transform-origin:center;will-change:transform}
.home-premium #brand-statement.brand-transition .lead{font-size:14px;max-width:650px;line-height:1.7}
.home-premium #brand-statement.brand-transition .mt-32{margin-top:22px}

/* Review 04: continuous banner -> photo-filled logo -> brand-colour logo.
   These states are only installed after JS enables the desktop sequence. */
.home-premium.brand-motion-enabled .hero{position:sticky;top:var(--hdr);height:calc(100vh - var(--hdr));z-index:0}
.home-premium.brand-motion-enabled .hero .hero__in{height:100%;min-height:0;opacity:var(--hero-copy,1)}
.home-premium.brand-motion-enabled>.section,.home-premium.brand-motion-enabled>.ftr{z-index:1}
.home-premium.brand-motion-enabled>.section:not(.section--alt):not(#brand-statement){background-color:#fff}
.home-premium #brand-statement.brand-transition{margin-top:calc(-1*(100vh - var(--hdr)));height:calc(100vh - var(--hdr) + 1200px);padding:0;background:none;pointer-events:none;z-index:2}
.home-premium #brand-statement.brand-transition>.wrap{height:calc(100vh - var(--hdr));max-width:none;position:sticky;top:var(--hdr);padding:0;display:block;overflow:clip;background:rgba(255,255,255,var(--brand-white,0));isolation:isolate}
.home-premium #brand-statement.brand-transition>.wrap::before,
.home-premium #brand-statement.brand-transition>.wrap::after{content:"";position:absolute;left:50%;top:48%;width:var(--brand-width,64vw);aspect-ratio:473/217;transform:translate(-50%,-50%);pointer-events:none}
.home-premium #brand-statement.brand-transition>.wrap::before{background:url('../img/hero-home-security.webp') center/cover no-repeat;mask:url(data:image/svg+xml;base64,PHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI5MDAiIGhlaWdodD0iNDAyIiB2aWV3Qm94PSIwIDAgOTAwIDQwMiIgdmVyc2lvbj0iMS4xIj4KCTxwYXRoIGQ9Ik0gODAuNTU2IDE1Ljc1MCBDIDc4LjQxMyAyNC40MTMsIDcyLjkwMiA0Ni4zNTAsIDY4LjMwOSA2NC41MDAgQyA2MC40NzUgOTUuNDUyLCA0OS4yNzggMTQwLjQ1OSwgMzIuODU5IDIwNyBDIDI4Ljk5MSAyMjIuNjc1LCAyNC4wMTggMjQyLjgxNCwgMjEuODA4IDI1MS43NTQgQyAxOS41OTggMjYwLjY5NCwgMTguMDE3IDI2OC42MDEsIDE4LjI5NSAyNjkuMzI3IEMgMTguNTg3IDI3MC4wODcsIDI1LjUxNCAyNzIuMjc0LCAzNC42NTEgMjc0LjQ5MSBDIDQzLjM2OCAyNzYuNjA1LCA1MC44MDcgMjc4LjU5OCwgNTEuMTgyIDI3OC45MTggQyA1Mi4wNDcgMjc5LjY1NywgNDQuNjc5IDMwOS43MjEsIDQzLjI5MyAzMTEuMTA3IEMgNDIuMTM0IDMxMi4yNjYsIDM5LjAzOCAzMTEuNzcyLCAyMC43MDcgMzA3LjUwMCBDIDE0LjIyMSAzMDUuOTg5LCA4LjY4MSAzMDQuOTg2LCA4LjM5NiAzMDUuMjcxIEMgNy41ODMgMzA2LjA4NCwgLTAgMzM2LjE4MywgMCAzMzguNTk5IEMgMCAzNDAuNTM4LCAxLjIxNyAzNDEuMDQ2LCAxMS43NTAgMzQzLjUwNCBDIDE4LjIxMyAzNDUuMDEzLCAyNS44NTcgMzQ2Ljg5NywgMjguNzM3IDM0Ny42OTEgQyAzMS42MTcgMzQ4LjQ4NSwgMzQuMzc3IDM0OC44ODUsIDM0Ljg2OSAzNDguNTgxIEMgMzUuMzYxIDM0OC4yNzcsIDM2Ljk2MCAzNDIuOTU5LCAzOC40MjEgMzM2Ljc2NCBDIDQxLjkyOSAzMjEuODg5LCA0My45NDcgMzE1LjAwMywgNDQuODAxIDMxNC45ODYgQyA0NS40NTMgMzE0Ljk3NCwgNTguMDg0IDMxNy45OTUsIDY2IDMyMC4wNTcgQyA2Ny45MjUgMzIwLjU1OCwgNzEuNDI5IDMyMS40NDcsIDczLjc4NiAzMjIuMDMzIEMgNzguNzAxIDMyMy4yNTMsIDc4LjY5NSAzMjMuMTY0LCA3NC44NDMgMzM3LjkwNCBDIDczLjc3OSAzNDEuOTc2LCA3My4yNjYgMzQ1LjY0NiwgNzMuNzA0IDM0Ni4wNTkgQyA3NC45OTEgMzQ3LjI3MywgOTUuODE5IDM1Mi4yODQsIDk3LjI2NyAzNTEuNzI4IEMgOTcuOTk1IDM1MS40NDgsIDk5Ljg2NiAzNDYuMTQ1LCAxMDEuNDI1IDMzOS45NDEgQyAxMDQuNzk2IDMyNi41MzEsIDEwNS4zMDMgMzI3LjM2NiwgOTEuNzg3IDMyNC4wNjYgQyA4Ni42NzkgMzIyLjgxOSwgODEuOTkwIDMyMS4zODIsIDgxLjM2NiAzMjAuODczIEMgODAuMzAyIDMyMC4wMDUsIDgzLjQzNSAzMDQuODE4LCA4Ny4xNzYgMjkyLjcwOSBDIDg4LjUzMyAyODguMzE2LCA4Ny4wMTQgMjg4LjI4MiwgMTA2LjY2NiAyOTMuMTQ5IEMgMTI0LjEzMCAyOTcuNDc0LCAxMjIuNjc4IDI5OC40MDMsIDEyNy4xOTkgMjgwIEMgMTI5LjI5MyAyNzEuNDc1LCAxMzAuODkyIDI2My42MzUsIDEzMC43NTMgMjYyLjU3OCBDIDEzMC40NjQgMjYwLjM4MywgMTMwLjMwMyAyNjAuMzI3LCAxMTEuNzUwIDI1NS45NjYgQyAxMDIuNjQ0IDI1My44MjYsIDk4IDI1Mi4yODcsIDk4IDI1MS40MTIgQyA5OCAyNDguODg1LCAxMDUuMTI2IDIyMC40OTUsIDEwNS45NzYgMjE5LjYzNCBDIDEwNi40NTcgMjE5LjE0OCwgMTEyLjIzNSAyMjAuMTEyLCAxMTkuMTY2IDIyMS44MzYgQyAxMzcuMzA4IDIyNi4zNDcsIDEzOS42MDMgMjI2LjYxNSwgMTQwLjc5NCAyMjQuMzYzIEMgMTQxLjMzNiAyMjMuMzM4LCAxNDMuODc3IDIxMy45NTAsIDE0Ni40NDEgMjAzLjUwMCBDIDE0OS4wMDUgMTkzLjA1MCwgMTUyLjIyNyAxODAuMjI1LCAxNTMuNjAxIDE3NSBDIDE1NC45NzUgMTY5Ljc3NSwgMTU3LjQ1MCAxNjAuMzI1LCAxNTkuMTAyIDE1NCBDIDE2MC43NTQgMTQ3LjY3NSwgMTY0LjYwNiAxMzMuMjc1LCAxNjcuNjYxIDEyMiBDIDE3My43NzIgOTkuNDU0LCAxODEuODQ1IDY5LjA3MiwgMTg1LjEyMiA1Ni4yODUgQyAxODguMTU4IDQ0LjQ0NCwgMTg3LjYyNCA0NC44MzcsIDIwMi4xMDIgNDMuNzY5IEMgMjQ2Ljg3OSA0MC40NjYsIDI4OC4wNDkgNTIuNDczLCAzMDEuNzI2IDcyLjgyMiBDIDMwNy4zMDcgODEuMTI1LCAzMDguNTA3IDg1LjUyMSwgMzA4LjQ2NCA5Ny41MDAgQyAzMDguNDE0IDExMS4zMTksIDMwNC44MjYgMTIxLjc1OSwgMjk3LjI0MyAxMzAuMTUzIEMgMjgwLjkyMSAxNDguMjE5LCAyMzIuNjEyIDE2Mi45ODQsIDE4OS43NzMgMTYyLjk5OCBDIDE4MS44ODEgMTYzLCAxODEuMDcwIDE2My43OTQsIDE3OS4wMzggMTczLjUwMCBDIDE3OC4zNDcgMTc2LjgwMCwgMTc2LjkzMSAxODIuOTc2LCAxNzUuODkxIDE4Ny4yMjQgQyAxNzQuODUxIDE5MS40NzEsIDE3NCAxOTUuODUwLCAxNzQgMTk2Ljk1NCBDIDE3NCAxOTkuMjM5LCAxNzMuNDgyIDE5OS4wODcsIDE5MS4yNTcgMjAyLjAwNiBDIDI0OS4yNjUgMjExLjUzMiwgMjc3LjMzMiAyMzYuODg5LCAyNzIuOTEzIDI3NS43NzkgQyAyNzAuMDE4IDMwMS4yNTIsIDI1OS4yMTMgMzE1Ljk1MSwgMjMwIDMzNC4xNTggQyAxOTkuMjI2IDM1My4zMzcsIDE2OC4zODUgMzY0LjEzMiwgMTI2IDM3MC41NjIgQyAxMTIuNjM3IDM3Mi41ODksIDExMi40NDcgMzcyLjY5MCwgMTExLjY1NSAzNzguMjY2IEMgMTExLjMyNSAzODAuNTk1LCAxMTAuMzc2IDM4Ni4zMjUsIDEwOS41NDcgMzkxIEMgMTA4LjcxOCAzOTUuNjc1LCAxMDguMDMxIDQwMC4xMjAsIDEwOC4wMjAgNDAwLjg3NyBDIDEwNy45OTIgNDAyLjc4NiwgMTgyLjYwMyA0MDEuNzc0LCAyMDEuNTAwIDM5OS42MTAgQyAyNDkuOTYwIDM5NC4wNjAsIDI2OC45MzAgMzg5LjAxOSwgMjk4LjgzNiAzNzMuNzQ2IEMgMzQ1LjA2NyAzNTAuMTM1LCAzNzAuNTA4IDMyOC43MDcsIDM4NC4wMTkgMzAyIEMgMzkzLjMyMyAyODMuNjA4LCAzOTMuNDcwIDI1My4yNTEsIDM4NC4zNDcgMjM0LjE2MiBDIDM3NS4wNDUgMjE0LjY5OCwgMzQ4LjkxOSAxOTguNzUwLCAzMDYuMjIyIDE4Ni40NzIgQyAzMDIuNzY5IDE4NS40NzksIDMwMC4wODUgMTg0LjI0NCwgMzAwLjI1NyAxODMuNzI4IEMgMzAwLjQyOSAxODMuMjEyLCAzMDcuNTI5IDE4MC40MzAsIDMxNi4wMzUgMTc3LjU0NSBDIDM3MS4xMTggMTU4Ljg2NCwgNDEwLjc1MSAxMzMuMDU3LCA0MjMuODIzIDEwNy4zNTggQyA0MzIuODEwIDg5LjY5MiwgNDMxLjg4MiA2MS45NTcsIDQyMS43MDQgNDQgQyA0MTEuMDEzIDI1LjE0MCwgMzg2LjAyMiAxMC4xOTMsIDM1Ni41MTEgNS4wMDkgQyAzMjcuOTMwIC0wLjAxMywgMzI4LjMxNyAwLCAyMDIuNTA1IDAgTCA4NC40NTEgMCA4MC41NTYgMTUuNzUwIE0gNDY1LjU5NSAxNTEuODQ2IEMgNDY1LjMwMCAxNTIuMzIzLCA0NjMuMjEwIDE1OS44NjYsIDQ2MC45NTAgMTY4LjYwNyBDIDQ1NS43NjggMTg4LjY1MSwgNDQ1LjE4NSAyMjkuNzg3LCA0MzYuNTM2IDI2My41MDAgQyA0MzIuODY3IDI3Ny44MDAsIDQyNy4xNjggMjk5Ljg1MCwgNDIzLjg3MCAzMTIuNTAwIEMgNDIwLjU3MyAzMjUuMTUwLCA0MTUuMTczIDM0Ni4wNzUsIDQxMS44NzAgMzU5IEMgNDA4LjU2NyAzNzEuOTI1LCA0MDQuOTk0IDM4NS44NTEsIDQwMy45MzAgMzg5Ljk0OCBDIDQwMi44NjYgMzk0LjA0NCwgNDAyLjM2MSAzOTcuNzYxLCA0MDIuODA5IDM5OC4yMDkgQyA0MDMuMjU3IDM5OC42NTcsIDQyMS45NzcgMzk4LjkwNSwgNDQ0LjQxMSAzOTguNzYxIEwgNDg1LjE5OSAzOTguNTAwIDQ5MC4wMjUgMzc5LjUwMCBDIDQ5OS42OTcgMzQxLjQxMywgNTExLjYzNyAzMTUuOTU4LCA1MjYuMTE5IDMwMi41NTAgQyA1MzguMTA4IDI5MS40NTEsIDU1Ny43NDQgMjg1LjUwMCwgNTg2LjI4MSAyODQuMzE5IEMgNTk0LjQxMSAyODMuOTgzLCA2MDEuMjM1IDI4My40MjksIDYwMS40NDUgMjgzLjA4OSBDIDYwMi4yNzkgMjgxLjczOSwgNjA4IDI1OS4wNDksIDYwOCAyNTcuMDkwIEMgNjA4IDI1NS4wMDQsIDYwNy45MTUgMjU1LCA1NjcuNTgyIDI1NSBDIDU0NS4zNTIgMjU1LCA1MjYuNDE3IDI1NC43MTQsIDUyNS41MDUgMjU0LjM2NCBDIDUyMS45MzcgMjUyLjk5NSwgNTIyLjAwNCAyNDkuNjcwLCA1MjUuOTA3IDIzNC4zNDkgQyA1MzIuMzY0IDIwOC45OTksIDU0MC43NzggMTc2LjkzNSwgNTQzLjU4MCAxNjcgQyA1NDguNDM2IDE0OS43NzksIDU1Mi41OTkgMTUxLjU0MCwgNTA2LjMxNiAxNTEuMjM5IEMgNDg0LjIxNSAxNTEuMDk1LCA0NjUuODkxIDE1MS4zNjgsIDQ2NS41OTUgMTUxLjg0NiBNIDY1MS40ODggMTUyLjI1MCBDIDY1MS4yNDAgMTUyLjkzOCwgNjQ5LjY1OSAxNTguOTAwLCA2NDcuOTc0IDE2NS41MDAgQyA2NDYuMjg5IDE3Mi4xMDAsIDY0My42MDUgMTgyLjQ1MCwgNjQyLjAwOSAxODguNTAwIEMgNjQwLjQxMyAxOTQuNTUwLCA2MzYuMzU3IDIxMC4zMDAsIDYzMi45OTUgMjIzLjUwMCBDIDYyMi43NTggMjYzLjY5MiwgNjEwLjc4NSAzMTAuNDQ5LCA1OTkuOTYyIDM1Mi41MDAgQyA1OTQuMjk5IDM3NC41MDAsIDU4OS40NjcgMzkzLjk2MywgNTg5LjIyNCAzOTUuNzUwIEMgNTg4Ljc4MSAzOTksIDU4OC43ODEgMzk5LCA2MjkuMzU1IDM5OSBDIDY3NS44MjUgMzk5LCA2NzAuNzAyIDQwMC4yNzksIDY3My40MjIgMzg4IEMgNjc0LjMzNiAzODMuODc1LCA2NzguMjE1IDM2Ny45MDAsIDY4Mi4wNDMgMzUyLjUwMCBDIDY4NS44NzEgMzM3LjEwMCwgNjkzLjA3OSAzMDcuODUwLCA2OTguMDYxIDI4Ny41MDAgQyA3MDMuMDQ0IDI2Ny4xNTAsIDcxMS4xMDQgMjM0LjMwMCwgNzE1Ljk3MyAyMTQuNTAwIEMgNzI5Ljc2OSAxNTguMzk2LCA3MzEuMDQ1IDE1Mi44ODEsIDczMC40NDQgMTUxLjkxMCBDIDcyOS41MTEgMTUwLjQwMCwgNjUyLjAzMyAxNTAuNzM0LCA2NTEuNDg4IDE1Mi4yNTAgTSA3NTUuMzI3IDE1NC4yNTAgQyA3NTMuNDc5IDE1Ni43NjcsIDc0OS44MTIgMTY3LjA2NywgNzUwLjMwNSAxNjguMzUzIEMgNzUwLjY5MCAxNjkuMzU1LCA3NTUuNDAwIDE2OS44MzIsIDc2OS42NTcgMTcwLjMxMiBDIDc5OS4wNjcgMTcxLjMwMywgODAzLjQwNiAxNzIuODI4LCA4MDYuMTI4IDE4My4xMzAgQyA4MDcuMjkzIDE4Ny41NDMsIDgwNi45NzAgMTg5LjI5OCwgNzk5LjIwOCAyMjAuNjMwIEMgNzkxLjY5NiAyNTAuOTUzLCA3ODEuMzQxIDI5My4yMTcsIDc3MS4wMTAgMzM1LjcxMCBDIDc2Ni4wODQgMzU1Ljk3MywgNzY0LjI2OCAzNTkuMjkzLCA3NTMuNzAxIDM2Ny4zNjEgQyA3NDUuODc0IDM3My4zMzYsIDczOS4zNTEgMzc2LjMyNSwgNzI4LjUwMCAzNzguOTA3IEMgNzIxLjUwMCAzODAuNTcyLCA3MjEuNTAwIDM4MC41NzIsIDcxOC4xNjYgMzg3LjM0NyBDIDcxMy4xOTggMzk3LjQ0NCwgNzEyLjI1NCAzOTcuMDAxLCA3MzguNzE5IDM5Ni45OTIgQyA3NjUuNTAwIDM5Ni45ODIsIDc4Mi45MzIgMzk1LjAxNywgNzk2LjUwMCAzOTAuNDc3IEMgODA4Ljk1NiAzODYuMzEwLCA4MjYuMTM5IDM3Ni4wMTYsIDgzMy44MTIgMzY4LjEyNCBDIDg0MC42OTMgMzYxLjA0NywgODQyLjcwMCAzNTYuNDI4LCA4NDguODU4IDMzMy41MDAgQyA4NTAuNDgzIDMyNy40NTAsIDg1My42ODQgMzE2LjIwMCwgODU1Ljk3MSAzMDguNTAwIEMgODU4LjI1OSAzMDAuODAwLCA4NjIuNjAwIDI4NS43MjUsIDg2NS42MTggMjc1IEMgODY4LjYzNyAyNjQuMjc1LCA4NzEuNzUxIDI1My4yNTAsIDg3Mi41MzggMjUwLjUwMCBDIDg3My4zMjYgMjQ3Ljc1MCwgODc0Ljg0OSAyNDIuMzUwLCA4NzUuOTIyIDIzOC41MDAgQyA4NzYuOTk2IDIzNC42NTAsIDg4Mi44NTIgMjE0LjIxNCwgODg4LjkzNyAxOTMuMDg4IEMgODk1LjAyMiAxNzEuOTYxLCA5MDAgMTU0LjI5OSwgOTAwIDE1My44MzggQyA5MDAgMTUyLjM3NywgNzU2LjQwMiAxNTIuNzg3LCA3NTUuMzI3IDE1NC4yNTAgTSA2MS4wOTIgMjQ4Ljc1MCBDIDU2LjA4OCAyNjcuNzk4LCA1NC4wMjUgMjc3LjQyNSwgNTQuNzgzIDI3OC4xODMgQyA1NS43NjkgMjc5LjE2OSwgODIuMTQ4IDI4NiwgODQuOTcwIDI4NiBDIDg3LjA0MiAyODYsIDg4LjI3MCAyODMuMjU2LCA5MC40NTEgMjczLjc1MCBDIDkxLjMwMyAyNzAuMDM4LCA5Mi43MTAgMjY0LjAyMCwgOTMuNTc3IDI2MC4zNzcgQyA5NC40NDUgMjU2LjczNSwgOTQuNzgyIDI1My40MTgsIDk0LjMyNyAyNTMuMDA2IEMgOTMuNjIxIDI1Mi4zNjYsIDY0LjUzNiAyNDUsIDYyLjcxNyAyNDUgQyA2Mi4zNjUgMjQ1LCA2MS42MzQgMjQ2LjY4OCwgNjEuMDkyIDI0OC43NTAiIHN0cm9rZT0ibm9uZSIgZmlsbD0iI2ZmZiIgZmlsbC1ydWxlPSJldmVub2RkIi8+Cjwvc3ZnPg==) center/contain no-repeat;-webkit-mask:url(data:image/svg+xml;base64,PHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI5MDAiIGhlaWdodD0iNDAyIiB2aWV3Qm94PSIwIDAgOTAwIDQwMiIgdmVyc2lvbj0iMS4xIj4KCTxwYXRoIGQ9Ik0gODAuNTU2IDE1Ljc1MCBDIDc4LjQxMyAyNC40MTMsIDcyLjkwMiA0Ni4zNTAsIDY4LjMwOSA2NC41MDAgQyA2MC40NzUgOTUuNDUyLCA0OS4yNzggMTQwLjQ1OSwgMzIuODU5IDIwNyBDIDI4Ljk5MSAyMjIuNjc1LCAyNC4wMTggMjQyLjgxNCwgMjEuODA4IDI1MS43NTQgQyAxOS41OTggMjYwLjY5NCwgMTguMDE3IDI2OC42MDEsIDE4LjI5NSAyNjkuMzI3IEMgMTguNTg3IDI3MC4wODcsIDI1LjUxNCAyNzIuMjc0LCAzNC42NTEgMjc0LjQ5MSBDIDQzLjM2OCAyNzYuNjA1LCA1MC44MDcgMjc4LjU5OCwgNTEuMTgyIDI3OC45MTggQyA1Mi4wNDcgMjc5LjY1NywgNDQuNjc5IDMwOS43MjEsIDQzLjI5MyAzMTEuMTA3IEMgNDIuMTM0IDMxMi4yNjYsIDM5LjAzOCAzMTEuNzcyLCAyMC43MDcgMzA3LjUwMCBDIDE0LjIyMSAzMDUuOTg5LCA4LjY4MSAzMDQuOTg2LCA4LjM5NiAzMDUuMjcxIEMgNy41ODMgMzA2LjA4NCwgLTAgMzM2LjE4MywgMCAzMzguNTk5IEMgMCAzNDAuNTM4LCAxLjIxNyAzNDEuMDQ2LCAxMS43NTAgMzQzLjUwNCBDIDE4LjIxMyAzNDUuMDEzLCAyNS44NTcgMzQ2Ljg5NywgMjguNzM3IDM0Ny42OTEgQyAzMS42MTcgMzQ4LjQ4NSwgMzQuMzc3IDM0OC44ODUsIDM0Ljg2OSAzNDguNTgxIEMgMzUuMzYxIDM0OC4yNzcsIDM2Ljk2MCAzNDIuOTU5LCAzOC40MjEgMzM2Ljc2NCBDIDQxLjkyOSAzMjEuODg5LCA0My45NDcgMzE1LjAwMywgNDQuODAxIDMxNC45ODYgQyA0NS40NTMgMzE0Ljk3NCwgNTguMDg0IDMxNy45OTUsIDY2IDMyMC4wNTcgQyA2Ny45MjUgMzIwLjU1OCwgNzEuNDI5IDMyMS40NDcsIDczLjc4NiAzMjIuMDMzIEMgNzguNzAxIDMyMy4yNTMsIDc4LjY5NSAzMjMuMTY0LCA3NC44NDMgMzM3LjkwNCBDIDczLjc3OSAzNDEuOTc2LCA3My4yNjYgMzQ1LjY0NiwgNzMuNzA0IDM0Ni4wNTkgQyA3NC45OTEgMzQ3LjI3MywgOTUuODE5IDM1Mi4yODQsIDk3LjI2NyAzNTEuNzI4IEMgOTcuOTk1IDM1MS40NDgsIDk5Ljg2NiAzNDYuMTQ1LCAxMDEuNDI1IDMzOS45NDEgQyAxMDQuNzk2IDMyNi41MzEsIDEwNS4zMDMgMzI3LjM2NiwgOTEuNzg3IDMyNC4wNjYgQyA4Ni42NzkgMzIyLjgxOSwgODEuOTkwIDMyMS4zODIsIDgxLjM2NiAzMjAuODczIEMgODAuMzAyIDMyMC4wMDUsIDgzLjQzNSAzMDQuODE4LCA4Ny4xNzYgMjkyLjcwOSBDIDg4LjUzMyAyODguMzE2LCA4Ny4wMTQgMjg4LjI4MiwgMTA2LjY2NiAyOTMuMTQ5IEMgMTI0LjEzMCAyOTcuNDc0LCAxMjIuNjc4IDI5OC40MDMsIDEyNy4xOTkgMjgwIEMgMTI5LjI5MyAyNzEuNDc1LCAxMzAuODkyIDI2My42MzUsIDEzMC43NTMgMjYyLjU3OCBDIDEzMC40NjQgMjYwLjM4MywgMTMwLjMwMyAyNjAuMzI3LCAxMTEuNzUwIDI1NS45NjYgQyAxMDIuNjQ0IDI1My44MjYsIDk4IDI1Mi4yODcsIDk4IDI1MS40MTIgQyA5OCAyNDguODg1LCAxMDUuMTI2IDIyMC40OTUsIDEwNS45NzYgMjE5LjYzNCBDIDEwNi40NTcgMjE5LjE0OCwgMTEyLjIzNSAyMjAuMTEyLCAxMTkuMTY2IDIyMS44MzYgQyAxMzcuMzA4IDIyNi4zNDcsIDEzOS42MDMgMjI2LjYxNSwgMTQwLjc5NCAyMjQuMzYzIEMgMTQxLjMzNiAyMjMuMzM4LCAxNDMuODc3IDIxMy45NTAsIDE0Ni40NDEgMjAzLjUwMCBDIDE0OS4wMDUgMTkzLjA1MCwgMTUyLjIyNyAxODAuMjI1LCAxNTMuNjAxIDE3NSBDIDE1NC45NzUgMTY5Ljc3NSwgMTU3LjQ1MCAxNjAuMzI1LCAxNTkuMTAyIDE1NCBDIDE2MC43NTQgMTQ3LjY3NSwgMTY0LjYwNiAxMzMuMjc1LCAxNjcuNjYxIDEyMiBDIDE3My43NzIgOTkuNDU0LCAxODEuODQ1IDY5LjA3MiwgMTg1LjEyMiA1Ni4yODUgQyAxODguMTU4IDQ0LjQ0NCwgMTg3LjYyNCA0NC44MzcsIDIwMi4xMDIgNDMuNzY5IEMgMjQ2Ljg3OSA0MC40NjYsIDI4OC4wNDkgNTIuNDczLCAzMDEuNzI2IDcyLjgyMiBDIDMwNy4zMDcgODEuMTI1LCAzMDguNTA3IDg1LjUyMSwgMzA4LjQ2NCA5Ny41MDAgQyAzMDguNDE0IDExMS4zMTksIDMwNC44MjYgMTIxLjc1OSwgMjk3LjI0MyAxMzAuMTUzIEMgMjgwLjkyMSAxNDguMjE5LCAyMzIuNjEyIDE2Mi45ODQsIDE4OS43NzMgMTYyLjk5OCBDIDE4MS44ODEgMTYzLCAxODEuMDcwIDE2My43OTQsIDE3OS4wMzggMTczLjUwMCBDIDE3OC4zNDcgMTc2LjgwMCwgMTc2LjkzMSAxODIuOTc2LCAxNzUuODkxIDE4Ny4yMjQgQyAxNzQuODUxIDE5MS40NzEsIDE3NCAxOTUuODUwLCAxNzQgMTk2Ljk1NCBDIDE3NCAxOTkuMjM5LCAxNzMuNDgyIDE5OS4wODcsIDE5MS4yNTcgMjAyLjAwNiBDIDI0OS4yNjUgMjExLjUzMiwgMjc3LjMzMiAyMzYuODg5LCAyNzIuOTEzIDI3NS43NzkgQyAyNzAuMDE4IDMwMS4yNTIsIDI1OS4yMTMgMzE1Ljk1MSwgMjMwIDMzNC4xNTggQyAxOTkuMjI2IDM1My4zMzcsIDE2OC4zODUgMzY0LjEzMiwgMTI2IDM3MC41NjIgQyAxMTIuNjM3IDM3Mi41ODksIDExMi40NDcgMzcyLjY5MCwgMTExLjY1NSAzNzguMjY2IEMgMTExLjMyNSAzODAuNTk1LCAxMTAuMzc2IDM4Ni4zMjUsIDEwOS41NDcgMzkxIEMgMTA4LjcxOCAzOTUuNjc1LCAxMDguMDMxIDQwMC4xMjAsIDEwOC4wMjAgNDAwLjg3NyBDIDEwNy45OTIgNDAyLjc4NiwgMTgyLjYwMyA0MDEuNzc0LCAyMDEuNTAwIDM5OS42MTAgQyAyNDkuOTYwIDM5NC4wNjAsIDI2OC45MzAgMzg5LjAxOSwgMjk4LjgzNiAzNzMuNzQ2IEMgMzQ1LjA2NyAzNTAuMTM1LCAzNzAuNTA4IDMyOC43MDcsIDM4NC4wMTkgMzAyIEMgMzkzLjMyMyAyODMuNjA4LCAzOTMuNDcwIDI1My4yNTEsIDM4NC4zNDcgMjM0LjE2MiBDIDM3NS4wNDUgMjE0LjY5OCwgMzQ4LjkxOSAxOTguNzUwLCAzMDYuMjIyIDE4Ni40NzIgQyAzMDIuNzY5IDE4NS40NzksIDMwMC4wODUgMTg0LjI0NCwgMzAwLjI1NyAxODMuNzI4IEMgMzAwLjQyOSAxODMuMjEyLCAzMDcuNTI5IDE4MC40MzAsIDMxNi4wMzUgMTc3LjU0NSBDIDM3MS4xMTggMTU4Ljg2NCwgNDEwLjc1MSAxMzMuMDU3LCA0MjMuODIzIDEwNy4zNTggQyA0MzIuODEwIDg5LjY5MiwgNDMxLjg4MiA2MS45NTcsIDQyMS43MDQgNDQgQyA0MTEuMDEzIDI1LjE0MCwgMzg2LjAyMiAxMC4xOTMsIDM1Ni41MTEgNS4wMDkgQyAzMjcuOTMwIC0wLjAxMywgMzI4LjMxNyAwLCAyMDIuNTA1IDAgTCA4NC40NTEgMCA4MC41NTYgMTUuNzUwIE0gNDY1LjU5NSAxNTEuODQ2IEMgNDY1LjMwMCAxNTIuMzIzLCA0NjMuMjEwIDE1OS44NjYsIDQ2MC45NTAgMTY4LjYwNyBDIDQ1NS43NjggMTg4LjY1MSwgNDQ1LjE4NSAyMjkuNzg3LCA0MzYuNTM2IDI2My41MDAgQyA0MzIuODY3IDI3Ny44MDAsIDQyNy4xNjggMjk5Ljg1MCwgNDIzLjg3MCAzMTIuNTAwIEMgNDIwLjU3MyAzMjUuMTUwLCA0MTUuMTczIDM0Ni4wNzUsIDQxMS44NzAgMzU5IEMgNDA4LjU2NyAzNzEuOTI1LCA0MDQuOTk0IDM4NS44NTEsIDQwMy45MzAgMzg5Ljk0OCBDIDQwMi44NjYgMzk0LjA0NCwgNDAyLjM2MSAzOTcuNzYxLCA0MDIuODA5IDM5OC4yMDkgQyA0MDMuMjU3IDM5OC42NTcsIDQyMS45NzcgMzk4LjkwNSwgNDQ0LjQxMSAzOTguNzYxIEwgNDg1LjE5OSAzOTguNTAwIDQ5MC4wMjUgMzc5LjUwMCBDIDQ5OS42OTcgMzQxLjQxMywgNTExLjYzNyAzMTUuOTU4LCA1MjYuMTE5IDMwMi41NTAgQyA1MzguMTA4IDI5MS40NTEsIDU1Ny43NDQgMjg1LjUwMCwgNTg2LjI4MSAyODQuMzE5IEMgNTk0LjQxMSAyODMuOTgzLCA2MDEuMjM1IDI4My40MjksIDYwMS40NDUgMjgzLjA4OSBDIDYwMi4yNzkgMjgxLjczOSwgNjA4IDI1OS4wNDksIDYwOCAyNTcuMDkwIEMgNjA4IDI1NS4wMDQsIDYwNy45MTUgMjU1LCA1NjcuNTgyIDI1NSBDIDU0NS4zNTIgMjU1LCA1MjYuNDE3IDI1NC43MTQsIDUyNS41MDUgMjU0LjM2NCBDIDUyMS45MzcgMjUyLjk5NSwgNTIyLjAwNCAyNDkuNjcwLCA1MjUuOTA3IDIzNC4zNDkgQyA1MzIuMzY0IDIwOC45OTksIDU0MC43NzggMTc2LjkzNSwgNTQzLjU4MCAxNjcgQyA1NDguNDM2IDE0OS43NzksIDU1Mi41OTkgMTUxLjU0MCwgNTA2LjMxNiAxNTEuMjM5IEMgNDg0LjIxNSAxNTEuMDk1LCA0NjUuODkxIDE1MS4zNjgsIDQ2NS41OTUgMTUxLjg0NiBNIDY1MS40ODggMTUyLjI1MCBDIDY1MS4yNDAgMTUyLjkzOCwgNjQ5LjY1OSAxNTguOTAwLCA2NDcuOTc0IDE2NS41MDAgQyA2NDYuMjg5IDE3Mi4xMDAsIDY0My42MDUgMTgyLjQ1MCwgNjQyLjAwOSAxODguNTAwIEMgNjQwLjQxMyAxOTQuNTUwLCA2MzYuMzU3IDIxMC4zMDAsIDYzMi45OTUgMjIzLjUwMCBDIDYyMi43NTggMjYzLjY5MiwgNjEwLjc4NSAzMTAuNDQ5LCA1OTkuOTYyIDM1Mi41MDAgQyA1OTQuMjk5IDM3NC41MDAsIDU4OS40NjcgMzkzLjk2MywgNTg5LjIyNCAzOTUuNzUwIEMgNTg4Ljc4MSAzOTksIDU4OC43ODEgMzk5LCA2MjkuMzU1IDM5OSBDIDY3NS44MjUgMzk5LCA2NzAuNzAyIDQwMC4yNzksIDY3My40MjIgMzg4IEMgNjc0LjMzNiAzODMuODc1LCA2NzguMjE1IDM2Ny45MDAsIDY4Mi4wNDMgMzUyLjUwMCBDIDY4NS44NzEgMzM3LjEwMCwgNjkzLjA3OSAzMDcuODUwLCA2OTguMDYxIDI4Ny41MDAgQyA3MDMuMDQ0IDI2Ny4xNTAsIDcxMS4xMDQgMjM0LjMwMCwgNzE1Ljk3MyAyMTQuNTAwIEMgNzI5Ljc2OSAxNTguMzk2LCA3MzEuMDQ1IDE1Mi44ODEsIDczMC40NDQgMTUxLjkxMCBDIDcyOS41MTEgMTUwLjQwMCwgNjUyLjAzMyAxNTAuNzM0LCA2NTEuNDg4IDE1Mi4yNTAgTSA3NTUuMzI3IDE1NC4yNTAgQyA3NTMuNDc5IDE1Ni43NjcsIDc0OS44MTIgMTY3LjA2NywgNzUwLjMwNSAxNjguMzUzIEMgNzUwLjY5MCAxNjkuMzU1LCA3NTUuNDAwIDE2OS44MzIsIDc2OS42NTcgMTcwLjMxMiBDIDc5OS4wNjcgMTcxLjMwMywgODAzLjQwNiAxNzIuODI4LCA4MDYuMTI4IDE4My4xMzAgQyA4MDcuMjkzIDE4Ny41NDMsIDgwNi45NzAgMTg5LjI5OCwgNzk5LjIwOCAyMjAuNjMwIEMgNzkxLjY5NiAyNTAuOTUzLCA3ODEuMzQxIDI5My4yMTcsIDc3MS4wMTAgMzM1LjcxMCBDIDc2Ni4wODQgMzU1Ljk3MywgNzY0LjI2OCAzNTkuMjkzLCA3NTMuNzAxIDM2Ny4zNjEgQyA3NDUuODc0IDM3My4zMzYsIDczOS4zNTEgMzc2LjMyNSwgNzI4LjUwMCAzNzguOTA3IEMgNzIxLjUwMCAzODAuNTcyLCA3MjEuNTAwIDM4MC41NzIsIDcxOC4xNjYgMzg3LjM0NyBDIDcxMy4xOTggMzk3LjQ0NCwgNzEyLjI1NCAzOTcuMDAxLCA3MzguNzE5IDM5Ni45OTIgQyA3NjUuNTAwIDM5Ni45ODIsIDc4Mi45MzIgMzk1LjAxNywgNzk2LjUwMCAzOTAuNDc3IEMgODA4Ljk1NiAzODYuMzEwLCA4MjYuMTM5IDM3Ni4wMTYsIDgzMy44MTIgMzY4LjEyNCBDIDg0MC42OTMgMzYxLjA0NywgODQyLjcwMCAzNTYuNDI4LCA4NDguODU4IDMzMy41MDAgQyA4NTAuNDgzIDMyNy40NTAsIDg1My42ODQgMzE2LjIwMCwgODU1Ljk3MSAzMDguNTAwIEMgODU4LjI1OSAzMDAuODAwLCA4NjIuNjAwIDI4NS43MjUsIDg2NS42MTggMjc1IEMgODY4LjYzNyAyNjQuMjc1LCA4NzEuNzUxIDI1My4yNTAsIDg3Mi41MzggMjUwLjUwMCBDIDg3My4zMjYgMjQ3Ljc1MCwgODc0Ljg0OSAyNDIuMzUwLCA4NzUuOTIyIDIzOC41MDAgQyA4NzYuOTk2IDIzNC42NTAsIDg4Mi44NTIgMjE0LjIxNCwgODg4LjkzNyAxOTMuMDg4IEMgODk1LjAyMiAxNzEuOTYxLCA5MDAgMTU0LjI5OSwgOTAwIDE1My44MzggQyA5MDAgMTUyLjM3NywgNzU2LjQwMiAxNTIuNzg3LCA3NTUuMzI3IDE1NC4yNTAgTSA2MS4wOTIgMjQ4Ljc1MCBDIDU2LjA4OCAyNjcuNzk4LCA1NC4wMjUgMjc3LjQyNSwgNTQuNzgzIDI3OC4xODMgQyA1NS43NjkgMjc5LjE2OSwgODIuMTQ4IDI4NiwgODQuOTcwIDI4NiBDIDg3LjA0MiAyODYsIDg4LjI3MCAyODMuMjU2LCA5MC40NTEgMjczLjc1MCBDIDkxLjMwMyAyNzAuMDM4LCA5Mi43MTAgMjY0LjAyMCwgOTMuNTc3IDI2MC4zNzcgQyA5NC40NDUgMjU2LjczNSwgOTQuNzgyIDI1My40MTgsIDk0LjMyNyAyNTMuMDA2IEMgOTMuNjIxIDI1Mi4zNjYsIDY0LjUzNiAyNDUsIDYyLjcxNyAyNDUgQyA2Mi4zNjUgMjQ1LCA2MS42MzQgMjQ2LjY4OCwgNjEuMDkyIDI0OC43NTAiIHN0cm9rZT0ibm9uZSIgZmlsbD0iI2ZmZiIgZmlsbC1ydWxlPSJldmVub2RkIi8+Cjwvc3ZnPg==) center/contain no-repeat;opacity:var(--brand-image,0)}
.home-premium #brand-statement.brand-transition>.wrap::after{background:url('../img/logo-mark.png') center/contain no-repeat;opacity:var(--brand-color,0)}
.home-premium #brand-statement.brand-transition img{visibility:hidden;position:absolute;margin:0!important;width:190px!important;transform:none;will-change:auto}
.home-premium #brand-statement.brand-transition h2{position:absolute;top:22%;left:50%;width:min(920px,80%);font-size:clamp(26px,2.6vw,36px);transform:translate(-50%,var(--brand-title-y,45px));opacity:var(--brand-title,0);margin:0}
.home-premium #brand-statement.brand-transition .lead{position:absolute;left:50%;top:62%;width:min(650px,75%);max-width:650px;transform:translate(-50%,var(--brand-copy-y,40px));opacity:var(--brand-copy,0);font-size:16px;line-height:1.75;margin:0}
.home-premium #brand-statement.brand-transition .mt-32{position:absolute;left:50%;top:78%;margin:0;transform:translate(-50%,var(--brand-copy-y,40px));opacity:var(--brand-copy,0)}
.home-premium #brand-statement.brand-transition.brand-content-ready .btn{pointer-events:auto}

/* Review 05: Microsoft YaHei and an unmasked, full-width banner. */
.home-premium{--font:"Microsoft YaHei","微软雅黑","PingFang SC",Arial,sans-serif}
.home-premium .hero__media{width:100%;opacity:1;mask-image:none;-webkit-mask-image:none;background-position:center}
.home-premium .hero__media::after{display:none}
.home-premium .hero .lead{color:#243f56}

/* Review 06: true full-screen banner; image stays still while mask contracts. */
/* Brand statement sizing is overridden at the end by review 08. */
.home-premium .hdr{position:fixed;inset:0 0 auto;background:transparent;border:0;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}
.home-premium .hdr.is-stuck{background:rgba(33,49,62,.42);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:0;box-shadow:none}
.home-premium .hdr__nav a{color:white;text-shadow:0 1px 5px #16344955}
.home-premium .hdr__logo img{content:url('../img/logo-white.png')}
.home-premium .burger span,.home-premium .burger span::before,.home-premium .burger span::after{background:white}
.home-premium.is-menu .burger span{background:transparent}
.home-premium .hero,.home-premium.brand-motion-enabled .hero{height:100svh;min-height:640px;top:0}
.home-premium .hero .hero__in{height:100%;padding-top:calc(var(--hdr) + 65px)}
.home-premium .hero::before{content:"";position:absolute;inset:0 0 auto;height:145px;z-index:1;background:linear-gradient(#13344d44,transparent);pointer-events:none}
.home-premium #brand-statement.brand-transition{margin-top:-100svh;height:calc(100svh + 1200px)}
.home-premium #brand-statement.brand-transition>.wrap{height:100svh;top:0;background:white}
.home-premium #brand-statement.brand-transition>.wrap::before{inset:0;width:100%;height:100%;aspect-ratio:auto;transform:none;background-position:center;background-size:cover;mask-size:var(--brand-width) auto;-webkit-mask-size:var(--brand-width) auto;mask-position:var(--mask-left) var(--mask-top);-webkit-mask-position:var(--mask-left) var(--mask-top)}
/* Keep the hero's existing text above the opaque photo stage until it exits. */
.home-premium.brand-motion-enabled .hero .hero__in{z-index:3}
.home-premium.brand-motion-enabled .hero{z-index:3;background:none;pointer-events:none}
.home-premium.brand-motion-enabled .hero .hero__media,.home-premium.brand-motion-enabled .hero::before,.home-premium.brand-motion-enabled .hero::after{visibility:hidden}
.home-premium.brand-motion-enabled .hero a{pointer-events:auto}
.home-premium.brand-motion-enabled>.section:not(#brand-statement),.home-premium.brand-motion-enabled>.ftr{z-index:4}
@media(max-width:740px){.home-premium .hero__media{inset:0;height:100%;background-position:60% center}.home-premium .hero .hero__in{padding-top:calc(var(--hdr) + 65px)}.home-premium .hero h1,.home-premium .hero .lead{text-shadow:0 1px 8px #ffffff99}}

/* Review 08: match the approved brand statement's editorial proportions. */
.home-premium #brand-statement.brand-transition h2{top:18%;width:min(1250px,78%);max-width:1250px;font-size:clamp(32px,2.4vw,46px);font-weight:700;line-height:1.32;letter-spacing:-.018em}
.home-premium #brand-statement.brand-transition .lead{top:65%;width:min(1340px,82%);max-width:1340px;font-size:clamp(18px,1.3vw,24px);line-height:1.6;color:#263c50}
.home-premium #brand-statement.brand-transition .mt-32{top:82%}
@media(min-width:941px) and (max-height:760px){
 .home-premium #brand-statement.brand-transition h2{top:17%;font-size:30px}
 .home-premium #brand-statement.brand-transition .lead{top:66%;font-size:18px}
}

/* Review 09: extend the approved type scale throughout the homepage. */
.home-premium{--wrap:1600px;--gut:clamp(24px,4vw,64px);--sp:clamp(88px,7vw,134px)}
.home-premium .h-lg{font-size:clamp(32px,2.4vw,46px);font-weight:700;line-height:1.3;letter-spacing:-.018em}
.home-premium .section>.wrap>.h-lg{max-width:1250px}
.home-premium .eyebrow{font-size:14px;letter-spacing:.15em;margin-bottom:26px}
.home-premium .btn{height:48px;padding:0 29px;font-size:13px}
.home-premium .hdr__nav{gap:clamp(14px,1.3vw,25px)}
.home-premium .hdr__nav a{font-size:12px;letter-spacing:.025em}
.home-premium .hdr__logo img{height:42px}
.home-premium .hdr__cta{height:40px;padding:0 23px;font-size:12px}
.home-premium .hero__in>h1{font-size:clamp(48px,4.2vw,80px);max-width:920px;line-height:1.13}
.home-premium .hero .lead{font-size:clamp(20px,1.35vw,26px);max-width:720px}
.home-premium .tile{min-height:270px;padding:38px 30px;gap:32px}
.home-premium .tile__ring{width:78px;height:78px}
.home-premium .tile__ico{width:36px;height:36px}
.home-premium .tile__t{font-size:clamp(20px,1.35vw,26px);line-height:1.4}
.home-premium .cbtn{width:46px;height:46px}
.home-premium .industry-scroll>.wrap>.h-lg{font-size:clamp(32px,2.4vw,46px);max-width:1300px;padding:0 50px}
.home-premium .industry-scroll .iswitch__row h3{font-size:clamp(26px,2vw,38px);width:clamp(320px,26vw,480px);font-weight:500}
.home-premium .industry-scroll .iswitch__d{font-size:clamp(20px,1.3vw,25px);max-width:590px;left:61%;width:33%;line-height:1.65}
.home-premium .venn__c{width:clamp(300px,24vw,410px);margin:0 -32px}
.home-premium .venn__c h4{font-size:clamp(30px,2.2vw,42px);font-weight:600}
.home-premium .venn__c span{font-size:clamp(16px,1.05vw,20px);max-width:220px;line-height:1.55}
.home-premium .dcell{min-height:190px;gap:23px}
.home-premium .dcell svg{width:40px;height:40px}
.home-premium .dcell span{font-size:16px;letter-spacing:.11em}
.home-premium .dcell .dcell__n{font-size:15px}
.home-premium .case__t{font-size:clamp(21px,1.4vw,27px);font-weight:600;line-height:1.4}
.home-premium .case__bd{padding:30px;gap:20px}
.home-premium .case__meta li{font-size:16px;line-height:1.6}
.home-premium .case__scope{font-size:16px;line-height:1.7}
.home-premium .nfeat h3{font-size:clamp(30px,2.4vw,46px);font-weight:600;line-height:1.3}
.home-premium .nfeat p{font-size:clamp(18px,1.15vw,22px);line-height:1.75}
.home-premium .nrow h4{font-size:clamp(19px,1.25vw,24px);line-height:1.5;font-weight:500}
.home-premium .nrow{padding:30px 0}
.home-premium .pill{font-size:13px;padding:11px 19px}
.home-premium .link-arrow,.home-premium .date{font-size:13px}
.home-premium .ftr__nav a{font-size:13px;letter-spacing:.02em}
.home-premium .ftr h4{font-size:15px}
.home-premium .ftr__addr,.home-premium .ftr__link{font-size:15px;line-height:1.8}
.home-premium .ftr__bot,.home-premium .totop{font-size:13px}
.home-premium .ftr__logo{height:56px}
@media(min-width:1121px) and (max-width:1390px){
 .home-premium .hdr__in{gap:12px}.home-premium .hdr__nav{gap:12px}.home-premium .hdr__nav a{font-size:10px}.home-premium .hdr__logo img{height:34px}.home-premium .hdr__cta{margin-left:0;padding:0 17px}
}
@media(min-width:1100px) and (max-height:800px){
 .home-premium .industry-scroll>.wrap{padding-top:25px;padding-bottom:22px}
 .home-premium .industry-scroll>.wrap>.h-lg{font-size:30px;max-width:1100px}
 .home-premium .industry-scroll .split{min-height:270px}
 .home-premium .industry-scroll .iswitch__row h3{font-size:26px}
 .home-premium .industry-scroll .iswitch__d{font-size:19px}
}
@media(max-width:940px){
 .home-premium .venn__c{width:265px;margin:0 -25px}.home-premium .venn__c h4{font-size:28px}.home-premium .venn__c span{font-size:16px;max-width:180px}
 .home-premium .h-lg{font-size:32px}.home-premium .eyebrow{font-size:12px}
 .home-premium .iswitch__row h3{font-size:24px}.home-premium .iswitch__d{font-size:16px}
}
@media(max-width:740px){
 .home-premium{--gut:22px;--sp:70px}
 .home-premium .hero__in>h1{font-size:clamp(30px,7.7vw,48px);max-width:100%}
 .home-premium .hero .lead{font-size:17px;line-height:1.65}
 .home-premium .h-lg{font-size:28px;line-height:1.35}
 .home-premium .btn{height:46px;font-size:12px;padding:0 24px}
 .home-premium .tile{min-height:235px;padding:30px 25px}.home-premium .tile__t{font-size:22px}
 .home-premium .venn__c{width:265px;margin:-17px 0}
 .home-premium .dcell{min-height:157px;padding:30px 16px}.home-premium .dcell span{font-size:13px}.home-premium .dcell .dcell__n{font-size:12px}
 .home-premium .case__bd{padding:24px}.home-premium .case__t{font-size:22px}
 .home-premium .case__scope,.home-premium .case__meta li{font-size:15px}
 .home-premium .nfeat h3{font-size:28px}.home-premium .nfeat p{font-size:17px}
 .home-premium .nrow h4{font-size:19px}.home-premium .pill{font-size:11px;padding:9px 12px}
 .home-premium .ftr__nav a{font-size:12px}.home-premium .ftr__addr,.home-premium .ftr__link{font-size:14px}
}

/* PSD typography: 1920px reference canvas, rem based on browser default 16px.
   Preserve semantic hierarchy: bold section label, regular descriptive title. */
.home-premium{--wrap:100rem;--gut:clamp(1.375rem,4vw,4rem);--sp:clamp(5.5rem,7vw,8.375rem)}
.home-premium .h-lg{font-size:2.25rem;font-weight:400;line-height:1.333333;letter-spacing:normal}
.home-premium .section>.wrap>.h-lg{max-width:78.125rem}
.home-premium .eyebrow{font-size:1.5rem;font-weight:700;line-height:1.5;letter-spacing:normal;margin-bottom:1.625rem}
.home-premium .hdr__nav a{font-size:1.125rem;font-weight:400;letter-spacing:normal}
.home-premium .hdr__nav{gap:1.375rem}
.home-premium .hdr__logo img{height:2.625rem}
.home-premium .hdr__in{gap:1.25rem}
.home-premium .hdr__cta{font-size:1.25rem;font-weight:400;height:2.75rem;padding:0 1.5rem;margin-left:.625rem}
.home-premium .btn{font-size:1rem;font-weight:400;letter-spacing:normal;height:3rem;padding:0 1.75rem}
.home-premium .hero__in>h1{font-size:3.75rem;font-weight:700;line-height:1.2;letter-spacing:normal;max-width:62.5rem}
.home-premium .hero .lead{font-size:2.25rem;line-height:1.5;font-weight:400;max-width:62.5rem}
.home-premium .scrollcue{font-size:1.125rem;line-height:1.5;letter-spacing:normal;padding:.5rem 1rem}
.home-premium #brand-statement h2,.home-premium #brand-statement.brand-transition h2{font-size:2.5rem;font-weight:700;line-height:1.5;letter-spacing:normal;max-width:78.125rem}
.home-premium #brand-statement .lead,.home-premium #brand-statement.brand-transition .lead{font-size:1.5rem;font-weight:400;line-height:1.5;max-width:83.75rem}
.home-premium .tile__t{font-size:1.125rem;line-height:1.666667;font-weight:400;letter-spacing:normal}
.home-premium .tile{min-height:16.875rem;padding:2.375rem 1.875rem;gap:2rem}
.home-premium .tile__ring{width:4.875rem;height:4.875rem}
.home-premium .tile__ico{width:2.25rem;height:2.25rem}
.home-premium .industry-scroll>.wrap>.h-lg{font-size:2.25rem;font-weight:400;line-height:1.333333;max-width:81.25rem;letter-spacing:normal}
.home-premium .iswitch__row h3,.home-premium .industry-scroll .iswitch__row h3{font-size:1.875rem;line-height:1.2;font-weight:400;letter-spacing:normal}
.home-premium .iswitch__d,.home-premium .industry-scroll .iswitch__d{font-size:1.5rem;line-height:1.5;font-weight:400}
.home-premium .venn__c h4{font-size:1.5rem;font-weight:400;line-height:1.5;letter-spacing:normal}
.home-premium .venn__c span{font-size:1.5rem;line-height:1.5;max-width:15rem;letter-spacing:normal}
.home-premium .dcell span,.home-premium .dcell .dcell__n{font-size:1.5rem;line-height:1.5;font-weight:400;letter-spacing:normal}
.home-premium .case__t{font-size:1rem;font-weight:700;line-height:1.5;letter-spacing:normal}
.home-premium .case__meta li{font-size:1rem;line-height:2.25;font-weight:400}
.home-premium .case__scope{font-size:1rem;line-height:1.5;font-weight:400}
.home-premium .nfeat h3,.home-premium .nrow h4{font-size:1.5rem;font-weight:700;line-height:2;letter-spacing:normal}
.home-premium .nfeat p{font-size:1.125rem;line-height:1.666667;font-weight:400}
.home-premium .pill,.home-premium .link-arrow,.home-premium .date{font-size:1rem;font-weight:400;letter-spacing:normal}
.home-premium .pill{padding:.6875rem 1.1875rem}
.home-premium .ftr__nav a,.home-premium .ftr h4{font-size:1.25rem;font-weight:700;line-height:1.5;letter-spacing:normal}
.home-premium .ftr__nav a{white-space:normal}
.home-premium .ftr__addr{font-size:1.125rem;line-height:1.5}
.home-premium .ftr__link{font-size:1.125rem;font-weight:700;line-height:2}
.home-premium .ftr__bot,.home-premium .totop{font-size:1.25rem;line-height:1.5;letter-spacing:normal}
/* Only descriptive headings use normal weight; What We Do has 36/36 leading. */
.home-premium .section:has(.venn)>.wrap>.h-lg{line-height:1}
@media(min-width:1121px) and (max-width:1700px){
 .home-premium .hdr__nav a{font-size:.875rem}.home-premium .hdr__nav{gap:.875rem}
 .home-premium .hdr__logo img{height:2.25rem}.home-premium .hdr__in{gap:.75rem}
 .home-premium .hdr__cta{font-size:1rem;padding:0 1.125rem;margin-left:0}
}
@media(min-width:1121px) and (max-width:1300px){.home-premium .hdr__nav a{font-size:.75rem}.home-premium .hdr__nav{gap:.625rem}}
@media(min-width:941px) and (max-height:800px){
 .home-premium #brand-statement.brand-transition h2{font-size:2rem;line-height:1.4}
 .home-premium #brand-statement.brand-transition .lead{font-size:1.25rem}
 .home-premium .industry-scroll>.wrap>.h-lg{font-size:1.875rem}
 .home-premium .industry-scroll .iswitch__row h3{font-size:1.625rem}
 .home-premium .industry-scroll .iswitch__d{font-size:1.1875rem}
}
@media(max-width:940px){
 .home-premium .h-lg,.home-premium #brand-statement h2{font-size:2rem;line-height:1.4}
 .home-premium .eyebrow{font-size:1.25rem}
 .home-premium .hero__in>h1{font-size:3rem}
 .home-premium .hero .lead{font-size:1.625rem}
 .home-premium .venn__c span{font-size:1.125rem;max-width:11.25rem}
 .home-premium .iswitch__d{font-size:1.125rem}
}
@media(max-width:740px){
 .home-premium{--gut:1.375rem;--sp:4.375rem}
 .home-premium .hero__in>h1{font-size:clamp(1.75rem,7.4vw,2.75rem);max-width:100%}
 .home-premium .hero .lead{font-size:1.125rem;line-height:1.5}
 .home-premium .h-lg,.home-premium #brand-statement h2{font-size:1.75rem;line-height:1.4}
 .home-premium #brand-statement .lead{font-size:1.125rem;line-height:1.6}
 .home-premium .eyebrow{font-size:1.125rem}
 .home-premium .btn{font-size:1rem;height:2.875rem;padding:0 1.5rem}
 .home-premium .scrollcue{font-size:.875rem}
 .home-premium .iswitch__row h3{font-size:1.5rem;line-height:1.35}
 .home-premium .venn__c h4{font-size:1.5rem}.home-premium .venn__c span{font-size:1.125rem}
 .home-premium .dcell span{font-size:1.125rem}.home-premium .dcell .dcell__n{font-size:1rem}
 .home-premium .nfeat h3,.home-premium .nrow h4{font-size:1.375rem;line-height:1.5}
 .home-premium .pill{font-size:.8125rem;padding:.5rem .625rem}
 .home-premium .ftr__nav a,.home-premium .ftr h4{font-size:1rem}
 .home-premium .ftr__addr,.home-premium .ftr__link{font-size:1rem}
 .home-premium .ftr__bot,.home-premium .totop{font-size:.875rem}
}
@media(min-width:1701px){.home-premium .hdr .hdr__cta{font-size:1.25rem;height:2.75rem}}

/* Scroll cue: transparent, quiet directional detail over the banner. */
.home-premium .hero .scrollcue{background:none;border:0;border-radius:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;padding:.5rem 1rem;bottom:1.5rem;gap:.625rem;color:#173d59;font-size:.875rem;line-height:1.25;letter-spacing:.18em;text-shadow:0 .0625rem .25rem #ffffff80}
.home-premium .hero .scrollcue::after{content:"";display:block;width:.0625rem;height:2rem;background:linear-gradient(#173d59,#173d5900);transform-origin:top}
.home-premium .hero .scrollcue svg{width:1rem;height:1rem;animation:none}
.home-premium .hero .scrollcue:hover{color:#0f3193}
@media(prefers-reduced-motion:no-preference){.home-premium .hero .scrollcue svg{animation:bhj-scroll-arrow 2.2s ease-in-out infinite}.home-premium .hero .scrollcue::after{animation:bhj-scroll-line 2.2s ease-in-out infinite}}
@keyframes bhj-scroll-arrow{0%,100%{transform:translateY(-.125rem)}50%{transform:translateY(.1875rem)}}
@keyframes bhj-scroll-line{0%,100%{transform:scaleY(.7);opacity:.55}50%{transform:scaleY(1);opacity:1}}
@media(max-width:740px){.home-premium .hero .scrollcue{bottom:1rem;font-size:.75rem}.home-premium .hero .scrollcue::after{height:1.5rem}}

/* News list: thumbnail belongs to the hovered story, not a fixed feature. */
.home-premium .news-reveal{border-top:.0625rem solid var(--line-2)}
.home-premium .news-reveal .nfeat,.home-premium .news-reveal .nrow{position:relative;display:flex;align-items:center;min-height:8rem;padding:1.75rem 0;margin:0;gap:0;background:transparent;transition:min-height .4s ease}
.home-premium .news-reveal .is-preview{min-height:17rem}
.home-premium .news-reveal .nfeat>div:first-child,.home-premium .news-reveal .nrow h4{width:46%;margin:0}
.home-premium .news-reveal h3,.home-premium .news-reveal h4{line-height:1.5;margin:0}
.home-premium .news-reveal .nfeat p{margin:0;max-height:0;overflow:hidden;opacity:0;transition:opacity .25s,max-height .4s,margin .4s}
.home-premium .news-reveal .nfeat.is-preview p{max-height:12rem;margin-top:1rem;opacity:1}
.home-premium .news-reveal .nfeat__foot{margin:0}
.home-premium .news-reveal .date{display:none}
.home-premium .news-reveal .nfeat.is-preview .date{display:flex;margin-top:1rem}
.home-premium .news-reveal .link-arrow{position:absolute;right:0;top:50%;transform:translateY(-50%);white-space:nowrap}
.home-premium .news-reveal .nfeat>.shot,.home-premium .news-reveal .nrow::after{position:absolute;left:53%;top:50%;width:25%;height:13rem;aspect-ratio:auto;border-radius:.25rem;opacity:0;transform:translateY(-45%) scale(.97);pointer-events:none;transition:opacity .3s,transform .4s}
.home-premium .news-reveal .nrow::after{content:"";background:var(--news-thumb) center/cover no-repeat}
.home-premium .news-reveal .is-preview>.shot,.home-premium .news-reveal .nrow.is-preview::after{opacity:1;transform:translateY(-50%) scale(1)}
.home-premium .news-reveal .is-preview h3,.home-premium .news-reveal .is-preview h4{color:var(--deep)}
@media(max-width:940px){
 .home-premium .news-reveal .nfeat,.home-premium .news-reveal .nrow{display:block;min-height:0;padding:1.5rem 0}
 .home-premium .news-reveal .nfeat>div:first-child,.home-premium .news-reveal .nrow h4{width:100%}
 .home-premium .news-reveal .nfeat p{max-height:none;margin-top:1rem;opacity:1}
 .home-premium .news-reveal .date{display:flex;margin-top:1rem}
 .home-premium .news-reveal .link-arrow{position:static;display:inline-flex;transform:none;margin-top:1rem}
 .home-premium .news-reveal .nfeat>.shot,.home-premium .news-reveal .nrow::after{position:static;display:block;width:100%;height:auto;aspect-ratio:16/9;margin-top:1.25rem;opacity:1;transform:none}
}
@media(prefers-reduced-motion:reduce){.home-premium .news-reveal *,.home-premium .news-reveal .nrow::after{transition:none!important}}

/* Soft dimensional vector icons, shared homepage business icon language. */
.home-premium .tile .premium-icon,.home-premium .dcell .premium-icon{width:5.25rem;height:5.25rem;flex-shrink:0;fill:none;stroke:none;stroke-width:0;background:#fff;border-radius:1.5rem;box-shadow:0 .65rem 2.25rem #264f8512,inset 0 0 0 .0625rem #ffffffcc;transition:transform .35s ease,box-shadow .35s ease}
.home-premium .tile:hover .premium-icon,.home-premium .dcell:hover .premium-icon{stroke:none;transform:translateY(-.25rem);box-shadow:0 1rem 2.5rem #2654a321}
@media(max-width:740px){.home-premium .tile .premium-icon,.home-premium .dcell .premium-icon{width:4.5rem;height:4.5rem;border-radius:1.25rem}}
@media(prefers-reduced-motion:reduce){.home-premium .tile .premium-icon,.home-premium .dcell .premium-icon{transition:none;transform:none}}

/* Alternate immersive scenes with quiet light sections. */
.home-premium .scene-host{isolation:isolate}
.home-premium .scene-media{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:#0b253b}
.home-premium .scene-image{position:absolute;inset:0;background-position:center;background-size:cover;opacity:0;transition:opacity .9s cubic-bezier(.22,.61,.36,1)}
.home-premium .scene-image.is-visible{opacity:1}
.home-premium .scene-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#081d35d9 0%,#102c46a6 48%,#0a263993 100%)}
.home-premium .industry-scenes{padding:0;background:#0b253b!important}
.home-premium .industry-scenes>.wrap{max-width:none;padding:var(--sp) var(--gut);position:relative;background:#0b253b}
.home-premium .industry-scenes.industry-scroll>.wrap{position:sticky;padding:2.75rem 0 1.75rem}
.home-premium .industry-scenes .h-lg,.home-premium .industry-scenes .eyebrow,.home-premium .delivery-scenes .h-lg,.home-premium .delivery-scenes .eyebrow{color:#fff}
.home-premium .industry-scenes .iswitch__row h3{color:#dce8ef}
.home-premium .industry-scenes .iswitch__row.is-on h3{color:#64d1e9;text-shadow:0 .125rem 1rem #071e3a66}
.home-premium .industry-scenes .iswitch__d{color:#edf5fa}
.home-premium .industry-scenes .rings i{border-color:#afd9e24d!important}
.home-premium .industry-scenes .rings em{box-shadow:0 0 0 .5rem #35b2d226,0 0 1.5rem #35b2d259}
.home-premium .industry-scenes .iswitch__row{border-color:#ffffff26}
.home-premium .industry-scenes .btn,.home-premium .delivery-scenes .btn{background:#0f3193;border:.0625rem solid #ffffff38;box-shadow:0 .5rem 1.5rem #031a3326}
.home-premium .industry-scenes .btn:hover,.home-premium .delivery-scenes .btn:hover{background:#1744ae}
.home-premium .delivery-scenes{position:relative;background:#0b253b!important;padding-top:calc(var(--sp) + 2rem);padding-bottom:calc(var(--sp) + 2rem)}
.home-premium .delivery-scenes .scene-media::after{background:linear-gradient(90deg,#061c34eb 0%,#0c2b46b8 55%,#0c2b46a1 100%)}
.home-premium .delivery-scenes .dgrid{background:#ffffff08;border-color:#ffffff38;backdrop-filter:blur(.5rem);-webkit-backdrop-filter:blur(.5rem)}
.home-premium .delivery-scenes .dcell{background:transparent;border-color:#ffffff26;transition:background .5s,color .5s;min-height:12rem}
.home-premium .delivery-scenes .dcell span{color:#eef6fa}
.home-premium .delivery-scenes .dcell .dcell__n{color:#b4d5e2}
.home-premium .delivery-scenes .dcell:hover,.home-premium .delivery-scenes .dcell.is-scene-active{background:#35b2d22e}
.home-premium .delivery-scenes .dcell.is-scene-active>span:last-child{color:#7cdef0}
.home-premium .delivery-scenes .dcell .premium-icon{background:#fffffff0;box-shadow:0 .75rem 2rem #0314261f}
.home-premium .industry-scenes>.wrap::after,.home-premium .delivery-scenes::after{content:"";position:absolute;inset:auto 0 0;height:2.5rem;pointer-events:none;background:linear-gradient(transparent,#f3f7fa);z-index:0}
.home-premium .delivery-scenes::before{content:"";position:absolute;inset:0 0 auto;height:2.5rem;background:linear-gradient(#f3f7fa,transparent);pointer-events:none}
.home-premium .industry-scenes>.wrap>p:last-child{position:relative;z-index:1}
html:has(.home-premium){scroll-behavior:smooth}
@media(max-width:1099px){.home-premium .industry-scenes .split{max-width:100rem;margin-left:auto;margin-right:auto}.home-premium .industry-scenes .iswitch__row{background:transparent}.home-premium .industry-scenes .iswitch__d{opacity:1}}
@media(max-width:740px){.home-premium .industry-scenes>.wrap{padding:4.375rem 1.375rem}.home-premium .delivery-scenes .dcell{min-height:10rem}.home-premium .scene-media::after{background:#091f36bf}.home-premium .delivery-scenes .scene-media::after{background:#091f36cc}}
@media(prefers-reduced-motion:reduce){html:has(.home-premium){scroll-behavior:auto}.home-premium .scene-image{transition:none}}

.home-premium .industry-scenes>.wrap:not(.scene-host){background:linear-gradient(90deg,#081d35d9,#0a263993),url("../img/dc-hall.jpg") center/cover}
.home-premium .delivery-scenes:not(.scene-host){background:linear-gradient(90deg,#061c34eb,#0c2b46a1),url("../img/com-office.jpg") center/cover!important}

/* Review: airy overlapping circles and clean photographic section edges. */
.home-premium .industry-scenes>.wrap::after,
.home-premium .delivery-scenes::before,
.home-premium .delivery-scenes::after{content:none;display:none}
.home-premium .venn{flex-wrap:nowrap;padding:2rem 0;gap:0}
.home-premium .venn__c,
.home-premium .venn__c:nth-child(2){width:clamp(18rem,30vw,30rem);flex-shrink:0;margin:0 -1.25rem;padding:2rem;border:.0625rem solid #35b2d212;background:linear-gradient(145deg,#0f319302,#35b2d207);box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;animation:none;transition:background .6s ease,border-color .6s ease;z-index:auto}
.home-premium .venn__c::before{content:none;display:none}
.home-premium .venn__c:hover{transform:none;background:linear-gradient(145deg,#0f319305,#35b2d20b);border-color:#35b2d225}
.home-premium .venn__c h4{color:#0f3193}
@media(max-width:940px) and (min-width:741px){.home-premium .venn__c,.home-premium .venn__c:nth-child(2){width:32vw;margin:0 -.75rem;padding:1rem}.home-premium .venn__c span{max-width:10rem}}
@media(max-width:740px){.home-premium .venn{flex-direction:column;padding:1.5rem 0}.home-premium .venn__c,.home-premium .venn__c:nth-child(2){width:min(18rem,82vw);margin:-.625rem 0;padding:1.5rem}}

/* Desktop case studies: a complete presentation within the usable viewport. */
@media(min-width:1100px) and (min-height:700px){
 .home-premium .section:has(.carousel--3){padding:1.25rem 0;min-height:calc(100svh - var(--hdr));display:flex;align-items:center}
 .home-premium .section:has(.carousel--3)>.wrap{width:100%}
 .home-premium .section:has(.carousel--3) .eyebrow{margin-bottom:.625rem}
 .home-premium .section:has(.carousel--3) .carousel{margin-top:1rem}
 .home-premium .section:has(.carousel--3) .carousel__track{padding:.375rem .125rem .625rem}
 .home-premium .section:has(.carousel--3) .case .shot{height:clamp(6rem,calc(100svh - 43rem),17rem);aspect-ratio:auto;flex:none}
 .home-premium .section:has(.carousel--3) .case__bd{padding:1rem 1.25rem;gap:.625rem}
 .home-premium .section:has(.carousel--3) .case__meta{gap:.25rem}
 .home-premium .section:has(.carousel--3) .case__meta li{line-height:1.6}
 .home-premium .section:has(.carousel--3) .case__scope{padding-top:.625rem}
 .home-premium .section:has(.carousel--3) .carousel__foot{margin-top:.375rem}
 .home-premium .section:has(.carousel--3)>.wrap>p:last-child{margin-top:.75rem}
}

/* The upper, previously viewed arc label is not displayed. */
.home-premium .industry-scroll .iswitch__row.arc-title-hidden h3{opacity:0;pointer-events:none}
/* Client removed platform login from the public website. */
.hdr .hdr__cta,.mmenu>a[rel="nofollow"]{display:none!important}

/* Home news: readable resting titles and uncropped client product screenshots. */
.home-premium .news-reveal .news-platform::after{background-size:contain;background-color:#eef4f8}
@media(min-width:48rem){
 .home-premium .news-reveal .nrow:not(.is-preview) h4,
 .home-premium .news-reveal .nfeat:not(.is-preview)>div:first-child{width:calc(100% - 12rem)}
}
