/* Extracted from mega-garment-home-clean0.html. Keep static HTML structure separate from runtime CSS. */
:root{
    --bg:#fafaf8;
    --bg-2:#f2f1ed;
    --bg-3:#e8e6df;
    --ink:#0a0a0a;
    --muted:#6b6b68;
    --muted-2:#9a9a95;
    --line:#dcdad3;
    --line-dk:#2a2a2a;
    --accent:#c8372a;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    font-family:'Inter',sans-serif;
    background:var(--bg);
    color:var(--ink);
    -webkit-font-smoothing:antialiased;
    line-height:1.55;
    font-size:15px;
    overflow-x:hidden;
  }
  img{display:block;max-width:100%;}
  .display{font-family:'Archivo',sans-serif;letter-spacing:-0.035em;line-height:.9;}
  .label{
    font-family:'Archivo',sans-serif;
    font-size:11px;
    font-weight:600;
    letter-spacing:.18em;
    text-transform:uppercase;
    color:var(--muted);
    display:inline-flex;
    align-items:center;
    gap:10px;
  }
  .label::before{content:'◆';color:var(--accent);font-size:8px;}
  .reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s ease;}
  .reveal.in{opacity:1;transform:none;}

  /* ── Keyboard accessibility (focus-visible) ── */
  button:focus-visible,
  a:focus-visible,
  input:focus-visible,
  select:focus-visible,
  textarea:focus-visible{
    outline:2px solid var(--accent);
    outline-offset:2px;
  }
  /* Hide outline only when activated by mouse, not keyboard */
  button:focus:not(:focus-visible),
  a:focus:not(:focus-visible){outline:none;}
  .reveal.delay-1{transition-delay:.08s;}
  .reveal.delay-2{transition-delay:.16s;}
  .reveal.delay-3{transition-delay:.24s;}

  nav{
    position:fixed;top:0;left:0;right:0;z-index:100;
    color:#fff;transition:.35s ease;
  }
  nav.scrolled{
    background:rgba(250,250,248,.96);
    backdrop-filter:blur(16px);
    border-bottom:1px solid var(--line);
    color:var(--ink);
  }
  .nav-inner{
    max-width:1480px;margin:0 auto;padding:22px 40px;
    display:grid;grid-template-columns:auto 1fr auto;gap:40px;align-items:center;
  }
  .logo{font-family:'Archivo',sans-serif;font-size:22px;font-weight:800;letter-spacing:-.02em;color:inherit;text-decoration:none;}
  .logo span{color:var(--accent);}
  .nav-links{display:flex;gap:28px;list-style:none;margin-left:22px;}
  .nav-links a{text-decoration:none;color:inherit;font-size:13px;font-weight:500;opacity:.86;}
  .nav-right{display:flex;gap:14px;align-items:center;}
  .ghost-link{font-size:12px;opacity:.8;text-decoration:none;color:inherit;}
  .cta-btn,.btn-primary,.btn-secondary,.btn-dark,.small-chip{
    font-family:'Archivo',sans-serif;font-weight:600;letter-spacing:.12em;text-transform:uppercase;border:none;cursor:pointer;
  }
  .cta-btn{padding:12px 20px;background:var(--accent);color:#fff;font-size:11px;}
  .cta-btn:hover{background:#dd4934;}
  nav.scrolled .cta-btn{background:var(--ink);}

  .hero{
    position:relative;min-height:100vh;color:#fff;overflow:hidden;
  }
  .hero-bg{
    position:absolute;inset:0;
    background-image:url('../../../public/assets/images/hero-factory-poster.jpg');
    background-size:cover;background-position:center;transform:scale(1.04);
  }
  /* Hero video — covers the bg image when a src is provided. Falls back to image if video fails or user prefers reduced motion. */
  .hero-video{
    position:absolute;inset:0;width:100%;height:100%;
    object-fit:cover;object-position:center;
    z-index:0;display:none;
  }
  .hero-video.is-active{display:block;}
  /* Reduced motion: respect user preference, use static image */
  @media (prefers-reduced-motion: reduce){
    .hero-video{display:none !important;}
  }
  .hero::before{
    content:'';position:absolute;inset:0;
    background:linear-gradient(180deg,rgba(10,10,10,.46) 0%, rgba(10,10,10,.25) 28%, rgba(10,10,10,.78) 85%, rgba(10,10,10,.92) 100%);
    z-index:1;
  }
  .hero-content{
    position:relative;z-index:2;max-width:1480px;margin:0 auto;
    padding:0 40px 90px;min-height:100vh;display:flex;flex-direction:column;justify-content:flex-end;
  }
  .hero-meta{display:flex;gap:18px;flex-wrap:wrap;align-items:center;margin-bottom:28px;font-family:'Archivo',sans-serif;font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;opacity:.88;}
  .hero-meta .dot{width:5px;height:5px;border-radius:50%;background:var(--accent);}
  .hero-headline{font-size:clamp(56px,8.8vw,148px);max-width:1120px;margin-bottom:28px;}
  .hero-headline strong{font-weight:800;color:#fff;}
  .hero-headline .accent{color:var(--accent);font-style:italic;font-weight:800;}
  .hero-sub{max-width:660px;font-size:19px;line-height:1.65;opacity:.94;margin-bottom:34px;}
  .hero-mini{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:38px;}
  .small-chip{padding:10px 14px;border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.06);color:#fff;font-size:10px;}
  .hero-ctas{display:flex;gap:14px;flex-wrap:wrap;}
  .btn-primary{padding:18px 30px;background:#fff;color:var(--ink);font-size:12px;display:inline-flex;align-items:center;gap:10px;}
  .btn-primary:hover{background:var(--accent);color:#fff;}
  .btn-secondary{padding:18px 30px;background:transparent;color:#fff;border:1px solid rgba(255,255,255,.34);font-size:12px;}
  .btn-secondary:hover{background:#fff;color:var(--ink);}
  .hero-stats{
    position:absolute;left:0;right:0;bottom:0;z-index:3;
    background:rgba(10,10,10,.52);backdrop-filter:blur(18px);border-top:1px solid rgba(255,255,255,.1);
  }
  .hero-stats-inner{max-width:1480px;margin:0 auto;padding:0 40px;display:grid;grid-template-columns:repeat(4,1fr);}
  .hero-stat{padding:26px 28px;border-right:1px solid rgba(255,255,255,.1);display:flex;align-items:center;gap:16px;}
  .hero-stat:last-child{border-right:none;}
  .hero-stat .k{font-family:'Archivo',sans-serif;font-size:40px;font-weight:700;line-height:1;}
  .hero-stat .v{font-size:11px;text-transform:uppercase;letter-spacing:.11em;color:rgba(255,255,255,.68);font-family:'Archivo',sans-serif;}

  
  .scroll-ind{
    position:absolute;right:40px;bottom:120px;z-index:3;
    writing-mode:vertical-rl;transform:rotate(180deg);
    font-family:'Archivo',sans-serif;font-size:10px;font-weight:600;
    letter-spacing:.28em;text-transform:uppercase;color:rgba(255,255,255,.6);
    display:flex;align-items:center;gap:16px;
  }
  .scroll-ind::after{
    content:'';width:1px;height:40px;background:rgba(255,255,255,.3);
    animation:pulse 2.5s ease-in-out infinite;
  }
  @keyframes pulse{0%,100%{opacity:.2;transform:scaleY(.5);}50%{opacity:1;transform:scaleY(1);}}

  /* section{} and .container{} base rules are defined once in the SECTION BASE block below */
  .sec-head{display:grid;grid-template-columns:1fr 1.2fr;gap:64px;align-items:end;margin-bottom:64px;}
  .sec-head h2{font-family:'Archivo',sans-serif;font-size:clamp(44px,6vw,92px);font-weight:300;line-height:.92;letter-spacing:-.035em;}
  .sec-head h2 strong{font-weight:800;}
  .sec-head h2 .accent{color:var(--accent);font-weight:800;}
  .sec-head p{max-width:560px;color:var(--muted);font-size:17px;line-height:1.7;}


  .caps{background:var(--bg-2);}
  .caps-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);}
  .cap-cell{padding:48px 28px 42px 0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:360px;display:flex;flex-direction:column;justify-content:space-between;transition:.3s ease;}
  .cap-cell:last-child{border-right:none;}
  .cap-cell:hover{background:var(--ink);color:#fff;padding-left:28px;padding-right:28px;}
  .cap-num{font-family:'Archivo',sans-serif;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);}
  .cap-cell:hover .cap-num{color:var(--accent);}
  .cap-cell h3{font-family:'Archivo',sans-serif;font-size:32px;font-weight:700;letter-spacing:-.02em;line-height:1;margin:70px 0 14px;}
  .cap-cell p{font-size:14px;line-height:1.7;opacity:.82;}
  .cap-spec{padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;align-items:baseline;}
  .cap-spec span{font-size:11px;color:var(--muted);letter-spacing:.11em;text-transform:uppercase;}
  .cap-spec strong{font-family:'Archivo',sans-serif;font-size:18px;font-weight:700;}

  .categories-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px;}
  .cat-card{position:relative;overflow:hidden;min-height:320px;}
  .cat-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s ease;}
  .cat-card:hover img{transform:scale(1.05);}
  .cat-card::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 42%,rgba(10,10,10,.8));}
  .cat-info{position:absolute;left:24px;right:24px;bottom:24px;z-index:2;color:#fff;}
  .cat-info .series{font-family:'Archivo',sans-serif;font-size:10px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.7);margin-bottom:10px;}
  .cat-info h4{font-family:'Archivo',sans-serif;font-size:30px;font-weight:700;letter-spacing:-.02em;margin-bottom:10px;}
  .cat-info p{font-size:13px;color:rgba(255,255,255,.82);max-width:420px;line-height:1.6;}
  .cat-1{grid-column:span 7;}
  .cat-2{grid-column:span 5;}
  .cat-3,.cat-4,.cat-5{grid-column:span 4;}
  .cat-6{grid-column:span 12;min-height:260px;}

  .services{background:var(--ink);color:#fff;}
  .services .sec-head h2,.process .sec-head h2,.faq .sec-head h2,.contact-section .sec-head h2{color:#fff;}
  .services .sec-head p,.process .sec-head p,.faq .sec-head p,.contact-section .sec-head p{color:var(--muted-2);}
  .service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
  .service-card{background:#101010;padding:34px;border:1px solid #222;min-height:280px;display:flex;flex-direction:column;justify-content:space-between;}
  .service-card h3{font-family:'Archivo',sans-serif;font-size:26px;font-weight:700;line-height:1.05;letter-spacing:-.02em;}
  .service-card p{font-size:14px;color:#b7b7b2;line-height:1.7;margin:16px 0 22px;}
  .service-card ul{list-style:none;display:grid;gap:10px;}
  .service-card li{font-size:12px;color:#ecece7;text-transform:uppercase;letter-spacing:.08em;border-top:1px solid #272727;padding-top:10px;}

  .craft-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px;}
  .craft-card{position:relative;overflow:hidden;min-height:280px;}
  .craft-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s ease;}
  .craft-card:hover img{transform:scale(1.04);}
  .craft-card::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(0,0,0,.88));}
  .craft-info{position:absolute;left:22px;right:22px;bottom:22px;z-index:2;color:#fff;}
  .craft-info .tech{font-family:'Archivo',sans-serif;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:8px;}
  .craft-info h4{font-family:'Archivo',sans-serif;font-size:21px;font-weight:700;letter-spacing:-.01em;margin-bottom:6px;}
  .craft-info p{font-size:12px;color:rgba(255,255,255,.76);line-height:1.6;}
  .craft-1{grid-column:span 5;}
  .craft-2{grid-column:span 4;}
  .craft-3{grid-column:span 3;}
  .craft-4,.craft-5,.craft-6{grid-column:span 4;}

  .process{background:var(--ink);color:#fff;}
  .proc-grid{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid #292929;}
  .proc-step{padding:50px 24px 68px 0;border-right:1px solid #292929;min-height:340px;position:relative;transition:.3s ease;}
  .proc-step:last-child{border-right:none;}
  .proc-step:hover{background:#111;padding-left:24px;}
  .proc-step .num{font-family:'Archivo',sans-serif;font-size:58px;font-weight:200;line-height:1;letter-spacing:-.04em;margin-bottom:28px;display:inline-block;position:relative;}
  .proc-step .num::after{content:'';position:absolute;left:0;bottom:-8px;width:28px;height:2px;background:var(--accent);}
  .proc-step h4{font-family:'Archivo',sans-serif;font-size:22px;font-weight:700;letter-spacing:-.01em;margin-bottom:14px;}
  .proc-step p{font-size:13px;color:#b6b6b0;line-height:1.7;}
  .proc-step .time{position:absolute;left:0;bottom:24px;font-family:'Archivo',sans-serif;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--accent);border:1px solid #303030;padding:8px 12px;}
  .proc-step:hover .time{left:24px;border-color:var(--accent);}

  .faq{background:#111;color:#fff;}
  .faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
  .faq-item{background:#171717;border:1px solid #282828;padding:28px;}
  .faq-item h4{font-family:'Archivo',sans-serif;font-size:24px;font-weight:700;letter-spacing:-.02em;line-height:1.1;margin-bottom:12px;}
  .faq-item p{font-size:14px;color:#bcbcb7;line-height:1.75;}

  .contact-inner{display:grid;grid-template-columns:1fr 1fr;gap:68px;align-items:start;}
  .contact-actions{display:grid;gap:16px;margin:34px 0 42px;max-width:520px;}
  .contact-action{padding:18px 20px;border:1px solid #2b2b2b;background:#111;display:flex;justify-content:space-between;gap:16px;align-items:center;}
  .contact-action strong{font-family:'Archivo',sans-serif;font-size:16px;font-weight:700;letter-spacing:-.01em;}
  .contact-action span{font-size:12px;color:#b9b9b3;text-transform:uppercase;letter-spacing:.11em;}
  .contact-info{padding-top:28px;border-top:1px solid #2b2b2b;display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:520px;}
  .contact-info .item small{display:block;font-family:'Archivo',sans-serif;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:10px;}
  .contact-info .item div{font-size:15px;color:#fff;line-height:1.7;}
  .contact-form{background:#f8f7f3;color:var(--ink);padding:42px;border:1px solid var(--line);}
  /* ═══ Two-step RFQ form UI ═══ */
  .contact-form-2step .rfq-progress{
    display:flex;align-items:center;gap:12px;margin-bottom:24px;
    font-family:'Archivo',sans-serif;font-size:11px;font-weight:700;
    letter-spacing:.12em;text-transform:uppercase;
  }
  .contact-form-2step .rfq-step{color:var(--muted-2);transition:color .25s ease;white-space:nowrap;}
  .contact-form-2step .rfq-step.is-active{color:var(--ink);}
  .contact-form-2step .rfq-bar{
    flex:1;height:2px;background:var(--line);position:relative;
  }
  .contact-form-2step .rfq-bar-fill{
    position:absolute;left:0;top:0;height:100%;background:var(--accent);
    width:50%;transition:width .35s ease;
  }
  .contact-form-2step .rfq-step-panel{display:none;}
  .contact-form-2step .rfq-step-panel.is-active{display:block;}
  .contact-form-2step .rfq-step-lead{
    font-size:13px;color:var(--muted);margin-bottom:18px;line-height:1.55;
  }
  .contact-form-2step .req{color:var(--accent);}
  .contact-form-2step .rfq-final-row{
    display:flex;gap:12px;align-items:center;margin-top:8px;
  }
  .contact-form-2step .rfq-final-row .btn-submit,
  .contact-form-2step .rfq-final-row .btn-back{
    min-height:54px;display:inline-flex;align-items:center;justify-content:center;
    box-sizing:border-box;line-height:1;
  }
  .contact-form-2step .btn-back{
    flex:0 0 132px;padding:18px 22px;background:transparent;color:var(--muted);
    border:1px solid var(--line);cursor:pointer;
    font-family:'Archivo',sans-serif;font-size:11px;font-weight:700;
    letter-spacing:.14em;text-transform:uppercase;
    transition:color .2s ease,border-color .2s ease;
  }
  .contact-form-2step .btn-back:hover{color:var(--ink);border-color:var(--ink);}
  .contact-form-2step .rfq-final-row .btn-submit{flex:1;}
  @media (max-width:560px){
    .contact-form-2step .rfq-progress{font-size:10px;gap:8px;}
    .contact-form-2step .rfq-final-row{flex-direction:column-reverse;align-items:stretch;}
    .contact-form-2step .btn-back{width:100%;}
  }

  .contact-form .label{margin-bottom:24px;}
  .form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px;}
  .form-row.full{grid-template-columns:1fr;}
  .form-row label{display:block;font-family:'Archivo',sans-serif;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;}
  .form-row input,.form-row textarea,.form-row select{width:100%;padding:15px 16px;border:1px solid var(--line);background:#fff;font-family:'Inter',sans-serif;font-size:14px;outline:none;}
  .form-row textarea{min-height:110px;resize:vertical;}
  .btn-dark{width:100%;padding:18px;background:var(--ink);color:#fff;font-size:12px;margin-top:8px;}
  .btn-dark:hover{background:var(--accent);}
  .form-note{margin-top:14px;font-size:12px;color:var(--muted);line-height:1.7;}

  footer{background:#0b0b0b;color:#fff;padding:78px 0 34px;}
  .foot-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:44px;padding-bottom:54px;border-bottom:1px solid #262626;}
  .foot-logo{font-family:'Archivo',sans-serif;font-size:30px;font-weight:800;letter-spacing:-.02em;margin-bottom:20px;}
  .foot-logo span{color:var(--accent);}
  .foot-desc{font-size:13px;color:#b8b8b1;max-width:360px;line-height:1.8;margin-bottom:18px;}
  .foot-top h5{font-family:'Archivo',sans-serif;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#8d8d87;margin-bottom:18px;}
  .foot-top ul{list-style:none;display:grid;gap:10px;}
  .foot-top a,.foot-top li{font-size:13px;color:#d7d7d1;text-decoration:none;}
  .foot-bot{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;padding-top:24px;font-size:11px;color:#8f8f89;}
  .foot-legal{padding-top:14px;font-size:11px;color:#8f8f89;display:flex;gap:10px;flex-wrap:wrap;align-items:center;}
  .foot-legal a{color:#8f8f89;text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s;}
  .foot-legal a:hover{border-bottom-color:#c8372a;color:#c8372a;}
  .foot-legal .sep{opacity:.5;}

  @media (max-width: 1100px){
    .nav-inner,.container,.hero-content,.hero-stats-inner{padding-left:24px;padding-right:24px;}
    .nav-inner{grid-template-columns:auto auto;}
    .nav-links{display:none;}
    .sec-head,.contact-inner{grid-template-columns:1fr;gap:24px;}
    .hero-stats-inner{grid-template-columns:1fr 1fr;}
    .caps-grid,.service-grid,.faq-grid,.trust-grid{grid-template-columns:1fr 1fr;}
    .cats-grid,.craft-grid{grid-template-columns:1fr;}
    .cat-1,.cat-2,.cat-3,.cat-4,.cat-5,.cat-6,.craft-1,.craft-2,.craft-3,.craft-4,.craft-5,.craft-6{grid-column:span 1;}
    .proc-grid{grid-template-columns:1fr;}
    .proc-step{border-right:none;border-bottom:1px solid #292929;min-height:auto;}
    .foot-top{grid-template-columns:1fr 1fr;}
  }
  @media (max-width: 720px){
    section{padding:60px 0;}
    .hero-content{padding-bottom:170px;}
    .hero-sub{font-size:17px;}
    .hero-stats-inner,.caps-grid,.service-grid,.faq-grid,.trust-grid,.contact-info,.form-row,.foot-top{grid-template-columns:1fr;}
    .hero-stat{border-right:none;border-bottom:1px solid rgba(255,255,255,.1);}
    .hero-stat:last-child{border-bottom:none;}
    .contact-form{padding:28px;}
  }



/* ═══════════ UNIQUE SECTION STYLES ═══════════ */

  /* ══ SECTION BASE ══ */
  section{padding:140px 0;}
  .container{max-width:1560px; margin:0 auto; padding:0 48px;}
  .sec-head{
    display:grid; grid-template-columns:1fr 1.4fr; gap:80px;
    margin-bottom:80px; align-items:end;
  }
  .sec-head h2{
    font-family:'Archivo',sans-serif; font-weight:300;
    font-size:clamp(48px,6vw,96px); line-height:0.9;
    letter-spacing:-0.035em;
  }
  .sec-head h2 .bold-accent{font-weight:800; color:var(--accent);}
  .sec-head h2 strong{font-weight:800;}
  .sec-head .label{margin-bottom:24px;}
  .sec-head p{
    font-size:17px; color:var(--muted); max-width:520px; line-height:1.65;
  }

  /* ══ CLIENT CASES (replacing logo wall) ══ */
  .trust{padding:120px 0 80px;}
  .trust-head{
    display:flex; justify-content:space-between; align-items:baseline;
    margin-bottom:56px; flex-wrap:wrap; gap:20px;
  }
  .trust-head h3{
    font-family:'Archivo',sans-serif; font-size:28px;
    font-weight:500; letter-spacing:-0.01em; max-width:700px;
    line-height:1.15;
  }
  .trust-head h3 .bold-accent{font-weight:800; color:var(--accent);}
  .trust-head .meta{font-size:12px; color:var(--muted); letter-spacing:0.1em; text-transform:uppercase;}
  .cases-grid{
    display:grid; grid-template-columns:repeat(3,1fr); gap:24px;
  }
  .case-card{
    position:relative; cursor:pointer;
    transition:transform 0.4s ease;
  }
  .case-card:hover{transform:translateY(-4px);}
  .case-card .img{
    aspect-ratio:4/5; background-size:cover; background-position:center;
    margin-bottom:20px; overflow:hidden; position:relative;
  }
  .case-card .img::after{
    content:''; position:absolute; inset:0;
    background:linear-gradient(180deg, transparent 60%, rgba(10,10,10,0.4));
  }
  .case-card .img .num{
    position:absolute; top:16px; left:16px; z-index:2;
    font-family:'Archivo',sans-serif; font-size:10px; font-weight:600;
    letter-spacing:0.14em; text-transform:uppercase; color:#fff;
    background:rgba(10,10,10,0.5); padding:6px 10px; backdrop-filter:blur(6px);
  }
  .case-card .brand{
    font-family:'Archivo',sans-serif; font-size:18px; font-weight:700;
    letter-spacing:-0.01em; margin-bottom:6px;
  }
  .case-card .loc{
    font-size:12px; color:var(--muted); letter-spacing:0.04em;
    margin-bottom:12px;
  }
  .case-card .desc{
    font-size:13px; color:var(--muted); line-height:1.55;
    padding-top:12px; border-top:1px solid var(--line);
  }

  /* ══ CLIENT TRUST BAR (marquee, liquid hover on pause) ══ */
.client-wall{
  position:relative;
  background:var(--ink);
  padding:40px 0 44px;
  overflow:hidden;
  box-shadow:
    inset 0 4px 8px -4px rgba(200,55,42,.18),
    inset 0 -4px 8px -4px rgba(200,55,42,.12);
}
.client-wall::before{
  content:'';
  position:absolute;
  inset:0;
  background:radial-gradient(ellipse 1100px 300px at 50% 50%, rgba(200,55,42,.08), transparent 70%);
  pointer-events:none;
}
.client-wall .container{position:relative; z-index:2; max-width:1280px; margin:0 auto; padding:0 40px;}

.cw-label{
  position:relative; z-index:3;
  text-align:center;
  margin-bottom:28px;
  padding:0 20px;
}
.cw-label-title{
  display:block;
  font-family:'Archivo',sans-serif;
  font-size:11px;
  font-weight:700;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:var(--accent);
}
.cw-label-title .cw-sep{
  display:inline-block;
  width:40px; height:1px;
  background:linear-gradient(90deg, transparent, rgba(200,55,42,.55), transparent);
  vertical-align:middle;
  margin:0 20px;
}
.cw-label-sub{
  display:block;
  margin-top:12px;
  font-family:'Inter',sans-serif;
  font-size:13px;
  font-weight:400;
  letter-spacing:.02em;
  color:rgba(255,255,255,.38);
}
.cw-label-sub strong{
  color:rgba(255,255,255,.72);
  font-weight:600;
}

.cw-marquee{
  position:relative;
  z-index:2;
  overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg, transparent 0%, #000 8%, #000 92%, transparent 100%);
          mask-image:linear-gradient(90deg, transparent 0%, #000 8%, #000 92%, transparent 100%);
}
.cw-track{
  display:flex;
  width:max-content;
  animation:cw-scroll 50s linear infinite;
  will-change:transform;
}
.cw-marquee:hover .cw-track{animation-play-state:paused;}

@keyframes cw-scroll{
  from{transform:translate3d(0,0,0);}
  to{transform:translate3d(-50%,0,0);}
}

.cw-cell{
  flex:0 0 auto;
  width:220px;
  height:90px;
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  overflow:hidden;
}
.cw-cell::after{
  content:'';
  position:absolute;
  top:22%; right:0; bottom:22%;
  width:1px;
  background:linear-gradient(180deg,
    transparent 0%,
    rgba(200,55,42,.12) 30%,
    rgba(200,55,42,.2) 50%,
    rgba(200,55,42,.12) 70%,
    transparent 100%);
  pointer-events:none;
}
.cw-cell::before{
  content:'';
  position:absolute;
  inset:0;
  background:radial-gradient(ellipse 140% 80% at 50% 100%,
    rgba(200,55,42,.16) 0%,
    rgba(200,55,42,.05) 40%,
    transparent 70%);
  opacity:0;
  transition:opacity .7s cubic-bezier(.25,.8,.25,1);
  pointer-events:none;
}
.cw-cell:hover::before{opacity:1;}
.cw-cell:hover .logo-text{color:#ede9e1; letter-spacing:.2em;}
.cw-cell:hover img{opacity:.92; filter:grayscale(0) brightness(1.05);}

.logo-text{
  font-family:'Archivo',sans-serif;
  font-size:14px;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#5e5e5a;
  transition:color .55s ease, letter-spacing .55s cubic-bezier(.25,.8,.25,1);
  text-align:center;
  padding:0 14px;
  line-height:1.25;
  position:relative; z-index:2;
  white-space:nowrap;
}
.cw-cell img{
  max-width:140px;
  max-height:40px;
  object-fit:contain;
  opacity:.45;
  filter:grayscale(1) brightness(1.6);
  transition:opacity .55s ease, filter .55s ease;
  position:relative; z-index:2;
}

@media(prefers-reduced-motion:reduce){
  .cw-track{animation:none;}
}
@media(max-width:780px){
  .client-wall{padding:32px 0 36px;}
  .cw-cell{width:180px; height:80px;}
  .logo-text{font-size:12px; letter-spacing:.16em;}
  .cw-label-title{letter-spacing:.2em;}
  .cw-label-sub{font-size:12px;}
  .cw-track{animation-duration:38s;}
}

/* ══ CERTIFICATIONS BAND ══ */
  .cert-band{
    padding:64px 48px; background:var(--ink); color:#fff;
  }
  .cert-inner{
    max-width:1560px; margin:0 auto;
  }
  .cert-head{
    display:flex; justify-content:space-between; align-items:flex-end;
    margin-bottom:36px; gap:40px; flex-wrap:wrap;
  }
  .cert-head .label{color:var(--muted-2);}
  .cert-head h3{
    font-family:'Archivo',sans-serif; font-size:28px; font-weight:300;
    line-height:1.15; letter-spacing:-0.01em; max-width:540px;
  }
  .cert-head h3 strong{font-weight:800;}
  .cert-head p{font-size:13px; color:var(--muted-2); max-width:380px; line-height:1.6;}
  .cert-band-grid{
    display:grid; grid-template-columns:repeat(4,1fr); gap:16px;
  }
  .cert-band-card{
    background:rgba(255,255,255,0.04);
    border:1px solid rgba(255,255,255,0.1);
    padding:24px;
    display:flex; flex-direction:column; gap:12px;
    transition:background 0.2s, border-color 0.2s;
  }
  .cert-band-card:hover{
    background:rgba(255,255,255,0.07);
    border-color:rgba(255,255,255,0.2);
  }
  .cert-band-card .cert-band-logo-slot{
    width:56px; height:56px;
    background:rgba(255,255,255,0.08);
    border:1px dashed rgba(255,255,255,0.2);
    display:flex; align-items:center; justify-content:center;
    font-size:10px; color:var(--muted-2);
    text-align:center; line-height:1.2;
  }
  .cert-band-card .cert-band-logo-slot img{max-width:80%; max-height:80%; object-fit:contain;}
  .cert-band-card h4{
    font-family:'Archivo',sans-serif; font-size:16px;
    font-weight:700; letter-spacing:-0.005em;
  }
  .cert-band-card p{font-size:12px; color:var(--muted-2); line-height:1.55;}
  @media (max-width:980px){
    .cert-band-grid{grid-template-columns:repeat(2,1fr);}
  }
  @media (max-width:560px){
    .cert-band-grid{grid-template-columns:1fr;}
  }

  /* ══ CAPABILITIES ══ */
  .caps{background:var(--bg-2);}
  .caps-grid{
    display:grid; grid-template-columns:repeat(4,1fr);
    border-top:1px solid var(--line);
  }
  .cap-cell{
    padding:52px 32px 52px 0; border-right:1px solid var(--line);
    border-bottom:1px solid var(--line);
    min-height:380px; display:flex; flex-direction:column;
    justify-content:space-between; transition:0.4s cubic-bezier(.2,.7,.2,1);
    position:relative;
  }
  .cap-cell:last-child{border-right:none;}
  .cap-cell:hover{background:var(--ink); color:#fff; padding-left:32px; padding-right:32px;}
  .cap-cell:hover .cap-num{color:var(--accent);}
  .cap-cell:hover .cap-spec{border-color:#333;}
  .cap-cell:hover .cap-spec span{color:var(--muted-2);}
  .cap-num{
    font-family:'Archivo',sans-serif; font-size:12px; font-weight:600;
    color:var(--muted); letter-spacing:0.16em; transition:color 0.3s;
  }
  .cap-cell h3{
    font-family:'Archivo',sans-serif; font-size:34px;
    font-weight:700; line-height:1; letter-spacing:-0.025em;
    margin:80px 0 16px;
  }
  .cap-cell p{font-size:14px; line-height:1.6; opacity:0.75; margin-bottom:32px;}
  .cap-spec{
    padding-top:24px; border-top:1px solid var(--line);
    display:flex; justify-content:space-between; align-items:baseline;
    transition:border-color 0.3s;
  }
  .cap-spec span{
    font-size:11px; color:var(--muted); letter-spacing:0.1em;
    text-transform:uppercase; font-weight:500;
  }
  .cap-spec strong{
    font-family:'Archivo',sans-serif; font-size:18px;
    font-weight:700; letter-spacing:-0.01em;
  }

  /* ══ CRAFT / CONSTRUCTION (NEW) ══ */
  .craft{background:#171717; color:#fff;}
  .craft .sec-head h2{color:#fff;}
  .craft .sec-head p{color:var(--muted-2);}
  .craft-grid{
    display:grid; grid-template-columns:repeat(12,1fr); gap:16px;
  }
  .craft-cell{
    position:relative; overflow:hidden; cursor:pointer;
  }
  .craft-cell img{
    width:100%; height:100%; object-fit:cover;
    transition:transform 0.8s ease;
  }
  .craft-cell:hover img{transform:scale(1.04);}
  .craft-cell::after{
    content:''; position:absolute; inset:0;
    background:linear-gradient(180deg, transparent 50%, rgba(0,0,0,0.85));
  }
  .craft-info{
    position:absolute; bottom:24px; left:24px; right:24px; z-index:2;
  }
  .craft-info .tech{
    font-family:'Archivo',sans-serif; font-size:10px; font-weight:600;
    letter-spacing:0.14em; text-transform:uppercase; color:var(--accent);
    margin-bottom:8px;
  }
  .craft-info h4{
    font-family:'Archivo',sans-serif; font-size:20px; font-weight:700;
    letter-spacing:-0.01em; margin-bottom:4px;
  }
  .craft-info .desc{
    font-size:12px; color:rgba(255,255,255,0.7); line-height:1.5;
  }
  .craft-1{grid-column:span 5; aspect-ratio:4/5;}
  .craft-2{grid-column:span 4; aspect-ratio:1/1;}
  .craft-3{grid-column:span 3; aspect-ratio:3/4;}
  .craft-4{grid-column:span 4; aspect-ratio:4/3;}
  .craft-5{grid-column:span 4; aspect-ratio:4/3;}
  .craft-6{grid-column:span 4; aspect-ratio:4/3;}

  /* ══ PRODUCT CATEGORIES ══ */
  .cats-grid{
    display:grid; grid-template-columns:repeat(12,1fr); gap:16px;
  }
  .cat-card{
    position:relative; overflow:hidden; cursor:pointer;
    transition:transform .6s cubic-bezier(.25,.8,.25,1),
               box-shadow .6s cubic-bezier(.25,.8,.25,1);
  }
  .cat-card:hover{
    transform:translateY(-6px);
    box-shadow:0 24px 60px -20px rgba(0,0,0,.35),
               0 8px 16px -8px rgba(200,55,42,.15);
  }
  .cat-card .main-img{
    width:100%; height:100%; object-fit:cover; object-position:center top;
    transition:transform 1s cubic-bezier(.25,.8,.25,1),
               filter .6s ease;
    will-change:transform;
  }
  .cat-card:hover .main-img{
    transform:scale(1.08);
    filter:brightness(1.08) saturate(1.08);
  }
  .cat-card::after{
    content:''; position:absolute; inset:0;
    background:linear-gradient(180deg, transparent 42%, rgba(10,10,10,0.82) 100%);
    transition:background .5s ease;
  }
  .cat-card:hover::after{
    background:linear-gradient(180deg, transparent 35%, rgba(10,10,10,0.88) 100%);
  }
  .cat-card::before{
    content:'';
    position:absolute;
    left:0; bottom:0;
    width:0; height:2px;
    background:var(--accent);
    transition:width .8s cubic-bezier(.25,.8,.25,1);
    z-index:3;
  }
  .cat-card:hover::before{width:100%;}
  .cat-info{
    position:absolute; bottom:28px; left:28px; right:28px; z-index:2; color:#fff;
    transition:transform .6s cubic-bezier(.25,.8,.25,1);
  }
  .cat-card:hover .cat-info{transform:translateY(-4px);}
  .cat-info .series{
    font-family:'Archivo',sans-serif; font-size:10px; font-weight:600;
    letter-spacing:0.16em; text-transform:uppercase;
    color:rgba(255,255,255,0.7); margin-bottom:10px;
  }
  .cat-info h4{
    font-family:'Archivo',sans-serif; font-size:28px; font-weight:700;
    letter-spacing:-0.02em; margin-bottom:8px;
  }
  .cat-info .meta{
    display:flex; justify-content:space-between; align-items:baseline;
    padding-top:12px; border-top:1px solid rgba(255,255,255,0.2);
    font-size:12px; color:rgba(255,255,255,0.8);
  }
  .cat-info .meta .arrow{
    opacity:0.7; transition:0.3s;
  }
  .cat-card:hover .cat-info .meta .arrow{opacity:1; transform:translateX(4px);}
  .cat-1{grid-column:span 7; aspect-ratio:16/10;}
  .cat-2{grid-column:span 5; aspect-ratio:8/10;}
  .cat-3{grid-column:span 4; aspect-ratio:4/5;}
  .cat-4{grid-column:span 4; aspect-ratio:4/5;}
  .cat-5{grid-column:span 4; aspect-ratio:4/5;}
  .cat-6{grid-column:span 12; aspect-ratio:24/8;}

  /* ══ BIG NUMBERS (NEW — dramatic) ══ */
  .big-numbers{
    background:var(--ink); color:#fff; padding:160px 0;
    position:relative; overflow:hidden;
  }
  .big-numbers::before{
    content:''; position:absolute; inset:0;
    background-image:
      linear-gradient(rgba(255,255,255,0.02) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255,255,255,0.02) 1px, transparent 1px);
    background-size:80px 80px;
  }
  .big-numbers .container{position:relative;}
  .big-numbers .sec-head h2{color:#fff;}
  .big-numbers .sec-head p{color:var(--muted-2);}
  .big-nums-grid{
    display:grid; grid-template-columns:repeat(2,1fr);
    gap:2px; background:#1a1a1a;
    border:1px solid #1a1a1a;
  }
  .big-num{
    padding:80px 60px; background:var(--ink);
    position:relative; overflow:hidden;
    transition:background 0.4s;
  }
  .big-num:hover{background:#0f0f0f;}
  .big-num .idx{
    font-family:'Archivo',sans-serif; font-size:11px; font-weight:600;
    letter-spacing:0.18em; text-transform:uppercase; color:var(--accent);
    margin-bottom:32px; display:block;
  }
  .big-num .val{
    font-family:'Archivo',sans-serif; font-weight:200;
    font-size:clamp(100px,16vw,240px); line-height:0.85;
    letter-spacing:-0.05em; color:#fff;
    display:flex; align-items:baseline;
  }
  .big-num .val .unit{
    font-size:0.22em; font-weight:600; letter-spacing:0.06em;
    text-transform:uppercase; margin-left:14px;
    color:var(--muted-2); align-self:center;
  }
  .big-num .caption{
    margin-top:40px; max-width:400px;
    font-size:15px; color:var(--muted-2); line-height:1.6;
    padding-top:24px; border-top:1px solid #2a2a2a;
  }
  .big-num .caption strong{color:#fff; font-weight:600;}

  /* ══ SPECS TABLE ══ */
  .specs{background:var(--bg-2);}
  .spec-table{}
  .spec-row{
    display:grid; grid-template-columns:200px 1fr 1fr 1fr;
    gap:40px; padding:40px 0;
    border-bottom:1px solid var(--line);
    align-items:start;
  }
  .spec-row:first-child{border-top:1px solid var(--line);}
  .spec-row .spec-label{
    font-family:'Archivo',sans-serif; font-size:12px; font-weight:600;
    letter-spacing:0.12em; text-transform:uppercase; color:var(--accent);
  }
  .spec-val{
    font-family:'Archivo',sans-serif; font-size:22px; font-weight:700;
    color:var(--ink); line-height:1.25; letter-spacing:-0.015em;
  }
  .spec-val small{
    display:block; font-family:'Inter',sans-serif; font-size:13px;
    font-weight:400; color:var(--muted); margin-top:8px; letter-spacing:0;
  }

  /* ══ CASE STUDIES DETAIL (auto-scrolling marquee) ══ */
  section.case{background:var(--bg-2); overflow:hidden; padding:128px 0;}
  section.case .sec-head{margin-bottom:60px;}
  section.case .detail-grid{
    display:flex;
    flex-direction:row;
    flex-wrap:nowrap;
    gap:28px;
    width:max-content;
    animation:scroll-details 50s linear infinite;
    padding:8px 0;
  }
  section.case .detail-grid:hover{animation-play-state:paused;}
  section.case .detail-card{
    flex:0 0 460px;
    width:460px;
    background:#fff;
    border:1px solid var(--line);
    display:flex;
    flex-direction:column;
    box-shadow:0 2px 12px rgba(10,10,10,0.04);
  }
  @keyframes scroll-details{
    0%{transform:translateX(0);}
    100%{transform:translateX(calc(-50% - 14px));}
  }
  section.case .detail-card .img{
    width:100% !important;
    height:300px !important;
    background-size:cover !important;
    background-position:center !important;
    position:relative !important;
    flex-shrink:0 !important;
  }
  section.case .detail-card .img .tag{
    position:absolute; top:18px; left:18px;
    background:#fff; padding:9px 14px;
    font-family:'Archivo',sans-serif; font-size:10px;
    font-weight:700; letter-spacing:0.14em; text-transform:uppercase;
    color:#0a0a0a;
  }
  section.case .detail-card .img .tag span{color:var(--accent);}
  section.case .detail-card .body{
    padding:32px 28px;
    display:flex;
    flex-direction:column;
    flex:1;
  }
  section.case .detail-card h3{
    font-family:'Archivo',sans-serif; font-size:22px; font-weight:800;
    line-height:1.15; letter-spacing:-0.02em; margin-bottom:16px;
    color:#0a0a0a;
  }
  section.case .detail-card .quote{
    font-size:14px; line-height:1.7; color:var(--muted);
    margin-bottom:24px; padding-left:14px;
    border-left:2px solid var(--accent); flex:1;
  }
  section.case .detail-card .attr{
    display:flex; align-items:center; gap:12px;
    padding-top:20px; border-top:1px solid var(--line);
    margin-bottom:20px;
  }
  section.case .detail-card .attr .avatar{
    width:42px; height:42px; border-radius:50%;
    background:var(--bg-3); background-size:cover; background-position:center;
    flex-shrink:0;
  }
  section.case .detail-card .attr .who strong{
    display:block; font-family:'Archivo',sans-serif; font-size:13px;
    font-weight:700; margin-bottom:2px;
  }
  section.case .detail-card .attr .who span{font-size:11px; color:var(--muted);}
  section.case .detail-card .stats{
    display:grid; grid-template-columns:repeat(3,1fr); gap:12px;
    padding-top:20px; border-top:1px solid var(--line);
  }
  section.case .detail-card .stats > div{text-align:left;}
  section.case .detail-card .stats .k{
    font-family:'Archivo',sans-serif; font-size:24px; font-weight:800;
    line-height:1; letter-spacing:-0.02em; color:var(--accent);
  }
  section.case .detail-card .stats .v{
    font-size:9px; text-transform:uppercase; color:var(--muted);
    letter-spacing:0.1em; margin-top:6px; font-weight:600;
  }
  /* Old 320px fixed width removed — mobile now uses 85vw swipe carousel (see MOBILE SAFETY NET) */

  /* ══ FACILITIES ══ */
  .facilities{background:var(--bg-2);}
  .fac-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
  .fac-card{background:var(--bg); transition:transform 0.4s;}
  .fac-card:hover{transform:translateY(-4px);}
  .fac-card .img{
    aspect-ratio:4/3; background-size:cover; background-position:center;
    overflow:hidden;
  }
  .fac-body{padding:36px;}
  .fac-body .loc{
    font-family:'Archivo',sans-serif; font-size:11px; font-weight:600;
    letter-spacing:0.14em; text-transform:uppercase; color:var(--accent);
    margin-bottom:16px;
  }
  .fac-body h3{
    font-family:'Archivo',sans-serif; font-size:28px; font-weight:700;
    letter-spacing:-0.02em; margin-bottom:14px;
  }
  .fac-body p{font-size:14px; color:var(--muted); line-height:1.6; margin-bottom:28px;}
  .fac-specs{
    display:grid; grid-template-columns:1fr 1fr; gap:20px;
    padding-top:24px; border-top:1px solid var(--line);
  }
  .fac-specs div{font-size:11px; color:var(--muted); letter-spacing:0.08em; text-transform:uppercase;}
  .fac-specs strong{
    display:block; font-family:'Archivo',sans-serif; font-size:18px;
    font-weight:700; color:var(--ink); margin-top:6px; letter-spacing:-0.01em;
  }

  /* (Founder banner CSS removed — section deleted to avoid duplication with /about/) */

  /* ══ PROCESS ══ */
  .process{background:var(--ink); color:#fff;}
  .process .sec-head h2{color:#fff;}
  .process .sec-head p{color:var(--muted-2);}

  /* ── Process timeline with red connector ── */
  .proc-grid{
    display:grid; grid-template-columns:repeat(5,1fr); gap:0;
    position:relative;
    padding-top:72px;      /* space for the timeline connector */
    padding-bottom:4px;
  }
  /* Horizontal connector line spanning all steps */
  .proc-grid::before{
    content:'';
    position:absolute;
    left:0; right:0;
    top:46px;              /* centered on the node circles */
    height:1px;
    background:linear-gradient(90deg,
      rgba(200,55,42,0) 0%,
      rgba(200,55,42,.55) 8%,
      rgba(200,55,42,.55) 92%,
      rgba(200,55,42,0) 100%);
    pointer-events:none;
  }
  .proc-step{
    position:relative;
    padding:24px 28px 56px 0;
    border-right:1px solid #2a2a2a;
    min-height:340px;
    transition:background .3s ease, padding .3s ease;
  }
  .proc-step:last-child{border-right:none;}
  .proc-step:hover{background:#0f0f0f; padding-left:28px;}

  /* Node circle sitting on the timeline */
  .proc-step::before{
    content:'';
    position:absolute;
    top:-32px; left:0;
    width:14px; height:14px;
    border-radius:50%;
    background:var(--ink);
    border:2px solid var(--accent);
    box-shadow:0 0 0 6px var(--ink);
    z-index:2;
    transition:transform .35s ease, background .35s ease;
  }
  .proc-step:hover::before{
    transform:scale(1.15);
    background:var(--accent);
  }

  /* TIME is now the protagonist — big, top, red-accented */
  .proc-step .time{
    display:block;
    position:static;
    font-family:'Archivo',sans-serif;
    font-size:clamp(28px,3.2vw,40px);
    font-weight:800;
    letter-spacing:-.025em;
    line-height:1;
    color:#fff;
    border:none; padding:0;
    margin-bottom:6px;
    text-transform:none;
    white-space:nowrap;
  }
  .proc-step .time.time-long{
    font-size:clamp(22px,2.4vw,30px);
  }
  .proc-step .time-meta{
    display:inline-flex;
    align-items:center;
    gap:10px;
    font-family:'Archivo',sans-serif;
    font-size:10px;
    font-weight:700;
    letter-spacing:.16em;
    text-transform:uppercase;
    color:var(--accent);
    margin-bottom:32px;
  }
  .proc-step .time-meta .bar{
    display:inline-block;
    width:18px; height:1px;
    background:var(--accent);
  }

  /* Number demoted: small index */
  .proc-step .num{
    display:none;
  }
  .proc-step h4{
    font-family:'Archivo',sans-serif; font-size:20px; font-weight:700;
    letter-spacing:-.01em; margin-bottom:14px;
    color:#fff;
  }
  .proc-step p{font-size:13px; color:var(--muted-2); line-height:1.65;}
  .proc-step:hover::before{transform:scale(1.15);}


  /* ══ TEAM ══ */
  .team{background:var(--bg);}
  .team-grid{
    display:grid; grid-template-columns:repeat(3,1fr); gap:24px;
  }
  .team-card{
    position:relative;
  }
  .team-card .portrait{
    aspect-ratio:4/5; background-size:cover; background-position:center;
    background-color:var(--bg-3); margin-bottom:24px; overflow:hidden;
  }
  .team-card .portrait img{
    width:100%; height:100%; object-fit:cover;
    transition:transform 0.7s ease;
  }
  .team-card:hover .portrait img{transform:scale(1.03);}
  .team-card .role{
    font-family:'Archivo',sans-serif; font-size:10px; font-weight:600;
    letter-spacing:0.16em; text-transform:uppercase; color:var(--accent);
    margin-bottom:10px;
  }
  .team-card h4{
    font-family:'Archivo',sans-serif; font-size:26px; font-weight:700;
    letter-spacing:-0.015em; margin-bottom:14px;
  }
  .team-card p{font-size:14px; color:var(--muted); line-height:1.6;}

  /* ══ CERTS DETAIL ══ */
  .certs-detail{background:var(--bg-2);}
  .cert-grid{
    display:grid; grid-template-columns:repeat(3,1fr); gap:2px;
    background:var(--line); border:1px solid var(--line);
  }
  .cert-cell{
    background:var(--bg); padding:44px 36px;
    display:flex; flex-direction:column; gap:16px;
    min-height:240px; justify-content:space-between;
    transition:background 0.3s;
  }
  .cert-cell:hover{background:var(--bg-2);}
  .cert-cell .cert-name{
    font-family:'Archivo',sans-serif; font-size:26px; font-weight:700;
    letter-spacing:-0.015em;
  }
  .cert-cell .cert-desc{font-size:13px; color:var(--muted); line-height:1.6;}
  .cert-cell .cert-id{
    font-family:'Archivo',sans-serif; font-size:10px; font-weight:600;
    color:var(--accent); letter-spacing:0.12em; text-transform:uppercase;
    padding-top:14px; border-top:1px solid var(--line);
  }

  /* ══ CONTACT ══ */
  .contact-section{background:var(--bg-2);}
  .contact-inner{
    display:grid; grid-template-columns:1fr 1fr; gap:90px;
    align-items:center;
  }
  .contact-left h2{
    font-family:'Archivo',sans-serif; font-weight:300;
    font-size:clamp(56px,6vw,96px); line-height:0.9;
    letter-spacing:-0.035em; margin:28px 0 32px;
  }
  .contact-left h2 strong{font-weight:800; color:var(--accent);}
  .contact-left p{font-size:17px; color:var(--muted); max-width:480px; margin-bottom:48px; line-height:1.65;}
  .contact-info{
    padding-top:36px; border-top:1px solid var(--line); max-width:480px;
    display:grid; grid-template-columns:1fr 1fr; gap:32px;
  }
  .contact-info .label{margin-bottom:10px; display:block;}
  .contact-info .email{
    font-family:'Archivo',sans-serif; font-weight:700; font-size:15px;
    color:var(--ink); letter-spacing:-0.005em;
  }
  .contact-form{
    background:var(--bg); padding:52px;
    border:1px solid var(--line);
  }
  .contact-form .label{margin-bottom:28px;}
  .form-row{
    display:grid; grid-template-columns:1fr 1fr; gap:16px;
    margin-bottom:16px;
  }
  .form-row.full{grid-template-columns:1fr;}
  .form-row input, .form-row textarea, .form-row select{
    width:100%; padding:15px 18px; border:1px solid var(--line);
    background:var(--bg); font-family:'Inter',sans-serif; font-size:14px;
    color:var(--ink); outline:none; transition:0.2s;
  }
  .form-row input:focus, .form-row textarea:focus, .form-row select:focus{
    border-color:var(--ink);
  }
  .form-row textarea{resize:vertical; min-height:110px;}
  .form-row label{
    display:block; font-family:'Archivo',sans-serif; font-size:10px;
    font-weight:600; letter-spacing:0.12em; text-transform:uppercase;
    color:var(--muted); margin-bottom:10px;
  }
  .contact-form .btn-submit{
    width:100%; padding:18px; background:var(--ink); color:#fff; border:none;
    font-family:'Archivo',sans-serif; font-size:12px; font-weight:600;
    letter-spacing:0.12em; text-transform:uppercase; cursor:pointer;
    transition:0.2s; margin-top:12px;
    display:flex; align-items:center; justify-content:center; gap:12px;
  }
  .contact-form .btn-submit:hover{background:var(--accent);}

  /* Honeypot field — hidden from real users, visible to dumb bots */
  .contact-form .hp-field{
    position:absolute; left:-10000px; top:auto;
    width:1px; height:1px; overflow:hidden;
  }
  .contact-form .form-privacy{
    font-size:12px; color:var(--muted); line-height:1.6;
    margin-top:14px; text-align:center;
  }

  /* ══ CUSTOM SERVICE ══ */
  .services{background:var(--ink); color:#fff;}
  .services .sec-head h2{color:#fff;}
  .services .sec-head p{color:var(--muted-2);}
  .services .label{color:var(--muted-2);}

  /* 2×2 layout with breathing room */
  .service-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:20px;
  }
  .service-card{
    position:relative; overflow:hidden;
    background:#101010; padding:44px 48px 40px;
    border:1px solid #222;
    min-height:320px;
    display:flex; flex-direction:column;
    transition:border-color .35s ease, transform .35s ease, background .35s ease;
  }
  .service-card:hover{
    border-color:var(--accent);
    transform:translateY(-2px);
    background:#131313;
  }

  /* Ghost number watermark */
  .service-card .svc-num{
    position:absolute;
    top:-32px; right:-12px;
    font-family:'Archivo',sans-serif;
    font-size:clamp(150px,18vw,240px);
    font-weight:200;
    line-height:1;
    letter-spacing:-.05em;
    color:rgba(200,55,42,.07);
    pointer-events:none;
    z-index:1;
    user-select:none;
  }

  .service-card > *:not(.svc-num){position:relative; z-index:2;}

  .service-card h3{
    font-family:'Archivo',sans-serif; font-size:28px; font-weight:700;
    line-height:1.05; letter-spacing:-.02em; margin-bottom:18px;
    color:#fff;
  }
  .service-card p{
    font-size:14px;
    color:#b7b7b2;
    line-height:1.7;
    margin-bottom:28px;
  }

  /* Feature list: normal case + red dot prefix (replaces all-caps spec-style) */
  .service-card ul{
    list-style:none;
    display:grid;
    gap:12px;
    margin-top:auto;
    padding-top:20px;
    border-top:1px solid #232323;
  }
  .service-card li{
    font-family:'Inter',sans-serif;
    font-size:14px;
    font-weight:500;
    color:#d4d4cf;
    line-height:1.5;
    letter-spacing:0;
    text-transform:none;
    padding:0;
    border:none;
    display:flex;
    align-items:center;
    gap:12px;
  }
  .service-card li::before{
    content:'';
    display:inline-block;
    width:5px; height:5px;
    border-radius:50%;
    background:var(--accent);
    flex-shrink:0;
  }

  @media(max-width:820px){
    .service-grid{grid-template-columns:1fr;}
    .service-card{padding:36px 30px 32px; min-height:auto;}
  }

  /* ══ FAQ ══ */
  .faq{background:#111; color:#fff; border-top:2px solid var(--accent);}
  .faq .sec-head h2{color:#fff;}
  .faq .sec-head p{color:var(--muted-2);}
  .faq .label{color:var(--muted-2);}

  /* ── FAQ asymmetric grid: 1 big + 3 small ── */
  .faq-grid{
    display:grid;
    grid-template-columns:1.35fr 1fr;
    grid-template-rows:auto auto auto;
    gap:20px;
  }
  .faq-item{
    position:relative; overflow:hidden;
    background:#171717; border:1px solid #282828; padding:36px 40px;
    transition:border-color .35s ease, transform .35s ease, background .35s ease;
  }
  .faq-item:hover{
    border-color:var(--accent);
    transform:translateY(-2px);
    background:#1a1a1a;
  }
  .faq-item h4{
    font-family:'Archivo',sans-serif; font-size:22px; font-weight:700;
    letter-spacing:-0.02em; line-height:1.1; margin-bottom:14px; color:#fff;
    position:relative; z-index:2;
  }
  .faq-item p{
    font-size:14px; color:#bcbcb7; line-height:1.75;
    position:relative; z-index:2;
  }
  .faq-item p strong{color:#e8e6df;}

  /* Ghost number watermark on every card */
  .faq-num{
    position:absolute;
    top:-28px; right:-8px;
    font-family:'Archivo',sans-serif;
    font-size:clamp(140px,16vw,220px);
    font-weight:200;
    line-height:1;
    letter-spacing:-.05em;
    color:rgba(200,55,42,.07);
    pointer-events:none;
    z-index:1;
    user-select:none;
  }

  /* The BIG MOQ card spans both rows on the left column */
  .faq-item.faq-feature{
    grid-column:1; grid-row:1 / span 2;
    display:flex; flex-direction:column;
    padding:44px 48px 40px;
  }
  .faq-item.faq-feature h4{
    font-size:28px;
    margin-bottom:16px;
  }
  .faq-item.faq-feature > p{
    margin-bottom:28px;
  }
  .faq-item.faq-feature .faq-num{
    font-size:clamp(180px,22vw,300px);
    top:-44px; right:-16px;
    color:rgba(200,55,42,.08);
  }

  /* Data chips inside the big card — extracted key numbers */
  .faq-chips{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:14px;
    margin-top:auto;
    padding-top:24px;
    border-top:1px solid #262626;
    position:relative; z-index:2;
  }
  .faq-chip{
    display:flex; flex-direction:column; gap:4px;
  }
  .faq-chip .k{
    font-family:'Archivo',sans-serif;
    font-size:clamp(26px,3vw,34px);
    font-weight:800;
    color:#fff; line-height:1;
    letter-spacing:-.02em;
  }
  .faq-chip .k .unit{
    font-size:.55em;
    color:var(--accent);
    font-weight:600;
    margin-left:2px;
  }
  .faq-chip .v{
    font-family:'Archivo',sans-serif;
    font-size:10px;
    font-weight:600;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:#8a8a85;
    line-height:1.3;
  }

  @media(max-width:980px){
    .faq-grid{grid-template-columns:1fr; grid-template-rows:none;}
    .faq-item.faq-feature{grid-column:1; grid-row:auto;}
    .faq-item{padding:30px 28px;}
    .faq-item.faq-feature{padding:34px 30px 30px;}
    .faq-chips{grid-template-columns:1fr 1fr; gap:16px;}
  }
  @media(max-width:560px){
    .faq-chips{grid-template-columns:1fr;}
  }


  /* ══ RESPONSIVE (unique sections) ══ */
  @media(max-width:1100px){
    .trust-head h3{font-size:24px;}
    .cert-band-inner{flex-wrap:wrap;gap:20px;}
    .craft-grid{grid-template-columns:1fr;}
    .craft-1,.craft-2,.craft-3,.craft-4,.craft-5,.craft-6{grid-column:span 1;}
    .cats-grid{grid-template-columns:1fr;}
    .cat-1,.cat-2,.cat-3,.cat-4,.cat-5,.cat-6{grid-column:span 1; aspect-ratio:4/3;}
    .big-nums-grid{grid-template-columns:1fr 1fr;}
    .specs-grid{grid-template-columns:1fr;}
    .fac-grid{grid-template-columns:1fr;}
    .service-grid{grid-template-columns:repeat(2,1fr);}
    .faq-grid{grid-template-columns:1fr;}
  }
  @media(max-width:720px){
    .big-nums-grid{grid-template-columns:1fr;}
    .trust-head h3{font-size:20px;}
    .team-grid{grid-template-columns:1fr;}
    .proc-grid{grid-template-columns:1fr;}
    .proc-step{border-right:none;border-bottom:1px solid #292929;min-height:auto;padding-bottom:60px;}
    .service-grid{grid-template-columns:1fr;}
  }


  /* ── Mobile hamburger menu ── */
  .nav-burger{
    display:none;
    background:none;border:none;cursor:pointer;
    padding:8px;width:40px;height:40px;
    flex-direction:column;gap:5px;justify-content:center;align-items:center;
    color:inherit;
  }
  .nav-burger span{
    display:block;height:2px;width:24px;background:currentColor;
    transition:transform .3s ease, opacity .3s ease;
  }
  .nav-burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .nav-burger.open span:nth-child(2){opacity:0;}
  .nav-burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

  @media(max-width:1100px){
    nav, nav#nav{
      background:rgba(250,250,248,.96) !important;
      backdrop-filter:blur(16px);
      border-bottom:1px solid var(--line);
      color:var(--ink) !important;
    }
    .nav-inner{grid-template-columns:auto 1fr auto;padding:18px 24px;gap:20px;}
    .nav-burger{display:flex;}
    .lang-btn{display:none;}
    .nav-links{
      display:flex !important;
      position:absolute;top:100%;left:0;right:0;
      background:var(--bg);
      border-top:1px solid var(--line);border-bottom:1px solid var(--line);
      flex-direction:column;gap:0;
      padding:0;margin:0;
      max-height:0;overflow:hidden;
      transition:max-height .35s ease;
    }
    .nav-links.open{max-height:520px;}
    .nav-links li{list-style:none;border-bottom:1px solid var(--line);}
    .nav-links li:last-child{border-bottom:none;}
    .nav-links a{
      display:block;padding:16px 24px;
      opacity:1 !important;color:var(--ink);
      font-size:14px;font-weight:500;
    }
  }


  /* Skip-to-content link for keyboard / screen reader users */
  .skip-link{
    position:absolute;
    top:-100px;
    left:8px;
    background:var(--ink);
    color:#fff;
    padding:12px 20px;
    text-decoration:none;
    font-size:14px;
    font-weight:600;
    border-radius:4px;
    z-index:9999;
    transition:top 0.2s;
  }
  .skip-link:focus{top:8px;outline:2px solid var(--accent);outline-offset:2px;}

  
/* ═══ Catalog gate modal ═══ */
.cgm-overlay{
  position:fixed;inset:0;z-index:9997;
  background:rgba(10,10,10,.78);backdrop-filter:blur(4px);
  display:none;align-items:center;justify-content:center;
  padding:24px;
}
.cgm-overlay.is-open{display:flex;}
.cgm-modal{
  background:#fafaf8;color:#0a0a0a;
  width:100%;max-width:520px;
  padding:44px 44px 36px;position:relative;
  font-family:'Inter',sans-serif;
  box-shadow:0 24px 80px rgba(0,0,0,.4);
  max-height:92vh;overflow-y:auto;
}
.cgm-modal .cgm-close{
  position:absolute;top:14px;right:14px;
  background:transparent;border:none;cursor:pointer;
  width:36px;height:36px;font-size:22px;color:#6b6b68;
  display:flex;align-items:center;justify-content:center;
}
.cgm-modal .cgm-close:hover{color:#c8372a;}
.cgm-modal .cgm-eyebrow{
  font-family:'Archivo',sans-serif;font-size:11px;font-weight:700;
  letter-spacing:.18em;text-transform:uppercase;color:#6b6b68;
  display:inline-flex;align-items:center;gap:10px;margin-bottom:14px;
}
.cgm-modal .cgm-eyebrow::before{content:'◆';color:#c8372a;font-size:8px;}
.cgm-modal h3{
  font-family:'Archivo',sans-serif;font-size:28px;font-weight:800;
  letter-spacing:-.02em;line-height:1.1;margin-bottom:12px;color:#0a0a0a;
}
.cgm-modal .cgm-lead{
  font-size:14px;line-height:1.6;color:#6b6b68;margin-bottom:24px;
}
.cgm-form .cgm-row{margin-bottom:14px;}
.cgm-form label{
  display:block;font-family:'Archivo',sans-serif;font-size:10px;
  font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:#6b6b68;margin-bottom:6px;
}
.cgm-form input{
  width:100%;padding:13px 14px;border:1px solid #dcdad3;
  background:#fff;font-family:'Inter',sans-serif;font-size:14px;
  color:#0a0a0a;outline:none;transition:border-color .2s ease;
}
.cgm-form input:focus{border-color:#0a0a0a;}
.cgm-form .cgm-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.cgm-form .cgm-submit{
  width:100%;margin-top:8px;padding:16px 24px;
  background:#0a0a0a;color:#fff;border:none;cursor:pointer;
  font-family:'Archivo',sans-serif;font-size:12px;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  transition:background .2s ease;
}
.cgm-form .cgm-submit:hover{background:#c8372a;}
.cgm-form .cgm-submit:disabled{opacity:.6;cursor:wait;}
.cgm-form .cgm-fineprint{
  font-size:12px;color:#9a9a95;margin-top:14px;text-align:center;line-height:1.5;
}
.cgm-form .cgm-fineprint a{color:#6b6b68;text-decoration:underline;}
/* Success state */
.cgm-success{display:none;text-align:center;padding:8px 0;}
.cgm-modal.is-success .cgm-form{display:none;}
.cgm-modal.is-success .cgm-success{display:block;}
.cgm-success .cgm-check{
  width:64px;height:64px;border-radius:50%;background:#0a0a0a;color:#fff;
  display:inline-flex;align-items:center;justify-content:center;
  font-size:32px;margin-bottom:20px;
}
.cgm-success h4{
  font-family:'Archivo',sans-serif;font-size:22px;font-weight:800;
  letter-spacing:-.01em;margin-bottom:10px;color:#0a0a0a;
}
.cgm-success p{font-size:14px;color:#6b6b68;line-height:1.6;margin-bottom:24px;}
.cgm-success .cgm-dl{
  display:inline-flex;align-items:center;gap:12px;
  padding:18px 32px;background:#c8372a;color:#fff;
  font-family:'Archivo',sans-serif;font-size:12px;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;text-decoration:none;
  border:none;cursor:pointer;
}
.cgm-success .cgm-dl:hover{background:#dd4934;}
/* Dual CTA: PDF download + Online catalog */
.cgm-success .cgm-actions{
  display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:8px;
}
.cgm-success .cgm-dl-secondary{
  display:inline-flex;align-items:center;gap:12px;
  padding:18px 32px;background:transparent;color:#141413;
  border:1.5px solid #141413;
  font-family:'Archivo',sans-serif;font-size:12px;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;text-decoration:none;
  cursor:pointer;transition:all .2s;
}
.cgm-success .cgm-dl-secondary:hover{background:#141413;color:#fff;}
.cgm-success .cgm-or{
  font-size:11px;color:#8d8d87;letter-spacing:.16em;text-transform:uppercase;
  margin:14px 0 4px;
}
.cgm-error{
  display:none;background:#fdf0ee;border-left:3px solid #c8372a;
  padding:12px 14px;font-size:13px;color:#0a0a0a;margin-top:12px;
}
.cgm-error.is-visible{display:block;}
@media (max-width:560px){
  .cgm-modal{padding:36px 26px 28px;}
  .cgm-modal h3{font-size:24px;}
}

  /* Download Catalog button */
  .catalog-dl-btn{
    display:inline-flex;
    align-items:center;
    gap:16px;
    background:var(--ink);
    color:#fff;
    padding:18px 28px;
    border-radius:6px;
    text-decoration:none;
    margin-bottom:40px;
    transition:background 0.2s,transform 0.2s;
    border:1px solid var(--ink);
  }
  .catalog-dl-btn:hover{background:var(--accent);border-color:var(--accent);transform:translateY(-1px);}
  .catalog-dl-icon{
    font-size:22px;
    width:40px;
    height:40px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(255,255,255,0.12);
    border-radius:4px;
    flex-shrink:0;
  }
  .catalog-dl-text{display:flex;flex-direction:column;line-height:1.3;}
  .catalog-dl-text strong{font-size:15px;font-weight:600;letter-spacing:0;}
  .catalog-dl-text small{font-size:12px;opacity:0.7;letter-spacing:0.04em;margin-top:3px;}


  /* ══ QUOTE DRAWER (shared component) ══ */
  .mqd-launcher {
    position:fixed;bottom:100px;right:28px;z-index:998;
    display:flex;align-items:center;gap:10px;
    padding:14px 20px 14px 18px;border-radius:50px;
    background:#0a0a0a;color:#fff;border:none;cursor:pointer;
    font-family:'Archivo',sans-serif;font-size:12px;font-weight:700;
    letter-spacing:.12em;text-transform:uppercase;
    box-shadow:0 6px 24px rgba(0,0,0,.25);
    transition:transform .25s ease, background .25s ease;
  }
  
  .mqd-launcher:hover {
    transform:translateY(-2px);background:#c8372a;
  }
  
  .mqd-launcher svg {
    flex-shrink:0;
  }
  
  .mqd-launcher .mqd-pulse {
    position:absolute;top:10px;right:10px;
    width:10px;height:10px;border-radius:50%;background:#c8372a;
  }
  
  .mqd-launcher .mqd-pulse::after {
    content:'';position:absolute;inset:0;border-radius:50%;background:#c8372a;
    animation:mqd-pulse 1.8s ease-out infinite;
  }
  
  @keyframes mqd-pulse {
    0%{transform:scale(1);opacity:.7;}
    100%{transform:scale(2.6);opacity:0;}
  }
  
  @media(max-width:720px) {
    .mqd-launcher{
      bottom:96px;right:20px;padding:12px 16px;font-size:11px;
    }
    .mqd-launcher span.mqd-label-long{display:none;}
  }
  
  .mqd-backdrop {
    position:fixed;inset:0;z-index:1000;background:rgba(10,10,10,.55);
    backdrop-filter:blur(4px);opacity:0;pointer-events:none;
    transition:opacity .35s ease;
  }
  
  .mqd-backdrop.mqd-open {
    opacity:1;pointer-events:auto;
  }
  
  .mqd-drawer {
    position:fixed;top:0;right:0;bottom:0;z-index:1001;
    width:480px;max-width:100vw;background:#fafaf8;
    transform:translateX(100%);transition:transform .4s cubic-bezier(.4,0,.2,1);
    display:flex;flex-direction:column;
    box-shadow:-12px 0 40px rgba(0,0,0,.2);
  }
  
  .mqd-drawer.mqd-open {
    transform:translateX(0);
  }
  
  .mqd-drawer-head {
    padding:28px 32px 20px;border-bottom:1px solid #dcdad3;
    display:flex;align-items:flex-start;justify-content:space-between;gap:16px;
  }
  
  .mqd-drawer-head h3 {
    font-family:'Archivo',sans-serif;font-size:24px;font-weight:800;
    letter-spacing:-.02em;line-height:1.15;color:#0a0a0a;margin:0 0 8px;
  }
  
  .mqd-drawer-head p {
    font-family:'Inter',sans-serif;font-size:13px;color:#6b6b68;
    line-height:1.55;margin:0;
  }
  
  .mqd-close {
    width:36px;height:36px;border-radius:50%;border:1px solid #dcdad3;
    background:#fff;cursor:pointer;display:flex;align-items:center;
    justify-content:center;flex-shrink:0;font-size:18px;color:#0a0a0a;
    transition:background .2s;
  }
  
  .mqd-close:hover {
    background:#f2f1ed;
  }
  
  .mqd-form {
    flex:1;overflow-y:auto;padding:24px 32px 32px;
  }
  
  .mqd-form .mqd-row {
    display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px;
  }
  
  .mqd-form .mqd-row.mqd-full {
    grid-template-columns:1fr;
  }
  
  .mqd-form label {
    font-family:'Archivo',sans-serif;font-size:10px;font-weight:700;
    letter-spacing:.12em;text-transform:uppercase;color:#6b6b68;
    display:block;margin-bottom:6px;
  }
  
  .mqd-form input,
  .mqd-form textarea,
  .mqd-form select {
    width:100%;padding:12px 14px;background:#fff;border:1px solid #dcdad3;
    font-family:'Inter',sans-serif;font-size:14px;color:#0a0a0a;
    border-radius:0;outline:none;transition:border-color .2s;
  }
  
  .mqd-form input:focus,
  .mqd-form textarea:focus,
  .mqd-form select:focus {
    border-color:#0a0a0a;
  }
  
  .mqd-form textarea {
    min-height:90px;resize:vertical;
  }
  
  .mqd-form .mqd-hint {
    font-size:11px;color:#9a9a95;margin-top:4px;
  }
  
  .mqd-form .mqd-submit {
    width:100%;padding:16px;margin-top:8px;background:#0a0a0a;color:#fff;
    border:none;font-family:'Archivo',sans-serif;font-size:12px;font-weight:700;
    letter-spacing:.14em;text-transform:uppercase;cursor:pointer;
    transition:background .2s;
  }
  
  .mqd-form .mqd-submit:hover {
    background:#c8372a;
  }
  
  .mqd-form .mqd-privacy {
    font-size:11px;color:#6b6b68;line-height:1.6;
    margin-top:14px;text-align:center;
  }
  
  .mqd-form .mqd-privacy strong {
    color:#0a0a0a;
  }
  
  .mqd-form .mqd-hp {
    position:absolute;left:-10000px;top:auto;
    width:1px;height:1px;overflow:hidden;
  }
  
  .mqd-trust-row {
    display:flex;flex-wrap:wrap;gap:6px;margin-top:14px;
  }
  
  .mqd-trust-chip {
    font-family:'Archivo',sans-serif;font-size:9px;font-weight:700;
    letter-spacing:.1em;text-transform:uppercase;color:#6b6b68;
    padding:5px 10px;background:#f2f1ed;border:1px solid #e8e6df;
  }
  
  @media(max-width:520px) {
    .mqd-drawer{width:100vw;}
    .mqd-drawer-head{padding:22px 22px 16px;}
    .mqd-drawer-head h3{font-size:21px;}
    .mqd-form{padding:20px 22px 28px;}
    .mqd-form .mqd-row{grid-template-columns:1fr;}
  }
  
  body.mqd-locked {
    overflow:hidden;
  }

  /* ══ FILE UPLOAD (inquiry forms) ══ */
  .file-upload{
    margin-bottom:14px;padding:18px;
    border:2px dashed var(--line);background:#fff;
    text-align:center;cursor:pointer;transition:.2s;
    display:block;
  }
  .file-upload:hover{border-color:var(--accent);background:var(--bg-2);}
  .file-upload input[type=file]{display:none;}
  .file-upload .upload-icon{font-size:24px;margin-bottom:6px;}
  .file-upload .upload-text{
    font-family:'Archivo',sans-serif;font-size:12px;font-weight:600;
    letter-spacing:.08em;text-transform:uppercase;color:var(--ink);
    margin-bottom:4px;
  }
  .file-upload .upload-hint{font-size:11px;color:var(--muted);}
  .file-upload .upload-nda{
    font-size:11px;color:var(--accent);margin-top:10px;
    padding-top:10px;border-top:1px dashed var(--line);
    font-weight:600;letter-spacing:0.01em;line-height:1.5;
    max-width:380px;margin-left:auto;margin-right:auto;
  }
  .file-upload.has-file{border-color:var(--accent);border-style:solid;background:var(--bg-2);}
  .file-upload.has-file .upload-text{color:var(--accent);}

/* ═══ 全站按钮 shine sweep ═══ */
.btn-primary,.btn-secondary,.btn-dark,.cta-btn,.btn-light{
  position:relative; overflow:hidden; isolation:isolate;
  transition:background .4s ease, color .4s ease, transform .4s cubic-bezier(.25,.8,.25,1), border-color .4s ease;
}
.btn-primary::before,.btn-secondary::before,.btn-dark::before,.cta-btn::before,.btn-light::before{
  content:'';
  position:absolute;
  top:0; left:-100%;
  width:55%; height:100%;
  background:linear-gradient(100deg, transparent 0%, rgba(255,255,255,.28) 40%, rgba(255,255,255,.45) 50%, rgba(255,255,255,.28) 60%, transparent 100%);
  transform:skewX(-18deg);
  transition:left .7s cubic-bezier(.3,.7,.4,1);
  pointer-events:none;
  z-index:-1;
}
.btn-primary:hover::before,.btn-secondary:hover::before,
.btn-dark:hover::before,.cta-btn:hover::before,.btn-light:hover::before{left:160%;}
.btn-primary:hover,.btn-secondary:hover,.btn-dark:hover,.btn-light:hover{transform:translateY(-1px);}

/* ═══ 首页微动画 ═══ */
.small-chip{
  transition:background .3s ease, border-color .3s ease, transform .3s ease;
}
.small-chip:hover{
  background:rgba(255,255,255,.12);
  border-color:rgba(255,255,255,.4);
  transform:translateY(-1px);
}

a.arrow-link{
  display:inline-flex; align-items:center; gap:6px;
  transition:color .3s ease;
}
a.arrow-link::after{
  content:'→';
  transition:transform .35s cubic-bezier(.25,.8,.25,1);
}
a.arrow-link:hover::after{transform:translateX(6px);}

.rfq-form input:focus, .rfq-form textarea:focus, .rfq-form select:focus,
.mqd-form input:focus, .mqd-form textarea:focus, .mqd-form select:focus,
.cgm-form input:focus{
  outline:none;
  box-shadow:inset 0 -2px 0 0 var(--accent);
  transition:box-shadow .35s ease;
}

/* ═══════════════════════════════════════════════════════════════
   MOBILE SAFETY NET — declared last to override any earlier rules.
   Fixes responsive layout issues where later CSS inadvertently
   overrode the earlier @media(max-width:1100px) block.
═══════════════════════════════════════════════════════════════ */
@media(max-width:1100px){
  /* Section headings: stack label/h2 above paragraph */
  .sec-head{grid-template-columns:1fr !important; gap:28px !important; margin-bottom:48px !important;}
  .sec-head h2{font-size:clamp(36px, 7vw, 56px) !important;}
  .sec-head p{max-width:100% !important;}
  
  /* Two-column contact / hero / stats sections */
  .contact-inner{grid-template-columns:1fr !important; gap:40px !important;}
  .hero-stats-inner{grid-template-columns:1fr 1fr !important;}
  
  /* Multi-column grids collapse to 2 or 1 */
  .caps-grid, .service-grid, .faq-grid, .trust-grid, .cases-grid{grid-template-columns:1fr 1fr !important;}
  .cats-grid, .craft-grid, .fac-grid, .proc-grid, .detail-grid{grid-template-columns:1fr !important;}
  
  /* Categories asymmetric spans reset */
  .cat-1,.cat-2,.cat-3,.cat-4,.cat-5,.cat-6{grid-column:span 1 !important; aspect-ratio:4/3 !important;}
  .craft-1,.craft-2,.craft-3,.craft-4,.craft-5,.craft-6{grid-column:span 1 !important;}
  
  /* Footer grid 5 cols -> 2 cols */
  .foot-top{grid-template-columns:1fr 1fr !important;}
  
  /* Big numbers 4 -> 2 at 1100, then 1 at 720 */
  .big-nums-grid{grid-template-columns:1fr 1fr !important;}
  
  /* Cert band */
  .cert-band-grid{grid-template-columns:1fr 1fr !important;}
  .cert-band-inner{flex-wrap:wrap !important; gap:24px !important;}
  
  /* Process steps: remove right borders, add bottom dividers instead */
  .proc-step{border-right:none !important; border-bottom:1px solid #292929 !important; min-height:auto !important;}
  
  /* Container padding trimmed */
  .nav-inner, .container, .hero-content, .hero-stats-inner{padding-left:24px !important; padding-right:24px !important;}
  
  /* Hide desktop nav links, show burger */
  /* Hide desktop nav links — mobile menu uses max-height toggle instead */
  /* .nav-links visibility handled by the @media(max-width:1100px) block above (max-height:0 → .open max-height:520px) */
  /* Additional: team-grid catch-all */
  .team-grid{grid-template-columns:1fr 1fr !important;}

}

@media(max-width:720px){
  /* ═══ GLOBAL MOBILE RULES ═══ */
  section{padding:64px 0 !important;}
  .container, .hero-content{padding-left:18px !important; padding-right:18px !important;}
  .sec-head{margin-bottom:28px !important; gap:14px !important;}
  .sec-head h2{font-size:32px !important; line-height:1.05 !important;}
  .sec-head p{font-size:14px !important; line-height:1.6 !important;}
  .label, .label-light{font-size:10px !important;}
  
  /* Full-size content cards: single column */
  .caps-grid, .service-grid, .cases-grid, .trust-grid{grid-template-columns:1fr !important;}
  
  /* Small tiles / stats / chips stay 2x2 for shorter scroll */
  .big-nums-grid, .hero-stats-inner, .faq-grid,
  .cert-band-grid, .team-grid{grid-template-columns:1fr 1fr !important;}
  
  /* ═══ HERO — restrained, focused, fast-reading ═══ */
  .hero{
    min-height:auto !important; 
    padding:90px 0 0 !important;
    background:var(--ink) !important; /* Dark fallback so no white strip ever shows */
  }
  .hero-bg, .hero-video{
    bottom:0 !important; /* Ensure bg covers full hero height */
  }
  .hero-content{
    padding-top:48px !important; 
    padding-bottom:72px !important; /* More bottom space so CTA has breathing room inside dark area */
    min-height:auto !important;
  }
  /* Stronger gradient overlay on mobile for text legibility */
  .hero::before{
    background:linear-gradient(180deg, 
      rgba(10,10,10,.42) 0%, 
      rgba(10,10,10,.38) 35%, 
      rgba(10,10,10,.75) 75%, 
      rgba(10,10,10,.95) 100%) !important;
  }
  .hero-meta{
    font-size:10px !important; gap:8px !important; 
    margin-bottom:18px !important; flex-wrap:wrap !important;
  }
  .hero-headline{
    font-size:38px !important; line-height:1.0 !important; 
    letter-spacing:-0.025em !important;
    margin-bottom:16px !important;
    max-width:100% !important;
  }
  .hero-sub{
    font-size:14px !important; line-height:1.55 !important; 
    margin-bottom:22px !important; max-width:100% !important;
  }
  /* Keep only 2 chips on mobile (3rd is hidden) */
  .hero-mini{gap:8px !important; margin-bottom:22px !important;}
  .hero-mini .small-chip:nth-child(n+3){display:none !important;}
  .small-chip{font-size:10px !important; padding:7px 12px !important;}
  /* CTA: stacked, full-width, primary first */
  .hero-ctas{
    flex-direction:column !important; gap:10px !important; 
    align-items:stretch !important;
    margin-bottom:0 !important;
  }
  .hero-ctas .btn-primary, .hero-ctas .btn-secondary{
    width:100% !important; justify-content:center !important;
    padding:15px 20px !important; font-size:13px !important;
  }
  /* Secondary button: translucent dark fill so it reads on the dark hero bg */
  .hero-ctas .btn-secondary{
    background:rgba(255,255,255,0.08) !important;
    border-color:rgba(255,255,255,0.35) !important;
    color:#fff !important;
  }
  /* Scroll indicator: hide on mobile */
  .scroll-ind{display:none !important;}
  
  /* ═══ HERO STATS — break out into its own band below hero ═══ */
  .hero-stats{
    position:relative !important; 
    left:auto !important; right:auto !important; bottom:auto !important;
    background:var(--ink) !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
    border-top:1px solid rgba(255,255,255,.08) !important;
  }
  .hero-stats-inner{padding:0 !important;}
  .hero-stat{
    padding:22px 16px !important;
    border-right:1px solid rgba(255,255,255,.08) !important;
    border-bottom:1px solid rgba(255,255,255,.08) !important;
    flex-direction:column !important; gap:6px !important;
    align-items:flex-start !important;
  }
  .hero-stat:nth-child(2n){border-right:none !important;}
  .hero-stat:nth-last-child(-n+2){border-bottom:none !important;}
  .hero-stat .k{font-size:32px !important;}
  .hero-stat .v{font-size:10px !important; line-height:1.4 !important;}
  
  /* ═══ CLIENT WALL — keep on mobile (it's a marquee carousel) ═══ */
  .client-wall{padding:28px 0 32px !important;}
  .cw-label{margin-bottom:20px !important;}
  .cw-label-title{font-size:10px !important; letter-spacing:0.22em !important;}
  .cw-label-title .cw-sep{width:24px !important; margin:0 12px !important;}
  .cw-label-sub{font-size:11px !important; margin-top:8px !important;}
  
  /* ═══ CERT BAND — compressed ═══ */
  .cert-band{padding:48px 0 !important;}
  .cert-head h3{font-size:22px !important;}
  
  /* ═══ CAPABILITIES — shorter cards + scroll-activated dark state ═══ */
  .caps-card{
    min-height:auto !important;
    padding:24px 22px !important;
  }
  .caps-card h3{font-size:20px !important;}
  .caps-card p{font-size:14px !important;}
  
  /* Mobile cap-cell: symmetric padding from start so is-active doesn't shift layout */
  .cap-cell{
    padding:40px 24px !important;
    border-right:none !important;
    min-height:auto !important;
    transition:background-color .5s cubic-bezier(.4,0,.2,1), color .5s cubic-bezier(.4,0,.2,1) !important;
  }
  .cap-cell h3{
    font-size:28px !important;
    margin:40px 0 14px !important;
  }
  .cap-cell p{font-size:14px !important;}
  
  /* Scroll-activated: when cell is in the middle of viewport, auto highlight */
  .cap-cell.is-active{
    background:var(--ink) !important;
    color:#fff !important;
  }
  .cap-cell.is-active .cap-num{color:var(--accent) !important;}
  .cap-cell.is-active .cap-spec{border-color:#333 !important;}
  .cap-cell.is-active .cap-spec span{color:var(--muted-2) !important;}
  .cap-cell.is-active h3, 
  .cap-cell.is-active .cap-spec strong{color:#fff !important;}
  .cap-cell.is-active p{color:rgba(255,255,255,0.75) !important;}
  
  /* ═══ CATEGORIES — shorter cards ═══ */
  .cat-card{aspect-ratio:4/3 !important; min-height:auto !important;}
  .cat-info{bottom:20px !important; left:20px !important; right:20px !important;}
  .cat-info h4{font-size:22px !important;}
  
  /* ═══ CRAFT — compressed ═══ */
  .craft-cell{min-height:auto !important;}
  .craft-info h4{font-size:20px !important;}
  
  /* ═══ PROCESS — compressed steps ═══ */
  .proc-step{
    min-height:auto !important;
    padding:28px 22px 32px !important;
    border-right:none !important; 
    border-bottom:1px solid #292929 !important;
  }
  .proc-step h4{font-size:19px !important;}
  .proc-step p{font-size:14px !important;}
  
  /* ═══ FACILITIES — compressed ═══ */
  .fac-card h3{font-size:20px !important;}
  
  /* ═══ BIG NUMBERS — still dramatic but fits ═══ */
  .big-numbers{padding:80px 0 !important;}
  .big-num{padding:44px 22px !important;}
  .big-num .idx{font-size:10px !important; margin-bottom:18px !important;}
  /* Stack number above unit on mobile — unit doesn't get clipped */
  .big-num .val{
    font-size:64px !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    line-height:0.95 !important;
  }
  .big-num .val .unit{
    font-size:11px !important;
    margin-left:0 !important;
    margin-top:8px !important;
    letter-spacing:0.1em !important;
  }
  .big-num .caption{
    margin-top:20px !important;
    padding-top:16px !important;
    font-size:13px !important;
    line-height:1.55 !important;
  }
  
  /* ═══ CTA bridge on mobile ═══ */
  .cta-bridge{padding:60px 0 !important;}
  .cta-bridge-inner{grid-template-columns:1fr !important; gap:32px !important;}
  
  /* ═══ CASE STUDIES — auto-scroll + manual swipe carousel ═══ */
  section.case{padding:64px 0 !important; overflow:visible !important;}
  section.case .container{overflow:visible !important;}
  section.case .detail-grid{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    width:auto !important;
    animation:none !important;
    transform:none !important;
    gap:14px !important;
    padding:4px 0 4px 18px !important;
    overflow-x:scroll !important;
    overflow-y:hidden !important;
    -webkit-overflow-scrolling:touch !important;
    scrollbar-width:none !important;
  }
  section.case .detail-grid::-webkit-scrollbar{display:none !important;}
  section.case .detail-card{
    flex:0 0 82vw !important;
    width:82vw !important;
    max-width:340px !important;
  }
  section.case .detail-card:last-child{margin-right:18px !important;}
  section.case .detail-card .img{height:220px !important;}
  section.case .detail-card h3{font-size:20px !important;}
  section.case .detail-card .body{padding:24px 20px 20px !important;}
  section.case .detail-card .quote{font-size:14px !important;}
  section.case .detail-card .stats .k{font-size:22px !important;}
  
  /* ═══ FAQ — tighter ═══ */
  .faq-item{padding:22px 20px !important;}
  .faq-item h4{font-size:18px !important;}
  .faq-item p{font-size:14px !important;}
  
  /* ═══ FLOATING GET QUOTE BUTTON — slimmer, icon + short text ═══ */
  .mqd-launcher{
    padding:10px 14px !important;
    font-size:11px !important;
    letter-spacing:0.08em !important;
    box-shadow:0 2px 12px rgba(0,0,0,0.18) !important;
    gap:6px !important;
  }
  .mqd-launcher svg{width:14px !important; height:14px !important;}
  .mqd-launcher .mqd-label-long{display:none !important;}
  .mqd-launcher .mqd-pulse{width:5px !important; height:5px !important;}
  
  /* WhatsApp floating: slimmer */
  .wa-float{width:48px !important; height:48px !important;}
  .wa-float svg{width:20px !important; height:20px !important;}
  
  /* ═══ FOOTER — 3 groups (info / links / social) ═══ */
  .foot-top{
    grid-template-columns:1fr 1fr !important;
    gap:28px 20px !important;
    padding-bottom:36px !important;
  }
  .foot-top > div:first-child{grid-column:1 / -1;} /* Company info spans full width */
  .foot-top h5{font-size:10px !important; margin-bottom:12px !important;}
  .foot-top a, .foot-top li{font-size:12px !important;}
  .foot-desc{font-size:13px !important;}
  .foot-addr{font-size:12px !important;}
  .foot-bot{flex-direction:column !important; gap:8px !important; text-align:left !important; font-size:10px !important;}
  
  /* Client logo marquee — narrower cells (if shown on mobile) */
  .cw-cell{width:160px !important; height:72px !important;}
  .logo-text{font-size:11px !important;}
}

/* ═══ UNIVERSAL CARD HOVER (subtle lift + accent glow) ═══ */
.how-cell, .svc-card, .team-card, .factory-card, .facility-card,
.proc-step, .cert-band-card, .faq-item, .svc-visual-card,
.ins-card, .qff-card {
  transition: transform .45s cubic-bezier(.25,.8,.25,1),
              box-shadow .45s cubic-bezier(.25,.8,.25,1),
              border-color .35s ease !important;
}
.how-cell:hover, .svc-card:hover, .team-card:hover, 
.factory-card:hover, .cert-band-card:hover,
.ins-card:hover, .qff-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 36px -12px rgba(0,0,0,.08),
              0 4px 8px -4px rgba(200,55,42,.06);
}
/* Cards with top accent border: hover intensifies it */
.how-cell:hover, .svc-card:hover {
  border-top-color: var(--accent) !important;
  box-shadow: 0 14px 36px -12px rgba(0,0,0,.1),
              0 -2px 0 0 var(--accent);
}
/* Number turns accent color on hover */
.how-cell:hover .how-num,
.svc-card:hover .svc-num {
  color: var(--accent);
  transform: translateX(4px);
  transition: transform .35s ease, color .35s ease;
}
/* Process steps: subtle left-border accent on hover */
.proc-step:hover {
  background: rgba(200,55,42,.02);
}
.proc-step:hover .time {
  color: var(--accent) !important;
}
/* FAQ items already have hover, just enhance shadow */
.faq-item:hover {
  box-shadow: 0 8px 24px -8px rgba(0,0,0,.06);
}

/* WP mobile delivery hardening: keep section 05 readable after WordPress assets load. */
@media(max-width:720px){
  .craft{overflow:hidden !important;}
  .craft .sec-head{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:16px !important;
    margin-bottom:28px !important;
  }
  .craft .sec-head h2{
    max-width:11ch !important;
    font-size:clamp(34px, 9vw, 42px) !important;
    line-height:1.02 !important;
    letter-spacing:-0.035em !important;
  }
  .craft .sec-head p{
    max-width:100% !important;
    margin:0 !important;
    font-size:14px !important;
    line-height:1.65 !important;
  }
  .craft .craft-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:14px !important;
  }
  .craft .craft-cell{
    width:100% !important;
    min-height:220px !important;
    aspect-ratio:4/3 !important;
  }
  .craft .craft-info{
    left:18px !important;
    right:18px !important;
    bottom:18px !important;
  }
  .craft .craft-info .desc{
    font-size:11px !important;
    line-height:1.45 !important;
  }
}
