:root {
  --paper: #f3efe7;
  --ink: #050505;
}
* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; background: var(--paper); }
body { overflow: hidden; }
a { color: inherit; }
.home {
  position: relative;
  width: 100vw;
  height: 100svh;
  min-height: 520px;
  overflow: hidden;
  background-image: url("assets/home-rooftop.png");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}
.name {
  position: absolute;
  z-index: 2;
  top: 5.1%;
  left: 50%;
  width: min(46.5vw, 950px);
  height: auto;
  transform: translateX(-50%);
}
.nav { position: absolute; inset: 0; z-index: 3; }
.nav-item { position: absolute; display: block; line-height: 0; }
.nav-item img { display: block; width: 100%; height: auto; }
.nav-item:hover { opacity: .58; }
.nav-item:focus-visible { outline: 2px solid var(--ink); outline-offset: 6px; }
.beverage { left: 7.3%; top: 54.2%; width: 14.1%; }
.writing  { left: 28.1%; top: 54.2%; width: 11.5%; }
.visual   { left: 73.0%; top: 54.3%; width: 10.3%; }
.about    { left: 86.2%; top: 54.1%; width: 9.3%; }

@media (max-aspect-ratio: 4/5) {
  .home {
    background-size: cover;
    /* Matches the approved portrait crop: subject pushed right, open sky at left. */
    background-position: 45.2% center;
  }
  .name {
    top: 4.3%;
    left: 7.3%;
    width: 84%;
    transform: none;
  }
  .beverage { left: 7.2%; top: 15.4%; width: 24.5%; }
  .writing  { left: 7.2%; top: 20.5%; width: 20.3%; }
  .visual   { left: 7.2%; top: 25.6%; width: 18.4%; }
  .about    { left: 7.2%; top: 30.5%; width: 17.4%; }
}

@media (prefers-reduced-motion: no-preference) {
  .nav-item { transition: opacity 120ms ease; }
}

/* Interior pages */
body.interior { overflow:auto; color:var(--ink); font-family: Georgia, 'Times New Roman', serif; }
.site-shell { width:min(1180px, 88vw); margin:0 auto; padding:70px 0 90px; }
.interior-header { display:flex; align-items:flex-start; justify-content:space-between; gap:40px; margin-bottom:75px; }
.page-mark { width:300px; max-width:42vw; height:auto; display:block; }
.top-nav { display:flex; gap:28px; padding-top:18px; font:10px/1.2 'Courier New', monospace; text-transform:uppercase; }
.top-nav a { text-decoration:none; }
.top-nav a:hover { opacity:.55; }
.intro { max-width:900px; font-size:17px; line-height:1.42; margin-bottom:44px; }
.intro p { margin:0 0 1.05em; }
.section-kicker { font:11px/1.2 'Courier New', monospace; text-transform:uppercase; letter-spacing:.04em; margin:0 0 48px; }
.project { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:start; margin:0 0 105px; }
.project.reverse .project-copy { order:1; }
.project.reverse .project-media { order:2; }
.project-copy { padding-top:5px; }
.project h2 { font-size:29px; font-weight:400; line-height:1.1; margin:0 0 18px; }
.project h3 { font-size:20px; font-weight:400; line-height:1.15; margin:0 0 16px; }
.project p { font-size:16px; line-height:1.42; margin:0 0 16px; }
.project-media img { width:100%; height:auto; display:block; }
.caption { margin-top:8px; font:9px/1.35 'Courier New', monospace; }
.read-link { display:inline-block; margin-top:9px; font:10px/1.3 'Courier New', monospace; text-decoration:none; }
.read-link:hover { text-decoration:underline; }
.kyoto-sub { width:92%; margin-left:auto; margin-right:auto; }
.site-copyright { margin-top:125px; font:9px/1.4 'Courier New', monospace; }
@media (max-width: 720px) {
  .site-shell { width:86vw; padding:34px 0 60px; }
  .interior-header { display:block; margin-bottom:48px; }
  .page-mark { width:235px; max-width:75vw; }
  .top-nav { gap:14px; flex-wrap:wrap; padding-top:30px; font-size:9px; }
  .intro { font-size:15px; line-height:1.45; margin-bottom:38px; }
  .section-kicker { margin-bottom:36px; }
  .project, .project.reverse { grid-template-columns:1fr; gap:24px; margin-bottom:70px; }
  .project.reverse .project-copy, .project.reverse .project-media { order:initial; }
  .project h2 { font-size:25px; }
  .project h3 { font-size:19px; }
  .project p { font-size:15px; }
  .kyoto-sub { width:100%; }
  .site-copyright { margin-top:85px; }
}

/* Writing */
.writing-page .interior-header { margin-bottom:36px; }
.writing-rule { border-top:1px solid rgba(0,0,0,.08); margin:0 0 54px; }
.writing-page > .section-kicker { margin-bottom:72px; }
.writing-piece { display:grid; grid-template-columns:1fr 1fr; gap:66px; align-items:start; margin-bottom:112px; }
.writing-piece.media-right .writing-copy { order:1; }
.writing-piece.media-right .writing-media { order:2; }
.writing-media img { display:block; width:100%; height:auto; }
.writing-copy { padding-top:2px; }
.writing-copy h2 { font-size:28px; font-weight:400; line-height:1.08; margin:0 0 6px; }
.writing-subtitle { font-size:13px; margin:0 0 5px; }
.writing-meta { font:9px/1.35 'Courier New', monospace; text-transform:uppercase; margin-bottom:22px; }
.writing-copy p { font-size:15px; line-height:1.42; margin:0 0 14px; }
.writing-copy em { font-style:italic; }
.book-piece { align-items:center; }
.book-media { display:flex; justify-content:center; }
.book-media img { width:min(70%, 320px); }
.vines-cover { width:min(62%, 280px); aspect-ratio:.69; background:#164b5b; color:#fff; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; font-family:Georgia,serif; letter-spacing:.03em; }
.vines-cover span { font-size:25px; line-height:1.05; }
.vines-cover small { margin-top:28px; font:9px/1.25 'Courier New',monospace; }
.writing-archive { margin-top:30px; }
.writing-archive .section-kicker { margin-bottom:20px; }
.writing-archive a { display:grid; grid-template-columns:1fr 2fr; gap:20px; padding:22px 0; border-bottom:1px solid rgba(0,0,0,.3); text-decoration:none; align-items:baseline; }
.writing-archive a span { font-size:21px; }
.writing-archive a small { font:10px/1.3 'Courier New',monospace; }
.writing-archive a:hover { opacity:.55; }
@media (max-width:720px){
  .writing-page .interior-header { margin-bottom:28px; }
  .writing-rule { margin-bottom:38px; }
  .writing-page > .section-kicker { margin-bottom:46px; }
  .writing-piece, .writing-piece.media-right { grid-template-columns:1fr; gap:25px; margin-bottom:76px; }
  .writing-piece.media-right .writing-copy, .writing-piece.media-right .writing-media { order:initial; }
  .writing-copy h2 { font-size:24px; }
  .writing-copy p { font-size:15px; }
  .book-media img { width:min(70%, 270px); }
  .vines-cover { width:min(66%, 250px); }
  .writing-archive a { grid-template-columns:1fr; gap:7px; }
}

/* Visual */
.visual-page .site-shell{width:min(1360px,90vw);padding-top:48px}
.visual-page .interior-header{margin-bottom:42px;align-items:center}
.mini-name{font:14px/1 'Courier New',monospace;text-decoration:none;font-weight:bold;letter-spacing:.02em}
.visual-heading .page-mark{width:285px;max-width:50vw}
.visual-subtitle{margin-top:12px;font:9px/1.2 'Courier New',monospace;letter-spacing:.04em}
.visual-rule{border-top:1px solid rgba(0,0,0,.24);margin:28px 0 28px}
.gallery{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:8px;gap:12px;grid-auto-flow:dense;align-items:start}
.g{margin:0;position:relative;overflow:hidden;grid-column:span 4}
.g.g-portrait{grid-column:span 3}
.g.g-feature{grid-column:span 6}
.g img{display:block;width:100%;height:auto}
.g figcaption{position:absolute;left:8px;bottom:7px;opacity:0;font:9px/1.2 'Courier New',monospace;background:rgba(243,239,231,.82);padding:3px 5px;transition:opacity 120ms ease}
.g:hover figcaption{opacity:1}
.visual-page .site-copyright{border-top:1px solid rgba(0,0,0,.24);padding-top:25px;margin-top:60px}
@media(max-width:720px){
 .visual-page .site-shell{width:88vw;padding-top:28px}
 .visual-page .interior-header{margin-bottom:34px}
 .mini-name{font-size:11px}
 .visual-heading .page-mark{width:230px;max-width:70vw}
 .gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:6px;gap:10px}
 .g,.g.g-portrait{grid-column:span 1}
 .g.g-feature{grid-column:1/-1}
 .g figcaption{position:static;opacity:1;background:none;padding:6px 0 0;font-size:8px}
}

