:root{--paper:#fbf9f9;--ink:#1b1c1c;--muted:#747474}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}header{padding:29px 5%;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid #dfdbdb;background:var(--paper);position:sticky;top:0;z-index:10}.brand{font-family:"Times New Roman",Times,serif;font-size:clamp(23px,2.7vw,43px);letter-spacing:-1.7px;white-space:nowrap}nav{display:flex;gap:23px}nav a,footer,small,.eyebrow,.back{font-size:11px;letter-spacing:1.1px}nav a{padding:8px 0;color:#666}nav a.active{border-bottom:1px solid var(--ink);color:var(--ink)}#menu{display:none;background:none;border:0}.hero{height:calc(100svh - 108px);min-height:480px;max-height:1000px;position:relative;display:grid;place-items:center;color:white;text-align:center}.hero>img{position:absolute;width:100%;height:100%;object-fit:cover}.hero:after{content:'';position:absolute;inset:0;background:#0002}.hero-text{position:relative;z-index:1;padding:20px}.hero h1{font:400 clamp(36px,4.7vw,72px)/1.12 "Times New Roman",Times,serif;margin:0 0 25px}.hero p{font:16px "Times New Roman",Times,serif}.scroll{position:absolute;bottom:42px;z-index:1;font-size:10px;letter-spacing:2px;line-height:2.5}.wrap{max-width:1600px;margin:auto;padding:75px 5% 100px}.intro{max-width:850px;margin:35px 0 45px}h1,h2{font-family:"Times New Roman",Times,serif;font-weight:400;letter-spacing:-1.6px}h1{font-size:clamp(42px,4.6vw,68px);line-height:1.06;margin:15px 0 22px}h2{font-size:clamp(30px,3vw,44px);margin:16px 0}.intro p,.about p{color:#666;line-height:1.8;font-size:15px;max-width:670px}.back{display:inline-block;color:#777;padding:10px 0}.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:55px 30px}.card{display:block}.card img{width:100%;height:390px;object-fit:cover;display:block;transition:opacity .25s}.card:hover img{opacity:.85}.card small{display:block;margin:18px 0 9px;color:#777}.card h2{margin:0;font-size:32px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:30px 24px}.photo{border:0;background:none;padding:0;width:100%;text-align:left}.photo img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.photo span{display:flex;justify-content:space-between;font-size:10px;color:#777;margin-top:13px;letter-spacing:1px}.photo:hover img{opacity:.88}.about{max-width:830px;padding:40px 0 100px}.about p{font-size:18px}.text-link{display:inline-block;border-bottom:1px solid #333;padding:12px 0;margin-top:20px}.note{color:#777;line-height:1.7}footer{padding:40px 5%;border-top:1px solid #ddd;display:flex;align-items:center;justify-content:space-between;gap:20px}footer .brand{font-size:27px}footer span{color:#777;font-size:10px}dialog{border:0;padding:60px;background:#111;width:100vw;height:100svh;max-width:none;max-height:none;color:white}dialog[open]{display:flex;align-items:center;justify-content:center}dialog::backdrop{background:#111}dialog img{max-width:calc(100vw - 160px);max-height:calc(100svh - 120px);object-fit:contain}dialog button{position:absolute;background:transparent;border:0;color:white;font-size:28px;padding:15px}#close{top:10px;right:18px}#prev{left:12px}#next{right:12px}#count{position:absolute;bottom:12px;font-size:12px;color:#aaa}a:focus-visible,button:focus-visible{outline:2px solid #888;outline-offset:6px}@media(min-width:1450px){nav{gap:30px}}@media(max-width:1100px){header .brand{font-size:30px}nav{gap:13px}nav a{font-size:10px}}@media(max-width:760px){header{padding:23px 6%;flex-wrap:wrap}header .brand{font-size:25px}#menu{display:block;font-size:12px}nav{display:none;width:100%;flex-wrap:wrap;gap:15px 23px;padding:16px 0}nav.open{display:flex}.hero{height:80svh}.wrap{padding:40px 6% 70px}.cards{grid-template-columns:1fr;gap:35px}.card img{height:300px}.gallery{grid-template-columns:repeat(2,1fr);gap:22px 12px}.intro{margin-top:25px}.intro p{font-size:14px}footer{flex-direction:column;align-items:flex-start;padding:35px 6%}dialog{padding:40px}dialog img{max-width:calc(100vw - 60px)}#prev{left:0}#next{right:0}.photo span{font-size:8px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* Typography matched to the supplied first-page reference. */
body{font-weight:400;font-synthesis:none;-webkit-font-smoothing:antialiased}
.brand,h1,h2{font-weight:400}
nav,footer,.scroll,.hero p{font-family:"Times New Roman",Times,serif;font-weight:400}
.brand{font-size:clamp(28px,4.4vw,64px);letter-spacing:-1.28px;line-height:1.1}
header{padding-top:32px;padding-bottom:32px}
nav a{font-size:12px;letter-spacing:1.2px}
.hero h1{font-size:clamp(40px,4.4vw,64px);line-height:1.1;letter-spacing:-1.28px;font-weight:400}
.hero p{font-size:18px;font-weight:400}
footer .brand{font-size:40px;letter-spacing:-.4px}
@media(max-width:1200px){header .brand{font-size:40px}nav{gap:16px}}
@media(max-width:1000px) and (min-width:761px){header .brand{font-size:32px}nav{gap:12px}nav a{font-size:10px}}
@media(max-width:760px){header .brand{font-size:28px}header{padding-top:23px;padding-bottom:23px}footer .brand{font-size:28px}.hero p{font-size:16px}}

.directions-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;margin-top:110px}.directions-grid img{display:block;width:100%;aspect-ratio:1.5;object-fit:cover}.directions-grid a:hover img{opacity:.88}@media(max-width:760px){.directions-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:45px}}@media(max-width:460px){.directions-grid{grid-template-columns:1fr}}

