/* ═══════════════════════════════════════════════════
   desenvolvimento.css — DR Sistemas
   Fonte da página: Outfit (títulos) + Space Mono (código)
   Navbar: forçado para Poppins igual às demais páginas
═══════════════════════════════════════════════════ */

/* ─── VARIABLES ─── */
:root {
    --dark:       #080c14;
    --dark2:      #0d1423;
    --primary:    #0055cc;
    --primary-lt: #0099e6;
    --light-bg:   #f0f5ff;
    --light-bg2:  #ffffff;
    --light-text: #12213a;
    --muted-lt:   #5a6a8a;
    --border-dk:  rgba(0,180,230,.13);
    --font-head:  'Outfit', sans-serif;
    --font-mono:  'Space Mono', monospace;
}

/* ─── BASE ─── */
body { font-family: var(--font-head); overflow-x: hidden; }

/* ─── NAVBAR: idêntico ao de todas as outras páginas (Poppins) ─── */
.navbar,
.navbar .navbar-brand,
.navbar .nav-link,
.navbar .dropdown-toggle,
.navbar .dropdown-item,
.navbar .navbar-toggler {
    font-family: 'Poppins', system-ui, -apple-system, sans-serif !important;
    font-size: 0.95rem !important;
    line-height: 1.5 !important;
}
.navbar { padding: 1.5rem 0 !important; }
.navbar .nav-link { margin: 0 0.6rem !important; }

/* ─── SCROLL REVEAL ─── */
.reveal {
    opacity: 0;
    transform: translateY(26px);
    transition: opacity .65s ease, transform .65s ease;
    /* Fallback: se o JS não rodar, o conteúdo aparece após 1.5s */
    animation: revealFallback 0s 1.5s forwards;
}
.reveal.visible {
    opacity: 1;
    transform: translateY(0);
    animation: none; /* JS assumiu, cancela o fallback */
}
@keyframes revealFallback {
    to { opacity: 1; transform: translateY(0); }
}
.rd1 { transition-delay: .1s; }
.rd2 { transition-delay: .2s; }
.rd3 { transition-delay: .3s; }
.rd4 { transition-delay: .4s; }

/* ─── TYPOGRAPHY HELPERS ─── */
.s-label {
    font-family: var(--font-mono);
    font-size: .68rem;
    letter-spacing: .2em;
    text-transform: uppercase;
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    margin-bottom: .7rem;
}
.s-label::before { content: '//'; opacity: .4; }
.s-label-lt { color: var(--primary); }
.s-label-dk { color: var(--primary-lt); }

.s-title {
    font-family: var(--font-head);
    font-size: clamp(1.85rem, 3.2vw, 2.8rem);
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -.01em;
}

.s-desc {
    font-family: var(--font-mono);
    font-size: .8rem;
    color: var(--muted-lt);
    max-width: 500px;
    margin-inline: auto;
    margin-top: .7rem;
    line-height: 1.8;
}

.s-mono-label {
    font-family: var(--font-mono);
    font-size: .68rem;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: rgba(180, 200, 230, .45);
    margin-bottom: .5rem;
}

