/* ===== Shared subpage system ===== */
.nav-trigger.active,.mobile-drop.active{color:var(--accent-strong);background:var(--accent-soft)}
.subpage-main{background:#fff}
.subpage-hero{padding:56px 0 48px;background:linear-gradient(180deg,#f6f9fa 0%,#fff 100%);border-bottom:1px solid var(--border)}
.subpage-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 20px;color:#7a8a92;font-size:12px}
.subpage-breadcrumb a:hover{color:var(--accent-strong)}
.subpage-breadcrumb svg{width:10px;height:10px}
.subpage-eyebrow{display:inline-flex;align-items:center;gap:8px;margin-bottom:12px;color:var(--accent-strong);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.subpage-eyebrow::before{content:"";width:20px;height:2px;border-radius:99px;background:currentColor}
.subpage-hero h1{max-width:820px;margin:0;color:var(--primary-strong);font-size:clamp(34px,4vw,52px);font-weight:770;line-height:1.08;letter-spacing:-.04em}
.subpage-hero p{max-width:760px;margin:18px 0 0;color:var(--muted);font-size:15px;line-height:1.75}
.subpage-section{padding:76px 0}
.subpage-section.soft{background:var(--surface)}
.subpage-section.compact{padding:58px 0}
.subpage-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:34px}
.subpage-head h2{max-width:760px;margin:0;color:var(--primary-strong);font-size:clamp(27px,3vw,40px);line-height:1.17;letter-spacing:-.03em}
.subpage-head p{max-width:620px;margin:12px 0 0;color:var(--muted);font-size:14px;line-height:1.7}
.subpage-grid{display:grid;gap:22px}
.subpage-card{background:#fff;border:1px solid var(--border);border-radius:12px;overflow:hidden;box-shadow:0 7px 20px rgba(10,36,52,.045);transition:border-color .22s ease,transform .22s var(--ease),box-shadow .22s ease}
.subpage-card:hover{transform:translateY(-3px);border-color:rgba(22,170,145,.36);box-shadow:0 11px 28px rgba(10,36,52,.075)}
.subpage-card-image{position:relative;display:block;overflow:hidden;background:#eef3f5;aspect-ratio:16/10}
.subpage-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .35s var(--ease)}
.subpage-card:hover .subpage-card-image img{transform:scale(1.025)}
.subpage-card-body{padding:22px}
.subpage-label{display:inline-flex;align-items:center;margin-bottom:11px;color:var(--accent-strong);font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.subpage-card h2,.subpage-card h3{margin:0;color:var(--primary);font-size:19px;line-height:1.38;letter-spacing:-.015em}
.subpage-card h2 a:hover,.subpage-card h3 a:hover{color:var(--accent-strong)}
.subpage-card p{margin:12px 0 0;color:var(--muted);font-size:13px;line-height:1.65}
.subpage-card .text-link{margin-top:17px}
.subpage-filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.filter-chip{min-height:38px;padding:8px 14px;border:1px solid var(--border);border-radius:7px;color:#4a606b;background:#fff;font-size:12px;font-weight:700;transition:.18s ease}
.filter-chip:hover,.filter-chip.active{color:#fff;background:var(--accent);border-color:var(--accent)}
.subpage-cta{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:34px 38px;background:#f4f8f8;border:1px solid #dce8e7;border-radius:14px}
.subpage-cta h2{margin:0;color:var(--primary-strong);font-size:clamp(25px,2.6vw,36px);line-height:1.2;letter-spacing:-.025em}
.subpage-cta p{max-width:690px;margin:10px 0 0;color:var(--muted);font-size:14px}
.subpage-cta-actions{display:flex;flex:0 0 auto;flex-wrap:wrap;gap:10px}
.icon-tile{width:48px;height:48px;display:grid;place-items:center;margin-bottom:18px;color:var(--accent-strong);background:var(--accent-soft);border-radius:9px}
.icon-tile svg{width:24px;height:24px}
.article-shell{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:58px;align-items:start}
.article-content{min-width:0}
.article-content h2{margin:42px 0 15px;color:var(--primary-strong);font-size:28px;line-height:1.25;letter-spacing:-.025em}
.article-content h2:first-child{margin-top:0}
.article-content h3{margin:28px 0 10px;color:var(--primary);font-size:19px}
.article-content p,.article-content li{color:#536873;font-size:15px;line-height:1.82}
.article-content p{margin:0 0 18px}
.article-content ul{display:grid;gap:9px;margin:15px 0 22px;padding-left:20px}
.article-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:30px 0}
.article-visual{margin:0 0 34px;overflow:hidden;background:var(--surface);border-radius:14px}
.article-visual img{width:100%;aspect-ratio:16/9;object-fit:cover}
.article-caption{padding:10px 14px;color:#7c8b92;background:#f6f8f9;font-size:11px}
.article-aside{position:sticky;top:calc(var(--header) + 22px);display:grid;gap:16px}
.aside-box{padding:22px;background:#fff;border:1px solid var(--border);border-radius:11px}
.aside-box h3{margin:0 0 15px;color:var(--primary);font-size:16px}
.aside-list{display:grid;gap:11px}
.aside-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:11px;border-bottom:1px solid #edf1f3;color:#667982;font-size:12px;line-height:1.45}
.aside-row:last-child{padding-bottom:0;border-bottom:0}
.aside-row strong{color:var(--primary);font-weight:700;text-align:right}
.resource-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.case-grid-simple{grid-template-columns:repeat(3,minmax(0,1fr))}
.news-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.catalog-card{display:grid;grid-template-columns:190px minmax(0,1fr);min-height:245px}
.catalog-card .subpage-card-image{aspect-ratio:auto;height:100%}
.catalog-card .subpage-card-image img{object-fit:contain;padding:18px;background:#f6f8f9}
.document-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.document-card button{width:100%;padding:0;border:0;background:none;text-align:left}
.document-card .subpage-card-image{aspect-ratio:4/5;background:#f1f4f5}
.document-card .subpage-card-image img{object-fit:contain;padding:12px}
.featured-story{display:grid;grid-template-columns:1.08fr .92fr;min-height:390px;margin-bottom:30px}
.featured-story .subpage-card-image{aspect-ratio:auto;height:100%}
.featured-story .subpage-card-body{display:flex;flex-direction:column;justify-content:center;padding:42px}
.featured-story h2{font-size:clamp(25px,2.6vw,36px);line-height:1.22}
.faq-wrap{max-width:920px;margin-inline:auto;border-top:1px solid var(--border)}
.faq-item{border-bottom:1px solid var(--border)}
.faq-question{width:100%;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 0;border:0;background:none;color:var(--primary);font-size:17px;font-weight:720;text-align:left;line-height:1.4}
.faq-question svg{flex:0 0 18px;width:18px;height:18px;transition:transform .2s ease}
.faq-question[aria-expanded="true"]{color:var(--accent-strong)}
.faq-question[aria-expanded="true"] svg{transform:rotate(45deg)}
.faq-answer{display:grid;grid-template-rows:0fr;transition:grid-template-rows .25s var(--ease)}
.faq-answer>div{overflow:hidden}
.faq-answer p{max-width:800px;margin:0;padding:0 42px 22px 0;color:var(--muted);font-size:14px;line-height:1.75}
.faq-item.open .faq-answer{grid-template-rows:1fr}
.steps-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:#fff}
.step-item{padding:28px;border-right:1px solid var(--border)}
.step-item:last-child{border-right:0}
.step-number{display:block;margin-bottom:16px;color:var(--accent);font-size:30px;font-weight:800;line-height:1}
.step-item h3{margin:0;color:var(--primary);font-size:17px}
.step-item p{margin:9px 0 0;color:var(--muted);font-size:13px;line-height:1.65}
.lightbox{position:fixed;inset:0;z-index:3000;display:grid;place-items:center;padding:24px;background:rgba(5,22,33,.83);opacity:0;visibility:hidden;transition:.2s ease}
.lightbox.open{opacity:1;visibility:visible}
.lightbox-dialog{position:relative;max-width:min(960px,94vw);max-height:92vh;padding:12px;background:#fff;border-radius:12px}
.lightbox-dialog img{max-width:100%;max-height:calc(92vh - 24px);object-fit:contain}
.lightbox-close{position:absolute;right:-12px;top:-12px;width:38px;height:38px;border:0;border-radius:50%;color:#fff;background:var(--accent-strong);font-size:24px;line-height:1}
.error-page{min-height:calc(100vh - var(--header));display:grid;place-items:center;padding:80px 0;background:linear-gradient(180deg,#f5f8f9,#fff)}
.error-panel{max-width:720px;text-align:center}
.error-code{display:block;color:var(--accent);font-size:clamp(88px,18vw,180px);font-weight:850;line-height:.85;letter-spacing:-.08em}
.error-panel h1{margin:26px 0 0;color:var(--primary-strong);font-size:clamp(31px,4vw,48px)}
.error-panel p{max-width:590px;margin:17px auto 28px;color:var(--muted)}
.error-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:10px}
@media(max-width:1080px){
  .case-grid-simple,.news-grid,.document-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .article-shell{grid-template-columns:1fr;gap:34px}.article-aside{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}
  .resource-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:900px){
  .subpage-hero{padding:46px 0 40px}.subpage-section{padding:64px 0}
  .subpage-head{display:block}.subpage-cta{align-items:flex-start;flex-direction:column}
  .featured-story{grid-template-columns:1fr}.featured-story .subpage-card-image{height:auto;aspect-ratio:16/9}
  .catalog-card{grid-template-columns:155px minmax(0,1fr)}
  .resource-grid{grid-template-columns:1fr}.steps-row{grid-template-columns:1fr}.step-item{border-right:0;border-bottom:1px solid var(--border)}.step-item:last-child{border-bottom:0}
}
@media(max-width:680px){
  .article-gallery{grid-template-columns:1fr}
  .subpage-hero{padding:38px 0 34px}.subpage-hero h1{font-size:clamp(31px,9vw,42px)}
  .subpage-section{padding:54px 0}.subpage-section.compact{padding:46px 0}
  .case-grid-simple,.news-grid,.catalog-grid,.document-grid{grid-template-columns:1fr}
  .catalog-card{grid-template-columns:1fr}.catalog-card .subpage-card-image{height:auto;aspect-ratio:1/1}
  .featured-story .subpage-card-body{padding:24px}.subpage-card-body{padding:19px}
  .subpage-cta{padding:27px 22px}.subpage-cta-actions{width:100%}.subpage-cta-actions .btn{flex:1}
  .article-content h2{font-size:24px}.article-content p,.article-content li{font-size:14px}
  .article-aside{grid-template-columns:1fr}.faq-question{padding:19px 0;font-size:15px}.faq-answer p{padding-right:0}
  .document-card .subpage-card-image{aspect-ratio:4/5}
}
@media(prefers-reduced-motion:reduce){.subpage-card,.subpage-card-image img,.faq-answer,.faq-question svg,.lightbox{transition:none!important}}
