/* source: css/base.css */
:root{
  --bg-1:#1f3147;
  --bg-2:#24384f;
  --bg-3:#162638;
  --surface:#314760;
  --surface-2:#384f69;
  --border:rgba(255,255,255,.10);
  --text:#eef3f8;
  --muted:#d7e0ea;
  --soft:#a8b6c6;
  --accent:#f08c16;
  --accent-blue:#2f63b7;
  --success:#4f9a5d;
  --footer:#1f3147;
  --title-size: clamp(28px, 3.2vw, 42px);
  --subtitle-size: 18px;
  --text-size: 15px;
  --button-size: 16px;
  --button-radius: 18px;
  --card-radius: 28px;
  --shadow: 0 18px 40px rgba(0,0,0,.18);
  --container-max: 1320px;
  --space-top: 34px;
  --space-side: 28px;
  --space-bottom: 34px;
}
*{box-sizing:border-box}
html,body{height:100%}
html{scrollbar-gutter:stable}
body{
  margin:0;
  font-family:"Segoe UI", system-ui, -apple-system, Arial, sans-serif;
  color:var(--text);
  background:var(--bg-1);
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,textarea,select{font:inherit}
body.site-ready{visibility:visible}
body{visibility:visible}
@media (max-width:900px){
  :root{
    --space-top:20px;
    --space-side:16px;
    --space-bottom:24px;
    --subtitle-size:17px;
    --text-size:15px;
    --button-size:16px;
    --title-size: clamp(26px, 8vw, 36px);
  }
}


/* source: css/layout.css */
/* source: css/site-polish.css */
/* Shared visual polish: one public typography scale, stronger menu icons and footer icon pills. */
:root{
  --type-display:clamp(33px,2.9vw,42px);
  --type-page-title:clamp(28px,2.35vw,35px);
  --type-section-title:clamp(21px,1.75vw,28px);
  --type-card-title:17px;
  --type-subtitle:15px;
  --type-body:14px;
  --type-small:12px;
  --type-label:11px;
  --type-line:1.62;
}

/* One typography system for all public pages. Admin is intentionally excluded. */
.site:not(.admin-site) .home-hero-title{
  font-size:var(--type-display)!important;
  line-height:1.04!important;
}
.site:not(.admin-site) :is(.product-hero-v2 h1,.download-title,.content-title,.title,.contact-page-title){
  font-size:var(--type-page-title)!important;
  line-height:1.08!important;
}
.site:not(.admin-site) :is(.home-section-title,.home-final-cta h2,.home-installer-intro h3,.product-section-heading h2,.product-ecosystem-copy h2,.download-section-title,.about-cta h2,.contact-form-heading h2,.section-heading,.file-section-title){
  font-size:var(--type-section-title)!important;
  line-height:1.14!important;
}
.site:not(.admin-site) :is(.home-feature-card h3,.home-installer-item h4,.product-module-card strong,.product-flow-step h3,.product-capability-card h3,.download-release-info h2,.download-sample-card h3,.download-benefit-card strong,.download-platform-card strong,.about-value-card h2,.about-story-card h2,.contact-panel-title){
  font-size:var(--type-card-title)!important;
  line-height:1.24!important;
}
.site:not(.admin-site) :is(.subtitle,.home-hero-subtitle,.product-hero-copy>p,.download-hero-copy .subtitle,.content-hero .subtitle){
  font-size:var(--type-subtitle)!important;
  line-height:var(--type-line)!important;
}
.site:not(.admin-site) :is(.body-text,.bullets li,.spec-list li,.home-hero-detail-list li,.home-section-copy,.home-feature-card p,.home-workflow-note,.product-section-heading p,.product-flow-step p,.product-capability-card li,.product-ecosystem-copy>p,.product-trust-list span,.download-release-info p,.download-section-copy,.download-benefit-card span,.download-sample-card p,.content-page-body p,.content-page-body li,.contact-panel-copy,.contact-form-heading p,.about-story-card p,.about-focus-heading p,.legal-document .body-text,.legal-document .bullets li){
  font-size:var(--type-body)!important;
  line-height:var(--type-line)!important;
}
.site:not(.admin-site) :is(.home-section-label,.product-section-label,.download-section-label,.content-kicker,.download-kicker,.contact-page-label,.product-eyebrow,.home-kicker){
  font-size:var(--type-label)!important;
}
.site:not(.admin-site) :is(.home-availability span,.home-hero-capability small,.home-proof-item small,.product-hero-meta span,.product-hero-summary small,.download-meta-chip,.download-platform-card small,.download-sample-meta span,.download-release-action small,.content-summary-card span,.contact-field-label,.contact-consent,.status-text){
  font-size:var(--type-small)!important;
}

.site-header .main-nav .nav-link{
  gap:10px;
  padding:12px 15px;
}
.site-header .main-nav .nav-link::before{
  width:21px;
  height:21px;
  flex-basis:21px;
  opacity:1;
  filter:drop-shadow(0 3px 8px rgba(0,0,0,.22));
}
.site-header .main-nav .nav-link:not(.active)::before{background:#dce8f4}
.site-header .main-nav .nav-link.active::before{background:#ffb45c}
.site-header .main-nav .nav-link:hover::before{background:#fff}

.site-footer{
  background:
    radial-gradient(circle at 82% 0%,rgba(47,99,183,.16),transparent 34%),
    linear-gradient(90deg,rgba(9,18,29,.98),rgba(13,29,44,.98));
}
.site-footer .footer-inner{min-height:42px}
.site-footer .footer-inner>span:first-child,
.site-footer .footer-inner>.footer-url{
  display:inline-flex;
  align-items:center;
  gap:9px;
  min-height:34px;
  padding:7px 11px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.045);
}
.site-footer .footer-inner>span:first-child::before,
.site-footer .footer-inner>.footer-url::before{
  content:"";
  width:17px;
  height:17px;
  flex:0 0 17px;
  background:#ffb45c;
  -webkit-mask:center/contain no-repeat;
  mask:center/contain no-repeat;
}
.site-footer .footer-inner>span:first-child::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2 4 5v6c0 5.2 3.4 9.5 8 11 4.6-1.5 8-5.8 8-11V5zm-1 14-4-4 1.4-1.4 2.6 2.6 5.6-5.6L18 9z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2 4 5v6c0 5.2 3.4 9.5 8 11 4.6-1.5 8-5.8 8-11V5zm-1 14-4-4 1.4-1.4 2.6 2.6 5.6-5.6L18 9z'/%3E%3C/svg%3E");
}
.site-footer .footer-inner>.footer-url::before{
  background:#9fc3f6;
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm6.9 6H16a15.7 15.7 0 0 0-1.4-3.5A8.1 8.1 0 0 1 18.9 8zM12 4c.8 1 1.5 2.4 1.9 4h-3.8C10.5 6.4 11.2 5 12 4zM9.4 4.5A15.7 15.7 0 0 0 8 8H5.1a8.1 8.1 0 0 1 4.3-3.5zM4.3 10h3.4c-.1.7-.1 1.3-.1 2s0 1.3.1 2H4.3a8 8 0 0 1 0-4zm.8 6H8c.3 1.3.8 2.5 1.4 3.5A8.1 8.1 0 0 1 5.1 16zm6.9 4c-.8-1-1.5-2.4-1.9-4h3.8c-.4 1.6-1.1 3-1.9 4zm2.3-6H9.7c-.1-.7-.1-1.3-.1-2s0-1.3.1-2h4.6c.1.7.1 1.3.1 2s0 1.3-.1 2zm.3 5.5A15.7 15.7 0 0 0 16 16h2.9a8.1 8.1 0 0 1-4.3 3.5zM16.3 14c.1-.7.1-1.3.1-2s0-1.3-.1-2h3.4a8 8 0 0 1 0 4z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm6.9 6H16a15.7 15.7 0 0 0-1.4-3.5A8.1 8.1 0 0 1 18.9 8zM12 4c.8 1 1.5 2.4 1.9 4h-3.8C10.5 6.4 11.2 5 12 4zM9.4 4.5A15.7 15.7 0 0 0 8 8H5.1a8.1 8.1 0 0 1 4.3-3.5zM4.3 10h3.4c-.1.7-.1 1.3-.1 2s0 1.3.1 2H4.3a8 8 0 0 1 0-4zm.8 6H8c.3 1.3.8 2.5 1.4 3.5A8.1 8.1 0 0 1 5.1 16zm6.9 4c-.8-1-1.5-2.4-1.9-4h3.8c-.4 1.6-1.1 3-1.9 4zm2.3-6H9.7c-.1-.7-.1-1.3-.1-2s0-1.3.1-2h4.6c.1.7.1 1.3.1 2s0 1.3-.1 2zm.3 5.5A15.7 15.7 0 0 0 16 16h2.9a8.1 8.1 0 0 1-4.3 3.5zM16.3 14c.1-.7.1-1.3.1-2s0-1.3-.1-2h3.4a8 8 0 0 1 0 4z'/%3E%3C/svg%3E");
}
.site-footer .footer-inner>.footer-url:hover{background:rgba(255,255,255,.08)}

/* Same compact top format on Contact, Privacy and About. */
.content-page-card .content-hero{
  min-height:170px;
  background:
    radial-gradient(circle at 88% 15%,rgba(63,111,194,.24),transparent 39%),
    linear-gradient(135deg,rgba(255,255,255,.06),rgba(255,255,255,.018));
}
.content-page-card .content-hero-symbol{box-shadow:0 12px 28px rgba(0,0,0,.15)}
.content-page-card .content-hero-badge{
  background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.055));
  box-shadow:0 12px 28px rgba(0,0,0,.10);
}
.content-page-card .content-page-body{background:linear-gradient(180deg,rgba(255,255,255,.012),rgba(0,0,0,.018))}