.grad-text {
    background: linear-gradient(135deg, var(--primary-lt), var(--primary));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* ─── BUTTONS ─── */
.btn-calendar {
    background: linear-gradient(135deg, var(--primary-lt), var(--primary));
    border: none; color: #fff;
    padding: .78rem 1.6rem; border-radius: 8px;
    font-family: var(--font-mono); font-size: .75rem;
    letter-spacing: .06em; text-transform: uppercase;
    text-decoration: none; display: inline-flex; align-items: center; gap: .5rem;
    transition: transform .2s, box-shadow .2s;
    box-shadow: 0 4px 20px rgba(0,85,204,.35);
}
.btn-calendar:hover { transform: translateY(-2px); box-shadow: 0 8px 32px rgba(0,85,204,.5); color: #fff; }
.btn-calendar-sm { padding: .55rem 1.1rem; font-size: .68rem; }

.btn-wa {
    background: linear-gradient(135deg, #25d366, #128c7e);
    border: none; color: #fff;
    padding: .78rem 1.6rem; border-radius: 8px;
    font-family: var(--font-mono); font-size: .75rem;
    letter-spacing: .06em; text-transform: uppercase;
    text-decoration: none; display: inline-flex; align-items: center; gap: .5rem;
    transition: transform .2s, box-shadow .2s;
    box-shadow: 0 4px 20px rgba(37,211,102,.3);
}
.btn-wa:hover { transform: translateY(-2px); box-shadow: 0 8px 32px rgba(37,211,102,.5); color: #fff; }

.btn-outline-lt {
    background: transparent; border: 1px solid rgba(0,85,204,.35); color: var(--primary);
    padding: .78rem 1.6rem; border-radius: 8px;
    font-family: var(--font-mono); font-size: .75rem;
    letter-spacing: .06em; text-transform: uppercase;
    text-decoration: none; display: inline-flex; align-items: center; gap: .5rem;
    transition: background .2s, border-color .2s;
}
.btn-outline-lt:hover { background: rgba(0,85,204,.06); border-color: var(--primary); color: var(--primary); }

.btn-block { width: 100%; justify-content: center; }

/* ══════════════════════════════════
   HERO
══════════════════════════════════ */
.hero {
    background: linear-gradient(135deg, #070b13 0%, #0b1628 60%, #091422 100%);
    color: #fff; padding: 90px 0 80px;
    position: relative; overflow: hidden;
    min-height: 92vh; display: flex; align-items: center;
}
.hero-content { z-index: 2; position: relative; }
.hero-grid {
    position: absolute; inset: 0;
    background-image:
        linear-gradient(rgba(0,180,230,.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0,180,230,.045) 1px, transparent 1px);
    background-size: 56px 56px;
    mask-image: radial-gradient(ellipse 80% 80% at 50% 50%, black 30%, transparent 100%);
    -webkit-mask-image: radial-gradient(ellipse 80% 80% at 50% 50%, black 30%, transparent 100%);
}
.hero-orb { position: absolute; border-radius: 50%; filter: blur(90px); pointer-events: none; }
.orb-a { width:460px;height:460px;background:rgba(0,100,220,.16);top:-120px;right:-80px;animation:orbFloat 9s ease-in-out infinite; }
.orb-b { width:260px;height:260px;background:rgba(0,180,230,.1);bottom:-40px;left:-60px;animation:orbFloat 7s ease-in-out infinite reverse; }
.orb-c { width:180px;height:180px;background:rgba(0,220,180,.07);top:40%;left:35%;animation:orbFloat 11s ease-in-out infinite; }
@keyframes orbFloat { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-28px)} }

.hero-badge {
    display: inline-flex; align-items: center; gap: .5rem;
    background: rgba(0,180,230,.1); border: 1px solid rgba(0,180,230,.25);
    color: var(--primary-lt); padding: .3rem .9rem; border-radius: 100px;
    font-family: var(--font-mono); font-size: .68rem;
    letter-spacing: .1em; text-transform: uppercase; margin-bottom: 1.3rem;
}
.dot { width:7px;height:7px;background:#39ff14;border-radius:50%;animation:dotBlink 2s ease-in-out infinite; }
@keyframes dotBlink { 0%,100%{opacity:1} 50%{opacity:.25} }

.hero-title { font-family:var(--font-head);font-size:clamp(2.6rem,5vw,4rem);font-weight:800;line-height:1.07;letter-spacing:-.02em; }
.hero-sub { font-family:var(--font-mono);font-size:.84rem;color:rgba(190,210,240,.65);line-height:1.85;max-width:480px;margin-top:1rem; }

.hero-schedule {
    background: rgba(255,255,255,.05); border: 1px solid rgba(0,180,230,.18);
    border-radius: 12px; padding: 1rem 1.3rem;
    display: flex; align-items: center; justify-content: space-between;
    gap: 1rem; flex-wrap: wrap; margin-top: 1.8rem;
}
.hero-schedule-text { font-family:var(--font-mono);font-size:.73rem;color:rgba(190,210,240,.7);line-height:1.5; }
.hero-schedule-text strong { color: #fff; }

/* ─── TERMINAL ─── */
.terminal {
    background: #04080f; border: 1px solid rgba(0,180,230,.18); border-radius: 14px;
    overflow: hidden; font-family: var(--font-mono); font-size: .78rem;
    animation: terminalGlow 4s ease-in-out infinite;
}
@keyframes terminalGlow {
    0%,100%{box-shadow:0 0 40px rgba(0,100,200,.1),0 20px 40px rgba(0,0,0,.4)}
    50%{box-shadow:0 0 70px rgba(0,150,230,.2),0 20px 40px rgba(0,0,0,.4)}
}
.t-bar { background:#0b1220;padding:.55rem 1rem;display:flex;align-items:center;gap:.45rem;border-bottom:1px solid rgba(0,180,230,.08); }
.td { width:10px;height:10px;border-radius:50%; }
.td1{background:#ff5f57} .td2{background:#febc2e} .td3{background:#28c840}
.t-fname { color:rgba(140,165,210,.4);font-size:.65rem;margin-left:.4rem; }
.t-body { padding:1.3rem 1.5rem;line-height:2;min-height:260px; }
.t-c{color:#3d5a8a} .t-k{color:#569cd6} .t-f{color:#dcdcaa} .t-s{color:#39ff14} .t-v{color:#9cdcfe} .t-n{color:#b5cea8}
.t-i{display:block;padding-left:1.5rem} .t-i2{display:block;padding-left:3rem}
.cur { display:inline-block;width:7px;height:13px;background:var(--primary-lt);animation:curBlink .85s step-end infinite;vertical-align:middle;margin-left:2px; }
@keyframes curBlink { 50%{opacity:0} }

/* ══════════════════════════════════
   STATS
══════════════════════════════════ */
.stats-sec { background:#fff;border-top:1px solid #dde8f5;border-bottom:1px solid #dde8f5;padding:2.8rem 0; }
.stat-box { text-align:center;padding:.5rem; }
.stat-box .n { font-family:var(--font-head);font-size:2.4rem;font-weight:800;background:linear-gradient(135deg,var(--primary-lt),var(--primary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.1; }
.stat-box .l { font-family:var(--font-mono);font-size:.67rem;color:var(--muted-lt);letter-spacing:.09em;text-transform:uppercase;margin-top:.2rem; }
.stat-sep { width:1px;background:#dde8f5;height:44px;align-self:center; }

/* ══════════════════════════════════
   SERVICES
══════════════════════════════════ */
.services-sec { background:var(--light-bg);padding:100px 0; }
.svc-card { background:#fff;border:1px solid #d8e4f8;border-radius:16px;padding:1.8rem;height:100%;position:relative;overflow:hidden;transition:transform .3s,box-shadow .3s,border-color .3s; }
.svc-card::after { content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary-lt),var(--primary));transform:scaleX(0);transform-origin:left;transition:transform .35s ease; }
.svc-card:hover { transform:translateY(-6px);box-shadow:0 16px 48px rgba(0,60,180,.1);border-color:#b0c8f5; }
.svc-card:hover::after { transform:scaleX(1); }
.svc-icon { width:50px;height:50px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;margin-bottom:1rem; }
.si1{background:#e6f0ff;color:#0055cc} .si2{background:#e6fff2;color:#007a40} .si3{background:#fff3e8;color:#b84800}
.si4{background:#ffe8e8;color:#bb1c1c} .si5{background:#f0e8ff;color:#6618b8} .si6{background:#fffbe0;color:#9a7700}
.svc-card h5 { font-size:.95rem;font-weight:700;color:var(--light-text);margin-bottom:.5rem; }
.svc-card p  { font-family:var(--font-mono);font-size:.74rem;color:var(--muted-lt);line-height:1.75; }
.svc-num { position:absolute;bottom:1rem;right:1.3rem;font-family:var(--font-head);font-size:2rem;font-weight:800;color:rgba(0,60,180,.04);line-height:1; }

/* ══════════════════════════════════
   SCHEDULE
══════════════════════════════════ */
.schedule-sec { background:linear-gradient(135deg,#004bb8 0%,#0096dd 100%);padding:80px 0;position:relative;overflow:hidden; }
.schedule-sec::before { content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:48px 48px;mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,black 30%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,black 30%,transparent 100%); }
.sched-card { background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);border-radius:16px;padding:2rem 1.6rem;text-align:center;transition:background .25s,transform .3s,box-shadow .3s;height:100%;display:flex;flex-direction:column; }
.sched-card:hover { background:rgba(255,255,255,.2);transform:translateY(-5px);box-shadow:0 16px 40px rgba(0,0,0,.2); }
.sched-card--featured { background:rgba(255,255,255,.22);border-color:rgba(255,255,255,.5);box-shadow:0 8px 32px rgba(0,0,0,.15); }
.sched-icon { width:52px;height:52px;background:rgba(255,255,255,.15);border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:#fff;margin:0 auto 1rem;transition:transform .2s; }
.sched-card:hover .sched-icon { transform:scale(1.1) rotate(-4deg); }
.sched-card h6 { color:#fff;font-weight:700;font-size:.95rem;margin-bottom:.4rem; }
.sched-card p  { font-family:var(--font-mono);font-size:.73rem;color:rgba(255,255,255,.75);line-height:1.7;flex:1;margin-bottom:1.3rem; }

/* ══════════════════════════════════
   ARCHITECTURE
══════════════════════════════════ */
.arch-sec { background:var(--dark2);padding:100px 0; }
.arch-box { background:rgba(255,255,255,.03);border:1px solid var(--border-dk);border-radius:14px;padding:1.8rem;font-family:var(--font-mono);font-size:.78rem; }
.arch-node { background:rgba(0,180,230,.06);border:1px solid rgba(0,180,230,.2);border-radius:10px;padding:.65rem 1rem;text-align:center;color:var(--primary-lt);transition:background .2s,transform .2s;line-height:1.5; }
.arch-node:hover { background:rgba(0,180,230,.12);transform:scale(1.03); }
.arch-node--main { border-color:rgba(0,180,230,.45);background:rgba(0,180,230,.1); }
.arch-node--sm { font-size:.72rem;padding:.5rem .7rem; }
.arch-arrow { text-align:center;color:rgba(0,180,230,.4);font-size:1.1rem;margin:.3rem 0; }
.a-badge { display:inline-block;background:rgba(57,255,20,.07);border:1px solid rgba(57,255,20,.22);color:#39ff14;padding:.14rem .5rem;border-radius:4px;font-size:.58rem;letter-spacing:.07em;text-transform:uppercase;margin-top:.2rem; }
.feat-list { list-style:none;padding:0; }
.feat-list li { display:flex;align-items:flex-start;gap:.75rem;padding:.6rem 0;border-bottom:1px solid rgba(0,180,230,.06);font-family:var(--font-mono);font-size:.77rem;color:rgba(175,195,225,.6);transition:color .2s; }
.feat-list li:hover { color:#dce8f5; }
.ck { width:20px;height:20px;flex-shrink:0;background:rgba(57,255,20,.09);border:1px solid rgba(57,255,20,.25);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#39ff14;font-size:.6rem; }

/* ══════════════════════════════════
   PROJECTS
══════════════════════════════════ */
.projects-sec { background:var(--light-bg2);padding:100px 0; }
.proj-card { background:#fff;border:1px solid #d8e4f8;border-radius:16px;padding:1.8rem;height:100%;position:relative;overflow:hidden;transition:transform .3s,box-shadow .3s; }
.proj-card::before { content:'';position:absolute;top:0;left:0;width:4px;bottom:0;background:linear-gradient(180deg,var(--primary-lt),var(--primary));transform:scaleY(0);transform-origin:top;transition:transform .35s ease; }
.proj-card:hover { transform:translateY(-5px);box-shadow:0 20px 50px rgba(0,50,180,.09); }
.proj-card:hover::before { transform:scaleY(1); }
.proj-tag { display:inline-block;background:#e6f0ff;color:var(--primary);padding:.18rem .65rem;border-radius:4px;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.07em;text-transform:uppercase;margin-bottom:.8rem; }
.proj-card h5 { font-size:1.05rem;font-weight:700;color:var(--light-text);margin-bottom:.45rem; }
.proj-card p  { font-family:var(--font-mono);font-size:.75rem;color:var(--muted-lt);line-height:1.75; }
.proj-arr { color:var(--primary);margin-top:.9rem;opacity:0;transform:translateX(-8px);transition:opacity .3s,transform .3s; }
.proj-card:hover .proj-arr { opacity:1;transform:translateX(0); }

/* ══════════════════════════════════
   PROCESS
══════════════════════════════════ */
.process-sec { background:var(--light-bg);padding:100px 0; }
.step-row { display:flex;gap:1.3rem;align-items:flex-start;padding:1.2rem 1rem;border-radius:12px;transition:background .2s;margin-bottom:.3rem; }
.step-row:hover { background:#e4eeff; }
.step-n { width:44px;height:44px;flex-shrink:0;border:1px solid rgba(0,85,204,.3);border-radius:10px;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:.78rem;font-weight:700;color:var(--primary);transition:background .2s,border-color .2s; }
.step-row:hover .step-n { background:var(--primary);border-color:var(--primary);color:#fff; }
.step-t { font-weight:700;color:var(--light-text);margin-bottom:.22rem;font-size:.95rem; }
.step-d { font-family:var(--font-mono);font-size:.75rem;color:var(--muted-lt);line-height:1.65; }
.tech-pill { background:#edf2ff;border:1px solid #c4d6ff;color:#3355aa;padding:.3rem .85rem;border-radius:100px;font-family:var(--font-mono);font-size:.67rem;display:inline-block;cursor:default;transition:background .2s,color .2s,transform .15s; }
.tech-pill:hover { background:var(--primary);color:#fff;border-color:var(--primary);transform:translateY(-2px); }

/* ══════════════════════════════════
   FINAL CTA
══════════════════════════════════ */
.final-cta { background:linear-gradient(135deg,var(--dark) 0%,#0b1830 100%);padding:110px 0;position:relative;overflow:hidden; }
.final-cta::before { content:'';position:absolute;inset:0;background:radial-gradient(ellipse 55% 55% at 50% 50%,rgba(0,100,210,.12) 0%,transparent 70%); }
.cta-card { background:rgba(255,255,255,.05);border:1px solid rgba(0,180,230,.18);border-radius:18px;padding:2.2rem 1.8rem;text-align:center;height:100%;display:flex;flex-direction:column;transition:background .25s,border-color .3s,transform .3s; }
.cta-card:hover { background:rgba(255,255,255,.09);border-color:rgba(0,180,230,.4);transform:translateY(-5px); }
.cta-card--featured { background:rgba(0,120,220,.15);border-color:rgba(0,180,230,.4); }
.cta-card i { font-size:2rem;color:var(--primary-lt);margin-bottom:.8rem;display:block;transition:transform .25s; }
.cta-card:hover i { transform:scale(1.15) rotate(-5deg); }
.cta-card h5 { color:#fff;font-weight:700;margin-bottom:.45rem; }
.cta-card p  { font-family:var(--font-mono);font-size:.74rem;color:rgba(175,200,230,.6);line-height:1.7;flex:1;margin-bottom:1.3rem; }

/* ─── RESPONSIVE ─── */
@media (max-width:991px) { .hero{min-height:auto;padding:80px 0 60px} .hero-title{font-size:clamp(2.2rem,7vw,3rem)} }
@media (max-width:767px) {
    .hero{padding:70px 0 50px} .stats-sec{padding:2rem 0}
    .services-sec,.arch-sec,.projects-sec,.process-sec{padding:70px 0}
    .schedule-sec{padding:60px 0} .final-cta{padding:70px 0}
    .hero-schedule{flex-direction:column;align-items:flex-start;gap:.8rem}
    .hero-schedule .btn-calendar-sm{align-self:stretch;justify-content:center}
    .s-title{font-size:clamp(1.7rem,6vw,2.2rem)}
}
@media (max-width:575px) { .btn-calendar,.btn-wa{width:100%;justify-content:center} }