html,body{margin:0;background:#f5f3ef;color:#1a1917;font-family:'Newsreader',Georgia,serif;font-size:16px;-webkit-font-smoothing:antialiased}
*,*::before,*::after{box-sizing:border-box}
a{color:#1a1917;text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
::selection{background:#1a1917;color:#f5f3ef}
.page{min-height:100vh;display:flex;flex-direction:column}
.bar{display:flex;align-items:baseline;justify-content:space-between;gap:24px;flex-wrap:wrap;padding:22px clamp(20px,5vw,80px);font-size:15px}
.bar nav{display:flex;gap:clamp(16px,2.4vw,32px);flex-wrap:wrap;color:#6f6b64}
.bar nav a{color:inherit}
.bar nav a:hover,.bar nav a[aria-current]{color:#1a1917}
.title{padding:clamp(24px,6vh,72px) clamp(20px,5vw,80px) 40px}
h1{margin:0;font-weight:300;font-size:clamp(34px,4vw,56px);line-height:1;letter-spacing:-0.01em}
.grid{padding:0 clamp(20px,5vw,80px) clamp(40px,8vh,96px);display:grid;gap:40px clamp(20px,2.5vw,36px);grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}
.grid.wide{grid-template-columns:repeat(auto-fill,minmax(min(100%,420px),1fr));gap:48px clamp(24px,3vw,48px)}
.tile{position:relative;display:block;width:100%;aspect-ratio:3/2;padding:0;border:0;background:#e8e5df;overflow:hidden;cursor:pointer}
.tile.wide{aspect-ratio:2.39}
.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.foot{margin-top:auto;display:flex;justify-content:space-between;gap:16px 24px;flex-wrap:wrap;padding:24px clamp(20px,5vw,80px) 26px;font-size:14px;color:#6f6b64}
.foot a{color:inherit}
.foot div{display:flex;gap:24px;flex-wrap:wrap}
body.home{background:#1a1917;color:#f5f3ef;overflow:hidden}
.stage{position:relative;height:100vh;min-height:480px;overflow:hidden;background:#1a1917;cursor:pointer}
.slide{position:absolute;inset:0;opacity:0;transition:opacity 1.8s ease;pointer-events:none}
.slide.on{opacity:1;pointer-events:auto}
.slide img,.slide video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;background:#1a1917}
.shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(to bottom,rgba(0,0,0,.34),rgba(0,0,0,.12) 14%,transparent 26%,transparent 82%,rgba(0,0,0,.3))}
.stage .bar{position:absolute;left:0;right:0;top:0;display:grid;grid-template-columns:1fr auto 1fr;color:#f5f3ef;text-shadow:0 1px 2px rgba(0,0,0,.45),0 0 18px rgba(0,0,0,.25);cursor:auto}
.stage .bar a,.stage .bar nav{color:#f5f3ef}
.stage .bar nav{justify-content:center}
.stage .bar a:hover{text-decoration:underline;text-underline-offset:4px}
.cap{position:absolute;right:0;bottom:0;padding:0 clamp(20px,5vw,80px) 24px;font-size:14px;color:rgba(245,243,239,.85);text-shadow:0 1px 2px rgba(0,0,0,.45)}
.overlay{position:fixed;inset:0;z-index:30;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:16px;padding:22px clamp(20px,5vw,80px) 26px;background:rgba(245,243,239,.98);color:#1a1917;cursor:pointer}
.overlay.dark{background:#1a1917;color:#f5f3ef;grid-template-rows:auto minmax(0,1fr)}
.overlay-top,.overlay-bottom{display:flex;justify-content:space-between;gap:16px;font-size:15px}
.overlay-top.end{justify-content:flex-end}
.overlay .muted{color:#6f6b64}
.overlay.dark .muted{color:rgba(245,243,239,.7)}
.overlay-box{position:relative;min-height:0}
.overlay.dark .overlay-box{cursor:default}
.overlay-box img,.overlay-box video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block}
.overlay button.plain{font:inherit;color:#6f6b64;background:none;border:0;padding:0;cursor:pointer}
.overlay button.plain:hover{color:#1a1917}
.about{padding:clamp(24px,6vh,72px) clamp(20px,5vw,80px) clamp(48px,10vh,112px);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:40px clamp(32px,6vw,112px);align-items:start}
.about .text{display:flex;flex-direction:column;gap:28px;max-width:60ch}
.about .text div{display:flex;flex-direction:column;gap:16px;font-size:18px;line-height:1.6;text-wrap:pretty}
.about p{margin:0}
.about .text a{border-bottom:1px solid rgba(26,25,23,.3)}
.portrait{position:relative;aspect-ratio:4/5;max-width:460px;width:100%;justify-self:end;background:#e8e5df;overflow:hidden}
.portrait img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.contact{margin-top:auto;padding:clamp(28px,5vh,48px) clamp(20px,5vw,80px) clamp(40px,8vh,80px);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:28px clamp(32px,6vw,112px);align-items:start;border-top:1px solid rgba(26,25,23,.14)}
.contact h2{margin:0;font-weight:300;font-size:clamp(28px,3vw,40px);line-height:1;letter-spacing:-0.01em}
.contact dl{margin:0;display:grid;grid-template-columns:max-content minmax(0,1fr);gap:12px 32px;font-size:17px;line-height:1.5}
.contact dt{color:#6f6b64}
.contact dd{margin:0}
