/* ============================================
   OIDES AROMAS — Mobile Premium Experience
   App-like · touch-first · editorial mobile
   ============================================ */

@media (max-width: 768px) {
  :root {
    --header-height: 72px;
    --section-padding: clamp(88px, 14vw, 112px);
    --container: min(100%, calc(100vw - 2.5rem));

    /* Mobile typography scale */
    --text-xs: 0.6875rem;
    --text-sm: 0.875rem;
    --text-base: 1rem;
    --text-lg: 1.0625rem;
    --text-xl: clamp(1.65rem, 5.2vw, 2.05rem);

    --mobile-space-xs: 0.75rem;
    --mobile-space-sm: 1.25rem;
    --mobile-space-md: 2rem;
    --mobile-space-lg: 2.75rem;
    --mobile-space-xl: 3.5rem;

    --touch-min: 48px;
    --touch-comfort: 52px;
    --mobile-radius: 6px;
  }

  html {
    -webkit-text-size-adjust: 100%;
    scroll-padding-top: calc(var(--header-height) + 12px);
  }

  body {
    font-size: var(--text-base);
    line-height: 1.78;
    -webkit-tap-highlight-color: transparent;
    overflow-x: clip;
  }

  body.menu-open {
    overflow: hidden;
  }

  body.menu-open::before {
    content: '';
    position: fixed;
    inset: 0;
    z-index: 998;
    background: rgba(61, 56, 53, 0.42);
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
    animation: mobileOverlayIn 0.35s var(--ease-soft) both;
  }

  @keyframes mobileOverlayIn {
    from { opacity: 0; }
    to { opacity: 1; }
  }

  .header {
    height: calc(var(--header-height) + env(safe-area-inset-top, 0px));
    padding-top: env(safe-area-inset-top, 0px);
    z-index: 1001;
  }

  .header__inner {
    min-height: var(--header-height);
  }

  .header__nav {
    z-index: 999;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-8px);
    opacity: 0;
    transition:
      transform 0.42s var(--ease-master),
      opacity 0.35s var(--ease-soft),
      visibility 0.42s;
  }

  .header__nav.open {
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
    opacity: 1;
  }

  .header__nav a.is-active {
    color: var(--rose);
  }

  .header__menu-btn {
    z-index: 1000;
  }

  .header__menu-btn span {
    transition: transform 0.35s var(--ease-master), opacity 0.25s ease;
  }

  .cursor,
  .has-custom-cursor,
  .has-custom-cursor a,
  .has-custom-cursor button {
    cursor: auto !important;
  }

  .cursor {
    display: none !important;
  }

  .whatsapp-float__tooltip {
    display: none;
  }

  .whatsapp-float__pulse {
    animation-duration: 2.8s;
  }

  /* Preloader mobile */
  .preloader__inner {
    gap: 2rem;
    padding: 1.5rem;
  }

  .preloader__logo {
    width: clamp(100px, 24vw, 128px);
  }

  .preloader__wordmark {
    font-size: clamp(1.15rem, 4.5vw, 1.45rem);
    letter-spacing: 0.22em;
  }

  .preloader__tagline {
    font-size: clamp(0.95rem, 3.5vw, 1.15rem);
  }

  .preloader__progress {
    width: min(240px, 68vw);
  }

  .preloader__curtain,
  .preloader__shutter {
    transition-duration: 0.85s;
  }

  .container {
    padding-inline: clamp(1.25rem, 5vw, 1.5rem);
    width: 100%;
    max-width: 100%;
  }

  .section {
    padding-block: var(--section-padding);
    content-visibility: auto;
    contain-intrinsic-size: auto 640px;
  }

  .hero,
  .header {
    content-visibility: visible;
  }

  /* ─── Header — app shell ─── */
  .header__logo img {
    height: 48px;
  }

  .header__menu-btn {
    display: flex;
    min-width: var(--touch-min);
    min-height: var(--touch-min);
    align-items: center;
    justify-content: center;
  }

  .header__nav {
    top: var(--header-height);
    left: 0;
    right: 0;
    bottom: 0;
    height: calc(100dvh - var(--header-height));
    padding: 2.5rem clamp(1.5rem, 6vw, 2rem);
    padding-bottom: calc(2.5rem + env(safe-area-inset-bottom));
    gap: 0;
    justify-content: flex-start;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  .header__nav a:not(.header__cta):not(.header__social) {
    font-size: 0.8125rem;
    letter-spacing: 0.18em;
    padding-block: 1.125rem;
    width: 100%;
    border-bottom: 1px solid rgba(133, 127, 127, 0.12);
  }

  .header__nav a::after {
    display: none;
  }

  .header__social {
    width: var(--touch-comfort);
    height: var(--touch-comfort);
    margin-top: var(--mobile-space-md);
  }

  .header__cta {
    margin-top: var(--mobile-space-sm);
    width: 100%;
    min-height: var(--touch-comfort);
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    font-size: 0.75rem !important;
    letter-spacing: 0.16em !important;
  }

  /* ═══════════════════════════════════════════
     HERO — composição mobile exclusiva
     Fundadora em destaque · copy na base
     ═══════════════════════════════════════════ */
  .hero {
    min-height: 100svh;
    min-height: 100dvh;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-end;
    padding-top: calc(var(--header-height) + env(safe-area-inset-top, 0px));
    box-sizing: border-box;
  }

  .hero__bg-inner {
    inset: -6%;
  }

  .hero__bg-inner .hero__bg-img {
    object-position: 84% 14%;
    transform: scale(1.14);
  }

  .hero__grade {
    background:
      linear-gradient(180deg, rgba(61, 56, 53, 0.42) 0%, rgba(61, 56, 53, 0.08) 18%, transparent 42%),
      linear-gradient(180deg, transparent 38%, rgba(61, 56, 53, 0.48) 62%, rgba(61, 56, 53, 0.94) 100%);
    mix-blend-mode: normal;
  }

  .hero__overlay {
    background:
      linear-gradient(180deg, rgba(61, 56, 53, 0.35) 0%, transparent 22%),
      linear-gradient(180deg, transparent 36%, rgba(61, 56, 53, 0.62) 58%, rgba(61, 56, 53, 0.96) 100%);
  }

  .hero__vignette {
    background:
      radial-gradient(ellipse 90% 55% at 82% 18%, transparent 20%, rgba(61, 56, 53, 0.22) 100%),
      radial-gradient(ellipse 120% 70% at 50% 100%, transparent 30%, rgba(61, 56, 53, 0.35) 100%);
  }

  .hero__light-leak {
    top: 0;
    left: auto;
    right: 0;
    width: 58%;
    height: 48%;
    opacity: 0.75;
    background: radial-gradient(ellipse 75% 60% at 85% 20%, rgba(255, 245, 230, 0.12) 0%, transparent 70%);
  }

  .hero__orb--1 {
    width: 200px;
    height: 200px;
    top: 6%;
    right: -12%;
    left: auto;
    opacity: 0.55;
  }

  .hero__orb--2 {
    width: 160px;
    height: 160px;
    bottom: 42%;
    left: -10%;
    right: auto;
    opacity: 0.45;
  }

  .hero__orb--3 {
    display: none;
  }

  .hero__copy-glow {
    top: auto;
    bottom: 0;
    left: 50%;
    width: 140%;
    height: 62%;
    background: radial-gradient(ellipse 80% 70% at 50% 100%, rgba(61, 56, 53, 0.72) 0%, transparent 68%);
    filter: blur(36px);
  }

  .hero__content {
    max-width: 100%;
    width: 100%;
    margin-top: auto;
    padding-top: calc(1.125rem + env(safe-area-inset-top, 0px));
    padding-bottom: calc(5rem + clamp(36px, 7vw, 48px) + env(safe-area-inset-bottom));
    text-align: left;
  }

  .hero__content-inner {
    display: flex;
    flex-direction: column;
    gap: 0.875rem;
    position: relative;
    padding-top: 1rem;
  }

  .hero__content-inner::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, rgba(221, 195, 148, 0.45), rgba(221, 195, 148, 0.08) 55%, transparent);
    opacity: 0.9;
  }

  .hero__editorial {
    align-items: flex-start;
    margin-bottom: 0;
    margin-top: 0.375rem;
    gap: 0.65rem;
    padding-left: 0.125rem;
    max-width: calc(100% - 3.5rem);
  }

  .hero__line {
    width: 36px;
  }

  .hero__tag {
    font-size: var(--text-xs);
    letter-spacing: 0.28em;
    line-height: 1.5;
    padding-top: 0.125rem;
  }

  .hero__title {
    font-size: clamp(1.85rem, 7.2vw, 2.35rem);
    line-height: 1.1;
    letter-spacing: -0.018em;
    margin-bottom: 0;
    max-width: 14ch;
    text-shadow: 0 2px 24px rgba(0, 0, 0, 0.35);
  }

  .hero__title-line--accent {
    margin-top: 0.18em;
    max-width: 16ch;
    line-height: 1.14;
  }

  .hero__subtitle {
    font-size: var(--text-sm);
    line-height: 1.75;
    letter-spacing: 0.015em;
    max-width: 32ch;
    margin-inline: 0;
    margin-bottom: 0;
    color: rgba(255, 255, 255, 0.9);
    text-shadow: 0 1px 16px rgba(0, 0, 0, 0.28);
  }

  .hero__actions {
    flex-direction: column;
    align-items: stretch;
    gap: 0.75rem;
    margin-bottom: 0.125rem;
    margin-top: 0.125rem;
  }

  .hero__actions .btn {
    width: 100%;
    max-width: none;
    min-height: var(--touch-comfort);
    padding: 1.125rem 1.5rem;
    font-size: 0.72rem;
  }

  .hero__actions .btn--primary {
    box-shadow: 0 8px 28px rgba(61, 56, 53, 0.28);
  }

  .hero__badges {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.5rem;
    margin-inline: 0;
    padding-inline: 0;
    padding-bottom: 0;
    margin-bottom: clamp(2rem, 5vw, 2.75rem);
    overflow: visible;
    list-style: none;
  }

  .hero__badge {
    flex: unset;
    scroll-snap-align: unset;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    width: 100%;
    min-height: 52px;
    padding: 0.625rem 0.5rem;
    gap: 0.35rem;
  }

  .hero__badge-icon {
    width: 1rem;
    height: 1rem;
  }

  .hero__badge-text {
    white-space: normal;
    line-height: 1.3;
    font-size: 0.5625rem;
    letter-spacing: 0.07em;
    max-width: 12ch;
  }

  .hero__badges .hero__badge:last-child {
    grid-column: 1 / -1;
    justify-content: center;
    max-width: 58%;
    margin-inline: auto;
    min-height: 46px;
    flex-direction: row;
    gap: 0.4rem;
    padding-inline: 0.75rem;
  }

  .hero__badges .hero__badge:last-child .hero__badge-text {
    max-width: none;
  }

  .hero__scroll {
    bottom: calc(0.75rem + env(safe-area-inset-bottom));
    gap: 0.5rem;
    font-size: 0.5625rem;
    letter-spacing: 0.4em;
    color: rgba(255, 255, 255, 0.42);
    opacity: 0.88;
    z-index: 3;
  }

  .hero__scroll::before {
    top: -1.75rem;
    height: 1.25rem;
  }

  .hero__scroll-indicator {
    height: 32px;
  }

  .hero__scroll-dot {
    animation-duration: 2.8s;
  }

  /* ─── Override style.css @768 conflicts ─── */
  .colecoes__grid,
  .diferenciais__grid {
    max-width: none !important;
    margin-inline: 0 !important;
  }

  .hero__actions {
    align-items: stretch !important;
  }

  .hero__badges {
    justify-content: center;
    align-items: stretch !important;
  }

  .hero__badge {
    justify-content: center !important;
  }

  .btn {
    max-width: none;
  }

  /* ─── Section headers — títulos centralizados no mobile ─── */
  .section-header {
    text-align: center;
    margin-inline: auto;
    width: 100%;
    max-width: none;
    padding-inline: 0;
  }

  #como-funciona .section-header {
    max-width: none;
    padding-left: 0;
  }

  .section-header .section-label,
  #sobre .sobre__text .section-label,
  #experiencia .section-label,
  #memorias .section-label {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    margin-inline: auto;
    text-align: center;
  }

  .section-header .section-label::before,
  .section-header .section-label::after,
  #sobre .section-label::before,
  #sobre .section-label::after,
  #experiencia .section-label::before,
  #experiencia .section-label::after,
  #memorias .section-label::before,
  #memorias .section-label::after {
    display: inline-block;
    flex: 0 0 24px;
    width: 24px;
    max-width: 24px;
  }

  .section-title,
  .section-title--light,
  #sobre .sobre__text .section-title,
  #experiencia .section-title,
  #memorias .section-title {
    text-align: center;
    margin-inline: auto;
    width: 100%;
  }

  .section-desc,
  .section-header .section-desc {
    text-align: center;
    margin-inline: auto;
    max-width: 36ch;
  }

  .section-label::before,
  .section-label::after {
    flex: 0 0 24px;
    width: 24px;
    max-width: 24px;
  }

  /* Blocos editoriais: título centralizado, corpo alinhado à esquerda */
  .sobre__text,
  .experiencia__content,
  .memorias__content {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .sobre__text > p,
  .sobre__lead,
  .experiencia__lead,
  .experiencia__benefits,
  .memorias__text {
    align-self: stretch;
    width: 100%;
    text-align: left;
  }

  .destaques__grid,
  .depoimentos__grid {
    max-width: none !important;
    margin-inline: 0 !important;
  }

  .destaque-card,
  .collection-card,
  .depoimento-card {
    box-shadow: var(--shadow-soft);
  }

  .destaque-card:active,
  .depoimento-card:active {
    transform: scale(0.992);
    transition-duration: 0.1s;
  }

  .collection-card__link:active {
    color: var(--rose);
  }

  .instagram__cta .btn {
    width: 100%;
    max-width: none;
  }

  .instagram__masonry {
    grid-auto-rows: minmax(158px, 1fr);
  }

  .instagram__item--tall {
    grid-row: span 2;
  }

  .instagram__item:active {
    transform: scale(0.98);
  }

  .depoimentos__grid {
    gap: var(--mobile-space-sm);
  }

  .depoimento-card {
    border-left: 3px solid rgba(221, 195, 148, 0.45);
  }

  .depoimento-card footer {
    padding-top: 0.25rem;
  }

  .memorias__content {
    padding-inline: 0.25rem;
  }

  .memorias__text {
    font-size: var(--text-sm);
    line-height: 1.88;
  }

  .memorias__signature {
    text-align: center;
    font-size: 1.0625rem;
    align-self: center;
  }

  #memorias .section-title {
    font-size: clamp(1.55rem, 5vw, 1.9rem);
  }

  .memorias__floral {
    opacity: 0.35;
  }

  .experiencia__visual {
    min-height: clamp(300px, 52vw, 380px);
  }

  .cta-final__content .btn--whatsapp {
    width: 100%;
  }

  .footer__credit a {
    display: inline-flex;
    align-items: center;
    min-height: var(--touch-min);
    padding: 0.35rem 0.5rem;
    margin: -0.35rem -0.5rem;
  }

  .stat-circle {
    transition: transform 0.2s ease;
  }

  .stat-circle:active {
    transform: scale(0.96);
  }

  .stat-circle__number {
    font-size: clamp(1.35rem, 5vw, 1.65rem);
  }

  .stat-circle__label {
    font-size: 0.625rem;
    letter-spacing: 0.12em;
  }

  /* ─── Typography & spacing ─── */
  .section-header {
    margin-bottom: var(--mobile-space-lg);
  }

  .section-label {
    font-size: var(--text-xs);
    letter-spacing: 0.26em;
    margin-bottom: var(--mobile-space-sm);
    gap: 0.75rem;
  }

  .section-title {
    font-size: var(--text-xl);
    line-height: 1.14;
    letter-spacing: -0.012em;
    margin-bottom: var(--mobile-space-sm);
  }

  .section-desc {
    font-size: var(--text-sm);
    line-height: 1.82;
    max-width: 36ch;
    text-align: center;
    margin-inline: auto;
  }

  .sobre__lead,
  .experiencia__lead {
    font-size: var(--text-lg);
    line-height: 1.72;
    margin-bottom: var(--mobile-space-md);
  }

  .sobre__text p,
  .experiencia__benefits p,
  .memorias__text,
  .faq__item p,
  .depoimento-card p {
    font-size: var(--text-sm);
    line-height: 1.85;
  }

  .section-divider span {
    height: 56px;
  }

  /* ─── Buttons — touch premium ─── */
  .btn {
    min-height: var(--touch-comfort);
    padding: 1.125rem 1.75rem;
    font-size: 0.72rem;
    letter-spacing: 0.15em;
    touch-action: manipulation;
    -webkit-user-select: none;
    user-select: none;
  }

  .btn:active {
    transform: scale(0.978);
    transition-duration: 0.08s;
  }

  .btn--primary:active {
    transform: scale(0.975);
  }

  .btn--whatsapp {
    width: 100%;
    max-width: none;
    min-height: 56px;
    font-size: 0.75rem;
    gap: 0.75rem;
  }

  .btn--whatsapp svg {
    width: 24px;
    height: 24px;
  }

  .btn--outline,
  .btn--ghost {
    min-height: var(--touch-comfort);
  }

  /* ─── Sobre ─── */
  .sobre__grid {
    gap: var(--mobile-space-xl);
  }

  .sobre__image-main {
    border-radius: var(--mobile-radius);
    overflow: hidden;
    aspect-ratio: 4 / 5;
  }

  .sobre__image-main img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 42%;
  }

  .sobre__stats {
    gap: var(--mobile-space-sm);
    margin-top: var(--mobile-space-md);
    justify-content: center;
  }

  .stat-circle {
    flex: 1 1 calc(33.333% - 0.75rem);
    min-width: 96px;
  }

  /* ─── Cards — full width, generous touch ─── */
  .colecoes__grid,
  .diferenciais__grid,
  .destaques__grid,
  .depoimentos__grid {
    grid-template-columns: 1fr;
    max-width: none;
    margin-inline: 0;
    gap: var(--mobile-space-md);
  }

  .collection-card,
  .destaque-card,
  .diff-card,
  .depoimento-card {
    border-radius: var(--mobile-radius);
  }

  .collection-card__img {
    aspect-ratio: 16 / 11;
  }

