*{box-sizing:border-box;margin:0;padding:0}
:root{--ink:#1f1f21;--mute:#55555a;--line:#d8d8dc;--bg:#f4f4f5;--tile:#ebebec;--pad:clamp(20px,4vw,56px);--max:1360px}
html{scroll-behavior:smooth}
body{font-family:Outfit,Inter,system-ui,sans-serif;font-weight:300;font-size:16px;line-height:1.55;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:3px}
img{display:block;max-width:100%;height:auto}
.top{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:18px var(--pad);background:rgba(244,244,245,.9);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.logo{font-size:1.2rem;letter-spacing:.08em;text-transform:uppercase}
nav{display:flex;gap:28px;color:var(--mute)}nav a:hover{color:var(--ink)}
section{max-width:var(--max);margin:0 auto clamp(80px,12vw,160px);padding:0 var(--pad)}
h2{font-size:.8rem;font-weight:400;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin-bottom:28px}
.hero{display:grid;grid-template-columns:1fr 2fr;gap:clamp(24px,4vw,64px);align-items:end;padding-top:clamp(40px,7vw,96px)}
.hero h1{font-size:clamp(3.6rem,8vw,7.5rem);font-weight:200;line-height:.92;letter-spacing:-.04em}
.hero-img img{width:100%;border-radius:10px}
.hero-sub{grid-column:2;color:var(--mute);font-size:.95rem;margin-top:-12px}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2.4vw,32px)}
.frame{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:4/5;background:var(--tile);border:0;border-radius:10px;padding:clamp(10px,1.4vw,20px);cursor:zoom-in;transition:background .2s}
.frame:hover{background:#e2e2e4}
.frame:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.frame img{max-height:100%;width:auto;object-fit:contain}
figcaption{margin-top:10px;font-size:.9rem;color:var(--mute)}
.foot{display:flex;justify-content:space-between;padding:28px var(--pad);font-size:.85rem;color:var(--mute);border-top:1px solid var(--line)}
.lightbox{position:fixed;inset:0;background:rgba(244,244,245,.97);z-index:50;display:flex;align-items:center;justify-content:center}
.lightbox[hidden]{display:none}
.lb-body img{max-width:90vw;max-height:86vh;width:auto;height:auto}
.lb-close{position:absolute;top:14px;right:var(--pad);background:none;border:0;font-size:32px;cursor:pointer;color:var(--ink)}

/* About */
.about-body{display:grid;grid-template-columns:repeat(12,1fr);column-gap:clamp(16px,2.4vw,32px);row-gap:clamp(48px,6vw,88px)}
.statement{grid-column:1 / span 9;font-size:clamp(2rem,4.4vw,4rem);font-weight:200;line-height:1.08;letter-spacing:-.025em}
.about-facts{grid-column:4 / span 9;display:grid;gap:clamp(40px,5vw,64px)}
.fact-block h3{font-size:.75rem;font-weight:400;letter-spacing:.16em;text-transform:uppercase;color:var(--mute);margin-bottom:18px}
.rows{list-style:none}
.rows li{display:grid;grid-template-columns:7.5rem 1fr;gap:20px;padding:9px 0;font-size:1.02rem}
.rows .yr{color:var(--mute);font-variant-numeric:tabular-nums}
.cities{max-width:none;font-size:clamp(1.15rem,1.8vw,1.5rem);font-weight:200;line-height:1.5}
.cities i{font-style:normal;color:#a3a3a8;margin:0 .35em}
.cities .note{white-space:nowrap;font-size:.62em;font-weight:300;color:var(--mute);letter-spacing:.02em}
/* Contact */
.contact{padding-bottom:20px}
.place{margin-top:18px;color:var(--mute);letter-spacing:.06em}
@media (max-width:760px){
  .statement,.about-facts{grid-column:1/-1}
  .rows li{grid-template-columns:6rem 1fr;gap:12px;font-size:.98rem}
  nav{gap:16px;font-size:.95rem}.logo{font-size:1rem}
  .hero{grid-template-columns:1fr}.hero-sub{grid-column:auto;margin-top:0}
  .grid{grid-template-columns:repeat(2,1fr)}.item-wide{grid-column:span 2}.item-wide .frame{aspect-ratio:16/9}
}
.size:empty{display:none}

@media (max-width:760px){figcaption,.size{font-size:.68rem;line-height:1.3;margin-top:6px}}
.pdf-btn{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;margin:-8px 0;border-radius:50%;background:#111;color:#fff!important;font-size:.65rem;font-weight:500;letter-spacing:.06em}.pdf-btn:hover{background:#333}
@media (max-width:760px){.pdf-btn{width:29px;height:29px;margin:-5px 0;font-size:.56rem}}
.dl-page{min-height:60vh;padding-top:clamp(60px,10vw,140px)}.dl-page .mute{color:var(--mute)}
.dl-link{font-size:clamp(1.05rem,2.4vw,1.6rem);border-bottom:1px solid var(--line)}.dl-link:hover{border-color:var(--ink)}

.contact-form{margin-top:36px;max-width:420px;display:grid;gap:18px}
.contact-form label{display:grid;gap:6px;font-size:.75rem;font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
.contact-form input,.contact-form textarea{font:inherit;font-size:1rem;letter-spacing:0;text-transform:none;color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--line);padding:10px 0;resize:vertical;width:100%}
.contact-form input:focus,.contact-form textarea:focus{outline:none;border-bottom-color:var(--ink)}
.contact-form button{justify-self:start;margin-top:6px;font:inherit;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:#fff;background:var(--ink);border:0;border-radius:999px;padding:12px 28px;cursor:pointer}
.contact-form button:hover{background:#333}
.contact-form button:disabled{opacity:.55;cursor:wait}
.contact-form .hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.form-status{font-size:.95rem;letter-spacing:0;text-transform:none;color:var(--mute);margin:0}
.form-status.ok{color:#2a6b3a}
.form-status.err{color:#8a3030}
.place{margin-top:0}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.install-btn{position:fixed;right:20px;bottom:20px;z-index:50;width:52px;height:52px;border-radius:50%;border:0;background:#111;color:#f4f4f5;font:inherit;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;box-shadow:0 4px 16px rgba(0,0,0,.18)}
.install-btn:hover{background:#333}
.install-hint{position:fixed;right:20px;bottom:82px;z-index:50;background:#111;color:#f4f4f5;font-size:.78rem;padding:10px 14px;border-radius:10px;max-width:240px}
@media (max-width:760px){.install-btn{width:44px;height:44px;right:14px;bottom:14px;font-size:.6rem}.install-hint{right:14px;bottom:66px}}
