@import url("https://fonts.googleapis.com/css2?family=Newsreader:opsz,wght@6..72,400;6..72,600;6..72,700&family=Manrope:wght@400;500;600;700&display=swap");

:root{
  --bg:#f7f6f2;
  --surface:#fdfcf9;
  --card:#ffffff;
  --text:#1c1f24;
  --muted:#5b6472;
  --border:rgba(15,23,42,.08);
  --accent:#1f6fff;
  --accent2:#1bbf8b;

  --radius:18px;
  --shadow: 0 18px 45px rgba(15,23,42,.08);
  --container: 1120px;
  --focus: 0 0 0 3px rgba(31,111,255,.25);
  --font: "Manrope", "Segoe UI", sans-serif;
  --font-display: "Newsreader", "Times New Roman", serif;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:var(--font);
  background: var(--bg);
  color:var(--text);
  line-height:1.6;
}
a{color:inherit}
img{max-width:100%;display:block}

.container{
  width:min(var(--container), calc(100% - 2rem));
  margin-inline:auto;
}
.sr-only{
  position:absolute !important;
  width:1px;height:1px;
  padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0;
}

/* Header */
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:40;
  backdrop-filter:none;
  background: #ffffff;
  padding:.8rem 0;
}
.header-inner{
  display:flex;align-items:center;justify-content:space-between;
  padding:.75rem 1rem;
  gap:1rem;
  background: #ffffff;
  border:0;
  border-radius: 0;
  box-shadow: none;
  position:relative;
}

.site-header .container{
  width:calc(100% - 2rem);
  max-width:none;
}
.brand{display:flex;align-items:center;gap:.75rem;text-decoration:none}
.brand-mark{
  width:44px;height:44px;border-radius:14px;
  display:grid;place-items:center;
  background: linear-gradient(135deg, rgba(31,111,255,.18), rgba(27,191,139,.18));
  border:1px solid var(--border);
  box-shadow: var(--shadow);
  font-weight:800;
  letter-spacing:.04em;
}
.brand-text{display:flex;flex-direction:column}
.brand-name{font-weight:800;font-size:1.05rem;letter-spacing:.02em}
.brand-tagline{font-size:.82rem;color:var(--muted)}

.site-nav{display:flex;align-items:center;gap:.45rem}
.site-nav a{
  text-decoration:none;
  padding:.5rem .8rem;
  border-radius:999px;
  color:var(--muted);
  border:1px solid transparent;
}
.site-nav a:hover{background:rgba(15,23,42,.04);color:var(--text)}
.site-nav a[aria-current="page"]{
  color:var(--text);
  background: rgba(31,111,255,.08);
  border-color: rgba(31,111,255,.2);
  font-weight:700;
}
.site-nav a:focus-visible{outline:none;box-shadow:var(--focus)}
.nav-toggle{
  display:none;
  border:1px solid var(--border);
  background: #ffffff;
  color:var(--text);
  padding:.55rem .7rem;
  border-radius:12px;
  font-weight:800;
  box-shadow: 0 10px 24px rgba(15,23,42,.08);
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease;
  position:relative;
  z-index:60;
}
.nav-toggle:focus-visible{outline:none;box-shadow:var(--focus)}
.nav-toggle:hover{
  transform:translateY(-1px);
  box-shadow: 0 12px 28px rgba(15,23,42,.12);
  background: rgba(31,111,255,.08);
}
.menu-icon{
  position:relative;
  width:20px;height:14px;
  display:inline-block;
}
.menu-icon::before,
.menu-icon::after,
.menu-icon span{
  content:"";
  position:absolute;
  left:0;right:0;
  height:2px;
  background: currentColor;
  border-radius:2px;
  transition: transform .2s ease, opacity .2s ease, top .2s ease;
}
.menu-icon::before{top:0}
.menu-icon::after{top:12px}
.menu-icon span{top:6px}

.nav-toggle[aria-expanded="true"] .menu-icon::before{
  top:6px;transform:rotate(45deg);
}
.nav-toggle[aria-expanded="true"] .menu-icon::after{
  top:6px;transform:rotate(-45deg);
}
.nav-toggle[aria-expanded="true"] .menu-icon span{
  opacity:0;
}

/* Buttons */
.btn{ 
  display:inline-flex;align-items:center;justify-content:center;
  gap:.5rem;
  text-decoration:none;
  background: linear-gradient(135deg, rgba(31,111,255,.98), rgba(27,191,139,.85));
  color:#ffffff;
  padding:.85rem 1.1rem;
  border-radius:16px;
  font-weight:800;
  border:1px solid rgba(31,111,255,.2);
  box-shadow: var(--shadow);
}
.btn:hover{filter:brightness(1.05);transform:translateY(-1px)}
.btn:focus-visible{outline:none;box-shadow:var(--focus)}
.btn-outline{
  background: transparent;
  color: var(--text);
  border:1px solid rgba(31,111,255,.35);
  box-shadow:none;
}
.btn-sm{
  padding:.55rem .95rem;
  border-radius:16px;
  font-weight:800;
}
.site-nav .btn{
  padding:.5rem .9rem;
  border-radius: 999px;
  color:#ffffff;
}

/* Layout */
main{padding: 7rem 0 3rem}
.section{padding: 2.2rem 0}
.section-title{font-size:1.6rem;margin:0 0 .6rem;letter-spacing:.01em;font-family:var(--font-display)}
.section-subtitle{color:var(--muted);margin:0 0 1.3rem}

