/* Shared NPXSoft / VaxVoIP design system and components */
@font-face{font-family:"DM Sans";font-style:normal;font-weight:400 700;font-display:block;src:url("../fonts/dm-sans-latin.woff2") format("woff2");}
@font-face{font-family:"Manrope";font-style:normal;font-weight:500 800;font-display:block;src:url("../fonts/manrope-latin.woff2") format("woff2");}

body, button, input, select, textarea { font-family: "DM Sans", sans-serif; }
h1, h2, h3, h4, h5, h6, .brand strong { font-family: "Manrope", sans-serif; }
h1, h2, h3, h4, h5, h6 { font-weight: 600; }

.primary-nav { letter-spacing: .005em; text-rendering: optimizeLegibility; -webkit-font-smoothing: auto; }
.brand-mark img { display: block; width: 100%; height: 100%; object-fit: contain; }
.nav-item>button { border: 0; background: transparent; color: inherit; cursor: pointer; }
.mega-menu a:hover { background: var(--cream2, var(--cream-2, #fffaf3)); }
.mega-menu b { font-size: 1rem; font-weight: 700; }
.mega-menu span { font-size: 1rem; font-weight: 400; line-height: normal; }

body { --container: 1360px; }

*, *::before, *::after { box-sizing: border-box; }
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
.container { width: min(var(--container), calc(100% - 40px)); margin-inline: auto; }

@media (prefers-reduced-motion: no-preference) {
  .reveal-ready .scroll-reveal { opacity: 0; transform: translateY(24px); transition: opacity .65s ease-out, transform .65s cubic-bezier(.2, .7, .2, 1); transition-delay: var(--reveal-delay, 0ms); }
  .reveal-ready .scroll-reveal.is-visible { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
  main * { scroll-behavior: auto !important; animation: none !important; transition-duration: 0s !important; }
}

.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
body.contact-modal-open { overflow: hidden; }
.contact-modal[hidden] { display: none; }
.contact-modal { position: fixed; inset: 0; z-index: 2000; display: grid; place-items: center; padding: 22px; }
.contact-modal-backdrop { position: absolute; inset: 0; background: rgba(8,32,26,.68); backdrop-filter: blur(5px); }
.contact-dialog { position: relative; width: min(100%, 680px); max-height: calc(100vh - 44px); overflow: auto; padding: 34px; border: 1px solid var(--border); border-radius: 24px; background: #fff; box-shadow: 0 30px 80px rgba(8,32,26,.28); animation: contact-dialog-in .24s ease-out both; }
.contact-dialog-close { position: absolute; top: 16px; right: 16px; width: 40px; height: 40px; border: 1px solid var(--border); border-radius: 8px; background: #fff; color: var(--ink); font: 500 1.65rem/1 "DM Sans", sans-serif; cursor: pointer; }
.contact-dialog-close:hover, .contact-dialog-close:focus-visible { background: var(--cream-2, #faf5ed); outline: 2px solid #b97800; outline-offset: 2px; }
.contact-dialog-heading { padding-right: 42px; margin-bottom: 18px; }
.contact-dialog-heading .eyebrow { margin-bottom: 8px; }
.contact-dialog-heading h2 { margin: 0 0 10px; font-size: clamp(1.8rem, 4vw, 2.5rem); }
.contact-dialog-heading p:last-child { margin: 0; color: var(--muted); line-height: 1.65; }
.contact-dialog-form { display: grid; gap: 14px; }
.contact-form-status { display: flex; align-items: center; min-height: 76px; box-sizing: border-box; padding: 13px 15px; border: 1px solid; border-radius: 8px; font: 600 1rem/1.5 "DM Sans", sans-serif; outline: none; }
.contact-form-status[hidden] { display: none; }
.contact-form-status.is-success { border-color: rgba(21,60,49,.28); background: #edf6f1; color: #153c31; }
.contact-form-status.is-error { border-color: rgba(185,120,0,.3); background: #fff5dc; color: #714900; }
.contact-field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.contact-field { display: grid; gap: 7px; color: var(--ink); font-weight: 600; font-size: .9rem; }
.contact-field input, .contact-field select, .contact-field textarea { width: 100%; border: 1px solid #d9dedb; border-radius: 8px; background: #fff; color: var(--ink); font: 500 1rem/1.5 "DM Sans", sans-serif; padding: 12px 14px; transition: border-color .2s ease, box-shadow .2s ease; }
.contact-field input:focus, .contact-field select:focus, .contact-field textarea:focus { border-color: #b97800; outline: 0; box-shadow: 0 0 0 3px rgba(185,120,0,.13); }
.contact-turnstile { min-height: 65px; }
.contact-form-actions { display: flex; align-items: center; gap: 14px; }
.contact-form-actions .button { border: 0; cursor: pointer; }
.contact-form-actions .button:disabled { cursor: wait; opacity: .72; }
@keyframes contact-dialog-in { from { opacity: 0; transform: translateY(14px) scale(.985); } to { opacity: 1; transform: none; } }

@media (max-width: 620px) {
  .contact-modal { height: 100vh; height: 100dvh; padding: 16px 12px; }
  .contact-dialog { max-height: 100%; padding: 27px 20px 22px; border-radius: 18px; }
  .contact-field-row { grid-template-columns: 1fr; }
  .contact-form-actions { align-items: stretch; flex-direction: column; }
  .contact-form-actions .button, .contact-cancel { width: 100%; }
}

.skip-link { position: fixed; left: 12px; top: -80px; z-index: 300; background: var(--ink); color: #fff; padding: 10px 14px; border-radius: 8px; }
.skip-link:focus { top: 12px; }

/* ==========================================================================
   HEADER & NAVIGATION FIXES
   ========================================================================== */
body[class] .nav-wrap{display:flex;align-items:center;gap:28px; width: 100%;}
body[class] .brand{display:inline-flex;flex:none;align-items:center}
body[class] .brand>span:last-child{display:flex;flex-direction:column;justify-content:center;gap:4px;line-height:1;text-align:left}
body[class] .primary-nav{position:static;display:flex;width:auto;max-height:none;margin-left:auto;padding:0;overflow:visible;align-items:center;justify-content:center;flex-direction:row;gap:32px;border:0;border-radius:0;background:transparent;box-shadow:none}
body[class] .primary-nav>.nav-item{width:auto;border:0}
body[class] .primary-nav>a{position:relative;width:auto;min-height:38px;margin:0;padding:10px 0;color:var(--ink);font-size:1.05rem;font-weight:500;display:flex;align-items:center;transition:color 0.15s ease}
body[class] .nav-item{position:relative}
body[class] .nav-item>button{display:flex;width:auto;min-height:38px;align-items:center;justify-content:center;margin:0;padding:10px 0;color:var(--ink);font-size:1.05rem;font-weight:500;transition:color 0.15s ease}
body[class] .primary-nav>a:hover, body[class] .nav-item>button:hover{color:var(--gold-dark)}
body[class] .nav-item .chevron{margin-left:4px;font-size:0.85em;font-weight:600;transform:translateY(1px)}
body[class] .menu-button{display:none;margin-left:auto;border:0;background:transparent;padding:6px}
body[class] .primary-nav>.mobile-contact-link{display:none}
body[class] .header-cta{display:inline-flex;flex:0 0 auto; background: var(--gold-dark); color: #fff; padding: 0 24px; height: 46px; border-radius: 8px; font-weight: 600; align-items: center; justify-content: center; box-shadow: 0 4px 12px rgba(185, 120, 0, .15); transition: all 0.2s;}
body[class] .header-cta:hover{background: #a56a00; transform: translateY(-1px); box-shadow: 0 6px 16px rgba(185, 120, 0, .25);}

/* Header Logo Typography */
body[class] .site-header .brand strong{color:#153c31;font-size:1.6rem;font-weight:700;letter-spacing:-.045em; display:flex; align-items:center; white-space: nowrap;}
body[class] .site-header .brand .brand-accent{color:#d99a08;font-style:normal; font-weight:700;}
body[class] .site-header .brand small{margin:0;color:#b97800;font-size:.65rem;font-weight:700;letter-spacing:.15em;line-height:1.15;text-transform:uppercase;white-space:nowrap}

/* ==========================================================================
   FOOTER FIXES (Overlap resolved)
   ========================================================================== */
.site-footer{padding-top:60px;background:#171c1a;color:#dce4e1}
.footer-grid{display:grid;grid-template-columns:minmax(260px,1.6fr) repeat(auto-fit,minmax(135px,1fr));gap:32px;padding-bottom:52px}
.footer-logo strong{color:#fff}
.footer-brand p{max-width:300px;margin-top:24px;color:#9facaa}
.footer-grid h3{margin-bottom:18px;color:#fff;font-family:"Manrope",sans-serif;font-size:16px;font-weight:600;letter-spacing:0}
.footer-grid a:not(.brand){color:#aab6b2;font-size:.84rem}
.footer-articles a{line-height:1.35}
.footer-bottom{min-height:78px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #303634;color:#8d9995;font-size:.8rem}
.footer-bottom p{margin:0}
.footer-bottom div{display:flex;gap:25px}

.footer-grid > div:not(.footer-brand){display: flex; flex-direction: column; gap: 9px;}
.footer-grid a:hover{color: white;}

/* Fix Footer Brand Layout */
.footer-brand { display: flex; flex-direction: column; }
.footer-brand .brand { display: inline-flex; align-items: center; gap: 12px; }
.footer-brand .brand-mark { 
  width: 52px; 
  height: 52px; 
  flex: 0 0 52px; 
  background: #fffaf2; 
  border-radius: 12px; 
  display: grid; 
  place-items: center; 
  padding: 8px;
}
.footer-brand .brand-mark svg {
  width: 100%;
  height: 100%;
  display: block;
}
.footer-brand .brand > span:last-child {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 4px;
  line-height: 1;
}
.footer-brand .brand strong {
  color: #fff;
  font-size: 1.4rem;
  font-family: "Manrope", sans-serif;
  letter-spacing: -0.04em;
  display: flex;
  align-items: center;
}
.footer-brand .brand .brand-accent {
  color: #d99a08;
  font-style: normal;
}
.footer-brand .brand small {
  color: #d99a08;
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  white-space: nowrap;
}

.section-heading > p:last-child{color: var(--muted); font-size: 1.04rem;}
.has-menu{position: relative;}

/* Mega Menu Dropdown */
.mega-menu{position: absolute;
  top: calc(100% + 10px);
  right: 0;
  left: auto;
  width: 480px;
  padding: 16px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  background: white;
  border: 1px solid var(--border);
  border-radius: 16px;
  box-shadow: 0 18px 45px rgba(21, 60, 49, 0.12);
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: .2s ease;
  z-index: 200;}

.has-menu:hover .mega-menu,
.has-menu:focus-within .mega-menu{opacity: 1; visibility: visible; transform: translateY(0);}
.mega-menu a{padding: 14px; border-radius: 12px; display: block;}
.mega-menu a:hover{background: var(--cream-2);}
.mega-menu b{display: block; margin-bottom: 4px; font-family: "Manrope", sans-serif; font-size: 1rem;}
.mega-menu span{color: var(--muted); font-size: .85rem; line-height: 1.4; display: block;}
.menu-button > span:not(.sr-only){display: block; width: 24px; height: 2px; margin: 5px 0; background: var(--ink);}

/* ==========================================================================
   OTHER COMPONENTS & SECTIONS
   ========================================================================== */
.hero-copy{position: relative; z-index: 2;}
.hero-lead{max-width: 630px; color: #5c6c67; font-size: 1.08rem;}
.hero-lead-secondary{margin-top:10px;}
.hero-actions{display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px;}
.hero-notes{display: flex; flex-wrap: wrap; gap: 18px; margin-top: 25px; color: var(--ink-2); font-size: .9rem; font-weight: 600;}
.hero-glow{position: absolute; inset: 10% 5%; background: #f1d8aa; opacity: .34; filter: blur(60px); border-radius: 50%;}
.proof-bar{position: relative; margin-top: -10px; z-index: 3;}
.proof-grid{display: grid; grid-template-columns: repeat(4, 1fr); background: white; border: 1px solid var(--border); border-radius: 18px; box-shadow: var(--shadow);}
.proof-grid article{min-height: 104px; display: flex; flex-direction: column; justify-content: center; padding: 22px 28px; border-right: 1px solid var(--border);}
.proof-grid article:last-child{border-right: 0;}
.proof-grid strong{color: var(--gold-dark); font-size: 1.55rem;}
.proof-grid span{color: var(--muted); font-size: .88rem;}
.products{background: #fff;}
.product-grid{display: grid; grid-template-columns: repeat(10, 1fr); gap: 18px;}
.product-card{grid-column: span 2; position: relative; min-height: 440px; padding: 30px 26px; border: 1px solid var(--border); border-radius: var(--radius); background: linear-gradient(180deg, white, #fffdf9); box-shadow: 0 10px 28px rgba(30, 45, 38, .055); transition: .24s ease;}
.product-card-featured{background: linear-gradient(155deg, #183f34, #0e2f27); color: white; border-color: transparent;}
.product-icon{width: 58px; height: 58px; display: grid; place-items: center; margin-bottom: 24px; border-radius: 16px; background: var(--cream); color: var(--ink); font-family: "Manrope"; font-size: 1.5rem; font-weight: 600;}
.product-icon svg{width:36px;height:36px;overflow:visible;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.product-icon svg text{fill:currentColor;stroke:none;font:600 12px "Manrope",sans-serif}
.product-card h3{margin-bottom: 14px; font-size: 1.25rem;}
.product-card p{color: var(--muted); font-size: .93rem;}
.product-card-featured p, .product-card-featured li{color: #dce8e4;}
.product-card ul{padding-left: 17px; color: var(--muted); font-size: .84rem;}
.product-card-featured .text-link{color: #b97800;}
.advantages{background: var(--cream-2);}
.advantage-grid{display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px;}
.advantage-grid article{padding: 28px; border: 1px solid var(--border); border-radius: 18px; background: rgba(255,255,255,.75);}
.advantage-grid article > span{width: 46px; height: 46px; display: grid; place-items: center; margin-bottom: 18px; border-radius: 13px; color: var(--gold-dark); background: white; box-shadow: 0 8px 18px rgba(35, 50, 42, .08); font-size: 1.3rem;}
.advantage-grid article > span svg{width:29px;height:29px;fill:none;stroke:currentColor;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}
.advantage-grid h3{margin-bottom: 8px;}
.advantage-grid p{margin-bottom: 0; color: var(--muted); font-size: .92rem;}
.solution-section{background: radial-gradient(circle at 50% 0, #1d5142, #0e3329 58%, #09261f); color: white;}
.section-heading.light p{color: #cfddd8;}
.solution-grid article > span{color: #b97800; font-family: "Manrope"; font-size: 1.5rem; font-weight: 600;}
.solution-grid article > span svg{width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.developer-section{background: #fff;}
.developer-copy > p:not(.eyebrow){color: var(--muted);}
.check-list{list-style: none; padding: 0;}
.check-list li{padding: 7px 0 7px 29px; position: relative;}
.check-list li::before{content: "✓"; position: absolute; left: 0; color: var(--gold-dark); font-weight: 900;}
.code-card{overflow: hidden; border: 1px solid #3a403e; border-radius: 18px; background: #141918; color: #d7e2de; box-shadow: 0 24px 50px rgba(17, 28, 24, .22);}
.code-tabs{display: flex; gap: 5px; padding: 13px; background: #202625; border-bottom: 1px solid #333b38;}
.code-tabs span{padding: 7px 14px; border-radius: 8px; color: #98a7a2; font-size: .76rem;}
.code-tabs .active{background: #b97800; color: white;}
pre{margin: 0; padding: 30px; overflow-x: auto; font: 500 .9rem/1.8 Consolas, monospace;}
.comment{color: #71817b;}
.string{color: #b97800;}
.workflow-section{padding-top: 25px; background: linear-gradient(180deg, #fff, var(--cream-2));}
.workflow{display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr; align-items: center; gap: 15px;}
.workflow article{min-height: 230px; padding: 28px; border-radius: 18px; background: white; border: 1px solid var(--border);}
.workflow article > span{width: 38px; height: 38px; margin-bottom: 14px; display: grid; place-items: center; border-radius: 50%; background: var(--gold); color: white; font-weight: 600;}
.workflow h3{margin: 0 0 8px;}
.workflow p{margin: 0; color: var(--muted); font-size: .9rem;}
.workflow i{color: #b97800; font-size: 1.6rem; font-style: normal;}
.ai-section{background: var(--cream-2); padding-top: 20px;}
.ai-card{min-height: 420px; padding: 58px; display: grid; grid-template-columns: 1.1fr .9fr; align-items: center; gap: 50px; border: 1px solid var(--border); border-radius: 30px; background: linear-gradient(135deg, white 0 58%, #f5ead9 58%); overflow: hidden;}
.ai-card p:not(.eyebrow){max-width: 700px; color: var(--muted);}
.tag-list{display: flex; flex-wrap: wrap; gap: 8px; margin: 24px 0 28px;}
.tag-list span{padding: 8px 12px; border: 1px solid var(--border); border-radius: 999px; background: white; font-size: .82rem; font-weight: 700;}
.resources{background: #fff;}
.resource-grid a{padding: 28px; border: 1px solid var(--border); border-radius: 18px; transition: .2s ease;}
.resource-grid a:hover{transform: translateY(-4px); box-shadow: var(--shadow);}
.resource-grid .resource-icon{width: 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; background: var(--cream-2);}
.resource-grid .resource-icon svg{width: 25px; height: 25px; fill: none; stroke: #b97800; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round;}
.resource-grid h3{margin: 18px 0 8px;}
.resource-grid p{margin: 0; color: var(--muted); font-size: .9rem;}

.scroll-to-top{position:fixed;right:24px;bottom:24px;z-index:1000;display:grid;width:50px;height:50px;place-items:center;border:1px solid rgba(255,255,255,.22);border-radius:50%;background:#b97800;color:#fff;box-shadow:0 10px 28px rgba(7,39,31,.28);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(12px);transition:opacity .2s ease,visibility .2s ease,transform .2s ease,background-color .2s ease,box-shadow .2s ease;-webkit-tap-highlight-color:transparent}
.scroll-to-top.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
.scroll-to-top:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.scroll-to-top svg{width:22px;height:22px;fill:none;stroke:#fff;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}

/* Shared header responsive / sticky foundation */
body[class] .site-header{position:sticky;top:0;z-index:150;border-top:0;border-bottom:1px solid var(--border,#e8e1d7);background:rgba(255,255,255,.97);backdrop-filter:blur(14px); width: 100%;}

/* Desktop Header Sizes */
@media (min-width:1151px){
  body[class] .site-header{height:88px}
  body[class] .nav-wrap{height:84px}
  body[class] .site-header .brand{height:90px;gap:6px}
  body[class] .site-header .brand>.brand-mark{width:76px;height:76px;flex-basis:76px}
  body[class] .site-header .brand strong{font-size:1.9rem}
  body[class] .site-header .brand small{font-size:.8rem}
}

/* Tablet & Mobile Header Sizes */
@media (max-width:1150px){
  .primary-nav{gap: 17px;}
  .hero-grid{grid-template-columns: 1fr 1fr;}
  .product-card{grid-column: span 5; min-height: 370px;}
  .product-card:last-child{grid-column: 3 / span 6;}
  .developer-grid{gap: 40px;}
  .footer-grid{grid-template-columns: 1.5fr repeat(2, 1fr);}
}

/* FIXED & MERGED MOBILE HEADER LOGIC */
@media (max-width: 850px) {
  body[class] .site-header { height: 72px; }
  body[class] .nav-wrap { height: 68px; position: relative; }
  
  /* FIX LOGO OVERLAPPING/CUTTING ON MOBILE */
  body[class] .site-header .brand { 
    height: auto; 
    gap: 8px; 
    min-width: 0; 
    flex: 1 1 auto; 
    justify-content: flex-start; 
  }
  body[class] .site-header .brand>.brand-mark { 
    width: 36px; 
    height: 36px; 
    flex-basis: 36px; 
  }
  body[class] .site-header .brand>span:last-child {
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
    flex: 1 1 auto;
    min-width: 0;
  }
  body[class] .site-header .brand strong { 
    font-size: 1.15rem; 
    justify-content: center;
  }
  body[class] .site-header .brand small { 
    font-size: 0.5rem; 
    letter-spacing: 0.05em; 
    white-space: normal; 
    text-align: center;
  }
  
  body[class] .header-cta { display: none; }
  body[class] .menu-button { display: block; width: 42px; height: 42px; margin-left: auto; padding: 7px; border: 0; border-radius: 9px; background: transparent; cursor: pointer; flex-shrink: 0; }
  body[class] .menu-button > span:not(.sr-only) { display: block; width: 24px; height: 2px; margin: 5px auto; background: var(--ink); }
  
  body[class] .primary-nav {
    position: absolute;
    top: 68px;
    right: 0;
    left: auto;
    z-index: 200;
    display: none;
    width: min(330px, calc(100vw - 40px));
    max-height: calc(100vh - 92px);
    margin: 0;
    padding: 12px 18px;
    overflow-y: auto;
    align-items: stretch;
    flex-direction: column;
    gap: 0;
    border: 1px solid var(--border);
    border-radius: 0 0 16px 16px;
    background: #fff;
    box-shadow: 0 18px 42px rgba(21, 60, 49, .18);
  }
  body[class] .primary-nav.is-open { display: flex; }
  
  body[class] .primary-nav > a { display: flex; width: 100%; min-height: 42px; box-sizing: border-box; align-items: center; margin: 4px 0; padding: 0 8px; border-bottom: 1px solid var(--border); text-align: left; }
  body[class] .nav-item { width: 100%; border-bottom: 1px solid var(--border); }
  body[class] .nav-item > button { display: flex; width: 100%; min-height: 42px; box-sizing: border-box; align-items: center; justify-content: space-between; margin: 4px 0; padding: 0 8px; text-align: left; }
  
  body[class] .mega-menu { position: static; display: none; width: 100%; margin: 0 0 10px; padding: 6px; grid-template-columns: 1fr; gap: 0; border: 0; border-radius: 12px; background: var(--cream-2, #fffaf3); box-shadow: none; opacity: 1; visibility: visible; transform: none; }
  body[class] .nav-item.is-submenu-open .mega-menu { display: grid; transform: none; }
  body[class] .mega-menu a { min-height: 46px; padding: 12px 14px; border-radius: 8px; }
  body[class] .mega-menu span { display: none; }

  .hero-grid { grid-template-columns: 1fr; padding-top: 70px; }
  .hero-copy { text-align: center; }
  .hero h1, .hero-lead { margin-inline: auto; }
  .hero-actions, .hero-notes { justify-content: center; }
  .hero-visual { max-width: 690px; margin-inline: auto; }
  .proof-grid { grid-template-columns: 1fr 1fr; }
  .proof-grid article:nth-child(2) { border-right: 0; }
  .proof-grid article:nth-child(-n+2) { border-bottom: 1px solid var(--border); }
  .advantage-grid, .solution-grid { grid-template-columns: 1fr 1fr; }
  .developer-grid, .ai-card { grid-template-columns: 1fr; }
  .workflow { grid-template-columns: 1fr 1fr; }
  .workflow i { display: none; }
  .resource-grid { grid-template-columns: 1fr 1fr; }
  .closing-card { align-items: flex-start; flex-direction: column; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-brand { grid-column: 1 / -1; }
}

@media (max-width: 560px) {
  .container { width: min(100% - 28px, var(--container)); }
  .section { padding: 78px 0; }
  .hero-grid { min-height: auto; }
  .hero h1 { font-size: 3.2rem; }
  .proof-grid, .advantage-grid, .solution-grid, .resource-grid, .workflow { grid-template-columns: 1fr; }
  .proof-grid article { border-right: 0; border-bottom: 1px solid var(--border); }
  .proof-grid article:last-child { border-bottom: 0; }
  .product-grid { display: block; }
  .product-card { display: block; min-height: 400px; margin-bottom: 15px; }
  .ai-card { padding: 34px 24px; background: white; }
  .closing-card { padding: 38px 26px; }
  .closing-actions { width: 100%; }
  .closing-actions .button { width: 100%; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-brand { grid-column: auto; }
  .footer-bottom { padding-block: 24px; align-items: flex-start; flex-direction: column; gap: 14px; }
}