/* Airvian V3 corrections — premium text-only hero + real product photography. */

.av3-hero-text-only{padding:64px 0 58px}
.av3-hero-text-only .av-shell{display:block}
.av3-hero-headline{
  padding-bottom:28px;
  border-bottom:1px solid #d4deea;
}
.av3-hero-headline h1{
  max-width:none;
  margin:0;
  color:var(--av-navy);
  font-size:clamp(44px,4.15vw,58px);
  font-weight:800;
  letter-spacing:-.05em;
  line-height:1.02;
}
.av3-hero-lower{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(390px,470px);
  gap:70px;
  align-items:start;
  padding-top:31px;
}
.av3-hero-text-only .av3-hero-copy{max-width:760px}
.av3-hero-text-only .av3-hero-lead{
  max-width:720px;
  margin-top:0;
  font-size:17px;
  line-height:1.7;
}
.av3-hero-text-only .av3-hero-actions{margin-top:26px}
.av3-hero-text-only .av3-hero-points{margin-top:21px}

.av3-hero-finder{
  overflow:hidden;
  border:1px solid #cbd7e5;
  border-top:4px solid var(--av-red);
  border-radius:16px;
  background:#fff;
  box-shadow:0 16px 38px rgba(0,40,104,.075);
}
.av3-hero-finder-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:18px 20px 15px;
  border-bottom:1px solid var(--av-line);
}
.av3-hero-finder-head span{
  color:var(--av-red);
  font:700 12px/1 'IBM Plex Mono',monospace;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.av3-hero-finder-head strong{color:var(--av-navy);font-size:15px}
.av3-hero-finder-fields{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  padding:18px 20px 0;
}
.av3-hero-finder-fields label>span{
  display:block;
  margin-bottom:7px;
  color:#65758d;
  font-size:12px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.av3-hero-finder-fields select{
  width:100%;
  height:46px;
  padding:0 11px;
  border:1px solid #bfcddd;
  border-radius:9px;
  background:#fff;
  color:var(--av-ink);
  font:700 14px 'Urbanist',sans-serif;
}
.av3-hero-finder-result{
  display:grid;
  grid-template-columns:1fr auto;
  gap:14px;
  align-items:center;
  margin:14px 20px 20px;
  padding:15px;
  border-radius:11px;
  background:#edf3fa;
}
.av3-hero-finder-result small{
  display:block;
  color:#77879d;
  font:700 11px/1 'IBM Plex Mono',monospace;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.av3-hero-finder-result strong{
  display:block;
  margin-top:5px;
  color:var(--av-navy);
  font-size:21px;
}
.av3-hero-finder-result .av3-btn{
  min-height:40px;
  padding:8px 13px;
  font-size:12px;
}
.av3-derived-slots{
  display:block;
  margin-top:6px;
  color:#5d6d84;
  font-size:13px;
  line-height:1.4;
  font-weight:700;
}
.av3-finder-note{
  margin:8px 0 0;
  color:#6c7b90;
  font-size:13px;
  line-height:1.45;
}
.av3-finder-invalid{
  color:var(--av-red);
  font-size:11px;
  font-weight:800;
}

/* Homepage slot imagery: dedicated WebP derivatives cropped from the real Airvian product photos. */
.av3-slot-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  align-items:stretch;
}
.av3-slot-card{
  display:grid;
  grid-template-rows:170px 1fr auto;
  height:100%;
  min-height:285px;
  padding:0;
  overflow:hidden;
  border-radius:16px;
  background:#fff;
}
.av3-slot-photo{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:170px;
  overflow:hidden;
  padding:8px 12px;
  border-bottom:1px solid var(--av-line);
  background:#f8fafc;
}
.av3-slot-photo img{
  display:block;
  width:100%;
  height:100%;
  max-width:100%;
  object-fit:contain;
  object-position:center;
}
.av3-slot-card>div:nth-child(2),
.av3-slot-card-copy{
  margin-top:0;
  padding:17px 18px 0;
}
.av3-slot-card>div:nth-child(2) strong,
.av3-slot-card-copy strong{
  display:block;
  color:var(--av-navy);
  font-size:19px;
  line-height:1.2;
  font-weight:800;
}
.av3-slot-card>div:nth-child(2) span,
.av3-slot-card-copy span{
  display:block;
  margin-top:6px;
  color:var(--av-muted);
  font-size:14px;
  line-height:1.4;
  font-weight:600;
}
.av3-slot-card small{
  display:block;
  margin-top:0;
  padding:13px 18px 18px;
  color:var(--av-red);
  font-size:13px;
  line-height:1.35;
  font-weight:800;
}

/* Lower size guidance is instructional, not a duplicated configurator. */
.av3-sizing-steps{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.av3-sizing-steps article{
  padding:25px;
  border:1px solid #d5dfeb;
  border-radius:15px;
  background:#fff;
}
.av3-sizing-steps span{
  display:block;
  margin-bottom:20px;
  color:var(--av-red);
  font:800 32px/1 'Urbanist',sans-serif;
  letter-spacing:-.03em;
}
.av3-sizing-steps strong{
  display:block;
  color:var(--av-navy);
  font-size:21px;
  line-height:1.25;
}
.av3-sizing-steps p{
  margin:10px 0 0;
  color:var(--av-muted);
  font-size:15px;
  line-height:1.65;
}
.av3-sizing-link{margin-top:22px}

/* Product photography below the fold is presented as editorial crops, not raw square listing canvases. */
.av3-spec-media{
  min-height:0;
  aspect-ratio:1/1;
  padding:0;
  overflow:hidden;
  border-radius:18px;
  background:#f8fafc;
}
.av3-spec-media img{
  width:100%;
  height:100%;
  max-height:none;
  object-fit:contain;
  object-position:center;
}
.av3-spec-media::after{display:none}
.av3-spec-table span{
  font-size:14px;
  line-height:1.45;
}
.av3-spec-table strong{
  font-size:15px;
  line-height:1.45;
}

/* Application cards: use the available space and keep instructional text readable. */
.av3-application-grid article{
  min-height:235px;
  padding:30px 30px 28px;
  border-top:4px solid var(--av-navy);
}
.av3-app-label{
  display:block;
  margin-bottom:24px;
  color:var(--av-red);
  font:800 28px/1 'Urbanist',sans-serif;
  letter-spacing:-.03em;
}
.av3-application-grid article:nth-child(2){border-top-color:var(--av-red)}
.av3-application-grid h3{
  margin:0;
  font-size:22px;
  line-height:1.25;
  font-weight:800;
}
.av3-application-grid p{
  margin:12px 0 0;
  font-size:16px;
  line-height:1.65;
}

/* Guides: numbered cards should read like primary homepage content, not footnotes. */
.av3-resource-grid a{
  min-height:285px;
  padding:30px;
}
.av3-resource-grid span{
  color:var(--av-red);
  font:800 28px/1 'Urbanist',sans-serif;
  letter-spacing:-.03em;
}
.av3-resource-grid strong{
  margin-top:28px;
  font-size:22px;
  line-height:1.25;
}
.av3-resource-grid p{
  margin:12px 0 0;
  font-size:16px;
  line-height:1.65;
}
.av3-resource-grid em{
  padding-top:24px;
  font-size:15px;
  line-height:1.3;
  font-weight:800;
}

/* Readability floor for homepage utility labels. */
.av3-eyebrow{font-size:13px}
.av3-proof-grid span{font-size:13px}
.av3-hero-points{font-size:13px}
.av3-text-link{font-size:14px}
.av-footer-signature{font-size:12px}

.av-size-orientation-note{
  margin:0 0 18px;
  padding:12px 14px;
  border:1px solid #d6e0ec;
  border-radius:10px;
  background:#f7f9fc;
  color:#596a82;
  font-size:14px;
  line-height:1.55;
}

@media(min-width:1180px){
  .av3-hero-headline h1{white-space:nowrap}
}
@media(max-width:1080px){
  .av3-hero-lower{grid-template-columns:1fr 400px;gap:38px}
  .av3-slot-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:860px){
  .av3-hero-text-only{padding:50px 0}
  .av3-hero-lower{grid-template-columns:1fr;gap:28px}
  .av3-hero-finder{max-width:620px;width:100%}
  .av3-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .av3-sizing-steps{grid-template-columns:1fr}
}
@media(max-width:620px){
  .av3-hero-text-only{padding:40px 0 44px}
  .av3-hero-headline{padding-bottom:22px}
  .av3-hero-headline h1{font-size:39px;line-height:1.04}
  .av3-hero-lower{padding-top:24px}
  .av3-hero-text-only .av3-hero-lead{font-size:16px}
  .av3-hero-finder-fields{grid-template-columns:1fr}
  .av3-hero-finder-result{grid-template-columns:1fr}
  .av3-hero-finder-result .av3-btn{width:100%}
  .av3-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .av3-slot-card{grid-template-rows:138px 1fr auto;min-height:255px}
  .av3-slot-photo{height:138px;padding:6px 8px}
  .av3-slot-card>div:nth-child(2),.av3-slot-card-copy{padding:14px 14px 0}
  .av3-slot-card>div:nth-child(2) strong,.av3-slot-card-copy strong{font-size:17px}
  .av3-slot-card>div:nth-child(2) span,.av3-slot-card-copy span{font-size:13px}
  .av3-slot-card small{padding:10px 14px 15px;font-size:12px}
  .av3-application-grid article{min-height:auto;padding:24px}
  .av3-app-label{font-size:24px;margin-bottom:18px}
  .av3-application-grid h3{font-size:20px}
  .av3-application-grid p{font-size:16px}
  .av3-resource-grid a{min-height:auto;padding:24px}
  .av3-resource-grid span{font-size:24px}
  .av3-resource-grid strong{margin-top:22px;font-size:20px}
  .av3-resource-grid p{font-size:16px}
  .av3-resource-grid em{font-size:16px}
}
@media(max-width:390px){
  .av3-slot-grid{grid-template-columns:1fr}
}
