:root{color-scheme:light;--paper:#faf9f4;--ink:#29372b;--muted:#767b6e;--line:#dedfd4}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit}.shell{width:min(100% - 112px,1120px);margin-inline:auto}.masthead{height:124px;display:flex;align-items:center;justify-content:space-between}.wordmark{font-family:Georgia,'Times New Roman',serif;font-size:31px;letter-spacing:-1.5px;text-decoration:none}.wordmark span{display:inline-block;color:#87976d;font-family:Arial,sans-serif;font-size:22px;margin-left:7px;vertical-align:top;margin-top:2px}.descriptor{font-size:11px;color:var(--muted);letter-spacing:.035em}.intro{padding:70px 0 103px;max-width:650px}.eyebrow{font-size:10px;letter-spacing:.19em;margin:0 0 27px;color:#747d67}h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(48px,5.3vw,72px);line-height:1.09;letter-spacing:-2.7px;margin:0}.profile{font-size:16px;line-height:1.85;color:#697060;margin:25px 0 35px}.paths{display:flex;gap:34px}.paths a{font-size:14px;display:flex;gap:27px;align-items:center;text-decoration:none;border-bottom:1px solid #afb69e;padding:0 0 9px}.arrow{font-size:18px;color:#6b785a;transition:transform .2s}.paths a:hover .arrow{transform:translate(3px,-3px)}a:focus-visible{outline:2px solid #61744b;outline-offset:6px}.footer-note{display:flex;justify-content:space-between;padding-bottom:19px;font-size:10px;letter-spacing:.035em;color:var(--muted)}.landscape{position:relative;width:100%;overflow:hidden;height:clamp(310px,35vw,520px)}.landscape img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 63%}.landscape:before{content:'';position:absolute;z-index:1;inset:0 0 auto;height:64px;background:linear-gradient(var(--paper),transparent)}.skip{position:absolute;top:-60px;left:20px;padding:10px;background:var(--paper)}.skip:focus{top:15px;z-index:5}.inner{min-height:calc(100vh - 124px);padding:100px 0}.inner h1{font-size:60px}.inner p{color:var(--muted);line-height:1.8;max-width:430px}.back{display:inline-block;font-size:13px;margin-top:36px;text-underline-offset:5px}.inner .eyebrow{margin-bottom:25px}
@media(min-width:1600px){.intro{padding-top:100px;padding-bottom:130px}}
@media(max-width:600px){.shell{width:calc(100% - 48px)}.masthead{height:94px}.descriptor{font-size:9px;max-width:112px;text-align:right;line-height:1.5}.wordmark{font-size:29px}.intro{padding:62px 0 88px}h1{font-size:50px;letter-spacing:-2px}.eyebrow{font-size:9px;margin-bottom:24px}.profile{font-size:15px;margin:25px 0 32px}.paths{gap:30px}.paths a{gap:28px;font-size:14px}.landscape{height:340px}.landscape img{object-position:31% 65%}.footer-note{font-size:9px;padding-bottom:15px}.desktop-break{display:none}.inner{padding:65px 0}.inner h1{font-size:48px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* Footer artwork: show the whole illustration at its natural ratio so the woman and fields are never cropped.
   The PNG's top ~15% is transparent sky, so it tucks up under the intro text; the painted right edge stops
   about 4% short of the canvas, so the image is drawn slightly wider and clipped to meet the viewport edge. */
.intro{padding-bottom:24px}
main{position:relative;z-index:1}
.landscape{height:auto;margin-top:-7vw;background:none}
.landscape img{width:104%;max-width:none;height:auto;object-fit:initial}
.landscape:before{display:none}
@media(max-width:600px){
  /* Phones: a taller crop keeps the figure readable; full height is shown, sides are trimmed around her. */
  .intro{padding-bottom:16px}
  .landscape{height:clamp(240px,78vw,320px);margin-top:-12px}
  .landscape img{width:100%;height:100%;object-fit:cover;object-position:29% 100%}
}

/* Header navigation and a more spacious, essay-like introduction. */
.masthead{align-items:center}
.header-nav{display:flex;align-items:center;gap:30px;font-size:11px;letter-spacing:.03em}
.header-nav a{text-decoration:none;border-bottom:1px solid transparent;padding-bottom:4px}
.header-nav a:hover,.header-nav a:focus-visible{border-color:#afb69e}
.profile{max-width:700px}
.profile p{margin:0 0 16px}
.profile p:last-child{margin-bottom:0}
@media(max-width:600px){.masthead{height:94px}.header-nav{gap:17px;font-size:10px}.profile{font-size:15px;line-height:1.75}.profile p{margin-bottom:15px}}

/* Accessibility: comfortable tap targets for the small nav type, visible skip link focus, AA contrast for muted text. */
:root{--muted:#6b7063}
.header-nav a,.back{position:relative}
.header-nav a:before{content:'';position:absolute;inset:-14px -10px -10px}
.header-nav a[aria-current=page]{border-color:#afb69e}
.skip:focus{outline:2px solid #61744b;outline-offset:2px}
.eyebrow{color:#6b7461}
/* Social links under the intro; wrap rather than overflow on narrow screens. */
.paths{flex-wrap:wrap;row-gap:18px}
.paths a{gap:3px;padding-bottom:3px}
@media(max-width:600px){.paths{gap:24px}.paths a{gap:3px}}
/* Page headings: quieter than the original display size, shared by the homepage and inner pages. */
.intro h1,.inner h1{font-size:clamp(40px,4.2vw,56px);letter-spacing:-1.8px}
@media(max-width:600px){.intro h1,.inner h1{font-size:42px;letter-spacing:-1.4px}}
@media(max-width:360px){.shell{width:calc(100% - 32px)}h1,.intro h1,.inner h1{font-size:38px}}

/* About page: a comfortable reading measure, with the opening line set as a serif lead. */
.inner .about-copy{margin-top:30px;max-width:640px}
.inner .about-copy p{max-width:none;margin:0 0 20px;font-size:16px;line-height:1.85;color:#697060}
.inner .about-copy .lead{font-family:Georgia,'Times New Roman',serif;font-size:22px;line-height:1.5;letter-spacing:-.2px;color:var(--ink);margin-bottom:28px}
@media(max-width:600px){.inner .about-copy p{font-size:15px;line-height:1.75}.inner .about-copy .lead{font-size:19px}}

/* Drifting clouds: the illustration is split into a cloud layer behind a still land layer.
   Both images share the same size and crop rules above, so they stay registered at every width. */
.landscape .land{position:relative;z-index:1}
.landscape .sky{position:absolute;top:0;left:0;will-change:transform;animation:cloud-drift 24s ease-in-out infinite alternate}
/* Leftward travel stays under the 4% overhang so the clouds' cut right edge never shows. */
@keyframes cloud-drift{from{transform:translateX(-3%)}to{transform:translateX(3%)}}
@media(prefers-reduced-motion:reduce){.landscape .sky{animation:none}}
