:root {
  --ink: #10263f;
  --ink-2: #173554;
  --gold: #c89c45;
  --gold-soft: #f4ead5;
  --blue-soft: #eaf2f8;
  --paper: #ffffff;
  --cloud: #f6f8fa;
  --text: #24384b;
  --muted: #627487;
  --line: #dce4ea;
  --success: #18794e;
  --shadow: 0 24px 60px rgba(16, 38, 63, .11);
  --radius: 18px;
  --container: min(1160px, calc(100% - 40px));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--text);
  background: var(--paper);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
html.menu-open, body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
img, svg { display: block; max-width: 100%; }
.container { width: var(--container); margin-inline: auto; }
.skip-link { position: fixed; left: 16px; top: -80px; z-index: 100; padding: 10px 14px; background: var(--paper); color: var(--ink); border-radius: 8px; }
.skip-link:focus { top: 16px; }

.site-header {
  position: sticky; top: 0; z-index: 50;
  background: rgba(255,255,255,.94);
  border-bottom: 1px solid rgba(220,228,234,.7);
  backdrop-filter: blur(14px);
  transition: box-shadow .2s ease;
}
.site-header.is-scrolled { box-shadow: 0 8px 28px rgba(16,38,63,.08); }
.header-inner { width:min(1320px, calc(100% - 40px)); min-height:78px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { display: inline-flex; align-items: center; gap: 12px; min-width: 218px; }
.brand-logo { width: 210px; height: 52px; object-fit: contain; object-position: left center; }
.footer-logo { width:260px; height:auto; object-fit:contain; object-position:left center; }
.brand-mark { width: 42px; height: 42px; border-radius: 12px; background: var(--ink); color: var(--gold); display: grid; place-items: center; font-family: Georgia, serif; font-size: 28px; line-height: 1; }
.brand-copy { display: grid; line-height: 1.08; }
.brand-copy strong { color: var(--ink); font-family: Georgia, "Times New Roman", serif; font-size: 20px; font-weight: 700; letter-spacing: -.02em; }
.brand-copy span { color: var(--muted); font-size: 11px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; margin-top: 5px; }
.nav { display: flex; align-items: center; gap: 24px; }
.nav > a { color:#42566a; font-size:14px; font-weight:650; padding-block:8px; position:relative; white-space:nowrap; }
.nav > a:not(.button)::after { content:""; position:absolute; left:0; right:0; bottom:1px; height:2px; background:var(--gold); transform:scaleX(0); transition:transform .2s ease; }
.nav > a:hover::after, .nav > a[aria-current="page"]::after { transform:scaleX(1); }
.nav > a[aria-current="page"] { color: var(--ink); }
.nav-dropdown { position:relative; }
.nav-dropdown__button { min-height:40px; display:inline-flex; align-items:center; gap:6px; padding:8px 0; border:0; color:#42566a; background:transparent; font-size:14px; font-weight:650; white-space:nowrap; cursor:pointer; }
.nav-dropdown__button svg { width:13px; height:13px; transition:transform .18s ease; }
.nav-dropdown__menu { position:absolute; top:calc(100% + 10px); right:0; width:230px; padding:8px; border:1px solid var(--line); border-radius:12px; background:#fff; box-shadow:0 18px 42px rgba(16,38,63,.13); opacity:0; visibility:hidden; transform:translateY(-5px); transition:opacity .18s ease,transform .18s ease,visibility .18s ease; }
.nav-dropdown__menu a { display:block; padding:11px 12px; border-radius:8px; color:#42566a; font-size:14px; font-weight:650; }
.nav-dropdown__menu a:hover, .nav-dropdown__menu a:focus-visible, .nav-dropdown__menu a[aria-current="page"] { color:var(--ink); background:var(--blue-soft); }
.nav-dropdown.is-open .nav-dropdown__menu, .nav-dropdown:focus-within .nav-dropdown__menu { opacity:1; visibility:visible; transform:translateY(0); }
.nav-dropdown.is-open .nav-dropdown__button svg { transform:rotate(180deg); }
.menu-button { display:none; border:0; background:transparent; color:var(--ink); width:44px; height:44px; border-radius:10px; padding:10px; }
.menu-button span, .menu-button::before, .menu-button::after { content:""; display:block; height:2px; background:currentColor; margin:5px 0; transition:.2s ease; }

.button { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:48px; padding:11px 20px; border:1px solid transparent; border-radius:10px; color:#fff; background:var(--ink); font-size:15px; font-weight:750; line-height:1.2; transition:transform .18s ease, background .18s ease, box-shadow .18s ease; }
.button:hover { background:var(--ink-2); transform:translateY(-1px); box-shadow:0 10px 24px rgba(16,38,63,.16); }
.button--gold { background:var(--gold); color:#142638; }
.button--gold:hover { background:#d6ad5f; }
.button--outline { color:var(--ink); background:transparent; border-color:#aebdca; }
.button--outline:hover { background:var(--blue-soft); box-shadow:none; }
.button--small { min-height:42px; padding:9px 16px; font-size:14px; }
.button svg { width:18px; height:18px; }
.nav > a.button { color:#fff; white-space:nowrap; }
.nav > a.button svg { color:#fff; }

.hero { position:relative; overflow:hidden; background:linear-gradient(118deg,#0d2137 0%,#153958 68%,#1c486c 100%); color:#fff; }
.hero::before { content:""; position:absolute; inset:0; opacity:.36; background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px); background-size:52px 52px; mask-image:linear-gradient(90deg,transparent 10%,#000 70%); }
.hero::after { content:""; position:absolute; width:520px; height:520px; right:-180px; top:-190px; border:1px solid rgba(200,156,69,.55); border-radius:50%; box-shadow:0 0 0 62px rgba(200,156,69,.06),0 0 0 128px rgba(200,156,69,.04); }
.hero-grid { position:relative; z-index:1; min-height:620px; display:grid; grid-template-columns:1.28fr .72fr; align-items:center; gap:70px; padding-block:84px 92px; }
.eyebrow { display:inline-flex; align-items:center; gap:10px; color:var(--gold); font-size:13px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.eyebrow::before { content:""; width:28px; height:1px; background:currentColor; }
.hero h1, .page-hero h1 { margin:20px 0 22px; color:#fff; font-family:Georgia,"Times New Roman",serif; font-size:clamp(2.6rem,5vw,4.65rem); line-height:1.04; letter-spacing:-.045em; font-weight:700; max-width:900px; }
.hero h1 em { color:#e0bd78; font-style:normal; }
.hero-lead { max-width:690px; margin:0 0 30px; color:#dbe5ee; font-size:clamp(1.05rem,2vw,1.22rem); line-height:1.7; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; }
.hero .button--outline { color:#fff; border-color:rgba(255,255,255,.36); }
.hero .button--outline:hover { background:rgba(255,255,255,.08); }
.hero-panel { position:relative; padding:30px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.16); border-radius:24px; backdrop-filter:blur(10px); box-shadow:var(--shadow); }
.hero-panel::before { content:""; position:absolute; left:30px; top:0; width:80px; height:3px; background:var(--gold); }
.hero-panel-label { margin:0 0 22px; color:#c8d6e2; font-size:13px; font-weight:750; letter-spacing:.1em; text-transform:uppercase; }
.hero-panel ul { list-style:none; padding:0; margin:0; display:grid; gap:18px; }
.hero-panel li { display:grid; grid-template-columns:36px 1fr; gap:12px; align-items:start; color:#f3f7fa; font-size:15px; line-height:1.45; }
.check { width:30px; height:30px; display:grid; place-items:center; border-radius:50%; background:rgba(200,156,69,.18); color:#e2bd75; }
.check svg { width:16px; height:16px; }

.trust-strip { position:relative; z-index:2; margin-top:-42px; }
.trust-grid { display:grid; grid-template-columns:repeat(4,1fr); background:#fff; border-radius:16px; box-shadow:var(--shadow); border:1px solid rgba(220,228,234,.75); overflow:hidden; }
.trust-item { padding:23px 24px; display:flex; gap:12px; align-items:center; min-height:90px; }
.trust-item + .trust-item { border-left:1px solid var(--line); }
.trust-icon { flex:0 0 auto; width:34px; height:34px; border-radius:9px; display:grid; place-items:center; color:var(--gold); background:var(--gold-soft); }
.trust-icon svg { width:18px; }
.trust-item span { color:var(--ink); font-size:14px; font-weight:740; line-height:1.35; }

.section { padding:100px 0; }
.section--soft { background:var(--cloud); }
.section--ink { background:var(--ink); color:#fff; }
.section-heading { display:grid; grid-template-columns:.72fr 1.28fr; gap:80px; align-items:end; margin-bottom:46px; }
.section-heading h2, .content-copy h2, .local-copy h2, .cta h2 { color:var(--ink); font-family:Georgia,"Times New Roman",serif; font-size:clamp(2rem,3.5vw,3.15rem); line-height:1.12; letter-spacing:-.035em; margin:12px 0 0; }
.section-heading p { max-width:650px; color:var(--muted); font-size:17px; margin:0; }
.section--ink .section-heading h2, .section--ink .section-heading p { color:#fff; }
.section--ink .section-heading p { color:#c6d2dc; }

.service-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.service-card { min-height:306px; height:100%; padding:28px; display:flex; flex-direction:column; border:1px solid var(--line); border-radius:var(--radius); background:#fff; transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.service-card:hover { transform:translateY(-4px); border-color:#c4d0da; box-shadow:0 18px 38px rgba(16,38,63,.08); }
.service-number { color:var(--gold); font-family:Georgia,serif; font-size:15px; font-weight:700; }
.service-card h3 { color:var(--ink); font-family:Georgia,serif; font-size:23px; line-height:1.2; letter-spacing:-.02em; margin:48px 0 13px; }
.service-card p { margin:0; color:var(--muted); font-size:15px; }
.service-card__footer { margin-top:auto; padding-top:24px; display:flex; align-items:center; justify-content:space-between; gap:16px; color:var(--ink); font-size:14px; font-weight:800; }
.service-card__footer span:last-child { font-size:22px; line-height:1; }

.split { display:grid; grid-template-columns:1fr 1fr; min-height:580px; }
.split-visual { position:relative; overflow:hidden; background:linear-gradient(145deg,#dfeaf2,#f8fbfd); padding:60px; display:grid; place-items:center; }
.split-visual::before { content:""; position:absolute; width:390px; height:390px; border:70px solid rgba(16,38,63,.06); border-radius:50%; }
.ledger-card { position:relative; z-index:1; width:min(100%,440px); padding:36px; border-radius:22px; background:#fff; box-shadow:var(--shadow); transform:rotate(-2deg); }
.ledger-top { display:flex; justify-content:space-between; align-items:center; padding-bottom:24px; border-bottom:1px solid var(--line); }
.ledger-brand { color:var(--ink); font-family:Georgia,serif; font-weight:700; font-size:18px; }
.ledger-pill { padding:6px 10px; border-radius:999px; color:var(--success); background:#e8f5ef; font-size:12px; font-weight:800; }
.ledger-row { display:grid; grid-template-columns:1fr auto; gap:18px; padding:17px 0; border-bottom:1px solid var(--line); font-size:14px; }
.ledger-row span:first-child { color:var(--muted); }
.ledger-row strong { color:var(--ink); }
.ledger-note { margin:22px 0 0; padding:16px; border-left:3px solid var(--gold); background:var(--gold-soft); color:var(--ink); font-size:14px; line-height:1.45; }
.split-content { display:flex; align-items:center; background:var(--ink); color:#fff; padding:70px max(6vw,50px); }
.split-content h2 { font-family:Georgia,serif; font-size:clamp(2.2rem,4vw,3.7rem); line-height:1.08; letter-spacing:-.04em; margin:14px 0 24px; }
.split-content p { color:#cad6df; font-size:17px; max-width:570px; }
.feature-list { list-style:none; padding:0; margin:28px 0 34px; display:grid; gap:13px; }
.feature-list li { display:flex; gap:11px; color:#eef3f6; }
.feature-list li::before { content:"✓"; color:var(--gold); font-weight:800; }

.expert-grid { display:grid; grid-template-columns:.86fr 1.14fr; gap:70px; align-items:center; }
.expert-copy h2 { color:var(--ink); font-family:Georgia,serif; font-size:clamp(2.25rem,4vw,3.65rem); line-height:1.08; letter-spacing:-.04em; margin:14px 0 24px; }
.expert-copy p { color:var(--muted); font-size:17px; }
.expert-note { margin:22px 0 26px; padding:15px 17px; border-left:3px solid var(--gold); background:var(--gold-soft); color:#5d5547!important; font-size:15px!important; }
.inline-editorial-link { display:inline; color:var(--ink); font-weight:800; text-decoration:underline; text-decoration-color:rgba(200,156,69,.7); text-underline-offset:3px; }
.expert-points { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.expert-point { padding:24px; border-radius:14px; border:1px solid var(--line); background:#fff; }
.expert-point strong { display:block; color:var(--ink); margin-bottom:6px; }
.expert-point span { color:var(--muted); font-size:14px; }

.profits-section { position:relative; overflow:hidden; border-block:1px solid #e7dcc6; background:linear-gradient(120deg,#fff 0%,#fbf7ef 100%); }
.profits-section::after { content:""; position:absolute; width:360px; height:360px; right:-220px; top:-210px; border:1px solid rgba(200,156,69,.2); border-radius:50%; box-shadow:0 0 0 48px rgba(200,156,69,.035); pointer-events:none; }
.profits-intro { position:relative; z-index:1; display:grid; grid-template-columns:.9fr 1.1fr; gap:74px; align-items:start; }
.profits-intro h2 { margin:13px 0 0; color:var(--ink); font-family:Georgia,serif; font-size:clamp(2.15rem,3.8vw,3.45rem); line-height:1.1; letter-spacing:-.035em; }
.profits-copy p { margin:0 0 17px; color:var(--muted); font-size:17px; }
.profits-copy p:last-child { margin-bottom:0; }
.profit-cards { position:relative; z-index:1; display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:44px; }
.profit-card { min-height:238px; padding:27px; border:1px solid var(--line); border-radius:16px; background:rgba(255,255,255,.9); }
.profit-card > span { color:var(--gold); font-family:Georgia,serif; font-size:15px; font-weight:700; }
.profit-card h3 { margin:37px 0 10px; color:var(--ink); font-family:Georgia,serif; font-size:23px; line-height:1.2; }
.profit-card p { margin:0; color:var(--muted); font-size:15px; }
.section-editorial-links { display:flex; flex-wrap:wrap; gap:12px 24px; margin-top:28px; padding-top:24px; border-top:1px solid var(--line); }
.section-editorial-links a { color:var(--ink); font-size:14px; font-weight:800; }
.section-editorial-links a:hover { color:#755817; }

.reasons { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.reason { padding:30px; border-top:2px solid var(--gold); background:rgba(255,255,255,.06); }
.reason h3 { margin:8px 0 10px; color:#fff; font-family:Georgia,serif; font-size:22px; }
.reason p { color:#c8d3dc; margin:0; font-size:15px; }

.local-grid { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.local-copy p { color:var(--muted); font-size:17px; }
.address-card { padding:34px; border-radius:var(--radius); border:1px solid var(--line); background:#fff; box-shadow:0 16px 40px rgba(16,38,63,.07); }
.address-card small { display:block; color:var(--gold); font-weight:800; text-transform:uppercase; letter-spacing:.12em; margin-bottom:12px; }
.address-card address { color:var(--ink); font-family:Georgia,serif; font-size:24px; line-height:1.45; font-style:normal; }
.address-meta { display:grid; gap:9px; margin:24px 0 0; padding-top:22px; border-top:1px solid var(--line); color:var(--muted); font-size:14px; }

.faq-list { max-width:880px; margin:0 auto; border-top:1px solid var(--line); }
.faq-item { border-bottom:1px solid var(--line); }
.faq-question { width:100%; display:grid; grid-template-columns:1fr auto; gap:24px; align-items:center; padding:24px 0; border:0; background:transparent; color:var(--ink); text-align:left; font-weight:750; cursor:pointer; }
.faq-question span:last-child { font-size:23px; font-weight:400; transition:transform .2s ease; }
.faq-question[aria-expanded="true"] span:last-child { transform:rotate(45deg); }
.faq-answer { padding:0 48px 24px 0; color:var(--muted); }
.faq-answer p { margin:0; }

.cta-section { padding:0 0 100px; }
.cta { position:relative; overflow:hidden; padding:55px 60px; display:flex; align-items:center; justify-content:space-between; gap:40px; background:var(--gold-soft); border-radius:24px; }
.cta::after { content:""; position:absolute; width:250px; height:250px; right:-90px; bottom:-160px; border:45px solid rgba(200,156,69,.16); border-radius:50%; }
.cta h2 { max-width:670px; margin:0 0 10px; }
.cta p { margin:0; color:#5f5748; }
.cta .button { position:relative; z-index:1; flex:0 0 auto; }

.page-hero { background:var(--ink); color:#fff; padding:76px 0 82px; }
.breadcrumbs { color:#aebdca; font-size:13px; }
.breadcrumbs a:hover { color:#fff; }
.page-hero h1 { max-width:930px; font-size:clamp(2.45rem,5vw,4.35rem); }
.page-hero p { max-width:760px; color:#d2dde5; font-size:19px; margin:0; }
.content-layout { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:70px; align-items:start; }
.content-copy h2 { margin-top:58px; }
.content-copy h2:first-child { margin-top:0; }
.content-copy h3 { color:var(--ink); font-family:Georgia,serif; font-size:24px; margin:34px 0 8px; }
.content-copy p, .content-copy li { color:#52677a; font-size:17px; }
.content-copy ul { padding-left:20px; }
.aside-card { position:sticky; top:108px; padding:28px; background:var(--blue-soft); border-radius:var(--radius); }
.aside-card h2 { color:var(--ink); font-family:Georgia,serif; font-size:27px; line-height:1.2; margin:0 0 12px; }
.aside-card p { color:#53697b; font-size:15px; }
.aside-card .button { width:100%; margin-top:10px; }
.service-bands { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; margin:30px 0; }
.service-band { padding:24px; border:1px solid var(--line); border-radius:14px; }
.service-band h3 { font-size:21px; margin:0 0 7px; }
.service-band p { margin:0; font-size:15px; }

.placeholder { min-height:calc(100vh - 78px); display:grid; place-items:center; padding:80px 20px; background:var(--cloud); }
.placeholder-card { width:min(720px,100%); padding:60px; text-align:center; border:1px solid var(--line); border-radius:24px; background:#fff; box-shadow:var(--shadow); }
.placeholder-card .eyebrow { justify-content:center; }
.placeholder-card h1 { color:var(--ink); font-family:Georgia,serif; font-size:clamp(2.3rem,5vw,3.8rem); line-height:1.08; margin:18px 0; }
.placeholder-card p { color:var(--muted); font-size:17px; max-width:540px; margin:0 auto 28px; }

.site-footer { background:#0a1a2b; color:#c6d1da; padding:68px 0 25px; }
.footer-grid { display:grid; grid-template-columns:1.2fr .8fr .8fr .95fr; gap:44px; padding-bottom:48px; }
.footer-brand p { max-width:340px; color:#98aabd; font-size:14px; }
.site-footer .brand-copy strong { color:#fff; }
.site-footer .brand-copy span { color:#9fb0c0; }
.footer-col h2 { color:#fff; font-size:14px; letter-spacing:.08em; text-transform:uppercase; margin:0 0 18px; }
.footer-col a, .footer-col span, .footer-col address { display:block; color:#9fb0c0; font-size:14px; font-style:normal; margin:0 0 10px; }
.footer-col a:hover { color:#fff; }
.footer-bottom { padding-top:22px; border-top:1px solid rgba(255,255,255,.1); display:flex; justify-content:space-between; gap:20px; font-size:13px; color:#8296a8; }
.whatsapp-float { position:fixed; z-index:40; right:22px; bottom:22px; width:58px; height:58px; aspect-ratio:1; border-radius:50%; display:grid; place-items:center; color:#fff; background:#1f9d63; box-shadow:0 13px 30px rgba(11,74,47,.28); transition:transform .18s ease; }
.whatsapp-float:hover { transform:translateY(-3px) scale(1.02); }
.whatsapp-float svg { width:28px; height:28px; aspect-ratio:1; }

/* V2 — elementos próprios da Condecor */
.hero-grid--photo { grid-template-columns:minmax(0,1.05fr) minmax(360px,.75fr); gap:58px; min-height:680px; }
.hero-copy { padding-block:12px; }
.hero-media { position:relative; align-self:stretch; min-height:520px; display:flex; align-items:flex-end; }
.photo-slot { position:relative; overflow:hidden; display:block; width:100%; min-height:440px; border-radius:28px 28px 8px 28px; border:1px solid rgba(255,255,255,.24); background:linear-gradient(145deg,#274e6d 0%,#193853 54%,#0d243a 100%); box-shadow:0 30px 65px rgba(4,17,29,.28); }
.photo-slot::before { content:""; position:absolute; inset:0; background:linear-gradient(135deg,transparent 0 54%,rgba(200,156,69,.18) 54% 55%,transparent 55% 100%); }
.photo-slot::after { content:""; position:absolute; width:280px; height:280px; right:-105px; top:-105px; border:1px solid rgba(255,255,255,.15); border-radius:50%; box-shadow:0 0 0 48px rgba(255,255,255,.025); }
.photo-slot__label { position:absolute; left:24px; right:24px; bottom:24px; display:flex; align-items:center; gap:12px; padding:15px 17px; border:1px solid rgba(255,255,255,.18); border-radius:12px; color:#e8eff4; background:rgba(7,24,39,.72); backdrop-filter:blur(8px); font-size:13px; }
.photo-slot__label svg { width:22px; flex:0 0 auto; color:var(--gold); }
.hero-media__note { position:absolute; left:-28px; top:42px; z-index:2; max-width:190px; padding:16px 18px; color:var(--ink); background:#fff; border-radius:12px; box-shadow:0 15px 36px rgba(3,18,30,.22); font-size:13px; line-height:1.4; }
.hero-media__note strong { display:block; font-family:Georgia,serif; font-size:18px; margin-bottom:3px; }

a.service-card { display:flex; color:inherit; }
a.service-card:focus-visible { outline:3px solid rgba(200,156,69,.55); outline-offset:3px; }

.analysis-card { position:relative; z-index:1; width:min(100%,500px); padding:32px; border-radius:22px; background:#fff; box-shadow:var(--shadow); transform:rotate(-1deg); }
.analysis-head { display:flex; justify-content:space-between; gap:18px; align-items:flex-start; padding-bottom:20px; border-bottom:1px solid var(--line); }
.analysis-head small { display:block; color:var(--muted); font-size:12px; text-transform:uppercase; letter-spacing:.1em; }
.analysis-head strong { color:var(--ink); font-family:Georgia,serif; font-size:21px; }
.analysis-period { padding:6px 10px; color:var(--ink); background:var(--gold-soft); border-radius:999px; font-size:12px; font-weight:800; }
.analysis-metric { display:grid; grid-template-columns:1fr auto; gap:18px; align-items:center; padding:13px 0; border-bottom:1px solid var(--line); }
.analysis-metric span { color:var(--muted); font-size:13px; }
.analysis-metric span small { display:block; margin-top:2px; color:#8797a5; font-size:11px; font-weight:700; }
.analysis-metric strong { color:var(--ink); font-size:14px; }
.analysis-bar { grid-column:1/-1; height:5px; overflow:hidden; border-radius:99px; background:#e8eef2; }
.analysis-bar i { display:block; height:100%; background:linear-gradient(90deg,var(--ink),var(--gold)); border-radius:inherit; }
.analysis-alert { display:flex; gap:10px; align-items:flex-start; margin-top:18px; padding:14px; border-radius:10px; color:#51452f; background:var(--gold-soft); font-size:13px; line-height:1.45; }

.about-grid { display:grid; grid-template-columns:1.08fr .92fr; gap:72px; align-items:center; }
.about-copy h2, .social-copy h2, .gaspar-intro h2, .gaspar-section h2 { color:var(--ink); font-family:Georgia,serif; font-size:clamp(2.15rem,3.6vw,3.35rem); line-height:1.1; letter-spacing:-.035em; margin:13px 0 22px; }
.about-copy p, .gaspar-intro p, .gaspar-section p { color:var(--muted); font-size:17px; }
.about-signature { margin-top:25px; padding-top:20px; border-top:1px solid var(--line); display:flex; gap:18px; align-items:center; }
.about-signature strong { display:block; color:var(--ink); }
.about-signature span { color:var(--muted); font-size:13px; }
.photo-slot--light { min-height:500px; background:linear-gradient(145deg,#edf3f7,#d8e4ec); border-color:#cbd8e1; box-shadow:0 22px 55px rgba(16,38,63,.12); }
.photo-slot--light .photo-slot__label { color:var(--ink); background:rgba(255,255,255,.85); border-color:#d6e0e7; }

.social-proof { padding:70px 0; background:#edf3f7; border-block:1px solid #dce6ed; }
.social-grid { display:grid; grid-template-columns:.78fr 1.22fr; gap:56px; align-items:center; }
.social-copy p { color:var(--muted); margin:0; }
.reviews-placeholder { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.review-empty { min-height:190px; padding:25px; border:1px solid #d5e0e7; border-radius:16px; background:rgba(255,255,255,.78); }
.review-source { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:38px; color:var(--ink); font-weight:800; }
.review-source span:last-child { color:var(--gold); letter-spacing:3px; }
.review-empty p { margin:0; color:var(--muted); font-size:14px; }
.reviews-note { grid-column:1/-1; color:#718393; font-size:12px; text-align:right; }

.institutional-trust { padding:72px 0; color:#fff; background:linear-gradient(112deg,#142d47,#0d2238); }
.institutional-trust__head { display:grid; grid-template-columns:.75fr 1.25fr; gap:60px; align-items:end; padding-bottom:34px; border-bottom:1px solid rgba(255,255,255,.13); }
.institutional-trust__head h2 { margin:0; color:#fff; font-family:Georgia,serif; font-size:clamp(2rem,3.4vw,3rem); line-height:1.12; letter-spacing:-.03em; }
.institutional-trust__grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; margin-top:34px; background:rgba(255,255,255,.12); }
.institutional-trust__grid > div { min-height:145px; padding:24px; background:#10263f; }
.institutional-trust__grid strong { display:block; color:#fff; font-family:Georgia,serif; font-size:20px; margin-bottom:8px; }
.institutional-trust__grid span { color:#b8c7d3; font-size:14px; line-height:1.5; }

.photo-slot--reception, .photo-slot--office { background-position:center; background-size:cover; }
.photo-slot--office { min-height:520px; border-radius:8px 28px 28px 28px; }
.photo-slot img { width:100%; height:100%; min-height:inherit; display:block; object-fit:cover; }
.photo-slot--reception img { object-position:42% center; }
.photo-slot--office img { object-position:center; }
.photo-slot.has-photo::before, .photo-slot.has-photo::after { display:none; }
.photo-slot.has-photo .photo-slot__label { display:none; }

.experience-strip { color:#fff; background:#0d2137; border-top:1px solid rgba(255,255,255,.1); }
.experience-grid { display:grid; grid-template-columns:repeat(3,1fr); }
.experience-grid > div { min-height:92px; display:flex; flex-direction:column; justify-content:center; padding:18px 28px; border-left:1px solid rgba(255,255,255,.12); }
.experience-grid > div:last-child { border-right:1px solid rgba(255,255,255,.12); }
.experience-grid strong { color:#e4be72; font-family:Georgia,serif; font-size:21px; }
.experience-grid span { margin-top:4px; color:#c3d0da; font-size:13px; }

.location-panel { display:grid; grid-template-columns:.76fr 1.24fr; border:1px solid var(--line); border-radius:22px; overflow:hidden; background:#fff; box-shadow:0 18px 48px rgba(16,38,63,.08); }
.location-panel .address-card { box-shadow:none; border:0; border-radius:0; }
.map-embed { min-height:390px; overflow:hidden; background:#dfe8ed; }
.map-embed iframe { display:block; width:100%; height:clamp(330px,32vw,450px); border:0; }
.map-awaiting, .map-slot { min-height:390px; position:relative; display:grid; place-items:center; text-align:center; padding:30px; color:var(--ink); background-color:#dfe8ed; background-image:linear-gradient(30deg,transparent 47%,rgba(16,38,63,.07) 48% 52%,transparent 53%),linear-gradient(150deg,transparent 47%,rgba(16,38,63,.07) 48% 52%,transparent 53%); background-size:95px 95px; }
.map-awaiting::before, .map-slot::before { content:""; width:58px; height:58px; border:8px solid var(--gold); border-radius:50% 50% 50% 0; transform:rotate(-45deg); background:#fff; }
.map-awaiting span, .map-slot span { display:block; max-width:260px; padding:10px 14px; border-radius:9px; background:rgba(255,255,255,.88); font-size:13px; font-weight:800; }

.page-hero--split .page-hero-grid { display:grid; grid-template-columns:1.2fr .8fr; gap:60px; align-items:end; }
.page-hero-facts { display:grid; grid-template-columns:1fr 1fr; gap:1px; overflow:hidden; border:1px solid rgba(255,255,255,.15); border-radius:16px; background:rgba(255,255,255,.15); }
.page-hero-fact { padding:18px; background:rgba(10,27,44,.8); }
.page-hero-fact strong { display:block; color:#fff; font-size:14px; }
.page-hero-fact span { color:#adbdca; font-size:12px; }
.gaspar-intro { display:grid; grid-template-columns:.9fr 1.1fr; gap:70px; align-items:start; }
.gaspar-intro__lead { color:var(--ink)!important; font-family:Georgia,serif; font-size:24px!important; line-height:1.45; }
.gaspar-cards { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:44px; }
.gaspar-card { padding:25px; border:1px solid var(--line); border-radius:15px; background:#fff; }
.gaspar-card span { color:var(--gold); font-size:13px; font-weight:800; }
.gaspar-card h3 { color:var(--ink); font-family:Georgia,serif; font-size:21px; line-height:1.2; margin:26px 0 8px; }
.gaspar-card p { color:var(--muted); font-size:14px; margin:0; }
.gaspar-band { padding:80px 0; background:var(--ink); color:#fff; }
.gaspar-band-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:75px; }
.gaspar-band h2 { color:#fff; font-family:Georgia,serif; font-size:clamp(2.1rem,3.4vw,3.2rem); line-height:1.1; margin:13px 0 18px; }
.gaspar-band p { color:#c5d2dc; font-size:17px; }
.regime-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.regime-card { padding:28px; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.13); border-radius:15px; }
.regime-card h3 { color:#fff; font-family:Georgia,serif; font-size:23px; margin:0 0 10px; }
.regime-card p { font-size:14px; margin:0; }
.mid-cta { display:flex; align-items:center; justify-content:space-between; gap:36px; margin-top:44px; padding:30px 34px; border-radius:16px; background:var(--gold-soft); }
.mid-cta strong { display:block; color:var(--ink); font-family:Georgia,serif; font-size:24px; }
.mid-cta span { color:#645a48; font-size:14px; }
.mid-cta .button { flex:0 0 auto; }
.gaspar-feature { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; }
.gaspar-highlight { padding:35px; border-left:3px solid var(--gold); background:var(--cloud); }
.gaspar-highlight h3 { color:var(--ink); font-family:Georgia,serif; font-size:26px; margin:0 0 12px; }
.gaspar-highlight ul { margin:18px 0 0; padding-left:20px; color:var(--muted); }

/* Páginas internas V3 */
.detail-hero { padding:74px 0 80px; color:#fff; background:linear-gradient(118deg,#0d2137,#163a59); }
.detail-hero-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:70px; align-items:end; }
.detail-hero h1 { margin:18px 0 20px; max-width:840px; color:#fff; font-family:Georgia,serif; font-size:clamp(2.55rem,5vw,4.35rem); line-height:1.05; letter-spacing:-.04em; }
.detail-hero p { max-width:720px; margin:0; color:#d0dce5; font-size:18px; }
.detail-summary { padding:27px; border:1px solid rgba(255,255,255,.16); border-radius:17px; background:rgba(255,255,255,.07); }
.detail-summary small { color:var(--gold); font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.detail-summary ul { list-style:none; margin:18px 0 0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.detail-summary li { padding:10px 0; border-bottom:1px solid rgba(255,255,255,.12); color:#eef3f6; font-size:14px; }
.intro-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:74px; align-items:start; }
.intro-grid h2, .page-section-title { color:var(--ink); font-family:Georgia,serif; font-size:clamp(2.1rem,3.6vw,3.25rem); line-height:1.1; letter-spacing:-.035em; margin:13px 0 20px; }
.intro-grid p { color:var(--muted); font-size:17px; }
.topic-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:42px; }
.topic-card { min-height:245px; padding:28px; border:1px solid var(--line); border-radius:16px; background:#fff; }
.topic-card__index { color:var(--gold); font-family:Georgia,serif; font-weight:700; }
.topic-card h3 { margin:42px 0 10px; color:var(--ink); font-family:Georgia,serif; font-size:23px; line-height:1.2; }
.topic-card p { margin:0; color:var(--muted); font-size:14px; }
.detail-band { padding:78px 0; color:#fff; background:var(--ink); }
.detail-band-grid { display:grid; grid-template-columns:.86fr 1.14fr; gap:70px; align-items:start; }
.detail-band h2 { margin:13px 0 18px; color:#fff; font-family:Georgia,serif; font-size:clamp(2.1rem,3.6vw,3.2rem); line-height:1.1; }
.detail-band p { color:#c5d2dc; font-size:17px; }
.detail-list { display:grid; gap:1px; background:rgba(255,255,255,.13); }
.detail-list div { padding:22px 24px; background:#132d47; }
.detail-list strong { display:block; color:#fff; }
.detail-list span { color:#afc0cd; font-size:14px; }
.process-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:0; margin-top:40px; counter-reset:steps; }
.process-step { position:relative; padding:28px 24px; border-top:1px solid var(--line); counter-increment:steps; }
.process-step::before { content:"0" counter(steps); display:block; margin-bottom:34px; color:var(--gold); font-family:Georgia,serif; font-size:16px; font-weight:700; }
.process-step::after { content:""; position:absolute; top:-4px; left:24px; width:8px; height:8px; border-radius:50%; background:var(--gold); }
.process-step h3 { color:var(--ink); font-family:Georgia,serif; font-size:21px; margin:0 0 8px; }
.process-step p { color:var(--muted); font-size:14px; margin:0; }
.notice-box { margin-top:36px; padding:25px 28px; border-left:3px solid var(--gold); background:var(--gold-soft); color:#5e5139; }
.notice-box strong { color:var(--ink); }

.contact-layout { display:grid; grid-template-columns:.78fr 1.22fr; gap:26px; align-items:start; }
.contact-stack { display:grid; gap:14px; }
.contact-card { padding:25px; border:1px solid var(--line); border-radius:15px; background:#fff; }
.contact-card small { color:var(--gold); font-size:12px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.contact-card strong, .contact-card a, .contact-card address { display:block; margin-top:7px; color:var(--ink); font-size:17px; font-style:normal; font-weight:750; }
.contact-card p { margin:6px 0 0; color:var(--muted); font-size:13px; }
.form-card { padding:38px; border:1px solid var(--line); border-radius:20px; background:#fff; box-shadow:0 18px 45px rgba(16,38,63,.08); }
.form-card h2 { margin:0 0 8px; color:var(--ink); font-family:Georgia,serif; font-size:30px; }
.form-card > p { margin:0 0 25px; color:var(--muted); }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:17px; }
.form-field { display:grid; gap:7px; }
.form-field--full { grid-column:1/-1; }
.form-field label { color:var(--ink); font-size:13px; font-weight:800; }
.form-field input, .form-field textarea, .form-field select { width:100%; padding:13px 14px; color:var(--text); background:#fbfcfd; border:1px solid #cbd7e0; border-radius:9px; outline:none; }
.form-field input:focus, .form-field textarea:focus, .form-field select:focus { border-color:var(--gold); box-shadow:0 0 0 3px rgba(200,156,69,.16); }
.form-field textarea { min-height:120px; resize:vertical; }
.form-note, .form-status { color:var(--muted); font-size:12px; }
.form-status { margin-top:12px; color:var(--success); font-weight:750; }
.form-status.is-error { color:#a93232; }
.form-honeypot { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.contact-map { margin-top:28px; }
.contact-map .map-embed { overflow:hidden; border:1px solid var(--line); border-radius:22px; }

.editorial-hero { padding:76px 0 50px; background:var(--cloud); border-bottom:1px solid var(--line); }
.editorial-hero-grid { display:grid; grid-template-columns:1.08fr .92fr; gap:70px; align-items:end; }
.editorial-hero h1 { color:var(--ink); font-family:Georgia,serif; font-size:clamp(2.6rem,5vw,4.5rem); line-height:1.04; letter-spacing:-.04em; margin:18px 0 20px; }
.editorial-hero p { max-width:690px; color:var(--muted); font-size:18px; }
.editorial-note { padding:25px; border-top:2px solid var(--gold); background:#fff; box-shadow:0 14px 34px rgba(16,38,63,.07); }
.editorial-note strong { display:block; color:var(--ink); margin-bottom:7px; }
.editorial-note span { color:var(--muted); font-size:14px; }
.category-chips { display:flex; flex-wrap:wrap; gap:9px; margin:0 0 34px; }
.category-chip { padding:8px 13px; border:1px solid var(--line); border-radius:999px; color:var(--ink); background:#fff; font-size:13px; font-weight:750; }
.category-chip:first-child { color:#fff; background:var(--ink); border-color:var(--ink); }
.article-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.article-card { min-height:340px; display:flex; flex-direction:column; padding:27px; border:1px solid var(--line); border-radius:17px; background:#fff; transition:transform .18s ease,box-shadow .18s ease; }
.article-card:hover { transform:translateY(-3px); box-shadow:0 16px 38px rgba(16,38,63,.08); }
.article-card__tag { align-self:flex-start; padding:5px 9px; border-radius:6px; color:#745817; background:var(--gold-soft); font-size:11px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.article-card h2 { color:var(--ink); font-family:Georgia,serif; font-size:25px; line-height:1.2; margin:34px 0 12px; }
.article-card p { color:var(--muted); font-size:14px; margin:0; }
.article-card__meta { margin-top:auto; padding-top:24px; display:flex; justify-content:space-between; gap:14px; border-top:1px solid var(--line); color:#7b8d9d; font-size:12px; }
.demo-label { color:var(--gold); font-weight:800; }
.article-hero { padding:64px 0 58px; color:#fff; background:linear-gradient(118deg,#0d2137,#163a59); }
.article-hero__inner { max-width:940px; }
.article-hero .breadcrumbs, .article-hero .breadcrumbs a { color:#b9c8d4; }
.article-hero .article-card__tag { margin-top:26px; }
.article-hero h1 { max-width:930px; margin:20px 0; color:#fff; font-family:Georgia,"Times New Roman",serif; font-size:clamp(2.45rem,5vw,4.25rem); line-height:1.06; letter-spacing:-.04em; }
.article-hero p { max-width:800px; margin:0; color:#d0dce5; font-size:18px; }
.article-meta { display:flex; flex-wrap:wrap; gap:8px 22px; margin-top:28px; color:#adbdca; font-size:13px; }
.article-shell { display:grid; grid-template-columns:minmax(0,760px) 280px; gap:72px; align-items:start; padding-block:74px 90px; }
.article-body { min-width:0; color:#34495c; font-size:17px; }
.article-body .article-lead { margin-top:0; color:var(--ink); font-family:Georgia,"Times New Roman",serif; font-size:25px; line-height:1.5; }
.article-body h2 { margin:52px 0 15px; color:var(--ink); font-family:Georgia,"Times New Roman",serif; font-size:32px; line-height:1.18; letter-spacing:-.025em; }
.article-body h3 { margin:35px 0 12px; color:var(--ink); font-size:20px; line-height:1.3; }
.article-body p { margin:0 0 20px; }
.article-body ul { margin:0 0 26px; padding-left:24px; }
.article-body li + li { margin-top:8px; }
.article-note { margin:34px 0; padding:25px 27px; border-left:3px solid var(--gold); background:var(--gold-soft); color:#5e5139; }
.article-note strong { display:block; margin-bottom:7px; color:var(--ink); font-size:17px; }
.article-note p { margin:0; }
.article-note--soft { background:var(--blue-soft); }
.article-sources { margin-top:54px; padding-top:28px; border-top:1px solid var(--line); }
.article-sources h2 { margin-top:0; font-size:25px; }
.article-sources p { margin-bottom:10px; }
.article-sources a { color:#28577d; text-decoration:underline; text-underline-offset:3px; }
.article-related { position:sticky; top:104px; display:grid; gap:0; padding:25px; border-top:3px solid var(--gold); background:var(--cloud); }
.article-related h2 { margin:13px 0 18px; color:var(--ink); font-family:Georgia,"Times New Roman",serif; font-size:25px; line-height:1.2; }
.article-related a { padding:14px 0; border-top:1px solid var(--line); color:#3e5569; font-size:14px; font-weight:750; }
.article-related a:hover { color:var(--ink); }

/* V4 — páginas operacionais */
.utility-hero { padding:72px 0 66px; color:#fff; background:linear-gradient(118deg,#0d2137,#163a59); }
.utility-hero h1 { max-width:850px; margin:17px 0 18px; color:#fff; font-family:Georgia,serif; font-size:clamp(2.55rem,5vw,4.2rem); line-height:1.05; letter-spacing:-.04em; }
.utility-hero p { max-width:730px; margin:0; color:#d0dce5; font-size:18px; }
.utility-hero--compact { padding:36px 0 34px; }
.utility-hero--compact h1 { margin:10px 0; font-size:clamp(2rem,3.5vw,3rem); }
.utility-hero--compact p { font-size:16px; line-height:1.55; }
.utility-content { padding-top:42px; }
.utility-toolbar { margin-bottom:34px; padding:20px; border:1px solid var(--line); border-radius:14px; background:#fff; box-shadow:0 12px 32px rgba(16,38,63,.06); }
.utility-search { display:grid; grid-template-columns:auto 1fr; align-items:center; gap:12px; }
.utility-search svg { width:20px; color:var(--gold); }
.utility-search input { width:100%; padding:10px 0; border:0; outline:0; color:var(--ink); background:transparent; }
.resource-groups { display:grid; gap:26px; }
.resource-group h2 { margin:0 0 15px; color:var(--ink); font-family:Georgia,serif; font-size:27px; }
.resource-subgroup + .resource-subgroup { margin-top:20px; }
.resource-subgroup h3 { margin:0 0 13px; color:#52677a; font-size:15px; letter-spacing:.08em; text-transform:uppercase; }
.resource-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
.resource-link { position:relative; min-height:88px; display:flex; flex-direction:column; padding:15px 36px 14px 16px; border:1px solid var(--line); border-radius:12px; background:#fff; transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
.resource-link:hover { transform:translateY(-2px); border-color:#c1ced8; box-shadow:0 14px 32px rgba(16,38,63,.07); }
.resource-link small { order:2; margin-top:6px; color:#718496; font-size:11px; font-weight:750; letter-spacing:.04em; text-transform:uppercase; }
.resource-link strong { order:1; margin:0; color:var(--ink); font-size:15px; line-height:1.3; }
.resource-link__arrow { position:absolute; right:14px; top:14px; color:var(--gold); font-size:16px; }
.resource-link[hidden], [data-resource-group][hidden], .resource-subgroup[hidden] { display:none!important; }
.resource-empty { padding:30px; color:var(--muted); text-align:center; border:1px dashed #b9c8d3; border-radius:14px; }
.certificate-intro { display:grid; grid-template-columns:.78fr 1.22fr; gap:70px; align-items:start; }
.certificate-intro h2 { margin:12px 0 0; color:var(--ink); font-family:Georgia,serif; font-size:clamp(2rem,3.4vw,3rem); line-height:1.12; }
.certificate-intro p { margin:0; color:var(--muted); font-size:17px; }
.certificate-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:28px; }
.certificate-grid .resource-link { min-height:112px; }
.certificate-grid .certificate-card { min-height:138px; height:100%; padding:17px; }
.certificate-grid .certificate-card small { order:2; margin-top:7px; }
.certificate-grid .certificate-card strong { order:1; padding-right:0; font-size:16px; }
.certificate-grid .certificate-card .resource-link__arrow { position:static; order:3; margin-top:auto; padding-top:20px; color:#8a681f; font-size:13px; font-weight:800; line-height:1.3; }
.support-panel { display:grid; grid-template-columns:1.05fr .95fr; overflow:hidden; border:1px solid var(--line); border-radius:22px; background:#fff; box-shadow:var(--shadow); }
.support-panel__main { padding:46px; }
.support-panel__main h2 { margin:13px 0 14px; color:var(--ink); font-family:Georgia,serif; font-size:clamp(2rem,3.5vw,3.1rem); line-height:1.1; }
.support-panel__main p { color:var(--muted); }
.support-panel__aside { padding:46px; color:#fff; background:var(--ink); }
.support-panel__aside h2 { margin:0 0 24px; color:#fff; font-family:Georgia,serif; font-size:27px; }
.support-steps { list-style:none; margin:0; padding:0; display:grid; gap:22px; counter-reset:support; }
.support-steps li { position:relative; padding-left:46px; color:#c9d5de; counter-increment:support; }
.support-steps li::before { content:counter(support); position:absolute; left:0; top:0; width:30px; height:30px; display:grid; place-items:center; border-radius:50%; color:var(--ink); background:var(--gold); font-weight:800; }
.support-contact { margin-top:28px; padding-top:24px; border-top:1px solid rgba(255,255,255,.15); }
.support-contact a { color:#fff; font-weight:750; }
.whatsapp-inline { width:17px!important; height:17px!important; flex:0 0 auto; aspect-ratio:1; }

@media (max-width: 1440px) and (min-width: 1221px) {
  .header-inner { gap:14px; }
  .brand { min-width:198px; }
  .brand-logo { width:195px; }
  .nav { gap:12px; }
  .nav .button--small { padding-inline:13px; }
}

@media (max-width: 1220px) {
  .site-header { background:#fff; backdrop-filter:none; -webkit-backdrop-filter:none; }
  .header-inner { min-height:70px; }
  .menu-button { display:block; }
  .nav { position:fixed; top:70px; right:0; bottom:0; left:0; z-index:60; display:flex; flex-direction:column; align-items:stretch; gap:0; width:100%; height:calc(100vh - 70px); height:calc(100dvh - 70px); max-height:calc(100vh - 70px); max-height:calc(100dvh - 70px); padding:22px 24px max(40px, env(safe-area-inset-bottom)); background:#fff; transform:translateX(100%); visibility:hidden; transition:transform .22s ease,visibility .22s ease; overflow-x:hidden; overflow-y:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; }
  .nav.is-open { transform:translateX(0); visibility:visible; }
  .nav > a { padding:15px 4px; border-bottom:1px solid var(--line); font-size:16px; }
  .nav > a::after { display:none; }
  .nav .button { display:inline-flex; margin-top:22px; }
  .nav-dropdown { border-bottom:1px solid var(--line); }
  .nav-dropdown__button { width:100%; justify-content:space-between; padding:15px 4px; font-size:16px; }
  .nav-dropdown__menu { position:static; width:auto; padding:0 0 10px 12px; border:0; border-radius:0; box-shadow:none; opacity:1; visibility:visible; transform:none; display:none; }
  .nav-dropdown.is-open .nav-dropdown__menu { display:block; }
  .nav-dropdown__menu a { padding:11px 12px; }
}

@media (max-width: 1040px) {
  .hero-grid { grid-template-columns:1fr .58fr; gap:38px; }
  .service-grid { grid-template-columns:1fr 1fr; }
  .content-layout { grid-template-columns:1fr 285px; gap:44px; }
  .hero-grid--photo { grid-template-columns:1fr .72fr; gap:36px; }
  .gaspar-cards { grid-template-columns:1fr 1fr; }
  .resource-grid { grid-template-columns:repeat(3,1fr); }
}

@media (max-width: 820px) {
  :root { --container:min(100% - 32px, 720px); }
  .header-inner { min-height:70px; }
  .menu-button { display:block; }
  .nav { position:fixed; top:70px; right:0; bottom:0; left:0; display:flex; flex-direction:column; align-items:stretch; gap:0; padding:22px 24px max(40px, env(safe-area-inset-bottom)); background:#fff; transform:translateX(100%); visibility:hidden; transition:transform .22s ease, visibility .22s ease; overflow-x:hidden; overflow-y:auto; }
  .nav.is-open { transform:translateX(0); visibility:visible; }
  .nav > a { padding:16px 4px; border-bottom:1px solid var(--line); font-size:16px; }
  .nav > a::after { display:none; }
  .nav .button { display:inline-flex; margin-top:22px; }
  .hero-grid { grid-template-columns:1fr; min-height:auto; padding-block:72px 100px; }
  .hero-panel { max-width:620px; }
  .trust-grid { grid-template-columns:1fr 1fr; }
  .trust-item + .trust-item { border-left:0; }
  .trust-item:nth-child(even) { border-left:1px solid var(--line); }
  .trust-item:nth-child(n+3) { border-top:1px solid var(--line); }
  .section { padding:76px 0; }
  .section-heading, .expert-grid, .local-grid { grid-template-columns:1fr; gap:28px; }
  .hero-grid--photo, .about-grid, .social-grid, .page-hero--split .page-hero-grid, .gaspar-intro, .gaspar-band-grid, .gaspar-feature, .profits-intro { grid-template-columns:1fr; }
  .detail-hero-grid, .intro-grid, .detail-band-grid, .contact-layout, .editorial-hero-grid { grid-template-columns:1fr; }
  .topic-grid, .article-grid { grid-template-columns:1fr 1fr; }
  .process-grid { grid-template-columns:1fr 1fr; }
  .hero-media { min-height:430px; }
  .photo-slot { min-height:410px; }
  .hero-media__note { left:18px; top:-18px; }
  .location-panel { grid-template-columns:1fr; }
  .institutional-trust__head { grid-template-columns:1fr; gap:18px; }
  .institutional-trust__grid { grid-template-columns:1fr 1fr; }
  .experience-grid > div { padding-inline:18px; }
  .map-embed, .map-awaiting, .map-slot { min-height:330px; }
  .split { grid-template-columns:1fr; }
  .split-visual { min-height:500px; }
  .split-content { padding:70px 8vw; }
  .reasons { grid-template-columns:1fr; }
  .content-layout { grid-template-columns:1fr; }
  .aside-card { position:static; }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .profit-cards { grid-template-columns:1fr 1fr; }
  .resource-grid, .certificate-grid { grid-template-columns:1fr 1fr; }
  .certificate-intro, .support-panel { grid-template-columns:1fr; }
  .article-shell { grid-template-columns:1fr; gap:44px; padding-block:58px 72px; }
  .article-related { position:static; }
}

@media (max-width: 560px) {
  :root { --container:calc(100% - 28px); }
  .brand-copy strong { font-size:18px; }
  .hero h1, .page-hero h1 { font-size:2.55rem; }
  .hero-grid { padding-block:60px 92px; }
  .hero-actions { display:grid; }
  .button { width:100%; }
  .hero-panel { padding:24px; }
  .trust-grid { grid-template-columns:1fr; }
  .trust-item:nth-child(even) { border-left:0; }
  .trust-item:nth-child(n+2) { border-top:1px solid var(--line); }
  .section { padding:64px 0; }
  .service-grid, .expert-points, .service-bands { grid-template-columns:1fr; }
  .reviews-placeholder, .regime-grid, .gaspar-cards { grid-template-columns:1fr; }
  .topic-grid, .article-grid, .process-grid, .form-grid, .profit-cards { grid-template-columns:1fr; }
  .form-field--full { grid-column:auto; }
  .form-card { padding:27px 22px; }
  .institutional-trust__grid { grid-template-columns:1fr; }
  .reviews-note { text-align:left; }
  .mid-cta { display:block; }
  .mid-cta .button { margin-top:20px; }
  .brand-logo { width:178px; height:46px; }
  .hero-media { min-height:360px; }
  .photo-slot, .photo-slot--light { min-height:350px; }
  .photo-slot--reception img { object-position:35% center; }
  .experience-grid { grid-template-columns:1fr; }
  .experience-grid > div { min-height:74px; border-right:1px solid rgba(255,255,255,.12); border-bottom:1px solid rgba(255,255,255,.12); }
  .split-visual { min-height:420px; padding:30px; }
  .ledger-card { padding:26px; }
  .split-content { padding:60px 24px; }
  .cta { padding:38px 25px; display:block; }
  .cta .button { margin-top:24px; }
  .cta-section { padding-bottom:64px; }
  .placeholder-card { padding:42px 24px; }
  .footer-grid { grid-template-columns:1fr; gap:30px; }
  .footer-logo { width:230px; }
  .resource-grid { grid-template-columns:1fr 1fr; gap:8px; }
  .certificate-grid { grid-template-columns:1fr; }
  .resource-link { min-height:84px; padding:13px 30px 12px 13px; }
  .resource-link strong { font-size:14px; }
  .certificate-grid .certificate-card { min-height:126px; }
  .article-hero { padding:44px 0; }
  .article-hero h1 { font-size:2.35rem; }
  .article-hero p { font-size:16px; }
  .article-shell { padding-block:46px 62px; }
  .article-body { font-size:16px; }
  .article-body .article-lead { font-size:21px; }
  .article-body h2 { margin-top:42px; font-size:27px; }
  .article-note { padding:21px; }
  .section-editorial-links { display:grid; }
  .utility-hero--compact { padding:28px 0 26px; }
  .utility-content { padding-top:32px; }
  .support-panel__main, .support-panel__aside { padding:30px 24px; }
  .footer-bottom { display:block; }
  .footer-bottom span { display:block; margin-top:6px; }
  .whatsapp-float { right:15px; bottom:15px; width:54px; height:54px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior:auto !important; transition:none !important; }
}
