/* Phone layouts: readable type, deliberate spacing and comfortable touch targets. */
@media (max-width: 760px) {
  html { scroll-padding-top: 80px; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
  /* The photograph continues behind the fixed header, with reserved space for the title. */
  body .header { position: fixed; top: 0; height: 64px; padding-inline: 6%; gap: 16px; z-index: 30; background: linear-gradient(180deg, #10271ebd, #10271e00); color: var(--ivory); border-bottom: 1px solid transparent; backdrop-filter: none; -webkit-backdrop-filter: none; transition: background .2s, border-color .2s; }
  body .header.is-scrolled { background: #132b22f5; border-bottom-color: #c1a16f38; }
  body.product-page-open .header { position: fixed; top: 0; }
  body .header .brand { display: flex; align-items: center; height: 44px; line-height: 1; }
  body .header .brand > span { display: grid; align-content: center; gap: 5px; line-height: .9; }
  body .header .brand img { display: block; width: 40px; height: 40px; flex: 0 0 40px; }
  body .header .brand-small { line-height: 1; margin: 0; }
  .header .nav { top: 64px; }
  .brand { font-size: 29px; gap: 10px; }
  .brand-small { font-size: 8px; }
  .menu-toggle { width: 44px; height: 44px; padding: 9px 10px; flex-shrink: 0; }
  .menu-toggle span { width: 24px; }
  .bag-toggle { min-width: 44px; justify-content: center; }

  body .hero { display: flex; flex-direction: column; min-height: 100vh; min-height: 100svh; }
  body .hero .hero-copy { padding: 120px 6% 28px; min-height: 0; justify-content: flex-start; }
  .hero .eyebrow { font-size: 9px; letter-spacing: .09em; line-height: 1.7; margin-bottom: 20px; max-width: 350px; }
  .hero .tiny-line { width: 18px; flex-shrink: 0; }
  .hero h1 { font-size: clamp(49px, 13.3vw, 83px); line-height: .98; margin-bottom: 24px; }
  .hero-description { font-size: 13px; line-height: 1.75; max-width: 365px; }
  .hero-actions { width: 100%; max-width: 365px; flex-direction: column; align-items: stretch; gap: 4px; margin-top: 24px; }
  .hero .button { min-height: 52px; font-size: 12px; padding: 14px 18px; }
  .hero .button > .rb-magnet-inner { width: 100%; justify-content: space-between; }
  .hero .text-link { min-height: 44px; font-size: 11px; display: flex; align-items: center; justify-content: space-between; border-bottom: 0; }
  .hero-bottom { position: relative; left: auto; right: auto; bottom: auto; padding: 0 6% 18px; margin-top: auto; gap: 15px; }
  .hero-product { width: 100%; gap: 13px; padding: 12px; }
  .hero-product > img { width: 46px; height: 58px; }
  .hero-product strong { font-size: 23px; max-width: none; line-height: 1.06; }
  .hero-product small { font-size: 9px; letter-spacing: .09em; }
  .hero-product .circle-arrow { flex-shrink: 0; }
  .hero-foot { gap: 8px; padding-top: 10px; font-size: 10px; flex-wrap: nowrap; }
  .hero-foot .coordinate { display: none; }
  .hero-foot > span:nth-child(2) { font-size: 10px; max-width: 120px; line-height: 1.6; }
  .hero-foot a { width: 44px; height: 44px; flex-shrink: 0; margin-left: auto; }
  .hero-foot .rb-motion-toggle { width: auto; min-height: 44px; font-size: 10px; margin: 0; flex-shrink: 0; }

  .eyebrow { font-size: 10px; }
  .section-heading > p, .studio-copy > p:not(.eyebrow), .detail-row p { font-size: 13px; line-height: 1.8; }
  .filters { gap: 23px; }
  .filter { min-height: 48px; font-size: 12px; }
  .filter span { font-size: 10px; }
  .shop-preview-note { font-size: 11px; line-height: 1.7; }
  .shop-preview-note > span { font-size: 9px; }
  .product-grid { gap: 30px 14px; }
  .product-tag { font-size: 9px; padding: 5px 7px; }
  .product-meta h3 { font-size: 23px; line-height: 1.15; min-height: 2.3em; }
  .product-card > p { font-size: 11px; line-height: 1.7; min-height: 0; }
  .shop-card-footer { display: flex; flex-direction: column; align-items: flex-start; gap: 7px; }
  .shop-card-price { font-size: 14px; }
  .shop-card-action { font-size: 11px; min-height: 44px; width: 100%; text-align: left; }
  .collection-bottom { font-size: 12px; }
  .collection-bottom a { display: inline-flex; align-items: center; min-height: 44px; }

  .builder-form { padding: 28px 20px; }
  .fieldset-description, .field-help, .preview-note, .local-note { font-size: 12px; line-height: 1.75; }
  .builder-form label:not(.choice,.consent), .field-label { font-size: 12px; }
  .builder-form input:not([type=radio],[type=checkbox]), .builder-form select, .builder-form textarea { font-size: 16px; min-height: 48px; }
  .builder-form input::placeholder, .builder-form textarea::placeholder { font-size: 13px; }
  .choice-row { grid-template-columns: 1fr; gap: 9px; }
  .choice input { width: 16px; height: 16px; top: 19px; left: 13px; }
  .choice > span { padding: 12px 12px 12px 41px; min-height: 60px; }
  .choice b { font-size: 12px; }
  .choice small { font-size: 11px; }
  .step-indicators { font-size: 10px; gap: 8px; }
  .step-indicators span { font-size: 9px; }
  .form-actions .button { font-size: 12px; min-height: 48px; }
  .back-button { font-size: 12px; min-height: 44px; }
  .consent, .consent span { font-size: 12px; }

  .dialog-close { width: 44px; height: 44px; }
  .dialog-content > p:not(.eyebrow) { font-size: 13px; }
  .dialog-content .dialog-note { font-size: 11px !important; }
  .dialog-content #product-shop, .dialog-content #product-custom { font-size: 12px; min-height: 44px; }
  .product-purchase label { font-size: 12px; }
  .product-purchase label > span { font-size: 10px; }
  .product-purchase select, .product-purchase input { min-height: 48px; }
  .shop-primary { font-size: 12px; min-height: 52px; }
  .purchase-note, .shop-demo-line, .payment-marks span, .purchase-price-line > span { font-size: 11px; }
  .bag-item-notes, .bag-delivery-note, .bag-remove { font-size: 12px; }
  .bag-item-controls { flex-wrap: wrap; gap: 8px 18px; }
  .quantity-control { height: 46px; font-size: 13px; }
  .quantity-control button { width: 44px; height: 44px; }
  .bag-remove { min-height: 44px; }
  .bag-bottom { padding-bottom: max(22px, env(safe-area-inset-bottom)); }
  .checkout-header > span { font-size: 9px; letter-spacing: .06em; }
  .checkout-breadcrumbs { font-size: 11px; min-height: 44px; }
  .checkout-breadcrumbs button { min-height: 44px; }
  .checkout-intro, .checkout-disclosure, .checkout-item p, .checkout-item > strong { font-size: 12px; }
  .checkout-item h3 { font-size: 12px; }
  .checkout-totals > div { font-size: 12px; }
  .checkout-summary .eyebrow { font-size: 10px; }
  .checkout-section-heading > button { font-size: 12px; min-height: 44px; }
  .delivery-option strong, .delivery-option small, .demo-payment-panel p { font-size: 12px; }
  #checkout-form label:not(.payment-choices label,.checkout-consent,.stripe-test-label,.demo-scenarios label) { font-size: 12px; }
  #checkout-form label > span:not(.payment-choices span) { font-size: 10px; }
  .payment-choices { grid-template-columns: 1fr; gap: 9px; }
  .payment-choices label { min-height: 56px; padding: 12px 14px; gap: 12px; }
  .payment-choices input { width: 16px; height: 16px; }
  .payment-choices span { font-size: 12px; }
  .payment-choices small { font-size: 9px; }
  .checkout-consent, .checkout-consent span { font-size: 12px !important; }
  .checkout-form-wrap, .checkout-success { padding-bottom: max(32px, env(safe-area-inset-bottom)); }
  .contact .eyebrow { font-size: 10px; }
  .contact-bottom { font-size: 12px; }
  .contact-bottom a { min-height: 44px; display: flex; align-items: center; }
  .footer-links { font-size: 12px; flex-wrap: wrap; }
  .footer-links a, .footer-admin a, .footer-admin button { min-height: 44px; display: inline-flex; align-items: center; }
  .footer-bottom { font-size: 10px; }
  .faq-list summary { min-height: 56px; font-size: 14px; }
  .faq-list details > p { font-size: 12px; line-height: 1.8; }
}

@media (max-width: 370px) {
  body .hero .hero-copy { padding-top: 108px; }
  .hero h1 { font-size: 46px; }
  .hero-product strong { font-size: 21px; }
  .hero-product small { font-size: 8px; }
  .hero-foot > span:nth-child(2) { max-width: 92px; font-size: 9px; }
  .hero-foot .rb-motion-toggle { font-size: 9px; }
  .product-grid { grid-template-columns: 1fr; gap: 32px; }
  .product-visual { aspect-ratio: 5/6; }
  .product-meta h3 { font-size: 29px; min-height: 0; }
  .product-card > p { font-size: 12px; }
  .shop-card-footer { flex-direction: row; align-items: center; }
  .shop-card-action { width: auto; font-size: 12px; }
  .form-pair, .checkout-pair { grid-template-columns: 1fr; }
  .step-indicators span { display: block; margin-bottom: 3px; }
}
