/* Aurora — In-Villa premium (pagina /invilla e secao da home).
   CSS proprio: o Tailwind do site e compilado, classes novas nao existiriam.
   Ouro #C9A227 so sobre fundo escuro; em fundo claro o texto usa #6E5710 (passa AA). */
:root { --ivp-forest:#1E261E; --ivp-forest2:#2D382D; --ivp-cream:#FAF8F5; --ivp-sand:#F3EEE6; --ivp-gold:#C9A227; --ivp-goldtext:#6E5710;
  --ivp-line:#E0D7C7; --ivp-line-dark:rgba(250,248,245,.16); --ivp-muted:#4A564A; --ivp-muted-dark:rgba(250,248,245,.8); }
.ivp-wrap { max-width:72rem; margin:0 auto; padding:0 1.5rem; }
.ivp-wrap--narrow { max-width:48rem; }
.ivp-sec { padding:4.5rem 0; }
@media (min-width:1024px){ .ivp-sec { padding:7rem 0; } .ivp-wrap { padding:0 3rem; } }
.ivp-sec--cream { background:#FEFDFB; color:var(--ivp-forest2); }
.ivp-sec--sand { background:var(--ivp-sand); color:var(--ivp-forest2); }
.ivp-sec--dark { background:var(--ivp-forest); color:var(--ivp-cream); }
.ivp-eyebrow { display:block; margin:0 0 1rem; font-size:.75rem; font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:var(--ivp-goldtext); }
.ivp-sec--dark .ivp-eyebrow, .ivp-hero .ivp-eyebrow, .ivh .ivp-eyebrow { color:var(--ivp-gold); }
.ivp-h2 { font-family:'Cormorant Garamond',Georgia,serif; font-weight:300; font-size:2.25rem; line-height:1.1; margin:0 0 1rem; color:inherit; }
.ivp-h2 em { font-style:italic; color:var(--ivp-goldtext); }
.ivp-sec--dark .ivp-h2 em { color:var(--ivp-gold); }
@media (min-width:1024px){ .ivp-h2 { font-size:3.25rem; } }
.ivp-lead { font-size:1.0625rem; line-height:1.7; color:var(--ivp-muted); margin:0; max-width:40rem; }
.ivp-sec--dark .ivp-lead { color:var(--ivp-muted-dark); }
.ivp-head { margin-bottom:2.5rem; }
@media (min-width:1024px){ .ivp-head { margin-bottom:3.5rem; } }

/* Botoes */
.ivp-btn { display:inline-flex; align-items:center; justify-content:center; min-height:52px; padding:.9rem 2.25rem; border-radius:2px; font-size:.78rem; font-weight:600;
  letter-spacing:.14em; text-transform:uppercase; text-decoration:none; text-align:center; cursor:pointer; border:1px solid transparent; transition:background-color .2s ease,color .2s ease,border-color .2s ease; }
.ivp-btn--gold { background:var(--ivp-gold); color:#1E261E; }
.ivp-btn--gold:hover { background:#D8B23A; }
.ivp-btn--ghost { background:transparent; color:var(--ivp-cream); border-color:rgba(250,248,245,.4); }
.ivp-btn--ghost:hover { border-color:var(--ivp-gold); color:var(--ivp-gold); }
.ivp-btn:focus-visible, .ivp-link:focus-visible, .ivp-tab:focus-visible, .ivp-row:focus-visible, .ivp-faq summary:focus-visible, .ivp-all summary:focus-visible { outline:2px solid #8C691C; outline-offset:3px; }
.ivp-link { display:inline-flex; align-items:center; min-height:44px; font-size:.92rem; font-weight:500; color:var(--ivp-goldtext); text-decoration:underline; text-underline-offset:4px; }
.ivp-sec--dark .ivp-link, .ivp-hero .ivp-link { color:var(--ivp-cream); }
.ivp-sec--dark .ivp-link:hover, .ivp-hero .ivp-link:hover { color:var(--ivp-gold); }

/* Hero */
.ivp-hero { background:var(--ivp-forest); color:var(--ivp-cream); padding:3.5rem 0 3rem; overflow:hidden; }
.ivp-hero__grid { display:grid; gap:2.75rem; align-items:center; }
@media (min-width:1024px){ .ivp-hero { padding:5.5rem 0; } .ivp-hero__grid { grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:5rem; } }
.ivp-hero h1 { font-family:'Cormorant Garamond',Georgia,serif; font-weight:300; font-size:2.75rem; line-height:1.05; margin:0 0 1.5rem; color:var(--ivp-cream); }
.ivp-hero h1 em { display:block; font-style:italic; color:var(--ivp-gold); }
@media (min-width:1024px){ .ivp-hero h1 { font-size:4.5rem; } }
.ivp-hero__lead { font-size:1.0625rem; line-height:1.7; color:var(--ivp-muted-dark); margin:0 0 2rem; max-width:36rem; }
.ivp-actions { display:flex; flex-direction:column; gap:.75rem; }
@media (min-width:640px){ .ivp-actions { flex-direction:row; flex-wrap:wrap; } }
.ivp-hero__contact { display:flex; flex-wrap:wrap; gap:0 1.5rem; margin-top:.75rem; }
.ivp-arch { margin:0; }
.ivp-arch__frame { position:relative; aspect-ratio:4/3; border-radius:999px 999px 0 0; overflow:hidden; background:var(--ivp-forest2); outline:1px solid rgba(201,162,39,.55); outline-offset:8px; margin:10px; }
@media (min-width:1024px){ .ivp-arch__frame { aspect-ratio:4/5; } }
.ivp-arch__frame img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 72%; display:block; }
.ivp-arch figcaption { margin-top:1.25rem; font-size:.8125rem; line-height:1.5; color:var(--ivp-muted-dark); text-align:center; }

/* Faixa de fatos */
.ivp-facts { background:var(--ivp-forest); border-top:1px solid var(--ivp-line-dark); color:var(--ivp-cream); }
.ivp-facts ul { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
@media (min-width:1024px){ .ivp-facts ul { grid-template-columns:repeat(4,minmax(0,1fr)); } }
.ivp-facts li { padding:1.5rem 1rem 1.5rem 0; border-bottom:1px solid var(--ivp-line-dark); }
@media (min-width:1024px){ .ivp-facts li { padding:2rem 1.5rem 2rem 0; border-bottom:0; } }
.ivp-facts strong { display:block; font-family:'Cormorant Garamond',Georgia,serif; font-weight:400; font-size:1.375rem; line-height:1.2; color:var(--ivp-gold); margin-bottom:.25rem; }
.ivp-facts span { font-size:.8125rem; line-height:1.45; color:var(--ivp-muted-dark); }

/* Menu */
.ivp-tabs { display:flex; align-items:center; flex-wrap:wrap; gap:.75rem 1rem; margin-bottom:1.5rem; }
.ivp-tabs__label { font-size:.75rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--ivp-muted); }
.ivp-tabs__set { display:inline-flex; border:1px solid var(--ivp-forest2); border-radius:2px; }
.ivp-tab { min-width:52px; min-height:48px; padding:0 .9rem; background:transparent; color:var(--ivp-forest2); font-size:.9rem; font-weight:500; border:0; border-left:1px solid var(--ivp-forest2); cursor:pointer; transition:background-color .2s ease,color .2s ease; }
.ivp-tab:first-child { border-left:0; }
.ivp-tab[aria-pressed="true"] { background:var(--ivp-forest2); color:var(--ivp-cream); }
.ivp-menu { border-top:1px solid var(--ivp-forest2); }
.ivp-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.25rem 1.5rem; padding:1.5rem 0; border-bottom:1px solid var(--ivp-line); text-decoration:none; color:inherit; transition:padding-left .2s ease; }
@media (hover:hover){ .ivp-row:hover { padding-left:.5rem; } .ivp-row:hover .ivp-row__go { color:var(--ivp-forest2); } }
.ivp-row__name { font-family:'Cormorant Garamond',Georgia,serif; font-size:1.625rem; font-weight:400; line-height:1.2; margin:0; color:var(--ivp-forest2); }
.ivp-row__desc { grid-column:1; margin:.25rem 0 0; font-size:.9375rem; line-height:1.55; color:var(--ivp-muted); max-width:34rem; }
.ivp-row__price { grid-column:2; grid-row:1; margin:0; text-align:right; font-family:'Cormorant Garamond',Georgia,serif; font-size:1.625rem; line-height:1.2; color:var(--ivp-goldtext); white-space:nowrap; }
.ivp-row__go { grid-column:2; grid-row:2; align-self:end; text-align:right; font-size:.75rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--ivp-goldtext); white-space:nowrap; transition:color .2s ease; }
.ivp-row[aria-disabled="true"] { opacity:.55; pointer-events:none; }
.ivp-note { margin:1.25rem 0 0; font-size:.9rem; line-height:1.6; color:var(--ivp-muted); }
.ivp-all { margin-top:1.5rem; border:1px solid var(--ivp-line); background:#fff; }
.ivp-all summary { display:flex; align-items:center; justify-content:space-between; min-height:52px; padding:0 1rem; cursor:pointer; list-style:none; font-size:.875rem; font-weight:600; color:var(--ivp-forest2); }
.ivp-all summary::-webkit-details-marker { display:none; }
.ivp-all summary::after { content:"+"; font-size:1.25rem; color:var(--ivp-goldtext); }
.ivp-all[open] summary::after { content:"\2212"; }
.iv-table-wrap { overflow-x:auto; border-top:1px solid var(--ivp-line); }
.iv-table { width:100%; min-width:460px; border-collapse:collapse; font-size:.95rem; color:var(--ivp-forest2); }
.iv-table th, .iv-table td { padding:.8rem .9rem; text-align:right; border-bottom:1px solid var(--ivp-line); white-space:nowrap; }
.iv-table tbody tr:last-child th, .iv-table tbody tr:last-child td { border-bottom:0; }
.iv-table th:first-child { text-align:left; position:sticky; left:0; background:#fff; font-weight:600; white-space:normal; }
.iv-table thead th { background:var(--ivp-cream); font-weight:600; font-size:.8rem; }
.iv-table thead th:first-child { background:var(--ivp-cream); }

/* Etapas */
.ivp-steps { list-style:none; margin:0; padding:0; display:grid; gap:2rem; counter-reset:ivp; }
@media (min-width:768px){ .ivp-steps { grid-template-columns:repeat(4,minmax(0,1fr)); gap:2.5rem; } }
.ivp-steps li { counter-increment:ivp; border-top:1px solid var(--ivp-forest2); padding-top:1.25rem; }
.ivp-steps li::before { content:counter(ivp,decimal-leading-zero); display:block; font-family:'Cormorant Garamond',Georgia,serif; font-style:italic; font-size:1.5rem; color:var(--ivp-goldtext); margin-bottom:.75rem; }
.ivp-steps h3 { font-family:'Cormorant Garamond',Georgia,serif; font-weight:400; font-size:1.5rem; line-height:1.2; margin:0 0 .5rem; color:var(--ivp-forest2); }
.ivp-steps p { margin:0; font-size:.9375rem; line-height:1.6; color:var(--ivp-muted); }

/* Duas colunas */
.ivp-two { display:grid; gap:3rem; }
@media (min-width:1024px){ .ivp-two { grid-template-columns:repeat(2,minmax(0,1fr)); gap:5rem; } }
.ivp-sub { font-family:'Cormorant Garamond',Georgia,serif; font-weight:400; font-size:1.625rem; margin:0 0 1rem; color:inherit; }
.ivp-list { list-style:none; margin:0; padding:0; border-top:1px solid var(--ivp-line-dark); }
.ivp-list li { padding:.9rem 0; border-bottom:1px solid var(--ivp-line-dark); font-size:.9688rem; line-height:1.55; color:var(--ivp-muted-dark); }

/* Regiao */
.ivp-places { list-style:none; margin:2rem 0 0; padding:0; border-top:1px solid var(--ivp-forest2); }
.ivp-places li { padding:1rem 0; border-bottom:1px solid var(--ivp-line); font-family:'Cormorant Garamond',Georgia,serif; font-size:1.75rem; line-height:1.2; color:var(--ivp-forest2); }
.ivp-card { background:var(--ivp-sand); padding:2rem; align-self:start; }
.ivp-card__line { margin:0 0 .75rem; font-size:.9688rem; line-height:1.6; color:var(--ivp-muted); }
.ivp-card__big { font-family:'Cormorant Garamond',Georgia,serif; font-size:2.25rem; line-height:1.1; margin:0 0 .5rem; color:var(--ivp-forest2); }

/* Comparacao */
.ivp-compare { display:grid; gap:1px; background:var(--ivp-line); border:1px solid var(--ivp-line); }
@media (min-width:768px){ .ivp-compare { grid-template-columns:repeat(2,minmax(0,1fr)); } }
.ivp-compare > div { background:#FEFDFB; padding:2rem; }
.ivp-compare h3 { font-family:'Cormorant Garamond',Georgia,serif; font-weight:400; font-size:1.625rem; margin:0 0 .25rem; color:var(--ivp-forest2); }
.ivp-compare .ivp-from { margin:0 0 1rem; font-size:.875rem; font-weight:600; color:var(--ivp-goldtext); }
.ivp-compare p { font-size:.9375rem; line-height:1.6; color:var(--ivp-muted); margin:0 0 .75rem; }

/* FAQ */
.ivp-faq { border-top:1px solid var(--ivp-forest2); }
.ivp-faq details { border-bottom:1px solid var(--ivp-line); }
.ivp-faq summary { display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:60px; padding:1rem 0; cursor:pointer; list-style:none; font-family:'Cormorant Garamond',Georgia,serif; font-size:1.3125rem; line-height:1.25; color:var(--ivp-forest2); }
.ivp-faq summary::-webkit-details-marker { display:none; }
.ivp-faq summary::after { content:"+"; flex:none; font-family:'Inter',system-ui,sans-serif; font-size:1.25rem; font-weight:300; color:var(--ivp-goldtext); }
.ivp-faq details[open] summary::after { content:"\2212"; }
.ivp-faq p { margin:0; padding:0 0 1.25rem; font-size:.9688rem; line-height:1.65; color:var(--ivp-muted); }

/* Barra fixa no celular */
.ivp-bar { position:fixed; left:0; right:0; bottom:0; z-index:40; display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.625rem 1rem calc(.625rem + env(safe-area-inset-bottom)); background:var(--ivp-forest); border-top:1px solid rgba(201,162,39,.45); color:var(--ivp-cream); transform:translateY(110%); transition:transform .25s ease; }
.ivp-bar.is-on { transform:none; }
.ivp-bar__price { margin:0; font-size:.8125rem; line-height:1.3; }
.ivp-bar__price strong { display:block; font-family:'Cormorant Garamond',Georgia,serif; font-weight:400; font-size:1.25rem; color:var(--ivp-gold); }
.ivp-bar .ivp-btn { min-height:48px; padding:.7rem 1.25rem; }
@media (min-width:768px){ .ivp-bar { display:none; } }
@media (max-width:767px){ .ivp-pagina footer { padding-bottom:6rem; } }

/* Secao da home */
.ivh { background:var(--ivp-forest); color:var(--ivp-cream); padding:4.5rem 0; }
@media (min-width:1024px){ .ivh { padding:7rem 0; } }
.ivh__grid { display:grid; gap:2.5rem; }
@media (min-width:1024px){ .ivh__grid { grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:5rem; align-items:start; } }
.ivh h2 { font-family:'Cormorant Garamond',Georgia,serif; font-weight:300; font-size:2.25rem; line-height:1.1; margin:0 0 1rem; color:var(--ivp-cream); }
.ivh h2 em { display:block; font-style:italic; color:var(--ivp-gold); }
@media (min-width:1024px){ .ivh h2 { font-size:3.25rem; } }
.ivh__lead { margin:0 0 1.5rem; font-size:1rem; line-height:1.7; color:var(--ivp-muted-dark); }
.ivh .ivp-menu { border-top-color:rgba(201,162,39,.6); }
.ivh .ivp-row { border-bottom-color:var(--ivp-line-dark); }
.ivh .ivp-row__name { color:var(--ivp-cream); }
.ivh .ivp-row__desc { color:var(--ivp-muted-dark); }
.ivh .ivp-row__price, .ivh .ivp-row__go { color:var(--ivp-gold); }
@media (hover:hover){ .ivh .ivp-row:hover .ivp-row__go { color:var(--ivp-cream); } }
.ivh__note { margin:1rem 0 0; font-size:.875rem; line-height:1.6; color:var(--ivp-muted-dark); }
@media (prefers-reduced-motion:reduce){ .ivp-row,.ivp-bar,.ivp-btn,.ivp-tab { transition:none; } }