.collection-card__img img[src*="kit-sementes-brasil"] {
    object-position: center 38%;
  }

  .collection-card__img img[src*="sabonete-buriti"] {
    object-position: center 42%;
  }

  .collection-card__img img[src*="aromatizador-farm"] {
    object-position: center 42%;
  }

  .collection-card__img img[src*="aromatizador-ginger-vanilla"] {
    object-position: center 44%;
  }

  .collection-card__content {
    padding: 1.625rem 1.5rem 1.75rem;
    min-height: auto;
    gap: 0.35rem;
  }

  .collection-card__content h3 {
    font-size: 1.3125rem;
    margin-bottom: 0.625rem;
  }

  .collection-card__content p {
    font-size: var(--text-sm);
    margin-bottom: 1.25rem;
    line-height: 1.75;
  }

  .collection-card__link {
    font-size: 0.72rem;
    min-height: var(--touch-min);
    display: inline-flex;
    align-items: center;
    padding-block: 0.375rem;
    letter-spacing: 0.16em;
  }

  .collection-card:active {
    transform: scale(0.992);
  }

  .diff-card {
    min-height: auto;
    padding: 2rem 1.5rem;
    text-align: left;
    align-items: flex-start;
  }

  .diff-card__icon {
    margin-bottom: 1rem;
  }

  .diff-card h3 {
    font-size: 1.2rem;
    margin-bottom: 0.5rem;
  }

  .diff-card p {
    font-size: var(--text-sm);
    line-height: 1.75;
  }

  .destaque-card__img {
    aspect-ratio: 5 / 4;
  }

  .destaque-card__img img {
    object-position: center 32%;
  }

  .destaque-card__img img[src*="aromatizador-orange-blossom"] {
    object-position: center 40%;
  }

  .destaque-card__img img[src*="kit-rose-golden"] {
    object-position: center 42%;
  }

  .destaque-card__info {
    padding: 1.75rem 1.5rem 2rem;
    text-align: left;
  }

  .destaque-card__info h3 {
    font-size: 1.375rem;
  }

  .destaque-card__info p {
    font-size: var(--text-sm);
    margin-bottom: 1.5rem;
  }

  .destaque-card__info .btn {
    width: 100%;
    max-width: none;
  }

  .depoimento-card {
    padding: 2rem 1.625rem;
  }

  .depoimento-card p {
    font-size: var(--text-sm);
    line-height: 1.85;
    margin-bottom: 1.5rem;
  }

  /* ─── Experiência ─── */
  .experiencia__grid {
    gap: var(--mobile-space-xl);
  }

  .experiencia__visual {
    min-height: 320px;
    margin-bottom: 0;
    order: -1;
  }

  .experiencia__glass:first-child {
    width: 78%;
  }

  .experiencia__glass--secondary {
    width: 58%;
  }

  .experiencia__glass img {
    object-position: center 22%;
  }

  .experiencia__glass--secondary img[src*="experiencia-body-splash"] {
    object-position: center 36%;
  }

  .experiencia__benefits {
    gap: var(--mobile-space-md);
  }

  .experiencia__benefits li {
    gap: 1rem;
    padding: 0.25rem 0;
  }

  .benefit-icon {
    width: 48px;
    height: 48px;
  }

  /* ─── Timeline — mobile cards ─── */
  .timeline {
    max-width: none;
    margin-inline: auto;
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: var(--mobile-space-sm);
  }

  .timeline::before {
    display: none;
  }

  .timeline__item {
    flex-direction: column;
    gap: 0;
    padding: 0;
    background: rgba(250, 250, 248, 0.85);
    border: 1px solid rgba(221, 195, 148, 0.28);
    border-radius: var(--mobile-radius);
    overflow: hidden;
    box-shadow: var(--shadow-xs);
  }

  .timeline__number {
    width: 100%;
    height: auto;
    border-radius: 0;
    border: none;
    border-bottom: 1px solid rgba(221, 195, 148, 0.22);
    background: linear-gradient(135deg, rgba(239, 228, 200, 0.55) 0%, rgba(250, 250, 248, 0.9) 100%);
    font-size: 0.8125rem;
    letter-spacing: 0.22em;
    padding: 1rem 1.375rem;
    justify-content: flex-start;
  }

  .timeline__content {
    padding: 1.125rem 1.375rem 1.5rem;
  }

  .timeline__content h3 {
    font-size: 1.2rem;
    margin-bottom: 0.625rem;
  }

  .timeline__content p {
    font-size: var(--text-sm);
    line-height: 1.78;
  }

  /* ─── Para quem ─── */
  .para-quem__grid {
    grid-template-columns: 1fr;
    gap: var(--mobile-space-sm);
  }

  .para-quem__item {
    display: flex;
    align-items: flex-start;
    gap: 1.125rem;
    text-align: left;
    padding: 1.375rem 1.25rem;
    background: rgba(250, 250, 248, 0.65);
    border: 1px solid rgba(183, 196, 211, 0.35);
    border-radius: var(--mobile-radius);
  }

  .para-quem__icon {
    margin-inline: 0;
    margin-bottom: 0;
    flex-shrink: 0;
    width: 44px;
    height: 44px;
  }

  .para-quem__item h3 {
    font-size: 1.125rem;
    margin-bottom: 0.35rem;
  }

  .para-quem__item p {
    font-size: var(--text-sm);
    line-height: 1.65;
  }

  /* ─── Memórias ─── */
  #memorias .section-title {
    font-size: clamp(1.55rem, 5vw, 1.85rem);
  }

  .memorias__signature {
    font-size: 1.125rem;
    margin-top: var(--mobile-space-md);
  }

  /* ─── Instagram ─── */
  .instagram__masonry {
    grid-template-columns: 1fr 1fr;
    grid-auto-rows: minmax(148px, 1fr);
    gap: 0.75rem;
  }

  .instagram__item {
    border-radius: var(--mobile-radius);
  }

  .instagram__item img {
    object-position: center center;
  }

  .instagram__item img[src*="aromatizador-orange-blossom"] {
    object-position: center 40%;
  }

  .instagram__item img[src*="kit-rose-golden"] {
    object-position: center 42%;
  }

  .instagram__item img[src*="kit-sementes-brasil"] {
    object-position: center 38%;
  }

  /* ─── FAQ — acordeões premium ─── */
  .faq__list {
    gap: var(--mobile-space-sm);
  }

  .faq__item {
    border-radius: var(--mobile-radius);
    background: rgba(250, 250, 248, 0.75);
    border: 1px solid rgba(221, 195, 148, 0.2);
    transition:
      border-color 0.35s var(--ease-master),
      box-shadow 0.35s var(--ease-master),
      background 0.35s var(--ease-soft);
  }

  .faq__item[open] {
    border-color: rgba(221, 195, 148, 0.45);
    box-shadow: var(--shadow-soft);
    background: rgba(250, 250, 248, 0.95);
  }

  .faq__item summary {
    min-height: var(--touch-comfort);
    padding: 1.25rem 1.375rem;
    font-size: 1.0625rem;
    line-height: 1.45;
    gap: 1rem;
    -webkit-tap-highlight-color: transparent;
  }

  .faq__item summary::after {
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.375rem;
    border-radius: 50%;
    background: rgba(205, 133, 128, 0.1);
    transition:
      transform 0.42s var(--ease-master),
      background 0.35s var(--ease-soft);
  }

  .faq__item[open] summary::after {
    transform: rotate(45deg);
    background: rgba(205, 133, 128, 0.18);
  }

  .faq__item summary:active {
    color: var(--rose);
  }

  .faq__item p {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    padding: 0 1.375rem;
    margin: 0;
    animation: none;
    transition:
      max-height 0.48s var(--ease-master),
      opacity 0.36s var(--ease-soft),
      padding 0.36s var(--ease-soft);
  }

  .faq__item[open] p {
    max-height: 480px;
    opacity: 1;
    padding: 0 1.375rem 1.5rem;
  }

  /* ─── CTA Final ─── */
  .cta-final {
    padding: var(--mobile-space-xl) 0;
  }

  .cta-final__bg img {
    object-position: 55% 40%;
  }

  .cta-final__content h2 {
    font-size: clamp(1.55rem, 5.5vw, 1.95rem);
    line-height: 1.22;
    margin-bottom: var(--mobile-space-sm);
  }

  .cta-final__content p {
    font-size: var(--text-sm);
    margin-bottom: var(--mobile-space-md);
  }

  /* ─── Footer premium mobile ─── */
  .footer {
    padding: var(--mobile-space-xl) 0 calc(1.75rem + env(safe-area-inset-bottom));
  }

  .footer__grid {
    grid-template-columns: 1fr;
    gap: 0;
    margin-bottom: var(--mobile-space-lg);
    text-align: center;
  }

  .footer__brand {
    padding-bottom: var(--mobile-space-lg);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    margin-bottom: var(--mobile-space-md);
  }

  .footer__brand img {
    margin-inline: auto;
    height: auto;
    max-width: 120px;
  }

  .footer__slogan {
    font-size: 1.125rem;
    margin-top: 0.75rem;
  }

  .footer__links,
  .footer__contact,
  .footer__social {
    padding: var(--mobile-space-md) 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  }

  .footer__links h4,
  .footer__contact h4,
  .footer__social h4 {
    font-size: 0.8125rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    margin-bottom: 1rem;
    color: rgba(255, 255, 255, 0.55);
    font-family: var(--font-sans);
    font-weight: 500;
  }

  .footer__links {
    align-items: center;
    gap: 0;
  }

  .footer__links a {
    font-size: var(--text-sm);
    padding: 0.75rem 0;
    min-height: var(--touch-min);
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .footer__contact p,
  .footer__contact a {
    font-size: var(--text-sm);
    line-height: 1.85;
  }

  .footer__phone {
    font-size: 1.0625rem !important;
    letter-spacing: 0.04em;
  }

  .footer__social-links {
    justify-content: center;
    gap: 1.125rem;
    padding-top: 0.25rem;
  }

  .footer__social-links a {
    width: 52px;
    height: 52px;
    border-color: rgba(255, 255, 255, 0.22);
  }

  .footer__social-links a:active {
    transform: scale(0.94);
    background: var(--rose);
    border-color: var(--rose);
    color: white;
  }

  .footer__social-links svg {
    width: 22px;
    height: 22px;
  }

  .footer__bottom {
    padding-top: var(--mobile-space-md);
  }

  .footer__bottom p {
    font-size: 0.6875rem;
    line-height: 1.7;
    padding-inline: 1rem;
  }

  .footer__credit {
    margin-top: 0.5rem;
    font-size: 0.625rem;
    padding-inline: 1rem;
  }

  /* ─── WhatsApp float ─── */
  .whatsapp-float {
    bottom: calc(1.25rem + env(safe-area-inset-bottom));
    right: calc(1.25rem + env(safe-area-inset-right, 0px));
    width: 58px;
    height: 58px;
  }

  .whatsapp-float:active {
    transform: scale(0.94);
  }

  /* ─── Motion — lighter on mobile ─── */
  .hero__bg-inner {
    animation: none;
  }

  .hero__bg-inner .hero__bg-img {
    transition: none;
  }

  .reveal-left {
    transform: translateY(28px);
  }

  .reveal-left.visible {
    transform: translateY(0);
  }

  [data-tilt]:hover {
    transform: none !important;
  }

  .grain {
    opacity: 0.012;
  }

  .hero__orb--1,
  .hero__orb--2 {
    display: none;
  }

  .hero__light-leak {
    animation: none;
    opacity: 0.5;
  }
}

