/*
Theme Name: EP Digital Corporate - Mobile UX
Theme URI: https://epdigital.com.my/
Author: EP Digital
Description: Custom responsive corporate theme for EP Digital Malaysia.
Version: 1.1.9
Requires at least: 5.2
Requires PHP: 7.2
Text Domain: epdigital
*/

:root { --navy:#061426; --navy-2:#0a1d35; --blue:#244997; --electric:#5d8fec; --ice:#ecf3ff; --silver:#a9b6c7; --paper:#f4f6f8; --ink:#13243b; --line:#dce2e9; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:#fff; color:var(--ink); font-family:Arial,"Helvetica Neue",sans-serif; }
a { color:inherit; text-decoration:none; }
.site-header { height:94px; padding:0 clamp(24px,5.5vw,88px); display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:40px; background:var(--navy); color:#fff; border-bottom:1px solid rgba(255,255,255,.16); position:relative; z-index:10; }
.brand img { width:172px; height:auto; filter:brightness(0) invert(1); }
.desktop-nav { display:flex; gap:34px; align-items:center; text-transform:uppercase; letter-spacing:.13em; font-size:12px; color:#c3cfdd; }
.desktop-nav a,.header-cta,.text-link { transition:color .2s ease, opacity .2s ease; }
.desktop-nav a:hover { color:#fff; }
.header-cta { justify-self:end; border:1px solid #6e9ce9; padding:16px 20px; font-size:12px; text-transform:uppercase; letter-spacing:.13em; }
.header-cta:hover { background:#fff; color:var(--navy); }
.menu-toggle{display:none;background:none;border:1px solid rgba(255,255,255,.35);color:#fff;padding:11px 14px;text-transform:uppercase;letter-spacing:.12em;font-size:10px}.nav-group{height:94px;display:flex;align-items:center;position:relative}.nav-group>a span{color:#79a7f5;margin-left:5px}.dropdown{position:absolute;top:78px;left:50%;width:330px;padding:10px;background:#fff;color:var(--ink);box-shadow:0 20px 60px rgba(0,0,0,.25);opacity:0;visibility:hidden;transform:translate(-50%,12px);transition:.25s ease;text-transform:none;letter-spacing:0}.nav-group:hover .dropdown,.nav-group:focus-within .dropdown{opacity:1;visibility:visible;transform:translate(-50%,0)}.dropdown a{display:grid;gap:6px;padding:17px 18px;border-bottom:1px solid var(--line)}.dropdown a:last-child{border:0}.dropdown b{font-size:14px}.dropdown small{color:#6c7888;font-size:11px}.dropdown a:hover{background:var(--paper);color:var(--blue)}
.hero { min-height:760px; position:relative; overflow:hidden; background:var(--navy); color:#fff; display:flex; align-items:center; }
.hero-image,.hero-shade { position:absolute; inset:0; }
.hero-image { background:url('assets/epdigital-print-hero.jpg') center/cover no-repeat; }
.hero-shade { background:linear-gradient(90deg,rgba(5,19,36,.98) 0%,rgba(5,19,36,.88) 38%,rgba(5,19,36,.42) 67%,rgba(5,19,36,.12) 100%),linear-gradient(0deg,rgba(5,19,36,.5),transparent 50%); }
.hero-content { width:min(760px,52vw); margin-left:clamp(24px,5.5vw,88px); position:relative; z-index:2; padding:90px 0 150px; }
.eyebrow,.section-index { margin:0 0 34px; display:flex; align-items:center; gap:18px; text-transform:uppercase; letter-spacing:.23em; font-size:11px; font-weight:700; color:#91b5f3; }
.eyebrow span { width:44px; height:2px; background:#76a8ff; display:block; }
h1 { margin:0; font-size:clamp(55px,6.1vw,96px); line-height:.96; letter-spacing:-.055em; font-weight:300; }
h1 strong { font-weight:700; }
.hero-copy { max-width:700px; margin:34px 0 0; color:#c5d1df; font-size:20px; line-height:1.65; }
.hero-actions { display:flex; gap:14px; margin-top:42px; }
.button { min-height:56px; display:inline-flex; align-items:center; justify-content:space-between; gap:30px; padding:0 24px; font-size:13px; font-weight:700; letter-spacing:.04em; }
.button.primary { background:#fff; color:var(--navy); }
.button.secondary { border:1px solid rgba(255,255,255,.5); color:#fff; }
.button:hover { opacity:.84; }
.hero-facts { position:absolute; z-index:3; bottom:0; right:0; width:min(680px,48vw); display:grid; grid-template-columns:repeat(3,1fr); background:rgba(6,20,38,.88); backdrop-filter:blur(10px); border-top:1px solid rgba(255,255,255,.18); border-left:1px solid rgba(255,255,255,.18); }
.hero-facts div { padding:24px; border-right:1px solid rgba(255,255,255,.14); }
.hero-facts strong { display:block; font-size:21px; margin-bottom:6px; }
.hero-facts span { color:#9eadc0; font-size:12px; line-height:1.4; }
.partner-strip { min-height:116px; display:grid; grid-template-columns:1.2fr 1fr 1fr 1.4fr; align-items:center; padding:0 clamp(24px,5.5vw,88px); border-bottom:1px solid var(--line); }
.partner-strip>* { height:100%; display:flex; align-items:center; padding:0 34px; border-right:1px solid var(--line); }
.partner-strip>*:first-child { padding-left:0; }
.partner-strip>*:last-child { border:0; }
.partner-strip p { margin:0; text-transform:uppercase; letter-spacing:.16em; font-size:10px; font-weight:700; color:#778397; }
.partner-name { font-size:27px; font-weight:800; color:var(--blue); }
.partner-note { justify-content:flex-end; text-align:right; }
.section { padding:120px clamp(24px,5.5vw,88px); }
.intro { display:grid; grid-template-columns:1fr 1fr; gap:9vw; }
.section-index { color:var(--blue); margin-bottom:28px; }
.section-index.light { color:#8db1ef; }
h2 { margin:0; font-size:clamp(42px,5vw,76px); line-height:1.02; letter-spacing:-.045em; font-weight:500; }
.intro-copy { padding-top:36px; max-width:700px; }
.intro-copy p { color:#59677a; line-height:1.75; font-size:17px; }
.intro-copy .lead { color:var(--ink); font-size:24px; line-height:1.5; margin-top:0; }
.intro-highlights{display:grid;margin-top:clamp(3rem,7vw,6rem);border-top:1px solid var(--line)}.intro-highlights>div{display:grid;grid-template-columns:minmax(7rem,.6fr) 1.4fr;gap:1.25rem;padding:1.15rem 0;border-bottom:1px solid var(--line)}.intro-highlights strong{color:var(--blue);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.intro-highlights span{color:#657286;font-size:.88rem;line-height:1.5}
blockquote { margin:42px 0 0; padding:28px 0 0 34px; border-left:2px solid var(--blue); border-top:1px solid var(--line); font-size:21px; line-height:1.5; }
.technology { background:var(--navy); color:#fff; }
.technology-head,.expertise-title { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(20rem,.65fr); column-gap:clamp(2rem,5vw,6rem); row-gap:clamp(1.5rem,3vw,2.5rem); align-items:end; }
.technology-head { margin-bottom:70px; }
.technology-head .section-index,.expertise-title .section-index { grid-column:1 / -1; margin:0; }
.technology-head h2,.expertise-title h2 { grid-column:1; max-width:950px; }
.technology-head p:last-child { grid-column:2; max-width:520px; color:#aab8c9; line-height:1.7; margin:0; }
.technology-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid rgba(255,255,255,.2); }
.tech-panel { position:relative; isolation:isolate; overflow:hidden; display:grid; grid-template-columns:68px 1fr; gap:24px; min-height:520px; padding:68px 48px; border-right:1px solid rgba(255,255,255,.2); color:inherit; transition:background .25s ease; }
.tech-panel::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(6,24,46,.98) 0%,rgba(6,24,46,.94) 49%,rgba(6,24,46,.52) 78%,rgba(6,24,46,.32) 100%); pointer-events:none; }
.tech-panel>div { position:relative; z-index:1; }
.tech-machine { position:absolute; z-index:-2; right:-10%; bottom:0; width:78%; height:100%; object-fit:contain; object-position:right bottom; opacity:.72; filter:saturate(.72) contrast(1.04); transition:transform .55s ease,opacity .35s ease; }
.tech-machine--atexco { right:-6%; width:74%; object-fit:cover; object-position:56% center; opacity:.7; }
.tech-panel:hover .tech-machine { transform:scale(1.035) translateX(-1%); opacity:.84; }
.tech-panel:last-child { border:0; }
.tech-panel.featured { background:linear-gradient(140deg,rgba(43,103,216,.18),transparent 60%); }
.tech-panel:hover { background-color:rgba(43,103,216,.12); }
.tech-panel:focus-visible { outline:2px solid #79a7f5; outline-offset:-2px; }
.tech-number { color:#6d9df6; font-size:12px; letter-spacing:.15em; }
.tech-label { margin:0 0 18px; text-transform:uppercase; letter-spacing:.16em; font-size:10px; color:#8fa2b9; }
.tech-panel h3 { margin:0; font-size:clamp(54px,5.5vw,84px); letter-spacing:-.055em; }
.tech-panel p:not(.tech-label) { color:#aebdce; line-height:1.7; max-width:580px; }
.tech-panel>div:last-child { max-width:530px; }
.tech-tags { display:flex; flex-wrap:wrap; gap:8px; margin:28px 0 40px; }
.tech-tags span { border:1px solid rgba(255,255,255,.22); padding:9px 12px; text-transform:uppercase; letter-spacing:.11em; font-size:9px; color:#cbd6e4; }
.tech-cta { display:inline-block; color:#fff; font-size:13px; font-weight:700; border-bottom:1px solid #6d9df6; padding-bottom:8px; }
.additional-solutions { border-top:1px solid rgba(255,255,255,.2); }
.additional-solutions-head { display:flex; justify-content:space-between; gap:40px; padding:42px 0 30px; }
.additional-solutions-head .tech-label { margin:0; }
.additional-solutions-head>p:last-child { max-width:540px; margin:0; color:#8fa2b9; font-size:13px; line-height:1.6; text-align:right; }
.additional-solutions-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid rgba(255,255,255,.14); }
.additional-solutions-grid>a { min-height:280px; padding:38px 42px; color:#fff; border-right:1px solid rgba(255,255,255,.14); display:flex; flex-direction:column; transition:background .25s ease; }
.additional-solutions-grid>a:last-child { border-right:0; }
.additional-solutions-grid>a:hover { background:rgba(43,103,216,.1); }
.additional-solutions-grid span { color:#7fa8ee; text-transform:uppercase; letter-spacing:.14em; font-size:9px; }
.additional-solutions-grid h3 { margin:42px 0 12px; font-size:clamp(34px,3vw,50px); letter-spacing:-.045em; }
.additional-solutions-grid p { margin:0; max-width:390px; color:#aebdce; line-height:1.65; font-size:14px; }
.additional-solutions-grid b { margin-top:auto; padding-top:28px; font-size:12px; }
.additional-solutions-grid i { color:#79a7f5; font-style:normal; }
.expertise { display:block; background:linear-gradient(135deg,#f7f9fc 0%,#fff 55%); }
.expertise-title { margin-bottom:50px; }
.expertise-title h2 { font-size:clamp(42px,4.2vw,66px); }
.expertise-title>p:last-child { grid-column:2; max-width:520px; margin:0; color:#687486; line-height:1.7; font-size:16px; }
.service-list { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.service-list article { min-height:245px; padding:28px 30px 30px; border-right:1px solid var(--line); display:flex; flex-direction:column; transition:background .25s ease,transform .25s ease; }
.service-list article:last-child { border-right:0; }
.service-list article:hover { background:#fff; transform:translateY(-4px); }
.service-mark { display:flex; align-items:center; justify-content:space-between; }
.service-icon { width:34px; height:34px; display:grid; place-items:center; border:1px solid rgba(43,103,216,.35); border-radius:50%; color:var(--blue); font-size:17px; line-height:1; font-weight:400; }
.service-number { color:var(--blue); font-size:10px; letter-spacing:.15em; }
.service-list h3 { margin:32px 0 12px; font-size:20px; line-height:1.25; }
.service-list p { margin:0; color:#667386; line-height:1.65; font-size:14px; }
.story { min-height:760px; display:grid; grid-template-columns:1fr 1fr; background:#09182b; color:#fff; }
.story-photo { min-height:680px; background:url('assets/practimax-team-hands-refined.jpg') 30% center/cover no-repeat; }
.story-content { padding:100px clamp(40px,6vw,100px); align-self:center; }
.story-content>p:not(.section-index) { color:#b6c3d3; line-height:1.75; font-size:17px; max-width:650px; }
.story-content blockquote { border-top-color:rgba(255,255,255,.17); border-left-color:#6797ea; color:#fff; font-size:20px; }
.story-stats { display:grid; grid-template-columns:repeat(3,1fr); margin:48px 0 42px; border-top:1px solid rgba(255,255,255,.18); border-bottom:1px solid rgba(255,255,255,.18); }
.story-stats div { padding:24px 12px 24px 0; }
.story-stats strong { display:block; font-size:28px; }
.story-stats span { color:#8fa0b5; font-size:11px; }
.text-link { color:#dbe7fa; border-bottom:1px solid #6797ea; padding-bottom:8px; font-size:13px; }
.contact { padding:100px clamp(24px,5.5vw,88px); display:grid; grid-template-columns:1.25fr .75fr; gap:9vw; background:var(--blue); color:#fff; }
.contact h2 { max-width:820px; }
.contact-details { align-self:end; }
.contact-details p { color:#d5e1f4; line-height:1.7; margin:0 0 30px; }
.contact-button { background:#fff; color:var(--navy); width:100%; }
footer { padding:72px clamp(24px,5.5vw,88px) 32px; display:grid; grid-template-columns:1.5fr 1fr .6fr; gap:60px; background:#fff; color:#536174; font-size:13px; }
.footer-brand img { width:185px; }
.footer-brand p { max-width:300px; line-height:1.6; }
.footer-label { text-transform:uppercase; letter-spacing:.16em; color:var(--ink); font-size:10px; font-weight:700; }
address { font-style:normal; line-height:1.7; }
.footer-bottom { grid-column:1/-1; display:flex; justify-content:space-between; border-top:1px solid var(--line); padding-top:26px; margin-top:20px; color:#818b99; }
@media (max-width:1000px) { .site-header{grid-template-columns:1fr auto}.desktop-nav{display:none}.hero-content{width:75vw}.hero-facts{width:100%;}.partner-strip{grid-template-columns:1fr 1fr}.partner-strip>*{min-height:80px;border-bottom:1px solid var(--line)}.intro,.contact,.story{grid-template-columns:1fr}.technology-head{grid-template-columns:1fr;align-items:start}.technology-grid{grid-template-columns:1fr}.tech-panel{border-right:0;border-bottom:1px solid rgba(255,255,255,.2)}.additional-solutions-grid{grid-template-columns:1fr}.additional-solutions-grid>a{min-height:230px;border-right:0;border-bottom:1px solid rgba(255,255,255,.14)}.additional-solutions-grid>a:last-child{border-bottom:0}.expertise-title{grid-template-columns:1fr 1.4fr}.expertise-title>p:last-child{grid-column:2}.service-list{grid-template-columns:1fr 1fr}.service-list article:nth-child(2){border-right:0}.service-list article:nth-child(-n+2){border-bottom:1px solid var(--line)}.story-photo{min-height:520px}.story-content{padding:80px clamp(24px,6vw,80px)} }
@media (max-width:620px) { .site-header{height:78px;padding:0 20px}.brand img{width:135px}.header-cta{padding:12px;font-size:10px}.hero{min-height:820px;align-items:flex-start}.hero-content{width:auto;margin:0;padding:78px 20px 230px}.hero-copy{font-size:17px}.hero-actions{flex-direction:column;align-items:stretch}.hero-facts{grid-template-columns:1fr}.hero-facts div{padding:13px 20px}.partner-strip{padding:0 20px}.partner-strip>*{padding:0 12px}.partner-note{justify-content:flex-start;text-align:left}.section{padding:80px 20px}.intro{gap:30px}.intro-copy{padding:0}.intro-copy .lead{font-size:20px}.technology-head{margin-bottom:40px}.tech-panel{grid-template-columns:1fr;padding:45px 0}.additional-solutions-head{display:block;padding:36px 0 24px}.additional-solutions-head .tech-label{margin-bottom:14px}.additional-solutions-head>p:last-child{text-align:left}.additional-solutions-grid>a{padding:32px 0}.additional-solutions-grid h3{margin-top:30px}.expertise-title{display:block;margin-bottom:36px}.expertise-title .section-index{margin-bottom:24px}.expertise-title>p:last-child{margin-top:20px}.service-list{grid-template-columns:1fr}.service-list article{min-height:auto;padding:26px 0;border-right:0;border-bottom:1px solid var(--line)}.service-list article:nth-child(-n+2){border-bottom:1px solid var(--line)}.service-list article:last-child{border-bottom:0}.service-list h3{margin:22px 0 10px}.story{display:block}.story-photo{min-height:370px}.story-content{padding:70px 20px}.story-stats{grid-template-columns:1fr}.contact{padding:75px 20px;gap:45px}footer{grid-template-columns:1fr;padding:55px 20px 28px}.footer-bottom{flex-direction:column;gap:14px} }
@media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto} }

/* Multi-page corporate system */
.page-hero{min-height:520px;padding:110px clamp(24px,5.5vw,88px);background:radial-gradient(circle at 82% 25%,rgba(53,112,219,.28),transparent 25%),linear-gradient(135deg,#061426,#0c2545);color:#fff;display:flex;flex-direction:column;justify-content:center}
.page-hero h1{max-width:1050px;font-size:clamp(52px,7vw,104px)}
.page-hero>p:last-child{max-width:760px;margin:34px 0 0;color:#bdcad9;font-size:19px;line-height:1.7}
.split{display:grid;grid-template-columns:1fr 1fr;gap:9vw}
.rich-copy{max-width:720px}.rich-copy p{color:#59677a;line-height:1.75;font-size:17px}.rich-copy .lead{margin-top:0;color:var(--ink);font-size:24px;line-height:1.5}
.dark{background:var(--navy);color:#fff}.pale{background:var(--paper)}
.timeline-grid,.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.16)}
.timeline-grid article{padding:44px;background:#0a1d35}.timeline-grid strong{color:#79a7f5;font-size:36px}.timeline-grid h3{font-size:24px}.timeline-grid p{color:#aebdce;line-height:1.7}
.info-card{min-height:280px;padding:42px;background:#fff;border:1px solid var(--line)}.info-card>span{color:var(--blue);font-size:11px;letter-spacing:.16em}.info-card h3{font-size:25px;margin:55px 0 14px}.info-card p{color:#687486;line-height:1.7}
.dark .info-card{background:#0a1d35;border-color:rgba(255,255,255,.15)}.dark .info-card p{color:#aebdce}.compact .info-card{min-height:230px}.compact .info-card h3{margin-top:0}
.product-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:24px}.product-card{min-height:570px;padding:55px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden;color:#fff;background:#122849}.product-card:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(3,14,29,.96),rgba(4,18,35,.12));z-index:0}.product-card>*{position:relative;z-index:1}.product-card>span{font-size:10px;text-transform:uppercase;letter-spacing:.18em;color:#a9c7f5}.product-card h2{font-size:72px;margin:12px 0}.product-card p{max-width:540px;color:#d0dae7;line-height:1.6}.product-card b{margin-top:22px;font-size:13px}.durst-card{background:url('assets/durst-tau.jpg') center/cover}.atexco-card{background:url('assets/atexco-vegapress.jpg') center/cover}
.legacy{display:grid;grid-template-columns:1fr 1fr;gap:9vw;background:var(--paper)}.legacy>div>p:last-child{color:#667386;line-height:1.7;max-width:650px}.legacy-links{border-top:1px solid #ccd4de}.legacy-links a{display:flex;justify-content:space-between;padding:28px 4px;border-bottom:1px solid #ccd4de;font-size:24px;font-weight:700}
.feature-media{display:grid;grid-template-columns:1.1fr .9fr;min-height:670px}.feature-media>img{width:100%;height:100%;min-height:600px;object-fit:cover;background:#e9eef5}.feature-media>div{padding:90px clamp(35px,6vw,100px);align-self:center}.feature-media p,.feature-media li{color:#647286;line-height:1.7}.feature-media ul,.legacy-products ul{padding-left:20px}.dark-button{margin-top:25px;background:var(--navy);color:#fff}
.notice{margin-top:34px;padding:22px;border-left:3px solid var(--blue);background:var(--paper);font-size:14px;line-height:1.6}
.legacy-products article{display:grid;grid-template-columns:1fr 1fr;min-height:620px}.legacy-products article:nth-child(even){background:var(--paper)}.legacy-products article>img,.legacy-products article>.legacy-visual,.product-thumbs{width:100%;height:100%;min-height:540px;object-fit:cover}.legacy-products article>div:last-child{padding:90px clamp(35px,6vw,100px);align-self:center}.legacy-products p,.legacy-products li{color:#647286;line-height:1.7}.scodix-visual{background:url('assets/scodix-packaging.jpg') center/cover}.product-thumbs{display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:35px;background:#e7ebf0}.product-thumbs img{width:100%;max-height:350px;object-fit:contain}
.case-feature{display:grid;grid-template-columns:1fr 1fr;background:var(--navy);color:#fff}.case-photo{min-height:760px;background:url('assets/practimax-facility.jpg') center/cover}.case-feature>div:last-child{padding:90px clamp(35px,6vw,100px);align-self:center}.case-feature>div>p:not(.section-index){color:#b6c3d3;line-height:1.75;font-size:17px}
.case-feature--compact .case-photo{min-height:540px}.case-feature--compact>div:last-child{padding-top:65px;padding-bottom:65px}.production-points{display:grid;gap:0;margin:2rem 0 0;padding:0;list-style:none;border-top:1px solid rgba(255,255,255,.18)}.production-points li{padding:1rem 0;border-bottom:1px solid rgba(255,255,255,.18);color:#c5d1df;font-size:.95rem;line-height:1.5}
.case-hero-image{height:min(72vw,820px);min-height:480px;position:relative;background:url('assets/practimax-team-hands-refined.jpg') center 42%/cover no-repeat}.case-hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,18,35,.55),transparent 45%)}.case-hero-image span{position:absolute;z-index:1;left:clamp(24px,5.5vw,88px);bottom:38px;color:#fff;text-transform:uppercase;letter-spacing:.2em;font-size:11px}.case-intro{display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw}.case-metrics{display:grid;grid-template-columns:repeat(4,1fr);background:var(--blue);color:#fff;padding:0 clamp(24px,5.5vw,88px)}.case-metrics div{padding:38px 28px;border-right:1px solid rgba(255,255,255,.22)}.case-metrics strong{display:block;font-size:42px}.case-metrics span{font-size:11px;color:#cbdaf2}
.partnership-spotlight{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(3rem,7vw,8rem);padding:clamp(4.5rem,7vw,7rem) clamp(24px,5.5vw,88px);background:linear-gradient(135deg,#173f80 0%,#0b2240 68%,#061426 100%);color:#fff}.partnership-intro h2{max-width:900px;font-size:clamp(2.8rem,4.6vw,4.8rem)}.partnership-intro>p:last-child{max-width:720px;margin:2rem 0 0;color:#c4d3e7;font-size:1.05rem;line-height:1.7}.partnership-milestones{display:grid;align-self:end;border-top:1px solid rgba(255,255,255,.24)}.partnership-milestones article{display:grid;grid-template-columns:110px 1fr;column-gap:1.5rem;padding:1.5rem 0;border-bottom:1px solid rgba(255,255,255,.24)}.partnership-milestones span{grid-row:1 / 3;color:#8db8ff;font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.partnership-milestones strong{font-size:1.15rem}.partnership-milestones p{margin:.45rem 0 0;color:#aebed2;font-size:.9rem;line-height:1.6}
.contact-page{display:grid;grid-template-columns:1fr 1fr;gap:9vw}.contact-page address{margin-top:30px;font-size:18px;color:#5e6c7f}.contact-map-button{width:max-content;margin-top:2rem}.contact-cards{display:grid;gap:12px}.contact-cards>*{padding:28px 32px;border:1px solid var(--line);display:grid;gap:10px}.contact-cards span{text-transform:uppercase;letter-spacing:.16em;font-size:10px;color:#78869a}.contact-cards strong{font-size:25px;color:var(--ink)}.contact-cards b{font-size:12px;color:var(--blue)}
.map-link{padding:90px clamp(24px,5.5vw,88px);display:flex;align-items:flex-end;justify-content:space-between;gap:40px;background:linear-gradient(135deg,#143d7b,#071a31);color:#fff}.map-link h2{max-width:800px}
.machine-showcase{display:grid;grid-template-columns:1.1fr .9fr;min-height:700px}.machine-image{position:relative;background:#eef1f5;display:grid;place-items:center;padding:50px}.machine-image img{width:100%;max-height:560px;object-fit:contain}.machine-image span{position:absolute;left:25px;bottom:20px;font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:#748196}.machine-copy{padding:80px clamp(35px,5vw,85px);align-self:center}.machine-copy>p:not(.section-index){color:#647286;line-height:1.7}.spec-row{display:grid;grid-template-columns:repeat(3,1fr);margin:38px 0;border-block:1px solid var(--line)}.spec-row div{padding:22px 12px 22px 0}.spec-row strong{display:block;color:var(--blue);font-size:32px}.spec-row span{display:block;color:#6a788b;font-size:11px;line-height:1.4}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.18)}.process-grid article{padding:42px;border-right:1px solid rgba(255,255,255,.18)}.process-grid span{color:#78a7f5;font-size:11px}.process-grid h3{font-size:25px;margin-top:50px}.process-grid p{color:#aebdce;line-height:1.65}.visual-apps{display:grid;grid-template-columns:.6fr 1.4fr;gap:6vw}.application-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.application-grid figure{margin:0;position:relative;min-height:260px;overflow:hidden;background:#e8edf3}.application-grid img{width:100%;height:100%;position:absolute;object-fit:cover;transition:transform .4s ease}.application-grid figure:hover img{transform:scale(1.03)}.application-grid figcaption{position:absolute;left:0;right:0;bottom:0;padding:45px 22px 20px;background:linear-gradient(transparent,rgba(5,18,35,.9));color:#fff;font-weight:700}
.machine-showcase--reverse .machine-copy{grid-column:1;grid-row:1}.machine-showcase--reverse .machine-image{grid-column:2;grid-row:1}.machine-image--pagemaster img{width:100%;height:100%;object-fit:contain}.tech-tags--light span{border-color:var(--line);color:#56667b;background:#f7f9fc}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.7,.2,1)}.revealed{opacity:1;transform:none}.hero-content,.page-hero>*{animation:heroRise .8s both}.page-hero>*:nth-child(2){animation-delay:.08s}.page-hero>*:nth-child(3){animation-delay:.16s}.button{transition:transform .25s ease,opacity .25s ease,background .25s ease}.button:hover{transform:translateY(-3px)}.product-card{transition:transform .4s ease,box-shadow .4s ease}.product-card:hover{transform:translateY(-8px);box-shadow:0 24px 60px rgba(6,20,38,.2)}@keyframes heroRise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
.customize-preview .reveal,.customize-preview section,.customize-preview figure { opacity:1 !important; transform:none !important; }
@media(max-width:1000px){.site-header{grid-template-columns:1fr auto auto}.menu-toggle{display:block}.desktop-nav{display:none;position:absolute;top:94px;left:0;right:0;background:#071629;padding:18px 24px;align-items:stretch;flex-direction:column;gap:0}.desktop-nav.open{display:flex}.desktop-nav>a,.nav-group>a{padding:16px 0;border-bottom:1px solid rgba(255,255,255,.12)}.nav-group{height:auto;display:block}.dropdown{position:static;width:auto;opacity:1;visibility:visible;transform:none;background:#0b213c;color:#fff;box-shadow:none;padding:4px 12px}.dropdown small{color:#9eafc4}.split,.product-grid,.legacy,.feature-media,.legacy-products article,.case-feature,.contact-page,.machine-showcase,.visual-apps,.case-intro{grid-template-columns:1fr}.machine-showcase--reverse .machine-copy,.machine-showcase--reverse .machine-image{grid-column:auto;grid-row:auto}.machine-showcase--reverse .machine-image{order:-1}.timeline-grid,.card-grid{grid-template-columns:1fr 1fr}.feature-media>img{min-height:460px}.legacy-products article>img,.legacy-products article>.legacy-visual,.product-thumbs{min-height:440px}.map-link{align-items:flex-start;flex-direction:column}.case-metrics{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.page-hero{min-height:450px;padding:80px 20px}.page-hero>p:last-child{font-size:17px}.timeline-grid,.card-grid,.process-grid{grid-template-columns:1fr}.product-card{min-height:460px;padding:30px}.product-card h2{font-size:54px}.feature-media>div,.legacy-products article>div:last-child,.case-feature>div:last-child,.machine-copy{padding:65px 20px}.feature-media>img,.legacy-products article>img,.legacy-products article>.legacy-visual,.product-thumbs,.case-photo{min-height:340px}.product-thumbs{padding:15px}.map-link{padding:70px 20px}.machine-image{padding:30px 15px}.spec-row,.case-metrics{grid-template-columns:1fr}.application-grid{grid-template-columns:1fr}.application-grid figure{min-height:230px}.case-hero-image{min-height:360px}}
@media(max-width:620px){.case-feature--compact .case-photo{min-height:300px}.case-feature--compact>div:last-child{padding-top:3rem;padding-bottom:3rem}.production-points{margin-top:1.4rem}.production-points li{font-size:.78rem;padding:.8rem 0}}
@media(max-width:1000px){.partnership-spotlight{grid-template-columns:1fr}.partnership-milestones{align-self:auto}}
@media(max-width:620px){.partnership-spotlight{padding:3.5rem 18px;gap:2.25rem}.partnership-intro h2{font-size:1.15rem;line-height:1.18}.partnership-intro>p:last-child{margin-top:1.25rem;font-size:.8rem;line-height:1.55}.partnership-milestones article{grid-template-columns:72px 1fr;column-gap:1rem;padding:1.1rem 0}.partnership-milestones span{font-size:.56rem}.partnership-milestones strong{font-size:.9rem}.partnership-milestones p{font-size:.75rem;line-height:1.5}}

/* Typography refinement: retain EP Digital's existing Arial family. */
body { font-size:1rem; line-height:1.65; }
h1,h2,h3 { text-wrap:balance; overflow-wrap:break-word; }
h1 { font-size:clamp(3.25rem,5.6vw,5.75rem); font-weight:400; line-height:1.045; letter-spacing:-.045em; }
h1 strong { font-weight:700; }
h2 { font-size:clamp(2.55rem,4.4vw,4.5rem); font-weight:600; line-height:1.1; letter-spacing:-.035em; }
h3 { line-height:1.2; letter-spacing:-.018em; }
.hero-content { width:min(850px,58vw); }
.hero-copy { margin-top:1.75rem; font-size:1.125rem; line-height:1.65; }
.page-hero h1 { font-size:clamp(3.3rem,6.2vw,6rem); }
.page-hero>p:last-child { margin-top:1.75rem; font-size:1.125rem; line-height:1.65; }
.case-page-hero>p:last-child { margin-top:3.5rem; }
.eyebrow,.section-index { font-size:.75rem; line-height:1.5; letter-spacing:.15em; font-weight:700; margin-bottom:1.75rem; }
.desktop-nav { font-size:.8rem; letter-spacing:.08em; font-weight:600; }
.button,.header-cta { font-size:.8125rem; letter-spacing:.055em; }
.section { padding-top:clamp(5rem,7vw,6.75rem); padding-bottom:clamp(5rem,7vw,6.75rem); }
.intro-copy p,.rich-copy p,.feature-media p,.feature-media li,.legacy-products p,.legacy-products li { font-size:1.0625rem; line-height:1.7; }
.intro-copy .lead,.rich-copy .lead { font-size:clamp(1.25rem,2vw,1.5rem); line-height:1.48; font-weight:500; }
blockquote { font-size:clamp(1.2rem,1.7vw,1.4rem); line-height:1.52; }
.tech-panel h3 { font-size:clamp(3.5rem,5vw,5rem); line-height:1.05; letter-spacing:-.045em; }
.product-card h2 { font-size:clamp(3.4rem,5vw,4.75rem); line-height:1.08; letter-spacing:-.04em; }
.info-card h3,.process-grid h3 { line-height:1.2; }
.story-content>p:not(.section-index),.case-feature>div>p:not(.section-index) { font-size:1.0625rem; line-height:1.7; }
.story-content h2 { line-height:1.18; margin-bottom:3.5rem; }
.footer-brand p { font-weight:600; color:var(--ink); line-height:1.5; }
@media(max-width:1000px){.hero-content{width:75vw}.desktop-nav{font-size:.875rem}}
@media(max-width:620px){h1{font-size:clamp(3rem,10vw,4.5rem);line-height:1.06}.page-hero h1{font-size:clamp(3rem,10vw,4.75rem)}h2{font-size:clamp(2.35rem,8vw,3.5rem)}.hero-content{width:auto}.hero-copy,.page-hero>p:last-child{font-size:1.0625rem}.section{padding-top:4.5rem;padding-bottom:4.5rem}.tech-panel h3{font-size:3.5rem}.product-card h2{font-size:3.5rem}}
@media(max-width:620px){.story-content h2{margin-bottom:2.75rem}}
@media(max-width:620px){.case-page-hero>p:last-child{margin-top:2.5rem}}
@media(max-width:1000px){.technology-head,.expertise-title{display:grid;grid-template-columns:1fr;row-gap:1.25rem}.technology-head .section-index,.expertise-title .section-index{margin-bottom:.25rem}.technology-head p:last-child,.expertise-title>p:last-child{grid-column:1;max-width:680px;margin-top:0}}

/* About page: clearer reading rhythm and a fuller leadership story. */
.about-philosophy { align-items:start; gap:clamp(3rem,7vw,7rem); }
.about-philosophy .rich-copy { max-width:44rem; }
.about-philosophy .rich-copy .lead { margin:0; line-height:1.58; }
.about-philosophy .rich-copy > p + p { margin:2rem 0 0; }
.about-philosophy blockquote { margin-top:2.75rem; }
.about-leadership { background:var(--paper); }
.about-leadership-head { max-width:55rem; margin-bottom:3.25rem; }
.about-leadership-head > p:last-child { max-width:42rem; margin:1.5rem 0 0; color:#59677a; font-size:1.125rem; line-height:1.7; }
.founder-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem; }
.founder-grid article { padding:clamp(2rem,4vw,3.5rem); background:#fff; border:1px solid var(--line); }
.founder-number { display:block; color:var(--blue); font-size:.75rem; font-weight:700; letter-spacing:.15em; text-transform:uppercase; }
.founder-grid h3 { margin:2.25rem 0 1.5rem; font-size:clamp(2rem,3vw,3.25rem); letter-spacing:-.035em; }
.founder-grid p { max-width:39rem; margin:0; color:#59677a; font-size:1.0625rem; line-height:1.75; }
.founder-grid p + p { margin-top:1.35rem; }
.about-timeline-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.about-timeline-grid article { padding:clamp(1.5rem,2.3vw,2.75rem); }
.about-timeline-grid strong { display:block; margin:0 0 2rem; font-size:clamp(1.5rem,2vw,2rem); line-height:1.15; }
.about-timeline-grid h3 { margin:0 0 1rem; font-size:clamp(1.35rem,1.7vw,1.65rem); line-height:1.25; }
.about-timeline-grid p { margin:0; font-size:1rem; line-height:1.7; }
.about-timeline-grid article{display:grid;grid-template-rows:auto 4.75rem 4.75rem 1fr;align-content:start}.about-timeline-grid .card-mark{align-self:start}.about-timeline-grid strong{min-width:0;align-self:start}.about-timeline-grid h3{min-width:0;align-self:start}
@media(max-width:1400px){.about-timeline-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1000px){.founder-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.about-philosophy{gap:2.5rem}.about-philosophy .rich-copy > p + p{margin-top:1.6rem}.about-leadership-head{margin-bottom:2rem}.founder-grid,.about-timeline-grid{grid-template-columns:1fr}.founder-grid article{padding:2rem}.founder-grid h3{margin:1.75rem 0 1.25rem}.about-timeline-grid strong{margin-bottom:1.5rem}}
@media(max-width:620px){.intro-highlights{margin-top:2.5rem}.intro-highlights>div{grid-template-columns:1fr;gap:.35rem}.about-timeline-grid article{grid-template-rows:auto auto auto auto}.contact-map-button{width:100%}}

/* Company journey remains one continuous four-column row above phone size. */
.about-timeline-grid{gap:0;background:#0a1d35;border-top:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16)}
.about-timeline-grid article{background:transparent;border-right:1px solid rgba(255,255,255,.16)}
.about-timeline-grid article:last-child{border-right:0}
@media(min-width:621px){.about-timeline-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:620px){.about-timeline-grid{grid-template-columns:1fr}.about-timeline-grid article{border-right:0;border-bottom:1px solid rgba(255,255,255,.16)}.about-timeline-grid article:last-child{border-bottom:0}}

/* Product details: separate the introduction from consistently aligned feature lists. */
.feature-media>div h2,.legacy-products article>div:last-child h2 { margin-bottom:1.35rem; }
.feature-media>div>p:not(.section-index),.legacy-products article>div:last-child>p:not(.section-index) { max-width:44rem; margin:0; font-size:1.0625rem; line-height:1.7; }
.feature-media ul,.legacy-products ul { display:grid; gap:.8rem; list-style:none; max-width:44rem; margin:2rem 0 0; padding:1.5rem 0 0; border-top:1px solid var(--line); }
.feature-media li,.legacy-products li { display:grid; grid-template-columns:.5rem minmax(0,1fr); align-items:start; column-gap:.9rem; margin:0; color:#536174; font-size:1rem; line-height:1.55; }
.feature-media li::before,.legacy-products li::before { content:""; width:.4rem; height:.4rem; margin-top:.55rem; border-radius:50%; background:var(--blue); }
.feature-media .dark-button { margin-top:2.25rem; }
@media(max-width:620px){.feature-media>div h2,.legacy-products article>div:last-child h2{margin-bottom:1rem}.feature-media ul,.legacy-products ul{margin-top:1.5rem;padding-top:1.25rem}}

/* Product photography: let the VegaPress fill its stage and show brand imagery clearly. */
.machine-showcase { grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr); min-height:0; }
.machine-image { min-height:0; padding:1.25rem; overflow:hidden; background:#fff; }
.machine-image img { width:100%; height:auto; max-height:none; object-fit:contain; }
.machine-copy { padding-top:3rem; padding-bottom:3rem; }
.legacy-image { position:relative; display:grid; place-items:center; min-height:34rem; margin:0; overflow:hidden; background:#e8e9e9; }
.legacy-image img { display:block; width:100%; height:100%; position:absolute; inset:0; object-fit:contain; }
.legacy-image--kodak { background:#fff; }
.legacy-image--scodix { background:#fff; }
.legacy-image--scodix img { object-fit:cover; }
.legacy-image figcaption { position:absolute; left:clamp(1.5rem,3vw,3rem); bottom:1.5rem; z-index:1; padding:.45rem .7rem; background:rgba(255,255,255,.9); color:#4d5d70; font-size:.6875rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
@media(max-width:1000px){.machine-showcase{grid-template-columns:1fr}.machine-image{min-height:clamp(20rem,55vw,35rem)}.legacy-image{min-height:30rem}}
@media(max-width:620px){.machine-image{min-height:19rem;padding:.75rem}.legacy-image{min-height:20rem}.legacy-image figcaption{left:1rem;bottom:1rem}}

/* One visual language for numbered cards throughout the site. */
.card-mark { display:flex; align-items:center; justify-content:space-between; gap:1rem; width:100%; }
.card-mark-icon { width:2.75rem; height:2.75rem; flex:none; display:grid; place-items:center; border:1px solid #c4d5ef; border-radius:50%; color:var(--blue); background:#f6f9ff; }
.card-mark-icon svg { width:1.35rem; height:1.35rem; }
.card-mark-number { color:var(--blue); font-size:.75rem; font-weight:700; letter-spacing:.14em; }
.dark .card-mark-icon,.technology .card-mark-icon { color:#9dc0ff; border-color:rgba(141,177,239,.48); background:rgba(104,151,234,.11); }
.dark .card-mark-number,.technology .card-mark-number { color:#9dc0ff; }
.process-grid article { min-height:15rem; display:flex; flex-direction:column; }
.process-grid h3 { margin:2.5rem 0 .55rem; }
.process-grid p { margin:0; }
.info-card h3 { margin:2rem 0 .75rem; }
.compact .info-card h3 { margin:1.75rem 0 .75rem; }
.info-card p { margin:0; }
.additional-solutions-grid .card-mark { margin-bottom:1.65rem; }
.additional-solutions-grid .card-mark-icon { color:#9dc0ff; border-color:rgba(141,177,239,.48); background:rgba(104,151,234,.11); }
.additional-solutions-grid .card-mark-number { color:#9dc0ff; font-size:.75rem; }
.additional-solutions-grid h3 { margin:1.25rem 0 .75rem; }
.about-timeline-grid .card-mark { margin-bottom:1.8rem; }
.about-timeline-grid strong { margin-bottom:1rem; }
@media(max-width:800px){.process-grid{grid-template-columns:1fr}.process-grid article{min-height:0;padding:1.75rem 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.18)}.process-grid article:last-child{border-bottom:0}.process-grid h3{margin-top:1.4rem}}
@media(max-width:620px){.process-grid article{min-height:0;padding:2rem 0}.process-grid h3{margin-top:1.6rem}.info-card{min-height:0;padding:2rem}.about-timeline-grid .card-mark{margin-bottom:1.35rem}}

/* Mobile layout hardening: prevent header and wide content from escaping the viewport. */
html,body { max-width:100%; overflow-x:hidden; }
img,svg { max-width:100%; }
@media(max-width:620px){
  .site-header{
    width:100%;
    height:72px;
    padding:0 16px;
    grid-template-columns:minmax(0,1fr) auto;
    gap:12px;
  }
  .brand{min-width:0;display:flex;align-items:center}
  .brand img{display:block;width:126px;max-width:100%}
  .menu-toggle{display:block;padding:10px 12px;justify-self:end}
  .header-cta{display:none}
  .desktop-nav{top:72px;padding:10px 18px;max-height:calc(100vh - 72px);overflow-y:auto}
  .desktop-nav>a,.nav-group>a{padding:13px 0}
  .dropdown{padding:2px 10px}
  .dropdown a{padding:13px 12px}

  .hero{min-height:700px}
  .hero-image{background-position:60% center}
  .hero-content{width:100%;max-width:none;margin:0;padding:68px 18px 220px}
  .hero-content h1{font-size:clamp(2.55rem,12vw,3.35rem);line-height:1.02;letter-spacing:-.045em}
  .hero-copy{font-size:1rem;line-height:1.55;margin-top:1.35rem}
  .hero-actions{margin-top:1.75rem}
  .button{width:100%;min-height:52px;padding:0 18px}
  .hero-facts div{padding:11px 18px}

  h1{font-size:clamp(2.55rem,12vw,3.35rem)}
  h2{font-size:clamp(2.15rem,10vw,2.85rem)}
  .page-hero{min-height:390px;padding:64px 18px}
  .page-hero h1{font-size:clamp(2.55rem,12vw,3.45rem)}
  .section{padding:4rem 18px}
  .partner-strip{padding:0 18px;grid-template-columns:1fr 1fr}
  .partner-strip>*{min-width:0;padding:0 8px}
  .partner-name{font-size:1.25rem}

  .tech-panel{min-height:440px;padding:36px 0;gap:16px}
  .tech-panel h3,.product-card h2{font-size:clamp(2.8rem,14vw,3.35rem)}
  .tech-machine{right:-22%;width:105%;opacity:.5}
  .tech-machine--atexco{right:-18%;width:105%}
  .additional-solutions-grid>a{min-width:0}
  .story-content,.feature-media>div,.legacy-products article>div:last-child,.case-feature>div:last-child,.machine-copy{padding:3.75rem 18px}
  .story-stats div{padding:18px 0}
  .contact{padding:4rem 18px}
  footer{padding:3.5rem 18px 1.75rem;gap:34px}

  .timeline-grid,.card-grid,.founder-grid,.about-timeline-grid,.process-grid,.case-metrics,.spec-row,.application-grid{grid-template-columns:minmax(0,1fr)}
  .feature-media,.legacy-products article,.case-feature,.contact-page,.machine-showcase,.visual-apps,.case-intro,.split,.product-grid,.legacy{grid-template-columns:minmax(0,1fr)}
  .info-card,.product-card,.founder-grid article,.timeline-grid article,.process-grid article{min-width:0}
  .case-metrics{padding:0 18px}
  .case-metrics div{padding:24px 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.22)}
  .legacy-links a{gap:20px;font-size:1.15rem}
  .map-link{padding:4rem 18px}
}

/* Compact phone typography: preserve hierarchy without dominating the viewport. */
@media(max-width:620px){
  body{font-size:.9375rem;line-height:1.6}
  .hero-content h1,h1{font-size:clamp(2.15rem,9.5vw,2.65rem);line-height:1.06;letter-spacing:-.035em}
  .page-hero h1{font-size:clamp(2.2rem,9.75vw,2.75rem);line-height:1.07}
  h2{font-size:clamp(1.9rem,8vw,2.3rem);line-height:1.12;letter-spacing:-.025em}
  h3{letter-spacing:-.012em}
  .tech-panel h3,.product-card h2{font-size:clamp(2.25rem,10vw,2.75rem);line-height:1.08}
  .founder-grid h3{font-size:clamp(1.75rem,7.5vw,2.1rem)}
  .info-card h3,.process-grid h3{font-size:1.3rem}
  .legacy-links a{font-size:1.05rem}
  .eyebrow,.section-index{font-size:.66rem;line-height:1.45;letter-spacing:.13em;margin-bottom:1.25rem}
  .eyebrow{gap:12px}
  .eyebrow span{width:28px}
  .hero-copy,.page-hero>p:last-child,.intro-copy p,.rich-copy p,.feature-media p,.feature-media li,.legacy-products p,.legacy-products li,.story-content>p:not(.section-index),.case-feature>div>p:not(.section-index){font-size:.96rem;line-height:1.62}
  .intro-copy .lead,.rich-copy .lead{font-size:1.1rem;line-height:1.5}
  blockquote{font-size:1.05rem;padding-left:20px}
  .partner-name{font-size:1.1rem}
  .case-metrics strong,.spec-row strong{font-size:1.8rem}
}

/* Extra-compact phone type scale requested for the final mobile presentation. */
@media(max-width:620px){
  body{font-size:.875rem}
  .hero-content h1,h1{font-size:clamp(1.85rem,8.4vw,2.25rem);line-height:1.08;letter-spacing:-.025em}
  .page-hero h1{font-size:clamp(1.9rem,8.6vw,2.3rem)}
  h2{font-size:clamp(1.65rem,7.1vw,2rem);line-height:1.15}
  .tech-panel h3,.product-card h2{font-size:clamp(2rem,8.8vw,2.35rem)}
  .founder-grid h3{font-size:clamp(1.55rem,6.8vw,1.85rem)}
  .info-card h3,.process-grid h3{font-size:1.18rem}
  .service-list h3{font-size:1.1rem}
  .legacy-links a{font-size:.98rem}
  .hero-copy,.page-hero>p:last-child,.intro-copy p,.rich-copy p,.feature-media p,.feature-media li,.legacy-products p,.legacy-products li,.story-content>p:not(.section-index),.case-feature>div>p:not(.section-index){font-size:.9rem;line-height:1.6}
  .intro-copy .lead,.rich-copy .lead{font-size:1rem}
  blockquote{font-size:.98rem}
  .button{font-size:.75rem}
}

/* Half-scale prominent typography for the requested ultra-small phone layout. */
@media(max-width:620px){
  body{font-size:.8rem}
  .hero-content h1,h1{font-size:clamp(.925rem,4.2vw,1.125rem);line-height:1.16;letter-spacing:-.01em}
  .page-hero h1{font-size:clamp(.95rem,4.3vw,1.15rem);line-height:1.16}
  h2{font-size:clamp(.825rem,3.55vw,1rem);line-height:1.2;letter-spacing:0}
  .tech-panel h3,.product-card h2{font-size:clamp(1rem,4.4vw,1.175rem);line-height:1.15}
  .founder-grid h3{font-size:clamp(.8rem,3.4vw,.95rem)}
  .info-card h3,.process-grid h3,.service-list h3{font-size:.9rem}
  .legacy-links a{font-size:.85rem}
  .hero-copy,.page-hero>p:last-child,.intro-copy p,.rich-copy p,.feature-media p,.feature-media li,.legacy-products p,.legacy-products li,.story-content>p:not(.section-index),.case-feature>div>p:not(.section-index){font-size:.8rem;line-height:1.55}
  .intro-copy .lead,.rich-copy .lead,blockquote{font-size:.88rem}
  .eyebrow,.section-index{font-size:.58rem}
  .button{font-size:.7rem}
}

/* Specific mobile overrides for the homepage card and expertise selectors. */
@media(max-width:620px){
  .additional-solutions-grid>a{min-height:0;padding:24px 0}
  .additional-solutions-grid .card-mark{margin-bottom:1rem}
  .additional-solutions-grid .card-mark-icon{width:2rem;height:2rem}
  .additional-solutions-grid .card-mark-icon svg{width:1rem;height:1rem}
  .additional-solutions-grid .card-mark-number{font-size:.58rem}
  .additional-solutions-grid span{font-size:.55rem;letter-spacing:.12em}
  .additional-solutions-grid h3{margin:.75rem 0 .5rem;font-size:1.175rem;line-height:1.15;letter-spacing:-.01em}
  .additional-solutions-grid p{font-size:.8rem;line-height:1.55}
  .additional-solutions-grid b{padding-top:1.15rem;font-size:.72rem}

  .expertise-title{margin-bottom:1.5rem}
  .expertise-title h2{font-size:1.15rem;line-height:1.18;letter-spacing:-.01em}
  .expertise-title>p:last-child{margin-top:.8rem;font-size:.8rem;line-height:1.55}
  .service-list article{padding:20px 0}
  .service-list .card-mark-icon{width:2rem;height:2rem}
  .service-list .card-mark-icon svg{width:1rem;height:1rem}
  .service-list .card-mark-number{font-size:.58rem}
  .service-list h3{margin:1rem 0 .45rem;font-size:.9rem}
  .service-list p{font-size:.78rem;line-height:1.55}
}

/* Keep all five solution brands on one mobile typographic hierarchy. */
@media(max-width:620px){
  .additional-solutions-grid span{font-size:.625rem;letter-spacing:.16em}
  .additional-solutions-grid h3{font-size:clamp(1rem,4.4vw,1.175rem);line-height:1.15;letter-spacing:-.01em}
  .additional-solutions-grid p{font-size:.8rem;line-height:1.55}
  .additional-solutions-grid b{font-size:.8rem}
}

/* Present all five solution brands at the same typographic level. */
.additional-solutions-grid>a{min-height:420px}
.additional-solutions-grid span{font-size:.625rem;letter-spacing:.16em}
.additional-solutions-grid h3{font-size:clamp(3.5rem,5vw,5rem);line-height:1.05;letter-spacing:-.045em}
.additional-solutions-grid p{font-size:1rem;line-height:1.7}
.additional-solutions-grid b{font-size:.8125rem}
@media(max-width:620px){
  .additional-solutions-grid>a{min-height:0;padding:36px 0}
  .additional-solutions-grid span{font-size:.625rem;letter-spacing:.16em}
  .additional-solutions-grid h3{margin:1rem 0 .7rem;font-size:clamp(1rem,4.4vw,1.175rem);line-height:1.15;letter-spacing:-.01em}
  .additional-solutions-grid p{font-size:.8rem;line-height:1.55}
  .additional-solutions-grid b{padding-top:1.4rem;font-size:.8125rem}
}

/* Mobile navigation: keep the Solutions submenu inside the viewport on hover/focus. */
@media(max-width:1000px){
  .desktop-nav,.nav-group{min-width:0;width:100%}
  .desktop-nav{overflow-x:hidden}
  .nav-group:hover .dropdown,.nav-group:focus-within .dropdown{
    position:static;
    left:auto;
    width:100%;
    max-width:100%;
    opacity:1;
    visibility:visible;
    transform:none;
  }
  .dropdown{box-sizing:border-box;overflow:hidden}
  .dropdown a{box-sizing:border-box;min-width:0;width:100%;max-width:100%}
  .dropdown a:hover,.dropdown a:focus-visible{
    background:rgba(255,255,255,.08);
    color:#fff;
  }
  .dropdown a:hover small,.dropdown a:focus-visible small{color:#b9c8dc}
}

/* About page: use the compact site-wide phone scale through the journey section. */
@media(max-width:620px){
  .about-leadership{padding-top:3.25rem;padding-bottom:3.25rem}
  .about-leadership-head{margin-bottom:1.5rem}
  .about-leadership-head h2{font-size:1rem;line-height:1.2;letter-spacing:-.01em}
  .about-leadership-head>p:last-child{margin-top:.8rem;font-size:.8rem;line-height:1.55}
  .founder-grid article{padding:1.4rem}
  .founder-number{font-size:.58rem;line-height:1.4}
  .founder-grid h3{margin:1rem 0 .65rem;font-size:.9rem;line-height:1.25;letter-spacing:-.005em}
  .founder-grid p{font-size:.78rem;line-height:1.58}
  .founder-grid p+p{margin-top:.85rem}

  .timeline.section{padding-top:3.25rem;padding-bottom:3.25rem}
  .about-timeline-grid article{padding:1.4rem;grid-template-rows:auto auto auto auto}
  .about-timeline-grid .card-mark{margin-bottom:1rem}
  .about-timeline-grid .card-mark-icon{width:2rem;height:2rem}
  .about-timeline-grid .card-mark-icon svg{width:1rem;height:1rem}
  .about-timeline-grid .card-mark-number{font-size:.58rem}
  .about-timeline-grid strong{margin:0 0 .65rem;font-size:1rem;line-height:1.15}
  .about-timeline-grid h3{margin:0 0 .55rem;font-size:.9rem;line-height:1.25;letter-spacing:-.005em}
  .about-timeline-grid p{font-size:.78rem;line-height:1.55}
}

/* A persistent mobile return control appears after the first meaningful scroll. */
.back-to-top-float{display:none}
@media(max-width:620px){
  .back-to-top-float{
    position:fixed;
    left:18px;
    bottom:20px;
    z-index:80;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    min-width:52px;
    min-height:42px;
    padding:0 13px;
    border:1px solid rgba(157,192,255,.58);
    background:rgba(7,22,41,.94);
    color:#fff;
    box-shadow:0 10px 28px rgba(0,0,0,.25);
    font-size:.68rem;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
    opacity:0;
    visibility:hidden;
    transform:translateY(10px);
    transition:opacity .2s ease,transform .2s ease,visibility .2s ease;
  }
  .back-to-top-float>span:first-child{color:#9dc0ff;font-size:1rem;line-height:1}
  .back-to-top-float.is-visible{opacity:1;visibility:visible;transform:none}
  .back-to-top-float:focus-visible{outline:2px solid #9dc0ff;outline-offset:3px}
}
