/*
Theme Name: DOSLASER
Theme URI: https://doslaser.com/
Author: Guangzhou Dingsheng Electrical Technology Co., Ltd.
Description: Custom pure-code WordPress theme for DOSLASER.
Version: 1.0.0
Text Domain: doslaser
*/
/* ===== DOSLASER Prototype · design system ===== */
:root{
  --ink:#0A1224; --ink-2:#0F1B31; --body:#3B4759; --muted:#6A7891;
  --line:#E3E9F2; --line-2:#EDF2F9;
  --bg:#ffffff; --bg-soft:#F4F7FC; --bg-dark:#0A1224;
  --accent:#2563EB; --accent-2:#1D4ED8; --accent-soft:#EAF1FF;
  --ok:#12B76A;
  --radius:16px; --radius-sm:10px; --radius-xs:8px;
  --shadow:0 10px 30px rgba(10,18,36,.08);
  --shadow-lg:0 24px 60px rgba(10,18,36,.18);
  --maxw:1200px;
  --font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--font);color:var(--body);background:var(--bg);-webkit-font-smoothing:antialiased;line-height:1.6;font-size:16px}
h1,h2,h3,h4{color:var(--ink);margin:0 0 .5em;line-height:1.15;letter-spacing:-.02em;font-weight:800}
h1{font-size:clamp(30px,4.6vw,54px)}
h2{font-size:clamp(24px,3.1vw,36px)}
h3{font-size:20px}
h4{font-size:16px}
p{margin:0 0 1em}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.muted{color:var(--muted)}
.small{font-size:14px}
.center{text-align:center}
.mono{font-variant-numeric:tabular-nums}

