:root { --wine:#62133d; --magenta:#dc0a75; --pink:#f1b8c9; --paper:#f5f1ee; --ink:#333235; --gray:#aaa5a6; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:"DM Sans",sans-serif; }
.topbar { height:82px; padding:0 5vw; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid rgba(51,50,53,.17); }
.brand { color:var(--wine); font-size:25px; font-weight:500; letter-spacing:-1.6px; text-decoration:none; }.brand span { font-size:8px; vertical-align:top; margin-left:2px; }
nav { display:flex; gap:26px; } nav a { color:var(--ink); font-size:12px; text-decoration:none; }
.hero { min-height:calc(100vh - 82px); padding:8.3vw 5vw 4vw; position:relative; overflow:hidden; display:flex; flex-direction:column; justify-content:space-between; }
.eyebrow,.section-number { font:500 10px "DM Mono",monospace; letter-spacing:.08em; color:var(--wine); margin:0; }
h1 { position:relative; z-index:1; font:500 clamp(52px,8.1vw,126px)/.93 "Playfair Display",serif; letter-spacing:-.055em; margin:4vw 0 auto; max-width:920px; } em { color:var(--magenta); font-weight:500; }
.hero-bottom { position:relative; z-index:1; display:flex; align-items:end; justify-content:space-between; gap:20px; }.hero-bottom p { max-width:270px; line-height:1.45; font-size:15px; margin:0; }
.round-link { width:52px; height:52px; display:grid; place-items:center; border:1px solid var(--wine); border-radius:50%; color:var(--wine); text-decoration:none; font-size:21px; transition:.2s; }.round-link:hover { background:var(--wine); color:white; }
.orb { position:absolute; border-radius:50%; filter:blur(1px); }.orb-one { width:min(38vw,540px); height:min(38vw,540px); right:-8vw; top:11%; background:var(--pink); }.orb-two { width:min(20vw,290px); height:min(20vw,290px); right:18vw; bottom:-10vw; background:var(--magenta); mix-blend-mode:multiply; }
.statement,.practice,.contact { padding:9vw 5vw; display:grid; grid-template-columns:24% 1fr; gap:20px; border-top:1px solid rgba(51,50,53,.17); }.statement h2,.selections h2,.practice h2,.contact h2 { color:var(--wine); font:500 clamp(39px,5.4vw,82px)/1 "Playfair Display",serif; letter-spacing:-.05em; margin:0 0 45px; }.large-copy { max-width:710px; font-size:clamp(19px,2.15vw,31px); line-height:1.28; letter-spacing:-.025em; margin:0; }
.selections { padding:9vw 5vw; border-top:1px solid rgba(51,50,53,.17); }.section-heading { display:grid; grid-template-columns:24% 1fr; gap:20px; align-items:start; margin-bottom:7vw; }.section-heading h2 { margin:0 0 28px; }.section-heading > div > p { max-width:710px; font-size:clamp(19px,2.15vw,31px); line-height:1.28; letter-spacing:-.025em; margin:0; }.gallery { display:grid; grid-template-columns:repeat(12,1fr); gap:4vw 2vw; align-items:start; }.gallery figure { margin:0; }.gallery img { display:block; width:100%; object-fit:cover; filter:saturate(.78); transition:filter .3s, transform .5s; }.gallery figure:hover img { filter:saturate(1); transform:scale(1.015); }.gallery figure { overflow:hidden; }.image-tall { grid-column:1 / span 5; }.image-tall:nth-child(4) { grid-column:8 / span 5; }.image-wide { grid-column:7 / span 6; margin-top:11vw !important; }.image-wide:nth-child(3) { grid-column:1 / span 7; margin-top:0 !important; }.image-tall img { aspect-ratio: .79; }.image-wide img { aspect-ratio:1.35; }
.practice { background:var(--wine); color:white; }.practice .section-number { color:var(--pink); }.practice h2 { color:white; margin-bottom:60px; }.practice-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:38px; }.practice article { border-top:1px solid rgba(255,255,255,.55); padding-top:15px; }.practice span { color:var(--pink); font:10px "DM Mono",monospace; }.practice h3 { font:500 31px "Playfair Display",serif; margin:42px 0 10px; }
.manifesto { min-height:58vh; display:grid; place-items:center; padding:70px 5vw; background:var(--pink); text-align:center; }.manifesto p { color:var(--wine); font:500 clamp(39px,5.5vw,86px)/1.05 "Playfair Display",serif; letter-spacing:-.055em; margin:0; }.manifesto em { color:var(--wine); }
.contact { min-height:66vh; align-content:start; }.contact h2 { margin-bottom:50px; }.emails { display:flex; flex-direction:column; align-items:start; gap:17px; }.email { color:var(--magenta); font:500 clamp(24px,3.8vw,57px)/1 "DM Sans",sans-serif; letter-spacing:-.06em; text-decoration:none; border-bottom:1px solid var(--magenta); padding-bottom:8px; }.email span { font-size:.65em; }.footer-line { display:flex; justify-content:space-between; grid-column:1/-1; align-self:end; margin-top:12vw; border-top:1px solid rgba(51,50,53,.17); padding-top:14px; }.footer-line p,.footer-line a { margin:0; color:#676367; font:11px "DM Mono",monospace; text-decoration:none; }
@media (max-width:650px) { .topbar { height:66px; } nav { gap:14px; } nav a:nth-child(2) { display:none; }.hero { min-height:calc(100vh - 66px); padding:13vw 6vw 7vw; }.orb-one { width:62vw; height:62vw; right:-19vw; top:17%; }.orb-two { width:33vw; height:33vw; right:12vw; bottom:18%; }.statement,.practice,.contact { padding:18vw 6vw; grid-template-columns:1fr; gap:34px; }.event-banner { margin-top:12vw; }.selections { padding:18vw 6vw; }.section-heading { display:block; margin-bottom:13vw; }.section-heading > div > p { margin-top:25px; }.section-heading h2 { margin-bottom:0; }.gallery { display:block; }.gallery figure { margin-bottom:13vw !important; }.gallery figure:nth-child(even) { margin-left:11vw; }.gallery figure:nth-child(odd) { margin-right:5vw; }.practice-grid { grid-template-columns:1fr; gap:40px; }.practice h3 { margin-top:25px; }.manifesto { min-height:48vh; }.footer-line { margin-top:20vw; flex-wrap:wrap; gap:12px; } }

.event-banner { margin-top:5vw; max-width:860px; }.section-subtitle { color:var(--wine); font:500 10px "DM Mono",monospace; letter-spacing:.08em; text-transform:uppercase; margin:0 0 18px; }.event-banner img { display:block; width:100%; height:auto; border-radius:2px; }
