/* V7: structural redesign inspired by product-led enterprise sites. */
html { scroll-padding-top: 164px; }
.v5-site { --page-gutter: clamp(22px,5.5vw,104px); }
.v5-site .container { max-width: 1512px; }
.v5-site h1,.v5-site h2,.v5-site h3 { letter-spacing: -.035em; }
.v5-site .header-inner { height: 84px; }
.v5-site .button { border-radius: 5px; }
.v5-site .experience-hero { background: #f8f7f5; }
.v5-site .experience-hero .data-stage { height: max(700px,calc(100svh - 100px)); min-height: 700px; background: radial-gradient(ellipse at 79% 42%,#f5dfdf50,transparent 52%),linear-gradient(110deg,#fafafa,#f8f7f5); }
.v5-site .experience-hero #data-canvas { transform: none; filter: none; mask-image: none; opacity: 1; }
.v5-site .experience-hero .data-stage:after { background: linear-gradient(90deg,#fafafa 0%,#fafafaef 18%,#fafafa90 32%,transparent 52%); }
.experience-hero-copy { position: absolute; z-index: 3; inset: 50% 0 auto; transform: translateY(-42%); pointer-events: none; }
.experience-hero-copy > * { pointer-events: auto; max-width: 52%; }
.v5-site .experience-hero-copy h1 { font-size: clamp(60px,5.4vw,90px); line-height: 1.25; font-weight: 600; margin-top: 26px; }
.experience-hero-copy h1 em { color: #b02123; font-style: normal; }
.experience-hero-lead { font-size: 19px; line-height: 1.95; color: #505659; margin-top: 28px; }
.v5-site .experience-hero-copy .home-actions { display: flex; gap: 28px; flex-wrap: wrap; margin-top: 32px; }
.scene-annotation { position: absolute; z-index: 3; left: 63%; bottom: 9%; font-size: 11px; letter-spacing: .15em; color: #6e4649; }
.scene-annotation small { display: block; font-size: 13px; letter-spacing: .15em; margin-top: 10px; margin-left: 16px; }
.scene-live-dot { display:inline-block; width:5px; height:5px; background:#b02123; border-radius:50%; margin-right:10px; }
.experience-scroll { position:absolute; z-index:3; bottom:28px; left:var(--page-gutter); font-size:13px; display:flex; align-items:center; gap:28px; color:#505659; }
.experience-scroll span { font-size:22px; color:#8e191c; }
.scene-disclaimer { position:absolute; bottom:28px; right:var(--page-gutter); z-index:3; font-size:11px; color:#777; }
.capability-ribbon { background:#fff; border-block:1px solid #dedbdb; }
.capability-ribbon .container { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
.capability-ribbon a { min-height:96px; display:flex; align-items:center; gap:18px; padding:22px 26px; border-left:1px solid #e8e4e4; }
.capability-ribbon a:first-child { padding-left:0; border:0; }
.capability-ribbon a > span:first-child { color:#8e191c; font-size:12px; }
.capability-ribbon a > span:last-child { margin-left:auto; font-size:22px; color:#8e191c; }
.capability-ribbon strong { font-size:19px; font-weight:500; }
.capability-ribbon a:hover { background:#fcf7f7; }
.experience-section-head { display:grid; grid-template-columns:1fr auto; align-items:end; gap:12px 48px; margin-bottom:48px; }
.experience-section-head > .eyebrow { grid-column:1/-1; margin:0; }
.experience-section-head .inline-link { margin-bottom:7px; }
.capability-explorer { display:grid; grid-template-columns:minmax(230px,.7fr) minmax(0,1.8fr); border-top:1px solid #d9d3d3; gap:64px; padding-top:32px; }
.explorer-menu { padding-top:12px; }
.explorer-menu button { display:flex; width:100%; gap:22px; padding:26px 20px; border:0; border-bottom:1px solid #ded8d8; background:transparent; align-items:center; text-align:left; color:#686b6c; }
.explorer-menu strong { font-size:23px; font-weight:500; }
.explorer-menu button > span { font-size:12px; }
.explorer-menu button > span:last-child { font-size:23px; margin-left:auto; }
.explorer-menu button[aria-selected="true"] { color:#8e191c; background:#f5e9e9; border-radius:5px; border-bottom-color:transparent; }
.explorer-panel[hidden] { display:none; }
.explorer-panel { animation:panel-enter .4s ease-out; }
.explorer-art { height:340px; position:relative; display:flex; align-items:center; justify-content:center; overflow:hidden; border:1px solid #e3dada; border-radius:10px; background:radial-gradient(ellipse at 50% 55%,#edd5d575,transparent 72%),#f4f1f0; }
.explorer-art > span { position:absolute; top:24px; left:28px; font-size:11px; letter-spacing:.12em; color:#896e70; }
.explorer-art img { width:80%; height:94%; object-fit:contain; mix-blend-mode:multiply; }
.explorer-tags { position:absolute; bottom:22px; right:24px; display:flex; gap:10px; }
.explorer-tags span { padding:6px 11px; border:1px solid #cfbabb; border-radius:4px; background:#ffffff9e; font-size:12px; color:#76575a; }
.explorer-copy { display:grid; grid-template-columns:1fr auto; align-items:start; gap:16px 32px; padding-top:28px; }
.explorer-copy h3 { font-size:29px; grid-column:1/-1; }
.explorer-copy p { color:#505659; font-size:17px; line-height:1.9; max-width:610px; }
.explorer-copy .inline-link { margin:0; white-space:nowrap; }
.experience-story { background:#eeecea; }
.story-grid { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr); gap:72px; align-items:start; }
.story-copy { position:sticky; top:144px; }
.story-copy > p:not(.eyebrow) { font-size:17px; color:#505659; line-height:1.95; margin-top:28px; max-width:420px; }
.story-mosaic { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.story-mosaic a { position:relative; border:1px solid #d8cece; border-radius:9px; padding:30px; background:#fff; overflow:hidden; }
.story-mosaic a > span:first-child { color:#836769; font-size:11px; letter-spacing:.04em; }
.story-mosaic h3 { font-size:27px; line-height:1.5; margin-top:24px; }
.story-mosaic a > span:last-child { position:absolute; right:24px; bottom:22px; color:#8e191c; font-size:24px; }
.story-mosaic p { font-size:14px; line-height:1.8; color:#646a6e; margin-top:16px; }
.story-mosaic .mosaic-protect { grid-row:span 2; background:linear-gradient(145deg,#fff,#f0dcdc); min-height:490px; }
.mosaic-protect img { width:130%; max-width:none; margin:40px -15% 0; mix-blend-mode:multiply; }
.story-mosaic .mosaic-observe { background:#f8f8f7; }
.story-mosaic .mosaic-operate { background:#fff; }
.mosaic-operate h3 { font-size:23px; }
.signal-line { margin:34px -16px 8px; }
.signal-line svg { width:100%; fill:none; stroke:#b02123; stroke-width:2; }
.site-motion .signal-line path { stroke-dasharray:550; animation:signal-draw 6s ease-in-out infinite; }
.scenario-grid { display:grid; grid-template-columns:1fr 1fr; gap:0 48px; border-top:1px solid #ded6d6; }
.scenario-card { position:relative; display:grid; grid-template-columns:70px 1fr 26px; gap:24px; padding:38px 0; border-bottom:1px solid #ded6d6; }
.scenario-number { font-size:43px; line-height:1; color:#b9a4a5; font-weight:300; }
.scenario-card .eyebrow { font-size:12px; margin:0; color:#8e191c; }
.scenario-card h3 { font-size:28px; line-height:1.5; margin-top:12px; }
.scenario-card p { color:#505659; font-size:16px; line-height:1.9; margin-top:12px; }
.scenario-card > span:last-child { font-size:26px; align-self:center; color:#8e191c; }
.scenario-card:hover h3 { color:#b02123; }
.experience-company { background:#f3f1f0; }
.company-layout { display:grid; grid-template-columns:1.2fr 1fr; gap:100px; }
.company-layout em { color:#8e191c; font-style:normal; }
.company-layout p { font-size:17px; color:#505659; line-height:1.95; }
.company-layout .company-name { font-size:21px; color:#303335; margin-bottom:20px; }
.service-steps { display:flex; align-items:center; justify-content:space-between; gap:24px; border-top:1px solid #d6cece; margin-top:60px; padding-top:32px; font-size:20px; }
.service-steps i { font-style:normal; color:#b02123; }

/* Inner pages now have distinct visual introductions and persistent content navigation. */
.designed-page-hero { padding:118px 0 54px; background:linear-gradient(115deg,#fafafa 45%,#f1e9e9); }
.v5-site .designed-page-hero .breadcrumb { margin-bottom:24px; }
.designed-hero-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:72px; align-items:center; }
.v5-site .designed-hero-copy h1 { font-size:clamp(42px,3.9vw,64px); line-height:1.35; font-weight:600; }
.designed-hero-copy h1 em { font-style:normal; color:#b02123; }
.designed-hero-copy > p:not(.eyebrow) { max-width:550px; font-size:17px; line-height:1.95; color:#505659; margin-top:24px; }
.designed-hero-copy .button { margin-top:24px; font-size:15px; min-height:48px; padding:12px 20px; }
.detail-hero-art { position:relative; min-height:320px; display:flex; flex-direction:column; justify-content:center; align-items:center; }
.detail-hero-art > span { font-size:11px; letter-spacing:.14em; color:#896e70; align-self:flex-end; }
.detail-hero-art img { width:100%; height:290px; mix-blend-mode:multiply; }
.detail-hero-art > div { display:flex; justify-content:center; gap:24px; color:#7d5558; font-size:13px; }
.detail-hero-art > div > span + span { border-left:1px solid #cbbdbd; padding-left:24px; }
.hero-editorial-note { border-left:1px solid #d7bfc0; padding:18px 0 18px 40px; }
.hero-editorial-note > span { color:#8e191c; font-size:12px; letter-spacing:.08em; }
.hero-editorial-note > p { font-size:26px; line-height:1.6; margin:18px 0 24px; }
.hero-route { display:grid; grid-template-columns:1fr 1fr; gap:0 24px; }
.hero-route a { display:flex; align-items:center; border-top:1px solid #d8caca; gap:14px; padding:16px 0; font-size:15px; }
.hero-route small { font-size:11px; color:#8e191c; }
.hero-route a > span { margin-left:auto; color:#8e191c; }
.page-section-nav { position:sticky; top:84px; z-index:8; background:#fafafaf5; border-block:1px solid #ded8d8; backdrop-filter:blur(16px); }
.page-section-nav > .container { display:flex; justify-content:space-between; gap:32px; align-items:center; min-height:62px; }
.page-section-nav strong { font-size:15px; font-weight:600; white-space:nowrap; }
.page-section-nav .container > div { display:flex; gap:32px; }
.page-section-nav a { font-size:14px; padding:21px 0; border-bottom:2px solid transparent; color:#646a6e; white-space:nowrap; }
.page-section-nav a:hover,.page-section-nav a.is-active { color:#8e191c; border-color:#b02123; }
.v5-site .designed-page-hero ~ .section { padding-top:80px; }

/* Product catalog: a real browsing hierarchy, full-width feature rows. */
.catalog-layout { display:grid; grid-template-columns:230px minmax(0,1fr); gap:64px; align-items:start; }
.catalog-sidebar { position:sticky; top:180px; }
.catalog-sidebar > a { display:flex; align-items:center; gap:14px; padding:20px 0; border-top:1px solid #ded8d8; font-size:17px; }
.catalog-sidebar > a > span:first-child { font-size:11px; color:#8e191c; }
.catalog-sidebar > a > span:last-child { margin-left:auto; color:#8e191c; }
.catalog-sidebar > p:last-child { font-size:14px; color:#777; line-height:1.9; margin-top:28px; }
.v5-site.page-products .product-grid { grid-template-columns:1fr; gap:32px; }
.v5-site.page-products .product-card { padding:30px 36px 0; scroll-margin-top:170px; }
.v5-site.page-products .product-body { grid-template-columns:minmax(0,1fr) minmax(0,.85fr); gap:40px; min-height:245px; }
.v5-site.page-products .product-content { min-height:0; }
.v5-site.page-products .product-card h3 { font-size:34px; }
.v5-site.page-products .product-description { font-size:17px; }
.v5-site.page-products .product-visual { height:220px; border:0; border-radius:6px; }
.v5-site.page-products .product-visual img { width:100%; height:100%; object-fit:contain; }
.v5-site.page-products .product-bottom { min-height:80px; }
.v5-site.page-products .products-section > .container > .section-heading { display:none; }

/* Detail content has a left summary and a right reading column. */
.v5-site .ndp-layout { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:80px; }
.v5-site .ndp-copy { position:sticky; top:180px; }
.v5-site .ndp-path ol { grid-template-columns:1fr; gap:24px; }
.v5-site .ndp-path li { display:grid; grid-template-columns:26px 1fr; column-gap:12px; }
.v5-site .ndp-step { grid-row:span 2; }
.v5-site .ndp-path li:not(:last-child)::after { content:'↓'; right:auto; top:auto; left:5px; bottom:-19px; }
.v5-site .ndp-path small { margin-top:4px; }
.v5-site .ndp-capability summary { min-height:86px; padding-block:22px; }
.v5-site .ndp-capability[open] { background:#f5eeee; border-radius:6px; padding-inline:18px; }
.v5-site .ndp-title { font-size:36px; }
.v5-site .storage-intro-grid { grid-template-columns:.8fr 1.2fr; align-items:start; gap:64px; }
.v5-site .storage-art { background:#f4f0ef; }
.v5-site .storage-section .detail-editorial-grid { grid-template-columns:repeat(3,1fr); gap:24px; margin-top:56px; }
.v5-site .detail-editorial-grid article { background:#fff; padding:30px; border:1px solid #ded6d6; border-radius:8px; }
.v5-site .detail-editorial-grid article > span { font-size:13px; }
.v5-site .monitor-section .section-heading { grid-template-columns:.8fr 1.2fr; }
.v5-site .monitor-section .section-intro { max-width:600px; }
.v5-site .qbsm-heading { grid-template-columns:1fr; gap:24px; max-width:900px; }
.v5-site .qbsm-heading > .qbsm-heading-description { grid-column:1; justify-self:start; width:100%; max-width:720px; }
.v5-site .qbsm-heading-description > p:first-child { display:none; }
.v5-site .qbsm-heading-description .text-button { margin-top:18px; }
.v5-site .qbsm-showcase { margin-top:44px; }
.v5-site .solution-tabs { display:grid; grid-template-columns:repeat(4,1fr); }
.v5-site .solution-panel { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:72px; padding-top:48px; }
.v5-site .solution-copy { padding-right:8px; }
.v5-site .about-inner { grid-template-columns:.8fr 1.2fr; gap:28px 72px; }
.v5-site .about-inner > .eyebrow { grid-column:1/-1; }
.v5-site .about-description { border:0; padding:0; max-width:760px; }
.v5-site .official-history-copy { grid-template-columns:1fr; max-width:830px; margin-left:auto; gap:20px; }
.v5-site .official-history-copy p { border:0; padding:0; }
.v5-site .official-timeline { margin-top:60px; }
.v5-site .archive-tier { background:#f4f2f1; }
.v5-site .archive-tier .section-heading { grid-template-columns:1fr 1fr; }
.v5-site .archive-tier .section-intro { font-size:16px; }
.v5-site .experience-contact { background:#f2e5e5; padding:64px 0; }
.experience-contact > .container { display:grid; grid-template-columns:1.1fr 1fr; gap:64px; align-items:center; }
.v5-site .experience-contact h2 { font-size:clamp(32px,3.3vw,48px); line-height:1.4; }
.experience-contact .container > div:last-child { justify-self:end; }
.experience-contact .container > div:last-child > p { color:#505659; font-size:17px; line-height:1.9; margin-bottom:24px; }
.v5-site .footer { background:#fafafa; }
@keyframes panel-enter { from{opacity:.4;transform:translateY(8px)} to{opacity:1;transform:none} }
@keyframes signal-draw { 0%{stroke-dashoffset:550} 50%,100%{stroke-dashoffset:0} }
@media(min-width:1700px) {
  .experience-hero-copy > * { max-width:48%; }
}
@media(max-width:1100px) {
  .capability-ribbon a { padding-inline:16px; gap:12px; }
  .capability-ribbon strong { font-size:17px; }
  .capability-explorer { gap:32px; grid-template-columns:220px minmax(0,1fr); }
  .explorer-copy { grid-template-columns:1fr; }
  .explorer-copy .inline-link { justify-self:start; }
  .story-grid { grid-template-columns:1fr; gap:40px; }
  .story-copy { position:static; display:grid; grid-template-columns:1fr 1fr; column-gap:40px; }
  .story-copy .eyebrow { grid-column:1/-1; }
  .story-copy > p:not(.eyebrow) { margin-top:0; }
  .story-mosaic { grid-template-columns:1.1fr 1fr; }
  .catalog-layout { grid-template-columns:180px minmax(0,1fr); gap:32px; }
  .v5-site.page-products .product-body { gap:24px; }
  .designed-hero-grid { gap:36px; }
  .hero-editorial-note { padding-left:28px; }
  .hero-route { grid-template-columns:1fr; }
  .hero-route a { padding-block:12px; }
  .v5-site .ndp-layout,.v5-site .solution-panel { gap:40px; }
  .page-section-nav .container > div { gap:24px; }
  .scenario-card { grid-template-columns:48px 1fr 22px; gap:16px; }
  .scenario-card h3 { font-size:25px; }
  .company-layout { gap:48px; }
}
@media(max-width:900px) {
  .v5-site .experience-hero .data-stage { height:950px; min-height:0; }
  .v5-site .experience-hero .data-stage:after { background:linear-gradient(180deg,#fafafa 0%,#fafafa90 28%,transparent 53%); }
  .experience-hero-copy { top:142px; transform:none; }
  .experience-hero-copy > * { max-width:100%; }
  .v5-site .experience-hero-copy h1 { font-size:58px; }
  .scene-annotation { left:auto; right:var(--page-gutter); bottom:70px; }
  .v5-site .experience-hero-copy .home-actions { margin-top:24px; }
  .designed-hero-grid { grid-template-columns:1.1fr .9fr; }
  .v5-site .designed-hero-copy h1 { font-size:38px; }
  .detail-hero-art img { height:240px; }
  .detail-hero-art > div { gap:12px; font-size:11px; }
  .detail-hero-art > div > span + span { padding-left:12px; }
  .page-section-nav strong { display:none; }
  .page-section-nav .container > div { width:100%; justify-content:space-between; }
  .catalog-layout { grid-template-columns:1fr; }
  .catalog-sidebar { display:none; }
  .v5-site .ndp-layout { grid-template-columns:1fr; }
  .v5-site .ndp-copy { position:static; }
  .v5-site .ndp-path ol { grid-template-columns:repeat(3,1fr); }
  .v5-site .ndp-path li:not(:last-child)::after { content:'→'; right:-15px; left:auto; top:26px; }
  .v5-site .storage-intro-grid,.v5-site .solution-panel { grid-template-columns:1fr; }
  .v5-site .storage-art { max-width:550px; width:100%; }
  .v5-site .storage-section .detail-editorial-grid { grid-template-columns:1fr; }
  .v5-site .detail-editorial-grid { grid-template-columns:1fr; }
  .v5-site .monitor-section .section-heading,.v5-site .about-inner { grid-template-columns:1fr; }
  .v5-site .about-description { max-width:none; }
}
@media(max-width:800px) {
  html { scroll-padding-top:140px; }
  .v5-site .header-inner { height:72px; }
  .page-section-nav { top:72px; }
  .page-section-nav > .container { min-height:54px; }
  .page-section-nav a { font-size:13px; padding:16px 0; }
  .designed-page-hero { padding-top:105px; padding-bottom:40px; }
  .designed-hero-grid { grid-template-columns:1fr; }
  .detail-hero-art { min-height:0; }
  .detail-hero-art img { height:245px; }
  .detail-hero-art > span { align-self:center; }
  .hero-editorial-note { padding:24px 0 0; border:0; border-top:1px solid #d7bfc0; }
  .hero-editorial-note > p { display:none; }
  .hero-route { grid-template-columns:1fr 1fr; margin-top:16px; }
  .hero-route a { font-size:14px; }
  .experience-section-head { grid-template-columns:1fr; gap:16px; }
  .experience-section-head .inline-link { justify-self:start; margin:0; }
  .capability-explorer { grid-template-columns:1fr; gap:24px; padding-top:0; border:0; }
  .explorer-menu { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
  .explorer-menu button { padding:18px 14px; gap:12px; border:1px solid #ded8d8; border-radius:5px; }
  .explorer-menu strong { font-size:18px; }
  .explorer-menu button > span:last-child { font-size:18px; }
  .explorer-art { height:300px; }
  .capability-ribbon .container { grid-template-columns:1fr 1fr; }
  .capability-ribbon a { min-height:76px; border-bottom:1px solid #e8e4e4; }
  .capability-ribbon a:nth-child(odd) { padding-left:0; border-left:0; }
  .capability-ribbon a:nth-child(n+3) { border-bottom:0; }
  .company-layout { grid-template-columns:1fr; gap:32px; }
  .scenario-grid { gap:0 28px; }
  .scenario-card { grid-template-columns:1fr 22px; }
  .scenario-number { grid-column:1/-1; font-size:34px; }
  .service-steps { font-size:16px; gap:12px; }
  .v5-site .archive-tier .section-heading { grid-template-columns:1fr; }
  .v5-site .designed-page-hero ~ .section { padding-top:56px; }
  .experience-contact > .container { grid-template-columns:1fr; gap:28px; }
  .experience-contact .container > div:last-child { justify-self:start; }
}
@media(max-width:600px) {
  .v5-site .experience-hero .data-stage { height:860px; }
  .experience-hero-copy { top:128px; }
  .experience-hero-copy .eyebrow { font-size:10px; letter-spacing:.08em; }
  .v5-site .experience-hero-copy h1 { font-size:clamp(40px,10.8vw,60px); margin-top:20px; }
  .experience-hero-lead { font-size:16px; margin-top:22px; }
  .v5-site .experience-hero-copy .home-actions { gap:18px; }
  .v5-site .experience-hero-copy .button { padding:12px 16px; min-height:50px; font-size:14px; gap:20px; }
  .v5-site .experience-hero-copy .text-button { font-size:13px; }
  .scene-annotation { font-size:9px; bottom:77px; right:50%; transform:translateX(50%); white-space:nowrap; }
  .scene-annotation small { font-size:11px; }
  .scene-disclaimer { font-size:10px; bottom:24px; }
  .experience-scroll { font-size:12px; bottom:24px; gap:16px; }
  .capability-ribbon strong { font-size:16px; }
  .capability-ribbon a { padding:18px 12px; gap:10px; }
  .capability-ribbon a > span:last-child { font-size:18px; }
  .experience-section-head { margin-bottom:28px; }
  .explorer-menu strong { font-size:16px; }
  .explorer-menu button { padding:16px 10px; gap:9px; }
  .explorer-menu button > span { font-size:10px; }
  .explorer-art { height:250px; }
  .explorer-art > span { top:18px; left:18px; font-size:9px; }
  .explorer-tags { right:14px; bottom:16px; gap:6px; }
  .explorer-tags span { padding:4px 8px; font-size:11px; }
  .explorer-copy { padding-top:24px; gap:14px; }
  .explorer-copy h3 { font-size:25px; line-height:1.5; }
  .explorer-copy p { font-size:16px; }
  .story-copy { display:block; }
  .story-copy > p:not(.eyebrow) { margin-top:24px; font-size:16px; }
  .story-mosaic { grid-template-columns:1fr; gap:16px; }
  .story-mosaic .mosaic-protect { min-height:360px; grid-row:auto; }
  .story-mosaic a { padding:26px; }
  .story-mosaic h3 { font-size:26px; }
  .mosaic-protect img { width:75%; margin:-10px 0 0 28%; }
  .mosaic-protect p { margin-top:0; }
  .story-mosaic .mosaic-observe { min-height:245px; }
  .story-mosaic .mosaic-operate { min-height:195px; }
  .signal-line { margin-top:20px; }
  .scenario-grid { grid-template-columns:1fr; }
  .scenario-card { grid-template-columns:42px 1fr 20px; gap:16px; padding-block:28px; }
  .scenario-number { grid-column:auto; font-size:30px; }
  .scenario-card h3 { font-size:25px; margin-top:8px; }
  .scenario-card p { font-size:15px; }
  .company-layout .company-name { font-size:19px; }
  .company-layout p { font-size:16px; }
  .service-steps { flex-direction:column; align-items:flex-start; gap:16px; margin-top:32px; }
  .service-steps i { transform:rotate(90deg); }
  .v5-site .designed-hero-copy h1 { font-size:clamp(31px,8.3vw,44px); line-height:1.4; }
  .designed-hero-copy > p:not(.eyebrow) { font-size:16px; margin-top:20px; }
  .designed-hero-grid { gap:28px; }
  .detail-hero-art img { height:220px; }
  .page-section-nav .container > div { overflow:auto; gap:22px; justify-content:flex-start; scrollbar-width:none; }
  .page-section-nav a { flex:none; }
  .v5-site.page-products .product-card { padding:24px 22px 0; }
  .v5-site.page-products .product-body { grid-template-columns:1fr; gap:22px; }
  .v5-site.page-products .product-card h3 { font-size:29px; }
  .v5-site.page-products .product-visual { height:180px; }
  .v5-site.page-products .product-description { font-size:16px; }
  .v5-site .ndp-path ol { grid-template-columns:1fr; }
  .v5-site .ndp-path li:not(:last-child)::after { content:'↓'; right:auto; left:5px; top:auto; }
  .v5-site .ndp-capability[open] { padding-inline:12px; }
  .v5-site .detail-editorial-grid article { padding:26px; }
  .v5-site .solution-tabs { grid-template-columns:1fr 1fr; }
  .v5-site .solution-panel { gap:32px; padding-top:32px; }
  .v5-site .official-history-copy { margin:0; }
  .v5-site .experience-contact { padding:48px 0; }
  .experience-contact .container > div:last-child > p { font-size:16px; }
}
@media(prefers-reduced-motion:reduce) { .explorer-panel{animation:none} .site-motion .signal-line path{animation:none} }

/* Motion has a hierarchy: entry, living illustrations, and intentional interaction. */
.reading-progress { position:absolute; inset:auto 0 0; height:2px; background:#b02123; transform:scaleX(0); transform-origin:left; pointer-events:none; }
.motion-await { opacity:0; transform:translateY(32px); }
.motion-await.motion-entered { opacity:1; transform:none; transition:opacity .85s ease var(--enter-delay,0ms),transform .85s cubic-bezier(.22,1,.36,1) var(--enter-delay,0ms); }
.site-motion .experience-hero-copy > * { animation:hero-arrive 1s cubic-bezier(.22,1,.36,1) both; }
.site-motion .experience-hero-copy h1 { animation-delay:.12s; }
.site-motion .experience-hero-copy .experience-hero-lead { animation-delay:.25s; }
.site-motion .experience-hero-copy .home-actions { animation-delay:.38s; }
.site-motion .experience-hero #data-canvas { animation:scene-arrive 1.8s ease both; }
.site-motion .experience-scroll span { animation:scroll-cue 2.8s ease-in-out infinite; }
.site-motion .scene-live-dot { animation:status-breathe 3s ease-in-out infinite; }
.site-motion .explorer-art img,.site-motion .detail-hero-art img,.site-motion .storage-art img,.site-motion .mosaic-protect img { animation:diagram-float 7s ease-in-out infinite; animation-play-state:paused; transform-origin:center; }
.site-motion .motion-in-view img { animation-play-state:running; }
.site-motion .signal-line path { stroke-dasharray:550; animation:signal-draw 4.5s ease-in-out infinite; animation-play-state:paused; }
.site-motion .motion-in-view .signal-line path { animation-play-state:running; }
.explorer-art::after,.storage-art::after { content:''; position:absolute; inset:0; background:linear-gradient(110deg,transparent 35%,#ffffff70 49%,transparent 63%); transform:translateX(-115%); pointer-events:none; }
.storage-art { position:relative; overflow:hidden; }
.site-motion .motion-in-view.explorer-art::after,.site-motion .motion-in-view.storage-art::after { animation:diagram-sweep 7s ease-in-out infinite; }
.v5-site .button,.v5-site .text-button,.inline-link,.story-mosaic a,.scenario-card,.capability-ribbon a,.product-card { transition:transform .35s ease,box-shadow .35s ease,background-color .35s ease,border-color .35s ease; }
.inline-link > span,.button > span,.text-button > span,.scenario-card > span:last-child,.story-mosaic a > span:last-child,.capability-ribbon a > span:last-child { display:inline-block; transition:transform .35s cubic-bezier(.22,1,.36,1); }
@media(hover:hover) {
 .v5-site .button:hover { transform:translateY(-3px); box-shadow:0 12px 24px #8e191c24; }
 .story-mosaic a:hover,.v5-site .product-card:hover { transform:translateY(-5px); box-shadow:0 18px 36px #58373712; border-color:#c3999a; }
 .scenario-card:hover { transform:translateX(5px); }
 .inline-link:hover > span,.button:hover > span,.text-button:hover > span,.story-mosaic a:hover > span:last-child,.scenario-card:hover > span:last-child,.capability-ribbon a:hover > span:last-child { transform:translate(4px,-4px); }
 .explorer-menu button { transition:background .3s ease,color .3s ease,padding-left .3s ease; }
 .explorer-menu button:hover { padding-left:26px; color:#8e191c; }
}
@keyframes hero-arrive { from{opacity:0;transform:translateY(24px)} to{opacity:1;transform:none} }
@keyframes scene-arrive { from{opacity:0;transform:translateX(25px) scale(.96)} to{opacity:1;transform:none} }
@keyframes diagram-float { 0%,100%{transform:translateY(0) rotate(-.5deg)} 50%{transform:translateY(-10px) rotate(.5deg)} }
@keyframes diagram-sweep { 0%,20%{transform:translateX(-115%)} 70%,100%{transform:translateX(115%)} }
@keyframes scroll-cue { 0%,100%{transform:translateY(-3px);opacity:.65} 50%{transform:translateY(5px);opacity:1} }
@keyframes status-breathe { 0%,100%{box-shadow:0 0 0 0 #b0212330} 65%{box-shadow:0 0 0 7px #b0212300} }
@media(prefers-reduced-motion:reduce) {
 body:not(.site-motion) .motion-await { opacity:1; transform:none; }
 body:not(.site-motion) .motion-await.motion-entered { transition:none; }
}
/* Explicit site-level motion preference overrides legacy blanket OS resets.
   Keep the override scoped to these gentle effects, never every page element. */
.site-motion .motion-await.motion-entered { transition:opacity .85s ease var(--enter-delay,0ms),transform .85s cubic-bezier(.22,1,.36,1) var(--enter-delay,0ms) !important; }
.site-motion .experience-hero-copy > * { animation:hero-arrive 1s cubic-bezier(.22,1,.36,1) both !important; }
.site-motion .experience-hero-copy h1 { animation-delay:.12s !important; }
.site-motion .experience-hero-copy .experience-hero-lead { animation-delay:.25s !important; }
.site-motion .experience-hero-copy .home-actions { animation-delay:.38s !important; }
.site-motion .experience-hero #data-canvas { animation:scene-arrive 1.8s ease both !important; }
.site-motion .experience-scroll span { animation:scroll-cue 2.8s ease-in-out infinite !important; }
.site-motion .scene-live-dot { animation:status-breathe 3s ease-in-out infinite !important; }
.site-motion .explorer-art img,.site-motion .detail-hero-art img,.site-motion .storage-art img,.site-motion .mosaic-protect img { animation:diagram-float 7s ease-in-out infinite paused !important; }
.site-motion .motion-in-view img { animation-play-state:running !important; }
.site-motion .signal-line path { animation:signal-draw 4.5s ease-in-out infinite paused !important; }
.site-motion .motion-in-view .signal-line path { animation-play-state:running !important; }
.site-motion .motion-in-view.explorer-art::after,.site-motion .motion-in-view.storage-art::after { animation:diagram-sweep 7s ease-in-out infinite !important; }
.site-motion .explorer-panel { animation:panel-enter .45s ease-out !important; }
.site-motion .site-reveal { transition:opacity .8s ease,transform .8s cubic-bezier(.22,1,.36,1) !important; }
.site-motion .site-reveal:not(.is-visible) { opacity:0; transform:translateY(24px); }
.site-motion .button,.site-motion .text-button,.site-motion .inline-link,.site-motion .story-mosaic a,.site-motion .scenario-card,.site-motion .product-card { transition:transform .35s ease,box-shadow .35s ease,background-color .35s ease,border-color .35s ease !important; }
