/* Calendar Connect - minimal, modern styles */
:root{
  --bg:#0b1020;
  --card:#11182f;
  --card-2:#0e1530;
  --text:#e7ecf7;
  --muted:#9fb1d3;
  --brand:#4f7cff;
  --brand-2:#6ea5ff;
  --ring: rgba(79,124,255,.35);
}
*{box-sizing:border-box}
html,body{height:100%;}
body{
  margin:0;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
  color:var(--text);
  background: radial-gradient(1200px 800px at 80% -10%, #27408f40, transparent 60%),
              radial-gradient(1000px 600px at -10% 10%, #0a5ac840, transparent 50%),
              var(--bg);
  line-height:1.6;
}

.container{width:min(1100px, 92%); margin-inline:auto}
.header-content, .footer-content{display:flex; align-items:center; justify-content:space-between; gap:16px}
.site-header{position:sticky; top:0; backdrop-filter:saturate(1.5) blur(10px); background:#0b1020cc; border-bottom:1px solid #ffffff14; z-index:10}
.site-header .brand{color:#fff; text-decoration:none; font-weight:700; letter-spacing:.2px; display:flex; align-items:center; gap:10px}
.site-header .brand-logo{width:28px; height:28px; display:block}
.site-header .brand-name{display:inline-block}
.site-header .nav a{color:var(--muted); text-decoration:none; margin-left:18px}
.site-header .nav a:hover, .site-header .nav a.active{color:#fff}

.hero{position:relative; padding:72px 0 48px}
.hero h1{font-size:clamp(28px, 4vw, 44px); line-height:1.15; margin:0 0 10px}
.subtitle{color:var(--muted); margin:0 0 24px}
.cta{display:flex; gap:12px; flex-wrap:wrap}
.btn{appearance:none; border:1px solid #2c3866; background:linear-gradient(#1a244a, #151d3d); color:#e9f0ff; padding:10px 14px; border-radius:10px; cursor:pointer; font-weight:600; letter-spacing:.2px}
.btn:hover{box-shadow:0 0 0 3px var(--ring)}
.btn-primary{background:linear-gradient(180deg, #4f7cff, #3f6ae6); border-color:#3f6ae6}
.btn-outline{background:transparent}
.btn .icon{width:16px; height:16px; margin-right:8px; vertical-align:middle; display:inline-block}
.note{color:var(--muted); margin-top:14px; font-size:14px}
.hero-bg{position:absolute; inset:auto 0 0; height:140px; background:linear-gradient(180deg, #ffffff08, transparent)}

.features{padding:32px 0 64px}
.grid{display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:16px}
.card{background:linear-gradient(180deg, var(--card), var(--card-2)); border:1px solid #ffffff14; padding:18px; border-radius:14px}
.card h3{margin:0 0 6px}

.legal{padding:42px 0 64px}
.legal h1{margin-top:0}
.muted{color:var(--muted)}

.site-footer{border-top:1px solid #ffffff14; padding:18px 0; background:#0b1020cc; backdrop-filter:saturate(1.5) blur(10px)}
.footer-content .links a{color:var(--muted); text-decoration:none}
.footer-content .links a.active{color:#fff}
.footer-content .dot{opacity:.5; margin-inline:10px}

/* Sections */
.section{padding:54px 0}
.section h2{margin:0 0 18px}

/* Grids & layouts */
.grid.two-cols{grid-template-columns:repeat(2, minmax(0, 1fr))}
.steps{align-items:stretch}
.step{position:relative}
.step-num{width:28px; height:28px; border-radius:999px; display:inline-flex; align-items:center; justify-content:center; background:linear-gradient(180deg, #4f7cff, #3f6ae6); border:1px solid #3f6ae6; font-weight:700; margin-bottom:8px}

/* Lists */
.list{margin:0; padding-left:18px}
.list li{margin:8px 0}

/* Callouts */
.callout{margin-top:16px; padding:14px 16px; border:1px solid #ffffff1f; border-radius:12px; background:linear-gradient(180deg, #101938, #0e1530)}

/* FAQ */
.faq details{background:linear-gradient(180deg, var(--card), var(--card-2)); border:1px solid #ffffff14; border-radius:12px; padding:12px 14px; margin:10px 0}
.faq details summary{cursor:pointer; font-weight:600}
.faq details[open]{box-shadow:0 0 0 3px var(--ring)}

@media (max-width: 800px){
  .grid{grid-template-columns:1fr}
  .grid.two-cols{grid-template-columns:1fr}
}
