/* Terminal reference proportions, scoped to Sanbo interior pages. */
#sanbo-site.corp-site.inner-site.tp-site{--tp-ink:#343b3e;--tp-muted:#7c8589;--tp-line:#dce0e1;--tp-steel:#e9ebec;background:#fff;color:var(--tp-ink);font-family:Arial,"Microsoft YaHei",sans-serif;overflow:clip;font-weight:400}
#sanbo-site.corp-site.inner-site.tp-site .tp-defs{position:absolute;width:0;height:0;overflow:hidden}
#sanbo-site.corp-site.inner-site.tp-site main{padding:0;max-width:none}
#sanbo-site.corp-site.inner-site.tp-site h1,#sanbo-site.corp-site.inner-site.tp-site h2,#sanbo-site.corp-site.inner-site.tp-site h3{font-family:Arial,"Microsoft YaHei",sans-serif;font-weight:400;color:inherit;letter-spacing:-.045em;margin:0;max-width:none}
#sanbo-site.corp-site.inner-site.tp-site p{margin:0;color:inherit}
#sanbo-site.corp-site.inner-site.tp-site a{text-decoration:none}
#sanbo-site.corp-site.inner-site.tp-site .tp-hero{height:90vh;min-height:660px;max-height:1000px;position:relative;display:flex;align-items:center;justify-content:center;text-align:center;padding:100px 32px 40px;margin:0;isolation:isolate}
#sanbo-site.corp-site.inner-site.tp-site .tp-hero.tp-short{height:510px;min-height:510px}
#sanbo-site.corp-site.inner-site.tp-site .tp-hero-copy{width:min(934px,90%);position:relative;z-index:1}
#sanbo-site.corp-site.inner-site.tp-site .tp-kicker{font-size:20px;line-height:1.4;color:var(--tp-muted);letter-spacing:-.025em;margin:0 0 34px}
#sanbo-site.corp-site.inner-site.tp-site h1{font-size:70px;line-height:1.05}
#sanbo-site.corp-site.inner-site.tp-site .tp-lead{font-size:18px;line-height:1.5;max-width:490px;margin:36px auto 0;color:#697276}
#sanbo-site.corp-site.inner-site.tp-site .tp-grid{position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(#c8cdd340 1px,transparent 1px),linear-gradient(90deg,#c8cdd340 1px,transparent 1px);background-size:77px 77px;mask-image:radial-gradient(ellipse at 80% 44%,#0009,transparent 62%);opacity:.7}
#sanbo-site.corp-site.inner-site.tp-site .tp-grid:after{content:"";position:absolute;left:77%;top:30%;width:77px;height:1px;background:#879399;animation:tp-grid-light 7s ease-in-out infinite}
@keyframes tp-grid-light{0%,100%{opacity:0;transform:translateX(-77px)}45%,55%{opacity:.8;transform:translateX(0)}}
#sanbo-site.corp-site.inner-site.tp-site .tp-row{display:grid;grid-template-columns:1fr 1fr;gap:15px;align-items:center;margin:0 0 30px;padding:0;min-height:0}
#sanbo-site.corp-site.inner-site.tp-site .tp-row-copy{position:relative;padding:70px 9% 70px 7.4%;max-width:660px}
#sanbo-site.corp-site.inner-site.tp-site .tp-index{font:10px/1.5 monospace;letter-spacing:2px;color:#899397}
#sanbo-site.corp-site.inner-site.tp-site .tp-row-copy>.tp-index{position:absolute;left:22px;top:77px}
#sanbo-site.corp-site.inner-site.tp-site .tp-row h2{font-size:34.5px;line-height:1.16;letter-spacing:-.045em;margin:0 0 42px}
#sanbo-site.corp-site.inner-site.tp-site .tp-row-copy>p{font-size:18px;line-height:1.55;color:#6c7478;max-width:540px}
#sanbo-site.corp-site.inner-site.tp-site .tp-picture{position:relative;width:100%;height:clamp(540px,47vw,760px);margin:0;filter:drop-shadow(0 2px 0 #aeb3b5)}
#sanbo-site.corp-site.inner-site.tp-site .tp-image{height:100%;width:100%;clip-path:url(#tp-notch);overflow:hidden;background:#e9ebec}
#sanbo-site.corp-site.inner-site.tp-site .tp-picture img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.055);transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
#sanbo-site.corp-site.inner-site.tp-site .tp-picture:hover img{transform:scale(1.015)}
#sanbo-site.corp-site.inner-site.tp-site .tp-picture figcaption{position:absolute;bottom:22px;left:24px;color:#fff;background:#242a2c99;font-size:10px;line-height:1.5;padding:4px 7px;max-width:80%}
#sanbo-site.corp-site.inner-site.tp-site .tp-reverse .tp-picture{grid-column:1;grid-row:1}
#sanbo-site.corp-site.inner-site.tp-site .tp-reverse .tp-row-copy{grid-column:2;grid-row:1;padding-left:15%}
#sanbo-site.corp-site.inner-site.tp-site .tp-reverse .tp-row-copy>.tp-index{left:9%}
#sanbo-site.corp-site.inner-site.tp-site .tp-reverse .tp-image{transform:scaleX(-1)}
#sanbo-site.corp-site.inner-site.tp-site .tp-reverse .tp-image img{transform:scaleX(-1) scale(1.055)}
#sanbo-site.corp-site.inner-site.tp-site .tp-reverse .tp-picture:hover img{transform:scaleX(-1) scale(1.015)}
#sanbo-site.corp-site.inner-site.tp-site .tp-link{display:inline-block;color:#343b3e;font-size:13px;padding:12px 0 8px;border-bottom:1px solid #8c9599;margin-top:24px;transition:letter-spacing .3s,border-color .3s}
#sanbo-site.corp-site.inner-site.tp-site .tp-link:hover{letter-spacing:1px;border-color:#111}
#sanbo-site.corp-site.inner-site.tp-site .tp-heading{text-align:center;padding:150px 32px 80px;max-width:1100px;margin:auto}
#sanbo-site.corp-site.inner-site.tp-site .tp-heading h2{font-size:64px;line-height:1.1}
#sanbo-site.corp-site.inner-site.tp-site .tp-heading>p:last-child:not(.tp-kicker){font-size:17px;line-height:1.6;max-width:650px;margin:30px auto 0;color:#7c8589}
#sanbo-site.corp-site.inner-site.tp-site .tp-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:0 52px 100px}
#sanbo-site.corp-site.inner-site.tp-site .tp-card{border-radius:20px;overflow:hidden;background:#eff0f1;display:flex;flex-direction:column;color:inherit;border:1px solid #e0e3e5;transition:transform .5s,box-shadow .5s;position:relative}
#sanbo-site.corp-site.inner-site.tp-site .tp-card:hover{transform:translateY(-7px);box-shadow:0 18px 35px #17252d16}
#sanbo-site.corp-site.inner-site.tp-site .tp-card-media{height:290px;overflow:hidden}
#sanbo-site.corp-site.inner-site.tp-site .tp-card img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
#sanbo-site.corp-site.inner-site.tp-site .tp-card:hover img{transform:scale(1.045)}
#sanbo-site.corp-site.inner-site.tp-site .tp-card-copy{padding:25px 26px 28px;flex:1;display:flex;flex-direction:column}
#sanbo-site.corp-site.inner-site.tp-site .tp-card .tp-kicker{font:10px/1.4 monospace;letter-spacing:1px;margin-bottom:18px}
#sanbo-site.corp-site.inner-site.tp-site .tp-card h3{font-size:28px;line-height:1.25;margin-bottom:20px}
#sanbo-site.corp-site.inner-site.tp-site .tp-card-copy>p:not(.tp-kicker){font-size:15px;line-height:1.7;color:#6c7478;margin-bottom:28px}
#sanbo-site.corp-site.inner-site.tp-site .tp-card-action{font-size:12px;margin-top:auto;align-self:flex-start;border-bottom:1px solid #a8afb2;padding-bottom:6px}
#sanbo-site.corp-site.inner-site.tp-site .tp-closing{text-align:center;padding:110px 30px 130px;background:#edf0f1;position:relative;clip-path:polygon(0 0,12% 0,15% 22px,85% 22px,88% 0,100% 0,100% 100%,0 100%)}
#sanbo-site.corp-site.inner-site.tp-site .tp-closing h2{font-size:60px;line-height:1.13;margin-bottom:36px}
#sanbo-site.corp-site.inner-site.tp-site .tp-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 30px;border-radius:7px;background:linear-gradient(120deg,#62696c,#31373a);box-shadow:inset 0 1px 0 #ffffff80,0 2px 3px #0002;color:white;font-size:13px;border:1px solid #50585b;transition:filter .3s,transform .3s}
#sanbo-site.corp-site.inner-site.tp-site .tp-button:hover{filter:brightness(1.2);transform:translateY(-2px)}
#sanbo-site.corp-site.inner-site.tp-site .tp-band{background:#1d2427;color:#f0f2f3;padding:20px 52px 100px;margin:0;clip-path:polygon(0 0,60% 0,63% 28px,100% 28px,100% 100%,16% 100%,13% calc(100% - 28px),0 calc(100% - 28px))}
#sanbo-site.corp-site.inner-site.tp-site .tp-band .tp-heading{padding:100px 20px 70px;text-align:left;max-width:none}
#sanbo-site.corp-site.inner-site.tp-site .tp-band .tp-heading h2{max-width:950px}
#sanbo-site.corp-site.inner-site.tp-site .tp-band .tp-kicker{color:#a5afb4}
#sanbo-site.corp-site.inner-site.tp-site .tp-band-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:40px}
#sanbo-site.corp-site.inner-site.tp-site .tp-band-grid h3{font-size:24px;line-height:1.3;margin:20px 0}
#sanbo-site.corp-site.inner-site.tp-site .tp-band-grid p{font-size:16px;line-height:1.65;color:#aeb8bd}
#sanbo-site.corp-site.inner-site.tp-site .tp-in{opacity:0;transform:translateY(26px);transition:opacity .8s ease,transform 1s cubic-bezier(.16,1,.3,1)}
#sanbo-site.corp-site.inner-site.tp-site .tp-in.is-visible{opacity:1;transform:none}
#sanbo-site.corp-site.inner-site.tp-site .tp-reveal-text .tp-char{color:#b7bdc0;transition:color .7s ease}
#sanbo-site.corp-site.inner-site.tp-site .tp-reveal-text.is-read .tp-char{color:#626c71}
#sanbo-site.corp-site.inner-site.tp-site a:focus-visible,#sanbo-site.corp-site.inner-site.tp-site button:focus-visible{outline:2px solid #657b87;outline-offset:5px}
#sanbo-site.corp-site.inner-site.tp-site .tp-resources{padding:30px 52px 110px}
#sanbo-site.corp-site.inner-site.tp-site .tp-resource-heading{display:flex;align-items:baseline;justify-content:space-between;gap:30px;margin-bottom:36px}
#sanbo-site.corp-site.inner-site.tp-site .tp-resource-heading h2{font-size:48px;line-height:1.15}
#sanbo-site.corp-site.inner-site.tp-site .tp-resource-heading p{font-size:16px;color:#7c8589}
#sanbo-site.corp-site.inner-site.tp-site .tp-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:32px}
#sanbo-site.corp-site.inner-site.tp-site .tp-filters button{font:14px/1.3 inherit;min-width:165px;height:58px;padding:0 24px;border:1px solid #d3d9dc;border-radius:7px;background:white;color:#5c686e;cursor:pointer;transition:background .3s,color .3s}
#sanbo-site.corp-site.inner-site.tp-site .tp-filters button:hover,#sanbo-site.corp-site.inner-site.tp-site .tp-filters button.is-active{background:#313a3f;color:white;border-color:#313a3f}
#sanbo-site.corp-site.inner-site.tp-site .tp-resource-rail{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:8px 0 20px;scrollbar-color:#a5aeb3 #eef0f1;scrollbar-width:thin}
#sanbo-site.corp-site.inner-site.tp-site .tp-resource-rail .tp-card{flex:0 0 420px;scroll-snap-align:start;min-height:520px}
#sanbo-site.corp-site.inner-site.tp-site .tp-resource-rail .tp-card[hidden]{display:none}
#sanbo-site.corp-site.inner-site.tp-site .tp-resource-rail .tp-card-media{height:230px}
#sanbo-site.corp-site.inner-site.tp-site .tp-rail-hint{font-size:12px;color:#899397;margin-top:15px}
#sanbo-site.corp-site.inner-site.tp-site .tp-contact{display:grid;grid-template-columns:1fr 1fr;gap:8.5%;max-width:1280px;margin:0 auto;padding:0 20px 70px;align-items:start}
#sanbo-site.corp-site.inner-site.tp-site .tp-contact-copy{padding:25px 0}
#sanbo-site.corp-site.inner-site.tp-site .tp-contact-copy h2{font-size:36px;line-height:1.22;margin:0 0 30px}
#sanbo-site.corp-site.inner-site.tp-site .tp-contact-copy>p:not(.tp-kicker){font-size:20px;line-height:1.6;color:#737e84}
#sanbo-site.corp-site.inner-site.tp-site .tp-contact-copy ol{list-style:none;padding:0;margin:40px 0}
#sanbo-site.corp-site.inner-site.tp-site .tp-contact-copy li{display:flex;gap:25px;padding:22px 0;border-top:1px solid #e0e3e5}
#sanbo-site.corp-site.inner-site.tp-site .tp-contact-copy li>span{font:11px monospace;color:#9ba4a8;padding-top:5px}
#sanbo-site.corp-site.inner-site.tp-site .tp-contact-copy h3{font-size:20px;margin-bottom:10px}
#sanbo-site.corp-site.inner-site.tp-site .tp-contact-copy li p{font-size:15px;line-height:1.6;color:#7c8589}
#sanbo-site.corp-site.inner-site.tp-site .tp-contact-copy p.tp-contact-note{font-size:12px}
#sanbo-site.corp-site.inner-site.tp-site .tp-contact-form{background:linear-gradient(130deg,#3a4246,#252d31 55%,#30393d);border:1px solid #687176;border-radius:18px;box-shadow:inset 0 1px 0 #ffffff30,0 18px 35px #1a252b10;padding:45px 42px 34px;color:#eef0f1;min-height:0;margin:0;display:block;position:relative}
#sanbo-site.corp-site.inner-site.tp-site .tp-contact-form:before,#sanbo-site.corp-site.inner-site.tp-site .tp-contact-form:after{display:none}
#sanbo-site.corp-site.inner-site.tp-site .tp-contact-form label{display:block;color:#cad0d3;font-size:12px;line-height:1.5;margin-bottom:23px}
#sanbo-site.corp-site.inner-site.tp-site .tp-contact-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}
#sanbo-site.corp-site.inner-site.tp-site .tp-contact-form input:not([type=checkbox]),#sanbo-site.corp-site.inner-site.tp-site .tp-contact-form textarea{background:transparent;color:#fff;border:0;border-bottom:1px solid #687277;border-radius:0;width:100%;padding:12px 0 10px;font:14px/1.5 Arial,"Microsoft YaHei",sans-serif;box-shadow:none;min-height:0}
#sanbo-site.corp-site.inner-site.tp-site .tp-contact-form input::placeholder,#sanbo-site.corp-site.inner-site.tp-site .tp-contact-form textarea::placeholder{color:#9da7ad;opacity:1}
#sanbo-site.corp-site.inner-site.tp-site .tp-contact-form textarea{height:120px;resize:vertical}
#sanbo-site.corp-site.inner-site.tp-site .tp-contact-form input:focus,#sanbo-site.corp-site.inner-site.tp-site .tp-contact-form textarea:focus{outline:0;border-bottom-color:#eef2f4;box-shadow:0 1px #eef2f4}
#sanbo-site.corp-site.inner-site.tp-site .tp-contact-form .form-consent{display:flex;align-items:flex-start;gap:10px;font-size:11px;margin:5px 0 24px}
#sanbo-site.corp-site.inner-site.tp-site .tp-contact-form .form-consent input{flex:none;margin-top:2px}
#sanbo-site.corp-site.inner-site.tp-site .tp-contact-form .form-consent a{color:#fff;text-decoration:underline}
#sanbo-site.corp-site.inner-site.tp-site .tp-contact-form .solid-button{background:linear-gradient(115deg,#f5f7f8,#bcc4c8);border:1px solid #f3f5f6;border-radius:6px;min-height:45px;min-width:150px;width:auto;padding:0 25px;color:#253035;font-size:13px;box-shadow:inset 0 1px #fff;cursor:pointer;transition:filter .3s,transform .3s}
#sanbo-site.corp-site.inner-site.tp-site .tp-contact-form .solid-button:hover{filter:brightness(1.1);transform:translateY(-2px)}
#sanbo-site.corp-site.inner-site.tp-site #inquiry-status{font-size:13px;line-height:1.7;margin-top:18px;color:#f5f7f8}
#sanbo-site.corp-site.inner-site.tp-site .tp-contact-form .hp{position:absolute;left:-9999px;visibility:hidden}
@media(min-width:1700px){#sanbo-site.corp-site.inner-site.tp-site .tp-row-copy{max-width:780px;padding-left:9%}#sanbo-site.corp-site.inner-site.tp-site .tp-row-copy>.tp-index{left:6%}#sanbo-site.corp-site.inner-site.tp-site .tp-hero-copy{width:1100px}}
@media(max-width:900px){#sanbo-site.corp-site.inner-site.tp-site h1{font-size:48px}#sanbo-site.corp-site.inner-site.tp-site .tp-hero{min-height:580px;height:75vh}#sanbo-site.corp-site.inner-site.tp-site .tp-row{grid-template-columns:1fr}#sanbo-site.corp-site.inner-site.tp-site .tp-row-copy,#sanbo-site.corp-site.inner-site.tp-site .tp-reverse .tp-row-copy{grid-column:auto;grid-row:auto;max-width:none;padding:65px 40px}#sanbo-site.corp-site.inner-site.tp-site .tp-row-copy>.tp-index{display:none}#sanbo-site.corp-site.inner-site.tp-site .tp-reverse .tp-picture{grid-column:auto;grid-row:auto}#sanbo-site.corp-site.inner-site.tp-site .tp-picture{height:550px}#sanbo-site.corp-site.inner-site.tp-site .tp-heading h2,#sanbo-site.corp-site.inner-site.tp-site .tp-closing h2{font-size:44px}#sanbo-site.corp-site.inner-site.tp-site .tp-cards{margin:0 25px 70px;grid-template-columns:1fr}#sanbo-site.corp-site.inner-site.tp-site .tp-band-grid{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){#sanbo-site.corp-site.inner-site.tp-site *,#sanbo-site.corp-site.inner-site.tp-site *:before,#sanbo-site.corp-site.inner-site.tp-site *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}#sanbo-site.corp-site.inner-site.tp-site .tp-in{opacity:1;transform:none}#sanbo-site.corp-site.inner-site.tp-site .tp-reveal-text .tp-char{color:inherit}}
@media(max-width:900px){#sanbo-site.corp-site.inner-site.tp-site .tp-contact{grid-template-columns:1fr;padding:0 25px 60px;gap:35px}#sanbo-site.corp-site.inner-site.tp-site .tp-resources{padding:20px 25px 70px}#sanbo-site.corp-site.inner-site.tp-site .tp-resource-heading{display:block}#sanbo-site.corp-site.inner-site.tp-site .tp-resource-heading h2{font-size:36px;margin-bottom:20px}#sanbo-site.corp-site.inner-site.tp-site .tp-resource-rail .tp-card{flex-basis:85vw;max-width:420px}}
@media(max-width:520px){#sanbo-site.corp-site.inner-site.tp-site h1{font-size:36px}#sanbo-site.corp-site.inner-site.tp-site .tp-hero{padding:110px 20px 40px;min-height:580px}#sanbo-site.corp-site.inner-site.tp-site .tp-hero-copy{width:100%}#sanbo-site.corp-site.inner-site.tp-site .tp-kicker{font-size:16px}#sanbo-site.corp-site.inner-site.tp-site .tp-lead{font-size:16px}#sanbo-site.corp-site.inner-site.tp-site .tp-picture{height:400px}#sanbo-site.corp-site.inner-site.tp-site .tp-row h2{font-size:29px}#sanbo-site.corp-site.inner-site.tp-site .tp-row-copy{padding:45px 24px}#sanbo-site.corp-site.inner-site.tp-site .tp-heading{padding:80px 24px 45px}#sanbo-site.corp-site.inner-site.tp-site .tp-heading h2,#sanbo-site.corp-site.inner-site.tp-site .tp-closing h2{font-size:36px}#sanbo-site.corp-site.inner-site.tp-site .tp-band{padding:10px 25px 65px}#sanbo-site.corp-site.inner-site.tp-site .tp-band-grid{grid-template-columns:1fr;gap:28px}#sanbo-site.corp-site.inner-site.tp-site .tp-contact-form{padding:30px 24px}#sanbo-site.corp-site.inner-site.tp-site .tp-contact-form .form-row{grid-template-columns:1fr;gap:0}}

#sanbo-site.corp-site.inner-site.tp-site .tp-hero{padding-top:40px;padding-bottom:100px}
#sanbo-site.corp-site.inner-site.tp-site[data-page="about"] .tp-hero-copy{transform:translateY(-15px)}
#sanbo-site.corp-site.inner-site.tp-site[data-page="about"] .tp-lead{margin-top:58px}
#sanbo-site.corp-site.inner-site.tp-site[data-page="contact"] .tp-hero{height:327px;min-height:327px;padding:145px 30px 45px}
#sanbo-site.corp-site.inner-site.tp-site[data-page="contact"] .tp-hero .tp-kicker,#sanbo-site.corp-site.inner-site.tp-site[data-page="contact"] .tp-hero .tp-lead{display:none}
#sanbo-site.corp-site.inner-site.tp-site[data-page="contact"] h1{font-size:48px;line-height:1.05}
#sanbo-site.corp-site.inner-site.tp-site[data-page="quality"] .tp-hero{height:440px;min-height:440px;padding:130px 30px 40px}
#sanbo-site.corp-site.inner-site.tp-site .tp-contact-form .solid-button:disabled{opacity:.6;cursor:wait;transform:none}
#sanbo-site.corp-site.inner-site.tp-site .tp-contact-form .solid-button span{color:#253035}
#sanbo-site.corp-site.inner-site.tp-site .tp-resource-rail{overflow-y:hidden;cursor:grab;padding-top:12px}
#sanbo-site.corp-site.inner-site.tp-site .tp-resource-rail.is-dragging{cursor:grabbing;scroll-snap-type:none;user-select:none}
#sanbo-site.corp-site.inner-site.tp-site .tp-resource-rail img{-webkit-user-drag:none;user-select:none}
#sanbo-site.corp-site.inner-site.tp-site .tp-filters button{font-family:inherit;font-size:14px;line-height:1.3}
#sanbo-site.corp-site.inner-site.tp-site .tp-hero-copy{animation:tp-enter .85s cubic-bezier(.16,1,.3,1) both}
@keyframes tp-enter{from{opacity:0;translate:0 20px}to{opacity:1;translate:0 0}}
#sanbo-site.corp-site.inner-site.tp-site .tp-card.is-visible:hover{transform:translateY(-7px)}
#sanbo-site.corp-site.inner-site.tp-site .tp-contact-copy{padding-top:8px}
#sanbo-site.corp-site.inner-site.tp-site .tp-contact-copy>.tp-kicker{display:none}
#sanbo-site.corp-site.inner-site.tp-site .tp-contact-form label{margin-bottom:20px}
#sanbo-site.corp-site.inner-site.tp-site .tp-contact-form textarea{height:100px}
