:root{--ink:#252b2b;--red:#a53036;--paper:#fff;--soft:#f5f4f1;--line:#dddcd8}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font:17px/1.65 Arial,sans-serif}a{color:inherit}img{max-width:100%;display:block}header{padding:24px 5%;display:flex;justify-content:space-between;align-items:center;gap:24px;border-bottom:1px solid var(--line)}.brand{text-decoration:none;font:30px/1.1 Georgia,serif;letter-spacing:.02em}.brand small{display:block;font:11px Arial,sans-serif;letter-spacing:.3em;margin-top:8px;text-transform:uppercase}nav{display:flex;gap:30px;flex-wrap:wrap}nav a{text-decoration:none;font-size:15px}nav a[aria-current=page]{color:var(--red);border-bottom:2px solid var(--red)}.hero{min-height:570px;position:relative;display:flex;align-items:end;color:white;background:#303f39}.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.77),transparent 80%)}.hero-content{position:relative;z-index:1;padding:55px 6%;max-width:780px}.hero h1{font:clamp(32px,4vw,53px)/1.15 Georgia,serif;margin:0 0 16px}.hero p{margin-bottom:24px}.button{background:var(--red);color:white;padding:13px 24px;text-decoration:none;display:inline-block;font-size:15px}.button.light{background:white;color:var(--ink)}main>section,.page{max-width:1320px;margin:auto;padding:66px 6%}h1,h2,h3{font-family:Georgia,serif;font-weight:normal;line-height:1.2}h1{font-size:clamp(36px,5vw,60px)}h2{font-size:38px;margin:0 0 24px}h3{font-size:26px;margin:15px 0}.eyebrow{font-size:13px;text-transform:uppercase;letter-spacing:.2em;color:var(--red)}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.card{text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:20px}.card img{width:100%;height:260px;object-fit:cover}.card .date{background:var(--red);color:white;display:inline-block;padding:8px 14px;font-size:14px;margin-top:-25px;position:relative}.card p{margin:8px 0;font-size:15px}.card .no-photo{background:var(--soft);height:180px;display:flex;align-items:center;justify-content:center;font:24px Georgia,serif;color:var(--red)}.paths{display:grid;grid-template-columns:1fr 1fr;gap:36px;background:var(--soft)}.paths>div{padding:12px 0}.stats{display:flex;justify-content:space-around;text-align:center;gap:24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.stats strong{font:42px Georgia,serif;display:block}.stats span{font-size:14px}.intro{max-width:800px}.intro p{font-size:19px}.links{display:flex;gap:30px;flex-wrap:wrap}.details{display:grid;grid-template-columns:2fr 1fr;gap:50px}.facts{padding:24px;background:var(--soft);align-self:start}.facts dt{font-size:13px;text-transform:uppercase;color:var(--red);margin-top:18px}.facts dd{margin:4px 0 0}.page-head{background:var(--soft);padding:50px 6%}.page-head>div{max-width:1160px;margin:auto}.page-head h1{max-width:900px;margin:12px 0}.page img.event-photo{width:100%;max-height:500px;object-fit:cover;margin-bottom:36px}.application-row{display:flex;align-items:center;justify-content:space-between;padding:22px 0;border-bottom:1px solid var(--line);gap:24px}.application-row h2{font-size:25px;margin:0 0 5px}.application-row p{margin:0;font-size:15px}footer{background:#242b2b;color:white;padding:45px 6%;font-size:14px}footer>div{max-width:1160px;margin:auto;display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}footer a{color:white}.skip{position:absolute;left:-9999px}.skip:focus{left:10px;top:10px;z-index:10;background:white;padding:10px}a:focus-visible{outline:3px solid #db9c29;outline-offset:5px}@media(max-width:800px){header{display:block}.brand{display:block;margin-bottom:25px}nav{gap:16px}.hero{min-height:480px}.grid{grid-template-columns:1fr 1fr}.paths,.details{grid-template-columns:1fr}.stats strong{font-size:32px}.section-heading{align-items:start}main>section,.page{padding:45px 6%}}@media(max-width:520px){.grid{grid-template-columns:1fr}.stats{flex-direction:column}.section-heading{display:block}.application-row{display:block}.application-row .button{margin-top:16px}.hero p{font-size:16px}.card img{height:250px}h2{font-size:32px}}
.festival-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:60px;align-items:start}.festival-content{min-width:0;max-width:800px}.festival-content h2{font-size:30px;margin:42px 0 20px}.festival-content h2:first-child{margin-top:0}.festival-content h3{font-size:23px;margin:30px 0 12px}.festival-content p{margin:0 0 20px}.festival-content ul,.festival-content ol{padding-left:24px}.festival-content li{margin-bottom:9px}.festival-content table{width:100%;border-collapse:collapse;display:block;overflow-x:auto;margin:24px 0}.festival-content td,.festival-content th{padding:12px;border-bottom:1px solid var(--line);text-align:left}.festival-content hr{border:0;border-top:1px solid var(--line);margin:35px 0}.festival-content a:not(.button){overflow-wrap:anywhere;color:var(--red)}.festival-sidebar{position:sticky;top:25px;background:var(--soft);padding:25px}.festival-sidebar h2{font-size:26px}.festival-sidebar .facts{padding:0}.festival-sidebar .button{display:block;text-align:center;margin-top:25px}.resource-links a{display:block;margin:12px 0;font-size:15px;color:var(--red)}.resource-links h3{font-size:23px}.festival-gallery{margin-top:60px}.festival-gallery>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.festival-gallery img{width:100%;height:290px;object-fit:contain;background:var(--soft)}.related-festivals{margin-top:65px;border-top:1px solid var(--line);padding-top:45px}.breadcrumbs{font-size:14px;margin-top:0}.festival-page .event-photo{max-height:550px}@media(max-width:850px){.festival-layout{grid-template-columns:1fr;gap:35px}.festival-sidebar{position:static}.festival-gallery>div{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.festival-gallery>div{grid-template-columns:1fr}.festival-content h2{font-size:27px}.festival-content h3{font-size:23px}.festival-page .event-photo{max-height:320px}}

.about-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:60px;align-items:start}.about-layout aside{position:sticky;top:25px}.about-layout aside img{width:100%;height:360px;object-fit:cover}.about-layout aside p{font:22px Georgia,serif}.festival-toc{background:var(--soft);padding:20px;margin-bottom:30px}.festival-toc summary{cursor:pointer;color:var(--red);font-size:16px}.festival-toc nav{display:grid;gap:8px;margin-top:16px}.festival-toc a{font-size:15px;text-decoration:underline}.festival-content h2{scroll-margin-top:30px}.calendar-link{font-size:14px;color:var(--red)}@media(max-width:850px){.about-layout{grid-template-columns:1fr}.about-layout aside{position:static}.about-layout aside img{height:280px}}

