*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--fg);font-family:var(--font-b);line-height:1.65;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{text-decoration:none}
ul{list-style:none}
button{background:none;border:none;cursor:pointer;font-family:inherit}

:root{
    --bg:#000c12;
    --bg-2:#060f18;
    --bg-card:rgba(255,255,255,.04);
    --border:rgba(255,255,255,.08);
    --grad:linear-gradient(135deg,#00B7FF,#00E8BB);
    --teal:#00B7FF;
    --mint:#00E8BB;
    --fg:#f0f4f8;
    --fg-muted:#8899aa;
    --r:1rem;
    --font-h:'Manrope',sans-serif;
    --font-b:'Plus Jakarta Sans',sans-serif;
}

h1,h2,h3,h4{font-family:var(--font-h);line-height:1.2;color:var(--fg)}
p{color:var(--fg-muted);line-height:1.75}
strong{color:var(--fg);font-weight:600}

.container{max-width:1200px;margin:0 auto;padding:0 2rem}
.text-gradient{background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.section-eyebrow{display:inline-block;font-family:var(--font-h);font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:1rem}
.section-header{text-align:center;max-width:720px;margin:0 auto 4rem}
.section-header h2{font-size:clamp(1.75rem,3.5vw,2.75rem);font-weight:700;margin-bottom:1rem}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .6s ease,transform .6s ease}
.reveal.visible{opacity:1;transform:none}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 2rem;border-radius:100px;font-family:var(--font-h);font-size:.9375rem;font-weight:600;transition:all .2s;white-space:nowrap}
.btn-primary{background:var(--grad);color:#000c12}
.btn-primary:hover{opacity:.88;transform:translateY(-1px)}
.btn-outline{border:1px solid rgba(255,255,255,.18);color:var(--fg)}
.btn-outline:hover{border-color:rgba(0,183,255,.5);color:#00B7FF}

/* HEADER */
#occ-header{position:fixed;top:0;left:0;right:0;z-index:100;padding:1.25rem 0;transition:all .3s}
#occ-header.scrolled{background:rgba(0,12,18,.85);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border);padding:.875rem 0}
.header-inner{display:flex;align-items:center;gap:2rem}
.occ-logo{display:flex;flex-direction:column;line-height:1}
.occ-logo-mark{font-family:var(--font-h);font-size:1.25rem;font-weight:800;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.occ-logo-sub{font-size:.625rem;font-weight:500;color:var(--fg-muted);letter-spacing:.05em;text-transform:uppercase}
.desktop-nav{display:flex;align-items:center;gap:1.75rem;margin-left:auto}
.desktop-nav a{font-size:.875rem;font-weight:500;color:var(--fg-muted);transition:color .2s}
.desktop-nav a:hover,.desktop-nav a.nav-active{color:var(--fg)}
.header-cta{margin-left:1.5rem;padding:.625rem 1.375rem;font-size:.875rem}
.mobile-toggle{display:none;flex-direction:column;gap:5px;padding:.5rem;margin-left:auto}
.mobile-toggle span{display:block;width:22px;height:2px;background:var(--fg);border-radius:2px;transition:all .3s}
.mobile-toggle.active span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.mobile-toggle.active span:nth-child(2){opacity:0}
.mobile-toggle.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobile-menu{display:none;position:fixed;inset:0;background:var(--bg);z-index:99;padding:6rem 2rem 2rem;overflow-y:auto}
.mobile-menu.active{display:block}
.mobile-menu nav{display:flex;flex-direction:column;gap:1.5rem}
.mobile-menu nav a{font-size:1.125rem;font-weight:600;color:var(--fg)}

/* HERO */
.hero{padding:9rem 0 6rem;position:relative;overflow:hidden}
.hero-glow{position:absolute;border-radius:50%;filter:blur(80px);pointer-events:none}
.hero-glow--1{width:600px;height:600px;background:rgba(0,183,255,.07);top:-100px;left:-100px}
.hero-glow--2{width:500px;height:500px;background:rgba(0,232,187,.05);bottom:-100px;right:-200px}
.hero-split{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
.hero-badge{display:inline-block;font-family:var(--font-h);font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#00B7FF;border:1px solid rgba(0,183,255,.25);border-radius:100px;padding:.5rem 1.25rem;margin-bottom:2rem}
.hero-content h1{font-size:clamp(2rem,3.75vw,3.25rem);font-weight:600;margin-bottom:1.25rem}
.hero-sub{font-size:1rem;color:var(--fg-muted);margin-bottom:2.5rem;line-height:1.75}

/* Hero screenshot */
.hero-screenshot{position:relative}
.screenshot-glow{position:absolute;inset:-40px;background:radial-gradient(ellipse at center,rgba(0,183,255,.15),transparent 70%);pointer-events:none;transition:opacity .4s ease}
.hero-screenshot:hover .screenshot-glow{opacity:2}
.screenshot-frame{width:155%;max-width:none;border-radius:1rem 0 1rem 1rem;border:1px solid var(--border);border-right:none;background:var(--bg-2);position:relative;overflow:hidden;transition:transform .4s ease,box-shadow .4s ease,border-color .4s ease}
.hero-screenshot:hover .screenshot-frame{transform:translateY(-8px);box-shadow:0 32px 80px rgba(0,183,255,.18),0 8px 24px rgba(0,0,0,.4);border-color:rgba(0,183,255,.3)}
.screenshot-frame::after{display:none}
.screenshot-bar{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:rgba(255,255,255,.03);border-bottom:1px solid var(--border)}
.bar-dot{width:.6rem;height:.6rem;border-radius:50%;background:rgba(255,255,255,.15)}
.bar-label{font-size:.75rem;color:var(--fg-muted);margin-left:.5rem}
.screenshot-frame img{width:100%;display:block;height:auto}

/* DOBRA 2 — CONCEITO */
.concept-section{padding:7rem 0;background:var(--bg-2)}
.concept-inner{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
.concept-bridge{display:flex;flex-direction:column;gap:1.25rem}
.bridge-item{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r);padding:1.75rem 2rem}
.bridge-item--weuny{background:rgba(0,183,255,.05);border-color:rgba(0,183,255,.2)}
.bridge-tag{display:inline-block;font-family:var(--font-h);font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-muted);background:rgba(255,255,255,.06);border:1px solid var(--border);border-radius:.375rem;padding:.25rem .75rem;margin-bottom:.75rem}
.bridge-tag--weuny{background:var(--grad);color:#000c12;border-color:transparent}
.bridge-item p{color:var(--fg-muted);font-size:.9375rem}
.bridge-arrow{display:flex;align-items:center;justify-content:center;color:rgba(0,183,255,.4)}
.concept-text h2{font-size:clamp(1.5rem,2.75vw,2.25rem);font-weight:700;margin-bottom:1rem}
.concept-sub{font-size:1rem;color:var(--fg);font-weight:500;margin-bottom:1.5rem}
.concept-text p{color:var(--fg-muted);margin-bottom:1rem}
.concept-highlight{font-family:var(--font-h);font-size:1.0625rem;font-weight:700;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-top:1.5rem}

/* DOBRA 3 — CONECTA */
.connects-section{padding:7rem 0}
.connects-section .section-header h2{font-size:clamp(1.5rem,2.75vw,2.25rem)}
.connects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-bottom:3.5rem}
.connect-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r);padding:2rem;display:flex;flex-direction:column;gap:1rem;transition:border-color .2s}
.connect-card:hover{border-color:rgba(0,183,255,.25)}
.cc-icon{width:2.75rem;height:2.75rem;border-radius:.75rem;background:rgba(0,183,255,.08);border:1px solid rgba(0,183,255,.15);display:flex;align-items:center;justify-content:center;color:#00B7FF;flex-shrink:0}
.connect-card h3{font-size:1rem;font-weight:700}
.connect-card p{color:var(--fg-muted);font-size:.9375rem}
.connects-footer{text-align:center;max-width:560px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:1.75rem}
.connects-footer p{color:var(--fg-muted)}

/* DOBRA 4 — CTA */
.cta-section{padding:7rem 0;background:var(--bg-2)}
.cta-inner{background:var(--bg-card);border:1px solid var(--border);border-radius:1.5rem;padding:5rem 3rem;text-align:center;max-width:680px;margin:0 auto;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;gap:1.5rem}
.cta-inner::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 0%,rgba(0,183,255,.08),transparent 60%);pointer-events:none}
.cta-inner h2{font-size:clamp(1.5rem,3vw,2.25rem);font-weight:700;position:relative}
.cta-inner p{max-width:460px;color:var(--fg-muted);position:relative}
.cta-inner .btn{position:relative}
.cta-tagline{font-family:var(--font-h);font-size:.875rem;font-weight:500;color:var(--fg-muted);font-style:italic;position:relative;border-top:1px solid var(--border);padding-top:1.5rem;width:100%;text-align:center}

/* FOOTER */
.occ-footer{background:var(--bg-2);border-top:1px solid var(--border);padding:3.5rem 0 2rem}
.footer-inner{display:grid;grid-template-columns:auto 1fr auto;gap:3rem;align-items:start;padding-bottom:2.5rem;border-bottom:1px solid var(--border);margin-bottom:2rem}
.footer-brand .occ-logo-mark{font-family:var(--font-h);font-size:1.125rem;font-weight:800;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.footer-brand p{font-size:.75rem;color:var(--fg-muted);margin-top:.25rem}
.footer-nav{display:flex;flex-wrap:wrap;gap:.75rem 1.75rem;align-items:center}
.footer-nav a{font-size:.875rem;color:var(--fg-muted);transition:color .2s}
.footer-nav a:hover{color:var(--fg)}
.footer-weuny a{font-size:.875rem;color:var(--fg-muted);transition:color .2s}
.footer-weuny a:hover{color:var(--fg)}
.footer-weuny strong{color:#00B7FF}
.footer-bottom p{font-size:.8125rem;color:var(--fg-muted)}

/* RESPONSIVE */
@media(max-width:900px){
    .desktop-nav,.header-cta{display:none}
    .mobile-toggle{display:flex}
    .hero-split,.concept-inner{grid-template-columns:1fr;gap:3rem}
    .connects-grid{grid-template-columns:repeat(2,1fr)}
    .footer-inner{grid-template-columns:1fr;gap:2rem}
}
@media(max-width:600px){
    .hero{padding:8rem 0 5rem}
    .concept-section,.connects-section,.cta-section{padding:5rem 0}
    .connects-grid{grid-template-columns:1fr}
    .cta-inner{padding:3.5rem 1.5rem}
}