/* ─── Tablet portrait: 481–768px ─── */
@media (min-width: 481px) and (max-width: 768px) {
  :root {
    --text-xl: clamp(1.85rem, 4.2vw, 2.25rem);
  }

  .hero__title {
    font-size: clamp(2rem, 4.8vw, 2.45rem);
    max-width: 16ch;
  }

  .hero__subtitle {
    max-width: 36ch;
  }

  .colecoes__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.125rem;
  }

  .diferenciais__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.125rem;
  }

  .para-quem__grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .destaques__grid {
    grid-template-columns: 1fr;
    max-width: 420px;
    margin-inline: auto;
  }

  .instagram__masonry {
    grid-auto-rows: minmax(172px, 1fr);
    gap: 0.875rem;
  }

  .experiencia__visual {
    min-height: 400px;
  }

  .stat-circle {
    flex: 1 1 calc(33.333% - 0.75rem);
  }
}
/* ─── Narrow phones: 320–390px ─── */
@media (max-width: 390px) {
  :root {
    --text-xl: clamp(1.55rem, 6.5vw, 1.85rem);
  }

  .hero__title {
    font-size: clamp(1.65rem, 7.5vw, 1.95rem);
    max-width: 13ch;
  }

  .hero__title-line--accent {
    max-width: 15ch;
  }

  .hero__subtitle {
    max-width: 28ch;
    font-size: 0.8125rem;
  }

  .hero__badges {
    gap: 0.4375rem;
  }

  .hero__badge {
    min-height: 48px;
    padding: 0.5rem 0.375rem;
  }

  .hero__badge-text {
    font-size: 0.53125rem;
    letter-spacing: 0.06em;
    max-width: 11ch;
  }

  .hero__badges .hero__badge:last-child {
    max-width: 72%;
  }

  .stat-circle {
    flex: 1 1 calc(50% - 0.5rem);
    min-width: 88px;
  }

  .sobre__stats {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
  }

  .para-quem__item {
    padding: 1.25rem 1.125rem;
  }

  .instagram__masonry {
    grid-auto-rows: minmax(140px, 1fr);
    gap: 0.625rem;
  }
}

/* ─── Large phones: 391–480px ─── */
@media (min-width: 391px) and (max-width: 480px) {
  .hero__title {
    max-width: 15ch;
  }

  .hero__title-line--accent {
    max-width: 17ch;
  }

  .hero__content {
    padding-bottom: calc(4.75rem + clamp(32px, 6vw, 44px) + env(safe-area-inset-bottom));
  }
}

@media (prefers-reduced-motion: reduce) {
  .faq__item p {
    max-height: none !important;
    opacity: 1 !important;
    padding: 0 1.375rem 1.5rem !important;
  }

  .hero__light-leak {
    animation: none !important;
  }
}
