/* Go-Courier responsive hardening — Stage 12.1 Hotfix 3 */
html, body { max-width: 100%; overflow-x: clip; }
*, *::before, *::after { min-width: 0; }
img, svg, video, iframe { max-width: 100%; }
button, input, select, textarea { max-width: 100%; }
p, li, h1, h2, h3, h4, h5, h6, a, small, strong, label, summary { overflow-wrap: anywhere; }
.container { width: min(100% - 40px, var(--gc-container)); }
.site-header__inner { position: relative; }
.site-header__nav ul { min-width: 0; }
.hero__grid, .page-hero__grid, .gc-calc-grid, .two-col, .calculator { min-width: 0; }
.hero__content, .hero-visual, .page-hero__grid > *, .gc-calc-grid > *, .calculator > *, .two-col > * { min-width: 0; }
.hero__actions .button, .cta-section__inner .button, .gc-actions .gc-button { max-width: 100%; }
.gc-calc-details dt, .gc-calc-details dd { min-width: 0; overflow-wrap: anywhere; }

/* Tablet: collapse navigation before it can collide with the CTA/brand. */
@media (max-width: 1100px) {
  .site-header__toggle { display: inline-flex; align-items: center; justify-content: center; margin-left: auto; }
  .site-header__cta { display: none; }
  .site-header__nav { position: absolute; left: 0; right: 0; top: 100%; margin: 0; padding: 14px 20px 18px; background: rgba(255,255,255,.98); border-bottom: 1px solid var(--gc-border); box-shadow: 0 14px 30px rgba(0,0,0,.08); display: none; }
  .site-header__nav.is-open { display: block; }
  .site-header__nav ul { display: grid; gap: 0; }
  .site-header__nav li { border-bottom: 1px solid var(--gc-border); }
  .site-header__nav li:last-child { border-bottom: 0; }
  .site-header__nav a { display: block; padding: 13px 4px; font-size: 15px; line-height: 1.35; }
  .hero--home .hero__grid, .page-hero__grid { grid-template-columns: 1fr; }
  .hero--home .hero__content { max-width: 820px; }
  .hero-visual { min-height: 480px; }
  .gc-calc-grid { grid-template-columns: 1fr; }
  .gc-calc-result { position: static; }
  .city-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
  .container { width: min(100% - 36px, var(--gc-container)); }
  .section { padding: 84px 0; }
  .hero--home { padding: 58px 0 42px; }
  .hero--home h1 { font-size: clamp(46px, 8vw, 68px); }
  .hero-visual { min-height: 430px; }
  .quick-benefits__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .icon-strip { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .steps-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .feature-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .level-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .city-grid--all { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .gc-calculator { padding: 36px 28px; }
  .gc-calc-grid { gap: 32px; }
}

@media (max-width: 640px) {
  .container { width: min(100% - 28px, var(--gc-container)); }
  .section { padding: 68px 0; }
  .section-heading { margin-bottom: 34px; }
  .section-heading h2, .cta-section h2 { font-size: clamp(30px, 9vw, 42px); }
  .section-heading p { font-size: 15px; }

  .site-header__inner { min-height: 82px; gap: 12px; }
  .site-header__brand { margin-right: 0; }
  .brand { gap: 7px; }
  .brand:not(.brand--partner) img { width: 36px; height: 36px; flex-basis: 36px; }
  .brand strong { font-size: 13px; }
  .brand small { font-size: 8px; }
  .site-header__toggle { min-width: 44px; min-height: 44px; padding: 0 10px; }
  .site-header__nav { padding: 12px 14px 16px; }
  .site-header__nav a { font-size: 14px; padding: 12px 2px; }

  .hero--home { padding: 44px 0 30px; }
  .hero--home h1 { font-size: clamp(40px, 13vw, 58px); line-height: .98; letter-spacing: -.045em; margin-bottom: 22px; }
  .hero--home .hero__lead { font-size: 16px; line-height: 1.5; }
  .hero--home .trust-list { font-size: 14px; gap: 8px; margin: 20px 0; }
  .hero__actions { margin: 22px 0 16px; }
  .hero__actions .button { width: 100%; }
  .source-note { font-size: 12px; line-height: 1.5; }

  .hero-visual { min-height: 330px; border-radius: 26px; margin-top: 26px; }
  .hero-visual__ring--one { width: 300px; height: 300px; border-width: 26px; right: -105px; top: 28px; }
  .hero-visual__ring--two { width: 220px; height: 220px; border-width: 20px; right: -10px; top: 68px; }
  .hero-visual__bag { right: 18px; bottom: 28px; width: 150px; height: 196px; border-radius: 24px 24px 32px 32px; transform: rotate(4deg); }
  .hero-visual__bag:before { top: -21px; width: 78px; height: 46px; border-width: 10px; }
  .hero-visual__bag span { width: 76px; height: 76px; border-width: 8px; font-size: 38px; }
  .hero-visual__person { left: 38%; width: 145px; height: 286px; transform: translateX(-50%); }
  .hero-visual__person:before { left: 39px; top: 0; width: 68px; height: 68px; box-shadow: 0 -9px 0 9px #30231d; }
  .hero-visual__person:after { left: 23px; top: 59px; width: 99px; height: 190px; border-radius: 32px 32px 10px 10px; }
  .hero-visual__phone { left: 24%; bottom: 112px; width: 20px; height: 40px; border-radius: 5px; }

  .quick-benefits__grid, .city-grid, .icon-strip, .steps-grid, .feature-grid, .level-grid, .city-grid--all, .site-footer__grid { grid-template-columns: 1fr; }
  .quick-benefits { padding-bottom: 18px; }
  .quick-benefits article { min-height: 76px; padding: 16px 18px; grid-template-columns: 36px 1fr; }
  .quick-benefits article span { width: 30px; height: 30px; }
  .quick-benefits strong { font-size: 14px; }
  .quick-benefits small { font-size: 12px; }

  .gc-calculator { margin: 48px 0; padding: 24px 16px; border-radius: 24px; }
  .gc-calculator-head h2 { font-size: clamp(34px, 10vw, 48px); line-height: 1.02; }
  .gc-calculator-head p:last-child { font-size: 14px; }
  .gc-calc-mode { grid-template-columns: 1fr 1fr; max-width: none; margin-top: 24px; }
  .gc-calc-mode button { padding: 11px 10px; font-size: 13px; line-height: 1.25; }
  .gc-calc-grid { gap: 26px; margin-top: 28px; }
  .gc-calc-form { gap: 20px; }
  .gc-calc-form label, .gc-transport legend { font-size: 14px; }
  .gc-calc-form select { min-height: 52px; font-size: 16px; }
  .gc-calc-form output { font-size: 22px; }
  .gc-transport-buttons { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .gc-transport-buttons button { padding: 11px 7px; font-size: 12px; line-height: 1.2; }
  .gc-benefits label { grid-template-columns: 20px minmax(0,1fr); align-items: start; font-size: 13px; }
  .gc-benefits label small { grid-column: 2; font-size: 11px; line-height: 1.4; }
  .gc-calc-result { padding: 22px; border-radius: 22px; }
  .gc-calc-result>strong { font-size: clamp(40px, 12vw, 52px); line-height: .98; word-break: normal; }
  .gc-calc-details div { gap: 12px; padding: 12px 0; align-items: start; }
  .gc-calc-details dt, .gc-calc-details dd { font-size: 13px; line-height: 1.4; }
  .gc-calc-note { font-size: 12px; }

  .city-card { min-height: 126px; padding: 20px 18px; }
  .city-card strong { font-size: 21px; }
  .city-card small { font-size: 12px; }
  .steps-grid article, .feature { min-height: auto; padding: 24px; }
  .feature h3 { font-size: 21px; }
  .feature p { font-size: 14px; }
  .steps li { grid-template-columns: 44px minmax(0,1fr); gap: 14px; padding: 20px 0; }
  .steps li>span { width: 40px; height: 40px; }
  .check-list li { padding: 14px 16px; font-size: 14px; }
  .faq-list details, .faq-list--large details { padding-inline: 16px; }
  .faq-list summary, .faq-list--large summary { font-size: 14px; line-height: 1.4; padding: 17px 0; }
  .faq-list p, .faq-list--large details p { font-size: 13px; line-height: 1.5; }
  .cta-section { padding: 58px 0; }
  .cta-section__inner { gap: 20px; }
  .cta-section__inner .button { width: 100%; }
  .site-footer { padding: 46px 0 26px; }
  .site-footer__grid { gap: 28px; }
  .site-footer__bottom { display: grid; gap: 8px; line-height: 1.45; }

  .page-hero { padding: 42px 0 34px; }
  .page-hero h1 { font-size: clamp(40px, 12vw, 56px); }
  .page-hero p:not(.eyebrow) { font-size: 16px; }
  .page-hero__image { min-height: 240px; border-radius: 24px; }
  .delivery-card { width: min(240px, 82vw); height: 166px; padding: 22px; }
  .icon-strip article { padding: 18px 14px; }
  .rating-row { grid-template-columns: 1fr; gap: 6px; padding: 15px 16px; }
  .rating-row--head { display: none; }
  .cities-toolbar { padding: 17px 18px; }
  .cities-toolbar strong { font-size: 26px; }
  .progress-hero-card, .rating-hero-card { min-height: 210px; }
  .progress-hero-card__mark, .rating-hero-card strong { font-size: 54px; }
  .progress-hero-card strong { font-size: 28px; }
  .rating-hero-card span { font-size: 22px; }

  .gc-container { width: min(100% - 28px, 1120px); }
  .gc-landing { padding-bottom: 50px; }
  .gc-landing h1 { font-size: clamp(36px, 11vw, 54px); }
  .gc-lead { font-size: 17px; }
  .gc-notice { padding: 24px 20px; }
  .gc-related-card { padding: 18px; }
  .gc-landing-cta { padding: 36px 20px; border-radius: 20px; }
  .gc-calculator { margin: 34px 0; }
  .gc-calc-result dl { grid-template-columns: 1fr; }
}

@media (max-width: 380px) {
  .container { width: calc(100% - 24px); }
  .brand small { display: none; }
  .hero--home h1 { font-size: 39px; }
  .hero-visual { min-height: 300px; }
  .hero-visual__bag { right: 8px; width: 132px; height: 172px; }
  .hero-visual__person { left: 35%; transform: scale(.9) translateX(-50%); transform-origin: bottom center; }
  .gc-calc-mode button { font-size: 12px; padding-inline: 7px; }
  .gc-transport-buttons { grid-template-columns: 1fr; }
  .gc-transport-buttons button { padding: 10px 12px; }
  .gc-calc-result>strong { font-size: 40px; }
}

/* Location directory */
.location-city-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.location-city-card{display:flex;flex-direction:column;gap:6px;padding:20px;border:1px solid var(--gc-border,#e7e7e7);border-radius:18px;background:#fff;text-decoration:none;color:inherit;min-width:0}
.location-city-card strong{font-size:18px}.location-city-card span{font-size:14px;color:#777}
.location-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.location-card{padding:24px;border:1px solid var(--gc-border,#e7e7e7);border-radius:24px;background:#fff;min-width:0}
.location-card__head h3{margin:8px 0 0;overflow-wrap:anywhere}.location-type{display:inline-flex;padding:6px 10px;border-radius:999px;background:#ffd400;color:#111;font-size:12px;font-weight:700}
.location-meta{display:grid;gap:12px;margin:20px 0}.location-meta div{display:grid;gap:3px}.location-meta b{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#777}.location-meta span{font-size:15px;line-height:1.5;overflow-wrap:anywhere}
.location-actions{display:flex;gap:10px;flex-wrap:wrap}.button--small{padding:11px 15px;font-size:14px}.location-source{margin:16px 0 0;font-size:12px;line-height:1.5;color:#777}
@media (max-width:980px){.location-city-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.location-list{grid-template-columns:1fr}}
@media (max-width:680px){.location-city-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.location-city-card{padding:15px;border-radius:15px}.location-card{padding:18px;border-radius:18px}}
@media (max-width:420px){.location-city-grid{grid-template-columns:1fr}.location-card__head h3{font-size:20px}.location-meta span{font-size:14px}}


/* v0.2.10: calculator result heading must never split or drift on narrow/large layouts. */
.gc-calc-result__title{max-width:30ch;white-space:normal!important;overflow-wrap:normal!important;word-break:normal!important;hyphens:none!important;line-height:1.35;text-wrap:balance}
.gc-calc-result{background:#f2f8e6;border-color:#d9e7bb}
@media(max-width:640px){.gc-calc-result__title{font-size:14px;max-width:26ch}.gc-calc-result{padding:22px}}

/* v0.2.14 responsive additions */
@media(max-width:980px){.registration-step{grid-template-columns:1fr;gap:28px}.registration-step:nth-child(even) .registration-step__copy,.registration-step:nth-child(even) .registration-step__image{order:initial}.work-type-grid{grid-template-columns:1fr}.reviews-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.choice-result{align-items:stretch;flex-direction:column;padding:22px}.choice-result .button{width:100%}.registration-steps{gap:48px}.registration-step{padding-bottom:48px}.registration-step__copy p{font-size:15px}.registration-step__image{border-radius:18px}.reviews-grid{grid-template-columns:1fr}.review-card{padding:20px}}


/* v0.2.15 walking-courier page */
@media(max-width:1100px){.foot-courier-hero__grid{grid-template-columns:1fr minmax(310px,.65fr);gap:44px}.foot-courier-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.foot-courier-start-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.foot-courier-knowledge-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.foot-courier-hero__grid,.foot-courier-split{grid-template-columns:1fr}.foot-courier-hero__visual{min-height:380px}.foot-courier-hero__facts{grid-template-columns:1fr}.foot-courier-requirement-list{grid-template-columns:1fr 1fr}.foot-courier-hero h1{font-size:clamp(3rem,11vw,5rem)}}
@media(max-width:620px){.foot-courier-hero{padding:48px 0 40px}.foot-courier-hero__visual{min-height:330px;border-radius:24px}.foot-courier-phone{width:178px;height:320px;border-width:9px;border-radius:31px}.foot-courier-phone__screen{border-radius:21px}.foot-courier-phone__card{padding:13px}.foot-courier-walk-badge{right:18px;bottom:20px;width:72px;height:72px;font-size:34px}.foot-courier-card-grid,.foot-courier-requirement-list,.foot-courier-start-grid,.foot-courier-knowledge-grid{grid-template-columns:1fr}.foot-courier-info-card{padding:22px}.foot-courier-start-grid article{padding:20px}.foot-courier-start__actions{display:grid}.foot-courier-start__actions .button{width:100%}.foot-courier-source__links{display:grid;gap:10px}}

/* v0.2.16 — expanded FAQ and 16+ instruction */
@media (max-width: 760px) {
  .faq-list .text-link { overflow-wrap: anywhere; }
  .article-card-grid--docs { grid-template-columns: 1fr; }
  .page-hero--article .hero__actions { flex-direction: column; align-items: stretch; }
  .page-hero--article .hero__actions .button { width: 100%; }
}


/* v0.2.22 homepage car hero */
.hero-visual--photo{position:relative;overflow:hidden;min-height:540px;background:#111;border:1px solid rgba(0,0,0,.04);box-shadow:var(--gc-shadow);}
.hero-visual__image{display:block;width:100%;height:100%;min-height:540px;object-fit:cover;object-position:center center;}
@media(max-width:1100px){.hero-visual--photo{min-height:460px}.hero-visual__image{min-height:460px}}
@media(max-width:820px){.hero-visual--photo{min-height:360px}.hero-visual__image{min-height:360px}}
@media(max-width:640px){.hero-visual--photo{min-height:300px;border-radius:24px}.hero-visual__image{min-height:300px}}

/* v0.2.25 QA: keep primary navigation labels intact. */
.site-header__nav a{overflow-wrap:normal;word-break:normal;hyphens:none;white-space:nowrap}
@media(max-width:1100px){.site-header__nav a{white-space:normal;overflow-wrap:normal}}
