:root { --ink:#12201d; --muted:#65736e; --brand:#103d3a; --accent:#c77727; --soft:#f4f7f5; --line:#d9e5df; --paper:#fff; --danger:#b42318; --ok:#117a42; }
* { box-sizing: border-box; }
body { margin:0; font-family: Inter, system-ui, -apple-system, Segoe UI, sans-serif; color:var(--ink); background:var(--soft); }
a { color:inherit; }
.site-hero { min-height: 620px; color:#fff; background: linear-gradient(135deg, rgba(16,61,58,.95), rgba(15,118,110,.86)), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1200' height='760'%3E%3Crect width='1200' height='760' fill='%23103d3a'/%3E%3Cg stroke='%23f4cc7b' stroke-opacity='.25' fill='none'%3E%3Cpath d='M120 160h960M120 300h960M120 440h960M120 580h960M300 80v600M600 80v600M900 80v600'/%3E%3C/g%3E%3C/svg%3E"); background-size: cover; }
.nav, .topbar { display:flex; justify-content:space-between; align-items:center; gap:18px; padding:18px clamp(18px, 5vw, 64px); }
.nav a, .topbar a { text-decoration:none; margin-left:14px; font-weight:700; }
.brand { font-size:24px; font-weight:900; margin-left:0 !important; }
.hero-grid { display:grid; grid-template-columns: minmax(0,1.15fr) minmax(280px,.85fr); gap:28px; align-items:center; padding:50px clamp(18px, 5vw, 64px) 80px; }
.hero-grid h1 { max-width:850px; font-size: clamp(38px, 6vw, 76px); line-height:.98; margin:8px 0 18px; }
.lead { color:#e5f1ee; max-width:720px; font-size:18px; }
.eyebrow { color:#0f766e; text-transform:uppercase; font-size:12px; font-weight:900; margin:0 0 8px; }
.site-hero .eyebrow { color:#f4cc7b; }
.actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:22px; }
.button, button { display:inline-flex; align-items:center; justify-content:center; border:0; min-height:40px; padding:10px 14px; border-radius:8px; background:#e8f3ef; color:var(--brand); font-weight:800; text-decoration:none; cursor:pointer; }
.button.primary, button.primary, form button[type=submit] { background:#f4cc7b; color:#13201e; }
.button.ghost { background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.32); color:#fff; }
.hero-card, .panel, .cards article, .job-card { background:var(--paper); color:var(--ink); border:1px solid var(--line); border-radius:8px; padding:20px; box-shadow:0 16px 38px rgba(19,32,29,.08); }
.hero-card { background:rgba(255,255,255,.95); }
.container { width:min(1180px, calc(100vw - 32px)); margin:24px auto; }
.narrow { width:min(760px, calc(100vw - 32px)); }
.narrow-panel { max-width:520px; margin:auto; }
.cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.cards b { font-size:24px; display:block; }
.panel { margin-bottom:18px; }
.section-head { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.job-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.topbar { background:#fff; border-bottom:1px solid var(--line); }
.topbar h1 { margin:0; }
label { display:grid; gap:6px; margin:12px 0; font-weight:700; }
input, textarea, select { width:100%; border:1px solid var(--line); border-radius:8px; padding:11px; font:inherit; background:#fff; }
textarea { min-height:92px; resize:vertical; }
.check { display:flex; align-items:flex-start; gap:8px; }
.check input { width:auto; margin-top:4px; }
.form-step { display:none; }
.form-step.active { display:block; }
.hidden { display:none !important; }
.progress { height:12px; background:#e2ebe7; border-radius:999px; overflow:hidden; }
.progress span { display:block; height:100%; width:16%; background:linear-gradient(90deg, #0f766e, #f4cc7b); }
.step-actions, .toolbar { display:flex; gap:10px; flex-wrap:wrap; margin-top:18px; }
.muted { color:var(--muted); }
table { width:100%; border-collapse:collapse; min-width:760px; font-size:14px; }
th, td { padding:11px; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; }
th { background:#eef5f2; color:var(--muted); text-transform:uppercase; font-size:12px; }
.table-scroll { overflow:auto; }
.pill { display:inline-flex; padding:4px 8px; border-radius:999px; background:#eef5f2; color:var(--brand); font-size:12px; }
.footer { text-align:center; padding:28px; color:var(--muted); }
@media (max-width: 860px) { .hero-grid, .cards, .job-grid { grid-template-columns:1fr; } .nav, .topbar { display:block; } .nav div, .topbar nav { margin-top:12px; } table { min-width:680px; } }

body.marketing-body { background:#eef4f1; }
.marketing-hero { position:relative; overflow:hidden; min-height:auto; padding-bottom:20px; }
.marketing-hero::after { content:""; position:absolute; inset:auto -10% -120px auto; width:480px; height:480px; background:radial-gradient(circle, rgba(244,204,123,.22), transparent 65%); pointer-events:none; }
.nav-links { display:flex; gap:12px; flex-wrap:wrap; }
.marketing-grid { padding-top:32px; }
.hero-visual { display:grid; gap:16px; }
.glass-card { background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.2); backdrop-filter: blur(8px); border-radius:18px; padding:22px; box-shadow:0 20px 40px rgba(0,0,0,.12); }
.glass-card h3, .glass-card p, .glass-card li { color:#fff; }
.glass-card ul { margin:0; padding-left:18px; display:grid; gap:8px; }
.visual-main { transform:translateY(14px); }
.visual-side { margin-left:38px; }
.trust-strip { display:flex; gap:10px; flex-wrap:wrap; margin-top:18px; }
.trust-strip span { display:inline-flex; padding:8px 12px; border-radius:999px; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.16); font-size:13px; }
.section { margin:26px auto; }
.section-intro { max-width:760px; margin-bottom:18px; }
.section-intro.center { text-align:center; margin-inline:auto; }
.feature-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.feature-card, .stat-card, .faq-item, .process-grid article { background:#fff; border:1px solid var(--line); border-radius:18px; padding:22px; box-shadow:0 16px 38px rgba(19,32,29,.06); }
.feature-card h3, .faq-item h3 { margin-top:0; }
.stats-band { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-top:-32px; position:relative; z-index:2; }
.stat-card b { display:block; font-size:20px; margin-bottom:4px; }
.split-section { display:grid; grid-template-columns:1.15fr .85fr; gap:18px; align-items:center; }
.pill-row { display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; }
.pill.big { padding:8px 12px; font-size:14px; }
.testimonial-panel { border-radius:18px; }
.process-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.process-grid article span { display:inline-flex; width:44px; height:44px; border-radius:50%; align-items:center; justify-content:center; background:#eef5f2; color:var(--brand); font-weight:900; margin-bottom:12px; }
.jobs-panel { border-radius:18px; }
.cta-band { display:flex; align-items:center; justify-content:space-between; gap:14px; background:linear-gradient(135deg,#103d3a,#0f766e); color:#fff; border-radius:20px; padding:26px; }
.faq-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.footer-rich { background:#102421; color:#d5e4de; margin-top:28px; }
.footer-grid { display:grid; grid-template-columns:1.2fr 1fr 1fr 1fr; gap:18px; align-items:flex-start; padding-block:20px; }
.footer-grid h3, .footer-grid h4 { color:#fff; margin-top:0; }
.footer-grid a { display:block; color:#d5e4de; text-decoration:none; margin:6px 0; }
.banner-panel { border-radius:18px; }
.topbar-marketing { position:sticky; top:0; z-index:20; background:rgba(255,255,255,.95); backdrop-filter: blur(10px); }
.footer-mini { text-align:center; padding:18px 0 26px; color:var(--muted); }
.auth-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.small-link a { color:var(--brand); }
.logo-preview { max-width:180px; max-height:72px; display:block; margin:8px 0; }
@media (max-width: 960px) { .feature-grid, .process-grid, .faq-list, .stats-band, .footer-grid, .auth-grid, .split-section { grid-template-columns:1fr 1fr; } }
@media (max-width: 860px) { .hero-grid, .cards, .job-grid, .feature-grid, .process-grid, .faq-list, .stats-band, .footer-grid, .auth-grid, .split-section { grid-template-columns:1fr; } .nav, .topbar { display:block; } .nav div, .topbar nav { margin-top:12px; } .cta-band { display:block; } .visual-side { margin-left:0; } }

.floating-contact { position:fixed; right:18px; bottom:18px; z-index:9999; display:flex; flex-direction:column; gap:10px; align-items:flex-end; }
.float-btn { min-width:132px; min-height:48px; padding:12px 16px; border-radius:999px; display:flex; align-items:center; justify-content:center; gap:8px; text-decoration:none; color:#fff; font-weight:900; box-shadow:0 16px 34px rgba(0,0,0,.22); border:1px solid rgba(255,255,255,.25); transition:transform .18s ease, box-shadow .18s ease; }
.float-btn:hover { transform:translateY(-2px); box-shadow:0 20px 42px rgba(0,0,0,.28); }
.float-btn.whatsapp { background:linear-gradient(135deg,#128c7e,#25d366); }
.float-btn.email { background:linear-gradient(135deg,#103d3a,#0f766e); }
.float-btn::before { display:inline-flex; width:24px; height:24px; border-radius:50%; align-items:center; justify-content:center; background:rgba(255,255,255,.18); font-size:14px; }
.float-btn.whatsapp::before { content:'☎'; }
.float-btn.email::before { content:'✉'; }
@media (max-width:640px) { .floating-contact { right:12px; bottom:12px; } .float-btn { min-width:52px; width:52px; height:52px; padding:0; border-radius:50%; } .float-btn span { display:none; } }

.language-toggle { position:fixed; right:18px; top:84px; z-index:9998; display:flex; gap:6px; background:rgba(255,255,255,.92); border:1px solid var(--line); border-radius:999px; padding:6px; box-shadow:0 12px 30px rgba(19,32,29,.12); backdrop-filter:blur(8px); }
.language-toggle button { min-height:32px; padding:7px 10px; border-radius:999px; background:transparent; color:var(--brand); font-size:12px; }
.language-toggle button.active { background:var(--brand); color:#fff; }
@media (max-width:640px) { .language-toggle { top:auto; bottom:132px; right:12px; flex-direction:column; border-radius:18px; } .language-toggle button { min-width:78px; } }
/* Split-portal polished UI upgrade */
.portal-body{background:linear-gradient(180deg,#eef7f4,#fff);color:#10201d}.portal-header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.92);backdrop-filter:blur(16px);border-bottom:1px solid #dce9e4;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:16px clamp(16px,4vw,48px)}.portal-brand{font-weight:950;font-size:22px;text-decoration:none;color:#0b3d3a}.portal-header nav{display:flex;gap:14px;flex-wrap:wrap}.portal-header nav a{text-decoration:none;font-weight:800;color:#22413d}.portal-shell{width:min(1180px,calc(100vw - 32px));margin:26px auto}.portal-hero{background:linear-gradient(135deg,#0f766e,#092f2c);color:#fff;border-radius:28px;padding:42px;box-shadow:0 24px 70px rgba(9,47,44,.18)}.portal-hero h1{color:#fff;font-size:clamp(36px,5vw,68px);line-height:1;margin:0 0 14px}.portal-hero p{color:#d8eee8;max-width:780px}.portal-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:18px}.portal-cards article,.portal-form,.form-side,.result-panel{background:#fff;border:1px solid #dce9e4;border-radius:24px;padding:24px;box-shadow:0 18px 48px rgba(9,47,44,.08)}.portal-cards b{display:block;font-size:24px;color:#092f2c}.form-layout{display:grid;grid-template-columns:.78fr 1.22fr;gap:20px;align-items:start}.form-side{position:sticky;top:98px;background:linear-gradient(135deg,#fff,#f3fbf8)}.form-side h1{font-size:42px;line-height:1;margin:0 0 10px;color:#092f2c}.mini-note{border-left:4px solid #f2be55;background:#fff9e8;padding:14px;border-radius:14px;margin-top:20px;display:grid;gap:5px}.form-block{padding:20px 0;border-bottom:1px solid #e3eee9}.form-block:first-child{padding-top:0}.form-block h2{font-size:24px;margin:0 0 14px;color:#092f2c}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}.portal-form label{font-weight:850;color:#1a3632}.portal-form input,.portal-form textarea,.portal-form select{margin-top:6px;border-radius:14px;border:1px solid #d6e5df;padding:12px;background:#fbfefd}.portal-form textarea{min-height:96px}.submit-bar{position:sticky;bottom:0;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);border:1px solid #dce9e4;border-radius:20px;padding:14px;display:flex;gap:12px;justify-content:flex-end;margin-top:18px}.button.large{min-height:54px;padding-inline:26px;font-size:16px}.button.small{min-height:38px;padding:9px 12px}.ghost-dark{background:#092f2c!important;color:#fff!important}.result-panel{grid-column:2}.actions .ghost-dark{border:1px solid #dce9e4}@media(max-width:900px){.form-layout,.portal-cards,.grid-2{grid-template-columns:1fr}.form-side{position:static}.result-panel{grid-column:auto}.portal-header{display:block}.portal-header nav{margin-top:10px}}
