/* A quieter storefront on phones. Desktop retains the full working layout. */
.section-navigation .menu-contact {display:none;}
.quote-step > summary, .quote-next {display:none;}
.quote-step {min-width:0;}
.mobile-quote-shortcut {display:none;}
.hero-catalog-link {display:inline-flex;align-items:center;min-height:44px;color:inherit;font-size:1rem;text-underline-offset:4px;}
@media (max-width:760px) {
  :root {--site-header-height:68px;}
  .site-header {display:flex;flex-wrap:wrap;min-height:68px;gap:8px;padding:10px 16px;}
  .site-header > .brand {margin-right:auto;gap:8px;}
  .site-header .logo-small {width:36px;height:36px;}
  .site-header .brand-wordmark {font-size:1rem;line-height:1.1;}
  .site-header .brand-wordmark > span {display:block;}
  .site-menu {order:3;}
  .site-menu summary {min-width:44px;min-height:44px;width:44px;padding:10px;}
  .menu-label {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
  .site-header .header-actions {display:flex;gap:8px;}
  .site-header .mobile-quote-shortcut {display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 12px;border-radius:999px;background:var(--sun);color:var(--ink);font-size:.9375rem;font-weight:700;text-decoration:none;}
  .mobile-quote-shortcut:focus-visible {outline:3px solid white;outline-offset:3px;}
  .site-header .header-actions .contact-direct, .cart-toggle-label {display:none;}
  .site-header .cart-toggle {min-width:60px;min-height:44px;padding:8px;gap:6px;}
  .section-navigation {right:16px;width:calc(100vw - 32px);padding:16px;}
  .section-navigation ul {grid-template-columns:1fr;}
  .section-navigation .menu-contact {display:flex;background:var(--sun);color:var(--ink);margin-bottom:12px;font-weight:700;}

  .hero {grid-template-columns:minmax(0,1fr);}
  .hero-copy {padding:32px 22px 26px;}
  .hero .eyebrow {font-size:.875rem;letter-spacing:.1em;margin-bottom:20px;}
  .hero h1 {font-size:clamp(2.75rem,11.4vw,4.8rem);line-height:1.04;margin-bottom:20px;}
  .hero h1 br:first-of-type {display:none;}
  .hero-signature {display:none;}
  .hero-lede {font-size:1rem;line-height:1.6;margin-bottom:20px;}
  .hero-price {margin-bottom:18px;}
  .hero-actions {gap:4px 24px;}
  .hero-actions .button {min-height:52px;max-width:none;}
  .hero-actions a[href='#receta'] {display:none;}
  .hero .trust-list {display:none;}
  .hero-campaign img {height:auto;aspect-ratio:5/4;object-fit:cover;object-position:center top;}
  .hero-campaign figcaption {padding:14px 20px;}
  .hero .delivery-signature {padding:22px;gap:18px;}
  .delivery-copy > strong,.delivery-kicker {display:none;}
  .delivery-copy p {font-size:.875rem;line-height:1.55;margin:0;}

  .brand-story,.style-gallery,.why-section,.quote-section,.booking-section,.reviews-section,.faq-section {padding:44px 22px;gap:24px;}
  .brand-story h2,.gallery-heading h2,.why-heading h2,.quote-intro h2,.booking-intro h2,.reviews-section h2,.faq-section h2,.closing-cta h2 {font-size:clamp(2rem,8vw,3rem);line-height:1.12;letter-spacing:-.035em;}
  .story-title {padding:22px;margin-bottom:20px;}
  .story-copy .story-lead {font-size:1.125rem;}
  .story-copy p,.gallery-intro p,.why-heading > p:last-child,.reviews-section p {font-size:1rem;line-height:1.6;}
  .brand-story .story-portrait {max-width:none;}
  /* Preserve the full campaign portrait so all three faces remain visible. */
  .brand-story .story-portrait img {width:100%;height:auto;aspect-ratio:auto;object-fit:contain;object-position:center top;}
  .gallery-heading {gap:16px;margin-bottom:26px;}
  .gallery-intro > p:first-child {margin-bottom:0;}
  .gallery-availability {display:block;margin-top:14px;}
  .optical-gallery-heading p {display:none;}
  .optical-gallery-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
  .optical-gallery-grid .gallery-enlarge {position:static;display:block;border:0;border-radius:0;text-align:center;min-height:44px;}
  .optical-gallery-grid .gallery-card figcaption {padding-top:10px;}
  .optical-gallery-grid .gallery-card figcaption small {display:none;}
  .gallery-grid {grid-auto-columns:88%;}
  .why-grid {gap:12px;margin:24px 0;}
  .why-grid article {padding-top:18px;}
  .why-grid h3 {margin:10px 0;font-size:1.25rem;}
  .why-grid p {line-height:1.6;margin-bottom:8px;}

  .quote-intro {gap:24px;margin-bottom:28px;}
  .quote-intro h2 {margin-bottom:16px;}
  .quote-intro .quote-intro-lead {font-size:1rem;}
  .quote-inclusions {gap:4px 16px;margin:16px 0;}
  .quote-inclusions li {padding:0;border:0;background:none;min-height:30px;}
  .quote-start {display:none;}
  .quote-look {border-radius:16px;}
  .quote-look-heading,.quote-look-caption,.quote-look-gesture {display:none;}
  .quote-look-stage {aspect-ratio:2.1;}
  .quote-look-footer {padding:8px 18px;}
  .quote-look-note {font-size:.875rem;padding:0 18px 16px;}
  .quote-layout {gap:28px;}
  .quote-step {margin:0 0 12px;border:1px solid #d7cec1;border-radius:14px;background:#fffdf8;overflow:clip;}
  .quote-step > summary {display:flex;align-items:center;gap:12px;min-height:76px;padding:16px;list-style:none;cursor:pointer;}
  .quote-step > summary::-webkit-details-marker {display:none;}
  .quote-step > summary::after {content:'+';font-size:1.4rem;margin-left:auto;flex:none;}
  .quote-step[open] > summary::after {content:'−';}
  .quote-step[open] > summary {background:#ffe1c8;border-bottom:1px solid #e1cbb8;}
  .quote-step-number {font-size:.875rem;color:#84502a;align-self:flex-start;padding-top:3px;}
  .quote-step-label {display:grid;gap:5px;min-width:0;}
  .quote-step-label strong {font-size:1rem;line-height:1.4;}
  .quote-step-label small {font-size:.875rem;line-height:1.5;color:#615349;overflow-wrap:anywhere;}
  .quote-builder .quote-step fieldset {position:relative;margin:0;padding:20px 14px;}
  .quote-step legend {position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:0!important;overflow:hidden;clip-path:inset(50%);}
  .quote-step summary:focus-visible,.quote-next:focus-visible {outline:3px solid #9a400f;outline-offset:-4px;}
  .quote-next {display:flex;justify-content:space-between;align-items:center;width:100%;min-height:48px;margin-top:22px;padding:12px 16px;border:1px solid var(--ink);border-radius:10px;background:var(--ink);color:white;font-size:1rem;cursor:pointer;}
  .lens-options {grid-template-columns:minmax(0,1fr);gap:10px;}
  .lens-options .choice-card {min-height:0;}
  .lens-options .choice-content {padding:16px;gap:5px;border-radius:10px;}
  .lens-options .choice-detail {margin:0;line-height:1.5;}
  .lens-options .choice-included {margin:2px 0 6px;}
  .choice-badge {display:none;}
  .recipe-intro {padding:18px;}
  .recipe-intro h3 {font-size:1.625rem;margin-bottom:16px;}
  .recipe-intro p {font-size:.9375rem;line-height:1.6;}
  .recipe-promise {margin-bottom:0;padding-bottom:0;border-bottom:0;}
  .prescription-box {padding:16px 12px;}
  .prescription-tabs {gap:6px;}
  .treatment-row {padding:14px 10px;gap:10px;}
  .treatment-row small {max-width:none;font-size:.875rem;line-height:1.5;}
  .treatment-row b {font-size:.9375rem;}
  .treatment-help {font-size:.875rem;line-height:1.6;}
  .quote-card {padding:24px 18px;}
  .quote-card .payment-row {display:none;}
  .quote-card .button {min-height:50px;font-size:1rem;}
  .quote-card .fine-print {font-size:.875rem;line-height:1.6;}
  .faq-list summary {font-size:1rem;padding:20px 0;}
  .closing-cta {padding:44px 22px;}
  .closing-actions {margin:24px 0 18px;}
  .mobile-cta {min-height:50px;box-shadow:0 4px 18px #0002;}
  .mobile-cta.is-at-hero {display:none;}
  #tipo-lente,#quote-result,#receta,#tratamientos {scroll-margin-top:16px;}
}
@media (max-width:389px) {
  .site-header .brand-wordmark {display:none;}
}
