/* phone layout from page stylesheet, loaded after nav.css */
@media (max-width: 760px) {
      .shell { padding: 0 20px; }
      .nav { left: -20px; right: -20px; padding-left: 20px; padding-right: 20px; }
      .logo img { height: 70px; width: auto; }
      .pt-hero { display: flex; flex-direction: column; gap: 0; padding: 8px 0 4px; }
      .pt-hero .pt-art { order: -1; width: 100%; height: 220px; margin: 0 0 24px; }
      .pt-hero > :first-child { padding-top: 0; }
      .pt-hero .crumb { margin: 0 0 16px; font-size: 12px; }
      .pt-hero h1 { font-size: 32px; line-height: 1.15; letter-spacing: -0.6px; }
      .pt-hero p { margin-top: 16px; max-width: none; font-size: 16px; line-height: 26px; }
      .pt-art.reveal, .pt-art.reveal > * { opacity: 1; transform: none; filter: none; }
      .pt-hero .cta-search { width: 100%; max-width: 100%; min-width: 0; height: 56px; margin-top: 24px; padding: 0 18px; box-sizing: border-box; }
      .section { padding: 28px 20px; }
      .section h2, .understanding-title { font-size: 28px !important; font-weight: 300 !important; line-height: 1.25; letter-spacing: -0.4px; }
      #first-steps .intro-copy { margin-bottom: 28px !important; }
      #first-steps .reveal { margin-bottom: 20px !important; }
      .intro-copy p, .understanding-text, .step p { font-size: 16px; line-height: 26px; }
      .step-grid { grid-template-columns: 1fr; gap: 22px; }
      .step { grid-template-columns: 44px minmax(0, 1fr); gap: 14px; }
      .step-n { width: 40px; height: 40px; }
      #results .intro-copy { margin-bottom: 16px !important; }
      #treatment .intro-copy, #life .intro-copy { margin-bottom: 20px !important; }
      #life { background: #f7f7f2; }
      .newsletter { padding-block: 48px; }
      .newsletter h2 { font-size: 28px; }
      .newsletter-form { flex-direction: column; align-items: stretch; gap: 12px; }
      .newsletter input, .newsletter .btn { width: 100%; }
      .footer { padding-top: 36px; }
      .footer-social { display: none; }
      .footer .logo img { display: none; }
      .footer .logo-word { display: block; margin: 0 0 16px; font: 300 32px/1.15 Poppins, sans-serif; color: #3a3a3f; }
      .footer .logo-word span { color: #E6B24A; }
      .footer-grid { grid-template-columns: 1fr; gap: 0; }
      .footer-grid > div:first-child { margin-bottom: 28px; }
      .footer-grid > div:first-child p { margin: 0; max-width: 340px; font: 400 16px/26px Inter, sans-serif; }
      .footer-acc-label { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 0; padding: 18px 0; border-bottom: 1px solid #e6e6e0; cursor: pointer; pointer-events: auto; }
      .footer-acc-label h3 { margin: 0; font: 500 18px/1.2 Poppins, sans-serif; }
      .footer-acc-label::after { content: ''; width: 8px; height: 8px; border-right: 1.5px solid #3a3a3f; border-bottom: 1.5px solid #3a3a3f; transform: rotate(45deg) translateY(-3px); flex: 0 0 auto; }
      .footer-acc-input:checked + .footer-acc-label::after { transform: rotate(-135deg) translateY(-1px); }
      .footer-acc-panel { display: none; padding: 6px 0 8px; }
      .footer-acc-input:checked ~ .footer-acc-panel { display: block; }
      .footer-bottom { flex-direction: column; align-items: flex-start; gap: 14px; padding-top: 28px; }
    }

@media (max-width: 1100px) {
      .life, .prac {
        height: auto !important;
        min-height: 0 !important;
        overflow: visible !important;
      }
      .life > .section-inner,
      .prac > .section-inner {
        position: static !important;
        display: block !important;
        height: auto !important;
        overflow: visible !important;
      }
      .life-grid, .prac-grid {
        display: flex !important;
        flex-direction: column !important;
        height: auto !important;
      }
      h1, h2, h3, p, li {
        overflow-wrap: normal !important;
        word-break: normal !important;
        word-spacing: normal !important;
      }
    }
    @media (max-width: 760px) {
      #results .result-grid { display: flex; flex-direction: column; gap: 12px; }
      #results .result-card {
        position: relative; display: block; width: 100%; height: auto; min-height: 0;
        padding: 0; background: #fff; border: 1px solid #eceae4; border-radius: 14px;
        box-shadow: none;
      }
      #results .result-acc-label {
        display: flex; align-items: center; justify-content: space-between; gap: 12px;
        margin: 0; padding: 16px 18px; pointer-events: auto; cursor: pointer;
      }
      #results .result-card h3 { margin: 0; padding: 0; flex: 1; font: 500 16px/1.35 Poppins, sans-serif; }
      #results .result-card h3::before { display: none; }
      #results .result-acc-label::after {
        content: ''; width: 8px; height: 8px; border-right: 1.5px solid #3a3a3f; border-bottom: 1.5px solid #3a3a3f;
        transform: rotate(45deg) translateY(-2px); flex: 0 0 auto;
      }
      #results .result-acc:checked + .result-acc-label::after { transform: rotate(-135deg) translateY(-1px); }
      #results .result-acc-panel { display: none; padding: 0 18px 16px; }
      #results .result-acc:checked ~ .result-acc-panel { display: block; }
      #results .result-card p { padding: 0; font-size: 15px; line-height: 24px; }
      #treatment .looks-stack, #treatment .looks-pin, #life, #life > .section-inner {
        min-height: 0 !important; height: auto !important; position: static !important; padding-top: 0 !important; padding-bottom: 0 !important;
      }
      #treatment .looks-stack .looks-grid, #life .life-grid {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: stretch !important;
        gap: 12px !important;
        width: 100% !important;
        height: auto !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        overscroll-behavior-y: none;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
        position: static !important;
      }
      #treatment .looks-grid::-webkit-scrollbar, #life .life-grid::-webkit-scrollbar { display: none; }
      #treatment .looks-card, #life .life-card {
        position: relative !important;
        left: auto !important;
        top: auto !important;
        transform: none !important;
        filter: none !important;
        opacity: 1 !important;
        min-width: 0 !important;
        height: auto !important;
        max-height: none !important;
        align-self: stretch !important;
        box-sizing: border-box !important;
        scroll-snap-align: start;
        scroll-snap-stop: always;
      }
      #treatment .looks-card {
        flex: 0 0 88% !important;
        width: 88% !important;
        max-width: 88% !important;
        min-height: 100% !important;
        overflow: visible !important;
      }
      #treatment .looks-card { display: flex !important; flex-direction: column !important; padding: 24px 20px !important; border-radius: 16px !important; background: #3a3a3f !important; }
      #treatment .looks-card p { font-size: 15px; line-height: 24px; }
      #treatment .looks-actions { margin-top: 18px; }
      #treatment .looks-actions .btn { width: 100%; height: 56px; padding: 0 18px; box-sizing: border-box; justify-content: space-between; }
      #life .life-card {
        display: flex !important; flex-direction: column !important; align-items: stretch !important;
        flex: 0 0 calc(100% - 28px) !important;
        width: calc(100% - 28px) !important;
        max-width: calc(100% - 28px) !important;
        min-height: fit-content !important;
        overflow: hidden !important;
        padding: 22px 20px 24px !important; border-radius: 16px !important; background: #e8eaee !important;
      }
      #life .life-card img { width: 40px !important; height: 40px !important; margin: 0 0 12px !important; order: -1; flex: 0 0 auto; }
      #life .life-card h3, #life .life-card p {
        display: block !important; width: 100% !important; max-width: 100% !important; min-width: 0 !important;
        margin-left: 0 !important; margin-right: 0 !important; white-space: normal !important;
        overflow: visible !important; overflow-wrap: break-word !important;
        grid-column: auto !important; grid-row: auto !important;
      }
      #life .life-card h3 { font-size: 18px; margin-bottom: 8px; }
      #life .life-card p { font-size: 15px; line-height: 24px; margin: 0; }
      #life { padding-bottom: 36px !important; }
      .looks-dots, .life-dots {
        display: flex; justify-content: center; align-items: center; gap: 8px; margin: 20px 0 0;
      }
      .life-dots { margin-bottom: 8px; }
      .looks-dots button, .life-dots button {
        width: 6px; height: 6px; padding: 0; border: 0; border-radius: 50%; background: #d0d0c8; cursor: pointer;
      }
      .looks-dots button.is-active, .life-dots button.is-active { width: 18px; border-radius: 4px; background: #E6B24A; }
    }
