@media (max-width: 900px) {
  .marketing-page.itaborai-theme .hero { padding-top: 65px; padding-bottom: 75px; border-radius: 0 0 38px 38px; }
  .marketing-page.itaborai-theme .dashboard-preview { border-width: 5px; }
}
@media (max-width: 620px) {
  .marketing-page.itaborai-theme .hero { padding-right: 16px; padding-left: 16px; }
  .marketing-page.itaborai-theme .feature-card:nth-child(2),
  .marketing-page.itaborai-theme .feature-card:nth-child(3) { transform: none; }
  .marketing-page.itaborai-theme { overflow-x: hidden; }
  .marketing-page.itaborai-theme .site-header { width: 100%; padding: 0 16px; }
  .marketing-page.itaborai-theme .site-header > .header-actions > .button { display: none; }
  .marketing-page.itaborai-theme .hero { grid-template-columns: minmax(0, 1fr); }
  .marketing-page.itaborai-theme .hero-copy { min-width: 0; max-width: 100%; }
  .marketing-page.itaborai-theme .hero-text { width: 300px; max-width: 100%; white-space: normal; overflow-wrap: anywhere; word-break: break-word; }
  .marketing-page.itaborai-theme .trust-row > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .marketing-page.itaborai-theme .hero-visual { width: 100%; min-width: 0; }
  .marketing-page.itaborai-theme .dashboard-preview { width: 100%; min-width: 0; max-width: 100%; margin: 0; transform: none; overflow: hidden; }
}
.marketing-page.itaborai-theme .hero .text-link { color: #fff; }
.marketing-page.itaborai-theme .dashboard-preview { color: var(--ink); }
.presentation-header{border-bottom:1px solid var(--line)}.intro-hero{display:grid;grid-template-columns:minmax(0,.92fr) minmax(380px,1.08fr);align-items:center;gap:80px;padding-top:95px;padding-bottom:115px}.intro-copy h1{max-width:650px;margin:0;font:800 clamp(46px,6.1vw,84px)/.98 Manrope;letter-spacing:-.08em}.intro-copy h1 em{display:block;color:var(--orange);font-style:normal}.intro-lead{max-width:500px;margin:28px 0 31px;color:var(--muted);font-size:17px;line-height:1.7}.origin-note{display:flex;align-items:center;gap:9px;max-width:390px;margin-top:39px;color:var(--muted);font-size:12px;line-height:1.5}.origin-pin{color:var(--orange);font-size:18px}.operation-map{position:relative;min-height:490px;padding:28px 30px;border-radius:26px 26px 26px 6px;color:#fff;background:var(--dark);box-shadow:24px 25px 0 #f1b17d,0 28px 55px rgba(23,45,76,.2);overflow:hidden}.operation-map:before{position:absolute;right:-110px;bottom:-130px;width:300px;height:300px;border:1px solid rgba(255,255,255,.17);border-radius:50%;content:""}.operation-map:after{position:absolute;right:-42px;bottom:-57px;width:185px;height:185px;border:1px solid rgba(255,255,255,.17);border-radius:50%;content:""}.map-top{display:flex;align-items:center;justify-content:space-between;padding-bottom:23px;border-bottom:1px solid rgba(255,255,255,.16);font:700 14px Manrope}.map-top b{padding:6px 9px;border-radius:99px;color:#ffc08e;background:rgba(233,120,46,.18);font-size:10px}.map-line{position:relative;padding:34px 0 28px}.map-line:before{position:absolute;top:49px;bottom:49px;left:15px;border-left:1px dashed rgba(255,255,255,.36);content:""}.flow-node{position:relative;z-index:1;display:flex;align-items:center;gap:14px;min-height:85px}.flow-node i{display:grid;width:31px;height:31px;place-items:center;border:1px solid rgba(255,255,255,.28);border-radius:50%;color:#dce8f4;background:var(--dark);font:700 10px Manrope;font-style:normal}.flow-node.done i{border-color:#5ca77b;color:#fff;background:#43845d}.flow-node.current i{border-color:#f5ad72;color:#fff;background:var(--orange);box-shadow:0 0 0 6px rgba(233,120,46,.18)}.flow-node div{flex:1}.flow-node strong,.flow-node small{display:block}.flow-node strong{font:700 16px Manrope}.flow-node small{margin-top:5px;color:#aebed1;font-size:11px}.flow-node time{color:#aebed1;font-size:10px}.flow-node.current time{color:#ffc08e;font-weight:700}.map-bottom{position:relative;z-index:1;display:flex;align-items:flex-end;gap:42px;padding-top:24px;border-top:1px solid rgba(255,255,255,.16)}.map-bottom small,.map-bottom strong{display:block}.map-bottom small{color:#aebed1;font-size:10px}.map-bottom strong{margin-top:5px;color:#fff;font:800 25px Manrope}.map-arrow{margin-left:auto;color:#f5ad72;font-size:32px}.proof-band{display:flex;align-items:center;justify-content:space-between;padding:25px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:#8c8f92;font:700 11px Manrope;letter-spacing:.08em}.proof-band strong{color:var(--blue);font-size:12px}.method-section{padding:120px 0 110px}.method-section .section-heading{max-width:640px}.method-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:58px;border-top:1px solid var(--line)}.method-steps article{min-height:210px;padding:25px 25px 20px 0;border-right:1px solid var(--line)}.method-steps article+article{padding-left:25px}.method-steps article:last-child{border-right:0}.method-steps span,.tile-number{color:var(--orange);font:800 13px Manrope}.method-steps h3{margin:42px 0 10px;font:800 19px Manrope}.method-steps p{max-width:250px;margin:0;color:var(--muted);font-size:13px;line-height:1.65}.module-showcase{padding:20px 0 125px}.showcase-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:40px}.showcase-heading h2{max-width:520px;margin:0;font:800 38px/1.08 Manrope;letter-spacing:-.06em}.module-tiles{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:14px}.module-tile{display:flex;min-height:230px;flex-direction:column;justify-content:space-between;padding:25px;border:1px solid var(--line);border-radius:14px;background:#fffdf9}.module-tile.tile-large{grid-row:span 2;min-height:474px;color:#fff;background:var(--blue);border-color:var(--blue)}.module-tile.tile-orange{background:#fff0e4;border-color:#f0c5a4}.module-tile.tile-stone{background:#e8e0d6;border-color:#d6c8b8}.module-tile.tile-outline{background:transparent}.module-tile h3{margin:12px 0 9px;font:800 25px Manrope;letter-spacing:-.05em}.module-tile p{max-width:290px;margin:0;color:var(--muted);font-size:13px;line-height:1.6}.tile-large p{color:#c7d3e2}.module-tile a{color:var(--orange);font-size:12px;font-weight:700}.tile-large a{color:#ffc08e}.closing-section{padding:85px 0;color:#fff;background:var(--dark)}.closing-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.closing-inner h2{margin:0;font:800 44px/1.06 Manrope;letter-spacing:-.07em}.closing-inner .eyebrow{color:#f5ad72}.button-light{color:var(--dark);background:#fff}.site-footer{border-top:0}
@media(max-width:900px){.intro-hero{grid-template-columns:1fr;gap:55px;padding-top:70px;padding-bottom:80px}.operation-map{min-height:430px}.showcase-heading{display:block}.showcase-heading h2{margin-top:12px}.module-tiles{grid-template-columns:1fr 1fr}.module-tile.tile-large{grid-row:span 2;min-height:474px}.closing-inner{align-items:flex-start;flex-direction:column}}
@media(max-width:620px){.intro-hero{padding-top:55px;padding-bottom:70px}.intro-copy{min-width:0}.intro-copy h1{max-width:320px;font-size:39px;line-height:1.01;overflow-wrap:anywhere}.intro-lead{max-width:300px;font-size:15px;overflow-wrap:anywhere}.origin-note{max-width:300px;overflow-wrap:anywhere}.operation-map{width:100%;min-width:0;min-height:430px;padding:22px 19px;border-radius:20px 20px 20px 5px;box-shadow:12px 14px 0 #f1b17d}.proof-band{flex-wrap:wrap;gap:18px}.proof-band span{width:100%}.method-section{padding:80px 0}.method-steps{grid-template-columns:1fr;margin-top:38px}.method-steps article,.method-steps article+article{min-height:0;padding:23px 0;border-right:0;border-bottom:1px solid var(--line)}.method-steps h3{margin:22px 0 9px}.module-showcase{padding-bottom:80px}.showcase-heading h2{font-size:31px}.module-tiles{grid-template-columns:1fr}.module-tile.tile-large{grid-row:auto;min-height:300px}.module-tile{min-height:210px}.closing-inner h2{font-size:34px}}
.trial-callout { margin: 18px 0; padding: 14px 16px; border: 1px solid #f0c58a; border-radius: 14px; background: #fff6e8; color: #18304d; display: grid; gap: 4px; font-size: .88rem; }
.trial-callout span { color: #61728a; }
.signup-strip { margin-top: 54px; margin-bottom: 54px; padding: 30px 34px; border-radius: 22px; background: #eef4fb; border: 1px solid #d6e1ef; display: flex; justify-content: space-between; align-items: center; gap: 24px; }
.signup-strip h2 { margin: 0 0 8px; color: #142942; }
.signup-strip p:not(.eyebrow) { margin: 0; color: #61728a; }
@media (max-width: 700px) { .signup-strip { display: grid; padding: 24px; } }

/* Cadastro: fluxo de entrada com mais hierarquia e menos aspecto de formulario solto. */
.register-page { min-height: 100vh; background: linear-gradient(135deg, #fbf8f3 0%, #f3e9dc 100%); }
.register-shell { width: min(1180px, calc(100% - 48px)); min-height: 100vh; margin: 0 auto; padding: 28px 0 24px; }
.register-topbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.register-topbar p { margin: 0; color: var(--muted); font-size: 12px; }
.register-topbar p a { margin-left: 6px; color: var(--ink); font-weight: 700; }
.register-topbar p a span { margin-left: 5px; color: var(--orange); }
.register-grid { display: grid; grid-template-columns: minmax(0, .88fr) minmax(500px, 1.12fr); align-items: center; gap: clamp(48px, 7vw, 100px); min-height: calc(100vh - 126px); padding: 58px 0 54px; }
.register-intro { max-width: 520px; }
.register-intro h1 { max-width: 500px; margin: 0; color: var(--dark); font: 800 clamp(42px, 5vw, 68px)/1.01 Manrope; letter-spacing: -.075em; }
.register-lead { max-width: 430px; margin: 24px 0 0; color: #677184; font-size: 16px; line-height: 1.7; }
.register-benefits { display: grid; gap: 19px; margin: 38px 0 0; padding: 0; list-style: none; }
.register-benefits li { display: flex; align-items: flex-start; gap: 12px; }
.register-benefits li > i { display: grid; width: 24px; height: 24px; flex: 0 0 auto; place-items: center; margin-top: 1px; border-radius: 50%; color: #fff; background: var(--green); font: 800 12px Manrope; font-style: normal; }
.register-benefits strong, .register-benefits span { display: block; }
.register-benefits strong { color: var(--dark); font: 700 13px Manrope; }
.register-benefits span { margin-top: 4px; color: #768092; font-size: 12px; line-height: 1.45; }
.register-trust { display: flex; align-items: center; gap: 12px; width: fit-content; margin-top: 42px; padding: 12px 15px 12px 12px; border: 1px solid #e8d8c7; border-radius: 14px; background: rgba(255, 253, 249, .65); }
.register-trust-icon { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 11px; color: #fff; background: var(--orange); font: 800 12px Manrope; }
.register-trust strong, .register-trust small { display: block; }
.register-trust strong { color: var(--dark); font-size: 12px; }
.register-trust small { margin-top: 4px; color: #7d8490; font-size: 11px; }
.register-card { width: 100%; padding: clamp(26px, 4vw, 40px); border: 1px solid #eadfd2; border-radius: 24px; background: rgba(255, 253, 249, .97); box-shadow: 0 24px 65px rgba(65, 42, 22, .13); }
.register-card .auth-heading h2 { margin: 0; color: var(--dark); font: 800 clamp(27px, 3vw, 35px)/1.08 Manrope; letter-spacing: -.06em; }
.register-card .auth-heading > p:last-child { margin: 10px 0 0; color: var(--muted); font-size: 13px; }
.register-card .trial-callout { margin: 25px 0 23px; padding: 14px 16px; border: 1px solid #f0c58a; border-left: 4px solid var(--orange); border-radius: 13px; background: #fff7ed; }
.register-card .auth-form { display: grid; gap: 17px; }
.register-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.register-form-grid label { display: grid; gap: 7px; color: var(--dark); font: 700 11px Manrope; }
.register-form-grid input, .register-form-grid select { width: 100%; height: 46px; padding: 0 13px; border: 1px solid #ded8d0; border-radius: 10px; outline: 0; color: var(--ink); background: #fff; font: 400 13px 'DM Sans', sans-serif; transition: border-color .2s, box-shadow .2s; }
.register-form-grid input::placeholder { color: #a3a5a8; }
.register-form-grid input:focus, .register-form-grid select:focus { border-color: var(--orange); box-shadow: 0 0 0 4px rgba(233, 120, 46, .12); }
.register-plan-field { grid-column: 1 / -1; }
.register-card .button { min-height: 50px; margin-top: 2px; }
.register-card .form-error, .register-card .form-success { min-height: 0; margin: 0; }
.register-legal { margin: 18px 0 0; color: #90949a; font-size: 10px; text-align: center; }
.register-footer { display: flex; align-items: center; justify-content: space-between; gap: 18px; color: #8a8b8d; font-size: 11px; }
.register-footer a { color: var(--orange); font-weight: 700; }
@media (max-width: 980px) {
  .register-grid { grid-template-columns: 1fr; max-width: 640px; margin: 0 auto; padding-top: 58px; }
  .register-intro { max-width: 580px; }
  .register-intro h1 { max-width: 620px; font-size: clamp(42px, 7vw, 60px); }
  .register-lead { max-width: 530px; }
}
@media (max-width: 620px) {
  .register-shell { width: calc(100% - 32px); padding-top: 19px; }
  .register-topbar p { font-size: 0; }
  .register-topbar p a { font-size: 11px; }
  .register-grid { gap: 33px; min-height: auto; padding: 52px 0 40px; }
  .register-intro h1 { font-size: 42px; }
  .register-lead { margin-top: 17px; font-size: 14px; }
  .register-benefits { margin-top: 28px; gap: 15px; }
  .register-trust { margin-top: 27px; }
  .register-card { padding: 23px 18px; border-radius: 18px; }
  .register-card .trial-callout { margin-top: 20px; }
  .register-form-grid { grid-template-columns: 1fr; gap: 14px; }
  .register-plan-field { grid-column: auto; }
  .register-footer { align-items: flex-start; flex-direction: column; gap: 8px; padding-bottom: 18px; }
}
.showcase-lead{max-width:280px;margin:0;color:var(--muted);font-size:13px;line-height:1.65}.module-tile.tile-soft-blue{background:#eaf0f7;border-color:#cfdae8}.module-tile.tile-green{background:#edf6ef;border-color:#cfe4d4}.module-tile.tile-soft-blue h3,.module-tile.tile-green h3{color:var(--dark)}
.module-integration-flow{display:block;margin-top:14px;padding-top:10px;border-top:1px solid rgba(67,132,93,.18);color:var(--green);font:800 10px Manrope;letter-spacing:.02em}

/* Padroniza a marca nas telas de entrada e no portal da marmoraria. */
.itaborai-theme .brand-lockup{display:inline-flex;align-items:center;gap:11px;min-width:0}
.itaborai-theme .brand-logo-frame{display:grid;width:58px;height:58px;flex:0 0 58px;place-items:center;overflow:hidden;border:1px solid #e5d9ca;border-radius:15px;background:#fffaf4;box-shadow:0 8px 18px rgba(48,35,23,.08)}
.itaborai-theme .brand-lockup .brand-logo{width:100%;height:100%;padding:3px;object-fit:contain;background:transparent;border-radius:12px}
.itaborai-theme .brand-copy{display:grid;gap:2px;min-width:0}
.itaborai-theme .brand-copy strong{color:var(--dark);font:800 19px/1 Manrope;letter-spacing:-.055em}
.itaborai-theme .brand-copy strong span{color:var(--orange)}
.itaborai-theme .brand-copy small{color:#8a8b8d;font:700 9px/1.2 Manrope;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.itaborai-theme .auth-brand-panel .brand-logo-frame{border-color:rgba(255,255,255,.25);background:#fff}
.itaborai-theme .auth-brand-panel .brand-copy strong{color:#fff}
.itaborai-theme .auth-brand-panel .brand-copy small{color:#c7d3e2}
.itaborai-theme .tenant-top>.brand-lockup{margin-bottom:12px}

/* Organiza a marca administrativa sem reduzir o simbolo dentro de uma faixa branca. */
.itaborai-theme .admin-auth-shell>.admin-brand-lockup{gap:12px;margin-bottom:42px}
.itaborai-theme .admin-auth-shell>.admin-brand-lockup .brand-logo-frame{width:70px;height:70px;flex-basis:70px;border-radius:18px;background:#fff;box-shadow:0 12px 25px rgba(30,52,82,.14)}
.itaborai-theme .admin-auth-shell>.admin-brand-lockup .brand-copy strong{font-size:24px}
.itaborai-theme .admin-auth-shell>.admin-brand-lockup .brand-copy small{font-size:10px}
.itaborai-theme .admin-sidebar-brand{gap:8px}
.itaborai-theme .admin-sidebar-brand .brand-logo-frame{width:42px;height:42px;flex-basis:42px;border-radius:11px;box-shadow:0 5px 14px rgba(48,35,23,.08)}
.itaborai-theme .admin-sidebar-brand .brand-copy strong{font-size:14px}
.itaborai-theme .admin-sidebar-brand .brand-copy small{font-size:6px;letter-spacing:.04em}

/* Reforca a identidade visual sem comprimir a logo quadrada em uma faixa horizontal. */
.marketing-page.itaborai-theme .brand-lockup{display:inline-flex;align-items:center;gap:11px;min-width:0}
.marketing-page.itaborai-theme .brand-logo-frame{display:grid;width:58px;height:58px;flex:0 0 58px;place-items:center;overflow:hidden;border:1px solid #e5d9ca;border-radius:15px;background:#fffaf4;box-shadow:0 8px 18px rgba(48,35,23,.08)}
.marketing-page.itaborai-theme .brand-lockup .brand-logo{width:100%;height:100%;padding:3px;object-fit:contain;background:transparent;border-radius:12px}
.marketing-page.itaborai-theme .brand-copy{display:grid;gap:2px;min-width:0}
.marketing-page.itaborai-theme .brand-copy strong{color:var(--dark);font:800 19px/1 Manrope;letter-spacing:-.055em}
.marketing-page.itaborai-theme .brand-copy strong span{color:var(--orange)}
.marketing-page.itaborai-theme .brand-copy small{color:#8a8b8d;font:700 9px/1.2 Manrope;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.marketing-page.itaborai-theme .intro-copy h1{letter-spacing:-.065em}
.marketing-page.itaborai-theme .operation-map{box-shadow:18px 20px 0 #f1b17d,0 28px 55px rgba(23,45,76,.16)}
.marketing-page.itaborai-theme .module-tile{box-shadow:0 8px 20px rgba(48,35,23,.045)}
.marketing-page.itaborai-theme .module-tile.tile-large{box-shadow:0 14px 28px rgba(23,45,76,.18)}
.marketing-page.itaborai-theme .site-footer{gap:28px;padding-top:30px;padding-bottom:30px}
.marketing-page.itaborai-theme .site-footer>span{flex:1;max-width:300px}
@media(max-width:620px){
  /* Mantem a marca legivel sem ocupar o espaco dos botoes no celular. */
  .itaborai-theme .brand-logo-frame{width:48px;height:48px;flex-basis:48px;border-radius:12px}
  .itaborai-theme .brand-copy strong{font-size:16px}
  .itaborai-theme .brand-copy small{font-size:7px}
  .marketing-page.itaborai-theme .brand-logo-frame{width:48px;height:48px;flex-basis:48px;border-radius:12px}
  .marketing-page.itaborai-theme .brand-copy strong{font-size:16px}
  .marketing-page.itaborai-theme .brand-copy small{font-size:7px}
  .marketing-page.itaborai-theme .site-footer{gap:16px;padding-top:26px;padding-bottom:26px}
  .itaborai-theme .admin-auth-shell>.admin-brand-lockup{margin-bottom:30px}
  .itaborai-theme .admin-auth-shell>.admin-brand-lockup .brand-logo-frame{width:58px;height:58px;flex-basis:58px}
  .itaborai-theme .admin-auth-shell>.admin-brand-lockup .brand-copy strong{font-size:19px}
  .itaborai-theme .admin-auth-shell>.admin-brand-lockup .brand-copy small{font-size:8px}
}
