/* Public presentation: the application and customer pages retain their own layout. */
.guest-page { --ink:#182d2a; --muted:#5e6e69; --brand:#176b58; --brand-dark:#104b3f; --paper:#fafbf8; background:var(--paper); font-family:"Segoe UI",Inter,system-ui,sans-serif; -webkit-font-smoothing:antialiased; }
.guest-page main.page { width:min(1180px,calc(100% - 80px)); margin:56px auto 80px; outline:none; }
.guest-page h1,.guest-page h2,.guest-page h3 { color:var(--ink); font-weight:700; letter-spacing:-.045em; line-height:1.12; }
.guest-page p { line-height:1.7; }
.guest-page .guest-header { min-height:88px; padding:20px max(40px,calc((100% - 1180px)/2)); background:#fff; border-bottom:1px solid #e7ece6; }
.guest-page .brand-symbol { background:var(--brand); border-radius:13px; box-shadow:none; }
.guest-page .guest-header-nav { gap:27px; }
.guest-page .guest-header-nav > a { font-size:13px; font-weight:600; }
.guest-page .button { min-height:47px; padding:13px 24px; border-radius:11px; box-shadow:none; font-size:13px; font-weight:650; }
.guest-page .button.primary { background:var(--brand); border-color:var(--brand); color:#fff; }
.guest-page .button.primary:hover { background:var(--brand-dark); border-color:var(--brand-dark); }
.guest-page .button.secondary { background:#fff; border-color:#dce5dd; color:var(--ink); }
.guest-page .guest-page-heading { margin-bottom:34px; }
.guest-page .guest-page-heading h1 { font-size:clamp(34px,5vw,54px); }
.public-kicker { margin:0 0 18px; color:var(--brand); font-size:11px; font-weight:750; letter-spacing:2px; text-transform:uppercase; }
.guest-page .public-intro { display:grid; grid-template-columns:1.2fr .8fr; gap:80px; align-items:center; margin-bottom:64px; padding:0; background:none; border:0; }
.public-intro h1 { margin:0 0 22px; font-size:clamp(42px,5.2vw,68px); line-height:1.06; letter-spacing:-3px; }
.public-intro > div > p:not(.public-kicker) { max-width:480px; margin:0; color:var(--muted); font-size:16px; line-height:1.8; }
.public-intro-detail { display:flex; align-items:center; gap:9px; margin-top:25px; color:var(--brand); font-size:11px; font-weight:600; }
.public-intro-detail .ui-icon { width:17px; height:17px; padding:2px; background:#e6f0e6; border-radius:50%; }
.public-intro figure { position:relative; height:325px; margin:0; overflow:hidden; border-radius:24px 24px 72px 24px; }
.public-intro figure:after { content:""; position:absolute; inset:50% 0 0; background:linear-gradient(transparent,rgba(8,28,20,.65)); pointer-events:none; }
.public-intro figure img { display:block; width:100%; height:100%; object-fit:cover; }
.public-intro figcaption { position:absolute; z-index:1; bottom:25px; left:26px; right:26px; color:#fff; font-size:12px; font-weight:600; }
.public-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:28px; }
.public-section-heading h2 { margin:0; font-size:clamp(29px,3vw,40px); }
.public-section-heading .public-kicker { margin-bottom:10px; }
.public-section-heading > p { margin:0; color:var(--muted); font-size:12px; }
.public-section-heading a { font-weight:650; text-underline-offset:4px; }
.plans-showcase { display:grid; grid-template-columns:.58fr 1fr; gap:40px; padding:40px; background:#eff3ec; border-radius:28px; margin-bottom:65px; }
.plans-showcase .public-section-heading { display:block; padding-top:24px; }
.plans-showcase .public-section-heading > p { margin-top:24px; max-width:250px; }
.plans-showcase .guest-carousel { min-width:0; }
.plans-showcase .guest-carousel-track { grid-auto-columns:88%; gap:24px; padding:4px 4px 16px; scroll-padding:4px; }
.guest-page .guest-plan { padding:32px; background:#fff; border:1px solid #dfe6dd; border-radius:20px; gap:0; box-shadow:none; }
.guest-page .guest-plan-featured { border:2px solid var(--brand); padding:31px; background:#fff; box-shadow:none; }
.guest-page .guest-plan-badge { position:static; justify-self:start; align-self:start; margin:0 0 22px; padding:5px 10px; color:var(--brand); background:#eaf3e9; border-radius:6px; font-size:9px; letter-spacing:1px; }
.plan-audience { margin:0 0 8px; color:var(--muted); font-size:10px; font-weight:700; letter-spacing:1.4px; text-transform:uppercase; }
.guest-page .guest-plan h3 { margin:0 0 14px; font-size:26px; }
.guest-page .guest-plan-price { display:flex; align-items:baseline; flex-wrap:wrap; gap:8px; padding-bottom:24px; margin:12px 0 21px; border-bottom:1px solid #e8ece6; }
.guest-page .guest-plan-price strong { font-size:clamp(32px,3.2vw,43px); font-weight:700; letter-spacing:-1.8px; }
.guest-page .guest-plan-price span { font-size:12px; color:var(--muted); }
.guest-page .guest-plan-facts { display:grid; gap:13px; margin:0 0 28px; padding:0; color:#445850; font-size:13px; line-height:1.5; }
.guest-page .guest-plan-facts li { padding-left:23px; }
.guest-page .guest-plan-facts li:before { color:var(--brand); font-weight:700; }
.guest-page .guest-plan > .button { align-self:end; width:100%; margin-top:auto; }
.guest-page .guest-plan-desc { margin:0 0 9px; color:var(--muted); font-size:13px; }
.guest-page .guest-carousel-nav { align-items:center; gap:10px; margin-top:6px; }
.guest-page .guest-carousel-button { width:45px; height:45px; border-color:#cdd9ca; font-size:23px; }
.carousel-position { margin-right:auto; font-size:11px; color:var(--muted); }
.plans-comparison-section { margin-bottom:65px; scroll-margin-top:115px; }
.comparison-scroll { overflow-x:auto; background:#fff; border:1px solid #e0e7dd; border-radius:20px; }
.plan-comparison { width:100%; min-width:620px; border-collapse:separate; border-spacing:0; font-size:13px; }
.plan-comparison caption { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
.guest-page .plan-comparison th,.guest-page .plan-comparison td { padding:20px 24px; border-bottom:1px solid #e7ece4; text-align:left; }
.guest-page .plan-comparison thead th { background:#f0f4ed; vertical-align:bottom; min-width:195px; }
.guest-page .plan-comparison th { text-transform:none; letter-spacing:normal; }
.guest-page .plan-comparison tr > th:first-child { position:sticky; left:0; z-index:1; background:#fff; }
.guest-page .plan-comparison thead tr > th:first-child { background:#f0f4ed; }
.plan-comparison thead th span { display:block; margin-bottom:7px; color:var(--muted); font-size:10px; font-weight:500; }
.plan-comparison thead th strong { font-size:20px; letter-spacing:-.5px; }
.guest-page .plan-comparison tbody th { width:34%; color:var(--muted); font-weight:500; }
.guest-page .plan-comparison tbody td { color:var(--ink); }
.guest-page .plan-comparison tbody tr:last-child > * { border-bottom:0; }
.reseller-journey { display:grid; grid-template-columns:1fr 1fr; gap:50px; margin:0 0 70px; padding:42px; color:#fff; background:#173f34; border-radius:24px; }
.reseller-journey .page-list-kicker { color:#c6dbb8; font-size:10px; letter-spacing:1.6px; }
.guest-page .reseller-journey h2 { color:#fff; font-size:31px; margin:12px 0; }
.reseller-journey p { color:#d1dfd4; font-size:13px; margin:0; }
.reseller-journey ol { margin:0; padding:0; list-style:none; display:grid; gap:12px; align-content:center; }
.reseller-journey li { display:flex; align-items:center; gap:16px; padding-bottom:12px; border-bottom:1px solid #ffffff24; font-size:13px; }
.reseller-journey li span { color:#c9deba; font-size:11px; }
.public-faq { display:grid; grid-template-columns:.8fr 1.2fr; gap:70px; margin-bottom:45px; }
.public-faq h2 { font-size:36px; margin:0 0 20px; }
.public-faq > div > p:last-child { color:var(--muted); font-size:13px; }
.guest-page .guest-faq { display:grid; gap:10px; }
.guest-page .guest-faq details { border:0; border-bottom:1px solid #dfe6db; border-radius:0; background:none; }
.guest-page .guest-faq summary { padding:18px 0; font-size:14px; font-weight:600; }
.guest-page .guest-faq details p { margin:0; padding:0 20px 20px 0; font-size:13px; color:var(--muted); }
.guest-page .guest-choice-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-bottom:24px; }
.guest-page .guest-choice { padding:36px; border:1px solid #dfe6dc; border-radius:22px; box-shadow:none; }
.guest-page .guest-choice-muted { background:#edf2e9; }
.guest-page .guest-choice h2 { margin:14px 0 25px; font-size:30px; }
.guest-page .guest-choice .page-list-kicker { color:var(--brand); font-size:10px; letter-spacing:1.8px; }
.guest-page .guest-choice .guest-note { font-size:13px; color:var(--muted); }
.guest-page .guest-note { color:var(--muted); font-size:13px; }
.guest-page .guest-shell { gap:65px; align-items:center; }
.guest-page .guest-aside h2 { font-size:clamp(35px,4vw,54px); }
.guest-page .guest-aside { padding:0; }
.guest-page .guest-aside .muted { font-size:15px; line-height:1.8; }
.guest-page .guest-points { gap:18px; }
.guest-page .guest-points li { font-size:13px; }
.guest-page .guest-card { padding:34px; border:1px solid #e1e7dc; border-radius:23px; box-shadow:0 18px 60px #1e3a2110; }
.guest-page .guest-card h2 { font-size:28px; }
.guest-page .guest-form label { font-size:12px; font-weight:600; }
.guest-page .guest-form input { min-height:48px; border-color:#dce4d8; background:#fbfcfa; border-radius:9px; }
.guest-page .guest-form .guest-submit { margin-top:15px; }
.guest-page .platform-footer { padding:28px 40px; border-top:1px solid #e0e6dc; color:var(--muted); background:#f2f5ee; font-size:11px; }
.guest-page .legal-document { max-width:100%; }
.guest-page .guest-cover:not(.public-intro) h1 { font-size:clamp(42px,5.5vw,70px); line-height:1.05; }
.guest-page .guest-cover:not(.public-intro) { gap:60px; margin-bottom:50px; }
.guest-page .guest-cover:not(.public-intro) .guest-cover-text { font-size:16px; }
@media(max-width:900px) { .plans-showcase { display:block; } .plans-showcase .public-section-heading { padding-top:0; } }
@media(max-width:900px) { .guest-page main.page { width:calc(100% - 44px); margin-top:32px; } .guest-page .guest-header { padding:18px 22px; } .guest-page .public-intro { gap:30px; } .public-intro figure { height:285px; } .public-intro h1 { font-size:46px; letter-spacing:-2px; } .plans-showcase { padding:25px; } .plans-showcase .guest-carousel-track { grid-auto-columns:80%; } .public-faq { gap:32px; } .guest-page .guest-shell { gap:30px; } }
@media(max-width:600px) { .guest-page main.page { width:calc(100% - 36px); margin:28px auto 48px; } .guest-page .guest-header { padding:15px 18px; min-height:75px; gap:14px; } .guest-page .guest-header-nav { gap:12px; } .guest-page .guest-header-nav > a:not(.button) { font-size:11px; } .guest-page .guest-header-nav .small-header { min-height:38px; padding:10px 12px; font-size:10px; } .guest-page .guest-header-nav > a[href="/termos"] { display:none; } .guest-page .guest-header .brand { font-size:13px; gap:8px; } .guest-page .guest-header .brand-symbol { width:33px; height:33px; border-radius:10px; } .guest-page .guest-header .brand-copy > span { font-size:8px; } .guest-page .public-intro { grid-template-columns:1fr; gap:26px; margin-bottom:36px; } .public-kicker { font-size:9px; letter-spacing:1.5px; margin-bottom:15px; } .public-intro h1 { font-size:43px; letter-spacing:-2px; margin-bottom:18px; } .public-intro > div > p:not(.public-kicker) { font-size:14px; } .public-intro-detail { font-size:10px; margin-top:18px; } .public-intro figure { height:195px; border-radius:18px 18px 48px 18px; } .public-intro figcaption { bottom:19px; left:20px; font-size:10px; } .plans-showcase { margin-inline:-8px; padding:23px 16px; border-radius:22px; margin-bottom:40px; } .public-section-heading { display:block; margin-bottom:20px; } .public-section-heading h2 { font-size:29px; } .public-section-heading > p { margin-top:14px; font-size:11px; } .plans-showcase .guest-carousel-track { grid-auto-columns:90%; gap:14px; } .guest-page .guest-plan,.guest-page .guest-plan-featured { padding:25px; } .guest-page .guest-plan h3 { font-size:25px; } .guest-page .guest-plan-price strong { font-size:36px; } .guest-page .guest-plan-facts { font-size:12px; gap:12px; } .plans-comparison-section { margin-bottom:40px; } .guest-page .plan-comparison th,.guest-page .plan-comparison td { padding:17px 18px; } .reseller-journey { grid-template-columns:1fr; gap:25px; padding:28px; margin-bottom:40px; } .guest-page .reseller-journey h2 { font-size:27px; } .public-faq { grid-template-columns:1fr; gap:15px; } .public-faq h2 { font-size:30px; } .public-faq h2 br { display:none; } .guest-page .guest-choice-grid { grid-template-columns:1fr; gap:18px; } .guest-page .guest-choice { padding:27px; } .guest-page .guest-choice h2 { font-size:27px; } .guest-page .guest-aside { display:none; } .guest-page .guest-card { padding:27px; } .guest-page .guest-shell { display:block; } .guest-page .platform-footer { padding:24px 18px; font-size:10px; } .guest-page .guest-cover:not(.public-intro) { gap:25px; } }
@media(prefers-reduced-motion:reduce) { .guest-carousel-track { scroll-behavior:auto; } }