/* sections */
.section{padding:84px 0}
.section--soft{background:var(--bg-soft)}
.section--dark{background:var(--bg-dark);color:#C7D0DA}
.section--dark h1,.section--dark h2,.section--dark h3{color:#fff}
.eyebrow{display:inline-block;font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:14px}
.section-head{max-width:720px;margin:0 auto 46px;text-align:center}
.section-head p{font-size:17px;color:var(--muted);margin:0}
.divider{height:1px;background:var(--line);border:0;margin:0}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:9px;padding:13px 22px;border-radius:999px;font-weight:700;font-size:15px;border:1.5px solid transparent;cursor:pointer;transition:.18s ease;white-space:nowrap;line-height:1}
.btn:hover{transform:translateY(-1px)}
.btn--primary{background:var(--accent);color:#fff;box-shadow:0 8px 20px rgba(37,99,235,.32)}
.btn--primary:hover{background:var(--accent-2)}
.btn--dark{background:var(--ink);color:#fff}
.btn--outline{border-color:currentColor;color:var(--ink);background:transparent}
.btn--outline-light{border-color:rgba(255,255,255,.45);color:#fff;background:transparent}
.btn--wa{background:#25D366;color:#08301A}
.btn--ghost{background:var(--bg-soft);color:var(--ink)}
.btn--lg{padding:16px 28px;font-size:16px}
.btn--block{width:100%;justify-content:center}
.btn-row{display:flex;gap:12px;flex-wrap:wrap}
.btn-row--center{justify-content:center}

/* badges */
.badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;padding:5px 10px;border-radius:999px;background:var(--accent-soft);color:var(--accent-2)}
.badge--dark{background:rgba(255,255,255,.1);color:#fff}
.badge--ok{background:#E7F8F0;color:#0E8A50}
.badge--line{background:#fff;border:1px solid var(--line);color:var(--body)}

/* placeholder media */
.ph{position:relative;overflow:hidden;border-radius:var(--radius);background:
  radial-gradient(120% 130% at 18% 0%, rgba(37,99,235,.22), transparent 55%),
  linear-gradient(155deg,#0C1626,#14294A 58%,#081020);}
.ph::before{content:"";position:absolute;inset:0;opacity:.55;background-image:
  linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),
  linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);
  background-size:34px 34px}
.ph::after{content:"";position:absolute;left:12%;top:22%;width:52%;height:3px;border-radius:3px;
  background:linear-gradient(90deg,transparent,var(--accent),transparent);filter:blur(.4px);opacity:.85}
.ph__tag{position:absolute;left:16px;bottom:14px;z-index:2;color:#fff;font-weight:700;font-size:13px;letter-spacing:.04em;opacity:.92}
.ph--16x10{aspect-ratio:16/10}
.ph--4x3{aspect-ratio:4/3}
.ph--1x1{aspect-ratio:1/1}
.ph--tall{aspect-ratio:3/4}

/* announcement + header */
.announce{background:var(--ink);color:#D7DFE8;font-size:13px;text-align:center;padding:9px 16px}
.announce b{color:#fff}
.header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.header__in{display:flex;align-items:center;gap:28px;height:68px}
.logo{display:flex;align-items:center;gap:10px;font-weight:900;font-size:19px;color:var(--ink);letter-spacing:-.02em}
.logo__mark{width:28px;height:28px;border-radius:8px;background:linear-gradient(135deg,var(--accent),#38BDF8);display:grid;place-items:center;color:#fff;font-size:15px;box-shadow:0 4px 12px rgba(37,99,235,.4)}
.nav{display:flex;gap:26px;margin-left:8px}
.nav a{font-size:15px;font-weight:600;color:var(--body)}
.nav a:hover,.nav a.is-active{color:var(--ink)}
.nav a.is-active{position:relative}
.nav a.is-active::after{content:"";position:absolute;left:0;right:0;bottom:-22px;height:2px;background:var(--accent)}
.header__right{margin-left:auto;display:flex;align-items:center;gap:14px}
.icon-btn{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;border:1px solid var(--line);background:#fff;color:var(--body);cursor:pointer}
.lang{font-weight:700;font-size:14px;color:var(--body);cursor:pointer}
.burger{display:none}

/* hero */
.hero{position:relative;background:var(--bg-dark);color:#B9C4D1;overflow:hidden;padding:78px 0 70px}
.hero::before{content:"";position:absolute;inset:0;background:
  radial-gradient(70% 95% at 85% 0%, rgba(37,99,235,.45), transparent 58%),
  radial-gradient(55% 75% at 10% 100%, rgba(56,189,248,.22), transparent 62%)}
.hero__in{position:relative;display:grid;grid-template-columns:1.06fr .94fr;gap:56px;align-items:center}
.hero h1{color:#fff}
.hero h1 em{font-style:normal;color:var(--accent)}
.hero p.lead{font-size:18px;max-width:520px;color:#AEBAC7}
.hero__meta{display:flex;gap:22px;flex-wrap:wrap;margin-top:26px;color:#8E9BA9;font-size:13px;font-weight:600}
.hero__meta span{display:flex;align-items:center;gap:7px}
.hero__art{aspect-ratio:5/4;border-radius:18px}

/* trust bar */
.trustbar{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 34px;padding:22px 0}
.trustbar span{display:flex;align-items:center;gap:8px;font-weight:700;font-size:13px;color:var(--muted)}
.trustbar svg{color:var(--accent)}

/* cards */
.grid{display:grid;gap:22px}
.grid--3{grid-template-columns:repeat(3,1fr)}
.grid--4{grid-template-columns:repeat(4,1fr)}
.grid--2{grid-template-columns:repeat(2,1fr)}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;transition:.2s ease}
.card:hover{box-shadow:var(--shadow);transform:translateY(-3px);border-color:#DCE1E8}
.card h3{margin-bottom:8px}
.card p{margin:0;color:var(--muted);font-size:15px}
.path{display:flex;flex-direction:column;gap:14px}
.path__no{font-size:12px;font-weight:800;letter-spacing:.14em;color:var(--accent)}
.card--path{display:flex;flex-direction:column;gap:10px}
.card--path .btn{margin-top:auto}

/* product card */
.pcard{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:.2s}
.pcard:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}
.pcard__media{margin:10px;border-radius:12px}
.pcard__body{padding:6px 20px 20px;display:flex;flex-direction:column;gap:8px;flex:1}
.pcard__name{font-weight:800;color:var(--ink);font-size:17px}
.pcard__spec{font-size:13.5px;color:var(--muted)}
.pcard__price{font-weight:800;color:var(--ink);font-size:15px;margin-top:2px}
.pcard__price small{font-weight:600;color:var(--muted)}
.pcard__cta{display:flex;gap:8px;margin-top:auto;padding-top:14px}
.pcard__cta .btn{flex:1;padding:10px 12px;font-size:13.5px}

/* feature list */
.flist{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.flist li{display:flex;gap:11px;align-items:flex-start}
.flist svg{flex:0 0 auto;color:var(--accent);margin-top:3px}
.flist b{color:var(--ink)}

/* apps grid */
.apps{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.app{position:relative;border-radius:14px;overflow:hidden}
.app .ph{aspect-ratio:4/5}
.app span{position:absolute;left:14px;bottom:12px;color:#fff;font-weight:800;font-size:14px;z-index:2}

/* compare table */
.table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.table th,.table td{padding:15px 18px;text-align:left;font-size:14.5px;border-bottom:1px solid var(--line-2)}
.table th{background:var(--bg-soft);font-weight:800;color:var(--ink);font-size:13px;text-transform:uppercase;letter-spacing:.06em}
.table tr:last-child td{border-bottom:0}
.table td:first-child{font-weight:700;color:var(--ink)}

/* testimonial */
.quote{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px}
.quote p{font-size:16px;color:var(--ink);font-weight:500}
.who{display:flex;align-items:center;gap:12px;margin-top:6px}
.avatar{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,#93C5FD,var(--accent));display:grid;place-items:center;color:#fff;font-weight:800}
.stars{color:#F5A623;font-size:13px;letter-spacing:2px}

/* blog teaser / cards */
.bcard{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column}
.bcard .ph{margin:10px;border-radius:12px;aspect-ratio:16/9}
.bcard__body{padding:6px 20px 22px}
.bcard .meta{font-size:12.5px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.bcard h3{font-size:18px;margin-top:8px}
.bcard a.more{font-weight:800;color:var(--accent);font-size:14px}

/* faq */
.faq{max-width:820px;margin:0 auto}
details.faq-item{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px 20px;margin-bottom:12px}
details.faq-item summary{cursor:pointer;font-weight:700;color:var(--ink);list-style:none;display:flex;justify-content:space-between;gap:14px;align-items:center}
details.faq-item summary::-webkit-details-marker{display:none}
details.faq-item summary::after{content:"+";font-size:20px;color:var(--accent);font-weight:800}
details.faq-item[open] summary::after{content:"−"}
details.faq-item p{margin:12px 0 0;color:var(--muted);font-size:15px}

/* CTA band */
.cta-band{background:var(--bg-dark);color:#C7D0DA;text-align:center;border-radius:22px;padding:60px 30px;position:relative;overflow:hidden}
.cta-band::before{content:"";position:absolute;inset:0;background:radial-gradient(70% 120% at 50% 0%, rgba(37,99,235,.38), transparent 62%)}
.cta-band > *{position:relative}

/* footer */
.footer{background:#070E1C;color:#8E9BA9;padding:64px 0 30px;font-size:14.5px}
.footer h4,.footer .footer-col__title{color:#fff;font-size:13px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:16px}
.footer a:hover{color:#fff}
.footer__grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1fr;gap:30px}
.footer__links{display:grid;gap:10px}
.footer__bottom{margin-top:44px;padding-top:22px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13px}
.paylogos{display:flex;gap:8px;margin-top:14px}
.paylogos span{width:38px;height:24px;border-radius:5px;background:rgba(255,255,255,.1)}

/* breadcrumb + page head */
.ds-crumbs-wrap{padding-top:16px}
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:13.5px;line-height:1.45;color:var(--muted);padding:0}
.crumbs a{color:inherit;text-decoration:none;transition:color .18s ease}
.crumbs a:hover{color:var(--ink)}
.crumbs__sep{color:#AAB5C5}
.crumbs__current{color:var(--ink);font-weight:700}
@media(max-width:640px){
  .ds-crumbs-wrap{padding-top:13px}
  .crumbs{font-size:13px;gap:5px}
}
.pagehead{padding:26px 0 34px}
.pagehead p{max-width:640px;color:var(--muted);font-size:16.5px}

/* collection layout */
.coll{display:grid;grid-template-columns:250px 1fr;gap:34px;padding:14px 0 70px}
.filters{position:sticky;top:90px;align-self:start}
.fgroup{border-bottom:1px solid var(--line);padding:16px 0}
.fgroup h4{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:12px}
.fopt{display:flex;align-items:center;gap:9px;font-size:14.5px;color:var(--body);padding:5px 0;cursor:pointer}
.fopt input{accent-color:var(--accent)}
.coll__bar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;flex-wrap:wrap}
.coll__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.pillbar{display:flex;gap:8px;flex-wrap:wrap}
.pill{font-size:13px;font-weight:700;padding:7px 13px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--body);cursor:pointer}
.pill.is-on{background:var(--ink);color:#fff;border-color:var(--ink)}
select.sort{padding:9px 12px;border-radius:9px;border:1px solid var(--line);font:inherit;font-size:14px;color:var(--body);background:#fff}

/* product page */
.pdp{display:grid;grid-template-columns:1.05fr .95fr;gap:46px;padding:10px 0 30px}
.gallery__main{aspect-ratio:1/1;border-radius:18px}
.thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:12px}
.thumbs .ph{aspect-ratio:1/1;border-radius:10px;cursor:pointer}
.pdp__tag{display:flex;gap:8px;margin-bottom:14px}
.pdp h1{font-size:clamp(26px,3vw,38px);margin-bottom:10px}
.pdp__price{font-size:28px;font-weight:900;color:var(--ink);margin:6px 0 4px}
.pdp__price small{font-size:15px;font-weight:600;color:var(--muted)}
.pdp__key{list-style:none;padding:0;margin:18px 0;display:grid;gap:10px}
.pdp__key li{display:flex;gap:10px;align-items:flex-start;font-size:15px}
.pdp__key svg{color:var(--accent);flex:0 0 auto;margin-top:3px}
.pdp__trust{display:flex;gap:18px;flex-wrap:wrap;margin-top:18px;padding-top:18px;border-top:1px solid var(--line);font-size:13px;color:var(--muted);font-weight:600}
.pdp__trust span{display:flex;gap:7px;align-items:center}
.specwrap{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius)}
.boxgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.boxitem{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px;text-align:center}
.boxitem .em{font-size:24px}
.accgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}

/* blog */
.feature{display:grid;grid-template-columns:1.1fr 1fr;gap:36px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;margin-bottom:40px}
.feature .ph{aspect-ratio:16/10;border-radius:12px}
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:30px}
.newsletter{background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius);padding:36px;display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center}
.newsletter input{padding:14px 16px;border-radius:10px;border:1px solid var(--line);font:inherit;width:100%}
.field{display:flex;gap:10px}

/* article */
.article{max-width:760px;margin:0 auto;padding:10px 0 40px}
.article h2{margin-top:40px}
.article h3{margin-top:28px}
.article p,.article li{font-size:17px;color:#2F3E58}
.article__hero{aspect-ratio:16/8;border-radius:18px;margin:24px 0}
.toc{background:var(--bg-soft);border:1px solid var(--line);border-radius:12px;padding:20px 24px;margin:26px 0}
.toc h4{margin-bottom:10px}
.toc ol{margin:0;padding-left:20px}
.toc a{color:var(--body);font-size:15px}
.author{display:flex;gap:14px;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0;margin:34px 0}
.inline-cta{background:var(--accent-soft);border:1px solid #CFE0FF;border-radius:14px;padding:22px 24px;display:flex;justify-content:space-between;align-items:center;gap:18px;margin:28px 0;flex-wrap:wrap}
.inline-cta p{margin:0;color:var(--ink);font-weight:600}

/* about */
.about-hero{background:var(--bg-dark);color:#B9C4D1;padding:80px 0;position:relative;overflow:hidden}
.about-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(70% 100% at 80% 0%,rgba(37,99,235,.38),transparent 58%)}
.about-hero .wrap{position:relative}
.about-hero h1{color:#fff;max-width:760px}
.about-hero p{max-width:620px;font-size:18px;color:#AEBAC7}
.founder{display:grid;grid-template-columns:.8fr 1.2fr;gap:44px;align-items:center}
.founder .ph{aspect-ratio:4/5;border-radius:18px}
.timeline{position:relative;padding-left:28px;border-left:2px solid var(--line)}
.tlitem{position:relative;padding-bottom:28px}
.tlitem::before{content:"";position:absolute;left:-35px;top:5px;width:14px;height:14px;border-radius:50%;background:var(--accent);border:3px solid #fff;box-shadow:0 0 0 2px var(--accent-soft)}
.tlitem b{color:var(--ink)}

/* sticky buy bar */
.buybar{position:fixed;left:0;right:0;bottom:0;z-index:60;background:rgba(255,255,255,.97);backdrop-filter:blur(10px);border-top:1px solid var(--line);transform:translateY(110%);transition:.25s ease;box-shadow:0 -8px 30px rgba(11,15,20,.08)}
.buybar.is-on{transform:none}
.buybar__in{display:flex;align-items:center;gap:18px;padding:12px 0}
.buybar__name{font-weight:800;color:var(--ink)}
.buybar__price{font-weight:800;color:var(--ink);margin-left:auto}

/* whatsapp float */
.wafloat{position:fixed;right:20px;bottom:22px;z-index:70;width:56px;height:56px;border-radius:50%;background:#25D366;display:grid;place-items:center;box-shadow:0 12px 28px rgba(37,211,102,.45);color:#fff}
.wafloat svg{width:30px;height:30px}

/* helper */
.two{display:grid;grid-template-columns:1fr 1fr;gap:46px;align-items:center}
.stat{display:flex;gap:14px;flex-wrap:wrap}
.stat div b{display:block;font-size:30px;color:var(--ink);font-weight:900}
.stat div span{font-size:13px;color:var(--muted)}
.note{margin-top:34px;font-size:13px;color:var(--muted);text-align:center}

/* responsive */
@media(max-width:980px){
  .hero__in{grid-template-columns:1fr;gap:36px}
  .grid--4{grid-template-columns:repeat(2,1fr)}
  .grid--3{grid-template-columns:repeat(2,1fr)}
  .apps{grid-template-columns:repeat(3,1fr)}
  .coll{grid-template-columns:1fr}
  .filters{position:static}
  .coll__grid{grid-template-columns:repeat(2,1fr)}
  .pdp{grid-template-columns:1fr;gap:30px}
  .boxgrid,.accgrid{grid-template-columns:repeat(2,1fr)}
  .footer__grid{grid-template-columns:1fr 1fr 1fr}
  .two,.feature,.newsletter,.founder{grid-template-columns:1fr;gap:26px}
}
@media(max-width:640px){
  .section{padding:56px 0}
  .nav{display:none}
  .burger{display:grid}
  .grid--4,.grid--3,.grid--2,.coll__grid,.apps{grid-template-columns:1fr}
  .footer__grid{grid-template-columns:1fr}
  .buybar__name{display:none}
}

/* ===== nav dropdown ===== */
.navdrop{position:relative}
.navdrop__menu{position:absolute;top:calc(100% + 20px);left:-14px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-lg);padding:8px;min-width:250px;display:none;flex-direction:column;gap:2px}
.navdrop:hover .navdrop__menu{display:flex}
.navdrop__menu a{padding:11px 13px;border-radius:9px;font-size:14.5px;font-weight:600;color:var(--body)}
.navdrop__menu a:hover{background:var(--bg-soft);color:var(--ink)}
.navdrop__menu a small{display:block;color:var(--muted);font-weight:500;font-size:12.5px;margin-top:2px}

/* ===== solutions pages ===== */
.empathy{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.ecard{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px;transition:.2s}
.ecard:hover{box-shadow:var(--shadow);border-color:#DCE1E8}
.ecard .q{color:var(--ink);font-weight:800;font-size:17px;margin-bottom:12px;line-height:1.35}
.ecard .q::before{content:"\201C";color:var(--accent)}
.ecard .q::after{content:"\201D";color:var(--accent)}
.ecard .a{color:var(--body);font-size:15px;margin:0;display:flex;gap:10px}
.ecard .a::before{content:"→";color:var(--accent);font-weight:800;flex:0 0 auto}

.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.pillar{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px}
.pillar .no{font-size:12px;font-weight:800;letter-spacing:.14em;color:var(--accent);text-transform:uppercase}
.pillar h3{margin:10px 0 8px}
.pillar p{margin:0;color:var(--muted);font-size:14.5px}

.journey{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.jstep{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;position:relative}
.jstep .when{font-size:11.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.jstep h4{margin:10px 0 8px;font-size:17px}
.jstep p{margin:0;color:var(--muted);font-size:14.5px}

.money{background:var(--ink);color:#C7D0DA;border-radius:22px;padding:48px;display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center;position:relative;overflow:hidden}
.money::before{content:"";position:absolute;inset:0;background:radial-gradient(80% 120% at 90% 10%,rgba(37,99,235,.34),transparent 58%)}
.money > *{position:relative}
.money h2,.money h3{color:#fff}
.money p{color:#93A4BE}
.mrow{display:flex;justify-content:space-between;gap:16px;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.13);font-size:15px}
.mrow:last-child{border-bottom:0}
.mrow b{color:#fff}
.mbig{font-size:clamp(30px,3.6vw,42px);font-weight:900;color:var(--accent);line-height:1}

.story{display:grid;grid-template-columns:.85fr 1.15fr;gap:44px;align-items:center}
.story .ph{aspect-ratio:4/3;border-radius:18px}
.story blockquote{margin:0;font-size:19px;color:var(--ink);font-weight:600;line-height:1.5;font-style:italic}

.bigquote{text-align:center;max-width:920px;margin:0 auto}
.bigquote p{font-size:clamp(23px,3.3vw,40px);font-weight:800;color:var(--ink);letter-spacing:-.02em;line-height:1.28;margin:0}
.bigquote span{color:var(--accent)}

.ideagrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.idea{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.idea .ph{aspect-ratio:16/10;margin:10px;border-radius:12px}
.idea__body{padding:4px 20px 22px}
.idea h4{margin-bottom:4px}
.idea .margin{font-weight:800;color:var(--accent);font-size:14px}

.solhero{padding:78px 0 66px}
.narrow{max-width:760px;margin:0 auto}

@media(max-width:980px){
  .empathy,.pillars,.journey,.ideagrid,.money,.story{grid-template-columns:1fr}
  .pillars,.journey,.ideagrid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
  .pillars,.journey,.ideagrid{grid-template-columns:1fr}
  .money{padding:30px}
}

/* lightweight shop toolbar (small catalog) */
.shopbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:14px}
.shopbar__label{font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);min-width:84px}

/* ===== responsive nav (override) ===== */
@media(max-width:980px){
  .nav{display:none}
  .burger{display:grid}
  .nav.is-open{display:flex;position:absolute;top:104px;left:16px;right:16px;flex-direction:column;align-items:flex-start;background:#fff;padding:20px;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-lg);gap:14px;z-index:80;max-height:78vh;overflow:auto}
  .nav.is-open > a{width:100%}
  .navdrop{width:100%}
  .navdrop__menu{display:flex;position:static;box-shadow:none;border:0;padding:6px 0 0 14px;min-width:0;background:transparent;gap:0}
  .navdrop__menu a{padding:8px 10px}
}
@media(max-width:640px){
  .header__right .lang{display:none}
}

/* ===== Resources mega menu ===== */
.navdrop__menu--mega{flex-direction:row;gap:26px;padding:22px;min-width:540px}
.navdrop:hover .navdrop__menu--mega{display:flex}
.megacol{display:flex;flex-direction:column;gap:2px;min-width:190px}
.megacol h5{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin:0 0 8px;padding:0 10px;font-weight:800}
.megacol a{padding:8px 10px;border-radius:8px;font-size:14px;font-weight:600;color:var(--body)}
.megacol a:hover{background:var(--bg-soft);color:var(--ink)}

/* ===== support layout ===== */
.splayout{display:grid;grid-template-columns:252px 1fr;gap:44px;padding:8px 0 72px}
.sidenav{position:sticky;top:96px;align-self:start}
.sidenav h5{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin:0 0 10px;padding:0 12px;font-weight:800}
.sidenav a{display:block;padding:9px 12px;border-radius:9px;font-size:14.5px;font-weight:600;color:var(--body);margin-bottom:2px}
.sidenav a:hover{background:var(--bg-soft);color:var(--ink)}
.sidenav a.is-active{background:var(--accent-soft);color:var(--accent-2)}
.sidenav__cta{margin-top:18px;padding:16px;border:1px solid var(--line);border-radius:12px;background:#fff}
.sidenav__cta p{margin:0 0 10px;font-size:13.5px;color:var(--muted)}

/* ===== support hub bits ===== */
.searchbox{display:flex;gap:10px;max-width:620px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 7px 7px 22px;box-shadow:var(--shadow)}
.searchbox input{border:0;outline:0;flex:1;font:inherit;font-size:16px;color:var(--ink);background:transparent}
.articlelist{display:grid;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}
.articlelist a{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;border-bottom:1px solid var(--line-2);font-weight:600;color:var(--ink);font-size:15px}
.articlelist a:last-child{border-bottom:0}
.articlelist a:hover{background:var(--bg-soft)}
.articlelist span{color:var(--muted);font-weight:500;font-size:13.5px;white-space:nowrap}
.qcard{display:flex;gap:14px;align-items:flex-start}
.qcard .em{font-size:22px;line-height:1}
.dlrow{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:15px 20px;border-bottom:1px solid var(--line-2)}
.dlrow:last-child{border-bottom:0}
.dlrow b{color:var(--ink)}
.dlrow .small{color:var(--muted)}
.tagpill{display:inline-block;font-size:11.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:4px 9px;border-radius:999px;background:var(--bg-soft);color:var(--muted);border:1px solid var(--line)}
.tagpill--accent{background:var(--accent-soft);color:var(--accent-2);border-color:transparent}

@media(max-width:980px){
  .splayout{grid-template-columns:1fr;gap:20px}
  .sidenav{position:static}
  .navdrop__menu--mega{flex-direction:column;min-width:0;gap:14px}
}

/* ===== homepage: category entries ===== */
.catgrid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.catcard{position:relative;border-radius:18px;overflow:hidden;min-height:340px;display:flex;align-items:flex-end;cursor:pointer}
.catcard .ph{position:absolute;inset:0;border-radius:0}
.catcard__body{position:relative;z-index:2;padding:30px;width:100%;
  background:linear-gradient(0deg,rgba(8,11,15,.92),rgba(8,11,15,.35) 60%,transparent)}
.catcard h3{color:#fff;font-size:26px;margin-bottom:6px}
.catcard p{color:#B9C4D1;font-size:15px;margin:0 0 14px}
.catcard__link{color:var(--accent);font-weight:800;font-size:14.5px}
.priceanchor{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px 26px;margin:28px 0 8px;font-weight:700;color:var(--muted)}
.priceanchor b{color:var(--ink);font-size:20px}

/* ===== YouTube lazy embed ===== */
.ytembed{position:relative;aspect-ratio:16/9;border-radius:18px;overflow:hidden;cursor:pointer;
  background:radial-gradient(120% 130% at 18% 0%,rgba(37,99,235,.25),transparent 55%),linear-gradient(155deg,#0C1626,#14294A 58%,#081020)}
.ytembed::before{content:"";position:absolute;inset:0;opacity:.5;
  background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:36px 36px}
.ytembed__poster{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.9}
.ytembed__label{position:absolute;left:22px;bottom:20px;z-index:3;color:#fff;font-weight:800;font-size:15px;letter-spacing:.02em}
.ytembed__play{position:absolute;inset:0;margin:auto;width:84px;height:84px;border-radius:50%;background:var(--accent);border:0;cursor:pointer;display:grid;place-items:center;z-index:3;box-shadow:0 16px 40px rgba(37,99,235,.5);transition:.2s}
.ytembed__play:hover{transform:scale(1.06)}
.ytplay-icon{width:0;height:0;border-left:22px solid #fff;border-top:13px solid transparent;border-bottom:13px solid transparent;margin-left:6px}
.ytembed iframe{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:4}

/* ===== factory photo grid ===== */
.photogrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.photogrid .ph{aspect-ratio:4/3;border-radius:14px}
.photogrid .ph--wide{grid-column:span 2}

@media(max-width:980px){
  .catgrid{grid-template-columns:1fr}
  .photogrid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
  .catcard{min-height:260px}
  .ytembed__play{width:64px;height:64px}
  .ytplay-icon{border-left:17px solid #fff;border-top:10px solid transparent;border-bottom:10px solid transparent}
}

/* ===== sample results ===== */
.samplegrid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.sample{margin:0}
.sample .ph{aspect-ratio:1/1;border-radius:12px}
.sample figcaption{margin-top:9px;font-size:13px;color:var(--muted);font-weight:600;line-height:1.4}
.sample figcaption b{color:var(--ink);display:block}
.pcard__samples{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:6px}
.pcard__samples .ph{aspect-ratio:1/1;border-radius:8px}
.pcard__samplelabel{font-size:10.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
@media(max-width:980px){ .samplegrid{grid-template-columns:repeat(3,1fr)} }
@media(max-width:640px){ .samplegrid{grid-template-columns:repeat(2,1fr)} }

/* footer social */
.footer__social{display:flex;flex-direction:column;gap:8px;margin-top:16px;font-size:13.5px}
.footer__social a{color:#8E9BA9}
.footer__social a:hover{color:#fff}

/* figure with caption (factory photos) */
.fig{margin:0}
.fig .ph{aspect-ratio:4/3;border-radius:14px}
.fig figcaption{margin-top:11px;font-size:13.5px;color:var(--muted);font-weight:600;line-height:1.5}
.fig figcaption b{display:block;color:var(--ink);font-size:15px;font-weight:800;margin-bottom:3px}

/* ===== machine row: one machine -> its scenarios ===== */
.machine-row{display:grid;grid-template-columns:250px 1fr 210px;gap:30px;align-items:center;
  background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;margin-bottom:16px;transition:.2s ease}
.machine-row:hover{box-shadow:var(--shadow);border-color:#DCE1E8}
.machine-row > .ph{aspect-ratio:4/3;border-radius:12px}
.machine-row__name{font-size:20px;font-weight:800;color:var(--ink);margin-bottom:4px;letter-spacing:-.01em}
.machine-row__spec{font-size:13.5px;color:var(--muted);margin-bottom:14px}
.scenarios__label{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.scenarios{display:flex;flex-wrap:wrap;gap:7px}
.scenarios span{font-size:12.5px;font-weight:700;padding:5px 11px;border-radius:999px;background:var(--bg-soft);color:var(--body);border:1px solid var(--line);white-space:nowrap}
.machine-row__buy{text-align:right}
.machine-row__price{font-size:21px;font-weight:900;color:var(--ink);margin-bottom:12px;line-height:1.2}
.machine-row__price small{display:block;font-size:12px;font-weight:600;color:var(--muted);margin-bottom:2px}
@media(max-width:980px){
  .machine-row{grid-template-columns:1fr;gap:16px;padding:16px}
  .machine-row__buy{text-align:left}
}

/* ===== category block: 2 columns x 4 tiles ===== */
.mcat{margin-bottom:58px}
.mcat__head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;flex-wrap:wrap;
  border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:22px}
.mcat__head h2{font-size:24px;margin:0}
.mcat__head p{margin:6px 0 0;font-size:14.5px;color:var(--muted);max-width:640px}
.mcat__grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}

.mcard{background:#fff;border:1px solid var(--line);border-radius:16px;display:flex;flex-direction:column;transition:.2s ease}
.mcard:hover{box-shadow:var(--shadow);border-color:#DCE1E8}
.mcard .ph{aspect-ratio:16/10;margin:10px;border-radius:12px}
.mcard__body{padding:2px 22px 22px;display:flex;flex-direction:column;gap:8px;flex:1}
.mcard__name{font-size:19px;font-weight:800;color:var(--ink);letter-spacing:-.01em}
.mcard__spec{font-size:13.5px;color:var(--muted)}
.mcard__scen{display:flex;flex-wrap:wrap;gap:6px;margin:2px 0 4px}
.mcard__scen span{font-size:12px;font-weight:700;padding:4px 10px;border-radius:999px;background:var(--bg-soft);border:1px solid var(--line);color:var(--body)}
.mcard__price{font-size:18px;font-weight:900;color:var(--ink)}
.mcard__price small{display:block;font-size:12px;font-weight:600;color:var(--muted)}
.mcard__cta{display:flex;gap:8px;margin-top:auto;padding-top:14px}
.mcard__cta .btn{flex:1;justify-content:center}

.mcard--custom{background:var(--accent-soft);border:1.5px dashed #BBD3FF;justify-content:center}
.mcard--custom .mcard__body{padding:30px 26px;justify-content:center;text-align:left}
.mcard--custom .mcard__icon{font-size:26px;margin-bottom:6px}
.mcard--custom h3{margin:0 0 8px;font-size:20px}
.mcard--custom p{margin:0 0 16px;font-size:14.5px;color:var(--body)}

@media(max-width:760px){
  .mcat__grid{grid-template-columns:1fr}
}

/* ===== category: 3 machines per row + configure button row ===== */
.mcat__grid{grid-template-columns:repeat(3,1fr)}
.mcat__more{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;
  margin-top:16px;padding:16px 24px;border:1px dashed #BBD3FF;border-radius:14px;background:var(--accent-soft)}
.mcat__more span{font-size:14.5px;color:var(--body)}
.mcat__more b{color:var(--ink)}
@media(max-width:1100px){ .mcat__grid{grid-template-columns:repeat(2,1fr)} }
@media(max-width:760px){ .mcat__grid{grid-template-columns:1fr} }

/* ===== materials & results list (Part 3) ===== */
.matlist{display:grid;gap:18px}
.matrow{display:grid;grid-template-columns:1.1fr .9fr;gap:30px;align-items:center;
  background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px}
.matrow__name{font-size:19px;font-weight:800;color:var(--ink)}
.matrow__eff{margin:0;font-size:14.5px;color:var(--muted);line-height:1.6}
.matrow__shots{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.matrow__shots .ph{aspect-ratio:1/1;border-radius:10px}
@media(max-width:980px){
  .matrow{grid-template-columns:1fr;gap:18px}
}

.matrow__left{min-width:0}

/* hero tech grid overlay */
.hero__grid{position:absolute;inset:0;opacity:.35;pointer-events:none;
  background-image:linear-gradient(rgba(120,170,255,.07) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(120,170,255,.07) 1px,transparent 1px);
  background-size:56px 56px;
  -webkit-mask-image:radial-gradient(80% 80% at 50% 40%,#000 30%,transparent 75%);
          mask-image:radial-gradient(80% 80% at 50% 40%,#000 30%,transparent 75%)}
.hero > .hero__in{position:relative;z-index:1}

/* "Pick this if..." decision line */
.mcard__pick{font-size:14px;font-weight:600;color:var(--ink);line-height:1.5;
  padding-left:12px;border-left:3px solid var(--accent);margin:2px 0 4px}
.mcard__pick b{color:var(--ink)}
.mcard__pick span{display:block;font-size:11px;font-weight:800;letter-spacing:.09em;
  text-transform:uppercase;color:var(--muted);margin-bottom:3px}

/* materials + result info block (no mixed image sizes) */
.matinfo{background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px;
  display:grid;grid-template-columns:1fr 1fr;gap:34px;margin-bottom:30px}
.matinfo__col{min-width:0}
.matinfo .matrow__eff{margin:0}
@media(max-width:860px){ .matinfo{grid-template-columns:1fr;gap:22px} }

/* category card price line */
.catcard__price{color:#fff;font-weight:900;font-size:19px;letter-spacing:-.01em;margin:0 0 12px}
.catcard__price small{display:block;font-size:10.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#B9C4D1;margin-bottom:2px}

/* payment method badges */
.paymethods{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.paymethods span{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:800;
  padding:7px 13px;border-radius:9px;border:1px solid var(--line);background:#fff;color:var(--body);white-space:nowrap}
.footer .paymethods span{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.16);color:#D7DFE8}

/* ================= laser engraving hero animation ================= */
.engrave-stage{position:relative;overflow:hidden;border-radius:18px;aspect-ratio:1/1;
  background:
    radial-gradient(120% 120% at 20% 0%, rgba(37,99,235,.32), transparent 58%),
    radial-gradient(90% 90% at 85% 100%, rgba(56,189,248,.18), transparent 60%),
    linear-gradient(155deg,#0B1628,#14294A 55%,#070E1C)}
.engrave-grid{position:absolute;inset:0;opacity:.5;
  background-image:
    linear-gradient(rgba(120,170,255,.09) 1px,transparent 1px),
    linear-gradient(90deg,rgba(120,170,255,.09) 1px,transparent 1px);
  background-size:38px 38px}
.engrave-scan{position:absolute;left:0;right:0;height:130px;top:-30%;pointer-events:none;
  background:linear-gradient(180deg,transparent,rgba(56,189,248,.14),transparent);
  animation:egScan 4.8s ease-in-out infinite}
@keyframes egScan{0%{top:-30%;opacity:0}15%{opacity:1}80%{opacity:1}100%{top:108%;opacity:0}}
.engrave-svg{position:absolute;inset:0;width:100%;height:100%;display:block}
.eg-ghost{stroke:rgba(125,211,252,.16);stroke-width:2.2;stroke-linejoin:round}
.eg-draw{stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round;
  stroke-dasharray:1600;stroke-dashoffset:1600;
  animation:egDraw 7s linear infinite, egFade 7s linear infinite}
@keyframes egDraw{0%{stroke-dashoffset:1600}78%{stroke-dashoffset:0}100%{stroke-dashoffset:0}}
@keyframes egFade{0%,66%{opacity:1}86%,100%{opacity:0}}
.engrave-tag{position:absolute;left:18px;bottom:16px;z-index:2;
  color:#fff;font-size:13px;font-weight:700;letter-spacing:.03em;opacity:.92}
.engrave-tag b{color:#7DD3FC}
@media (prefers-reduced-motion: reduce){
  .engrave-scan,.eg-draw{animation:none}
  .eg-draw{stroke-dashoffset:0;opacity:1}
}

/* ===== laser engraving TEXT effect ===== */
.engrave-stage{aspect-ratio:7/5}
.eg-etch{font-family:var(--font);font-size:47px;font-weight:800;letter-spacing:-1px;
  fill:rgba(186,230,253,.26)}
.eg-etch--sub{font-size:17px;font-weight:800;letter-spacing:9px;fill:rgba(186,230,253,.20)}
.eg-emboss{font-family:var(--font);font-size:47px;font-weight:800;letter-spacing:-1px;
  fill:rgba(2,8,20,.85)}
.eg-emboss--sub{font-size:17px;font-weight:800;letter-spacing:9px}
.eg-fresh{font-family:var(--font);font-size:47px;font-weight:800;letter-spacing:-1px;
  fill:url(#egTextGrad)}
.eg-fresh--sub{font-size:17px;font-weight:800;letter-spacing:9px}
.eg-fresh-wrap{clip-path:inset(0 100% 0 0);animation:egWipe 7s linear infinite}
@keyframes egWipe{
  0%   {clip-path:inset(0 100% 0 0);opacity:1}
  70%  {clip-path:inset(0 0% 0 0);opacity:1}
  88%  {clip-path:inset(0 0% 0 0);opacity:1}
  100% {clip-path:inset(0 0% 0 0);opacity:0}
}
.eg-spark{animation:egSpark .9s steps(2,end) infinite}
.eg-spark.s2{animation-delay:.28s}
.eg-spark.s3{animation-delay:.55s}
@keyframes egSpark{0%,100%{opacity:0}50%{opacity:1}}
@media (prefers-reduced-motion: reduce){
  .eg-fresh-wrap{animation:none;clip-path:none;opacity:1}
  .eg-spark{animation:none;opacity:.7}
}

.eg-spark.s1{animation-delay:0s}

/* ========== 真·钢板 + 雕刻效果 ========== */
.engrave-stage{
  background:
    radial-gradient(130% 70% at 24% -12%, rgba(255,255,255,.16), transparent 58%),
    linear-gradient(180deg,#96A5B9 0%,#6E7E95 42%,#404C5D 100%) !important;
}
.engrave-grid{               /* 拉丝纹理 */
  background-image:
    repeating-linear-gradient(90deg, rgba(255,255,255,.06) 0 1px, transparent 1px 3px),
    repeating-linear-gradient(0deg, rgba(8,14,24,.05) 0 1px, transparent 1px 4px) !important;
  opacity:.6 !important;
}
.engrave-vignette{position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(120% 105% at 50% 38%, transparent 42%, rgba(6,12,22,.55) 100%)}
.engrave-scan{background:linear-gradient(180deg,transparent,rgba(190,220,255,.10),transparent) !important}

/* 未雕：极浅的定位痕 */
.eg-guide{font-family:var(--font);font-size:47px;font-weight:800;letter-spacing:-1px;
  fill:rgba(255,255,255,.045);stroke:rgba(255,255,255,.13);stroke-width:.7}
.eg-guide--sub{font-size:17px;font-weight:800;letter-spacing:9px;stroke-width:.6}

/* 已雕：亮边（下右） + 暗槽 */
.eg-bevel{font-family:var(--font);font-size:47px;font-weight:800;letter-spacing:-1px;fill:#DCE7F5}
.eg-bevel--sub{font-size:17px;font-weight:800;letter-spacing:9px}
.eg-cut{font-family:var(--font);font-size:47px;font-weight:800;letter-spacing:-1px;fill:#2C3746}
.eg-cut--sub{font-size:17px;font-weight:800;letter-spacing:9px}
.eg-carved-wrap{clip-path:inset(0 100% 0 0);animation:egWipe 7s linear infinite}

/* 灼热区（激光刚烧过的高温） */
.eg-hot{font-family:var(--font);font-size:47px;font-weight:800;letter-spacing:-1px;fill:url(#egHotGrad)}
.eg-hot--sub{font-size:17px;font-weight:800;letter-spacing:9px}

/* ===== hero media slot（等真实素材）===== */
.hero-media{position:relative;aspect-ratio:4/3;border-radius:18px;overflow:hidden;
  background:linear-gradient(155deg,#0C1626,#14294A 58%,#070E1C);
  border:1px solid rgba(255,255,255,.09)}
.hero-media__glow{position:absolute;inset:0;
  background:radial-gradient(85% 70% at 28% 12%, rgba(37,99,235,.38), transparent 62%),
             radial-gradient(70% 70% at 85% 95%, rgba(56,189,248,.20), transparent 60%)}
.hero-media__play{position:absolute;inset:0;margin:auto;width:80px;height:80px;border-radius:50%;
  background:rgba(255,255,255,.95);border:0;cursor:pointer;z-index:2;
  box-shadow:0 18px 44px rgba(0,0,0,.45);transition:transform .2s ease}
.hero-media__play:hover{transform:scale(1.06)}
.hero-media__play::after{content:"";display:block;width:0;height:0;margin-left:6px;
  border-left:22px solid #0A1224;border-top:13px solid transparent;border-bottom:13px solid transparent}
.hero-media__cap{position:absolute;left:22px;right:22px;bottom:18px;z-index:2;color:#fff}
.hero-media__cap b{display:block;font-size:15px;font-weight:800;letter-spacing:-.01em}
.hero-media__cap span{font-size:12.5px;color:#9FB3CC}
/* 有真实图/视频时：给 .hero-media__poster 一个 background-image 即可 */
.hero-media__poster{position:absolute;inset:0;background-size:cover;background-position:center}

/* ===== hero：真实照片 + 缓慢运镜 ===== */
.hero-media{position:relative;aspect-ratio:4/3;border-radius:18px;overflow:hidden;
  background:#0B1626;border:1px solid rgba(255,255,255,.10)}
.hero-media__poster{position:absolute;inset:-4%;background-size:cover;background-position:center;
  animation:heroKB 28s ease-in-out infinite alternate;will-change:transform}
@keyframes heroKB{
  from{transform:scale(1) translate3d(0,0,0)}
  to  {transform:scale(1.09) translate3d(-1.6%,-1.3%,0)}
}
.hero-media__scrim{position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(180deg, rgba(6,12,22,.10) 0%, rgba(6,12,22,.02) 40%, rgba(6,12,22,.80) 100%),
    linear-gradient(90deg, rgba(6,12,22,.42), transparent 52%)}
.hero-media__cap{position:absolute;left:22px;right:22px;bottom:18px;z-index:2;color:#fff}
.hero-media__cap b{display:block;font-size:15.5px;font-weight:800;letter-spacing:-.01em;text-shadow:0 2px 10px rgba(0,0,0,.6)}
.hero-media__cap span{font-size:12.5px;color:#C6D4E6;text-shadow:0 1px 6px rgba(0,0,0,.7)}
@media (prefers-reduced-motion: reduce){ .hero-media__poster{animation:none} }


/* ===== Uploaded DOSLASER logo ===== */
.logo--image{gap:11px}
.logo__img{width:34px;height:34px;border-radius:50%;object-fit:cover;background:#fff;border:1px solid rgba(37,99,235,.16);box-shadow:0 4px 12px rgba(37,99,235,.16);flex:0 0 auto}
.logo--footer .logo__img{border-color:rgba(255,255,255,.28);box-shadow:0 0 0 3px rgba(255,255,255,.06)}
@media (max-width:760px){.logo__img{width:30px;height:30px}.logo--image{gap:9px}}


/* ===== Solutions collection page ===== */
.solutions-list{display:flex;flex-direction:column;gap:28px;margin-bottom:64px}
.solution-row{display:grid;grid-template-columns:minmax(280px,42%) 1fr;background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:var(--shadow)}
.solution-row__media{min-height:300px;height:100%;border-radius:0}
.solution-row__media--start{background:radial-gradient(80% 80% at 20% 20%,rgba(96,165,250,.55),transparent 60%),linear-gradient(145deg,#0B1F43,#123D72 55%,#071426)}
.solution-row__media--production{background:radial-gradient(85% 80% at 75% 20%,rgba(56,189,248,.38),transparent 62%),linear-gradient(145deg,#081426,#102846 48%,#06101F)}
.solution-row__media--dealers{background:radial-gradient(85% 85% at 25% 25%,rgba(37,99,235,.55),transparent 58%),linear-gradient(145deg,#07152D,#153A68 55%,#081126)}
.solution-row__body{padding:42px 46px;display:flex;flex-direction:column;justify-content:center}
.solution-row__no{display:block;color:var(--accent);font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin-bottom:12px}
.solution-row__body h2{font-size:clamp(26px,3vw,38px);margin-bottom:16px}
.solution-row__body>p{font-size:17px;color:var(--muted);max-width:620px}
.solution-row__points{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 24px}
.solution-row__points span{display:inline-flex;align-items:center;padding:7px 11px;border:1px solid var(--line);border-radius:999px;background:var(--bg-soft);color:var(--body);font-size:13px;font-weight:700}
@media(max-width:800px){
  .solution-row{grid-template-columns:1fr}
  .solution-row__media{min-height:220px}
  .solution-row__body{padding:28px 24px}
}

/* ===== Real placeholder images ===== */
.ph-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:inherit;z-index:0}
.ph:has(>.ph-img)::before,.ph:has(>.ph-img)::after{display:none}


/* ===== Image display and mobile fixes ===== */
.ph::before,.ph::after{display:none !important}
.ph-img{object-fit:cover !important}
.thumbs .ph.is-selected{outline:3px solid var(--accent);outline-offset:2px}
@media(max-width:640px){
  html,body{overflow-x:hidden}
  .ph{max-height:320px}
  .hero-media{max-height:260px}
  .gallery__main{aspect-ratio:4/3;max-height:320px}
  .pcard__media,.mcard .ph{max-height:220px}
  .pdp h1{font-size:26px}
  .pdp p,.pdp__key li{font-size:15px}
}


/* ===== Per-section image framing ===== */
/* Product cards, blog cards, galleries and thumbnails: show the full machine on a clean surface. */
.pcard__media .ph-img,
.mcard .ph .ph-img,
.bcard .ph-img,
.gallery__main .ph-img,
.thumbs .ph .ph-img,
.pcard__samples .ph .ph-img,
.boxitem .ph-img,
.accgrid .ph-img{
  object-fit:contain !important;
  padding:14px;
  background:#fff;
}
.pcard__samples .ph .ph-img,
.thumbs .ph .ph-img{padding:5px}
/* Dark visual blocks: keep the machine centred without harsh side-cropping. */
.catcard .ph-img,
.solution-row__media .ph-img,
.solution-row-alt__media .ph-img{
  object-fit:contain !important;
  padding:24px;
  background:radial-gradient(100% 100% at 20% 10%,rgba(96,165,250,.38),transparent 60%),linear-gradient(145deg,#0B1F43,#123D72 58%,#071426);
}
/* Hero keeps a full-bleed crop, but focuses on the machine body rather than the top crop. */
.hero-media__poster{background-position:center 46% !important}
/* Image labels must remain visible on every light product photo. */
.ph__tag{
  left:12px;bottom:12px;padding:6px 10px;border-radius:999px;
  background:rgba(10,18,36,.78);color:#fff;opacity:1;
  line-height:1;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
}
@media(max-width:640px){
  .pcard__media .ph-img,.mcard .ph .ph-img,.bcard .ph-img,.gallery__main .ph-img{padding:10px}
  .catcard .ph-img,.solution-row__media .ph-img,.solution-row-alt__media .ph-img{padding:14px}
  .ph__tag{left:10px;bottom:10px;padding:5px 9px;font-size:12px}
}

/* ===== Fiber/category mobile card balance ===== */
@media(max-width:640px){
  .mcard .ph{
    aspect-ratio:auto !important;
    height:180px !important;
    max-height:180px !important;
  }
  .mcard__name{font-size:20px;line-height:1.25}
  .mcard__spec{font-size:14px;line-height:1.5}
  .mcard__pick{font-size:14px}
  .mcard__cta .btn{font-size:14px;padding:10px 12px}
}

/* ===== Product detail placeholders and accessory links ===== */
.sample-placeholder{background:#E5E7EB !important;border:1px dashed #CBD5E1 !important}
.sample-placeholder::before,.sample-placeholder::after{display:none !important}
.sample-placeholder .ph__tag{background:#fff !important;color:#334155 !important;border:1px solid #D7DEE8;border-radius:8px;padding:5px 9px}
.accessory-card{text-decoration:none;color:inherit;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.accessory-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:#CFD8E6}

/* ===== Product detail and materials layout fixes ===== */
.need-btn{min-width:180px;justify-content:center}
.splayout--single{grid-template-columns:minmax(0,1fr);max-width:1020px;margin:0 auto}
.splayout--single .specwrap{overflow-x:auto}
.splayout--single .table{min-width:760px}
@media(max-width:640px){
  .need-btn{width:100%;min-width:0}
  .mcat__more.align-items{width:100%}
  .inline-cta{align-items:flex-start;flex-direction:column;padding:20px}
  .inline-cta .btn{width:100%;justify-content:center}
}

/* ===== Support pages: compact responsive layout ===== */
.splayout--single > div{min-width:0}
.splayout--single .card{padding:22px}
.splayout--single h2{margin-top:34px}
@media(max-width:640px){
  .splayout--single{padding:4px 0 48px;gap:0}
  .splayout--single .card{padding:18px}
  .splayout--single h2{margin-top:28px}
  .splayout--single .grid--2,.splayout--single .grid--3{gap:12px}
  .articlelist a{flex-direction:column;align-items:flex-start;gap:6px}
  .articlelist span{white-space:normal}
  .dlrow{flex-direction:column;align-items:flex-start;gap:10px}
  .dlrow .btn{width:100%;justify-content:center}
  .searchbox{flex-direction:column;border-radius:16px;padding:12px;gap:10px}
  .searchbox input{width:100%;padding:6px 8px}
  .searchbox .btn{width:100%;justify-content:center}
  .splayout--single .table{min-width:680px}
}

/* ===== Shared support diagnostic CTA ===== */
.support-diagnostic-wrap{padding-bottom:72px}
.support-diagnostic-cta{margin:0}
@media(max-width:640px){.support-diagnostic-wrap{padding-bottom:48px}}

/* ===== Support child single WhatsApp CTA ===== */
body.ds-support-child .header__right .btn--dark{display:none !important}
body.ds-support-child .doslaser-wa-widget,body.ds-support-child .wafloat{display:none !important}

/* ===== Solutions-style row cards ===== */
.solutions-collection-wrap{max-width:1200px;margin:0 auto;padding:28px 24px 80px}
.solutions-list-alt{display:flex;flex-direction:column;gap:40px}
.solution-row-alt{display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,.04);transition:box-shadow .2s ease}
.solution-row-alt:hover{box-shadow:0 15px 40px rgba(37,99,235,.08)}
.solution-row-alt--reverse .solution-row-alt__media{order:2}
.solution-row-alt--reverse .solution-row-alt__body{order:1}
.solution-row-alt__media{position:relative;width:100%;min-height:320px}
.solution-row-alt__media img{width:100%;height:100%;object-fit:contain;display:block}
.solution-row-alt__body{padding:48px;display:flex;flex-direction:column;justify-content:center}
.solution-row-alt__no{font-size:13px;font-weight:700;text-transform:uppercase;color:var(--accent);letter-spacing:.05em;margin-bottom:8px}
.solution-row-alt__body h2{font-size:26px;font-weight:700;color:var(--ink);margin-bottom:14px;line-height:1.3}
.solution-row-alt__body p{font-size:16px;color:var(--body);line-height:1.6;margin-bottom:20px}
.solution-row-alt__points{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}
.solution-row-alt__points span{font-size:13px;background:var(--bg-soft);color:var(--body);padding:6px 14px;border-radius:30px;font-weight:500;border:1px solid var(--line)}
@media(max-width:768px){
  .solutions-collection-wrap{padding:20px 16px 60px}
  .solution-row-alt,.solution-row-alt--reverse{grid-template-columns:1fr}
  .solution-row-alt--reverse .solution-row-alt__media,.solution-row-alt--reverse .solution-row-alt__body{order:unset}
  .solution-row-alt__media{min-height:220px}
  .solution-row-alt__body{padding:28px 22px}
  .solution-row-alt__body h2{font-size:23px}
}

/* ===== Footer social icons and WhatsApp quote button ===== */
.footer__social{flex-direction:row !important;gap:10px !important}
.footer__social a.social-link{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;color:#fff;text-decoration:none;transition:background .2s ease,transform .2s ease}
.footer__social a.social-link:hover{color:#fff;transform:translateY(-2px)}
.footer__social .social-link svg{width:18px;height:18px;fill:currentColor;display:block}
.footer__social .social-link--youtube:hover{background:#FF0000}
.footer__social .social-link--facebook:hover{background:#1877F2}
.footer__social .social-link--tiktok:hover{background:#000}
.quote-wa-btn{background:#0F7A3D !important;border-color:#0F7A3D !important;color:#fff !important}
.quote-wa-btn:hover{background:#0C5F30 !important;border-color:#0C5F30 !important}


/* Always-on brand colors for footer social icons */
.footer__social .social-link--youtube{background:#FF0000 !important}
.footer__social .social-link--facebook{background:#1877F2 !important}
.footer__social .social-link--tiktok{background:#000000 !important}
.footer__social .social-link--youtube:hover{background:#E00000 !important}
.footer__social .social-link--facebook:hover{background:#0F5CC0 !important}
.footer__social .social-link--tiktok:hover{background:#111111 !important}

/* ===== DOSLASER global visual unification ===== */
:root{
  --accent:#008BE7;
  --accent-2:#0077C8;
  --accent-soft:#E6F4FD;
  --ink:#071A2B;
  --ink-2:#0C2942;
  --body:#3C4C5E;
  --muted:#566274;
  --line:#D9E5EF;
  --line-2:#EDF4F8;
  --bg-soft:#F4FAFD;
  --bg-dark:#071A2B;
  --shadow:0 12px 32px rgba(0,139,231,.08);
  --shadow-lg:0 24px 60px rgba(0,139,231,.14);
}
body{color:var(--body);background:#fff}
h1,h2,h3,h4{color:var(--ink)}
.wrap{max-width:1200px}
.section{padding:76px 0}

/* Header */
.announce{background:var(--ink);color:#DCEAF4}
.announce b{color:#fff}
.header{
  background:rgba(255,255,255,.96);
  border-bottom:1px solid var(--line);
  box-shadow:0 8px 28px rgba(7,26,43,.05);
}
.header__in{height:76px;gap:24px}
.logo{color:var(--accent);font-weight:900}
.logo__mark{background:var(--accent)}
.logo__img{border-color:rgba(0,139,231,.24);box-shadow:0 5px 14px rgba(0,139,231,.18)}
.nav a{color:var(--body)}
.nav a:hover,.nav a.is-active{color:var(--accent)}
.nav a.is-active::after{background:var(--accent)}
.navdrop__menu{border-color:var(--line);box-shadow:0 18px 46px rgba(7,26,43,.14)}
.navdrop__menu a:hover{background:var(--accent-soft);color:var(--accent-2)}
.header__right .btn--dark{background:var(--accent);border-color:var(--accent);color:#fff}

/* Hero: constrained to the same content canvas, not full-bleed */
.hero,.solhero,.about-hero{
  width:calc(100% - 48px);
  max-width:1200px;
  margin:22px auto 0;
  border-radius:24px;
  overflow:hidden;
}
.hero{padding:72px 0 64px}
.solhero{padding:68px 0 60px}
.about-hero{padding:72px 0}
.hero::before,.about-hero::before{background:radial-gradient(85% 100% at 88% 0%,rgba(0,139,231,.34),transparent 58%)}
.hero__in{gap:46px}
.hero-media,.hero__art{border-radius:20px}

/* Unified buttons: brand blue for standard CTAs */
.btn{
  border-radius:12px;
  font-weight:800;
  box-shadow:none;
}
.btn--primary,.btn--dark{
  background:var(--accent);
  border-color:var(--accent);
  color:#fff;
  box-shadow:0 10px 24px rgba(0,139,231,.22);
}
.btn--primary:hover,.btn--dark:hover{background:var(--accent-2);border-color:var(--accent-2)}
.btn--outline{
  border-color:var(--accent);
  color:var(--accent);
  background:#fff;
}
.btn--outline:hover{background:var(--accent-soft);color:var(--accent-2);border-color:var(--accent)}
.btn--ghost{background:var(--accent-soft);color:var(--accent-2);border-color:transparent}
.btn--outline-light{color:#fff;border-color:rgba(255,255,255,.58)}
.btn--outline-light:hover{background:rgba(255,255,255,.12)}
.btn--wa{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 10px 24px rgba(0,139,231,.22)}
.btn--wa:hover{background:var(--accent-2);border-color:var(--accent-2)}

/* Footer */
.footer{
  background:linear-gradient(180deg,#071A2B 0%,#0A2941 100%);
  border-top:4px solid var(--accent);
  color:#B8C9D9;
  padding:62px 0 30px;
}
.footer h4,.footer .footer-col__title{color:#fff}
.footer a{color:#B8C9D9}
.footer a:hover{color:#7DD3FC}
.footer__bottom{border-top-color:rgba(255,255,255,.13);color:#8EA8BE}
.footer__social .social-link{box-shadow:0 7px 16px rgba(0,0,0,.16)}

/* Cards and links follow the same blue system */
.card,.pcard,.mcard,.catcard,.bcard,.quote{border-color:var(--line)}
.card:hover,.pcard:hover,.mcard:hover{border-color:#BBDDF5}
.more,.catcard__link,.footer__links a:hover{color:var(--accent)}
.pcard__price,.mcard__price{color:var(--ink)}
.pcard__price small,.mcard__price small{color:var(--muted)}

/* Forms */
input,select,textarea{border-color:var(--line)!important}
input:focus,select:focus,textarea:focus{outline:2px solid rgba(0,139,231,.20);border-color:var(--accent)!important}

@media(max-width:640px){
  .hero,.solhero,.about-hero{width:calc(100% - 24px);margin-top:12px;border-radius:18px}
  .hero{padding:50px 0 46px}
  .solhero{padding:46px 0 44px}
  .about-hero{padding:52px 0}
  .header__in{height:68px}
}

/* Header quote CTA follows the accessible dark green */
.quote-wa-btn{background:#0F7A3D!important;border-color:#0F7A3D!important;color:#fff!important}
.quote-wa-btn:hover{background:#0C5F30!important;border-color:#0C5F30!important}

/* ===== Unified content rail: dark sections and footer align with the 1200px canvas ===== */
.section--dark{
  width:calc(100% - 48px);
  max-width:1200px;
  margin:0 auto;
  border-radius:24px;
  padding:72px 0;
}
.footer{
  width:calc(100% - 48px);
  max-width:1200px;
  margin:24px auto 0;
  border-radius:24px 24px 0 0;
}
.footer .wrap{padding-left:34px;padding-right:34px}
.section--dark .wrap{padding-left:34px;padding-right:34px}
.section--soft{background:var(--bg-soft)}
.section-head{max-width:760px}
.section-head h2{letter-spacing:-.035em}
.card,.pcard,.mcard,.quote,.inline-cta,.mcat__more{box-shadow:0 8px 24px rgba(7,26,43,.045)}
.card:hover,.pcard:hover,.mcard:hover{transform:translateY(-3px)}
@media(max-width:640px){
  .section--dark,.footer{width:calc(100% - 24px);border-radius:18px}
  .section--dark{padding:50px 0}
  .footer .wrap,.section--dark .wrap{padding-left:20px;padding-right:20px}
}

/* Home Support section: light surface instead of a heavy dark band */
#support.section--dark{background:var(--accent-soft);color:var(--body)}
#support.section--dark .section-head h2{color:var(--ink)}
#support.section--dark .section-head p{color:var(--muted)!important}
#support.section--dark .card{background:#fff!important;border-color:var(--line)!important;color:var(--body)!important}
#support.section--dark .card h3{color:var(--ink)!important}
#support.section--dark .card p{color:var(--muted)!important}
#support.section--dark .btn--outline-light{color:var(--accent);border-color:var(--accent)}
#support.section--dark .btn--outline-light:hover{background:#fff}

/* ===== Homepage: equal-height content panels with alternating surfaces ===== */
@media(min-width:1025px){
  body.home main > section.hero{
    height:calc(100svh - 28px);
    min-height:720px;
    max-height:960px;
    display:flex;
    align-items:center;
    padding:0;
  }
  body.home main > section.section{
    height:100svh;
    min-height:720px;
    max-height:960px;
    display:flex;
    align-items:center;
    padding:0;
    background:#fff!important;
  }
  body.home main > section.section > .wrap{
    width:100%;
    height:calc(100svh - 56px);
    min-height:660px;
    max-height:900px;
    padding:54px 56px;
    border-radius:28px;
    border:1px solid var(--line);
    box-shadow:0 16px 44px rgba(7,26,43,.06);
    overflow:auto;
    background:#fff;
  }
  body.home main > section.section:nth-of-type(odd) > .wrap{background:var(--accent-soft)}
  body.home main > section.section:nth-of-type(even) > .wrap{background:#fff}
  body.home #support.section--dark{background:#fff!important}
  body.home main > section.section .section-head{margin-bottom:30px}
}
@media(max-width:1024px){
  body.home main > section.hero{
    height:auto;
    min-height:auto;
    max-height:none;
    padding:52px 0 46px;
  }
  body.home main > section.section{
    height:auto;
    min-height:auto;
    max-height:none;
    padding:34px 0;
    background:#fff!important;
  }
  body.home main > section.section > .wrap{
    margin:0 12px;
    padding:28px 20px;
    border-radius:20px;
    border:1px solid var(--line);
    box-shadow:0 10px 28px rgba(7,26,43,.05);
  }
  body.home main > section.section:nth-of-type(odd) > .wrap{background:var(--accent-soft)}
  body.home main > section.section:nth-of-type(even) > .wrap{background:#fff}
  body.home #support.section--dark{background:#fff!important}
}

/* ===== Homepage final layout: content-driven height, no inner scrollbars ===== */
@media(min-width:1025px){
  body.home main > section.hero{
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    padding:52px 0 46px !important;
    align-items:center;
  }
  body.home main > section.hero h1{font-size:clamp(36px,4.8vw,60px) !important}
  body.home main > section.hero p.lead{font-size:18px}
  body.home main > section.hero .hero__in{gap:38px}
  body.home main > section.section{
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    display:block !important;
    padding:20px 0 !important;
    background:#fff !important;
  }
  body.home main > section.section > .wrap{
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
    padding:48px 52px !important;
  }
  body.home main > section.section:nth-of-type(odd) > .wrap{background:var(--accent-soft) !important}
  body.home main > section.section:nth-of-type(even) > .wrap{background:#fff !important}
  body.home main > section.section .section-head{margin-bottom:30px}
}
@media(max-width:1024px){
  body.home main > section.hero{
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    padding:42px 0 38px !important;
  }
  body.home main > section.section{
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    padding:16px 0 !important;
    background:#fff !important;
  }
  body.home main > section.section > .wrap{
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
    margin:0 12px !important;
    padding:26px 20px !important;
  }
  body.home main > section.section:nth-of-type(odd) > .wrap{background:var(--accent-soft) !important}
  body.home main > section.section:nth-of-type(even) > .wrap{background:#fff !important}
}

/* ===== All inner pages: same content rail and panel rhythm as the homepage ===== */
@media(min-width:1025px){
  body:not(.home) .site-main{background:#fff}
  body:not(.home) .site-main > .wrap,
  body:not(.home) .site-main > .section > .wrap{
    width:100%;
    max-width:1200px;
    margin:20px auto;
    padding:48px 52px;
    border:1px solid var(--line);
    border-radius:28px;
    background:#fff;
    box-shadow:0 16px 44px rgba(7,26,43,.06);
    overflow:visible;
  }
  body:not(.home) .site-main > .section{
    width:auto;
    max-width:none;
    margin:0;
    padding:0;
    border:0;
    border-radius:0;
    background:#fff !important;
    box-shadow:none;
  }
  body:not(.home) .site-main > .series-page > .series-hero,
  body:not(.home) .site-main > .series-page > .series-samples,
  body:not(.home) .site-main > .series-page > .series-models{
    width:100%;
    max-width:1200px;
    margin:20px auto;
    padding:20px 0;
    border:1px solid var(--line);
    border-radius:28px;
    background:#fff;
    box-shadow:0 16px 44px rgba(7,26,43,.06);
    overflow:visible;
  }
  body:not(.home) .site-main > .wrap:nth-child(even),
  body:not(.home) .site-main > .section:nth-child(even) > .wrap,
  body:not(.home) .site-main > .series-page > section:nth-child(even){background:var(--accent-soft) !important}
  body:not(.home) .site-main > .wrap:nth-child(odd),
  body:not(.home) .site-main > .section:nth-child(odd) > .wrap,
  body:not(.home) .site-main > .series-page > section:nth-child(odd){background:#fff !important}
  body:not(.home) .site-main > .section.section--dark{
    width:auto;max-width:none;margin:0;padding:0;border:0;border-radius:0;background:transparent !important;box-shadow:none;
  }
  body:not(.home) .site-main > .section.section--dark > .wrap{
    background:#071A2B !important;
    border-color:#12324C;
    color:#C7D0DA;
  }
  body:not(.home) .site-main > .section.section--dark h2,
  body:not(.home) .site-main > .section.section--dark h3{color:#fff}
}
@media(max-width:1024px){
  body:not(.home) .site-main{background:#fff}
  body:not(.home) .site-main > .wrap,
  body:not(.home) .site-main > .section > .wrap,
  body:not(.home) .site-main > .series-page > .series-hero,
  body:not(.home) .site-main > .series-page > .series-samples,
  body:not(.home) .site-main > .series-page > .series-models{
    width:auto;
    max-width:none;
    margin:0 12px 16px;
    padding:26px 20px;
    border:1px solid var(--line);
    border-radius:20px;
    background:#fff;
    box-shadow:0 10px 28px rgba(7,26,43,.05);
    overflow:visible;
  }
  body:not(.home) .site-main > .section{padding:0;background:#fff !important}
  body:not(.home) .site-main > .wrap:nth-child(even),
  body:not(.home) .site-main > .section:nth-child(even) > .wrap,
  body:not(.home) .site-main > .series-page > section:nth-child(even){background:var(--accent-soft) !important}
  body:not(.home) .site-main > .wrap:nth-child(odd),
  body:not(.home) .site-main > .section:nth-child(odd) > .wrap,
  body:not(.home) .site-main > .series-page > section:nth-child(odd){background:#fff !important}
}

/* ===== Non-home pages: no dark navy content surfaces, wider hero copy ===== */
body:not(.home) .hero,
body:not(.home) .solhero,
body:not(.home) .about-hero{
  background:var(--accent-soft) !important;
  color:var(--body) !important;
}
body:not(.home) .hero::before,
body:not(.home) .about-hero::before{background:none !important}
body:not(.home) .hero h1,
body:not(.home) .about-hero h1{color:var(--ink) !important;max-width:none !important}
body:not(.home) .hero p.lead,
body:not(.home) .about-hero p{color:var(--body) !important;max-width:none !important}
body:not(.home) .hero__meta{color:var(--muted) !important}
body:not(.home) .hero .badge--dark{background:var(--accent) !important;color:#fff !important}
body:not(.home) .hero__in{grid-template-columns:minmax(0,1fr) minmax(260px,320px) !important;gap:32px !important;align-items:center}
body:not(.home) .hero__in > div:first-child{max-width:none !important}
body:not(.home) .hero.solhero{padding:36px 0 34px !important;height:auto !important;min-height:0 !important;max-height:none !important}
body:not(.home) .hero.solhero h1{font-size:clamp(34px,4.2vw,56px) !important;margin-top:10px !important}
body:not(.home) .hero.solhero p.lead{font-size:17px !important;max-width:none !important}
body:not(.home) .hero .hero__art{max-width:360px;justify-self:end}
body:not(.home) .series-hero__in{grid-template-columns:minmax(0,1fr) minmax(300px,380px) !important;gap:32px !important}
body:not(.home) .series-hero p{max-width:none !important}
body:not(.home) .series-hero h1{font-size:clamp(34px,4.2vw,56px) !important}

/* Non-home dark sections and CTA bands become light surfaces */
body:not(.home) .section--dark > .wrap,
body:not(.home) .cta-band{
  background:var(--accent-soft) !important;
  color:var(--body) !important;
  border:1px solid var(--line) !important;
}
body:not(.home) .section--dark h2,
body:not(.home) .section--dark h3,
body:not(.home) .cta-band h2{color:var(--ink) !important}
body:not(.home) .section--dark p,
body:not(.home) .cta-band p{color:var(--muted) !important}
body:not(.home) .section--dark .card{background:#fff !important;border-color:var(--line) !important;color:var(--body) !important}
body:not(.home) .section--dark .card h3{color:var(--ink) !important}
body:not(.home) .section--dark .card p{color:var(--muted) !important}
body:not(.home) .cta-band::before{display:none !important}
body:not(.home) .cta-band .btn--outline-light{color:var(--accent) !important;border-color:var(--accent) !important}
body:not(.home) .cta-band .btn--outline-light:hover{background:#fff !important}

/* Non-home footer: light surface, aligned with the content rail */
body:not(.home) .footer{
  background:#fff !important;
  color:var(--body) !important;
  border-top:1px solid var(--line) !important;
  box-shadow:none !important;
}
body:not(.home) .footer h4,body:not(.home) .footer .footer-col__title{color:var(--ink) !important}
body:not(.home) .footer a{color:var(--body) !important}
body:not(.home) .footer a:hover{color:var(--accent) !important}
body:not(.home) .footer .logo{color:var(--ink) !important}
body:not(.home) .footer__bottom{border-top-color:var(--line) !important;color:var(--muted) !important}
@media(max-width:1024px){
  body:not(.home) .hero__in,
  body:not(.home) .series-hero__in{grid-template-columns:1fr !important}
  body:not(.home) .hero.solhero{padding:30px 0 28px !important}
}

/* ===== Products and Solutions collection pages ===== */
body.ds-page-products .solution-row-alt__media,
body.ds-page-solutions .solution-row-alt__media,
body.ds-page-products .solution-row-alt__media .ph-img,
body.ds-page-solutions .solution-row-alt__media .ph-img{
  background:#fff !important;
}
body.ds-page-products .solution-row-alt__media,
body.ds-page-solutions .solution-row-alt__media{padding:16px}
body.ds-page-products .solution-row-alt__media .ph-img,
body.ds-page-solutions .solution-row-alt__media .ph-img{padding:0;object-fit:contain}
body.ds-page-products .solutions-collection-wrap,
body.ds-page-solutions .solutions-collection-wrap{padding-top:20px}

/* Solutions child pages: white section directly below the hero */
body.page-id-20 .site-main > .hero + .section > .wrap,
body.page-id-21 .site-main > .hero + .section > .wrap,
body.page-id-22 .site-main > .hero + .section > .wrap{background:#fff !important}

/* All pages use the same footer as the homepage */
body:not(.home) .footer{
  background:linear-gradient(180deg,#071A2B 0%,#0A2941 100%) !important;
  color:#B8C9D9 !important;
  border-top:4px solid var(--accent) !important;
  box-shadow:none !important;
}
body:not(.home) .footer h4,body:not(.home) .footer .footer-col__title{color:#fff !important}
body:not(.home) .footer a{color:#B8C9D9 !important}
body:not(.home) .footer a:hover{color:#7DD3FC !important}
body:not(.home) .footer .logo{color:#fff !important}
body:not(.home) .footer__bottom{border-top-color:rgba(255,255,255,.13) !important;color:#8EA8BE !important}

/* Fix non-home hero inline white text after light background conversion */
body:not(.home) .hero p.lead b{color:var(--ink) !important}
body:not(.home) .hero h1 em{color:var(--accent) !important}

/* Blog title hover underline */
.feature h2,
.bcard h3{transition:text-decoration-color .18s ease,color .18s ease;text-decoration:underline transparent;text-underline-offset:4px}
.feature h2:hover,
.bcard h3:hover{text-decoration-color:var(--accent);color:var(--accent-2)}

/* High-specificity non-home override for dark sections still using legacy markup */
body:not(.home) .site-main > .section.section--dark{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
body:not(.home) .site-main > .section.section--dark > .wrap{
  background:var(--accent-soft) !important;
  color:var(--body) !important;
  border:1px solid var(--line) !important;
}
body:not(.home) .site-main > .section.section--dark h1,
body:not(.home) .site-main > .section.section--dark h2,
body:not(.home) .site-main > .section.section--dark h3{color:var(--ink) !important}
body:not(.home) .site-main > .section.section--dark p{color:var(--muted) !important}
body:not(.home) .site-main > .section.section--dark .card{
  background:#fff !important;
  border-color:var(--line) !important;
  color:var(--body) !important;
}
body:not(.home) .site-main > .section.section--dark .card h3{color:var(--ink) !important}
body:not(.home) .site-main > .section.section--dark .card p{color:var(--muted) !important}

/* ===== Header aligned with Footer: same width, same dark surface ===== */
.announce{
  width:calc(100% - 48px);
  max-width:1200px;
  margin:12px auto 0;
  border-radius:24px 24px 0 0;
  border-top:4px solid var(--accent);
  background:linear-gradient(180deg,#071A2B 0%,#0A2941 100%);
  color:#DCEAF4;
}
.header{
  width:calc(100% - 48px);
  max-width:1200px;
  margin:0 auto;
  border-radius:0 0 24px 24px;
  border-top:0;
  border-bottom:0;
  background:linear-gradient(180deg,#071A2B 0%,#0A2941 100%);
  box-shadow:0 16px 44px rgba(7,26,43,.16);
  backdrop-filter:none;
}
.header__in{height:72px}
.header .logo{color:#fff}
.header .logo__mark{background:var(--accent)}
.header .nav a{color:#DCEAF4}
.header .nav a:hover,.header .nav a.is-active{color:#7DD3FC}
.header .nav a.is-active::after{background:#7DD3FC}
.header .lang{color:#DCEAF4}
.header .quote-wa-btn{background:#0F7A3D!important;border-color:#0F7A3D!important;color:#fff!important}
.header .quote-wa-btn:hover{background:#0C5F30!important;border-color:#0C5F30!important}
.header .burger{background:var(--accent)!important;border-color:var(--accent)!important;color:#fff!important}
.header .navdrop__menu{background:#fff}
.header .navdrop__menu a{color:var(--body)}
.header .navdrop__menu a:hover{background:var(--accent-soft);color:var(--accent-2)}

/* Mobile menu sits on white below the dark header */
@media(max-width:900px){
  .header .nav.is-open{background:#fff}
  .header .nav.is-open a{color:var(--ink)}
  .header .nav.is-open a:hover,.header .nav.is-open a.is-current{color:var(--accent)}
}
@media(max-width:640px){
  .announce,.header{width:calc(100% - 24px)}
  .announce{margin-top:8px;border-radius:18px 18px 0 0}
  .header{border-radius:0 0 18px 18px}
}

/* Contrast safety: light surfaces never inherit white text */
.section--soft,.accent-soft,[class*="soft"]{color:var(--body)}
.section--soft h1,.section--soft h2,.section--soft h3,
.accent-soft h1,.accent-soft h2,.accent-soft h3{color:var(--ink)}

/* Header: centered nav, high-contrast arrows */
@media(min-width:901px){
  .header__in{position:relative}
  .header .nav{position:absolute;left:50%;transform:translateX(-50%);margin-left:0;gap:22px}
  .header .nav-toggle-btn{color:#fff!important;opacity:1;font-weight:900;text-shadow:0 1px 3px rgba(0,0,0,.45)}
  .header .nav-toggle-btn:hover{color:#7DD3FC!important}
}

/* Footer social icons: stable brand colors, no awkward hover color changes */
.footer__social .social-link{width:38px;height:38px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff!important;text-decoration:none;transition:transform .2s ease,filter .2s ease}
.footer__social .social-link svg{width:18px;height:18px;fill:currentColor;display:block}
.footer__social .social-link:hover{transform:translateY(-2px);filter:brightness(.94);color:#fff!important}
.footer__social .social-link--youtube{background:#FF0000!important}
.footer__social .social-link--facebook{background:#1877F2!important}
.footer__social .social-link--tiktok{background:#000000!important}
.footer__social .social-link--instagram{background:linear-gradient(45deg,#F09433 0%,#E6683C 25%,#DC2743 50%,#CC2366 75%,#BC1888 100%)!important}
.footer__social .social-link--wechat{background:#07C160!important}

/* Blog titles: clickable and underline on hover */
.feature h2 a,.bcard h3 a{color:inherit;text-decoration:underline transparent;text-underline-offset:4px;transition:color .18s ease,text-decoration-color .18s ease}
.feature h2:hover a,.bcard h3:hover a{color:var(--accent-2);text-decoration-color:var(--accent)}

/* WhatsApp enquiry buttons: use WhatsApp green */
a[href*="wa.me"]:not(.dsx-btn--outline):not(.dsx-btn--ghost),
.btn--wa,
body:not(.home) .cta-band a[href*="wa.me"]{
  background:#25D366!important;
  border-color:#25D366!important;
  color:#fff!important;
}
a[href*="wa.me"]:not(.dsx-btn--outline):not(.dsx-btn--ghost):hover,
.btn--wa:hover,
body:not(.home) .cta-band a[href*="wa.me"]:hover{
  background:#20BA5A!important;
  border-color:#20BA5A!important;
  color:#fff!important;
}

/* Dealers economics section: replace the remaining dark panel with a light panel */
body.page-id-22 .money{
  background:var(--accent-soft) !important;
  color:var(--body) !important;
  border:1px solid var(--line) !important;
}
body.page-id-22 .money::before{display:none !important}
body.page-id-22 .money h2,
body.page-id-22 .money h3,
body.page-id-22 .money .mrow b{color:var(--ink) !important}
body.page-id-22 .money p,
body.page-id-22 .money .mrow span,
body.page-id-22 .money .muted{color:var(--muted) !important}
body.page-id-22 .money .mrow{border-bottom-color:var(--line) !important}
body.page-id-22 .money .mbig{color:var(--accent) !important}

/* Secondary buttons on light non-home Heroes must remain readable */
body:not(.home) .hero .btn--outline-light{
  color:var(--accent) !important;
  border-color:var(--accent) !important;
  background:#fff !important;
}
body:not(.home) .hero .btn--outline-light:hover{background:var(--accent-soft) !important}

/* Header Get a Quote uses the accessible dark green */
.header .quote-wa-btn{background:#0F7A3D!important;border-color:#0F7A3D!important;color:#fff!important}
.header .quote-wa-btn:hover{background:#0C5F30!important;border-color:#0C5F30!important}

/* Dealers best seller cards */
body.page-id-22 .pcard__media{margin:0!important;border-radius:0!important}
body.page-id-22 .pcard__media .ph-img{object-fit:cover!important;padding:0!important;background:#fff!important}
body.page-id-22 .pcard__cta{justify-content:center!important}
body.page-id-22 .pcard__cta .btn{width:100%;justify-content:center}

/* Floating WhatsApp must appear on every page, including Support children */
body.ds-support-child .doslaser-wa-widget,
body .doslaser-wa-widget{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
}
body.ds-support-child .wafloat,
body .wafloat{
  display:grid !important;
  visibility:visible !important;
  opacity:1 !important;
}

/* Footer contact details */
.footer__contact{display:grid;gap:8px;margin-top:14px;font-size:12.5px;line-height:1.5;color:#B8C9D9}
.footer__contact a{display:block;color:#B8C9D9!important;text-decoration:none;background:none!important;border:0!important;padding:0!important;white-space:normal}
.footer__contact a:hover{color:#7DD3FC!important}
.footer__contact span{display:block;color:#8EA8BE}

/* ===== Warm chrome for Header and Footer ===== */
.announce,
.header,
.footer,
body:not(.home) .footer{
  background:linear-gradient(180deg,#2A2724 0%,#3A3631 100%) !important;
}
.announce,
.header{
  border-top-color:var(--accent) !important;
}
.header{
  box-shadow:0 16px 44px rgba(42,39,36,.22) !important;
}
.footer,
body:not(.home) .footer{
  border-top-color:var(--accent) !important;
}
.footer__bottom,
body:not(.home) .footer__bottom{
  border-top-color:rgba(255,255,255,.14) !important;
}

/* ===== Final visual direction: white content, line separators, logo-blue chrome ===== */
body,.site-main,main{background:#fff!important}

/* Homepage hero: white background */
body.home main > section.hero{
  background:#fff!important;
  color:var(--body)!important;
}
body.home main > section.hero::before{display:none!important}
body.home main > section.hero h1{color:var(--ink)!important}
body.home main > section.hero h1 em{color:var(--accent)!important}
body.home main > section.hero p.lead{color:var(--body)!important}
body.home main > section.hero p.lead b{color:var(--ink)!important}
body.home main > section.hero .hero__meta{color:var(--muted)!important}
body.home main > section.hero .badge--dark{background:var(--accent)!important;color:#fff!important}

/* Remove alternating module backgrounds; use centered line separators */
body .section--soft,
body .section--dark,
body .section,
body.home main > section.section,
body:not(.home) .site-main > .section{
  background:#fff!important;
}
body.home main > section.section,
body:not(.home) .site-main > .section{padding:0!important}
body.home main > section.section > .wrap,
body:not(.home) .site-main > .wrap,
body:not(.home) .site-main > .section > .wrap,
body:not(.home) .site-main > .series-page > .series-hero,
body:not(.home) .site-main > .series-page > .series-samples,
body:not(.home) .site-main > .series-page > .series-models{
  background:#fff!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:54px 24px!important;
  margin:0 auto!important;
  max-width:1200px!important;
  width:calc(100% - 48px)!important;
}
body.home main > section.section + section.section > .wrap,
body:not(.home) .site-main > .wrap + .wrap,
body:not(.home) .site-main > .section + .section > .wrap,
body:not(.home) .site-main > .wrap + .section > .wrap,
body:not(.home) .site-main > .section + .wrap,
body:not(.home) .site-main > .series-page > section + section{
  border-top:1px solid var(--line)!important;
}
body .section--dark > .wrap{background:#fff!important;color:var(--body)!important;border:0!important;border-radius:0!important;box-shadow:none!important}
body .section--dark h1,body .section--dark h2,body .section--dark h3{color:var(--ink)!important}
body .section--dark p{color:var(--muted)!important}
body .section--dark .card{background:#fff!important;border-color:var(--line)!important;color:var(--body)!important}
body .section--dark .card h3{color:var(--ink)!important}
body .section--dark .card p{color:var(--muted)!important}
body .cta-band{background:#fff!important;color:var(--body)!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:48px 0!important}
body .cta-band::before{display:none!important}
body .cta-band h2{color:var(--ink)!important}
body .cta-band p{color:var(--muted)!important}
body:not(.home) .cta-band .btn--outline-light{color:var(--accent)!important;border-color:var(--accent)!important;background:#fff!important}

/* Header and Footer use logo blue */
.announce,.header,.footer,body:not(.home) .footer{
  background:linear-gradient(180deg,#008BE7 0%,#0077C8 100%)!important;
  color:#fff!important;
}
.announce,.header{border-top-color:#7DD3FC!important}
.footer,body:not(.home) .footer{border-top:4px solid #7DD3FC!important}
.header .logo,.footer .logo{color:#fff!important}
.header .nav a{color:#EAF6FF!important}
.header .nav a:hover,.header .nav a.is-active{color:#fff!important}
.header .nav a.is-active::after{background:#fff!important}
.header .lang{color:#EAF6FF!important}
.header .nav-toggle-btn{color:#fff!important;opacity:1!important}
.header .quote-wa-btn{background:#0F7A3D!important;border-color:#0F7A3D!important;color:#fff!important}
.header .quote-wa-btn:hover{background:#0C5F30!important;border-color:#0C5F30!important}
.header .burger{background:rgba(255,255,255,.16)!important;border-color:rgba(255,255,255,.5)!important;color:#fff!important}
.footer h4,.footer .footer-col__title,.footer a:hover,body:not(.home) .footer h4,body:not(.home) .footer .footer-col__title,body:not(.home) .footer a:hover{color:#fff!important}
.footer a,body:not(.home) .footer a{color:#EAF6FF!important}
.footer__bottom,body:not(.home) .footer__bottom{border-top-color:rgba(255,255,255,.22)!important;color:#D6ECFA!important}
.footer__contact a,.footer__contact span{color:#EAF6FF!important}
.footer__contact a:hover{color:#fff!important}

@media(max-width:640px){
  body.home main > section.section > .wrap,
  body:not(.home) .site-main > .wrap,
  body:not(.home) .site-main > .section > .wrap,
  body:not(.home) .site-main > .series-page > .series-hero,
  body:not(.home) .site-main > .series-page > .series-samples,
  body:not(.home) .site-main > .series-page > .series-models{
    width:calc(100% - 24px)!important;
    padding:36px 12px!important;
  }
}

/* ===== Final correction: all module surfaces white, darker logo-blue chrome ===== */
body.home main > section.section:nth-of-type(odd) > .wrap,
body.home main > section.section:nth-of-type(even) > .wrap,
body.home #support.section--dark > .wrap,
body.home main > section.section > .wrap{background:#fff!important}

body:not(.home) .site-main > .wrap:nth-child(n),
body:not(.home) .site-main > .section:nth-child(n) > .wrap,
body:not(.home) .site-main > .series-page > section:nth-child(n){background:#fff!important}
body:not(.home) .site-main > .series-page > section + section{border-top:1px solid var(--line)!important}
body.page-id-22 .money{background:#fff!important;border:1px solid var(--line)!important}
body.page-id-22 .money::before{display:none!important}

/* Darker logo-blue header and footer */
.announce,.header,.footer,body:not(.home) .footer{
  background:linear-gradient(180deg,#0068A8 0%,#004F7F 100%)!important;
}
.announce,.header{border-top-color:#7DD3FC!important}
.footer,body:not(.home) .footer{border-top-color:#7DD3FC!important}

/* ===== Deeper chrome, dark submenu, rebuilt home hero ===== */
.announce,.header,.footer,body:not(.home) .footer{
  background:linear-gradient(180deg,#003B63 0%,#00253D 100%)!important;
}
.announce,.header{border-top-color:#008BE7!important}
.footer,body:not(.home) .footer{border-top:4px solid #008BE7!important}
.header{box-shadow:0 18px 48px rgba(0,37,61,.28)!important}

/* Desktop submenu: deep blue instead of white */
@media(min-width:901px){
  .header .navdrop__menu{
    background:#002F52!important;
    border:1px solid rgba(125,211,252,.22)!important;
    box-shadow:0 22px 54px rgba(0,25,43,.36)!important;
  }
  .header .navdrop__menu a{color:#EAF6FF!important}
  .header .navdrop__menu a small{color:#9FC7E6!important}
  .header .navdrop__menu a:hover{background:#0068A8!important;color:#fff!important}
  .header .nav .nav-toggle-btn{color:#fff!important;opacity:1!important}
}

/* Homepage hero: bigger balanced two-column layout */
body.home main > section.hero{
  padding:34px 0 30px!important;
  background:#fff!important;
}
body.home main > section.hero .hero__in{
  grid-template-columns:minmax(0,1fr) minmax(420px,1.02fr)!important;
  gap:56px!important;
  align-items:center!important;
  min-height:540px;
}
body.home main > section.hero h1{
  font-size:clamp(46px,5vw,72px)!important;
  line-height:1.03!important;
  letter-spacing:-.045em!important;
  margin-top:16px!important;
}
body.home main > section.hero p.lead{
  font-size:19px!important;
  line-height:1.7!important;
  max-width:560px!important;
  margin-top:18px!important;
}
body.home main > section.hero .hero__meta{
  margin-top:24px!important;
  gap:18px 26px!important;
}
body.home main > section.hero .hero__art,
body.home main > section.hero .hero-media{
  width:100%!important;
  max-width:none!important;
  justify-self:stretch!important;
  min-height:520px!important;
  aspect-ratio:1/1!important;
  border-radius:26px!important;
  overflow:hidden!important;
}
body.home main > section.hero .hero-media__poster{
  background-size:cover!important;
  background-position:center 50%!important;
  inset:0!important;
}
@media(max-width:1024px){
  body.home main > section.hero .hero__in{grid-template-columns:1fr!important;gap:30px!important;min-height:0}
  body.home main > section.hero .hero__art,
  body.home main > section.hero .hero-media{min-height:300px!important;aspect-ratio:4/3!important}
  body.home main > section.hero h1{font-size:clamp(38px,9vw,52px)!important}
}

/* Homepage category and blog cards: edge-to-edge images */
body.home #machines .pcard__media{margin:0!important;border-radius:16px 16px 0 0!important;overflow:hidden!important}
body.home #machines .pcard__media .ph-img{width:100%!important;height:100%!important;object-fit:cover!important;padding:0!important;background:#fff!important}
body.home #machines .ph__tag{display:none!important}
body.home .bcard > .ph{margin:0!important;border-radius:16px 16px 0 0!important;overflow:hidden!important}
body.home .bcard > .ph .ph-img{width:100%!important;height:100%!important;object-fit:cover!important;padding:0!important;background:#fff!important}
body.home .bcard > .ph .ph__tag{display:none!important}
body.home .bcard h3 a{color:inherit;text-decoration:underline transparent;text-underline-offset:4px}
body.home .bcard h3:hover a{color:#003B63;text-decoration-color:#003B63}

/* Middle-content button palette follows the deep header blue */
.site-main .btn--primary:not([href*="wa.me"]),
.site-main .btn--dark:not([href*="wa.me"]),
main .btn--primary:not([href*="wa.me"]),
main .btn--dark:not([href*="wa.me"]){
  background:#003B63!important;
  border-color:#003B63!important;
  color:#fff!important;
}
.site-main .btn--primary:not([href*="wa.me"]):hover,
.site-main .btn--dark:not([href*="wa.me"]):hover,
main .btn--primary:not([href*="wa.me"]):hover,
main .btn--dark:not([href*="wa.me"]):hover{
  background:#00253D!important;
  border-color:#00253D!important;
}
.site-main .btn--outline:not([href*="wa.me"]),
main .btn--outline:not([href*="wa.me"]){
  color:#003B63!important;
  border-color:#003B63!important;
  background:#fff!important;
}
.site-main .btn--outline:not([href*="wa.me"]):hover,
main .btn--outline:not([href*="wa.me"]):hover{
  background:#E6F1F8!important;
}

/* Homepage marking results */
body.home .mark-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
body.home .mark-card{margin:0;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden}
body.home .mark-card .ph{aspect-ratio:4/3;border-radius:0}
body.home .mark-card .ph-img{width:100%;height:100%;object-fit:cover;padding:0;background:#fff}
body.home .mark-card figcaption{padding:14px 16px}
body.home .mark-card figcaption b{display:block;color:var(--ink);font-size:15px}
body.home .mark-card figcaption span{display:block;color:var(--muted);font-size:12.5px;margin-top:3px}
@media(max-width:760px){body.home .mark-grid{grid-template-columns:1fr 1fr}}

/* Header menu hover underline: white */
.header .nav-link:hover .nav-link-label::after,
.header .nav-link.is-current .nav-link-label::after{background:#fff!important}
/* Footer menu hover underline */
.footer__links a{text-decoration:underline transparent;text-underline-offset:3px;transition:color .18s ease,text-decoration-color .18s ease}
.footer__links a:hover{color:#fff!important;text-decoration-color:#fff}

/* Header split colors: logo-blue announce bar, Shop Machines blue menu bar */
.announce{
  background:#008BE7!important;
  border-top:0!important;
  border-bottom:0!important;
  color:#fff!important;
}
.header{
  background:#003B63!important;
  border-top:0!important;
  border-bottom:0!important;
}
.announce,
.header{border-radius:24px 24px 0 0!important}
.header{border-radius:0 0 24px 24px!important}
@media(max-width:640px){
  .announce,.header{border-radius:18px 18px 0 0!important}
  .header{border-radius:0 0 18px 18px!important}
}

/* Announcement bar: white background, deep blue text */
.announce{
  background:#fff!important;
  color:#003B63!important;
  border-top:0!important;
  border-bottom:1px solid var(--line)!important;
}
.announce b{color:#003B63!important}

/* Menu bar: keep the deep Shop Machines blue */
.header{
  background:#003B63!important;
  color:#fff!important;
}

/* Compact announcement bar + rounded menu bottom corners */
.announce{
  padding:5px 16px!important;
  min-height:0!important;
  font-size:12.5px!important;
  line-height:1.25!important;
}
.header{
  border-bottom-left-radius:24px!important;
  border-bottom-right-radius:24px!important;
}
@media(max-width:640px){
  .announce{padding:4px 12px!important;font-size:12px!important}
  .header{border-bottom-left-radius:18px!important;border-bottom-right-radius:18px!important}
}

/* Products page: tighten FAQ spacing to the preceding module */
body.ds-page-products .solutions-collection-wrap{padding-bottom:20px!important}
body.ds-page-products section.section--soft{margin-top:0!important}
body.ds-page-products section.section--soft > .wrap{padding-top:24px!important}

/* Products FAQ: tighter visual gap */
body.ds-page-products .solutions-collection-wrap{padding-bottom:0!important}
body.ds-page-products section.section--soft{margin-top:-40px!important}
body.ds-page-products section.section--soft > .wrap{padding-top:8px!important}

/* Homepage category cards: square visual, full image, no crop */
body.home #machines .pcard__media{
  aspect-ratio:1/1!important;
  margin:0!important;
  border-radius:16px 16px 0 0!important;
  overflow:hidden!important;
  background:#fff!important;
}
body.home #machines .pcard__media .ph-img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  padding:0!important;
  background:#fff!important;
}
body.home #machines .pcard__body{padding:18px 20px 22px!important}
@media(max-width:640px){
  body.home #machines .pcard__media{aspect-ratio:1/1!important}
}

/* Hero: remove image overlay + frame, tighter blend */
body.home main > section.hero .hero-media__scrim{display:none!important}
body.home main > section.hero .hero-media{
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
body.home main > section.hero .hero__in{gap:28px!important}
body.home main > section.hero .hero-media__cap b{
  text-shadow:0 1px 3px rgba(0,0,0,.55),0 3px 14px rgba(0,0,0,.65)!important;
}
body.home main > section.hero .hero-media__cap span{
  text-shadow:0 1px 3px rgba(0,0,0,.55),0 2px 8px rgba(0,0,0,.7)!important;
}
@media(max-width:1024px){
  body.home main > section.hero .hero__in{gap:26px!important}
}

/* Hero: smaller image, bottom aligned to the Shop Machines button (desktop) */
@media(min-width:1025px){
  body.home main > section.hero .hero-media{
    align-self:start!important;
    justify-self:start!important;
    width:450px!important;
    max-width:100%!important;
    height:450px!important;
    min-height:0!important;
    aspect-ratio:1/1!important;
  }
}

/* Compact hero so the trust bar sits closer to the hero bottom (desktop) */
@media(min-width:1025px){
  body.home main > section.hero .hero__in{min-height:500px!important}
}

/* SEO content block rendered from page post_content */
.page-seo-content{max-width:760px;margin:0 auto;font-size:16px;line-height:1.75;color:var(--body)}
.page-seo-content h2{font-size:24px;margin:0 0 14px;color:var(--ink);line-height:1.25}
.page-seo-content h3{font-size:18px;margin:22px 0 8px;color:var(--ink)}
.page-seo-content p{margin:0 0 14px}
.page-seo-content ul,.page-seo-content ol{margin:0 0 16px;padding-left:22px}
.page-seo-content li{margin:0 0 6px}
.page-seo-content a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.page-seo-content img{max-width:100%;height:auto;border-radius:12px;margin:16px 0}

/* ===== Blog post article layout ===== */
.blog-post-wrap{max-width:860px;margin:0 auto;padding:56px 24px 48px;font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;line-height:1.75;color:#334155}
.blog-post__header{text-align:center;margin-bottom:42px}
.blog-post__meta{font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#2563eb;margin-bottom:14px}
.blog-post__meta span{color:#cbd5e1;margin:0 6px}
.blog-post__title{font-size:clamp(30px,4vw,44px);line-height:1.15;font-weight:800;color:#0f172a;margin:0 0 16px}
.blog-post__excerpt{font-size:18px;color:#64748b;max-width:680px;margin:0 auto;line-height:1.6}
.blog-post__content{font-size:16px;line-height:1.75}
.blog-post__content h2{font-size:24px;font-weight:800;color:#0f172a;border-bottom:1px solid #e2e8f0;padding-bottom:10px;margin:44px 0 18px}
.blog-post__content h3{font-size:19px;font-weight:700;color:#1e293b;margin:28px 0 10px}
.blog-post__content p{margin:0 0 20px}
.blog-post__content ul,.blog-post__content ol{margin:0 0 22px;padding-left:22px}
.blog-post__content li{margin:0 0 8px}
.blog-post__content a{color:#2563eb;font-weight:700;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:2px}
.blog-post__content img{max-width:100%;height:auto;border-radius:10px;box-shadow:0 4px 14px rgba(0,0,0,.1);margin:24px auto;display:block}
.blog-post__content figure{margin:28px auto;text-align:center}
.blog-post__content figure img{margin:0}
.blog-post__content figcaption{font-size:14px;color:#666;text-align:center;margin-top:10px}
.blog-post__content table{width:100%;border-collapse:collapse;margin:28px 0;font-size:15px}
.blog-post__content th{background:#0f172a;color:#fff;padding:12px;border:1px solid #cbd5e0;text-align:left}
.blog-post__content td{padding:10px;border:1px solid #cbd5e0;vertical-align:top}
.blog-post__content tr:nth-child(even) td{background:#f7fafc}
.blog-post__cta{background:linear-gradient(135deg,#0f172a 0%,#1e293b 100%);padding:44px 32px;border-radius:14px;text-align:center;margin:52px 0 20px;box-shadow:0 10px 30px rgba(26,54,93,.2)}
.blog-post__cta h3{color:#fff;font-size:26px;margin:0 0 14px;line-height:1.3}
.blog-post__cta p{color:#cbd5e1;font-size:16px;max-width:620px;margin:0 auto 24px}
.blog-related{border-top:2px solid #e2e8f0;padding-top:34px;margin-top:48px}
.blog-related__title{font-size:22px;font-weight:800;color:#0f172a;margin:0 0 20px}
.blog-related__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.blog-related__card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden;display:flex;flex-direction:column;text-decoration:none;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.blog-related__card:hover{transform:translateY(-4px);box-shadow:0 10px 20px rgba(0,0,0,.08);border-color:#38bdf8}
.blog-related__thumb{aspect-ratio:16/10;background:#0f172a;overflow:hidden}
.blog-related__thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}
.blog-related__card:hover .blog-related__thumb img{transform:scale(1.04)}
.blog-related__body{padding:14px;display:flex;flex-direction:column;flex-grow:1;justify-content:space-between}
.blog-related__tag{font-size:11px;font-weight:700;text-transform:uppercase;color:#2563eb;letter-spacing:.5px;margin-bottom:6px}
.blog-related__heading{font-size:14px;font-weight:700;color:#1e293b;line-height:1.4;margin-bottom:10px}
.blog-related__link{font-size:13px;font-weight:700;color:#2563eb;margin-top:auto}
@media(max-width:768px){
  .blog-related__grid{grid-template-columns:1fr}
  .blog-post-wrap{padding:36px 18px 40px}
}

/* ===== Blog index ===== */
.blog-index{max-width:1200px;margin:0 auto;padding:40px 24px 60px}
.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:stretch}
.blog-card{position:relative;display:flex;flex-direction:column;height:100%;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;color:inherit;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.blog-card:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(7,26,43,.09);border-color:var(--accent-soft)}
.blog-card__img{aspect-ratio:16/10;background:#F1F5F9;overflow:hidden}
.blog-card__img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}
.blog-card:hover .blog-card__img img{transform:scale(1.03)}
.blog-card__placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);background:linear-gradient(135deg,#EAF1FF 0%,#F8FAFC 100%)}
.blog-card__body{padding:20px 22px 22px;display:flex;flex-direction:column;flex:1}
.blog-card__cat{position:relative;z-index:2;display:inline-block;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin-bottom:8px;text-decoration:none}
.blog-card__title{font-size:19px;line-height:1.3;font-weight:800;color:var(--ink);margin:0 0 10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.blog-card__title a{color:inherit;text-decoration:none}
.blog-card__title a::after{content:"";position:absolute;inset:0}
.blog-card__excerpt{font-size:14.5px;line-height:1.55;color:var(--muted);margin:0 0 16px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.blog-card__meta{font-size:12.5px;color:#94A3B8;margin-top:auto}
.blog-pagination{display:flex;justify-content:center;gap:8px;margin:36px 0 0}
.blog-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 12px;border-radius:10px;border:1px solid var(--line);background:#fff;color:var(--ink);text-decoration:none;font-weight:700;font-size:14px}
.blog-pagination .page-numbers.current{background:var(--accent);border-color:var(--accent);color:#fff}
@media(max-width:1024px){.blog-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.blog-grid{grid-template-columns:1fr}}

/* Accessibility: quote CTA uses a darker green so white text clears 5:1 contrast */
.quote-wa-btn,
.header .quote-wa-btn{background:#0F7A3D!important;border-color:#0F7A3D!important;color:#fff!important}
.quote-wa-btn:hover,
.header .quote-wa-btn:hover{background:#0C5F30!important;border-color:#0C5F30!important;color:#fff!important}

/* Accessibility: footer WhatsApp link keeps transparent background (no 1.98:1 green pill) */
.footer .footer__contact a[href*="wa.me"],
.footer .footer__contact a[href*="wa.me"]:hover{background:transparent!important;color:#EAF6FF!important}