.directions-grid a{position:relative}.direction-label{display:block;margin-top:16px;color:var(--ink);font:400 24px/1.3 "Times New Roman",Times,serif;letter-spacing:-.4px}.stories-page>.intro{text-align:center;margin:0 auto 95px;max-width:780px}.stories-page>.intro p{margin:24px auto 0;max-width:720px}.story-cards{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:80px 26px}.story-card{grid-column:span 2}.story-card:nth-child(4){grid-column:2/span 2}.story-card:nth-child(5){grid-column:4/span 2}.story-cover{aspect-ratio:388/292;background-image:url('assets/stories-reference.jpg');background-size:354.64% 618.15%;background-repeat:no-repeat}.story-card h2{font-size:24px;letter-spacing:-.4px;margin:20px 0 12px}.story-card p{font-size:15px;line-height:1.7;color:#666;margin:0}.story-card:hover .story-cover{opacity:.88}@media(max-width:760px){.story-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 18px}.story-card,.story-card:nth-child(4),.story-card:nth-child(5){grid-column:auto}.stories-page>.intro{margin-bottom:45px}.story-card h2{font-size:21px}.direction-label{font-size:21px;margin-top:12px}}@media(max-width:460px){.story-cards{grid-template-columns:1fr}}

/* Place the cover motto on the right side of the photograph. */
.hero-text{justify-self:end;width:min(680px,62vw);margin-right:5%;padding:20px 0;text-align:right}
@media(max-width:760px){.hero-text{width:88%;margin-right:6%}.hero h1{font-size:clamp(32px,6vw,40px)}}

.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:9%;padding:30px 0 60px}.contact-layout p{color:#666;line-height:1.8;max-width:400px}#contact-form{display:flex;flex-direction:column;gap:12px}#contact-form label{font-size:12px;letter-spacing:1px;margin-top:15px}#contact-form label span{color:#888}#contact-form input,#contact-form textarea{font:400 16px 'DM Sans',sans-serif;background:transparent;color:var(--ink);border:1px solid #cfcaca;border-radius:0;padding:13px;width:100%}#contact-form input:focus,#contact-form textarea:focus{outline:1px solid #333;outline-offset:1px}#contact-form textarea{resize:vertical}#contact-form button{align-self:flex-start;background:#1b1c1c;color:#fff;border:1px solid #1b1c1c;padding:16px 28px;margin-top:18px;font-size:13px;letter-spacing:.7px}#contact-form button:disabled{opacity:.55;cursor:wait}.contact-trap{position:absolute;left:-10000px;overflow:hidden;width:1px;height:1px}.contact-status{min-height:26px;margin:5px 0}.contact-privacy{color:#888;line-height:1.6;font-size:10px;letter-spacing:0}@media(max-width:760px){.contact-layout{grid-template-columns:1fr;gap:25px;padding-top:0}}

.gallery-borders .photo img{aspect-ratio:auto;height:auto;object-fit:contain}

.gallery-piano .photo img{aspect-ratio:auto;height:auto;object-fit:contain}

.gallery-ballet .photo img{aspect-ratio:auto;height:auto;object-fit:contain}

.travel-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 26px}.travel-cards .card img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain}.travel-upcoming{align-self:end;padding:24px 0;border-top:1px solid #dfdbdb;color:var(--muted)}.travel-upcoming h2{margin:0 0 14px;font-size:32px}@media(max-width:760px){.travel-cards{grid-template-columns:1fr;gap:35px}}

.gallery-street .photo img{aspect-ratio:auto;height:auto;object-fit:contain}

.story-cover-photo{display:block;width:100%;height:auto;object-fit:contain;background:none;aspect-ratio:auto}.gallery-rubbish .photo img{aspect-ratio:auto;height:auto;object-fit:contain}

.gallery-rubbish{align-items:start}.gallery-rubbish .photo{align-self:start}

.gallery-amsterdam{align-items:start}.gallery-amsterdam .photo img{aspect-ratio:auto;height:auto;object-fit:contain}

.gallery-tbilisi{align-items:start}.gallery-tbilisi .photo img{aspect-ratio:auto;height:auto;object-fit:contain}
