/* v11 - Accessibility-first readability pass.
   Based on the existing UI; pricing, workflow and calculation logic remain unchanged. */
:root {
  --ink: #1d2c48;
  --muted: #4c5b73;
}
body {
  font-size: 17px;
  line-height: 1.85;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
p, li, details, label { line-height: 1.8; }
.container { width: min(1200px, calc(100% - 64px)); }
a:focus-visible, button:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible, summary:focus-visible {
  outline: 3px solid #f49d28;
  outline-offset: 3px;
}
.site-header nav a { font-size: 15px; line-height: 1.4; }
.brand { font-size: 22px; }
.brand small { font-size: 12px; letter-spacing: .11em; }
.brand-mark { width: 42px; height: 42px; }
.header-inner { min-height: 83px; gap: 19px; }
.site-header nav { gap: 17px; }
.button, .button.tiny, .add-controls .button,
.format-warning .button, .summary-cta {
  font-size: 16px;
  line-height: 1.4;
  padding: 15px 20px;
  min-height: 49px;
}
.button.tiny { padding: 11px 15px; }
.demo-flag { font-size: 14px; padding: 10px 15px; }
.hero-grid { min-height: 560px; gap: 44px; }
.eyebrow, .section-kicker { font-size: 14px; letter-spacing: .08em; }
.hero h1 { font-size: clamp(42px, 4.7vw, 62px); line-height: 1.25; }
.hero-copy { font-size: 19px; line-height: 1.86; max-width: 610px; }
.hero-note { font-size: 15px; margin-top: 25px; }
.hero-promo-top, .hero-promo-top b { line-height: 1.35; }
.hero-promo-top { font-size: 18px; }
.hero-promo-top b { font-size: 26px; }
.hero-big-price span { font-size: 15px; }
.hero-big-price b { font-size: 22px; }
.hero-big-price em { font-size: 13px; }
.hero-mini-perks span { font-size: 13px; padding: 6px 9px; }
.hero-pop-label { font-size: 14px; }
.hero-pop-label b { font-size: 17px; }
.trust-title { font-size: 19px; }
.trust-line-v9 .trust-title small { font-size: 15px; line-height: 1.65; }
.trust-link { font-size: 16px; text-underline-offset: 3px; }
.quick-benefits { font-size: 15px; gap: 16px; padding: 15px 0; }
.quick-benefits b { font-size: 13px; }
.section { padding: 88px 0; }
.section h2, .video-copy h2 { font-size: clamp(34px, 3.5vw, 43px); line-height: 1.38; }
.intro { font-size: 18px; line-height: 1.85; max-width: 880px; margin-bottom: 34px; }
.feature-grid { gap: 20px; }
.feature-card { padding: 29px 26px; }
.feature-icon { font-size: 14px; margin-bottom: 18px; }
.feature-card h3 { font-size: 22px; line-height: 1.5; }
.feature-card h3 small { font-size: 16px; }
.feature-card p, .feature-card .price-stack~p { font-size: 16px; line-height: 1.85; }
.price-label { font-size: 16px; min-width: 72px; }
.feature-grid .feature-card:first-child .price-value { font-size: 40px; }
.price-stack small { font-size: 14px; }
.large-accent { font-size: 37px; }
.large-accent.medium { font-size: 30px; }
.duration-band { margin-top: 24px; }
.duration-band>div { padding: 24px 18px; }
.duration-band .duration-lead strong { font-size: 20px; }
.duration-lead span { font-size: 14px; line-height: 1.65; display:block; margin-top: 5px; }
.duration-band b, .duration-band>div b { font-size: 15px; line-height: 1.6; }
.duration-band > div:not(.duration-lead) strong { font-size: 24px; line-height: 1.5; }
.micro, .under-band { font-size: 14px; line-height: 1.8; }
.under-band { margin-top: 15px; }
.video-copy p { font-size: 18px; }
.video-explain b { font-size: 17px; }
.video-explain small { font-size: 15px; line-height: 1.65; }
.video-launch strong { font-size: 19px; }
.video-launch small { font-size: 14px; }
.text-link { font-size: 16px; }
.media-gallery { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.photo { height: 210px; }
.media-card-body { padding: 18px 20px 21px; }
.media-card-body strong { font-size: 21px; line-height: 1.48; }
.media-card-body span { font-size: 16px; margin-top: 7px; }
.media-card-body small { font-size: 15px; line-height: 1.7; min-height: 0; margin-top: 7px; }
.media-illustration-badge { font-size: 12px; padding: 3px 8px; }
.scale-panel { grid-template-columns: .78fr 1.22fr; padding: 30px; }
.scale-panel h3 { font-size: 24px; }
.scale-item { grid-template-columns: 165px 1fr 65px; gap: 14px; font-size: 15px; margin-bottom: 13px; }
.scale-item span { font-size: 15px; }
.format-warning { padding: 26px; gap: 24px; }
.format-warning strong { font-size: 19px; }
.format-warning span { font-size: 16px; line-height: 1.75; }
.source-detail { padding: 23px 26px; }
.source-detail summary { font-size: 17px; font-weight: 850; }
.source-detail p { font-size: 15px; }
.real-photo-link { min-height: 112px; padding: 17px 14px; }
.real-photo-link strong { font-size: 16px; }
.real-photo-link small { font-size: 14px; }
.real-photo-link .real-photo-icon { width: 42px; height: 42px; flex-basis: 42px; font-size: 22px; }
.estimate-layout { grid-template-columns: minmax(0, 1.45fr) minmax(340px, .77fr); gap: 25px; }
.form-panel { padding: 30px; }
.form-heading h3 { font-size: 24px; }
.form-heading p { font-size: 15px; line-height: 1.6; }
.step-circle { width: 39px; height: 39px; flex-basis: 39px; font-size: 17px; }
.media-row-head strong { font-size: 19px; }
.media-row-head small { font-size: 15px; line-height: 1.6; }
.remove-row { font-size: 15px; padding: 5px 8px; }
.media-input-row { padding: 19px; }
.row-fields { grid-template-columns: minmax(105px, 1fr) minmax(165px, 1.5fr) minmax(105px, 1fr); gap: 13px; }
.row-fields label { font-size: 14px; line-height: 1.45; }
.row-fields input, .row-fields select { font-size: 16px; min-height: 48px; padding: 10px 10px; }
.row-note { font-size: 14px; }
.add-panel { padding: 20px; }
.add-panel>label { font-size: 16px; }
.add-controls select,.field select,.field input[type=date],
.field textarea,.field input[type=text],.field input[type=email],
.callout textarea { font-size: 16px; padding: 13px 14px; min-height: 49px; }
.field>label:first-child { font-size: 16px; line-height: 1.5; }
.field { margin-bottom: 22px; }
.callout { padding: 20px; font-size: 15px; }
.callout b { font-size: 17px; }
.summary-top { padding: 25px 25px 20px; }
.summary-content { padding: 25px; }
.summary-kicker { font-size: 13px; }
.summary h3 { font-size: 26px; }
.summary-row { font-size: 16px; gap: 12px; }
.summary-total span { font-size: 15px; }
.summary-total strong { font-size: 39px; }
.summary-total small { font-size: 14px; }
.summary-alert { font-size: 14px; line-height: 1.7; }
.summary-label { font-size: 15px; }
.summary-segment strong { font-size: 23px; }
.summary .micro, .summary-foot { font-size: 14px; line-height: 1.7; }
.summary-cta { margin-top: 20px; }
.contact-point h3 { font-size: 21px; }
.contact-point p { font-size: 16px; }
.general-contact-side h3 { font-size: 29px; }
.general-contact-side p, .general-contact-side .micro { font-size: 16px; }
#general-photo, #inquiry-photo { font-size: 16px; }
.upload-area span:last-child { font-size: 14px; }
.return-card { padding: 26px; }
.return-card h3 { font-size: 20px; }
.return-card p { font-size: 16px; }
.shipping-notes { font-size: 16px; padding: 21px 25px; }
.flow-grid h3 { font-size: 21px; }
.flow-grid p { font-size: 16px; }
.faq summary { font-size: 18px; line-height: 1.6; }
.faq details p { font-size: 16px; }
.footer-brand { font-size: 23px; }
.footer p, .footer .micro { font-size: 15px; }
.copyright { font-size: 13px; }
@media (max-width: 1160px) {
  .site-header nav { display: none; }
  .header-inner > .button { margin-left: auto; }
  .container { width: min(100% - 48px, 1040px); }
  .estimate-layout { grid-template-columns: minmax(0,1fr) minmax(330px,.7fr); gap: 18px; }
  .row-fields { grid-template-columns: minmax(90px,1fr) minmax(145px,1.45fr) minmax(90px,1fr); gap: 9px; }
  .feature-card { padding: 25px 22px; }
}
@media (max-width: 1000px) {
  .feature-grid { grid-template-columns: 1fr; }
  .feature-card { min-height: 0; }
  .estimate-layout { grid-template-columns: 1fr; }
  .summary { position: static; }
  .duration-band-normal, .duration-band-express { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .media-gallery { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .contact-layout, .general-contact-layout { grid-template-columns: 1fr; }
  .scale-panel { grid-template-columns:1fr; gap: 18px; }
}
@media (max-width: 760px) {
  body { font-size: 16.5px; }
  .container { width: min(calc(100% - 32px), 620px); }
  .header-inner { min-height: 68px; }
  .brand { font-size: 18px; }
  .brand small { font-size: 11px; }
  .brand-mark { width: 35px; height: 35px; }
  .header-inner > .button { font-size: 14px; padding: 10px 11px; min-height: 43px; }
  .demo-flag { font-size: 13px; line-height: 1.55; }
  .hero-grid { padding: 48px 0 51px; gap: 20px; }
  .hero h1 { font-size: clamp(35px, 8.6vw, 47px); }
  .hero-copy { font-size: 18px; }
  .hero-note { font-size: 15px; }
  .hero-visual { height: 405px; }
  .hero-promo-top { font-size: 16px; }
  .hero-promo-top b { font-size: 23px; }
  .hero-mini-perks span { font-size: 12px; }
  .trust-title { font-size: 18px; }
  .trust-line-v9 .trust-title small { font-size: 15px; }
  .trust-link { white-space: normal; font-size: 16px; }
  .quick-benefits { gap: 10px; }
  .quick-benefits span { font-size: 14px; line-height: 1.55; }
  .quick-benefits b { font-size: 13px; }
  .section { padding: 66px 0; }
  .section h2, .video-copy h2 { font-size: clamp(30px, 7.8vw, 37px); }
  .intro { font-size: 17px; }
  .feature-card { padding: 23px; }
  .feature-card p, .feature-card .price-stack~p { font-size: 16px; }
  .feature-card h3 { font-size: 20px; }
  .duration-band-normal, .duration-band-express { display: grid; grid-template-columns: 1fr; }
  .duration-band > .duration-lead { border-bottom: 1px solid #f3dbb9; }
  .duration-band > div { padding: 18px 20px; border-right: 0; }
  .duration-band > div:nth-child(-n+2) { border-bottom: 1px solid #f3dbb9; }
  .duration-band > div:not(.duration-lead) { display:flex; align-items:center; justify-content:space-between; gap: 12px; border-bottom: 1px solid #f3dbb9; }
  .duration-band > div:last-child { border-bottom:0; }
  .duration-band .duration-lead strong { font-size: 20px; }
  .duration-band > div b { font-size: 15px; margin: 0; }
  .duration-band > div:not(.duration-lead) strong { font-size: 22px; text-align:right; white-space: nowrap; }
  .media-gallery { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
  .photo { height: 178px; }
  .media-card-body { padding: 15px; }
  .media-card-body strong { font-size: 18px; }
  .media-card-body span { font-size: 15px; }
  .media-card-body small { font-size: 14px; }
  .media-illustration-badge { font-size: 11px; }
  .scale-item { grid-template-columns: 133px 1fr 56px; gap: 8px; font-size: 14px; }
  .scale-item span { font-size: 13px; }
  .format-warning strong { min-width: 0; font-size: 19px; }
  .format-warning span { font-size: 16px; }
  .form-panel { padding: 19px; }
  .form-heading h3 { font-size: 22px; }
  .row-fields { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 12px; }
  .row-fields label:nth-child(2) { grid-column: 1 / -1; grid-row: 1; }
  .row-fields label:nth-child(1),.row-fields label:nth-child(3) { grid-row: 2; }
  .row-fields label { font-size: 15px; }
  .row-fields input, .row-fields select { font-size: 16px; min-height: 50px; padding: 10px 12px; }
  .media-row-head strong { font-size: 19px; }
  .media-row-head small { font-size: 14px; }
  .add-controls { grid-template-columns: 1fr; }
  .add-controls .button { width: 100%; }
  .summary-content { padding: 23px; }
  .summary-row { font-size: 15px; }
  .summary-segment strong { font-size: 21px; }
  .flow-grid { grid-template-columns: 1fr 1fr; }
  .flow-grid h3 { font-size: 18px; }
  .flow-grid p { font-size: 15px; }
  .return-card { padding: 22px; }
  .return-card p { font-size: 16px; }
  .real-photo-links { grid-template-columns: 1fr; }
}
@media (max-width: 440px) {
  .media-gallery { grid-template-columns: 1fr; }
  .photo { height: 230px; }
  .media-card-body { padding: 18px 20px; }
  .media-card-body strong { font-size: 21px; }
  .media-card-body span { font-size: 16px; }
  .media-card-body small { font-size: 15px; }
  .flow-grid { grid-template-columns: 1fr; }
  .hero-visual { height: 385px; }
  .hero-mini-perks span { font-size: 11px; }
}
