:root{color-scheme:light;--ink:#161616;--muted:#485054;--line:#e5e6e6;--bg:#fff;--gap:16px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
button,a{-webkit-tap-highlight-color:transparent}
button{font:inherit}
a{color:inherit}
.masthead{height:78px;padding:0 max(36px,calc((100vw - 1500px)/2 + 36px));display:flex;justify-content:space-between;align-items:center;font-size:12px;letter-spacing:.12em;font-weight:700;text-transform:uppercase}
.masthead span:last-child{color:#7a7a7a;font-size:11px;letter-spacing:.13em}
.hero{max-width:1120px;text-align:center;margin:104px auto 33px;padding:0 25px}
.wordmark{font-family:Arial,Helvetica,sans-serif;font-size:clamp(100px,14.8vw,204px);font-weight:800;letter-spacing:-.085em;line-height:.79;margin:0;padding-right:.09em;color:#131313}
.description{max-width:880px;margin:128px auto 0;color:#424a4b;font-size:clamp(16px,1.4vw,20px);font-weight:400;line-height:1.72;text-wrap:balance}
.gallery{width:100%;overflow:hidden;padding:0 0 7px}
.ticker{width:100vw;overflow:hidden;margin-bottom:16px;cursor:default}
.ticker-track{display:flex;width:max-content;will-change:transform;animation:float-left 47s linear infinite}
.ticker--right .ticker-track{animation-name:float-right;animation-duration:53s}
.ticker:hover .ticker-track,.ticker:focus-within .ticker-track{animation-play-state:paused}
.ticker-set{display:flex;gap:var(--gap);padding-right:var(--gap);flex:0 0 auto}
.photo-tile{display:block;position:relative;flex:0 0 auto;border:0;padding:0;border-radius:22px;overflow:hidden;width:clamp(240px,26.4vw,430px);height:clamp(212px,21.4vw,347px);background:#eff0f1;cursor:zoom-in;box-shadow:none;isolation:isolate}
.photo-tile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease;position:relative;z-index:1;background:#efefef}
.photo-tile:hover img,.photo-tile:focus-visible img{transform:scale(1.04)}
.photo-tile:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.photo-tile.image-error{background:linear-gradient(135deg,#e8e7e4,#f6f6f5 55%,#dbdbd9)}
.photo-tile.image-error img{display:none}
.photo-fallback{position:absolute;inset:0;display:grid;place-items:center;color:#b0b0b0;font-size:62px;font-weight:800;letter-spacing:-.09em}
@keyframes float-left{to{transform:translateX(-50%)}}
@keyframes float-right{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.gallery-empty{text-align:center;color:#777;margin:40px auto}
.footer{width:min(1350px,calc(100% - 108px));margin:104px auto 45px;border-top:1px solid var(--line)}
.footer-head{display:flex;justify-content:space-between;padding:24px 0 35px;font-size:11px;color:#737373;letter-spacing:.16em;font-weight:700}
.contacts{display:grid;grid-template-columns:1.14fr 1fr .95fr;gap:42px;align-items:start}
.contact{font-size:clamp(17px,2.1vw,28px);line-height:1.27;text-decoration:none;letter-spacing:-.045em;font-weight:650;display:inline-flex;align-items:flex-start;justify-content:space-between;gap:9px;max-width:max-content;border-bottom:1px solid transparent;padding-bottom:8px;transition:border-color .2s ease}
.contact:hover{border-color:var(--ink)}
.contact span{font-weight:400;line-height:1;font-size:17px;margin:1px 0 0 2px}
.contact--address{font-size:clamp(16px,1.74vw,23px);letter-spacing:-.035em}
.lightbox[hidden]{display:none}
.lightbox{position:fixed;z-index:50;inset:0;background:rgba(15,15,15,.95);display:grid;grid-template-columns:75px minmax(0,1fr) 75px;place-items:center;padding:60px 15px;overscroll-behavior:contain}
.lightbox-photo{grid-column:2;width:100%;height:100%;max-width:1400px;max-height:82vh;object-fit:contain}
.lightbox button{border:0;background:transparent;color:#fff;cursor:pointer}
.lightbox-close{position:absolute;top:12px;right:32px;font-size:44px;line-height:1.2;width:55px;height:55px}
.lightbox-arrow{font-size:35px;width:50px;height:55px}
.lightbox-prev{grid-column:1;grid-row:1}
.lightbox-next{grid-column:3;grid-row:1}
.lightbox-counter{position:absolute;bottom:27px;font-size:12px;letter-spacing:.17em;color:#bbb}
body.lightbox-open{overflow:hidden}
@media(max-width:800px){.masthead{height:66px;padding:0 22px}.hero{margin:90px auto 28px;padding:0 18px}.wordmark{font-size:clamp(102px,18vw,155px)}.description{max-width:600px;margin-top:96px;font-size:17px;line-height:1.62}.photo-tile{width:clamp(244px,45vw,350px);height:clamp(215px,40vw,295px);border-radius:17px}.ticker{margin-bottom:12px}.footer{width:calc(100% - 48px);margin:75px auto 30px}.contacts{grid-template-columns:1fr 1fr;gap:25px}.contact--address{grid-column:1/-1}.contact{font-size:23px}.contact--address{font-size:22px}}
@media(max-width:530px){.masthead{height:58px;padding:0 21px;font-size:11px}.masthead span:last-child{font-size:9px}.hero{margin:95px auto 29px}.wordmark{font-size:clamp(93px,22vw,132px);letter-spacing:-.084em}.description{margin:94px auto 0;padding:0 4px;font-size:16px;line-height:1.67}.ticker{margin-bottom:10px}.ticker-set{gap:10px;padding-right:10px}.photo-tile{width:73vw;height:64vw;min-width:247px;min-height:224px;border-radius:16px}.footer{width:calc(100% - 40px);margin:63px auto 29px}.footer-head{padding:19px 0 24px;font-size:10px}.contacts{display:flex;flex-direction:column;align-items:flex-start;gap:19px}.contact,.contact--address{font-size:23px}.lightbox{grid-template-columns:40px minmax(0,1fr) 40px;padding:48px 5px}.lightbox-arrow{font-size:28px;width:40px}.lightbox-close{right:8px;top:7px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ticker-track{animation-duration:140s}.photo-tile img{transition:none}}
