/* Moldura e componentes da demonstração. As paletas dos modelos permanecem locais. */
.model-toolbar.site-header { position:relative; top:auto; z-index:100; background:var(--tofy-surface); color:var(--tofy-ink); border-bottom:1px solid var(--tofy-line); backdrop-filter:none; font-family:var(--tofy-font); }
.model-toolbar .tofy-container { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:70px; max-width:1440px; }
.model-toolbar .wordmark { display:flex; align-items:center; gap:8px; flex:none; font-size:14px; font-weight:700; letter-spacing:.18em; color:var(--tofy-ink); }
.model-toolbar .wordmark img { width:28px; height:28px; }
.model-toolbar nav { display:flex; align-items:center; gap:24px; font-size:14px; }
.model-toolbar nav a { color:var(--tofy-ink); }
.model-toolbar .model-section-link { display:none; }
.model-toolbar .tofy-btn { background:var(--tofy-ink); color:white; }
.model-notice { margin:0; padding:12px 24px; text-align:center; background:var(--tofy-paper); color:var(--tofy-text-2); font:14px/1.5 var(--tofy-font); border-bottom:1px solid var(--tofy-line); }
.model-notice a { color:#244bd1; text-decoration:underline; text-underline-offset:3px; }
.model-business { position:relative; z-index:20; }
.model-business .nav-wrap { min-width:0; }
.model-business .brand { min-width:0; }
.model-business .brand strong { overflow-wrap:anywhere; }
.model-business .brand > span:last-child { min-width:0; }
.model-demo .container { max-width:1240px; width:calc(100% - 48px); }
.model-demo main { min-width:0; }
.model-demo .hero-copy,.model-demo .hero-grid > *, .model-demo .about-grid > *, .model-demo .cta-wrap > * { min-width:0; }
.model-demo .hero h1 { max-width:17ch; }
.model-demo .hero-actions { flex-wrap:wrap; }
.model-demo .hero-actions a { max-width:100%; }
.model-demo .btn { white-space:normal; text-align:center; overflow-wrap:anywhere; min-height:44px; }
.model-demo a.model-purchase { background:#244bd1; background-image:none; color:#fff; border-color:transparent; font-size:14px; font-weight:700; }
.model-demo .hero-points { min-width:0; }
.model-demo .hero-side, .model-demo[data-model="consultoria"] .hero-media { display:grid; grid-template-columns:minmax(0,1fr); gap:20px; }
.model-demo .hero-quote, .model-demo .hero-side-note { min-width:0; display:block; }
.model-demo .hero-quote h3, .model-demo .hero-side-note h3 { font-size:24px; line-height:1.2; color:inherit; }
.model-demo .hero-quote p, .model-demo .hero-side-note p { font-size:18px; margin-top:10px; }
.model-demo .hero-photo { min-width:0; }
.model-demo .hero-photo.model-clean-photo { background-position:center 35%; background-size:cover; min-height:480px; }
.model-demo .about-photo.model-clean-photo { background-position:center 30%; background-size:cover; }
.model-demo .cta-wrap { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:32px; }
.model-demo .cta-actions { min-width:0; display:flex; flex-direction:column; align-items:stretch; gap:12px; }
.model-demo .cta-actions .btn { min-width:180px; }
.model-demo .cta-copy h2 { max-width:20ch; }
.model-demo .cta-copy p { max-width:55ch; }
.model-demo .testimonial-grid,.model-demo .testimonial-list { min-width:0; max-width:100%; }
.model-section { padding:64px 0; background:#fff; color:#24262b; }
.model-section .model-kicker { color:#555d65; font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; margin:0 0 12px; }
.model-section h2 { margin:0 0 16px; font-size:clamp(28px,4vw,42px); line-height:1.16; max-width:24ch; }
.model-section > .container > p { max-width:68ch; color:#51565d; }
.model-info-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-top:28px; }
.model-info-card { border:1px solid #d9dce0; border-radius:12px; padding:24px; min-width:0; }
.model-info-card h3 { font-size:19px; line-height:1.35; margin:0 0 12px; color:#24262b; }
.model-info-card p { margin:0; color:#51565d; font-size:16px; line-height:1.6; }
.model-info-card small { display:block; margin-top:12px; color:#51565d; }
.model-example-note { color:inherit; opacity:1; font-size:14px; line-height:1.6; border-left:3px solid currentColor; padding:8px 16px; margin:20px 0; max-width:68ch; }
.model-demo .model-service-detail { margin-top:16px; text-align:left; }
.model-service-detail summary { cursor:pointer; text-decoration:underline; text-underline-offset:4px; min-height:44px; display:flex; align-items:center; font-size:14px; font-weight:600; }
.model-service-detail p { font-size:14px; line-height:1.6; }
.model-demo .model-icon { display:inline-block; width:28px; height:28px; vertical-align:middle; color:inherit; flex:none; }
.model-demo .model-icon svg { width:100%; height:100%; }
.model-gallery-tools { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:20px 0; }
.model-gallery-tools button { border:1px solid currentColor; background:transparent; color:inherit; padding:10px 16px; min-height:44px; border-radius:30px; cursor:pointer; font:inherit; }
.model-gallery-tools button[aria-pressed="true"] { background:#244bd1; color:#fff; border-color:#244bd1; }
.model-demo .project-grid, .model-demo .portfolio-grid, .model-demo .gallery-grid { max-width:100%; min-width:0; }
.model-demo .gallery-item { position:relative; }
.model-gallery-caption { display:block; background:rgba(0,0,0,.8); color:#fff; padding:10px 12px; font-size:14px; line-height:1.35; text-align:left; position:absolute; left:0; bottom:0; right:0; }
.model-demo [data-gallery-item][hidden] { display:none !important; }
.model-lightbox { padding:20px; border:0; border-radius:14px; width:min(1000px,calc(100% - 24px)); max-height:94dvh; background:#fff; color:#17191c; }
.model-lightbox::backdrop { background:rgba(0,0,0,.8); }
.model-lightbox img { display:block; width:100%; height:min(65dvh,700px); object-fit:contain; background:#f3f3f3; }
.model-lightbox nav { display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; margin:0 0 14px; }
.model-lightbox button { min-width:44px; min-height:44px; border:1px solid #ccc; border-radius:6px; padding:8px 14px; cursor:pointer; background:#fff; color:#17191c; font:inherit; }
.model-lightbox p { margin:14px 0 0; line-height:1.5; }
.model-personalization { background:var(--tofy-paper); color:var(--tofy-ink); font-family:var(--tofy-font); border-top:1px solid var(--tofy-line); }
.model-personalization details { margin:24px 0; border-bottom:1px solid var(--tofy-line); padding-bottom:16px; }
.model-personalization summary { min-height:44px; cursor:pointer; font-weight:600; }
.model-personalization p { max-width:70ch; }
.model-owner-footer { padding:24px; display:flex; flex-wrap:wrap; gap:16px 24px; justify-content:center; background:var(--tofy-paper); color:var(--tofy-text-2); font:14px/1.5 var(--tofy-font); }
.model-owner-footer a { color:inherit; min-height:24px; }
.model-demo .mobile-whatsapp,.model-demo .floating-whatsapp { display:none !important; }
.model-demo .reveal { opacity:1; transform:none; }
.model-demo :focus-visible { outline:3px solid #2e5bff; outline-offset:4px; }
.model-demo section[id] { scroll-margin-top:24px; }
.model-demo .model-identity { display:block; margin-top:12px; font-size:14px; line-height:1.6; color:inherit; }
.model-demo .model-identity small { display:block; }
@media(max-width:1100px) {
 .model-demo .cta-wrap { grid-template-columns:minmax(0,1fr); }
 .model-demo .cta-actions { align-items:flex-start; }
 .model-demo .cta-actions .btn { min-width:0; }
 .model-demo .hero-grid { grid-template-columns:minmax(0,1fr); }
 .model-demo .hero h1 { max-width:20ch; }
}
@media(max-width:860px) {
 .model-toolbar .model-section-link { display:none; }
 .model-demo .model-business nav, .model-demo .model-business .desktop-cta { display:none; }
 .model-demo .model-business { position:relative; top:auto; }
 .model-demo .model-business .nav-wrap { min-height:74px; display:flex; }
 .model-demo .container { width:calc(100% - 32px); }
 .model-demo .hero-grid { padding-top:24px; }
 .model-demo .hero-side, .model-demo .hero-media { order:initial; }
 .model-demo .hero-photo.model-clean-photo { min-height:380px; max-height:500px; }
 .model-demo .hero-actions .btn { width:100%; }
 .model-demo .hero-quote h3,.model-demo .hero-side-note h3 { font-size:22px; }
 .model-info-grid { grid-template-columns:minmax(0,1fr); }
 .model-section { padding:44px 0; }
 .model-demo .cta-wrap { display:grid; grid-template-columns:minmax(0,1fr); }
 .model-demo .cta-actions { width:100%; align-items:stretch; }
 .model-demo .cta-actions .btn,.model-demo .cta-wrap > .btn { width:100%; min-width:0; }
 .model-demo .cta-copy h2 { font-size:clamp(30px,8vw,44px); }
 .model-demo .testimonial-grid,.model-demo .testimonial-list { display:grid; grid-template-columns:minmax(0,1fr); overflow:visible; }
 .model-demo .project-grid,.model-demo .portfolio-grid,.model-demo .gallery-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); overflow:visible; width:100%; }
 .model-demo .project-card { min-width:0; width:100%; }
 .model-demo .project-card img { width:100%; }
 .model-demo .section-heading.row { flex-direction:column; align-items:flex-start; }
 .model-notice { text-align:left; padding:12px 16px; }
 .model-demo .brand strong { font-size:clamp(18px,6vw,26px); }
 .model-demo .brand { max-width:100%; }
}
@media(prefers-reduced-motion:reduce) { .model-demo * { scroll-behavior:auto !important; transition:none !important; animation:none !important; } }
.model-skip { position:absolute; top:8px; left:8px; transform:translateY(-160%); z-index:1000; background:#fff; color:#17191c; padding:12px 18px; }
.model-skip:focus { transform:none; }
.model-demo .service-grid > *, .model-demo .differential-grid > *, .model-demo .process-grid > * { min-width:0; overflow-wrap:anywhere; }
.model-demo[data-model="consultoria"] .service-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
@media (max-width:860px) {
 .model-demo .service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .model-demo[data-model="consultoria"] .service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:560px) {
 .model-demo .service-grid, .model-demo[data-model="consultoria"] .service-grid { grid-template-columns:minmax(0,1fr); }
}
.model-demo .step { min-width:0; overflow-wrap:anywhere; }
.model-demo .faq-answer:not([hidden]), .model-demo .faq-item.open .faq-answer { max-height:none; }
@media(max-width:860px) {
 .model-demo[data-model="psicologia"] .steps { grid-template-columns:minmax(0,1fr); }
 .model-demo[data-model="psicologia"] .step-arrow { display:none; }
}
@media(max-width:860px) {
 html:not(.tofy-nav-pronto) .model-toolbar .tofy-container { flex-wrap:wrap; padding-block:16px; }
 html:not(.tofy-nav-pronto) .model-toolbar nav { flex-wrap:wrap; gap:12px 18px; }
 html:not(.tofy-nav-pronto) .model-toolbar .model-section-link { display:inline-flex; min-height:32px; align-items:center; }
}
.model-demo .brand { min-width:0; }
.model-demo .brand > span { min-width:0; }
.model-demo .brand-mark, .model-demo .brand-icon { flex-shrink:0; }
