/* Reading template only; standard-page.css continues to own existing components. */
.asp-page.act-page{background:#fff}
.act-page .act-hero{padding-block:clamp(36px,5vw,68px);background:#f4f7fa;border-bottom:1px solid var(--asp-line)}
.act-page .act-hero-inner{width:min(1200px,calc(100% - 80px));margin-inline:auto;display:grid;gap:40px;align-items:center}
.act-page .act-hero-with-image{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}
.act-page .act-hero-inner>*{min-width:0}
.act-page .act-label{margin:0 0 14px;color:var(--asp-brand);font-size:12px;letter-spacing:.14em;font-weight:700;line-height:1.6}
.asp-page.act-page .act-hero h1{max-width:none;font-size:clamp(30px,3.3vw,44px);line-height:1.4;color:var(--asp-ink);margin:0;overflow-wrap:anywhere}
.act-page .act-hero-text{max-width:1000px}
.act-page .act-lead{margin-top:24px;max-width:46em;font-size:18px;line-height:1.9;color:var(--antom-subtle,#516364)}
.act-page .act-lead p{margin:0 0 .8em}.act-page .act-lead p:last-child{margin-bottom:0}
.act-page .act-hero-image img{display:block;max-width:100%;height:auto;margin-inline:auto;border-radius:3px}
.act-page .act-body-wrap{width:min(1000px,calc(100% - 80px));margin-inline:auto;padding-block:56px 80px;min-width:0}
.asp-page.act-page .act-body{font-size:17px;line-height:1.9}
.asp-page.act-page .act-body>:where(p,ul,ol,h2,h3,h4,blockquote,hr){max-width:none}
.asp-page.act-page .act-body>:first-child{margin-top:0}
.asp-page.act-page .act-body :where(.alignleft,.alignright){float:none;margin-inline:auto}
/* Local support for the existing public component class names; no global rules. */
.act-page .act-body .antom-point-box{margin-block:32px;padding:24px 28px;border-left:3px solid var(--asp-action);background:#f2f6fa}
.act-page .act-body .antom-point-box>:first-child{margin-top:0}.act-page .act-body .antom-point-box>:last-child{margin-bottom:0}
.act-page .act-body .antom-media-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;align-items:center;margin-block:40px}
.act-page .act-body .antom-media-row>*{min-width:0;margin-block:0}
.act-page .act-body .antom-tech-figure{margin:40px auto;max-width:100%}
.act-page .act-body .antom-image-compare{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-block:40px}
.act-page .act-body .antom-image-compare>*{min-width:0;margin:0}
.act-page .act-body :where(.antom-media-row,.antom-tech-figure,.antom-image-compare) img{max-width:100%;height:auto;display:block;margin-inline:auto}
.act-page .act-body .antom-accordion{margin-block:24px;border:1px solid var(--asp-line);background:#fff;padding:0 24px}
.act-page .act-body .antom-accordion summary{padding:18px 0;color:var(--asp-ink);font-weight:700;cursor:pointer}
.act-page .act-body .antom-accordion[open]{padding-bottom:20px}
.act-page .act-body .antom-accordion>:last-child{margin-bottom:0}
@media(max-width:900px){.act-page .act-hero-inner,.act-page .act-body-wrap{width:calc(100% - 48px)}.act-page .act-hero-with-image{grid-template-columns:minmax(0,1fr)}.act-page .act-hero-image{max-width:680px;width:100%;margin-inline:auto}.act-page .act-lead{font-size:17px}}
@media(max-width:600px){.act-page .act-hero-inner,.act-page .act-body-wrap{width:calc(100% - 40px)}.act-page .act-body-wrap{padding-block:36px 56px}.asp-page.act-page .act-body{font-size:16px}.act-page .act-hero-inner{gap:28px}.act-page .act-body :where(.antom-media-row,.antom-image-compare){grid-template-columns:minmax(0,1fr);gap:24px}.act-page .act-body .antom-point-box{padding:20px}}

/* Article typography excludes reusable component interiors. */
.asp-page.act-page .act-body :where(h2):not(:where([class^="antom-"] *,[class*=" antom-"] *)){font-size:clamp(26px,2.8vw,32px);line-height:1.5;color:var(--asp-ink);font-weight:700;border:0;padding:0 0 18px;margin:80px 0 28px;position:relative}
.asp-page.act-page .act-body :where(h2):not(:where([class^="antom-"] *,[class*=" antom-"] *))::after{content:"";display:block;width:48px;height:3px;background:var(--asp-action);position:absolute;left:0;bottom:0}
.asp-page.act-page .act-body :where(h3):not(:where([class^="antom-"] *,[class*=" antom-"] *)){font-size:clamp(21px,2.2vw,24px);line-height:1.6;color:var(--asp-ink);font-weight:700;margin:44px 0 20px}
.asp-page.act-page .act-body :where(h4):not(:where([class^="antom-"] *,[class*=" antom-"] *)){font-size:19px;line-height:1.6;color:var(--asp-ink);font-weight:700;margin:32px 0 16px}
.asp-page.act-page .act-body :where(p):not(:where([class^="antom-"] *,[class*=" antom-"] *)){margin-bottom:1.6em}
.asp-page.act-page .act-body :where(ul,ol):not(:where([class^="antom-"] *,[class*=" antom-"] *)){margin-bottom:1.6em;padding-left:1.6em}
.asp-page.act-page .act-body :where(img):not(:where([class^="antom-"] *,[class*=" antom-"] *)){display:block;max-width:100%;height:auto;margin-inline:auto;border-radius:3px}
.asp-page.act-page .act-body :where(figure,.wp-caption):not(:where([class^="antom-"] *,[class*=" antom-"] *)){margin-block:36px;margin-inline:auto;max-width:100%}
.asp-page.act-page .act-body :where(figcaption,.wp-caption-text):not(:where([class^="antom-"] *,[class*=" antom-"] *)){margin-top:12px;font-size:13px;line-height:1.7;color:#66757d;text-align:center}
.asp-page.act-page .act-body :where(table):not(:where([class^="antom-"] *,[class*=" antom-"] *)){font-size:16px}
.asp-page.act-page .act-body >:where(h2,h3,h4):first-child{margin-top:0}
@media(max-width:600px){.asp-page.act-page .act-body :where(h2):not(:where([class^="antom-"] *,[class*=" antom-"] *)){margin-top:56px;font-size:26px}.asp-page.act-page .act-body >h2:first-child{margin-top:0}}

/* Technical LP layout: optional article/component styles above stay available. */
.asp-page.act-page.act-lp .act-hero{padding-block:clamp(56px,6vw,88px)}
.asp-page.act-page.act-lp .act-hero h1{font-size:clamp(44px,4.5vw,60px);line-height:1.3;letter-spacing:.01em}
.act-lp .act-hero-inner{gap:48px}.act-lp .act-hero-with-image{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}
.act-lp .act-hero-text{max-width:1000px}.act-lp .act-lead{font-size:18px}
.act-lp .act-hero-image{border-bottom:3px solid var(--asp-action);padding-bottom:24px}
.act-lp .act-hero-image img{max-height:480px;object-fit:contain}
.act-lp .act-lp-container{position:relative;width:min(1200px,calc(100% - 80px));min-width:0;margin-inline:auto}
.act-lp .act-lp-section{padding-block:60px;position:relative;isolation:isolate}
.act-lp .act-lp-concept,.act-lp .act-lp-application{background:#f4f7fa}
.act-lp .act-lp-section > .act-lp-container > h2{max-width:1100px;margin:0 0 28px;font-size:clamp(28px,2.8875vw,35px);line-height:1.38;font-weight:700;color:var(--asp-ink);letter-spacing:0;word-break:normal;line-break:strict;overflow-wrap:break-word;text-wrap:balance}
.act-lp .act-lp-section h3{margin:0 0 14px;font-size:22px;line-height:1.6;color:var(--asp-ink);overflow-wrap:anywhere}
.act-lp .act-lp-prose{max-width:960px;font-size:17px;line-height:1.9}.act-lp .act-lp-prose p{margin:0 0 1.2em}.act-lp .act-lp-prose p:last-child{margin-bottom:0}
.act-lp .act-lp-image{min-width:0}.act-lp .act-lp-image img{display:block;max-width:100%;height:auto;margin-inline:auto}
.act-lp .act-lp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:36px}
.act-lp .act-lp-item{min-width:0}.act-lp .act-lp-grid .act-lp-item{border:1px solid var(--asp-line);border-top:3px solid var(--asp-action);background:#fff;padding:24px}
.act-lp .act-lp-grid .act-lp-image{aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;margin-bottom:24px;overflow:hidden}
.act-lp .act-lp-grid .act-lp-image img{max-height:100%;object-fit:contain}
.act-lp .act-lp-message{max-width:1000px;margin:36px 0;font-size:clamp(26px,3vw,38px);line-height:1.7;font-weight:700;color:var(--asp-brand);padding-left:24px;border-left:3px solid var(--asp-action)}
.act-lp .act-lp-message p{margin:0}
.act-lp .act-lp-concept>.act-lp-container{max-width:1000px}
.act-lp .act-lp-concept .act-lp-image{margin-top:40px}
.act-lp .act-lp-split{display:grid;gap:40px;align-items:center}.act-lp .act-lp-with-image{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.act-lp .act-lp-split>*{min-width:0}.act-lp .act-lp-note{margin-top:24px;font-size:14px;line-height:1.9;color:#66757d}.act-lp .act-lp-note p{margin:0}
.act-lp .act-lp-tech-list{margin-top:40px;display:grid;gap:56px}
.act-lp .act-lp-tech-list .act-lp-item{display:grid;gap:40px;align-items:center;border-top:1px solid var(--asp-line);padding-top:32px}
.act-lp .act-lp-tech-list .act-lp-item-with-image{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.act-lp .act-lp-tech-list .act-lp-item-with-image:nth-child(even)>.act-lp-image{order:2}
.act-lp .act-lp-item-text{min-width:0}
.act-lp .act-lp-products-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:36px;align-items:start}
.act-lp .act-lp-product{display:flex;flex-direction:column;min-width:0;padding:20px;border:1px solid var(--asp-line);color:var(--asp-ink);text-decoration:none;transition:border-color .2s}
.act-lp .act-lp-product .act-lp-image{display:flex;align-items:center;justify-content:center;height:160px;margin-bottom:20px}
.act-lp .act-lp-product img{width:auto;height:auto;max-height:100%;object-fit:contain}
.act-lp .act-lp-product h3{font-size:20px;margin-bottom:8px}.act-lp .act-lp-product p{margin:0 0 16px;font-size:15px;line-height:1.7}
.act-lp .act-lp-product-link{color:var(--asp-action);font-size:14px;font-weight:700}
.act-lp .act-lp-evaluation{background:#edf3f7;overflow:hidden}
.act-lp .act-lp-backdrop{position:absolute;inset:0;z-index:-2;pointer-events:none}
.act-lp .act-lp-backdrop img{width:100%;height:100%;object-fit:cover}
.act-lp .act-lp-evaluation::before{content:"";position:absolute;inset:0;background:rgba(247,250,252,.9);z-index:-1;pointer-events:none}
.act-lp .act-lp-evaluation>.act-lp-container{border-left:3px solid var(--asp-action);padding-left:28px}
.act-lp .act-lp-buttons{display:flex;flex-wrap:wrap;gap:16px;margin-top:32px}
.act-lp .act-lp-button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;max-width:100%;min-height:48px;padding:14px 24px;background:var(--asp-action);border:1px solid var(--asp-action);color:#fff;text-decoration:none;font-size:16px;font-weight:700;line-height:1.7;overflow-wrap:anywhere}
.act-lp .act-lp-button span{flex-shrink:0}.act-lp .act-lp-button--outline{background:#fff;color:var(--asp-action)}
.act-lp :where(.act-lp-button,.act-lp-product):focus-visible{outline:3px solid var(--asp-brand);outline-offset:4px}
@media(hover:hover) and (pointer:fine){.act-lp .act-lp-product:hover{border-color:var(--asp-action)}.act-lp .act-lp-button:hover{text-decoration:underline;text-underline-offset:4px}}
@media(max-width:900px){.act-lp .act-lp-container{width:calc(100% - 48px)}.act-lp .act-hero-with-image,.act-lp .act-lp-with-image,.act-lp .act-lp-tech-list .act-lp-item-with-image{grid-template-columns:minmax(0,1fr)}.act-lp .act-lp-tech-list .act-lp-item-with-image:nth-child(even)>.act-lp-image{order:0}.act-lp .act-lp-grid,.act-lp .act-lp-products-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.act-lp .act-lp-section{padding-block:56px}}
@media(max-width:600px){.asp-page.act-page.act-lp .act-hero h1{font-size:clamp(30px,8vw,38px)}.asp-page.act-page.act-lp .act-hero{padding-block:48px}.act-lp .act-lp-container{width:calc(100% - 40px)}.act-lp .act-lp-section{padding-block:44px}.act-lp .act-lp-section > .act-lp-container > h2{font-size:25px;line-height:1.4}.act-lp .act-lp-section h3{font-size:21px}.act-lp .act-lp-prose,.act-lp .act-lead{font-size:16px}.act-lp .act-lp-grid,.act-lp .act-lp-products-grid{grid-template-columns:minmax(0,1fr)}.act-lp .act-lp-grid .act-lp-item{padding:20px}.act-lp .act-lp-buttons{flex-direction:column;align-items:stretch}.act-lp .act-lp-evaluation>.act-lp-container{padding-left:20px}.act-lp .act-lp-message{font-size:26px;padding-left:18px}.act-lp .act-hero-inner,.act-lp .act-lp-split{gap:28px}}
@media(prefers-reduced-motion:reduce){.act-lp .act-lp-product{transition:none}}

/* Integrated visual HERO only; all LP sections below remain unchanged. */
.asp-page.act-page.act-lp .act-hero-visual{position:relative;isolation:isolate;overflow:hidden;padding:0;background:#f5f8fa}
.act-lp .act-hero-visual .act-hero-inner{position:static;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:28px;min-height:520px;align-items:center;padding-block:48px}
.act-lp .act-hero-visual .act-hero-text{position:relative;z-index:1;grid-column:1;grid-row:1;min-width:0;padding-right:8px}
.asp-page.act-page.act-lp .act-hero-visual h1{max-width:17em;font-size:clamp(38px,3.2vw,56px);font-weight:750;line-height:1.32;word-break:normal;line-break:strict;overflow-wrap:anywhere;text-wrap:pretty}
.act-lp .act-hero-visual .act-label{font-size:12px;letter-spacing:.14em;margin-bottom:18px}
.act-lp .act-hero-visual .act-lead{font-size:16px;line-height:1.85;margin-top:22px;max-width:34em}
.act-lp .act-hero-visual .act-lp-buttons{flex-direction:row;margin-top:26px;gap:12px}
.act-lp .act-hero-visual .act-lp-button{padding:12px 18px;gap:16px;min-height:48px}
.act-lp .act-hero-visual .act-lp-button--outline{color:var(--asp-brand);border-color:var(--asp-brand);background:#fff}
.act-lp .act-hero-visual .act-hero-image{position:absolute;inset:0 0 0 auto;width:62%;max-width:none;height:100%;margin:0;padding:0;border:0;z-index:-1}
.act-lp .act-hero-visual .act-hero-image img{display:block;width:100%;height:100%;max-height:none;object-fit:cover;object-position:center;border-radius:0}
.act-lp .act-hero-visual .act-hero-image::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#f5f8fa 0%,rgba(245,248,250,.96) 12%,rgba(245,248,250,.65) 31%,rgba(245,248,250,.08) 66%,transparent 100%);pointer-events:none}
.act-lp .act-hero-points{grid-column:2;grid-row:1;align-self:end;position:relative;z-index:1;display:flex;list-style:none;margin:280px 0 0;padding:20px 12px;gap:0;background:rgba(16,39,57,.84);color:#fff;min-width:0}
.act-lp .act-hero-points li{flex:1;min-width:0;padding:0 12px;text-align:center;overflow-wrap:anywhere}
.act-lp .act-hero-points li+li{border-left:1px solid rgba(255,255,255,.28)}
.act-lp .act-hero-points .act-hero-point-icon{display:block;width:auto;height:auto;max-width:44px;max-height:44px;margin:0 auto 10px;object-fit:contain}
.act-lp .act-hero-points strong{display:block;color:inherit;font-size:15px;line-height:1.6;font-weight:700}
.act-lp .act-hero-points p{margin:6px 0 0;font-size:12px;line-height:1.7;color:rgba(255,255,255,.9)}
.act-lp .act-hero-visual:not(.act-hero-has-visual):not(:has(.act-hero-points)) .act-hero-text{grid-column:1/-1;max-width:1000px}
@media(max-width:900px){
 .act-lp .act-hero-visual .act-hero-inner{grid-template-columns:minmax(0,1fr);min-height:0;padding-block:40px;gap:24px}
 .act-lp .act-hero-visual .act-hero-text{grid-column:1;grid-row:auto;padding:0}
 .asp-page.act-page.act-lp .act-hero-visual h1{font-size:38px;max-width:22em}
 .act-lp .act-hero-visual .act-hero-image{position:relative;inset:auto;grid-column:1;width:100%;height:320px;z-index:0}
 .act-lp .act-hero-visual .act-hero-image::after{background:linear-gradient(180deg,rgba(245,248,250,.45),transparent 32%)}
 .act-lp .act-hero-points{grid-column:1;grid-row:auto;align-self:auto;margin:0}
}
@media(max-width:600px){
 .act-lp .act-hero-visual .act-hero-inner{padding-block:32px;gap:24px}
 .asp-page.act-page.act-lp .act-hero-visual h1{font-size:clamp(30px,8vw,36px);line-height:1.35}
 .act-lp .act-hero-visual .act-lead{font-size:15px}
 .act-lp .act-hero-visual .act-lp-buttons{flex-direction:column;align-items:stretch}
 .act-lp .act-hero-visual .act-hero-image{height:auto;aspect-ratio:4/3;min-height:220px}
 .act-lp .act-hero-visual .act-hero-image img{position:absolute;inset:0;object-fit:contain}
 .act-lp .act-hero-points{flex-direction:column;padding:8px 20px}
 .act-lp .act-hero-points li{padding:16px 0}.act-lp .act-hero-points li+li{border-left:0;border-top:1px solid rgba(255,255,255,.28)}
}

/* Optional CONTENT MOVIE only. No HERO or existing LP selectors. */
.act-page .act-content-movie{padding-block:80px;background:#fff}
.act-page .act-content-movie-inner{width:min(1100px,calc(100% - 80px));margin-inline:auto;text-align:center;min-width:0}
.act-page .act-content-movie-label{margin:0 0 14px;color:var(--asp-brand);font-size:12px;font-weight:700;letter-spacing:.14em}
.act-page .act-content-movie h2{margin:0 0 24px;font-size:clamp(28px,3vw,38px);line-height:1.5;color:var(--asp-ink);overflow-wrap:anywhere}
.act-page .act-content-movie-body{max-width:900px;margin:0 auto 24px;font-size:17px;line-height:1.9}
.act-page .act-content-movie-body p{margin:0 0 12px}.act-page .act-content-movie-body p:last-child{margin-bottom:0}
.act-page .act-content-movie-audio{margin:0 0 18px;font-size:13px;line-height:1.8;color:#66757d}
.act-page .act-content-movie-frame{aspect-ratio:16/9;width:100%;position:relative;background:#e9eff3;overflow:hidden}
.act-page .act-content-movie-frame button{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:pointer}
.act-page .act-content-movie-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.act-page .act-content-movie-play{position:relative;display:flex;align-items:center;justify-content:center;width:72px;height:72px;border:2px solid #fff;border-radius:50%;background:rgba(19,44,63,.72);color:#fff;font-size:26px;padding-left:3px;box-sizing:border-box}
.act-page .act-content-movie-frame video{display:block;width:100%;height:100%;object-fit:contain;background:#101b24}
.act-page .act-content-movie-frame :where(button,video):focus-visible{outline:3px solid var(--asp-action);outline-offset:-5px}
.act-page .act-content-movie-video-title{margin:20px 0 0;font-size:16px;font-weight:700;line-height:1.7}
.act-page .act-content-movie-caption{margin-top:12px;font-size:14px;line-height:1.8;color:#66757d}.act-page .act-content-movie-caption p{margin:0}
@media(hover:hover) and (pointer:fine){.act-page .act-content-movie-frame button:hover .act-content-movie-play{background:var(--asp-brand)}}
@media(max-width:900px){.act-page .act-content-movie-inner{width:calc(100% - 48px)}}
@media(max-width:600px){.act-page .act-content-movie{padding-block:56px}.act-page .act-content-movie-inner{width:calc(100% - 40px)}.act-page .act-content-movie h2{font-size:26px}.act-page .act-content-movie-body{font-size:16px}.act-page .act-content-movie-play{width:56px;height:56px;font-size:22px}}

/* LP outer spacing only; retain movie padding and all component interiors. */
.act-lp .act-body-wrap{padding-block:34px 48px}
.act-lp .act-content-movie + .act-lp-section{padding-top:40px}
@media(max-width:900px){.act-lp .act-content-movie + .act-lp-section{padding-top:32px}}
@media(max-width:600px){.act-lp .act-body-wrap{padding-block:28px 40px}}

/* Chapter headers only; optional body headings and HERO/MOVIE are excluded. */
.act-lp .act-lp-section > .act-lp-container > .act-label{display:flex;align-items:center;gap:24px;max-width:1100px;margin-bottom:28px;text-transform:uppercase;overflow-wrap:anywhere}
.act-lp .act-lp-section > .act-lp-container > .act-label::after{content:"";flex:1 1 0;min-width:24px;height:1px;background:var(--asp-action);opacity:.45}
@supports(word-break:auto-phrase){.act-lp .act-lp-section > .act-lp-container > h2{word-break:auto-phrase}}

/* Opt-in closing narrative; shared chapter headings and responsive spacing are retained. */
.act-lp .act-lp-closing{padding-block:75px;background:#f4f7fa;overflow:hidden}
.act-lp .act-lp-closing > .act-lp-container{max-width:1100px}
.act-lp .act-lp-closing .act-lp-prose{max-width:900px;overflow-wrap:break-word}
.act-lp .act-lp-closing-backdrop{position:absolute;inset:0;z-index:-1;pointer-events:none}
.act-lp .act-lp-closing-backdrop img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.act-lp .act-lp-closing-backdrop::after{content:"";position:absolute;inset:0;background:rgba(255,255,255,.88)}

/* Closing-only spacing; retain the smaller top gap when immediately after MOVIE. */
.act-lp .act-content-movie + .act-lp-closing{padding-top:50px}
@media(max-width:900px){.act-lp .act-lp-closing{padding-block:66px}.act-lp .act-content-movie + .act-lp-closing{padding-top:38px}}
@media(max-width:600px){.act-lp .act-lp-closing{padding-block:48px}.act-lp .act-content-movie + .act-lp-closing{padding-top:36px}}
