/* Shell das novas páginas, derivado da V1. Não é carregado pela homepage. */
.site-page { --container:1180px; --f-editorial:Georgia,'Times New Roman',serif; --line:#e3ccb0; --body-muted:#795337; overflow-x:visible; font-size:1rem; line-height:1.6; }
.site-page .container { width:100%; }
.site-page :is(h1,h2,h3) { text-wrap:balance; overflow-wrap:anywhere; }
.site-page :is(p,summary,a) { overflow-wrap:break-word; }
.site-page h1 { font-family:var(--f-editorial); font-weight:400; font-size:clamp(2.8rem,4.5vw,4.25rem); line-height:1.12; letter-spacing:-.025em; }
.site-page h2 { font-size:clamp(1.85rem,3.1vw,3rem); line-height:1.18; letter-spacing:-.035em; font-weight:700; }
.site-page h3 { font-size:1.25rem; line-height:1.3; font-weight:600; }
.site-page section { padding-block:88px; scroll-margin-top:110px; }
.site-page .section-eyebrow { font-family:var(--f-body); color:#694528; font-size:.75rem; letter-spacing:.18em; line-height:1.6; margin-bottom:18px; }
.site-page .btn { justify-content:center; padding:13px 25px; font-size:.875rem; line-height:1.5; box-shadow:none; white-space:normal; text-align:center; }
.site-page .btn-primary { background:var(--caramelo); color:var(--cacau-950); }
.site-page .btn:hover { transform:translateY(-2px); box-shadow:none; }
.site-page :focus-visible { outline-color:#a66f2a; outline-offset:5px; }
.site-page :is(.site-header,.site-footer,.partner-opening,.partner-experience,.partner-closing) :focus-visible { outline-color:var(--caramelo-light); }
.site-page .skip-link { position:fixed; top:12px; left:12px; z-index:300; background:var(--creme); padding:12px 20px; transform:translateY(-160%); }
.site-page .skip-link:focus { transform:translateY(0); }
.site-page .brand-strip { padding:5px 20px; text-align:center; color:var(--cacau-900); background:var(--caramelo); font-size:.75rem; font-weight:600; letter-spacing:.075em; text-transform:uppercase; line-height:1.6; }
.site-page .site-header { position:sticky; top:0; padding-block:20px; background:var(--cacau-900); }
.site-page .site-header.scrolled { padding-block:14px; background:var(--cacau-900); backdrop-filter:none; box-shadow:0 4px 15px #170b0620; }
.site-page .logo,.site-page .site-header.scrolled .logo { font-family:var(--f-display); font-size:1.4rem; color:var(--creme); line-height:1.05; }
.site-page .logo-sub { font-family:var(--f-mascote); font-size:.78rem; color:var(--caramelo-light); text-transform:lowercase; letter-spacing:.03em; }
.site-page .nav-links,.site-page .site-header.scrolled .nav-links { color:var(--creme); font-size:.875rem; gap:27px; }
.site-page .nav-inner,.site-page .nav-links { flex-wrap:wrap; }
.site-page .nav-cta { display:inline-flex; }
.site-page .site-footer { background:var(--cacau-900); padding-top:48px; }
.site-page .footer-inner { display:grid; grid-template-columns:1fr 1.1fr .65fr; gap:50px; padding-bottom:36px; }
.site-page .footer-brand p { font-size:.875rem; max-width:40ch; }
.site-page .footer-links { font-size:.875rem; gap:12px; }
.site-page .footer-links a,.site-page .footer-contact a { font-size:.875rem; }
.site-page .footer-contact { gap:12px; }
.site-page .footer-copy { text-align:left; padding-block:22px; color:var(--creme-soft); font-size:.75rem; }
.site-page .faq-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:70px; }
.site-page .faq h2 { font-size:2.1rem; }
.site-page .faq-list { border-top:1px solid var(--line); }
.site-page .faq details { border-bottom:1px solid var(--line); }
.site-page .faq summary { padding:22px 34px 22px 0; cursor:pointer; font-size:1rem; font-weight:600; position:relative; list-style:none; }
.site-page .faq summary::-webkit-details-marker { display:none; }
.site-page .faq summary::after { content:'+'; position:absolute; right:2px; top:19px; font-size:1.25rem; font-weight:400; }
.site-page .faq details[open] summary::after { content:'−'; }
.site-page .faq details p { padding:0 28px 24px 0; font-size:1rem; color:var(--body-muted); line-height:1.8; max-width:68ch; }
.site-page .faq p a { text-decoration:underline; text-underline-offset:3px; color:var(--cacau-800); }
@media(max-width:1100px) { .site-page .nav-links { gap:18px; font-size:.875rem; } .site-page .faq-grid { gap:40px; } }
@media(max-width:900px) { .site-page section { padding-block:64px; } .site-page .faq-grid { grid-template-columns:1fr; gap:25px; } .site-page .footer-inner { grid-template-columns:1.3fr 1fr; gap:30px; } .site-page .footer-contact { grid-column:2; } }
@media(max-width:760px) {
  .site-page .site-header { padding-block:16px; }
  .site-page .nav-inner { gap:14px; }
  .site-page .nav-links,.site-page .site-header.scrolled .nav-links { position:static; width:100%; order:4; padding:12px 0; background:var(--cacau-900); color:var(--creme); display:flex; gap:0; transform:none; visibility:visible; opacity:1; }
  .site-page .nav-links a { display:block; width:100%; color:var(--creme); font-size:1rem; padding-block:16px; border-bottom:1px solid #fbf3e424; max-width:none; }
  .site-page.menu-ready .nav-links { position:absolute; inset:100% 0 auto; padding:12px 24px 24px; max-height:calc(100dvh - 180px); overflow-y:auto; display:none; }
  .site-page.menu-ready .nav-links.is-open { display:flex; }
  .site-page.menu-ready .nav-toggle { display:flex; width:44px; height:44px; flex-shrink:0; }
  .site-page .site-header.scrolled .nav-toggle span { background:var(--creme); }
  .site-page .nav-toggle.is-open span,.site-page .site-header.scrolled .nav-toggle.is-open span { background:var(--ink); }
  .site-page .nav-cta { margin-left:auto; padding:10px 15px; font-size:.875rem; max-width:48%; }
  .site-page .nav-inner > .logo { max-width:100%; flex-shrink:0; }
}
@media(max-width:600px) {
  .site-page .container { padding-inline:20px; }
  .site-page section { padding-block:52px; scroll-margin-top:110px; }
  .site-page .brand-strip { font-size:.75rem; letter-spacing:.025em; padding-block:6px; }
  .site-page .logo,.site-page .site-header.scrolled .logo { font-size:1.05rem; }
  .site-page .logo-sub { font-size:.75rem; }
  .site-page .nav-inner { gap:10px; }
  .site-page .nav-cta { font-size:.875rem; padding:10px 12px; }
  .site-page h1 { font-size:clamp(2.35rem,8.5vw,3.15rem); line-height:1.13; }
  .site-page h2 { font-size:clamp(1.8rem,6.3vw,2.2rem); line-height:1.2; }
  .site-page .section-eyebrow { font-size:.75rem; letter-spacing:.12em; }
  .site-page .footer-inner { grid-template-columns:1fr; gap:28px; }
  .site-page .footer-contact { grid-column:auto; }
  .site-page .footer-brand .logo { font-size:1.4rem; }
  .site-page .footer-links { gap:16px; }
  .site-page .faq h2 { font-size:1.9rem; }
  .site-page .faq details p { padding-right:0; }
}
@media(prefers-reduced-motion:reduce) { .site-page,.site-page *, .site-page *::before,.site-page *::after { scroll-behavior:auto; transition:none; animation:none; } }