.calendar-sections{margin-bottom:45px}.calendar-sections a{color:var(--red);font-size:16px}.calendar-group{margin-top:70px;border-top:1px solid var(--line);padding-top:45px}.event-notice{padding:20px 24px;background:var(--soft);border-left:4px solid var(--red);margin-bottom:35px}.calendar-group .card .no-photo{height:260px}h2[id]{scroll-margin-top:25px}
/* Approved mockup: wide festival rows, audience panels and sponsor pathway. */
header{padding:22px 4%;gap:28px}.brand{flex-shrink:0}.brand img{width:235px;height:auto}.brand small{font-size:9px;letter-spacing:.12em;color:#646664;margin-top:10px}header nav{gap:22px;justify-content:flex-end}header .desktop-nav a{font-size:17px}.hero{min-height:530px}.hero-content{max-width:720px;padding:45px 6%}.hero h1{font-size:clamp(30px,3.1vw,43px);max-width:600px}.hero p{font-size:17px;max-width:530px;line-height:1.4}.featured-festivals{display:grid;gap:20px}.featured-event{display:grid;grid-template-columns:minmax(0,1.1fr) 130px minmax(0,1fr);gap:28px;align-items:center;text-decoration:none;box-shadow:0 1px 12px #252b2b0c;border:1px solid #eee;transition:border-color .2s}.featured-event:hover{border-color:var(--red)}.featured-event>img{width:100%;height:205px;object-fit:cover}.featured-date{padding:20px 14px;background:var(--red);color:white;text-align:center;font-size:19px;line-height:1.35}.featured-info{padding:20px 24px 20px 0}.featured-info h3{font-size:27px;margin:0 0 8px}.featured-info p{margin:0 0 18px;font-size:15px;color:#676767}.featured-info span{color:var(--red);font-size:13px;text-transform:uppercase;letter-spacing:.08em}.audience-paths{display:grid;grid-template-columns:1fr 1fr;gap:32px;padding-top:15px!important}.audience-panel{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1fr);gap:26px;align-items:start}.audience-panel>img{width:100%;height:100%;min-height:380px;object-fit:cover}.audience-panel h2{font-size:30px;color:var(--red);margin:12px 0}.audience-panel p{font-size:16px}.audience-panel ul{list-style:none;padding:0;font-size:14px;line-height:2}.audience-panel ul a{text-decoration:none;border-bottom:1px solid #ddd}.stats{background:#f1eee6;padding-top:45px!important;padding-bottom:45px!important}.stats>div{flex:1;padding:0 20px;border-right:1px solid #d4d0c5}.stats>div:last-child{border:0}.stats strong{font-size:34px}.homepage-story>.lead{max-width:970px;font-size:19px}.story-columns,.guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px}.story-columns p,.guide-grid p{font-size:16px}.story-columns h3{font-size:27px}.homepage-story .links{margin-top:30px;font-size:15px}.sponsor-logos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;align-items:center;margin:36px 0}.sponsor-logos>div{display:flex;align-items:center;justify-content:center;padding:18px;background:white;min-height:125px}.sponsor-logos img{width:auto;max-width:100%;height:auto;max-height:105px;object-fit:contain}.home-sponsors{border-top:1px solid var(--line)}.sponsor-inquiry{margin-top:55px;padding:35px;background:var(--soft)}.guide-grid>div{scroll-margin-top:30px;border-top:1px solid var(--line);padding-top:25px}.guide-grid h2{font-size:29px}.artist-guide{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:55px}.footer-links{display:flex;gap:18px;flex-wrap:wrap}.button:hover{background:#81252a}.button.light:hover{background:#f4eee8}
@media(max-width:1100px){header{flex-direction:column;align-items:flex-start}header nav{justify-content:flex-start}.audience-paths{gap:25px}.audience-panel{display:block}.audience-panel>img{height:210px;min-height:0;margin-bottom:24px}.featured-event{grid-template-columns:minmax(0,1fr) 115px minmax(0,1fr);gap:20px}}
@media(max-width:700px){.featured-event{grid-template-columns:90px minmax(0,1fr);gap:18px}.featured-event>img{grid-column:1/-1;height:225px}.featured-date{margin-left:15px;font-size:16px;padding:14px 9px}.featured-info{padding:0 15px 20px 0}.featured-info h3{font-size:24px}.featured-info p{font-size:14px}.audience-paths,.story-columns,.guide-grid,.artist-guide{grid-template-columns:1fr}.audience-panel{display:grid;grid-template-columns:1fr 1.2fr;gap:22px}.audience-panel>img{height:100%;min-height:350px;margin:0}.audience-panel h2{font-size:27px}.sponsor-logos{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.stats{flex-direction:column}.stats>div{border:0;padding:10px}.hero{min-height:420px}header nav{gap:15px}.hero-content{padding:32px 6%}}
@media(max-width:440px){.audience-panel{display:block}.audience-panel>img{height:210px;min-height:0;margin-bottom:22px}.brand img{width:220px}.sponsor-inquiry{padding:25px}.featured-info h3{font-size:22px}}
.mobile-menu{display:none}.artist-calendar{margin-bottom:55px}.artist-calendar-heading{margin-bottom:25px}.artist-calendar-heading h2{margin-bottom:10px}.artist-show{display:grid;grid-template-columns:190px minmax(0,1fr) 210px;gap:28px;align-items:center;padding:25px 0;border-bottom:1px solid var(--line)}.artist-show-date{color:var(--red);font-size:18px;font-weight:600}.artist-show h3{font-size:24px;margin:0 0 8px}.artist-show h3 a{text-decoration:none}.artist-show p{font-size:14px;margin:0 0 9px;color:#666}.show-detail-link{font-size:14px;color:var(--red)}.artist-show-action .button{font-size:13px;padding:13px 17px}.application-status{display:block;font-size:14px;color:#636363;padding:15px 0}.art-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.art-gallery a{background:var(--soft);padding:20px;display:flex;align-items:center;justify-content:center}.art-gallery img{height:330px;width:100%;object-fit:contain}.festival-content{overflow-wrap:anywhere}.facts dd{overflow-wrap:anywhere}.resource-links a{overflow-wrap:anywhere}
@media(max-width:800px){header{flex-direction:row;justify-content:space-between;align-items:center;flex-wrap:wrap}header .brand{margin:0}.desktop-nav{display:none}.mobile-menu{display:block;min-width:80px}.mobile-menu summary{cursor:pointer;padding:12px;border:1px solid var(--line);font-size:15px}.mobile-menu[open]{flex-basis:100%;order:2}.mobile-menu nav{display:flex;flex-direction:column;gap:0;margin-top:12px}.mobile-menu nav a{min-height:44px;padding:10px 0;border-bottom:1px solid var(--line)}.artist-show{grid-template-columns:150px minmax(0,1fr);gap:15px}.artist-show-action{grid-column:2}.artist-show h3{font-size:23px}.art-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.art-gallery img{height:250px}}
@media(max-width:520px){.artist-show{grid-template-columns:1fr;gap:12px;padding:25px 0}.artist-show-action{grid-column:auto}.artist-show-date{font-size:17px}.artist-show-action .button{min-height:44px}.brand img{width:190px}.brand small{font-size:8px}.art-gallery{grid-template-columns:1fr}.art-gallery img{height:auto;max-height:420px}.footer-links a{min-height:44px;padding:10px 0}.facts{padding:18px}.festival-sidebar{min-width:0}}
/* Supporting pages: visitor planning and direct inquiry paths. */
.support-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:60px;align-items:center}.support-intro h2{font-size:38px;line-height:1.15}.support-photo{margin:0}.support-photo img{width:100%;height:390px;object-fit:cover}.support-photo figcaption{font-size:13px;color:#666;padding-top:12px;line-height:1.5}.support-callout{background:var(--soft);display:flex;align-items:center;justify-content:space-between;gap:35px;margin:35px 4% 65px;padding:40px}.support-callout h2{margin:0 0 12px}.support-callout p{margin:0}.section-links{display:flex;flex-wrap:wrap;gap:12px 28px;border-block:1px solid var(--line);padding:22px 0;margin-bottom:45px}.section-links a{color:var(--red);font-size:14px}.visit-row{display:grid;grid-template-columns:170px minmax(0,1fr) 200px;align-items:center;gap:28px;border-bottom:1px solid var(--line);padding:28px 0}.visit-date{font-size:19px;color:var(--red);font-weight:600}.visit-row h3{font-size:25px;margin:0 0 8px}.visit-row h3 a{text-decoration:none}.visit-row p{margin:5px 0;font-size:14px}.visit-address{color:#666}.visit-hours{display:block;font-size:14px;margin-bottom:12px}.visit-row>div:last-child a{font-size:14px;color:var(--red)}.support-guide{margin:55px 0}.support-guide>div{background:var(--soft);padding:30px}.support-faq{max-width:900px}.support-faq details{border-bottom:1px solid var(--line);padding:20px 0}.support-faq summary{cursor:pointer;font-size:18px}.support-faq details p{padding-right:20px}.support-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;margin:35px 0}.support-steps span{font-size:25px;color:var(--red);font-family:Georgia,serif}.support-steps h3{font-size:23px}.support-steps a{font-size:14px}.media-coming{border-left:3px solid var(--red);padding:3px 0 3px 24px;margin-top:30px}.media-coming h3{font-size:24px;margin:0 0 8px}.media-coming p{margin:0}.about-note{background:var(--soft);padding:28px;margin-top:25px}.about-note h2{font-size:32px}.about-note a{color:var(--red)}.contact-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:60px}.contact-direct{background:var(--soft);padding:35px;align-self:start}.contact-direct h2{font-size:36px}.contact-email,.contact-phone{display:block;color:var(--red);margin:16px 0;overflow-wrap:anywhere}.contact-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.contact-options article{border-bottom:1px solid var(--line);padding-bottom:25px}.contact-options h3{font-size:25px}.contact-options .links{gap:14px;align-items:flex-start}.contact-options a{font-size:14px}.support-intro>*,.contact-layout>*,.visit-row>*{min-width:0}
@media(max-width:850px){.support-intro{gap:30px}.support-intro h2{font-size:30px}.support-photo img{height:320px}.visit-row{grid-template-columns:135px minmax(0,1fr);gap:18px}.visit-row>div:last-child{grid-column:2}.support-callout{display:block}.support-callout .links{margin-top:25px}.support-steps{gap:24px}.contact-layout{grid-template-columns:1fr;gap:35px}}
@media(max-width:600px){.support-intro,.support-steps,.contact-options{grid-template-columns:1fr}.support-photo img{height:280px}.visit-row{grid-template-columns:1fr;gap:12px}.visit-row>div:last-child{grid-column:auto}.visit-row h3{font-size:23px}.support-callout{margin:25px 4% 40px;padding:25px}.section-links a{padding:7px 0}.contact-direct{padding:25px}.support-guide>div{padding:24px}.support-intro h2{font-size:32px}.support-steps>div{border-bottom:1px solid var(--line);padding-bottom:20px}}
.inquiry-section{border-top:1px solid var(--line)}.inquiry-section h2{font-size:36px}.inquiry-form{max-width:850px;margin-top:30px}.form-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.form-fields label{display:grid;gap:9px;font-size:14px}.form-fields input,.form-fields select,.form-fields textarea{width:100%;min-width:0;box-sizing:border-box;border:1px solid #bbb;background:white;border-radius:0;padding:14px;font:inherit;color:inherit}.form-fields :is(input,select,textarea):focus-visible{outline:2px solid var(--red);outline-offset:3px}.form-wide{grid-column:1/-1}.form-note,.form-preview-note{font-size:14px}.form-honeypot{display:none}.inquiry-form button{border:0;cursor:pointer}.inquiry-form button:disabled{opacity:.6;cursor:default}.form-status{min-height:28px;overflow-wrap:anywhere}.form-preview-note{padding:16px;background:var(--soft)}@media(max-width:600px){.form-fields{grid-template-columns:1fr}.inquiry-section h2{font-size:30px}}
.behind-teaser{background:var(--soft);display:grid;grid-template-columns:minmax(0,1fr);gap:35px}.behind-teaser:has(img){grid-template-columns:1fr 1fr;align-items:center}.behind-teaser h2{font-size:36px}.behind-teaser p{max-width:720px}.behind-teaser img,.story-grid img{width:100%;height:300px;object-fit:cover}.behind-topics{margin:28px 0}.behind-topics h3{font-size:22px;margin:24px 0 8px}.behind-topics p{font-size:15px}.festival-discover{background:var(--soft);padding:30px;margin:45px 0}.story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.artist-spotlight{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;margin:40px 0}.artist-spotlight:nth-of-type(even)>img{order:2}.artist-spotlight img{width:100%;max-height:550px;object-fit:contain}.editorial-story{max-width:1000px;margin:auto}.editorial-story>img{width:100%;max-height:600px;object-fit:contain}.editorial-stories,.featured-artists{padding-inline:0}.featured-artists h2{font-size:36px}@media(max-width:700px){.behind-teaser:has(img),.story-grid,.artist-spotlight{grid-template-columns:1fr}.artist-spotlight:nth-of-type(even)>img{order:0}.behind-teaser h2{font-size:30px}.festival-discover{padding:24px}.story-grid img{height:260px}}

.application-state{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.application-state small{font-size:12px;color:#646664}.application-state .application-status{font-size:15px;line-height:1.4}.application-state .show-detail-link{font-size:14px}

/* Layout and keyboard polish without changing the approved visual direction. */
:is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #165e67;outline-offset:4px}
footer a:focus-visible{outline-color:#f3bd62}
main:focus{outline:none}
header .desktop-nav a{display:inline-flex;align-items:center;min-height:44px}
:is(.calendar-sections,.section-links,.links) a{min-height:44px;display:inline-flex;align-items:center}
.festival-toc summary,.support-faq summary{min-height:44px;display:flex;align-items:center;gap:10px}
.festival-toc summary::before,.support-faq summary::before{content:'+';color:var(--red);font-size:22px}
.festival-toc[open] summary::before,.support-faq details[open] summary::before{content:'−'}
.festival-sidebar .application-state{margin-top:24px}
.festival-sidebar .application-state .button{margin-top:0}
.festival-content .content-heading-original-3{font-size:23px;margin:30px 0 12px}
.festival-content .content-heading-original-4{font-size:20px;margin:24px 0 12px}
.story-grid>*,.artist-spotlight>*,.audience-panel>*,.artist-show>*{min-width:0}
.editorial-story{max-width:1000px}
@media(max-width:600px){.festival-discover h2{font-size:28px}.festival-discover{padding:24px}.application-state .show-detail-link{min-height:44px;display:inline-flex;align-items:center}.mobile-menu summary{min-height:44px}.brand small{font-size:9px}}

.layout-review{display:flex;flex-wrap:wrap;gap:30px}.layout-review figure{margin:0;max-width:100%;overflow:auto}.layout-review figcaption{font-size:14px;margin-bottom:15px}

/* Candy's October review: black masthead and photographic festival cards. */
header{background:#050505;color:#fff;border-bottom-color:#292929;padding-top:12px;padding-bottom:12px}
.brand img{width:182px;height:94px;object-fit:contain}.brand small{color:#dedede;max-width:240px;line-height:1.5}
header nav a[aria-current=page]{color:#fff;border-bottom-color:#e8383d}header nav a:hover{color:#ffd9d9}
.mobile-menu summary{color:#fff;border-color:#777}.mobile-menu nav{background:#111;color:#fff}
.featured-festivals{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.featured-event{display:flex;flex-direction:column;align-items:stretch;gap:0;padding-bottom:22px}
.featured-event>img{height:190px;aspect-ratio:4/3;object-fit:cover}
.featured-date{order:2;margin:0 16px 18px;padding:0;background:transparent;color:var(--ink);text-align:left;font-size:14px;line-height:1.5}
.featured-info{display:contents}.featured-info h3{order:0;font-size:23px;margin:18px 16px 8px}.featured-info p{order:1;margin:0 16px 14px;font-size:14px}.featured-info span{order:3;margin:0 16px;padding:8px 12px;border:1px solid var(--red);text-align:center}
.stats{background:linear-gradient(#0009,#0009),url('/assets/desert-community.webp') center/cover;color:#fff;min-height:220px;border:0}
.stats>div{border-color:#ffffff80}.stats strong{font-size:34px}.stats span{font-size:15px}
@media(max-width:1100px){.featured-festivals{grid-template-columns:repeat(2,minmax(0,1fr))}.featured-event>img{height:240px}}
@media(max-width:700px){.featured-festivals{grid-template-columns:1fr}.featured-event>img{height:auto;aspect-ratio:4/3}.featured-info h3{font-size:25px}.stats{min-height:440px;background-position:30% center}.stats strong{font-size:30px}.brand{margin-bottom:0}}
/* Keep festival calls to action on the same baseline as titles wrap. */
.featured-info span{margin-top:auto}
.featured-date{min-height:3em}
@media(max-width:700px){.featured-date{min-height:0}.featured-info span{margin-top:0}}
[hidden]{display:none!important}

.legal-content{max-width:920px}.legal-content h2{font-size:28px;margin-top:36px}.legal-content h2:first-child{margin-top:0}.legal-content p{overflow-wrap:anywhere}

/* Frame Candy's original PNG without altering the supplied artwork. */
.brand-logo{position:relative;display:block;width:220px;aspect-ratio:1120/465;overflow:hidden;background:#000}
.brand .brand-logo img{position:absolute;display:block;width:149.285714%;max-width:none;height:auto;left:-25%;top:-52.688172%;object-fit:initial}
@media(max-width:520px){.brand-logo{width:190px}}

/* Visitor planning precedes long show descriptions on mobile and in reading order. */
.festival-content{grid-column:1;grid-row:1}.festival-sidebar{grid-column:2;grid-row:1}.festival-artist-resources{margin-top:48px;padding:28px;background:var(--soft)}
@media(max-width:850px){.festival-content,.festival-sidebar{grid-column:auto;grid-row:auto}}

/* Full artwork compositions and artist attribution in each festival feature. */
.artist-spotlight>figure{margin:0;min-width:0}.artist-spotlight:nth-of-type(even)>figure{order:2}.artist-spotlight figcaption{font-size:13px;margin-top:10px;color:#555}.artist-spotlight img{height:auto}
@media(max-width:700px){.artist-spotlight:nth-of-type(even)>figure{order:0}}

/* A small host portrait complements the existing Behind the Art festival image. */
.behind-host{display:flex;align-items:center;gap:20px;margin:28px 0}.behind-host img{width:140px;height:160px;object-fit:cover;object-position:30% center;border-radius:4px;flex:0 0 140px}.behind-host p{margin:0}.behind-host .host-name{font:24px/1.2 Georgia,serif}.behind-host .host-role{font-size:14px;line-height:1.5;margin-top:8px;color:#555}
@media(max-width:440px){.behind-host{gap:16px}.behind-host img{width:116px;height:140px;flex-basis:116px}.behind-host .host-name{font-size:21px}}

/* Keep the crowd visible when Candy's Kierland photo fills a wide frame. */
img[src*="50f13ac2e96862fd41b86ad429fee546f9459005"]{object-position:center bottom}
.page img.event-photo[src*="50f13ac2e96862fd41b86ad429fee546f9459005"]{height:auto}
