/* edclinic.co — design system (v3: stark/rugged pass) */
:root{
  --ink:#FFFFFF;
  --surface:#F5F3EE;
  --surface-2:#EBE7DE;
  --border:#C7C2B8;
  --border-soft:#DDD8CD;
  --brass:#E2540A;
  --brass-light:#F0700F;
  --oxblood:#C81628;
  --oxblood-light:#E22538;
  --text:#111214;
  --text-dim:#43474D;
  --text-faint:#63676D;
  --radius:4px;
  --maxw:1120px;
}
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *{animation-duration:0.001ms !important;animation-iteration-count:1 !important;transition-duration:0.001ms !important;}
}
body{
  margin:0;
  background:var(--ink);
  color:var(--text);
  font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  border-top:14px solid var(--text);
  border-left:14px solid var(--text);
  border-right:14px solid var(--text);
}
@media (max-width:640px){
  body{border-width:7px;}
}
h1,h2,h3,h4{
  font-family:'Fraunces',Georgia,serif;
  font-weight:800;
  line-height:1.1;
  margin:0 0 0.5em;
  color:var(--text);
  letter-spacing:-0.02em;
}
p{margin:0 0 1em;color:var(--text-dim);}
a{color:var(--brass-light);text-decoration:none;}
a:hover{color:var(--brass);}
img{max-width:100%;display:block;}
.mono{font-family:'IBM Plex Mono',monospace;}
:focus-visible{outline:2px solid var(--brass-light);outline-offset:3px;}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px;}

/* header */
header.site{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,0.92);
  backdrop-filter:blur(10px);
  border-bottom:2px solid var(--text);
}
.nav{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;max-width:var(--maxw);margin:0 auto;}
.brand{display:flex;align-items:center;gap:10px;color:var(--text);font-family:'Fraunces',serif;font-weight:800;font-size:1.2rem;letter-spacing:-0.02em;}
.brand img{width:30px;height:30px;}
.navlinks{display:flex;gap:28px;align-items:center;list-style:none;margin:0;padding:0;}
.navlinks a{color:var(--text);font-size:0.9rem;font-weight:600;}
.navlinks a:hover{color:var(--brass);}
.navlinks a.rounds{color:var(--brass);}
.navlinks a.rounds::after{content:" ↗";font-size:0.75em;opacity:0.7;}
.navtoggle{display:none;background:none;border:2px solid var(--text);color:var(--text);width:40px;height:40px;border-radius:var(--radius);cursor:pointer;font-weight:700;}

/* hero */
.hero{padding:56px 0 40px;text-align:center;}
.hero-eyebrow{color:var(--brass);font-family:'IBM Plex Mono',monospace;font-size:0.78rem;letter-spacing:0.16em;text-transform:uppercase;margin-bottom:18px;font-weight:600;}
.hero-eyebrow::before{content:"";display:inline-block;width:8px;height:8px;background:var(--brass);margin-right:8px;vertical-align:middle;}
.hero h1{font-size:clamp(2.3rem,4.8vw,3.7rem);max-width:820px;margin:0 auto 18px;}
.hero .lede{max-width:560px;margin:0 auto 32px;font-size:1.1rem;font-weight:500;}
.banner-frame{
  max-width:728px;margin:0 auto 40px;
  border:2px solid var(--text);
  border-radius:var(--radius);
  overflow:hidden;
  background:var(--surface);
  padding:6px;
}
.banner-frame img{border-radius:6px;width:100%;height:auto;}
.paid-link-label{
  display:inline-block;font-family:'IBM Plex Mono',monospace;
  font-size:0.62rem;letter-spacing:0.08em;text-transform:uppercase;
  color:var(--text-faint);background:var(--surface-2);
  border:1px solid var(--border);border-radius:4px;
  padding:2px 6px;margin-top:6px;
}

.trustbar{display:flex;flex-wrap:wrap;justify-content:center;gap:28px;margin-top:8px;}
.trustbar .item{display:flex;align-items:center;gap:8px;color:var(--text);font-size:0.9rem;font-weight:600;}
.trustbar svg{width:17px;height:17px;stroke:var(--text);stroke-width:2.5;flex:none;}

/* sections */
section{padding:64px 0;}
section.alt{background:var(--surface);border-top:2px solid var(--text);border-bottom:2px solid var(--text);}
.section-head{max-width:640px;margin:0 auto 44px;text-align:center;}
.section-head .eyebrow{color:var(--brass);font-family:'IBM Plex Mono',monospace;font-size:0.75rem;letter-spacing:0.14em;text-transform:uppercase;margin-bottom:12px;font-weight:600;}
.section-head .eyebrow::before{content:"";display:inline-block;width:8px;height:8px;background:var(--brass);margin-right:8px;vertical-align:middle;}
.section-head h2{font-size:clamp(1.6rem,3vw,2.2rem);}
.section-head p{margin-top:10px;}

/* provider comparison cards */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;}
@media (max-width:560px){.cards{grid-template-columns:1fr;}}
.card{
  background:var(--surface);border:2px solid var(--text);
  border-radius:var(--radius);padding:28px 24px;
  display:flex;flex-direction:column;gap:14px;
  transition:border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}
