/* Separate phone composition. Desktop layout is intentionally unaffected. */
.mobile-hero { display:none; }
@media (max-width:640px) {
  :root { --page-gutter:20px; }
  html { scroll-padding-top:20px; }
  .site-header { background:#e7dfd3; }
  .header-inner { min-height:64px; }
  .menu-toggle { border:0; width:44px; height:44px; background:rgba(255,255,255,.4); border-radius:50%; }
  .primary-nav { background:#e7dfd3; padding-bottom:18px; }
  .primary-nav a { padding:15px 0; }
  .hero { padding:26px 0 28px; }
  .hero > .hero-grid { display:none; }
  .mobile-hero { display:block; }
  .mobile-kicker { display:flex; align-items:center; gap:8px; font-size:11px; line-height:1.4; letter-spacing:.08em; text-transform:uppercase; color:var(--green); margin:0 0 14px; font-weight:650; }
  .mobile-kicker > span { height:6px; width:6px; border-radius:50%; background:var(--brand-red); flex-shrink:0; }
  .mobile-hero h1 { font-size:clamp(35px,9.5vw,42px); line-height:1.07; letter-spacing:-.055em; margin:0 0 10px; font-weight:570; }
  .mobile-hero h1 em { color:var(--clay); font-family:Georgia,serif; font-weight:400; }
  .mobile-intro { margin:0 0 20px; font-size:14px; color:var(--ink-soft); }
  .mobile-hero-image { overflow:hidden; border-radius:8px; background:#e8ded2; }
  .mobile-hero-image img { width:100%; height:auto; display:block; }
  .mobile-hero-actions { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:16px; margin-top:16px; }
  .mobile-hero-actions .button { min-height:50px; font-size:14px; padding:12px 15px; gap:12px; border-radius:5px; }
  .mobile-price-link { display:flex; align-items:center; gap:8px; font-size:13px; font-weight:600; min-height:48px; }
  .mobile-price-link span { color:var(--clay); font-size:18px; }
  .mobile-facts { margin-top:18px; }
  .mobile-facts p { display:flex; align-items:baseline; gap:9px; font-size:12px; line-height:1.5; color:var(--ink-soft); margin:6px 0 0; }
  .mobile-facts span { color:var(--clay); font-size:14px; }
  .value-strip-inner { display:grid; grid-template-columns:1fr 1fr 1.25fr; gap:12px; padding-block:20px; min-height:0; align-items:start; }
  .value-item { display:flex; flex-direction:column; align-items:flex-start; gap:8px; font-size:13px; min-height:0; line-height:1.45; }
  .value-number { font-size:12px; }
  .value-divider { display:none; }
  .section-pad:not(.hero) { padding-block:36px; }
  h2 { font-size:30px; line-height:1.13; letter-spacing:-.045em; }
  .section-heading { margin-bottom:20px; }
  .section-heading .eyebrow { margin-bottom:8px; font-size:10px; }
  .heading-row { gap:12px; }
  .heading-note { font-size:14px; line-height:1.55; }
  #categories .heading-note,#categories .section-heading .eyebrow { display:none; }
  .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 12px; }
  .product-image { aspect-ratio:5/4; border-radius:6px; }
  .product-index,.product-arrow { display:none; }
  .product-meta { padding-top:9px; }
  .product-meta h3 { font-size:15px; line-height:1.35; font-weight:600; text-wrap:initial; }
  .product-meta p { display:none; }
  .catalog-bottom { margin-top:22px; padding-top:16px; }
  .catalog-bottom > span { display:none; }
  #catalog { background:#ede6dc; }
  #catalog .section-heading .eyebrow { display:none; }
  #catalog .heading-note { font-size:13px; }
  .catalog-viewer { border:0; background:transparent; border-radius:0; overflow:visible; }
  .catalog-toolbar { padding:0 0 14px; justify-content:flex-end; }
  .catalog-toolbar > .eyebrow { display:none; }
  .catalog-controls { gap:14px; }
  .catalog-arrow { width:44px; height:44px; }
  .catalog-track { padding:0 0 16px; scroll-padding-inline:0; gap:12px; }
  .catalog-page { flex-basis:92%; border-radius:6px; box-shadow:none; }
  .catalog-viewer-footer { padding:12px 0 0; border-color:#cdc5b9; align-items:flex-end; }
  .catalog-viewer-footer > span { display:none; }
  .catalog-download { margin-top:24px; gap:14px; }
  .catalog-download h3 { font-size:19px; }
  .catalog-download p { font-size:13px; }
  .catalog-download .button { border-radius:5px; font-size:13px; min-height:50px; }
  .about-section { background:var(--paper); }
  .about-label .about-number { display:none; }
  .about-label .eyebrow { margin:0; }
  .about-grid { gap:10px; }
  .about-content h2 { margin-bottom:14px; }
  .about-lead { font-size:14px; line-height:1.65; margin-bottom:14px; }
  .production-note { font-size:12px; margin-bottom:18px; }
  .about-points { gap:14px; padding-top:16px; }
  .about-point { align-items:center; }
  .about-point h3 { margin:0; font-size:14px; }
  .about-point p { display:none; }
  .cooperation-section { background:#eeece5; }
  #cooperation .heading-note,#cooperation .eyebrow { display:none; }
  .steps-grid { border-bottom:0; }
  .step-card,.step-card + .step-card { padding:16px 0; min-height:0; }
  .step-symbol { display:none; }
  .step-number { font-size:11px; }
  .step-card h3 { font-size:17px; margin:6px 0; }
  .step-card p { font-size:14px; line-height:1.5; max-width:none; }
  .contact-section { background:var(--green); }
  .contact-panel { width:100%; padding:0; gap:24px; background:transparent; }
  .contact-copy { padding:0 20px; }
  .contact-copy .eyebrow { font-size:10px; margin-bottom:12px; }
  .contact-copy h2 { font-size:32px; }
  .contact-copy > p:not(.eyebrow) { font-size:14px; line-height:1.6; margin-bottom:18px; }
  .contact-download { width:100%; font-size:13px; margin-bottom:20px; border-radius:5px; }
  .custom-order-note { padding:0 0 0 14px; background:transparent; margin-bottom:20px; border-left-width:2px; }
  .custom-order-note h3 { font-size:16px; margin-bottom:6px; }
  .custom-order-note p { font-size:13px; line-height:1.55; }
  .contact-direct { gap:5px; }
  .contact-form { width:calc(100% - 24px); margin-inline:auto; padding:22px 18px; border-radius:8px; }
  .form-heading { gap:10px; font-size:9px; letter-spacing:.06em; }
  .contact-form label { font-size:14px; }
  .contact-form input,.contact-form textarea { font-size:16px; min-height:46px; }
  .contact-form .form-consent { font-size:12px; line-height:1.5; }
  .form-submit { border-radius:5px; }
  .footer-main { gap:12px; padding-block:24px; }
  .footer-nav { gap:12px 18px; }
  .footer-legal { padding-block:18px; gap:16px; }
  .footer-legal-nav { gap:12px; min-width:0; }
  .legal-identity,.footer-bottom,.footer-legal-nav a { font-size:11px; }
}
@media (max-width:640px) { html { scroll-behavior:auto; } }
