/* pascaldury.com — editorial stylesheet
   Type: EB Garamond (display + body), system Garamond fallback.
   One accent, quiet layout, narrow reading column. */

@import url('https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400;0,500;0,600;1,400&display=swap');

:root{
  --ink:#20211f;
  --ink-soft:#4c4e49;
  --paper:#faf9f6;
  --line:#e2dfd7;
  --accent:#274060;      /* deep ink blue — links, active states */
  --accent-dark:#1b2e46;
  --max:720px;
}

*{box-sizing:border-box;}
html{font-size:17px;}
body{
  margin:0;
  font-family:'EB Garamond', Garamond, 'Times New Roman', serif;
  font-weight:400;
  color:var(--ink);
  background:var(--paper);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}

/* ---------- accessibility ---------- */
.skip{
  position:absolute; left:-999px; top:0;
  background:var(--ink); color:var(--paper);
  padding:8px 16px; z-index:100;
}
.skip:focus{left:0;}
a:focus-visible, button:focus-visible{
  outline:2px solid var(--accent); outline-offset:3px;
}
@media (prefers-reduced-motion: reduce){
  *{transition:none !important; animation:none !important;}
}

/* ---------- nav ---------- */
nav{
  max-width:var(--max); margin:0 auto;
  padding:28px 24px 12px;
  display:flex; align-items:baseline; justify-content:space-between; gap:24px;
}
.nav-name{
  font-size:1.06rem; font-weight:600; letter-spacing:.02em;
  color:var(--ink); text-decoration:none;
}
.nav-links{display:flex; gap:22px; flex-wrap:wrap;}
.nav-links a{
  color:var(--ink-soft); text-decoration:none;
  font-size:.94rem; letter-spacing:.01em;
  border-bottom:1px solid transparent; padding-bottom:2px;
}
.nav-links a:hover{color:var(--accent); border-bottom-color:var(--accent);}
.nav-hamburger{display:none;}
.nav-mobile{display:none;}

@media (max-width:640px){
  .nav-links{display:none;}
  .nav-hamburger{
    display:inline-flex; flex-direction:column; gap:4px;
    background:none; border:none; cursor:pointer; padding:6px;
  }
  .nav-hamburger span{
    width:22px; height:2px; background:var(--ink); display:block;
  }
  .nav-mobile{
    display:none; flex-direction:column;
    max-width:var(--max); margin:0 auto; padding:0 24px 12px;
    border-bottom:1px solid var(--line);
  }
  .nav-mobile.open{display:flex;}
  .nav-mobile a{
    color:var(--ink); text-decoration:none;
    padding:10px 0; border-bottom:1px solid var(--line);
    font-size:1rem;
  }
  .nav-mobile a:last-child{border-bottom:none;}
}

/* ---------- layout ---------- */
main{max-width:var(--max); margin:0 auto; padding:0 24px 80px;}
section{margin-top:56px;}

/* ---------- hero ---------- */
.hero{margin-top:64px;}
.hero-tag{
  display:block;
  font-size:.82rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--ink-soft); margin-bottom:18px;
}
h1{
  font-size:2.35rem; line-height:1.18; font-weight:500;
  margin:0 0 22px; letter-spacing:-.005em;
}
.lead{
  font-size:1.17rem; line-height:1.6; color:var(--ink);
  margin:0 0 30px; max-width:60ch;
}
.cta-hero{margin:0;}

/* ---------- headings & text ---------- */
h2{
  font-size:1.5rem; font-weight:500; line-height:1.3;
  margin:0 0 16px;
}
h3{
  font-size:1.13rem; font-weight:600; line-height:1.35;
  margin:30px 0 8px;
}
h3 a{color:var(--ink); text-decoration:none; border-bottom:1px solid var(--line);}
h3 a:hover{color:var(--accent); border-bottom-color:var(--accent);}
p{margin:0 0 16px; max-width:66ch;}
.small{font-size:.9rem; color:var(--ink-soft);}
a{color:var(--accent);}
a:hover{color:var(--accent-dark);}

blockquote{
  margin:24px 0; padding:2px 0 2px 22px;
  border-left:2px solid var(--line);
  font-style:italic; color:var(--ink-soft);
}

/* ---------- symptom list ---------- */
ul.symptoms{
  list-style:none; margin:0; padding:0;
}
ul.symptoms li{
  padding:12px 0 12px 26px; position:relative;
  border-bottom:1px solid var(--line);
  max-width:66ch;
}
ul.symptoms li:last-child{border-bottom:none;}
ul.symptoms li::before{
  content:"—"; position:absolute; left:0; color:var(--accent);
}

/* generic lists on inner pages */
main ul:not(.symptoms){padding-left:22px; margin:0 0 16px;}
main ul:not(.symptoms) li{margin-bottom:8px; max-width:62ch;}

