/* Broad white surfaces, restrained typography, rounded steel imagery. */
#sanbo-site .terminal-home{--tm-bg:#fff;--tm-text:#20272c;--tm-muted:#657078;--tm-card:#f4f5f6;--tm-line:#27343e20;background:#fff;color:#20272c;border-radius:24px 24px 0 0;position:relative}
#sanbo-site .terminal-home p{color:#687279}
#sanbo-site .terminal-home :is(h2,h3,h4){letter-spacing:-.04em}
#sanbo-site .ic-material-intro{padding:110px 8vw 100px}
#sanbo-site .ic-material-intro>h2{font:400 clamp(34px,3.5vw,72px)/1.35 var(--sans);color:#555;text-align:center;margin:0 auto 150px;max-width:1200px;letter-spacing:-.04em}
#sanbo-site .ic-material-grid{max-width:1720px;margin:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
#sanbo-site .ic-material-card{height:auto;aspect-ratio:1.03;position:relative;background:#f5f6f7;border-radius:18px;overflow:hidden;display:block;isolation:isolate}
#sanbo-site .ic-material-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.2,.75,.2,1)}
#sanbo-site .ic-material-card h3{position:relative;text-align:center;font:400 clamp(20px,1.6vw,34px)/1.4 var(--sans);margin:24px 20px;color:#222;z-index:2}
#sanbo-site .ic-material-caption{position:absolute;inset:auto 0 0;padding:50px 26px 26px;background:linear-gradient(transparent,#f5f6f7f5 45%);translate:0 100%;opacity:0;transition:translate .6s,opacity .5s;z-index:3}
#sanbo-site .ic-material-caption p{color:#47535c;font-size:14px;margin-bottom:16px}
#sanbo-site .ic-material-caption span{display:inline-block;font-size:12px;border-bottom:1px solid #56636c;padding-bottom:5px}
#sanbo-site .ic-material-card:is(:hover,:focus-visible)>img{transform:scale(1.1) translateY(-12px)}
#sanbo-site .ic-material-card:is(:hover,:focus-visible) .ic-material-caption{translate:0 0;opacity:1}
#sanbo-site .terminal-home .tm-container{max-width:1880px;margin-inline:auto;padding-inline:5vw}
#sanbo-site .terminal-home .tm-intro h2{font-size:clamp(34px,3.5vw,60px);line-height:1.35;color:#434b50}
#sanbo-site .terminal-home .tm-products{padding-block:65px 100px}
#sanbo-site .terminal-home .tm-product-grid{border:0;gap:24px;margin-top:60px}
#sanbo-site .terminal-home .tm-product{padding:0;border:0!important;border-radius:14px;overflow:hidden;background:#dce2e5;aspect-ratio:1;display:block;isolation:isolate}
#sanbo-site .terminal-home .tm-product:before{display:none}
#sanbo-site .terminal-home .tm-product-picture{position:absolute;inset:0;aspect-ratio:auto}
#sanbo-site .terminal-home .tm-product-picture>span{top:16px;left:18px;z-index:2}
#sanbo-site .terminal-home .tm-product-picture img{padding:0;transition:transform .9s cubic-bezier(.2,.7,.2,1)}
#sanbo-site .terminal-home .tm-product>p{display:none}
#sanbo-site .terminal-home .tm-product h3{position:absolute;inset:auto 0 0;margin:0;padding:48px 18px 18px;font:500 14px/1.6 var(--sans);color:#26333d;background:linear-gradient(transparent,#dce2e5f2)}
#sanbo-site .terminal-home .tm-product:hover img{transform:scale(1.11) translateY(-3%)}
#sanbo-site .terminal-home .tm-button{background:#e6eaed;color:#26333b;border-radius:30px;min-height:46px;padding:12px 28px;letter-spacing:0;font-size:13px}
#sanbo-site .terminal-home .tm-button:hover{background:#d5dee4}
#sanbo-site .terminal-home .tm-why{padding-block:90px 45px}
#sanbo-site .terminal-home .tm-why .tm-lead{color:#6a747b;font-size:17px;line-height:1.9}
#sanbo-site .terminal-home .tm-steps-inner{max-width:1600px}
#sanbo-site .terminal-home .tm-step-media{border-radius:24px;clip-path:none}
#sanbo-site .terminal-home .tm-step h3{color:#353f46}
#sanbo-site .terminal-home .tm-reading .tm-char{color:#66747d}
#sanbo-site .terminal-home .tm-step-counter{color:#8a979f}
#sanbo-site .terminal-home .tm-three{gap:24px}
#sanbo-site .terminal-home .tm-solution{min-height:460px!important;padding:28px;border:0;border-radius:22px;background:#f3f5f6;overflow:hidden}
#sanbo-site .terminal-home .tm-solution figure{order:0;aspect-ratio:1.8;margin:24px -28px -28px;height:auto;clip-path:none;border-radius:0;flex-grow:1}
#sanbo-site .terminal-home .tm-solution h3{font-size:24px;color:#303a41}
#sanbo-site .terminal-home .tm-solution>p:not(.tm-mono){color:#69767e;font-size:16px;margin:0;min-height:60px}
#sanbo-site .terminal-home .tm-solution .tm-button{order:1;position:absolute;bottom:20px;left:22px;z-index:4;padding:12px 20px;border:0;background:#fffffff0;color:#26343d;min-height:40px;height:auto;border-radius:30px}
#sanbo-site .terminal-home .tm-solution .tm-button:hover{background:#fff;color:#111}
#sanbo-site .terminal-home .tm-solution figcaption{bottom:16px;right:12px;left:auto;font-size:8px}
#sanbo-site .terminal-home .tm-planner{padding-block:90px;align-items:center}
#sanbo-site .terminal-home .tm-planner select,#sanbo-site .terminal-home .tm-planner input{color:#34434d;border-color:#7d929a66}
#sanbo-site .terminal-home .tm-planner .tm-kicker{color:#7b898f}
#sanbo-site .terminal-home .tm-summary{background:#edf1f3;color:#34434d;border:1px solid #ced6dc;box-shadow:none}
#sanbo-site .terminal-home .tm-summary:before{background:#fff}
#sanbo-site .terminal-home .tm-summary p,#sanbo-site .terminal-home .tm-summary span{color:#687983}
#sanbo-site .terminal-home .tm-summary-next{background:#ffffffb0;border-color:#d1dade}
#sanbo-site .terminal-home .tm-tabs button{color:#667780;border-color:#b5c2c9}
#sanbo-site .terminal-home .tm-tabs button[aria-selected=true],#sanbo-site .terminal-home .tm-arrows button{background:#e4eaee;color:#2d3b44}
#sanbo-site .terminal-home .tm-app-card{border-radius:24px!important}
#sanbo-site .terminal-home .tm-app-copy :is(h3,p){color:#f2f5f7}
#sanbo-site .terminal-home .tm-evidence{background:#f4f6f7;padding-top:75px;padding-bottom:75px;border-radius:24px;margin-inline:3vw}
#sanbo-site .terminal-home .tm-evidence-grid a{color:#586a75;border-color:#a9bac544;background:transparent;font-size:21px}
#sanbo-site .terminal-home .tm-evidence-grid a:before{display:none}
#sanbo-site .terminal-home .tm-contact{padding-block:95px 75px}
#sanbo-site .terminal-home .tm-form-panel{background:#f1f4f6;border-color:#d8e0e4;border-radius:22px}
#sanbo-site .terminal-home .corp-form label,#sanbo-site .terminal-home .corp-form input,#sanbo-site .terminal-home .corp-form textarea{color:#3c4c57}
#sanbo-site .terminal-home .corp-form input::placeholder,#sanbo-site .terminal-home .corp-form textarea::placeholder{color:#8b969e}
#sanbo-site .terminal-home .corp-form .solid-button{background:#26343e;color:#fff;border-radius:25px}
#sanbo-site .terminal-home .tm-contact-copy :is(p,ul,.tm-contact-tags){color:#657680}
#sanbo-site .terminal-home .tm-contact-copy>p:not(.tm-kicker){color:#657680}
#sanbo-site .terminal-home .tm-contact-copy li:before{color:#7c939f}
#sanbo-site .terminal-home .tm-form-panel .solid-button span{color:#fff!important}
#sanbo-site .terminal-home #tm-summary-qty{color:#344752}
#sanbo-site .terminal-home .tm-planner label,#sanbo-site .terminal-home .tm-summary dl dt{color:#637985}
/* Category catalogue: reference proportions plus the retained filter rail. */
#sanbo-site.corp-site[data-page=products]{background:#fff;color:#273139;--line:#34495428;--muted:#73818a}
#sanbo-site.corp-site[data-page=products] .page-intro{text-align:center;padding:165px 5vw 75px;background:#fff;border:0}
#sanbo-site.corp-site[data-page=products] .page-intro .section-label{justify-content:center;color:#80909b}
#sanbo-site.corp-site[data-page=products] .page-intro h1{font:400 clamp(60px,7vw,112px)/1.2 var(--sans);letter-spacing:-.06em;margin:0 0 32px;max-width:none;width:100%}
#sanbo-site.corp-site[data-page=products] .page-intro .lead{font-size:clamp(18px,1.6vw,26px);line-height:1.6;color:#626d74;margin:auto;max-width:920px}
#sanbo-site.corp-site[data-page=products] .catalog-section{padding:0 4.5vw 90px}
#sanbo-site.corp-site[data-page=products] .catalog-layout{grid-template-columns:190px minmax(0,1fr);gap:40px;align-items:start}
#sanbo-site.corp-site[data-page=products] .catalog-sidebar{position:sticky;top:125px;align-self:start}
#sanbo-site.corp-site[data-page=products] #category-filters button{border:0;border-radius:10px;padding:13px 12px;color:#647781;background:transparent;font-size:13px;transition:background .3s,color .3s}
#sanbo-site.corp-site[data-page=products] #category-filters button.active,#sanbo-site.corp-site[data-page=products] #category-filters button:hover{background:#eaf0f3;color:#202e38}
#sanbo-site.corp-site[data-page=products] .catalog-help{background:#f4f6f7;border-radius:16px;padding:22px 18px;margin-top:28px;border:0}
#sanbo-site.corp-site[data-page=products] .catalog-help h3{font:500 15px/1.6 var(--sans)}
#sanbo-site.corp-site[data-page=products] .catalog-help p{color:#7e8e97}
#sanbo-site.corp-site[data-page=products] .catalog-help .line-link{color:#344752;gap:15px}
#sanbo-site.corp-site[data-page=products] .catalog-controls{gap:24px}
#sanbo-site.corp-site[data-page=products] .catalog-controls :is(input,select){color:#344752;border-color:#abbac5}
#sanbo-site.corp-site[data-page=products] .product-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:30px 20px}
#sanbo-site.corp-site[data-page=products] .product-card{position:relative;aspect-ratio:1;border-radius:12px;overflow:hidden;isolation:isolate;background:#dce2e5;display:block}
#sanbo-site.corp-site[data-page=products] .product-stage{position:absolute;inset:0;aspect-ratio:auto;background:#dce2e5}
#sanbo-site.corp-site[data-page=products] .product-stage img{padding:0;mix-blend-mode:multiply;transition:transform .85s cubic-bezier(.2,.75,.2,1),filter .6s}
#sanbo-site.corp-site[data-page=products] .ic-product-label{position:absolute;inset:auto 0 0;padding:50px 14px 14px;background:linear-gradient(transparent,#dce2e5f5);transition:translate .5s}
#sanbo-site.corp-site[data-page=products] .product-card small{font:9px/1.5 var(--sans);color:#63747f;margin:0 0 5px}
#sanbo-site.corp-site[data-page=products] .product-card h3{font:500 12px/1.5 var(--sans);color:#263641;margin:0}
#sanbo-site.corp-site[data-page=products] .product-card .card-foot{position:absolute;inset:auto 0 0;padding:12px 14px;background:#f5f8faed;display:flex;align-items:center;gap:12px;border:0;translate:0 100%;transition:translate .5s}
#sanbo-site.corp-site[data-page=products] .product-card .card-foot p{font-size:9px;color:#697c87}
#sanbo-site.corp-site[data-page=products] .product-card .card-foot span{font-size:10px;color:#304753;white-space:nowrap}
#sanbo-site.corp-site[data-page=products] .product-card:is(:hover,:focus-visible) .product-stage img{transform:scale(1.12) translateY(-4%);filter:contrast(1.035)}
#sanbo-site.corp-site[data-page=products] .product-card:is(:hover,:focus-visible) .ic-product-label{translate:0 -38px}
#sanbo-site.corp-site[data-page=products] .product-card:is(:hover,:focus-visible) .card-foot{translate:0 0}
#sanbo-site.corp-site[data-page=products] :is(.outline-button,.circle-cta){background:#edf1f3;color:#344752;border:0;border-radius:28px}
#sanbo-site.corp-site[data-page=products] .closing{background:#f4f6f7;border-radius:24px;margin:0 4.5vw 70px;padding:65px 5vw}
#sanbo-site.corp-site[data-page=products] .closing :is(h2,p){font-family:var(--sans);color:#596b77}
@media(max-width:1200px){#sanbo-site.corp-site[data-page=products] .product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){#sanbo-site .ic-material-intro{padding:70px 24px}#sanbo-site .ic-material-intro>h2{margin-bottom:55px}#sanbo-site .ic-material-grid{grid-template-columns:1fr}#sanbo-site .ic-material-caption{translate:0 0;opacity:1}#sanbo-site.corp-site[data-page=products] .catalog-layout{grid-template-columns:1fr}#sanbo-site.corp-site[data-page=products] .catalog-sidebar{position:static}#sanbo-site.corp-site[data-page=products] .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){#sanbo-site :is(.ic-material-card img,.ic-material-caption,.product-stage img,.ic-product-label,.card-foot){transition:none!important}}

/* 1.5.1: photographic product stories and machined silver surfaces. */
#sanbo-site .ic-material-card{aspect-ratio:1;background:#e9edf0;box-shadow:0 1px 1px #26364112}
#sanbo-site .ic-material-card>img{object-fit:cover}
#sanbo-site .ic-material-card h3{margin:0;padding:22px 12px 52px;background:linear-gradient(#f4f6f7f0,#f4f6f7a0 60%,transparent);font-weight:400;color:#28333b;text-shadow:0 1px #fff9}
#sanbo-site .ic-material-caption{background:linear-gradient(transparent,#f4f6f7ed 55%);padding-bottom:22px}
#sanbo-site .ic-scene-note{font-size:10px;text-align:right;color:#8d989f;margin:16px auto 0;max-width:1720px}
#sanbo-site .terminal-home .tm-steps-inner{grid-template-columns:1fr 1fr;grid-template-rows:auto minmax(0,1fr);column-gap:64px;row-gap:24px;align-content:stretch;align-items:center;height:100vh;padding:112px 0 32px;max-width:1440px;width:calc(100% - 140px)}
#sanbo-site .tm-service-intro{grid-column:1 / -1;grid-row:1;margin:0;text-align:center}
#sanbo-site .tm-service-intro .tm-intro{max-width:1150px}
#sanbo-site .tm-service-intro .tm-intro h2{font-size:clamp(28px,2.35vw,42px);line-height:1.25;color:#424e56}
#sanbo-site .tm-service-intro .tm-kicker{display:none}
#sanbo-site .tm-service-intro .tm-lead{font-size:14px;line-height:1.8;margin:14px auto 0;max-width:900px;color:#6c7c86}
#sanbo-site .terminal-home .tm-step-copy{grid-row:2;grid-column:1;height:100%;max-height:460px}
#sanbo-site .terminal-home .tm-step-media{grid-row:2;grid-column:2;height:100%;max-height:460px;min-height:0;border-radius:20px;clip-path:polygon(0 0,100% 0,100% 100%,0 100%,0 72%,5% 66%,5% 27%,0 21%);box-shadow:inset 0 1px #fff}
#sanbo-site .terminal-home .tm-step h3{font-size:clamp(24px,2vw,32px);line-height:1.4;margin-bottom:22px}
#sanbo-site .terminal-home .tm-step .tm-reading{font-size:clamp(16px,1.25vw,20px);line-height:1.9;max-width:28em}
#sanbo-site .terminal-home .tm-step-counter{top:auto;bottom:26px;left:0;font-size:11px;color:#81929d}
/* Steel sheets: directional sheen, fine brushing and a defined edge thickness. */
#sanbo-site .terminal-home :is(.tm-summary,.tm-form-panel){isolation:isolate;border:1px solid #b5c2cc;border-radius:20px;background:linear-gradient(112deg,#f8fafb 0%,#edf1f3 22%,#dce3e8 43%,#f5f7f8 66%,#e0e7ec 100%);box-shadow:inset 0 1px 0 #fff,inset 1px 0 0 #ffffffd9,inset -1px -1px 0 #9aaab451,0 3px 0 #c8d2d9,0 4px 0 #a7b6c0,0 18px 36px -18px #203d5366,0 40px 70px -50px #1c34455e;position:relative}
#sanbo-site .terminal-home :is(.tm-summary,.tm-form-panel):after{content:"";position:absolute;inset:1px;border-radius:inherit;pointer-events:none;z-index:-1;background:repeating-linear-gradient(0deg,#ffffff00 0px,#ffffff00 2px,#4b66740b 2.5px,#ffffff5c 3px);opacity:.6}
#sanbo-site .terminal-home .tm-summary{padding:42px 34px 30px}
#sanbo-site .terminal-home .tm-summary:before{height:20px;box-shadow:0 2px 1px #8fa1ad55;border-radius:0 0 14px 14px;background:#fff;z-index:2}
#sanbo-site .terminal-home .tm-summary h3{font-size:28px;color:#344853;text-shadow:0 1px #fff}
#sanbo-site .terminal-home .tm-summary-next{background:linear-gradient(140deg,#ffffffbc,#f5f8f97a);border:1px solid #becbd4;border-radius:13px;box-shadow:inset 0 1px #fff,0 2px 4px #7c919e14;padding:24px;margin-top:24px}
#sanbo-site .terminal-home .tm-summary-next h4{font-size:22px;color:#3b505e}
#sanbo-site .terminal-home .tm-planner{padding-block:65px}
#sanbo-site .terminal-home .tm-planner>.tm-intro{height:auto;padding:0;margin-bottom:42px}
#sanbo-site .terminal-home .tm-planner-grid{padding:0 0 25px}
#sanbo-site .terminal-home .tm-form-panel{padding:32px 34px 30px}
#sanbo-site .terminal-home .corp-form :is(input,textarea){border-bottom-color:#8196a67a;background:linear-gradient(0deg,#ffffff28,transparent 55%);padding-inline:3px}
#sanbo-site .terminal-home .corp-form :is(input,textarea):focus{outline:0;border-bottom-color:#304b5c;box-shadow:0 1px #304b5c}
#sanbo-site .terminal-home .corp-form .solid-button,#sanbo-site .terminal-home #tm-apply{background:linear-gradient(135deg,#3c5262,#263d4c);color:#fff;box-shadow:inset 0 1px #90a8b6,0 2px 0 #172d3c,0 5px 10px #344d6122;border:1px solid #263f50;min-height:44px}
#sanbo-site .terminal-home #tm-apply:hover,#sanbo-site .terminal-home .corp-form .solid-button:hover{background:linear-gradient(135deg,#4f6777,#344e60)}
@media(max-height:780px) and (min-width:1000px){#sanbo-site .terminal-home .tm-steps-inner{padding-top:102px;padding-bottom:24px;row-gap:18px}#sanbo-site .tm-service-intro .tm-intro h2{font-size:28px}#sanbo-site .tm-service-intro .tm-lead{font-size:12px;margin-top:8px}#sanbo-site .terminal-home .tm-step .tm-reading{font-size:15px;line-height:1.75}}
@media(max-width:800px){#sanbo-site .terminal-home .tm-steps-inner{width:calc(100% - 40px);column-gap:22px}#sanbo-site .tm-service-intro .tm-intro h2{font-size:24px}#sanbo-site .tm-service-intro .tm-lead{font-size:12px}}

/* 1.6.0 brand and silver refinements. */
#sanbo-site.corp-site .hero .hero-end{right:2.8vw;top:15%;translate:none;max-width:31vw;width:31vw;padding:12px 20px 20px;background:linear-gradient(135deg,#0005,transparent);border-radius:12px}
#sanbo-site.corp-site .hero .hero-end h2{font-size:clamp(30px,3.05vw,56px);line-height:1.25;margin:12px 0 16px}
#sanbo-site.corp-site .hero .hero-end .chapter-description{font-size:13px;margin:12px 0;max-width:100%}
#sanbo-site.corp-site .hero .hero-end .hero-guide{margin-top:16px}
#sanbo-site.corp-site .hero .hero-end{top:12%;right:2.2vw;width:30.5vw;max-width:30.5vw;padding:8px 14px;background:transparent}
#sanbo-site.corp-site .hero .hero-end h2{font-size:clamp(28px,2.5vw,44px);line-height:1.15;margin:8px 0 12px}
#sanbo-site.corp-site .hero .hero-end .chapter-description{font-size:12px;line-height:1.65;margin:8px 0}
#sanbo-site.corp-site .hero .hero-end .hero-guide{margin-top:8px;min-height:36px;height:36px;padding:8px 14px;font-size:12px}
#sanbo-site .ic-material-intro{padding-top:75px}
#sanbo-site .ic-brand-logo{display:block;width:170px;height:106px;object-fit:contain;margin:0 auto 28px}
#sanbo-site .ic-material-intro>h2{font-size:clamp(30px,3vw,54px);line-height:1.4;margin-bottom:100px}
#sanbo-site .ic-material-card h3{font-size:clamp(17px,1.25vw,25px);padding-top:21px}
#sanbo-site .ic-material-caption{text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding-inline:20px}
#sanbo-site .ic-material-caption p{text-align:center}
#sanbo-site .ic-material-caption span{align-self:center}
#sanbo-site .terminal-home .tm-steps-inner{padding-top:145px;padding-bottom:28px;row-gap:20px}
#sanbo-site .terminal-home .tm-step-copy,#sanbo-site .terminal-home .tm-step-media{max-height:560px}
#sanbo-site .terminal-home :is(.tm-summary,.tm-form-panel){background:linear-gradient(115deg,#ffffff9c,#ffffff18 35%,#ffffff55 70%,#ffffff08),url('steel-neutral-photo.webp') center/cover;border-color:#b9bdc0;box-shadow:inset 0 1px #fff,inset 1px 0 #ffffffe6,inset -1px -1px #969b9f55,0 3px 0 #cacdd0,0 4px 0 #b0b4b7,0 20px 35px -18px #30343855,0 40px 65px -50px #34383b55}
#sanbo-site .terminal-home :is(.tm-summary,.tm-form-panel):after{background:none;opacity:0}
#sanbo-site .terminal-home .tm-summary-next{background:linear-gradient(130deg,#ffffffe6,#ffffff88);border-color:#c0c3c6;box-shadow:inset 0 1px #fff,0 2px 6px #30343814}
#sanbo-site .terminal-home :is(.tm-summary,.tm-form-panel) :is(h3,h4,label,dt,dd,input,textarea,p,span){color:#42484d}
#sanbo-site .terminal-home #tm-summary-qty{color:#333a40}
#sanbo-site .terminal-home #tm-apply,#sanbo-site .terminal-home .corp-form .solid-button{background:linear-gradient(135deg,#62666b,#343a3f);border-color:#444a4f;box-shadow:inset 0 1px #a8adb1,0 2px 0 #2b3035,0 5px 10px #34383d20;color:#fff}
#sanbo-site .terminal-home #tm-apply span,#sanbo-site .terminal-home .corp-form .solid-button span{color:#fff!important}
#sanbo-site .terminal-home .tm-form-panel input::placeholder,#sanbo-site .terminal-home .tm-form-panel textarea::placeholder{color:#7e858a}
#sanbo-site .terminal-home .tm-app-card>img{filter:none;transition:transform .85s cubic-bezier(.2,.75,.2,1)}
#sanbo-site .terminal-home .tm-app-shade{background:linear-gradient(0deg,#11111120,transparent 60%)}
#sanbo-site .terminal-home .tm-app-copy{position:absolute;inset:auto 0 0;padding:65px 30px 45px;max-width:none;background:linear-gradient(transparent,#111111c9 32%,#111111dc);transition:padding-bottom .45s}
#sanbo-site .terminal-home .tm-app-copy h3{font-size:29px;line-height:1.35;margin:12px 0 16px;color:#fff}
#sanbo-site .terminal-home .tm-app-copy>p:not(.tm-mono){font-size:15px;line-height:1.8;color:#f0f0f0}
#sanbo-site .terminal-home .tm-app-copy .tm-mono{color:#ddd;font-size:10px}
#sanbo-site .terminal-home .tm-app-copy .tm-button{margin-top:22px;background:#fffffff2;color:#343a3f;min-height:40px;padding:10px 22px}
#sanbo-site .terminal-home .tm-app-card{transition:translate .45s,box-shadow .45s!important;box-shadow:0 2px 4px #0001}
#sanbo-site .terminal-home .tm-app-card:hover,#sanbo-site .terminal-home .tm-app-card:focus-within{translate:0 -7px;box-shadow:0 18px 30px -18px #0006}
#sanbo-site .terminal-home .tm-app-card:hover>img,#sanbo-site .terminal-home .tm-app-card:focus-within>img{transform:scale(1.045)}
#sanbo-site .terminal-home .tm-app-card:hover .tm-app-copy{padding-bottom:52px}
#sanbo-site .terminal-home .tm-app-card>small{left:auto;right:16px;bottom:10px;color:#bfc1c2;font-size:8px;z-index:3}
#sanbo-site .terminal-home .tm-arrows{display:none!important}
#sanbo-site .terminal-home .tm-carousel-window{padding-top:12px}
@media(max-height:800px) and (min-width:1000px){#sanbo-site .terminal-home .tm-steps-inner{padding-top:125px;row-gap:16px}#sanbo-site .tm-service-intro .tm-intro h2{font-size:28px}#sanbo-site .tm-service-intro .tm-lead{font-size:12px;line-height:1.7}#sanbo-site .terminal-home .tm-step .tm-reading{font-size:15px}}
@media(prefers-reduced-motion:reduce){#sanbo-site .terminal-home .tm-app-card,#sanbo-site .terminal-home .tm-app-card>img{transition:none!important;translate:none!important}}

/* 1.6.1 — proportion refinements and a full-width inquiry desk. */
#sanbo-site .ic-material-card h3{font-size:16px}
#sanbo-site .ic-material-caption p{font-size:19px;line-height:1.5}
#sanbo-site .terminal-home .tm-steps-inner{grid-template-columns:.9fr 1.1fr;row-gap:12px;padding-top:128px;padding-bottom:22px}
#sanbo-site .terminal-home .tm-step-media,#sanbo-site .terminal-home .tm-step-copy{max-height:640px}
#sanbo-site .terminal-home .tm-step h3{font-size:clamp(28px,2.5vw,40px);margin-bottom:18px}
#sanbo-site .terminal-home .tm-step .tm-reading{font-size:16px;line-height:1.65;max-width:30em}
#sanbo-site .terminal-home .tm-contact{display:block;max-width:1440px;padding:80px 0 92px;border-top:1px solid #d6d8da}
#sanbo-site .terminal-home .tm-contact-copy{text-align:center;max-width:none;margin:0 auto 42px}
#sanbo-site .terminal-home .tm-contact-copy h2{font-size:clamp(32px,3.2vw,52px);line-height:1.35;margin:14px 0 18px}
#sanbo-site .terminal-home .tm-contact-copy>p:not(.tm-kicker){font-size:15px;margin:0;line-height:1.8}
#sanbo-site .terminal-home .tm-contact .tm-form-panel{padding:38px 44px 26px;border-radius:18px;max-width:none;width:100%;min-height:0;background:linear-gradient(115deg,#ffffffb5,#ffffff70),url('steel-neutral-photo.webp') center/cover}
#sanbo-site .terminal-home .tm-contact .corp-form{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:24px 32px;align-items:start}
#sanbo-site .terminal-home .tm-contact .form-row{display:contents}
#sanbo-site .terminal-home .tm-contact .corp-form>label:has(textarea){grid-column:2/4;grid-row:2}
#sanbo-site .terminal-home .tm-contact .corp-form>label:has(#inquiry-interest){grid-column:1;grid-row:2}
#sanbo-site .terminal-home .tm-contact .corp-form textarea{min-height:90px;height:90px;resize:vertical}
#sanbo-site .terminal-home .tm-contact .corp-form label{margin:0}
#sanbo-site .terminal-home .tm-contact .corp-form .form-consent{grid-column:1/3;align-self:center}
#sanbo-site .terminal-home .tm-contact .corp-form .solid-button{grid-column:3;justify-self:end;margin:0;width:168px}
#sanbo-site .terminal-home .tm-contact #inquiry-status{grid-column:1/-1;margin:0;min-height:0}
#sanbo-site .terminal-home .tm-contact #inquiry-status:empty{display:none}
@media(max-width:800px){#sanbo-site .terminal-home .tm-contact .corp-form{display:flex;flex-direction:column}#sanbo-site .terminal-home .tm-contact .corp-form label{width:100%}#sanbo-site .terminal-home .tm-contact .form-row{display:block}#sanbo-site .terminal-home .tm-contact .tm-form-panel{padding:26px}}

#sanbo-site .terminal-home .tm-contact{width:calc(100% - 140px);margin-inline:auto}

/* 1.6.2 — shared chapter typography and service heading rhythm. */
#sanbo-site.corp-site .hero .hero-end{width:37vw;max-width:37vw;right:2.2vw;top:10%;padding:0 12px}
#sanbo-site.corp-site .hero .hero-end h2{font-size:var(--chapter-title-size);line-height:1.2;letter-spacing:-.04em;font-weight:400;margin:14px 0 20px}
#sanbo-site.corp-site .hero :is(.hero-description,.chapter-description){font-size:13px;line-height:2}
#sanbo-site.corp-site .hero .hero-end .chapter-description{font-size:13px;line-height:2;margin:0 0 12px;max-width:none}
#sanbo-site .terminal-home .tm-service-intro .tm-intro,#sanbo-site .terminal-home .tm-planner>.tm-intro{height:auto;padding:0;margin:0 auto 42px;max-width:1200px;display:block;text-align:center}
#sanbo-site .terminal-home .tm-service-intro .tm-kicker,#sanbo-site .terminal-home .tm-planner>.tm-intro .tm-kicker{display:block;font-size:19px;line-height:1.4;margin:0 0 24px}
#sanbo-site .terminal-home .tm-service-intro .tm-intro h2,#sanbo-site .terminal-home .tm-planner>.tm-intro h2{font-size:clamp(34px,3.5vw,60px);line-height:1.35;letter-spacing:-.035em;margin:0;color:#434b50}
#sanbo-site .terminal-home .tm-steps-inner{row-gap:0;align-content:start;grid-template-rows:auto minmax(0,1fr)}
#sanbo-site .terminal-home .tm-step-media .tm-steel-outline{position:absolute;inset:0;width:100%;height:100%;z-index:5;pointer-events:none;filter:drop-shadow(0 1px 1px #0002)}

#sanbo-site .terminal-home .tm-step-media{align-self:start}#sanbo-site .terminal-home .tm-step-copy{align-self:start;height:100%}

#sanbo-site.corp-site .hero .hero-end h2{margin:8px 0 8px}#sanbo-site.corp-site .hero .hero-end .chapter-description{margin:0}#sanbo-site.corp-site .hero .hero-end .hero-guide{margin-top:0}

/* Keep the service scene and its caption readable on narrow screens. */
@media (max-width: 650px) {
  #sanbo-site[data-page="home"] .terminal-home .tm-steps-inner {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto minmax(0, 1fr) auto;
    row-gap: 12px;
    padding: 146px 0 22px;
  }
  #sanbo-site .terminal-home .tm-service-intro .tm-intro { margin-bottom: 0; }
  #sanbo-site .terminal-home .tm-service-intro .tm-kicker { display: none; }
  #sanbo-site .terminal-home .tm-service-intro .tm-intro h2 { font-size: 25px; }
  #sanbo-site .terminal-home .tm-step-copy { grid-area: 2 / 1; align-self: stretch; }
  #sanbo-site .terminal-home .tm-step h3 { font-size: 23px; margin-bottom: 8px; }
  #sanbo-site .terminal-home .tm-step .tm-reading { font-size: 15px; line-height: 1.55; }
  #sanbo-site .terminal-home .tm-step-counter { display: none; }
  #sanbo-site .terminal-home .tm-step-media {
    grid-area: 3 / 1;
    height: clamp(120px, 28vh, 260px);
  }
  #sanbo-site .terminal-home .tm-app-card,
  #sanbo-site .terminal-home .tm-app-card.is-expanded {
    width: min(580px, calc(100vw - 64px));
    flex-basis: min(580px, calc(100vw - 64px));
    height: 450px;
  }
  #sanbo-site .terminal-home .tm-carousel-window { padding-inline: 20px; scroll-padding-inline: 20px; }
  #sanbo-site .terminal-home .tm-app-copy { padding: 24px; }
  #sanbo-site .terminal-home .tm-app-copy h3 { font-size: 27px; }
  #sanbo-site .terminal-home .tm-app-card > small { left: 24px; }
}

/* Give the fourth chapter its own centered area above the equipment. */
#sanbo-site.corp-site[data-page="home"] .hero .hero-end {
  inset-inline: 0;
  top: max(108px, 13%);
  width: min(88%, 980px);
  max-width: none;
  margin-inline: auto;
  padding: 0;
  text-align: center;
}
#sanbo-site.corp-site[data-page="home"] .hero .hero-end h2 {
  font-size: clamp(34px, 3.5vw, 58px);
  margin: 8px 0;
}
#sanbo-site.corp-site[data-page="home"] .hero .hero-end .hero-guide { margin-top: 10px; }
@media (min-width: 950px) {
  #sanbo-site.corp-site[data-page="home"] .hero .hero-end :is(h2, .chapter-description) br { display: none; }
}
@media (max-width: 700px) {
  #sanbo-site.corp-site[data-page="home"] .hero .hero-end { top: max(146px, 18%); }
  #sanbo-site.corp-site[data-page="home"] .hero .hero-end h2 { font-size: clamp(27px, 7vw, 36px); }
  #sanbo-site.corp-site[data-page="home"] .hero .hero-end .chapter-description { font-size: 12px; line-height: 1.55; }
}

@media (max-width: 600px) {
  #sanbo-site.corp-site[data-page="home"] .hero-shade {
    /* Open the existing shade over the products as the fourth chapter settles. */
    --product-light: clamp(0, calc((var(--scene-progress, 0) - .73) / .27), 1);
    --product-shade: radial-gradient(
      ellipse 76% 25% at 50% max(63%, 408px),
      rgb(0 0 0 / calc(1 - .46 * var(--product-light))) 52%,
      #000 100%
    );
    /* Lift the earlier close-ups, then hand off to the existing fourth-chapter shade. */
    --detail-light: clamp(0, calc((.82 - var(--scene-progress, .82)) / .15), 1);
    --detail-shade: radial-gradient(
      ellipse 83% 16% at 54% 54%,
      rgb(0 0 0 / calc(1 - .39 * var(--detail-light))) 44%,
      #000 100%
    );
    -webkit-mask-image: var(--product-shade), var(--detail-shade);
    -webkit-mask-composite: source-in;
    mask-image: var(--product-shade), var(--detail-shade);
    mask-composite: intersect;
  }
}

@media (max-width: 600px) {
  #sanbo-site.corp-site[data-page="home"] .hero .hero-copy h1 {
    font-size: clamp(36px, 11.7vw, 52px);
    line-height: 1.16;
  }

  #sanbo-site.corp-site[data-page="home"] .hero :is(.chapter-detail, .chapter-worktable) h2 {
    font-size: clamp(28px, 8.6vw, 42px);
    line-height: 1.24;
  }

  #sanbo-site .terminal-home .tm-applications .tm-intro {
    padding-inline: 20px;
  }

  #sanbo-site .terminal-home .tm-applications .tm-intro h2 {
    font-size: clamp(28px, 8vw, 38px);
  }

  #sanbo-site .terminal-home .tm-applications .tm-lead {
    color: #545e64;
    font-size: 15px;
  }

  #sanbo-site .terminal-home .tm-carousel-controls {
    width: calc(100% - 40px);
    height: auto;
  }

  #sanbo-site .terminal-home .tm-carousel-controls .tm-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    gap: 8px;
  }

  #sanbo-site .terminal-home .tm-carousel-controls button {
    min-height: 44px;
    padding: 0 8px;
  }
}
