:root{--ink:#111;--paper:#f4f2ee;--red:#c8102e;--mute:#7a766f}
*{box-sizing:border-box;margin:0;padding:0}body{background:var(--paper);color:var(--ink);font:16px/1.65 Manrope,sans-serif}
img{display:block;width:100%;height:100%;object-fit:cover}a{color:inherit}
.preview-tag{position:fixed;bottom:10px;right:10px;z-index:9;background:#fff;border:1px solid #ddd;font-size:11px;padding:4px 8px}
.nav{display:flex;justify-content:space-between;align-items:center;padding:22px 5vw;border-bottom:1px solid #ddd;position:sticky;top:0;background:#f4f2eeee;backdrop-filter:blur(8px);z-index:5}
.logo{font:800 13px Manrope;letter-spacing:.3em;text-transform:uppercase;text-decoration:none;display:flex;align-items:center;gap:10px}
.logo i,footer i{width:12px;height:12px;border-radius:50%;background:var(--red);display:inline-block}
.nav nav a{margin-left:28px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;text-decoration:none}
@media(max-width:700px){.nav nav{display:none}}
.hero{display:grid;grid-template-columns:1fr 1.1fr;min-height:88vh}
.hero-txt{padding:10vh 5vw;display:flex;flex-direction:column;justify-content:center}
.eyebrow{font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--mute)}
h1{font:300 clamp(48px,7vw,104px)/.98 Fraunces;margin:20px 0}h1 em{color:var(--red)}
.lede{max-width:440px;color:#444}.cta{display:inline-block;margin-top:30px;font-weight:800;font-size:13px;letter-spacing:.2em;text-transform:uppercase;border-bottom:2px solid var(--red);padding-bottom:4px;text-decoration:none;width:max-content}
.hero-img{position:relative}.hero-img figcaption{position:absolute;bottom:20px;left:20px;background:#fff;padding:6px 12px;font-size:12px;letter-spacing:.15em}
@media(max-width:800px){.hero{grid-template-columns:1fr}.hero-img{height:60vh}}
.marquee{overflow:hidden;white-space:nowrap;border-block:1px solid var(--ink);padding:14px 0;font:300 italic 28px Fraunces}
.marquee span{display:inline-block;animation:m 30s linear infinite}@keyframes m{to{transform:translateX(-50%)}}
.sec{padding:110px 5vw}h2{font:300 clamp(36px,5vw,64px)/1.05 Fraunces;margin-bottom:40px}
.head{display:flex;justify-content:space-between;align-items:end}.head p{color:var(--mute);font-size:13px}
.strip{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:20px}
.strip article{flex:0 0 min(78vw,360px);scroll-snap-align:start}.strip img{height:460px}
.strip b{display:block;margin-top:14px;color:var(--red);font-size:12px;letter-spacing:.2em}.strip h3{font:300 26px Fraunces}.strip p{color:var(--mute);font-size:14px}
.svc{background:var(--ink);color:var(--paper)}.svc ol{list-style:none;border-top:1px solid #444}
.svc li{display:grid;grid-template-columns:1fr 1.5fr;padding:28px 0;border-bottom:1px solid #444}.svc span{font:300 32px Fraunces}
.note{color:var(--mute);font-size:13px;margin-top:20px}
.mosaic{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:300px 300px;gap:6px}.mosaic .t{grid-row:span 2}.mosaic img:last-child{grid-column:span 2}
@media(max-width:700px){.mosaic{grid-template-columns:1fr 1fr;grid-template-rows:auto}.mosaic img{height:200px}.mosaic .t{grid-row:auto;grid-column:span 2}}
.about{text-align:center}.about blockquote{font:300 italic clamp(28px,4vw,52px)/1.2 Fraunces;max-width:900px;margin:20px auto}cite{color:var(--mute)}
.ig a{color:var(--red)}.igg{display:grid;grid-template-columns:repeat(6,1fr);gap:4px}.igg img{aspect-ratio:1}
@media(max-width:700px){.igg{grid-template-columns:repeat(3,1fr)}}
.contact{display:grid;grid-template-columns:1fr 1.2fr;gap:5vw;border-top:1px solid #ddd}dl{display:grid;grid-template-columns:100px 1fr;gap:12px}dt{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--mute)}
.contact iframe{width:100%;height:400px;border:0;filter:grayscale(1)}@media(max-width:800px){.contact{grid-template-columns:1fr}}
footer{display:flex;justify-content:space-between;padding:30px 5vw;font-size:12px;letter-spacing:.15em;text-transform:uppercase;border-top:1px solid var(--ink)}
@media(prefers-reduced-motion:reduce){.marquee span{animation:none}}
