/* Readability and responsive refinements for the personal editorial site. */
img{max-width:100%}section{scroll-margin-top:24px}a:focus-visible,button:focus-visible{outline:3px solid #b5915d;outline-offset:5px}
.profile{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:6vw}.profile-copy{padding-left:0}.profile-image img{object-position:center 25%}.hero h1{max-width:13ch}.hero-image img{object-position:center 25%}
.eyebrow,.section-no,.media-kicker,.video-grid span,.social-strip span{font-size:.75rem}.site-header nav,.button,.text-link,.footer-links a{font-size:.875rem}.pillars p,.treatment-list p,.digital li,.process-steps p,.experience-columns p,.video-feature p,.talks-feature p{font-size:1rem}.treatment-list p{color:#c6c8c3}.light{color:#afb3aa}.media-head>p,.video-feature p,.talks-feature p{color:#c5c8c2}
.treatment-link{display:grid;place-items:center;width:44px;height:44px;border:1px solid #969c90;border-radius:50%}.menu-toggle{min-width:44px;min-height:44px;justify-content:center;cursor:pointer}.credentials{gap:1rem}.credentials span,.credentials b{font-size:.875rem}
.guided{display:grid;grid-template-columns:1fr 1fr;gap:5vw;padding:6rem 7vw;align-items:center;background:#eceae4}.guided h2{font:500 clamp(2.3rem,4vw,4rem)/1.12 'Playfair Display',serif;margin:0 0 2rem}.guided h2 em{color:#806335}.guided figure{margin:0}.guided img{height:auto;background:#080908}.guided figcaption{font-size:.8rem;margin-top:.8rem;color:#555d52}
.talks-feature{grid-template-columns:1.2fr 1fr}.talks-feature>img:first-child{aspect-ratio:16/9}.talks-feature>img:last-child{display:none}
.press-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.press-grid article{padding:2rem 1.2rem;display:flex;flex-direction:column}.press-grid p{font-size:1rem;color:#c5c8c2}.press-grid b{font-size:.875rem}.press-grid i{font-size:.875rem;padding-top:1.5rem}.press-grid span{font-size:1.5rem}.magazine-title{margin-top:4rem}.magazine-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:2rem}.magazine-grid a{display:flex;flex-direction:column;align-items:flex-start;padding:2.5rem;background:#f6f4ef;color:#1b1d1b}.magazine-grid b{font:500 2rem/1.2 'Playfair Display',serif;letter-spacing:.05em}.magazine-grid span{font-size:.8rem;margin-top:1.5rem}.magazine-grid h4{font:500 1.7rem/1.25 'Playfair Display',serif;margin:1rem 0}.magazine-grid p{font-size:1rem}.magazine-grid i{font-size:.875rem;font-style:normal;border-bottom:1px solid;margin-top:auto}
.contact address{font-size:1rem;color:#c5c8c2}.contact-card p{color:#c5c8c2}.experience-photo figcaption{font-size:.875rem}.site-header nav{gap:1.4rem}.hero-actions{flex-wrap:wrap}
@media(max-width:1080px){.profile{grid-template-columns:1fr 1fr}.press-grid{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.profile,.guided,.talks-feature,.magazine-grid{grid-template-columns:1fr}.guided{padding:4rem 6vw}.talks-feature>div{grid-row:auto;grid-column:auto}.profile-image{height:580px;max-height:75svh}.hero-image{height:70svh;min-height:440px}.hero-image img{object-position:center 27%}.hero-copy{min-height:auto;padding:8rem 6vw 3.5rem}.site-header nav a{min-height:44px;display:flex;align-items:center}.experience-gallery.curated .experience-photo:nth-child(n){height:auto;aspect-ratio:4/3}.experience-gallery.curated .experience-photo img{height:100%}.experience-columns article{min-width:0}.hero h1{font-size:clamp(3rem,10vw,5rem)}}
@media(max-width:540px){.press-grid{grid-template-columns:1fr}.press-grid article{border-bottom:1px solid rgba(255,255,255,.16)}.hero h1{font-size:clamp(2.75rem,11.5vw,3.8rem)}.hero-image{min-height:360px;height:62svh}.profile h2{font-size:2.8rem}.media-head h2{font-size:2.8rem}.magazine-grid a{padding:1.5rem}.experience-columns article{grid-template-columns:1fr;gap:.5rem}.press-grid a{min-height:220px}.workflow{row-gap:.8rem}.hero-actions .button{width:100%;text-align:center}.profile-image{height:520px}.credentials{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{animation:none}*{transition:none!important}}

/* Full-viewport hero: keep the opening composition balanced on every screen. */
.hero{height:100svh;min-height:680px}
.hero-copy{justify-content:flex-start;padding-top:clamp(8.75rem,17vh,12rem);padding-bottom:4rem}
.hero-image{height:100%;min-height:0}

@media(max-width:900px){
  .hero{height:auto;min-height:100svh;grid-template-rows:auto minmax(42svh,1fr)}
  .hero-copy{min-height:0;padding-top:7.25rem;padding-bottom:2.25rem;justify-content:flex-start}
  .hero-image{height:auto;min-height:42svh}
}

@media(max-width:540px){
  .hero-copy{padding-top:6.5rem;padding-bottom:1.75rem}
  .hero-copy .eyebrow{margin-bottom:1.35rem}
  .hero-copy .lead{margin:1.25rem 0 1.5rem}
  .hero-actions{gap:1rem}
}