.content-page-card .legal-document{
  width:100%;
  max-width:none;
  min-height:0;
  overflow:visible;
  padding:26px 28px 34px;
  background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.022));
}
.content-page-card .legal-document .section-title{
  display:flex;
  align-items:center;
  gap:10px;
}
.content-page-card .legal-document .section-title::before{
  content:"";
  width:7px;
  height:7px;
  flex:0 0 7px;
  border-radius:50%;
  background:#ffb45c;
  box-shadow:0 0 0 5px rgba(255,180,92,.10);
}
.content-page-card .legal-document .body-text,
.content-page-card .legal-document .bullets li{max-width:none}

/* Keep one explanation of each product topic. */
.product-detail-section{display:none!important}
.product-summary-list{display:none!important}
.product-hero-summary{align-content:center}

@media (max-width:900px){
  :root{
    --type-display:clamp(31px,8vw,39px);
    --type-page-title:clamp(27px,7vw,34px);
    --type-section-title:clamp(21px,5vw,27px);
    --type-subtitle:15px;
    --type-body:14px;
  }
  .site-header .main-nav .nav-link::before{
    width:19px;
    height:19px;
    flex-basis:19px;
  }
}
@media (max-width:650px){
  .site-footer .footer-inner>span:first-child,
  .site-footer .footer-inner>.footer-url{justify-content:center}
  .content-page-card .content-hero{min-height:0}
}



