.media-frame{position:relative;margin:0;overflow:hidden;background:#e2ebf3}
.media-frame>.media-image{display:block;width:100%;height:100%;object-fit:inherit;object-position:inherit;border-radius:inherit}
.media-frame>.photo-credit{position:absolute;bottom:0;left:0;max-width:100%;padding:4px 8px;background:#fffaf0f0;color:#192d32;font:10px/1.4 Arial,Helvetica,sans-serif;letter-spacing:0;text-align:left}
.media-frame.profile-photo{margin-bottom:30px}
.media-frame.shop-photo,.media-frame.artist-card-image,.media-frame.story-card-image{margin-bottom:20px}
.event-announcement{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;min-height:400px;padding:35px;background:var(--paper);border:8px solid var(--forest);text-align:center}
.event-announcement>img{width:150px;height:auto}
.event-announcement>strong{font-size:clamp(2rem,3.5vw,3.8rem);line-height:1.05;letter-spacing:-.04em}
.event-announcement>span{font-size:20px;font-weight:500;color:var(--blue)}
.image-credits-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:35px}
.image-credit-entry{min-width:0;padding-top:24px;border-top:2px solid var(--forest)}
.image-credit-entry>.media-frame{height:270px;margin-bottom:20px}
.image-credit-entry h2{font-size:28px;line-height:1.15}
.image-credit-entry p,.image-credit-entry li{font-size:14px;overflow-wrap:anywhere}
@media(max-width:700px){.event-announcement{min-height:300px;padding:25px;gap:18px}.event-announcement>img{width:120px}.event-announcement>span{font-size:18px}.image-credits-grid{grid-template-columns:1fr}.image-credit-entry>.media-frame{height:250px}}
.card-content-link{display:block;text-decoration:none;color:inherit}.card-content-link:hover h3{text-decoration:underline;text-underline-offset:5px}
.media-frame .photo-attribution{position:absolute;inset:0;margin:0!important;pointer-events:none}
.photo-info{position:absolute;right:10px;bottom:10px;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#fffaf0eb;color:#192d32;pointer-events:auto;text-decoration:none;font:italic 500 18px/1 Georgia,serif;box-shadow:0 1px 6px #0003}
.media-frame .photo-credit{position:absolute;right:48px;bottom:12px;left:auto;max-width:calc(100% - 65px);padding:4px 8px;background:#fffaf0f5;color:#192d32;font:11px/1.4 Arial,Helvetica,sans-serif;letter-spacing:0;text-align:left;opacity:0;visibility:hidden;pointer-events:none}
.photo-attribution:hover .photo-credit,.photo-attribution:focus-within .photo-credit{visibility:visible;opacity:1}.photo-info:focus-visible{outline:3px solid #174a95;outline-offset:2px}
.business-emblem{min-height:340px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--sun);padding:35px;text-align:center;gap:22px}.business-emblem img{width:150px;height:auto}.business-emblem span{font-size:12px;text-transform:uppercase;letter-spacing:.12em}.business-emblem strong{font-size:32px;line-height:1.1}
.source-notes article{padding:25px 0;border-bottom:1px solid var(--line)}.source-notes h2,.legal-copy h2{font-size:30px}.source-notes li,.source-index li{overflow-wrap:anywhere;font-size:14px}.source-index article{padding-block:20px}.source-index h3{font-size:25px}.source-index summary{font-size:23px;font-weight:500}
.neighbourhood{background:#e2ebf3}.neighbourhood-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.neighbourhood-grid article{padding:30px;background:#fffaf0;border-top:5px solid var(--water)}.neighbourhood-grid article:nth-child(2){border-color:var(--mosaic)}.neighbourhood-grid article:nth-child(3){border-color:var(--forest)}.neighbourhood-grid h3{font-size:34px}.neighbourhood-grid p{font-size:15px}.neighbourhood-grid a{font-size:14px;font-weight:500}
.seasonal-spotlight{margin:0;padding:42px 5vw 30px;background:#174a70;border:0;color:#fff6df;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:35px;position:relative;isolation:isolate;overflow:hidden}.seasonal-spotlight.is-advent{background:#163f40}.seasonal-copy{position:relative;z-index:1}.seasonal-spotlight .eyebrow{color:#f5ca64;font-size:11px;margin-bottom:18px}.seasonal-spotlight h2{font-size:clamp(3rem,5.8vw,6.2rem);max-width:700px;line-height:.98;margin-bottom:18px;letter-spacing:-.045em}.seasonal-spotlight .seasonal-date{display:block;font:italic clamp(1.7rem,3vw,2.7rem)/1.15 Georgia,serif;color:#f5ca64;margin:0 0 22px}.seasonal-spotlight .seasonal-copy>p:not(.seasonal-date){max-width:550px;font-size:15px;line-height:1.6}.seasonal-actions{display:flex;align-items:center;flex-wrap:wrap;gap:15px;margin:24px 0 20px}.seasonal-spotlight .seasonal-button{background:#f5ca64;color:#163f40;border:0;padding:15px 22px;font-weight:500}.seasonal-actions>a:last-child{font-size:12px}.seasonal-hours{list-style:none;padding:0;margin:18px 0 0;display:flex;flex-wrap:wrap;gap:8px 20px;font-size:11px;line-height:1.5}.seasonal-illustration{position:relative;min-width:0;align-self:center;padding-top:15px}.seasonal-illustration .seasonal-houses{display:block;width:100%;height:auto;max-height:420px}.seasonal-illustration .seasonal-cow{position:absolute;top:5px;left:40%;width:115px;height:auto;transform:rotate(-7deg)}.seasonal-illustration>span{display:block;text-align:center;font-size:10px;letter-spacing:.15em;margin-top:8px;color:#ffe3a1}.event-announcement{position:relative;background:#163f40;color:#fff6df;border:0;overflow:hidden;padding:15px 30px 30px;gap:14px}.event-announcement>.event-hof-illustration{width:100%;height:auto;max-height:300px;object-fit:contain}.event-announcement>img:not(.event-hof-illustration){display:none}.event-announcement>span{color:#f5ca64}.event-announcement>strong{font-size:clamp(2rem,3vw,3.2rem)}
@media(max-width:850px){.neighbourhood-grid{grid-template-columns:1fr}.seasonal-spotlight{grid-template-columns:minmax(0,1fr) minmax(0,.7fr);gap:20px}.seasonal-illustration .seasonal-cow{width:85px;top:10px}.seasonal-spotlight h2{font-size:clamp(2.8rem,7vw,4rem)}}
@media(max-width:600px){.seasonal-spotlight{display:flex;flex-direction:column;padding:28px 6vw 24px;gap:8px}.seasonal-spotlight h2{font-size:clamp(2.7rem,12vw,4.1rem)}.seasonal-spotlight .eyebrow{font-size:9px;margin-bottom:14px}.seasonal-spotlight .seasonal-date{font-size:1.8rem;margin-bottom:16px}.seasonal-spotlight .seasonal-copy>p:not(.seasonal-date){font-size:14px;margin-bottom:10px}.seasonal-actions{margin-block:18px 12px}.seasonal-actions>a:last-child{display:none}.seasonal-hours{margin-top:12px;display:block;font-size:11px}.seasonal-hours li+li{margin-top:3px}.seasonal-illustration{width:100%;max-width:330px;padding-top:0;margin-top:0}.seasonal-illustration .seasonal-houses{max-height:230px}.seasonal-illustration .seasonal-cow{width:75px;top:0}.seasonal-illustration>span{font-size:8px;margin-top:0}.neighbourhood-grid article{padding:25px}}
@media print{.photo-info{display:none}.media-frame .photo-credit{opacity:1;visibility:visible;bottom:0;right:0;max-width:100%;font-size:9px}.seasonal-spotlight{background:#fff;color:#000}.seasonal-spotlight .eyebrow,.seasonal-spotlight .seasonal-date{color:#000}.seasonal-illustration{display:none}}
.photo-info{background:transparent;box-shadow:none;color:#fff;text-shadow:0 1px 3px #000,0 0 2px #000}
.participant-access{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:50px}.participant-access h2{font-size:36px}.participant-access>div{min-width:0}.participant-access .fine{font-size:12px}.participant-cookie-note{grid-column:1/-1}.submission .consent-row{display:flex;flex-direction:row;align-items:flex-start;gap:12px;font-size:14px}.submission .consent-row input{width:20px;min-width:20px;min-height:20px;margin:3px 0 0}.submission-account{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid;padding-bottom:15px;margin-bottom:35px;font-size:14px}.submission-notice{padding-block:25px;background:#f5ca64}.submission input[type=file]{max-width:100%;font-size:13px}.submission .event-dates{border:1px solid var(--line);padding:20px;margin:0 0 30px}.event-dates legend{font-weight:500;padding:0 5px}.map-attribution{font-size:11px;margin:8px 0 0}.map-attribution a{text-decoration:underline}.map-shop .media-frame{height:170px;margin-bottom:15px}.map-shop .media-image{height:100%;margin:0}.map-shop .photo-credit{font-size:10px;margin:0}.map-shop .photo-info{font-size:18px}.map-shop>a{display:block;text-decoration:none}.map-shop .photo-attribution{font-size:inherit}
@media(max-width:700px){.participant-access{grid-template-columns:1fr;gap:35px}.participant-cookie-note{grid-column:auto}.participant-access h2{font-size:30px}}
.photo-attribution:hover .photo-credit,.photo-attribution:focus-within .photo-credit{pointer-events:auto}.photo-attribution[data-credit-dismissed] .photo-credit{opacity:0;visibility:hidden}.media-frame{overflow:visible}.media-frame>.media-image{border-radius:inherit}
h1,h2,h3{overflow-wrap:anywhere}.detail-hero>*,.artist-detail>*{min-width:0}@media(max-width:400px){.detail-hero h1{font-size:2.65rem}}
.source-notes li+li,.source-index li+li{margin-top:8px}.source-notes a,.source-index a{display:inline-block;min-height:32px;padding-block:4px}
.profile-grid>*{min-width:0}.business-emblem strong{max-width:100%;overflow-wrap:anywhere}

/* Light, consistent hierarchy; local system typefaces only. */
body{font-weight:400;font-synthesis:none}h1,h2,h3,h4,h5,h6,strong,b,summary,legend,dt,th,button{font-weight:500}h1,h2,h3{letter-spacing:-.025em}p,li,dd{font-weight:400}
.media-frame.media-fit-contain>.media-image{object-fit:contain;padding:14px;background:var(--paper)}.media-fit-contain .photo-info{color:#192d32;text-shadow:0 0 2px #fff,0 0 4px #fff}.profile-facts .business-logo{height:155px;width:100%;margin-bottom:30px}.business-description p{line-height:1.7}.business-offers{padding-left:22px}.business-offers li+li{margin-top:8px}.business-links{list-style:none;padding:0;margin:25px 0}.business-links a{display:inline-block;padding-block:7px;min-height:32px}.business-hours,.business-address{line-height:1.6}
.seasonal-illustration .seasonal-star{position:absolute;top:7%;right:3%;width:84px;height:84px;background:transparent}.seasonal-star.media-fit-contain>.media-image{padding:0;background:transparent}.seasonal-star .photo-info{right:0;bottom:-6px;color:#fff;text-shadow:0 1px 3px #000}.seasonal-star .photo-credit{min-width:150px}
@media(max-width:600px){.seasonal-illustration .seasonal-star{width:64px;height:64px;top:2%;right:0}.business-description p{font-size:16px}}

.site-plan .plan-zone>.plan-area{opacity:.82;transition:opacity .15s,stroke .15s}.site-plan .plan-zone:hover>.plan-area,.site-plan .plan-zone:focus-visible>.plan-area,.site-plan .plan-zone[aria-pressed=true]>.plan-area{opacity:1;stroke:#192d32;stroke-width:5}.site-plan .plan-zone .plan-marker{pointer-events:auto}.site-plan .plan-zone[aria-pressed=true] .plan-selection,.site-plan .plan-zone:focus-visible .plan-selection{opacity:1}.site-plan .plan-zone[aria-pressed=true] .plan-dot{stroke-width:5}.site-plan .plan-zone:hover .plan-dot{stroke:#192d32}.site-plan .plan-zone text{font-weight:500}

.media-frame.media-logo,.media-frame.media-logo>.media-image{background:transparent}
.shop-brand{display:grid;place-items:center;background:transparent;margin:0 0 20px}
.shop-brand>img{display:block;width:min(150px,70%);max-width:100%;height:auto;margin:0;object-fit:contain}
.map-shop>.shop-brand{height:170px;margin-bottom:15px}
.business-description h2{font-size:clamp(1.6rem,2.5vw,2.2rem);line-height:1.2;margin-bottom:22px;overflow-wrap:anywhere}

.media-frame>.photo-link{display:block;width:100%;height:100%;object-fit:inherit;object-position:inherit;border-radius:inherit;overflow:hidden}.photo-link>.media-image{display:block;width:100%;height:100%;object-fit:inherit;object-position:inherit;border-radius:inherit}.photo-link:focus-visible{outline-offset:4px}

.arrival-section{padding-top:20px}.arrival-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:50px;align-items:start}.arrival-layout>*{min-width:0}.arrival-map-canvas{border:1px solid var(--line);overflow:hidden;background:var(--sky)}.arrival-map{display:block;width:100%;height:auto}.arrival-directions h3{font-size:30px;margin-bottom:18px}.arrival-directions h3:not(:first-child){margin-top:35px}.arrival-directions p{font-size:16px;line-height:1.65}.arrival-stops{list-style:none;padding:0;margin:25px 0}.arrival-stops li{display:flex;align-items:center;gap:12px;margin:12px 0}.arrival-stops span{display:grid;place-items:center;min-width:36px;height:36px;background:var(--sun);color:var(--ink);font-weight:500}
@media(max-width:850px){.arrival-layout{grid-template-columns:1fr;gap:30px}.arrival-map-canvas{max-width:700px}}@media(max-width:600px){.arrival-map .arrival-site-label{font-size:38px}.arrival-map .arrival-stop-label{font-size:38px}.arrival-map .arrival-stop-line{font-size:30px}.arrival-map .arrival-stop-symbol{font-size:38px}.arrival-map .arrival-stop-dot{r:32px}.arrival-map .arrival-street{font-size:28px}.arrival-directions h3{font-size:28px}}

.media-frame.media-blend-multiply>.media-image{mix-blend-mode:multiply}.business-kitchen-hours{line-height:1.6}

.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
.hero h1 em{white-space:normal}.footer-wordmark{overflow-wrap:anywhere;max-width:100%}.footer-top>*{min-width:0}.photo-info{width:44px;height:44px;right:3px;bottom:3px}.photo-credit{right:52px!important}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #174a95;outline-offset:4px;box-shadow:0 0 0 4px #fffaf0}main:focus{outline:none}
.form-errors{padding:20px;border:2px solid #8b251b;background:#fffaf0;margin-bottom:25px;scroll-margin-block:30px}.form-errors:focus{outline:3px solid #174a95;outline-offset:4px}.form-errors-title{font-weight:500}.form-errors a{display:inline-block;padding-block:5px;min-height:32px}.field-error{color:#8b251b;font-size:14px;margin:-12px 0 25px;line-height:1.5}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border:2px solid #8b251b}.submission-notice:focus{outline:3px solid #174a95;outline-offset:-5px}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition:none!important;scroll-behavior:auto!important}}

.participant-signout{display:inline-block;min-height:44px;padding:10px 4px}

.site-plan .plan-zone:focus-visible .plan-selection{stroke:#174a95;stroke-width:5;stroke-dasharray:4 4}

.image-credit-entry:focus{outline:3px solid #174a95;outline-offset:6px}.photo-info{text-shadow:-1px -1px 0 #192d32,1px -1px 0 #192d32,-1px 1px 0 #192d32,1px 1px 0 #192d32}.media-fit-contain .photo-info{text-shadow:-1px -1px 0 #fff,1px -1px 0 #fff,-1px 1px 0 #fff,1px 1px 0 #fff}

.media-frame[data-media-id="tiki-logo"]{display:flex;align-items:center;justify-content:center}
/* Match Lady Yule's visible width while preserving the wider Tiki oval. */
.media-frame[data-media-id="tiki-logo"]>.media-image{width:auto;height:auto;max-width:calc(100% - 28px);max-height:calc((100% - 28px) * .69);padding:0;clip-path:ellipse(50% 50% at 50% 50%)}

/* Pictures preserve the existing figure/link layout and accessible credits. */
.media-picture{display:contents;object-fit:inherit;object-position:inherit;border-radius:inherit}.media-picture>.media-image{display:block;width:100%;height:100%;object-fit:inherit;object-position:inherit;border-radius:inherit}.media-fit-contain .media-picture>.media-image{object-fit:contain;padding:14px;background:var(--paper)}.media-logo .media-picture>.media-image{background:transparent}.media-blend-multiply .media-picture>.media-image{mix-blend-mode:multiply}.seasonal-star .media-picture>.media-image{padding:0;background:transparent}

.media-frame[data-media-id="tiki-logo"] .media-picture>.media-image{width:auto;height:auto;max-width:calc(100% - 28px);max-height:calc((100% - 28px) * .69);padding:0;clip-path:ellipse(50% 50% at 50% 50%)}
html[data-kh-palette=dark] .media-blend-multiply .media-picture>.media-image{mix-blend-mode:normal;background:#fff}

.media-frame[data-media-id="dodo-logo"]{display:flex;align-items:center;justify-content:center}
.media-frame[data-media-id="dodo-logo"] .media-picture>.media-image{width:auto;height:auto;max-width:calc(100% - 28px);max-height:calc(100% - 28px);padding:0;clip-path:circle(46% at 50% 49%)}