/* About */
.about-page .interior-header{margin-bottom:56px;border-bottom:1px solid rgba(0,0,0,.16);padding-bottom:38px}
.about-page .page-mark{width:360px}
.about-hero{width:min(600px,66%);margin:0 auto 28px}
.about-hero img{display:block;width:100%;height:auto}
.about-bio{width:min(760px,72%);margin:0 auto 58px;font:12px/1.65 'Courier New',monospace}
.about-bio p{margin:0 0 18px}
.about-section{border-top:1px solid rgba(0,0,0,.24);padding:48px 0 56px;display:grid;grid-template-columns:150px 1fr;gap:46px}
.about-section h2{margin:0;font:700 17px/1.1 'Courier New',monospace;text-transform:uppercase}
.cv-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:58px}
.cv-col h3{margin:0 0 28px;font:10px/1.2 'Courier New',monospace;text-transform:uppercase;font-weight:400}
.cv-entry{margin:0 0 22px;font:10px/1.48 'Courier New',monospace}
.cv-entry strong{display:block;font-weight:400;font-size:11px;margin-bottom:2px}
.cv-entry em{font-style:normal;font-weight:700}
.speaking-grid{display:grid;grid-template-columns:1.35fr .8fr;gap:62px;align-items:start}
.speaking-item{margin-bottom:28px;font:10px/1.48 'Courier New',monospace}
.speaking-item strong{display:block;font-size:11px;font-weight:400;margin-bottom:2px}
.speaking-photo img{display:block;width:100%;height:auto}.speaking-photo .caption{margin-top:7px}
.press-list{width:100%}.press-row{display:grid;grid-template-columns:70px 1fr 150px;gap:30px;padding:0 0 24px;font:10px/1.4 'Courier New',monospace}.press-row strong{font-weight:400}.press-more{font:10px/1.3 'Courier New',monospace;text-decoration:none}.press-more:hover{text-decoration:underline}
.contact-wrap{max-width:640px;font:10px/1.4 'Courier New',monospace}.contact-wrap>p{margin:0 0 30px}.contact-honeypot{display:none!important}.contact-form label{display:grid;grid-template-columns:80px 1fr;align-items:start;margin-bottom:22px}.contact-form span{padding-top:6px;font-size:8px}.contact-form input,.contact-form textarea{border:0;border-bottom:1px solid rgba(0,0,0,.45);background:transparent;border-radius:0;padding:5px 2px;font:12px/1.3 'Courier New',monospace;outline:none}.contact-form textarea{min-height:70px;resize:vertical}.contact-form button{border:0;background:transparent;padding:0;margin-top:5px;font:9px/1.2 'Courier New',monospace;cursor:pointer}.contact-form button:hover{text-decoration:underline}
.about-page .site-copyright{border-top:1px solid rgba(0,0,0,.24);padding-top:25px;margin-top:0}
@media(max-width:720px){.about-page .page-mark{width:270px}.about-page .interior-header{margin-bottom:38px}.about-hero,.about-bio{width:100%}.about-bio{font-size:11px;margin-bottom:46px}.about-section{grid-template-columns:1fr;gap:28px;padding:36px 0 44px}.cv-grid{grid-template-columns:1fr;gap:20px}.cv-col h3{margin-bottom:20px}.speaking-grid{grid-template-columns:1fr;gap:24px}.press-row{grid-template-columns:52px 1fr;gap:14px}.press-row span:last-child{grid-column:2}.contact-form label{grid-template-columns:65px 1fr}}

/* Press */
.press-page .site-shell{width:min(1320px,90vw);padding-top:48px}
.press-page .interior-header{margin-bottom:55px;border-bottom:1px solid rgba(0,0,0,.16);padding-bottom:34px}
.press-page .page-mark{width:245px}
.press-hero{width:min(460px,42%);margin:0 auto 72px}
.press-hero img{display:block;width:100%;height:auto}
.press-hero figcaption{text-align:center;margin-top:10px;font:8px/1.3 'Courier New',monospace}
.press-section{margin:0 0 58px}
.press-section h1{font:700 17px/1.15 'Courier New',monospace;text-transform:uppercase;margin:0;padding:0 0 18px;border-bottom:1px solid rgba(0,0,0,.28)}
.press-section h2{font:8px/1.2 'Courier New',monospace;text-transform:uppercase;font-weight:400;margin:34px 0 10px}
.press-table{margin-left:145px}
.press-entry{display:grid;grid-template-columns:70px 270px 1fr;gap:24px;padding:13px 0;border-bottom:1px solid rgba(0,0,0,.18);font:10px/1.35 'Courier New',monospace;align-items:start}
.press-entry time{font-size:8px}.press-entry>span{font-size:9px}.press-entry strong{display:block;font-size:10px;font-weight:400}.press-entry small{display:block;font:8px/1.45 'Courier New',monospace;margin-top:4px}
.press-page .site-copyright{border-top:1px solid rgba(0,0,0,.24);padding-top:25px;margin-top:120px}
@media(max-width:720px){.press-page .site-shell{width:88vw;padding-top:30px}.press-page .page-mark{width:205px}.press-page .interior-header{margin-bottom:40px}.press-hero{width:min(82%,360px);margin-bottom:55px}.press-table{margin-left:0}.press-section h2{margin-top:28px}.press-entry{grid-template-columns:44px 1fr;gap:10px 14px;padding:15px 0}.press-entry>div{grid-column:2}.press-entry>span{font-size:9px}.press-entry strong{font-size:10px}.press-page .site-copyright{margin-top:75px}}

