/* Typography aligned with frontiertech.com.tw's Lato / Poppins hierarchy. */
body{font-family:'Lato',sans-serif;font-size:1.125rem;font-weight:400;line-height:1.5;letter-spacing:normal}
h1,h2,h3{font-family:'Poppins',sans-serif;font-weight:600;line-height:1.5;letter-spacing:normal}
h1,.page-hero h1,.photo-hero h1{font-size:2.25rem}
h2{font-size:1.875rem;font-weight:700;letter-spacing:1px}
h3{font-size:1.5rem}
.hero h1{font-size:min(calc(1.425rem + 2.1vw),3rem);font-weight:300;line-height:1.2;letter-spacing:normal}
.hero p{font-size:1.25rem;font-weight:300;line-height:1.8}
.hero .eyebrow,.eyebrow{font-family:'Poppins',sans-serif;font-size:.8125rem;font-weight:500;letter-spacing:1px;line-height:1.5}
.links{font-family:'Poppins',sans-serif;font-size:1.125rem;font-weight:400;letter-spacing:1px;gap:20px}
.links .button{font-family:'Lato',sans-serif;letter-spacing:normal;font-size:1rem}
.button,.text-link,.card .more{font-size:1.125rem;font-weight:400;letter-spacing:normal}
.section-head p,.card p,.step p,.product-card p,.faq p{font-size:1.125rem;line-height:1.8;font-weight:400}
.card h3,.product-card h3,.step h3{font-size:1.25rem;font-weight:700;line-height:1.5}
.card .number,.tag,.filter,.crumb,label,.hero-foot,.trust-note{font-size:1rem;letter-spacing:normal}
.page-hero p{font-size:1.125rem;line-height:1.8}
.article h2{font-size:1.875rem;letter-spacing:normal}
.article p,.article li{font-size:1.125rem;line-height:1.8}
.footer p,.footer a{font-size:1.125rem;font-weight:300;line-height:1.7}
.footer h3{font-size:1.125rem;font-weight:400;letter-spacing:0}
.brand{font-family:'Lato',sans-serif}.brand strong{font-size:1.45rem}.brand small{font-size:.65rem}.footer .brand strong{font-weight:700}.copyright{font-size:.875rem}
.photo-caption strong{font-family:'Poppins',sans-serif;font-weight:500;letter-spacing:normal}
@media(max-width:1200px) and (min-width:801px){.links{gap:13px;font-size:1rem}.nav{gap:18px}.links .button{padding:10px 12px}.brand small{font-size:.55rem}.brand strong{font-size:1.15rem}}
@media(max-width:1000px){.menu-toggle{display:block}.nav{height:76px}.links{display:none;position:absolute;top:76px;left:0;right:0;background:#fff;padding:20px 24px;box-shadow:0 12px 20px #17171718}.links.open{display:flex;flex-direction:column;align-items:stretch;gap:15px}}
@media(max-width:767px){h1,.page-hero h1,.photo-hero h1{font-size:1.75rem}h2,.article h2{font-size:1.5rem}h3{font-size:1.25rem}.hero h1{font-size:calc(1.425rem + 2.1vw)}.hero p{font-size:1.125rem}.links{font-size:1.125rem}.section-head h2{font-size:1.625rem}.brand strong{font-size:1.15rem}.brand small{font-size:.55rem}.card .number{font-size:.875rem}.hero-foot{font-size:.875rem;gap:15px}.footer p,.footer a{font-size:1rem}}
/* Compact original artwork; retain its original colors and proportions. */
.brand,.footer .brand{position:relative;display:block;width:185px;height:55px;overflow:hidden;background:#fff;flex-shrink:0}
.brand .brand-logo{position:absolute;width:222px;height:auto;max-width:none;left:-19px;top:-28px}
.footer .brand{width:190px;height:62px;margin-bottom:18px}
.footer .brand .brand-logo{width:206px;left:-8px;top:-20px}
.footer{padding-top:44px}
.footer h3{font-size:1rem;font-weight:500;line-height:1.5;margin-bottom:16px}
.footer p,.footer a{font-size:.875rem;font-weight:400;line-height:1.75}
.footer a{margin:7px 0}
.copyright{font-size:.75rem;margin-top:30px;padding-top:20px}
@media(max-width:767px){.header .brand{width:165px;height:50px}.header .brand .brand-logo{width:198px;left:-17px;top:-24px}.footer .brand{width:175px;height:57px}.footer .brand .brand-logo{width:190px;left:-7px;top:-18px}.footer p,.footer a{font-size:.875rem}.footer h3{font-size:.9375rem}}
.blancco-logo{display:block;width:200px;max-width:100%;height:auto;object-fit:contain;background:#fff}.trust .blancco-logo{width:185px}.source-note{font-size:.75rem!important;line-height:1.65;font-weight:400;color:var(--muted);margin-top:16px}.news-card time{display:block;font-size:.875rem;color:var(--muted);margin:10px 0 20px}.news-card .text-link{margin-top:auto;padding-top:24px}.product-card .blancco-logo{width:160px}.news-card .tag{align-self:flex-start}
@media(min-width:1101px){.links{font-size:1rem;gap:17px}.nav{gap:20px}}
@media(max-width:1100px){.menu-toggle{display:block}.nav{height:76px}.links{display:none;position:absolute;top:76px;left:0;right:0;background:#fff;padding:20px 24px;box-shadow:0 12px 20px #12263a18}.links.open{display:flex;flex-direction:column;align-items:stretch;gap:15px}}

.trial-photo-hero{grid-template-columns:1fr 1fr;align-items:center}.trial-photo-hero .page-photo{width:100%;height:auto;min-height:0;object-fit:contain}.trial-image-note{padding:8px 20px;background:#eaf0f5;color:var(--muted);font-size:12px;text-align:center}@media(max-width:800px){.trial-photo-hero{grid-template-columns:1fr}.trial-photo-hero .page-photo{height:auto;min-height:0}}

/* Supporting notes stay secondary to page content. */
.note{font-size:.8125rem;line-height:1.65;font-weight:400;color:var(--muted);padding:12px 0;border:0;background:transparent;margin-top:18px}
.note p,.note li,.note a{font-size:inherit;line-height:inherit;font-weight:400}
.source-note .text-link{font-size:inherit;font-weight:400;line-height:inherit}
.trial-image-note,.trial-notice{font-size:.75rem;line-height:1.65;font-weight:400}

/* Match the title-to-first-item gap to the space between list items. */
h3 + .steps{margin-top:48px}
/* Bilingual navigation and English text layout. */
.topline .wrap{gap:18px;align-items:center}
.language-switch{display:flex;align-items:center;gap:14px;flex-shrink:0;font-size:12px;letter-spacing:0}
.language-switch a{padding:3px 0;color:#ccd7e2}
.language-switch a[aria-current=true]{color:#fff;text-decoration:underline;text-underline-offset:4px}
.language-switch a:hover{color:#fff}
html[lang=en] .links{font-size:.875rem;letter-spacing:0;gap:18px}
html[lang=en] .links .button{font-size:.875rem;padding:12px 16px}
html[lang=en] .eyebrow{letter-spacing:.08em}
html[lang=en] h1,html[lang=en] h2,html[lang=en] h3{line-height:1.35;letter-spacing:normal;overflow-wrap:break-word}
html[lang=en] .hero h1{font-size:clamp(2rem,3.4vw,3rem);line-height:1.15}
html[lang=en] .hero p{font-size:1.125rem;line-height:1.75}
html[lang=en] .split{gap:60px}
html[lang=en] .split>*,html[lang=en] .hero-grid>*,html[lang=en] .grid-3>*{min-width:0}
html[lang=en] .banner .button{flex-shrink:0}
html[lang=en] .footer-grid{grid-template-columns:1.5fr 1fr 1fr 1.4fr}
@media(max-width:800px){html[lang=en] .split{gap:36px}html[lang=en] .footer-grid{grid-template-columns:1fr 1fr}html[lang=en] .banner .button{align-self:flex-start}}
@media(max-width:600px){.topline .wrap{gap:10px}.topline .wrap>span:first-child{display:none}.topline .wrap>span{font-size:11px;letter-spacing:0}.language-switch{gap:10px}html[lang=en] .footer-grid{grid-template-columns:1fr}html[lang=en] .hero-foot{flex-direction:column;gap:10px}}
.downloads{padding-top:48px;padding-bottom:48px;border-top:1px solid var(--line)}
.downloads h2{font-size:1.5rem;margin-bottom:24px}
.download-list{list-style:none;margin:0;padding:0;max-width:820px}
.download-list li{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 0;border-bottom:1px solid var(--line)}
.download-list strong{font-size:1rem;font-weight:500}
.download-meta{display:block;font-size:.8125rem;color:var(--muted);margin-top:5px}
.download-list .button{font-size:.875rem;white-space:nowrap;color:var(--blue);border-color:var(--line)}
.download-list .button:hover{color:white}
@media(max-width:480px){.download-list li{align-items:flex-start;flex-direction:column;gap:12px}.download-list .button{width:100%}}
.support-list{list-style:none;counter-reset:support;margin:20px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.support-list li{display:flex;align-items:center;justify-content:center;padding:18px 10px;background:var(--pale);color:var(--ink);font-size:.9375rem;line-height:1.65;text-align:center;min-height:84px;overflow-wrap:anywhere;hyphens:auto}
@media(max-width:600px){.support-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* A quiet consultation strip that connects naturally to the footer. */
.section.consultation{background:var(--pale);border-top:1px solid var(--line);padding:44px 0}
.consultation .banner{background:transparent;color:var(--ink);padding:0;gap:48px}
.consultation .eyebrow{color:var(--blue);font-size:.75rem;margin-bottom:10px}
.consultation .banner h2{font-size:1.625rem;font-weight:600;line-height:1.5;letter-spacing:normal}
.consultation .banner p{color:var(--muted);font-size:1rem;line-height:1.75;margin-top:12px;max-width:740px}
.consultation .button.light{background:var(--blue);border-color:var(--blue);color:#fff;flex-shrink:0;font-size:1rem;padding:13px 24px}
.consultation .button.light:hover{background:var(--cyan);border-color:var(--cyan)}
@media(max-width:800px){.section.consultation{padding:32px 0}.consultation .banner h2{font-size:1.375rem}.consultation .banner .button{margin-top:22px}.consultation .banner p{font-size:.9375rem}}
.cert-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.cert-grid .product-card{padding:24px;min-width:0}
.cert-grid .tag{align-self:flex-start;font-size:.8125rem}
.cert-grid .text-link{margin-top:auto;padding-top:22px;font-size:.875rem}
@media(max-width:1100px){.cert-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.cert-grid{grid-template-columns:1fr}}
.cert-proof{display:grid;grid-template-columns:1fr 1fr 2fr;gap:32px;margin-bottom:52px;padding-bottom:36px;border-bottom:1px solid var(--line)}
.cert-proof strong{display:block;font-size:2.5rem;color:var(--blue);line-height:1.3}
.cert-proof span{display:block;margin-top:8px;font-size:1rem}
.cert-proof h3{font-size:1.25rem;margin-bottom:12px}
.cert-proof p{font-size:1rem;line-height:1.8}
.cert-proof .text-link{font-size:.875rem;margin-top:16px}
.blancco-evidence{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
.blancco-evidence h4{font-size:.875rem;color:var(--blue);margin:0 0 10px;font-weight:600}
.blancco-evidence p{font-size:.9375rem;line-height:1.8}
.cert-grid .blancco-evidence .text-link{padding-top:12px;margin-top:0}
.cert-grid>.product-card>.text-link{padding-top:18px}
@media(max-width:800px){.cert-proof{grid-template-columns:1fr 1fr;gap:24px}.cert-proof>div:last-child{grid-column:1/-1}}

/* Supplied white-letter artwork blends into the dark footer without a panel. */
.footer .brand{background:transparent;border:0;width:190px;height:55px}
.footer .brand .brand-logo{width:230px;height:auto;left:-19px;top:-31px;mix-blend-mode:screen}
@media(max-width:767px){.footer .brand{width:175px;height:51px}.footer .brand .brand-logo{width:212px;left:-18px;top:-29px}}

/* Shared layout rhythm across both languages and every page template. */
:root{--content-width:1200px;--page-inset:40px;--section-space:72px;--column-gap:60px;--grid-gap:24px;--content-edge:max(var(--page-inset),calc((100% - var(--content-width))/2))}
.wrap{width:min(var(--content-width),calc(100% - var(--page-inset)*2));max-width:none;margin-inline:auto}
.section,.section.downloads,.section.consultation{padding-block:var(--section-space)}
.page-hero{padding-block:var(--section-space)}
.split,html[lang=en] .split{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--column-gap)}
.split>*,.hero-grid>*,.photo-hero>*{min-width:0}
.cards,.grid-2,.grid-3,.cert-grid{gap:var(--grid-gap)}
.article,.download-list{max-width:none;width:100%;margin-inline:0}
.photo-hero,.trial-photo-hero{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--column-gap);padding:var(--section-space) var(--content-edge);align-items:center}
.photo-hero .wrap{width:100%;max-width:none;margin:0;padding:0}
.photo-hero .page-photo{width:100%;min-width:0}
.section-head{gap:var(--grid-gap);margin-bottom:36px}
@media(max-width:1100px){:root{--page-inset:24px;--column-gap:36px}}
@media(max-width:800px){:root{--section-space:48px;--column-gap:32px}.split,html[lang=en] .split,.photo-hero,.trial-photo-hero{grid-template-columns:1fr}.photo-hero .wrap{padding:0}.section-head p{max-width:none}.consultation .banner{gap:var(--column-gap)}}
@media(max-width:480px){:root{--page-inset:20px;--section-space:40px;--grid-gap:20px}}
.wrap.article{width:min(var(--content-width),calc(100% - var(--page-inset)*2));margin-inline:auto}
/* Two-column evidence cards give certificates and explanations room to read. */
.cert-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
.cert-grid .product-card{padding:32px}
.cert-grid .product-card>p{font-size:1rem}
.certificate-preview{display:flex;flex-direction:column;align-items:center;gap:12px;background:var(--pale);padding:20px;margin-top:24px;border:1px solid var(--line)}
.certificate-preview img{display:block;width:auto;max-width:100%;height:260px;object-fit:contain;box-shadow:0 3px 12px #12263a14}
.certificate-preview span{font-size:.8125rem;color:var(--blue)}
.certificate-preview:hover{border-color:var(--blue)}
.cert-grid .product-card>.source-note{font-size:.75rem;margin-top:12px}
@media(max-width:600px){.cert-grid{grid-template-columns:1fr}.cert-grid .product-card{padding:24px}}
.cert-group-heading{grid-column:1/-1;padding:0 0 4px}.cert-group-heading .eyebrow{display:block;margin-bottom:12px}.cert-group-heading h3{font-size:1.5rem;margin-bottom:12px}.cert-group-heading p{font-size:1rem;line-height:1.8;max-width:960px}.cert-bridge{margin-top:24px;padding:28px;background:var(--pale);border-left:3px solid var(--blue)}.certificate-scope{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}.certificate-scope span{font-size:.75rem;color:var(--blue);background:var(--pale);padding:6px 10px}
.assurance-detail{display:grid;grid-template-columns:2fr 1fr;gap:48px;margin-top:28px}.assurance-detail h3{font-size:1.25rem}.assurance-detail p{margin-top:14px;font-size:1rem;line-height:1.8}.assurance-detail strong{color:var(--blue);font-size:1rem}.assurance-detail .note{font-size:.8125rem}.assurance-products{border-top:1px solid var(--line);padding-top:28px;margin-top:32px}.assurance-products h3{font-size:1.25rem}.assurance-products p{font-size:1rem;margin-top:12px}.assurance-products .actions{gap:24px}.assurance-products .text-link{font-size:1rem;margin-top:16px}@media(max-width:800px){.assurance-detail{grid-template-columns:1fr;gap:24px}}
.product-features .grid-3{margin-top:28px}.product-features article{padding:24px;background:#fff;border:1px solid var(--line)}.product-features h3{font-size:1.125rem;margin-bottom:12px}.product-features p{font-size:1rem;line-height:1.8}.product-use{border-top:1px solid var(--line);padding-top:28px;margin-top:28px}

/* Let the three overview introductions use the full content width. */
body:has(.links > a.active:is([href="/solutions/"],[href="/services/"],[href="/certifications/"],[href="/en/solutions/"],[href="/en/services/"],[href="/en/certifications/"])) .page-hero:not(.photo-hero) p{max-width:none}

/* Icon-only mobile navigation; button text remains its accessible name. */
.menu-toggle{width:48px;height:48px;padding:0;border:0;background:transparent;color:var(--navy);font-size:0;cursor:pointer;flex-shrink:0}
.menu-toggle::before{content:"";display:block;width:24px;height:20px;margin:auto;background:linear-gradient(currentColor,currentColor) center top/24px 2px no-repeat,linear-gradient(currentColor,currentColor) center/24px 2px no-repeat,linear-gradient(currentColor,currentColor) center bottom/24px 2px no-repeat}
.menu-toggle[aria-expanded="true"]::before{height:24px;background:linear-gradient(45deg,transparent calc(50% - 1px),currentColor calc(50% - 1px),currentColor calc(50% + 1px),transparent calc(50% + 1px)),linear-gradient(-45deg,transparent calc(50% - 1px),currentColor calc(50% - 1px),currentColor calc(50% + 1px),transparent calc(50% + 1px))}
