*{box-sizing:border-box}
:root{--edge:48px}
html{font-family:'Lora',Georgia,serif;font-size:16px}
body{margin:0;background:#151515;color:#fff}
a{color:inherit;text-decoration:none}
a:focus-visible,button:focus-visible{outline:2px solid currentColor;outline-offset:6px}
header{position:absolute;inset:0 0 auto;padding:38px var(--edge);display:flex;align-items:center;justify-content:space-between;z-index:2}
.header-logo{display:block;height:40px;width:auto;max-width:40vw;object-fit:contain}
nav a{display:flex;align-items:center;min-height:44px;margin-block:-12px;font-size:16px;line-height:20px}
nav a:hover{text-decoration:underline;text-underline-offset:4px}
.home{height:100svh;overflow:hidden}
.gallery{position:absolute;inset:0;background:#151515;overflow:hidden}
.gallery img{height:100%;width:100%;object-fit:cover;display:block}
.shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.45),transparent 30%,transparent 70%,rgba(0,0,0,.35))}
.center-logo{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(250px,49vw,45svh);height:auto;z-index:1;padding:0;border:0;background:transparent;cursor:pointer;color:white;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.center-logo img{display:block;width:100%;height:auto;pointer-events:none}
.info-page{background:#fff;color:#1d1d1d;min-height:100svh}
.info-page .center-logo{position:fixed;z-index:1000}
.info-content{margin:0;padding:150px var(--edge) 80px;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,4vw,55px)}
.info-content section{min-width:0;overflow-wrap:anywhere}
.info-content h2{font-size:22px;font-weight:500;margin:0 0 26px}
.info-content p,.info-content address{font-style:normal;font-size:16px;line-height:1.8;margin:0 0 22px}
.info-content a{text-decoration:underline;text-underline-offset:4px}
.info-content .example-note{font-size:14px;color:#666}
@media(max-width:900px){.info-content{grid-template-columns:1fr;gap:35px;padding-top:125px;padding-bottom:50px}}
@media(max-width:600px){:root{--edge:22px}header{padding-block:25px}}
@keyframes logo-pulse{0%,28%,55%,100%{transform:translate(-50%,-50%) scale(1)}14%{transform:translate(-50%,-50%) scale(1.12)}40%{transform:translate(-50%,-50%) scale(1.07)}}
.center-logo.logo-pulse{animation:logo-pulse 1.4s ease-in-out 2}
@media(prefers-reduced-motion:reduce){.center-logo.logo-pulse{animation:none}}

header .header-logo{position:fixed;top:38px;left:var(--edge);z-index:1001}
@media(max-width:600px){header .header-logo{top:25px}}
header{z-index:1001}
.home nav{margin-left:auto}