.hero{padding: 2.8rem 0 1.2rem}
.hero-grid{
  display:grid;
  grid-template-columns: 1.25fr .75fr;
  gap: 1.25rem;
  align-items:stretch;
}
.hero h1{
  font-size: clamp(2rem, 3.2vw, 3rem);
  line-height:1.1;
  margin:0 0 1rem;
  font-family:var(--font-display);
}
.lead{color:var(--muted);font-size:1.05rem;margin:0 0 1.25rem}
.hero-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.1rem}
.hero-card{
  background: var(--card);
  border:1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 1.15rem;
}
.kpi{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: .75rem;
  margin-top: .6rem;
}
.kpi .tile{
  background: var(--surface);
  border:1px solid var(--border);
  border-radius: 16px;
  padding: .9rem;
}
.kpi .num{font-size:1.2rem;font-weight:850}
.kpi .lbl{font-size:.85rem;color:var(--muted)}

.grid-3{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}
.card{
  background: var(--card);
  border:1px solid var(--border);
  border-radius: var(--radius);
  padding: 1.1rem;
  box-shadow: var(--shadow);
}
.card h3{margin:.2rem 0 .5rem}
.card p{margin:0;color:var(--muted)}
.badge{
  display:inline-flex;align-items:center;
  padding:.35rem .6rem;
  border-radius: 999px;
  border:1px solid var(--border);
  background: rgba(31,111,255,.08);
  color: var(--muted);
  font-size:.82rem;
}

.split{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:1.2rem;
  align-items:start;
}
.list{margin:.6rem 0 0;padding:0;list-style:none}
.list li{
  padding:.65rem .75rem;
  border:1px solid var(--border);
  border-radius: 16px;
  background: var(--surface);
  margin:.55rem 0;
}
.list li strong{color:var(--text)}
.muted{color:var(--muted)}
.small{font-size:.9rem}


.form{display:grid;gap:.8rem}
.field label{display:block;font-weight:700;margin:0 0 .35rem}
.field input,.field textarea,.field select{
  width:100%;
  padding:.85rem .9rem;
  border-radius: 16px;
  border:1px solid var(--border);
  background: var(--card);
  color: var(--text);
  font: inherit;
}
.field textarea{min-height:140px;resize:vertical}
.field input:focus-visible,.field textarea:focus-visible,.field select:focus-visible{outline:none;box-shadow:var(--focus)}

/* Footer */
.site-footer{border-top:1px solid var(--border);background: rgba(255,255,255,.75)}
.footer-grid{
  display:grid;
  grid-template-columns: 1.2fr .7fr 1fr;
  gap: 1rem;
  padding: 2rem 0 1rem;
}
.footer-brand{font-weight:850;font-size:1.05rem;margin:0 0 .5rem}
.footer-title{font-weight:800;margin:0 0 .5rem}
.footer-links{list-style:none;padding:0;margin:.4rem 0 0}
.footer-links li{margin:.25rem 0}
.footer-links a{color:var(--muted);text-decoration:none}
.footer-links a:hover{color:var(--text);text-decoration:underline}
.footer-bottom{
  display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;
  padding: 1rem 0 1.6rem;
}

.hr{height:1px;background:var(--border);margin:1.2rem 0}

@keyframes fade-up{
  from{opacity:0;transform:translateY(14px)}
  to{opacity:1;transform:translateY(0)}
}

.hero, .section{animation:fade-up .7s ease both}
.hero-card{animation:fade-up .7s ease .05s both}
.grid-3 .card{animation:fade-up .6s ease both}
.grid-3 .card:nth-child(2){animation-delay:.08s}
.grid-3 .card:nth-child(3){animation-delay:.16s}
.kpi .tile{animation:fade-up .5s ease both}
.kpi .tile:nth-child(2){animation-delay:.06s}
.kpi .tile:nth-child(3){animation-delay:.12s}
.kpi .tile:nth-child(4){animation-delay:.18s}

@media (prefers-reduced-motion: reduce){
  .hero, .section, .hero-card, .grid-3 .card, .kpi .tile{animation:none}
}

/* Responsive */
@media (max-width: 900px){
  .hero-grid{grid-template-columns:1fr}
  .grid-3{grid-template-columns:1fr}
  .split{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .nav-toggle{display:inline-flex}
  .site-nav{
    position:fixed;right:0;top:0;bottom:0;
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:.4rem;
    background: #0b0b0b;
    border:0;
    border-radius: 0;
    padding:4.5rem 1.2rem 2rem;
    width:40vw;
    max-width:360px;
    min-width:260px;
    box-shadow: none;
    transform:translateX(100%);
    opacity:0;
    pointer-events:none;
    transition: transform .3s ease, opacity .3s ease;
    z-index:50;
  }
  .site-nav.open{
    transform:translateX(0);
    opacity:1;
    pointer-events:auto;
  }
  .site-nav a{width:100%;justify-content:center;color:#ffffff}
  .site-nav a:hover{color:#ffffff;text-decoration:underline;background:transparent}
  .site-nav a[aria-current="page"]{
    color:#ffffff;
    font-weight:800;
    text-decoration:underline;
    background: transparent;
    border-color: transparent;
  }
  .site-nav a{opacity:0;transform:translateX(10px);animation: nav-item .25s ease forwards}
  .site-nav a:nth-child(1){animation-delay:.04s}
  .site-nav a:nth-child(2){animation-delay:.08s}
  .site-nav a:nth-child(3){animation-delay:.12s}
  .site-nav a:nth-child(4){animation-delay:.16s}
  .site-nav a:nth-child(5){animation-delay:.20s}
  .site-nav a:nth-child(6){animation-delay:.24s}
}

@keyframes nav-pop{
  from{opacity:0;transform:translateY(-8px) scale(.98)}
  to{opacity:1;transform:translateY(0) scale(1)}
}

@keyframes nav-item{
  to{opacity:1;transform:translateX(0)}
}

@media (prefers-reduced-motion: reduce){
  .site-nav{animation:none}
  .site-nav a{animation:none;opacity:1;transform:none}
}
