/* Ionitech shared brand system — 2026-11-02.
   Identical file on both sites. Page composition and locale fonts remain local. */
@font-face{font-family:DM Sans;src:url('/assets/dm-sans-regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:DM Sans;src:url('/assets/dm-sans-semibold.ttf') format('truetype');font-style:normal;font-weight:500 600;font-display:swap}
@font-face{font-family:DM Sans;src:url('/assets/dm-sans-bold.ttf') format('truetype');font-style:normal;font-weight:650 900;font-display:swap}
@font-face{font-family:DM Serif;src:url('/assets/dm-serif-italic.ttf') format('truetype');font-style:italic;font-weight:400;font-display:swap}
:root{--paper:#f8f7f3;--ink:#252f2a;--muted:#58645c;--orange:#d76843;--accent:#d76843;--line:#d4d9ce;--sage:#e8eee5;--mint:#dfece3;--peach:#f2ddca;--white:#fff;--button-hover:#405548;--button-white-hover:#f4f7f2;--caption-paper:rgba(250,248,241,.95);--protocol-ink:#476454;--protocol-border:#b8cdbd}
body{background:var(--paper);color:var(--ink);font-size:16px;line-height:1.8}
footer{background:var(--sage)}
.site-header,.footer-links,.footer-bottom,.identity-strip,.intro-strip{border-color:var(--line)}
.product-showcase{background:var(--mint);border-radius:8px}
.button,.nav-contact,.reading .nav-contact,.product-copy>.button,.hero-actions .button,.careers-teaser .button{min-height:53px;padding:13px 23px;gap:30px;border-radius:5px;font-size:15px;line-height:1.5;font-weight:600;transition:background .2s,color .2s,transform .2s}
.button svg,.nav-contact svg{width:20px;height:20px;stroke-width:1.5;transition:transform .2s}
.button-dark{background:var(--ink);color:#fff}
.button-dark:hover{background:var(--button-hover);color:#fff;transform:translateY(-2px)}
.button-white{background:#fff;color:var(--ink)}
.button-white:hover{background:var(--button-white-hover);color:var(--ink);transform:translateY(-2px)}
.button-outline,.nav-contact{border:1px solid var(--line);color:var(--ink);background:transparent}
.button-outline:hover,.nav-contact:hover{background:var(--sage);color:var(--ink);border-color:#aeb8aa;transform:translateY(-2px)}
.button:hover svg,.nav-contact:hover svg{transform:translateX(3px)}
.text-link{font-size:15px;line-height:1.5;font-weight:600}
a:hover:not(.button):not(.nav-contact):not(.brand){color:var(--accent)}
a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:6px}
.eyebrow,.hero .eyebrow,.careers-topline .eyebrow{font-size:12px;line-height:1.7;letter-spacing:.1em}
.protocols span,.protocols li,.reading .protocols span{font-size:13px;line-height:1.5;padding:4px 9px;border:1px solid var(--protocol-border);color:var(--protocol-ink);border-radius:4px}
.scene-caption,.people-image .scene-caption,.page-company .company-world .scene-caption,.career-world .scene-caption,.reading .people-image .scene-caption,.reading.page-company .company-world .scene-caption,.reading .career-world .scene-caption{display:inline-flex;align-items:center;gap:12px;padding:14px 18px;background:var(--caption-paper);color:var(--ink);font-size:14px;line-height:1.6;border-radius:4px;box-shadow:none;backdrop-filter:blur(10px)}
.scene-caption>span,.people-image .scene-caption>span,.page-company .company-world .scene-caption>span,.career-world .scene-caption>span,.reading .people-image .scene-caption>span,.reading.page-company .company-world .scene-caption>span,.reading .career-world .scene-caption>span{min-width:0;font-size:14px;line-height:1.6;color:var(--ink);overflow-wrap:normal}
.scene-caption>svg,.people-image .scene-caption>svg,.page-company .company-world .scene-caption>svg,.career-world .scene-caption>svg{width:24px;height:24px;flex:none;color:var(--accent)}
.footer-contact>a,.contact-email{font-size:28px;line-height:1.4}
.footer-contact>p,.reading .footer-contact>p,.contact-description{font-size:16px;line-height:1.8;color:var(--muted)}
.office-address,.reading .office-address,.contact-details address{font-size:14px;line-height:1.8;color:var(--muted)}
.office-address-label,.reading .office-address-label,.contact-details dt{font-size:12px;line-height:1.6;letter-spacing:.04em;color:var(--ink)}
footer a[href^="tel:"]{font-size:16px;line-height:1.7;color:var(--ink)}
.footer-navigation,.footer-signature>span,.footer-links>div,.credits-open,.footer-links>.brand-slogan,.reading .footer-links>div,.reading .credits-open,.reading .footer-links>.brand-slogan{font-size:14px;line-height:1.7}
.footer-bottom,.reading .footer-bottom{font-size:12px;line-height:1.8;color:var(--muted)}
.footer-logo{width:148px}.footer-signature img{width:148px;height:auto}
.hero-intro,.product-copy>p,.company-copy>p,.company-copy .lead{line-height:1.8}
.product-copy>p,.reading .product-copy>p{color:var(--muted)}
.hero-intro,.product-copy>p,.company-copy>p:not(.lead){font-size:16px}
.product-link{font-size:14px;line-height:1.7}
.brand span,.identity-item>span,.identity-role>span{font-size:12px}
@media(max-width:780px){.brand span{font-size:10px}}
@media(max-width:600px){
 .button,.nav-contact,.reading .nav-contact,.product-copy>.button,.hero-actions .button,.careers-teaser .button{font-size:15px;min-height:53px;padding:13px 19px;gap:24px}
 .scene-caption,.people-image .scene-caption,.page-company .company-world .scene-caption,.career-world .scene-caption,.reading .people-image .scene-caption,.reading.page-company .company-world .scene-caption,.reading .career-world .scene-caption{padding:10px 12px;gap:8px;font-size:14px}
 .scene-caption>svg,.people-image .scene-caption>svg,.page-company .company-world .scene-caption>svg,.career-world .scene-caption>svg,.reading .people-image .scene-caption>svg,.reading.page-company .company-world .scene-caption>svg,.reading .career-world .scene-caption>svg{width:20px;height:20px}
 .hero-art .scene-caption{left:15px;bottom:15px;max-width:calc(100% - 30px)}
 .footer-navigation,.footer-signature>span,.footer-links>div,.credits-open,.footer-links>.brand-slogan,.reading .footer-links>.brand-slogan{font-size:14px;line-height:1.7}
 .footer-signature{row-gap:16px}
 .footer-logo{width:140px}.footer-signature img{width:140px}
 .footer-navigation{gap:12px 18px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}.button:hover,.nav-contact:hover,a:hover svg{transform:none!important}}
