:root {
  --aya-ink: #1a2421;
  --aya-forest: #496552;
  --aya-leaf: #496552;
  --aya-brown: #5e3b29;
  --aya-copper: #5e3b29;
  --aya-sand: #f7f3ed;
  --aya-mist: #f7f3ed;
  --aya-white: #f7f3ed;
  --aya-serif: "DM Serif Display", Georgia, serif;
  --aya-sans: "DM Sans", Arial, sans-serif;
  --aya-shell: min(86vw, 1440px);
  --aya-ease: cubic-bezier(.2, .75, .25, 1);
}

html { scroll-behavior: smooth; }
body { margin: 0; background: var(--aya-sand); color: var(--aya-ink); font-family: var(--aya-sans); }
::selection { background: var(--aya-leaf); color: var(--aya-sand); }
::-moz-selection { background: var(--aya-leaf); color: var(--aya-sand); }
body.aya-menu-open, body.aya-gallery-open { overflow: hidden; }
*, *::before, *::after { box-sizing: border-box; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
.aya-site { display: flex; flex-direction: column; overflow: clip; }
.aya-shell { width: var(--aya-shell); margin-inline: auto; }
.aya-section { padding: clamp(6rem, 10vw, 11rem) 0; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.aya-skip-link { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); }
.aya-skip-link:focus { position: fixed; z-index: 9999; top: 1rem; left: 1rem; width: auto; height: auto; padding: .8rem 1rem; margin: 0; clip: auto; background: #fff; color: #000; }

.aya-kicker { margin: 0 0 1.35rem; color: rgba(255,255,255,.72); font-size: .67rem; font-weight: 700; letter-spacing: .24em; line-height: 1.4; text-transform: uppercase; }
.aya-kicker--dark { color: var(--aya-leaf); }
.aya-kicker--brown { color: var(--aya-brown); }
.aya-button { display: inline-flex; align-items: center; justify-content: center; gap: 1rem; min-height: 3.25rem; padding: .8rem 1.45rem; border: 1px solid transparent; border-radius: 100px; background: var(--aya-brown); color: white; font-size: .76rem; font-weight: 700; transition: transform .3s var(--aya-ease), background .3s, color .3s, border-color .3s; }
.aya-button:hover, .aya-button:focus-visible { transform: translateY(-2px); background: var(--aya-leaf); color: var(--aya-sand); }
.aya-button--small { min-height: 2.8rem; padding-inline: 1.35rem; }
.aya-button--light { background: var(--aya-white); color: var(--aya-ink); }
.aya-button--light span { display: grid; width: 1.8rem; height: 1.8rem; place-items: center; border-radius: 50%; background: var(--aya-ink); color: white; }

/* Hero cinematografico */
.aya-hero { position: relative; z-index: 100; min-height: max(760px, 100svh); display: flex; flex-direction: column; isolation: isolate; background-image: var(--aya-hero); background-position: center calc(50% + var(--aya-shift, 0px)); background-size: cover; color: white; }
.aya-hero::before { content: ""; position: absolute; inset: 0; z-index: -2; background: linear-gradient(90deg, rgba(10,22,18,.84) 0%, rgba(10,22,18,.57) 38%, rgba(10,22,18,.12) 70%, rgba(10,22,18,.28) 100%), linear-gradient(0deg, rgba(10,22,18,.84) 0%, transparent 36%); }
.aya-hero__veil { position: absolute; inset: 0; z-index: -1; background: radial-gradient(circle at 70% 42%, transparent 0 16%, rgba(10,20,17,.18) 64%, rgba(10,20,17,.36)); }
.aya-film-grain { position: absolute; inset: 0; z-index: 0; pointer-events: none; opacity: .13; mix-blend-mode: soft-light; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.88' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.45'/%3E%3C/svg%3E"); }
.aya-header { position: relative; z-index: 20; padding: 1.1rem 0; transition: background .35s, box-shadow .35s, padding .35s; }
.aya-header.is-fixed { position: fixed; z-index: 10000; top: 0; left: 0; width: 100%; padding: .55rem 0; background: rgba(247,243,237,.92); color: var(--aya-ink); box-shadow: 0 8px 40px rgba(0,0,0,.08); backdrop-filter: blur(18px); }
.admin-bar .aya-header.is-fixed { top: 32px; }
.aya-header__inner { display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.aya-brand { transform: translateY(clamp(2.1rem, 3.5vw, 4.25rem)); transition: transform .35s var(--aya-ease); }
.aya-brand img { width: clamp(132px, 10vw, 168px); height: auto; max-height: 68px; object-fit: contain; filter: brightness(0) invert(1); }
.aya-header.is-fixed .aya-brand { transform: none; }
.aya-header.is-fixed .aya-brand img { width: clamp(86px, 7vw, 122px); max-height: 54px; filter: none; }
.aya-menu { display: flex; align-items: center; gap: clamp(1.4rem, 2.2vw, 2.7rem); font-size: .82rem; font-weight: 700; }
.aya-menu > a:not(.aya-button) { position: relative; padding: .7rem 0; }
.aya-menu > a:not(.aya-button)::after { content: ""; position: absolute; right: 0; bottom: .25rem; left: 0; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: right; transition: transform .3s var(--aya-ease); }
.aya-menu > a:hover::after { transform: scaleX(1); transform-origin: left; }
.aya-menu-toggle { display: none; padding: .5rem; border: 0; background: transparent; color: currentColor; }
.aya-menu-toggle > span:not(.screen-reader-text) { display: block; width: 25px; height: 1px; margin: 5px 0; background: currentColor; }
.aya-hero__layout { position: relative; z-index: 2; flex: 1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(330px, 390px); align-items: center; gap: clamp(2rem, 4.5vw, 5.5rem); padding-top: 5rem; padding-bottom: 4.5rem; }
.aya-hero__content { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 2rem 0 3rem; }
.aya-hero__subtitle { margin: 0 0 1rem; font-size: clamp(.82rem, 1vw, 1rem); font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.aya-hero h1 { max-width: 700px; margin: 0; font-family: var(--aya-serif); font-size: clamp(3.15rem, 5.3vw, 6.4rem); font-weight: 400; letter-spacing: -.052em; line-height: .9; text-wrap: balance; }
.aya-hero-title { display: block; }
.aya-hero-title--mobile { display: none; }
.aya-hero__copy { max-width: 600px; margin: 1.8rem 0 2rem; color: rgba(255,255,255,.82); font-size: clamp(.93rem, 1.25vw, 1.15rem); line-height: 1.7; }
.aya-hero__numbers { position: relative; z-index: 3; border-top: 1px solid rgba(255,255,255,.22); background: rgba(13,29,24,.55); backdrop-filter: blur(12px); }
.aya-hero__numbers-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
.aya-hero__numbers-grid > div { display: grid; grid-template-columns: auto auto; align-items: center; justify-content: center; gap: .85rem; padding: 1.35rem 1.5rem; text-align: center; }
.aya-hero__numbers-grid > div + div { border-left: 1px solid rgba(255,255,255,.18); }
.aya-hero__numbers strong { font-family: var(--aya-serif); font-size: clamp(1.45rem, 2vw, 2.2rem); font-weight: 400; font-variant-numeric: tabular-nums; }
.aya-hero__numbers span { color: rgba(255,255,255,.78); font-size: .62rem; letter-spacing: .1em; text-transform: uppercase; }
.aya-metric-icon { display: grid; width: 28px; height: 28px; place-items: center; color: var(--aya-white); }
.aya-metric-icon svg { width: 25px; height: 25px; }
.aya-hero__metric > div { display: grid; justify-items: center; gap: .15rem; text-align: center; }

/* Formulário integrado à hero */
.aya-contact-card.aya-hero-form-panel { align-self: center; width: 100%; max-width: 390px; padding: 0 1.5rem 1rem; overflow: hidden; border: 1px solid rgba(247,243,237,.2); border-radius: .45rem; background: rgba(18,31,27,.78); box-shadow: 0 24px 70px rgba(0,0,0,.3); color: var(--aya-sand); text-align: center; backdrop-filter: blur(18px) saturate(110%); transform: translateX(clamp(-2.5rem, -2.2vw, -1rem)); }
.aya-hero-form-panel .aya-kicker { display: none; }
.aya-hero-form-panel .aya-contact-card__title { margin: 0 -1.5rem; padding: 1.05rem 1.4rem .95rem; border-bottom: 1px solid rgba(247,243,237,.16); background: rgba(10,22,18,.3); color: var(--aya-sand); font-family: var(--aya-sans); font-size: .76rem; font-weight: 800; letter-spacing: .1em; line-height: 1.35; text-align: center; text-transform: uppercase; }
.aya-hero-form-panel .aya-contact-card__intro { display: none; }

/* Editorial */
.aya-concept { background: var(--aya-sand); }
.aya-concept__grid { display: grid; grid-template-columns: minmax(0, .85fr) minmax(380px, .7fr); align-items: center; gap: clamp(4rem, 12vw, 13rem); }
.aya-concept__copy { padding-left: clamp(0rem, 6vw, 7rem); }
.aya-concept h2, .aya-location h2 { max-width: 620px; margin: 0 0 1.7rem; font-family: var(--aya-serif); font-size: clamp(3rem, 5.5vw, 6.4rem); font-weight: 400; letter-spacing: -.045em; line-height: .93; }
.aya-concept__copy > p:last-child, .aya-location__copy > p { max-width: 570px; color: #52605a; font-size: clamp(.95rem, 1.15vw, 1.08rem); line-height: 1.8; }
.aya-concept__visual { position: relative; height: min(700px, 47vw); min-height: 480px; margin: 0; overflow: visible; }
.aya-concept__visual::before { content: ""; position: absolute; z-index: 4; top: -1.2rem; right: -1.2rem; width: 40%; height: 48%; border-top: 1px solid var(--aya-copper); border-right: 1px solid var(--aya-copper); border-radius: 0 120px 0 0; pointer-events: none; }
.aya-concept__slides { position: absolute; inset: 0; overflow: hidden; border-radius: 13rem 13rem .8rem .8rem; background: var(--aya-ink); }
.aya-concept__slide { position: absolute; inset: 0; }
.aya-concept__slide { z-index: 0; overflow: hidden; opacity: 0; clip-path: inset(0 0 0 100%); pointer-events: none; transition: opacity .55s ease, clip-path 1.15s var(--aya-ease); }
.aya-concept__slide.is-active { z-index: 1; opacity: 1; clip-path: inset(0); pointer-events: auto; }
.aya-concept__slide img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.07); transition: transform 7s cubic-bezier(.2,.8,.2,1); }
.aya-concept__slide.is-active img { transform: scale(1); }
.aya-concept__visual figcaption { position: absolute; right: -3rem; bottom: 5rem; z-index: 5; width: 12rem; padding: 1.2rem; background: var(--aya-white); color: var(--aya-brown); font-size: .65rem; font-weight: 700; letter-spacing: .11em; line-height: 1.5; text-transform: uppercase; transform: rotate(-90deg) translateX(100%); transform-origin: right bottom; }
.aya-concept__nav { position: absolute; z-index: 3; right: 1.45rem; bottom: 1.4rem; display: flex; align-items: center; gap: .8rem; padding: .55rem .7rem; border: 1px solid rgba(247,243,237,.32); border-radius: 999px; background: rgba(26,36,33,.45); backdrop-filter: blur(10px); }
.aya-concept__arrow, .aya-concept__dots button { border: 0; color: var(--aya-white); background: transparent; cursor: pointer; }
.aya-concept__arrow { display: grid; width: 2rem; height: 2rem; place-items: center; border-radius: 50%; font-size: 1rem; transition: background .25s ease; }
.aya-concept__arrow:hover, .aya-concept__arrow:focus-visible { background: rgba(247,243,237,.16); }
.aya-concept__dots { display: flex; align-items: center; gap: .38rem; }
.aya-concept__dots button { width: .38rem; height: .38rem; padding: 0; border-radius: 50%; background: rgba(247,243,237,.45); transition: width .3s ease, background .3s ease; }
.aya-concept__dots button.is-active { width: 1.25rem; border-radius: .4rem; background: var(--aya-white); }

.aya-project-visual { position: relative; overflow: hidden; background: #fcfbfc; color: var(--aya-ink); }
.aya-project-visual__head { display: block; width: 100%; max-width: none; margin-bottom: clamp(3.5rem, 5.5vw, 5.5rem); }
.aya-project-visual__head .aya-kicker { margin: 0 0 1.35rem; color: var(--aya-brown); }
.aya-project-visual__head h2 { width: 100%; max-width: none; margin: 0 0 1.7rem; font-family: var(--aya-serif); font-size: clamp(3.2rem, 5.3vw, 6.2rem); font-weight: 400; letter-spacing: -.052em; line-height: .92; text-wrap: balance; }
.aya-project-visual__head > p:last-child { width: 100%; max-width: 1040px; margin: 0; color: #52605a; font-size: clamp(.95rem, 1.15vw, 1.08rem); line-height: 1.8; }
.aya-project-visual__figure { margin: 0; }
.aya-project-visual__stage { position: relative; display: grid; place-items: center; min-height: 320px; overflow: hidden; border: 0; background: #fcfbfc; box-shadow: none; }
.aya-project-visual__stage img { width: 100%; max-height: min(72vh, 820px); object-fit: contain; clip-path: inset(2px 0 0); transition: transform .9s var(--aya-ease); }
.aya-project-visual__stage:hover img { transform: scale(1.012); }
.aya-project-visual__open { position: absolute; inset: 0; display: flex; align-items: flex-end; justify-content: flex-end; padding: clamp(1rem, 2.3vw, 2rem); border: 0; background: transparent; color: var(--aya-ink); cursor: zoom-in; }
.aya-project-visual__open span { display: grid; width: 2.75rem; height: 2.75rem; place-items: center; border: 1px solid rgba(26,36,33,.28); border-radius: 50%; background: rgba(252,251,252,.9); color: var(--aya-ink); font-size: 1.35rem; transition: background .25s, color .25s, transform .25s; backdrop-filter: blur(8px); }
.aya-project-visual__open strong { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
.aya-project-visual__open:hover span, .aya-project-visual__open:focus-visible span { background: var(--aya-ink); color: var(--aya-sand); transform: scale(1.06); }
.aya-project-visual__open:focus-visible { outline: 3px solid var(--aya-brown); outline-offset: -7px; }
.aya-project-visual figcaption { margin-top: 1rem; color: rgba(26,36,33,.58); font-size: .68rem; letter-spacing: .09em; text-align: right; text-transform: uppercase; }

/* Assinaturas do projeto */
.aya-authorship { overflow: hidden; padding: 0; background: #e9e5dc; }
.aya-authorship__grid { position: relative; display: grid; grid-template-columns: minmax(360px, 42vw) minmax(0, 1fr); min-height: clamp(520px, 48vw, 710px); }
.aya-authorship h2, .aya-realization h2, .aya-video h2 { max-width: 620px; margin: 0 0 1.8rem; font-family: var(--aya-serif); font-size: clamp(3rem, 4.6vw, 5.25rem); font-weight: 400; letter-spacing: -.04em; line-height: .98; }
.aya-title-lines { display: block; }
.aya-title-lines--desktop.is-curated { white-space: nowrap; }
.aya-title-lines--fluid { display: none; }
.aya-authorship__copy { position: relative; z-index: 3; display: flex; flex-direction: column; justify-content: center; padding: clamp(5rem, 9vw, 9rem) clamp(3rem, 6vw, 7rem) clamp(5rem, 9vw, 9rem) max(7vw, calc((100vw - 1440px) / 2)); background: var(--aya-ink); color: var(--aya-sand); }
.aya-authorship__copy .aya-kicker { color: var(--aya-white); }
.aya-authorship__copy > p:last-child { max-width: 520px; color: rgba(247,243,237,.76); font-size: 1rem; line-height: 1.8; }
.aya-authorship__visual { position: relative; z-index: 1; min-height: inherit; margin-left: clamp(-4rem, -4vw, -2rem); overflow: hidden; background: var(--aya-forest); color: var(--aya-sand); }
.aya-authorship__visual::before { content: ""; position: absolute; z-index: 2; inset: 0 auto 0 0; width: 24%; background: linear-gradient(90deg, var(--aya-ink), rgba(26,36,33,0)); pointer-events: none; }
.aya-authorship__visual::after { content: ""; position: absolute; z-index: 2; right: 0; bottom: 0; left: 0; height: 28%; background: linear-gradient(0deg, rgba(26,36,33,.42), transparent); pointer-events: none; }
.aya-authorship__visual img { position: relative; z-index: 1; width: 100%; height: 100%; min-height: inherit; object-fit: cover; object-position: center; filter: grayscale(1) contrast(.95) brightness(1.05); }
.aya-authorship__visual figcaption { position: absolute; z-index: 3; right: clamp(1.5rem, 4vw, 5rem); bottom: clamp(1.5rem, 3vw, 3rem); margin: 0; color: var(--aya-sand); font-size: .62rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.aya-authorship__visual span { font-family: var(--aya-serif); font-size: clamp(5rem, 10vw, 9rem); letter-spacing: -.08em; line-height: .7; }
.aya-authorship__visual small { margin-top: 1rem; color: rgba(247,243,237,.56); font-size: .62rem; font-weight: 700; letter-spacing: .16em; line-height: 1.7; text-align: center; text-transform: uppercase; }
.aya-realization { padding-block: clamp(6rem, 8vw, 9rem); background: var(--aya-forest); color: var(--aya-sand); }
.aya-realization__grid { display: grid; grid-template-columns: minmax(420px, .9fr) minmax(0, 1.1fr); align-items: start; gap: clamp(4rem, 7vw, 8rem); }
.aya-realization__head { min-width: 0; }
.aya-realization__content { min-width: 0; padding-top: 2.35rem; }
.aya-realization__image { width: 100%; max-height: 300px; margin: 0 0 2rem; object-fit: cover; }
.aya-realization__content > p { max-width: 700px; margin: 0 0 clamp(2.75rem, 3.5vw, 3.75rem); color: rgba(247,243,237,.83); font-size: clamp(.96rem, 1.05vw, 1.08rem); line-height: 1.85; }
.aya-realization__links { display: flex; flex-wrap: wrap; align-items: center; gap: clamp(2.75rem, 4vw, 4.5rem); }
.aya-realization__links a { display: inline-flex; align-items: center; justify-content: flex-start; min-width: 0; min-height: 72px; padding: 0; opacity: .92; transition: opacity .25s, transform .25s; }
.aya-realization__links a:hover { opacity: 1; transform: translateY(-2px); }
.aya-realization__links img { width: auto; max-width: none; max-height: none; object-fit: contain; }
.aya-realization__links a:first-child img { width: clamp(122px, 8vw, 148px); }
.aya-realization__links a:last-child img { width: clamp(190px, 12vw, 225px); }
.aya-videos { overflow: hidden; background: #111a17; color: var(--aya-sand); }
.aya-videos__head { margin-bottom: clamp(3rem, 5vw, 5rem); }
.aya-videos__head .aya-kicker { color: #d49a60; }
.aya-videos__head > p { color: rgba(247,243,237,.62); }
.aya-videos__panel { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(310px, .55fr); overflow: hidden; border: 1px solid rgba(247,243,237,.14); background: #0d1613; box-shadow: 0 30px 100px rgba(0,0,0,.2); }
.aya-video-playlist { display: flex; flex-direction: column; min-width: 0; background: #17231f; text-align: left; }
.aya-video-playlist > p { margin: 0; padding: 1.6rem 1.6rem 1.35rem; border-bottom: 1px solid rgba(247,243,237,.12); color: rgba(247,243,237,.55); font-size: .63rem; font-weight: 700; letter-spacing: .16em; line-height: 1.35; text-transform: uppercase; }
.aya-video-current { display: flex; flex: 1; flex-direction: column; justify-content: center; min-height: 190px; padding: clamp(1.5rem, 2.5vw, 2.5rem) 1.6rem; border-bottom: 1px solid rgba(247,243,237,.12); }
.aya-video-current > span { margin-bottom: .85rem; color: #d49a60; font-size: .58rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.aya-video-current strong { font-family: var(--aya-serif); font-size: clamp(2rem, 2.8vw, 3.1rem); font-weight: 400; letter-spacing: -.035em; line-height: .95; }
.aya-video-current small { margin-top: 1rem; color: rgba(247,243,237,.66); font-size: .76rem; line-height: 1.65; }
.aya-video-current small:empty { display: none; }
.aya-video-playlist__items { display: grid; flex: 0 0 auto; }
.aya-video-list__item { position: relative; display: grid; grid-template-columns: 26px 88px minmax(0, 1fr); align-items: center; width: 100%; gap: .9rem; padding: 1rem 1.35rem; border: 0; border-bottom: 1px solid rgba(247,243,237,.1); background: transparent; color: var(--aya-sand); text-align: left; cursor: pointer; transition: background .3s, color .3s; }
.aya-video-list__item::after { content: ""; position: absolute; right: 0; bottom: -1px; left: 0; height: 2px; background: var(--aya-brown); transform: scaleX(0); transform-origin: left; transition: transform .4s var(--aya-ease); }
.aya-video-list__item:hover, .aya-video-list__item.is-active { background: rgba(247,243,237,.055); }
.aya-video-list__item.is-active::after { transform: scaleX(1); }
.aya-video-list__index { color: #d49a60; font-size: .58rem; font-weight: 700; letter-spacing: .12em; }
.aya-video-list__item strong { display: block; font-family: var(--aya-serif); font-size: clamp(1rem, 1.25vw, 1.3rem); font-weight: 400; line-height: 1.08; }
.aya-video-list__thumb { position: relative; display: block; overflow: hidden; aspect-ratio: 16 / 10; background: var(--aya-forest); }
.aya-video-list__thumb img { width: 100%; height: 100%; object-fit: cover; }
.aya-video-list__thumb > span { position: absolute; inset: 0; display: grid; place-items: center; background: rgba(12,26,21,.4); color: var(--aya-sand); font-size: .55rem; }
.aya-video-feature { position: relative; display: block; min-height: clamp(520px, 48vw, 760px); overflow: hidden; border: 0; background: var(--aya-ink); color: var(--aya-sand); text-align: left; cursor: pointer; }
.aya-video-feature > img { width: 100%; height: 100%; min-height: clamp(520px, 48vw, 760px); object-fit: cover; transition: transform .8s var(--aya-ease), opacity .35s; }
.aya-video-feature:hover > img { transform: scale(1.035); }
.aya-video-feature__shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(12,26,21,.04), rgba(12,26,21,.74)); }
.aya-video-feature__play { position: absolute; z-index: 2; top: 50%; left: 50%; display: grid; width: 5rem; height: 5rem; place-items: center; border: 1px solid rgba(247,243,237,.84); border-radius: 50%; background: rgba(26,36,33,.24); color: var(--aya-sand); font-size: 1rem; transform: translate(-50%, -50%); transition: background .25s, color .25s, transform .25s; }
.aya-video-feature:hover .aya-video-feature__play { background: var(--aya-sand); color: var(--aya-ink); transform: translate(-50%, -50%) scale(1.08); }
.aya-video-modal[hidden] { display: none; }
.aya-video-modal { position: fixed; z-index: 9999; inset: 0; display: grid; place-items: center; padding: 1.5rem; background: rgba(11,20,18,.92); }
.aya-video-modal__frame { width: min(100%, 1050px); aspect-ratio: 16 / 9; background: #000; }
.aya-video-modal__frame iframe { width: 100%; height: 100%; border: 0; }
.aya-video-modal__close { position: fixed; top: 1.5rem; right: 1.5rem; display: grid; width: 3rem; height: 3rem; place-items: center; border: 1px solid rgba(247,243,237,.5); border-radius: 50%; background: transparent; color: var(--aya-sand); font-size: 2rem; cursor: pointer; }

/* Galeria */
.aya-gallery { background: var(--aya-sand); }
.aya-section-head { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(280px, .55fr); align-items: end; gap: 4rem; margin-bottom: 3rem; }
.aya-section-head h2 { margin: 0; font-family: var(--aya-serif); font-size: clamp(3.3rem, 6vw, 7rem); font-weight: 400; letter-spacing: -.045em; line-height: .9; }
.aya-section-head > p { max-width: 450px; margin: 0 0 .65rem; color: #647069; line-height: 1.7; }
.aya-gallery__head, .aya-videos__head, .aya-amenities__head { display: block; }
.aya-gallery__head h2, .aya-videos__head h2, .aya-amenities__head h2 { max-width: none; }
.aya-gallery__head > p, .aya-videos__head > p, .aya-amenities__head > p { max-width: none; margin: 1.4rem 0 0; }
.aya-filters { display: flex; gap: .6rem; overflow-x: auto; padding: 1.15rem 0 2.5rem; border-top: 1px solid rgba(26,36,33,.14); scrollbar-width: none; }
.aya-filters::-webkit-scrollbar { display: none; }
.aya-filters button { flex: 0 0 auto; min-height: 2.7rem; padding: .65rem 1.2rem; border: 1px solid rgba(26,36,33,.18); border-radius: 100px; background: transparent; color: #5c6963; font-size: .7rem; font-weight: 700; cursor: pointer; transition: .25s; }
.aya-filters button:hover, .aya-filters button.is-active { border-color: var(--aya-ink); background: var(--aya-ink); color: white; }
.aya-gallery__grid { display: grid; grid-template-columns: repeat(12, 1fr); grid-auto-flow: dense; gap: clamp(.7rem, 1.4vw, 1.35rem); }
.aya-gallery__item { position: relative; grid-column: span 3; margin: 0; overflow: hidden; border-radius: .35rem; background: #d8d4cb; }
.aya-gallery__item:nth-child(1), .aya-gallery__item:nth-child(6) { grid-column: span 6; }
.aya-gallery__item:nth-child(2), .aya-gallery__item:nth-child(7) { grid-column: span 3; }
.aya-gallery__item:nth-child(3), .aya-gallery__item:nth-child(5) { grid-column: span 3; }
.aya-gallery__item:nth-child(4), .aya-gallery__item:nth-child(8) { grid-column: span 6; }
.aya-gallery__item:nth-child(1) img, .aya-gallery__item:nth-child(4) img, .aya-gallery__item:nth-child(6) img, .aya-gallery__item:nth-child(8) img { aspect-ratio: 16 / 10; }
.aya-gallery__item img { width: 100%; height: 100%; min-height: 320px; aspect-ratio: 4 / 5; object-fit: cover; transition: transform .8s var(--aya-ease), filter .5s; }
.aya-gallery__item::after { content: ""; position: absolute; inset: 35% 0 0; background: linear-gradient(transparent, rgba(9,20,17,.83)); pointer-events: none; }
.aya-gallery__item:hover img { transform: scale(1.04); filter: saturate(1.08); }
.aya-gallery__open { position: absolute; z-index: 3; inset: 0; border: 0; background: transparent; cursor: zoom-in; }
.aya-gallery__open:focus-visible { outline: 3px solid var(--aya-sand); outline-offset: -7px; }
.aya-gallery__item figcaption { position: absolute; z-index: 2; right: 1.25rem; bottom: 1.15rem; left: 1.25rem; display: flex; align-items: end; justify-content: space-between; gap: 1rem; color: white; }
.aya-gallery__item figcaption span { font-family: var(--aya-serif); font-size: clamp(1.2rem, 2vw, 2rem); }
.aya-gallery__item figcaption small { font-size: .55rem; font-weight: 700; letter-spacing: .12em; }
.aya-gallery__item[hidden] { display: none !important; }
.aya-gallery-modal[hidden] { display: none; }
.aya-gallery-modal { position: fixed; z-index: 10000; inset: 0; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; grid-template-rows: 1fr auto; align-items: center; gap: 1.2rem; padding: clamp(1rem, 3vw, 3rem); background: rgba(10,18,16,.96); color: var(--aya-sand); }
.aya-gallery-modal__stage { position: relative; display: grid; width: min(100%, 1180px); height: min(78vh, 820px); margin-inline: auto; place-items: center; overflow: auto; }
.aya-gallery-modal__stage img { max-width: 100%; max-height: 100%; object-fit: contain; transform: scale(var(--aya-gallery-zoom, 1)); transform-origin: center; transition: transform .25s var(--aya-ease); }
.aya-gallery-modal__caption { position: absolute; right: 1rem; bottom: 1rem; left: 1rem; display: flex; justify-content: space-between; gap: 1rem; padding: 1rem 1.1rem; background: linear-gradient(90deg, rgba(10,18,16,.78), rgba(10,18,16,.12)); pointer-events: none; }
.aya-gallery-modal__caption strong { font-family: var(--aya-serif); font-size: clamp(1.35rem, 2.2vw, 2rem); font-weight: 400; }
.aya-gallery-modal__caption span { align-self: end; color: rgba(247,243,237,.67); font-size: .6rem; font-weight: 700; letter-spacing: .14em; }
.aya-gallery-modal__close, .aya-gallery-modal__nav, .aya-gallery-modal__controls button { display: grid; place-items: center; border: 1px solid rgba(247,243,237,.42); background: rgba(247,243,237,.06); color: var(--aya-sand); cursor: pointer; transition: background .2s, color .2s, transform .2s; }
.aya-gallery-modal__close:hover, .aya-gallery-modal__nav:hover, .aya-gallery-modal__controls button:hover { background: var(--aya-sand); color: var(--aya-ink); }
.aya-gallery-modal__close { position: fixed; z-index: 2; top: clamp(1rem, 2vw, 2rem); right: clamp(1rem, 2vw, 2rem); width: 3rem; height: 3rem; border-radius: 50%; font-size: 2rem; line-height: 1; }
.aya-gallery-modal__nav { width: 3.3rem; height: 3.3rem; border-radius: 50%; font-family: var(--aya-serif); font-size: 2.5rem; line-height: 1; }
.aya-gallery-modal__nav[hidden] { display: none; }
.aya-gallery-modal__controls { grid-column: 1 / -1; display: flex; justify-content: center; gap: .55rem; }
.aya-gallery-modal__controls button { min-width: 3rem; height: 2.55rem; padding: 0 .8rem; border-radius: 100px; font-size: .72rem; font-weight: 700; }

/* Estrutura */
.aya-amenities { background: var(--aya-ink); color: white; }
.aya-section-head--light > p { color: rgba(255,255,255,.62); }
.aya-amenities__grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(255,255,255,.19); border-left: 1px solid rgba(255,255,255,.19); }
.aya-amenity { min-height: 260px; padding: clamp(2rem, 3.5vw, 4rem); border-right: 1px solid rgba(255,255,255,.19); border-bottom: 1px solid rgba(255,255,255,.19); transition: background .35s, transform .35s; }
.aya-amenity:hover { background: rgba(255,255,255,.045); transform: translateY(-3px); }
.aya-amenity h3 { margin: 2rem 0 .65rem; font-family: var(--aya-serif); font-size: 1.8rem; font-weight: 400; }
.aya-amenity p { max-width: 290px; margin: 0; color: rgba(255,255,255,.61); font-size: .79rem; line-height: 1.65; }
.aya-icon { display: grid; width: 40px; height: 40px; place-items: center; color: var(--aya-white); }
.aya-amenity .aya-icon svg { width: 30px; height: 30px; overflow: visible; }
.aya-amenity .aya-icon img { width: 32px; height: 32px; object-fit: contain; filter: brightness(0) saturate(100%) invert(94%) sepia(9%) saturate(537%) hue-rotate(332deg) brightness(110%) contrast(95%); }

.aya-panorama { position: relative; height: clamp(420px, 32vw, 550px); overflow: hidden; background: #111a17; }
.aya-panorama::before, .aya-panorama::after { content: ""; position: absolute; z-index: 1; inset: 0; pointer-events: none; }
.aya-panorama::before { background: linear-gradient(180deg, rgba(12,26,21,.72) 0, rgba(12,26,21,.58) 8%, rgba(12,26,21,.38) 18%, rgba(12,26,21,.16) 30%, transparent 42%); }
.aya-panorama::after { background: linear-gradient(90deg, rgba(12,26,21,.06), rgba(12,26,21,.16) 55%, rgba(12,26,21,.28)), linear-gradient(180deg, transparent 66%, rgba(17,26,23,.58) 88%, #111a17 100%); }
.aya-panorama img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.aya-panorama__caption { position: absolute; z-index: 2; right: 7vw; bottom: 6vw; max-width: 470px; color: white; text-align: right; }
.aya-panorama__caption span { display: block; margin-bottom: 1rem; font-size: .62rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.aya-panorama__caption strong { font-family: var(--aya-serif); font-size: clamp(2rem, 4vw, 4.6rem); font-weight: 400; line-height: .95; }

/* Localizacao */
.aya-location { background: #eeeeeb; }
.aya-location__grid { display: grid; grid-template-columns: .78fr 1.22fr; align-items: stretch; gap: clamp(2.5rem, 7vw, 8rem); }
.aya-location__copy { align-self: center; }
.aya-location__facts { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; margin-top: 2.3rem; padding-top: 1.6rem; border-top: 1px solid rgba(94,59,41,.24); color: var(--aya-brown); font-size: .63rem; font-weight: 700; letter-spacing: .11em; line-height: 1.7; text-transform: uppercase; }
.aya-map { position: relative; min-height: 520px; overflow: hidden; border-radius: .45rem; box-shadow: 0 22px 70px rgba(26,36,33,.13); }
.aya-map iframe { width: 100%; height: 100%; border: 0; filter: grayscale(1) contrast(.9) brightness(1.06); }
.aya-map__pin { position: absolute; top: 46%; left: 50%; width: 38px; height: 38px; border: 5px solid var(--aya-sand); border-radius: 50% 50% 50% 0; background: #d84343; box-shadow: 0 7px 20px rgba(26,36,33,.42); pointer-events: none; transform: translate(-50%, -50%) rotate(-45deg); }
.aya-map__pin::after { content: ""; position: absolute; top: 50%; left: 50%; width: 10px; height: 10px; border-radius: 50%; background: var(--aya-sand); transform: translate(-50%, -50%); }
.aya-map__link { position: absolute; z-index: 2; top: 1rem; right: 1rem; display: inline-flex; align-items: center; gap: .55rem; min-height: 2.65rem; padding: .65rem 1rem; border: 1px solid rgba(26,36,33,.15); border-radius: 100px; background: rgba(247,243,237,.94); color: var(--aya-ink); font-size: .7rem; font-weight: 700; box-shadow: 0 8px 22px rgba(26,36,33,.12); transition: transform .25s, background .25s; }
.aya-map__link:hover { background: var(--aya-ink); color: var(--aya-sand); transform: translateY(-2px); }

/* Formulario e rodape */
.aya-contact { position: relative; isolation: isolate; background: var(--aya-ink); color: white; }
.aya-contact::before { content: ""; position: absolute; z-index: -1; inset: 0; background: radial-gradient(circle at 15% 10%, rgba(73,101,82,.37), transparent 36%), radial-gradient(circle at 95% 80%, rgba(94,59,41,.28), transparent 32%); }
.aya-contact__grid { display: grid; grid-template-columns: 1fr minmax(420px, .72fr); align-items: center; gap: clamp(4rem, 10vw, 12rem); }
.aya-contact__copy > img { width: clamp(120px, 14vw, 190px); height: auto; margin-bottom: 3rem; filter: brightness(0) invert(1); }
.aya-contact__copy h2 { max-width: 740px; margin: 0 0 1.8rem; font-family: var(--aya-serif); font-size: clamp(3.4rem, 6vw, 7rem); font-weight: 400; letter-spacing: -.05em; line-height: .92; }
.aya-contact__copy > p:not(.aya-kicker) { max-width: 600px; color: rgba(255,255,255,.65); line-height: 1.75; }
.aya-contact__channels { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; margin-top: 2.2rem; }
.aya-contact__phone { display: inline-flex; align-items: center; gap: .7rem; color: #d49a60; font-size: clamp(1.05rem, 1.7vw, 1.45rem); font-weight: 700; letter-spacing: -.02em; }
.aya-contact__phone span { display: grid; width: 1.35rem; height: 1.35rem; place-items: center; }
.aya-contact__phone svg { width: 100%; height: 100%; }
.aya-contact__whatsapp { display: inline-flex; align-items: center; justify-content: center; min-height: 3.25rem; padding: .7rem 1.45rem; border: 1px solid rgba(247,243,237,.48); border-radius: 100px; color: var(--aya-sand); font-size: .76rem; font-weight: 700; transition: background .25s, color .25s; }
.aya-contact__whatsapp:hover { background: var(--aya-sand); color: var(--aya-ink); }
.aya-contact__domain { display: inline-block; margin-top: 1.8rem; color: var(--aya-copper); font-size: .73rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.aya-contact-card { padding: clamp(2rem, 4vw, 4.2rem); border: 1px solid rgba(247,243,237,.27); border-radius: .75rem; background: rgba(247,243,237,.08); box-shadow: 0 30px 100px rgba(0,0,0,.25); text-align: center; backdrop-filter: blur(20px); }
.aya-contact-card__title { margin: 0 0 .45rem; font-family: var(--aya-serif); font-size: clamp(1.8rem, 2.4vw, 2.7rem); }
.aya-contact-card__intro { margin: 0 0 2rem; color: rgba(255,255,255,.72); font-size: .88rem; }
.aya-form-warning { padding: 1rem; border: 1px solid rgba(255,255,255,.2); }

/* Reseta e estiliza o formulario existente do Contact Form 7 sem alterar campos ou integracoes. */
.aya-contact-card .wpcf7, .aya-contact-card #aya-cf7-premium { width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important; box-shadow: none !important; color: white !important; }
.aya-contact-card .wpcf7 form, .aya-contact-card #aya-cf7-premium form { margin: 0 !important; text-align: left; }
.aya-contact-card .wpcf7 p { margin: 0 0 1rem !important; }
.aya-contact-card .aya-form-grid, .aya-contact-card #aya-cf7-premium .aya-form-grid { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 1rem !important; }
.aya-contact-card label { display: block !important; margin: 0 0 .55rem !important; color: rgba(255,255,255,.67) !important; font-family: var(--aya-sans) !important; font-size: .61rem !important; font-weight: 700 !important; letter-spacing: .12em !important; line-height: 1.4 !important; text-transform: uppercase !important; }
.aya-contact-card .wpcf7-form-control-wrap { display: block !important; width: 100% !important; }
.aya-contact-card input:not([type="submit"]):not([type="checkbox"]), .aya-contact-card textarea, .aya-contact-card select,
.aya-contact-card #aya-cf7-premium input:not([type="submit"]):not([type="checkbox"]) { width: 100% !important; min-width: 0 !important; height: 3.6rem !important; margin: 0 !important; padding: 0 1rem !important; border: 1px solid rgba(255,255,255,.19) !important; border-radius: .25rem !important; outline: 0 !important; background: rgba(255,255,255,.055) !important; box-shadow: none !important; color: white !important; font-size: .88rem !important; transition: border-color .25s, background .25s, box-shadow .25s !important; }
.aya-contact-card textarea { height: 7rem !important; padding-top: 1rem !important; resize: vertical; }
.aya-contact-card input::placeholder, .aya-contact-card textarea::placeholder { color: rgba(255,255,255,.36) !important; opacity: 1 !important; }
.aya-contact-card input:focus, .aya-contact-card textarea:focus, .aya-contact-card select:focus { border-color: var(--aya-copper) !important; background: rgba(255,255,255,.09) !important; box-shadow: 0 0 0 3px rgba(201,149,98,.11) !important; }
.aya-contact-card .wpcf7-acceptance .wpcf7-list-item { margin: .35rem 0 1.25rem !important; }
.aya-contact-card .wpcf7-acceptance label { display: grid !important; grid-template-columns: 16px 1fr !important; align-items: start !important; gap: .7rem !important; color: rgba(247,243,237,.83) !important; font-size: .67rem !important; font-weight: 500 !important; letter-spacing: .02em !important; line-height: 1.55 !important; text-transform: none !important; }
.aya-contact-card .wpcf7-acceptance a { color: var(--aya-white) !important; text-decoration: underline !important; text-underline-offset: 3px; }
.aya-contact-card input[type="checkbox"] { appearance: none !important; width: 16px !important; height: 16px !important; margin: 1px 0 0 !important; border: 1px solid rgba(255,255,255,.45) !important; border-radius: 2px !important; background: transparent !important; cursor: pointer; }
.aya-contact-card input[type="checkbox"]:checked { border-color: var(--aya-copper) !important; background: var(--aya-copper) linear-gradient(135deg, transparent 45%, var(--aya-ink) 45% 55%, transparent 55%) !important; }
.aya-contact-card input[type="submit"], .aya-contact-card button[type="submit"], .aya-contact-card #aya-cf7-premium input[type="submit"] { width: 100% !important; min-height: 3.7rem !important; margin: .2rem 0 0 !important; padding: .9rem 1.3rem !important; border: 0 !important; border-radius: 100px !important; background: var(--aya-brown) !important; box-shadow: none !important; color: var(--aya-white) !important; font-size: .75rem !important; font-weight: 800 !important; cursor: pointer !important; transition: transform .25s, background .25s !important; }
.aya-contact-card input[type="submit"]:hover { transform: translateY(-2px); background: var(--aya-white) !important; color: var(--aya-ink) !important; }
.aya-contact-card .wpcf7-spinner { position: absolute; }
.aya-contact-card .wpcf7-not-valid-tip { margin-top: .35rem !important; color: #e6a599 !important; font-size: .68rem !important; }
.aya-contact-card .wpcf7-response-output { margin: 1rem 0 0 !important; padding: .8rem 1rem !important; border: 1px solid rgba(255,255,255,.22) !important; color: white !important; font-size: .72rem !important; }

/* Variação translúcida e compacta exclusiva do formulário da Hero. */
.aya-contact-card.aya-hero-form-panel .wpcf7, .aya-contact-card.aya-hero-form-panel #aya-cf7-premium { color: var(--aya-sand) !important; }
.aya-contact-card.aya-hero-form-panel .wpcf7 form, .aya-contact-card.aya-hero-form-panel #aya-cf7-premium form { padding-top: 1.15rem !important; text-align: center !important; }
.aya-contact-card.aya-hero-form-panel .wpcf7 p { margin-bottom: .72rem !important; }
.aya-contact-card.aya-hero-form-panel .aya-form-grid, .aya-contact-card.aya-hero-form-panel #aya-cf7-premium .aya-form-grid { gap: .85rem !important; }
.aya-contact-card.aya-hero-form-panel label, .aya-contact-card.aya-hero-form-panel #aya-cf7-premium label { margin-bottom: .38rem !important; color: rgba(247,243,237,.78) !important; text-align: center !important; }
.aya-contact-card.aya-hero-form-panel input:not([type="submit"]):not([type="checkbox"]), .aya-contact-card.aya-hero-form-panel textarea, .aya-contact-card.aya-hero-form-panel select,
.aya-contact-card.aya-hero-form-panel #aya-cf7-premium input:not([type="submit"]):not([type="checkbox"]) { height: 3.2rem !important; border-color: rgba(247,243,237,.24) !important; background: rgba(247,243,237,.075) !important; color: var(--aya-sand) !important; text-align: center !important; }
.aya-contact-card.aya-hero-form-panel input::placeholder, .aya-contact-card.aya-hero-form-panel textarea::placeholder,
.aya-contact-card.aya-hero-form-panel #aya-cf7-premium input::placeholder, .aya-contact-card.aya-hero-form-panel #aya-cf7-premium textarea::placeholder { color: rgba(247,243,237,.47) !important; opacity: 1 !important; }
.aya-contact-card.aya-hero-form-panel input:focus, .aya-contact-card.aya-hero-form-panel textarea:focus, .aya-contact-card.aya-hero-form-panel select:focus { border-color: var(--aya-copper) !important; background: rgba(247,243,237,.12) !important; box-shadow: 0 0 0 2px rgba(247,243,237,.08) !important; }
.aya-contact-card.aya-hero-form-panel .wpcf7-acceptance .wpcf7-list-item { margin: .15rem 0 .7rem !important; }
.aya-contact-card.aya-hero-form-panel .wpcf7-acceptance label, .aya-contact-card.aya-hero-form-panel #aya-cf7-premium .wpcf7-acceptance label { width: fit-content; margin-inline: auto !important; color: rgba(247,243,237,.72) !important; text-align: left !important; }
.aya-contact-card.aya-hero-form-panel .wpcf7-acceptance a, .aya-contact-card.aya-hero-form-panel #aya-cf7-premium .wpcf7-acceptance a { color: var(--aya-sand) !important; }
.aya-contact-card.aya-hero-form-panel input[type="checkbox"] { border-color: rgba(247,243,237,.5) !important; }
.aya-contact-card.aya-hero-form-panel input[type="submit"], .aya-contact-card.aya-hero-form-panel button[type="submit"], .aya-contact-card.aya-hero-form-panel #aya-cf7-premium input[type="submit"] { background: var(--aya-brown) !important; color: var(--aya-sand) !important; }
.aya-contact-card.aya-hero-form-panel input[type="submit"]:hover { background: var(--aya-forest) !important; color: var(--aya-sand) !important; }
.aya-contact-card.aya-hero-form-panel .wpcf7-not-valid-tip { color: #a53d32 !important; }
.aya-contact-card.aya-hero-form-panel .wpcf7-response-output { border-color: rgba(247,243,237,.25) !important; color: var(--aya-sand) !important; }

/* Acesso flutuante ao WhatsApp. */
.aya-whatsapp-float { --aya-whatsapp-size: 78px; position: fixed; z-index: 9000; right: max(1.5rem, env(safe-area-inset-right)); bottom: calc(1.5rem + env(safe-area-inset-bottom) + var(--aya-whatsapp-cookie-offset, 0px)); display: grid; width: var(--aya-whatsapp-size); height: var(--aya-whatsapp-size); place-items: center; border: 0; border-radius: 50%; background: #25d366; box-shadow: 0 12px 32px rgba(19,91,51,.28), 0 3px 10px rgba(0,0,0,.16); color: #fff; isolation: isolate; transition: bottom .3s var(--aya-ease), box-shadow .25s ease, opacity .2s ease, transform .25s ease; }
.aya-whatsapp-float::before, .aya-whatsapp-float::after { content: ""; position: absolute; z-index: -1; inset: -9px; border: 1px solid rgba(37,211,102,.4); border-radius: inherit; background: rgba(37,211,102,.1); pointer-events: none; }
.aya-whatsapp-float::after { border-width: 2px; background: rgba(37,211,102,.14); animation: aya-whatsapp-wave 2.1s ease-out infinite; }
.aya-whatsapp-float__icon { display: grid; width: 39px; height: 39px; place-items: center; }
.aya-whatsapp-float__icon svg { width: 100%; height: 100%; }
.aya-whatsapp-float:hover { box-shadow: 0 15px 38px rgba(19,91,51,.34), 0 4px 12px rgba(0,0,0,.18); color: #fff; transform: translateY(-2px); }
.aya-whatsapp-float:focus-visible { outline: 3px solid var(--aya-sand); outline-offset: 5px; box-shadow: 0 0 0 7px rgba(37,211,102,.32), 0 15px 38px rgba(19,91,51,.34); }
.aya-menu-open .aya-whatsapp-float, .aya-gallery-open .aya-whatsapp-float { opacity: 0; pointer-events: none; }
@keyframes aya-whatsapp-wave { 0% { opacity: .9; transform: scale(.9); } 72%, 100% { opacity: 0; transform: scale(1.55); } }

@media (prefers-reduced-motion: reduce) {
  .aya-whatsapp-float::after { animation: none; opacity: 0; }
  .aya-whatsapp-float { transition: none; }
}

/* Tela pública de pré-lançamento. */
.aya-coming-soon-page { min-height: 100svh; overflow-x: hidden; background: var(--aya-ink); color: var(--aya-sand); }
.aya-coming-soon { position: relative; isolation: isolate; display: grid; min-height: 100svh; padding: clamp(2.5rem, 5vh, 4.5rem) 0; place-items: center; overflow: hidden; background-image: var(--aya-coming-soon-image); background-position: center; background-size: cover; }
.aya-coming-soon::before { content: ""; position: absolute; z-index: -2; inset: 0; background: linear-gradient(90deg, rgba(10,22,18,.91), rgba(10,22,18,.58) 55%, rgba(10,22,18,.32)), linear-gradient(0deg, rgba(10,22,18,.82), transparent 60%); }
.aya-coming-soon::after { content: ""; position: absolute; z-index: -1; inset: 0; background: radial-gradient(circle at 78% 28%, transparent, rgba(10,22,18,.34) 68%); }
.aya-coming-soon__content { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(340px, 390px); align-items: center; gap: clamp(3.5rem, 7vw, 8rem); width: min(84vw, 1400px); }
.aya-coming-soon__message { min-width: 0; }
.aya-coming-soon__logo { width: clamp(132px, 11vw, 180px); height: auto; margin-bottom: clamp(2.25rem, 4.5vh, 3.75rem); filter: brightness(0) invert(1); }
.aya-coming-soon__kicker { margin: 0 0 1.35rem; color: rgba(247,243,237,.72); font-size: .67rem; font-weight: 700; letter-spacing: .24em; text-transform: uppercase; }
.aya-coming-soon h1 { max-width: 900px; margin: 0; font-family: var(--aya-serif); font-size: clamp(3.4rem, 5.25vw, 6.4rem); font-weight: 400; letter-spacing: -.055em; line-height: .9; text-wrap: balance; }
.aya-coming-soon__copy { max-width: 650px; margin: 1.65rem 0 0; color: rgba(247,243,237,.78); font-size: clamp(.92rem, 1.05vw, 1.08rem); line-height: 1.7; }
.aya-coming-soon__domain { display: inline-block; margin-top: 2.2rem; color: var(--aya-sand); font-size: .7rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.aya-coming-soon__form.aya-contact-card { justify-self: end; width: 100%; max-width: 390px; padding: 1.55rem; border-color: rgba(247,243,237,.23); border-radius: .55rem; background: rgba(18,31,27,.76); box-shadow: 0 26px 80px rgba(0,0,0,.3); text-align: center; backdrop-filter: blur(18px) saturate(110%); }
.aya-coming-soon__form-title { margin: 0; color: var(--aya-sand); font-family: var(--aya-serif); font-size: 1.75rem; line-height: 1.05; }
.aya-coming-soon__form-intro { margin: .55rem 0 1.1rem; color: rgba(247,243,237,.65); font-size: .76rem; line-height: 1.5; }
.aya-coming-soon__form .wpcf7 form, .aya-coming-soon__form #aya-cf7-premium form { text-align: center; }
.aya-coming-soon__form .wpcf7 p { margin-bottom: .68rem !important; }
.aya-coming-soon__form .aya-form-grid, .aya-coming-soon__form #aya-cf7-premium .aya-form-grid { gap: .75rem !important; }
.aya-coming-soon__form label { margin-bottom: .35rem !important; text-align: center; }
.aya-coming-soon__form input:not([type="submit"]):not([type="checkbox"]), .aya-coming-soon__form textarea, .aya-coming-soon__form select { height: 3.1rem !important; text-align: center; }
.aya-coming-soon__form .wpcf7-acceptance .wpcf7-list-item { margin: .1rem 0 .65rem !important; }
.aya-coming-soon__form .wpcf7-acceptance label { width: fit-content; margin-inline: auto !important; text-align: left; }
.aya-coming-soon__form input[type="submit"], .aya-coming-soon__form button[type="submit"] { min-height: 3.25rem !important; margin-top: 0 !important; }

.aya-footer { padding: 0 0 2rem; background: #111a17; color: white; }
.aya-footer > .aya-panorama { margin-bottom: 5.5rem; }
.aya-footer__grid { display: grid; grid-template-columns: 1.45fr .65fr .9fr .8fr; gap: 4rem; }
.aya-footer__brand { display: flex; align-items: center; gap: 1.8rem; }
.aya-footer__brand img { flex: 0 0 auto; width: 180px; height: auto; margin: 0; }
.aya-footer__brand p { margin: 0; text-align: center; }
.aya-footer__logo, .aya-footer__logo--approved { filter: brightness(0) invert(1); }
.aya-footer h3 { margin: 0 0 1.25rem; color: rgba(255,255,255,.4); font-size: .62rem; letter-spacing: .15em; text-transform: uppercase; }
.aya-footer p, .aya-footer a { color: rgba(255,255,255,.58); font-size: .76rem; line-height: 1.8; }
.aya-footer nav { display: grid; gap: .5rem; }
.aya-footer__grid > div:not(.aya-footer__brand) > a { display: block; }
.aya-footer a:hover { color: var(--aya-copper); }
.aya-footer__bottom { display: flex; justify-content: space-between; gap: 2rem; margin-top: 5rem; padding-top: 1.5rem; border-top: 1px solid rgba(255,255,255,.1); color: rgba(255,255,255,.32); font-size: .6rem; line-height: 1.6; }
.aya-footer__bottom span:last-child { max-width: 650px; text-align: right; }

.aya-reveal { opacity: 1; transform: none; }

@media (max-width: 980px) {
  :root { --aya-shell: min(89vw, 860px); }
  .aya-menu-toggle { position: relative; z-index: 30; display: block; color: white; cursor: pointer; }
  .aya-header.is-fixed .aya-menu-toggle { color: var(--aya-ink); }
  .aya-menu { position: fixed; inset: 0; z-index: 25; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 1.25rem; padding: 10vw; background: var(--aya-ink); color: white; font-family: var(--aya-serif); font-size: clamp(2.2rem, 8vw, 4.2rem); transform: translateX(100%); transition: transform .55s var(--aya-ease); }
  .aya-menu.is-open { transform: none; }
  .aya-menu .aya-button { margin-top: 1rem; font-family: var(--aya-sans); font-size: .75rem; }
  .aya-hero__layout { grid-template-columns: minmax(0, 1fr); gap: 1rem; padding-top: 5rem; }
  .aya-hero__content { padding-bottom: 2rem; }
  .aya-hero-form-panel { width: min(100%, 420px); margin-inline: auto; transform: none; }
  .aya-concept__grid, .aya-location__grid, .aya-contact__grid, .aya-realization__grid { grid-template-columns: 1fr; }
  .aya-realization__grid { gap: 3.5rem; }
  .aya-realization__content { padding-top: 0; }
  .aya-concept__copy { padding-left: 0; }
  .aya-concept__visual { width: min(82%, 580px); margin-left: auto; }
  .aya-authorship__grid { grid-template-columns: minmax(320px, .46fr) minmax(0, .54fr); min-height: 560px; }
  .aya-authorship__copy { padding-left: 5.5vw; padding-right: 3rem; }
  .aya-authorship__visual { min-height: inherit; }
  .aya-authorship__visual img { min-height: inherit; }
  .aya-title-lines--desktop { display: none; }
  .aya-title-lines--fluid { display: block; }
  .aya-section-head { grid-template-columns: 1fr; gap: 1.4rem; }
  .aya-gallery__item { grid-column: span 6 !important; }
  .aya-videos__panel { grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr); }
  .aya-amenity { min-height: 230px; }
  .aya-map { min-height: 470px; }
  .aya-contact__grid { gap: 4rem; }
  .aya-footer__grid { grid-template-columns: 1.25fr 1fr; }
  .aya-coming-soon { padding: 4rem 0 3rem; }
  .aya-coming-soon__content { grid-template-columns: 1fr; gap: 2.75rem; width: min(89vw, 720px); }
  .aya-coming-soon__message { text-align: center; }
  .aya-coming-soon__logo { margin-inline: auto; margin-bottom: 2.5rem; }
  .aya-coming-soon h1, .aya-coming-soon__copy { margin-inline: auto; }
  .aya-coming-soon__form.aya-contact-card { justify-self: center; }
}

@media (max-width: 680px) {
  :root { --aya-shell: calc(100vw - 2.5rem); }
	.aya-whatsapp-float { --aya-whatsapp-size: 73px; right: max(1rem, env(safe-area-inset-right)); bottom: calc(1rem + env(safe-area-inset-bottom) + var(--aya-whatsapp-cookie-offset, 0px)); }
  .aya-section { padding: 5.5rem 0; }
  .aya-hero { min-height: 0; background-image: var(--aya-hero-mobile); background-position: 58% center; }
  .aya-hero::before { background: linear-gradient(90deg, rgba(9,21,17,.8), rgba(9,21,17,.27)), linear-gradient(0deg, rgba(9,21,17,.9), transparent 56%); }
  .aya-header { padding-top: .8rem; }
  .aya-header.is-fixed { top: 0 !important; padding: .65rem 0; }
  .aya-header:not(.is-fixed) .aya-brand { transform: translateY(4.75rem); }
  .aya-header:not(.is-fixed) .aya-brand img { width: 148px; max-height: 64px; }
  .aya-header.is-fixed .aya-brand { transform: none; }
  .aya-header.is-fixed .aya-brand img { width: 96px; }
  .aya-menu { top: 4.65rem; right: 1rem; bottom: auto; left: 1rem; align-items: stretch; justify-content: flex-start; gap: 0; padding: .75rem; border: 1px solid rgba(247,243,237,.14); border-radius: .75rem; background: rgba(17,26,23,.97); box-shadow: 0 24px 70px rgba(0,0,0,.32); font-family: var(--aya-sans); font-size: 1rem; opacity: 0; visibility: hidden; transform: translateY(-.75rem) scale(.98); transform-origin: top right; pointer-events: none; backdrop-filter: blur(18px); }
  .aya-header:not(.is-fixed) .aya-menu { position: absolute; top: calc(100% + .5rem); }
  .aya-header.is-fixed .aya-menu { position: fixed; top: 4.65rem; }
  .aya-menu.is-open { opacity: 1; visibility: visible; transform: none; pointer-events: auto; }
  .aya-menu > a:not(.aya-button) { width: 100%; padding: .9rem 1rem; border-bottom: 1px solid rgba(247,243,237,.1); font-size: .95rem; font-weight: 600; text-align: left; }
  .aya-menu > a:not(.aya-button)::after { display: none; }
  .aya-menu .aya-button { width: 100%; min-height: 3rem; margin-top: .75rem; }
  .aya-menu-toggle[aria-expanded="true"] > span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
  .aya-menu-toggle[aria-expanded="true"] > span:nth-child(2) { opacity: 0; }
  .aya-menu-toggle[aria-expanded="true"] > span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
  .aya-menu-toggle > span:not(.screen-reader-text) { transition: transform .25s ease, opacity .2s ease; }
  .aya-hero__layout { gap: 2rem; padding-top: 7rem; padding-bottom: 2.5rem; }
  .aya-hero__content { justify-content: flex-end; padding: 0; }
  .aya-hero h1 { max-width: 100%; font-size: clamp(2.65rem, 11.6vw, 3.15rem); line-height: .92; letter-spacing: -.045em; text-wrap: balance; }
  .aya-hero-title--desktop { display: none; }
  .aya-hero-title--mobile { display: block; }
  .aya-hero-title--mobile.is-curated { white-space: nowrap; }
  .aya-hero__copy { max-width: 92%; margin-top: 1.25rem; font-size: .88rem; }
  .aya-hero__numbers-grid { grid-template-columns: 1fr 1fr 1fr; }
  .aya-hero__numbers-grid > div { display: grid; grid-template-columns: auto auto; align-items: center; justify-content: center; gap: .35rem; padding: 1.1rem .35rem; text-align: center; }
  .aya-hero__numbers-grid > div + div { padding-left: .35rem; }
  .aya-metric-icon { margin: 0; }
  .aya-hero__numbers strong { display: block; margin-bottom: .25rem; font-size: 1.2rem; }
  .aya-hero__numbers span { font-size: .47rem; }
  .aya-contact-card.aya-hero-form-panel { justify-self: center; width: min(100%, 380px); margin-inline: auto; padding: 0 1.15rem .9rem; transform: none; }
  .aya-hero-form-panel .aya-contact-card__title { margin-inline: -1.15rem; }
  .aya-contact-card.aya-hero-form-panel .aya-form-grid, .aya-contact-card.aya-hero-form-panel #aya-cf7-premium .aya-form-grid { grid-template-columns: 1fr !important; gap: 0 !important; }
  .aya-coming-soon { min-height: 100svh; padding: 3.25rem 0 2.5rem; background-image: var(--aya-coming-soon-mobile-image); background-position: 60% center; }
  .aya-coming-soon__content { width: calc(100vw - 2.5rem); gap: 2.25rem; }
  .aya-coming-soon__logo { width: 118px; margin-bottom: 2.15rem; }
  .aya-coming-soon h1 { font-size: clamp(2.9rem, 13vw, 4.15rem); line-height: .92; }
  .aya-coming-soon__copy { margin-top: 1.25rem; font-size: .88rem; }
  .aya-coming-soon__domain { margin-top: 1.5rem; }
  .aya-coming-soon__form.aya-contact-card { max-width: 380px; padding: 1.3rem 1.1rem 1.1rem; }
  .aya-coming-soon__form-title { font-size: 1.55rem; }
  .aya-coming-soon__form .aya-form-grid, .aya-coming-soon__form #aya-cf7-premium .aya-form-grid { grid-template-columns: 1fr !important; gap: 0 !important; }
  .aya-concept h2, .aya-location h2 { font-size: 3.2rem; }
  .aya-concept__grid { gap: 3.8rem; }
  .aya-concept__visual { width: 92%; }
  .aya-concept__visual { min-height: 470px; }
  .aya-concept__slides { border-radius: 7rem 7rem .5rem .5rem; }
  .aya-concept__visual figcaption { right: -2rem; }
	.aya-project-visual.aya-section { padding: 4.5rem 0 3.5rem; }
	.aya-project-visual__head { margin-bottom: .5rem; }
	.aya-project-visual__head .aya-kicker { margin-bottom: 1.15rem; }
	.aya-project-visual__head h2 { margin-bottom: 1.35rem; font-size: 3.35rem; }
	.aya-project-visual__head > p:last-child { margin-inline: auto; }
	.aya-project-visual__figure { margin: 0; }
	.aya-project-visual__stage { width: 100%; height: clamp(250px, 78vw, 310px); min-height: 0; margin-top: 0; }
	.aya-project-visual__stage img { width: 100%; height: 100%; max-height: none; object-fit: cover; object-position: center 56%; clip-path: none; }
	.aya-project-visual__open { justify-content: center; }
	.aya-project-visual figcaption { margin-top: .6rem; text-align: center; }
  .aya-section-head h2 { font-size: 3.35rem; }
  .aya-filters { margin-right: -1.25rem; }
  .aya-gallery__grid { gap: .7rem; }
  .aya-gallery__item, .aya-gallery__item:nth-child(even) { width: 100%; margin-inline: auto; grid-column: span 12 !important; }
  .aya-gallery__item img { min-height: 280px; aspect-ratio: 4/3 !important; }
  .aya-gallery-modal { grid-template-columns: 1fr; grid-template-rows: 1fr auto; gap: .7rem; padding: 1rem; }
  .aya-gallery-modal__stage { width: 100%; height: min(72vh, 680px); }
  .aya-gallery-modal__nav { position: absolute; z-index: 3; top: 50%; width: 2.75rem; height: 2.75rem; transform: translateY(-50%); }
  .aya-gallery-modal__nav--prev { left: .8rem; }
  .aya-gallery-modal__nav--next { right: .8rem; }
  .aya-gallery-modal__caption { flex-direction: column; gap: .3rem; text-align: left; }
  .aya-gallery-modal__caption span { align-self: auto; }
  .aya-videos__panel { grid-template-columns: 1fr; }
  .aya-video-playlist { order: 2; padding-top: 0; }
  .aya-video-playlist > p { text-align: center; }
  .aya-video-current { min-height: 0; text-align: center; }
  .aya-video-list__item { grid-template-columns: 24px 74px minmax(0, 1fr); padding: .75rem 1rem; text-align: left; }
  .aya-video-list__item strong { font-size: 1rem; }
  .aya-video-feature, .aya-video-feature > img { min-height: 360px; }
  .aya-amenities__grid { grid-template-columns: 1fr 1fr; }
  .aya-amenity { min-height: 225px; padding: 1.4rem; }
  .aya-amenity h3 { margin-top: 1.5rem; font-size: 1.35rem; }
  .aya-amenity p { font-size: .68rem; }
  .aya-authorship.aya-section { padding: 0; }
  .aya-authorship__grid { display: flex; flex-direction: column; min-height: 0; }
  .aya-authorship__visual { order: 1; width: 100%; min-height: 300px; margin-left: 0; }
  .aya-authorship__visual img { min-height: 300px; }
  .aya-authorship__visual::before { width: 28%; }
  .aya-authorship__visual figcaption { right: 1.25rem; bottom: 1.5rem; font-size: .5rem; }
  .aya-authorship__copy { order: 2; padding: 4.4rem 1.25rem 5rem; background: var(--aya-ink); }
  .aya-authorship h2, .aya-realization h2 { font-size: 3.2rem; }
  .aya-realization__content { padding-top: 0; }
  .aya-realization__links { justify-content: center; gap: 1.6rem; }
  .aya-realization__links a { min-width: 0; min-height: 62px; }
  .aya-realization__links a:first-child img { width: 118px; }
  .aya-realization__links a:last-child img { width: 188px; }
  .aya-site > section:not(.aya-hero), .aya-footer { text-align: center; }
	.aya-site > section:not(.aya-hero) .aya-section-head, .aya-site > section:not(.aya-hero) .aya-section-head > p, .aya-site > section:not(.aya-hero) .aya-concept__copy > p:last-child, .aya-site > section:not(.aya-hero) .aya-location__copy > p, .aya-site > section:not(.aya-hero) .aya-authorship__copy > p:last-child, .aya-site > section:not(.aya-hero) .aya-realization__content > p, .aya-site > section:not(.aya-hero) .aya-project-visual__head > p { margin-inline: auto; }
  .aya-site > section:not(.aya-hero) .aya-kicker { text-align: center; }
  .aya-concept__visual { margin-inline: auto; }
  .aya-amenity { text-align: center; }
  .aya-icon { margin-inline: auto; }
  .aya-amenities__grid { text-align: center; }
  .aya-filters { justify-content: flex-start; }
  .aya-panorama { height: clamp(420px, 112vw, 550px); }
  .aya-panorama__caption { right: 1.25rem; bottom: 3rem; left: 1.25rem; text-align: left; }
  .aya-location__facts { grid-template-columns: 1fr; }
  .aya-map { min-height: 430px; border-radius: 7rem 7rem .4rem .4rem; }
  .aya-contact__grid { grid-template-columns: minmax(0,1fr); }
  .aya-contact__copy { text-align: center; }
  .aya-contact__copy > img, .aya-contact__domain { margin-inline: auto; }
  .aya-contact__copy h2 { font-size: 3.4rem; }
  .aya-contact-card .wpcf7 form, .aya-contact-card #aya-cf7-premium form { text-align: center; }
  .aya-contact__channels { align-items: stretch; }
  .aya-contact__channels { justify-content: center; }
  .aya-contact__whatsapp { flex: 1; }
  .aya-contact-card { padding: 1.4rem; }
  .aya-contact-card .aya-form-grid, .aya-contact-card #aya-cf7-premium .aya-form-grid { grid-template-columns: 1fr !important; gap: 0 !important; }
  .aya-footer { padding: 0 0 1.6rem; }
  .aya-footer > .aya-panorama { margin-bottom: 4rem; }
  .aya-footer__grid { grid-template-columns: 1fr; gap: 0; }
  .aya-footer__brand { display: grid; justify-items: center; gap: 1.25rem; }
  .aya-footer__brand img { width: 185px; }
  .aya-footer__brand p { max-width: 320px; margin: 0; text-align: center; }
  .aya-footer__grid > div:not(.aya-footer__brand) { display: none; }
  .aya-footer__bottom { display: grid; margin-top: 2.5rem; text-align: center; }
  .aya-footer__bottom span:last-child { text-align: center; }
}

@media (max-width: 782px) {
  .admin-bar .aya-header.is-fixed { top: 46px; }
}

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