/* ---------- divider ---------- */
hr.divider{
  border:none; border-top:1px solid var(--line);
  margin:56px 0 0;
}
hr.divider + h2{margin-top:52px;}

/* ---------- programme cards ---------- */
.secondary{
  display:grid; gap:16px; margin-top:26px;
}
.secondary a{
  display:block; text-decoration:none; color:var(--ink);
  border:1px solid var(--line); background:#fff;
  padding:22px 24px;
  transition:border-color .15s ease;
}
.secondary a:hover{border-color:var(--accent);}
.secondary .name{font-size:1.12rem; font-weight:600; margin-bottom:4px;}
.secondary .meta{
  font-size:.82rem; letter-spacing:.08em; text-transform:uppercase;
  color:var(--ink-soft); margin-bottom:10px;
}
.secondary .desc{font-size:.98rem; line-height:1.55; color:var(--ink-soft);}

/* ---------- buttons ---------- */
.cta-primary, .cta-secondary{
  display:inline-block; text-decoration:none;
  font-size:.98rem; letter-spacing:.01em;
  padding:11px 22px; margin:0 12px 12px 0;
}
.cta-primary{
  background:var(--ink); color:var(--paper);
  border:1px solid var(--ink);
}
.cta-primary:hover{background:var(--accent-dark); border-color:var(--accent-dark); color:var(--paper);}
.cta-secondary{
  color:var(--ink); border:1px solid var(--ink-soft);
  background:transparent;
}
.cta-secondary:hover{border-color:var(--accent); color:var(--accent);}

/* ---------- closing cta block ---------- */
.cta{
  margin-top:72px; padding:36px 32px;
  border:1px solid var(--line); background:#fff;
}

/* ---------- forms (contact) ---------- */
form{max-width:520px;}
label{display:block; font-size:.92rem; color:var(--ink-soft); margin:18px 0 6px;}
input[type=text], input[type=email], textarea{
  width:100%; padding:10px 12px;
  font-family:inherit; font-size:1rem; color:var(--ink);
  border:1px solid var(--line); background:#fff;
}
input:focus, textarea:focus{border-color:var(--accent); outline:none;}
textarea{min-height:150px; resize:vertical;}
button[type=submit]{
  margin-top:22px; cursor:pointer;
  font-family:inherit;
}

/* ---------- footer ---------- */
footer{
  max-width:var(--max); margin:0 auto;
  padding:32px 24px 48px;
  border-top:1px solid var(--line);
  font-size:.9rem; color:var(--ink-soft); line-height:1.7;
}

/* ---------- small screens ---------- */
@media (max-width:640px){
  html{font-size:16px;}
  h1{font-size:1.85rem;}
  .hero{margin-top:40px;}
  .cta{padding:28px 20px;}
}


/* ---------- recovered components (notes, deliverables, phase cards, essays) ---------- */
.note{
  margin:28px 0; padding:20px 24px;
  background:var(--bg2, #f2f1ec); border-left:2px solid var(--accent);
  font-size:.95rem; color:var(--ink); max-width:66ch;
}
.note-label{
  display:block; font-family:'SF Mono', Menlo, Consolas, monospace;
  font-size:.7rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--ink-soft); margin-bottom:8px;
}
.deliverables{
  margin:20px 0 32px; padding:20px 24px;
  border:1px solid var(--line); background:#fff; max-width:66ch;
}
.deliverables-label{
  display:block; font-family:'SF Mono', Menlo, Consolas, monospace;
  font-size:.7rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--ink-soft); margin-bottom:10px;
}
.deliverables ul{margin:0; padding-left:20px;}
.deliverables li{margin-bottom:6px; font-size:.97rem;}
.phase-card{
  margin:18px 0; padding:20px 24px;
  border:1px solid var(--line); background:#fff; max-width:66ch;
}
.phase-label{
  display:block; font-family:'SF Mono', Menlo, Consolas, monospace;
  font-size:.7rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--accent); margin-bottom:6px;
}
.phase-card h3{margin:0 0 6px;}
.phase-card p{margin:0; color:var(--ink-soft); font-size:.97rem;}
.structural-signature{
  display:inline-block; margin:4px 0 18px;
  font-family:'SF Mono', Menlo, Consolas, monospace;
  font-size:.78rem; letter-spacing:.06em; color:var(--accent);
}
.related-link{color:var(--accent);}
.essay-body p{max-width:62ch; margin-bottom:18px; font-size:1.05rem; line-height:1.75;}
.contact{
  margin-top:48px; padding:24px 28px;
  border:1px solid var(--line); background:#fff; max-width:66ch;
}
details summary{cursor:pointer; color:var(--accent); margin:8px 0 16px;}

.essay-meta{
  font-family:'SF Mono', Menlo, Consolas, monospace;
  font-size:.78rem; letter-spacing:.08em; text-transform:uppercase;
  color:var(--ink-soft); margin-bottom:28px;
}
.essay-nav{margin-top:40px; line-height:2;}