/* v7 — unified interior design system */
:root{
  --paper:#faf9f6;
  --ink:#202020;
  --muted:#44433f;
  --rule:rgba(32,32,32,.22);
}
body.interior{background:var(--paper);color:var(--ink);}
.site-shell{width:min(1180px,88vw);padding:58px 0 92px;}
.interior-header{
  display:flex;align-items:flex-start;justify-content:space-between;gap:44px;
  margin-bottom:62px;padding-bottom:0;border-bottom:0;
}
/* All handwritten page names follow the Beverage header's visual scale. */
.page-mark,
.about-page .page-mark,
.press-page .page-mark,
.visual-heading .page-mark{
  width:auto;height:82px;max-width:48vw;object-fit:contain;object-position:left top;display:block;
}
.top-nav{
  display:flex;gap:24px;align-items:center;padding-top:18px;
  font:11px/1.25 'Courier New',monospace;text-transform:uppercase;color:var(--ink);
}
.top-nav a{opacity:.82;text-decoration:none;}
.top-nav a:hover{opacity:.48;}
.top-nav .home-link{margin-right:10px;}

/* Readability baseline */
.intro{max-width:900px;font-size:18px;line-height:1.55;margin-bottom:50px;}
.section-kicker{font:12px/1.35 'Courier New',monospace;letter-spacing:.035em;margin-bottom:48px;}
.project h2{font-size:30px;line-height:1.15;}
.project h3{font-size:22px;line-height:1.2;}
.project p{font-size:17px;line-height:1.55;}
.caption,.read-link,.site-copyright{font-size:10.5px;line-height:1.45;color:var(--muted);}

/* Writing readability */
.writing-page .interior-header{margin-bottom:62px;}
.writing-rule{border-color:var(--rule);}
.writing-copy h2{font-size:30px;line-height:1.12;}
.writing-subtitle{font-size:15px;line-height:1.4;}
.writing-meta{font-size:10.5px;line-height:1.45;color:var(--muted);}
.writing-copy p{font-size:17px;line-height:1.55;}
.vines-cover-image{display:block;width:min(76%,340px);height:auto;}
.writing-archive a span{font-size:22px;}
.writing-archive a small{font-size:11px;line-height:1.4;}

/* Visual uses the same header as every other interior page. */
.visual-page .site-shell,.press-page .site-shell{width:min(1180px,88vw);padding-top:58px;}
.visual-page .interior-header,.press-page .interior-header,.about-page .interior-header{
  margin-bottom:62px;padding-bottom:0;border-bottom:0;align-items:flex-start;
}
.visual-subtitle{margin:-30px 0 28px;font:10.5px/1.3 'Courier New',monospace;letter-spacing:.04em;color:var(--muted);}
.visual-rule{border-color:var(--rule);}
.g figcaption{font-size:10px;background:rgba(250,249,246,.88);}

/* About: remove the accidental heavy CV language and enlarge information text. */
.about-bio{font:14px/1.65 'Courier New',monospace;color:var(--ink);}
.about-section{border-color:var(--rule);grid-template-columns:160px 1fr;}
.about-section h2{font:400 15px/1.25 'Courier New',monospace;letter-spacing:.02em;}
.cv-col h3{font-size:11px;line-height:1.3;}
.cv-entry{font:12px/1.55 'Courier New',monospace;color:var(--ink);}
.cv-entry strong{font-size:12px;font-weight:400;}
.cv-entry em{font-style:normal;font-weight:400;}
.speaking-item{font:12px/1.55 'Courier New',monospace;}
.speaking-item strong{font-size:12px;font-weight:400;}
.press-row{font:11.5px/1.5 'Courier New',monospace;}
.press-row strong{font-weight:400;}
.press-more,.contact-wrap{font-size:11.5px;line-height:1.5;}
.contact-form span{font-size:10px;}
.contact-form input,.contact-form textarea{font-size:13px;color:var(--ink);}
.contact-form button{font-size:11px;color:var(--ink);}

/* Press: retain archival structure, but make it comfortably readable. */
.press-hero figcaption{font-size:10px;line-height:1.4;color:var(--muted);}
.press-section h1{font:400 15px/1.25 'Courier New',monospace;border-color:var(--rule);}
.press-section h2{font:11px/1.3 'Courier New',monospace;margin-top:36px;}
.press-table{margin-left:120px;}
.press-entry{grid-template-columns:76px 280px 1fr;gap:26px;padding:16px 0;border-color:rgba(32,32,32,.15);font:12px/1.45 'Courier New',monospace;}
.press-entry time{font-size:10.5px;color:var(--muted);}
.press-entry>span{font-size:11.5px;}
.press-entry strong{font-size:12px;font-weight:400;line-height:1.45;}
.press-entry small{font-size:10.5px;line-height:1.5;color:var(--muted);}
.press-pdf-note{margin:8px 0 30px 120px;font:10.5px/1.5 'Courier New',monospace;color:var(--muted);}

@media(max-width:720px){
  .site-shell,.visual-page .site-shell,.press-page .site-shell{width:88vw;padding:32px 0 64px;}
  .interior-header,.visual-page .interior-header,.press-page .interior-header,.about-page .interior-header,.writing-page .interior-header{margin-bottom:44px;}
  .page-mark,.about-page .page-mark,.press-page .page-mark,.visual-heading .page-mark{height:60px;width:auto;max-width:76vw;}
  .top-nav{gap:13px;padding-top:25px;font-size:10px;flex-wrap:wrap;}
  .top-nav .home-link{margin-right:4px;}
  .intro{font-size:17px;line-height:1.55;}
  .project p,.writing-copy p{font-size:16.5px;line-height:1.55;}
  .project h2,.writing-copy h2{font-size:26px;}
  .caption,.read-link,.site-copyright{font-size:10px;}
  .visual-subtitle{margin:-18px 0 24px;font-size:10px;}
  .about-bio{font-size:13px;}
  .about-section h2{font-size:14px;}
  .cv-entry,.speaking-item{font-size:12px;}
  .cv-entry strong,.speaking-item strong{font-size:12px;}
  .press-table{margin-left:0;}
  .press-pdf-note{margin:7px 0 25px;}
  .press-entry{grid-template-columns:48px 1fr;gap:10px 15px;padding:16px 0;}
  .press-entry time{font-size:10px;}
  .press-entry>span,.press-entry strong{font-size:11.5px;}
  .press-entry small{font-size:10.5px;}
}

/* v8 — handwriting assets normalized to the Beverage implementation */
.page-mark {
  width:auto;
  height:78px;
  max-width:min(42vw, 430px);
  object-fit:contain;
  object-position:left center;
}
@media (max-width:720px){
  .page-mark { height:62px; max-width:72vw; }
}
/* Home navigation uses the same transparent handwriting originals. */
.nav-item img { background:transparent; }

/* Beverage-only page-title test: Home-scale centered handwriting */
.beverage-header-test .interior-header {
  position: relative;
  display: block;
  min-height: clamp(180px, 16vw, 260px);
  margin-bottom: 64px;
}
.beverage-header-test .interior-header > a:first-child {
  position: absolute;
  left: 50%;
  top: 58px;
  transform: translateX(-50%);
  line-height: 0;
}
.beverage-header-test .page-mark {
  height: clamp(110px, 9.1vw, 168px);
  width: auto;
  max-width: 72vw;
  object-fit: contain;
  object-position: center;
}
.beverage-header-test .top-nav {
  position: relative;
  z-index: 2;
  justify-content: flex-end;
  padding-top: 0;
}
@media (max-width:720px) {
  .beverage-header-test .interior-header {
    min-height: 185px;
    margin-bottom: 46px;
  }
  .beverage-header-test .interior-header > a:first-child {
    top: 72px;
  }
  .beverage-header-test .page-mark {
    height: clamp(76px, 20vw, 105px);
    max-width: 86vw;
  }
  .beverage-header-test .top-nav {
    justify-content: flex-start;
    padding-top: 0;
  }
}

