:root { --blue:#2646c7; --blue-deep:#19349f; --ink:#17202a; --muted:#637184; --paper:#fff; --mist:#f2f5f8; --line:#d9e0e7; --page-padding:clamp(1.25rem,5vw,6.5rem); color-scheme:light; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { background:var(--paper); color:var(--ink); font-family:Aptos,"Segoe UI",Arial,sans-serif; line-height:1.5; margin:0; }
a { color:inherit; text-decoration:none; }
.site-header { align-items:center; background:var(--paper); border-bottom:1px solid var(--line); display:grid; grid-template-columns:1fr auto; left:0; min-height:74px; padding:max(1rem,env(safe-area-inset-top)) var(--page-padding) 1rem; position:sticky; right:0; top:0; z-index:10; }
.brand { display:block; max-width:172px; }.brand img { display:block; height:auto; max-width:100%; }.desktop-nav { display:none; }
.header-cta { background:var(--blue); border:1px solid var(--blue); color:white; font-size:.72rem; font-weight:800; letter-spacing:.08em; padding:.85rem 1rem; text-transform:uppercase; transition:background-color 180ms ease,color 180ms ease; }.header-cta:hover { background:var(--blue-deep); color:white; }
.desktop-nav a[aria-current="page"] { color:var(--blue); position:relative; }
.desktop-nav a[aria-current="page"]::after { background:currentColor; bottom:-.55rem; content:""; height:2px; left:0; position:absolute; right:0; }
.hero-slider { background:var(--ink); height:calc(100vh - 74px); height:calc(100svh - 74px); min-height:35rem; overflow:clip; position:relative; }.slide { inset:0; opacity:0; position:absolute; transition:opacity 650ms ease; visibility:hidden; }.slide.is-active { opacity:1; visibility:visible; }.slide>img { height:100%; object-fit:cover; object-position:center; width:100%; }.slide-overlay { background:linear-gradient(90deg,rgba(8,16,29,.78) 0%,rgba(8,16,29,.57) 44%,rgba(8,16,29,.16) 75%),linear-gradient(0deg,rgba(8,16,29,.34),transparent 42%); inset:0; position:absolute; }
.hero-content { color:white; left:var(--page-padding); max-width:min(44rem,calc(100% - (var(--page-padding) * 2))); position:absolute; top:47%; transform:translateY(-50%); }.hero-kicker,.eyebrow { color:var(--blue); font-family:Consolas,"Courier New",monospace; font-size:.66rem; font-weight:700; letter-spacing:.13em; margin:0 0 1.2rem; text-transform:uppercase; }.hero-kicker { color:#aabaff; }h1,h2,h3,p { margin-top:0; }h1,h2,h3 { font-weight:800; letter-spacing:-.06em; line-height:.98; }h1 { font-size:clamp(3.35rem,6.3vw,7.25rem); margin-bottom:1.25rem; max-width:11ch; }h2 { font-size:clamp(2.45rem,4.7vw,5.2rem); margin-bottom:1.4rem; }.hero-content>p:not(.hero-kicker) { font-size:clamp(.98rem,1.25vw,1.1rem); line-height:1.55; margin-bottom:0; max-width:33rem; }
.button { align-items:center; display:inline-flex; font-size:.72rem; font-weight:800; gap:.75rem; letter-spacing:.08em; margin-top:1.45rem; min-height:3.25rem; padding:.92rem 1.15rem; text-transform:uppercase; transition:background-color 180ms ease,transform 180ms ease; }.button-blue { background:var(--blue); color:white; }.button-blue:hover { background:#3959d9; transform:translateY(-2px); }.button:active { transform:translateY(1px); }
.slider-controls { align-items:center; bottom:max(1.5rem,env(safe-area-inset-bottom)); display:flex; gap:1rem; left:var(--page-padding); position:absolute; z-index:3; }.slider-arrow { background:transparent; border:1px solid rgba(255,255,255,.55); color:white; cursor:pointer; font-size:1.15rem; height:2.7rem; width:2.7rem; }.slider-arrow:hover { background:white; color:var(--blue-deep); }.slider-dots { display:flex; gap:.5rem; }.slider-dots button { background:rgba(255,255,255,.5); border:0; cursor:pointer; height:3px; padding:0; transition:background-color 180ms ease,width 180ms ease; width:1.4rem; }.slider-dots button.is-active { background:white; width:3rem; }
.products { padding:clamp(5rem,11vw,10rem) var(--page-padding); }.section-heading { margin-bottom:clamp(2.5rem,5vw,4.75rem); max-width:52rem; }.product-list { display:grid; gap:1rem; }.product-card { background:var(--mist); border-radius:1rem; min-width:0; overflow:clip; }.product-card img { display:block; filter:saturate(.86); height:auto; object-fit:cover; transition:transform 350ms ease; width:100%; }.product-card:hover img { transform:scale(1.025); }.product-card-featured img { aspect-ratio:16/9; }.product-card:not(.product-card-featured) img { aspect-ratio:4/3; }.product-copy { padding:1.35rem; }.product-copy h3 { font-size:clamp(1.55rem,2.6vw,2.6rem); margin-bottom:.8rem; }.product-copy p { color:var(--muted); font-size:.88rem; margin-bottom:0; max-width:24rem; }.product-copy a,.text-link { color:var(--blue-deep); display:inline-block; font-size:.73rem; font-weight:800; letter-spacing:.06em; margin-top:1rem; text-transform:uppercase; }
.capability { background:#e8eef8; display:grid; }.capability-image { height:22rem; object-fit:cover; width:100%; }.capability-copy { padding:clamp(3rem,7vw,7rem) var(--page-padding); }.capability-copy>p:not(.eyebrow) { color:var(--muted); max-width:35rem; }.capability dl { display:grid; gap:1rem; margin:2.25rem 0 0; }.capability dl div { border-top:1px solid var(--line); padding-top:.85rem; }.capability dt { color:var(--blue); font-size:1.8rem; font-weight:800; letter-spacing:-.06em; }.capability dd { color:var(--muted); font-size:.73rem; margin:.18rem 0 0; }
.quality { align-items:end; border-bottom:1px solid var(--line); display:grid; gap:1.75rem; padding:clamp(5rem,10vw,9rem) var(--page-padding); }.quality>p { color:var(--muted); margin-bottom:0; max-width:29rem; }.quality .text-link { margin-top:0; }
.contact { background:var(--blue); color:white; display:grid; gap:2.5rem; padding:clamp(4.5rem,9vw,8rem) var(--page-padding); }.contact .eyebrow { color:#cbd5ff; }.contact h2 { max-width:38rem; }.contact-info { align-self:end; display:grid; gap:.7rem; }.contact-info .email { font-size:clamp(1.35rem,2.2vw,2.1rem); font-weight:800; letter-spacing:-.04em; overflow-wrap:anywhere; }.contact-info .phone { font-family:Consolas,"Courier New",monospace; font-weight:700; }.contact-info p { font-size:.78rem; margin:.7rem 0 0; max-width:23rem; opacity:.76; }
.site-footer { background:var(--ink); color:#dce4ed; display:grid; gap:2.5rem; padding:clamp(3rem,6vw,5.5rem) var(--page-padding) max(1.5rem,env(safe-area-inset-bottom)); }.footer-brand { max-width:20rem; }.footer-brand img { display:block; max-width:175px; }.footer-brand p { color:#a7b2c0; font-size:.82rem; margin:1.15rem 0 0; }.footer-label { color:#87a0ff; font-family:Consolas,"Courier New",monospace; font-size:.66rem; font-weight:700; letter-spacing:.1em; margin-bottom:.9rem; text-transform:uppercase; }.footer-links,.footer-contact { display:grid; gap:.55rem; font-size:.8rem; }.footer-links a,.footer-contact a { width:max-content; }.footer-links a:hover,.footer-contact a:hover { color:#9cb0ff; }.footer-contact span { color:#a7b2c0; font-size:.76rem; margin-top:.35rem; }a:focus-visible,button:focus-visible { outline:3px solid var(--blue); outline-offset:4px; }
@media (min-width:760px) { .site-header { grid-template-columns:1fr auto 1fr; }.desktop-nav { display:flex; gap:clamp(.75rem,1.4vw,1.7rem); }.desktop-nav a { color:var(--ink); font-size:clamp(.7rem,.78vw,.78rem); font-weight:800; letter-spacing:.075em; text-transform:uppercase; }.desktop-nav a:hover { color:var(--blue); }.header-cta { font-size:.76rem; justify-self:end; }.product-list { grid-template-columns:minmax(0,1.34fr) minmax(17rem,.66fr); grid-template-rows:1fr 1fr; }.product-card-featured { grid-row:span 2; }.product-card-featured img { height:calc(100% - 10rem); }.capability { grid-template-columns:minmax(0,1fr) minmax(25rem,.9fr); }.capability-image { height:100%; min-height:43rem; }.capability dl { grid-template-columns:repeat(3,1fr); }.quality { grid-template-columns:minmax(0,1.1fr) minmax(16rem,.6fr) minmax(14rem,.45fr); }.contact { grid-template-columns:minmax(0,1.1fr) minmax(18rem,.65fr); }.site-footer { grid-template-columns:minmax(16rem,1.25fr) minmax(10rem,.7fr) minmax(14rem,.85fr); } }
@media (max-width:450px) { .header-cta { font-size:.62rem; padding:.75rem .65rem; }.brand { max-width:140px; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition-duration:.01ms!important; } }

/* Compact footer: a short brand-and-navigation rail instead of a second information section. */
.site-footer.compact-footer { align-items:center; background:#0d1118; border-top:1px solid rgba(222,230,239,.12); display:grid; gap:1.35rem 2rem; grid-template-columns:minmax(13rem,1fr) auto minmax(13rem,1fr); min-height:7rem; padding:1.4rem var(--page-padding) max(1.4rem,env(safe-area-inset-bottom)); }
.compact-brand { align-items:center; display:flex; gap:1.4rem; min-width:0; }
.compact-brand img { display:block; max-width:9.2rem; }
.compact-brand span { color:#dce4ed; font-size:.8rem; font-weight:700; letter-spacing:.04em; white-space:nowrap; }
.compact-nav { display:flex; flex-wrap:wrap; gap:.75rem 1.35rem; justify-content:center; }
.compact-nav a { color:#e7edf4; font-size:.66rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.compact-nav a:hover { color:#8da4ff; }
.compact-copy { color:#92a0b0; font-size:.64rem; font-weight:700; justify-self:end; letter-spacing:.12em; text-align:right; text-transform:uppercase; white-space:nowrap; }
@media (max-width:1100px) { .site-footer.compact-footer { grid-template-columns:1fr auto; }.compact-nav { grid-column:1 / -1; grid-row:2; justify-content:flex-start; }.compact-copy { grid-column:2; grid-row:1; } }
@media (max-width:640px) { .site-footer.compact-footer { align-items:flex-start; display:flex; flex-direction:column; min-height:0; padding:2rem var(--page-padding); }.compact-brand { align-items:flex-start; flex-direction:column; gap:.7rem; }.compact-brand span { white-space:normal; }.compact-nav { gap:.75rem 1.1rem; justify-content:flex-start; }.compact-copy { align-self:flex-start; text-align:left; white-space:normal; } }

/* Product grid: consistent cards keep the product line easy to scan. */
.product-card { display:flex; flex-direction:column; }
.product-card img,
.product-card-featured img,
.product-card:not(.product-card-featured) img { aspect-ratio:4 / 3; height:auto; }
.product-copy { display:flex; flex:1; flex-direction:column; }
.product-copy h3 { font-size:clamp(1.35rem,2vw,2rem); min-height:2.05em; }
.product-copy p { min-height:3.1em; }
.product-copy a { margin-top:auto; padding-top:1.15rem; }
.product-list { grid-template-rows:auto; }
@media (min-width:760px) and (max-width:859px) { .product-list { grid-template-columns:repeat(2,minmax(0,1fr)); }.product-card-featured { grid-row:auto; } }
@media (min-width:860px) { .product-list { grid-template-columns:repeat(4,minmax(0,1fr)); }.product-card-featured { grid-row:auto; } }

/* Keep the product action with the section title, aligned to the content edge. */
.section-heading { align-items:flex-end; display:flex; gap:2rem; justify-content:space-between; max-width:none; }
.section-heading-copy { max-width:52rem; }
.products-cta { align-items:center; border-bottom:2px solid var(--blue); color:var(--blue-deep); display:inline-flex; flex-shrink:0; font-size:.72rem; font-weight:800; gap:.9rem; letter-spacing:.06em; margin-bottom:.2rem; padding-bottom:.55rem; text-transform:uppercase; transition:color 180ms ease,border-color 180ms ease,transform 180ms ease; }
.products-cta span { font-size:1.1rem; line-height:1; transition:transform 180ms ease; }
.products-cta:hover { border-color:var(--blue-deep); color:var(--blue-deep); transform:translateY(-2px); }
.products-cta:hover span { transform:translateX(3px); }
@media (max-width:759px) { .section-heading { align-items:flex-start; flex-direction:column; gap:1.5rem; }.products-cta { margin-bottom:0; } }

/* Quality: laboratory image and contact action sit together as one evidence-led panel. */
.quality { align-items:start; border-bottom:0; gap:clamp(2rem,5vw,6rem); grid-template-columns:1fr; padding:clamp(4.5rem,8vw,8rem) var(--page-padding); }
.quality-heading { max-width:43rem; }
.quality-card { background:var(--mist); display:grid; min-width:0; }
.quality-card img { aspect-ratio:16 / 10; display:block; height:auto; object-fit:cover; width:100%; }
.quality-card-copy { display:flex; flex-direction:column; justify-content:space-between; padding:clamp(1.5rem,3vw,2.5rem); }
.quality-card-copy p { color:var(--muted); font-size:clamp(.95rem,1.15vw,1.1rem); line-height:1.55; margin:0; max-width:31rem; }
.quality-cta { align-items:stretch; align-self:flex-start; background:var(--blue); color:#fff; display:inline-flex; font-size:.72rem; font-weight:800; letter-spacing:.08em; margin-top:clamp(1.5rem,3vw,2.75rem); min-height:3.5rem; text-transform:uppercase; transition:background-color 180ms ease,transform 180ms ease; }
.quality-cta > span:first-child { align-items:center; display:flex; padding:0 1.2rem; }
.quality-cta-arrow { align-items:center; border-left:1px solid rgba(255,255,255,.34); display:flex; font-size:1.1rem; justify-content:center; width:3.5rem; transition:transform 180ms ease; }
.quality-cta:hover { background:var(--blue-deep); color:#fff; transform:translateY(-2px); }
.quality-cta:hover .quality-cta-arrow { transform:translateX(3px); }
@media (min-width:760px) { .quality { grid-template-columns:minmax(0,.82fr) minmax(26rem,1.18fr); }.quality-card { grid-template-columns:minmax(0,1.12fr) minmax(15rem,.88fr); }.quality-card img { aspect-ratio:auto; height:100%; min-height:19rem; }.quality-card-copy { min-height:19rem; } }
@media (max-width:450px) { .quality-cta { font-size:.65rem; }.quality-cta > span:first-child { padding:0 .85rem; }.quality-cta-arrow { width:3rem; } }

/* Contact CTA: a light editorial section with a focused blue information panel. */
.contact { align-items:stretch; background:var(--mist); color:var(--ink); display:block; gap:clamp(2rem,5vw,5rem); padding:clamp(4.5rem,9vw,8rem) var(--page-padding); }
.contact .eyebrow { color:var(--blue); }
.contact-heading { margin-bottom:clamp(2.5rem,5vw,4.5rem); max-width:38rem; }
.contact-heading h2 { margin-bottom:1.5rem; }
.contact-intro { color:var(--muted); font-size:clamp(1rem,1.3vw,1.15rem); line-height:1.55; margin:0; max-width:31rem; }
.homepage-contact-layout { display:grid; gap:clamp(2rem,4vw,4rem); }
.contact-panel { background:var(--blue); color:#fff; display:flex; flex-direction:column; justify-content:space-between; min-height:21rem; padding:clamp(1.5rem,3.2vw,3rem); }
.contact-panel-meta { color:#cbd5ff; display:flex; font-family:Consolas,"Courier New",monospace; font-size:.66rem; font-weight:700; justify-content:space-between; letter-spacing:.11em; text-transform:uppercase; }
.contact-card-intro { margin:clamp(2rem,4vw,4rem) 0 clamp(2rem,4vw,3.5rem); max-width:25rem; }
.contact-card-intro p { font-size:clamp(1.45rem,2.4vw,2.25rem); font-weight:700; letter-spacing:-.035em; line-height:1.08; margin:0; }
.contact-card-list { margin-top:auto; }
.contact-card-list div { border-top:1px solid rgba(255,255,255,.32); display:grid; gap:.4rem; padding:.85rem 0; }
.contact-card-list span { color:#cbd5ff; font-family:Consolas,"Courier New",monospace; font-size:.76rem; font-weight:700; letter-spacing:.11em; text-transform:uppercase; }
.contact-card-list strong,
.contact-card-list a,
.contact-card-list p { color:#fff; font-size:clamp(1rem,1.25vw,1.14rem); line-height:1.45; margin:0; overflow-wrap:anywhere; }
.contact-card-list a { font-weight:700; }
.contact-card-list a:hover { color:#dfe5ff; }
.contact-info { display:grid; gap:.7rem; }
.contact-panel .contact-info { align-self:stretch; }
.contact-info .email { color:#fff; font-size:clamp(1.35rem,2.2vw,2.1rem); font-weight:800; letter-spacing:-.04em; overflow-wrap:anywhere; }
.contact-info .phone { color:#fff; font-family:Consolas,"Courier New",monospace; font-weight:700; }
.contact-info p { color:#dce4ff; font-size:.78rem; margin:.7rem 0 0; max-width:23rem; }
.contact-button { align-items:center; align-self:flex-start; background:#fff; color:var(--blue-deep); display:inline-flex; font-size:.72rem; font-weight:800; gap:1.1rem; letter-spacing:.08em; margin-top:1.75rem; min-height:3.35rem; padding:0 1.2rem; text-transform:uppercase; transition:background-color 180ms ease,transform 180ms ease; }
.contact-button span { font-size:1.1rem; transition:transform 180ms ease; }
.contact-button:hover { background:#dfe5ff; color:var(--blue-deep); transform:translateY(-2px); }
.contact-button:hover span { transform:translateX(3px); }
.homepage-contact-form { background:#fff; padding:clamp(1.5rem,4vw,3.25rem); }
@media (min-width:760px) { .homepage-contact-layout { align-items:stretch; grid-template-columns:minmax(20rem,.8fr) minmax(0,1.2fr); }.contact-panel { min-height:100%; }.contact-card-list div { grid-template-columns:6.5rem minmax(0,1fr); } }

/* Lightweight contact page used by the homepage CTA until the remaining pages are built. */
.contact-page { background:var(--paper); padding:clamp(5rem,10vw,9rem) var(--page-padding) clamp(5rem,9vw,8rem); }
.contact-page-intro { max-width:52rem; }
.contact-page-intro h1 { font-size:clamp(3.3rem,7vw,7rem); margin:1.5rem 0 2rem; max-width:11ch; }
.contact-page-intro > p:last-child { color:var(--muted); font-size:clamp(1rem,1.4vw,1.2rem); line-height:1.6; max-width:38rem; }
.contact-page-grid { display:grid; gap:1rem; margin-top:clamp(4rem,8vw,7rem); }
.contact-page-card { background:var(--mist); color:var(--ink); display:flex; flex-direction:column; min-height:12rem; padding:clamp(1.5rem,3vw,2.5rem); transition:background-color 180ms ease,transform 180ms ease; }
.contact-page-card-primary { background:var(--blue); color:#fff; }
.contact-page-card:hover { background:#dfe5ff; color:var(--blue-deep); transform:translateY(-3px); }
.contact-page-card-primary:hover { background:var(--blue-deep); color:#fff; }
.contact-page-label { color:var(--blue); font-family:Consolas,"Courier New",monospace; font-size:.66rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.contact-page-card-primary .contact-page-label { color:#cbd5ff; }
.contact-page-card strong { font-size:clamp(1.2rem,2vw,2rem); letter-spacing:-.035em; line-height:1.15; margin-top:auto; max-width:30rem; }
.contact-page-arrow { align-self:flex-end; font-size:1.35rem; margin-top:1.2rem; }
@media (min-width:760px) { .contact-page-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }.contact-page-card { min-height:16rem; } }

/* Traditional contact page: company information on the left, inquiry form on the right, map below. */
.contact-page { padding:0; }
.contact-page-hero { padding:clamp(5rem,9vw,8rem) var(--page-padding) clamp(3.5rem,6vw,5.5rem); }
.contact-page-hero h1 { font-size:clamp(3.3rem,7vw,7rem); margin:1.5rem 0 2rem; max-width:11ch; }
.contact-page-hero > p:last-child { color:var(--muted); font-size:clamp(1.05rem,1.45vw,1.22rem); line-height:1.6; max-width:39rem; }
.contact-layout { background:var(--mist); display:grid; gap:clamp(3rem,7vw,8rem); padding:clamp(4rem,8vw,7rem) var(--page-padding); }
.contact-details h2 { font-size:clamp(2.25rem,4.5vw,4.6rem); margin:1.3rem 0 1.5rem; }
.contact-details-copy { color:var(--muted); font-size:1rem; line-height:1.6; max-width:29rem; }
.contact-detail-list { margin:clamp(2.5rem,5vw,4.5rem) 0 0; }
.contact-detail-list div { border-top:1px solid var(--line); display:grid; gap:1rem; padding:1.1rem 0; }
.contact-detail-list dt { color:var(--blue); font-family:Consolas,"Courier New",monospace; font-size:.8rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.contact-detail-list dd { color:var(--ink); font-size:1rem; margin:0; overflow-wrap:anywhere; }
.contact-detail-list a { color:var(--blue-deep); font-weight:700; }
.contact-form { background:#fff; padding:clamp(1.5rem,3.5vw,3.25rem); }
.form-heading { align-items:baseline; display:flex; justify-content:space-between; gap:1.5rem; margin-bottom:2rem; }
.form-heading > p:last-child { color:var(--muted); font-size:.86rem; margin:0; }
.form-grid { display:grid; gap:1.25rem; }
.form-grid label { display:grid; gap:.5rem; }
.form-grid label > span { color:var(--ink); font-size:.86rem; font-weight:700; }
.form-grid input,
.form-grid select,
.form-grid textarea { background:#fff; border:1px solid #b8c2ce; border-radius:0; color:var(--ink); font:inherit; font-size:1rem; min-height:3.15rem; padding:.8rem .9rem; width:100%; }
.form-grid textarea { min-height:8rem; resize:vertical; }
.form-grid input:focus,
.form-grid select:focus,
.form-grid textarea:focus { border-color:var(--blue); outline:3px solid rgba(38,70,199,.16); outline-offset:1px; }
.form-grid textarea::placeholder { color:#8794a4; }
.contact-submit { align-items:center; background:var(--blue); border:0; color:#fff; cursor:pointer; display:inline-flex; font:inherit; font-size:.82rem; font-weight:800; gap:1.25rem; letter-spacing:.08em; margin-top:1.75rem; min-height:3.5rem; padding:0 1.25rem; text-transform:uppercase; transition:background-color 180ms ease,transform 180ms ease; }
.contact-submit span { font-size:1.15rem; transition:transform 180ms ease; }
.contact-submit:hover { background:var(--blue-deep); transform:translateY(-2px); }
.contact-submit:hover span { transform:translateX(3px); }
.contact-map { padding:clamp(4rem,8vw,7rem) var(--page-padding) clamp(4rem,8vw,7rem); }
.contact-map-heading { align-items:end; display:flex; justify-content:space-between; gap:2rem; margin-bottom:2rem; }
.contact-map-heading h2 { font-size:clamp(2rem,3.8vw,4rem); margin:0; }
.contact-map iframe { border:0; display:block; filter:saturate(.72); height:clamp(20rem,38vw,34rem); width:100%; }
@media (min-width:760px) { .contact-layout { grid-template-columns:minmax(0,.8fr) minmax(30rem,1.2fr); }.form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.form-full { grid-column:1 / -1; }.contact-detail-list div { grid-template-columns:7rem 1fr; } }
@media (max-width:600px) { .form-heading,.contact-map-heading { align-items:flex-start; flex-direction:column; }.contact-form { padding:1.25rem; } }

/* Readability pass: raise utility and supporting text without changing the display hierarchy. */
body { font-size:1rem; }
.hero-kicker,
.eyebrow { font-size:clamp(.78rem,.82vw,.9rem); letter-spacing:.1em; }
.desktop-nav a { font-size:clamp(.8rem,.86vw,.92rem); }
.header-cta,
.button,
.products-cta,
.quality-cta,
.contact-button { font-size:.82rem; }
.hero-content>p:not(.hero-kicker) { font-size:clamp(1.02rem,1.3vw,1.18rem); }
.product-copy p,
.capability-copy>p:not(.eyebrow),
.contact-intro,
.quality-card-copy p { font-size:clamp(1rem,1.2vw,1.12rem); }
.capability dd { font-size:.86rem; }
.contact-info p { font-size:.9rem; }
.compact-brand span { font-size:.86rem; }
.compact-nav a { font-size:.78rem; }
.compact-copy { font-size:.74rem; }
.contact-panel-meta,
.contact-page-label { font-size:.78rem; }
.contact-page-intro > p:last-child { font-size:clamp(1.05rem,1.45vw,1.22rem); }
@media (max-width:450px) { .header-cta { font-size:.76rem; } }

/* Contact hero: a half-screen workshop banner with all copy over the image. */
.contact-hero-banner { height:clamp(25rem,52vh,40rem); min-height:25rem; overflow:clip; position:relative; }
.contact-hero-banner > img { height:100%; object-fit:cover; object-position:center; width:100%; }
.contact-hero-overlay { background:linear-gradient(90deg,rgba(8,16,29,.8) 0%,rgba(8,16,29,.48) 48%,rgba(8,16,29,.12) 100%),linear-gradient(0deg,rgba(8,16,29,.55),transparent 60%); inset:0; position:absolute; }
.contact-hero-content { bottom:clamp(2rem,6vw,5.5rem); color:#fff; left:var(--page-padding); max-width:min(50rem,calc(100% - (var(--page-padding) * 2))); position:absolute; }
.contact-hero-content .hero-kicker { margin-bottom:1.1rem; }
.contact-hero-content h1 { font-size:clamp(4.5rem,11vw,10rem); letter-spacing:-.075em; line-height:.86; margin:0 0 1.35rem; }
.contact-hero-content > p:last-child { font-size:clamp(1rem,1.4vw,1.2rem); line-height:1.5; margin:0; max-width:34rem; }
@media (max-width:600px) { .contact-hero-banner { height:clamp(24rem,58vh,34rem); }.contact-hero-content h1 { font-size:clamp(4rem,18vw,7rem); } }

/* Display type refinement: use a more open sans-serif for every large heading. */
h1,
h2,
h3 { font-family:Arial,"Helvetica Neue",sans-serif; font-kerning:normal; font-weight:700; letter-spacing:-.025em; }
.contact-hero-content h1 { letter-spacing:-.025em; }

/* Spacious three-column footer with only the four primary navigation links. */
.site-footer.spacious-footer { background:#0b1426; color:#dce4ed; display:grid; gap:2rem 2.75rem; grid-template-columns:minmax(16rem,1.25fr) minmax(10rem,.65fr) minmax(17rem,1fr); padding:clamp(2.5rem,4vw,3.75rem) var(--page-padding) max(1.25rem,env(safe-area-inset-bottom)); }
.spacious-footer .footer-brand { max-width:28rem; }
.spacious-footer .footer-brand img { display:block; filter:brightness(0) invert(1); max-width:14rem; opacity:.92; }
.spacious-footer .footer-brand p { color:#aeb9c8; font-size:1rem; line-height:1.55; margin:1.25rem 0 0; max-width:28rem; }
.spacious-footer .footer-label { color:#8fb1ff; font-family:Consolas,"Courier New",monospace; font-size:.8rem; font-weight:700; letter-spacing:.12em; margin:0 0 1.2rem; text-transform:uppercase; }
.spacious-footer .footer-links,
.spacious-footer .footer-contact { align-content:start; display:grid; gap:.8rem; font-size:1rem; }
.spacious-footer .footer-links a { width:max-content; }
.spacious-footer .footer-links a:hover,
.spacious-footer .footer-contact a:hover,
.spacious-footer .footer-bottom a:hover { color:#9cb0ff; }
.spacious-footer .footer-contact span { color:#aeb9c8; font-size:.9rem; line-height:1.5; margin-top:.25rem; max-width:23rem; }
.spacious-footer .footer-bottom { border-top:1px solid rgba(222,230,239,.18); color:#92a0b0; display:flex; font-size:.8rem; grid-column:1 / -1; justify-content:space-between; padding-top:1.35rem; }
.spacious-footer .footer-bottom a { color:#dce4ed; font-weight:700; }
@media (max-width:900px) { .site-footer.spacious-footer { grid-template-columns:minmax(13rem,1fr) minmax(13rem,1fr); }.spacious-footer .footer-contact { grid-column:2; grid-row:1; }.spacious-footer .footer-links { grid-column:1; grid-row:1; }.spacious-footer .footer-brand { grid-column:1 / -1; grid-row:2; }.spacious-footer .footer-bottom { grid-row:3; } }
@media (max-width:600px) { .site-footer.spacious-footer { display:flex; flex-direction:column; gap:2.25rem; padding:2.25rem var(--page-padding) 1.25rem; }.spacious-footer .footer-brand,.spacious-footer .footer-links,.spacious-footer .footer-contact { width:100%; }.spacious-footer .footer-bottom { align-items:flex-start; flex-direction:column; gap:.75rem; width:100%; } }

/* About section: confirmed company facts from the original DEEPROOT website. */
.about { background:#f4f6f8; padding:clamp(3.75rem,7vw,7rem) var(--page-padding); position:relative; }
.about-anchor { position:absolute; top:0; }
.about-media { background:#dce1e6; border-radius:1.25rem; min-height:clamp(22rem,45vw,40rem); overflow:hidden; }
.about-media img { display:block; filter:saturate(.82) contrast(1.03); height:100%; object-fit:cover; width:100%; }
.about-card { background:#fff; border-radius:0 1.25rem 1.25rem 0; box-shadow:0 1.5rem 4rem rgba(13,29,48,.13); padding:clamp(2.5rem,5vw,5rem); position:relative; }
.about-card::before { background:var(--blue); content:""; height:.32rem; left:0; position:absolute; top:0; width:5rem; }
.about-card h2 { font-size:clamp(2.45rem,4.15vw,4.75rem); line-height:.98; margin:1.2rem 0 2rem; max-width:11ch; }
.about-card > p:not(.eyebrow) { color:var(--muted); font-size:clamp(1rem,1.16vw,1.12rem); line-height:1.65; max-width:34rem; }
.about-card > p + p { border-top:1px solid var(--line); margin-top:1.4rem; padding-top:1.4rem; }
.about-link { align-items:center; background:var(--blue); color:#fff; display:inline-flex; font-size:.78rem; font-weight:800; gap:1.5rem; letter-spacing:.07em; margin-top:2rem; padding:1rem 1.15rem; text-transform:uppercase; transition:background-color 180ms ease,transform 180ms ease; }
.about-link span { border-left:1px solid rgba(255,255,255,.35); font-size:1.15rem; line-height:1; padding-left:1.3rem; transition:transform 180ms ease; }
.about-link:hover { background:#3959d9; transform:translateY(-2px); }
.about-link:hover span { transform:translateX(3px); }
@media (min-width:760px) { .about { align-items:stretch; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); padding-bottom:clamp(4.5rem,9vw,9rem); padding-top:clamp(4.5rem,9vw,9rem); }.about-media { height:100%; min-height:0; }.about-card { margin-left:clamp(-4rem,-4vw,-2rem); z-index:1; } }

/* Products page: a visual catalog built from the confirmed DEEPROOT product range. */
.products-page { background:var(--paper); }
.products-hero { height:clamp(28rem,58vh,46rem); min-height:28rem; overflow:clip; position:relative; }
.products-hero > img { height:100%; object-fit:cover; object-position:center; width:100%; }
.products-hero-overlay { background:linear-gradient(90deg,rgba(8,16,29,.82) 0%,rgba(8,16,29,.48) 48%,rgba(8,16,29,.12) 100%),linear-gradient(0deg,rgba(8,16,29,.58),transparent 62%); inset:0; position:absolute; }
.products-hero-content { bottom:clamp(2rem,7vw,6rem); color:#fff; left:var(--page-padding); max-width:min(54rem,calc(100% - (var(--page-padding) * 2))); position:absolute; }
.products-hero-content .hero-kicker { margin-bottom:1.1rem; }
.products-hero-content h1 { font-size:clamp(4.5rem,11vw,10rem); letter-spacing:-.025em; line-height:.86; margin:0 0 1.35rem; max-width:none; }
.products-hero-content > p:last-child { font-size:clamp(1rem,1.35vw,1.2rem); line-height:1.5; margin:0; max-width:40rem; }
.product-catalog { background:var(--paper); color:var(--ink); padding:clamp(5rem,10vw,9rem) var(--page-padding); }
.product-catalog-heading { align-items:end; display:grid; gap:2rem; margin-bottom:clamp(3rem,6vw,5.5rem); }
.product-catalog-heading h2 { color:var(--ink); font-size:clamp(2.7rem,5vw,5.6rem); margin:1.15rem 0 0; max-width:14ch; }
.product-catalog-heading > p { color:var(--muted); font-size:clamp(1rem,1.25vw,1.16rem); line-height:1.55; margin:0; max-width:27rem; }
.product-catalog-grid { display:grid; gap:1.5rem; margin:0 auto; max-width:90rem; }
.product-catalog-card { background:var(--mist); border-radius:1rem; min-width:0; overflow:clip; }
.product-catalog-card > img { aspect-ratio:16/10; display:block; filter:saturate(.86) contrast(1.02); height:auto; object-fit:cover; transition:transform 350ms ease; width:100%; }
.product-catalog-card:hover > img { transform:scale(1.025); }
.product-catalog-copy { padding:clamp(1.5rem,2.5vw,2.5rem); }
.product-catalog-index { color:var(--blue); font-family:Consolas,"Courier New",monospace; font-size:.76rem; font-weight:700; letter-spacing:.12em; margin:0 0 1rem; text-transform:uppercase; }
.product-catalog-copy h3 { color:var(--ink); font-size:clamp(1.7rem,2.7vw,3rem); margin:0 0 .9rem; }
.product-catalog-copy > p:not(.product-catalog-index) { color:var(--muted); font-size:clamp(.98rem,1.15vw,1.08rem); line-height:1.55; margin:0; max-width:39rem; }
.product-detail-link { align-items:center; border:1px solid var(--blue); color:var(--blue-deep); display:inline-flex; font-size:.76rem; font-weight:800; gap:1rem; letter-spacing:.08em; margin-top:1.5rem; padding:.82rem 1rem; text-transform:uppercase; transition:background-color 180ms ease,color 180ms ease,transform 180ms ease; }
.product-detail-link span { font-size:1.1rem; transition:transform 180ms ease; }
.product-detail-link:hover { background:var(--blue); color:#fff; transform:translateY(-2px); }
.product-detail-link:hover span { transform:translateX(3px); }
.product-specs { display:grid; gap:1rem; grid-template-columns:repeat(3,minmax(0,1fr)); list-style:none; margin:clamp(1.6rem,3vw,2.5rem) 0 0; padding:0; }
.product-specs li { border-top:1px solid var(--line); display:grid; gap:.35rem; padding-top:.8rem; }
.product-specs span { color:var(--blue-deep); font-family:Consolas,"Courier New",monospace; font-size:.75rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.product-specs strong { color:var(--ink); font-size:clamp(1rem,1.25vw,1.18rem); font-weight:700; }
.products-cta-panel { align-items:center; background:var(--ink); color:#fff; display:grid; gap:2.25rem; padding:clamp(3.5rem,7vw,7rem) var(--page-padding); }
.products-cta-panel .eyebrow { color:#9cb0ff; }
.products-cta-panel h2 { font-size:clamp(2.5rem,4.5vw,5rem); margin:1rem 0 1.3rem; max-width:17ch; }
.products-cta-panel p:last-child { color:#b7c3d2; font-size:clamp(1rem,1.2vw,1.15rem); line-height:1.55; margin:0; max-width:36rem; }
.products-cta-panel .button { justify-self:start; }
@media (min-width:760px) { .product-catalog-heading { grid-template-columns:minmax(0,1.25fr) minmax(17rem,.75fr); }.product-catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.products-cta-panel { grid-template-columns:minmax(0,1.1fr) minmax(16rem,.5fr); }.products-cta-panel .button { justify-self:end; } }
@media (max-width:759px) { .product-catalog-card > img { width:100%; } }
@media (max-width:600px) { .products-hero { height:clamp(25rem,62vh,34rem); }.products-hero-content h1 { font-size:clamp(4rem,18vw,7rem); }.product-specs { grid-template-columns:1fr; }.products-cta-panel { align-items:start; } }

/* Industries page: a light, image-led index of the applications served by DEEPROOT. */
.industries-page { background:var(--paper); }
.industries-hero { height:clamp(28rem,58vh,46rem); min-height:28rem; overflow:clip; position:relative; }
.industries-hero > img { height:100%; object-fit:cover; object-position:center; width:100%; }
.industries-hero-overlay { background:linear-gradient(90deg,rgba(8,16,29,.82) 0%,rgba(8,16,29,.48) 48%,rgba(8,16,29,.12) 100%),linear-gradient(0deg,rgba(8,16,29,.58),transparent 62%); inset:0; position:absolute; }
.industries-hero-content { bottom:clamp(2rem,7vw,6rem); color:#fff; left:var(--page-padding); max-width:min(56rem,calc(100% - (var(--page-padding) * 2))); position:absolute; }
.industries-hero-content .hero-kicker { margin-bottom:1.1rem; }
.industries-hero-content h1 { font-size:clamp(4.5rem,11vw,10rem); line-height:.86; margin:0 0 1.35rem; }
.industries-hero-content > p:last-child { font-size:clamp(1rem,1.35vw,1.2rem); line-height:1.5; margin:0; max-width:43rem; }
.industries-catalog { background:var(--paper); padding:clamp(5rem,10vw,9rem) var(--page-padding); }
.industries-catalog-heading { align-items:end; display:grid; gap:2rem; margin-bottom:clamp(3rem,6vw,5.5rem); }
.industries-catalog-heading h2 { color:var(--ink); font-size:clamp(2.7rem,5vw,5.6rem); line-height:.98; margin:1.15rem 0 0; max-width:14ch; }
.industries-catalog-heading > p { color:var(--muted); font-size:clamp(1rem,1.25vw,1.16rem); line-height:1.55; margin:0; max-width:27rem; }
.industries-grid { display:grid; gap:1.25rem; margin:0 auto; max-width:90rem; }
.industry-card { background:var(--mist); border-radius:1rem; min-width:0; overflow:hidden; transition:box-shadow 220ms ease,transform 220ms ease; }
.industry-card:hover { box-shadow:0 1.3rem 2.8rem rgba(17,31,48,.12); transform:translateY(-4px); }
.industry-card-media { aspect-ratio:4/3; background:#dce2e8; overflow:hidden; position:relative; }
.industry-card-media img { display:block; filter:saturate(.8) contrast(1.03); height:100%; object-fit:cover; transition:transform 350ms ease; width:100%; }
.industry-card:hover .industry-card-media img { transform:scale(1.035); }
.industry-card-media span { background:var(--paper); color:var(--blue-deep); font-family:Consolas,"Courier New",monospace; font-size:.76rem; font-weight:700; left:1rem; letter-spacing:.12em; padding:.45rem .6rem; position:absolute; top:1rem; }
.industry-card-copy { padding:clamp(1.4rem,2.5vw,2.25rem); }
.industry-card-copy h3 { color:var(--ink); font-size:clamp(1.45rem,2.2vw,2.15rem); line-height:1.1; margin:0 0 .8rem; }
.industry-card-copy p { color:var(--muted); font-size:clamp(.98rem,1.15vw,1.08rem); line-height:1.55; margin:0; }
.industry-challenges { align-items:stretch; background:var(--blue); color:#fff; display:grid; }
.industry-challenges-media { min-height:clamp(24rem,48vw,42rem); overflow:hidden; position:relative; }
.industry-challenges-media::after { background:linear-gradient(0deg,rgba(8,16,29,.72),transparent 60%); content:""; inset:0; position:absolute; }
.industry-challenges-media img { display:block; filter:saturate(.78) contrast(1.05); height:100%; object-fit:cover; width:100%; }
.industry-challenges-caption { bottom:clamp(1.5rem,4vw,3.25rem); color:#dce4ed; display:flex; flex-wrap:wrap; font-family:Consolas,"Courier New",monospace; font-size:.74rem; font-weight:700; gap:.7rem 1.4rem; left:var(--page-padding); letter-spacing:.11em; position:absolute; text-transform:uppercase; z-index:1; }
.industry-challenges-caption span + span { color:#9cb0ff; }
.industry-challenges-copy { padding:clamp(3.5rem,7vw,7rem) var(--page-padding); }
.industry-challenges-copy .eyebrow { color:#9cb0ff; }
.industry-challenges-copy h2 { color:#fff; font-size:clamp(2.7rem,5vw,5.6rem); line-height:.98; margin:0 0 1.35rem; max-width:11ch; }
.industry-challenges-intro { color:#b7c3d2; font-size:clamp(1rem,1.2vw,1.15rem); line-height:1.55; margin:0 0 clamp(2rem,4vw,3.5rem); max-width:35rem; }
.industry-challenge-list { border-top:1px solid rgba(222,230,239,.2); }
.industry-challenge-list article { align-items:start; border-bottom:1px solid rgba(222,230,239,.2); display:grid; gap:1rem; grid-template-columns:2.25rem minmax(0,1fr); padding:1.15rem 0; }
.industry-challenge-list article > span { color:#9cb0ff; font-family:Consolas,"Courier New",monospace; font-size:.78rem; font-weight:700; letter-spacing:.1em; padding-top:.2rem; }
.industry-challenge-list h3 { color:#fff; font-size:clamp(1.08rem,1.5vw,1.4rem); line-height:1.15; margin:0 0 .28rem; }
.industry-challenge-list p { color:#b7c3d2; font-size:clamp(.92rem,1.05vw,1rem); line-height:1.45; margin:0; }
.industries-cta { margin-top:0; }
@media (min-width:760px) { .industries-catalog-heading { grid-template-columns:minmax(0,1.25fr) minmax(17rem,.75fr); }.industries-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }.industry-challenges { grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr); }.industry-challenges-copy { padding-left:clamp(2.5rem,5vw,6.5rem); padding-right:clamp(2.5rem,5vw,6.5rem); } }
@media (max-width:600px) { .industries-hero { height:clamp(25rem,62vh,34rem); }.industries-hero-content h1 { font-size:clamp(4rem,18vw,7rem); }.industries-cta { align-items:start; } }

/* Company page: a traditional about layout built from confirmed DEEPROOT company facts. */
.company-page { background:var(--paper); }
.company-hero { height:clamp(28rem,58vh,46rem); min-height:28rem; overflow:clip; position:relative; }
.company-hero > img { height:100%; object-fit:cover; object-position:center; width:100%; }
.company-hero-overlay { background:linear-gradient(90deg,rgba(8,16,29,.82) 0%,rgba(8,16,29,.48) 48%,rgba(8,16,29,.12) 100%),linear-gradient(0deg,rgba(8,16,29,.58),transparent 62%); inset:0; position:absolute; }
.company-hero-content { bottom:clamp(2rem,7vw,6rem); color:#fff; left:var(--page-padding); max-width:min(54rem,calc(100% - (var(--page-padding) * 2))); position:absolute; }
.company-hero-content .hero-kicker { margin-bottom:1.1rem; }
.company-hero-content h1 { font-size:clamp(4.5rem,11vw,10rem); line-height:.86; margin:0 0 1.35rem; }
.company-hero-content > p:last-child { font-size:clamp(1rem,1.35vw,1.2rem); line-height:1.5; margin:0; max-width:39rem; }
.company-overview { background:var(--mist); display:grid; gap:clamp(2.5rem,6vw,6rem); padding:clamp(5rem,10vw,9rem) var(--page-padding); }
.company-overview-heading h2 { color:var(--ink); font-size:clamp(2.7rem,5vw,5.6rem); line-height:.98; margin:1.15rem 0 0; max-width:11ch; }
.company-overview-copy { color:var(--muted); font-size:clamp(1.05rem,1.35vw,1.2rem); line-height:1.65; max-width:38rem; }
.company-overview-copy p { margin:0; }
.company-overview-copy p + p { border-top:1px solid var(--line); margin-top:1.5rem; padding-top:1.5rem; }
.company-facts { border-top:1px solid var(--line); display:grid; gap:1rem; margin:0; padding-top:1.25rem; }
.company-facts div { border-bottom:1px solid var(--line); display:flex; gap:1.25rem; justify-content:space-between; padding:0 0 1rem; }
.company-facts dt { color:var(--blue); font-size:clamp(1.5rem,2.35vw,2.3rem); font-weight:800; letter-spacing:-.04em; }
.company-facts dd { align-self:end; color:var(--muted); font-size:.88rem; margin:0; }
.company-process { background:var(--paper); display:grid; }
.company-process-media { display:flex; min-height:clamp(24rem,44vw,40rem); overflow:hidden; padding:clamp(4rem,8vw,8rem) 0; }
.company-process-media img { display:block; filter:saturate(.82) contrast(1.03); flex:1; min-height:0; object-fit:cover; width:100%; }
.company-process-copy { padding:clamp(4rem,8vw,8rem) var(--page-padding); }
.company-process-copy h2 { color:var(--ink); font-size:clamp(2.7rem,4.8vw,5.2rem); line-height:.98; margin:1.15rem 0 1.4rem; max-width:12ch; }
.company-process-copy > p:not(.eyebrow) { color:var(--muted); font-size:clamp(1rem,1.2vw,1.12rem); line-height:1.6; margin:0 0 clamp(2.25rem,4vw,3.5rem); max-width:34rem; }
.company-process-list { border-top:1px solid var(--line); }
.company-process-list article { align-items:start; border-bottom:1px solid var(--line); display:grid; gap:1rem; grid-template-columns:2.25rem minmax(0,1fr); padding:1.15rem 0; }
.company-process-list article > span { color:var(--blue); font-family:Consolas,"Courier New",monospace; font-size:.78rem; font-weight:700; letter-spacing:.1em; padding-top:.2rem; }
.company-process-list h3 { color:var(--ink); font-size:clamp(1.08rem,1.5vw,1.4rem); line-height:1.15; margin:0 0 .28rem; }
.company-process-list p { color:var(--muted); font-size:clamp(.92rem,1.05vw,1rem); line-height:1.45; margin:0; }
.company-quality { align-items:stretch; background:var(--blue); color:#fff; display:grid; }
.company-quality-copy { padding:clamp(4rem,8vw,8rem) var(--page-padding); }
.company-quality-copy .eyebrow { color:#cbd5ff; }
.company-quality-copy h2 { color:#fff; font-size:clamp(2.7rem,4.8vw,5.2rem); line-height:.98; margin:1.15rem 0 1.5rem; max-width:12ch; }
.company-quality-copy > p:not(.eyebrow) { color:#dce4ff; font-size:clamp(1rem,1.25vw,1.16rem); line-height:1.6; margin:0; max-width:38rem; }
.company-quality-tags { display:flex; flex-wrap:wrap; gap:.65rem; margin-top:2rem; }
.company-quality-tags span { border:1px solid rgba(255,255,255,.42); color:#fff; font-family:Consolas,"Courier New",monospace; font-size:.75rem; font-weight:700; letter-spacing:.1em; padding:.55rem .7rem; }
.company-quality-media { min-height:clamp(22rem,42vw,38rem); overflow:hidden; }
.company-quality-media img { display:block; filter:saturate(.78) contrast(1.05); height:100%; object-fit:cover; width:100%; }
.company-cta { margin-top:0; }
@media (min-width:760px) { .company-overview { grid-template-columns:minmax(0,.8fr) minmax(0,1.15fr) minmax(13rem,.65fr); }.company-process { grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr); }.company-process-copy { padding-left:clamp(2.5rem,5vw,6.5rem); padding-right:clamp(2.5rem,5vw,6.5rem); }.company-quality { grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr); }.company-quality-copy { padding-right:clamp(2.5rem,5vw,6.5rem); } }
@media (max-width:600px) { .company-hero { height:clamp(25rem,62vh,34rem); }.company-hero-content h1 { font-size:clamp(4rem,18vw,7rem); }.company-cta { align-items:start; } }

/* Workshop page: a calm, image-led view of the three confirmed production stages. */
.workshop-page-body { background:var(--paper); color:var(--ink); }
.workshop-hero { height:clamp(27rem,56vh,44rem); min-height:27rem; overflow:clip; position:relative; }
.workshop-hero > img { height:100%; object-fit:cover; object-position:center; width:100%; }
.workshop-hero-overlay { background:linear-gradient(90deg,rgba(8,16,29,.84) 0%,rgba(8,16,29,.5) 48%,rgba(8,16,29,.12) 100%),linear-gradient(0deg,rgba(8,16,29,.58),transparent 64%); inset:0; position:absolute; }
.workshop-hero-content { bottom:clamp(2rem,7vw,6rem); color:#fff; left:var(--page-padding); max-width:min(53rem,calc(100% - (var(--page-padding) * 2))); position:absolute; }
.workshop-hero-content .hero-kicker { margin-bottom:1.1rem; }
.workshop-hero-content h1 { font-size:clamp(4.5rem,11vw,10rem); line-height:.86; margin:0 0 1.35rem; }
.workshop-hero-content > p:last-child { font-size:clamp(1rem,1.35vw,1.2rem); line-height:1.5; margin:0; max-width:39rem; }
.workshop-intro { align-items:end; display:grid; gap:2rem; padding:clamp(5rem,10vw,9rem) var(--page-padding) clamp(4rem,8vw,7rem); }
.workshop-intro-heading h2 { font-size:clamp(2.7rem,5vw,5.6rem); line-height:.96; margin:1.15rem 0 0; max-width:13ch; }
.workshop-intro-copy { color:var(--muted); font-size:clamp(1rem,1.25vw,1.16rem); line-height:1.6; margin:0; max-width:30rem; }
.workshop-process { background:var(--mist); padding:0 var(--page-padding) clamp(5rem,10vw,9rem); }
.workshop-process-item { border-top:1px solid var(--line); display:grid; gap:clamp(2rem,6vw,7rem); padding:clamp(3.5rem,7vw,7rem) 0; }
.workshop-process-item:last-child { border-bottom:1px solid var(--line); }
.workshop-process-media { min-width:0; overflow:hidden; position:relative; }
.workshop-process-media::after { border:1px solid rgba(255,255,255,.72); content:""; inset:1rem; pointer-events:none; position:absolute; }
.workshop-process-media img { aspect-ratio:16/10; display:block; filter:saturate(.82) contrast(1.04); height:auto; object-fit:cover; transition:transform 400ms ease; width:100%; }
.workshop-process-item:hover .workshop-process-media img { transform:scale(1.025); }
.workshop-process-copy { align-self:center; max-width:34rem; }
.workshop-process-index { color:var(--blue); font-family:Consolas,"Courier New",monospace; font-size:.78rem; font-weight:700; letter-spacing:.12em; margin:0 0 1.35rem; text-transform:uppercase; }
.workshop-process-copy h2 { font-size:clamp(2.2rem,4vw,4.7rem); line-height:.98; margin:0 0 1.35rem; max-width:11ch; }
.workshop-process-copy > p:last-child { color:var(--muted); font-size:clamp(1rem,1.2vw,1.14rem); line-height:1.65; margin:0; max-width:31rem; }
.workshop-cta { align-items:center; background:var(--ink); color:#fff; display:grid; gap:2rem; padding:clamp(3.75rem,8vw,8rem) var(--page-padding); }
.workshop-cta .eyebrow { color:#8fb1ff; }
.workshop-cta h2 { font-size:clamp(2.6rem,5vw,5.7rem); line-height:.96; margin:1rem 0 1.25rem; max-width:14ch; }
.workshop-cta p:last-child { color:#b7c3d2; font-size:clamp(1rem,1.2vw,1.15rem); line-height:1.55; margin:0; max-width:33rem; }
.workshop-cta .button { justify-self:start; }
.workshop-cta .button-blue { background:var(--blue); color:#fff; }
.workshop-cta .button-blue:hover { background:#3959d9; color:#fff; }
@media (min-width:760px) { .workshop-intro { grid-template-columns:minmax(0,1.2fr) minmax(17rem,.8fr); }.workshop-process-item { grid-template-columns:minmax(0,1.12fr) minmax(17rem,.88fr); }.workshop-process-item:nth-child(even) { grid-template-columns:minmax(17rem,.88fr) minmax(0,1.12fr); }.workshop-process-item:nth-child(even) .workshop-process-media { grid-column:2; grid-row:1; }.workshop-process-item:nth-child(even) .workshop-process-copy { grid-column:1; grid-row:1; }.workshop-cta { grid-template-columns:minmax(0,1.15fr) minmax(15rem,.5fr); }.workshop-cta .button { justify-self:end; } }
@media (max-width:600px) { .workshop-hero { height:clamp(25rem,62vh,34rem); }.workshop-hero-content h1 { font-size:clamp(4rem,18vw,7rem); }.workshop-process-item { padding:3rem 0; }.workshop-process-media::after { inset:.75rem; }.workshop-cta { align-items:start; } }

/* Enlarge the small navigation labels and process markers for comfortable reading. */
.hero-kicker,
.eyebrow { font-size:clamp(.88rem,.95vw,1rem); }
.workshop-process-index { font-size:clamp(.95rem,1vw,1.08rem); }
.spacious-footer .footer-label,
.contact-page-label,
.product-catalog-index,
.product-specs span,
.industry-card-media span { font-size:clamp(.84rem,.9vw,.98rem); }

/* Quality page: a clear, evidence-led overview of the five confirmed inspection stages. */
.quality-page-body { background:var(--paper); color:var(--ink); }
.quality-hero { height:clamp(27rem,56vh,44rem); min-height:27rem; overflow:clip; position:relative; }
.quality-hero > img { height:100%; object-fit:cover; object-position:center; width:100%; }
.quality-hero-overlay { background:linear-gradient(90deg,rgba(8,16,29,.86) 0%,rgba(8,16,29,.52) 48%,rgba(8,16,29,.13) 100%),linear-gradient(0deg,rgba(8,16,29,.58),transparent 64%); inset:0; position:absolute; }
.quality-hero-content { bottom:clamp(2rem,7vw,6rem); color:#fff; left:var(--page-padding); max-width:min(57rem,calc(100% - (var(--page-padding) * 2))); position:absolute; }
.quality-hero-content .hero-kicker { margin-bottom:1.1rem; }
.quality-hero-content h1 { font-size:clamp(4.5rem,11vw,10rem); line-height:.86; margin:0 0 1.35rem; }
.quality-hero-content > p:last-child { font-size:clamp(1rem,1.35vw,1.2rem); line-height:1.5; margin:0; max-width:36rem; }
.quality-overview { align-items:end; display:grid; gap:2rem; padding:clamp(5rem,10vw,9rem) var(--page-padding) clamp(4rem,8vw,7rem); }
.quality-overview-heading h2 { font-size:clamp(2.7rem,5vw,5.6rem); line-height:.96; margin:1.15rem 0 0; max-width:13ch; }
.quality-overview-copy { max-width:32rem; }
.quality-overview-copy > p { color:var(--muted); font-size:clamp(1rem,1.25vw,1.16rem); line-height:1.6; margin:0; }
.quality-inline-link { align-items:center; border-bottom:2px solid var(--blue); color:var(--blue-deep); display:inline-flex; font-size:.82rem; font-weight:800; gap:1rem; letter-spacing:.06em; margin-top:2rem; padding-bottom:.55rem; text-transform:uppercase; transition:color 180ms ease,transform 180ms ease; }
.quality-inline-link span { font-size:1.15rem; transition:transform 180ms ease; }
.quality-inline-link:hover { color:var(--blue); transform:translateY(-2px); }
.quality-inline-link:hover span { transform:translateX(3px); }
.quality-evidence { padding:0 var(--page-padding) clamp(5rem,10vw,9rem); }
.quality-evidence-grid { display:grid; gap:1rem; }
.quality-evidence-card { background:var(--mist); border-radius:1rem; margin:0; min-width:0; overflow:hidden; }
.quality-evidence-card img { aspect-ratio:4/3; display:block; filter:saturate(.82) contrast(1.03); height:auto; object-fit:cover; transition:transform 350ms ease; width:100%; }
.quality-evidence-card:hover img { transform:scale(1.025); }
.quality-evidence-card figcaption { display:grid; gap:.8rem; padding:clamp(1.25rem,2.4vw,2rem); }
.quality-evidence-card figcaption span { color:var(--blue); font-family:Consolas,"Courier New",monospace; font-size:clamp(.84rem,.9vw,.98rem); font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.quality-evidence-card figcaption strong { color:var(--ink); font-size:clamp(1.35rem,2.2vw,2.2rem); letter-spacing:-.025em; line-height:1.05; }
.quality-process { background:var(--mist); padding:clamp(4.5rem,9vw,8rem) var(--page-padding); }
.quality-process-heading { margin-bottom:clamp(2.5rem,5vw,4.75rem); }
.quality-process-heading h2 { font-size:clamp(2.7rem,5vw,5.6rem); line-height:.96; margin:1.15rem 0 0; max-width:12ch; }
.quality-process-list { margin:0 auto; max-width:90rem; }
.quality-process-item { align-items:start; border-top:1px solid var(--line); display:grid; gap:1.5rem; padding:clamp(1.75rem,3vw,2.75rem) 0; }
.quality-process-item:last-child { border-bottom:1px solid var(--line); }
.quality-process-index { color:var(--blue); font-family:Consolas,"Courier New",monospace; font-size:clamp(1rem,1.1vw,1.2rem); font-weight:700; letter-spacing:.1em; line-height:1.2; }
.quality-process-item h3 { font-size:clamp(1.45rem,2.35vw,2.35rem); line-height:1.05; margin:0 0 .7rem; }
.quality-process-item p { color:var(--muted); font-size:clamp(1rem,1.18vw,1.12rem); line-height:1.6; margin:0; max-width:48rem; }
.quality-standard-strip { display:grid; gap:1.25rem; margin-top:clamp(3rem,6vw,5rem); padding-top:clamp(1.75rem,3vw,2.5rem); }
.quality-standard-strip > p { color:var(--blue); font-family:Consolas,"Courier New",monospace; font-size:clamp(.88rem,.95vw,1rem); font-weight:700; letter-spacing:.11em; margin:0; text-transform:uppercase; }
.quality-standard-tags { display:flex; flex-wrap:wrap; gap:.7rem; }
.quality-standard-tags span { background:#fff; border:1px solid #c7d3e8; color:var(--blue-deep); font-family:Consolas,"Courier New",monospace; font-size:clamp(.86rem,.95vw,1rem); font-weight:700; letter-spacing:.06em; padding:.72rem .85rem; }
.quality-cta-section { margin-top:0; }
@media (min-width:760px) { .quality-overview { grid-template-columns:minmax(0,1.2fr) minmax(17rem,.8fr); }.quality-process-item { grid-template-columns:6.5rem minmax(0,1fr); }.quality-standard-strip { align-items:start; grid-template-columns:13rem minmax(0,1fr); } }
@media (min-width:760px) { .quality-evidence-grid { grid-template-columns:minmax(0,1.2fr) minmax(17rem,.8fr); }.quality-evidence-card-wide img { aspect-ratio:16/10; }.quality-evidence-card:not(.quality-evidence-card-wide) img { aspect-ratio:4/5; } }
@media (max-width:600px) { .quality-hero { height:clamp(25rem,62vh,34rem); }.quality-hero-content h1 { font-size:clamp(4rem,18vw,7rem); }.quality-process-item { gap:.75rem; } }

/* Keep the quality evidence cards identical in width, image ratio and total height on desktop. */
@media (min-width:760px) {
  .quality-evidence-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .quality-evidence-card { display:flex; flex-direction:column; height:100%; }
  .quality-evidence-card img,
  .quality-evidence-card-wide img,
  .quality-evidence-card:not(.quality-evidence-card-wide) img { aspect-ratio:4/3; }
  .quality-evidence-card figcaption { flex:1; min-height:clamp(8.75rem,11vw,10.5rem); }
}

/* Mobile navigation: the quote action moves into this menu, leaving a compact header. */
.mobile-menu-toggle,.mobile-menu,.mobile-menu-backdrop { display:none; }
@media (max-width:759px) {
  .site-header .header-cta { display:none; }
  .mobile-menu-toggle { align-content:center; align-items:center; background:transparent; border:0; display:grid; gap:6px; height:44px; justify-content:center; padding:0; width:44px; }
  .mobile-menu-toggle span { background:var(--ink); display:block; height:2px; transition:transform 180ms ease,opacity 180ms ease; width:22px; }
  .mobile-menu-toggle[aria-expanded="true"] span:nth-child(1) { transform:translateY(8px) rotate(45deg); }
  .mobile-menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity:0; }
  .mobile-menu-toggle[aria-expanded="true"] span:nth-child(3) { transform:translateY(-8px) rotate(-45deg); }
  .mobile-menu-backdrop { background:rgba(8,16,29,.48); display:block; inset:0; position:fixed; z-index:20; }
  .mobile-menu-backdrop[hidden] { display:none; }
  .mobile-menu { background:var(--ink); color:#fff; display:block; left:0; max-height:calc(100svh - .75rem); opacity:0; overflow-y:auto; padding:1.25rem var(--page-padding) max(1.75rem,env(safe-area-inset-bottom)); pointer-events:none; position:fixed; right:0; top:0; transform:translateY(-1.25rem); transition:opacity 220ms ease,transform 220ms ease; visibility:hidden; z-index:21; }
  .mobile-menu.is-open { opacity:1; pointer-events:auto; transform:translateY(0); visibility:visible; }
  .mobile-menu-head { align-items:center; border-bottom:1px solid rgba(222,230,239,.2); display:flex; justify-content:space-between; padding-bottom:1rem; }
  .mobile-menu-head p { color:#9cb0ff; font-family:Consolas,"Courier New",monospace; font-size:.8rem; font-weight:700; letter-spacing:.12em; margin:0; text-transform:uppercase; }
  .mobile-menu-head button { background:transparent; border:1px solid rgba(222,230,239,.42); color:#fff; font-size:1.7rem; height:44px; line-height:1; padding:0; width:44px; }
  .mobile-menu-links { display:grid; padding:1rem 0; }
  .mobile-menu-links a { border-bottom:1px solid rgba(222,230,239,.16); font-size:clamp(1.35rem,6vw,1.75rem); font-weight:700; letter-spacing:-.025em; padding:1rem 0; }
  .mobile-menu-links a[aria-current="page"] { color:#9cb0ff; }
  .mobile-menu-cta { align-items:center; background:var(--blue); display:flex; font-size:.82rem; font-weight:800; justify-content:space-between; letter-spacing:.08em; margin-top:1.25rem; min-height:3.5rem; padding:1rem 1.1rem; text-transform:uppercase; }
  body.mobile-menu-open { overflow:hidden; }
}
@media (prefers-reduced-motion:reduce) { .mobile-menu,.mobile-menu-toggle span { transition:none; } }

/* Home hero: center the message and action while keeping carousel controls independent. */
.hero-slider .slide-overlay { background:linear-gradient(180deg,rgba(8,16,29,.5) 0%,rgba(8,16,29,.66) 100%); }
.hero-slider .hero-content { left:50%; max-width:min(62rem,calc(100% - (var(--page-padding) * 2))); text-align:center; top:46%; transform:translate(-50%,-50%); width:100%; }
.hero-slider .hero-content h1 { margin-left:auto; margin-right:auto; max-width:18ch; }
.hero-slider .hero-content h1 { min-height:2.94em; }
.hero-slider .hero-content > p:not(.hero-kicker) { margin-left:auto; margin-right:auto; }
.hero-slider .slider-controls { left:50%; transform:translateX(-50%); }
