/* Reusable content blocks for static marketing pages.
   Temporary images: replace only the <img src="..."> path. These containers keep the image full-bleed with object-fit:cover. */
.editorial-section{padding:96px 0;background:#fff}.editorial-section.is-soft{background:#f4f7fa}.editorial-section.is-dark{background:#1d2b3b;color:#fff}.editorial-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:58px;align-items:stretch}.editorial-grid.is-reverse{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)}.editorial-grid.is-reverse .editorial-media{order:2}.editorial-grid.is-reverse .editorial-copy{order:1}.editorial-media{position:relative;min-height:430px;overflow:hidden;background:#dce4eb}.editorial-media img{width:100%;height:100%;min-height:430px;object-fit:cover;object-position:center;transition:transform .65s ease}.editorial-grid:hover .editorial-media img{transform:scale(1.018)}.editorial-media .media-label{position:absolute;left:18px;bottom:18px;padding:8px 11px;background:rgba(20,42,64,.82);color:#fff;font-size:.68rem;font-weight:800;letter-spacing:.08em}.editorial-copy{display:flex;flex-direction:column;justify-content:center;padding:30px 0}.editorial-copy h2{font-size:clamp(2rem,3.7vw,3rem);line-height:1.2;letter-spacing:-.05em}.editorial-copy>p{margin-top:18px;color:#77838f;font-size:.94rem;line-height:1.88}.editorial-section.is-dark .editorial-copy>p{color:#bdcad5}.editorial-points{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;margin-top:28px;background:#dde4ea;border:1px solid #dde4ea}.editorial-point{padding:20px 18px;background:#fff}.editorial-point b{display:block;color:var(--blue);font-size:.72rem;letter-spacing:.06em}.editorial-point strong{display:block;margin-top:7px;font-size:1rem}.editorial-point p{margin-top:7px;color:#7d8994;font-size:.8rem;line-height:1.7}.editorial-section.is-dark .editorial-points{background:#405264;border-color:#405264}.editorial-section.is-dark .editorial-point{background:#26394c}.editorial-section.is-dark .editorial-point strong{color:#fff}.editorial-section.is-dark .editorial-point p{color:#b9c6d1}
.image-band{position:relative;height:470px;overflow:hidden;background:#203447;color:#fff}.image-band>img{width:100%;height:100%;object-fit:cover;object-position:center}.image-band::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,44,67,.86),rgba(20,44,67,.48) 52%,rgba(20,44,67,.12))}.image-band-content{position:absolute;z-index:2;left:50%;top:50%;width:min(calc(100% - 40px),var(--max));transform:translate(-50%,-50%)}.image-band-content>span{display:block;color:#aed8fb;font-size:.72rem;font-weight:850;letter-spacing:.1em}.image-band-content h2{max-width:620px;margin-top:12px;font-size:clamp(2rem,4vw,3.25rem);line-height:1.18;letter-spacing:-.05em}.image-band-content p{max-width:580px;margin-top:17px;color:#d8e6f1;font-size:.92rem;line-height:1.85}.image-band-content .button-row{margin-top:24px}.image-band-content .btn-outline{border-color:rgba(255,255,255,.55);color:#fff}.image-band-content .btn-outline:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.insight-section{padding:86px 0}.insight-head{display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:end;margin-bottom:34px}.insight-head h2{font-size:clamp(1.9rem,3.6vw,2.85rem);line-height:1.2;letter-spacing:-.045em}.insight-head p{color:#798590;font-size:.91rem;line-height:1.85}.insight-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.insight-card{min-height:210px;padding:28px 25px;border-top:3px solid var(--blue);background:#f5f8fb}.insight-card b{display:block;color:#7b8b99;font-size:.7rem;letter-spacing:.08em}.insight-card h3{margin-top:28px;font-size:1.13rem}.insight-card p{margin-top:10px;color:#7d8994;font-size:.84rem;line-height:1.75}
.stat-strip{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #dce3e9;border-bottom:1px solid #dce3e9}.stat-item{padding:28px 22px;border-right:1px solid #dce3e9}.stat-item:last-child{border-right:0}.stat-item strong{display:block;color:var(--blue);font-size:1.55rem;letter-spacing:-.04em}.stat-item span{display:block;margin-top:6px;color:#697784;font-size:.81rem}
.material-detail{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:34px}.material-detail>div{padding:26px;border:1px solid var(--line);background:#fff}.material-detail small{display:block;color:var(--blue);font-size:.68rem;font-weight:850;letter-spacing:.09em}.material-detail h3{margin-top:10px;font-size:1.12rem}.material-detail p{margin-top:8px;color:#7d8994;font-size:.83rem;line-height:1.78}
.image-replace-note{margin-top:14px;color:#98a3ad;font-size:.7rem}.image-replace-note code{padding:2px 5px;background:#edf1f4;color:#526170;font-family:monospace}
@media(max-width:900px){.editorial-grid,.editorial-grid.is-reverse{grid-template-columns:1fr;gap:30px}.editorial-grid.is-reverse .editorial-media,.editorial-grid.is-reverse .editorial-copy{order:initial}.editorial-media,.editorial-media img{min-height:340px}.editorial-copy{padding:0}.insight-head{grid-template-columns:1fr;gap:12px}.insight-grid{grid-template-columns:1fr 1fr}.stat-strip{grid-template-columns:1fr 1fr}.stat-item:nth-child(2){border-right:0}.stat-item:nth-child(-n+2){border-bottom:1px solid #dce3e9}}
@media(max-width:620px){.editorial-section{padding:68px 0}.editorial-media,.editorial-media img{min-height:270px}.editorial-points,.material-detail{grid-template-columns:1fr}.image-band{height:430px}.image-band-content{width:calc(100% - 28px)}.image-band-content p{font-size:.86rem}.insight-section{padding:68px 0}.insight-grid{grid-template-columns:1fr}.stat-item{padding:23px 16px}.stat-item strong{font-size:1.35rem}}

/* 2026-08-21: image-free category hero system */
.page-hero{
  --hero-base:#17324b;
  --hero-mid:#245a82;
  --hero-accent:#5ca9df;
  isolation:isolate;
  background-color:var(--hero-base);
  background-image:
    linear-gradient(115deg,rgba(255,255,255,.045) 0 1px,transparent 1px 100%),
    linear-gradient(25deg,transparent 0 68%,rgba(255,255,255,.055) 68% 69%,transparent 69% 100%),
    linear-gradient(125deg,var(--hero-base) 0%,var(--hero-mid) 100%);
  background-size:74px 74px,100% 100%,100% 100%;
  background-position:center;
}
.page-hero::before{
  content:'';
  position:absolute;
  z-index:0;
  width:520px;
  height:520px;
  right:-110px;
  top:-190px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:50%;
  box-shadow:
    0 0 0 74px rgba(255,255,255,.035),
    0 0 0 148px rgba(255,255,255,.022);
  pointer-events:none;
}
.page-hero::after{
  content:'';
  position:absolute;
  z-index:0;
  inset:auto 6.5vw -108px auto;
  width:360px;
  height:270px;
  border:1px solid rgba(255,255,255,.14);
  background:linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,.015));
  transform:rotate(-14deg) skewX(-8deg);
  pointer-events:none;
}
.page-hero .container{z-index:2}
.page-hero .container::before{
  content:'';
  position:absolute;
  right:0;
  bottom:54px;
  width:92px;
  height:7px;
  background:var(--hero-accent);
  opacity:.95;
}
.page-hero .breadcrumb{color:rgba(255,255,255,.7)}
.page-hero h1{position:relative;text-shadow:0 1px 1px rgba(0,0,0,.06)}
.page-hero p{color:rgba(255,255,255,.82)}

.page-hero.hero-company{--hero-base:#112b42;--hero-mid:#235f8d;--hero-accent:#79c3f2}
.page-hero.hero-solution{--hero-base:#0f3946;--hero-mid:#08768a;--hero-accent:#68d1d7}
.page-hero.hero-products{--hero-base:#3b2b25;--hero-mid:#9a5534;--hero-accent:#f2b06f}
.page-hero.hero-portfolio{--hero-base:#173a34;--hero-mid:#277964;--hero-accent:#80d2b4}
.page-hero.hero-support{--hero-base:#282d47;--hero-mid:#5869a3;--hero-accent:#aab8ff}

@media(max-width:900px){
  .page-hero::before{width:410px;height:410px;right:-145px;top:-155px;box-shadow:0 0 0 58px rgba(255,255,255,.03),0 0 0 116px rgba(255,255,255,.018)}
  .page-hero::after{right:-20px;bottom:-125px;width:280px;height:230px}
  .page-hero .container::before{right:0;bottom:42px;width:68px}
}
@media(max-width:600px){
  .page-hero{background-size:58px 58px,100% 100%,100% 100%}
  .page-hero::before{width:330px;height:330px;right:-190px;top:-112px;box-shadow:0 0 0 44px rgba(255,255,255,.025)}
  .page-hero::after{right:-115px;bottom:-118px;width:250px;height:200px;opacity:.75}
  .page-hero .container::before{display:none}
}

/* Dark editorial section button contrast fix */
.editorial-section.is-dark .button-row .btn-outline{
  border-color:rgba(255,255,255,.58);
  color:#fff;
  background:transparent;
}
.editorial-section.is-dark .button-row .btn-outline:hover,
.editorial-section.is-dark .button-row .btn-outline:focus-visible{
  border-color:#fff;
  background:rgba(255,255,255,.08);
  color:#fff;
}
