*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--text);background:var(--bg);font:400 16px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}body.dialog-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,summary,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img,svg,video{max-width:100%;display:block}img{height:auto}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{line-height:1.15;letter-spacing:-.035em}h1{font-size:clamp(2.2rem,4vw,3.6rem)}h2{font-size:clamp(1.75rem,3vw,2.5rem);font-weight:600}h3{font-size:1.25rem}p{margin-bottom:1em}button{color:inherit}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--primary);outline-offset:5px}button:disabled{cursor:not-allowed;opacity:.6}[hidden]{display:none!important}.container{width:min(100% - 80px,var(--container));margin-inline:auto}.section{padding:68px 0}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:28px}.section-head h2{margin-bottom:0}.section-head p:not(.eyebrow){color:var(--muted);max-width:410px;margin:12px 0 0}.section-head>.text-link{flex-shrink:0}.eyebrow{display:block;font-size:10px;line-height:1.6;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--primary);margin-bottom:14px}.muted{color:var(--muted)}.text-link{font-weight:650;color:var(--primary);padding:8px 0;border-bottom:1px solid var(--gold);font-size:14px;display:inline-flex;gap:24px;align-items:center}.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;border-radius:9px;padding:13px 22px;min-height:48px;background:var(--primary);color:#fff;border:1px solid var(--primary);font-size:14px;font-weight:600;line-height:1.4;text-align:center;transition:background .18s,transform .18s}.button:hover{background:color-mix(in srgb,var(--primary) 86%,#000);transform:translateY(-1px)}.button--secondary{background:transparent;color:var(--primary);border-color:var(--border)}.button--secondary:hover{background:#eee4da}.icon-button{padding:11px;display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;background:transparent;color:inherit;border:1px solid var(--border);border-radius:50%;line-height:1}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-100px;left:10px;background:var(--primary);color:#fff;padding:14px;z-index:1000}.skip-link:focus{top:10px}.rte{overflow-wrap:anywhere}.rte a{text-decoration:underline;text-underline-offset:3px;color:var(--primary)}.rte img{max-width:100%;height:auto}.rte table{border-collapse:collapse;max-width:100%;display:block;overflow-x:auto}.rte td,.rte th{padding:12px;border:1px solid var(--border)}.rte iframe{max-width:100%}.rte h2,.rte h3{margin-top:1.5em}.prose-width{max-width:860px}.empty-state,.setup-note{padding:24px;background:#fff;border:1px dashed var(--border);border-radius:12px;color:var(--muted)}.setup-note{font-size:13px}.empty-state h3{color:var(--text)}input:not([type=checkbox]):not([type=radio]):not([type=hidden]),textarea,select{max-width:100%;border:1px solid var(--border);border-radius:8px;padding:12px 14px;background:#fff;color:var(--text)}input::placeholder{color:#7b7276}summary{cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}details>summary::after{content:'+';margin-left:12px}details[open]>summary::after{content:'−'}
.announcement{background:var(--primary);color:#fff4dc;text-align:center;padding:8px 18px;font-size:11px;letter-spacing:.035em}.site-header{position:relative;z-index:30;background:var(--bg);border-bottom:1px solid var(--border)}.header-inner{height:88px;display:flex;align-items:center;gap:28px;justify-content:space-between}.brand{display:inline-flex;gap:11px;align-items:center;font-size:26px;font-weight:650;letter-spacing:-.06em;color:var(--primary);white-space:nowrap}.brand img{width:auto;max-width:180px;max-height:56px}.desktop-nav{display:flex;gap:25px;align-items:center;margin-left:auto}.desktop-nav>a,.nav-dropdown>summary{font-size:13px;font-weight:550;padding:12px 0}.desktop-nav [aria-current=page]{color:var(--primary);text-decoration:underline;text-underline-offset:6px}.nav-dropdown{position:relative}.nav-dropdown>summary::after{display:none}.nav-submenu{position:absolute;top:100%;left:-18px;min-width:240px;padding:12px;background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:0 15px 32px #3f151d12}.nav-submenu a{display:block;font-size:14px;padding:10px;border-radius:6px}.nav-submenu a:hover{background:var(--bg)}.nav-grandchild{padding-left:24px!important;font-size:12px!important}.header-actions{display:flex;align-items:center;gap:18px}.header-search{border:0}.header-cta{font-size:12px;padding:11px 17px;min-height:42px}.mobile-menu{display:none}.mobile-menu>summary::after{display:none}.site-footer{background:#f0eae3;border-top:1px solid var(--border);padding:58px 0 22px}.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:70px}.footer-grid h2{font-size:13px;font-weight:700;letter-spacing:0;margin:8px 0 18px}.footer-grid>div>a:not(.brand){display:block;font-size:13px;margin-bottom:10px;width:fit-content}.footer-grid p{font-size:14px;color:var(--muted);max-width:340px}.footer-intro .brand{font-size:34px;margin-bottom:18px;gap:0}.footer-bottom{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-top:40px;padding-top:20px;border-top:1px solid var(--border);color:var(--muted);font-size:11px}.footer-bottom>div{display:flex;gap:20px;flex-wrap:wrap}.footer-bottom small{font-size:11px}
dialog{color:var(--text);border:0;padding:0;border-radius:18px;box-shadow:0 30px 100px #0004}dialog::backdrop{background:#1c1015b3;backdrop-filter:blur(3px)}.gallery-dialog{background:#20191b;color:#fff;width:min(1100px,calc(100% - 24px));max-height:95dvh;padding:14px}.gallery-toolbar{display:flex;justify-content:space-between;align-items:center;padding:0 6px 10px;font-size:13px}.gallery-stage{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:15px}.gallery-stage img{width:100%;height:min(68dvh,720px);object-fit:contain;min-width:0}.gallery-dialog .icon-button{border-color:#ffffff50}.gallery-dialog>p{font-size:13px;text-align:center;padding:12px 0 0;margin:0}.gallery-dialog button:focus-visible{outline-color:var(--gold)}@media(max-width:1120px){.container{width:calc(100% - 48px)}.desktop-nav{gap:16px}.header-cta{display:none}.footer-grid{gap:40px}}
@media(max-width:899px){.desktop-nav{display:none}.header-inner{height:76px;gap:12px}.header-actions{margin-left:auto}.mobile-menu{display:block}.mobile-menu>nav{position:absolute;left:0;right:0;top:100%;background:var(--bg);border-bottom:1px solid var(--border);padding:16px 24px;box-shadow:0 20px 20px #30192210;max-height:75dvh;overflow:auto}.mobile-menu nav>a{display:block;padding:12px 0;font-size:16px;border-bottom:1px solid var(--border)}.mobile-menu nav details{padding:8px 14px}.mobile-menu nav details a{display:block;padding:9px 0;font-size:14px}.footer-grid{grid-template-columns:1.3fr 1fr;gap:32px}.footer-intro{grid-column:1/-1}.footer-intro p{max-width:460px}}
@media(max-width:640px){.container{width:calc(100% - 36px)}.section{padding:42px 0}.section-head{align-items:flex-start;gap:15px}.section-head>p{display:none}.section-head h2{font-size:25px}.section-head .text-link{font-size:12px;gap:12px;white-space:nowrap}.brand{font-size:25px}.announcement{font-size:9px;padding:8px 10px}.header-inner{height:70px}.site-footer{padding-top:38px}.footer-grid{gap:26px}.footer-grid p{font-size:13px}.footer-bottom{align-items:flex-start;flex-direction:column;margin-top:28px;gap:14px}.gallery-stage{grid-template-columns:35px 1fr 35px;gap:5px}.gallery-stage>.icon-button{padding:7px;min-width:35px}.gallery-dialog{padding:8px}.gallery-stage img{height:60dvh}}
.listing-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.directory-filters>summary::after{display:none}
@media(max-width:1000px){.listing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.listing-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