.site{
  min-height:100dvh;
  display:grid;
  grid-template-rows:auto 1fr auto;
  background:var(--bg-1);
}
/* One document scroll: the footer follows the content on every public page. */
html:has(body > .site:not(.admin-site)){
  height:auto;
  overflow-y:auto;
  scrollbar-gutter:stable;
  scrollbar-color:#8a98aa #1f3147;
}
body:has(> .site:not(.admin-site)){height:auto;min-height:100dvh}
.site:not(.admin-site){
  height:auto;
  min-height:100dvh;
  grid-template-rows:auto 1fr auto;
  overflow:visible;
}
.site:not(.admin-site) > .page-main{
  min-width:0;
  min-height:0;
  overflow:visible;
  scrollbar-gutter:auto;
}
.site > .company-main{
  padding:0;
}
.site-header{
  position:sticky;
  top:0;
  z-index:20;
  background:linear-gradient(90deg, rgba(10,18,29,.92), rgba(13,28,43,.92));
  border-bottom:1px solid rgba(255,255,255,.07);
  backdrop-filter: blur(8px);
}
.header-inner{
  max-width:var(--container-max);
  margin:0 auto;
  min-height:84px;
  padding:0 var(--space-side);
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:center;
  gap:30px;
}
.brand{display:flex;align-items:center;gap:14px;min-width:220px}
.brand img{width:36px;height:36px;object-fit:contain}
.brand-copy{display:flex;flex-direction:column;justify-content:center}
.brand-name{font-size:22px;font-weight:800;line-height:1}
.brand-tag{font-size:12px;color:var(--muted);margin-top:4px;line-height:1.2}
.main-nav{display:flex;justify-content:center;align-items:center;gap:18px;flex-wrap:wrap}
.page-main{
  width:100%;
  padding:var(--space-top) var(--space-side) var(--space-bottom);
  background:var(--bg-1);
}
.page-shell{max-width:var(--container-max);margin:0 auto}
.page-card{
  width:100%;
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--card-radius);
  padding:32px 28px;
  box-shadow:var(--shadow);
}
.page-inner{
  width:100%;
  background:var(--surface);
  border:1px solid rgba(255,255,255,.08);
  border-radius:24px;
  padding:24px;
  margin-top:20px;
}
.section-title{
  color:#ffffff;
}
.site-footer{
  width:100%;
  background:linear-gradient(90deg, rgba(10,18,29,.92), rgba(13,28,43,.92));
  border-top:1px solid rgba(255,255,255,.07);
  backdrop-filter: blur(8px);
  padding:16px var(--space-side);
}
.site-footer .footer-inner{
  max-width:var(--container-max);
  margin:0 auto;
  color:var(--muted);
  font-size:14px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  text-align:left;
}
.footer-url{
  color:var(--muted);
  font-weight:600;
  white-space:nowrap;
}
.footer-url:hover{
  color:#ffffff;
}
@media (max-width:900px){
  .header-inner{grid-template-columns:1fr;gap:14px;padding-top:14px;padding-bottom:14px;min-height:auto}
  .brand{justify-content:center;min-width:0}
  .main-nav{gap:10px}
  .page-card{padding:22px 18px}
  .page-inner{padding:18px}
  .site-footer .footer-inner{flex-direction:column;justify-content:center;text-align:center;gap:8px}
}

