@media (max-width: 1120px) {
    .primary-nav { gap: .8rem; }
    .primary-nav > ul { gap: .75rem; }
    .primary-nav li > a { font-size: .78rem; }
    .consultation-card { display: none; }
}

@media (max-width: 960px) {
    .error-layout { grid-template-columns: minmax(0,1fr) minmax(280px,.65fr); gap: 2rem; }
    .error-links { grid-template-columns: 1fr; max-width: 460px; }
    .site-header, .site-header.is-scrolled { height: 72px; }
    .menu-toggle { display: grid; width: 46px; height: 46px; place-items: center; border: 0; background: transparent; }
    .menu-toggle-lines, .menu-toggle-lines::before, .menu-toggle-lines::after { display: block; width: 24px; height: 2px; background: var(--primary-color); content: ""; transition: transform .2s ease; }
    .menu-toggle-lines { position: relative; }
    .menu-toggle-lines::before { position: absolute; top: -7px; }
    .menu-toggle-lines::after { position: absolute; top: 7px; }
    .menu-toggle[aria-expanded="true"] .menu-toggle-lines { background: transparent; }
    .menu-toggle[aria-expanded="true"] .menu-toggle-lines::before { top: 0; transform: rotate(45deg); }
    .menu-toggle[aria-expanded="true"] .menu-toggle-lines::after { top: 0; transform: rotate(-45deg); }
    .site-header { backdrop-filter: none; }
    body.menu-open .site-header {
        position: fixed;
        top: 0;
        right: 0;
        left: 0;
        z-index: 1200;
        width: 100%;
        height: 72px;
        background: #fff;
    }
    .primary-nav {
        position: fixed;
        top: 72px;
        right: 0;
        bottom: auto;
        left: 0;
        display: block;
        width: 100%;
        max-width: 100vw;
        height: calc(100vh - 72px);
        height: calc(100dvh - 72px);
        overflow-x: hidden;
        overflow-y: auto;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
        padding: 1rem 20px 2rem;
        padding: 1rem max(20px, env(safe-area-inset-right)) calc(2rem + env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));
        background: #fff;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: translateX(100%);
        transition: transform .25s ease, opacity .25s ease, visibility 0s linear .25s;
    }
    .primary-nav.is-open { opacity: 1; visibility: visible; pointer-events: auto; transform: none; transition-delay: 0s; }
    .primary-nav > ul { display: block; }
    .primary-nav li { border-bottom: 1px solid var(--border-color); }
    .primary-nav li > a { min-height: 54px; padding-right: 48px; font-size: .95rem; }
    .primary-nav li > a::after, .primary-nav li > a i { display: none; }
    .dropdown-toggle { position: absolute; top: 7px; right: 0; display: grid; width: 44px; height: 44px; place-items: center; border: 0; background: transparent; color: var(--primary-color); }
    .dropdown-toggle[aria-expanded="true"] i { transform: rotate(180deg); }
    .treatment-menu { position: static; display: none; width: auto; max-width: 100%; border: 0; border-radius: 0; padding: 0 0 1rem; box-shadow: none; opacity: 1; pointer-events: auto; transform: none; }
    .has-dropdown.is-open .treatment-menu { display: block; }
    .treatment-menu-grid { grid-template-columns: 1fr; }
    .treatment-menu-grid a,
    .treatment-menu-grid a span { min-width: 0; }
    .treatment-menu-grid strong,
    .treatment-menu-grid small { overflow-wrap: anywhere; }
    .menu-eyebrow { display: none; }
    .hero, .hero-inner { min-height: 780px; }
    .hero::before { background: linear-gradient(90deg, rgba(2,27,55,.97), rgba(2,27,55,.72)); }
    .hero-copy { width: 72%; }
    .trust-grid { grid-template-columns: 1fr 1fr; }
    .trust-item:nth-child(2) { border-right: 0; }
    .trust-item:nth-child(-n+2) { border-bottom: 1px solid var(--border-color); }
    .treatment-grid, .feature-grid, .results-grid { grid-template-columns: 1fr 1fr; }
    .split-layout { grid-template-columns: 1fr; }
    .image-panel { min-height: 480px; }
    .process-grid, .numbered-list { grid-template-columns: 1fr 1fr; gap: 2rem 0; }
    .contact-layout, .page-intro-grid { grid-template-columns: 1fr; gap: 2.5rem; }
    .footer-grid { grid-template-columns: 1.5fr 1fr 1fr; }
    .footer-grid > :last-child { grid-column: 1 / -1; }
    .legal-layout { grid-template-columns: 1fr; gap: 2rem; }
    .legal-nav { position: static; }
    .hero, .hero-inner { min-height: 720px; }
    .hero-inner { grid-template-columns: 1fr 1fr; gap: 1.5rem; padding: 4rem 0; }
    .hero-copy { width: auto; }
    .hero-visual { height: 560px; min-height: 0; }
    .hero-main-image { width: 94%; }
    .hero-detail-image { right: -2%; width: 40%; }
    .hero-analysis-card { width: 54%; }
    .editorial-collage { min-height: 560px; }
    .clinic-gallery { min-height: 600px; grid-template-columns: 1fr 1fr; }
    .clinic-gallery-main { grid-row: auto; }
    .clinic-gallery figure:nth-child(2) { grid-column: auto; }
    .clinic-gallery figure:first-child { grid-column: 1 / -1; }
    .journey-gallery { grid-template-columns: 1fr 1fr; }
    .journey-gallery figure:nth-child(even) { transform: none; }
    .faq-layout { grid-template-columns: .85fr 1.15fr; gap: 2rem; }
    .treatment-hero-grid, .treatment-intro-grid { grid-template-columns: 1fr 1fr; gap: 2.5rem; }
    .contact-location-grid { grid-template-columns: 1fr 1fr; }
    .blog-article-layout { grid-template-columns: minmax(0, 1fr) 280px; gap: 2.5rem; }
}

