:root{
    --ink:#15130f;
    --ink-soft:#2a2620;
    --cream:#f2ede2;
    --cream-2:#e8e0d0;
    --paper:#faf7f0;
    --stone:#c7bfae;
    --stone-line: rgba(21,19,15,0.14);
    --cobalt:#2947d6;
    --cobalt-dark:#1c33a8;
    --signal:#d5451b;
    --ink-line: rgba(255,255,255,0.14);
    --text-muted:#6b6455;
    --text-muted-lt: rgba(242,237,226,0.68);
    --radius:18px;
    --maxw:1280px;
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    background:var(--cream);
    color:var(--ink);
    font-family:'Inter',sans-serif;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  img{max-width:100%;display:block;}
  a{color:inherit;}
  h1,h2,h3,h4{
    font-family:'Space Grotesk',sans-serif;
    margin:0;
    letter-spacing:-0.01em;
  }
  p{margin:0;}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 40px;}
  .mono{
    font-family:'IBM Plex Mono',monospace;
    font-size:12.5px;
    letter-spacing:0.06em;
    color:var(--text-muted);
  }
  .mono.on-dark{color:rgba(242,237,226,0.55);}
  ::selection{background:var(--cobalt);color:#fff;}
  .visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);}

  /* ---------- Nav ---------- */
  header{
    position:sticky;top:0;z-index:80;
    background:rgba(242,237,226,0.92);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--stone-line);
  }
  .nav{
    display:flex;align-items:center;justify-content:space-between;
    padding:16px 40px;
    max-width:var(--maxw);margin:0 auto;
    gap:20px;
  }
  .brand{display:flex;align-items:center;gap:12px;text-decoration:none;flex-shrink:0;}
  .brand-mark{
    width:38px;height:38px;border-radius:9px;
    background:var(--ink);color:var(--cream);
    display:flex;align-items:center;justify-content:center;
    font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:13px;
    flex-shrink:0;
  }
  .brand-name{font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:16px;line-height:1.2;}
  .brand-name span{color:var(--cobalt);display:block;font-size:11px;font-weight:500;letter-spacing:0.02em;}

  .links{display:flex;gap:4px;list-style:none;padding:0;margin:0;align-items:center;}
  .links > li{position:relative;}
  .links > li > a, .links summary{
    text-decoration:none;color:var(--ink);font-size:14px;font-weight:500;
    padding:10px 12px;border-radius:8px;display:inline-flex;align-items:center;gap:5px;
    cursor:pointer;list-style:none;
  }
  .links summary::-webkit-details-marker{display:none;}
  .links summary::after{content:"⌄";font-size:11px;opacity:0.6;margin-left:2px;}
  .links > li > a:hover, .links summary:hover{background:var(--cream-2);}
  details[open] summary{background:var(--cream-2);}
  .dropdown-panel{
    position:absolute;top:calc(100% + 8px);left:0;
    background:var(--paper);border:1px solid var(--stone-line);border-radius:12px;
    padding:10px;min-width:230px;
    box-shadow:0 18px 34px rgba(21,19,15,0.10);
    z-index:90;
  }
  .dropdown-panel a{
    display:block;padding:9px 12px;border-radius:7px;font-size:13.5px;text-decoration:none;color:var(--ink-soft);
  }
  .dropdown-panel a:hover{background:var(--cream-2);color:var(--cobalt-dark);}

  .nav-right{display:flex;align-items:center;gap:14px;flex-shrink:0;}
  .nav-cta{
    background:var(--ink);color:var(--cream);
    padding:11px 20px;border-radius:100px;
    font-size:13.5px;font-weight:600;text-decoration:none;
    display:inline-flex;align-items:center;gap:8px;
    white-space:nowrap;
    transition:background .15s ease;
  }
  .nav-cta:hover{background:var(--cobalt);}
  .brand-mark-logo{background:var(--ink);padding:6px;}
  .brand-mark-logo img{width:100%;height:100%;object-fit:contain;filter:invert(1) brightness(1.6);}
  .footer-brand .brand-mark-logo img{filter:none;}
  .menu-btn{display:none;background:none;border:none;cursor:pointer;padding:6px;}
  .menu-btn span{display:block;width:22px;height:2px;background:var(--ink);margin:5px 0;}

  /* ---------- Hero ---------- */
  .hero{
    position:relative;
    padding:64px 0 0;
    background:
      linear-gradient(180deg, rgba(242,237,226,0) 0%, var(--cream) 82%),
      repeating-linear-gradient(90deg, transparent, transparent 118px, var(--stone-line) 118px, var(--stone-line) 119px);
  }
  .hero-badge{
    display:inline-flex;align-items:center;gap:9px;
    padding:7px 14px 7px 10px;border-radius:100px;
    border:1px solid var(--stone-line);
    margin-bottom:26px;
  }
  .hero-badge .dot{width:7px;height:7px;border-radius:50%;background:var(--signal);}
  .hero-pos{
    font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:15.5px;color:var(--cobalt-dark);
    margin-bottom:14px;
  }
  .hero h1{
    font-size:clamp(38px, 5.6vw, 78px);
    line-height:1.02;
    font-weight:700;
  }
  .hero h1 .outline{
    color:transparent;
    -webkit-text-stroke:1.5px var(--ink);
  }
  .hero-grid{
    display:grid;grid-template-columns:1.5fr 1fr;gap:60px;
    align-items:end;
  }
  .hero-copy p.desc{
    max-width:540px;font-size:16.5px;line-height:1.6;color:var(--ink-soft);
    margin-top:22px;
  }
  .hero-copy p.desc b{font-weight:600;}
  .hero-actions{display:flex;gap:14px;margin-top:32px;flex-wrap:wrap;}
  .btn-primary{
    background:var(--cobalt);color:#fff;padding:15px 24px;border-radius:100px;
    text-decoration:none;font-weight:600;font-size:14.5px;
    display:inline-flex;align-items:center;gap:8px;
    transition:background .15s ease;
  }
  .btn-primary:hover{background:var(--cobalt-dark);}
  .btn-outline{
    border:1px solid var(--ink);color:var(--ink);padding:15px 24px;border-radius:100px;
    text-decoration:none;font-weight:600;font-size:14.5px;
  }
  .hero-card{
    background:var(--ink);color:var(--cream);border-radius:20px;
    padding:26px 26px 22px;
    margin-bottom:6px;
  }
  .hero-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;}
  .live-pill{
    background:rgba(213,69,27,0.18);color:#ff8a63;
    padding:5px 11px;border-radius:100px;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.06em;
    display:inline-flex;align-items:center;gap:6px;
  }
  .live-pill .d{width:6px;height:6px;border-radius:50%;background:#ff8a63;}
  .hero-card .big{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:46px;line-height:1;}
  .hero-card .big span{color:var(--signal);}
  .hero-card .sub{margin-top:8px;color:var(--text-muted-lt);font-size:13.5px;line-height:1.5;}
  .hero-stat-row{
    display:flex;justify-content:space-between;gap:8px;
    border-top:1px solid var(--ink-line);margin-top:20px;padding-top:16px;
  }
  .hero-stat-row div{font-size:12.5px;color:var(--text-muted-lt);}
  .hero-stat-row b{display:block;font-family:'Space Grotesk',sans-serif;color:var(--cream);font-size:18px;font-weight:600;margin-bottom:2px;}

  .swatch-strip{
    display:flex;gap:0;margin-top:56px;border-top:1px solid var(--stone-line);border-bottom:1px solid var(--stone-line);
  }
  .swatch{
    flex:1;padding:14px 10px;text-align:center;font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:0.04em;
    border-right:1px solid var(--stone-line);
  }
  .swatch:last-child{border-right:none;}
  .swatch .chip{width:16px;height:16px;border-radius:4px;margin:0 auto 8px;}

  /* ---------- Marquee ---------- */
  .marquee-band{
    background:var(--cobalt);color:#fff;
    border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);
    overflow:hidden;padding:14px 0;
  }
  .marquee-track{display:flex;width:max-content;animation:scroll-left 36s linear infinite;}
  .marquee-track span{
    font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:16px;
    padding:0 20px;white-space:nowrap;display:flex;align-items:center;gap:20px;
  }
  .marquee-track span::after{content:"◆";font-size:9px;opacity:0.55;}
  @keyframes scroll-left{from{transform:translateX(0);}to{transform:translateX(-50%);}}
  @media (prefers-reduced-motion: reduce){ .marquee-track{animation:none;} }

  /* ---------- Sections shared ---------- */
  section{padding:100px 0;}
  .eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:22px;}
  .eyebrow .num{font-family:'IBM Plex Mono',monospace;font-size:12.5px;color:var(--cobalt);}
  .section-head{display:grid;grid-template-columns:1.4fr 1fr;gap:50px;align-items:end;margin-bottom:52px;}
  .section-head h2{font-size:clamp(30px,4vw,50px);line-height:1.06;font-weight:700;}
  .section-head .desc{font-size:16px;line-height:1.65;color:var(--text-muted);}
  .section-dark{background:var(--ink);color:var(--cream);}
  .section-dark .eyebrow .num{color:#ff8a63;}
  .section-dark .mono{color:var(--text-muted-lt);}
  .section-dark .section-head .desc{color:var(--text-muted-lt);}

  /* ---------- generic card grids ---------- */
  .grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;}
  .grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
  .grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
  .grid-5{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;}

  /* About DPI pillar cards */
  .pillar-card{
    border-radius:16px;padding:28px 26px;border:1px solid var(--ink-line);
    display:flex;flex-direction:column;min-height:220px;
  }
  .pillar-card .idx{font-family:'IBM Plex Mono',monospace;font-size:11.5px;color:#ff8a63;margin-bottom:16px;}
  .pillar-card h4{font-size:19px;font-weight:600;margin-bottom:10px;}
  .pillar-card p{font-size:13.8px;line-height:1.58;color:var(--text-muted-lt);margin-top:auto;}
  .pillar-card.solid{background:var(--cobalt);border:none;}
  .pillar-card.solid .idx{color:rgba(255,255,255,0.65);}
  .pillar-card.solid p{color:rgba(255,255,255,0.85);}

  /* Coatings chemistry cards */
  .chem-card{
    background:var(--paper);border:1px solid var(--stone-line);border-radius:14px;padding:22px 20px;
    min-height:118px;display:flex;flex-direction:column;justify-content:space-between;
  }
  .chem-card .tag{font-family:'IBM Plex Mono',monospace;font-size:10.5px;color:var(--text-muted);}
  .chem-card h4{font-size:17px;font-weight:600;margin-top:18px;}
  .chem-card.ghost{background:transparent;border:1px dashed var(--stone);}
  .chem-card.ghost h4{color:var(--text-muted);}
  .chem-card.ghost .req{font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--signal);margin-top:10px;display:block;}

  /* Applications (substrates) */
  .app-card{
    background:var(--paper);border:1px solid var(--stone-line);border-radius:14px;padding:24px 20px;
    min-height:150px;display:flex;flex-direction:column;justify-content:space-between;
  }
  .app-card .tag{font-family:'IBM Plex Mono',monospace;font-size:10.5px;color:var(--text-muted);}
  .app-card h4{font-size:19px;font-weight:600;margin-top:20px;color:var(--ink);}
  .app-card p{font-size:12.8px;color:var(--text-muted);line-height:1.5;margin-top:8px;}
  .app-card.dark{background:var(--ink);color:var(--cream);}
  .app-card.dark h4{color:var(--cream);}
  .app-card.dark p{color:var(--text-muted-lt);}
  .app-card.dark .tag{color:rgba(242,237,226,0.5);}
  .app-card.accent{background:var(--cobalt);color:#fff;}
  .app-card.accent h4{color:#fff;}
  .app-card.accent p{color:rgba(255,255,255,0.82);}
  .app-card.accent .tag{color:rgba(255,255,255,0.65);}

  /* method cards */
  .method-card{
    border-radius:14px;padding:22px 18px;border:1px solid var(--stone-line);
    background:var(--paper);min-height:170px;display:flex;flex-direction:column;justify-content:space-between;
  }
  .method-card .idx{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--text-muted);}
  .method-card h4{font-size:16.5px;font-weight:600;margin-top:30px;color:var(--ink);}
  .method-card.filled{background:var(--ink);color:var(--cream);}
  .method-card.filled h4{color:var(--cream);}
  .method-card.filled .idx{color:rgba(242,237,226,0.5);}
  .method-card.accent{background:var(--cobalt);color:#fff;}
  .method-card.accent h4{color:#fff;}
  .method-card.accent .idx{color:rgba(255,255,255,0.6);}

  /* industries */
  .industry-card{ background:var(--cream-2);border-radius:16px;padding:26px; }
  .industry-card h4{font-size:18px;font-weight:600;margin-bottom:12px;color:var(--ink);}
  .industry-card ul{margin:0;padding:0;list-style:none;}
  .industry-card li{ font-size:13.5px;color:var(--text-muted);padding:6px 0;border-top:1px solid var(--stone-line); }
  .industry-card li:first-child{border-top:none;padding-top:0;}

  /* engine */
  .engine-row{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:20px;border-top:1px solid var(--ink-line);}
  .engine-step{padding:32px 20px 0;border-right:1px solid var(--ink-line);}
  .engine-step:last-child{border-right:none;}
  .engine-step .idx{font-family:'IBM Plex Mono',monospace;font-size:12px;color:#ff8a63;}
  .engine-step h4{font-size:18px;font-weight:600;margin:14px 0 8px;}
  .engine-step p{font-size:13px;line-height:1.55;color:var(--text-muted-lt);}

  /* case study vignettes */
  .case-card{
    background:var(--paper);border:1px solid var(--stone-line);border-radius:16px;overflow:hidden;
    display:flex;flex-direction:column;
  }
  .credential-card{background:var(--paper);border:1px solid var(--stone-line);border-radius:14px;padding:22px;display:flex;flex-direction:column;min-height:170px;}
  .product-card{background:var(--paper);border:1px solid var(--stone-line);border-radius:14px;padding:20px;min-height:140px;}
  .product-card .tag{font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--cobalt);}
  .product-card h4{font-size:16px;font-weight:600;margin:12px 0 8px;color:var(--ink);}
  .product-card p{font-size:13px;line-height:1.5;color:var(--text-muted);}
  .catalog-callouts{display:flex;flex-wrap:wrap;gap:14px 28px;margin-top:32px;padding-top:28px;border-top:1px solid rgba(242,237,226,0.14);}
  .catalog-callouts div{font-size:13.5px;color:var(--text-muted-lt);display:flex;align-items:center;gap:8px;}
  .catalog-callouts span{color:var(--cobalt);font-weight:700;}
  .case-photo{width:100%;height:170px;object-fit:cover;}
  .clientele-marquee{margin-top:64px;}
  .clientele-label{text-align:center;margin-bottom:16px;letter-spacing:0.1em;}
  .clientele-marquee .marquee-band{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);}
  .clientele-marquee .marquee-track span{color:var(--cream);font-size:15px;}
  .clientele-marquee .marquee-track span::after{opacity:0.4;}
  .credential-card .cc-tag{font-family:'IBM Plex Mono',monospace;font-size:10.5px;color:var(--cobalt);}
  .credential-card h4{font-size:17px;font-weight:600;margin:12px 0 8px;color:var(--ink);}
  .credential-card p{font-size:13px;line-height:1.55;color:var(--text-muted);}
  .credential-card.cert-card{padding:0;overflow:hidden;}
  .credential-card.cert-card img{width:100%;height:120px;object-fit:cover;}
  .credential-card.cert-card .cc-body{padding:18px 20px 20px;}
  .credential-card.cert-card .cc-body p{margin-top:6px;}
  .case-card .body{padding:22px;}
  .case-card .tag{font-family:'IBM Plex Mono',monospace;font-size:10.5px;color:var(--cobalt);}
  .case-card h4{font-size:17px;font-weight:600;margin:12px 0 8px;color:var(--ink);}
  .case-card p{font-size:13.3px;line-height:1.55;color:var(--text-muted);}

  /* coverage */
  .coverage-wrap{display:grid;grid-template-columns:1.3fr 1fr;gap:50px;align-items:center;}
  .coverage-media{border-radius:18px;overflow:hidden;aspect-ratio:4/3;}
  .coverage-media img{width:100%;height:100%;object-fit:cover;}
  .coverage h2{font-size:clamp(28px,4vw,46px);line-height:1.08;font-weight:700;}
  .coverage h2 .hl{color:var(--cobalt);}
  .coverage p.lead{margin-top:18px;font-size:15.5px;line-height:1.65;color:var(--text-muted);max-width:460px;}
  .coverage-facts{display:flex;gap:28px;margin-top:26px;flex-wrap:wrap;}
  .coverage-facts div b{display:block;font-family:'Space Grotesk',sans-serif;font-size:24px;}
  .coverage-facts div span{font-size:12px;color:var(--text-muted);}

  /* promoter */
  .promoter-wrap{display:grid;grid-template-columns:0.9fr 1.4fr;gap:44px;align-items:stretch;}
  .promoter-photo{ border-radius:18px;overflow:hidden;background:var(--ink);position:relative;min-height:320px; }
  .promoter-photo img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;}
  .promoter-photo .badge{
    position:absolute;bottom:16px;left:16px;background:var(--signal);color:#fff;
    padding:6px 13px;border-radius:100px;font-family:'IBM Plex Mono',monospace;font-size:11px;z-index:2;
  }
  .promoter-copy{
    background:var(--paper);border:1px solid var(--stone-line);border-radius:18px;padding:36px;
    display:flex;flex-direction:column;justify-content:center;
  }
  .promoter-copy h3{font-size:24px;font-weight:600;margin-bottom:6px;}
  .promoter-copy .role{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--cobalt);margin-bottom:16px;display:block;}
  .promoter-copy p{font-size:15px;line-height:1.65;color:var(--text-muted);}
  .promoter-copy .fact-row{display:flex;gap:26px;margin-top:22px;padding-top:20px;border-top:1px solid var(--stone-line);flex-wrap:wrap;}
  .promoter-copy .fact-row div b{display:block;font-family:'Space Grotesk',sans-serif;font-size:20px;}
  .promoter-copy .fact-row div span{font-size:12px;color:var(--text-muted);}

  /* technical centre */
  .tech-card{
    background:var(--paper);border:1px solid var(--stone-line);border-radius:14px;padding:24px;
    display:flex;flex-direction:column;gap:10px;
  }
  .tech-card h4{font-size:17px;font-weight:600;color:var(--ink);}
  .tech-card p{font-size:13.3px;color:var(--text-muted);line-height:1.55;}
  .tech-card a.req{font-family:'IBM Plex Mono',monospace;font-size:11.5px;color:var(--cobalt-dark);text-decoration:none;margin-top:auto;}

  /* FAQ */
  .faq-list{border-top:1px solid var(--stone-line);}
  .faq-item{border-bottom:1px solid var(--stone-line);}
  .faq-q{
    display:flex;justify-content:space-between;align-items:center;
    padding:22px 4px;cursor:pointer;background:none;border:none;width:100%;text-align:left;
    font-family:'Space Grotesk',sans-serif;font-size:17px;font-weight:600;color:var(--ink);
  }
  .faq-q .plus{font-family:'IBM Plex Mono',monospace;font-size:20px;transition:transform .2s ease;flex-shrink:0;margin-left:20px;color:var(--cobalt);}
  .faq-item.open .plus{transform:rotate(45deg);}
  .faq-a{max-height:0;overflow:hidden;transition:max-height .25s ease;}
  .faq-a p{padding:0 4px 22px;font-size:14.5px;line-height:1.65;color:var(--text-muted);max-width:640px;}

  /* CTA */
  .cta-section{background:var(--cobalt);color:#fff;padding:96px 0;}
  .cta-wrap{display:grid;grid-template-columns:1.2fr 1fr;gap:50px;align-items:start;}
  .cta-wrap h2{font-size:clamp(32px,4.6vw,54px);line-height:1.05;font-weight:700;color:#0d1533;}
  .cta-wrap p.lead{margin-top:18px;font-size:16px;line-height:1.6;max-width:460px;color:rgba(13,21,51,0.82);}
  .cta-actions{display:flex;gap:14px;margin-top:30px;flex-wrap:wrap;}
  .btn-dark{background:#0d1533;color:#fff;padding:15px 24px;border-radius:100px;text-decoration:none;font-weight:600;font-size:14.5px;display:inline-flex;align-items:center;gap:8px;}
  .btn-ghost-dark{border:1px solid #0d1533;color:#0d1533;padding:15px 24px;border-radius:100px;text-decoration:none;font-weight:600;font-size:14.5px;}
  .contact-card{background:var(--ink);color:var(--cream);border-radius:18px;padding:32px;}
  .contact-card h4{font-size:18px;font-weight:600;margin-bottom:20px;}
  .contact-field{margin-bottom:16px;}
  .contact-field .mono{display:block;margin-bottom:6px;text-transform:uppercase;}
  .contact-field .val{font-size:14.5px;padding-bottom:10px;border-bottom:1px solid var(--ink-line);}
  .contact-field .val a{text-decoration:none;color:var(--cream);}

  /* Footer */
  footer{background:var(--ink);color:var(--cream);padding:56px 0 24px;}
  .footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1fr;gap:30px;padding-bottom:40px;border-bottom:1px solid var(--ink-line);}
  .footer-brand{display:flex;align-items:center;gap:12px;margin-bottom:16px;}
  .footer-brand .brand-mark{background:var(--signal);color:#fff;}
  .footer-brand span{font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:17px;}
  footer .about-line{font-size:13.5px;line-height:1.6;color:var(--text-muted-lt);max-width:300px;}
  footer .gst-line{font-family:'IBM Plex Mono',monospace;font-size:11px;color:rgba(242,237,226,0.45);margin-top:14px;}
  footer h5{font-family:'IBM Plex Mono',monospace;font-size:11px;color:rgba(242,237,226,0.5);margin-bottom:14px;text-transform:uppercase;}
  footer ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px;}
  footer ul a{text-decoration:none;color:var(--cream);font-size:13.8px;}
  footer ul a:hover{color:#ff8a63;}
  .footer-bottom{display:flex;justify-content:space-between;padding-top:24px;font-size:12.5px;color:rgba(242,237,226,0.45);flex-wrap:wrap;gap:10px;}
  .footer-bottom .mono{color:rgba(242,237,226,0.45);}

  /* responsive */
  @media (max-width:1440px){
    .links{display:none;}
    .menu-btn{display:block;}
    .footer-grid{grid-template-columns:1fr 1fr 1fr;}
  }
  @media (max-width:640px){
    .nav-cta{display:none;}
    .brand-name span{display:none;}
  }
  @media (max-width:980px){
    .wrap{padding:0 22px;}
    .nav{padding:14px 22px;}
    .hero-grid{grid-template-columns:1fr;gap:32px;}
    .section-head{grid-template-columns:1fr;gap:18px;}
    .grid-2,.grid-3,.grid-4,.grid-5{grid-template-columns:1fr 1fr;}
    .cap-grid{grid-template-columns:1fr;}
    .engine-row{grid-template-columns:1fr 1fr;}
    .engine-step{border-bottom:1px solid var(--ink-line);padding-bottom:22px;}
    .coverage-wrap{grid-template-columns:1fr;}
    .promoter-wrap{grid-template-columns:1fr;}
    .promoter-photo{min-height:240px;}
    .cta-wrap{grid-template-columns:1fr;}
    .footer-grid{grid-template-columns:1fr 1fr;}
    .swatch-strip{flex-wrap:wrap;}
    .swatch{flex:1 1 33%;}
  }
  @media (max-width:600px){
    section{padding:60px 0;}
    .grid-2,.grid-3,.grid-4,.grid-5{grid-template-columns:1fr;}
    .engine-row{grid-template-columns:1fr;}
    .footer-grid{grid-template-columns:1fr;}
    .hero-actions{flex-direction:column;align-items:stretch;}
    .hero-actions a{text-align:center;}
  }

  a:focus-visible, button:focus-visible, summary:focus-visible{outline:2px solid var(--cobalt);outline-offset:2px;}
