/* ============================================================================
 * CuideAI — front institucional do deck nesa (layout cuideai-paginas/index.html)
 * Carrega como COMPLEMENTO do style base do default-schedule (Default_Style_Base).
 * Todas as classes são prefixadas cui- — sem redefinir .container/.section nem
 * nada do Bootstrap. Cores da identidade CuideAI (marca do produto, fixas).
 * ========================================================================== */

:root{
	--cui-ink:#173247;
	--cui-navy:#073b63;
	--cui-navy-hover:#0a527c;
	--cui-cyan:#00b7d9;
	--cui-cyan-deep:#0096b8;
	--cui-muted:#5f7485;
	--cui-slate:#435e70;
	--cui-line:#d9e7ee;
	--cui-soft:#f7fbfd;
	--cui-ice:#e9f9fc;
	--cui-coral-soft:#fff0f1;
}

/* ---- base da landing ---- */
.cui-landing,
.cui-header,
.cui-footer{
	font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
	color:var(--cui-ink);
	line-height:1.55;
}
.cui-landing img{ max-width:100%; }
.cui-landing h1, .cui-landing h2, .cui-landing h3{ margin:0; color:var(--cui-navy); line-height:1.08; }
.cui-landing a{ color:inherit; }
.cui-landing a:hover{ color:var(--cui-navy-hover); }

