@media (max-width: 1100px) {
  :root { --header-height: 5rem; }
  .hero__grid { grid-template-columns: 1.15fr .85fr; gap: 2.5rem; }
  .hero__meta { grid-template-columns: 1fr 1fr; }
  .hero__meta li:last-child { grid-column: 1/-1; }
  .hero-portrait { min-height: 27rem; }
  .hero-portrait__card { left: 0; }
  .split-layout, .story-grid { gap: 3rem; }
  .process-grid { grid-template-columns: repeat(2,1fr); }
  .process-card:nth-child(2) { border-right: 0; }
  .process-card:nth-child(n+3) { margin-top: 2rem; border-top: 1px solid var(--color-line); }
  .credentials-grid { grid-template-columns: repeat(2,1fr); }
  .booking-progress__item small { display: none; }
  .booking-progress__line { width: 1.5rem; }
}

@media (max-width: 820px) {
  .menu-toggle { display: block; }
  .site-nav { position: fixed; z-index: -1; top: var(--header-height); right: 0; left: 0; display: grid; align-content: start; gap: 1.5rem; padding: 1.4rem var(--container-gutter) 2rem; background: rgba(250,248,242,.98); border-bottom: 1px solid var(--color-line); box-shadow: var(--shadow-card); opacity: 0; transform: translateY(-1rem); pointer-events: none; transition: opacity var(--transition-fast), transform var(--transition-base); }
  .site-nav.is-open { z-index: 10; opacity: 1; transform: translateY(0); pointer-events: auto; }
  .site-nav__links { display: grid; gap: 0; }
  .site-nav__link { padding: .9rem 0; border-bottom: 1px solid var(--color-line); font-size: .9rem; }
  .site-nav__link::after { display: none; }
  .site-nav .button { width: 100%; }
  .hero { min-height: auto; }
  .hero__grid, .page-hero__grid, .split-layout, .story-grid, .values-layout, .faq-layout, .office-showcase, .contact-grid { grid-template-columns: 1fr; }
  .hero__grid { gap: 4rem; }
  .hero__content { text-align: center; }
  .hero__content .eyebrow, .hero__actions { justify-content: center; }
  .hero__lead { margin-inline: auto; }
  .hero__meta { max-width: none; text-align: left; }
  .hero-portrait { min-height: 30rem; }
  .hero-portrait__shape { width: 25rem; }
  .hero-portrait__card { left: 8%; }
  .hero-portrait__name { right: 8%; }
  .trust-strip__grid { grid-template-columns: repeat(2,1fr); }
  .trust-strip__grid > div { padding-left: 1.2rem; }
  .trust-strip__grid > div:nth-child(2) { border-right: 0; }
  .trust-strip__grid > div:nth-child(n+3) { border-top: 1px solid rgba(255,255,255,.12); }
  .image-composition { min-height: 35rem; }
  .service-grid, .service-details, .modality-grid, .calendar-layout { grid-template-columns: 1fr; }
  .service-card { min-height: 20rem; }
  .service-card .icon-box { margin-bottom: 2.8rem; }
  .office-showcase__copy { padding: 4rem 0; }
  .office-showcase__gallery { min-height: 31rem; padding: 0 0 .7rem; }
  .office-showcase__gallery img:first-child { border-radius: var(--radius-xl) 0 0 var(--radius-xl); }
  .office-showcase__gallery img:last-child { border-radius: 0 var(--radius-xl) var(--radius-xl) 0; }
  .cta-card { align-items: flex-start; flex-direction: column; }
  .page-hero__portrait { margin-top: 1rem; }
  .story-grid__visual { min-height: 36rem; }
  .service-detail:nth-child(odd), .service-detail:nth-child(even) { border-bottom: 1px solid var(--color-line); }
  .boundaries-card { grid-template-columns: 1fr; gap: 1.2rem; }
  .booking-progress { justify-content: center; gap: .5rem; }
  .booking-progress__item > div { display: none; }
  .booking-progress__line { width: clamp(1.5rem,8vw,4rem); }
  .calendar-card, .time-card { min-width: 0; }
  .contact-grid { gap: 2rem; }
}

