:root { --ink:#111820; --muted:#36434d; --blue:#174f86; --blue-deep:#0c3155; --green:#216b4b; --green-deep:#12472f; --line:#d7e0e5; --serif:Georgia,"Times New Roman",serif; --sans:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
* { box-sizing:border-box; }
.hp { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
body { margin:0; color:#111; background:#fff; font:16px/1.65 var(--sans); }
a { color:inherit; text-decoration:none; }
h1,h2,h3 { font-family:var(--serif); line-height:1.12; }
.wrap { width:min(1120px,calc(100% - 40px)); margin:auto; }
section { padding:clamp(64px,9vw,100px) 0; }
header,footer { padding:22px 0; border-bottom:1px solid var(--line); background:#fff; }
footer { border:0; border-top:1px solid var(--line); }
header .wrap,footer .wrap { display:flex; align-items:center; justify-content:space-between; gap:18px; }
header a { font:bold 1.45rem var(--serif); }
header a:hover { color:var(--blue); text-decoration:underline; text-underline-offset:.18em; }
header nav a { margin-left:18px; font:600 .95rem var(--sans); color:var(--ink); }
header nav a:hover { color:var(--blue); text-decoration:underline; text-underline-offset:.16em; }
footer p { margin:0; color:#26343d; font-size:.9rem; }
main > section:first-child { position:relative; display:flex; min-height:min(700px,86vh); flex-direction:column; justify-content:space-between; overflow:hidden; padding:clamp(44px,6vh,78px) 0 0; color:#fff; background:linear-gradient(115deg,#103c66 0%,#174f86 48%,#216b4b 100%); }
main > section:first-child > figure { position:absolute; inset:0; z-index:0; overflow:hidden; margin:0; }
main > section:first-child > figure img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 52%; }
main > section:first-child > figure::before { position:absolute; z-index:1; inset:0; background:linear-gradient(112deg,rgba(23,79,134,.72) 0%,rgba(26,91,119,.64) 52%,rgba(33,107,75,.68) 100%); mix-blend-mode:color; content:""; }
main > section:first-child > figure::after { position:absolute; z-index:2; inset:0; background:linear-gradient(90deg,rgba(8,28,47,.56) 0%,rgba(8,28,47,.44) 32%,rgba(8,28,47,.2) 64%,rgba(8,28,47,.1) 100%); content:""; }
main > section:first-child > .wrap { position:relative; z-index:2; display:flex; flex:1; align-items:center; padding-bottom:clamp(32px,6vh,72px); }
main > section:first-child > .wrap > div { position:relative; z-index:2; max-width:min(49%,550px); }
main > section:first-child > .wrap > div > p:first-child { margin:0 0 14px; color:#fff; font-family:var(--serif); font-size:clamp(1.5rem,3vw,2.1rem); font-weight:700; line-height:1.2; }
main > section:first-child h1 { max-width:700px; margin:0; font-size:clamp(2.5rem,4.5vw,3.75rem); letter-spacing:-.035em; }
main > section:first-child h1 + p { max-width:600px; margin:24px 0 0; color:#fff; font-size:clamp(1.08rem,2vw,1.25rem); }
main > section:first-child h1 + p + div { display:flex; flex-wrap:wrap; gap:14px; margin-top:30px; }
.button { display:inline-flex; min-height:50px; align-items:center; justify-content:center; padding:12px 22px; border:2px solid transparent; border-radius:999px; background:var(--green); color:#fff; font-weight:700; }
.button:hover { background:var(--green-deep); }
.button-secondary { border-color:#fff; background:transparent; color:#fff; }
.button-secondary:hover { border-color:#fff; background:#fff; color:var(--blue-deep); }
main > section:first-child > div:last-child { position:relative; z-index:2; width:100%; padding:21px 0; background:linear-gradient(90deg,var(--blue-deep),var(--green-deep)); color:#fff; }
main > section:first-child > div:last-child .wrap { display:flex; flex-wrap:wrap; justify-content:center; gap:12px 42px; padding:0 16px; text-align:center; }
main > section:first-child > div:last-child p { margin:0; font-size:.95rem; }
main > section:first-child > div:last-child strong { color:#fff; }
.section-heading { max-width:720px; margin:0 auto 42px; text-align:center; }
.section-heading h2,#about h2,section[aria-labelledby="privacy-title"] h2 { margin:0; font-size:clamp(2.3rem,5vw,3.7rem); }
.section-heading p { margin:16px 0 0; color:#26343d; font-size:1.08rem; }
section[aria-labelledby="approach-title"] .wrap { display:grid; grid-template-columns:1fr 1fr; gap:32px; }
section[aria-labelledby="approach-title"] .section-heading { grid-column:1/-1; margin-bottom:0; }
section[aria-labelledby="approach-title"] .wrap > div:nth-child(2) { display:grid; grid-template-columns:1fr; align-content:start; gap:20px; }
section[aria-labelledby="approach-title"] article { padding:24px; border:1px solid var(--line); border-radius:16px; background:#fff; }
section[aria-labelledby="approach-title"] aside { grid-column:2; grid-row:2; display:flex; align-items:flex-start; flex-direction:column; justify-content:center; gap:24px; margin:0; padding:clamp(28px,4vw,44px); border-radius:18px; background:var(--green-deep); color:#fff; }
section[aria-labelledby="approach-title"] aside h3 { margin:0 0 8px; font:clamp(1.6rem,3vw,2.3rem)/1.15 var(--serif); }
section[aria-labelledby="approach-title"] aside p { margin:0; color:#fff; }
section[aria-labelledby="approach-title"] aside a { flex-shrink:0; background:#fff; color:var(--green-deep); }
section[aria-labelledby="approach-title"] aside a:hover { background:var(--green); color:#fff; }
#reading-link article { padding:0; border:0; border-radius:0; background:transparent; }
section[aria-labelledby="approach-title"] article h3,#reading-link article h3 { margin:0 0 12px; font-size:1.5rem; }
section[aria-labelledby="approach-title"] article p,#reading-link article p,#about .wrap > div:last-child p,section[aria-labelledby="privacy-title"] p { color:#26343d; }
#reading-link article p:last-child { margin-bottom:0; }
#about { background:#fff; }
#about > .wrap { display:grid; grid-template-columns:1.1fr .9fr; align-items:center; gap:clamp(36px,7vw,82px); padding:clamp(14px,3vw,32px); }
#about figure { aspect-ratio:4/5; margin:0; overflow:hidden; border-radius:18px; background:var(--green); }
#about figure img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 42%; }
#about .wrap > div:last-child > p:first-of-type { color:var(--ink); font-size:1.15rem; }
#reading-link,section[aria-labelledby="questions-title"],section[aria-labelledby="privacy-title"] { background:#fff; }
section[aria-labelledby="questions-title"] .wrap { display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(28px,6vw,72px); align-items:start; }
section[aria-labelledby="questions-title"] h2 { margin:0; font-size:clamp(2.2rem,4.5vw,3.4rem); }
section[aria-labelledby="questions-title"] .wrap > div:last-child p,section[aria-labelledby="questions-title"] li { color:#26343d; }
section[aria-labelledby="questions-title"] ul { padding-left:1.2rem; }
#reading-link .reading-details { display:grid; grid-template-columns:1fr 1fr; gap:0; padding:28px; border:1px solid var(--line); border-radius:18px; background:#fff; }
#reading-link .reading-details > article:nth-child(2) { margin-left:28px; padding-left:28px; border-left:1px solid var(--line); }
#reading-link article:nth-child(2) p:first-of-type { margin:4px 0 12px; font:clamp(3rem,6vw,4.5rem)/1 var(--serif); }
#reading-request { grid-column:1/-1; margin-top:28px; padding-top:28px !important; border-top:1px solid var(--line) !important; }
#reading-request form { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:22px; }
#reading-request label { display:grid; gap:6px; font-size:.92rem; font-weight:650; }
#reading-request label span { color:#26343d; font-size:.88rem; font-weight:400; line-height:1.5; }
#reading-request label:nth-of-type(3),#reading-request form > button { grid-column:1/-1; }
#reading-request input,#reading-request textarea { width:100%; min-height:48px; padding:11px 14px; border:1px solid #8998a2; border-radius:10px; color:#111; background:#fff; font:inherit; }
#reading-request textarea { min-height:110px; resize:vertical; }
#reading-request form > button { width:fit-content; cursor:pointer; font:inherit; }
.boundary-note { padding:16px 0 0; border-top:1px solid var(--line); background:transparent; }
section[aria-labelledby="privacy-title"] > .wrap { max-width:780px; padding:clamp(14px,3vw,32px); }
section[aria-labelledby="privacy-title"] p { max-width:68ch; margin-inline:auto; }
section[aria-labelledby="reading-cta-title"] { padding:68px 0; color:#fff; background:var(--blue); }
section[aria-labelledby="reading-cta-title"] .wrap { display:flex; align-items:center; justify-content:space-between; gap:30px; }
section[aria-labelledby="reading-cta-title"] h2 { max-width:680px; margin:0; font-size:clamp(2rem,4vw,3.1rem); }
#newsletter .wrap > div { max-width:800px; margin:auto; padding:clamp(28px,6vw,56px); border-radius:24px; background:var(--blue); color:#fff; text-align:center; }
#newsletter h2 { margin:0; font-size:clamp(2.2rem,5vw,3.4rem); }
#newsletter p { max-width:590px; margin:14px auto 24px; color:#fff; }
#newsletter form { display:flex; max-width:570px; gap:10px; margin:auto; }
#newsletter label { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
#newsletter input { flex:1; min-width:0; min-height:50px; padding:12px 16px; border:0; border-radius:10px; color:#111; background:#fff; font:inherit; }
#newsletter input:focus,#reading-request input:focus,#reading-request textarea:focus { outline:3px solid #fff; outline-offset:2px; }
#reading-request input:focus,#reading-request textarea:focus { outline-color:var(--blue); }
#newsletter form button { background:var(--green); color:#fff; cursor:pointer; font:inherit; }
#newsletter form button:hover { background:var(--green-deep); color:#fff; }
#newsletter p:last-child { font-size:.82rem; }
a:focus-visible,button:focus-visible { outline:3px solid var(--blue); outline-offset:3px; }
.button-secondary:focus-visible { outline-color:var(--blue); }
main > section:first-child a:focus-visible,main > section:first-child button:focus-visible,section[aria-labelledby="approach-title"] aside a:focus-visible,section[aria-labelledby="approach-title"] aside button:focus-visible,section[aria-labelledby="reading-cta-title"] a:focus-visible,section[aria-labelledby="reading-cta-title"] button:focus-visible,#newsletter a:focus-visible,#newsletter button:focus-visible { outline-color:#fff; }
@media (min-width:761px) and (max-width:900px) {
  main > section:first-child > figure img { object-position:12% 52%; }
  #reading-link .reading-details { grid-template-columns:1fr; }
  #reading-link .reading-details > article:nth-child(2) { margin:24px 0 0; padding:24px 0 0; border-top:1px solid var(--line); border-left:0; }
  #reading-request, #reading-request label:nth-of-type(3), #reading-request form > button { grid-column:auto; }
  #reading-request form { grid-template-columns:1fr; }
}
@media (min-width:901px) {
  main > section:first-child { padding-top:clamp(32px,4vh,48px); }
  main > section:first-child > .wrap { padding-bottom:clamp(16px,3vh,28px); }
  main > section:first-child > figure img { object-position:left 30%; transform:scale(1.15); transform-origin:left center; }
  main > section:first-child > div:last-child { padding:14px 0; }
}
@media (max-width:760px) {
  #about > .wrap,#reading-link .reading-details,#reading-request form,section[aria-labelledby="approach-title"] .wrap,section[aria-labelledby="approach-title"] .wrap > div:nth-child(2),section[aria-labelledby="questions-title"] .wrap { grid-template-columns:1fr; }
  main > section:first-child { min-height:680px; }
  main > section:first-child > .wrap > div { max-width:82%; }
  main > section:first-child > figure { position:absolute; inset:0; }
  main > section:first-child > figure img { object-position:30% 52%; }
  main > section:first-child > .wrap > div > h1 + p + div { width:calc(100vw - 40px); }
  main > section:first-child > figure::after { background:linear-gradient(90deg,rgba(8,28,47,.58) 0%,rgba(8,28,47,.46) 52%,rgba(8,28,47,.3) 100%); }
  #about figure { min-height:260px; }
  section[aria-labelledby="approach-title"] aside { grid-column:auto; grid-row:auto; align-items:flex-start; flex-direction:column; }
  #reading-request, #reading-request label:nth-of-type(3) { grid-column:auto; }
  section[aria-labelledby="reading-cta-title"] .wrap, #newsletter form,header .wrap,footer .wrap { align-items:flex-start; flex-direction:column; }
  #newsletter form button { width:100%; }
}
