/* EduSimplified — shared styles */

@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600;9..144,700&family=Inter:wght@400;500;600&display=swap');

:root{
  --paper: #F1EEE4;
  --paper-raised: #FAF8F2;
  --ink: #22262B;
  --navy: #223452;
  --navy-deep: #17233A;
  --red: #B44430;
  --gold: #E4B143;
  --line: #D8D2C2;
  --max: 760px;
}

*{ box-sizing: border-box; }

html{ scroll-behavior: smooth; }

body{
  margin:0;
  background: var(--paper);
  color: var(--ink);
  font-family: 'Inter', -apple-system, sans-serif;
  font-size: 17px;
  line-height: 1.6;
}

h1,h2,h3{
  font-family: 'Fraunces', Georgia, serif;
  color: var(--navy-deep);
  line-height: 1.15;
  margin: 0 0 .4em;
  font-weight: 600;
}

h1{ font-size: clamp(2.2rem, 5vw, 3.4rem); font-weight: 500; }
h2{ font-size: clamp(1.5rem, 3vw, 2rem); }
h3{ font-size: 1.15rem; }

p{ margin: 0 0 1em; max-width: 62ch; }

a{ color: var(--red); text-decoration: underline; text-decoration-color: rgba(180,68,48,.35); text-underline-offset: 3px; }
a:hover{ text-decoration-color: var(--red); }

.wrap{ max-width: 1040px; margin: 0 auto; padding: 0 28px; }

/* Header / nav */
header.site{
  border-bottom: 1px solid var(--line);
  background: var(--paper-raised);
}
.nav{
  display:flex; align-items:center; justify-content:space-between;
  padding: 20px 28px; max-width: 1040px; margin: 0 auto;
}
.brand{
  display:flex; align-items:baseline; gap:.5em;
  text-decoration:none; color: var(--navy-deep);
}
.brand .mark{
  font-family:'Fraunces', serif; font-weight:700; font-size:1.35rem; letter-spacing:-.01em;
}
.brand .tag{
  font-size:.78rem; color:#5b6472; font-family:'Inter',sans-serif; display:none;
}
@media(min-width:640px){ .brand .tag{ display:inline; } }

.nav ul{
  list-style:none; display:flex; gap:1.6em; margin:0; padding:0;
  font-size:.95rem;
}
.nav a{ color: var(--ink); text-decoration:none; }
.nav a:hover{ color: var(--red); }
.nav-toggle{ display:none; }

@media(max-width:680px){
  .nav ul{ position:absolute; top:70px; left:0; right:0; background:var(--paper-raised);
    flex-direction:column; padding:1em 28px; border-bottom:1px solid var(--line); gap:.9em;
    display:none; }
  .nav ul.open{ display:flex; }
  .nav-toggle{ display:block; background:none; border:1px solid var(--line); border-radius:4px;
    padding:.4em .7em; font-size:1rem; cursor:pointer; }
  header.site{ position:relative; }
}

/* Hero */
.hero{
  padding: 72px 0 56px;
  position: relative;
  background-image: repeating-linear-gradient(
    to bottom, transparent 0 38px, rgba(34,52,82,.06) 38px 39px
  );
}
.hero .eyebrow{
  color: var(--red); font-weight:600; font-size:.85rem; margin-bottom: .8em;
}
.hero p.lede{
  font-size: 1.15rem; color:#3c4450;
}
.btn-row{ display:flex; flex-wrap:wrap; gap: .9em; margin-top: 1.6em; }
.btn{
  display:inline-block; padding: .75em 1.4em; border-radius: 3px;
  text-decoration:none; font-weight:600; font-size:.95rem; border: 1.5px solid var(--navy-deep);
}
.btn-primary{ background: var(--navy-deep); color: var(--paper-raised); }
.btn-primary:hover{ background: var(--navy); }
.btn-ghost{ background:transparent; color: var(--navy-deep); }
.btn-ghost:hover{ background: rgba(34,52,82,.06); }

/* Sections */
section{ padding: 52px 0; }
section.alt{ background: var(--paper-raised); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }

.grid{
  display:grid; gap: 28px;
  grid-template-columns: repeat(auto-fit, minmax(230px,1fr));
}
.card{
  border-top: 3px solid var(--gold);
  padding: 1.4em 0 0;
}
.card h3{ margin-bottom:.35em; }
.card p{ font-size: .96rem; color:#454c56; }

.services-list{
  columns: 2; column-gap: 40px; list-style:none; padding:0; margin: 0;
}
.services-list li{
  break-inside: avoid; padding: .55em 0; border-bottom:1px dotted var(--line);
  font-size: .98rem;
}
@media(max-width:600px){ .services-list{ columns:1; } }

.app-card{
  display:flex; gap:1.2em; align-items:flex-start;
  background: var(--paper-raised); border:1px solid var(--line); border-radius:6px;
  padding: 1.4em;
}
.app-card .badge{
  width:52px;height:52px;border-radius:12px;background:var(--navy-deep);
  color:var(--gold); display:flex;align-items:center;justify-content:center;
  font-family:'Fraunces',serif; font-weight:700; font-size:1.3rem; flex:none;
}

/* Footer */
footer.site{
  border-top:1px solid var(--line);
  padding: 40px 0; font-size:.9rem; color:#5b6472;
}
footer.site .wrap{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:1em; }
footer.site a{ color:#5b6472; }

/* Policy pages */
.policy h2{ margin-top:1.6em; }
.policy{ max-width: var(--max); }
.updated{ color:#5b6472; font-size:.9rem; margin-bottom:2em; }

/* Contact */
.contact-grid{ display:grid; gap:2em; grid-template-columns: 1fr 1fr; }
@media(max-width:640px){ .contact-grid{ grid-template-columns:1fr; } }
.contact-block dt{ font-weight:600; color:var(--navy-deep); margin-top:1em; }
.contact-block dd{ margin:0 0 .4em; }
