/* Editorial photography, clearer conversion paths and accessible interaction. */
.header { background: rgba(251,247,242,.96); }
/* Keep the page's editorial breathing room without stacking two oversized
   section paddings at every boundary. */
.section { padding: clamp(54px, 5vw, 80px) 0; }
.section--tight { padding: clamp(28px, 3.5vw, 48px) 0; }
.section__head { margin-bottom: clamp(30px, 3.5vw, 48px); }
.section--tint { background: #f7edec; }
.hero__grid { gap: 36px; }
.hero__photo { position: relative; width: 100%; max-width: 540px; justify-self: center; padding-bottom: 20px; }
.hero__photo > img { width: 100%; aspect-ratio: 4/5; object-fit: cover; border-radius: 160px 160px 20px 20px; box-shadow: 0 24px 60px -38px rgba(43,27,46,.6); }
.hero__photo-note { margin-top: 12px; font-size: 11px; color: var(--muted); text-align: right; }
.hero__photo-card { position: absolute; bottom: 68px; left: -14px; right: 20px; display: flex; align-items: center; gap: 14px; padding: 18px 20px; border: 1px solid rgba(255,255,255,.7); border-radius: 16px; background: rgba(251,247,242,.96); box-shadow: 0 15px 35px -25px var(--plum); }
.hero__photo-card strong { display: block; font-size: 16px; }
.hero__photo-card span:not(.hero__photo-icon) { display: block; color: var(--muted); font-size: 13px; margin-top: 3px; }
.hero__photo-icon { width: 42px; height: 42px; flex: none; border-radius: 50%; background: var(--plum); color: var(--ivory); display: grid; place-items: center; font-size: 24px; }
.hero__trust { display: flex; flex-wrap: wrap; gap: 16px 28px; padding-top: 24px; margin-top: 20px; border-top: 1px solid var(--line); color: var(--muted); font-size: 13px; }
.hero__trust li::before { content: '✓'; color: var(--rose); margin-right: 8px; }
.direction-grid { display: grid; gap: 20px; }
.direction-card { padding: 32px; border: 1px solid var(--line); border-radius: 24px; background: rgba(255,255,255,.65); }
.direction-card .h3 { margin: 24px 0; font-size: 23px; }
.direction-card ul { display: grid; gap: 16px; color: var(--muted); }
.direction-card li { position: relative; padding-left: 22px; }
.direction-card li::before { content: '—'; position: absolute; left: 0; color: var(--rose); }
.direction-card--after { background: var(--plum); color: var(--ivory); border-color: var(--plum); }
.direction-card--after ul { color: var(--muted-light); }
.direction-card--after li::before { content: '✓'; color: var(--rose-light); }
.gallery { margin-top: clamp(42px, 5vw, 72px); }
.gallery__grid { grid-template-columns: 1fr; gap: 26px; }
.gallery__grid li:nth-child(even) { transform: none; }
.gallery__image { border-radius: 20px; overflow: hidden; background: var(--blush); }
.gallery__grid img { border-radius: 0; transition: transform .65s var(--ease); }
.gallery__grid figcaption { margin-top: 14px; font-size: 16px; font-weight: 500; }
.pkg__fit { color: var(--muted); font-size: 15px; margin-top: 10px; }
.pkg--featured .pkg__fit { color: var(--muted-light); }
.pkg__cost { padding: 14px 0 20px; margin-top: auto; border-top: 1px solid var(--line); font-size: 13px; color: var(--muted); }
.pkg--featured .pkg__cost { border-color: var(--line-dark); color: var(--muted-light); }
.form__privacy { font-size: 12px; color: var(--muted-light); }
.form__privacy a { text-underline-offset: 3px; }
.form__wa .link-arrow { text-align: center; }
.menu-toggle { display: grid; place-items: center; min-width: 44px; min-height: 44px; border: 1px solid var(--line); border-radius: 50%; background: transparent; cursor: pointer; margin-left: auto; }
.menu-toggle[aria-expanded="true"] { background: var(--blush); }
.header__inner { position: relative; }
.nav.is-open { display: flex; flex-direction: column; position: absolute; top: calc(100% - 1px); left: 0; right: 0; padding: 16px 24px; background: var(--ivory); border-bottom: 1px solid var(--line); box-shadow: 0 18px 30px -24px var(--plum); gap: 6px; }
.nav.is-open a { padding: 12px 0; text-decoration: none; }
.btn,.pkg,.service,.role,.direction-card,.faq summary,.lang__btn { transition: transform .25s var(--ease), box-shadow .25s var(--ease), background-color .25s var(--ease), border-color .25s var(--ease), color .25s var(--ease); }
.pkg:focus-within { border-color: var(--rose); box-shadow: 0 0 0 3px rgba(180,71,106,.15); }
.nav a:focus-visible::after { transform: scaleX(1); }
@media (hover:hover) and (pointer:fine) {
 .btn:hover { transform: translateY(-3px); box-shadow: 0 12px 24px -12px rgba(43,27,46,.5); }
 .pkg:hover { transform: translateY(-6px); box-shadow: 0 24px 48px -32px rgba(43,27,46,.55); border-color: var(--rose); }
 .gallery__grid li:hover img { transform: scale(1.045); }
 .service:hover { transform: translateY(-4px); border-color: var(--rose); }
 .role:hover,.direction-card:hover { transform: translateY(-4px); border-color: var(--rose); }
 .faq summary:hover { color: var(--rose); }
 .lang__btn:not([aria-pressed="true"]):hover { background: var(--blush); }
}
@media (min-width:650px) {
 .direction-grid { grid-template-columns: 1fr 1fr; }
 .gallery__grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (min-width:900px) {
 .menu-toggle { display: none; }
 .hero { padding-bottom: 8px; }
 .hero__grid { grid-template-columns: 1.08fr 1fr; gap: 76px; }
 .hero__title { font-size: clamp(3rem,5.3vw,5rem); }
 .hero__photo-card { left: -30px; right: 28px; }
 .hero__trust { justify-content: space-between; }
 .gallery__grid { gap: 28px; }
 .gallery__grid li:nth-child(2) { margin-top: 30px; }
}
@media (max-width:559px) {
 .hero { padding-bottom: 18px; }
 .header__actions > .btn { display: none; }
 .header__inner { gap: 8px; }
 .hero__photo { max-width: 430px; }
 .hero__photo-card { left: 10px; right: 10px; padding: 14px; }
 .hero__photo > img { max-height: 480px; }
 .hero__trust { display: grid; gap: 12px; margin-top: 12px; }
 .gallery__grid { grid-template-columns: 1fr; }
 .gallery__grid img { max-height: 400px; object-position: center 45%; }
 .direction-card { padding: 26px; }
 .report__stamp { position: static; display: inline-block; margin-bottom: 18px; }
 .report__rows { overflow-wrap: anywhere; }
 .footer__links a { overflow-wrap: anywhere; }
}
@media (prefers-reduced-motion:reduce) {
 *,*::before,*::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
 .btn:hover,.pkg:hover,.service:hover,.role:hover,.direction-card:hover,.gallery__grid li:hover img { transform: none; }
}
