/* Local design study: shared header + integrated home banner. */
:root{--paper:#eae7df;--ink:#171715;--nav:150px;--banner-pad:clamp(22px,4.5vw,84px)}
.editorial-header.topbar,.home .editorial-header.topbar,.home .editorial-header.topbar.scrolled{height:var(--nav);display:block;padding:0;background:var(--paper);color:var(--ink);border:0;z-index:30}
.editorial-header .masthead{height:96px;margin:0 var(--banner-pad);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid #17171526}
.editorial-header .signature{justify-self:start;font:400 10px/1.7 Inter,Arial,sans-serif;letter-spacing:.12em}.signature span{display:block;font-size:10px;color:#65635d;letter-spacing:.03em}
.editorial-header .wordmark{font:850 23px/.96 Inter,Arial,sans-serif;letter-spacing:-.07em;text-align:center}.wordmark>span{display:block}.brand-dot{margin-left:2px}
.masthead-note{justify-self:end;font-size:9px;letter-spacing:.13em;line-height:1.7}.editorial-header .menu-toggle{display:none}
.editorial-header.topbar nav{height:54px;display:flex;justify-content:center;align-items:center;gap:clamp(14px,2vw,36px);padding:0 var(--banner-pad);font:400 10px/1.4 Inter,Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase}
.editorial-header nav>a,.editorial-header summary{padding:20px 0;white-space:nowrap;cursor:pointer}.editorial-header summary{display:flex;gap:7px;align-items:center}.editorial-header summary span{font-size:12px}.editorial-header details[open] summary span{transform:rotate(45deg)}
.editorial-header .nav-panel{top:100%;left:var(--banner-pad);right:var(--banner-pad);max-width:none;background:#f2efe8;border:1px solid #17171526;padding:28px 32px;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 30px;box-shadow:0 16px 25px #00000008}
.editorial-header .nav-panel a{font:400 10px/1.6 Inter,Arial,sans-serif;letter-spacing:.12em;padding:13px 0;border-bottom:1px solid #17171526;white-space:normal}
.editorial-header nav a:hover,.editorial-header summary:hover{color:#65635d}
.banner{position:relative;isolation:isolate;container-type:size;min-height:620px;height:calc(100svh - var(--nav));max-height:960px;overflow:hidden;background:var(--paper);color:var(--ink)}
.banner .hero-note{position:absolute;top:7%;left:var(--banner-pad);z-index:4;display:flex;flex-direction:column;gap:4px}.banner .micro{font:400 9px/1.8 Inter,Arial,sans-serif;letter-spacing:.16em}.banner .hero-note i{height:1px;width:24px;background:var(--ink);margin-top:9px}
/* The height cap prevents the title escaping low or wide banners. */
.banner h1{position:absolute;z-index:1;top:18%;left:5%;width:90%;margin:0;display:flex;flex-direction:column;align-items:center;font-family:Oswald,'Arial Narrow',sans-serif;font-weight:700;line-height:.82;letter-spacing:-.045em}
.banner h1 span{display:block;position:static;white-space:nowrap}
.banner h1 .title-the{align-self:flex-start;margin-left:4%;font-size:min(5cqw,7.5cqh);line-height:.95;letter-spacing:-.035em}
.banner h1 .title-walking{font-size:min(25cqw,43cqh);line-height:.82;letter-spacing:-.045em}
.banner h1 .title-photographer{font-size:min(13.6cqw,23.4cqh);line-height:.82;letter-spacing:-.045em;margin-top:.04em}
.banner .hero-person{position:absolute;z-index:3;height:92%;width:auto;max-width:none;bottom:5%;left:57%;transform:translateX(-50%);object-fit:contain;pointer-events:none}
.banner .ground-shadow{position:absolute;z-index:2;bottom:6.5%;left:57%;transform:translateX(-50%);width:56cqh;height:20px;border-radius:50%;background:radial-gradient(ellipse at 23% 50%,#24211c70 0%,#24211c2e 17%,transparent 39%),radial-gradient(ellipse at 79% 50%,#24211c80 0%,#24211c33 17%,transparent 39%),radial-gradient(ellipse at center,#24211c1f,transparent 70%);filter:blur(4px)}
.banner .hero-actions{position:absolute;left:var(--banner-pad);bottom:13%;z-index:5;display:flex;gap:22px;align-items:center}
.banner .button,.banner .quiet-link,.banner .hero-caption a{font:400 10px/1.5 Inter,Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase}
.banner .button{display:inline-flex;align-items:center;gap:22px;background:var(--ink);color:var(--paper);padding:17px 20px;transition:background .2s}.banner .button:hover{background:#3e3c36}
.banner .button span,.banner .quiet-link span,.banner .hero-caption a span{font-size:16px;line-height:1}
.banner .quiet-link{padding:8px 0;border-bottom:1px solid var(--ink);display:inline-flex;gap:18px;align-items:center}
.banner .hero-caption{position:absolute;right:var(--banner-pad);bottom:14%;z-index:4;text-align:right}.banner .hero-caption p{font-size:16px;letter-spacing:-.025em;margin:9px 0 20px}.banner .hero-caption a{display:inline-flex;gap:18px;align-items:center;border-bottom:1px solid var(--ink);padding-bottom:6px}
.banner .hero-bottom{position:absolute;bottom:0;left:var(--banner-pad);right:var(--banner-pad);height:44px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #17171526;font:400 8px/1.4 Inter,Arial,sans-serif;letter-spacing:.14em;z-index:5}.banner .hero-bottom a{text-transform:uppercase;display:flex;align-items:center;gap:16px}.banner .hero-bottom a span{font-size:15px}
.home .home-feature{padding-top:64px}#portfolio{scroll-margin-top:calc(var(--nav) + 24px)}
@media(max-width:1280px){:root{--nav:90px}.editorial-header .masthead{height:90px}.masthead-note{display:none}.editorial-header .menu-toggle{display:flex;align-items:center;gap:16px;justify-self:end;padding:16px 0;font:400 10px/1.4 Inter,Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase}.menu-toggle span{font-size:23px}.editorial-header.topbar nav{display:none}.menu-open .editorial-header.topbar{background:var(--paper)!important;color:var(--ink)!important}.menu-open .editorial-header nav{display:flex;position:fixed;inset:var(--nav) 0 0;height:auto;padding:20px var(--banner-pad) 60px;background:var(--paper);overflow:auto;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;font-size:17px}.menu-open .menu-toggle span{transform:rotate(45deg)}.editorial-header nav>a,.editorial-header summary{padding:16px 0;border-bottom:1px solid #17171526;font:400 17px/1.4 Inter,Arial,sans-serif;letter-spacing:.12em}.editorial-header summary{justify-content:space-between}.editorial-header .nav-panel{position:static;border:0;box-shadow:none;padding:6px 0 20px 18px;grid-template-columns:1fr 1fr;gap:0 20px;background:none}.editorial-header .nav-panel a{font-size:11px}.banner .hero-person{height:89%;left:56%;bottom:7%}.banner .ground-shadow{left:56%;bottom:8.4%;width:54cqh}.banner .hero-actions{flex-direction:column;align-items:flex-start;gap:14px;bottom:15%}.banner .hero-caption{bottom:16%;max-width:160px}.banner .hero-caption p{font-size:14px}.banner h1{top:25%}}
@media(max-width:640px){:root{--nav:80px}.editorial-header .masthead{height:80px;grid-template-columns:1fr auto}.editorial-header .signature{display:none}.editorial-header .wordmark{justify-self:start;text-align:left;font-size:20px}.editorial-header .nav-panel{grid-template-columns:1fr}.banner{min-height:620px;max-height:850px}.banner .hero-note{top:4%;gap:2px}.banner .micro{font-size:8px}.banner h1{top:28%;left:4%;width:92%}.banner h1 .title-the{font-size:min(12cqw,8cqh);margin-left:0;margin-bottom:.04em}.banner h1 .title-walking{font-size:min(25.5cqw,35cqh)}.banner h1 .title-photographer{font-size:min(13.7cqw,19cqh);margin-top:.08em}.banner .hero-person{height:73%;bottom:19%;left:58%}.banner .ground-shadow{left:58%;bottom:20.1%;width:44cqh;height:15px;filter:blur(3px)}.banner .hero-actions{left:var(--banner-pad);right:var(--banner-pad);bottom:8.5%;flex-direction:row;gap:18px;align-items:center}.banner .button{font-size:8px;padding:15px;gap:10px}.banner .quiet-link{font-size:8px;gap:8px}.banner .hero-caption{display:none}.banner .hero-bottom{font-size:6.5px;height:36px}.home .home-feature{padding-top:40px}}
@media(prefers-reduced-motion:reduce){.banner *{transition:none!important}}

/* Revision 02: one-line wordmark and recurring warm paper surfaces. */
.editorial-header .wordmark{display:block;white-space:nowrap;font-size:23px;line-height:1.1;letter-spacing:-.065em}
.editorial-header .wordmark .brand-dot{display:inline;font:inherit;letter-spacing:inherit}
.banner h1{--walking-font:min(25cqw,43cqh)}
.banner h1 .title-walking{font-size:var(--walking-font)}
.banner h1 .title-the{align-self:center;width:calc(3.387 * var(--walking-font));margin:0 0 -.12em;line-height:.85}
footer{background:var(--paper);color:var(--ink);border-color:#17171526}
.home .editorial-section{background:var(--paper);color:var(--ink);border-top:0;margin-top:32px;margin-bottom:48px}
.home .editorial-section .prose{color:#30302c}
.editorial-body>.copy-section:first-child{background:var(--paper);padding:32px;gap:32px}
.editorial-header .nav-panel{background:var(--paper)}
.editorial-header .nav-panel a:hover,.editorial-header .nav-panel a:focus-visible{background:#ded9ce;color:var(--ink)}
.prose a:not(.solid-button):hover,.text-link:hover,.guide-list a:hover,footer a:hover{background:var(--paper);color:var(--ink)}
footer a:hover{background:#ded9ce}
.solid-button:hover{background:var(--paper);color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.view-options button:hover,.view-options button:focus-visible{background:var(--paper);color:var(--ink)}
@media(max-width:640px){.editorial-header .masthead{column-gap:12px}.editorial-header .wordmark{font-size:clamp(11px,3.5vw,20px);letter-spacing:-.065em}.editorial-header .menu-toggle{gap:8px}.banner h1{--walking-font:min(25.5cqw,35cqh)}.banner h1 .title-the{margin:0 0 -.12em}.editorial-body>.copy-section:first-child{padding:24px 20px;gap:20px}.home .editorial-section{margin-top:20px;margin-bottom:32px}}

/* Revision 03: portfolio photograph at its natural aspect ratio, without bands. */
.home-feature .card-image,.home-feature .card-image img{background:transparent}
.home-feature .card-image img{max-height:none;width:100%;height:auto;object-fit:contain}

/* Hero title entrance: the portrait and shadow remain still. */
.hero-intro-enabled .banner h1{opacity:0;transition:opacity 1.5s ease-in-out}
.hero-intro-enabled .banner.hero-title-visible h1{opacity:1}
@media(prefers-reduced-motion:reduce){.hero-intro-enabled .banner h1{opacity:1;transition:none}}
