@media (max-width: 1100px) {
    :root { --shell: min(100% - 48px, 980px); }
    .header-shell { grid-template-columns: 170px 1fr 170px; }
    .hero-slide { grid-template-columns: .95fr 1.05fr; gap: 45px; }
    .hero-visual { min-height: 540px; }
    .atelier { grid-template-columns: 1fr .8fr; gap: 65px; }
    .footer-shell { grid-template-columns: .8fr 1.4fr; }.newsletter { grid-column: 1 / -1; max-width: 600px; }
}

@media (max-width: 820px) {
    :root { --header-height: 68px; --shell: calc(100% - 36px); }
    .site-header.is-scrolled { height: 62px; }
    .header-shell { grid-template-columns: 46px 1fr 82px; }
    .menu-toggle { display: block; }
    .brand { justify-self: center; width: 138px; height: 50px; padding: 11px 17px; }
    .desktop-nav, .desktop-action { display: none !important; }
    .header-actions { gap: 1px; }.header-actions a, .header-actions button { width: 37px; }.header-actions svg { width: 19px; }
    .mobile-menu { position: fixed; z-index: 102; top: 0; bottom: 0; left: 0; display: flex; flex-direction: column; width: min(86vw, 390px); padding: 25px 25px 35px; background: var(--ivory); transform: translateX(-105%); transition: transform .5s cubic-bezier(.75,0,.2,1); }
    .mobile-menu.is-open { transform: translateX(0); }.mobile-menu__top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 60px; color: var(--terracotta); font: italic 15px var(--serif); }.mobile-menu__top button { width: 44px; height: 44px; background: transparent; font: 30px/1 var(--display); }
    .mobile-menu > a { display: flex; justify-content: space-between; padding: 18px 0; border-bottom: 1px solid var(--line); font: 28px var(--display); }.mobile-menu > a span { color: var(--terracotta); font: 9px var(--sans); }
    .mobile-menu__meta { display: flex; gap: 25px; margin-top: auto; font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
    .menu-scrim { position: fixed; z-index: 101; inset: 0; display: block; visibility: hidden; background: rgba(38,23,17,.45); opacity: 0; transition: opacity .4s, visibility .4s; }.menu-scrim.is-open { visibility: visible; opacity: 1; }
    .hero { height: auto; min-height: 0; }
    .hero-swiper, .hero-swiper .swiper-wrapper { height: auto; min-height: 0; }
    .hero-slide { width: 100%; padding: 34px 18px 60px; grid-template-columns: 1fr; gap: 34px; }
    .hero-copy { padding: 0; }.pill { margin-bottom: 23px; }.hero h1, .hero h2 { font-size: clamp(44px, 11.5vw, 66px); }.hero-description { max-width: 620px; }.hero-stats { margin-top: 40px; }
    .hero-visual { order: -1; min-height: 0; height: min(112vw, 650px); border-radius: 8px; }.hero-visual img { object-position: center 4%; }.floating-card { right: 12px; bottom: 14px; min-width: 240px; }.hero-count { display: none; }.hero-pagination { left: 18px !important; }
    .section { padding-block: 75px; }.section-heading { margin-bottom: 32px; }.section-elephant { left: -90px; }
    .atelier { grid-template-columns: 1fr; padding: 75px 24px; gap: 50px; }.atelier-copy { max-width: 680px; }.atelier-visual { width: min(100%, 570px); }.atelier-pattern { width: 55%; }.atelier-elephant { left: 40%; }
    .story-grid { grid-template-columns: 1fr; }.story-card { min-height: 520px; }.story-card--wide img { object-position: center 12%; }
    .services { padding: 45px 18px; }.services-grid { grid-template-columns: 1fr; gap: 14px; }.service-card { display: grid; grid-template-columns: 46px 1fr; column-gap: 14px; padding: 25px; }.service-icon { grid-row: 1 / 4; }.service-card p, .service-card a { grid-column: 2; }.service-card p { min-height: 0; }
    .site-footer { padding: 65px 24px 24px; }.footer-shell { grid-template-columns: 1fr; gap: 50px; }.footer-links { grid-row: 2; }.newsletter { grid-column: auto; }.footer-bottom { gap: 20px; }.brand--footer { justify-self: start; width: 205px; height: 54px; padding: 0; }
    .swiper-fallback .products-swiper .swiper-wrapper { display: flex; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
    .swiper-fallback .product-card { flex: 0 0 42%; scroll-snap-align: start; }
}

@media (max-width: 576px) {
    :root { --shell: calc(100% - 32px); }
    .hero-slide { padding-inline: 16px; padding-top: 20px; gap: 32px; }.hero-visual { height: 104vw; max-height: 465px; }.hero-visual img { object-position: center 20%; }.hero-flower { font-size: 38px; }.hero-flower--two { font-size: 25px; }
    .hero-copy { display: flex; flex-direction: column; }.pill { align-self: flex-start; font-size: 9px; }.hero h1, .hero h2 { font-size: clamp(42px, 12vw, 54px); }.hero-kicker { margin-bottom: 18px; font-size: 16px; }.hero-description { margin-bottom: 25px; font-size: 14px; }.hero-buttons { align-items: stretch; gap: 16px; }.button { min-height: 48px; padding-inline: 17px; }.hero-buttons .text-link { flex: 1; justify-content: center; font-size: 9px; }.hero-stats { gap: 30px; margin-top: 32px; }.hero-stats div { min-width: 100px; }.hero-stats div + div::before { left: -15px; }
    .floating-card { right: 9px; bottom: 9px; min-width: auto; max-width: calc(100% - 18px); padding: 9px 11px; }.floating-card__icon { width: 27px; height: 27px; }.floating-card strong { font-size: 7px; }.floating-card small { font-size: 7px; }
    .section { padding-block: 65px; }.section-heading { align-items: center; }.section-heading h2, .center-heading h2 { font-size: 40px; }.section-heading .text-link { font-size: 9px; }
    .products-swiper { width: calc(100vw - 16px); }.product-card h3 { min-height: auto; padding-right: 4px; font-size: 14px; }.product-meta { margin-top: 10px; font-size: 8px; }.price { font-size: 14px; }.quick-view { padding: 9px 10px; font-size: 8px; transform: none; }.product-image button { width: 36px; height: 36px; }
    .atelier { min-height: 0; padding: 44px 18px; gap: 28px; }.atelier h2 { margin-bottom: 16px; font-size: 30px; }.atelier-copy > p { margin-bottom: 14px; font-size: 13px; }.atelier dl { grid-template-columns: 1fr 1fr; gap: 9px 14px; margin: 20px 0; font-size: 10px; }.atelier-visual .image-reveal { aspect-ratio: 1.55; }.atelier-visual img { object-position: center 55%; }.atelier-pattern { width: 80%; opacity: .35; }.atelier-elephant { bottom: -30px; left: 35%; width: 260px; }
    .center-heading { margin-bottom: 35px; }.center-heading p { font-size: 13px; }.story-card { min-height: 440px; }.story-content { right: 20px; bottom: 20px; left: 20px; }.story-content b { font-size: 30px; }.story-content small { font-size: 12px; }
    .service-card { padding: 22px 18px; }
    .footer-links { grid-template-columns: 1fr 1fr; row-gap: 30px; }.footer-links > div:last-child { grid-column: 1 / -1; }.newsletter-form { flex-direction: column; gap: 8px; }.newsletter-form input, .newsletter-form button { width: 100%; height: 48px; border-radius: 5px; }.footer-bottom { flex-direction: column; margin-top: 40px; }
    .swiper-fallback .product-card { flex-basis: calc(50% - 8px); }
}

@media (max-width: 360px) {
    .hero-buttons { flex-direction: column; }.hero-buttons .text-link { min-height: 42px; }.hero-stats strong { font-size: 17px; }.hero-stats span { font-size: 7px; }.footer-links { grid-template-columns: 1fr; }.footer-links > div:last-child { grid-column: auto; }
}

@media (hover: none) {
    .quick-view { transform: none; }
    .button:active, .text-link:active, .product-image button:active, .story-card:active, .service-card:active { transform: scale(.97); }
    .story-content { opacity: 1; }
}
