/* style.css — Bright Corporate UI */

/* ====== Light Palette ====== */
:root{
  --bg: #f9fbff;
  --bg-alt: #ffffff;
  --ink: #0f172a;        /* slate-900 */
  --muted: #55607a;      /* slate-600 */
  --brand: #2f5cff;      /* cobalt */
  --brand-2: #16c3e6;    /* aqua */
  --ring: rgba(47,92,255,.25);
  --card: #ffffff;
  --border: rgba(15,23,42,.08);
  --shadow: 0 12px 28px rgba(15,23,42,.08);
  --accent: linear-gradient(90deg,var(--brand),var(--brand-2));
}

/* dark toggle (opsional) */
:root.dark{
  --bg:#0b0e14; --bg-alt:#0f1320; --ink:#e7ecf4; --muted:#a7b1c2;
  --brand:#7aa2ff; --brand-2:#8ef6ff; --card:rgba(255,255,255,.06); --border:rgba(255,255,255,.12);
  --shadow:0 14px 34px rgba(0,0,0,.35);
}

/* ====== Base ====== */
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0; color:var(--ink); background:var(--bg);
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
  line-height:1.65;
  background:
    radial-gradient(1200px 600px at -10% -10%,rgba(47,92,255,.08),transparent 60%),
    radial-gradient(900px 500px at 110% 20%,rgba(22,195,230,.12),transparent 60%),
    var(--bg);
}
h1,h2,h3,h4{margin:0 0 .5rem}
.display{font-family:"Fraunces", serif;font-size:clamp(2.2rem,2.1rem + 1.6vw,3.4rem);line-height:1.1}
.title{font-family:"Fraunces", serif;font-size:clamp(1.6rem,1.2rem + 1vw,2.3rem)}
.subtitle{color:var(--muted)}
a{color:inherit;text-decoration:none}
.container{width:min(1100px,92vw);margin-inline:auto}
.section{padding:84px 0}
.section.alt{background:var(--bg-alt)}
.section-head{margin-bottom:34px;text-align:center}
.lead{font-size:1.08rem;color:var(--muted)}

/* ====== Header / Nav ====== */
.site-header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.75);backdrop-filter:saturate(120%) blur(10px);border-bottom:1px solid var(--border)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0}
.brand{display:flex;align-items:center;gap:.6rem;font-weight:800;letter-spacing:.4px}
.brand-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--accent);color:#fff;font-weight:900}
.brand-text{font-size:1.1rem;color:#1e293b}
.nav-links{display:flex;align-items:center;gap:18px}
.nav-links .btn{margin-left:6px}
.nav-toggle{display:none;background:none;border:0;cursor:pointer}
.nav-toggle span{display:block;width:24px;height:2px;background:#1e293b;margin:5px 0;border-radius:2px}

/* ====== Buttons ====== */
.btn{display:inline-flex;align-items:center;justify-content:center;height:44px;padding:0 16px;border-radius:12px;font-weight:700;border:1px solid var(--border);background:var(--card);box-shadow:var(--shadow)}
.btn--brand{background:var(--accent);color:#fff;border-color:transparent}
.btn--ghost{background:#fff;border:1px solid var(--border)}
.btn--sm{height:38px;padding:0 12px}
.icon-btn{height:38px;padding:0 10px;border-radius:10px;border:1px solid var(--border);background:#fff;cursor:pointer}

/* ====== Hero ====== */
.hero{position:relative;padding:120px 0 88px;overflow:hidden}
.hero-inner{display:grid;grid-template-columns:1.2fr .8fr;gap:32px;align-items:center}
.hero .cta{display:flex;gap:12px;margin:18px 0 8px;flex-wrap:wrap}
.hero-bullets{color:#475569;display:flex;gap:16px;flex-wrap:wrap;padding-left:0;margin:12px 0 0}
.hero-bullets li{list-style:none;background:#fff;border:1px solid var(--border);padding:6px 10px;border-radius:999px}
.hero-card{padding:22px;border-radius:18px}
.hero-bg .grain{position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' opacity='0.05'%3E%3Cfilter id='f'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='2'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect filter='url(%23f)' width='100%25' height='100%25'/%3E%3C/svg%3E");pointer-events:none}
.blob{position:absolute;border-radius:50%;filter:blur(30px);opacity:.4;mix-blend:multiply}
.b1{width:340px;height:340px;background:radial-gradient(var(--brand),transparent 60%);top:-60px;left:-40px}
.b2{width:380px;height:380px;background:radial-gradient(var(--brand-2),transparent 60%);right:-80px;bottom:-60px}

/* ====== Cards / Grids ====== */
.grid{display:grid;gap:22px}
.cards{grid-template-columns:repeat(3,1fr)}
.card{border:1px solid var(--border);border-radius:18px;background:#fff;padding:20px;box-shadow:var(--shadow)}
.glass{background:rgba(255,255,255,.8);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:18px}
.highlight{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:28px;padding:20px 22px;background:#fff;border:1px solid var(--border);border-radius:16px}
.tag{display:inline-block;margin-top:10px;padding:4px 8px;border:1px solid var(--border);border-radius:999px;font-size:.8rem;color:#3f4c6b}

/* ====== Features & Team ====== */
.features{grid-template-columns:repeat(5,1fr)}
.feature{padding:18px;border-radius:16px;border:1px solid var(--border);background:linear-gradient(180deg,#fff,rgba(255,255,255,.6))}
.feature .icon{font-size:1.4rem;margin-bottom:.3rem}
.team{grid-template-columns:repeat(3,1fr)}
.member .role{color:var(--muted);margin-bottom:4px}
.member .bio{font-size:.98rem}
.member .contact{list-style:none;padding:0;margin:.6rem 0 0}
.member .contact li{margin:.2rem 0}

/* ====== Contact ====== */
.contact{grid-template-columns:1fr 1fr}
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}
input,textarea{background:#fff;border:1px solid var(--border);border-radius:12px;padding:12px;color:#0f172a;outline:none;box-shadow:inset 0 1px 0 rgba(15,23,42,.02)}
input:focus,textarea:focus{border-color:var(--ring);box-shadow:0 0 0 4px var(--ring)}
.form-note{margin-top:10px;color:var(--muted)}

/* ====== Footer ====== */
.site-footer{padding:28px 0;border-top:1px solid var(--border);background:#fff}
.site-footer .container{display:flex;align-items:center;justify-content:space-between}
.to-top{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;border:1px solid var(--border);background:#fff}

/* ====== FAB ====== */
.fab{position:fixed;bottom:20px;right:20px;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:#fff;font-size:22px;box-shadow:var(--shadow);z-index:60;border:0}

/* ====== Reveal ====== */
.reveal{opacity:0;transform:translateY(16px);transition:all .7s cubic-bezier(.2,.6,.2,1)}
.reveal.visible{opacity:1;transform:none}

/* ====== Responsive ====== */
@media (max-width: 1024px){
  .cards{grid-template-columns:repeat(2,1fr)}
  .features{grid-template-columns:repeat(3,1fr)}
  .team{grid-template-columns:repeat(2,1fr)}
  .hero-inner{grid-template-columns:1fr}
}
@media (max-width: 720px){
  .nav-links{position:fixed;inset:60px 14px auto 14px;padding:12px;border-radius:14px;background:#fff;border:1px solid var(--border);display:none;flex-direction:column;gap:10px}
  .nav-links.open{display:flex}
  .nav-toggle{display:block}
  .cards,.features,.team,.contact{grid-template-columns:1fr}
  .highlight{flex-direction:column;align-items:stretch}
  .hero{padding-top:96px}
}