@media (max-width: 560px) {
  :root { --container-gutter: 1rem; --radius-xl: 1.5rem; }
  body { font-size: .94rem; }
  h1 { font-size: clamp(2.7rem,14vw,4.1rem); }
  h2 { font-size: clamp(2.2rem,11vw,3.2rem); }
  .brand__text small { display: none; }
  .brand-logo { width: 3.4rem; height: 3.4rem; }
  .hero--home { padding-top: 3.5rem; }
  .hero__meta { grid-template-columns: 1fr; max-width: 18rem; margin-inline: auto; }
  .hero__meta li:last-child { grid-column: auto; }
  .hero__actions { flex-direction: column; }
  .hero__actions .button { width: 100%; }
  .hero-portrait { min-height: 24rem; }
  .hero-portrait__shape { width: 20rem; }
  .hero-portrait > img { width: 72%; border-width: .5rem; }
  .hero-portrait__card { bottom: 1.4rem; left: 0; }
  .hero-portrait__name { top: 1.8rem; right: 0; }
  .trust-strip__grid > div { padding: 1.2rem .7rem; }
  .trust-strip strong { font-size: 1.05rem; }
  .image-composition { min-height: 27rem; }
  .image-composition__badge { width: 6.2rem; height: 6.2rem; }
  .service-grid, .credentials-grid, .guidance-grid, .booking-help__grid { grid-template-columns: 1fr; }
  .process-grid { grid-template-columns: 1fr; }
  .process-card, .process-card:not(:first-child) { margin-top: 0; padding: 1.7rem 0; border-top: 0; border-right: 0; border-bottom: 1px solid var(--color-line); }
  .process-card .icon-box { margin-bottom: 1.8rem; }
  .process-card__number { top: 1.7rem; right: 0; }
  .office-showcase__gallery { min-height: 24rem; }
  .office-showcase__gallery img { min-height: 24rem; }
  .faq-item__answer { padding-right: 0; }
  .cta-card { border-radius: var(--radius-lg); }
  .site-footer__grid { grid-template-columns: 1fr; gap: 2.3rem; }
  .site-footer__bottom { flex-direction: column; }
  .page-hero { padding-block: 4.5rem; }
  .page-hero--booking { padding-bottom: 8rem; }
  .portrait-frame { width: 18rem; }
  .story-grid__visual { min-height: 29rem; }
  .story-grid__visual > img { width: 88%; }
  .quote-card { width: 75%; padding: 1.2rem; }
  .quote-card p { font-size: 1.08rem; }
  .service-detail { grid-template-columns: 3.2rem 1fr; gap: 1rem; padding-block: 2.2rem; }
  .service-detail__icon { width: 3.2rem; height: 3.2rem; }
  .modality-card { min-height: 31rem; }
  .modality-card--content { min-height: auto; }
  .boundaries-card { padding: 1.5rem; }
  .boundaries-card > div { align-items: flex-start; flex-direction: column; }
  .booking-shell { padding: .7rem; border-radius: var(--radius-lg); }
  .booking-progress { padding: .8rem .5rem 1.2rem; }
  .booking-progress__line { width: 1.2rem; }
  .booking-progress__item > span { width: 1.8rem; height: 1.8rem; }
  .booking-panel { padding: 1.4rem .75rem; }
  .modality-options, .form-grid, .appointment-summary { grid-template-columns: 1fr; }
  .field--full, .summary-item--full { grid-column: auto; }
  .modality-option { grid-template-columns: 2.8rem 1fr 1.5rem; padding: .9rem; }
  .modality-option__icon { width: 2.8rem; height: 2.8rem; }
  .calendar-card, .time-card { padding: .9rem; }
  .calendar-grid { gap: .2rem; }
  .calendar-day { border-radius: .55rem; font-size: .72rem; }
  .time-slots { grid-template-columns: repeat(2,1fr); }
  .booking-actions { align-items: stretch; flex-direction: column-reverse; }
  .booking-actions--end { flex-direction: column; }
  .booking-actions .button { width: 100%; }
  .booking-success__actions { align-items: stretch; flex-direction: column; }
  .location-card__map { height: 18rem; }
  .location-card__content { padding: 1.4rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
  .js .reveal:not(.is-visible) { opacity: 1; transform: none; }
}

@media (max-width: 1100px) {
  .site-nav { gap: 1.2rem; }
  .site-nav__links { gap: 1rem; }
  .store-layout { grid-template-columns: 1fr; }
  .cart-panel { position: static; }
  .product-grid { grid-template-columns: repeat(2,1fr); }
  .product-card:last-child { grid-column: 1/-1; min-height: 27rem; }
}

@media (max-width: 820px) {
  .product-grid, .blog-grid, .testimonials-grid { grid-template-columns: 1fr; }
  .product-card, .product-card:last-child { grid-column: auto; min-height: auto; }
  .product-card > p { min-height: 0; }
  .featured-post, .article-layout { grid-template-columns: 1fr; }
  .featured-post figure { min-height: 24rem; }
  .blog-hero-mark { width: 14rem; height: 14rem; margin-top: 1rem; }
  .article-sidebar { position: static; }
  .article-cover { height: 28rem; }
  .testimonial-card { min-height: 16rem; }
}

@media (max-width: 560px) {
  .page-hero--services .page-hero__grid, .page-hero--blog .page-hero__grid { gap: 2.5rem; }
  .service-note { flex-direction: column; }
  .product-card { padding: 1.35rem; }
  .cart-panel { padding: 1.15rem; }
  .cart-item__controls { grid-template-columns: auto 1fr; }
  .cart-item__subtotal { grid-column: 1/-1; }
  .featured-post figure { min-height: 19rem; }
  .featured-post__content { padding: 1.5rem; }
  .blog-card figure { height: 13rem; }
  .article-header { padding-bottom: 7rem; }
  .article-cover { height: 20rem; margin-top: -4rem; border-width: .35rem; }
  .article-layout { padding-top: 3rem; }
  .article-content h2 { font-size: 2rem; }
  .article-highlight { padding: 1.4rem; }
  .article-highlight p { font-size: 1.4rem; }
  .testimonial-card { padding: 1.5rem; }
  .testimonial-card > p { font-size: 1.3rem; }
}