/* Opaque scrollbar surface matches the public page background. */
html:has(body > .site:not(.admin-site)){
  scrollbar-color:#8a98aa #1f3147;
}
html:has(body > .site:not(.admin-site))::-webkit-scrollbar{
  width:14px;
  background:#1f3147;
}
html:has(body > .site:not(.admin-site))::-webkit-scrollbar-track,
html:has(body > .site:not(.admin-site))::-webkit-scrollbar-corner,
html:has(body > .site:not(.admin-site))::-webkit-scrollbar-button{
  background-color:#1f3147;
}
html:has(body > .site:not(.admin-site))::-webkit-scrollbar-thumb{
  background:#8a98aa;
  border:3px solid #1f3147;
  border-radius:8px;
}
html:has(body > .site:not(.admin-site))::-webkit-scrollbar-thumb:hover{
  background:#b0bdcc;
}
/* On phones the document scrolls as a whole: header, content and footer. */
@media(max-width:900px){
  html:has(body > .site:not(.admin-site)){
    height:auto;
    overflow-y:auto;
    scrollbar-color:#8a98aa #1f3147;
  }
  body:has(> .site:not(.admin-site)){height:auto;min-height:100dvh}
  .site:not(.admin-site){height:auto;min-height:100dvh;overflow:visible;grid-template-rows:auto 1fr auto}
  .site:not(.admin-site) > .page-main{overflow:visible;scrollbar-gutter:auto}
  .site:not(.admin-site) > .site-header{position:static}
  html:has(body > .site:not(.admin-site))::-webkit-scrollbar{width:14px;background:#1f3147}
  html:has(body > .site:not(.admin-site))::-webkit-scrollbar-track,
  html:has(body > .site:not(.admin-site))::-webkit-scrollbar-corner,
  html:has(body > .site:not(.admin-site))::-webkit-scrollbar-button{background-color:#1f3147}
  html:has(body > .site:not(.admin-site))::-webkit-scrollbar-thumb{background:#8a98aa;border:3px solid #1f3147;border-radius:8px}
}


/* source: css/components.css */
.nav-link{
  --nav-icon:none;
  border:none;
  background:transparent;
  color:var(--text);
  font-size:var(--button-size);
  font-weight:700;
  padding:13px 16px;
  border-radius:18px;
  transition:background .18s ease, transform .18s ease, box-shadow .18s ease, color .18s ease;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  position:relative;
}
.nav-link::before{
  content:"";
  width:17px;
  height:17px;
  flex:0 0 17px;
  background:currentColor;
  opacity:.78;
  -webkit-mask:var(--nav-icon) center / contain no-repeat;
  mask:var(--nav-icon) center / contain no-repeat;
  transition:opacity .18s ease, background .18s ease;
}
.nav-link[href$="index.html"]{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 11.2 12 4l9 7.2V21h-6v-6H9v6H3z'/%3E%3C/svg%3E")}
.nav-link[href$="products.html"]{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m12 2 9 5-9 5-9-5zm-9 9 9 5 9-5v6l-9 5-9-5z'/%3E%3C/svg%3E")}
.nav-link[href$="files.html"]{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M11 3h2v10l3.5-3.5 1.4 1.4L12 16.8l-5.9-5.9 1.4-1.4L11 13zM4 19h16v2H4z'/%3E%3C/svg%3E")}
.nav-link[href$="support.html"]{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 4h16v12H8l-4 4zm3 4h10v2H7zm0 4h7v2H7z'/%3E%3C/svg%3E")}
.nav-link[href$="privacy.html"]{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2 4 5v6c0 5.2 3.4 9.5 8 11 4.6-1.5 8-5.8 8-11V5zm0 4a3 3 0 0 1 3 3v1h1v6H8v-6h1V9a3 3 0 0 1 3-3zm0 2a1 1 0 0 0-1 1v1h2V9a1 1 0 0 0-1-1z'/%3E%3C/svg%3E")}
.nav-link[href$="about.html"]{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M11 10h2v7h-2zm0-4h2v2h-2z'/%3E%3Cpath d='M12 2a10 10 0 1 1 0 20 10 10 0 0 1 0-20zm0 2a8 8 0 1 0 0 16 8 8 0 0 0 0-16z'/%3E%3C/svg%3E")}
/* Lucide navigation masks render without waiting for the icon runtime. */
#companyLoginLink{
  flex:0 0 7.5em;
  width:7.5em;
  white-space:nowrap;
  --nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4'/%3E%3Cpolyline points='10 17 15 12 10 7'/%3E%3Cline x1='15' x2='3' y1='12' y2='12'/%3E%3C/svg%3E");
}
html[data-company-nav="logout"] #companyLoginLink{
  --nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4'/%3E%3Cpolyline points='16 17 21 12 16 7'/%3E%3Cline x1='21' x2='9' y1='12' y2='12'/%3E%3C/svg%3E");
}
html[data-company-nav="panel"] #companyLoginLink{
  --nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='7' height='9' x='3' y='3' rx='1'/%3E%3Crect width='7' height='5' x='14' y='3' rx='1'/%3E%3Crect width='7' height='9' x='14' y='12' rx='1'/%3E%3Crect width='7' height='5' x='3' y='16' rx='1'/%3E%3C/svg%3E");
}
#companyLoginLink [data-company-label] { display:none; }
#companyLoginLink [data-company-label="login"] { display:inline; }
html[data-company-nav="panel"] #companyLoginLink [data-company-label="login"],
html[data-company-nav="logout"] #companyLoginLink [data-company-label="login"] { display:none; }
html[data-company-nav="panel"] #companyLoginLink [data-company-label="panel"],
html[data-company-nav="logout"] #companyLoginLink [data-company-label="logout"] { display:inline; }
html[data-company-nav="pending"] #companyLoginLink { visibility:hidden; }
.nav-link:hover{
  background:rgba(255,255,255,.065);
  transform:translateY(-1px);
}
.nav-link:hover::before{opacity:1}
.nav-link.active{
  background:linear-gradient(180deg,rgba(255,255,255,.145),rgba(255,255,255,.09));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.10),0 8px 22px rgba(0,0,0,.13);
}
.nav-link.active::before{
  background:#ffb45c;
  opacity:1;
}
.eyebrow{color:var(--soft);text-transform:uppercase;letter-spacing:.08em;font-size:13px;font-weight:700;margin-bottom:14px}
.title{font-size:var(--title-size);line-height:1.1;font-weight:800;margin:0 0 16px}
.subtitle{font-size:var(--subtitle-size);color:var(--muted);line-height:1.6;margin:0}
.body-text,.bullets li,.spec-list li,.support-list li,.file-row span,.file-row strong,.file-meta,.file-name{
  font-size:var(--text-size);color:var(--muted);line-height:1.7;
}
.cta-row{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.btn{border:none;border-radius:var(--button-radius);padding:14px 24px;font-size:var(--button-size);font-weight:700;font-family:inherit;cursor:pointer;transition:.18s ease}
.btn:hover{transform:translateY(-1px)}
.btn:disabled{opacity:.62;cursor:wait;transform:none}
.btn-buy{background:#b65f00;color:white}
.btn-buy:hover{background:#a94f00}
.btn-live{background:var(--accent-blue);color:white}
.btn-neutral{background:rgba(255,255,255,.10);color:white}
.btn-send{background:#2f7d40;color:white}
.btn-send:hover{background:#236832}
.price-line{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap;margin:10px 0 0}
.old-price{font-size:24px;color:#cfd7e0;opacity:.6;text-decoration:line-through;font-weight:700}
.new-price{font-size:44px;line-height:1;color:#ffbd4a;font-weight:800}
.offer-note{font-size:18px;color:#b9f0bf;font-weight:400}
.section-rule{border-top:1px solid rgba(255,255,255,.10);margin:20px 0 18px}
.section-title{
  font-size:14px;
  letter-spacing:.02em;
  color:#ffffff;
  font-weight:400;
  margin:0 0 12px;
}
.hero-grid{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:24px;
  align-items:center;
}
.hero-visual{min-height:360px;border-radius:24px;overflow:hidden;position:relative;background:rgba(255,255,255,.03)}
.hero-visual img{width:100%;height:100%;object-fit:cover}
.compact-block{display:grid;gap:14px}
.spec-list,.bullets,.support-list{margin:0;padding-left:24px}
.contact-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:22px}
.contact-title{font-size:var(--title-size);font-weight:800;margin:0 0 14px;line-height:1.1}
.social-wrap{margin-top:22px}
.social-title{font-size:16px;color:var(--muted);margin-bottom:14px}
.social-icons{display:flex;gap:16px;flex-wrap:wrap}
.social-icons a{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);color:#fff;transition:.18s ease}
.social-icons a:hover{transform:translateY(-1px);background:rgba(255,255,255,.12)}
.social-icons svg{width:26px;height:26px;display:block;fill:currentColor}
.form-grid{display:grid;gap:12px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.field{width:100%;background:rgba(255,255,255,.96);border:1px solid rgba(0,0,0,.05);border-radius:18px;padding:16px 18px;font-size:16px;color:#243648}
select.field{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:none;color:#7b8490}
select.field.has-value{color:#243648}
textarea.field{min-height:180px;resize:vertical}
.status-text{font-size:14px;color:var(--muted)}
.product-top{display:flex;justify-content:space-between;gap:22px;align-items:flex-start;flex-wrap:wrap}
.product-copy{min-width:320px;flex:1 1 580px}
.product-actions{justify-content:flex-end;flex:0 0 auto;padding-top:8px}
.brand-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;line-height:1.05}
.brand-tag{display:block;margin-top:4px}
.file-title{margin-bottom:10px}
.file-table{margin-top:6px}
.file-table-header,.file-table-row{display:grid;grid-template-columns:minmax(0,1.45fr) 150px 120px 120px 90px 160px;gap:14px;align-items:center;padding:14px 0}
.file-table-header{color:var(--soft);font-size:13px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;border-bottom:1px solid rgba(255,255,255,.08)}
.file-table-row{border-bottom:1px solid rgba(255,255,255,.08)}
.file-table-row:last-child{border-bottom:none}
.file-name{color:var(--text);font-weight:600}
.file-download{justify-self:end;min-width:148px;text-align:center}

.home-hero-card{
  position:relative;
  overflow:hidden;
  min-height:520px;
  background:
    linear-gradient(90deg,rgba(31,49,71,.88) 0%,rgba(31,49,71,.76) 36%,rgba(31,49,71,.52) 62%,rgba(31,49,71,.30) 100%),
    url('/assets/hero-home.png') center center / cover no-repeat;
}
.home-hero-content{
  position:relative;
  z-index:1;
  min-height:456px;
  display:flex;
  align-items:center;
  max-width:560px;
}
.home-copy .title{margin-bottom:12px}
.home-copy .subtitle{max-width:520px}

:where(a,button,input,select,textarea):focus-visible{
  outline:3px solid #ffb45c;
  outline-offset:3px;
}

@media (max-width:900px){
  .hero-grid,.contact-grid,.form-row{grid-template-columns:1fr}
  .hero-visual{min-height:260px}
  .new-price{font-size:38px}
  .old-price{font-size:21px}
  .product-top{gap:16px}
  .file-table-header{display:none}
  .file-table-row{grid-template-columns:1fr;gap:6px;padding:16px 0}
  .file-download{justify-self:stretch}
  .home-hero-card{
    min-height:400px;
    background:
      linear-gradient(180deg,rgba(31,49,71,.88) 0%,rgba(31,49,71,.72) 42%,rgba(31,49,71,.48) 100%),
      url('/assets/hero-home.png') center center / cover no-repeat;
  }
  .home-hero-content{
    min-height:340px;
    max-width:none;
    align-items:flex-start;
    padding-top:8px;
  }
}

