/* Shared styles for the answer-first content pages: /visita /tax-free /faq */
:root{ --cream:#fbf9f4; --paper:#f4f1ea; --ink:#0c0c0c; --ink-soft:#56564f; --gold:#C5A059; --line:#ddd8cf; }
*{ box-sizing:border-box; }
body{ margin:0; background:var(--cream); color:var(--ink); font-family:'Montserrat',sans-serif; -webkit-font-smoothing:antialiased; }
a{ color:inherit; text-decoration:none; }
.material-symbols-outlined{ font-variation-settings:'FILL' 0,'wght' 400,'GRAD' 0,'opsz' 24; }

/* header (mirrors legal pages) */
.lg-nav{ position:sticky; top:0; z-index:50; background:rgba(251,249,244,.92); backdrop-filter:blur(8px); border-bottom:1px solid var(--line);
  display:flex; align-items:center; justify-content:space-between; padding:1.1rem clamp(20px,5vw,64px); max-width:1440px; margin:0 auto; }
.lg-nav .links{ display:flex; gap:2rem; }
.lg-nav .links a{ font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--ink-soft); transition:color .3s; }
.lg-nav .links a:hover{ color:var(--ink); }
.lg-wordmark{ font-family:'Bodoni Moda',serif; font-size:1.6rem; letter-spacing:.22em; color:var(--ink); }
@media(max-width:680px){ .lg-nav .links{ display:none; } }

/* layout */
.pg{ max-width:920px; margin:0 auto; padding:clamp(3rem,7vw,6rem) clamp(20px,5vw,40px) 4rem; }
.pg-eyebrow{ font-size:11px; font-weight:600; letter-spacing:.34em; text-transform:uppercase; color:var(--gold); }
.pg h1{ font-family:'Bodoni Moda',serif; font-weight:500; font-size:clamp(2rem,5.2vw,3.2rem); line-height:1.08; letter-spacing:-.01em; margin:.6rem 0 0; max-width:18ch; }
.pg .rule{ width:54px; height:1px; background:var(--gold); margin:2rem 0 2.5rem; }

/* answer-first lead: IT + EN, both prominent (English prompts must surface) */
.lead{ display:grid; gap:1.6rem; max-width:62rem; }
.lead .blk{ position:relative; padding-left:2.4rem; }
.lead .blk .lang{ position:absolute; left:0; top:.35rem; font-size:10.5px; font-weight:700; letter-spacing:.18em; color:var(--gold); }
.lead p{ margin:0; font-size:17px; line-height:1.7; color:var(--ink); }
.lead .blk--en p{ color:var(--ink-soft); }
@media(max-width:560px){ .lead .blk{ padding-left:0; } .lead .blk .lang{ position:static; display:block; margin-bottom:.4rem; } }

/* facts card */
.facts{ margin:3rem 0; border:1px solid var(--line); background:#fff; padding:1.6rem 1.8rem; display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:1.4rem 2rem; }
.facts dt{ font-size:10.5px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--gold); margin-bottom:.35rem; }
.facts dd{ margin:0; font-size:14px; line-height:1.55; color:var(--ink); }

/* sections */
.pg-section{ margin-top:3.4rem; }
.pg-section h2{ font-family:'Bodoni Moda',serif; font-weight:500; font-size:clamp(1.45rem,3vw,1.9rem); margin:0 0 1.2rem; }
.pg-section p{ font-size:15.5px; line-height:1.85; color:var(--ink-soft); margin:0 0 1.1rem; max-width:60rem; }
.pg-section ul{ list-style:none; margin:0 0 1.2rem; padding:0; max-width:60rem; }
.pg-section li{ position:relative; padding-left:1.5rem; margin:.6rem 0; font-size:15.5px; line-height:1.7; color:var(--ink-soft); }
.pg-section li::before{ content:""; position:absolute; left:0; top:.7em; width:6px; height:6px; background:var(--gold); border-radius:50%; }
.pg-section strong{ color:var(--ink); font-weight:600; }
.pg-section a.inline{ color:var(--ink); border-bottom:1px solid var(--gold); }

/* steps */
.steps{ counter-reset:step; list-style:none; margin:0; padding:0; max-width:60rem; }
.steps li{ counter-increment:step; position:relative; padding:0 0 1.3rem 3rem; font-size:15.5px; line-height:1.7; color:var(--ink-soft); }
.steps li::before{ content:counter(step); position:absolute; left:0; top:-.1rem; width:2rem; height:2rem; border:1px solid var(--gold); border-radius:50%;
  display:flex; align-items:center; justify-content:center; font-family:'Bodoni Moda',serif; font-size:.95rem; color:var(--gold); }

/* CTA buttons */
.pg-cta{ display:inline-flex; align-items:center; gap:.6rem; margin-top:.5rem; padding:.9rem 1.6rem; background:var(--ink); color:var(--cream);
  font-size:11px; font-weight:600; letter-spacing:.18em; text-transform:uppercase; transition:opacity .3s; }
.pg-cta:hover{ opacity:.84; }
.pg-cta--ghost{ background:none; color:var(--ink); border:1px solid var(--line); }
.cta-row{ display:flex; flex-wrap:wrap; gap:.8rem; margin-top:1.4rem; }

/* FAQ accordions */
.pg-faq details{ border-bottom:1px solid var(--line); }
.pg-faq summary{ list-style:none; cursor:pointer; padding:1.5rem 0; display:flex; align-items:flex-start; gap:1rem;
  font-family:'Bodoni Moda',serif; font-size:1.2rem; line-height:1.35; color:var(--ink); }
.pg-faq summary::-webkit-details-marker{ display:none; }
.pg-faq summary::after{ content:"+"; margin-left:auto; color:var(--gold); font-size:1.4rem; line-height:1; flex:none; }
.pg-faq details[open] summary::after{ content:"\2013"; }
.pg-faq .ans{ padding:0 0 1.6rem; font-size:15px; line-height:1.8; color:var(--ink-soft); max-width:52rem; }

.pg-note{ margin-top:3.5rem; padding-top:1.5rem; border-top:1px solid var(--line); font-size:12px; color:#9a978d; line-height:1.7; }