/* v9 — approved centered page-title system */
.centered-page-title .interior-header {
  position: relative;
  display: block;
  min-height: clamp(180px, 16vw, 260px);
  margin-bottom: 64px;
  border-bottom: 0;
  padding-bottom: 0;
}
.centered-page-title .interior-header > a:first-child,
.centered-page-title .interior-header > .visual-heading {
  position: absolute;
  left: 50%;
  top: 58px;
  transform: translateX(-50%);
  line-height: 0;
  margin: 0;
}
.centered-page-title .page-mark,
.centered-page-title .visual-heading .page-mark,
.centered-page-title.about-page .page-mark,
.centered-page-title.press-page .page-mark {
  height: clamp(110px, 9.1vw, 168px);
  width: auto;
  max-width: 72vw;
  object-fit: contain;
  object-position: center;
}
.centered-page-title .top-nav {
  position: relative;
  z-index: 2;
  justify-content: flex-end;
  padding-top: 0;
}
/* Beverage opening belongs to the centered title composition. */
.beverage-page .intro {
  width: min(820px, 82%);
  max-width: 820px;
  margin: 0 auto 70px;
  text-align: center;
}
/* About uses the same editorial type system as Beverage/Writing. */
.about-bio {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 17px;
  line-height: 1.6;
}
.about-section {
  grid-template-columns: 190px 1fr;
  gap: 52px;
}
.hand-section-title {
  margin: 0;
  line-height: 0;
}
.hand-section-title img {
  display: block;
  width: auto;
  height: 64px;
  max-width: 175px;
  object-fit: contain;
  object-position: left top;
}
.hand-section-title-wide img { height: 88px; max-width: 185px; }
.hand-section-title-contact img { height: 48px; max-width: 185px; }
/* Hierarchy: content titles dark; metadata deliberately quieter. */
.cv-col h3,
.press-section h2 {
  color: var(--muted);
  letter-spacing: .045em;
}
.cv-entry {
  color: #5b5954;
}
.cv-entry strong {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 14px;
  line-height: 1.35;
  color: var(--ink);
  margin-bottom: 4px;
}
.cv-entry em {
  color: #353431;
  font-weight: 400;
}
.speaking-item {
  color: #55534f;
}
.speaking-item-link {
  display: block;
  text-decoration: none;
  transition: opacity .2s ease;
}
.speaking-item-link:hover {
  opacity: .62;
}
.speaking-item strong {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 15px;
  line-height: 1.35;
  color: var(--ink);
  margin-bottom: 5px;
}
.press-row { color: #5b5954; }
.press-row strong {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 14px;
  line-height: 1.4;
  color: var(--ink);
}
.press-entry { color: #56544f; }
.press-entry > span { color: #4c4a46; }
.press-entry strong {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 15px;
  line-height: 1.4;
  color: var(--ink);
}
.press-entry time,
.press-entry small { color: #686660; }
.press-section h1 { color: var(--ink); }
.contact-wrap > p {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 16px;
  line-height: 1.55;
  color: var(--ink);
}
@media (max-width:720px) {
  .centered-page-title .interior-header {
    min-height: 185px;
    margin-bottom: 46px;
  }
  .centered-page-title .interior-header > a:first-child,
  .centered-page-title .interior-header > .visual-heading { top: 72px; }
  .centered-page-title .page-mark,
  .centered-page-title .visual-heading .page-mark,
  .centered-page-title.about-page .page-mark,
  .centered-page-title.press-page .page-mark {
    height: clamp(76px, 20vw, 105px);
    max-width: 86vw;
  }
  .centered-page-title .top-nav { justify-content: flex-start; padding-top: 0; }
  .beverage-page .intro { width: 100%; margin-bottom: 56px; }
  .about-section { grid-template-columns: 1fr; gap: 28px; }
  .hand-section-title img { height: 56px; max-width: 160px; }
  .hand-section-title-wide img { height: 76px; max-width: 180px; }
  .hand-section-title-contact img { height: 43px; max-width: 175px; }
  .about-bio { font-size: 16.5px; }
  .cv-entry strong,.press-row strong,.speaking-item strong { font-size: 14px; }
  .press-entry strong { font-size: 14px; }
}

/* v10 corrections after visual review */
/* A single title layer centers every main handwritten page name independently of navigation. */
.centered-page-title .interior-header > a:first-child,
.centered-page-title .interior-header > .page-title-link,
.centered-page-title .interior-header > .visual-heading {
  position:absolute;
  left:0;
  right:0;
  top:58px;
  transform:none;
  display:flex;
  justify-content:center;
  align-items:center;
  width:100%;
  margin:0;
  line-height:0;
  pointer-events:auto;
}
.centered-page-title .interior-header > a:first-child .page-mark,
.centered-page-title .interior-header > .page-title-link .page-mark,
.centered-page-title .interior-header > .visual-heading .page-mark {
  display:block;
  margin:0 auto;
}
/* Visual now follows the same title/navigation composition as every other interior page. */
.visual-page .interior-header { min-height:clamp(180px,16vw,260px); margin-bottom:64px; }
.visual-page .visual-subtitle { text-align:center; margin:-18px 0 32px; }
/* Secondary handwritten Press heading on About. */
.hand-section-title-press img { height:58px; max-width:175px; }
/* CV internal divisions are content headings, not metadata. */
.cv-col h3 {
  color:var(--ink);
  font-family:Georgia,'Times New Roman',serif;
  font-size:16px;
  line-height:1.2;
  font-weight:400;
  letter-spacing:0;
  text-transform:none;
  margin-bottom:24px;
  padding-bottom:7px;
  border-bottom:1px solid var(--rule);
}
@media(max-width:720px){
  .centered-page-title .interior-header > a:first-child,
  .centered-page-title .interior-header > .page-title-link,
  .centered-page-title .interior-header > .visual-heading { top:72px; }
  .visual-page .interior-header { margin-bottom:44px; }
  .hand-section-title-press img { height:50px; }
  .cv-col h3 { font-size:15px; margin-bottom:18px; }
}

/* v11 — strict shared interior header/grid system */
:root{
  --interior-width:min(1180px,88vw);
  --header-top:58px;
  --main-mark-height:96px;
  --header-content-gap:54px;
  --header-block-height:168px;
  --secondary-mark-height:58px;
}

/* Every interior page uses exactly the same shell and header geometry. */
body.interior .site-shell,
body.visual-page .site-shell,
body.press-page .site-shell{
  width:var(--interior-width);
  padding-top:var(--header-top);
}
body.interior .interior-header,
body.visual-page .interior-header,
body.press-page .interior-header,
body.about-page .interior-header,
body .writing-page .interior-header{
  position:relative;
  display:block;
  height:var(--header-block-height);
  min-height:0;
  margin:0;
  padding:0;
  border:0;
}
body.interior .interior-header > a:first-child,
body.interior .interior-header > .page-title-link,
body.interior .interior-header > .visual-heading{
  position:absolute;
  left:0;
  top:0;
  transform:none;
  margin:0;
  line-height:0;
}
body.interior .page-mark,
body.about-page .page-mark,
body.press-page .page-mark,
body.visual-page .page-mark,
body.visual-page .visual-heading .page-mark{
  display:block;
  width:auto;
  height:var(--main-mark-height);
  max-width:58vw;
  object-fit:contain;
  object-position:left top;
}
body.interior .top-nav{
  position:absolute;
  z-index:2;
  right:0;
  top:0;
  display:flex;
  justify-content:flex-end;
  padding:0;
}

/* The first content on every page begins at the same vertical coordinate. */
body.interior .intro,
body.interior .writing-rule,
body.visual-page .visual-subtitle,
body.about-page .about-hero,
body.press-page .press-hero{
  margin-top:var(--header-content-gap);
}

/* All opening prose is left aligned. */
body.beverage-page .intro{
  width:min(900px,100%);
  max-width:900px;
  margin-left:0;
  margin-right:0;
  margin-bottom:70px;
  text-align:left;
}
body.about-page .about-bio{text-align:left;}
body.visual-page .visual-subtitle{text-align:left;}

/* Remove old negative offsets that made Visual begin at a different height. */
body.visual-page .visual-subtitle{
  margin-bottom:28px;
}

/* One scale for secondary handwritten section headings. */
.hand-section-title img,
.hand-section-title-press img,
.hand-section-title-contact img{
  width:auto;
  height:var(--secondary-mark-height);
  max-width:180px;
  object-fit:contain;
  object-position:left top;
}
/* Two handwritten lines: each line has the same approximate letter height as CV/Press. */
.hand-section-title-wide img{
  width:auto;
  height:116px;
  max-width:250px;
  object-fit:contain;
  object-position:left top;
}

/* CV internal hierarchy: structural labels clearly distinct from entries/metadata. */
.about-page .cv-col h3{
  margin:0 0 22px;
  font:400 14px/1.25 'Courier New',monospace;
  letter-spacing:.075em;
  text-transform:uppercase;
  color:var(--ink);
}
.about-page .cv-col h3:not(:first-child){margin-top:38px;}

@media(max-width:720px){
  :root{
    --header-top:32px;
    --main-mark-height:68px;
    --header-block-height:132px;
    --header-content-gap:36px;
    --secondary-mark-height:50px;
  }
  body.interior .site-shell,
  body.visual-page .site-shell,
  body.press-page .site-shell{width:88vw;padding-top:var(--header-top);}
  body.interior .page-mark,
  body.about-page .page-mark,
  body.press-page .page-mark,
  body.visual-page .page-mark{height:var(--main-mark-height);max-width:78vw;}
  body.interior .top-nav{
    top:84px;
    left:0;
    right:auto;
    justify-content:flex-start;
    gap:13px;
    flex-wrap:wrap;
  }
  body.interior .intro,
  body.interior .writing-rule,
  body.visual-page .visual-subtitle,
  body.about-page .about-hero,
  body.press-page .press-hero{margin-top:var(--header-content-gap);}
  .hand-section-title img,
  .hand-section-title-press img,
  .hand-section-title-contact img{height:var(--secondary-mark-height);max-width:160px;}
  .hand-section-title-wide img{height:100px;max-width:220px;}
}

/* v12 — exact interior alignment pass */
:root{
  --interior-left: 0px;
  --main-mark-ink-height: 92px;
  --interior-header-height: 176px;
}

/* One identical header box on every interior page. */
body.interior .interior-header{
  position:relative !important;
  display:block !important;
  height:var(--interior-header-height) !important;
  min-height:var(--interior-header-height) !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
}
body.interior .interior-header > a:first-child,
body.interior .interior-header > .page-title-link,
body.interior .interior-header > .visual-heading{
  position:absolute !important;
  left:var(--interior-left) !important;
  top:0 !important;
  margin:0 !important;
  padding:0 !important;
  transform:none !important;
  line-height:0 !important;
}
/* Assets are tightly cropped to visible ink; equal image height now means equal visible title height. */
body.interior .interior-header .page-mark{
  display:block !important;
  width:auto !important;
  height:var(--main-mark-ink-height) !important;
  max-width:58vw !important;
  margin:0 !important;
  padding:0 !important;
  object-fit:contain !important;
  object-position:left top !important;
}
body.interior .top-nav{
  top:0 !important;
  right:0 !important;
}

/* No page-specific spacer after the shared header. */
body.interior .intro,
body.interior .section-kicker,
body.visual-page .visual-subtitle,
body.about-page .about-hero,
body.press-page .press-hero{
  margin-top:0 !important;
}
.writing-rule,.visual-rule{display:none !important;border:0 !important;margin:0 !important;padding:0 !important;}

/* About structural handwriting: same exact left edge. Cropped assets remove hidden source padding. */
.about-page .about-section > .hand-section-title{
  margin-left:0 !important;
  padding-left:0 !important;
  justify-self:start !important;
  text-align:left !important;
}
.about-page .about-section > .hand-section-title img{
  display:block !important;
  margin:0 !important;
  object-position:left top !important;
}

@media(max-width:720px){
  :root{
    --main-mark-ink-height:66px;
    --interior-header-height:132px;
  }
}

/* v13 — scrolling overview homepage */
html { scroll-behavior:smooth; }
body.overview-page { overflow:auto; color:#202020; background:#faf9f6; font-family:Georgia,'Times New Roman',serif; }
.overview-page .home { background-color:#faf9f6; }
.overview-shell { width:min(1180px,88vw); margin:0 auto; }
.overview-section { padding:105px 0 115px; scroll-margin-top:20px; }
.overview-section + .overview-section { border-top:0; }
.overview-mark { display:block; height:72px; width:auto; max-width:52vw; object-fit:contain; object-position:left center; margin:0 0 48px; }
.overview-intro { max-width:790px; margin:0 0 48px; font-size:17px; line-height:1.48; }
.overview-intro p { margin:0; }
.preview-grid { display:grid; gap:30px; }
.preview-three { grid-template-columns:repeat(3,1fr); }
.preview-card { display:block; text-decoration:none; color:inherit; }
.preview-card img { display:block; width:100%; aspect-ratio:3/2; object-fit:cover; margin-bottom:11px; }
.preview-card span { display:block; font:10px/1.35 'Courier New',monospace; color:#5d5b57; text-transform:uppercase; }
.preview-card strong { display:block; font:400 18px/1.2 Georgia,'Times New Roman',serif; margin:0 0 5px; }
.overview-more { display:inline-block; margin-top:34px; color:#202020; text-decoration:none; font:11px/1.3 'Courier New',monospace; }
.overview-more:hover { text-decoration:underline; }
.visual-preview { display:grid; grid-template-columns:1.15fr .82fr 1.2fr; grid-template-rows:220px 220px; gap:22px; align-items:stretch; }
.visual-preview img { display:block; width:100%; height:100%; object-fit:cover; }
.visual-preview img:nth-child(1) { grid-row:1/3; }
.visual-preview img:nth-child(4) { grid-column:2; }
.visual-preview img:nth-child(5) { grid-column:3; }
.about-preview-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(330px,.72fr); gap:90px; align-items:start; }
.about-preview-grid p { max-width:650px; font-size:17px; line-height:1.48; margin:0 0 1em; }
.about-preview-grid > a img { display:block; width:100%; height:auto; }
.overview-footer { padding:15px 0 70px; font:9px/1.4 'Courier New',monospace; color:#5d5b57; }
@media(max-width:720px){
  .overview-shell{width:86vw}
  .overview-section{padding:70px 0 80px}
  .overview-mark{height:50px;max-width:78vw;margin-bottom:34px}
  .overview-intro,.about-preview-grid p{font-size:15px;line-height:1.5}
  .preview-three{grid-template-columns:1fr;gap:34px}
  .visual-preview{grid-template-columns:1fr 1fr;grid-template-rows:220px 170px 200px;gap:12px}
  .visual-preview img:nth-child(1){grid-row:1/3}
  .visual-preview img:nth-child(4){grid-column:1}
  .visual-preview img:nth-child(5){grid-column:2}
  .about-preview-grid{grid-template-columns:1fr;gap:38px}
  .about-preview-grid > a{max-width:82%}
}

/* v14 — welcome introduction + reduced About */
.welcome-section { padding:105px 0 125px; }
.welcome-mark { display:block; width:360px; max-width:52vw; height:auto; margin:0 0 58px; }
.welcome-copy { max-width:790px; font-size:21px; line-height:1.58; }
.welcome-copy p { margin:0 0 1.45em; }
.welcome-copy .welcome-pivot { margin-top:2.7em; margin-bottom:2.7em; font-size:1.08em; }
.overview-intro p + p { margin-top:1.15em; }
.about-preview-grid .about-direct { margin-top:0; }
.about-page .about-hero { margin-bottom:72px; }
@media(max-width:720px){
  .welcome-section{padding:72px 0 88px}
  .welcome-mark{width:250px;max-width:72vw;margin-bottom:38px}
  .welcome-copy{font-size:17px;line-height:1.58}
  .welcome-copy p{margin-bottom:1.35em}
  .welcome-copy .welcome-pivot{margin-top:2.35em;margin-bottom:2.35em}
  .about-page .about-hero{margin-bottom:52px}
}


/* v15 — one-screen welcome + minimal homepage previews */
.overview-tagline { margin:-28px 0 42px; font:16px/1.45 Georgia,'Times New Roman',serif; }
@media (min-width:721px) {
  .welcome-section { box-sizing:border-box; min-height:100vh; height:100vh; padding:5vh 0 4vh; display:flex; flex-direction:column; justify-content:center; }
  .welcome-mark { width:285px; max-width:38vw; margin:0 0 3.1vh; }
  .welcome-copy { max-width:900px; font-size:17px; line-height:1.42; }
  .welcome-copy p { margin:0 0:.82em; }
  .welcome-copy .welcome-pivot { margin-top:1.55em; margin-bottom:1.55em; font-size:1.05em; }
}
@media(max-width:720px){
  .overview-tagline{margin:-20px 0 34px;font-size:15px;line-height:1.45}
}


/* v17 — asymmetric editorial homepage previews */
.overview-section { padding:82px 0 88px; }
.welcome-section + .overview-section { padding-top:112px; }
.editorial-preview-list { max-width:980px; }
.editorial-preview-row { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(280px,.82fr); gap:58px; align-items:center; text-decoration:none; color:inherit; margin:0 0 62px; }
.editorial-preview-row.media-right { grid-template-columns:minmax(280px,.82fr) minmax(0,1.05fr); margin-left:8%; }
.editorial-preview-row.media-left { margin-right:8%; }
.editorial-preview-media img { display:block; width:100%; height:auto; max-height:350px; object-fit:cover; }
.editorial-preview-copy { max-width:440px; }
.editorial-preview-copy h2 { margin:0 0 9px; font:400 19px/1.22 Georgia,'Times New Roman',serif; }
.editorial-preview-copy p { margin:0; font:15px/1.5 Georgia,'Times New Roman',serif; }
.editorial-preview-meta { margin:0 0 12px; font:9px/1.35 'Courier New',monospace; text-transform:uppercase; color:#5d5b57; }
.book-preview-media img { width:auto; max-width:100%; max-height:330px; margin:0 auto; object-fit:contain; }
.editorial-preview-section .overview-more { margin-top:-8px; }
.about-preview-content { max-width:760px; }
.about-preview-portrait { display:block; width:min(100%,620px); }
.about-preview-portrait img { display:block; width:100%; height:auto; object-fit:contain; }
.about-preview-links { display:flex; flex-wrap:wrap; gap:12px 28px; margin-top:28px; }
.about-preview-links a { color:#202020; text-decoration:none; font:10px/1.35 'Courier New',monospace; }
.about-preview-links a:hover { text-decoration:underline; }
@media(max-width:720px){
  .overview-section{padding:62px 0 68px}
  .welcome-section + .overview-section{padding-top:82px}
  .editorial-preview-row,.editorial-preview-row.media-right,.editorial-preview-row.media-left{grid-template-columns:1fr;gap:20px;margin:0 0 50px}
  .editorial-preview-row.media-right .editorial-preview-copy{order:2}
  .editorial-preview-row.media-right .editorial-preview-media{order:1}
  .editorial-preview-media img{max-height:none}
  .editorial-preview-copy{max-width:100%}
  .editorial-preview-copy h2{font-size:18px}
  .editorial-preview-copy p{font-size:15px}
  .book-preview-media img{margin-left:0;max-height:390px}
  .about-preview-content{max-width:100%}
  .about-preview-portrait{width:100%;max-width:520px}
  .about-preview-links{gap:11px 20px;margin-top:24px}
}

/* v18 — image-led homepage previews */
.image-index { max-width:1060px; display:grid; grid-template-columns:repeat(12,1fr); gap:34px 26px; align-items:start; }
.image-index-item { display:block; color:inherit; text-decoration:none; }
.image-index-item img { display:block; width:100%; height:auto; object-fit:cover; }
.image-index-title { display:block; margin-top:9px; font:10px/1.35 'Courier New',monospace; color:#202020; }
.image-index-meta { display:block; margin-top:3px; font:9px/1.35 'Courier New',monospace; color:#5d5b57; text-transform:uppercase; }
.beverage-image-index .image-index-item:nth-child(1){grid-column:1 / span 5;}
.beverage-image-index .image-index-item:nth-child(2){grid-column:7 / span 3; margin-top:52px;}
.beverage-image-index .image-index-item:nth-child(3){grid-column:10 / span 3; margin-top:5px;}
.beverage-image-index .image-index-item:nth-child(4){grid-column:2 / span 4; margin-top:14px;}
.beverage-image-index .image-index-item:nth-child(5){grid-column:7 / span 4; margin-top:74px;}
.beverage-image-index .image-index-item:nth-child(6){grid-column:11 / span 2; margin-top:12px;}
.writing-image-index { max-width:980px; }
.writing-image-index .image-index-item:nth-child(1){grid-column:1 / span 4;}
.writing-image-index .image-index-item:nth-child(2){grid-column:5 / span 5; margin-top:45px;}
.writing-image-index .image-index-item:nth-child(3){grid-column:10 / span 3; margin-top:4px;}
.writing-image-index .image-index-item:nth-child(1) img,
.writing-image-index .image-index-item:nth-child(3) img { object-fit:contain; }
.image-preview-section .overview-more { margin-top:42px; }
@media(max-width:720px){
  .image-index{grid-template-columns:repeat(2,1fr);gap:34px 14px;}
  .beverage-image-index .image-index-item:nth-child(n),
  .writing-image-index .image-index-item:nth-child(n){grid-column:auto;margin-top:0;}
  .beverage-image-index .image-index-item:nth-child(1),
  .beverage-image-index .image-index-item:nth-child(4){grid-column:1 / -1;width:86%;}
  .beverage-image-index .image-index-item:nth-child(4){justify-self:end;}
  .writing-image-index .image-index-item:nth-child(2){grid-column:1 / -1;width:88%;justify-self:center;}
  .image-index-title{font-size:9px;margin-top:7px;}
  .image-index-meta{font-size:8px;}
  .image-preview-section .overview-more{margin-top:34px;}
}


/* v19 — calm aligned image-led previews */
.beverage-image-index,
.writing-image-index {
  max-width:none;
  display:flex;
  gap:20px;
  align-items:flex-start;
}
.beverage-image-index .image-index-item,
.writing-image-index .image-index-item {
  margin-top:0 !important;
  min-width:0;
}
.beverage-image-index .image-index-item { flex:1 1 0; }
.beverage-image-index .image-index-item img {
  width:100%;
  height:205px;
  object-fit:cover;
}
.writing-image-index { gap:34px; align-items:flex-start; }
.writing-image-index .image-index-item { flex:1 1 0; }
.writing-image-index .image-index-item img {
  display:block;
  width:100%;
  height:330px;
  object-fit:contain;
  object-position:center top;
}
.writing-image-index .image-index-meta {
  margin-top:10px;
  font-size:9px;
  text-transform:none;
  color:#202020;
}
@media(max-width:720px){
  .beverage-image-index,
  .writing-image-index { display:grid; grid-template-columns:1fr 1fr; gap:30px 14px; }
  .beverage-image-index .image-index-item,
  .writing-image-index .image-index-item { width:auto !important; justify-self:stretch !important; grid-column:auto !important; }
  .beverage-image-index .image-index-item img { height:155px; }
  .writing-image-index .image-index-item img { height:250px; }
  .writing-image-index .image-index-item:nth-child(3) { grid-column:1 / -1 !important; width:48% !important; justify-self:center !important; }
}

/* v20 — two-part homepage: rooftop cover + welcome/navigation */
.overview-page .home .nav { display:none; }
.home-intro-shell { width:min(1180px,88vw); margin:0 auto; }
.home-intro-shell .welcome-section {
  box-sizing:border-box;
  min-height:100vh;
  height:auto;
  padding:7vh 0 7vh;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.welcome-nav {
  display:flex;
  align-items:flex-end;
  gap:54px;
  margin-top:3.8vh;
  width:100%;
}
.welcome-nav a { display:block; line-height:0; text-decoration:none; }
.welcome-nav a:hover { opacity:.58; }
.welcome-nav a:focus-visible { outline:2px solid #202020; outline-offset:7px; }
.welcome-nav img { display:block; width:auto; height:48px; max-width:21vw; object-fit:contain; object-position:left bottom; }
.welcome-nav a:nth-child(1) img { height:54px; }
.welcome-nav a:nth-child(2) img { height:49px; }
.welcome-nav a:nth-child(3) img { height:50px; }
.welcome-nav a:nth-child(4) img { height:49px; }

/* About: make the two-line Speaking + Teaching mark read at the same structural scale
   as the other secondary handwritten headings, with the exact same left edge. */
.about-page #speaking-teaching > .hand-section-title-wide {
  margin-left:0 !important;
  padding-left:0 !important;
  justify-self:start !important;
  text-align:left !important;
}
.about-page #speaking-teaching > .hand-section-title-wide img {
  display:block !important;
  width:auto !important;
  height:138px !important;
  max-width:300px !important;
  margin:0 !important;
  object-fit:contain !important;
  object-position:left top !important;
}

@media(max-width:720px){
  .home-intro-shell{width:86vw;}
  .home-intro-shell .welcome-section{min-height:0;padding:72px 0 76px;}
  .welcome-nav{display:grid;grid-template-columns:1fr 1fr;gap:26px 32px;margin-top:46px;align-items:end;}
  .welcome-nav img,.welcome-nav a:nth-child(n) img{height:42px;max-width:100%;}
  .welcome-nav a:nth-child(1) img{height:46px;}
  .about-page #speaking-teaching > .hand-section-title-wide img{height:118px !important;max-width:260px !important;}
}

/* v21 — normalized handwritten home navigation */
.welcome-nav{
  display:flex;
  width:100%;
  gap:var(--ink-gap, 42px);
  padding-left:var(--ink-gap, 42px);
  padding-right:var(--ink-gap, 42px);
  box-sizing:border-box;
  align-items:flex-end;
}
.welcome-nav a{flex:0 0 auto;}
.welcome-nav img,
.welcome-nav a:nth-child(n) img{
  display:block;
  width:auto;
  height:48px;
  max-width:none;
  object-fit:contain;
}
@media(max-width:720px){
  .welcome-nav{
    display:grid;
    grid-template-columns:max-content max-content;
    justify-content:space-between;
    gap:30px 0;
    padding-left:0;
    padding-right:0;
    align-items:end;
  }
  .welcome-nav img,
  .welcome-nav a:nth-child(n) img{
    width:auto;
    height:40px;
    max-width:38vw;
  }
}


/* v22 — Welcome nav begins on the exact Welcome-copy left edge. */
.welcome-nav{
  display:flex !important;
  justify-content:flex-start !important;
  align-items:flex-end !important;
  width:100% !important;
  gap:54px !important;
  padding-left:0 !important;
  padding-right:0 !important;
  margin-left:0 !important;
  margin-right:0 !important;
}
.welcome-nav a{flex:0 0 auto !important;margin:0 !important;padding:0 !important;}
.welcome-nav img,
.welcome-nav a:nth-child(n) img{
  display:block !important;
  width:auto !important;
  height:48px !important;
  max-width:none !important;
  margin:0 !important;
}

/* v22 — About headings use tightly cropped source assets.
   Their actual first black strokes therefore share one exact x-axis. */
.about-page .about-section{grid-template-columns:220px 1fr !important;}
.about-page .about-section > .hand-section-title{
  width:220px !important;
  margin:0 !important;
  padding:0 !important;
  justify-self:start !important;
  align-self:start !important;
  text-align:left !important;
  overflow:visible !important;
}
.about-page .about-section > .hand-section-title img{
  display:block !important;
  width:auto !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  object-fit:contain !important;
  object-position:left top !important;
}
.about-page #cv .hand-section-title img{height:70px !important;}
.about-page #speaking-teaching .hand-section-title img{height:90px !important;}
.about-page #press .hand-section-title img{height:70px !important;}
.about-page #contact .hand-section-title img{height:44px !important;}

@media(max-width:720px){
  .welcome-nav{
    display:grid !important;
    grid-template-columns:max-content max-content !important;
    justify-content:start !important;
    column-gap:42px !important;
    row-gap:30px !important;
  }
  .welcome-nav img,.welcome-nav a:nth-child(n) img{
    height:40px !important;
    max-width:38vw !important;
  }
  .about-page .about-section{grid-template-columns:1fr !important;}
  .about-page .about-section > .hand-section-title{width:auto !important;}
  .about-page #cv .hand-section-title img{height:62px !important;}
  .about-page #speaking-teaching .hand-section-title img{height:82px !important;}
  .about-page #press .hand-section-title img{height:62px !important;}
  .about-page #contact .hand-section-title img{height:40px !important;}
}

/* v23 — TALKS replaces SPEAKING + TEACHING; exact visible-ink left alignment retained */
.about-page #speaking-teaching .hand-section-title img{
  height:70px !important;
  width:auto !important;
  max-width:none !important;
}
@media(max-width:720px){
  .about-page #speaking-teaching .hand-section-title img{
    height:62px !important;
  }
}

/* v24 — optically equal About heading letter scale */
.about-page #cv .hand-section-title img{height:74px !important;}
.about-page #speaking-teaching .hand-section-title img{height:82px !important;}
.about-page #press .hand-section-title img{height:74px !important;}
.about-page #contact .hand-section-title img{height:47px !important;}
@media(max-width:720px){
 .about-page #cv .hand-section-title img{height:65px !important;}
 .about-page #speaking-teaching .hand-section-title img{height:72px !important;}
 .about-page #press .hand-section-title img{height:65px !important;}
 .about-page #contact .hand-section-title img{height:41px !important;}
}

/* v25 — larger TheSHESide image in Talks */
.about-page #speaking-teaching .about-split{
  grid-template-columns:minmax(0, 1fr) minmax(360px, 0.82fr) !important;
  gap:56px !important;
  align-items:start !important;
}
.about-page #speaking-teaching .about-photo{
  width:100% !important;
  max-width:520px !important;
}
.about-page #speaking-teaching .about-photo img{
  display:block !important;
  width:100% !important;
  height:auto !important;
}
@media(max-width:900px){
  .about-page #speaking-teaching .about-split{
    grid-template-columns:1fr !important;
    gap:30px !important;
  }
  .about-page #speaking-teaching .about-photo{
    width:min(100%, 560px) !important;
    max-width:none !important;
  }
}

/* v26 — mobile-only homepage refinement. Desktop remains unchanged. */
@media(max-width:720px){
  .home-page .welcome-copy{
    font-size:17px !important;
    line-height:1.52 !important;
  }
  .home-page .welcome-nav{
    margin-top:42px !important;
    row-gap:28px !important;
    column-gap:36px !important;
    align-items:end !important;
  }
  .home-page .welcome-nav a:nth-child(1) img{height:59.21px !important;width:auto !important;}
  .home-page .welcome-nav a:nth-child(2) img{height:50.12px !important;width:auto !important;}
  .home-page .welcome-nav a:nth-child(3) img{height:54.92px !important;width:auto !important;}
  .home-page .welcome-nav a:nth-child(4) img{height:46.47px !important;width:auto !important;}
}

/* v27 — global mobile refinement */
:root{--paper:#faf9f6;}
html,body,.site-shell,.home{background-color:#faf9f6 !important;}
html{-webkit-text-size-adjust:100%;color-scheme:light;}
body{color:#202020;}
input,textarea,button{background-color:transparent;color:#202020;}

@media(max-width:720px){
  body.interior{font-size:16px;}
  .site-shell{width:88vw;padding-top:32px;padding-bottom:58px;}

  /* One consistent mobile header: navigation, breathing room, then handwriting. */
  body.interior .interior-header{
    position:relative !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    min-height:205px !important;
    margin-bottom:38px !important;
    padding:0 !important;
  }
  body.interior .interior-header .top-nav{
    order:0 !important;
    width:100% !important;
    display:flex !important;
    flex-wrap:nowrap !important;
    justify-content:flex-start !important;
    gap:18px !important;
    padding:0 !important;
    font-size:9px !important;
    white-space:nowrap !important;
  }
  body.interior .interior-header > a:first-child,
  body.interior .interior-header > .page-title-link,
  body.interior .interior-header > .visual-heading{
    position:absolute !important;
    left:0 !important;
    top:48px !important;
    transform:none !important;
    margin:0 !important;
    width:auto !important;
  }
  body.interior .interior-header .page-mark{
    display:block !important;
    width:auto !important;
    height:76px !important;
    max-width:78vw !important;
    object-fit:contain !important;
    object-position:left top !important;
  }
  .visual-page .interior-header .page-mark{height:80px !important;}
  .about-page .interior-header .page-mark{height:80px !important;}
  .press-page .interior-header .page-mark{height:72px !important;}

  /* Editorial type should not become display type on a phone. */
  .intro{font-size:17px !important;line-height:1.46 !important;margin-bottom:52px !important;}
  .project{gap:18px !important;margin-bottom:64px !important;}
  .project h2{font-size:27px !important;line-height:1.12 !important;margin-bottom:16px !important;}
  .project h3{font-size:20px !important;line-height:1.18 !important;}
  .project p{font-size:16px !important;line-height:1.46 !important;}
  .caption{font-size:10px !important;line-height:1.4 !important;}
  .site-copyright{margin-top:72px !important;font-size:10px !important;line-height:1.45 !important;}

  .writing-page > .section-kicker{margin-bottom:42px !important;}
  .writing-piece,.writing-piece.media-right{gap:20px !important;margin-bottom:64px !important;}
  .writing-copy h2{font-size:27px !important;line-height:1.08 !important;margin-bottom:8px !important;}
  .writing-subtitle{font-size:17px !important;line-height:1.25 !important;}
  .writing-meta{font-size:10px !important;margin-bottom:18px !important;}
  .writing-copy p{font-size:17px !important;line-height:1.48 !important;margin-bottom:13px !important;}
  .writing-copy p em,.writing-copy em{font-size:17px !important;line-height:1.48 !important;}
  .book-piece{margin-bottom:58px !important;}
  .book-media img{width:min(68%,260px) !important;}
  .writing-archive{margin-top:10px !important;}
  .writing-archive a{padding:19px 0 !important;}
  .writing-archive a span{font-size:22px !important;}

  /* Preserve the irregular Visual gallery rather than collapsing it. */
  .visual-page .visual-grid{margin-top:0 !important;}

  /* About: retain readable CV scale and tighten section rhythm. */
  .about-page .about-section{margin-top:72px !important;margin-bottom:72px !important;}
  .about-page #cv{margin-top:58px !important;}
  .about-page #speaking-teaching .about-split{gap:24px !important;}
  .about-page #press .press-list{margin-top:28px !important;}
  .about-page #contact{margin-bottom:20px !important;}
}

/* v28 — mobile title-to-content spacing refinement */
@media(max-width:720px){
  body.interior .interior-header{
    height:auto !important;
    min-height:0 !important;
    margin-bottom:14px !important;
  }
  body.interior .interior-header > a:first-child,
  body.interior .interior-header > .page-title-link,
  body.interior .interior-header > .visual-heading{
    position:static !important;
    order:1 !important;
    margin-top:36px !important;
  }
}

/* v30 — optically match the wide Beverage handwriting on mobile */
@media(max-width:720px){
  .overview-page .welcome-nav a:first-child img{
    transform:scale(1.18) !important;
    transform-origin:left bottom !important;
  }
  .beverage-page .interior-header .page-mark{
    max-width:92vw !important;
  }
}

/* v31 — consistent subpage footer and mobile footer navigation */
.bottom-nav{display:none;}
.site-footer{margin-top:125px;}
.site-footer .site-copyright{
  margin:0 !important;
  padding-top:25px !important;
  border-top:1px solid rgba(0,0,0,.24) !important;
}
.footer-instagram{
  display:flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  margin:0 0 14px;
  color:var(--ink);
}
.footer-instagram svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5;}
.footer-instagram .instagram-dot{fill:currentColor;stroke:none;}
.footer-instagram:hover{opacity:.55;}
@media(max-width:720px){
  .site-footer{margin-top:72px;}
  .bottom-nav{
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    gap:16px;
    margin:0 0 28px;
    font:9px/1.2 'Courier New',monospace;
    text-transform:uppercase;
  }
  .bottom-nav a{text-decoration:none;}
  .bottom-nav a:hover{opacity:.55;}
  .site-footer .site-copyright{
    padding-top:18px !important;
    font-size:10px !important;
    line-height:1.45 !important;
  }
}

/* v32 — Writing document links */
.writing-pdf-link{display:block;line-height:0;}
.writing-title-link{color:inherit;text-decoration:none;}
.writing-pdf-link:hover,.writing-title-link:hover{opacity:.62;}

/* v38 — Press entry links */
a.press-entry{color:inherit;text-decoration:none;}
a.press-entry:hover{opacity:.62;}
