:root{--color-maroon: #7A1F1F;--color-maroon-dark: #5C1717;--color-gold: #B8974A;--color-gold-light: #D8C08A;--color-gold-accessible: #9C803F;--color-cream: #FAF7F0;--color-charcoal: #1A1A1A;--color-white: #FFFFFF;--color-bg: var(--color-cream);--color-surface: var(--color-white);--color-text: var(--color-charcoal);--color-text-muted: #5A5650;--color-accent: var(--color-maroon);--color-accent-hover: var(--color-maroon-dark);--color-border: var(--color-gold);--font-heading: "Fraunces", Georgia, serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--space-1: 0.25rem;--space-2: 0.5rem;--space-3: 1rem;--space-4: 1.5rem;--space-5: 2.5rem;--space-6: 4rem;--space-7: 6rem;--content-max-width: 1200px;--border-hairline: 1px solid var(--color-border);--header-height: 4.5rem;--transition-fade: 0.7s ease-out;--ease-standard: cubic-bezier(0.4, 0, 0.2, 1)}@font-face{font-family:"Fraunces";src:url("/fonts/Fraunces-Variable.woff2") format("woff2-variations"),url("/fonts/Fraunces-Variable.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:"Fraunces";src:url("/fonts/Fraunces-Italic-Variable.woff2") format("woff2-variations"),url("/fonts/Fraunces-Italic-Variable.woff2") format("woff2");font-weight:100 900;font-style:italic;font-display:swap}@font-face{font-family:"Inter";src:url("/fonts/Inter-Variable.woff2") format("woff2-variations"),url("/fonts/Inter-Variable.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}h1,h2,h3,h4,h5,h6,.font-heading{font-optical-sizing:auto}*,*::before,*::after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{min-height:100svh;padding-top:var(--header-height)}img,picture,video{display:block;max-width:100%}input,button,textarea,select{font:inherit}a{color:inherit;text-decoration:none}ul[class],ol[class]{list-style:none;padding:0}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}}body{font-family:var(--font-body);font-size:1rem;line-height:1.6;color:var(--color-text);background-color:var(--color-bg)}h1,h2,h3,h4,.font-heading{font-family:var(--font-heading);font-weight:500;line-height:1.15;color:var(--color-text);margin-bottom:var(--space-3)}h1{font-size:clamp(2.5rem, 4vw + 1rem, 4.5rem);font-weight:400}h2{font-size:clamp(1.75rem, 2vw + 1rem, 2.75rem)}h3{font-size:clamp(1.25rem, 1vw + 1rem, 1.75rem)}p{max-width:65ch;margin-bottom:1em}p:last-child{margin-bottom:0}ul:not([class]),ol:not([class]){margin-bottom:1em;padding-left:1.5em}li:not([class])+li:not([class]){margin-top:0.3em}.eyebrow{display:inline-block;font-family:var(--font-body);font-size:0.8rem;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:var(--color-accent)}.prose>p:first-of-type::first-letter{font-family:var(--font-heading);font-size:3.6em;font-weight:500;line-height:0.82;float:left;padding-right:var(--space-2);padding-top:0.06em;color:var(--color-accent)}.prose blockquote{font-family:var(--font-heading);font-style:italic;font-size:clamp(1.15rem, 1vw + 1rem, 1.5rem);line-height:1.45;border-left:3px solid var(--color-border);padding-left:var(--space-4);margin:var(--space-5) 0;color:var(--color-text)}.prose blockquote p:last-child{margin-bottom:0}.hairline{border:none;height:1px;background:var(--color-border);margin:var(--space-5) 0}.hairline--double{height:5px;background:linear-gradient(var(--color-border), var(--color-border)) top/100% 1px no-repeat,linear-gradient(var(--color-border), var(--color-border)) bottom/100% 1px no-repeat;border:none;margin:var(--space-5) 0}.hairline--ornament{position:relative}.hairline--ornament::after{content:"";position:absolute;top:50%;left:50%;width:8px;height:8px;background-color:var(--color-bg);border:1px solid var(--color-border);transform:translate(-50%, -50%) rotate(45deg)}.fade-in{opacity:0;transform:translateY(16px);transition:opacity var(--transition-fade),transform var(--transition-fade)}.fade-in.is-visible{opacity:1;transform:translateY(0)}.grid-editorial>.fade-in,.tile-grid>.fade-in{transition-delay:var(--stagger-delay, 0ms)}.grid-editorial>.fade-in:nth-child(1),.tile-grid>.fade-in:nth-child(1){--stagger-delay: 0ms}.grid-editorial>.fade-in:nth-child(2),.tile-grid>.fade-in:nth-child(2){--stagger-delay: 90ms}.grid-editorial>.fade-in:nth-child(3),.tile-grid>.fade-in:nth-child(3){--stagger-delay: 180ms}.grid-editorial>.fade-in:nth-child(4),.tile-grid>.fade-in:nth-child(4){--stagger-delay: 270ms}.grid-editorial>.fade-in:nth-child(5),.tile-grid>.fade-in:nth-child(5){--stagger-delay: 360ms}.grid-editorial>.fade-in:nth-child(6),.tile-grid>.fade-in:nth-child(6){--stagger-delay: 450ms}@media (prefers-reduced-motion: reduce){.fade-in{opacity:1;transform:none;transition:none}.grid-editorial>.fade-in,.tile-grid>.fade-in{transition-delay:0ms}}.btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:0.85em 1.75em;font-family:var(--font-body);font-size:0.9rem;font-weight:600;letter-spacing:0.04em;text-transform:uppercase;border:1px solid transparent;border-radius:2px;cursor:pointer;transition:background-color 0.25s var(--ease-standard),color 0.25s var(--ease-standard),border-color 0.25s var(--ease-standard),transform 0.25s var(--ease-standard),box-shadow 0.25s var(--ease-standard)}.btn:hover,.btn:focus-visible{transform:translateY(-2px);box-shadow:0 6px 14px rgba(26,26,26,0.12)}.btn:active{transform:translateY(0);box-shadow:none}.btn--primary{background-color:var(--color-accent);color:var(--color-white)}.btn--primary:hover{background-color:var(--color-accent-hover)}.btn--outline{background-color:transparent;color:var(--color-accent);border-color:var(--color-gold-accessible)}.btn--outline:hover{background-color:var(--color-accent);color:var(--color-white);border-color:var(--color-accent)}@media (prefers-reduced-motion: reduce){.btn,.btn:hover,.btn:focus-visible,.btn:active{transform:none}}.card{display:flex;flex-direction:column;background-color:var(--color-surface);transition:transform 0.35s var(--ease-standard),box-shadow 0.35s var(--ease-standard)}.card:hover{transform:translateY(-4px);box-shadow:0 16px 32px rgba(26,26,26,0.1)}.card__image-wrap{position:relative;overflow:hidden;aspect-ratio:4 / 3}.card__image{width:100%;height:100%;object-fit:cover;transition:transform 0.6s var(--ease-standard)}.card:hover .card__image{transform:scale(1.04)}@media (prefers-reduced-motion: reduce){.card,.card:hover{transform:none}}.card__body{padding:var(--space-4)}.card__title{margin:var(--space-2) 0;font-size:clamp(1.25rem, 1vw + 1rem, 1.75rem)}.card__blurb{color:var(--color-text-muted)}.card__meta{display:flex;gap:var(--space-3);font-size:0.85rem;color:var(--color-text-muted);margin-top:var(--space-2)}.card--feature .card__image-wrap{aspect-ratio:16 / 9}@media (max-width: 700px){.card--feature{grid-column:span 1}}.skip-link{position:absolute;top:-100px;left:var(--space-3);z-index:100;background-color:var(--color-accent);color:var(--color-white);padding:var(--space-2) var(--space-4);border-radius:2px;font-weight:600;transition:top 0.2s var(--ease-standard)}.skip-link:focus{top:var(--space-3)}.site-header{position:fixed;top:0;left:0;right:0;width:100%;z-index:50;background-color:var(--color-cream);border-bottom:var(--border-hairline)}.site-header__inner{max-width:var(--content-max-width);min-height:var(--header-height);margin:0 auto;padding:var(--space-3) var(--space-4);display:flex;align-items:center;justify-content:space-between;box-sizing:border-box}.site-header__wordmark{display:flex;align-items:center;gap:var(--space-2);font-family:var(--font-heading);font-size:1.4rem;letter-spacing:0.02em;color:var(--color-accent)}.site-header__mark{flex-shrink:0}.site-nav__toggle{display:none;background:none;border:none;cursor:pointer;padding:var(--space-2);min-width:44px;min-height:44px}.site-nav__list{display:flex;gap:var(--space-5)}.site-nav__list>li{display:contents}.site-nav__link{font-size:0.9rem;font-weight:600;letter-spacing:0.03em;text-transform:uppercase;position:relative;padding-bottom:4px}.site-nav__link::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background-color:var(--color-accent);transition:right 0.3s var(--ease-standard)}.site-nav__link:hover::after,.site-nav__link[aria-current="page"]::after{right:0}@media (max-width: 780px){.site-nav__toggle{display:inline-flex}.site-nav__list{position:absolute;inset:100% 0 auto 0;flex-direction:column;gap:0;background-color:var(--color-cream);border-bottom:var(--border-hairline);max-height:0;overflow:hidden;transition:max-height 0.3s ease}.site-nav__list.is-open{max-height:24rem}.site-nav__link{display:block;padding:var(--space-3) var(--space-4)}}.site-footer{margin-top:var(--space-7);padding:var(--space-6) var(--space-4) var(--space-5);text-align:center;color:var(--color-text-muted)}.site-footer p{max-width:none;margin-left:auto;margin-right:auto}.site-footer__divider{max-width:240px;margin:0 auto var(--space-5)}.site-footer__mark{width:72px;height:auto;margin:0 auto var(--space-3)}.site-footer__links{display:flex;justify-content:center;gap:var(--space-4);margin:var(--space-3) 0;font-size:0.85rem}.site-footer__fine-print{font-size:0.8rem;margin-top:var(--space-3)}@keyframes hero-zoom{from{transform:scale(1.08)}to{transform:scale(1)}}.hero__image-wrap,.event-hero__image-wrap{position:absolute;inset:-30px 0;overflow:hidden}.hero__image,.event-hero__image{width:100%;height:100%;object-fit:cover;animation:hero-zoom 16s var(--ease-standard) forwards}@media (prefers-reduced-motion: reduce){.hero__image,.event-hero__image{animation:none}}.event-hero{position:relative;height:60vh;min-height:380px;overflow:hidden}.event-hero__overlay{position:absolute;inset:0;display:flex;align-items:flex-end;background:linear-gradient(to top, rgba(26,26,26,0.85) 0%, rgba(26,26,26,0.75) 45%, rgba(26,26,26,0.2) 78%, rgba(26,26,26,0) 100%);color:var(--color-white);padding-bottom:var(--space-5);text-shadow:0 2px 10px rgba(0,0,0,0.55)}.event-hero__overlay h1{color:var(--color-white)}.event-hero__overlay .eyebrow{color:var(--color-white)}.event-detail__body{max-width:70ch;margin-top:var(--space-4)}.event-detail{display:flex;flex-direction:column;gap:var(--space-2)}.photo-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:var(--space-2)}.photo-grid__item{display:block;aspect-ratio:4 / 3;overflow:hidden}.photo-grid__item img{width:100%;height:100%;object-fit:cover;transition:transform 0.4s ease}.photo-grid__item:hover img{transform:scale(1.05)}@media (max-width: 700px){.photo-grid{grid-template-columns:repeat(2, 1fr)}}.photo-grid--gallery{grid-template-columns:repeat(4, 1fr)}@media (max-width: 700px){.photo-grid--gallery{grid-template-columns:repeat(3, 1fr)}}@media (max-width: 400px){.photo-grid,.photo-grid--gallery{grid-template-columns:repeat(2, 1fr)}}.video-grid{display:grid;grid-template-columns:repeat(2, 1fr);gap:var(--space-5)}.video-grid h3{margin-bottom:var(--space-2)}@media (max-width: 700px){.video-grid{grid-template-columns:1fr}}.video-embed__frame{position:relative;width:100%;aspect-ratio:16 / 9}.video-embed__frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.directory-list{display:flex;flex-direction:column;gap:var(--space-4);margin:var(--space-4) 0}.directory-item{display:grid;grid-template-columns:120px 1fr;gap:var(--space-4);align-items:start}.directory-item__image-wrap{width:120px;height:120px;overflow:hidden}.directory-item__image-wrap img{width:100%;height:100%;object-fit:cover}.directory-item__meta{color:var(--color-text-muted);font-size:0.9rem}.directory-item__body h3 a{color:inherit}.directory-item__body h3 a:hover,.directory-item__body h3 a:focus-visible{color:var(--color-accent);text-decoration:underline;text-decoration-color:var(--color-gold-light);text-underline-offset:3px}@media (max-width: 600px){.directory-item{grid-template-columns:80px 1fr}.directory-item__image-wrap{width:80px;height:80px}}.back-link-row{margin-bottom:var(--space-4)}.single-image{width:100%;aspect-ratio:16 / 9;object-fit:cover;margin:var(--space-4) 0}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}.business-search{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center;margin:var(--space-4) 0}.business-search input[type="search"],.business-search select{padding:var(--space-2) var(--space-3);min-height:44px;border:1px solid var(--color-gold-light);background-color:var(--color-surface);border-radius:2px;font-family:var(--font-body);font-size:1rem;color:var(--color-text)}.business-search input[type="search"]{flex:1 1 320px;max-width:480px}.business-search select{flex:0 1 auto}.business-search input[type="search"]:focus,.business-search select:focus{outline:2px solid var(--color-accent);outline-offset:1px}.business-search__count{flex-basis:100%;color:var(--color-text-muted);font-size:0.85rem}.business-list{list-style:none;display:grid;grid-template-columns:repeat(3, 1fr);gap:var(--space-4);margin:var(--space-4) 0}.business-item{padding:var(--space-4);background-color:var(--color-surface);border:var(--border-hairline)}.business-item__category{display:inline-block;font-size:0.7rem;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;color:var(--color-accent);margin-bottom:var(--space-1)}.business-item__name{font-size:1.1rem;margin:0 0 var(--space-1)}.business-item__meta{color:var(--color-text-muted);font-size:0.9rem}.business-item__meta a{color:var(--color-accent);font-weight:600;text-decoration:underline;text-decoration-color:var(--color-gold-light);text-underline-offset:3px}.business-item__meta a:hover,.business-item__meta a:focus{color:var(--color-accent-hover);text-decoration-color:currentColor}.business-search__empty{color:var(--color-text-muted);margin:var(--space-4) 0}@media (max-width: 900px){.business-list{grid-template-columns:repeat(2, 1fr)}}@media (max-width: 600px){.business-list{grid-template-columns:1fr}}.about-page__body{max-width:65ch;margin:var(--space-3) 0 var(--space-5)}.about-page__grid{display:grid;grid-template-columns:1fr 1.4fr;gap:var(--space-6);margin-top:var(--space-4)}@media (max-width: 700px){.about-page__grid{grid-template-columns:1fr}}.about-page__form-notice{color:var(--color-text-muted);font-size:0.9rem}.contact-form{display:flex;flex-direction:column;gap:var(--space-1);max-width:480px}.contact-form label{font-size:0.85rem;font-weight:600;margin-top:var(--space-2)}.contact-form input,.contact-form textarea{padding:var(--space-2);border:1px solid var(--color-gold-light);background-color:var(--color-surface);border-radius:2px}.contact-form input{min-height:44px}.contact-form input:focus,.contact-form textarea:focus{outline:2px solid var(--color-accent);outline-offset:1px}.contact-form button{margin-top:var(--space-3);align-self:flex-start}.hp-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.hero{position:relative;height:92vh;min-height:520px;overflow:hidden}@media (max-height: 500px){.hero{height:100vh;min-height:0}}.hero__overlay{position:absolute;inset:0;display:flex;align-items:center;background:linear-gradient(to top, rgba(26,26,26,0.75) 0%, rgba(26,26,26,0.65) 50%, rgba(26,26,26,0.72) 100%)}.hero__content{color:var(--color-white);text-shadow:0 2px 10px rgba(0,0,0,0.55)}.hero__content h1{color:var(--color-white);max-width:16ch}.hero__tagline{font-size:1.25rem;margin:var(--space-3) 0 var(--space-4);max-width:45ch}.section-cta{margin-top:var(--space-5);text-align:center}.hairline--double.container{max-width:240px}.stat-strip{background-color:var(--color-accent);padding:var(--space-5) 0}.stat-strip__inner{display:grid;grid-template-columns:repeat(4, 1fr);gap:var(--space-4);text-align:center}.stat-strip__number{display:block;font-family:var(--font-heading);font-size:clamp(1.5rem, 1.5vw + 1rem, 2.25rem);color:var(--color-gold-light)}.stat-strip__label{display:block;font-size:0.8rem;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;color:var(--color-white);opacity:0.85;margin-top:var(--space-1)}@media (max-width: 700px){.stat-strip__inner{grid-template-columns:repeat(2, 1fr);gap:var(--space-4) var(--space-3)}}.not-found{max-width:560px;padding-top:var(--space-7);padding-bottom:var(--space-7);text-align:center}.not-found__compass{width:96px;height:96px;margin:0 auto var(--space-4);animation:not-found-spin 6s var(--ease-standard) infinite}@keyframes not-found-spin{0%,100%{transform:rotate(-12deg)}50%{transform:rotate(12deg)}}@media (prefers-reduced-motion: reduce){.not-found__compass{animation:none}}.not-found h1{margin-top:var(--space-2)}.not-found__body{color:var(--color-text-muted);margin:var(--space-3) auto var(--space-5)}.not-found__actions{display:flex;gap:var(--space-3);justify-content:center;flex-wrap:wrap}.container{max-width:var(--content-max-width);margin:0 auto;padding:0 var(--space-4);width:100%}.section{padding:var(--space-6) 0}.section-heading{margin-bottom:var(--space-5)}.grid-editorial{display:grid;grid-template-columns:repeat(12, 1fr);gap:var(--space-5) var(--space-4)}.grid-editorial>*{grid-column:span 4}@media (max-width: 900px){.grid-editorial>*{grid-column:span 6}}@media (max-width: 600px){.grid-editorial>*{grid-column:span 12}}.grid-editorial>.card--feature{grid-column:span 8}@media (max-width: 900px){.grid-editorial>.card--feature{grid-column:span 12}}.tile-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:var(--space-3)}@media (max-width: 900px){.tile-grid{grid-template-columns:repeat(2, 1fr)}}@media (max-width: 600px){.tile-grid{grid-template-columns:1fr}}.tile{position:relative;aspect-ratio:3 / 4;overflow:hidden;display:flex;align-items:flex-end;padding:var(--space-4);color:var(--color-white)}.tile--feature{grid-column:1 / -1;aspect-ratio:21 / 9;padding:var(--space-5)}@media (max-width: 900px){.tile--feature{aspect-ratio:16 / 9}}.tile--feature .tile__label{font-size:clamp(1.75rem, 2vw + 1rem, 2.5rem)}.tile__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform 0.5s var(--ease-standard)}.tile:hover .tile__image{transform:scale(1.06)}.tile::after{content:"";position:absolute;inset:0;background:linear-gradient(to top, rgba(26,26,26,0.75), rgba(26,26,26,0.1));z-index:-1}.tile__label{font-family:var(--font-heading);font-size:1.5rem;position:relative;transition:transform 0.3s var(--ease-standard)}.tile:hover .tile__label{transform:translateX(4px)}@media (prefers-reduced-motion: reduce){.tile__image,.tile__label,.tile:hover .tile__image,.tile:hover .tile__label{transform:none}}
