/*
Theme Name: HTL CNC Replica
Theme URI: https://xx.wuwim.com
Author: wuwim
Description: Pixel-faithful industrial CNC manufacturing theme: header/hero/proof/capabilities/factory/industries/quality/process/parts/news/faq/cta plus landing, news and video templates.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: htlcnc
*/

/* ---------- tokens ---------- */
:root{
  --red:#b5151d;
  --ink:#222a30;
  --muted:#59646b;
  --line:#cbd2d7;
  --paper:#e3e7ea;
  --font-sans:"Geist","Segoe UI",system-ui,-apple-system,sans-serif;
  --font-mono:"Geist Mono","SFMono-Regular",Menlo,Consolas,monospace;
}
*,*:before,*:after{box-sizing:border-box;border:0 solid;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5}
body{font-family:var(--font-sans);color:var(--ink);background:#edf0f2;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
img,video{max-width:100%;height:auto;display:block}
button{font:inherit;color:inherit;background:none;cursor:pointer}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}

/* ---------- layout ---------- */
.shell{width:min(1180px,100% - 48px);margin:auto}
.section{padding:96px 0}
.section-head{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:80px;margin-bottom:48px}
.section-head h2,.quality h2,.cta h2{font-size:44px;line-height:1.05;letter-spacing:-.045em;margin:0}
.section-head>p{color:var(--muted);max-width:520px;margin:0;line-height:1.7}
.eyebrow{font:700 12px var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:#8f0d14;margin:0 0 22px}
.red{color:#9f1118}

/* ---------- utility + header ---------- */
.utility{background:#c7ced2;color:#222a30;height:34px;font:12px var(--font-mono)}
.utility .shell{display:flex;align-items:center;gap:28px;height:100%}
.utility a:hover{color:#9f1118}
.push{margin-left:auto}
.header{display:flex;align-items:center;gap:48px;height:82px;background:#f7f8f8}
.brand{display:block}
.brand img{width:135px;height:38px;object-fit:contain}
.header nav{display:flex;align-items:center;gap:34px;margin-left:auto;font-size:14px}
.header nav ul{display:flex;align-items:center;gap:34px;margin:0;padding:0;list-style:none}
.header nav li{display:block}
.header nav a:hover{color:#9f1118}
.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:15px 20px;border:1px solid transparent;font:700 12px var(--font-mono);letter-spacing:.04em;text-transform:uppercase;transition:all .2s}
.button:hover{transform:translateY(-2px)}
.button-red{background:#b5151d;color:#fff}
.button-ghost{color:#fff;background:#00000026;border-color:#6f7478}
.button-white{color:#172a36;background:#fff;border-color:#c8d0d4}
.button-white:hover{background:#f7f8f8;border-color:#aeb9bf}
.nav-cta{padding:14px 18px}
.menu-toggle{display:none;width:44px;height:44px;align-items:center;justify-content:center;margin-left:auto;border:1px solid var(--line);background:#fff}
.menu-toggle span{display:block;width:18px;height:2px;background:#17242c;position:relative}
.menu-toggle span:before,.menu-toggle span:after{content:"";position:absolute;left:0;width:18px;height:2px;background:#17242c}
.menu-toggle span:before{top:-6px}
.menu-toggle span:after{top:6px}
.mobile-nav{display:none;background:#f7f8f8;border-top:1px solid var(--line)}
.mobile-nav.is-open{display:block}
.mobile-nav a{display:block;padding:15px 0;border-bottom:1px solid var(--line);font-size:15px}
.mobile-nav .shell{padding:8px 0 18px}

/* ---------- hero ---------- */
.hero{position:relative;overflow:hidden;height:590px;background:#c7ced2;color:#172229}
.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#e3e7eaf7 0%,#e3e7eae6 38%,#e3e7ea26 78%)}
.hero-content{position:relative;padding-top:110px}
.hero h1{font-size:62px;line-height:1.02;letter-spacing:-.055em;max-width:650px;margin:0;color:#172229}
.hero-copy{font-size:18px;line-height:1.65;color:#58666f;max-width:550px;margin:24px 0 32px}
.hero .button-ghost{color:#172a36;background:#f7f8f8d9;border-color:#aab4ba}
.hero .button-ghost:hover{background:#fff;border-color:#8e9ba2}
.actions{display:flex;gap:12px}

/* ---------- quick contact float ---------- */
.contact-float{position:fixed;right:18px;top:50%;transform:translateY(-50%);z-index:50;width:240px;display:flex;flex-direction:column;gap:8px}
.contact-float a{display:flex;align-items:center;min-height:64px;color:#fff;transition:filter .2s,transform .2s}
.contact-float a:hover{filter:brightness(1.08);transform:translateX(-3px)}
.float-email{background:#315f78}
.float-whatsapp{background:#1f9d55}
.float-icon{display:grid;place-items:center;width:64px;height:64px;flex:0 0 64px}
.float-icon svg{width:22px;height:22px;stroke:currentColor;stroke-width:1.6;fill:none}
.float-label{display:flex;flex-direction:column;min-width:0}
.float-label strong{font:700 12px var(--font-mono);letter-spacing:.06em;text-transform:uppercase}
.float-label small{font-size:12px;line-height:1.5;margin-top:4px;opacity:.92;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* ---------- proof strip ---------- */
.proof{background:#c7ced2;color:#222a30}
.proof-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.proof-grid div{padding:28px;border-right:1px solid #a9b2b8}
.proof-grid div:first-child{border-left:1px solid #a9b2b8}
.proof strong{display:block;font:700 24px var(--font-mono);color:#172229}
.proof span{display:block;margin-top:6px;font-size:12px;color:#58666f}

/* ---------- capabilities ---------- */
.cap-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.cap-card{background:#f3f5f6;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:30px;min-height:280px}
.cap-num{font:600 12px var(--font-mono);color:#9f1118}
.cap-card h3{margin:50px 0 12px;font-size:22px}
.cap-card p{color:var(--muted);font-size:14px;line-height:1.65}
.cap-card a,.text-link{display:inline-block;margin-top:26px;color:#9f1118;font:700 12px var(--font-mono);text-transform:uppercase}

/* ---------- factory video ---------- */
.factory-video{padding:96px 0;background:#c7ced2;border-bottom:1px solid #bcc6cc}
.factory-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.65fr);align-items:center;gap:72px}
.video-frame{position:relative;background:#cbd2d7;border:1px solid #9aa5ac;overflow:hidden;aspect-ratio:16/9}
.video-frame video,.video-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#cbd2d7;display:block}
.video-mark{position:absolute;top:0;left:0;background:#b5151d;color:#fff;font:700 11px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;padding:11px 14px}
.factory-copy h2{font-size:48px;line-height:1.02;letter-spacing:-.045em;margin:0 0 22px;color:#172229}
.factory-copy>p:not(.eyebrow){color:#58666f;line-height:1.75;margin:0 0 30px}
.factory-copy>p:not(.eyebrow) a{color:#9f1118;font-weight:600}
.factory-facts{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #9aa5ac;border-bottom:1px solid #9aa5ac;margin-bottom:30px}
.factory-facts div{padding:20px 18px 20px 0}
.factory-facts div+div{border-left:1px solid #9aa5ac;padding-left:20px}
.factory-facts strong{display:block;font:700 23px var(--font-mono);color:#172229}
.factory-facts span{display:block;margin-top:6px;font-size:11px;color:#58666f}
.factory-copy small{display:block;margin-top:16px;font-size:10px;line-height:1.5;color:#58666f}
.factory-copy .button{width:max-content}

/* ---------- dark section + industries ---------- */
.section-dark{background:#c7ced2;color:#222a30}
.section-dark h2,.section-dark h3,.home-news h2{color:#172229}
.section-head.light>p{color:#58666f}
.industry-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.industry{position:relative;height:360px;overflow:hidden;background:#aab4ba;display:block}
.industry:after{content:"";position:absolute;inset:0;background:linear-gradient(#0000 32%,#000000ed)}
.industry img{width:100%;height:100%;object-fit:cover;filter:grayscale(.25)}
.industry div{position:absolute;z-index:1;bottom:24px;left:24px;right:24px;color:#fff}
.industry h3{margin:0 0 9px;font-size:21px;color:#fff}
.industry p{margin:0;font-size:13px;line-height:1.5;color:#d5d6d7}

/* ---------- quality ---------- */
.quality{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:90px}
.quality-photo{position:relative;background:var(--paper);aspect-ratio:1.1;overflow:hidden}
.quality-photo img,.quality-photo video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#cbd2d7}
.quality-photo span{position:absolute;bottom:0;right:0;background:#b5151d;color:#fff;font:700 11px var(--font-mono);text-transform:uppercase;padding:16px 20px}
.quality-copy>p:not(.eyebrow){color:var(--muted);line-height:1.75}
.quality-copy ul{margin:0;padding:15px 0 0;list-style:none}
.quality-copy li{border-bottom:1px solid var(--line);padding:12px 0;font-size:14px}
.quality-copy li:before{content:"✓";color:#9f1118;margin-right:12px;font-weight:800}

/* ---------- process ---------- */
.process{background:var(--paper)}
.process ol{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #b3bcc2;padding:0;margin:0;list-style:none}
.process li{position:relative;padding:28px 30px 0 0}
.process li:not(:last-child):after{content:"";position:absolute;top:-2px;left:0;width:34%;height:3px;background:#b5151d}
.process li span{font:700 26px var(--font-mono);color:#9f1118}
.process h3{margin:26px 0 9px;font-size:18px}
.process li p{color:var(--muted);font-size:13px;line-height:1.6;max-width:210px}

/* ---------- selected work ---------- */
.parts{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;background:#c4ccd1}
.parts img{width:100%;aspect-ratio:1.25;object-fit:cover;background:#d8dee1}
.parts a{display:block}

/* ---------- news teaser ---------- */
.home-news{padding:96px 0;background:#c7ced2;color:#222a30}
.home-news-head{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:80px;margin-bottom:44px}
.home-news-head h2{font-size:44px;line-height:1.05;letter-spacing:-.045em;margin:0;color:#172229}
.home-news-head .eyebrow{color:#8f0d14}
.home-news-head>div:last-child>p{color:#58666f;margin:0 0 25px;line-height:1.7}
.latest-content-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.latest-content-card{display:flex;flex-direction:column;min-width:0;min-height:470px;background:#f5f7f8;border:1px solid #a9b2b8;transition:transform .2s,border-color .2s}
.latest-content-card:hover{border-color:#d71920;transform:translateY(-5px)}
.latest-content-card:hover .latest-content-image img{transform:scale(1.025)}
.latest-content-image{overflow:hidden;background:#d8dee1}
.latest-content-image img{width:100%;aspect-ratio:1.6;object-fit:cover;transition:transform .3s}
.latest-content-body{padding:24px;display:flex;flex-direction:column;flex:1}
.latest-content-body .meta{font:600 11px var(--font-mono);text-transform:uppercase;color:#7c8287}
.latest-content-body h3{margin:12px 0 10px;font-size:19px;line-height:1.25}
.latest-content-body p{color:#58666f;font-size:13px;line-height:1.65}
.latest-content-link{margin-top:auto;padding-top:20px}
.read-more{color:#9f1118;font:700 11px var(--font-mono);text-transform:uppercase}

/* ---------- faq ---------- */
.faq{background:#f4f5f5}
.faq-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #cfd3d6}
.faq article{border-bottom:1px solid #cfd3d6;padding:30px 40px 30px 0}
.faq article:nth-child(odd){border-right:1px solid #cfd3d6}
.faq article:nth-child(2n){padding-left:40px}
.faq h3{margin:0 0 12px;font-size:18px}
.faq p{color:var(--muted);margin:0;font-size:14px;line-height:1.7}

/* ---------- cta ---------- */
.cta{background:#f1f3f4;border-top:1px solid #d9dee1;border-bottom:1px solid #d9dee1;color:#202b32;padding:72px 0}
.cta .shell{display:flex;align-items:center;justify-content:space-between;gap:60px}
.cta .eyebrow{color:#a9121a;opacity:1}
.cta h2{max-width:700px}
.cta p{color:#52636d}
.cta-actions{display:flex;flex-direction:column;gap:12px;min-width:260px}
.whatsapp{font:700 12px var(--font-mono);text-align:center;color:#344a56}

/* ---------- footer ---------- */
footer{background:#c7ced2;color:#222a30;padding:60px 0 25px}
.footer-grid{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:60px}
.footer-brand{font-size:28px;font-weight:900;color:#9f1118}
.footer-brand span{color:#243139;display:inline!important}
.footer-grid p,.footer-grid a,.footer-grid span{display:block;color:#58666f;margin:8px 0;font-size:13px;line-height:1.6}
.footer-grid a:hover{color:#9f1118}
.footer-grid h3{font:700 11px var(--font-mono);text-transform:uppercase;color:#172229;margin:0 0 18px}
.footer-policy-links{display:flex;flex-wrap:wrap;gap:14px;margin-top:10px}
.footer-policy-links a{display:inline!important}
.social-links{display:flex;align-items:center;gap:12px;margin-top:22px}
.footer-grid .social-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin:0;border-radius:10px;border:1px solid #8d989f;background:#dde2e5;color:#172229;transition:transform .2s,background-color .2s,box-shadow .2s}
.footer-grid .social-icon span{display:block;margin:0;color:inherit;font:800 21px/1 Arial,sans-serif}
.footer-grid .social-linkedin span{font-size:17px;letter-spacing:-.04em}
.footer-grid .social-tiktok span{font-size:25px}
.footer-grid .social-youtube span{font-size:18px;transform:translate(1px)}
.social-icon:hover,.social-icon:focus-visible{transform:translateY(-3px) scale(1.07);outline:none}
.social-facebook:hover{background:#1877f2;color:#fff;box-shadow:0 8px 20px #1877f247}
.social-linkedin:hover{background:#0a66c2;color:#fff;box-shadow:0 8px 20px #0a66c247}
.social-tiktok:hover{background:#111;color:#fff;box-shadow:-3px 0 #25f4ee,3px 0 #fe2c55}
.social-youtube:hover{background:#f03;color:#fff;box-shadow:0 8px 20px #ff003347}
.copyright{font-size:14px;line-height:1.6;color:#66747c;border-top:1px solid #a9b2b8;margin-top:50px;padding-top:22px}

/* ---------- legal / contact pages ---------- */
.legal-page{background:#eef1f3;color:#222b31;min-height:100vh}
.legal-hero{background:#dfe5e8;border-top:1px solid #c8d0d4;padding:72px 0 62px}
.legal-hero .eyebrow{color:#ba111d;font:800 13px var(--font-sans);letter-spacing:.12em;text-transform:uppercase;margin:0 0 16px}
.legal-hero h1{font-size:clamp(42px,6vw,76px);line-height:.98;letter-spacing:-.055em;margin:0}
.legal-hero p{color:#4d5a62;max-width:720px;margin:24px 0 0;font-size:18px;line-height:1.7}
.legal-content{padding:72px 0 100px}
.legal-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.75fr);align-items:start;gap:28px}
.legal-card{background:#fff;border:1px solid #ccd4d8;padding:34px}
.legal-card+.legal-card{margin-top:20px}
.legal-card h2{font-size:27px;letter-spacing:-.025em;margin:0 0 16px}
.legal-card h3{font-size:18px;margin:26px 0 10px}
.legal-card p,.legal-card li{color:#4a565d;line-height:1.75}
.legal-card ul{padding-left:20px;list-style:disc}
.legal-note{position:sticky;top:24px}
.legal-note p:first-of-type{margin-top:0}
.legal-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.contact-list{display:grid;gap:0}
.contact-row{display:grid;grid-template-columns:130px 1fr;gap:20px;padding:18px 0;border-bottom:1px solid #e2e7e9}
.contact-row:first-child{padding-top:0}
.contact-row:last-child{border-bottom:0;padding-bottom:0}
.contact-row span{font-size:12px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:#a80f19}
.contact-row a,.contact-row strong{font-size:18px;color:#1f2b32;overflow-wrap:anywhere}
.article-contact-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:28px}
.article-contact-links>a{background:#ffffffb8;border:1px solid #c9ced1;min-width:0;padding:18px;transition:border-color .2s,transform .2s}
.article-contact-links>a:hover{border-color:#b5151d;transform:translateY(-2px)}
.article-contact-links span{display:block;color:#68737a;font:700 10px var(--font-mono);letter-spacing:.04em;text-transform:uppercase;margin-bottom:7px}
.article-contact-links strong{display:block;color:#17242c;font-size:13px;overflow-wrap:anywhere}
.article-contact-links .article-contact-primary{background:#b5151d;border-color:#b5151d}
.article-contact-links .article-contact-primary span,.article-contact-links .article-contact-primary strong{color:#fff}

/* ---------- news chrome ---------- */
.news-page{background:#edf0f2}
.news-header{display:flex;align-items:center;justify-content:space-between;height:86px;background:#f7f8f8}
.news-logo{font-size:24px;font-weight:900;color:#9f1118}
.news-logo b{color:#243139}
.news-header nav{display:flex;align-items:center;gap:30px;font-size:14px}
.news-header nav ul{display:flex;align-items:center;gap:30px;margin:0;padding:0;list-style:none}
.news-header nav li{display:block}
.news-header nav a:hover{color:#9f1118}
.news-hero{background:#c7ced2;color:#222a30;padding:105px 0}
.news-hero p,.article-head>p{font:700 11px var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:#8f0d14}
.news-hero h1,.article-head h1{font-size:58px;line-height:1.02;letter-spacing:-.05em;margin:22px 0}
.news-hero span{color:#58666f}
.news-index{display:grid;grid-template-columns:repeat(2,1fr);gap:50px 28px;padding:80px 0 110px}
.news-index article{display:grid;grid-template-columns:180px 1fr;gap:24px;border-top:1px solid #d9dcde;padding-top:18px}
.news-index article.featured{grid-column:1/-1;grid-template-columns:1.15fr .85fr}
.news-index img,.news-placeholder{width:100%;aspect-ratio:1.4;object-fit:cover;background:#d8dee1;display:grid;place-items:center;color:#58666f;font:800 20px var(--font-mono)}
.news-index .featured img,.news-index .featured .news-placeholder{aspect-ratio:1.75}
.news-index article span{font:600 12px var(--font-mono);text-transform:uppercase;color:#7c8287}
.news-index h2{font-size:25px;line-height:1.15;margin:12px 0}
.news-index p{color:#62686f;font-size:14px;line-height:1.65}
.news-empty{grid-column:1/-1;background:#e1e5e8;padding:70px}
.news-footer{background:#c7ced2;border-top:1px solid #c5cdd2;color:#66747c;padding:30px 0;font-size:14px;line-height:1.6}
.news-footer-inner{display:flex;align-items:center;justify-content:space-between;gap:24px}
.news-footer-inner nav{display:flex;flex-wrap:wrap;gap:20px}
.news-footer-inner a{color:#34434c;font-weight:700}
.news-footer-inner a:hover{text-decoration:underline}

/* ---------- article ---------- */
.article-head{max-width:980px;padding:90px 0 65px}
.article-head h1{max-width:900px}
.article-head span{color:#62686f;font:600 12px var(--font-mono)}
.article-cover{width:min(1180px,100% - 48px);max-height:650px;object-fit:cover;margin:0 auto 70px}
.article-body{width:min(760px,100% - 40px);margin:0 auto;padding-bottom:100px}
.article-body>p{color:#32373b;font-size:17px;line-height:1.9;margin:0 0 22px}
.article-body .lead{color:#111315;font-size:22px}
.article-body h2{font-size:26px;line-height:1.2;letter-spacing:-.02em;margin:38px 0 14px}
.article-body h3{font-size:20px;margin:30px 0 12px}
.article-body ul{margin:0 0 24px;padding:0}
.article-body ul li{border-bottom:1px solid var(--line);padding:11px 0;font-size:15px;color:#32373b}
.article-body ul li:before{content:"✓";color:#9f1118;font-weight:800;margin-right:10px}
.article-cta{background:#f1f2f2;border-left:4px solid #b5151d;margin-top:60px;padding:40px}
.article-cta h2{margin:0 0 10px;font-size:30px}
.article-core-pages{border-top:1px solid #c7cfd4;margin-top:54px;padding-top:24px}
.article-core-pages>span{display:block;font:750 10px var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:#8e1117;margin-bottom:16px}
.article-core-pages>div{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.article-core-pages a{background:#e8ecee;color:#243139;padding:14px 16px;font-size:13px;font-weight:750}
.article-core-pages a:hover{color:#8e1117}

/* ---------- landing pages ---------- */
.landing-page{background:#f3f5f6;color:#17242c}
.landing-header{background:#f7f8f8}
.landing-header nav{gap:24px}
.landing-hero{position:relative;overflow:hidden;min-height:620px;background:#18232a;color:#fff}
.landing-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.landing-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#121d24f5 0%,#121d24d1 42%,#121d242e 78%)}
.landing-hero-content{position:relative;padding:70px 0 88px}
.breadcrumbs{display:flex;gap:9px;margin-bottom:72px;color:#b7c1c7;font:700 10px var(--font-mono);letter-spacing:.04em;text-transform:uppercase}
.breadcrumbs a:hover{color:#fff}
.landing-hero h1{font-size:62px;line-height:1.02;letter-spacing:-.052em;max-width:800px;margin:0;color:#fff}
.landing-hero-content>p:not(.eyebrow){font-size:18px;line-height:1.7;color:#d8dfe2;max-width:650px;margin:26px 0 34px}
.landing-hero .eyebrow{color:#f14a4f}
.landing-proof{background:#243139;color:#fff}
.landing-proof>.shell{display:grid;grid-template-columns:repeat(4,1fr)}
.landing-proof div>div{padding:27px 24px;border-left:1px solid #45545d}
.landing-proof div>div:last-child{border-right:1px solid #45545d}
.landing-proof strong{display:block;font:750 21px var(--font-mono)}
.landing-proof span{display:block;margin-top:7px;font-size:12px;color:#abb7bd}
.landing-section{padding:96px 0}
.landing-intro{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}
.landing-intro h2,.landing-section-head h2,.landing-quality h2{font-size:44px;line-height:1.08;letter-spacing:-.04em;margin:0}
.landing-goals{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #c7cfd4}
.landing-goals article{display:grid;grid-template-columns:42px 1fr;gap:14px;padding:25px 20px 25px 0;border-bottom:1px solid #c7cfd4}
.landing-goals article:nth-child(odd){border-right:1px solid #c7cfd4}
.landing-goals article:nth-child(2n){padding-left:24px}
.landing-goals span,.landing-content-row>div:first-child>span{font:750 12px var(--font-mono);color:#a90f16}
.landing-goals p{margin:0;font-size:14px;line-height:1.65;color:#53616a}
.landing-content{background:#e7ebed}
.landing-content-row{display:grid;grid-template-columns:.7fr 1.3fr;gap:90px;padding:58px 0;border-top:1px solid #bdc7cc}
.landing-content-row:first-child{border-top:0;padding-top:0}
.landing-content-row:last-child{padding-bottom:0}
.landing-content-row h2{font-size:34px;line-height:1.12;letter-spacing:-.035em;max-width:420px;margin:16px 0 0}
.landing-content-row p{font-size:16px;line-height:1.82;color:#4d5b64;margin:0 0 20px}
.landing-content-row ul,.landing-quality ul{margin:28px 0 0;padding:0;list-style:none}
.landing-content-row li,.landing-quality li{border-bottom:1px solid #bdc7cc;padding:13px 0;font-size:14px;color:#2e3c45}
.landing-content-row li:before,.landing-quality li:before{content:"✓";color:#a90f16;font-weight:800;margin-right:12px}
.landing-process{background:#f7f8f8}
.landing-section-head{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:80px;margin-bottom:48px}
.landing-section-head>p{color:#5c6971;max-width:520px;margin:0;line-height:1.72}
.landing-process ol{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #bdc7cc;margin:0;padding:0;list-style:none}
.landing-process li{position:relative;padding:30px 28px 0 0}
.landing-process li:before{content:"";position:absolute;top:-2px;left:0;width:34%;height:3px;background:#a90f16}
.landing-process li>span{font:750 25px var(--font-mono);color:#a90f16}
.landing-process h3{margin:28px 0 10px;font-size:18px}
.landing-process li p{max-width:240px;margin:0;font-size:13px;line-height:1.65;color:#647078}
.landing-quality{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:80px}
.landing-quality-image{background:#dce1e4;aspect-ratio:1.2;overflow:hidden}
.landing-quality-image img{width:100%;height:100%;object-fit:cover;display:block}
.landing-quality>div>p:not(.eyebrow){color:#58666e;line-height:1.75}
.landing-quality small{display:block;margin-top:26px;color:#76838a;font:650 10px var(--font-mono);text-transform:uppercase}
.landing-related{background:#243139;color:#fff}
.landing-related .landing-section-head>p{color:#b6c0c5}
.landing-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.landing-related-grid a{min-height:230px;padding:30px;background:#ffffff09;border:1px solid #52616a;transition:all .2s}
.landing-related-grid a:hover{border-color:#d3454a;transform:translateY(-4px)}
.landing-related-grid span{font:700 10px var(--font-mono);text-transform:uppercase;color:#ef6a6e}
.landing-related-grid h3{margin:30px 0;font-size:21px;line-height:1.25}
.landing-related-grid strong{font:700 11px var(--font-mono);text-transform:uppercase;color:#dce2e5}
.landing-faq{background:#e7ebed}
.landing-faq-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #bdc7cc}
.landing-faq-grid article{padding:30px 38px 30px 0;border-bottom:1px solid #bdc7cc}
.landing-faq-grid article:nth-child(odd){border-right:1px solid #bdc7cc}
.landing-faq-grid article:nth-child(2n){padding-left:38px}
.landing-faq-grid h3{margin:0 0 13px;font-size:18px}
.landing-faq-grid p{margin:0;font-size:14px;line-height:1.72;color:#59666e}
.landing-cta{background:#f1f3f4;border-top:1px solid #d9dee1;border-bottom:1px solid #d9dee1;color:#202b32}
.landing-cta .eyebrow{color:#a9121a}
.landing-cta p{color:#52636d}
.landing-footer{background:#243139;color:#fff;padding:60px 0 25px}
.landing-footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:70px}
.landing-footer p,.landing-footer a,.landing-footer span{display:block;color:#9eaab0;margin:8px 0;font-size:13px;line-height:1.65}
.landing-footer a:hover{color:#fff}
.landing-footer h3{color:#fff;font:700 11px var(--font-mono);text-transform:uppercase;margin:0 0 18px}

/* ---------- video index ---------- */
.video-hero{background:#c7ced2}
.video-index{display:grid;grid-template-columns:repeat(3,1fr);gap:48px 22px;padding:75px 0 110px}
.video-index article>span{font:700 11px var(--font-mono);text-transform:uppercase;color:#9f1118}
.video-index h2{font-size:22px;line-height:1.2;margin:10px 0}
.video-index p{color:#62686f;font-size:14px;line-height:1.65}
.video-index .byline{color:#7c8287;font-size:13px;margin:0 0 8px}
.video-thumb{display:block;position:relative;overflow:hidden;background:#cbd2d7;max-width:420px;margin:0 auto 20px}
.video-thumb img,.video-thumb video{width:100%;aspect-ratio:4/5;object-fit:cover}
.video-thumb:after{content:"";position:absolute;inset:0;background:linear-gradient(#0000 45%,#00000059)}
.video-thumb .play{position:absolute;z-index:1;bottom:16px;left:20px;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#b5151d;color:#fff;font-size:13px}
.video-thumb small{position:absolute;z-index:1;bottom:14px;right:14px;background:#c7ced2;color:#243139;font:700 11px var(--font-mono);padding:5px 7px}
.video-detail-head{padding:80px 0 45px}
.video-detail-head>p{font:700 11px var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:#8f0d14}
.video-detail-head h1{font-size:56px;line-height:1.05;letter-spacing:-.045em;max-width:900px;margin:18px 0}
.video-detail-head span{color:#8b9196;font:600 11px var(--font-mono)}
.video-description{display:grid;grid-template-columns:1fr auto;align-items:start;gap:60px;padding:36px 0}
.video-description p{max-width:780px;margin:0;color:#4d5b64;font-size:18px;line-height:1.75}

/* ---------- pagination ---------- */
.pagination{display:flex;gap:8px;padding:0 0 90px}
.pagination .page-numbers{padding:10px 14px;border:1px solid var(--line);font:700 11px var(--font-mono);background:#fff}
.pagination .current{background:#b5151d;color:#fff;border-color:#b5151d}

/* ---------- responsive ---------- */
@media (width<=1080px){
  .landing-header nav{display:none}
  .landing-header .nav-cta{margin-left:auto}
  .landing-header .menu-toggle{display:flex;margin-left:12px}
  .landing-hero h1{font-size:52px}
  .landing-intro,.landing-content-row,.landing-quality{gap:50px}
  .landing-related-grid{grid-template-columns:1fr 1fr}
  .landing-related-grid a:last-child{grid-column:1/-1}
}
@media (width<=1000px){
  .latest-content-grid{grid-template-columns:1fr 1fr}
  .video-index{grid-template-columns:1fr 1fr}
}
@media (width<=900px){
  .header nav{display:none}
  .nav-cta{margin-left:auto}
  .hero{height:540px}
  .hero h1{font-size:48px}
  .proof-grid,.cap-grid,.industry-grid{grid-template-columns:repeat(2,1fr)}
  .section-head,.quality{grid-template-columns:1fr;gap:35px}
  .quality-photo{aspect-ratio:1.5}
  .process ol,.footer-grid{grid-template-columns:repeat(2,1fr)}
  .factory-grid{grid-template-columns:1fr;gap:42px}
  .factory-copy{max-width:650px}
  .home-news-head{grid-template-columns:1fr;gap:30px}
  .menu-toggle{display:flex}
}
@media (width<=800px){
  .news-header nav{display:none}
  .news-header .nav-cta{margin-left:auto}
  .news-header{height:68px;gap:14px}
  .news-header .news-logo{font-size:22px;white-space:nowrap}
  .news-hero h1,.article-head h1{font-size:42px}
  .news-index{grid-template-columns:1fr}
  .news-index article,.news-index article.featured{grid-column:auto;grid-template-columns:1fr}
  .article-contact-links{grid-template-columns:1fr}
  .news-footer-inner{flex-direction:column;align-items:flex-start}
  .legal-grid{grid-template-columns:1fr}
}
@media (width<=760px){
  .landing-hero{min-height:650px}
  .landing-hero-shade{background:linear-gradient(90deg,#121d24f0,#121d248c)}
  .landing-hero-content{padding-top:46px}
  .breadcrumbs{margin-bottom:65px}
  .landing-hero h1{font-size:42px}
  .landing-hero-content>p:not(.eyebrow){font-size:16px}
  .landing-proof>.shell,.landing-process ol{grid-template-columns:1fr 1fr}
  .landing-proof div>div{border-bottom:1px solid #45545d}
  .landing-intro,.landing-content-row,.landing-quality,.landing-section-head{grid-template-columns:1fr;gap:34px}
  .landing-section{padding:68px 0}
  .landing-intro h2,.landing-section-head h2,.landing-quality h2{font-size:36px}
  .landing-content-row{padding:42px 0}
  .landing-faq-grid{grid-template-columns:1fr}
  .landing-faq-grid article,.landing-faq-grid article:nth-child(2n){padding:24px 0;border-right:0}
  .legal-hero{padding:48px 0}
  .legal-content{padding:42px 0 70px}
  .legal-card{padding:24px}
  .contact-row{grid-template-columns:1fr;gap:7px}
  .legal-note{position:static}
}
@media (width<=600px){
  .shell{width:min(100% - 32px,1180px)}
  .utility{display:none}
  .header{height:68px;gap:14px}
  .brand{flex:0 0 auto;white-space:nowrap}
  .brand .news-logo{font-size:22px;line-height:1.2}
  .brand img{width:108px;height:30px}
  .nav-cta{padding:12px;font-size:9.5px;white-space:nowrap;gap:8px}
  .menu-toggle{flex:0 0 auto;margin-left:0;width:40px;height:40px}
  .contact-float{left:0;right:0;top:auto;bottom:0;transform:none;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:0}
  .contact-float a{min-height:68px}
  .contact-float a:hover{transform:none}
  .float-icon{width:48px;height:68px;flex:0 0 48px}
  .float-icon svg{width:20px;height:20px}
  .float-label strong{font-size:11px}
  .float-label small{font-size:10px;margin-top:3px}
  .page-home{padding-bottom:68px}
  .hero{height:600px}
  .hero-image{object-position:70% center}
  .hero-shade{background:linear-gradient(180deg,#e3e7eaf2 0%,#e3e7eae0 52%,#e3e7eacc 100%)}
  .hero-content{padding-top:100px}
  .hero h1{font-size:42px}
  .hero-copy{font-size:16px}
  .actions{flex-direction:column;align-items:flex-start}
  .proof-grid,.cap-grid,.industry-grid,.process ol,.parts{grid-template-columns:1fr}
  .process ol{border-top:0}
  .process li{padding:30px 0 34px}
  .process li:not(:last-child):after{width:56px}
  .section{padding:68px 0}
  .section-head h2,.quality h2,.cta h2{font-size:36px}
  .industry{height:320px}
  .quality-photo{aspect-ratio:1}
  .cta .shell{display:block}
  .cta-actions{margin-top:30px}
  .footer-grid{grid-template-columns:1fr 1fr;gap:40px 24px}
  .faq-grid{grid-template-columns:1fr}
  .faq article,.faq article:nth-child(2n){padding:24px 0}
  .faq article:nth-child(odd){border-right:0}
  .factory-video{padding:68px 0}
  .factory-grid{gap:34px}
  .factory-copy h2{font-size:38px}
  .factory-facts strong{font-size:19px}
  .home-news{padding:68px 0 76px}
  .latest-content-grid{grid-template-columns:1fr}
  .latest-content-card{min-height:0}
  .video-index{grid-template-columns:1fr}
  .video-detail-head{padding-top:55px}
  .video-detail-head h1{font-size:36px}
  .article-core-pages>div{grid-template-columns:1fr}
  .footer-grid .social-icon{width:38px;height:38px;border-radius:9px}
  .social-links{gap:9px}
}
@media (width<=520px){
  .landing-header .nav-cta{font-size:9px}
  .landing-hero h1{font-size:36px}
  .landing-hero .actions{align-items:stretch}
  .landing-proof>.shell,.landing-goals,.landing-process ol{grid-template-columns:1fr}
  .landing-proof div>div,.landing-proof div>div:last-child{border-right:1px solid #45545d}
  .landing-goals article,.landing-goals article:nth-child(2n){border-right:0;padding:22px 0}
  .landing-process li{padding-bottom:24px}
  .landing-footer-grid{grid-template-columns:1fr}
}
