@import"https://fonts.googleapis.com/css2?family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600&family=DM+Serif+Display:ital@0;1&display=swap";:root{font-family:DM Sans,Arial,sans-serif;color:#25231f;background:#f6f4ef;line-height:1.5;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:#f6f4ef}::selection{background:#7a3042;color:#fff}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{border:0;cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #7a3042;outline-offset:3px}header{height:82px;padding:0 max(28px,calc((100vw - 1240px)/2));border-bottom:1px solid #dedbd3;background:#f6f4eff2;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;position:sticky;top:0;z-index:20}.brand{font-family:"DM Serif Display",Georgia,serif;font-size:31px;letter-spacing:-.04em;line-height:1}.brand:after{content:"•";color:#7a3042;margin-left:2px;font-size:.65em;vertical-align:top}nav{display:flex;gap:27px;font-size:14px;color:#6f6a61}nav a{transition:color .2s ease}nav a:hover{color:#25231f}.city{justify-self:end;color:#7a3042;font-size:14px;font-weight:500;display:flex;gap:8px;align-items:center}.city span{font-size:18px;transition:transform .2s ease}.city:hover span{transform:translate(3px,-3px)}main{width:min(1240px,100%);margin:auto;padding:58px 28px 110px}.hero{min-height:630px;margin-bottom:100px;padding:56px;border-radius:6px;background-size:cover;background-position:center;position:relative;overflow:hidden;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;isolation:isolate;animation:enter .7s cubic-bezier(.2,.75,.2,1) both}.hero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#141210d1,#1412107a 47%,#1412100f 82%)}.hero p,.eyebrow{font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;margin:0 0 16px;color:#7a3042}.hero p{color:#f1cbd3}.hero h1,h1,h2{font-family:"DM Serif Display",Georgia,serif;letter-spacing:-.04em;font-weight:400;line-height:.98}.hero h1{font-size:clamp(59px,7.1vw,104px);max-width:760px;margin:0}.hero>div{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-top:34px;max-width:840px}.hero span{max-width:390px;font-size:17px;line-height:1.55;color:#ffffffdb}.hero button,.modal button,.admin button{background:#fff;color:#25231f;border-radius:3px;padding:15px 18px;font-size:14px;font-weight:500;transition:transform .2s ease,box-shadow .2s ease}.hero button:hover,.modal button:hover,.admin button:hover{transform:translateY(-2px);box-shadow:0 10px 24px #0000002e}.hero button b{font-size:18px;margin-left:14px;font-weight:400}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:0 0 28px}.section-head .eyebrow{margin-bottom:11px}.section-head h2{font-size:48px;margin:0}.section-head>a,.editorial a,.state a,.about>a{color:#7a3042;font-size:14px;font-weight:500;border-bottom:1px solid transparent;transition:border-color .2s ease}.section-head>a:hover,.editorial a:hover,.state a:hover,.about>a:hover{border-color:currentColor}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.event-card{background:#fff;border:1px solid #e4e0d7;border-radius:6px;overflow:hidden;display:flex;flex-direction:column;min-width:0;box-shadow:0 1px #1f1d1805;transition:transform .28s cubic-bezier(.2,.75,.25,1),box-shadow .28s ease,border-color .28s ease;animation:card-enter .55s both}.event-card:hover{transform:translateY(-6px);border-color:#d2cbc0;box-shadow:0 16px 32px #2a231b1c}.event-image{height:254px;position:relative;overflow:hidden;background:#ded9cf}.event-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.7,.2,1),filter .4s ease}.event-card:hover .event-image img{transform:scale(1.075);filter:saturate(1.06)}.event-image button{position:absolute;right:12px;top:12px;border-radius:100px;padding:8px 11px;background:#fffffff0;font-size:12px;color:#25231f;box-shadow:0 2px 8px #00000014;opacity:0;transform:translateY(-5px);transition:opacity .2s ease,transform .2s ease}.event-card:hover .event-image button,.event-image button.saved{opacity:1;transform:none}.event-image button.saved{background:#263a32;color:#fff}.event-meta{order:1;display:flex;justify-content:space-between;padding:17px 17px 0;font-size:11px;color:#7a3042;letter-spacing:.055em;text-transform:uppercase}.event-card h3{order:2;font-family:"DM Serif Display",Georgia,serif;font-size:25px;line-height:1.08;font-weight:400;letter-spacing:-.025em;margin:8px 17px 7px}.event-card p{order:3;margin:0 17px;color:#716c63;font-size:13px;line-height:1.45;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-card strong{order:4;margin:16px 17px 18px;font-size:13px;font-weight:500}.skeleton{height:360px;border-radius:6px;background:linear-gradient(90deg,#ebe7de,#f8f6f1,#ebe7de);background-size:200% 100%;animation:load 1.2s infinite}.category-strip{padding:108px 0 100px}.category-strip>div{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.category-strip a{min-height:130px;border:1px solid #dcd7cc;background:#fbfaf7;border-radius:5px;padding:18px;display:flex;flex-direction:column;justify-content:space-between;font-family:"DM Serif Display",Georgia,serif;font-size:28px;line-height:1.05;transition:background .22s ease,color .22s ease,transform .22s ease,box-shadow .22s ease}.category-strip a:hover{background:#263a32;color:#fff;transform:translateY(-4px);box-shadow:0 12px 24px #263a3224}.category-strip i{font-family:DM Sans,Arial,sans-serif;font-style:normal;font-size:11px;color:#9a9286}.category-strip b{align-self:flex-end;font-family:DM Sans,Arial,sans-serif;font-size:18px;font-weight:400}.category-strip a:hover i{color:#d6ded9}.horizontal{display:flex;gap:18px;overflow-x:auto;padding:2px 2px 18px;scroll-snap-type:x mandatory}.event-card.compact{width:284px;min-width:284px;scroll-snap-align:start}.event-card.compact .event-image{height:190px}.editorial{display:grid;grid-template-columns:1.15fr repeat(3,.85fr);gap:14px;background:#263a32;border-radius:6px;color:#fff;padding:42px;margin-top:108px}.editorial>div{padding:10px 8px}.editorial .eyebrow{color:#b9c5be}.editorial h2{font-size:49px;line-height:.98;font-family:"DM Serif Display",Georgia,serif;font-weight:400;letter-spacing:-.035em;margin:0 0 20px}.editorial p{font-size:15px;line-height:1.6;color:#d5ded9;max-width:270px;margin:0 0 24px}.editorial a{color:#fff;align-self:start}.editorial>a{height:245px;position:relative;overflow:hidden;border-radius:3px;background:#15231d}.editorial img{display:block;width:100%;height:100%;object-fit:cover;opacity:.83;transition:transform .6s ease,opacity .3s ease}.editorial>a:hover img{transform:scale(1.08);opacity:1}.editorial>a span{position:absolute;left:14px;right:14px;bottom:14px;font-family:"DM Serif Display",Georgia,serif;font-size:21px;line-height:1.05;text-shadow:0 1px 8px #000}.catalog h1,.about h1,.admin h1{font-size:clamp(60px,7vw,100px);font-weight:400;margin:0 0 17px}.catalog .lead,.about .lead{font-size:18px;line-height:1.65;color:#676159;max-width:610px;margin:0 0 42px}.filters{background:#fff;border:1px solid #e1ddd4;border-radius:6px;display:grid;grid-template-columns:2fr repeat(4,1fr);gap:0;margin-bottom:34px;padding:4px}.filters input,.filters select{appearance:none;border:0;border-right:1px solid #e5e1d8;padding:13px 12px;background:transparent;color:#37332d;outline-color:#7a3042;font-size:13px}.filters select:last-child{border-right:0}.catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:25px 18px}.back{display:inline-block;color:#7a3042;font-size:14px;margin-bottom:26px}.gallery{height:580px;display:grid;grid-template-columns:2fr 1fr;gap:10px}.gallery img{width:100%;height:100%;object-fit:cover;display:block;border-radius:4px;transition:filter .25s ease,transform .25s ease}.gallery img:hover{filter:brightness(.92);transform:scale(.99)}.gallery img:first-child{grid-row:span 2}.detail-title{display:grid;grid-template-columns:2fr 1fr;gap:76px;border-bottom:1px solid #ded9d0;padding:55px 0}.detail-title h1{font-size:clamp(56px,6.8vw,96px);margin:0 0 18px}.detail-title .lead{font-size:19px;line-height:1.6;color:#645e55;max-width:580px}.detail-title aside{border-top:2px solid #25231f;padding-top:14px}.detail-title aside p{font-size:14px;line-height:1.55;margin:0 0 24px}.detail-title aside strong{display:block;font-size:17px;font-weight:500;margin-bottom:24px}.detail-title aside button,.confirmation button{width:100%;padding:15px;background:#7a3042;color:#fff;border-radius:3px;font-size:14px;font-weight:500;transition:background .2s ease,transform .2s ease}.detail-title aside button:hover,.confirmation button:hover{background:#57202e;transform:translateY(-2px)}.detail-copy{display:grid;grid-template-columns:2fr 1fr;gap:94px;padding-top:54px}.detail-copy h2{font-size:40px;margin:0 0 15px}.detail-copy article>p{font-size:17px;line-height:1.75;color:#4e4942;max-width:680px}.detail-copy dl{margin:36px 0 0;border-top:1px solid #ded9d0}.detail-copy dl div{display:grid;grid-template-columns:1fr 2fr;padding:14px 0;border-bottom:1px solid #ded9d0}.detail-copy dt{font-size:13px;color:#777168}.detail-copy dd{margin:0;font-size:13px;font-weight:500}.organizer{background:#ebe7de;border-radius:5px;padding:24px;align-self:start}.organizer img{width:50px;height:50px;border-radius:50%;object-fit:cover}.organizer h3{font-family:"DM Serif Display",Georgia,serif;font-size:28px;font-weight:400;margin:8px 0}.organizer p:last-child{font-size:14px;color:#625d55;line-height:1.6}.modal{position:fixed;z-index:30;inset:0;background:#1b19168f;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;padding:20px;animation:fade .2s ease}.modal-card{position:relative;width:min(530px,100%);padding:42px;background:#f6f4ef;border-radius:6px;box-shadow:0 24px 70px #00000040;animation:modal-up .3s cubic-bezier(.2,.75,.2,1)}.modal-card h2{font-size:40px;margin:0 0 25px}.close{position:absolute;right:15px;top:12px;background:transparent;font-size:28px;color:#514c44}.modal form,.admin form{display:grid;gap:16px}.modal label,.admin label{display:grid;gap:7px;font-size:13px;color:#514c44}.modal input,.modal select,.modal textarea,.admin input{width:100%;padding:11px 12px;border:1px solid #d8d2c7;border-radius:3px;background:#fff;outline-color:#7a3042}.modal textarea{height:86px;resize:vertical}.modal form button,.admin form button{margin-top:6px}.form-error{color:#a32131;font-size:13px}.confirmation{text-align:center;padding:28px 8px}.confirmation h2{font-size:48px}.confirmation p{font-size:16px;line-height:1.65;margin:0 0 26px}.state{min-height:50vh;display:grid;place-content:center;text-align:center}.state h2{font-size:50px;margin:0}.state p{color:#6f6960}.about{min-height:70vh;padding-top:130px}.about .lead{font-size:23px}.admin{max-width:900px}.admin>section{margin-top:54px}.admin h2{font-size:38px}.admin-row{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:17px 0;border-top:1px solid #ded9d0}.admin-row span{font-weight:500}.admin-row small{display:block;color:#736d63;font-size:13px;margin-top:4px}.admin-row button{padding:9px 13px;font-size:13px}.loading-grid>p{margin:0 0 13px;color:#776f65;font-size:14px}.loading-grid>p span{margin-left:7px;color:#7a3042;letter-spacing:.13em;animation:pulse 1.2s ease-in-out infinite}@keyframes enter{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes card-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes load{to{background-position:-200% 0}}@keyframes pulse{50%{opacity:.28}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes modal-up{0%{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media(max-width:820px){header{grid-template-columns:1fr auto;height:68px;padding:0 18px}nav{display:none}.city{font-size:13px}.brand{font-size:27px}main{padding:36px 18px 75px}.hero{min-height:540px;padding:30px 24px;margin-bottom:72px;border-radius:0}.hero h1{font-size:59px}.hero>div{display:block}.hero span{display:block;margin-bottom:24px;font-size:16px}.section-head h2{font-size:40px}.cards,.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}.event-image{height:220px}.event-card h3{font-size:21px;margin:7px 14px 6px}.event-meta{padding:14px 14px 0}.event-card p{margin:0 14px;font-size:12px}.event-card strong{margin:14px}.event-image button{opacity:1;transform:none}.category-strip{padding:78px 0}.category-strip>div{grid-template-columns:repeat(2,1fr);gap:10px}.category-strip a{min-height:112px;font-size:26px}.editorial{margin:75px 0 0;padding:26px;grid-template-columns:1fr 1fr}.editorial>div{grid-column:span 2}.editorial h2{font-size:42px}.editorial>a{height:182px}.filters{grid-template-columns:1fr 1fr}.filters input{grid-column:span 2}.filters input,.filters select{border-right:0;border-bottom:1px solid #e5e1d8}.filters select:nth-last-child(-n+2){border-bottom:0}.gallery{height:390px;grid-template-columns:1.45fr 1fr}.detail-title,.detail-copy{grid-template-columns:1fr;gap:30px;padding:38px 0}.detail-title h1{font-size:58px}.detail-copy{gap:38px}.catalog h1,.about h1,.admin h1{font-size:66px}.about{padding-top:90px}.event-card.compact{width:255px;min-width:255px}.modal-card{padding:35px 23px}}
