/* Identidade da campanha @gratis.com.br. */
:root { --ink:#090b10; --ink-soft:#606775; --paper:#fff; --line:#e5eaf2; --blue:#005cff; --blue-deep:#0044cb; --blue-soft:#edf4ff; }
html { scroll-padding-top:100px; }
.display, .num-big, .stat-num { font-family:'Plus Jakarta Sans',system-ui,sans-serif; }
header.site { background:rgba(255,255,255,.94); }
header.site > .wrap { height:86px !important; }
header.site nav { gap:18px !important; }
.logo { font-family:'Plus Jakarta Sans',system-ui,sans-serif; font-size:30px; font-weight:800; letter-spacing:-1.8px; gap:1px; color:var(--ink); white-space:nowrap; }
.brand-at { font-size:47px; color:var(--blue); letter-spacing:-4px; margin-right:3px; }
.brand-domain { color:var(--blue); }
.btn-primary { background:var(--blue); color:#fff; box-shadow:none; border-radius:12px; }
.btn-primary:hover { background:var(--blue-deep); box-shadow:0 8px 20px #005cff20; transform:translateY(-2px); }
.btn-primary.on-color { color:var(--blue-deep); background:#fff; }
.btn-primary.on-color:hover { background:#edf4ff; }
.hero { padding-top:80px; padding-bottom:76px; }
.hero-blobs { display:none; }
.hero-grid { grid-template-columns:1fr 1fr; gap:56px; }
.hero-copy h1 { margin-top:22px; font-size:clamp(44px,5.2vw,66px); line-height:1.07; letter-spacing:-3px; }
.hero-copy h1 .accent-word::after { content:''; position:absolute; left:0; right:0; bottom:-7px; height:6px; background:var(--blue); border-radius:50%; transform:rotate(-3deg); }
.hero-pill { background:none; padding:0; color:var(--ink-soft); text-transform:uppercase; letter-spacing:.16em; font-size:12px; }
.hero-pill svg { display:none; }
.hero-sub { font-size:17px; line-height:1.7; max-width:470px; margin-top:26px; }
.hero-sub strong { color:var(--blue); }
.address-form { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; max-width:465px; margin-top:28px; }
.address-form label { font-size:13px; font-weight:800; }
.address-input { display:flex; align-items:center; border:1.5px solid #cdd8ec; border-radius:12px; padding:0 16px; background:#fff; min-width:0; }
.address-input:focus-within { border-color:var(--blue); box-shadow:0 0 0 4px #005cff12; }
.address-input input { width:100%; min-width:0; padding:18px 0; font:inherit; border:0; outline:none; background:none; }
.address-input span { color:var(--blue); font-size:16px; font-weight:800; white-space:nowrap; }
.address-form .btn-primary { width:100%; justify-content:space-between; padding:17px 20px; font-family:inherit; }
.hero-trust { font-size:12px; }
#recursos { padding-top:64px; background:#f7faff; }
.section-heading { text-align:center; }
.eyebrow { color:var(--blue); }
.section-heading h2 { font-size:40px; line-height:1.15; margin-top:14px; font-weight:800; }
.section-heading > p { margin-top:16px; color:var(--ink-soft); }
.cards-grid { gap:18px; margin-top:40px; }
.feat-card { opacity:1; transform:none; padding:28px; border-radius:18px; }
.feat-card:hover { transform:translateY(-4px); border-color:#bfd4ff; box-shadow:0 14px 35px -18px #16458530; }
.feat-icon { width:62px; height:62px; border-radius:18px; color:#fff; margin-bottom:24px; box-shadow:inset 0 1px 0 #ffffff50; }
.icon-email { background:linear-gradient(145deg,#32baff,#005cff); }
.icon-shield { background:linear-gradient(145deg,#36e563,#00a341); }
.icon-contacts { background:linear-gradient(145deg,#ff9378,#ff443d); }
.icon-calendar { background:linear-gradient(145deg,#c375ff,#8729ec); }
.icon-tasks { background:linear-gradient(145deg,#ffd849,#eea000); }
.icon-notes { background:linear-gradient(145deg,#1fdddc,#00a3ac); }
.feat-card h3 { font-size:22px; font-weight:800; }
.feature-tagline { display:block; margin-top:7px; font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; color:var(--blue); }
.feat-card p { margin-top:15px; color:var(--ink-soft); font-size:14px; line-height:1.75; }
.trust-strip { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; margin-top:58px; padding-top:32px; border-top:1px solid var(--line); }
.trust-strip > div { display:flex; align-items:flex-start; gap:14px; }
.trust-strip > div > span { font-size:30px; }
.trust-strip p { font-size:12px; color:var(--ink-soft); line-height:1.6; }
.trust-strip strong { display:block; color:#14274b; font-size:14px; margin-bottom:4px; }
.trust-strip .trust-symbol { display:flex; width:36px; height:36px; flex-shrink:0; justify-content:center; align-items:center; border-radius:50%; background:#e4f7eb; color:#00a341; font-size:24px; }
.final-cta { padding:90px 0 !important; }
.footer-logo { font-size:22px !important; }
.footer-logo .brand-at { font-size:34px; }
:focus-visible { outline:3px solid var(--blue); outline-offset:5px; }
@media(max-width:1050px) { header.site nav { gap:10px !important; } header.site nav > a[href='#dominio-proprio'] { display:none; } .hero-grid { gap:30px; } .logo { font-size:25px; } .brand-at { font-size:40px; } }
@media(max-width:900px) { .hero-grid { grid-template-columns:1fr; } .hero-copy { max-width:600px; } .hero { padding:48px 0 56px; } .hero-copy h1 { font-size:58px; } .inbox-wrap { max-width:600px; width:100%; margin:18px auto 0; } .cards-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .trust-strip { gap:18px; } .section-heading h2 { font-size:34px; } }
@media(max-width:600px) { header.site > .wrap { height:72px !important; gap:12px !important; } header.site nav > a { display:none; } header.site nav > a[href='/entrar'] { display:inline-flex; font-size:13px; } .logo { font-size:23px; } .brand-at { font-size:36px; } .hero-copy h1 { font-size:46px; letter-spacing:-2px; } .hero-sub { font-size:16px; } .cards-grid { grid-template-columns:1fr; } .feat-card { padding:24px; } .trust-strip { grid-template-columns:1fr; gap:24px; } .inbox-sidebar { width:100px; padding-left:4px; padding-right:4px; } .inbox-sidebar a.folder { font-size:11px; } .inbox-row { padding:17px 9px; } .inbox-row .avatar { width:28px; height:28px; font-size:11px; } .section-heading h2 { font-size:30px; } .dom-row { flex-wrap:wrap; gap:8px; } .dom-badge { margin-left:40px; } .quota-card { padding:22px 18px; } #planos .wrap, #dominio-proprio .wrap, #sobre .wrap { gap:32px !important; } #planos .wrap > div, #dominio-proprio .wrap > div { flex-basis:100% !important; min-width:0; } .final-cta h2 { font-size:34px; } }

.domain-choice { display:block; max-width:465px; margin-top:18px; font-size:13px; line-height:1.7; color:var(--ink-soft); }
.domain-choice strong { color:var(--blue); }
.domain-choice:hover strong { text-decoration:underline; }
.inbox-wrap { min-width:0; }

.signup-modal { width:min(510px,calc(100% - 32px)); max-height:calc(100dvh - 40px); padding:0; border:1px solid var(--line); border-radius:20px; color:var(--ink); background:#fff; box-shadow:0 35px 100px #0b234950; overflow:hidden; }
.signup-modal.domain-modal { width:min(630px,calc(100% - 32px)); }
.signup-modal::backdrop { background:#10234270; backdrop-filter:blur(5px); }
.signup-modal-bar { display:flex; align-items:center; gap:12px; padding:12px 18px; border-bottom:1px solid var(--line); font-size:15px; font-weight:800; }
.signup-modal-bar > span { flex:1; }
.modal-close, .modal-back { display:flex; align-items:center; justify-content:center; width:34px; height:34px; border:0; border-radius:9px; background:var(--blue-soft); color:var(--blue); cursor:pointer; font-size:24px; }
.modal-back[hidden] { display:none; }
.signup-modal iframe { display:block; width:100%; height:min(560px,calc(100dvh - 105px)); border:0; background:#fff; }
@media(max-width:600px) { .signup-modal { max-height:calc(100dvh - 24px); } .signup-modal iframe { height:calc(100dvh - 100px); } }