.cui-section{ padding:4rem 0; }
.cui-bg-soft{ background:linear-gradient(180deg, var(--cui-soft), #eff8fb); }
.cui-bordered{ background:var(--cui-soft); border-top:1px solid var(--cui-line); border-bottom:1px solid var(--cui-line); }
.cui-bg-deep{ background:linear-gradient(120deg, #063d65, #086e8b); color:#ffffff; }
.cui-bg-deeper{ background:linear-gradient(125deg, #052f52 0%, #087c9e 100%); color:#ffffff; }

.cui-eyebrow{ font-size:.78rem; letter-spacing:.13em; text-transform:uppercase; font-weight:800; color:#007c99; margin:0 0 .75rem; }
.cui-eyebrow-light{ color:#8eefff; }
.cui-brandcase{ text-transform:none; letter-spacing:.04em; }
.cui-h1{ font-size:clamp(2.7rem, 6vw, 5.4rem); letter-spacing:-.045em; max-width:53rem; font-weight:700; }
.cui-h1 span{ color:var(--cui-cyan-deep); }
.cui-h2{ font-size:clamp(2rem, 4vw, 3.3rem); letter-spacing:-.03em; font-weight:700; }
.cui-h3{ font-size:1.12rem; font-weight:700; }
.cui-accent{ color:var(--cui-cyan-deep); }
.cui-landing .cui-accent-light{ color:#8eefff; }
.cui-landing .cui-text-white{ color:#ffffff; }
.cui-lead{ margin-top:1.12rem; font-size:1.05rem; color:var(--cui-slate); max-width:45rem; }
.cui-lead-light{ color:rgba(255,255,255,.88); }
.cui-section-head{ max-width:53rem; margin-bottom:2.38rem; }
.cui-section-head .cui-lead{ margin-top:.88rem; color:var(--cui-muted); }
.cui-mb-sm{ margin-bottom:1.12rem; }

/* ---- header ---- */
.cui-header{
	position:sticky; top:0; z-index:50;
	background:rgba(255,255,255,.94);
	backdrop-filter:blur(14px);
	border-bottom:1px solid rgba(217,231,238,.78);
}
.cui-nav{ min-height:4.88rem; display:flex; align-items:center; justify-content:space-between; gap:1.75rem; flex-wrap:wrap; padding-top:.75rem; padding-bottom:.75rem; }
.cui-brand{ display:block; }
.cui-brand-logo{ width:8.75rem; height:auto; display:block; }
.cui-nav-links{ display:none; order:3; width:100%; flex-direction:column; align-items:flex-start; gap:.25rem; padding:.38rem 0 .62rem; font-size:.93rem; font-weight:700; color:#23485f; }
.cui-nav-links.cui-open{ display:flex; }
.cui-nav-links a{ text-decoration:none; position:relative; padding:.62rem 0; }
.cui-nav-links a:hover{ color:var(--cui-navy); }
.cui-nav-actions{ display:flex; align-items:center; gap:.62rem; }
.cui-btn-entrar{
	display:inline-flex; align-items:center; gap:.5rem;
	min-height:2.75rem; padding:0 1rem; border-radius:.75rem;
	background:var(--cui-navy); color:#ffffff; font-weight:800; font-size:.93rem;
	text-decoration:none; transition:background .2s;
}
.cui-btn-entrar:hover{ background:var(--cui-navy-hover); color:#ffffff; }
.cui-menu-button{
	display:flex; border:0; background:transparent; width:2.75rem; height:2.75rem;
	border-radius:.75rem; align-items:center; justify-content:center; cursor:pointer; color:var(--cui-navy);
}

/* ---- hero ---- */
.cui-hero{ overflow:hidden; background:linear-gradient(125deg, #f7fdff 0%, #ffffff 53%, #eefbfe 100%); border-bottom:1px solid var(--cui-line); }
.cui-hero-inner{ display:grid; grid-template-columns:1fr; align-items:center; gap:2.38rem; padding-top:3rem; padding-bottom:3.88rem; }
.cui-hero-sub{ font-size:clamp(1.17rem, 2.1vw, 1.55rem); font-weight:700; color:var(--cui-navy); margin-top:1.38rem; max-width:45rem; line-height:1.4; }
.cui-hero-text{ margin-top:1.06rem; font-size:1.07rem; color:var(--cui-muted); max-width:41.88rem; }
.cui-hero-art{ min-height:23.75rem; position:relative; display:flex; align-items:center; justify-content:center; }
.cui-orbit{
	width:18.75rem; aspect-ratio:1; border-radius:50%; position:relative; margin-right:2.5rem;
	background:radial-gradient(circle at 46% 44%, #fff 0 31%, rgba(0,183,217,.10) 32% 53%, rgba(255,95,97,.07) 54% 67%, transparent 68%);
	border:1px solid rgba(0,183,217,.13);
}
.cui-orbit-ring{ position:absolute; inset:15%; border-radius:50%; border:1px dashed rgba(7,59,99,.32); }
.cui-orbit-core{
	position:absolute; inset:30%; border-radius:50%;
	background:linear-gradient(145deg, #073b63, #0a8fb0);
	display:grid; place-items:center; color:#ffffff; text-align:center; padding:1.25rem;
	box-shadow:0 25px 65px rgba(7,59,99,.24);
}
.cui-orbit-core strong{ font-size:1.2rem; display:block; line-height:1.05; }
.cui-orbit-core span{ font-size:.8rem; opacity:.92; }
.cui-node{
	position:absolute; width:5.75rem; min-height:4.5rem;
	background:#fff; border:1px solid var(--cui-line); border-radius:1.12rem; padding:.5rem;
	box-shadow:0 10px 28px rgba(7,59,99,.10);
	font-size:.64rem; font-weight:800; color:var(--cui-navy);
	display:flex; flex-direction:column; gap:.44rem; align-items:center; justify-content:center; text-align:center; line-height:1.25;
}
.cui-node i{ width:1.62rem; height:1.62rem; border-radius:50%; background:var(--cui-ice); display:grid; place-items:center; font-style:normal; color:var(--cui-navy); font-size:.82rem; }
.cui-n1{ top:2%; left:34%; } .cui-n2{ top:32%; right:-6%; } .cui-n3{ bottom:5%; right:16%; } .cui-n4{ bottom:10%; left:3%; } .cui-n5{ top:29%; left:-6%; }
.cui-character{ position:absolute; right:0; bottom:0; height:12.5rem; width:auto; z-index:2; pointer-events:none; }
.cui-character-shadow{ position:absolute; right:6px; bottom:0; width:5rem; height:1rem; border-radius:50%; background:rgba(7,59,99,.12); filter:blur(4px); }

/* ---- jornada (o desafio) ---- */
.cui-two-col{ display:grid; grid-template-columns:1fr; gap:4rem; align-items:center; }
.cui-badge-origin{ display:inline-block; margin-top:1.5rem; padding:.81rem 1.12rem; background:var(--cui-coral-soft); font-weight:800; color:var(--cui-navy); border-radius:.75rem; }
.cui-journey{ display:grid; grid-template-columns:1fr; gap:.88rem; max-width:22.5rem; margin-inline:auto; width:100%; }
.cui-journey-step{ position:relative; display:grid; grid-template-columns:3.62rem 1fr; align-items:center; text-align:left; gap:.75rem; }
.cui-journey-step > span{ font-size:.8rem; font-weight:800; color:#36566b; line-height:1.2; display:block; }
.cui-journey-icon{
	width:3.38rem; height:3.38rem; border-radius:50%;
	background:var(--cui-ice); border:1px solid #cdebf2;
	display:grid; place-items:center; color:var(--cui-navy); font-size:1.05rem; font-weight:900;
}
.cui-journey-icon-final{ background:linear-gradient(145deg, #073b63, #0a8fb0); color:#ffffff; border-color:transparent; }
.cui-journey-arrow{ display:none; position:absolute; right:-10px; top:.94rem; color:#7cbfd1; font-weight:900; }

/* ---- origem e solução ---- */
.cui-origin-grid{ display:grid; grid-template-columns:1fr; gap:3.5rem; align-items:center; }
.cui-chips{ margin-top:1.25rem; display:flex; flex-wrap:wrap; gap:.62rem; }
.cui-chip{ background:#ffffff; border:1px solid var(--cui-line); border-radius:999px; padding:.56rem .88rem; font-size:.88rem; font-weight:700; color:var(--cui-navy); }
.cui-panel-card{
	background:#ffffff; border:1px solid var(--cui-line); border-radius:1.38rem; padding:2.12rem;
	box-shadow:0 18px 55px rgba(7,59,99,.10);
}
.cui-panel-card img{ display:block; margin:0 auto 1rem; }
.cui-panel-card p{ font-size:.95rem; color:var(--cui-muted); text-align:center; }

/* ---- cards ---- */
.cui-cards-2, .cui-cards-3, .cui-cards-4{ display:grid; grid-template-columns:1fr; gap:1.25rem; }
.cui-cards-4{ gap:1.06rem; }
.cui-card{
	border:1px solid var(--cui-line); background:#ffffff; border-radius:.94rem; padding:1.75rem;
	box-shadow:0 10px 28px rgba(7,59,99,.06);
}
.cui-card p{ color:var(--cui-muted); font-size:.94rem; margin-top:.62rem; }
.cui-card-icon{
	width:2.88rem; height:2.88rem; border-radius:.81rem; background:var(--cui-ice);
	display:grid; place-items:center; font-size:1.2rem; margin-bottom:1.12rem; color:var(--cui-navy);
}
.cui-card-round{ background:#ffffff; border:1px solid var(--cui-line); border-radius:1.38rem; padding:1.88rem; position:relative; overflow:hidden; }
.cui-card-round h3{ position:relative; }
.cui-card-round p{ position:relative; margin-top:.62rem; color:var(--cui-muted); font-size:.94rem; }
.cui-card-round::before{ content:""; position:absolute; width:6.88rem; height:6.88rem; border-radius:50%; right:-30px; top:-35px; }
.cui-deco-cyan::before{ background:var(--cui-ice); }
.cui-deco-coral::before{ background:var(--cui-coral-soft); }
.cui-note-lgpd{
	margin-top:1.38rem; padding:1.12rem 1.25rem; border-radius:.88rem;
	background:#e9f6f5; border:1px solid #cde7e4; color:#315a5d; font-size:.92rem;
}
.cui-note-lgpd strong{ color:#164d51; }
.cui-publics{ margin:1.12rem 0 2.12rem; font-size:.9rem; color:var(--cui-muted); font-weight:700; }
.cui-card-top{ border:1px solid var(--cui-line); border-top:4px solid var(--cui-cyan); background:#ffffff; border-radius:.88rem; padding:1.38rem; min-height:10.38rem; }
.cui-card-top p{ margin-top:.56rem; color:var(--cui-muted); font-size:.9rem; }

/* ---- princípio (humano) ---- */
.cui-human-grid{ display:grid; grid-template-columns:1fr; gap:2.38rem; align-items:center; }
.cui-human-art{
	min-height:16.25rem; border-radius:1.38rem; position:relative; overflow:hidden;
	background:radial-gradient(circle at 35% 35%, rgba(255,255,255,.24), transparent 28%), linear-gradient(135deg, rgba(0,183,217,.75), rgba(255,95,97,.42));
}
.cui-human-circle{ position:absolute; border-radius:50%; border:2px solid rgba(255,255,255,.55); }
.cui-hc1{ width:9.38rem; height:9.38rem; left:4.38rem; top:2.81rem; }
.cui-hc2{ width:5.5rem; height:5.5rem; right:3.5rem; bottom:5.75rem; }
.cui-human-quote{
	position:absolute; left:1.5rem; right:1.5rem; bottom:1.38rem;
	background:rgba(255,255,255,.94); color:var(--cui-navy);
	padding:.94rem 1.06rem; border-radius:.88rem; font-weight:800;
}

/* ---- CTA final ---- */
.cui-cta-title{ max-width:57.5rem; }
.cui-cta-text{ max-width:50rem; margin-top:1rem; }
.cui-btn-outline{
	display:inline-flex; margin-top:1.62rem; text-decoration:none;
	border:1px solid rgba(255,255,255,.7); padding:.75rem 1.12rem; border-radius:.75rem;
	font-weight:800; color:#ffffff; transition:.2s;
}
.cui-btn-outline:hover{ background:#ffffff; color:var(--cui-navy); }

/* ---- contato ---- */
.cui-contact-grid{ display:grid; grid-template-columns:1fr; gap:3.5rem; align-items:start; }
.cui-contact-links{ margin-top:1.75rem; display:flex; flex-direction:column; gap:.88rem; }
.cui-contact-links a{ display:flex; align-items:center; gap:.88rem; text-decoration:none; color:var(--cui-navy); font-weight:700; }
.cui-contact-icon{ width:2.75rem; height:2.75rem; border-radius:50%; background:var(--cui-ice); display:grid; place-items:center; color:var(--cui-navy); flex:none; }
.cui-contact-form{
	background:#ffffff; border:1px solid var(--cui-line); border-radius:1.38rem; padding:2.12rem;
	box-shadow:0 18px 55px rgba(7,59,99,.10);
	display:flex; flex-direction:column; gap:1.12rem;
}
#cui-form-ok{ padding:.88rem 1rem; border-radius:.75rem; background:#e9f6f5; border:1px solid #cde7e4; color:#164d51; font-weight:700; }
#cui-form-error{ padding:.88rem 1rem; border-radius:.75rem; background:var(--cui-coral-soft); border:1px solid #f3cdd0; color:#8c2f36; font-weight:700; }
.cui-field{ display:flex; flex-direction:column; gap:.44rem; }
.cui-field label{ font-size:.86rem; font-weight:700; color:var(--cui-navy); }
.cui-field input, .cui-field select, .cui-field textarea{
	font:inherit; font-size:.97rem; color:var(--cui-ink); background:#ffffff;
	border:1px solid #c5d8e2; border-radius:.75rem; padding:0 .88rem; min-height:3rem; width:100%;
}
.cui-field textarea{ padding:.81rem .88rem; min-height:8.75rem; resize:vertical; }
.cui-field input:focus, .cui-field select:focus, .cui-field textarea:focus{ outline:3px solid rgba(0,183,217,.35); border-color:var(--cui-navy-hover); }
.cui-form-row{ display:grid; grid-template-columns:1fr; gap:1rem; }
.cui-form-foot{ display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap; }
.cui-form-foot p{ font-size:.82rem; color:var(--cui-muted); max-width:22.5rem; }
.cui-btn-primary{
	display:inline-flex; align-items:center; justify-content:center; gap:.62rem;
	min-height:3.12rem; padding:0 1.62rem; border:0; border-radius:.75rem;
	background:var(--cui-navy); color:#ffffff; font:inherit; font-weight:800; cursor:pointer; transition:background .2s;
}
.cui-btn-primary:hover{ background:var(--cui-navy-hover); }
.cui-btn-primary[disabled]{ opacity:.6; cursor:default; }

/* ---- footer + FAB ---- */
.cui-footer{ padding:2rem 0; background:#ffffff; border-top:1px solid var(--cui-line); }
.cui-footer-inner{ display:flex; align-items:center; justify-content:space-between; gap:1.5rem 1.88rem; flex-wrap:wrap; }
.cui-footer-inner img{ width:10.62rem; height:auto; }
.cui-footer-links{ display:flex; flex-wrap:wrap; gap:.5rem 1.62rem; font-size:.88rem; font-weight:700; color:#23485f; }
.cui-footer-links a{ text-decoration:none; padding:.5rem 0; }
.cui-footer-links a:hover{ color:var(--cui-navy); text-decoration:underline; }
.cui-footer-tagline{ font-size:.82rem; color:var(--cui-muted); }
.cui-wa-fab{
	position:fixed; right:1rem; bottom:1rem; z-index:999;
	width:3.5rem; height:3.5rem; border-radius:50%;
	background:#1faa59; color:#ffffff; display:grid; place-items:center;
	box-shadow:0 12px 30px rgba(7,59,99,.28); text-decoration:none; transition:transform .2s;
}
.cui-wa-fab:hover{ transform:scale(1.07); color:#ffffff; }

/* ---- ≥ 620px ---- */
@media (min-width: 38.75em){
	.cui-section{ padding:5.5rem 0; }
	.cui-brand-logo{ width:12.5rem; }
	.cui-btn-entrar{ padding:0 1.38rem; }
	.cui-form-row{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
	.cui-cards-2{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
	.cui-cards-4{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
	.cui-hero-art{ min-height:29.38rem; }
	.cui-orbit{ width:min(26.25rem, 84%); margin-right:5.62rem; }
	.cui-node{ width:7.75rem; min-height:5.38rem; font-size:.77rem; padding:.75rem; }
	.cui-node i{ width:2.12rem; height:2.12rem; font-size:1rem; }
	.cui-character{ height:18.75rem; }
	.cui-character-shadow{ width:7.5rem; }
	.cui-wa-fab{ right:1.5rem; bottom:1.5rem; width:3.88rem; height:3.88rem; }
}

/* ---- ≥ 900px ---- */
@media (min-width: 56.25em){
	.cui-nav{ flex-wrap:nowrap; padding-top:0; padding-bottom:0; }
	.cui-nav-links{ display:flex; order:0; width:auto; flex-direction:row; align-items:center; gap:1.62rem; padding:0; }
	.cui-menu-button{ display:none; }
	.cui-hero-inner{ grid-template-columns:1.08fr .92fr; padding-top:4.38rem; padding-bottom:4.38rem; min-height:40.62rem; }
	.cui-two-col{ grid-template-columns:.95fr 1.05fr; }
	.cui-origin-grid{ grid-template-columns:1.15fr .85fr; }
	.cui-human-grid{ grid-template-columns:.85fr 1.15fr; }
	.cui-contact-grid{ grid-template-columns:.85fr 1.15fr; }
	.cui-cards-3{ grid-template-columns:repeat(3, minmax(0, 1fr)); }
	.cui-cards-4{ grid-template-columns:repeat(4, minmax(0, 1fr)); }
	.cui-journey{ grid-template-columns:repeat(5, minmax(0, 1fr)); gap:.5rem; max-width:none; margin-inline:0; }
	.cui-journey-step{ display:block; text-align:center; }
	.cui-journey-icon{ margin:0 auto .56rem; }
	.cui-journey-arrow{ display:block; }
}
