/* 408-UI-3.5 — Buyer Experience Redesign
   Visual-only layer. Buyer attribution, closing urgency, form, submission, and CoverageFit contracts remain authoritative. */
body.buyer-page{
  --buyer-navy:var(--ui3-navy-800);
  --buyer-deep:var(--ui3-navy-950);
  --buyer-red:var(--ui3-red);
  --buyer-ink:var(--ui3-ink);
  --buyer-muted:var(--ui3-muted);
  --buyer-line:var(--ui3-line);
  --buyer-soft:var(--ui3-soft);
  --buyer-shadow:var(--ui3-shadow-sm);
  background:var(--ui3-white);
}

/* Stable compact shell even before progressive UI enhancement finishes. */
body.buyer-page .buyer-header{
  min-height:64px;
  height:64px;
  padding:0 max(18px,calc((100vw - 1240px)/2));
  border:0;
  border-bottom:1px solid rgba(255,255,255,.1);
  background:var(--ui3-navy-950);
  box-shadow:0 3px 18px rgba(3,26,61,.1);
}
body.buyer-page .buyer-brand img{height:37px;max-width:214px}
body.buyer-page .buyer-header-contact{color:#fff}
body.buyer-page .buyer-header-contact span{color:rgba(255,255,255,.7)}
body.buyer-page .buyer-header-contact strong{color:#fff}

/* Buyer conversion hero — closing-first, not campaign-page oversized. */
body.buyer-page .buyer-hero{
  grid-template-columns:minmax(0,.94fr) minmax(390px,1.06fr);
  gap:clamp(34px,5vw,70px);
  width:min(var(--ui3-container),calc(100% - 40px));
  padding:clamp(44px,6vw,72px) 0 clamp(52px,7vw,82px);
}
body.buyer-page .buyer-hero-copy{max-width:600px}
body.buyer-page .buyer-referral-pill{
  margin:0 0 18px;
  padding:9px 13px;
  border:1px solid #cfdceb;
  border-radius:var(--ui3-radius-pill);
  background:var(--ui3-soft-blue);
  color:var(--ui3-navy-800);
  box-shadow:none;
}
body.buyer-page .buyer-referral-pill strong{color:var(--ui3-red)}
body.buyer-page .buyer-kicker{
  color:var(--ui3-red);
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.13em;
}
body.buyer-page .buyer-hero h1{
  margin:12px 0 12px;
  color:var(--ui3-navy-950);
  font-size:clamp(3.1rem,6.3vw,5.7rem);
  line-height:.94;
  letter-spacing:-.055em;
}
body.buyer-page .buyer-hero-lead{
  max-width:570px;
  color:var(--ui3-navy-800);
  font-size:clamp(1.25rem,2.1vw,1.72rem);
  line-height:1.28;
  font-weight:780;
  letter-spacing:-.026em;
}
body.buyer-page .buyer-hero-copy>p:not(.buyer-referral-pill):not(.buyer-hero-lead):not(.buyer-reassurance){
  max-width:570px;
  margin:14px 0 0;
  color:var(--ui3-muted);
  font-size:1rem;
  line-height:1.67;
}
body.buyer-page .buyer-actions{margin-top:24px;gap:10px}
body.buyer-page .buyer-button{min-height:50px;padding:0 18px;border-radius:var(--ui3-radius-sm);box-shadow:none}
body.buyer-page .buyer-button--primary{
  border:1px solid var(--ui3-red)!important;
  background:var(--ui3-red)!important;
  color:#fff!important;
}
body.buyer-page .buyer-button--primary:hover{background:var(--ui3-red-700)!important;border-color:var(--ui3-red-700)!important}
body.buyer-page .buyer-button--secondary{border-color:var(--ui3-line-strong);color:var(--ui3-navy-800)}
body.buyer-page .buyer-reassurance{
  max-width:560px;
  margin-top:15px!important;
  color:var(--ui3-muted);
  font-size:.8rem!important;
  line-height:1.5!important;
}
body.buyer-page .buyer-visual{
  min-height:430px;
  border:1px solid var(--ui3-line);
  border-radius:var(--ui3-radius-lg);
  background:var(--ui3-soft);
  box-shadow:var(--ui3-shadow-sm);
}
body.buyer-page .buyer-visual>img{min-height:430px}
body.buyer-page .buyer-visual:after{background:linear-gradient(180deg,transparent 53%,rgba(3,26,61,.72) 100%)}
body.buyer-page .buyer-visual-card{
  left:18px;right:18px;bottom:18px;
  padding:18px 19px;
  border:1px solid rgba(255,255,255,.66);
  border-radius:var(--ui3-radius-md);
  background:rgba(255,255,255,.96);
  box-shadow:0 10px 28px rgba(3,26,61,.13);
}
body.buyer-page .buyer-visual-card>span{color:var(--ui3-red)}
body.buyer-page .buyer-visual-card strong{margin:5px 0 10px;color:var(--ui3-navy-950);font-size:1.05rem}
body.buyer-page .buyer-visual-card li{padding:6px 9px;background:var(--ui3-soft-blue);color:var(--ui3-navy-800)}

/* Closing review section — a concise explanation beside one guided intake card. */
body.buyer-page .buyer-intake{
  border-block:1px solid var(--ui3-line);
  background:linear-gradient(180deg,var(--ui3-soft) 0%,#fff 100%);
}
body.buyer-page .buyer-intake-inner{
  grid-template-columns:minmax(0,.82fr) minmax(470px,1.18fr);
  gap:clamp(36px,6vw,72px);
  width:min(1120px,calc(100% - 40px));
  padding:clamp(58px,7vw,84px) 0;
}
body.buyer-page .buyer-intake-copy{top:92px}
body.buyer-page .buyer-section-kicker{color:var(--ui3-red);font-size:.7rem;letter-spacing:.13em}
body.buyer-page .buyer-intake-copy h2{
  margin:11px 0 16px;
  color:var(--ui3-navy-950);
  font-size:clamp(2.25rem,4.3vw,3.8rem);
  line-height:1;
  letter-spacing:-.045em;
}
body.buyer-page .buyer-intake-copy>p{color:var(--ui3-muted);font-size:.98rem;line-height:1.68}
body.buyer-page .buyer-promise-list{gap:10px;margin-top:22px}
body.buyer-page .buyer-promise{
  grid-template-columns:34px 1fr;
  gap:11px;
  padding:12px 13px;
  border:1px solid var(--ui3-line);
  border-radius:var(--ui3-radius-md)!important;
  background:#fff;
  box-shadow:none!important;
}
body.buyer-page .buyer-promise span{
  width:34px;height:34px;
  border:1px solid #d3deea;
  background:var(--ui3-soft-blue);
  color:var(--ui3-red);
}
body.buyer-page .buyer-promise strong{color:var(--ui3-navy-900);font-size:.92rem}
body.buyer-page .buyer-promise p{font-size:.82rem;line-height:1.46}

body.buyer-page .buyer-form-card{
  padding:clamp(24px,3.2vw,34px);
  border:1px solid var(--ui3-line);
  border-radius:var(--ui3-radius-lg)!important;
  box-shadow:var(--ui3-shadow-sm)!important;
}
body.buyer-page .buyer-form-card h2{
  margin:8px 0 7px;
  color:var(--ui3-navy-950);
  font-size:clamp(1.72rem,2.8vw,2.18rem);
  letter-spacing:-.035em;
}
body.buyer-page .buyer-form-card>p{margin-bottom:20px;color:var(--ui3-muted);font-size:.92rem}
body.buyer-page .buyer-progress{gap:8px;margin-bottom:22px}
body.buyer-page .buyer-progress li{
  padding:9px 10px;
  border-color:var(--ui3-line);
  border-radius:var(--ui3-radius-sm);
  background:#fff;
  color:#77869a;
}
body.buyer-page .buyer-progress span{background:var(--ui3-soft-blue)}
body.buyer-page .buyer-progress li[data-state="active"]{
  border-color:rgba(215,25,32,.28);
  background:var(--ui3-red-soft);
  color:var(--ui3-navy-900);
}
body.buyer-page .buyer-progress li[data-state="active"] span,
body.buyer-page .buyer-progress li[data-state="complete"] span{background:var(--ui3-red);color:#fff}
body.buyer-page .buyer-step legend{margin-bottom:17px;color:var(--ui3-navy-900);font-size:1.03rem}
body.buyer-page label>span:first-child{color:#34465f;font-size:.78rem}
body.buyer-page input,
body.buyer-page select{
  min-height:48px;
  border-color:var(--ui3-line-strong);
  border-radius:var(--ui3-radius-xs);
  box-shadow:var(--ui3-shadow-xs);
}
body.buyer-page input:focus,
body.buyer-page select:focus{border-color:var(--ui3-red)!important;box-shadow:var(--ui3-focus)!important}
body.buyer-page .buyer-next,
body.buyer-page .buyer-submit{
  min-height:50px;
  border:1px solid var(--ui3-red);
  border-radius:var(--ui3-radius-sm);
  background:var(--ui3-red);
  color:#fff;
  box-shadow:none;
}
body.buyer-page .buyer-next:hover,
body.buyer-page .buyer-submit:hover{background:var(--ui3-red-700);border-color:var(--ui3-red-700)}
body.buyer-page .buyer-back{
  min-height:50px;
  border-color:var(--ui3-line-strong);
  border-radius:var(--ui3-radius-sm);
  color:var(--ui3-navy-800);
}
body.buyer-page .buyer-inline-text{margin-top:15px;color:var(--ui3-navy-800);font-size:.83rem}
body.buyer-page .buyer-inline-text strong{color:var(--ui3-red)}
body.buyer-page .buyer-form-card .form-status{color:var(--ui3-error)}

/* Local producer context stays visible but subordinate to the closing task. */
body.buyer-page .buyer-agent{
  grid-template-columns:86px 1fr auto;
  gap:20px;
  width:min(1060px,calc(100% - 40px));
  padding:52px 0;
}
body.buyer-page .buyer-agent-headshot{width:86px;height:86px;border:3px solid #fff;box-shadow:0 0 0 1px #cbd8e6}
body.buyer-page .buyer-agent h2{color:var(--ui3-navy-950);font-size:1.38rem}
body.buyer-page .buyer-agent p{color:var(--ui3-muted);font-size:.9rem}
body.buyer-page .buyer-carrier{
  width:205px;
  padding:12px;
  border-color:var(--ui3-line);
  border-radius:var(--ui3-radius-md);
  box-shadow:none;
}

/* Fallback receipt remains buyer-specific while sharing the platform visual language. */
body.buyer-page .buyer-thanks{padding:58px 20px;background:var(--ui3-soft)}
body.buyer-page .buyer-thanks-card{
  max-width:680px;
  padding:38px;
  border-color:var(--ui3-line);
  border-radius:var(--ui3-radius-lg);
  box-shadow:var(--ui3-shadow-sm);
}
body.buyer-page .buyer-thanks-card h1{color:var(--ui3-navy-950);font-size:clamp(2.35rem,5.2vw,4rem)}
body.buyer-page .buyer-thanks-card p{font-size:.98rem;line-height:1.65}

@media(max-width:980px){
  body.buyer-page .buyer-hero{grid-template-columns:1fr;padding-top:42px}
  body.buyer-page .buyer-visual,body.buyer-page .buyer-visual>img{min-height:390px}
  body.buyer-page .buyer-intake-inner{grid-template-columns:1fr}
  body.buyer-page .buyer-intake-copy{position:static;max-width:700px}
  body.buyer-page .buyer-agent{grid-template-columns:78px 1fr}
  body.buyer-page .buyer-agent-headshot{width:78px;height:78px}
  body.buyer-page .buyer-carrier{grid-column:2;width:200px}
}
@media(max-width:620px){
  body.buyer-page .buyer-header{height:64px;min-height:64px;padding-inline:15px}
  body.buyer-page .buyer-brand img{height:34px;max-width:190px}
  body.buyer-page .buyer-hero{width:min(100% - 30px,var(--ui3-container));padding:34px 0 46px}
  body.buyer-page .buyer-hero h1{font-size:clamp(3rem,14vw,4.35rem)}
  body.buyer-page .buyer-actions{display:grid}
  body.buyer-page .buyer-button{width:100%}
  body.buyer-page .buyer-visual,body.buyer-page .buyer-visual>img{min-height:300px}
  body.buyer-page .buyer-visual{border-radius:var(--ui3-radius-md)}
  body.buyer-page .buyer-visual-card{left:10px;right:10px;bottom:10px;padding:14px}
  body.buyer-page .buyer-intake-inner{width:min(100% - 30px,1120px);padding:48px 0}
  body.buyer-page .buyer-intake-copy h2{font-size:clamp(2.1rem,10vw,3rem)}
  body.buyer-page .buyer-form-card{padding:20px 15px}
  body.buyer-page .buyer-field-grid{grid-template-columns:1fr;gap:0}
  body.buyer-page .buyer-progress li{padding:8px 7px;font-size:.68rem}
  body.buyer-page .buyer-step-actions{flex-wrap:wrap}
  body.buyer-page .buyer-back{order:2;width:100%}
  body.buyer-page .buyer-agent{grid-template-columns:68px 1fr;width:min(100% - 30px,1060px);padding:44px 0}
  body.buyer-page .buyer-agent-headshot{width:68px;height:68px}
  body.buyer-page .buyer-carrier{grid-column:1/-1;width:185px}
  body.buyer-page .buyer-thanks-card{padding:30px 19px}
  body.buyer-page :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea){font-size:16px!important}
}
@media(max-height:520px) and (orientation:landscape){
  body.buyer-page .buyer-hero{padding-block:28px 38px}
  body.buyer-page .buyer-visual,body.buyer-page .buyer-visual>img{min-height:280px}
  body.buyer-page .buyer-intake-inner{padding-block:40px}
  body.buyer-page .buyer-intake-copy{position:static}
}
@media(prefers-reduced-motion:reduce){
  body.buyer-page .buyer-button,body.buyer-page .buyer-next,body.buyer-page .buyer-submit{transition:none!important;transform:none!important}
}
@media(forced-colors:active){
  body.buyer-page .buyer-referral-pill,
  body.buyer-page .buyer-form-card,
  body.buyer-page .buyer-promise,
  body.buyer-page .buyer-visual{border:1px solid CanvasText!important}
}

/* UI-3.13 production image delivery: preserve the certified buyer media geometry with responsive WebP sources. */
body.buyer-page .buyer-visual>picture{display:block;width:100%;height:100%;min-height:430px}
body.buyer-page .buyer-visual>picture>img{display:block;width:100%;height:100%;min-height:430px;object-fit:cover;object-position:center}
@media(max-width:980px){body.buyer-page .buyer-visual>picture,body.buyer-page .buyer-visual>picture>img{min-height:390px}}
@media(max-width:620px){body.buyer-page .buyer-visual>picture,body.buyer-page .buyer-visual>picture>img{min-height:300px}}
@media(max-height:520px) and (orientation:landscape){body.buyer-page .buyer-visual>picture,body.buyer-page .buyer-visual>picture>img{min-height:280px}}
