:root {
  --terms-ground: #F6F6F6;
  --terms-ink: #21302C;
  --terms-jade: #267963;
  --terms-denim: #C9D6E1;
  --terms-white: #FFFFFF;
  --terms-display: 'Fjord One', Georgia, serif;
  --terms-text: 'Libre Caslon Text', Georgia, serif;
}
* { box-sizing: border-box; }
html { scroll-padding-top: 24px; }
body { margin: 0; background: var(--terms-ground); color: var(--terms-ink); font: 18px/1.75 var(--terms-text); -webkit-font-smoothing: antialiased; }
::selection { background: var(--terms-denim); color: var(--terms-ink); }
a { color: var(--terms-jade); text-decoration-thickness: 1px; text-underline-offset: 4px; }
a:hover { color: var(--terms-ink); text-decoration-thickness: 2px; }
a:focus-visible { outline: 3px solid var(--terms-jade); outline-offset: 5px; border-radius: 6px; }
img { max-width: 100%; display: block; }
.terms-icon { display: inline-grid; width: 22px; height: 22px; flex: 0 0 22px; place-items: center; vertical-align: middle; }
.terms-icon i { display: none; }
.terms-icon svg { width: 100%; height: 100%; stroke-width: 1.5; }
.terms-icon svg.lucide + .terms-icon-fallback { display: none; }
.terms-skip { position: absolute; top: 10px; left: 20px; z-index: 20; padding: 8px 15px; background: var(--terms-white); transform: translateY(-180%); }
.terms-skip:focus { transform: translateY(0); }
.terms-masthead { position: relative; z-index: 3; padding: 19px 20px 0; height: 136px; background: var(--terms-ground); }
.terms-wordmark { display: block; width: fit-content; margin: 0 auto; color: var(--terms-ink); font: 30px/1.25 var(--terms-display); text-decoration: none; }
.terms-wordmark:hover { color: var(--terms-jade); }
.terms-nav-hand { width: 500px; height: 77px; margin: 0 auto; position: relative; }
.terms-mast-drawing { position: absolute; width: 500px; height: 80px; bottom: -2px; left: 0; pointer-events: none; }
.terms-main-nav { position: relative; display: grid; grid-template-columns: 1fr 1fr 1fr; padding: 0 9px; column-gap: 16px; }
.terms-main-nav a { width: fit-content; justify-self: center; padding: 2px 11px; text-decoration: none; font-size: 16px; line-height: 1.5; background: var(--terms-ground); border-radius: 6px; }
.terms-main-nav a:hover, .terms-main-nav a[aria-current='page'] { background: var(--terms-denim); color: var(--terms-ink); box-shadow: 0 3px 0 var(--terms-jade); }
/* The courtyard stays visible at full strength around a stepped, solid reading silhouette. */
.terms-opening { position: relative; isolation: isolate; padding: 36px 0 60px; }
.terms-opening-ground { position: absolute; z-index: -2; inset: 0; overflow: hidden; background: var(--terms-denim); }
.terms-ground-photo { width: 100%; height: 100%; object-fit: cover; object-position: 55% 52%; }
.terms-opening-field { width: calc(100% - 120px); max-width: 1240px; margin: 0 auto; }
.terms-title-band { position: relative; z-index: 2; width: calc(100% - 110px); max-width: 1100px; margin: 0 auto; padding: 23px 38px 27px; background: var(--terms-denim); border-left: 12px solid var(--terms-jade); clip-path: polygon(0 0, 100% 0, 100% calc(100% - 28px), calc(100% - 54px) calc(100% - 28px), calc(100% - 54px) 100%, 0 100%); }
.terms-home-title { margin: 0; font: 72px/1.08 var(--terms-display); letter-spacing: -2px; text-align: center; }
.terms-home-title span { display: block; }
.terms-opening-body { display: grid; grid-template-columns: minmax(0,1.72fr) minmax(0,1fr); column-gap: 112px; align-items: start; }
.terms-opening-copy { position: relative; padding: 28px 38px 35px; margin: -1px 0 0 -20px; background: var(--terms-ground); border-bottom: 9px solid var(--terms-jade); }
.terms-opening-copy::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: -1; background: var(--terms-denim); transform: translate(-14px,14px); }
.terms-opening-intro { margin: 0 0 21px; font-size: 20px; line-height: 1.5; }
.terms-care-mention { position: relative; padding: 0 0 0 58px; }
.terms-care-mention p { margin: 0; font-size: 17px; line-height: 1.58; }
.terms-care-mention strong { font-weight: 700; color: var(--terms-jade); }
.terms-care-drawing { position: absolute; top: 3px; left: -13px; width: 64px; height: 202px; object-fit: contain; object-position: center top; }
.terms-dropped-photo { position: relative; width: calc(100% - 24px); max-width: 310px; justify-self: center; margin: 104px 0 0; }
.terms-dropped-photo .terms-portrait-image { width: 100%; height: 390px; object-fit: cover; object-position: center 42%; border-radius: 6px; box-shadow: 14px 16px 0 var(--terms-jade), 22px 24px 0 var(--terms-denim); }
.terms-sleeve-image { position: absolute; width: 125px; height: 104px; top: -76px; right: -18px; border: 7px solid var(--terms-ground); object-fit: cover; border-radius: 6px; box-shadow: 6px 7px 0 var(--terms-denim); }
.terms-dropped-photo figcaption { position: relative; width: calc(100% + 20px); margin: 32px 0 0 -10px; padding: 9px 15px; background: var(--terms-ground); font-size: 16px; line-height: 1.45; border-left: 5px solid var(--terms-jade); }
/* Broad, unnumbered statements. Their shared measure is the reading structure. */
.terms-manifesto { width: calc(100% - 160px); max-width: 1080px; margin: 0 auto; padding: 45px 0 72px; }
.terms-stanza { position: relative; padding: 51px 0 47px; }
.terms-stanza + .terms-stanza { border-top: 3px solid var(--terms-denim); }
.terms-stanza::before { content: ''; position: absolute; width: 62px; height: 9px; left: -31px; top: 0; background: var(--terms-jade); }
.terms-stanza h2 { position: relative; margin: 0 0 30px; max-width: 100%; font: 51px/1.15 var(--terms-display); letter-spacing: -1.2px; }
.terms-stanza h2::after { content: ''; display: block; width: 115px; height: 8px; margin-top: 23px; background: var(--terms-denim); }
.terms-stanza p { margin: 0 0 24px; }
.terms-stanza p:last-child { margin-bottom: 0; }
.terms-manifesto:not(.terms-essay) .terms-stanza:nth-child(2) { margin: 10px -40px 0; padding: 46px 40px 47px; background: var(--terms-denim); border-top: 0; box-shadow: 14px 14px 0 var(--terms-jade); }
.terms-manifesto:not(.terms-essay) .terms-stanza:nth-child(2)::before { left: 0; width: 120px; top: -9px; }
.terms-manifesto:not(.terms-essay) .terms-stanza:nth-child(2) h2::after { background: var(--terms-jade); }
.terms-manifesto:not(.terms-essay) .terms-stanza:nth-child(2) a { color: var(--terms-ink); }
.terms-manifesto:not(.terms-essay) .terms-stanza:nth-child(2) a:hover { background: var(--terms-ground); }
.terms-manifesto:not(.terms-essay) .terms-stanza:nth-child(3) { padding-top: 66px; border-top: 0; }
.terms-manifesto:not(.terms-essay) .terms-stanza:nth-child(3)::before { display: none; }
.terms-home-reading { position: relative; padding: 44px 0 50px; background: var(--terms-jade); color: var(--terms-white); }
.terms-reading-inner { max-width: 1080px; width: calc(100% - 160px); margin: auto; }
.terms-home-reading h2 { width: fit-content; max-width: 100%; margin: -71px 0 29px -25px; padding: 16px 25px; background: var(--terms-denim); color: var(--terms-ink); font: 34px/1.25 var(--terms-display); border-bottom: 7px solid var(--terms-ink); }
.terms-reading-links { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.terms-reading-links a { display: flex; align-items: center; gap: 13px; padding: 13px 0; color: var(--terms-white); border-bottom: 2px solid var(--terms-denim); text-decoration: none; font-size: 17px; }
.terms-reading-links a:hover { color: var(--terms-ink); background: var(--terms-denim); box-shadow: 8px 8px 0 var(--terms-ink); }
.terms-reading-links a:focus-visible { outline-color: var(--terms-white); }
/* Essay photos sit behind a solid title strip, then release into a broad introduction. */
.terms-inner-head { position: relative; max-width: 1240px; width: calc(100% - 120px); margin: 24px auto 0; }
.terms-breadcrumb { position: relative; z-index: 2; font-size: 16px; margin: 0 0 25px; display: flex; align-items: center; gap: 13px; }
.terms-breadcrumb .terms-icon { width: 15px; height: 15px; flex-basis: 15px; }
.terms-inner-heading { position: relative; z-index: 1; width: calc(100% - 60px); padding: 28px 38px 31px; background: var(--terms-denim); border-left: 10px solid var(--terms-jade); }
.terms-inner-title { margin: 0; max-width: 1070px; font: 57px/1.15 var(--terms-display); letter-spacing: -1.6px; }
.terms-inner-intro { position: relative; z-index: 1; width: calc(100% - 160px); margin: 0 auto; padding: 32px 0 13px; font-size: 23px; line-height: 1.6; }
.terms-essay-photo { position: relative; width: 100%; margin: -35px 0 0; }
.terms-essay-photo .terms-band-image { width: 100%; height: 300px; object-fit: cover; object-position: center 50%; border-radius: 6px; }
.terms-essay-photo figcaption { position: absolute; left: 30px; bottom: -1px; max-width: calc(100% - 60px); padding: 9px 18px 9px 16px; background: var(--terms-ground); border-left: 6px solid var(--terms-jade); font-size: 16px; line-height: 1.5; }
.terms-essay { padding-top: 25px; }
.terms-essay .terms-stanza:first-child { padding-top: 34px; }
.terms-essay .terms-stanza h2 { font-size: 43px; }
.terms-essay .terms-stanza h2::after { height: 6px; width: 80px; margin-top: 18px; }
.terms-essay .terms-stanza + .terms-stanza { padding-top: 48px; }
.terms-open-ending { display: flex; justify-content: flex-end; margin: -12px -10px 24px 0; }
.terms-open-ending img { width: 185px; height: 86px; object-fit: contain; }
.terms-essay-tail { display: flex; flex-wrap: wrap; gap: 16px 35px; padding-top: 25px; border-top: 3px solid var(--terms-denim); font-size: 16px; }
.terms-footer { position: relative; background: var(--terms-white); padding: 47px max(30px, calc((100vw - 1180px) / 2)) 29px; border-top: 10px solid var(--terms-denim); }
.terms-footer::before { content: ''; position: absolute; top: -10px; left: max(30px, calc((100vw - 1180px) / 2)); width: 110px; height: 10px; background: var(--terms-jade); }
.terms-footer-wordmark { font: 30px/1.3 var(--terms-display); margin: 0 0 24px; }
.terms-footer-paths { display: flex; flex-wrap: wrap; gap: 12px 28px; max-width: 1050px; }
.terms-footer-paths a { font-size: 16px; }
.terms-footer-note { max-width: 920px; font-size: 16px; margin: 35px 0 12px; }
.terms-copyright { font-size: 16px; margin: 0; }
.terms-missing { max-width: 920px; min-height: 470px; width: calc(100% - 40px); margin: 45px auto 0; padding-bottom: 70px; }
.terms-missing h1 { padding-left: 24px; border-left: 10px solid var(--terms-jade); font: 57px/1.18 var(--terms-display); }
.terms-missing p { margin-bottom: 28px; }
@media (min-width: 1600px) { .terms-opening-field { max-width: 1340px; } .terms-home-title { font-size: 80px; } }
@media (max-width: 1100px) and (min-width: 701px) {
  .terms-opening-field, .terms-inner-head { width: calc(100% - 80px); }
  .terms-title-band { width: 100%; padding: 24px; }
  .terms-home-title { font-size: 58px; }
  .terms-opening-body { column-gap: 42px; grid-template-columns: 1.6fr 1fr; }
  .terms-opening-copy { margin-left: 0; padding: 24px 24px 27px; }
  .terms-opening-intro { font-size: 18px; }
  .terms-care-mention { padding-left: 40px; }
  .terms-care-mention p { font-size: 16px; }
  .terms-care-drawing { width: 43px; left: -11px; }
  .terms-dropped-photo { margin-top: 90px; }
  .terms-dropped-photo .terms-portrait-image { height: 360px; }
  .terms-manifesto, .terms-reading-inner { width: calc(100% - 100px); }
  .terms-inner-heading { width: 100%; padding: 25px; }
  .terms-inner-title { font-size: 48px; }
  .terms-inner-intro { width: calc(100% - 30px); }
}
@media (max-width: 700px) {
  html { scroll-padding-top: 16px; }
  body { font-size: 17px; line-height: 1.75; }
  .terms-masthead { height: 82px; padding: 9px 20px 0; }
  .terms-wordmark { font-size: 23px; line-height: 1.2; }
  .terms-nav-hand { width: 100%; height: 40px; margin: 0 auto; }
  .terms-mast-drawing { width: 54px; height: 54px; left: 0; bottom: -4px; }
  .terms-main-nav { grid-template-columns: 1fr 1.3fr 1fr; gap: 7px; margin-left: 57px; padding: 9px 0 0; }
  .terms-main-nav a { font-size: 16px; line-height: 1.2; padding: 3px; }
  .terms-opening { padding: 20px 0 28px; }
  .terms-opening-field { width: calc(100% - 40px); }
  .terms-opening-ground { top: auto; height: 180px; }
  .terms-ground-photo { object-position: 68% center; }
  .terms-title-band { width: 100%; padding: 16px 10px 18px; border-left-width: 6px; clip-path: polygon(0 0, 100% 0, 100% calc(100% - 12px), calc(100% - 20px) calc(100% - 12px), calc(100% - 20px) 100%, 0 100%); }
  .terms-home-title { font-size: 32px; line-height: 1.13; letter-spacing: -.8px; text-align: left; }
  .terms-opening-body { display: flex; flex-direction: column; gap: 0; }
  .terms-opening-copy { padding: 15px 12px 20px; margin: 0; width: 100%; border-bottom-width: 6px; }
  .terms-opening-copy::before { display: none; }
  .terms-opening-intro { font-size: 17px; line-height: 1.45; margin: 0 0 14px; }
  .terms-care-mention { padding-left: 30px; width: 100%; }
  .terms-care-mention p { font-size: 16px; line-height: 1.43; }
  .terms-care-drawing { width: 29px; height: 145px; left: -5px; top: 5px; }
  .terms-dropped-photo { width: 100%; max-width: none; margin: 23px 0 0; }
  .terms-dropped-photo .terms-portrait-image { width: 100%; height: 100px; object-position: center 43%; box-shadow: 0 7px 0 var(--terms-jade); }
  .terms-sleeve-image { width: 68px; height: 53px; top: -18px; right: 8px; border-width: 4px; box-shadow: 4px 4px 0 var(--terms-denim); }
  .terms-dropped-photo figcaption { width: 100%; margin: 16px 0 0; font-size: 16px; line-height: 1.45; padding: 6px 10px; border-left-width: 4px; }
  .terms-manifesto, .terms-reading-inner, .terms-inner-head { width: calc(100% - 40px); }
  .terms-manifesto { padding: 24px 0 51px; }
  .terms-stanza { padding: 31px 0 33px; }
  .terms-stanza::before { width: 43px; left: 0; height: 6px; }
  .terms-stanza h2 { font-size: 31px; line-height: 1.22; letter-spacing: -.5px; margin-bottom: 23px; }
  .terms-stanza h2::after { height: 6px; width: 80px; margin-top: 17px; }
  .terms-stanza p { margin-bottom: 21px; }
  .terms-manifesto:not(.terms-essay) .terms-stanza:nth-child(2) { margin: 6px 0 0; padding: 29px 16px 30px; box-shadow: 6px 8px 0 var(--terms-jade); }
  .terms-manifesto:not(.terms-essay) .terms-stanza:nth-child(2)::before { height: 6px; top: -6px; width: 65px; }
  .terms-manifesto:not(.terms-essay) .terms-stanza:nth-child(3) { padding-top: 42px; }
  .terms-home-reading { padding: 29px 0 28px; }
  .terms-home-reading h2 { font-size: 27px; margin: -50px 0 17px; padding: 13px 16px; border-bottom-width: 5px; }
  .terms-reading-links { grid-template-columns: 1fr; gap: 6px; }
  .terms-reading-links a { padding: 12px 2px; }
  .terms-reading-links a:hover { box-shadow: 4px 4px 0 var(--terms-ink); }
  .terms-inner-head { margin-top: 23px; }
  .terms-breadcrumb { margin-bottom: 20px; font-size: 16px; gap: 9px; flex-wrap: wrap; }
  .terms-inner-heading { width: 100%; padding: 21px 16px 23px; border-left-width: 6px; }
  .terms-inner-title { font-size: 35px; line-height: 1.18; letter-spacing: -.75px; overflow-wrap: break-word; }
  .terms-inner-intro { width: 100%; font-size: 19px; line-height: 1.65; margin: 0; padding: 24px 0 0; }
  .terms-essay { padding-top: 27px; }
  .terms-essay .terms-stanza:first-child { padding-top: 26px; }
  .terms-essay .terms-stanza + .terms-stanza { padding-top: 29px; }
  .terms-essay .terms-stanza h2 { font-size: 30px; }
  .terms-essay-photo { width: 100%; margin: -1px 0 0; }
  .terms-essay-photo .terms-band-image { height: 200px; }
  .terms-essay-photo figcaption { position: relative; left: 0; bottom: 0; max-width: 100%; width: 100%; margin: -1px 0 0; font-size: 16px; padding: 10px 12px; border-left-width: 4px; }
  .terms-open-ending { margin: 0 0 15px; }
  .terms-open-ending img { width: 135px; height: 64px; }
  .terms-essay-tail { gap: 17px 26px; }
  .terms-footer { padding: 31px 20px 25px; border-top-width: 7px; }
  .terms-footer::before { top: -7px; left: 20px; height: 7px; width: 76px; }
  .terms-footer-wordmark { font-size: 25px; }
  .terms-footer-paths { gap: 12px 24px; }
  .terms-footer-note { margin-top: 26px; }
  .terms-missing h1 { font-size: 38px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
