:root{--accent:#b52b15;--accent-soft:#fbf2ef;--ink:#1b1b1e;--muted:#727278}
html{scroll-padding-top:110px}body{font-weight:400;line-height:1.5}button,input,textarea,select{line-height:1.5}button{font-weight:500;min-height:42px}input:not([type=checkbox]):not([type=color]):not([type=hidden]):not([type=file]),select{min-height:44px}input[type=checkbox]{flex:none;margin:0;width:16px;height:16px;accent-color:var(--accent)}select{appearance:none;-webkit-appearance:none;background:#fff url('/static/chevron.svg') no-repeat right 13px center;background-size:18px;padding:10px 42px 10px 14px;line-height:22px;white-space:nowrap;text-overflow:ellipsis;border:1px solid #d9d9df;border-radius:9px;color:#505058}select:disabled{background-color:#f7f7f9}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:var(--accent)}.site-nav nav{gap:38px;font-size:14px;font-weight:600}.site-nav nav a{color:#66666f;padding:12px 0;position:relative}.site-nav nav a.active{color:#171719}.site-nav nav a.active:after{content:"";position:absolute;bottom:4px;left:50%;width:14px;height:3px;border-radius:4px;background:var(--accent);transform:translateX(-50%)}.site-nav nav a:hover{color:var(--accent)}.filter-bar{align-items:center;gap:12px;margin:0 0 28px}.filter-bar select{width:auto;min-width:136px;flex:0 1 auto}.filter-bar>a{display:inline-flex;align-items:center;min-height:44px;padding:0 8px;font-size:13px;white-space:nowrap}.filter-bar>a:hover{color:var(--accent)}.filters{align-items:center;gap:10px;padding:12px 0 24px}.filters button{padding:9px 17px;min-height:40px}.searchbox{align-items:stretch;margin:24px 0 14px}.searchbox input{width:100%;min-width:0}.searchbox button{flex:none}.button-dark,.primary{font-weight:600}.card-image:after{content:"";position:absolute;inset:0;border:1px solid #00000008;pointer-events:none;border-radius:inherit}.card h3{font-weight:600;line-height:1.5}.hero-copy{max-width:60%}.hero-copy h1{font-weight:650;text-shadow:0 2px 24px #0002}.hero-copy .pill-link{background:#ffffff18;backdrop-filter:blur(10px);font-weight:600}.hero-copy .pill-link:hover{background:var(--accent);border-color:var(--accent)}.eyebrow{font-weight:500}.section-head{gap:20px;align-items:center}.section-head>a{flex:none}.section-head>a:hover,.text-link:hover{color:var(--accent)}.advantages{gap:24px}.advantages h3{line-height:1.6;font-weight:600}.main-media{margin-bottom:40px}.detail>h1{margin-bottom:20px}.subtitle{margin-bottom:28px}.detail>.eyebrow{margin-bottom:18px}.detail>.team{margin-top:44px}.team{padding-top:28px}.detail>.article-body{margin:40px 0}.article-body .body-block{margin:26px 0}.article-body .body-block figure{margin:0}.article-body .body-block h2{margin-top:1.3em}.company-intro{max-width:720px}.company-capabilities{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:36px 0}.company-capabilities article{padding:28px;border:1px solid #e5e5e8;border-radius:12px;background:#fafafa}.company-capabilities h3{font-size:21px;margin:10px 0}.company-capabilities small{color:var(--accent);font-size:11px;letter-spacing:2px}.company-capabilities p{font-size:14px;color:#73737c;margin:0;line-height:1.8}.demo-note{font-size:11px;color:#8c8c93;margin-top:16px}.site-nav .logo{font-weight:850}.hero-index button{min-height:0}.slide-controls button{min-height:34px}.service-tile{min-width:0}.service-tile small{display:block;padding-right:25px;line-height:1.6}.service-tile h3{font-weight:600}.to-top{min-height:40px}.gallery-grid button{padding:6px}.empty button{margin:12px}
@media(max-width:800px){.site-nav nav{gap:25px}.hero-copy{max-width:85%}.filter-bar{gap:10px}.filter-bar select{min-width:128px}.section-head{align-items:flex-end}.section-head h2{line-height:1.35}}
@media(max-width:540px){html{scroll-padding-top:88px}.site-nav nav{gap:16px}.site-nav nav a{font-size:15px}.site-nav nav a.active:after{left:7px;transform:none;bottom:4px}.filter-bar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.filter-bar select{width:100%;min-width:0;max-width:none;font-size:13px;padding-right:36px;background-position:right 10px center}.filter-bar>a{justify-content:center;padding:0;font-size:12px}.searchbox{gap:8px;flex-wrap:wrap}.searchbox input{flex:1 1 100%}.searchbox button{flex:1}.filters{flex-wrap:nowrap;overflow:auto;padding-bottom:18px;margin-bottom:4px;scrollbar-width:thin}.filters button{flex:none;font-size:12px}.hero-copy{max-width:86%;top:20%}.hero-copy h1{font-size:36px;line-height:1.25}.hero-copy p{max-width:240px}.wrap{padding-top:42px;padding-bottom:42px}.section-head h2{font-size:26px}.section-head>a{font-size:11px}.grid{gap:24px 14px}.card h3{font-size:13px;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-clamp:2;overflow:hidden;min-height:38px}.card p{line-height:1.7}.detail{padding-left:6%;padding-right:6%}.detail h1{font-size:30px;line-height:1.3}.main-media{margin-bottom:30px}.subtitle{font-size:15px}.team dl{gap:16px;grid-template-columns:84px 1fr}.team dd{overflow-wrap:anywhere}.closing{padding:36px 6%}.company-capabilities{grid-template-columns:1fr;gap:14px}.company-capabilities article{padding:23px}.article-body .image-group{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.hero img,.card img{transition:none}}
.main-media:has(>audio){display:grid;grid-template-columns:180px minmax(0,1fr);gap:28px;align-items:center;padding:26px;background:#f4f4f6;border:1px solid #e7e7eb}.main-media:has(>audio)>img{width:180px;height:180px;object-fit:cover;border-radius:8px}.main-media:has(>audio)>audio{width:100%;min-width:0;margin:0}
@media(max-width:540px){.main-media:has(>audio){grid-template-columns:minmax(0,1fr);gap:20px;padding:22px}.main-media:has(>audio)>img{width:160px;height:160px;margin:auto}.main-media:has(>audio)>audio{width:100%}}
/* V2.1: tighter editorial rhythm and touch-friendly controls. */
.card h3{margin:12px 0 5px;min-height:0}.card p{margin:0;line-height:1.6}.contact{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 0;margin-top:30px;border-top:1px solid #e5e5e8;border-radius:0;background:transparent}.contact-info{min-width:0}.contact-label{display:block;font-size:11px;letter-spacing:1.5px;color:#85858c;margin-bottom:8px}.contact a.contact-phone{display:inline-flex;align-items:center;gap:20px;font-size:24px;font-weight:600;margin:0;line-height:1.5;min-height:44px}.contact-phone span{font-size:18px;color:var(--accent)}.contact p{margin:6px 0 0;font-size:13px;overflow-wrap:anywhere}.contact figure{margin:0;flex:none;text-align:center}.contact figure img{width:88px;height:88px;object-fit:contain;margin:0}.contact figcaption{font-size:10px;color:#888;margin-top:5px}.detail{padding-bottom:48px}.detail>.team{margin-bottom:28px}.filters{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y}.filters button,.site-nav .menu{min-height:44px}select,input,button{-webkit-tap-highlight-color:transparent}.lightbox-image,.slideshow{touch-action:pan-y pinch-zoom}
@media(max-width:540px){.hero{height:310px;min-height:0}.hero-copy{top:16%;max-width:88%}.hero-copy .eyebrow{font-size:9px;letter-spacing:2px;margin-bottom:18px}.hero-copy h1{font-size:29px;line-height:1.25;margin:0 0 14px}.hero-copy p{font-size:12px;line-height:1.6;margin:0 0 20px;max-width:90%}.hero-copy .pill-link{padding:10px 17px;font-size:12px;min-height:40px}.hero-index{bottom:18px}.card h3{min-height:0;margin:10px 0 5px;font-size:13px}.card p{font-size:10px;line-height:1.55}.grid{row-gap:23px}.contact{padding:18px 0;margin-top:24px;gap:16px}.contact a.contact-phone{font-size:22px;gap:14px}.contact-label{font-size:9px;letter-spacing:1px}.contact figure img{width:72px;height:72px}.detail{padding-bottom:30px}.detail>.team{margin-top:28px;margin-bottom:20px;padding-top:22px}.detail>.article-body{margin:28px 0}.team dl{margin-bottom:0}.wrap:has(>.article-body){padding-bottom:30px}input:not([type=checkbox]):not([type=color]),select,textarea{font-size:16px}}
@media(max-width:360px){.hero{height:290px}.hero-copy h1{font-size:26px}.hero-copy .eyebrow{font-size:8px}.hero-copy p{font-size:11px}.contact a.contact-phone{font-size:20px}}
#hero,#main-slider,.lightbox{touch-action:pan-y pinch-zoom}.hero-index{gap:4px}.hero-index button,.hero-index button.active{width:40px;height:24px;min-height:24px;background:transparent;display:grid;place-items:center}.hero-index button:after{content:"";width:28px;height:3px;background:#ffffff60}.hero-index button.active:after{background:#fff}.slide-controls button,.lightbox-controls button{min-width:44px;min-height:44px}.hero-copy .pill-link{margin-top:0}