@media (max-width: 720px) {
    .error-page { min-height: auto; padding: 3.5rem 0 4.5rem; }
    .error-layout { grid-template-columns: 1fr; gap: 2rem; }
    .error-visual { order: -1; min-height: 210px; }
    .error-code { font-size: clamp(7rem,36vw,10rem); }
    .error-visual > i { width: 58px; height: 58px; border-width: 5px; font-size: 1.25rem; }
    .error-orbit-one { width: 220px; height: 220px; }
    .error-orbit-two { width: 165px; height: 165px; }
    .error-links { margin-top: 2rem; }
    .location-card > img { height: 250px; }
    .lightbox { padding: .75rem; }
    .lightbox-dialog { max-height: calc(100dvh - 1.5rem); overflow-y: auto; }
    .lightbox-nav { width: 42px; height: 42px; }
    .lightbox-nav-prev { left: .55rem; }
    .lightbox-nav-next { right: .55rem; }
    .container { width: min(calc(100% - 32px), var(--container)); }
    .section { padding: 4.5rem 0; }
    .brand img { width: 50px; height: 50px; }
    .brand small { display: none; }
    .hero { display: flex; min-height: auto; flex-direction: column; background: var(--primary-dark); }
    .hero::before { display: none; }
    .hero-image { position: relative; order: 2; height: 330px; object-position: 67% center; }
    .hero-inner { order: 1; min-height: auto; padding: 4.5rem 0 3.5rem; }
    .hero-copy { width: 100%; }
    .treatment-grid, .feature-grid, .results-grid, .related-grid { grid-template-columns: 1fr; }
    .treatment-card { min-height: 250px; }
    .check-list { grid-template-columns: 1fr; }
    .image-panel { min-height: 380px; }
    .process-grid, .numbered-list { grid-template-columns: 1fr; gap: 2.2rem; }
    .comparison { overflow: visible; border: 0; background: transparent; }
    .comparison-head { display: none; }
    .comparison-row { display: grid; grid-template-columns: 1fr 1fr; margin-bottom: 1rem; border: 1px solid var(--border-color); border-radius: var(--radius); background: #fff !important; }
    .comparison-row > * { padding: .8rem 1rem; }
    .comparison-row > strong { grid-column: 1 / -1; border-bottom: 1px solid var(--border-color); background: var(--background-color); }
    .comparison-row span::before { display: block; margin-bottom: .25rem; color: var(--gold-dark); font-size: .65rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
    .comparison-row span:nth-child(2)::before { content: "FUE"; }
    .comparison-row span:nth-child(3)::before { content: "DHI"; }
    .comparison-note { align-items: flex-start; flex-direction: column; }
    .result-visual { height: 230px; }
    .cta-panel { padding: 2.5rem 1.5rem; }
    .form-grid { grid-template-columns: 1fr; }
    .form-note { display: flex; margin: 1rem 0 0; }
    .inner-hero { padding: 4rem 0 3.5rem; }
    .footer-grid { grid-template-columns: 1fr 1fr; gap: 2.5rem 1.5rem; }
    .footer-brand, .footer-grid > :last-child { grid-column: 1 / -1; }
    .footer-bottom { align-items: flex-start; flex-direction: column; }
    .site-footer { padding-bottom: calc(6.5rem + env(safe-area-inset-bottom)); }
    .whatsapp-float { display: none; }
    .mobile-contact-bar {
        position: fixed;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 1300;
        display: grid;
        width: 100%;
        max-width: 100vw;
        min-height: 70px;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        padding: 0 env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);
        border-top: 1px solid rgba(3,39,78,.12);
        background: rgba(255,255,255,.98);
        box-shadow: 0 -10px 28px rgba(3,39,78,.12);
        backdrop-filter: blur(14px);
        transition: transform .2s ease;
    }
    .mobile-contact-bar a { display: flex; min-width: 0; min-height: 69px; align-items: center; justify-content: center; flex-direction: column; gap: .28rem; padding: .38rem .2rem; overflow: hidden; color: var(--primary-color); font-size: clamp(.58rem, 2.7vw, .67rem); font-weight: 600; line-height: 1.15; text-align: center; white-space: nowrap; transition: background-color .2s ease, color .2s ease; }
    .mobile-contact-bar a:active { background: var(--background-color); }
    .mobile-contact-bar a:nth-child(2) { position: relative; overflow: visible; border-right: 1px solid rgba(31,157,97,.18); border-left: 1px solid rgba(31,157,97,.18); background: linear-gradient(180deg, #f7fcf9, #eef9f3); color: #147246; }
    .mobile-contact-bar a:nth-child(2)::before { position: absolute; top: 0; right: 22%; left: 22%; height: 2px; border-radius: 0 0 4px 4px; background: #1f9d61; content: ""; }
    .mobile-contact-bar i { display: grid; width: 28px; height: 28px; flex: 0 0 28px; place-items: center; border-radius: 50%; background: rgba(3,39,78,.06); font-size: .95rem; line-height: 1; }
    .mobile-contact-bar a:nth-child(2) i { position: relative; background: #1f9d61; color: #fff; box-shadow: 0 5px 14px rgba(31,157,97,.3); font-size: 1rem; }
    .mobile-contact-bar a:nth-child(2) i::after { position: absolute; inset: -4px; border: 1px solid rgba(31,157,97,.52); border-radius: 50%; content: ""; animation: whatsapp-pulse 2s ease-out infinite; }
    .mobile-contact-bar span { display: block; width: 100%; overflow: hidden; text-overflow: ellipsis; }
    body.menu-open .cookie-notice { display: none; }
    .cookie-notice { right: 12px; bottom: calc(82px + env(safe-area-inset-bottom)); width: calc(100% - 24px); max-height: calc(100vh - 106px); max-height: calc(100dvh - 106px - env(safe-area-inset-bottom)); overflow-y: auto; }
    .hero { display: block; }
    .hero-inner { display: grid; min-height: auto; grid-template-columns: 1fr; gap: 2.5rem; padding: 4rem 0; }
    .hero-copy { width: 100%; }
    .hero-visual { height: 520px; order: 2; }
    .hero-main-image { left: 0; width: 88%; height: 82%; }
    .hero-detail-image { right: 0; bottom: 0; width: 38%; height: 44%; }
    .hero-analysis-card { bottom: 3%; left: 3%; width: 48%; }
    .trust-item img { width: 48px; height: 48px; flex-basis: 48px; }
    .treatment-card { min-height: 0; }
    .editorial-collage { min-height: 480px; }
    .visual-banner { grid-template-columns: 1fr; }
    .visual-banner > img { min-height: 320px; max-height: 360px; object-position: center 44%; }
    .method-visual-grid { grid-template-columns: 1fr; }
    .method-visual-card { min-height: 250px; }
    .clinic-gallery { min-height: 0; grid-template-columns: 1fr 1fr; grid-template-rows: 300px 220px 220px; }
    .clinic-gallery figure:first-child { grid-column: 1 / -1; }
    .clinic-gallery figure:nth-child(2) { grid-column: 1 / -1; }
    .journey-gallery { grid-template-columns: 1fr; }
    .testimonial-track { grid-auto-columns: 88%; gap: .8rem; }
    .faq-layout { grid-template-columns: 1fr; }
    .faq-support-image { position: relative; top: auto; }
    .faq-support-image img { aspect-ratio: 3 / 2; object-position: center 40%; }
    .contact-intro-visual { display: flex; flex-direction: column; }
    .contact-intro-visual > img { order: -1; }
    .treatment-hero-grid, .treatment-intro-grid { grid-template-columns: 1fr; }
    .treatment-hero-image { order: -1; }
    .treatment-hero-image img { max-height: 360px; }
    .treatment-editorial-image > img { min-height: 360px; }
    .contact-location-grid { grid-template-columns: 1fr; }
    .blog-grid { grid-template-columns: 1fr; }
    .blog-card-featured { display: flex; grid-column: auto; }
    .blog-card-featured .blog-card-image, .blog-card-image { min-height: 240px; }
    .blog-article-layout { grid-template-columns: 1fr; }
    .blog-aside { position: static; }
    .primary-nav {
        right: 0;
        bottom: calc(70px + env(safe-area-inset-bottom));
        left: 0;
        height: auto;
        padding-bottom: 1.25rem;
    }
}

@media (max-width: 420px) {
    .error-actions { display: grid; }
    .error-actions .button { width: 100%; justify-content: center; }
    h1 { font-size: 2.45rem; }
    h2 { font-size: 1.95rem; }
    .hero-actions .button { width: 100%; }
    .hero-image { height: 290px; }
    .trust-grid { grid-template-columns: 1fr; }
    .trust-item { border-right: 0; border-bottom: 1px solid var(--border-color); padding: 1.25rem .75rem; }
    .trust-item:nth-child(3) { border-bottom: 1px solid var(--border-color); }
    .trust-item:last-child { border-bottom: 0; }
    .trust-item span { max-width: none; }
    .comparison-row { grid-template-columns: 1fr; }
    .comparison-row span:nth-child(2) { border-bottom: 1px solid var(--border-color); }
    .footer-grid { grid-template-columns: 1fr; }
    .footer-grid > * { grid-column: auto !important; }
    .hero-visual { height: 430px; }
    .hero-main-image { width: 93%; }
    .hero-detail-image { width: 41%; }
    .hero-analysis-card { width: 56%; }
    .hero-analysis-card img { height: 96px; }
    .editorial-collage { min-height: 420px; }
    .clinic-gallery { grid-template-columns: 1fr; grid-template-rows: repeat(4, 240px); }
    .clinic-gallery figure { grid-column: auto !important; }
    .testimonial-card { min-height: 320px; padding: 1.5rem; }
}

@media (max-width: 360px) {
    .container { width: min(calc(100% - 24px), var(--container)); }
    .brand { gap: .5rem; }
    .brand img { width: 46px; height: 46px; }
    .brand strong { font-size: .94rem; }
    .menu-toggle { width: 42px; height: 42px; flex: 0 0 42px; }
    .primary-nav { padding-inline: 12px; }
    .primary-nav li > a { font-size: .9rem; }
    .treatment-menu-grid a { padding: .65rem .45rem; }
    .treatment-menu-grid small { font-size: .68rem; }
    .mobile-contact-bar a { font-size: .57rem; }
}

@media (max-height: 520px) and (max-width: 960px) {
    .primary-nav { padding-top: .5rem; }
    .primary-nav li > a { min-height: 46px; }
    .treatment-menu-grid small { display: none; }
}
