@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Libre+Caslon+Display&display=swap');
:root{--paper:#f6f4ed;--ink:#203b31;--muted:#667167;--line:#d5d8cd}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:3px solid #b48241;outline-offset:4px}header{display:flex;justify-content:space-between;align-items:center;padding:28px 5%;border-bottom:1px solid var(--line)}.brand{font:30px 'Libre Caslon Display',Georgia,serif}small{font:9px 'DM Sans',sans-serif;letter-spacing:2px}.brand small{border-left:1px solid var(--line);margin-left:20px;padding-left:20px}nav{display:flex;gap:30px;font-size:12px}nav a:last-child{border-bottom:1px solid}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:5%;padding:58px 5% 65px}.eyebrow{font-size:9px;letter-spacing:1.8px;font-weight:600}h1,h2,h3{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400;margin:0}h1{font-size:clamp(46px,5.3vw,83px);line-height:1.03;letter-spacing:-1.5px;margin:35px 0 25px}em{color:#718373}p{font-size:14px;line-height:1.8;color:var(--muted)}.hero p{max-width:400px}.button{display:inline-block;background:var(--ink);color:white;padding:17px 24px;font-size:12px;margin:20px 0 48px}.footnote{font-size:8px}figure{position:relative;margin:0;min-height:480px;background:#aeb4a9;overflow:hidden}figure img{position:absolute;width:100%;height:100%;object-fit:cover;filter:brightness(.72) saturate(.65)}figcaption{position:absolute;top:22px;left:22px;right:22px;display:flex;justify-content:space-between;font-size:8px;letter-spacing:1px;color:white}.photo-note{position:absolute;bottom:32px;left:30px;color:white;font:34px/1.1 'Libre Caslon Display',Georgia,serif}.oxford{background:var(--ink);color:var(--paper);padding:65px 5% 72px}.section-top{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:35px}h2{font-size:49px;line-height:1.08;margin-top:16px}.section-top>p{max-width:330px;margin-bottom:0}.oxford p{color:#bdc9bd}.oxford em{color:#b8c5b0}.conversations{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #52665b;border-bottom:1px solid #52665b}.conversation{border:0;border-right:1px solid #52665b;background:transparent;text-align:left;color:inherit;padding:30px 24px}.conversation:first-child{padding-left:0}.conversation:last-child{border-right:0}.conversation:hover{background:#ffffff0a}.serial{font-size:8px;letter-spacing:1.3px;color:#c5cdbb}h3{font-size:29px;margin:28px 0 12px}.conversation p{font-size:12px;min-height:65px}.read{font-size:10px;display:block;margin-top:28px}.writing{padding:70px 8%}.filters{display:flex;gap:8px;margin:35px 0 25px}.filters button{border:1px solid var(--line);padding:10px 15px;background:transparent;border-radius:30px;color:var(--ink);font-size:11px}.filters .active{background:var(--ink);color:white}.post-row{width:100%;display:grid;grid-template-columns:48px 1fr 160px 25px;gap:20px;align-items:center;text-align:left;border:0;border-top:1px solid var(--line);background:transparent;padding:26px 0;color:var(--ink)}.post-row:hover h3{color:#89946d}.post-row h3{font-size:28px;margin:0 0 7px}.post-row p{font-size:12px;margin:0}.post-num{font:italic 23px 'Libre Caslon Display',Georgia,serif;color:#8c987d}.post-tag{font-size:9px;letter-spacing:1px;color:var(--muted)}.source-note{font-size:10px;margin-top:25px}.about{border-top:1px solid var(--line);padding:65px 12%;display:grid;grid-template-columns:1fr 1.5fr;gap:12%;align-items:center}.monogram{aspect-ratio:1;background:#e7e9df;border:1px solid #d6dacb;display:flex;align-items:center;justify-content:center;flex-direction:column;font:100px 'Libre Caslon Display',Georgia,serif}.monogram small{margin-top:20px}.about h2{font-size:46px}.text-link{font-size:12px;border-bottom:1px solid;padding-bottom:5px;display:inline-block;margin-top:15px}footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;padding:25px 5%;font-size:10px}footer a:nth-child(2){font-size:9px;color:var(--muted)}dialog{border:0;background:var(--paper);color:var(--ink);width:min(840px,95vw);max-height:92vh;padding:0}dialog::backdrop{background:#0b211cbb;backdrop-filter:blur(5px)}.reader-tools{position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;background:var(--paper);padding:16px 25px;border-bottom:1px solid var(--line);font-size:10px;letter-spacing:1px}.reader-tools button{border:0;background:transparent;color:var(--ink);padding:10px}article{padding:35px 65px 65px}article h2{font-size:43px;margin-bottom:35px}#article-body p{white-space:pre-line;color:#384b40;font-size:15px;margin:18px 0}body:has(dialog[open]){overflow:hidden}@media(max-width:760px){header{padding:20px 6%}.brand{font-size:26px}.brand small{display:none}nav{gap:17px;font-size:10px}.hero{grid-template-columns:1fr;padding:38px 6%;gap:30px}h1{font-size:58px}figure{min-height:400px}.button{margin-bottom:30px}.section-top{display:block}.section-top>p{margin-top:25px}h2{font-size:42px}.oxford{padding:45px 6%}.conversations{grid-template-columns:1fr 1fr}.conversation{padding:25px 15px!important;border-bottom:1px solid #52665b}.conversation:nth-child(even){border-right:0}.conversation h3{font-size:27px}.writing{padding:45px 6%}.post-row{grid-template-columns:25px 1fr 15px;gap:12px}.post-tag{display:none}.post-row h3{font-size:25px}.filters{gap:5px}.filters button{padding:9px 10px;font-size:10px}.about{padding:45px 6%;grid-template-columns:1fr;gap:30px}.monogram{width:150px;font-size:65px}.monogram small{font-size:7px}.about h2{font-size:40px}footer{flex-wrap:wrap;line-height:1.8}article{padding:25px}article h2{font-size:35px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.union-photo{display:block;width:100%;height:auto;border-radius:2px}
.conversation .union-photo{aspect-ratio:5/4;object-fit:cover;object-position:center 22%;margin-bottom:20px}
.conversation{vertical-align:top;display:flex;flex-direction:column}
.conversation .read{margin-top:auto;padding-top:16px}
#article-body .union-photo{max-height:520px;object-fit:contain;margin-bottom:28px;background:#e7e9df}

#article-body .post-bullet{margin:8px 0}
#article-body .post-bullet + .post-bullet{margin-top:3px}
#article-body .strategy-photo{max-height:620px}

.strategy{padding:65px 8%;background:#e9ece2}
.strategy-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.strategy-card{padding:0 0 22px;border:0;background:transparent;color:var(--ink);text-align:left;display:flex;flex-direction:column}
.strategy-card img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  object-position: center;
  background: #dfe3d7;
}
.strategy-card[data-post="1"] img { object-position: center 75%; }
.strategy-card[data-post="2"] img { object-position: center 48%; }
.strategy-card[data-post="0"] img { object-position: center 55%; }
.strategy-card h3{margin-top:22px}
.strategy-card .read{margin-top:auto;padding-top:16px}
.about-headshot{display:block;width:100%;height:auto;border-radius:2px}
#article-body .post-bullet{margin:7px 0;line-height:1.6}
#article-body .post-bullet + .post-bullet{margin-top:3px}
@media(max-width:760px){.strategy{padding:45px 6%}.strategy-cards{grid-template-columns:1fr}.about-headshot{max-width:330px}nav{flex-wrap:wrap;gap:10px}header{gap:18px}}

.strategy-image-frame {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 5;
  overflow: hidden;
}
.strategy-image-frame img { display: block; }
.strategy-card[data-post="2"] .strategy-image-frame img {
  transform: scale(1.14);
  transform-origin: center;
}

/* Personal journal direction */
.personal-hero{grid-template-columns:1fr 1.15fr;gap:7%;padding-top:75px;padding-bottom:95px;align-items:center}
.personal-hero h1{font-size:clamp(62px,6.5vw,96px);line-height:.98}
.personal-hero .intro-lead{font-size:18px;color:var(--ink);line-height:1.6}
.personal-hero p{max-width:440px}
.hero-memories{position:relative;padding-bottom:100px}
.main-memory{min-height:0;aspect-ratio:5/4;transform:rotate(1.5deg);box-shadow:0 12px 30px #203b3115}
.main-memory img{filter:none;object-position:center}
.main-memory figcaption{top:auto;bottom:0;left:0;right:0;background:#203b31e8;padding:17px;font-size:8px}
.small-memory{position:absolute;bottom:0;right:-12px;width:38%;padding:8px;background:#fffdf5;transform:rotate(-5deg);box-shadow:0 8px 24px #203b3125}
.small-memory img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 80%}
.small-memory span{display:block;padding:10px 2px 4px;font-size:9px;color:var(--ink)}
.memory-label{position:absolute;bottom:24px;left:10px;font:25px/1.2 'Libre Caslon Display',Georgia,serif}
.memory-label em{color:#7b824e}
.oxford{padding:75px 8%}
.conversations{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;border:0}
.conversation,.conversation:first-child{padding:0 0 26px;border:0;border-bottom:1px solid #52665b}
.conversation .union-photo{aspect-ratio:3/2;margin-bottom:24px}
.conversation h3{font-size:39px;margin:13px 0 4px}
.conversation p{min-height:0;font-size:14px;margin:10px 0 16px}
.conversation .read{font-size:11px}
.strategy{background:#f0e8d8;padding:75px 8%}
.strategy .eyebrow{color:#8a642f}
.strategy-card h3{font-size:33px}
.strategy-card .read{color:#8a642f}
.writing{padding-top:85px;padding-bottom:85px}
.about{background:#e9ece2}
.about-headshot{border:1px solid #cbd4c1}
@media(max-width:760px){
  .personal-hero{grid-template-columns:1fr;padding:45px 6% 55px;gap:40px}
  .personal-hero h1{font-size:66px}
  .hero-memories{margin-right:12px;padding-bottom:90px}
  .main-memory{min-height:0}
  .memory-label{font-size:22px}
  .oxford,.strategy{padding:50px 6%}
  .conversations{grid-template-columns:1fr;gap:30px}
  .conversation{padding:0 0 24px!important}
  .conversation h3{font-size:35px}
}

.beyond{padding:75px 8%;background:#eeeadd;border-top:1px solid var(--line)}
.photo-story{margin-top:40px;padding-top:20px;border-top:1px solid #cbd0c1}
.photo-story h3{font-size:34px;margin:0 0 18px}
.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.photo-tile a{display:block}
.photo-tile img{display:block;width:100%;aspect-ratio:4/3;height:auto;object-fit:cover}
.photo-tile p{font-size:12px;margin:7px 0 0}
.gallery-story{max-width:710px;margin:20px 0 0;color:var(--ink)}
@media(max-width:600px){
  .beyond{padding:50px 6%}
  .photo-grid{grid-template-columns:1fr 1fr;gap:12px}
}

#article-body .post-step {
  font: 700 17px/1.5 'DM Sans', sans-serif;
  margin: 30px 0 9px;
}
#article-body .post-step + p { margin-top: 0; }
#article-body .post-bullet + .post-bullet { margin-top: 3px; margin-bottom: 5px; }

#article-body .post-paragraph-group { margin: 0 0 16px; }
#article-body .post-paragraph-group:has(> .post-step:first-child) {
  margin-top: 25px;
  margin-bottom: 7px;
}
#article-body .post-paragraph-group > :is(p, h3) { margin: 0; }
#article-body .post-paragraph-group > * + * { margin-top: 4px; }

.about-headshot {
  aspect-ratio: 1;
  object-fit: cover;
  object-position: center 40%;
}

#photo-lightbox {
  width: min(94vw, 980px);
  max-height: 94dvh;
  padding: 12px 16px;
  background: #172c24;
  color: #f6f4ed;
  text-align: center;
}
#photo-lightbox img {
  display: block;
  width: 100%;
  height: min(68dvh, 690px);
  object-fit: contain;
}
.lightbox-close { display: block; margin: 0 0 8px auto; }
.lightbox-controls {
  display: grid;
  grid-template-columns: 44px 1fr 44px;
  gap: 8px;
  align-items: center;
}
.lightbox-controls p { color: inherit; margin: 4px 0; }
#photo-lightbox button {
  min-height: 44px;
  color: inherit;
  background: transparent;
  border: 1px solid #cbd4c180;
  border-radius: 2px;
  padding: 5px 9px;
}
#photo-lightbox button:hover { background: #ffffff18; }
body:has(#photo-lightbox[open]) { overflow: hidden; }
@media (prefers-reduced-motion: no-preference) {
  .conversation, .strategy-card, .small-memory { transition: transform 180ms ease; }
  .conversation .read, .strategy-card .read { transition: transform 180ms ease; }
  .conversation:is(:hover,:focus-visible), .strategy-card:is(:hover,:focus-visible) {
    transform: translateY(-3px);
  }
  .conversation:is(:hover,:focus-visible) .read, .strategy-card:is(:hover,:focus-visible) .read {
    transform: translateX(4px);
  }
  .small-memory:is(:hover,:focus-visible) { transform: rotate(-1deg); }
}

#reader article { padding-bottom: 18px; }
#article-body .post-paragraph-group:last-child { margin-bottom: 0; }

.about-headshot {
  clip-path: inset(0 round 2px);
  object-view-box: inset(0 0 0 2%);
  object-position: center 40%;
}

.gallery-story > p { margin: 0 0 12px; color: inherit; }
.gallery-story > p:last-child { margin-bottom: 0; }

.photo-story--lapland { --story-accent: #365f77; }
.photo-story--tennis { --story-accent: #3c6243; }
.photo-story--scenery { --story-accent: #815b2c; }
.photo-story { border-top-color: var(--story-accent); }
.photo-story .story-location { color: var(--story-accent); margin-bottom: 8px; }
.photo-story h3 { margin-bottom: 18px; }
#photo-lightbox > img { height: min(57dvh, 650px); }
.lightbox-thumbnails {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin: 8px 0 3px;
}
#photo-lightbox .lightbox-thumbnails button { padding: 2px; opacity: .75; }
#photo-lightbox .lightbox-thumbnails button:is(:hover, :focus-visible, [aria-current]) {
  border-color: #f6f4ed;
  opacity: 1;
}
#photo-lightbox .lightbox-thumbnails img { width: 56px; height: 40px; object-fit: cover; }

.photo-tile p { min-height: 3.6em; }
.gallery-story { margin-top: 12px; max-width: none; }
.reader-tools #copy-post-link { margin-left: auto; }

.personal-hero .hero-scroll { margin: 12px 0 26px; }

.about h2 { font-size: clamp(30px, 3.1vw, 44px); }
.strategy .section-top > p, .oxford .section-top > p { max-width: 420px; }

@media (min-width: 761px) {
  .about {
    padding-inline: 8%;
    grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
    gap: 6%;
  }
}

.about h2 { margin-top: 8px; margin-bottom: 22px; }
