@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Manrope:wght@300;400;500;600&display=swap");
:root{--ink:#15171A;--muted:#5E5A52;--line:#E6E2D9;--paper:#F4F2ED;--gold:#8A6B34;--serif:"Cormorant Garamond",Georgia,serif;--sans:"Manrope",system-ui,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--ink);font:300 16px/1.7 var(--sans)}
a{color:inherit;text-decoration:none}a:hover{color:var(--gold)}
a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
img{max-width:100%;height:auto}
.wrap{max-width:1280px;margin:0 auto;padding:0 32px}
.topbar{border-bottom:1px solid var(--line);background:var(--paper);font-size:13px;letter-spacing:.04em;color:var(--muted)}
.topbar .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 32px;padding-top:12px;padding-bottom:12px}
.topbar .wrap>div{display:flex;flex-wrap:wrap;gap:4px 28px}
.header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;padding-top:36px;padding-bottom:36px}
.logo{display:flex;flex-direction:column;gap:2px}
.logo b{font:500 30px/1.2 var(--serif);letter-spacing:.28em;text-transform:uppercase;color:var(--ink)}
.logo span{font-size:11px;letter-spacing:.42em;text-transform:uppercase;color:var(--gold)}
.nav{display:flex;flex-wrap:wrap;gap:12px 40px;font-size:13px;font-weight:400;letter-spacing:.18em;text-transform:uppercase}
.nav a.on{color:var(--gold)}
.eyebrow{font-size:12px;letter-spacing:.36em;text-transform:uppercase;color:var(--gold)}
h1,h2{font-family:var(--serif);font-weight:400;margin:0;text-wrap:balance}
h1{font-size:76px;line-height:1.02;letter-spacing:-.01em}h1 em{color:var(--gold);font-style:italic}
h2{font-size:52px;line-height:1.1}
.btn{display:inline-flex;align-items:center;min-height:52px;padding:0 36px;background:var(--ink);color:#fff;border:1px solid var(--ink);font:500 13px var(--sans);letter-spacing:.2em;text-transform:uppercase;cursor:pointer}
.btn:hover{color:#fff;background:var(--gold);border-color:var(--gold)}
.btn.ghost{background:transparent;color:var(--ink)}.btn.ghost:hover{color:#fff}
.link{display:inline-block;padding-bottom:6px;border-bottom:1px solid var(--ink);font:500 13px var(--sans);letter-spacing:.2em;text-transform:uppercase}
.hero{display:flex;flex-wrap:wrap;align-items:center;gap:56px;padding-top:40px;padding-bottom:104px}
.hero>div:first-child{flex:1 1 440px;display:flex;flex-direction:column;gap:32px}
.hero .kick{display:flex;align-items:center;gap:16px}.hero .kick:before{content:"";width:56px;height:1px;background:var(--gold)}
.hero p{margin:0;max-width:520px;font-size:17px;color:var(--muted)}
.hero .btns{display:flex;flex-wrap:wrap;gap:16px;margin-top:8px}
.hero .pair{flex:1 1 400px;display:flex;gap:20px;align-items:flex-start}
.hero figure{margin:0;flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:12px}
.hero figure+figure{margin-top:64px}
.mat{padding:14px;border:1px solid var(--line);background:var(--paper)}.mat img{display:block;width:100%}
figcaption{font-size:13px;color:var(--muted)}figcaption i{font:italic 400 19px var(--serif);color:var(--ink)}
.facts{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.facts .wrap{display:flex;flex-wrap:wrap;gap:40px;padding-top:48px;padding-bottom:48px}
.facts .wrap>div{flex:1 1 220px;display:flex;flex-direction:column;gap:6px}
.facts b{font:400 52px/1 var(--serif);color:var(--gold)}.facts span{font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
section.s{padding:128px 0}section.alt{background:var(--paper);padding:112px 0}
.about{display:flex;flex-wrap:wrap;align-items:center;gap:64px}
.about>div{flex:1 1 400px;display:flex;flex-direction:column;gap:24px;min-width:0}
.about p{margin:0;font-size:18px;color:#34332F}.about p.m{font-size:16px;color:var(--muted)}
.head{display:flex;flex-direction:column;gap:16px;margin-bottom:56px}
.head.row{flex-direction:row;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px}
.head.row>div{display:flex;flex-direction:column;gap:16px}
.cats{display:flex;flex-wrap:wrap;gap:24px}
.cat{flex:1 1 260px;display:flex;flex-direction:column;gap:20px}
.cat .t{aspect-ratio:4/5;border:1px solid var(--line);background:#fff;position:relative;overflow:hidden}
.cat b{font:400 30px/1.1 var(--serif)}.cat span{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.grid{display:flex;flex-wrap:wrap;gap:48px 28px}
.work{flex:1 1 230px;max-width:300px;display:flex;flex-direction:column;gap:14px;margin:0}
.work button{all:unset;display:block;cursor:zoom-in}
.work .t{aspect-ratio:4/5;border:1px solid var(--line);background:var(--paper);position:relative;overflow:hidden}
.cat .t img,.work .t img{position:absolute;inset:16px;width:calc(100% - 32px);height:calc(100% - 32px);max-width:none;object-fit:contain}
.work b{display:block;font:400 22px/1.2 var(--serif)}.work span{display:block;font-size:14px;color:var(--muted)}.work small{display:block;font-size:13px;color:var(--muted)}
.names{columns:230px;column-gap:40px;border-top:1px solid var(--ink)}
.names div{break-inside:avoid;padding:10px 0;border-bottom:1px solid var(--line);font:400 22px/1.2 var(--serif)}
.svc{display:flex;flex-wrap:wrap;border-top:1px solid var(--ink)}
.svc div{flex:1 1 240px;padding:36px 28px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:12px}
.svc div:first-child{padding-left:0}.svc div:last-child{padding-right:0}
.svc i{font:400 34px/1 var(--serif);color:var(--gold);font-style:normal}.svc b{font:400 28px var(--serif)}.svc span{font-size:15px;color:var(--muted)}
.events{border-top:1px solid var(--ink)}
.ev{display:flex;flex-wrap:wrap;gap:24px 40px;padding:32px 0;border-bottom:1px solid var(--line);align-items:center}
.ev img{flex:0 0 220px;width:220px;aspect-ratio:4/3;object-fit:cover}
.ev .d{flex:0 0 200px;font:400 26px/1.2 var(--serif);color:var(--gold)}
.ev .x{flex:1 1 320px;display:flex;flex-direction:column;gap:6px}.ev .x b{font:400 30px/1.15 var(--serif)}.ev .x span{font-size:15px;color:var(--muted)}
.contacts{display:flex;flex-wrap:wrap;gap:64px}
.contacts>div{flex:1 1 360px;min-width:0}.contacts>div:first-child{display:flex;flex-direction:column;gap:24px}
.contacts p{margin:0;max-width:440px;color:var(--muted)}
.crow{display:flex;flex-wrap:wrap;gap:8px 32px;padding:24px 0;border-bottom:1px solid var(--line)}
.crow:first-child{border-top:1px solid var(--ink)}
.crow dt{flex:0 0 120px;font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
.crow dd{flex:1 1 200px;margin:0;font-size:17px;display:flex;flex-direction:column}
.footer{border-top:1px solid var(--line);background:var(--paper);font-size:13px;color:var(--muted);letter-spacing:.04em}
.footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px 32px;padding-top:40px;padding-bottom:40px}
.crumbs{font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--muted)}.crumbs b{color:var(--gold);font-weight:400}
.pagehead{display:flex;flex-direction:column;gap:28px;padding-top:48px;padding-bottom:32px}
.pagehead h1{font-size:68px}.pagehead p{margin:0;max-width:600px;font-size:17px;color:var(--muted)}
.filters{display:flex;flex-wrap:wrap;gap:12px;padding-top:24px;border-top:1px solid var(--ink)}
.filters button{min-height:44px;padding:0 24px;background:#fff;color:var(--ink);border:1px solid #CFCABD;font:500 12px var(--sans);letter-spacing:.2em;text-transform:uppercase;cursor:pointer}
.filters button[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}
.count{font-size:13px;color:var(--muted)}
.cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;padding-top:72px;padding-bottom:72px}
.cta span{font:400 34px/1.2 var(--serif);max-width:640px}
dialog{border:0;padding:0;background:transparent;max-width:none;max-height:none}
dialog::backdrop{background:rgba(255,255,255,.96)}
.lb{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:32px}
.lb img{max-width:92vw;max-height:78vh;object-fit:contain;border:1px solid var(--line)}
.lb p{margin:0;text-align:center;font:400 22px/1.3 var(--serif)}.lb p span{display:block;font:300 14px var(--sans);color:var(--muted)}
.lb button{position:absolute;top:20px;right:24px;min-height:44px;padding:0 20px;background:var(--ink);color:#fff;border:0;font:500 12px var(--sans);letter-spacing:.2em;text-transform:uppercase;cursor:pointer}
@media(max-width:760px){h1{font-size:48px}h2{font-size:38px}.pagehead h1{font-size:46px}.wrap{padding:0 20px}.hero .pair figure+figure{margin-top:32px}.cta span{font-size:26px}.svc div:first-child,.svc div:last-child{padding:36px 0}}
