/* Open Props 1.7.23 subset, MIT: licenses/open-props-LICENSE.txt; Lucide 1.50.0: licenses/lucide-LICENSE.txt */

:where(html){--size-px-2:8px;--size-px-3:16px;--size-px-4:20px;--size-px-5:24px;--size-px-7:32px;--border-size-1:1px;}
:root{--aplio-ui-space-xs:var(--size-px-2);--aplio-ui-space-sm:var(--size-px-3);--aplio-ui-space-md:var(--size-px-4);--aplio-ui-space-lg:var(--size-px-5);--aplio-ui-space-xl:var(--size-px-7);--aplio-ui-border:var(--border-size-1)}
:root{--paper:#f4f7f9;--line:#d3dfe7;--muted:#4d657a;--accent:#26637b}
body{font-feature-settings:"palt";letter-spacing:.025em}
h2,h3{font-feature-settings:"palt"}
.container{width:min(1200px,calc(100% - 112px))}
.header-inner{min-height:88px}
.brand-symbol{width:40px;height:40px}
.brand-text{font-size:23px}
nav{gap:32px;font-size:12px}
.hero{padding:70px 0 30px;background:linear-gradient(110deg,#f4f7f9,#edf3f7)}
.hero-grid{grid-template-columns:1.4fr 1fr;gap:42px}
.hero-content{padding:20px 0 30px}
.hero .eyebrow{margin-bottom:36px;font-size:10px}
h1{font-size:clamp(34px,3.65vw,53px);line-height:1.7;letter-spacing:.01em;margin-bottom:32px;white-space:nowrap}
.hero-copy{font-size:15px;line-height:2.3}
.hero-art{height:500px;border-radius:110px 0 0 0}
.hero-art img{width:175px;height:175px}
.art-wordmark{font-size:26px}
.hero-note{margin-top:23px;padding-top:26px}
.section{padding:112px 0}
.section-heading h2{font-size:38px;line-height:1.65;letter-spacing:.02em;font-weight:550;margin-bottom:0}
.eyebrow{font-size:10px;letter-spacing:2px}
.section-heading .eyebrow{margin-bottom:24px}
.split-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:50px}
.split-heading>p:last-child{max-width:420px;font-size:14px;line-height:2.15;padding-bottom:10px}
.business .section-heading{border:0;padding-left:0}
.entry{padding:100px 0 95px}
.entry-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}
.entry h2{font-size:30px;line-height:1.85;font-weight:550;margin:0}
.entry .eyebrow{margin-bottom:24px}
.entry-questions>p{position:relative;font-size:21px;line-height:1.7;padding:0 0 24px 42px;margin-bottom:24px;border-bottom:1px solid var(--line)}
.question-mark{position:absolute;left:0;top:4px;color:var(--accent);font-size:11px;letter-spacing:1px}
.entry-answer{font-size:13px;color:var(--muted);line-height:2.2;max-width:465px}
.business{background:var(--paper)}
.services{margin-top:58px;gap:var(--aplio-ui-space-md)}
.service,.service:nth-child(2),.service:nth-child(3){background:#fff;border-top:0;padding:28px 30px var(--aplio-ui-space-xl);border-bottom:2px solid #a3c9da}
.service-top{border:0;padding:0;margin:0}
.service-label{font-size:9px;letter-spacing:1.3px;color:var(--muted)}
.small-cross{color:#81abc0;font-size:18px;font-weight:300}
.service-icon{display:block;margin:35px 0 28px}
.service h3{font-size:22px;line-height:1.5;min-height:0;margin:0 0 var(--aplio-ui-space-md)}
.service p{font-size:13px;line-height:2.2}
.service-footer{font-size:10px;line-height:1.8;margin-top:35px;padding-top:var(--aplio-ui-space-md);border-top:var(--aplio-ui-border) solid var(--line);color:var(--accent);letter-spacing:0}
.approach{background:var(--ink);color:#fff;position:relative}
.approach .eyebrow{color:#86c1d7}
.approach .section-heading>p:last-child{color:#c1d2df}
.process{padding:0;list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:35px;margin:62px 0 0}
.process li{position:relative}
.process li:not(:last-child):after{content:"→";position:absolute;top:37px;right:-23px;color:#78acc4;font-size:22px;font-weight:300}
.process-node{width:100%;height:96px;border-top:var(--aplio-ui-border) solid #55728a;display:flex;align-items:center;gap:var(--aplio-ui-space-lg)}
.process-node span{font-size:11px;letter-spacing:1px;color:#a8cadd}
.process svg{width:45px;height:45px;fill:none;stroke:#99cde1;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.process h3{font-size:21px;font-weight:500;margin:12px 0 15px}
.process p{color:#c3d3df;font-size:12px;max-width:205px;line-height:2}
.works{padding-bottom:80px}
.case-list{margin-top:65px;border-top:1px solid var(--ink)}
.case{padding:46px 0 48px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:105px 1fr 265px;gap:36px}
.case-id{display:flex;flex-direction:column;align-items:flex-start;padding-top:5px}
.case-id span{font-size:8px;letter-spacing:1.2px;color:var(--muted)}
.case-id strong{font-size:57px;line-height:1.4;font-weight:250;letter-spacing:-2px;margin:5px 0 14px}
.case-domain{font-size:11px;color:var(--accent);margin-bottom:14px}
.case h3{font-size:26px;line-height:1.7;font-weight:550;letter-spacing:.01em;margin:0 0 22px}
.case-main>p:not(.case-domain):not(.case-person){color:var(--muted);font-size:13px;line-height:2.1}
.case-result{background:#f1f6f9;padding:21px 24px;margin-top:24px;border-left:2px solid #75b3cb}
.result-label{font-size:10px;color:var(--accent);display:block;margin-bottom:9px}
.case-result p{font-size:12px;line-height:2.1;color:var(--muted)}
.case-person{font-size:10px;color:var(--muted);margin-top:23px;letter-spacing:.04em}
.case-side{padding-top:34px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}
.case-diagram{width:100%;fill:none;stroke:#456b84;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}
.case-diagram text{fill:#456b84;stroke:none;font-family:inherit;font-size:8px;text-anchor:middle;letter-spacing:.6px}
.diagram-accent{stroke:#53a6c4;stroke-width:2}
.diagram-caption{font-size:8px;letter-spacing:1.5px;color:var(--muted)}
.case-tags{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;margin-top:16px}
.case-tags span{font-size:9px;padding:5px 9px;background:#eef4f7;color:#456b84;line-height:1.6}
.org-map{display:flex;position:relative;gap:8px;padding:24px 0;margin:10px 0}
.org-map:before{content:"";height:1px;position:absolute;left:0;right:0;top:50%;background:#92b6c8}
.org-map span{position:relative;display:grid;place-items:center;width:68px;height:68px;border:1px solid #9cb9c9;border-radius:50%;font-size:14px;background:#fff}
.platform-map{display:grid;grid-template-columns:1fr 1fr;gap:12px;text-align:center;width:225px}
.platform-map span{padding:22px 12px;border:1px solid #8dafc2;border-radius:6px;font-size:13px}
.platform-map i{grid-column:1/-1;height:28px;width:58%;border:1px solid #8dafc2;border-top:0;justify-self:center;position:relative}
.platform-map i:after{content:"";position:absolute;top:100%;left:50%;width:1px;height:12px;background:#8dafc2}
.platform-map strong{font-size:8px;letter-spacing:1.2px;font-weight:400;grid-column:1/-1;margin-top:8px}
.product{background:var(--paper)}
.product-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:100px;margin-top:55px;align-items:center}
.product-category{font-size:11px;color:var(--accent);margin-bottom:20px}
.product-copy h3{font-size:31px;line-height:1.6;font-weight:550;margin:0 0 24px}
.product-copy>p:not(.product-category){font-size:14px;line-height:2.2;color:var(--muted);max-width:480px}
.product-credit{margin:30px 0 0;font-size:11px}
.product-credit>div{display:grid;grid-template-columns:85px 1fr;border-top:1px solid var(--line);padding:14px 0}
.product-credit>div:last-child{border-bottom:1px solid var(--line)}
.product-proof{background:white;padding:36px 42px;border-top:2px solid var(--ink);position:relative}
.proof-year{font-size:9px;letter-spacing:2px;color:var(--accent)}
.proof-rank{display:flex;gap:15px;align-items:baseline;height:150px}
.proof-rank strong{font-size:135px;line-height:1.2;font-weight:250;letter-spacing:-6px}
.proof-rank span{font-size:24px}
.proof-rank i{margin-left:auto;font-size:50px;font-style:normal;color:#79b9d1;align-self:center;font-weight:250}
.proof-title{font-size:18px;line-height:1.65}
.proof-note{font-size:10px;line-height:1.9;color:var(--muted);margin-top:20px}
.source-link{font-size:10px;display:inline-block;margin-top:20px;text-decoration:none;border-bottom:1px solid #9cb9c9;padding-bottom:4px}
.source-link span{margin-left:12px}
.people-grid{display:grid;grid-template-columns:1fr 1fr;gap:42px;margin-top:60px}
.person{border-top:1px solid var(--ink);padding:25px 30px 30px;background:linear-gradient(135deg,#f5f8fa,#fff 60%)}
.person-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:33px}
.person-role{font-size:11px;color:var(--muted)}
.person-index{font-size:8px;letter-spacing:1.2px;color:var(--accent)}
.person h3{font-size:29px;font-weight:550;letter-spacing:.09em;line-height:1.4;margin:0 0 12px}
.person-en{font-size:9px;letter-spacing:2px;color:var(--muted)}
.person-focus{font-size:22px;line-height:1.7;font-weight:500;margin:32px 0 22px}
.person>p:not(.person-en){font-size:13px;line-height:2.2;color:var(--muted)}
.person-skills{display:flex;gap:9px;flex-wrap:wrap;margin-top:28px}
.person-skills span{font-size:9px;line-height:1.8;padding:5px 9px;border:1px solid var(--line);color:var(--accent)}
.company{background:#edf3f7;padding:80px 0}
.company .section-heading h2{font-size:32px;margin-bottom:20px}
.company-grid{grid-template-columns:1fr 1.5fr;gap:100px}
.company-details>div{font-size:13px;padding:18px 0}
footer{padding:34px 0}
.footer-inner{font-size:10px}
@media(min-width:1600px){
h1{font-size:53px}}
@media(max-width:1050px) and (min-width:701px){
.container{width:calc(100% - 64px)}
.hero-grid{grid-template-columns:1.25fr 1fr;gap:25px}
h1{font-size:clamp(26px,3.6vw,38px)}
.hero-art{height:430px}
.hero-copy{font-size:13px}
.entry-grid{gap:50px}
.entry h2{font-size:26px}
.entry-questions>p{font-size:19px}
.service{padding:24px 20px}
.service h3{font-size:19px}
.service-label{font-size:8px}
.case{grid-template-columns:70px 1fr 205px;gap:24px}
.case h3{font-size:23px}
.case-tags span{font-size:8px}
.org-map{gap:5px}
.org-map span{width:60px;height:60px}
.platform-map{width:190px}
.product-grid{gap:45px}
.product-proof{padding:28px}
.people-grid{gap:25px}
.person{padding:24px}
.company-grid{gap:60px}
.section-heading h2{font-size:32px}
.split-heading{gap:35px}
.split-heading>p:last-child{font-size:12px;max-width:300px}}
@media(max-width:700px){
.container{width:calc(100% - 40px)}
.header-inner{min-height:88px;align-items:center;flex-wrap:wrap;padding:14px 0 11px;gap:12px}
.brand-symbol{width:31px;height:31px}
.brand-text{font-size:18px}
.brand-text small{font-size:8px}
.header nav{width:100%;justify-content:space-between;gap:10px;font-size:10px;line-height:1.3}
.header nav a{padding:0}
.hero{padding:35px 0 25px}
.hero-grid{grid-template-columns:1fr;gap:28px}
.hero-content{padding:8px 0 0}
.hero .eyebrow{font-size:8px;letter-spacing:1.2px;margin-bottom:25px}
h1{font-size:clamp(24px,6.35vw,39px);line-height:1.85;margin-bottom:27px}
.hero-copy{font-size:12px;line-height:2.3}
.section-link{font-size:12px;margin-top:25px;padding-bottom:6px}
.hero-art{height:310px;border-radius:65px 0 0 0}
.hero-art img{width:135px;height:135px}
.art-wordmark{font-size:22px}
.hero-note{margin-top:4px;gap:10px 15px;padding-top:22px;font-size:6px}
.hero-note .scroll-cue{font-size:7px}
.section{padding:68px 0}
.section-heading h2{font-size:28px;line-height:1.7}
.section-heading .eyebrow{font-size:8px;margin-bottom:22px}
.split-heading{display:block}
.split-heading>p:last-child{padding:0;margin-top:24px;font-size:12px;line-height:2.1;max-width:none}
.entry-grid{grid-template-columns:1fr;gap:34px}
.entry{padding:64px 0}
.entry h2{font-size:25px}
.entry .eyebrow{font-size:8px;margin-bottom:20px}
.entry-questions>p{font-size:18px;padding-left:34px;margin-bottom:20px;padding-bottom:20px}
.entry-answer{font-size:12px}
.services{margin-top:35px;gap:18px}
.service{padding:24px 25px 28px}
.service-icon{width:68px;height:68px;margin:24px 0}
.service h3{font-size:22px}
.service p{font-size:12px;line-height:2.2}
.service-footer{margin-top:24px;font-size:9px;padding-top:17px}
.process{grid-template-columns:1fr;gap:23px;margin-top:40px}
.process li{display:grid;grid-template-columns:76px 1fr;gap:0 20px;align-items:center;border-top:1px solid #55728a;padding-top:20px}
.process-node{grid-row:1/3;border:0;height:82px;gap:8px;align-items:center}
.process-node span{font-size:9px}
.process svg{width:42px;height:42px}
.process h3{margin:0;font-size:21px}
.process p{font-size:11px;max-width:none;margin-top:5px}
.process li:not(:last-child):after{content:"↓";right:auto;left:18px;top:auto;bottom:-24px;font-size:15px}
.case-list{margin-top:38px}
.case{grid-template-columns:1fr;gap:20px;padding:30px 0 38px}
.case-id{flex-direction:row;align-items:center;gap:14px;padding:0}
.case-id strong{font-size:34px;letter-spacing:-1px;margin:0;line-height:1}
.case-id span:last-child{margin-left:auto}
.case-domain{font-size:10px;margin-bottom:12px}
.case h3{font-size:23px;line-height:1.65;margin-bottom:20px}
.case-main>p:not(.case-domain):not(.case-person){font-size:12px}
.case-result{padding:17px 18px;margin-top:21px}
.case-result p{font-size:11px}
.case-person{font-size:9px;margin-top:19px}
.case-side{padding:18px 18px 20px;background:#f7fafb;gap:5px}
.case-diagram{max-width:240px}
.case-tags{margin-top:14px}
.case-tags span{font-size:8px}
.org-map{margin:0;padding:14px 0}
.platform-map{margin:5px 0 8px}
.product-grid{grid-template-columns:1fr;gap:34px;margin-top:34px}
.product-category{font-size:9px;margin-bottom:17px}
.product-copy h3{font-size:26px;letter-spacing:0;margin-bottom:20px}
.product-copy>p:not(.product-category){font-size:12px}
.product-credit{font-size:10px;margin-top:24px}
.product-proof{padding:28px 29px}
.proof-rank{height:135px}
.proof-rank strong{font-size:120px}
.proof-title{font-size:17px}
.proof-note{font-size:9px}
.people-grid{grid-template-columns:1fr;gap:26px;margin-top:35px}
.person{padding:24px 24px 27px}
.person-top{margin-bottom:25px}
.person h3{font-size:28px}
.person-focus{font-size:22px;margin-top:28px}
.person>p:not(.person-en){font-size:12px}
.person-skills{gap:7px;margin-top:24px}
.person-skills span{font-size:8px;padding:4px 7px}
.company{padding:65px 0}
.company-grid{grid-template-columns:1fr;gap:32px}
.company .section-heading h2{font-size:28px;margin-bottom:16px}
.company-details>div{font-size:12px;grid-template-columns:80px 1fr;padding:16px 0}
footer{padding:25px 0}
.footer-inner{gap:12px}
.footer-brand{font-size:15px}
footer small{font-size:8px}
footer a{font-size:9px}
html{scroll-padding-top:125px}}
@media(prefers-reduced-motion:reduce){
.service{transition:none}
.motion-ready .art-orbit,.motion-ready .hero-art:before{animation:none}}
.hero-art{isolation:isolate}
.hero-art .photo-layer{position:absolute;inset:-36px 0;z-index:-3}
.hero-art .scene-photo{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:55% 50%;transform:translate3d(0,var(--photo-shift,0px),0) scale(1.04);margin:0;z-index:0}
.photo-wash{position:absolute;inset:0;background:linear-gradient(130deg,#0f2f5280,#0f2f52e6);z-index:-2}
.hero-art:before{opacity:.13;z-index:-1}
.hero-art .art-geometry{z-index:0}
.hero-art .hero-symbol{z-index:1}
.hero-art .art-caption,.hero-art .art-bottom,.hero-art .art-wordmark{z-index:2}
.hero-art .hero-stock-note{position:absolute;bottom:12px;right:18px;color:#c0d5e1;font-size:7px;letter-spacing:.05em;z-index:2}
.hero-art:after{bottom:38px}
.hero-art .art-bottom{bottom:32px}
.visual-break{height:470px;position:relative;overflow:hidden;isolation:isolate;color:#fff;background:#0f2f52}
.visual-break .photo-layer{position:absolute;inset:-38px 0;z-index:-3}
.visual-break .scene-photo{width:100%;height:100%;object-fit:cover;object-position:50% 47%;transform:translate3d(0,var(--photo-shift,0px),0) scale(1.04)}
.visual-wash{position:absolute;inset:0;background:linear-gradient(90deg,#0a233edf 0%,#0f2f5290 48%,#0f2f522b 100%);z-index:-2}
.visual-content{height:100%;display:flex;flex-direction:column;justify-content:center;position:relative}
.visual-content .eyebrow{color:#acdced;font-size:9px;letter-spacing:2px;margin-bottom:23px}
.visual-content h2{font-size:43px;font-weight:500;line-height:1.7;margin:0 0 25px;letter-spacing:.035em}
.visual-content>p:last-child{color:#e0ebf0;font-size:13px;line-height:2.2}
.visual-credit{position:absolute;bottom:21px;right:max(56px,calc((100% - 1200px)/2));text-align:right;font-size:8px;line-height:1.8;color:#dce9ee;letter-spacing:0}
.product-built{font-size:9px!important;letter-spacing:1.8px;color:var(--accent)!important;margin-top:30px;border-top:1px solid var(--line);padding-top:20px}
.photo-credits{padding-bottom:26px;color:var(--muted);font-size:9px;line-height:2}
.photo-credits summary{cursor:pointer;list-style:none}
.photo-credits summary:after{content:' ＋';color:var(--accent)}
.photo-credits p{margin-top:8px}
.photo-credits a{text-decoration-color:#a7c4d2}
.photo-credits summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
@media(max-width:700px){
.hero-art .scene-photo{width:100%;height:100%}
.hero-art .hero-stock-note{font-size:6px;right:14px;bottom:9px}
.hero-art .art-bottom{bottom:26px;font-size:6px}
.hero-art:after{bottom:27px}
.visual-break{height:400px}
.visual-content .eyebrow{font-size:7px;letter-spacing:1px;margin-bottom:24px}
.visual-content h2{font-size:31px;line-height:1.7;margin-bottom:25px}
.visual-content>p:last-child{font-size:11px}
.visual-credit{left:20px;right:20px;font-size:6px;bottom:16px;text-align:left}
.visual-break .scene-photo{object-position:53% 46%}
.visual-wash{background:linear-gradient(90deg,#0a233ecf,#0f2f5266)}
.photo-credits{font-size:8px}
.product-built{font-size:8px!important;letter-spacing:1.2px}}
@media(prefers-reduced-motion:reduce){
.hero-art .scene-photo,.visual-break .scene-photo{transform:scale(1.04)}}
html.reduced-motion .hero-art .scene-photo,html.reduced-motion .visual-break .scene-photo{transform:scale(1.04)}
.product-grid{grid-template-columns:1.1fr 1fr;gap:42px 65px;align-items:start}
.product-copy{align-self:center}
.product-demo{margin:0;grid-column:2;grid-row:1 / 3;padding:26px 24px 20px;background:#e8f0f5;position:relative;overflow:hidden;border-radius:100px 0 0 0}
.product-proof{grid-column:1;grid-row:2;padding:22px 26px;display:grid;grid-template-columns:110px 1fr;gap:7px 22px;margin-top:0}
.product-proof .proof-year{grid-column:1/-1}
.product-proof .proof-rank{height:auto;grid-column:1;grid-row:2/5;align-items:baseline;gap:7px}
.product-proof .proof-rank strong{font-size:88px;line-height:1.2;letter-spacing:-4px}
.product-proof .proof-rank span{font-size:16px}
.product-proof .proof-rank i{display:none}
.product-proof .proof-title{font-size:15px;grid-column:2}
.product-proof .proof-note{font-size:9px;grid-column:2;margin-top:0}
.product-proof .source-link{justify-self:start;grid-column:2;margin-top:2px;font-size:9px}
.demo-scene{height:450px;position:relative;display:flex;align-items:flex-start;justify-content:center;padding-top:6px}
.demo-orbit{position:absolute;width:410px;height:410px;border:1px solid #c0d5e1;border-radius:50%;top:8px;left:calc(50% - 205px)}
.demo-orbit:after{content:'';width:7px;height:7px;border-radius:50%;background:#57b5d2;position:absolute;right:34px;top:78px}
.demo-phone{width:214px;height:367px;border:1px solid #426883;border-radius:27px;background:#fff;padding:25px 13px 24px;position:relative;box-shadow:14px 20px 0 #cddfe9;z-index:1}
.phone-speaker{position:absolute;top:12px;width:36px;height:3px;left:calc(50% - 18px);background:#91aebf;border-radius:3px}
.phone-home{position:absolute;bottom:10px;left:calc(50% - 21px);width:42px;height:3px;background:#a7bfcd;border-radius:2px}
.phone-screen{height:100%;background:#f5f8fa;border-radius:8px;padding:13px 12px}
.phone-top{display:flex;justify-content:space-between;font-size:5px;letter-spacing:.7px;color:#638599}
.phone-app-title{font-size:20px;line-height:1.55;letter-spacing:.02em;margin:15px 0 18px}
.phone-app-title>span{display:block;margin-top:8px;font-size:5px;letter-spacing:1.2px;color:#6e8b9d}
.demo-tasks{display:flex;flex-direction:column;gap:7px}
.demo-task{display:flex;align-items:center;gap:10px;padding:7px 9px;background:#fff;border:1px solid #d5e1e8;border-radius:5px}
.task-icon{display:grid;place-items:center;width:23px;height:23px;border-radius:4px;background:#edf4f7}
.task-icon svg{width:17px;height:17px;stroke:#4d7891;fill:none;stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round}
.task-name{font-size:9px;line-height:1.4}
.task-name small{display:block;color:#6e8798;font-size:6px;margin-top:3px}
.task-check{margin-left:auto;border:1px solid #a6c4d4;width:13px;height:13px;display:grid;place-items:center;font-size:8px;line-height:1;border-radius:2px;background:#edf6fa;color:#347795}
.demo-stop{display:flex;justify-content:space-between;gap:8px;color:white;background:#0f2f52;border-radius:5px;margin-top:12px;padding:9px 10px;font-size:8px;line-height:1.4}
.demo-stop span{color:#8bc4da}
.demo-state{height:15px;position:relative;margin-top:9px;text-align:center;font-size:6px;letter-spacing:.04em;color:#50798f}
.demo-state>span{position:absolute;inset:0}
.demo-state-after{opacity:0}
.demo-memory{position:absolute;bottom:9px;width:275px;padding:15px 18px;background:white;border:1px solid #b8d1df;z-index:2;border-radius:6px;box-shadow:0 10px 20px #0f2f5209}
.memory-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:7px;letter-spacing:1.2px;color:#426c84}
.memory-label>span:last-child{font-size:7px;letter-spacing:0}
.memory-cells{display:grid;grid-template-columns:repeat(8,1fr);gap:5px}
.memory-cells>i{height:16px;display:block;position:relative;border:1px solid #9dbfcf;border-radius:2px;background:#f3f8fb}
.memory-cells>i:after{content:'';position:absolute;inset:0;background:#57a2bd}
.memory-cells>i:nth-child(n+6):after{display:none}
.memory-key{display:flex;justify-content:space-between;font-size:6px;color:#67879b;margin-top:10px;line-height:1.5}
.memory-key span{display:flex;align-items:center;gap:4px}
.memory-key i{width:5px;height:5px;background:#57a2bd;border:1px solid #57a2bd}
.memory-key span:last-child i{background:white;border-color:#9dbfcf}
.product-demo figcaption{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:10px;color:#55768c;font-size:9px}
.product-demo figcaption>span{color:#35627a}
.product-demo figcaption small{font-size:7px}
.demo-flow{list-style:none;display:flex;justify-content:space-between;padding:17px 0 0;margin:18px 0 0;border-top:1px solid #c2d6e2;font-size:8px;color:#3f667e;gap:8px}
.demo-flow li{display:flex;align-items:center;gap:6px}
.demo-flow li:not(:last-child):after{content:'→';margin-left:5px;color:#7ba8bf}
.demo-flow span{font-size:6px;letter-spacing:.3px;color:#6d90a4}
.demo-task{animation:task-release 8s ease infinite both paused}
.demo-task:nth-child(2){animation-name:task-release-two}
.demo-task:nth-child(3){animation-name:task-release-three}
.demo-stop{animation:stop-press 8s ease infinite both paused}
.demo-state-before{animation:state-before 8s ease infinite both paused}
.demo-state-after{animation:state-after 8s ease infinite both paused}
.memory-cells>i:nth-child(2):after,.memory-cells>i:nth-child(3):after,.memory-cells>i:nth-child(4):after{animation:memory-release 8s ease infinite both paused}
.demo-active .demo-task,.demo-active .demo-stop,.demo-active .demo-state>span,.demo-active .memory-cells>i:after{animation-play-state:running}
@keyframes task-release{
0%,25%,93%,100%{opacity:1;transform:translateY(0)}
37%,80%{opacity:.22;transform:translateY(-3px)}}@keyframes task-release-two{
0%,28%,93%,100%{opacity:1;transform:translateY(0)}
40%,80%{opacity:.22;transform:translateY(-3px)}}@keyframes task-release-three{
0%,31%,93%,100%{opacity:1;transform:translateY(0)}
43%,80%{opacity:.22;transform:translateY(-3px)}}@keyframes stop-press{
0%,23%,34%,100%{transform:scale(1)}
28%{transform:scale(.96)}}@keyframes state-before{
0%,30%,93%,100%{opacity:1}
43%,80%{opacity:0}}@keyframes state-after{
0%,30%,93%,100%{opacity:0}
43%,80%{opacity:1}}@keyframes memory-release{
0%,37%,93%,100%{opacity:1;transform:scaleY(1)}
50%,80%{opacity:0;transform:scaleY(.5)}}
@media(max-width:1050px) and (min-width:701px){
.product-grid{gap:30px}
.product-demo{padding:24px 15px 18px}
.product-proof{grid-template-columns:80px 1fr;gap:6px 15px;padding:20px}
.product-proof .proof-rank strong{font-size:72px}
.product-proof .proof-title{font-size:13px}
.product-proof .proof-note{font-size:8px}
.product-demo figcaption{flex-direction:column;gap:3px}
.demo-flow{font-size:7px;gap:4px}
.demo-flow li{gap:3px}
.demo-flow li:not(:last-child):after{margin-left:1px}}
@media(max-width:700px){
.product-grid{grid-template-columns:1fr;gap:32px}
.product-demo{grid-column:1;grid-row:2;padding:25px 17px 20px;border-radius:65px 0 0 0}
.product-proof{grid-column:1;grid-row:3;grid-template-columns:85px 1fr;gap:7px 18px;padding:23px}
.product-proof .proof-rank strong{font-size:76px}
.product-proof .proof-title{font-size:13px}
.product-proof .proof-note{font-size:8px}
.demo-orbit{width:340px;height:340px;left:calc(50% - 170px);top:40px}
.product-demo figcaption{flex-direction:column;gap:3px}
.demo-flow{font-size:7px;gap:4px}
.demo-flow li{gap:4px}
.demo-flow li:not(:last-child):after{margin-left:2px}
.demo-memory{width:245px}
.demo-scene{height:445px}}
@media(prefers-reduced-motion:reduce){
.demo-task,.demo-stop,.demo-state>span,.memory-cells>i:after{animation:none!important}
.demo-state-before{opacity:1}
.demo-state-after{opacity:0}}
html.reduced-motion .demo-task,html.reduced-motion .demo-stop,html.reduced-motion .demo-state>span,html.reduced-motion .memory-cells>i:after{animation:none!important}
.demo-phone{height:390px}
.phone-app-title{font-size:18px;line-height:1.4;margin:12px 0 14px}
.person .person-career{margin-top:20px}
.ai-foundation{background:#fff}
.ai-intro{max-width:880px;margin:42px 0 48px;color:var(--muted);font-size:14px;line-height:2.2}
.ai-intro>p+p{margin-top:16px}
.ai-intro .term-note{font-size:12px;padding-top:18px;border-top:1px solid var(--line)}
.harness-diagram{margin:0;padding:36px;border:1px solid var(--line);background:#f7fafb}
.harness-diagram figcaption{display:flex;flex-direction:column;gap:13px;margin-bottom:32px}
.harness-diagram figcaption .eyebrow{margin:0;font-size:9px}
.harness-diagram figcaption strong{font-size:23px;font-weight:500;line-height:1.7}
.harness-flow{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--aplio-ui-space-md)}
.harness-flow>li{position:relative;padding:var(--aplio-ui-space-md) 15px;background:white;border-top:2px solid #649cb6;border-bottom:var(--aplio-ui-border) solid var(--line);display:flex;flex-direction:column;align-items:flex-start}
.harness-flow>li:not(:last-child):after{content:'→';position:absolute;right:-18px;top:67px;color:#49768c;font-size:17px}
.flow-number{font-size:9px;letter-spacing:.6px;color:var(--accent)}
.harness-flow h3{font-size:16px;line-height:1.7;font-weight:550;margin:var(--aplio-ui-space-sm) 0 12px}
.harness-flow p{font-size:12px;line-height:2;color:var(--muted);margin-bottom:var(--aplio-ui-space-md)}
.flow-detail{font-size:10px;line-height:1.9;border-top:1px solid var(--line);padding-top:12px;width:100%;color:#42667b;margin-top:auto}
.human-chip{display:block;margin-top:16px;font-size:10px;line-height:1.8;padding:5px 7px;color:#0f2f52;background:#eaf3f7;border:1px solid #bfd4df}
.verification-pair{display:flex;flex-direction:column;gap:7px;margin-top:auto;width:100%}
.verification-pair span{font-size:10px;line-height:1.8;padding:7px 8px;border:1px solid var(--line);color:#42667b}
.evidence-link{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 16px;padding:22px 20px;margin-top:26px;background:#eaf2f6;font-size:12px;color:#335d75}
.evidence-link p{width:100%;text-align:center;color:var(--muted);font-size:11px;line-height:1.9}
.harness-loop{display:flex;align-items:center;gap:15px;margin-top:25px;padding:19px 22px;border-left:2px solid #7da5ba;background:#fff}
.harness-loop>span{font-size:26px;color:#467b95}
.harness-loop p{font-size:12px;line-height:2;color:var(--muted)}
.harness-loop strong{font-weight:500;color:var(--ink)}
.diagram-note{font-size:10px;line-height:2;color:var(--muted);margin-top:20px}
.tsumugi{background:#fff;border-top:1px solid var(--line)}
.tsumugi-heading .eyebrow{margin-bottom:25px}
.development-label{font-size:11px;color:var(--accent);padding:5px 13px;border:1px solid #9fbfce;display:inline-block;margin-bottom:19px}
.tsumugi-heading h2{font-size:44px;font-weight:500;line-height:1.6;letter-spacing:.13em}
.tsumugi-lead{font-size:22px;font-weight:500;line-height:1.7;margin-top:12px}
.tsumugi-grid{display:grid;grid-template-columns:.95fr 1.15fr;gap:65px;align-items:start;margin-top:40px}
.tsumugi-copy>p{font-size:14px;line-height:2.25;color:var(--muted)}
.tsumugi-copy>p+p{margin-top:22px}
.ontology-note{border-top:1px solid var(--line);margin-top:28px;padding-top:22px}
.ontology-note>span{font-size:9px;letter-spacing:1px;color:var(--accent)}
.ontology-note p{font-size:12px;line-height:2;color:var(--muted);margin-top:10px}
.context-diagram{margin:0;padding:29px 24px;background:#f0f5f8;border-radius:40px 0 0 0}
.context-diagram figcaption{font-size:13px;line-height:1.8;margin-bottom:28px;display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.context-diagram figcaption>span{font-size:9px;color:var(--muted)}
.context-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;list-style:none;margin:0;padding:0}
.context-flow li{position:relative;background:#fff;padding:var(--aplio-ui-space-md) 12px;border-top:var(--aplio-ui-border) solid #8aafc1;min-height:195px}
.context-flow li:not(:last-child):after{content:'→';position:absolute;right:-16px;top:80px;color:#4c7e97}
.context-number{font-size:10px;letter-spacing:1px;color:var(--accent)}
.context-flow h3{font-size:14px;font-weight:500;line-height:1.8;margin:17px 0 12px}
.context-flow p{font-size:11px;line-height:2;color:var(--muted)}
.context-tags{display:block;margin-top:17px;font-size:8px;color:var(--accent);line-height:1.8}
.context-thread{display:flex;gap:12px;align-items:center;font-size:10px;line-height:1.9;color:var(--muted);margin-top:22px;padding-top:19px;border-top:1px solid #c5d8e2}
.context-thread>span{font-size:21px;color:var(--accent)}
.knowledge-break{min-height:310px}
.knowledge-break .scene-photo{object-position:65% 50%}
.knowledge-break .visual-wash{background:linear-gradient(90deg,rgba(15,47,82,.88),rgba(15,47,82,.16))}
@media(max-width:1100px){
.harness-diagram{padding:26px}
.harness-flow{gap:15px}
.harness-flow>li{padding:18px 12px}
.harness-flow>li:not(:last-child):after{right:-14px;font-size:14px}
.harness-flow h3{font-size:14px}
.tsumugi-grid{gap:35px;grid-template-columns:1fr 1.1fr}
.context-flow{grid-template-columns:1fr;gap:22px}
.context-flow li{min-height:0;padding:18px 20px}
.context-flow li:not(:last-child):after{content:'↓';right:auto;left:50%;top:auto;bottom:-21px}
.context-flow h3{margin:9px 0}
.context-flow p br{display:none}
.context-tags{margin-top:12px}}
@media(max-width:900px){
.harness-flow{grid-template-columns:1fr;gap:24px}
.harness-flow>li{padding:22px}
.harness-flow>li:not(:last-child):after{content:'↓';right:auto;left:calc(50% - 5px);top:auto;bottom:-23px;font-size:17px}
.harness-flow h3{font-size:19px;margin:12px 0}
.harness-flow p{margin-bottom:16px}
.flow-detail{font-size:11px}
.human-chip{font-size:11px}
.verification-pair{flex-direction:row;flex-wrap:wrap}
.verification-pair span{font-size:11px}
.tsumugi-grid{grid-template-columns:1fr;gap:34px}
.context-flow{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.context-flow li{padding:20px 14px;min-height:180px}
.context-flow li:not(:last-child):after{content:'→';right:-17px;left:auto;top:73px;bottom:auto}
.context-flow p br{display:block}}
@media(max-width:700px){
.ai-intro{margin:30px 0;font-size:12px}
.ai-intro .term-note{font-size:10px}
.harness-diagram{padding:22px 17px}
.harness-diagram figcaption strong{font-size:19px}
.harness-diagram figcaption .eyebrow{font-size:8px}
.harness-flow>li{padding:20px 18px}
.harness-flow h3{font-size:18px}
.evidence-link{font-size:11px;gap:8px;padding:18px 12px}
.evidence-link p{font-size:10px}
.harness-loop{padding:16px 14px;gap:10px}
.harness-loop p{font-size:11px}
.diagram-note{font-size:9px}
.tsumugi-heading h2{font-size:36px}
.tsumugi-lead{font-size:20px}
.tsumugi-grid{margin-top:28px}
.tsumugi-copy>p{font-size:12px}
.ontology-note p{font-size:11px}
.context-diagram{padding:27px 20px}
.context-flow{grid-template-columns:1fr;gap:24px}
.context-flow li{min-height:0;padding:20px}
.context-flow li:not(:last-child):after{content:'↓';right:auto;left:50%;top:auto;bottom:-22px}
.context-flow h3{font-size:17px}
.context-flow p{font-size:12px}
.context-flow p br{display:none}
.context-tags{font-size:9px}
.knowledge-break{min-height:290px}
.knowledge-break .visual-content h2{font-size:25px}}
.topic-links{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-top:24px}
.topic-links a{font-size:12px;line-height:1.8;text-decoration:none;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:3px}
.topic-links a span{margin-left:8px;color:var(--accent)}
.topic-links a:hover{color:var(--accent)}
.company .section-heading .company-intro{max-width:330px;margin-top:22px;font-size:12px;line-height:2.2;color:var(--muted)}
@media(max-width:700px){
.topic-links{gap:10px;margin-top:21px}
.topic-links a{font-size:11px}
.company .section-heading .company-intro{max-width:none;font-size:11px;margin-top:18px}}
.background-stage{display:none;position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.background-stage canvas{display:block;width:100%;height:100%}
html[data-background-mode="light"] .background-stage{display:block}
html[data-background-mode="light"] main,html[data-background-mode="light"] footer,html[data-background-mode="light"] .photo-credits{position:relative;z-index:1}
html[data-background-mode="light"] .hero{background:linear-gradient(110deg,#f4f7f93d,#edf3f75c)}
html[data-background-mode="light"] .business,html[data-background-mode="light"] .product{background:#f4f7f957}
html[data-background-mode="light"] .ai-foundation,html[data-background-mode="light"] .tsumugi{background:#ffffff42}
html[data-background-mode="light"] .company{background:#edf3f76b}
.reveal,.reveal.is-pending{opacity:1;transform:none;transition:none}
body{padding-bottom:135px}
.header{top:96px}
body{padding-top:96px;padding-bottom:0}
@media(max-width:700px){
.header{top:124px}
body{padding-top:124px}}
html{scroll-padding-top:206px}
@media(max-width:700px){
html{scroll-padding-top:249px}}
.tsumugi-heading h2 .product-reading{display:block;font-size:18px;font-weight:400;letter-spacing:.06em;line-height:1.8;margin-top:5px}
@media(max-width:700px){
.tsumugi-heading h2 .product-reading{font-size:16px;margin-top:3px}}
html:not([data-background-mode]) body{padding-top:0}
html:not([data-background-mode]) .header{top:0}
.diagram-labels{display:none}
html[data-typography="readable"]{--muted:#344d62;--aplio-text-body:.96875rem;--aplio-text-card:.90625rem;--aplio-text-note:.875rem;--aplio-title-card:1.25rem;--aplio-content-width:1400px;--aplio-reading-width:620px}
@media(max-width:899px){
html[data-typography="readable"]{--aplio-text-body:16px;--aplio-text-card:16px;--aplio-text-note:16px;--aplio-title-card:22px}}
html[data-typography="readable"] body{font-size:var(--aplio-text-body);line-height:1.85;font-weight:400;overflow-wrap:anywhere}
html[data-typography="readable"] h1{white-space:normal;font-weight:500}
html[data-typography="readable"] main h2,html[data-typography="readable"] main h3{font-weight:500}
html[data-typography="readable"] .hero-copy,html[data-typography="readable"] .entry-answer,html[data-typography="readable"] .service p,html[data-typography="readable"] .case-main>p:not(.case-domain):not(.case-person),html[data-typography="readable"] .case-result p,html[data-typography="readable"] .product-copy>p:not(.product-category),html[data-typography="readable"] .ai-intro,html[data-typography="readable"] .ai-intro>p,html[data-typography="readable"] .tsumugi-copy>p,html[data-typography="readable"] .person>p:not(.person-en),html[data-typography="readable"] .company .section-heading .company-intro,html[data-typography="readable"] .ontology-note p,html[data-typography="readable"] .harness-loop p,html[data-typography="readable"] .visual-content>p:last-child{font-size:var(--aplio-text-body);line-height:1.85;font-weight:400}
html[data-typography="readable"] .split-heading>p:last-child,html[data-typography="readable"] .section-heading>p:last-child{font-size:var(--aplio-text-body);line-height:1.85;max-width:480px}
html[data-typography="readable"] .entry-questions>p{font-size:22px;line-height:1.8}
html[data-typography="readable"] .header nav{font-size:16px;line-height:1.6;gap:12px var(--aplio-ui-space-lg);flex-wrap:wrap}
html[data-typography="readable"] .header nav a{padding:7px 0;overflow-wrap:anywhere}
html[data-typography="readable"] .brand-text small{font-size:14px;line-height:1.5;letter-spacing:.03em}
html[data-typography="readable"] .eyebrow,html[data-typography="readable"] .hero .eyebrow,html[data-typography="readable"] .section-heading .eyebrow,html[data-typography="readable"] .entry .eyebrow,html[data-typography="readable"] .visual-content .eyebrow{font-size:14px;line-height:1.7;letter-spacing:.10em}
html[data-typography="readable"] .section-link,html[data-typography="readable"] .topic-links a{font-size:var(--aplio-text-body);line-height:1.8;max-width:100%;overflow-wrap:anywhere}
html[data-typography="readable"] .hero-note{font-size:14px;line-height:1.8;letter-spacing:.04em;flex-wrap:wrap;gap:12px 24px}
html[data-typography="readable"] .hero-note .scroll-cue{font-size:14px}
html[data-typography="readable"] .service-label,html[data-typography="readable"] .service-footer,html[data-typography="readable"] .case-domain,html[data-typography="readable"] .result-label,html[data-typography="readable"] .case-person,html[data-typography="readable"] .case-tags span,html[data-typography="readable"] .person-role,html[data-typography="readable"] .person-index,html[data-typography="readable"] .person-en,html[data-typography="readable"] .person-skills span,html[data-typography="readable"] .product-category,html[data-typography="readable"] .proof-year,html[data-typography="readable"] .source-link,html[data-typography="readable"] .product-credit,html[data-typography="readable"] .development-label,html[data-typography="readable"] .ontology-note>span{font-size:16px;line-height:1.8;letter-spacing:.03em}
html[data-typography="readable"] .case-id span,html[data-typography="readable"] .diagram-caption,html[data-typography="readable"] .platform-map strong{font-size:14px;line-height:1.8;letter-spacing:.05em;overflow-wrap:anywhere}
html[data-typography="readable"] .org-map{gap:10px;flex-wrap:wrap;justify-content:center}
html[data-typography="readable"] .org-map span{width:80px;height:80px;font-size:var(--aplio-text-body)}
html[data-typography="readable"] .platform-map{width:min(100%,320px);grid-template-columns:repeat(2,minmax(0,1fr))}
html[data-typography="readable"] .platform-map span{font-size:var(--aplio-text-body);padding:18px 10px}
html[data-typography="readable"] .case-diagram{width:100%;max-width:320px}
html[data-typography="readable"] .case-diagram text{display:none}
html[data-typography="readable"] .diagram-labels{display:flex;width:min(100%,320px);justify-content:space-around;gap:14px;font-size:var(--aplio-text-body);line-height:1.7;text-align:center;color:var(--muted)}
html[data-typography="readable"] .diagram-labels span{flex:1;min-width:0;overflow-wrap:anywhere}
html[data-typography="readable"] .process-node span,html[data-typography="readable"] .question-mark{font-size:var(--aplio-text-body);line-height:1.7}
/* Keep two-digit step numbers intact across mobile font metrics and text enlargement. */
.process-node>span{flex:0 0 auto;min-width:2.5ch;white-space:nowrap;overflow-wrap:normal;font-variant-numeric:tabular-nums}
.process-node>svg{flex-shrink:0}

html[data-typography="readable"] .process p{font-size:var(--aplio-text-body);line-height:1.85;max-width:none}
html[data-typography="readable"] .process h3,html[data-typography="readable"] .harness-flow h3,html[data-typography="readable"] .context-flow h3{font-size:var(--aplio-title-card);line-height:1.7;font-weight:500}
html[data-typography="readable"] .harness-flow p,html[data-typography="readable"] .context-flow p{font-size:var(--aplio-text-card);line-height:1.85}
html[data-typography="readable"] .ai-intro .term-note,html[data-typography="readable"] .harness-diagram figcaption .eyebrow,html[data-typography="readable"] .flow-number,html[data-typography="readable"] .flow-detail,html[data-typography="readable"] .human-chip,html[data-typography="readable"] .verification-pair span,html[data-typography="readable"] .evidence-link,html[data-typography="readable"] .evidence-link p,html[data-typography="readable"] .diagram-note,html[data-typography="readable"] .context-number,html[data-typography="readable"] .context-tags,html[data-typography="readable"] .context-thread,html[data-typography="readable"] .context-diagram figcaption,html[data-typography="readable"] .context-diagram figcaption>span{font-size:var(--aplio-text-note);line-height:1.8;letter-spacing:.02em}
html[data-typography="readable"] .harness-diagram figcaption strong{font-size:24px;line-height:1.7}
html[data-typography="readable"] .harness-flow>li{padding:22px 18px;min-width:0}
html[data-typography="readable"] .harness-diagram{padding:28px 24px}
html[data-typography="readable"] .harness-loop,html[data-typography="readable"] .verification-pair,html[data-typography="readable"] .evidence-link,html[data-typography="readable"] .context-thread{flex-wrap:wrap}
html[data-typography="readable"] .context-flow>li{padding:22px var(--aplio-ui-space-sm);min-height:0;min-width:0}
html[data-typography="readable"] .tsumugi-lead{font-size:24px;line-height:1.8}
html[data-typography="readable"] .tsumugi-heading h2{letter-spacing:.05em;overflow-wrap:anywhere}
html[data-typography="readable"] .tsumugi-heading h2 .product-reading{font-size:16px;line-height:1.8}
html[data-typography="readable"] .company-details>div{font-size:var(--aplio-text-body);line-height:1.85;grid-template-columns:minmax(0,120px) minmax(0,1fr);gap:12px}
html[data-typography="readable"] .company-details dt,html[data-typography="readable"] .company-details dd{min-width:0;overflow-wrap:anywhere}
html[data-typography="readable"] .photo-credits,html[data-typography="readable"] footer small,html[data-typography="readable"] .visual-credit,html[data-typography="readable"] .hero-art .hero-stock-note{font-size:14px;line-height:1.8;letter-spacing:.02em}
html[data-typography="readable"] .photo-credits a{overflow-wrap:anywhere}
html[data-typography="readable"] footer a{font-size:var(--aplio-text-body);line-height:1.8}
html[data-typography="readable"] .footer-inner{flex-wrap:wrap;gap:18px 28px}
html[data-typography="readable"] .art-coordinate{display:none}
html[data-typography="readable"] .art-caption{font-size:14px;line-height:1.6;letter-spacing:.04em;right:20px}
html[data-typography="readable"] .hero-art .art-bottom{font-size:14px;line-height:1.8;bottom:42px;letter-spacing:.03em;right:20px}
html[data-typography="readable"] .hero-art .hero-stock-note{left:20px;right:20px;bottom:10px;text-align:right}
html[data-typography="readable"] .visual-break{height:auto;min-height:490px}
html[data-typography="readable"] .visual-content{min-height:490px;padding-top:70px;padding-bottom:115px;height:auto}
html[data-typography="readable"] .knowledge-break,html[data-typography="readable"] .knowledge-break .visual-content{min-height:410px}
html[data-typography="readable"] .visual-credit{left:max(40px,calc((100% - 1200px)/2));right:max(40px,calc((100% - 1200px)/2));bottom:24px}
html[data-typography="readable"] .product-built{font-size:var(--aplio-text-body)!important;line-height:1.8;letter-spacing:.04em}
html[data-typography="readable"] .product-proof{grid-template-columns:100px minmax(0,1fr);gap:12px 22px}
html[data-typography="readable"] .product-proof .proof-title{font-size:var(--aplio-text-body);line-height:1.8}
html[data-typography="readable"] .product-proof .proof-note,html[data-typography="readable"] .product-proof .source-link{font-size:var(--aplio-text-note);line-height:1.8}
html[data-typography="readable"] .product-demo{padding:24px;min-width:0}
html[data-typography="readable"] .demo-scene{height:auto;min-height:0;flex-direction:column;justify-content:flex-start;align-items:center;gap:40px;padding:8px 0 0}
html[data-typography="readable"] .demo-phone{width:min(100%,300px);height:auto;min-height:500px;padding:34px 14px 30px;flex-shrink:0}
html[data-typography="readable"] .phone-screen{height:auto;min-height:440px;padding:16px 12px}
html[data-typography="readable"] .phone-top,html[data-typography="readable"] .phone-app-title>span,html[data-typography="readable"] .task-check,html[data-typography="readable"] .demo-flow span{font-size:14px;line-height:1.7;letter-spacing:.02em}
html[data-typography="readable"] .phone-top{flex-wrap:wrap;gap:6px}
html[data-typography="readable"] .phone-app-title{font-size:24px;line-height:1.6}
html[data-typography="readable"] .task-name,html[data-typography="readable"] .task-name small,html[data-typography="readable"] .demo-stop,html[data-typography="readable"] .demo-state,html[data-typography="readable"] .memory-label,html[data-typography="readable"] .memory-label>span:last-child,html[data-typography="readable"] .memory-key{font-size:16px;line-height:1.7}
html[data-typography="readable"] .task-check{width:22px;height:22px;flex-shrink:0}
html[data-typography="readable"] .demo-task{min-height:66px}
html[data-typography="readable"] .demo-state{height:3.5em;margin-top:14px}
html[data-typography="readable"] .demo-memory{position:relative;bottom:auto;right:auto;width:100%;max-width:320px;padding:18px;margin:0}
html[data-typography="readable"] .memory-label,html[data-typography="readable"] .memory-key{flex-wrap:wrap;gap:8px 14px}
html[data-typography="readable"] .product-demo figcaption,html[data-typography="readable"] .product-demo figcaption small,html[data-typography="readable"] .demo-flow{font-size:16px;line-height:1.8}
html[data-typography="readable"] .product-demo figcaption{flex-wrap:wrap;text-align:left;justify-content:flex-start}
html[data-typography="readable"] .demo-flow{flex-wrap:wrap;gap:12px 24px}
html[data-typography="readable"] .demo-flow li{min-width:0}
@media(max-width:1250px){
html[data-typography="readable"] .hero-grid{grid-template-columns:1fr;gap:36px}
html[data-typography="readable"] .hero-art{width:min(100%,600px);justify-self:center}
html[data-typography="readable"] .services{grid-template-columns:repeat(2,minmax(0,1fr))}
html[data-typography="readable"] .process{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px}
html[data-typography="readable"] .process li:not(:last-child):after{display:none}
html[data-typography="readable"] .case{grid-template-columns:80px minmax(0,1fr);gap:24px}
html[data-typography="readable"] .case-side{grid-column:2;min-width:0}
html[data-typography="readable"] .harness-flow{grid-template-columns:1fr;gap:32px}
html[data-typography="readable"] .harness-flow>li:not(:last-child):after{content:'↓';right:auto;left:calc(50% - 6px);top:auto;bottom:-29px;font-size:22px}
html[data-typography="readable"] .product-grid{grid-template-columns:1fr;gap:36px}
html[data-typography="readable"] .product-demo{grid-column:1;grid-row:2;width:min(100%,520px);justify-self:center}
html[data-typography="readable"] .product-proof{grid-column:1;grid-row:3}
html[data-typography="readable"] .people-grid,html[data-typography="readable"] .company-grid{grid-template-columns:1fr;gap:36px}
html[data-typography="readable"] .person-top{flex-wrap:wrap}}
@media(max-width:900px){
html[data-typography="readable"] .case{grid-template-columns:1fr}
html[data-typography="readable"] .case-side{grid-column:1;padding:20px}
html[data-typography="readable"] .entry-grid,html[data-typography="readable"] .tsumugi-grid{grid-template-columns:1fr;gap:34px}
html[data-typography="readable"] .split-heading{display:block}
html[data-typography="readable"] .split-heading>p:last-child{max-width:none;margin-top:24px}
html[data-typography="readable"] .context-flow{grid-template-columns:1fr;gap:32px}
html[data-typography="readable"] .context-flow li:not(:last-child):after{content:'↓';right:auto;left:calc(50% - 6px);top:auto;bottom:-29px;font-size:22px}}
@media(max-width:700px){
html[data-typography="readable"] .container{width:calc(100% - 40px)}
html[data-typography="readable"] .header-inner{padding:14px 0;gap:12px;min-height:0}
html[data-typography="readable"] .header nav{font-size:16px;line-height:1.6;gap:8px 12px;justify-content:space-between}
html[data-typography="readable"] .header nav a{padding:7px 0}
html[data-typography="readable"] .hero{padding-top:40px}
html[data-typography="readable"] .hero-art{height:380px}
html[data-typography="readable"] .hero-copy{font-size:var(--aplio-text-body)}
html[data-typography="readable"] .hero .eyebrow{margin-bottom:28px}
html[data-typography="readable"] .services,html[data-typography="readable"] .process{grid-template-columns:1fr}
html[data-typography="readable"] .process li{grid-template-columns:minmax(80px,max-content) minmax(0,1fr);gap:0 18px}
html[data-typography="readable"] .service{padding:28px 24px}
html[data-typography="readable"] .section{padding:72px 0}
html[data-typography="readable"] .section-heading h2,html[data-typography="readable"] .entry h2{font-size:28px;line-height:1.7}
html[data-typography="readable"] .entry-questions>p{padding-left:36px}
html[data-typography="readable"] .entry-answer{max-width:none}
html[data-typography="readable"] .person{padding:24px}
html[data-typography="readable"] .person>p:not(.person-en){font-size:var(--aplio-text-body)}
html[data-typography="readable"] .person-skills span{font-size:16px}
html[data-typography="readable"] .company-details>div{font-size:var(--aplio-text-body);grid-template-columns:minmax(0,100px) minmax(0,1fr);gap:10px}
html[data-typography="readable"] .company .section-heading .company-intro{font-size:var(--aplio-text-body);max-width:none}
html[data-typography="readable"] .product-proof{grid-template-columns:minmax(0,1fr);padding:24px;gap:14px}
html[data-typography="readable"] .product-proof .proof-year,html[data-typography="readable"] .product-proof .proof-rank,html[data-typography="readable"] .product-proof .proof-title,html[data-typography="readable"] .product-proof .proof-note,html[data-typography="readable"] .product-proof .source-link{grid-column:1;grid-row:auto}
html[data-typography="readable"] .product-proof .proof-rank{height:auto}
html[data-typography="readable"] .product-demo{padding:20px;border-radius:50px 0 0 0}
html[data-typography="readable"] .harness-diagram{padding:24px 18px}
html[data-typography="readable"] .context-diagram{padding:26px 20px}
html[data-typography="readable"] .harness-flow>li,html[data-typography="readable"] .context-flow>li{padding:22px 18px}
html[data-typography="readable"] .visual-content{padding-top:60px;padding-bottom:120px}
html[data-typography="readable"] .visual-credit{left:20px;right:20px;text-align:left}
html[data-typography="readable"] .art-caption{left:20px;top:20px}
html[data-typography="readable"] .hero-art .art-bottom{left:20px;bottom:46px}
html[data-typography="readable"] .footer-inner{gap:18px}
html[data-typography="readable"] footer a{margin-left:0}}

/* Desktop balance: bounded content, readable prose, compact card copy. */
@media(min-width:900px){
html[data-typography="readable"] .container,html[data-typography="readable"] .header .nav-box{width:min(var(--aplio-content-width),calc(100% - 96px))}
html[data-typography="readable"] .hero-copy,html[data-typography="readable"] .entry-answer,html[data-typography="readable"] .ai-intro,html[data-typography="readable"] .tsumugi-copy>p,html[data-typography="readable"] .company-intro{max-width:var(--aplio-reading-width)}
html[data-typography="readable"] .service p{font-size:var(--aplio-text-card);line-height:1.75}
html[data-typography="readable"] .hero-copy,html[data-typography="readable"] .entry-answer,html[data-typography="readable"] .ai-intro,html[data-typography="readable"] .tsumugi-copy>p,html[data-typography="readable"] .person>p:not(.person-en){line-height:1.75}
html[data-typography="readable"] .section-heading h2{font-size:clamp(1.875rem,2.4vw,2.25rem);line-height:1.65}
html[data-typography="readable"] .section{padding:88px 0}
html[data-typography="readable"] .harness-flow h3{font-size:var(--aplio-title-card);line-height:1.7}
html[data-typography="readable"] .harness-flow p{font-size:var(--aplio-text-card)}
html[data-typography="readable"] .harness-flow .flow-detail,html[data-typography="readable"] .harness-flow .human-chip,html[data-typography="readable"] .harness-flow .verification-pair span{font-size:var(--aplio-text-note)}
}
.type-linebreak{display:none}
html[data-typography="readable"] .header{background:#fff}
html[data-typography="readable"] .type-linebreak{display:initial}
html[data-typography="readable"] .stop-label{min-width:0}
html[data-typography="readable"] .demo-state{height:auto;min-height:6em}
html body,html[data-background-mode] body{padding-top:0;padding-bottom:0}
html .header,html[data-background-mode] .header{top:0}
html{scroll-padding-top:calc(var(--header-clearance,160px) + 24px)}
html .header,html[data-typography="readable"] .header{background:transparent;border:0;padding:calc(var(--aplio-ui-space-xs) + env(safe-area-inset-top,0px)) 0 0;position:sticky;top:0;z-index:20}
.header .nav-box{position:relative;width:min(1200px,calc(100% - var(--aplio-ui-space-xl)));background:#fff;border-radius:8px}
html .header .header-inner,html[data-typography="readable"] .header .header-inner{height:52px;min-height:52px;padding:0 14px;display:flex;flex-wrap:nowrap;gap:var(--aplio-ui-space-sm)}
.header .brand{gap:9px}
.header .brand-symbol{width:30px;height:30px}
.header .brand-text{font-size:20px;letter-spacing:3px}
.header .brand-text small{display:none}
.nav-toggle{font:inherit;font-size:16px;line-height:1.5;padding:10px 0 10px 12px;border:0;background:transparent;color:var(--ink);cursor:pointer;min-height:44px;display:flex;gap:12px;align-items:center}
.nav-toggle[hidden]{display:none}
.nav-toggle span{font-size:20px;line-height:1}
.nav-toggle:focus-visible{outline:2px solid #28708a;outline-offset:2px}
.nav-progress{position:absolute;inset:0;width:100%;height:52px;overflow:visible;pointer-events:none;border-radius:8px}
.nav-progress rect{fill:none;stroke-width:1;rx:8px;ry:8px}
.nav-progress-track{stroke:#c4d7e1}
.nav-progress-value{stroke:#268bad;stroke-width:2.5!important;stroke-dasharray:100;stroke-dashoffset:100;stroke-linecap:butt}
html .header #main-nav,html[data-typography="readable"] .header #main-nav{position:absolute;left:0;right:0;top:calc(100% + var(--aplio-ui-space-xs));display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;background:#fff;border:var(--aplio-ui-border) solid #c4d7e1;border-radius:8px;padding:12px;max-height:calc(100dvh - 92px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));overflow:auto;overscroll-behavior:contain;font-size:16px;line-height:1.6}
.header #main-nav[hidden]{display:none!important}
.header #main-nav a{padding:14px 12px;min-height:52px;overflow-wrap:anywhere;border:0;border-radius:4px}
.header #main-nav a:hover{background:#edf5f8}
html:not(.nav-ready) .header{position:relative}
.nav-progress{display:none}
html.nav-ready .nav-progress{display:block}
html:not(.nav-ready) .header #main-nav{position:static;margin-top:var(--aplio-ui-space-xs)}
@media(min-width:900px){
html .header #main-nav,html[data-typography="readable"] .header #main-nav{left:auto;width:480px}}
@media(max-width:374px){
html .header #main-nav,html[data-typography="readable"] .header #main-nav{grid-template-columns:minmax(0,1fr)}}
.header>.reading-progress{display:none}
.nav-desktop-label{display:none}
@media(min-width:900px){
html .header,html[data-typography="readable"] .header{padding:0;background:#fff;border-bottom:1px solid #d3dfe7}
.header .nav-box{width:min(1200px,calc(100% - 112px));display:flex;align-items:center;border-radius:0;gap:28px;min-height:88px}
html .header .header-inner,html[data-typography="readable"] .header .header-inner{height:88px;min-height:88px;padding:0;flex:0 0 auto}
.header .brand-symbol{width:40px;height:40px}
.header .brand-text{font-size:23px}
.header .brand-text small{display:block;font-size:14px;letter-spacing:.03em;margin-top:7px}
.header .nav-toggle,html.nav-ready .nav-progress{display:none}
/* Keep both pixels above the later-painted white nav box throughout the row. */
.header>.reading-progress{display:block;z-index:1}
html .header #main-nav,html[data-typography="readable"] .header #main-nav,html:not(.nav-ready) .header #main-nav{position:static;width:auto;max-height:none;overflow:visible;display:flex;flex-wrap:nowrap;gap:clamp(12px,1.45vw,24px);border:0;border-radius:0;padding:0;background:transparent;margin:0 0 0 auto;font-size:16px;line-height:1.6}
.header #main-nav a{padding:9px 0;min-height:0;white-space:nowrap;border-bottom:1px solid transparent;border-radius:0}
.header #main-nav a:hover{background:transparent;border-color:var(--ink)}
.header #main-nav a[href="#works"],.header #main-nav a[href="#team"],.header #main-nav a[href="#company"]{display:flex}
.nav-mobile-label{display:none}
.nav-desktop-label{display:inline}
}
.ui-icon{width:20px;height:20px;flex:0 0 20px;display:inline-block;vertical-align:middle;stroke-width:2;pointer-events:none}
.header .nav-toggle{width:44px;min-width:44px;height:44px;padding:10px;justify-content:center}
.header .nav-toggle .ui-icon{width:var(--aplio-ui-space-lg);height:var(--aplio-ui-space-lg);flex-basis:24px}
.nav-toggle .nav-close-icon{display:none}
.nav-toggle[aria-expanded="true"] .nav-menu-icon{display:none}
.nav-toggle[aria-expanded="true"] .nav-close-icon{display:block}
.photo-credits summary:after{content:none}
.photo-credits summary .ui-icon{margin-left:8px}
.photo-credits details[open] summary .ui-icon{transform:rotate(180deg)}
.header #main-nav a{display:flex;align-items:center;gap:12px}
.header #main-nav .nav-item-icon{width:var(--aplio-ui-space-md);height:var(--aplio-ui-space-md);flex:0 0 20px}
@media(min-width:900px){
.header #main-nav a{gap:6px}
.header #main-nav .nav-item-icon{display:block;width:16px;height:16px;flex:0 0 16px;stroke-width:1.75}}
@media(min-width:900px) and (max-width:1100px){
html .header #main-nav,html[data-typography="readable"] .header #main-nav{font-size:14px}
.header .nav-box{gap:20px}
.header #main-nav .nav-item-icon{width:14px;height:14px;flex-basis:14px}}
html[data-typography] .process,html[data-typography] .harness-flow,html[data-typography] .context-flow{gap:56px}
html .process>li,html .harness-flow>li,html .context-flow>li{position:relative}
html .process>li:after,html .harness-flow>li:after,html .context-flow>li:after{display:none!important;content:none!important}
.flow-connector{position:absolute;width:var(--aplio-ui-space-lg);height:var(--aplio-ui-space-lg);right:-40px;top:50%;transform:translateY(-50%);pointer-events:none;color:#397b98}
.flow-connector .ui-icon{width:var(--aplio-ui-space-lg);height:var(--aplio-ui-space-lg);display:block}
.flow-connector .connector-arrow-down{display:none}
@media(max-width:1250px){
html[data-typography="readable"] .process{grid-template-columns:1fr}
html[data-typography="readable"] .process .flow-connector,html[data-typography="readable"] .harness-flow .flow-connector{right:auto;left:calc(50% - 12px);top:auto;bottom:-40px;transform:none}
html[data-typography="readable"] .process .connector-arrow-right,html[data-typography="readable"] .harness-flow .connector-arrow-right{display:none}
html[data-typography="readable"] .process .connector-arrow-down,html[data-typography="readable"] .harness-flow .connector-arrow-down{display:block}}
@media(max-width:900px){
html .harness-flow,html .context-flow{grid-template-columns:1fr}
.harness-flow .flow-connector,.context-flow .flow-connector{right:auto;left:calc(50% - 12px);top:auto;bottom:-40px;transform:none}
.harness-flow .connector-arrow-right,.context-flow .connector-arrow-right{display:none}
.harness-flow .connector-arrow-down,.context-flow .connector-arrow-down{display:block}}
@media(max-width:700px){
.process .flow-connector{right:auto;left:calc(50% - 12px);top:auto;bottom:-40px;transform:none}
.process .connector-arrow-right{display:none}
.process .connector-arrow-down{display:block}}

@media(max-width:1100px){
html .context-flow{grid-template-columns:1fr}
.context-flow .flow-connector{right:auto;left:calc(50% - 12px);top:auto;bottom:-40px;transform:none}
.context-flow .connector-arrow-right{display:none}
.context-flow .connector-arrow-down{display:block}}
.task-check{display:flex;align-items:center;justify-content:center}
.task-check .ui-icon{width:16px;height:16px;flex-basis:16px}
.harness-loop>.ui-icon,.context-thread>.ui-icon{flex-shrink:0}
.small-cross .ui-icon{width:16px;height:16px;flex-basis:16px}
.scroll-cue i .ui-icon{width:18px;height:18px;flex-basis:18px}


@media(max-width:1250px){
.harness-flow .flow-connector{right:auto;left:calc(50% - 12px);top:auto;bottom:-40px;transform:none}
.harness-flow .connector-arrow-right{display:none}
.harness-flow .connector-arrow-down{display:block}}
html[data-typography="readable"] .harness-diagram{container-type:inline-size}
html[data-typography="readable"] .harness-flow{grid-template-columns:1fr}
html[data-typography="readable"] .harness-flow .flow-connector{right:auto;left:calc(50% - 12px);top:auto;bottom:-40px;transform:none}
html[data-typography="readable"] .harness-flow .connector-arrow-right{display:none}
html[data-typography="readable"] .harness-flow .connector-arrow-down{display:block}
@container(min-width:calc(56.875rem + 224px)){
html[data-typography="readable"] .harness-flow{grid-template-columns:repeat(5,minmax(0,1fr))}
html[data-typography="readable"] .harness-flow .flow-connector{right:-40px;left:auto;top:50%;bottom:auto;transform:translateY(-50%)}
html[data-typography="readable"] .harness-flow .connector-arrow-right{display:block}
html[data-typography="readable"] .harness-flow .connector-arrow-down{display:none}
}
.harness-flow .term-unit{display:inline;border:0;padding:0;margin:0;background:transparent;font:inherit;color:inherit;white-space:nowrap}

/* Product direction: stance paragraph and grouped hero labels. */
.entry-questions .stance-copy,html[data-typography="readable"] .entry-questions .stance-copy{display:block;max-width:var(--aplio-reading-width,620px);font-size:var(--aplio-text-body,1rem);line-height:1.85;padding:0;border:0}

/* Scroll cue and support domains are separate groups. */
.hero-note,html[data-typography="readable"] .hero-note{display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:24px 40px}
.hero-note .scroll-cue{flex-basis:auto;margin:0}
.hero-domains{display:flex;justify-content:space-between;align-items:center;gap:16px 24px;flex-wrap:wrap}
.hero-domains>span{display:block}
@media(max-width:899px){.hero-note,html[data-typography="readable"] .hero-note{grid-template-columns:minmax(0,1fr);gap:24px}.hero-domains{display:grid;grid-template-columns:minmax(0,1fr);justify-content:normal;gap:12px;padding-top:20px;border-top:1px solid var(--line)}}

/* Preview: readable product cards, one small entrance, no opacity on content. */
.product-demo,.product-proof,.context-diagram,.ontology-note{position:relative}
.card-entering{animation:product-card-arrive 500ms cubic-bezier(.22,.6,.35,1) both}
.card-entering:after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;border:2px solid rgba(67,158,198,.7);animation:product-card-edge 620ms ease-out both}
@keyframes product-card-arrive{from{transform:translateY(14px)}to{transform:translateY(0)}}
@keyframes product-card-edge{0%{opacity:0;box-shadow:inset 0 0 0 0 transparent,0 0 0 0 transparent}25%{opacity:.85;box-shadow:inset 0 0 12px rgba(67,158,198,.16),0 0 12px rgba(67,158,198,.16)}100%{opacity:0;box-shadow:inset 0 0 0 0 transparent,0 0 0 0 transparent}}
@media(prefers-reduced-motion:reduce){.card-entering{animation:none;transform:none}.card-entering:after{display:none}}