.card:hover{border-color:var(--brass);transform:translateY(-3px);box-shadow:5px 5px 0 var(--text);}
.badge{
  align-self:flex-start;font-family:'IBM Plex Mono',monospace;
  font-size:0.68rem;letter-spacing:0.1em;text-transform:uppercase;font-weight:600;
  color:#FFFFFF;background:var(--brass);
  border:2px solid var(--text);border-radius:3px;
  padding:4px 10px;
}
.card h3{font-size:1.3rem;margin-bottom:2px;}
.card .desc{font-size:0.94rem;flex:1;}
.card .fine{font-size:0.78rem;color:var(--text-faint);border-top:1px solid var(--border-soft);padding-top:12px;margin-top:auto;}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:12px 24px;border-radius:var(--radius);font-weight:700;font-size:0.88rem;
  text-transform:uppercase;letter-spacing:0.04em;
  border:2px solid transparent;cursor:pointer;transition:all .15s ease;
}
.btn-primary{background:var(--oxblood);color:#FFFFFF;border-color:var(--text);box-shadow:3px 3px 0 var(--text);}
.btn-primary:hover{background:var(--oxblood-light);color:#fff;transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--text);}
.btn-ghost{background:transparent;border-color:var(--text);color:var(--text);}
.btn-ghost:hover{border-color:var(--brass);color:var(--brass);background:var(--surface);}

/* how it works */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;max-width:920px;margin:0 auto;}
@media (max-width:760px){.steps{grid-template-columns:1fr;}}
.step{text-align:left;}
.step .num{font-family:'Fraunces',serif;font-weight:800;font-size:2.2rem;color:var(--brass);opacity:0.7;margin-bottom:8px;}
.step h3{font-size:1.1rem;}
.step p{font-size:0.92rem;}

/* faq */
.faq{max-width:720px;margin:0 auto;}
.faq-item{border-bottom:1px solid var(--border-soft);}
.faq-item summary{
  cursor:pointer;list-style:none;padding:18px 4px;
  display:flex;justify-content:space-between;align-items:center;gap:16px;
  font-weight:600;color:var(--text);
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:"+";font-family:'Fraunces',serif;font-size:1.4rem;color:var(--brass);transition:transform .2s ease;flex:none;}
.faq-item[open] summary::after{transform:rotate(45deg);}
.faq-item .a{padding:0 4px 18px;font-size:0.94rem;color:var(--text-dim);}

/* disclaimer box */
.disclaimer{
  background:var(--surface-2);border:1px solid var(--border);
  border-radius:var(--radius);padding:20px 22px;font-size:0.82rem;color:var(--text-faint);
  max-width:820px;margin:0 auto;
}
.disclaimer strong{color:var(--text-dim);}

/* footer */
footer.site{
  background:var(--text);color:#D8D4CB;
  border-top:2px solid var(--text);
  padding:52px 0 32px;
}
footer.site .brand{color:#FFFFFF;}
footer.site .footer-brand p{color:#A6A29A;}
footer.site .footer-col h4{color:#8A8680;}
footer.site .footer-col a{color:#D8D4CB;}
footer.site .footer-col a:hover{color:var(--brass-light);}
.footer-grid{display:flex;flex-wrap:wrap;justify-content:space-between;gap:32px;margin-bottom:32px;}
.footer-brand{max-width:280px;}
.footer-brand .brand{margin-bottom:10px;}
.footer-brand p{font-size:0.85rem;}
.footer-cols{display:flex;gap:56px;flex-wrap:wrap;}
.footer-col h4{font-family:'Inter',sans-serif;font-size:0.78rem;letter-spacing:0.08em;text-transform:uppercase;margin-bottom:14px;font-weight:600;}
.footer-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}
.footer-col a{font-size:0.9rem;}
.footer-bottom{border-top:1px solid #33342F;padding-top:24px;font-size:0.78rem;color:#7A766E;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;}
.footer-bottom a{color:#7A766E;}

/* generic page (about/contact/etc) */
.page-hero{padding:56px 0 32px;text-align:center;border-bottom:2px solid var(--text);}
.page-hero h1{font-size:clamp(1.9rem,4vw,2.6rem);}
.prose{max-width:720px;margin:0 auto;padding:48px 0;}
.prose h2{margin-top:1.6em;font-size:1.4rem;}
.prose ul{color:var(--text-dim);}
.prose li{margin-bottom:0.5em;}

.form-row{display:flex;flex-direction:column;gap:6px;margin-bottom:18px;text-align:left;}
.form-row label{font-size:0.85rem;color:var(--text-dim);}
.form-row input,.form-row textarea{
  background:var(--surface);border:1px solid var(--border);border-radius:8px;
  padding:12px 14px;color:var(--text);font-family:inherit;font-size:0.95rem;
}
.form-row input:focus,.form-row textarea:focus{border-color:var(--brass);outline:none;}

@media (max-width:760px){
  .navlinks{display:none;}
  .navlinks.open{
    display:flex;flex-direction:column;gap:16px;
    position:absolute;top:100%;left:0;right:0;
    background:var(--surface);border-bottom:1px solid var(--border);
    padding:20px 24px;
    box-shadow:0 8px 20px rgba(24,26,29,0.08);
  }
  .navtoggle{display:block;}
  .nav{position:relative;}
}
