/*
 * cecypo.tech — Shared design system (CT prefix)
 * Extracted from inline <style> blocks to reduce per-page token cost.
 * Include in every tech page: <link rel="stylesheet" href="/assets/cecypo_builder_site/css/tech-styles.css">
 * Page-specific CSS (hero, sections, cards) stays inline after this link.
 */

/* ── Tokens ── */
:root {
  --ct-bg:       #0f172a;
  --ct-surface:  #1e293b;
  --ct-surface2: #283548;
  --ct-border:   #334155;
  --ct-text:     #e2e8f0;
  --ct-muted:    #94a3b8;
  --ct-blue:     #33669A;
  --ct-blue-l:   #4d88c4;
  --ct-accent:   #60a5fa;
}

/* ── Base reset ── */
.navbar, .web-footer { display:none!important; }
* { box-sizing:border-box; }
a { text-decoration:none; }
img { display:block; }
body { margin:0;background:var(--ct-bg);color:var(--ct-text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif; }

/* ── Navbar ── */
.ct-nav{position:sticky;top:0;z-index:50;background:rgba(15,23,42,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--ct-border);}
.ct-nav__inner{max-width:1200px;margin:0 auto;padding:0 1.5rem;height:68px;display:flex;align-items:center;justify-content:space-between;gap:1rem;}
.ct-nav__logo img{height:40px;width:auto;}
.ct-nav__links{display:flex;align-items:center;gap:2rem;list-style:none;margin:0;padding:0;}
.ct-nav__links a{font-size:.9rem;font-weight:500;color:var(--ct-muted);transition:color .2s;}
.ct-nav__links a:hover,.ct-nav__links a.active{color:var(--ct-text);}
.ct-nav__links a.active{border-bottom:2px solid var(--ct-blue);padding-bottom:2px;}
.ct-nav__cta{background:var(--ct-blue);color:#fff!important;padding:.55em 1.25em;border-radius:4px;font-size:.875rem;font-weight:600;transition:background .2s;}
.ct-nav__cta:hover{background:var(--ct-blue-l)!important;color:#fff!important;}
.ct-nav__burger{display:none;background:none;border:none;cursor:pointer;padding:4px;color:var(--ct-muted);}
.ct-nav__mobile{display:none;background:var(--ct-surface);border-top:1px solid var(--ct-border);padding:1rem 1.5rem;flex-direction:column;gap:1rem;}
.ct-nav__mobile a{font-size:.95rem;font-weight:500;color:var(--ct-muted);}
.ct-nav__mobile a:hover{color:var(--ct-text);}
.ct-nav__mobile--open{display:flex;}
@media(max-width:768px){.ct-nav__links{display:none;}.ct-nav__burger{display:block;}}
/* Solutions dropdown */
.ct-nav__dropdown{position:relative;}
.ct-nav__dropdown>a{display:flex;align-items:center;gap:.3rem;}
.ct-nav__dropdown>a .ct-drop-chevron{transition:transform .2s;flex-shrink:0;}
.ct-nav__dropdown:hover>a .ct-drop-chevron{transform:rotate(180deg);}
.ct-drop{position:absolute;top:100%;padding-top:10px;left:50%;transform:translateX(-50%) translateY(-6px);background:var(--ct-surface);border:1px solid var(--ct-border);border-radius:12px;padding:.5rem;min-width:300px;opacity:0;visibility:hidden;transition:opacity .18s,visibility .18s,transform .18s;box-shadow:0 12px 40px rgba(0,0,0,.5);pointer-events:none;}
.ct-nav__dropdown:hover .ct-drop,.ct-nav__dropdown:focus-within .ct-drop{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);pointer-events:auto;}
.ct-drop__item{display:flex;align-items:flex-start;gap:.875rem;padding:.75rem;border-radius:8px;text-decoration:none;transition:background .15s;}
.ct-drop__item:hover{background:rgba(255,255,255,.06);}
.ct-drop__icon{width:38px;height:38px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.ct-drop__text{display:flex;flex-direction:column;gap:.2rem;}
.ct-drop__name{font-size:.875rem;font-weight:600;color:var(--ct-text);}
.ct-drop__desc{font-size:.775rem;color:var(--ct-muted);line-height:1.45;}
.ct-drop__divider{height:1px;background:var(--ct-border);margin:.25rem .5rem;}
.ct-nav__mobile-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ct-muted);margin-top:.25rem;}
@media(max-width:768px){.ct-nav__dropdown{display:none;}}

/* ── Compact page hero (inner pages) ── */
.ct-hero-sm{background:radial-gradient(ellipse at 50% 60%,rgba(51,102,154,.25) 0%,transparent 65%),var(--ct-bg);padding:5rem 1.5rem;text-align:center;border-bottom:1px solid var(--ct-border);}
.ct-hero-sm__tag{display:inline-block;background:rgba(51,102,154,.12);color:var(--ct-accent);font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.35em .85em;border-radius:999px;margin-bottom:1rem;}
.ct-hero-sm h1{font-size:clamp(2rem,4.5vw,3rem);font-weight:900;margin:0 0 1rem;letter-spacing:-.02em;}
.ct-hero-sm p{font-size:1.05rem;color:var(--ct-muted);margin:0 auto;max-width:55ch;line-height:1.7;}

/* ── Footer — 5 columns: brand · Products · Services · Company · Contact ── */
.ct-footer{background:#060d1a;border-top:1px solid var(--ct-border);padding:4rem 1.5rem 2rem;}
.ct-footer__inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1fr;gap:2rem;margin-bottom:3rem;}
.ct-footer__brand img{height:36px;width:auto;margin-bottom:1rem;}
.ct-footer__brand p{font-size:.875rem;line-height:1.7;color:var(--ct-muted);max-width:28ch;}
.ct-footer__col h4{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--ct-text);margin:0 0 1rem;}
.ct-footer__col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem;}
.ct-footer__col a{font-size:.875rem;color:var(--ct-muted);transition:color .2s;}
.ct-footer__col a:hover{color:var(--ct-text);}
.ct-footer__bottom{max-width:1200px;margin:0 auto;padding-top:2rem;border-top:1px solid #0f1e33;display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem;font-size:.8rem;color:var(--ct-muted);}
@media(max-width:1000px){.ct-footer__inner{grid-template-columns:1fr 1fr 1fr;}}
@media(max-width:600px){.ct-footer__inner{grid-template-columns:1fr 1fr;gap:1.5rem;}}
@media(max-width:400px){.ct-footer__inner{grid-template-columns:1fr;}}

/* ── Reveal animation ── */
.ct-reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease;}
.ct-reveal.ct-in{opacity:1;transform:none;}
