:root{--acid:#00d9ff;--black:#0a0a0a;--concrete:#e7e5df;--white:#f8f7f2;--grey:#777872;--line:#b9b8b1;--page:clamp(22px,4vw,72px);--display:"Archivo Black",sans-serif;--mono:"DM Mono",monospace;--sans:"Source Sans 3","Segoe UI",Arial,sans-serif}
/* Directory and transport data managers */
.admin-data-manager{display:grid;gap:1.25rem;padding:clamp(1.25rem,3vw,2.5rem);background:#fff;border:1px solid var(--line)}
.admin-data-manager>header{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;border-bottom:1px solid var(--line);padding-bottom:1.25rem}.admin-data-manager>header h2{margin:.15rem 0;font-size:clamp(2rem,4vw,3.5rem)}.admin-data-manager>header p{margin:.25rem 0;max-width:42rem}.admin-data-manager>header>div:last-child{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.admin-data-manager>h3{margin:1rem 0 0;font-size:1.15rem;text-transform:uppercase;letter-spacing:.08em}
.admin-manage-list{display:grid;border-top:1px solid var(--line)}.admin-manage-list article{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--line)}.admin-manage-list article.is-offline{opacity:.58}.admin-manage-list article>div{display:grid;gap:.2rem;min-width:0}.admin-manage-list article strong,.admin-manage-list article span{overflow-wrap:anywhere}.admin-manage-list article span{font-size:.85rem;color:var(--grey)}.admin-manage-list form{margin:0}
.admin-group-stack{display:grid;gap:1.25rem}.admin-record-group{border:1px solid var(--line);background:var(--white)}.admin-record-group.is-offline{border-style:dashed}.admin-record-group>header{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.2rem;background:var(--concrete);border-bottom:1px solid var(--line)}.admin-record-group>header>div{display:flex;align-items:center;gap:.8rem}.admin-record-group>header>div:last-child{flex-wrap:wrap;justify-content:flex-end}.admin-record-group>header h3{margin:0;font-size:1.1rem}.admin-record-group>header p{margin:.15rem 0 0;color:var(--grey);font-size:.82rem}.admin-record-group .admin-manage-list{padding:0 1.2rem;border-top:0}.admin-group-icon{display:grid;place-items:center;width:2.5rem;height:2.5rem;background:var(--black);color:#fff;font-size:1.2rem}.admin-group-empty{margin:0;padding:1rem 0;color:var(--grey)}
.admin-subheading{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-top:1.5rem;padding-bottom:.7rem;border-bottom:2px solid var(--black)}.admin-subheading h3{margin:.2rem 0 0;font-size:1.5rem}.admin-subheading p,.admin-subheading span{margin:0}.admin-subheading>span{color:var(--grey);font-size:.85rem}.admin-area-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.8rem}.admin-area-grid>article{display:flex;justify-content:space-between;gap:1rem;padding:1rem;border:1px solid var(--line);background:var(--white)}.admin-area-grid>article.is-offline{opacity:.58}.admin-area-grid>article>div{display:grid;gap:.2rem}.admin-area-grid>article>div:last-child{display:flex;align-items:center;gap:.65rem}.admin-area-grid span{font-size:.8rem;color:var(--grey)}.admin-area-grid form{margin:0}
.admin-tabs>a{min-height:58px;padding:14px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-right:1px solid #444;background:var(--black);color:#fff;font:500 11px var(--mono);letter-spacing:.08em;text-transform:uppercase}.admin-tabs>a:hover{color:var(--acid)}
.admin-directory-page{padding:70px var(--page) 110px;min-height:80vh}.admin-directory-hero{display:flex;justify-content:space-between;align-items:end;gap:2rem;padding-bottom:2rem;border-bottom:2px solid var(--black)}.admin-directory-hero h1{margin:.15rem 0;font:400 clamp(56px,8vw,108px)/.85 var(--display);letter-spacing:-.07em;text-transform:uppercase}.admin-directory-hero p{max-width:650px}.admin-directory-hero>div:last-child{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.admin-directory-tabs{display:flex;margin:1.5rem 0;background:var(--black);padding:.35rem;width:max-content;border-radius:7px}.admin-directory-tabs a{padding:.75rem 1.2rem;color:#fff;font:700 10px var(--mono);text-transform:uppercase}.admin-directory-tabs a.is-active{background:var(--acid);color:var(--black);border-radius:4px}.admin-directory-tabs b{margin-left:.45rem}
.admin-directory-filters{display:grid;grid-template-columns:minmax(260px,2fr) minmax(190px,1fr) minmax(150px,.7fr) auto auto;align-items:end;gap:.8rem;padding:1.2rem;background:#fff;border:1px solid var(--line);border-radius:9px}.admin-directory-filters label{display:grid;gap:.35rem;font:700 9px var(--mono);text-transform:uppercase}.admin-directory-filters input,.admin-directory-filters select{min-height:44px;padding:.7rem;border:1px solid var(--line);border-radius:5px;background:#fff}.admin-directory-filters>a{padding:.7rem}.admin-directory-result-head{display:flex;justify-content:space-between;margin:2rem 0 .6rem;font:600 10px var(--mono);text-transform:uppercase}.admin-directory-list{display:grid;background:#fff;border:1px solid var(--line);border-radius:9px;overflow:hidden}.admin-directory-list>article{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto auto;align-items:center;gap:1rem;padding:.9rem 1rem;border-bottom:1px solid var(--line)}.admin-directory-list>article:last-child{border-bottom:0}.admin-directory-list>article.is-offline{opacity:.56}.admin-directory-list>article>div{display:grid;min-width:0}.admin-directory-list small,.admin-directory-list em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-directory-list small{color:var(--grey)}.admin-directory-list em{font-size:.78rem;font-style:normal}.admin-directory-list form{margin:0}.admin-directory-pagination{margin-top:2rem}
.admin-directory-category-head{display:flex;justify-content:space-between;align-items:end;margin:2rem 0}.admin-directory-category-head h2{margin:0;font-size:2.4rem}.admin-directory-category-head p{margin:.2rem 0}.admin-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.admin-category-grid>article{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1rem;padding:1.2rem;background:#fff;border:1px solid var(--line);border-radius:9px}.admin-category-grid>article.is-offline{opacity:.58}.admin-category-grid h3{margin:0}.admin-category-grid p{margin:.15rem 0}.admin-category-grid small{color:var(--grey)}.admin-category-grid>article>div:last-child{grid-column:1/-1;display:flex;align-items:center;gap:1rem;flex-wrap:wrap;padding-top:.7rem;border-top:1px solid var(--line)}.admin-category-grid form{margin:0}
.admin-bus-number{display:grid;place-items:center;min-width:48px;height:48px;padding:0 .5rem;background:var(--black);color:var(--acid);border-radius:7px;font:700 13px var(--mono)}
.admin-check-stack{display:flex;flex-direction:column;justify-content:center;gap:.75rem;padding-top:1.4rem}.editorial-form .check-label{display:flex;flex-direction:row;align-items:center;gap:.65rem}.editorial-form .check-label input{width:auto;margin:0}.code-textarea{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem;line-height:1.65}
.admin-route-picker{border:1px solid var(--line);padding:1rem;margin:0}.admin-route-picker legend{font-weight:700;padding:0 .4rem}.admin-route-picker>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.55rem;max-height:29rem;overflow:auto;padding:.35rem}.admin-route-picker label{display:flex;align-items:flex-start;gap:.65rem;padding:.7rem;border:1px solid var(--line);cursor:pointer}.admin-route-picker label:has(input:checked){border-color:currentColor;background:#f4f3ee}.admin-route-picker input{width:auto;margin:.2rem 0 0}.admin-route-picker span{display:grid;gap:.1rem}.admin-route-picker small{color:var(--grey)}
@media(max-width:700px){.admin-data-manager>header{align-items:flex-start;flex-direction:column}.admin-manage-list article{grid-template-columns:minmax(0,1fr) auto}.admin-manage-list article form{grid-column:2}.admin-check-stack{padding-top:0}.admin-route-picker>div{grid-template-columns:1fr}.admin-record-group>header{align-items:flex-start;flex-direction:column}.admin-record-group>header>div:last-child{justify-content:flex-start}.admin-area-grid{grid-template-columns:1fr}.admin-subheading{align-items:flex-start;flex-direction:column}.admin-directory-hero{align-items:flex-start;flex-direction:column}.admin-directory-filters{grid-template-columns:1fr}.admin-directory-list>article{grid-template-columns:auto minmax(0,1fr) auto}.admin-directory-list>article>a:first-of-type{display:none}.admin-directory-list>article form{grid-column:3}.admin-category-grid{grid-template-columns:1fr}.admin-directory-category-head{align-items:flex-start;flex-direction:column;gap:1rem}}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--concrete);color:var(--black);font:400 15px/1.55 var(--sans);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,input,select,textarea{font:inherit}
.kicker,.eyebrow{margin:0;font:500 10px/1.2 var(--mono);letter-spacing:.12em;text-transform:uppercase}
.button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:0 22px;border:2px solid var(--black);background:var(--acid);color:var(--black);font:500 10px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;box-shadow:4px 4px 0 var(--black);transition:.18s}
.button:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--black)}

/* Walking and cycling trails */
.trails-page{background:#eef5f0}.trails-hero{padding:clamp(80px,11vw,150px) var(--page);background:linear-gradient(125deg,#17343a,#28655f);color:#fff}.trails-hero h1{margin:28px 0;font:400 clamp(72px,11vw,170px)/.76 var(--display);letter-spacing:-.08em;text-transform:uppercase}.trails-hero h1 em{color:#73e2c5;font-style:normal}.trails-hero>p:last-child{max-width:670px;color:#d6e9e5;font-size:clamp(18px,2.2vw,27px)}.trails-list{padding:clamp(70px,9vw,125px) var(--page)}.trails-list>header{display:grid;grid-template-columns:1.1fr .9fr;gap:8vw;align-items:end;margin-bottom:52px}.trails-list h2{margin:14px 0 0;font:400 clamp(58px,8vw,120px)/.78 var(--display);letter-spacing:-.075em;text-transform:uppercase}.trails-list>header>p{max-width:480px;margin:0;color:var(--grey);font-size:17px}.trail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.trail-card{display:flex;flex-direction:column;min-height:390px;padding:24px;background:#fff;border:1px solid #cbdad4;border-radius:14px;box-shadow:0 9px 24px rgba(23,52,58,.07)}.trail-card-top{display:flex;align-items:center;gap:12px}.trail-card-top span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#73e2c5;font:700 10px var(--mono)}.trail-card-top small,.trail-card dt{font:700 8px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#4b6b67}.trail-card h3{margin:34px 0 13px;font:400 clamp(28px,3vw,44px)/.9 var(--display);letter-spacing:-.05em;text-transform:uppercase}.trail-card>p{margin:0;color:#536b68;font-size:14px}.trail-card dl{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:25px 0 20px;padding-top:17px;border-top:1px solid #d9e5e0}.trail-card dl>div:last-child{grid-column:1/-1}.trail-card dd{margin:3px 0 0;font-weight:700}.trail-map{margin-top:auto;padding-top:14px;border-top:1px solid #d9e5e0;color:#087f76;font:700 9px var(--mono);text-transform:uppercase}.trails-note{display:grid;grid-template-columns:.7fr 1.3fr auto;gap:30px;align-items:center;padding:42px var(--page);background:#f0c765}.trails-note b{font:400 30px var(--display);text-transform:uppercase}.trails-note p{margin:0;max-width:570px}.trails-note .button{white-space:nowrap}
@media(max-width:900px){.trail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.trails-note{grid-template-columns:1fr 1fr}.trails-note .button{grid-column:2;justify-self:start}}@media(max-width:650px){.trails-hero{padding:72px 20px}.trails-hero h1{font-size:19vw}.trails-list{padding:65px 20px}.trails-list>header{grid-template-columns:1fr;gap:20px}.trail-grid{grid-template-columns:1fr}.trail-card{min-height:340px}.trails-note{grid-template-columns:1fr;padding:35px 20px}.trails-note .button{grid-column:auto}}

/* Bristol local directory */
.directory-page,.place-page{--dir-navy:#122d38;--dir-coral:#f26649;--dir-mint:#65ddcf;--dir-cream:#f7f3e9;background:var(--dir-cream)}
.directory-hero{min-height:680px;padding:clamp(80px,10vw,125px) var(--page);display:grid;grid-template-columns:1.05fr .95fr;gap:8vw;align-items:center;background:radial-gradient(circle at 8% 10%,#315967 0,var(--dir-navy) 55%);color:#fff;overflow:hidden}.directory-hero h1{margin:24px 0 30px;font:400 clamp(70px,9vw,145px)/.76 var(--display);letter-spacing:-.08em;text-transform:uppercase}.directory-hero h1 em{color:var(--dir-mint);font-style:normal}.directory-hero>div>p:last-child{max-width:620px;color:#c9dade;font-size:clamp(18px,2vw,24px)}
.directory-search{padding:26px;background:#fff;color:var(--black);border-radius:16px;box-shadow:16px 16px 0 var(--dir-coral)}.directory-search>label{display:block;margin-bottom:9px;font:700 9px var(--mono);text-transform:uppercase;letter-spacing:.08em}.directory-search>div:nth-child(2){display:flex;align-items:center;border:1px solid #bdcbce;border-radius:9px;overflow:hidden}.directory-search>div:nth-child(2)>span{padding-left:17px;color:#159b8d;font-size:32px}.directory-search input{min-width:0;width:100%;padding:17px 13px;border:0;outline:0;font-size:18px}.directory-search button{align-self:stretch;padding:0 22px;border:0;background:var(--dir-navy);color:#fff;font:700 10px var(--mono);text-transform:uppercase;cursor:pointer}.directory-filter-row{margin-top:15px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.directory-filter-row label span{display:block;margin-bottom:5px;color:#66777c;font:600 8px var(--mono);text-transform:uppercase}.directory-filter-row select{width:100%;padding:11px;border:1px solid #ced8da;border-radius:7px;background:#f7f9f9}
.directory-categories,.directory-results,.directory-featured,.directory-related{padding:clamp(75px,9vw,125px) var(--page)}.directory-categories>header,.directory-results>header,.directory-featured>header,.directory-related>header{margin-bottom:50px;display:grid;grid-template-columns:1.2fr .8fr;gap:7vw;align-items:end}.directory-categories h2,.directory-results h2,.directory-featured h2,.directory-related h2{margin:14px 0 0;font:400 clamp(50px,7vw,104px)/.8 var(--display);letter-spacing:-.07em;text-transform:uppercase}.directory-categories>header>p,.directory-results>header>p{max-width:480px;margin:0;color:var(--grey);font-size:17px}.directory-results>header>p{text-align:right}.directory-results>header>p b{color:var(--dir-navy);font-size:28px}.directory-results>header>p a{color:#087f76;font-weight:700}
.directory-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid #cbd5d6}.directory-category-grid>a{min-height:135px;padding:21px 8px;display:grid;grid-template-columns:62px 1fr auto;gap:18px;align-items:center;border-bottom:1px solid #cbd5d6}.directory-category-grid>a:nth-child(odd){padding-right:28px;border-right:1px solid #cbd5d6}.directory-category-grid>a:nth-child(even){padding-left:28px}.directory-category-grid b,.directory-category-hero>div>span,.place-hero>span{width:58px;height:58px;display:grid;place-items:center;border-radius:50%;background:var(--dir-navy);color:var(--dir-mint);font:700 11px var(--mono)}.directory-category-grid strong{display:block;font-size:18px}.directory-category-grid small{display:block;margin-top:5px;color:var(--grey);font-size:13px}.directory-category-grid i{color:var(--dir-coral);font-style:normal;font-size:20px}
.directory-featured,.directory-related{background:#dff3ef;border-block:1px solid #bddbd7}.directory-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.directory-card{position:relative;min-height:360px;padding:20px;display:flex;flex-direction:column;background:#fff;border:1px solid #d2dcdd;border-radius:14px;box-shadow:0 9px 24px rgba(18,45,56,.06);transition:transform .22s,box-shadow .22s}.directory-card:hover{transform:translateY(-5px);box-shadow:0 18px 34px rgba(18,45,56,.12)}.directory-card-top{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px}.directory-card-top>span{width:40px;height:40px;display:grid;place-items:center;border-radius:9px;background:var(--dir-navy);color:var(--dir-mint);font:700 8px var(--mono)}.directory-card-top small{font:700 8px var(--mono);color:#60747a;text-transform:uppercase}.directory-card>div:nth-child(2){margin:33px 0 20px}.directory-card>div:nth-child(2)>p:first-child{margin:0;color:#0a8278;font:700 8px var(--mono);text-transform:uppercase}.directory-card h3{margin:8px 0 12px;font:400 clamp(27px,2.8vw,40px)/.93 var(--display);letter-spacing:-.045em;text-transform:uppercase}.directory-card h3 a:after{content:"";position:absolute;inset:0}.directory-card>div:nth-child(2)>p:last-child{color:#607077;font-size:14px}.directory-tags{position:relative;z-index:1;margin-top:auto;display:flex;flex-wrap:wrap;gap:6px}.directory-tags span{padding:6px 9px;border-radius:99px;background:#e8f5f3;color:#087f76;font:600 8px var(--mono);text-transform:uppercase}.directory-card footer{position:relative;z-index:2;margin-top:18px;padding-top:15px;display:flex;justify-content:space-between;border-top:1px solid #e0e6e7}.directory-card footer a{font:700 8px var(--mono);text-transform:uppercase}.directory-card footer a:last-child{color:#d84c32}
.directory-safety{padding:45px var(--page);display:grid;grid-template-columns:.5fr 1.5fr;gap:35px;align-items:center;background:var(--dir-coral);color:#fff}.directory-safety>b{font:400 30px var(--display);text-transform:uppercase}.directory-safety p{margin:0}.directory-empty{padding:75px;text-align:center;background:#fff;border:1px dashed #aab8bb;border-radius:14px}.directory-empty strong{font:400 clamp(38px,5vw,70px) var(--display);text-transform:uppercase}.directory-empty p{margin:10px 0 25px;color:var(--grey)}.directory-source-note{margin:2rem 0 0;color:var(--grey);font-size:.78rem;text-align:center}.directory-source-note a{text-decoration:underline}
.directory-category-hero{min-height:500px;padding:70px var(--page);background:linear-gradient(135deg,var(--dir-navy),#295460);color:#fff}.directory-category-hero>a{color:var(--dir-mint);font:700 9px var(--mono);text-transform:uppercase}.directory-category-hero>div{margin-top:90px;display:flex;gap:30px;align-items:flex-start}.directory-category-hero>div>span{flex:0 0 80px;width:80px;height:80px;background:var(--dir-coral);color:#fff}.directory-category-hero h1{margin:12px 0;font:400 clamp(64px,9vw,135px)/.8 var(--display);letter-spacing:-.075em;text-transform:uppercase}.directory-category-hero>div p:last-child{max-width:620px;color:#c6dadd;font-size:20px}
.place-hero{min-height:570px;padding:70px var(--page);display:grid;grid-template-columns:1fr auto;align-items:end;gap:30px;background:linear-gradient(145deg,var(--dir-navy),#285360);color:#fff}.place-hero>div>a{color:var(--dir-mint);font:700 9px var(--mono);text-transform:uppercase}.place-hero .kicker{margin-top:100px}.place-hero h1{max-width:1050px;margin:14px 0 24px;font:400 clamp(60px,9vw,135px)/.8 var(--display);letter-spacing:-.075em;text-transform:uppercase}.place-hero>div>p:nth-of-type(2){max-width:750px;color:#c9dade;font-size:21px}.place-hero>span{width:120px;height:120px;background:var(--dir-coral);color:#fff;font-size:15px}.place-grid{padding:clamp(70px,9vw,120px) var(--page);display:grid;grid-template-columns:1.2fr .8fr;gap:6vw}.place-map iframe{width:100%;height:610px;border:0;border-radius:15px;box-shadow:12px 12px 0 var(--dir-mint)}.place-details{padding-top:20px}.place-details h2{margin:15px 0 36px;font:400 clamp(46px,6vw,80px)/.83 var(--display);text-transform:uppercase;letter-spacing:-.065em}.place-details dl{margin:0}.place-details dl>div{padding:18px 0;display:grid;grid-template-columns:90px 1fr;gap:18px;border-top:1px solid #cad5d6}.place-details dt{color:#677a80;font:700 8px var(--mono);text-transform:uppercase}.place-details dd{margin:0;font-weight:700}.place-details dd a{color:#087f76}.place-actions{margin-top:32px;display:grid;gap:14px}.place-actions>a:last-child{color:#087f76;font:700 9px var(--mono);text-transform:uppercase}.place-check{margin-top:30px;padding:17px;border-left:4px solid var(--dir-coral);background:#fff;color:#66777c;font-size:13px}
.school-profile{padding:clamp(70px,9vw,120px) var(--page);background:#fff}.school-profile>header{display:grid;grid-template-columns:1fr 1fr;gap:5vw;align-items:end;margin-bottom:45px}.school-profile h2{margin:12px 0 0;font:400 clamp(50px,7vw,100px)/.82 var(--display);letter-spacing:-.07em;text-transform:uppercase}.school-profile>header>p:last-child{max-width:440px;color:#607077;font-size:18px}.school-profile dl{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid #cad5d6}.school-profile dl>div{min-height:82px;padding:17px 20px 17px 0;display:grid;grid-template-columns:minmax(110px,.55fr) 1fr;gap:18px;align-items:start;border-bottom:1px solid #cad5d6}.school-profile dl>div:nth-child(odd){padding-right:30px;border-right:1px solid #cad5d6}.school-profile dl>div:nth-child(even){padding-left:30px}.school-profile dt{color:#677a80;font:700 8px var(--mono);letter-spacing:.06em;text-transform:uppercase}.school-profile dd{margin:0;font-weight:700;overflow-wrap:anywhere}.school-profile dd a{color:#087f76}
@media(max-width:950px){.directory-hero{grid-template-columns:1fr;gap:50px}.directory-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.place-grid{grid-template-columns:1fr}.place-map iframe{height:460px}.place-hero>span{width:85px;height:85px}}
@media(max-width:650px){.directory-hero{min-height:auto;padding:72px 20px}.directory-hero h1{font-size:19vw}.directory-search{padding:17px;box-shadow:8px 8px 0 var(--dir-coral)}.directory-search>div:nth-child(2){flex-wrap:wrap}.directory-search button{width:100%;padding:14px}.directory-filter-row{grid-template-columns:1fr}.directory-categories,.directory-results,.directory-featured,.directory-related{padding:65px 20px}.directory-categories>header,.directory-results>header,.directory-featured>header,.directory-related>header{grid-template-columns:1fr;gap:20px}.directory-results>header>p{text-align:left}.directory-category-grid{grid-template-columns:1fr}.directory-category-grid>a:nth-child(n){padding:15px 0;border-right:0}.directory-card-grid{grid-template-columns:1fr}.directory-card{min-height:330px}.directory-safety{padding:35px 20px;grid-template-columns:1fr;gap:16px}.directory-category-hero{min-height:450px;padding:45px 20px}.directory-category-hero>div{margin-top:80px;display:block}.directory-category-hero>div>span{margin-bottom:24px}.directory-category-hero h1{font-size:17vw}.place-hero{min-height:540px;padding:45px 20px;grid-template-columns:1fr}.place-hero .kicker{margin-top:80px}.place-hero h1{font-size:16vw}.place-hero>span{display:none}.place-grid,.school-profile{padding:65px 20px}.place-map iframe{height:360px}.school-profile>header,.school-profile dl{grid-template-columns:1fr}.school-profile dl>div:nth-child(n){padding:16px 0;border-right:0}.directory-empty{padding:45px 20px}}

.site-header{position:relative;z-index:100;min-height:86px;padding:0 var(--page);display:grid;grid-template-columns:auto 1fr;align-items:center;background:var(--black);color:white;border-bottom:1px solid #333}
.wordmark{display:flex;align-items:center;font:400 clamp(18px,2vw,27px)/1 var(--display);letter-spacing:-.04em;text-transform:uppercase}
.wordmark span{padding:7px 8px;background:var(--acid);color:var(--black);transform:rotate(-2deg)}
.wordmark strong{padding-left:9px;font-weight:400}
.site-nav{justify-self:end;display:flex;align-items:center;gap:28px}
.site-nav a,.site-nav button{padding:8px 0;border:0;background:none;color:white;font:500 10px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
.site-nav a:hover,.site-nav button:hover{color:var(--acid)}
.site-nav form{margin:0}.menu-toggle{display:none;border:1px solid #555;background:none;color:white;padding:9px 12px;font:500 10px var(--mono);text-transform:uppercase}
.flash-stack{position:fixed;right:24px;top:104px;z-index:130;width:min(390px,calc(100vw - 40px))}.flash{margin-bottom:8px;padding:16px 18px;background:var(--black);color:white;border-left:5px solid var(--acid);box-shadow:8px 8px 0 rgba(0,0,0,.2);font:400 12px/1.4 var(--mono)}.flash.error{border-color:#ff4d26}

.hero{min-height:calc(100svh - 86px);padding:32px var(--page) 45px;display:flex;flex-direction:column;justify-content:space-between;background:var(--black);color:white;overflow:hidden}
.hero-tag{display:flex;justify-content:space-between;font:400 10px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#aaa}.hero-tag span{color:var(--acid)}
.hero h1{margin:20px -1vw;font:400 clamp(80px,16.2vw,270px)/.72 var(--display);letter-spacing:-.085em;text-transform:uppercase}
.hero h1 span{display:block}.hero h1 span:last-child{color:var(--acid);transform:translateX(7vw);text-shadow:8px 8px 0 #292929}
.hero-foot{display:grid;grid-template-columns:1fr auto;align-items:end;gap:40px}.hero-foot p{max-width:490px;margin:0;font-size:clamp(20px,2vw,32px);line-height:1.18}.hero-foot a{padding-bottom:6px;border-bottom:2px solid var(--acid);font:500 10px var(--mono);letter-spacing:.1em;text-transform:uppercase}
.ticker{overflow:hidden;padding:15px 0;background:var(--acid);border-block:3px solid var(--black);white-space:nowrap}.ticker div{width:max-content;font:400 18px/1 var(--display);word-spacing:20px;animation:ticker 28s linear infinite}@keyframes ticker{to{transform:translateX(-50%)}}

.archive{padding:120px var(--page) 145px}
.archive-heading{display:grid;grid-template-columns:1.5fr 1fr;align-items:end;gap:8vw;margin-bottom:85px;padding-bottom:35px;border-bottom:3px solid var(--black)}
.archive-heading h2{margin:16px 0 0;font:400 clamp(76px,11vw,180px)/.73 var(--display);letter-spacing:-.07em;text-transform:uppercase}.archive-heading>p{max-width:550px;margin:0;font-size:clamp(18px,2vw,28px);line-height:1.25}
.graffiti-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:100px 24px}.graffiti-card{grid-column:span 6}.graffiti-card:nth-child(3n){grid-column:3/span 8}.graffiti-card:nth-child(even){transform:translateY(55px)}
.graffiti-image{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:#bbb;border:2px solid var(--black)}.graffiti-image:after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 0 var(--acid);transition:.25s}.graffiti-image:hover:after{box-shadow:inset 0 0 0 8px var(--acid)}
.graffiti-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.9) contrast(1.06);transition:.4s}.graffiti-image:hover img{transform:scale(1.02);filter:saturate(1.15) contrast(1.08)}
.graffiti-image span{position:absolute;right:0;bottom:0;z-index:2;padding:11px 13px;background:var(--acid);font:500 9px var(--mono);text-transform:uppercase;transform:translateY(100%);transition:.2s}.graffiti-image:hover span{transform:none}
.graffiti-meta{display:grid;grid-template-columns:75px 1fr auto;align-items:start;gap:15px;padding-top:13px;border-top:2px solid var(--black);margin-top:10px}.graffiti-meta b{font:400 22px var(--display)}.graffiti-meta p{margin:3px 0 0;font-weight:800;text-transform:uppercase}.graffiti-meta time{margin-top:4px;font:400 10px var(--mono);color:var(--grey)}
.graffiti-meta.building-title-only{grid-template-columns:1fr}
.graffiti-meta.graffiti-address-only{grid-template-columns:minmax(0,1fr)}.graffiti-meta.graffiti-address-only p{min-width:0;margin-right:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(10px,1vw,13px)}
.pagination{min-height:100px;margin-top:130px;padding:18px 0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-block:2px solid var(--black);font:500 10px var(--mono);text-transform:uppercase}.pagination>div:last-child{text-align:right}.pagination ol{display:flex;align-items:center;gap:5px;margin:0;padding:0;list-style:none}.pagination li a{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;transition:background .18s,color .18s}.pagination li a:hover{background:#ddd}.pagination li a.current{background:var(--black);color:var(--acid)}.pagination .page-gap{padding:0 4px}
.manifesto{padding:130px var(--page);background:var(--acid);border-block:3px solid var(--black)}.manifesto blockquote{margin:38px 0 50px;font:400 clamp(58px,9vw,145px)/.83 var(--display);letter-spacing:-.07em;text-transform:uppercase}.manifesto blockquote em{font-style:normal;-webkit-text-stroke:2px var(--black);color:transparent}.manifesto>a{font:500 11px var(--mono);border-bottom:2px solid}
.empty-state{padding:100px 30px;text-align:center;border:3px dashed var(--black)}.empty-state h2{margin:10px 0 35px;font:400 clamp(50px,7vw,100px)/.9 var(--display);text-transform:uppercase}
.text-link{width:max-content;border-bottom:1px solid;font:500 10px var(--mono);text-transform:uppercase}.text-link.light{display:inline-block;margin-top:25px;color:var(--acid)}.artist-credit{border-bottom:2px solid var(--acid)}
.artists-page{padding:100px var(--page) 140px}.artists-hero{display:grid;grid-template-columns:1.4fr 1fr;gap:8vw;align-items:end;margin-bottom:80px;padding-bottom:45px;border-bottom:4px solid}.artists-hero h1,.artist-profile h1{margin:18px 0 0;font:400 clamp(80px,13vw,200px)/.72 var(--display);letter-spacing:-.08em;text-transform:uppercase}.artists-hero>div:last-child{display:flex;flex-direction:column;align-items:flex-start;gap:20px}.artists-hero>div:last-child>p{margin:0;font-size:20px}.artist-list{border-top:3px solid}.artist-list>a{min-height:130px;display:grid;grid-template-columns:70px 1fr auto auto;align-items:center;gap:30px;border-bottom:2px solid;transition:.18s}.artist-list>a:hover{padding-inline:15px;background:var(--acid)}.artist-list span,.artist-list p,.artist-list b{font:500 10px var(--mono);text-transform:uppercase}.artist-list h2{margin:0;font:400 clamp(32px,5vw,70px)/1 var(--display);text-transform:uppercase}.artist-list p{color:var(--grey)}
.artist-profile>header{padding:90px var(--page);background:var(--black);color:white;border-bottom:8px solid var(--acid)}.artist-profile>header .kicker{color:var(--acid)}.artist-profile h1{overflow-wrap:anywhere;color:var(--acid)}.artist-profile-copy{margin-top:55px;display:grid;grid-template-columns:minmax(0,700px) auto;justify-content:space-between;gap:60px;align-items:end}.artist-profile-copy>p{margin:0;font-size:clamp(20px,2.2vw,32px);white-space:pre-line}.artist-social-links{display:flex;gap:12px;flex-wrap:wrap}.artist-social-links a{display:flex;align-items:center;gap:8px;padding:7px 11px 7px 7px;border:1px solid #555;border-radius:99px;font:500 9px var(--mono);text-transform:uppercase;transition:.18s}.artist-social-links a:hover{border-color:var(--acid);background:var(--acid);color:var(--black)}.social-icon{width:27px;height:27px;display:grid;place-items:center;border-radius:50%;background:var(--acid);color:var(--black);font:700 10px var(--mono);text-transform:none}.social-icon--facebook{font:700 17px Arial}.social-icon--tiktok{font-size:16px}.social-icon--youtube{font-size:10px}.artist-works{padding:90px var(--page) 140px}.artist-works>.kicker{margin-bottom:55px}.artist-works .empty-state{margin-top:30px}
.artists-actions{display:flex;align-items:center;gap:28px}.artist-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.artist-card,.artist-card:nth-child(3n),.artist-card:nth-child(3n+1):not(:first-child){position:relative;grid-column:auto;min-height:clamp(250px,27vw,380px);overflow:hidden;display:flex;align-items:flex-end;background:var(--black);color:white;border:3px solid var(--black)}.artist-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.82) contrast(1.12);transition:transform .5s,filter .5s}.artist-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(0,0,0,.88) 100%)}.artist-card:hover>img{transform:scale(1.035);filter:saturate(1.08) contrast(1.08)}.artist-card-number{position:absolute;z-index:2;top:0;left:0;padding:9px 12px;background:var(--acid);color:var(--black);font:500 9px var(--mono)}.artist-card>div{position:relative;z-index:2;width:100%;padding:22px}.artist-card p{margin:0 0 8px;color:#ccc;font:500 8px var(--mono);letter-spacing:.1em;text-transform:uppercase}.artist-card h2{max-width:100%;margin:0 0 16px;font:400 clamp(30px,3.8vw,58px)/.84 var(--display);letter-spacing:-.06em;text-transform:uppercase;overflow-wrap:anywhere}.artist-card b{padding-bottom:4px;border-bottom:2px solid var(--acid);color:var(--acid);font:500 8px var(--mono);letter-spacing:.08em;text-transform:uppercase}.artist-card--type{background:var(--acid);color:var(--black)}.artist-card--type:after{display:none}.artist-card--type .artist-card-number{background:var(--black);color:var(--acid)}.artist-card--type p{color:#333}.artist-card--type b{border-color:var(--black);color:var(--black)}.artist-profile-label{display:flex;align-items:center;justify-content:space-between}.artist-profile-label>a{color:#aaa;font:500 9px var(--mono);text-transform:uppercase}.claim-link{color:var(--acid)}

.photo-detail{padding:80px var(--page) 120px}.detail-heading{display:grid;grid-template-columns:1fr auto;align-items:end;margin-bottom:32px}.detail-heading h1{grid-column:2;grid-row:1/3;margin:0;font:400 clamp(70px,10vw,150px)/.75 var(--display);color:var(--acid);-webkit-text-stroke:2px var(--black)}.detail-location{margin:15px 0 0;font:500 11px var(--mono);text-transform:uppercase}.detail-figure{margin:0}.detail-image-stage{position:relative;min-height:55vh;display:grid;place-items:center;background:var(--black);border:3px solid var(--black)}.detail-image-stage>img{width:100%;max-height:85svh;object-fit:contain}.detail-image-arrow{position:absolute;top:50%;width:54px;height:54px;display:grid;place-items:center;background:var(--acid);border:2px solid var(--black);transform:translateY(-50%)}.detail-image-arrow--previous{left:15px}.detail-image-arrow--next{right:15px}.detail-image-arrow span{width:14px;height:14px;border-top:2px solid;border-right:2px solid}.detail-image-arrow--previous span{transform:rotate(-135deg)}.detail-image-arrow--next span{transform:rotate(45deg)}
.detail-figure figcaption{display:grid;grid-template-columns:100px minmax(0,650px);justify-content:end;gap:25px;padding-top:18px}.detail-figure figcaption>b{font:400 24px var(--display)}.detail-figure figcaption p{margin:0 0 10px;font-size:21px}.detail-figure figcaption small{font:400 9px var(--mono);text-transform:uppercase}.photo-navigation{margin-top:80px;padding:25px 0;display:grid;grid-template-columns:1fr auto 1fr;border-block:2px solid;font:500 10px var(--mono);text-transform:uppercase}.photo-navigation>div:last-child{text-align:right}.detail-admin-actions{display:flex;justify-content:center;align-items:center;gap:30px;margin-top:40px}.danger-link{border:0;border-bottom:2px solid;background:none;color:#d22;font:500 10px var(--mono);text-transform:uppercase;cursor:pointer}
.detail-map{margin-top:80px}.detail-map header{padding:0 0 20px;display:flex;align-items:end;justify-content:space-between;gap:30px;border-bottom:3px solid}.detail-map h2{margin:10px 0 0;font:400 clamp(36px,5vw,72px)/.9 var(--display);letter-spacing:-.05em;text-transform:uppercase}.detail-map header>a{flex:0 0 auto;padding-bottom:4px;border-bottom:2px solid;font:500 10px var(--mono);text-transform:uppercase}.detail-map iframe{display:block;width:100%;height:440px;margin-top:24px;border:3px solid var(--black);filter:grayscale(1) contrast(1.08)}
.admin-map{height:390px;border:2px solid var(--black);background:#ccc}.admin-map.is-looking-up:after{content:"Looking up address…";position:absolute;z-index:1000;right:10px;top:10px;padding:8px;background:var(--acid);font:500 9px var(--mono)}.coordinate-fields{display:grid;gap:8px}.coordinate-fields small,.editorial-form label small{font:400 9px/1.5 var(--mono);letter-spacing:.05em;text-transform:uppercase}.zoom-hint{position:absolute;left:12px;bottom:12px;padding:8px 10px;background:var(--acid);font:500 9px var(--mono);text-transform:uppercase}.detail-image-stage>[data-deep-zoom]{cursor:zoom-in}.deep-zoom-viewer{width:100vw;height:100vh;max-width:none;max-height:none;padding:50px;background:rgba(0,0,0,.96);border:0}.deep-zoom-viewer::backdrop{background:#000}.deep-zoom-viewer img{width:100%;height:100%;object-fit:contain}.deep-zoom-viewer button{position:fixed;right:20px;top:20px;padding:10px 14px;border:2px solid;background:var(--acid);font:500 10px var(--mono);text-transform:uppercase}.artist-suggestion{margin-top:80px;padding:45px;display:grid;grid-template-columns:1fr 1fr;gap:8vw;background:var(--black);color:white}.artist-suggestion h2{margin:12px 0;font:400 clamp(40px,5vw,75px)/.9 var(--display);text-transform:uppercase}.artist-suggestion form{display:grid;gap:18px}.artist-suggestion label{display:grid;gap:7px;font:500 9px var(--mono);text-transform:uppercase}.artist-suggestion input,.artist-suggestion textarea{padding:12px;background:#222;color:white;border:1px solid #666}.spotlight{padding:100px var(--page);display:grid;grid-template-columns:1fr 1.4fr;gap:6vw;align-items:center;background:var(--acid);border-bottom:3px solid}.spotlight h2{margin:15px 0 25px;font:400 clamp(50px,7vw,105px)/.82 var(--display);letter-spacing:-.06em;text-transform:uppercase}.spotlight-image{border:3px solid}.spotlight-image img{width:100%;aspect-ratio:4/3;object-fit:cover}

.search-page,.admin-page{padding:100px var(--page) 130px}.search-page>header,.admin-heading{display:grid;grid-template-columns:1fr 2fr 1fr;align-items:end;gap:40px;margin-bottom:55px;padding-bottom:32px;border-bottom:3px solid}.search-page h1,.admin-heading h1{margin:0;font:400 clamp(75px,11vw,170px)/.72 var(--display);letter-spacing:-.07em;text-transform:uppercase}.search-page>header>p:last-child{margin:0}.archive-search{margin-bottom:65px;padding:24px;background:var(--white);border:2px solid;box-shadow:7px 7px 0 var(--black)}.archive-search>label{display:block;margin-bottom:10px;font:500 9px var(--mono);text-transform:uppercase}.archive-search>div{display:flex;gap:15px}.archive-search input{width:100%;padding:12px 0;border:0;border-bottom:2px solid;background:none;outline:0;font-size:18px}.predictive-search{position:relative;flex:1}.search-suggestions{display:none;position:absolute;top:100%;left:0;right:0;z-index:50;background:white;border:2px solid}.search-suggestions.open{display:block}.search-suggestions button{width:100%;padding:12px;border:0;border-bottom:1px solid var(--line);background:white;text-align:left;cursor:pointer}.search-suggestions button:hover,.search-suggestions button.is-active{background:#effaf8}.search-suggestions button strong{display:block}.search-suggestions button small{display:block;margin-top:4px;color:var(--grey);font:500 9px var(--mono);text-transform:uppercase}.search-summary{margin:0 0 35px;font:500 10px var(--mono);text-transform:uppercase}

.about-hero{padding:120px var(--page);background:var(--acid);border-bottom:3px solid}.about-hero h1{margin:30px 0 0;font:400 clamp(75px,12vw,190px)/.75 var(--display);letter-spacing:-.08em;text-transform:uppercase}.about-grid{padding:100px max(var(--page),8vw) 145px;display:grid;grid-template-columns:1fr 2fr;gap:8vw}.about-number{font:400 clamp(32px,4vw,58px)/1.05 var(--display)}.prose{max-width:760px}.prose p{font-size:18px}.prose .lead{margin-top:0;font-size:clamp(28px,3vw,44px);font-weight:800;line-height:1.12}.contact-line{display:grid;grid-template-columns:110px 1fr;margin-top:55px;padding-top:20px;border-top:2px solid}.contact-line span{font:500 9px var(--mono);text-transform:uppercase}.contact-line a{width:max-content;border-bottom:2px solid}

.form-page,.photo-editor-page{min-height:calc(100svh - 86px);display:grid;grid-template-columns:.9fr 1.1fr}.form-intro,.photo-editor-preview{padding:8vw 6vw;background:var(--black);color:white}.form-intro .kicker,.form-intro .eyebrow,.photo-editor-preview .kicker{color:var(--acid)}.form-intro h1,.photo-edit-form h1{margin:25px 0;font:400 clamp(62px,7vw,110px)/.78 var(--display);letter-spacing:-.07em;text-transform:uppercase}.form-intro>p:last-child{max-width:400px;color:#aaa}.editorial-form{padding:7vw;display:flex;flex-direction:column;justify-content:center;gap:27px;background:var(--concrete)}.editorial-form label{display:flex;flex-direction:column;gap:8px;font:500 9px var(--mono);letter-spacing:.1em;text-transform:uppercase}.editorial-form input,.editorial-form textarea,.editorial-form select{width:100%;padding:12px 0;border:0;border-bottom:2px solid;background:transparent;outline:0;font:400 16px var(--sans);text-transform:none}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:25px}.file-field{padding:24px;border:2px dashed;background:var(--white)}.file-field small{font:400 10px var(--mono);text-transform:none}.check-field{flex-direction:row!important}.check-field input{width:18px}.photo-editor-preview{display:flex;flex-direction:column}.photo-editor-preview img{max-height:65svh;margin:auto;object-fit:contain}.photo-editor-preview>a{font:500 9px var(--mono);text-transform:uppercase}.photo-edit-actions{display:flex;align-items:center;gap:25px}

.admin-heading{grid-template-columns:1fr auto}.admin-summary{text-align:right}.admin-summary strong{display:block;font:400 60px var(--display);color:var(--acid)}.admin-summary span{font:500 9px var(--mono);text-transform:uppercase}.admin-summary .button{margin-top:18px}.admin-search{display:grid;grid-template-columns:1fr auto auto;gap:14px}.admin-search>label{grid-column:1/-1}.admin-settings{margin:0 0 55px;padding:28px;display:grid;grid-template-columns:1fr auto;align-items:end;gap:35px;background:var(--black);color:white}.admin-settings h2{margin:10px 0;font:400 30px var(--display);text-transform:uppercase}.admin-settings p:last-child{color:#aaa}.admin-settings-control{display:flex;align-items:end;gap:12px}.admin-settings-control label{display:flex;flex-direction:column;gap:6px;font:500 9px var(--mono);text-transform:uppercase}.admin-settings-control .site-status-toggle{padding:13px;flex-direction:row;border:1px solid #666}.admin-settings-control select{padding:13px;background:#222;color:white;border:1px solid #666}.admin-list{border-top:3px solid}.admin-row{min-height:110px;padding:12px 0;display:grid;grid-template-columns:110px 80px 1fr auto auto auto;align-items:center;gap:20px;border-bottom:1px solid}.admin-thumb{height:85px;overflow:hidden}.admin-thumb img{width:100%;height:100%;object-fit:cover}.admin-number,.admin-meta strong{font:400 18px var(--display)}.admin-meta strong{display:none}.admin-view,.admin-edit{font:500 9px var(--mono);text-transform:uppercase;border-bottom:1px solid}.offline-page,.not-found{min-height:72svh;padding:110px var(--page);background:var(--black);color:white}.offline-page h1,.not-found h1{margin:25px 0;font:400 clamp(80px,13vw,190px)/.75 var(--display);text-transform:uppercase;color:var(--acid)}

.site-footer{padding:65px var(--page);display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px;background:var(--black);color:white;border-top:8px solid var(--acid)}.footer-mark{font:400 35px/.8 var(--display);text-transform:uppercase}.site-footer>p{margin:0;color:#999}.site-footer>div{text-align:right}.site-footer>div p{margin:18px 0 0;color:#777;font:400 9px var(--mono)}.site-footer>div a{color:var(--acid);font:500 10px var(--mono);text-transform:uppercase}

.ad-placement{position:relative;width:min(1180px,calc(100% - (2 * var(--page))));min-height:90px;margin:24px auto;padding:18px;display:grid;place-items:center;background:#fff;border:1px solid var(--line);overflow:hidden}.ad-placement--header{margin-top:22px}.ad-placement--footer{margin-bottom:30px}.ad-disclosure{position:absolute;top:5px;right:8px;z-index:2;color:var(--grey);font:500 8px var(--mono);letter-spacing:.08em;text-transform:uppercase}.ad-placement>a{width:100%;display:grid;place-items:center;gap:8px}.ad-placement img{width:100%;max-height:220px;object-fit:contain}.ad-placement strong{font:700 13px var(--sans)}.ad-placement .adsbygoogle{width:100%;min-height:90px;display:block}
.archive>.ad-placement{width:100%;margin:48px 0 0}.detail-figure>.ad-placement{width:100%;margin:24px 0}

.admin-ads{margin-bottom:55px}.admin-ads>header{margin-bottom:28px;display:flex;align-items:end;justify-content:space-between;gap:30px}.admin-ads h2{margin:8px 0 5px;font:400 clamp(34px,5vw,62px)/.95 var(--display);text-transform:uppercase}.admin-ads header p:last-child{margin:0;color:var(--grey)}.admin-ad-list{border-top:2px solid}.admin-ad-row{padding:18px 0;display:grid;grid-template-columns:minmax(190px,1.5fr) 1fr auto auto auto auto;align-items:center;gap:20px;border-bottom:1px solid var(--line)}.admin-ad-row.is-offline{opacity:.55}.admin-ad-row>div{display:grid}.admin-ad-row>div strong{font-size:16px}.admin-ad-row>div span,.admin-ad-row>span{color:var(--grey);font:500 9px var(--mono);text-transform:uppercase}.ad-type-fields{padding:22px;display:grid;gap:20px;border:1px solid var(--line);border-radius:8px}.ad-type-fields legend{padding:0 8px;font:700 10px var(--mono);text-transform:uppercase}.form-note{margin:0;color:var(--grey);font-size:12px}

@media(max-width:800px){.admin-ad-row{grid-template-columns:1fr auto}.admin-ad-row>span{display:none}.admin-ads>header{align-items:flex-start;flex-direction:column}.ad-placement{width:calc(100% - 28px);margin-block:14px}.ad-placement img{max-height:160px}}

@media(max-width:900px){.site-header{min-height:72px}.menu-toggle{display:block;justify-self:end}.site-nav{display:none;position:absolute;top:72px;left:0;right:0;padding:20px var(--page);background:var(--black);flex-direction:column;align-items:stretch}.site-nav.open{display:flex}.site-nav a,.site-nav button{padding:15px 0;border-bottom:1px solid #333;text-align:left}.hero{min-height:calc(92svh - 72px)}.archive-heading,.search-page>header{grid-template-columns:1fr}.graffiti-card{grid-column:span 6!important}.graffiti-card:nth-child(even){transform:none}.form-page,.photo-editor-page{grid-template-columns:1fr}.admin-row{grid-template-columns:90px 70px 1fr auto auto}.admin-view{display:none}.admin-row form{grid-column:5}}
@media(max-width:650px){:root{--page:20px}.hero{padding-top:22px}.hero-tag span{display:none}.hero h1{font-size:24vw;line-height:.78;margin:auto 0}.hero h1 span:last-child{transform:none;font-size:20vw;text-shadow:4px 4px 0 #292929}.hero-foot{grid-template-columns:1fr;gap:25px}.hero-foot p{font-size:20px}.archive{padding-top:75px;padding-bottom:90px}.archive-heading{margin-bottom:50px;gap:25px}.archive-heading h2{font-size:21vw}.archive-heading>p{font-size:17px}.graffiti-grid{display:block}.graffiti-card{margin-bottom:60px}.graffiti-image{aspect-ratio:4/5}.graffiti-image span{display:none}.graffiti-meta{grid-template-columns:62px 1fr}.graffiti-meta time{grid-column:2}.pagination{margin-top:65px;grid-template-columns:1fr 1fr}.pagination ol{display:none}.manifesto{padding-top:85px;padding-bottom:90px}.manifesto blockquote{font-size:14vw}.photo-detail{padding:55px 0 80px}.detail-heading{padding:0 var(--page)}.detail-heading h1{font-size:17vw}.detail-image-stage{border-inline:0}.detail-image-arrow{top:auto;bottom:10px;transform:none}.detail-figure figcaption{margin:0 var(--page);grid-template-columns:65px 1fr}.detail-map{margin:55px var(--page) 0}.detail-map header{align-items:start;flex-direction:column;gap:15px}.detail-map iframe{height:340px}.photo-navigation{margin:55px var(--page) 0;grid-template-columns:1fr 1fr}.photo-navigation>a{display:none}.search-page,.admin-page{padding-top:70px;padding-bottom:90px}.search-page h1,.admin-heading h1{font-size:20vw}.archive-search>div{flex-wrap:wrap}.archive-search .button{width:100%}.about-hero{padding-top:80px;padding-bottom:80px}.about-hero h1{font-size:18vw}.about-grid{padding-top:65px;grid-template-columns:1fr}.form-intro{padding:75px var(--page)}.editorial-form{padding:65px var(--page)}.form-row{grid-template-columns:1fr}.admin-heading{display:block}.admin-summary{margin-top:30px;text-align:left}.admin-search{grid-template-columns:1fr 1fr}.admin-search>.predictive-search{grid-column:1/-1}.admin-settings{grid-template-columns:1fr}.admin-settings-control{align-items:stretch;flex-direction:column}.admin-row{grid-template-columns:70px 1fr auto;gap:12px}.admin-thumb{height:66px}.admin-number{display:none}.admin-meta strong{display:block}.admin-edit{grid-column:3}.admin-row form{grid-column:3;align-self:end}.site-footer{grid-template-columns:1fr;gap:25px}.site-footer>div{text-align:left}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(max-width:650px){.artists-page{padding-top:65px}.artists-hero{grid-template-columns:1fr;gap:35px;margin-bottom:45px}.artists-hero h1,.artist-profile h1{font-size:20vw}.artists-actions{align-items:flex-start;flex-direction:column;gap:20px}.artist-card-grid{display:block}.artist-card{min-height:105vw;margin-bottom:20px}.artist-card:nth-child(n){grid-column:auto}.artist-card>div{padding:22px}.artist-card h2{font-size:14vw}.artist-profile>header{padding-top:65px}.artist-profile-label{align-items:flex-start;gap:20px}.artist-profile-copy{grid-template-columns:1fr;gap:30px}.artist-works{padding-top:65px}.artist-works>.kicker{margin-bottom:35px}}

/* Admin artwork states */
.site-offline-warning{margin:0 0 45px;padding:20px 24px;display:flex;align-items:center;justify-content:space-between;gap:30px;background:#b40000;color:white;border:3px solid var(--black);box-shadow:7px 7px 0 var(--black)}
.site-offline-warning div{display:flex;flex-direction:column;gap:5px}.site-offline-warning strong{font:400 20px/1 var(--display);text-transform:uppercase}.site-offline-warning span{font:400 11px/1.4 var(--mono)}.site-offline-warning a{flex:0 0 auto;padding-bottom:4px;border-bottom:2px solid;font:500 9px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase}
.admin-row{grid-template-columns:110px 80px minmax(180px,1fr) auto auto auto}
.admin-row.is-offline{background:rgba(0,0,0,.045)}
.admin-row.is-offline .admin-thumb img{filter:grayscale(1);opacity:.5}
.status-badge{display:inline-block;margin-right:9px;padding:5px 7px;background:var(--black);color:white;font:500 8px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase}
.draft-preview-notice{margin:24px var(--page);padding:16px 18px;display:flex;align-items:center;gap:18px;background:var(--acid);border:2px solid var(--black);font:500 10px/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase}.draft-preview-notice span{flex:1}.draft-preview-notice .button{flex:0 0 auto}
.delete-button{min-height:48px;padding:0 22px;border:2px solid #b40000;background:#e31b1b;color:white;font:500 10px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;box-shadow:4px 4px 0 #710000;transition:.18s}
.delete-button:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 #710000}
.editor-preview-actions{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:24px}
.editor-preview-actions>a{font:500 9px var(--mono);text-transform:uppercase;border-bottom:1px solid}
.editor-preview-actions form{margin:0}
@media(max-width:900px){.admin-row{grid-template-columns:90px 70px minmax(150px,1fr) auto auto}.admin-row>form:last-child{grid-column:5}}
@media(max-width:650px){.admin-row{grid-template-columns:70px minmax(0,1fr) auto}.admin-thumb{grid-row:1/2}.admin-edit{grid-column:3;grid-row:1}.admin-row>form:last-child{grid-column:3;grid-row:1;align-self:end}.detail-admin-actions .delete-button{width:100%}}
@media(max-width:650px){.site-offline-warning{align-items:flex-start;flex-direction:column;gap:16px}}
.admin-export{margin:-30px 0 55px;display:flex;justify-content:flex-end;gap:22px;font:500 9px var(--mono);text-transform:uppercase}.admin-export span{color:var(--grey)}.admin-export a{border-bottom:1px solid}.suggestion-review{margin-bottom:55px;padding:28px;background:var(--white);border:2px solid}.suggestion-review h2{margin:10px 0 25px;font:400 35px var(--display);text-transform:uppercase}.suggestion-review article{padding:15px 0;display:grid;grid-template-columns:1fr auto auto auto;align-items:center;gap:18px;border-top:1px solid var(--line)}.suggestion-review p{margin:4px 0 0}.suggestion-review form{margin:0}
.suggestion-badge,.status-badge--suggested{display:inline-block;background:#c40000!important;color:#fff!important}.suggestion-badge{margin-left:7px;padding:5px 7px;font:700 8px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;vertical-align:2px}.suggestion-edit{font:700 9px var(--mono);text-transform:uppercase;text-decoration:underline;text-underline-offset:4px}
.admin-tabs button.has-pending-suggestions{background:#c40000;color:#fff}.admin-tabs button.has-pending-suggestions b{background:#fff;color:#a00000}.admin-suggestion-alert{width:100%;margin:0 0 22px;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;gap:20px;border:0;border-radius:10px;background:#c40000;color:#fff;box-shadow:0 7px 20px rgba(150,0,0,.2);cursor:pointer;text-align:left}.admin-suggestion-alert strong{font:800 15px var(--sans)}.admin-suggestion-alert span{font:700 9px var(--mono);letter-spacing:.06em;text-transform:uppercase}
.admin-artists{margin:0 0 65px;padding:32px;background:var(--black);color:white;border-bottom:8px solid var(--acid);box-shadow:10px 10px 0 rgba(0,0,0,.16)}.admin-artists>header{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;margin-bottom:28px}.admin-artists h2{margin:8px 0 5px;font:400 clamp(34px,4vw,58px)/.9 var(--display);text-transform:uppercase}.admin-artists header p:last-child{margin:0;color:#aaa}.admin-artist-list{border-top:1px solid #444}.admin-artist-row{min-height:82px;display:grid;grid-template-columns:48px minmax(180px,1fr) auto minmax(310px,auto);align-items:center;gap:18px;border-bottom:1px solid #333}.admin-artist-avatar{width:42px;height:42px;display:grid;place-items:center;background:var(--acid);color:var(--black);font:400 20px var(--display)}.admin-artist-row>div:nth-child(2){display:flex;flex-direction:column}.admin-artist-row>div:nth-child(2) strong{font-size:15px}.admin-artist-row>div:nth-child(2) span{color:#888;font:400 9px var(--mono)}.artist-status{padding:6px 8px;border:1px solid #666;font:500 8px var(--mono);letter-spacing:.08em;text-transform:uppercase}.artist-status--approved{border-color:#00b968;color:#66e6a5}.artist-status--pending{border-color:#e8ae00;color:#ffd34d}.artist-status--rejected{border-color:#e44;color:#ff8989}.admin-artist-actions{display:flex;align-items:center;justify-content:flex-end;gap:14px}.admin-artist-actions form{margin:0}.admin-artist-actions>a,.mini-action{border:0;border-bottom:1px solid;background:none;color:white;font:500 9px var(--mono);text-transform:uppercase;cursor:pointer}.mini-action--approve{color:var(--acid)}.admin-empty{padding:30px;text-align:center;color:#888}.form-section-title{margin-top:12px;padding:14px 0;border-block:2px solid;display:flex;justify-content:space-between;gap:20px;font:400 22px var(--display);text-transform:uppercase}.form-section-title small{font:400 9px var(--mono);text-transform:none}.approval-notice{max-width:500px;margin-top:30px;padding:18px;background:var(--acid);color:var(--black);border:2px solid white;font:500 11px/1.5 var(--mono)}.approval-notice--rejected{background:#e44;color:white}
@media(max-width:650px){.admin-map{height:300px}.artist-suggestion,.spotlight{grid-template-columns:1fr}.artist-suggestion{margin:55px var(--page) 0;padding:28px}.admin-export{justify-content:flex-start;flex-wrap:wrap;margin-top:-20px}.suggestion-review article{grid-template-columns:1fr 1fr}.suggestion-review article>div{grid-column:1/-1}}
@media(max-width:900px){.admin-artist-row{grid-template-columns:48px 1fr auto}.admin-artist-actions{grid-column:2/-1;justify-content:flex-start;padding-bottom:15px}}
@media(max-width:650px){.admin-artists{margin-inline:calc(var(--page) * -1);padding:25px var(--page)}.admin-artists>header{align-items:flex-start;flex-direction:column}.admin-artist-row{padding:15px 0;grid-template-columns:42px 1fr}.admin-artist-row>.artist-status{grid-column:2}.admin-artist-actions{grid-column:2;flex-wrap:wrap}.form-section-title{align-items:flex-start;flex-direction:column}}
.admin-map{position:relative}.deep-zoom-viewer{overflow:hidden;padding:0}.deep-zoom-viewport{position:absolute;inset:0;overflow:hidden;touch-action:none;cursor:zoom-in}.deep-zoom-viewport.is-pannable{cursor:grab}.deep-zoom-viewport.is-dragging{cursor:grabbing}.deep-zoom-viewport img{width:100%;height:100%;object-fit:contain;user-select:none;transform-origin:center;transition:none;will-change:transform}.deep-zoom-controls{position:fixed;z-index:2;right:20px;top:20px;display:flex;gap:7px}.deep-zoom-controls button{position:static;min-width:43px;font-size:15px}

/* Artwork detail editorial layout */
.photo-detail{padding-top:0}.detail-heading{min-height:260px;margin:0 calc(var(--page) * -1) 36px;padding:55px var(--page) 38px;display:flex;align-items:flex-end;justify-content:space-between;gap:40px;background:var(--black);color:white;border-bottom:8px solid var(--acid)}.detail-heading>div{display:flex;flex-direction:column;gap:25px}.detail-heading .kicker{color:var(--acid)}.detail-heading h1{display:flex;flex-direction:column;align-items:flex-end;margin:0;color:var(--acid);font-size:clamp(78px,11vw,165px);line-height:.66;-webkit-text-stroke:0}.detail-heading h1 span{margin:0 4px 13px 0;color:white;font:500 10px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase}.detail-location{margin:0;color:#bbb}.detail-image-stage{min-height:68svh;border-width:0;background:#050505;box-shadow:0 16px 0 var(--acid)}.detail-image-stage>img{max-height:88svh}.zoom-hint{left:18px;bottom:18px;border:1px solid var(--black)}.detail-information{margin:0!important;padding:52px 0!important;display:grid!important;grid-template-columns:minmax(260px,1fr) minmax(420px,1.15fr)!important;gap:8vw!important;border-bottom:2px solid}.detail-description>p:last-child{max-width:650px;margin:18px 0 0;font-size:clamp(23px,2.3vw,36px);font-weight:800;line-height:1.15}.detail-facts{margin:0;display:grid;grid-template-columns:1fr 1fr;border-top:2px solid}.detail-facts>div{min-height:92px;padding:16px 12px 12px 0;border-bottom:1px solid var(--line)}.detail-facts>div:nth-child(odd){border-right:1px solid var(--line)}.detail-facts>div:nth-child(even){padding-left:18px}.detail-facts dt{margin-bottom:8px;color:var(--grey);font:500 9px var(--mono);letter-spacing:.1em;text-transform:uppercase}.detail-facts dd{margin:0;font-size:15px;font-weight:800;text-transform:uppercase}.visibility-dot{width:9px;height:9px;margin-right:9px;display:inline-block;border-radius:50%;background:#888}.visibility-dot--visible{background:#00a451;box-shadow:0 0 0 4px rgba(0,164,81,.14)}.visibility-dot--partial{background:#f0a500}.visibility-dot--gone{background:#d22}.detail-map{margin-top:90px;padding:38px;background:var(--white);border:3px solid;box-shadow:10px 10px 0 var(--black)}.detail-map header{padding-bottom:28px;align-items:end}.detail-map header>div>p:last-child{margin:12px 0 0;color:var(--grey)}.detail-map h2{font-size:clamp(48px,6vw,90px)}.detail-map header>a{border:2px solid var(--black)}.detail-map iframe{height:500px;margin-top:28px;filter:none}.artist-suggestion{box-shadow:10px 10px 0 var(--acid)}
@media(max-width:650px){.detail-heading{min-height:210px;margin-bottom:0;padding-top:40px}.detail-heading h1{font-size:20vw}.detail-heading>div{gap:16px}.detail-information{padding:38px var(--page)!important;grid-template-columns:1fr!important;gap:38px!important}.detail-facts{grid-template-columns:1fr}.detail-facts>div:nth-child(odd){border-right:0}.detail-facts>div:nth-child(even){padding-left:0}.detail-map{margin:60px var(--page) 0;padding:22px;box-shadow:6px 6px 0 var(--black)}.detail-map header{align-items:flex-start}.detail-map iframe{height:360px}.zoom-hint{display:none}}

/* Keep the bold detail hierarchy while giving longer captions room to breathe. */
.detail-description>p:last-child{font-size:clamp(17px,1.35vw,22px);font-weight:600;line-height:1.45}
@media(max-width:650px){.detail-description>p:last-child{font-size:17px;line-height:1.5}}
.location-history{margin-top:100px;padding-top:38px;border-top:3px solid}.location-history>header{max-width:760px;margin-bottom:38px}.location-history h2{margin:12px 0;font:400 clamp(42px,5vw,72px)/.9 var(--display);letter-spacing:-.05em;text-transform:uppercase}.location-history>header>p:last-child{font-size:18px}.location-history-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:25px}.location-history-grid a{display:grid;grid-template-columns:1fr auto;gap:8px;font:500 9px var(--mono);text-transform:uppercase}.location-history-grid a>div{position:relative;grid-column:1/-1;overflow:hidden;border:2px solid}.location-history-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:.25s}.location-history-grid a:hover img{transform:scale(1.03)}.location-history-grid span{position:absolute;left:0;bottom:0;padding:7px 9px;background:var(--acid);color:var(--black)}.location-history-grid time{color:var(--grey)}
@media(max-width:900px){.location-history-grid{grid-template-columns:1fr 1fr}}@media(max-width:650px){.location-history{margin:65px var(--page) 0}.location-history h2{font-size:38px}.location-history-grid{gap:25px 12px}}
.hero-foot{padding-top:28px;border-top:1px solid #363636}.hero-foot p{max-width:620px;font-size:clamp(18px,2.1vw,30px);font-weight:600;letter-spacing:-.025em}.hero-foot p span{color:var(--acid)}.hero-foot a{display:flex;align-items:center;gap:18px;padding:14px 0;border-bottom:0;color:var(--acid);font-size:11px}.hero-foot a span{padding-bottom:6px;border-bottom:2px solid var(--acid)}
@media(max-width:650px){.hero-foot{padding-top:20px}.hero-foot p{font-size:19px}.hero-foot a{width:max-content}}

/* Artist-owned portfolio uploads remain visually separate from the archive. */
.artist-profile-title{display:flex;align-items:end;gap:35px}.artist-profile-title>img{width:clamp(110px,15vw,220px);aspect-ratio:1;flex:0 0 auto;object-fit:cover;border:5px solid var(--acid);box-shadow:10px 10px 0 #333}.artist-portfolio{padding:90px var(--page) 120px;background:var(--white);border-bottom:3px solid}.artist-portfolio>header{max-width:850px;margin-bottom:55px}.artist-portfolio h2,.portfolio-manager h2{margin:12px 0;font:400 clamp(52px,7vw,105px)/.82 var(--display);letter-spacing:-.06em;text-transform:uppercase}.artist-portfolio>header>p:last-child{font-size:18px}.artist-portfolio-grid{columns:2;column-gap:28px}.artist-portfolio-grid figure{margin:0 0 45px;break-inside:avoid;border-top:3px solid}.artist-portfolio-grid img{width:100%;max-height:80svh;object-fit:cover}.artist-portfolio-grid figcaption{padding-top:16px}.artist-portfolio-grid h3{margin:0;font:400 clamp(25px,3vw,45px)/1 var(--display);text-transform:uppercase}.artist-portfolio-grid p{max-width:600px;margin:12px 0 0;white-space:pre-line}.settings-profile-image{width:min(290px,100%);aspect-ratio:1;object-fit:cover;margin:28px 0;border:4px solid var(--acid)}.profile-image-form{display:grid;gap:14px;max-width:390px;margin:25px 0 35px}.profile-image-form label{display:grid;gap:8px;color:#aaa;font:500 9px var(--mono);text-transform:uppercase}.profile-image-form input{color:white}.portfolio-manager{padding:90px var(--page) 120px}.portfolio-manager>header{max-width:800px;margin-bottom:45px}.portfolio-upload{max-width:850px;padding:35px;display:grid;gap:24px;background:var(--white);border:3px solid;box-shadow:8px 8px 0}.portfolio-upload label{display:grid;gap:7px;font:500 9px var(--mono);text-transform:uppercase}.portfolio-upload input,.portfolio-upload textarea{padding:12px 0;border:0;border-bottom:2px solid;background:none}.portfolio-manage-grid{margin-top:70px;display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.portfolio-manage-grid article{background:var(--white);border:2px solid}.portfolio-manage-grid img{width:100%;aspect-ratio:4/3;object-fit:cover}.portfolio-manage-grid article>div{padding:13px;display:flex;align-items:center;justify-content:space-between;gap:15px}.portfolio-manage-grid form{margin:0}
@media(max-width:650px){.artist-profile-title{align-items:flex-start;flex-direction:column;margin-top:35px}.artist-profile-title>img{width:145px}.artist-portfolio{padding-top:65px}.artist-portfolio-grid{columns:1}.portfolio-manager{padding-top:65px}.portfolio-upload{padding:22px}.portfolio-manage-grid{grid-template-columns:1fr 1fr;gap:12px}}

/* Scalable admin navigation */
[hidden]{display:none!important}.admin-tabs{position:sticky;top:0;z-index:80;margin:0 0 45px;display:grid;grid-template-columns:repeat(4,1fr);background:var(--black);border:3px solid var(--black);box-shadow:8px 8px 0 var(--acid)}.admin-tabs button{min-height:72px;padding:14px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:0;border-right:1px solid #444;background:var(--black);color:white;font:500 10px var(--mono);letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.admin-tabs button:last-child{border-right:0}.admin-tabs button:hover{color:var(--acid)}.admin-tabs button.is-active{background:var(--acid);color:var(--black)}.admin-tabs b{min-width:27px;height:27px;padding:0 6px;display:grid;place-items:center;border:1px solid currentColor;border-radius:50%;font-size:9px}.admin-tab-empty{padding:70px 25px;text-align:center;border:2px dashed #bbb}.admin-tab-empty strong{font:400 clamp(35px,5vw,65px)/1 var(--display);text-transform:uppercase}.admin-tab-empty p{margin:12px 0 0;color:var(--grey)}
@media(max-width:650px){.admin-tabs{top:0;margin-inline:calc(var(--page) * -1);grid-template-columns:1fr 1fr;box-shadow:0 6px 0 var(--acid)}.admin-tabs button{min-height:58px;padding:10px 14px;border-bottom:1px solid #444}.admin-tabs button:nth-child(2){border-right:0}}

/* Two-collection Bristol visual archive */
.admin-tabs{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.dual-hero{min-height:76svh;padding:65px var(--page);display:flex;flex-direction:column;justify-content:space-between;background:var(--black);color:white;border-bottom:8px solid var(--acid)}.dual-hero>.kicker{color:var(--acid)}.dual-hero h1{margin:50px 0;font:400 clamp(70px,12vw,190px)/.73 var(--display);letter-spacing:-.08em;text-transform:uppercase}.dual-hero h1 span{display:block}.dual-hero h1 span:last-child{color:var(--acid);text-align:right}.dual-hero>p:last-child{max-width:720px;margin:0;font-size:clamp(20px,2.3vw,34px);font-weight:600}.collection-gates{display:grid;grid-template-columns:1fr 1fr}.collection-gates>a{min-height:580px;padding:55px var(--page);display:flex;flex-direction:column;justify-content:space-between;border-bottom:3px solid}.collection-gates>a:first-child{background:var(--acid);border-right:3px solid}.collection-gates>a:last-child{background:#c9bca7}.collection-gates span,.collection-gates b{font:500 10px var(--mono);letter-spacing:.09em;text-transform:uppercase}.collection-gates h2{margin:auto 0 35px;font:400 clamp(65px,9vw,145px)/.75 var(--display);letter-spacing:-.07em;text-transform:uppercase}.collection-gates p{max-width:480px;font-size:18px}.collection-gates b{width:max-content;padding-bottom:6px;border-bottom:2px solid}.collection-archive--historic_buildings{background:#ddd5c8}.collection-archive--historic_buildings .graffiti-image:hover:after{box-shadow:inset 0 0 0 8px #b59467}.home-latest small{display:block;margin-bottom:5px;color:var(--grey);font:500 8px var(--mono);text-transform:uppercase}
@media(max-width:650px){.dual-hero{min-height:70svh;padding-top:45px}.dual-hero h1{font-size:18vw}.collection-gates{grid-template-columns:1fr}.collection-gates>a{min-height:440px;padding:45px var(--page)}.collection-gates>a:first-child{border-right:0}.collection-gates h2{font-size:18vw}}
.collection-gates{grid-template-columns:repeat(3,1fr)}.collection-gates>a:nth-child(2){background:#c9bca7;border-right:3px solid}.collection-gates>a:last-child{background:#b8c8c8}.collection-gates h2{font-size:clamp(52px,6.5vw,110px)}
@media(max-width:900px){.collection-gates{grid-template-columns:1fr}.collection-gates>a:nth-child(2){border-right:0;border-bottom:3px solid var(--black)}}

/* Historic building galleries and video */
.building-fields{padding:22px;display:grid;gap:22px;background:#d8cbb7;border:2px solid}.building-fields[hidden]{display:none}.building-fields label{display:flex;flex-direction:column;gap:8px}.building-gallery{margin-top:90px;padding:48px;background:#16232d;color:white;border-radius:18px;box-shadow:12px 12px 0 #d29c59}.building-gallery>header{max-width:850px;margin-bottom:34px}.building-gallery .kicker{color:#86ddd3}.building-gallery h2{margin:12px 0;font:800 clamp(42px,6vw,88px)/.9 var(--sans);letter-spacing:-.06em}.building-gallery>header>p:last-child{max-width:650px;color:#c7d2d6}.building-gallery-feature{margin:0;background:#070b0e;border-radius:12px;overflow:hidden}.building-gallery-feature img{width:100%;height:min(70svh,760px);object-fit:contain}.building-gallery-feature figcaption{padding:15px 18px;color:#dce7e8;font:500 10px var(--mono);letter-spacing:.08em;text-transform:uppercase}.building-gallery-thumbs{margin-top:18px;display:flex;gap:12px;overflow-x:auto;padding:3px 3px 12px}.building-gallery-thumbs button{width:128px;flex:0 0 128px;padding:0 0 9px;overflow:hidden;background:#243844;color:white;border:2px solid transparent;border-radius:9px;cursor:pointer;text-align:left}.building-gallery-thumbs button.is-active{border-color:#86ddd3;box-shadow:0 0 0 2px #86ddd3}.building-gallery-thumbs img{width:100%;height:82px;display:block;object-fit:cover}.building-gallery-thumbs span{display:block;padding:9px 9px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:500 9px var(--mono);text-transform:uppercase}.building-video{margin-top:90px;padding-top:38px;border-top:3px solid}.building-video>header{max-width:800px;margin-bottom:38px}.building-video h2{margin:12px 0;font:400 clamp(48px,6vw,90px)/.85 var(--display);letter-spacing:-.055em;text-transform:uppercase}.building-video>div{position:relative;padding-top:56.25%;background:var(--black);border:3px solid;box-shadow:9px 9px 0 var(--acid)}.building-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.building-gallery-admin{padding:90px var(--page) 120px}.building-gallery-admin>header{max-width:800px;margin-bottom:36px}.building-gallery-admin h2{margin:12px 0;font:800 clamp(42px,6vw,82px)/.9 var(--sans);letter-spacing:-.06em}.building-media-admin-grid{margin-top:48px;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.building-media-admin-grid article{background:white;border:1px solid var(--soft);border-radius:10px;overflow:hidden}.building-media-admin-grid img{width:100%;aspect-ratio:4/3;object-fit:cover}.building-media-admin-grid article>div{padding:12px;display:flex;align-items:center;justify-content:space-between;gap:10px}.file-field.is-dragging{border-color:#087f76;background:#dff5f1;box-shadow:0 0 0 4px rgba(27,183,168,.18)}
@media(max-width:650px){.building-gallery,.building-video{margin-inline:var(--page)}.building-gallery{padding:24px}.building-gallery-feature img{height:52svh}.building-gallery-admin{padding-top:65px}.building-media-admin-grid{grid-template-columns:1fr 1fr;gap:12px}}
.batch-view-types{display:grid;gap:8px}.batch-view-types:empty{display:none}.batch-view-types label{padding:10px 12px;display:grid;grid-template-columns:1fr 110px 180px;align-items:center;gap:18px;background:var(--white);border:1px solid var(--line);font:500 9px var(--mono);text-transform:none}.batch-view-types select{padding:8px;border:1px solid;background:white}.batch-main-choice{display:flex;align-items:center;gap:7px;font-weight:800;text-transform:uppercase}.batch-main-choice input{width:16px!important;margin:0}@media(max-width:650px){.batch-view-types label{grid-template-columns:1fr 1fr}.batch-view-types select{width:100%;grid-column:1/-1}}
.building-detail-thumbs{margin-top:16px;padding:18px;display:flex;align-items:stretch;gap:12px;overflow-x:auto;background:#16232d;border-radius:0 0 12px 12px}.building-detail-thumbs>div{width:180px;flex:0 0 180px;padding:8px 12px;color:white}.building-detail-thumbs>div .kicker{margin:0 0 9px;color:#86ddd3}.building-detail-thumbs>div span{color:#b9c8cd;font-size:12px}.building-detail-thumbs button{width:112px;flex:0 0 112px;padding:0 0 8px;overflow:hidden;background:#243844;color:white;border:2px solid transparent;border-radius:8px;cursor:pointer;text-align:left}.building-detail-thumbs button.is-active{border-color:#86ddd3}.building-detail-thumbs img{width:100%;height:70px;display:block;object-fit:cover}.building-detail-thumbs button span{display:block;padding:8px 8px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:500 8px var(--mono);text-transform:uppercase}@media(max-width:650px){.building-detail-thumbs{border-radius:0;padding:12px}.building-detail-thumbs>div{width:145px;flex-basis:145px}.building-detail-thumbs button{width:94px;flex-basis:94px}.building-detail-thumbs img{height:62px}}
.building-media-actions{display:flex;align-items:center;gap:10px}.building-media-actions form{margin:0}.building-media-actions .text-link{padding:0;border:0;border-bottom:1px solid;background:none;font:500 8px var(--mono);text-transform:uppercase;cursor:pointer}
.event-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.event-card{min-height:280px;padding:28px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;background:var(--acid);color:var(--black);border:3px solid var(--black);box-shadow:8px 8px 0 var(--black);transition:transform .2s}.event-card:hover{transform:translate(-4px,-4px)}.event-card span,.event-card p{font:500 10px var(--mono);text-transform:uppercase}.event-card h2{margin:18px 0 12px;font:400 clamp(34px,4vw,60px)/.86 var(--display);letter-spacing:-.05em;text-transform:uppercase}.event-card b{margin-top:24px;font:500 10px var(--mono);text-transform:uppercase;border-bottom:2px solid}.event-hero{padding:100px var(--page) 80px;background:var(--black);color:white}.event-hero h1{max-width:1000px;margin:24px 0;font:400 clamp(64px,12vw,170px)/.78 var(--display);letter-spacing:-.07em;text-transform:uppercase;color:var(--acid)}.event-hero>p:last-of-type{font:500 11px var(--mono);text-transform:uppercase}.event-description{max-width:720px;margin-top:40px;font-size:18px;line-height:1.5;color:#ccc}.admin-events{margin:0 0 50px}.admin-events>header{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:25px}.admin-events h2{margin:10px 0;font:400 55px var(--display);text-transform:uppercase}.admin-event-list{border-top:3px solid}.admin-event-list article{display:grid;grid-template-columns:1fr auto auto;gap:22px;align-items:center;padding:18px 0;border-bottom:1px solid}.admin-event-list strong{display:block;font:400 26px var(--display);text-transform:uppercase}.admin-event-list span{font:500 9px var(--mono);text-transform:uppercase;color:var(--grey)}
@media(max-width:760px){.event-card-grid{grid-template-columns:1fr}.admin-events>header{display:block}.admin-event-list article{grid-template-columns:1fr auto}.admin-event-list article form{grid-column:2}.event-hero{padding-top:70px}}
.admin-tabs{grid-template-columns:repeat(3,1fr)}
.admin-event-list article{grid-template-columns:1fr auto auto auto}
@media(max-width:760px){.admin-event-list article{grid-template-columns:1fr auto}.admin-event-list article form{grid-column:2}}
.event-inline-upload{margin-top:70px;padding:38px;background:#c9bca7;border:3px solid var(--black);display:grid;grid-template-columns:.8fr 1.2fr;gap:35px}.event-inline-upload h2{margin:10px 0 20px;font:400 clamp(48px,6vw,90px)/.82 var(--display);text-transform:uppercase}.event-inline-upload .editorial-form{padding:0;background:transparent}.event-photo-strip{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:14px;padding-top:25px;border-top:2px solid}.event-photo-strip a{position:relative;width:110px;height:90px;border:2px solid;overflow:hidden}.event-photo-strip img{width:100%;height:100%;object-fit:cover}.event-photo-strip span{position:absolute;left:0;bottom:0;padding:4px 6px;background:var(--acid);font:500 9px var(--mono)}
@media(max-width:760px){.event-inline-upload{grid-template-columns:1fr;padding:24px}}
.admin-event-list article{grid-template-columns:1fr auto auto}
.event-archive-card .event-card-placeholder{height:100%;min-height:0}.event-archive-card .graffiti-meta p{overflow-wrap:anywhere}
/* Modern visual refresh */
:root{--acid:#1bb7a8;--black:#17212b;--concrete:#f3f5f6;--white:#fff;--grey:#6b7782;--line:#d7dde2;--display:var(--sans);--page:clamp(20px,5vw,76px)}
body{background:var(--concrete);color:var(--black);font-size:15px;line-height:1.6}.site-header{min-height:72px;background:rgba(255,255,255,.96);color:var(--black);border-bottom:1px solid var(--line);box-shadow:0 2px 14px rgba(23,33,43,.06)}.wordmark{font-size:20px;color:var(--black)}.wordmark strong{font-weight:800}.site-nav a,.site-nav button{color:var(--black);font-size:11px;letter-spacing:.04em}.site-nav a:hover,.site-nav button:hover{color:#087f76}.button{min-height:44px;border:1px solid var(--black);background:var(--acid);box-shadow:3px 3px 0 var(--black);border-radius:5px;font-size:11px;letter-spacing:.04em}.dual-hero{min-height:52svh!important;padding:clamp(64px,10vw,130px) var(--page)!important;background:linear-gradient(135deg,#17212b 0%,#253b49 100%)!important;color:white!important}.dual-hero h1{max-width:900px!important;margin:28px 0!important;font-size:clamp(48px,8vw,112px)!important;line-height:.9!important;letter-spacing:-.07em!important}.dual-hero h1 span:last-child{color:#68e0d3!important;transform:none!important;text-shadow:none!important}.dual-hero>p:last-child{max-width:640px;margin:0;font-size:clamp(16px,2vw,22px);color:#d6e2e7}.collection-gates{gap:18px!important;padding:48px var(--page) 80px!important;background:var(--concrete)}.collection-gates>a{min-height:280px!important;padding:28px!important;border:1px solid var(--line)!important;border-radius:10px!important;box-shadow:0 8px 25px rgba(23,33,43,.07);transition:transform .2s,box-shadow .2s}.collection-gates>a:hover{transform:translateY(-5px);box-shadow:0 14px 32px rgba(23,33,43,.13)}.collection-gates h2{font-size:clamp(32px,4vw,58px)!important;line-height:.95!important;letter-spacing:-.06em!important}.collection-gates p{font-size:14px!important;color:var(--grey)}.archive{padding:76px var(--page) 100px}.archive-heading{gap:50px;margin-bottom:48px;padding-bottom:25px;border-bottom:1px solid var(--line)}.archive-heading h2{font-size:clamp(42px,6vw,82px)!important;line-height:.9!important;letter-spacing:-.06em!important}.archive-heading>p{font-size:17px!important;color:var(--grey)}.graffiti-grid{grid-template-columns:repeat(3,1fr);gap:34px 22px}.graffiti-card,.graffiti-card:nth-child(3n){grid-column:auto;transform:none!important}.graffiti-image{border:1px solid var(--line);border-radius:8px}.graffiti-image:after{box-shadow:none!important}.graffiti-image span{transform:none!important;opacity:0;background:var(--acid);border-radius:5px 0 0 0}.graffiti-image:hover span{opacity:1}.graffiti-image img{filter:none}.graffiti-meta{grid-template-columns:48px 1fr auto;gap:10px;padding-top:11px;border-top:1px solid var(--line);margin-top:9px}.graffiti-meta b{font:700 13px var(--mono)}.graffiti-meta p{font-size:13px;font-weight:600}.manifesto{padding:80px var(--page);background:#d9f3ef;border-block:1px solid var(--line)}.manifesto blockquote{font-size:clamp(42px,6vw,84px);line-height:.9}.photo-detail{padding:55px var(--page) 90px}.detail-heading h1{font-size:clamp(48px,7vw,100px);-webkit-text-stroke:0;color:var(--black)}.detail-image-stage{min-height:45vh;border:1px solid var(--line);border-radius:8px}.detail-image-arrow{width:42px;height:42px;border-radius:50%}.event-card-grid{gap:22px}.event-card{border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 25px rgba(23,33,43,.08);overflow:hidden}.event-card:hover{transform:translateY(-5px);box-shadow:0 14px 32px rgba(23,33,43,.14)}.event-card>img,.event-card-placeholder{height:210px}.event-card-copy{padding:20px}.event-card h2{font-size:clamp(25px,3vw,42px);line-height:.98}.event-card-copy span,.event-card-copy p{font-size:10px}.event-hero{padding:76px var(--page);background:linear-gradient(135deg,#17212b,#253b49)}.event-hero h1{font-size:clamp(48px,8vw,108px);color:#68e0d3}.form-page{padding:64px var(--page) 90px}.form-intro h1{font-size:clamp(48px,7vw,92px)!important;line-height:.9!important}.editorial-form{border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 25px rgba(23,33,43,.06)}.editorial-form input,.editorial-form select,.editorial-form textarea{border:1px solid var(--line);border-radius:5px;padding:12px}.admin-page{padding-top:52px}.admin-heading h1{font-size:clamp(50px,7vw,88px)!important}.admin-tabs{border:1px solid var(--black);box-shadow:4px 4px 0 var(--acid);border-radius:6px;overflow:hidden}.admin-tabs button{min-height:58px;font-size:11px}.admin-events{padding:28px;border:1px solid var(--line);border-radius:10px;background:#fff}.site-footer{padding:38px var(--page);background:var(--black);color:#dce6e9}
@media(max-width:760px){.site-header{padding-inline:20px}.site-nav{gap:15px}.graffiti-grid{grid-template-columns:1fr 1fr}.archive-heading{display:block}.archive-heading>p{margin-top:18px}.collection-gates{grid-template-columns:1fr!important}.collection-gates>a{min-height:220px!important}}
@media(max-width:520px){.graffiti-grid{grid-template-columns:1fr}.site-nav{display:none}.menu-toggle{display:block;justify-self:end;color:var(--black);border-color:var(--line)}}
.modern-magenta{--acid:#f02d83}
:root{--acid:#1bb7a8}
.dual-hero h1 span:last-child{color:#68e0d3!important}.manifesto{background:#d9f3ef}.collection-gates>a:first-child b,.collection-gates>a:nth-child(2) b,.collection-gates>a:last-child b{color:#087f76}.event-card b{color:#087f76}.event-card-placeholder{background:#263b3e}
.collection-gates>a{background:#fff!important;color:var(--black)!important;border-top:4px solid var(--acid)!important}.collection-gates>a:nth-child(2){border-top-color:#d39b55!important}.collection-gates>a:nth-child(3){border-top-color:#6f8d9b!important}.collection-gates p{color:#42515d!important}
.events-page{max-width:1500px;margin:0 auto}.events-page .archive-heading h1{margin:0;font:800 clamp(48px,7vw,88px)/.9 var(--sans);letter-spacing:-.07em}.event-archive-grid{grid-template-columns:repeat(3,1fr);gap:28px}.event-archive-card{padding:0!important;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 8px 24px rgba(23,33,43,.07);transition:transform .2s,box-shadow .2s}.event-archive-card:hover{transform:translateY(-6px);box-shadow:0 16px 34px rgba(23,33,43,.14)}.event-archive-card .graffiti-image{aspect-ratio:16/10;border:0;border-radius:0;background:#dfe5e7}.event-archive-card .graffiti-image img{transition:transform .35s}.event-archive-card:hover .graffiti-image img{transform:scale(1.035)}.event-archive-card .graffiti-image span{opacity:1;transform:none!important;padding:9px 12px;background:var(--acid);font-size:10px}.event-archive-card .graffiti-meta{margin:0;padding:18px 18px 20px;grid-template-columns:34px 1fr auto;align-items:start;border-top:0;gap:12px}.event-archive-card .graffiti-meta b{color:var(--grey);font-size:11px}.event-archive-card .graffiti-meta p{margin:0;font-size:17px;line-height:1.2;letter-spacing:-.02em;text-transform:none}.event-archive-card .graffiti-meta p small{display:block;margin-bottom:7px;color:var(--grey);font:500 9px var(--mono);letter-spacing:.06em;text-transform:uppercase}.event-archive-card .graffiti-meta time{font-size:10px;white-space:nowrap;color:var(--grey)}
@media(max-width:800px){.event-archive-grid{grid-template-columns:1fr 1fr}}@media(max-width:540px){.event-archive-grid{grid-template-columns:1fr}}
.event-title-link{display:block;color:var(--black);font-weight:700;text-decoration:underline;text-decoration-color:var(--acid);text-decoration-thickness:2px;text-underline-offset:4px}.event-title-link:hover{color:#087f76}
.event-archive-card .graffiti-meta p small{color:#087f76;font-weight:700;letter-spacing:.08em}
.status-badge--graffiti{background:#17212b!important;color:#fff!important}.status-badge--historic_buildings{background:#d39b55!important;color:#17212b!important}.status-badge--people{background:#6f8d9b!important;color:#fff!important}.status-badge--events{background:#1bb7a8!important;color:#17212b!important}.status-badge--draft{background:#f2a33a!important;color:#17212b!important}
.event-drop-form{display:flex;flex-direction:column;gap:18px}.event-dropzone{min-height:210px;padding:35px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;border:2px dashed var(--acid);border-radius:10px;background:#f3fbfa;text-align:center;cursor:pointer}.event-dropzone input{position:absolute;width:1px;height:1px;opacity:0}.event-dropzone strong{font-size:22px}.event-dropzone span{color:var(--grey);font:500 10px var(--mono);text-transform:uppercase}.event-dropzone:focus-within{outline:3px solid rgba(27,183,168,.3)}
.event-card{padding:0;display:block;background:var(--black);color:white}.event-card>img,.event-card-placeholder{display:block;width:100%;height:240px;object-fit:cover}.event-card-placeholder{display:grid;place-items:center;background:#333;color:#aaa;font:500 10px var(--mono);text-transform:uppercase}.event-card-copy{padding:24px}.event-card-copy p{color:#bbb}.event-card-copy b{color:var(--acid)}
.photo-type-picker{margin:0;padding:0;border:0}.photo-type-picker legend{margin-bottom:12px;font-weight:800}.photo-type-picker>label{position:relative;display:block;margin-bottom:10px;cursor:pointer}.photo-type-picker input{position:absolute;opacity:0;pointer-events:none}.photo-type-picker span{display:block;padding:17px 18px;border:2px solid var(--line);border-radius:8px;background:#fff;transition:border-color .2s,background .2s,transform .2s}.photo-type-picker strong,.photo-type-picker small{display:block}.photo-type-picker strong{font-size:16px}.photo-type-picker small{margin-top:3px;color:var(--grey)}.photo-type-picker input:checked+span{border-color:#087f76;background:#dff5f1;transform:translateX(4px)}.photo-type-picker input:focus-visible+span{outline:3px solid rgba(27,183,168,.35);outline-offset:2px}
.search-results-group{margin-top:48px}.search-results-group>h2{margin:0 0 18px;padding-bottom:12px;border-bottom:2px solid var(--black);font-size:clamp(28px,4vw,46px);letter-spacing:-.05em}.search-result-row{display:grid;grid-template-columns:150px 1fr;gap:24px;padding:20px 0;border-bottom:1px solid var(--line);color:inherit;text-decoration:none}.search-result-row:hover h3{color:#087f76}.search-result-row>strong{font:800 22px/1 var(--sans);color:#087f76}.search-result-row h3{margin:0 0 5px;font-size:22px}.search-result-row p{margin:0;max-width:760px;color:var(--grey);white-space:pre-line}.search-result-row small{display:block;margin-top:8px;color:var(--grey);font:500 10px var(--mono);text-transform:uppercase}@media(max-width:650px){.search-result-row{grid-template-columns:1fr;gap:8px}}

/* Final site-wide polish */
:root{--ink:#16232d;--mint:#18b7a6;--paper:#f6f8f8;--muted:#71808a;--soft:#e2e9eb;--page:clamp(22px,5vw,88px)}
body{background:var(--paper);color:var(--ink);font-family:var(--sans)}::selection{background:var(--mint);color:var(--ink)}
.site-header{position:sticky;top:0;min-height:76px;padding-inline:var(--page);background:rgba(246,248,248,.9);backdrop-filter:blur(16px);border-bottom:1px solid var(--soft);box-shadow:0 8px 30px rgba(22,35,45,.06)}
.wordmark span{padding:6px 9px;background:var(--mint);border-radius:4px;transform:rotate(-2deg)}.site-nav{gap:clamp(14px,2.2vw,30px)}.site-nav a,.site-nav button{font-size:10px;color:var(--ink);transition:color .2s}.site-nav a:hover,.site-nav button:hover{color:#087f76}
.dual-hero{position:relative;isolation:isolate;min-height:70svh!important;padding:clamp(90px,12vw,160px) var(--page) clamp(70px,9vw,120px)!important;background:#08090a!important;overflow:hidden;color:#f5f7f6}.dual-hero:before{content:"";position:absolute;inset:0;z-index:-2;background-image:radial-gradient(rgba(0,217,255,.14) 1.5px,transparent 1.5px);background-size:26px 26px;-webkit-mask-image:radial-gradient(circle at 75% 25%,#000 0%,transparent 68%);mask-image:radial-gradient(circle at 75% 25%,#000 0%,transparent 68%)}.dual-hero:after{content:"";position:absolute;z-index:-1;right:-14vw;bottom:-24vw;width:58vw;height:58vw;border:1px solid rgba(0,217,255,.25);border-radius:50%;box-shadow:0 0 0 46px rgba(0,217,255,.035),0 0 0 92px rgba(0,217,255,.02)}.dual-hero .kicker{color:#00d9ff}.dual-hero h1{max-width:1080px!important;margin:26px 0 30px!important;font-size:clamp(58px,9.5vw,146px)!important;line-height:.88!important;letter-spacing:-.09em!important;color:#fff}.dual-hero h1 span{display:block}.dual-hero h1 span:last-child{color:#00d9ff}.dual-hero>p:last-child{max-width:640px;margin:0;font-size:clamp(16px,2vw,22px);line-height:1.4;font-weight:500!important;letter-spacing:-.02em;color:#b8c2c4}
.collection-gates{gap:20px!important;padding:56px var(--page) 94px!important}.collection-gates>a{min-height:330px!important;padding:30px!important;border-radius:14px!important;border:1px solid var(--soft)!important;border-top:4px solid var(--mint)!important;background:#fff!important}.collection-gates>a:nth-child(2){border-top-color:#d29c59!important}.collection-gates>a:nth-child(3){border-top-color:#7294a5!important}.collection-gates h2{font-size:clamp(38px,4.8vw,76px)!important}.collection-gates b{font-size:10px;color:#087f76}
.home-latest{padding:96px var(--page) 110px;background:#fff;border-block:1px solid var(--soft)}.home-latest>header{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:42px}.home-latest h2{margin:12px 0 0;font:800 clamp(42px,6vw,84px)/.86 var(--sans);letter-spacing:-.08em}.home-latest-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.home-latest-card>div{position:relative;overflow:hidden;aspect-ratio:4/3;border-radius:10px;background:#dfe7e8}.home-latest-card img{width:100%;height:100%;object-fit:cover;transition:transform .45s}.home-latest-card:hover img{transform:scale(1.045)}.home-latest-card span{position:absolute;left:12px;bottom:12px;padding:7px 9px;background:var(--mint);border-radius:4px;font:700 9px var(--mono);text-transform:uppercase}.home-latest-card small{display:block;margin-top:14px;color:var(--ink);font:700 13px var(--sans);text-transform:uppercase}.home-latest-card strong{display:block;margin-top:5px;color:var(--muted);font:500 10px var(--mono);text-transform:uppercase}.home-note{display:grid;grid-template-columns:1fr 2fr;gap:7vw;padding:110px var(--page);background:#dff5f1}.home-note h2{margin:0 0 25px;font:800 clamp(45px,7vw,100px)/.84 var(--sans);letter-spacing:-.09em}.home-note p:not(.kicker){max-width:560px;margin:0 0 28px;font-size:clamp(18px,2vw,25px);line-height:1.3;color:#3b5960}
.archive{padding-top:92px}.archive-heading{border-bottom:1px solid var(--soft)}.archive-heading h2{font-weight:800}.graffiti-grid{gap:48px 24px}.graffiti-image{border:1px solid var(--soft);border-radius:10px;box-shadow:0 8px 24px rgba(22,35,45,.06)}.graffiti-meta{border-top:1px solid var(--soft)}.manifesto{background:#dff5f1;border-block:1px solid var(--soft)}
.detail-image-stage{border-radius:12px;box-shadow:0 14px 0 var(--mint)}.detail-map{border:1px solid var(--soft);border-radius:14px;box-shadow:10px 10px 0 var(--ink)}.about-hero{padding:130px var(--page);background:linear-gradient(135deg,#dff5f1,#f6f8f8);border-bottom:1px solid var(--soft)}.about-hero h1{font-weight:800}
.form-page,.photo-editor-page{background:var(--paper);padding:54px var(--page) 90px;gap:36px}.form-intro,.photo-editor-preview{border-radius:14px;background:linear-gradient(145deg,#16232d,#253f4d);box-shadow:0 14px 35px rgba(22,35,45,.12)}.editorial-form{border:1px solid var(--soft);border-radius:14px;box-shadow:0 10px 30px rgba(22,35,45,.06);background:#fff}.editorial-form input,.editorial-form select,.editorial-form textarea{border:1px solid var(--soft);border-radius:6px;background:#fbfcfc}.building-fields{border-radius:10px!important;border-color:#c4dedd!important;background:#effaf8!important}.admin-page,.search-page{padding-top:70px}.admin-heading h1,.search-page h1{font-weight:800}.admin-tabs{border-radius:10px;box-shadow:5px 5px 0 var(--mint)}.admin-row{border-bottom:1px solid var(--soft)}.site-footer{background:#16232d;border-top:0;padding-top:58px;padding-bottom:58px}.footer-mark{color:#fff}.site-footer p{color:#aebfc5}
@media(max-width:760px){.home-note{grid-template-columns:1fr;gap:30px}.form-page,.photo-editor-page{grid-template-columns:1fr;padding-inline:var(--page)}.form-intro,.photo-editor-preview{min-height:300px}.site-header{position:relative}}@media(max-width:520px){.home-note{padding-top:75px;padding-bottom:75px}.collection-gates{padding-top:32px!important}.dual-hero{min-height:62svh!important}}

/* Homepage cards and mobile navigation */
.collection-gates{gap:24px!important;align-items:stretch}
.collection-gates>.collection-card{position:relative;isolation:isolate;min-height:390px!important;padding:32px!important;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;border:1px solid #232323!important;border-top:0!important;border-radius:4px!important;background:#111!important;box-shadow:none!important;transition:transform .25s,box-shadow .25s,border-color .25s!important;color:#f2f2f2}
.collection-gates>.collection-card:before{content:"";position:absolute;z-index:-1;inset:0 0 auto;height:6px;background:var(--card-accent)}
.collection-gates>.collection-card:after{content:"";position:absolute;z-index:-1;width:190px;height:190px;right:-95px;top:-95px;border:38px solid color-mix(in srgb,var(--card-accent) 14%,transparent);border-radius:50%;transition:transform .35s}
.collection-gates>.collection-card:hover{transform:translateY(-8px)!important;border-color:var(--card-accent)!important;box-shadow:0 22px 46px rgba(0,0,0,.5)!important}
.collection-gates>.collection-card:hover:after{transform:scale(1.18)}
.collection-card--graffiti{--card-accent:#00d9ff}.collection-card--buildings{--card-accent:#f2a33a}.collection-card--street{--card-accent:#c86bff}
.collection-card-count{display:flex;align-items:center;gap:11px;color:#8b9296;font:600 9px var(--mono)!important;letter-spacing:.08em;text-transform:uppercase}
.collection-card-count i{width:34px;height:34px;display:grid;place-items:center;background:var(--card-accent);color:#0a0a0a;border-radius:50%;font-style:normal;font-weight:700}
.collection-gates>.collection-card h2{margin:48px 0 22px!important;font-size:clamp(40px,4.5vw,68px)!important;line-height:.88!important;letter-spacing:-.075em!important;color:#fff}
.collection-gates>.collection-card p{max-width:390px;margin:0;color:#a7adb0!important;font-size:15px!important;line-height:1.55}
.collection-gates>.collection-card>b{width:100%;margin-top:32px;padding-top:17px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #232323;border-bottom:0;color:#fff!important;font:700 10px var(--mono);letter-spacing:.04em}
.collection-gates>.collection-card>b i{font-style:normal;font-size:20px;line-height:1;color:var(--card-accent);transition:transform .2s}.collection-gates>.collection-card:hover>b i{transform:translateX(5px)}
.home-latest{padding:clamp(58px,8vw,110px) var(--page);background:#fff;border-block:1px solid var(--soft)}
.home-latest-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.home-latest-card{min-width:0;overflow:hidden;display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--soft);border-radius:16px;box-shadow:0 10px 30px rgba(22,35,45,.08);transition:transform .25s,box-shadow .25s}
.home-latest-card:hover{transform:translateY(-6px);box-shadow:0 18px 38px rgba(22,35,45,.14)}
.home-latest-card .home-card-image{position:relative;display:grid;place-items:center;aspect-ratio:4/3;overflow:hidden;background:#e8eeee;border-radius:0}
.home-latest-card .home-card-image img{width:100%;height:100%;object-fit:contain;transition:transform .4s}
.home-latest-card:hover .home-card-image img{transform:scale(1.025)}
.home-latest-card .home-card-image span{position:absolute;left:12px;bottom:12px;padding:7px 10px;background:var(--mint);color:var(--ink);border-radius:5px;font:700 9px var(--mono);letter-spacing:.06em;text-transform:uppercase}
.home-latest-card>.home-card-copy{min-height:126px;padding:18px 19px;display:grid;grid-template-columns:1fr auto;align-content:start;gap:7px 14px;overflow:visible;aspect-ratio:auto;background:var(--paper);border-radius:0}
.home-latest-card .home-card-copy small{min-width:0;margin:0;color:var(--ink);font:700 14px/1.3 var(--sans);text-transform:none;overflow-wrap:anywhere}
.home-latest-card .home-card-copy strong{margin:2px 0 0;color:var(--muted);font:500 9px var(--mono);white-space:nowrap;text-transform:uppercase}
.home-latest-card .home-card-copy b{grid-column:1/-1;margin-top:15px;color:#087f76;font:700 10px var(--mono);letter-spacing:.04em;text-transform:uppercase}
.home-archive-link{width:max-content;margin:42px auto 0;padding:13px 18px;display:block;border:1px solid var(--ink);border-radius:7px;font:700 10px var(--mono);letter-spacing:.05em;text-transform:uppercase;transition:background .2s,color .2s}
.home-archive-link:hover{background:var(--ink);color:#fff}
@media(max-width:900px){.home-latest-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.site-nav.open{background:#fff;border-bottom:1px solid var(--soft);box-shadow:0 18px 30px rgba(22,35,45,.18)}.site-nav.open a,.site-nav.open button{color:var(--ink);border-bottom-color:var(--soft)}.site-nav.open a:hover,.site-nav.open button:hover{color:#087f76}.menu-toggle{color:var(--ink);background:#fff;border-color:#aebbc0;border-radius:6px;font-weight:700}}
@media(max-width:560px){.site-header{min-height:68px;padding-inline:18px}.wordmark{font-size:16px}.wordmark span{padding:5px 7px}.wordmark strong{padding-left:6px}.site-nav{top:68px;padding:10px 20px 20px}.site-nav a,.site-nav button{width:100%;padding:15px 2px;font-size:11px}.home-latest{padding:42px 18px 58px}.home-latest-grid{grid-template-columns:1fr;gap:22px}.home-latest-card .home-card-image{aspect-ratio:auto;min-height:230px;max-height:72svh}.home-latest-card .home-card-image img{height:auto;max-height:72svh;object-fit:contain}.home-latest-card>.home-card-copy{min-height:116px;padding:16px}.home-archive-link{width:100%;margin-top:28px;text-align:center}.collection-gates{gap:16px!important;padding:30px 18px 54px!important}.collection-gates>.collection-card{min-height:300px!important;padding:22px!important;border-radius:14px!important}.collection-gates>.collection-card h2{margin:34px 0 17px!important;font-size:clamp(38px,13vw,56px)!important}.collection-gates>.collection-card p{margin:0;font-size:14px!important}.collection-gates>.collection-card>b{margin-top:25px}.dual-hero{padding-inline:20px!important}.dual-hero h1{font-size:clamp(48px,17vw,78px)!important;overflow-wrap:anywhere}.home-note{padding-inline:20px}.graffiti-image{aspect-ratio:auto;min-height:230px;background:#e8eeee}.graffiti-image img{height:auto;max-height:75svh;object-fit:contain}}

.detail-directions{margin-top:28px;padding-top:28px;display:grid;grid-template-columns:minmax(220px,.8fr) minmax(380px,1.2fr);gap:40px;border-top:2px solid}.detail-directions>div>p:last-child{max-width:430px;margin:10px 0 0;color:var(--grey)}.detail-directions nav{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.detail-directions nav a{min-height:64px;padding:14px;display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--black);border-radius:5px;background:var(--paper);font:700 11px var(--mono);letter-spacing:.04em;text-align:center;text-transform:uppercase;transition:background .2s,color .2s}.detail-directions nav a:hover{background:var(--black);color:var(--white)}.detail-directions nav small{padding:3px 5px;border-radius:3px;background:var(--mint);color:var(--black);font-size:7px;letter-spacing:.06em}
.admin-building-name{display:block;margin-bottom:5px;font-size:15px;line-height:1.25;overflow-wrap:anywhere}
@media(max-width:650px){.detail-directions{grid-template-columns:1fr;gap:22px}.detail-directions nav{grid-template-columns:1fr}.detail-directions nav a{min-height:54px}}
.artist-suggestion .suggestion-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:650px){.pagination{grid-template-columns:auto minmax(0,1fr) auto;gap:8px}.pagination ol{display:flex;overflow-x:auto;justify-content:flex-start;scrollbar-width:none}.pagination ol::-webkit-scrollbar{display:none}.pagination li a{width:34px;height:34px}.pagination .page-gap{padding:0 2px}}

/* Bristol bus visitor guide */
.bus-guide{--bus-coral:#ff6b4a;--bus-mint:#64dfcf;--bus-navy:#132e3a;--bus-cream:#f8f5ed;background:var(--bus-cream)}
.bus-hero{position:relative;isolation:isolate;min-height:clamp(680px,82svh,850px);padding:clamp(80px,10vw,130px) var(--page) 72px;display:flex;align-items:flex-end;overflow:hidden;background:radial-gradient(circle at 78% 16%,#315e68 0,#1e4651 25%,var(--bus-navy) 62%);color:#fff}
.bus-hero:before,.bus-hero:after{content:"";position:absolute;z-index:-1;border-radius:50%;pointer-events:none}.bus-hero:before{width:min(50vw,680px);aspect-ratio:1;right:-8vw;top:-17vw;border:clamp(45px,7vw,100px) solid rgba(100,223,207,.19);box-shadow:0 0 0 1px rgba(255,255,255,.08)}.bus-hero:after{width:260px;height:260px;right:25%;bottom:-180px;background:var(--bus-coral);filter:blur(1px)}
.bus-hero>div:last-child{position:relative;z-index:2;max-width:1200px}.bus-hero .kicker{color:var(--bus-mint)}
.bus-hero h1{max-width:1000px;margin:22px 0 30px;font:400 clamp(66px,10vw,154px)/.77 var(--display);letter-spacing:-.08em;text-transform:uppercase}.bus-hero h1 em{color:var(--bus-mint);font-style:normal}
.bus-hero-copy{max-width:620px;margin:0 0 30px;color:#d9e7e8;font-size:clamp(18px,2vw,26px);line-height:1.35}
.bus-hero-action{display:inline-flex;align-items:center;gap:28px;padding:14px 18px;background:#fff;color:var(--bus-navy);border-radius:8px;font:700 10px var(--mono);letter-spacing:.06em;text-transform:uppercase;box-shadow:0 9px 24px rgba(0,0,0,.18);transition:transform .2s,box-shadow .2s}.bus-hero-action:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(0,0,0,.24)}.bus-hero-action span{color:var(--bus-coral);font-size:18px}
.bus-hero-facts{margin-top:44px;display:flex;flex-wrap:wrap;gap:9px}.bus-hero-facts span{padding:9px 13px;border:1px solid rgba(255,255,255,.16);border-radius:99px;background:rgba(255,255,255,.07);color:#bcd0d3;font:500 9px var(--mono);text-transform:uppercase;backdrop-filter:blur(8px)}.bus-hero-facts b{color:#fff;font-weight:700}
.bus-hero-route{position:absolute;z-index:3;right:var(--page);top:70px;width:108px;height:138px;padding:14px;display:flex;flex-direction:column;justify-content:space-between;background:var(--bus-coral);color:#fff;border-radius:12px;box-shadow:0 18px 45px rgba(0,0,0,.25);transform:rotate(3deg)}.bus-hero-route span{font:600 10px var(--mono);letter-spacing:.1em}.bus-hero-route b{font:400 53px/1 var(--display)}
.bus-directory{padding:clamp(80px,9vw,125px) var(--page) 140px}.bus-directory>header{display:grid;grid-template-columns:1.25fr 1fr;align-items:end;gap:8vw}.bus-directory h2{margin:14px 0 0;font:400 clamp(62px,8vw,125px)/.8 var(--display);letter-spacing:-.075em;text-transform:uppercase}.bus-directory>header>p{max-width:520px;margin:0;color:var(--muted);font-size:18px}
.bus-guide>.bus-directory:first-child{padding-top:clamp(120px,14vw,190px)}
.bus-finder{position:relative;margin:58px 0 20px;padding:18px 22px;background:#fff;border:1px solid #cad5d8;border-radius:14px;box-shadow:0 14px 38px rgba(22,35,45,.1);transition:border-color .2s,box-shadow .2s}.bus-finder:focus-within{border-color:#26a99a;box-shadow:0 0 0 4px rgba(24,183,166,.13),0 16px 40px rgba(22,35,45,.11)}.bus-finder label{color:var(--muted);font:600 9px var(--mono);letter-spacing:.08em;text-transform:uppercase}.bus-finder>div{display:flex;align-items:center;gap:14px}.bus-finder>div>span{color:#169b8d;font-size:29px}.bus-finder input{min-width:0;width:100%;padding:10px 0;border:0;background:none;outline:0;color:var(--ink);font-size:clamp(18px,2vw,24px)}.bus-finder input::placeholder{color:#a7b2b7}.bus-finder button{padding:7px 10px;border:0;border-radius:6px;background:#e7f5f3;color:#087f76;font:700 9px var(--mono);text-transform:uppercase;cursor:pointer}
.bus-letters{display:flex;gap:7px;overflow-x:auto;padding:8px 1px 14px;scrollbar-width:none}.bus-letters::-webkit-scrollbar{display:none}.bus-letters button{flex:0 0 auto;min-width:40px;height:40px;padding:0 11px;border:1px solid #d3dcde;border-radius:22px;background:#fff;color:var(--muted);font:600 10px var(--mono);cursor:pointer;transition:background .2s,color .2s,transform .2s}.bus-letters button:hover{transform:translateY(-2px);border-color:#8ca1a7}.bus-letters button.is-active{background:var(--bus-navy);color:#fff;border-color:var(--bus-navy)}
.bus-results{margin:19px 0 17px;display:flex;align-items:center;gap:7px;color:var(--muted);font:600 9px var(--mono);text-transform:uppercase}.bus-results-dot{width:7px;height:7px;background:var(--bus-mint);border-radius:50%;box-shadow:0 0 0 4px rgba(100,223,207,.2)}
.bus-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.bus-area{position:relative;min-width:0;min-height:245px;padding:22px;display:flex;flex-direction:column;align-items:stretch;background:#fff;border:1px solid var(--soft);border-radius:15px;box-shadow:0 8px 24px rgba(22,35,45,.06);overflow:hidden;transition:transform .24s,box-shadow .24s,border-color .24s}.bus-area:after{content:"";position:absolute;width:90px;height:90px;right:-55px;top:-55px;border:18px solid rgba(100,223,207,.13);border-radius:50%}.bus-area:hover{padding:22px;transform:translateY(-5px);border-color:#bfcecf;box-shadow:0 18px 36px rgba(22,35,45,.12)}.bus-area[hidden]{display:none}.bus-area-index{color:#7b8d93;font:700 10px var(--mono)}.bus-area-name{margin:20px 0 25px}.bus-area-name .kicker{color:#087f76;font-weight:700}.bus-area-name h3{margin:7px 0 0;font:400 clamp(24px,2.2vw,36px)/.96 var(--display);letter-spacing:-.045em;text-transform:uppercase;overflow-wrap:anywhere}.bus-routes{position:relative;z-index:2;margin-top:auto;padding-top:15px;display:flex;flex-wrap:wrap;gap:8px;border-top:1px solid #dce4e6}.bus-routes span,.bus-routes>a{min-width:43px;padding:8px 10px;text-align:center;background:var(--bus-navy);color:#fff;border:2px solid var(--bus-navy);border-radius:7px;font:700 12px/1 var(--mono);letter-spacing:.02em;box-shadow:0 3px 0 var(--bus-mint)}.bus-routes>a{cursor:pointer;transition:background .18s,color .18s,transform .18s}.bus-routes>a:hover{background:var(--bus-mint);color:var(--bus-navy);transform:translateY(-2px)}.bus-map-link{position:absolute;right:20px;top:19px;color:#53666d;font:700 9px var(--mono);text-transform:uppercase;transition:color .2s}.bus-map-link:hover{color:#087f76}.bus-empty{padding:80px 25px;text-align:center;background:#fff;border:1px dashed #a9b8bc;border-radius:15px}.bus-empty strong{font:400 clamp(40px,6vw,80px) var(--display);text-transform:uppercase}.bus-empty p{margin:8px 0 0;color:var(--muted)}
.bus-notice{padding:clamp(80px,9vw,120px) var(--page);display:grid;grid-template-columns:.45fr 1.3fr .65fr;gap:7vw;background:linear-gradient(135deg,var(--bus-navy),#214d58);color:#fff}.bus-notice>.kicker{color:var(--bus-mint)}.bus-notice h2{margin:0 0 24px;font:400 clamp(40px,5.5vw,78px)/.88 var(--display);letter-spacing:-.055em;text-transform:uppercase}.bus-notice div p,.bus-boundary{color:#c6d8db;font-size:16px}.bus-notice div strong{color:#fff}.bus-boundary{margin:0;padding:20px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:12px}.bus-boundary b{display:block;margin-bottom:8px;color:var(--bus-mint);font:600 9px var(--mono);text-transform:uppercase}
@media(max-width:1050px){.bus-list{grid-template-columns:repeat(2,minmax(0,1fr))}.bus-notice{grid-template-columns:1fr 2fr}.bus-boundary{grid-column:2}}
@media(max-width:800px){.bus-hero{min-height:680px}.bus-directory>header{grid-template-columns:1fr}.bus-directory>header{gap:24px}}
@media(max-width:600px){.bus-hero{min-height:640px;padding:74px 20px 45px}.bus-hero:before{width:90vw;right:-42vw;top:-5vw}.bus-hero:after{display:none}.bus-hero-route{right:22px;top:32px;width:72px;height:92px;padding:9px;border-radius:8px}.bus-hero-route b{font-size:32px}.bus-hero h1{font-size:clamp(47px,15.5vw,69px)}.bus-hero-copy{font-size:16px}.bus-hero-facts{margin-top:30px;gap:6px}.bus-hero-facts span{font-size:8px}.bus-directory,.bus-notice{padding:64px 18px}.bus-finder{margin-top:38px;padding:15px}.bus-list{grid-template-columns:1fr;gap:13px}.bus-area{min-height:210px;padding:19px}.bus-area:hover{padding:19px;transform:none}.bus-area-name h3{font-size:29px}.bus-notice{grid-template-columns:1fr;gap:28px}.bus-boundary{grid-column:auto}}
@media(max-width:600px){.bus-guide>.bus-directory:first-child{padding-top:100px}}

/* Individual Bristol bus timetables */
.route-detail{--route-mint:#64dfcf;--route-navy:#132e3a;background:#f8f5ed}.route-detail-hero{position:relative;min-height:540px;padding:70px var(--page);display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;background:linear-gradient(135deg,#132e3a,#275965);color:#fff}.route-detail-hero:after{content:"";position:absolute;width:420px;height:420px;right:-120px;top:-190px;border:70px solid rgba(100,223,207,.14);border-radius:50%}.route-detail-hero>a{position:absolute;left:var(--page);top:55px;color:var(--route-mint);font:700 10px var(--mono);text-transform:uppercase}.route-detail-hero>div:last-child{max-width:850px}.route-detail-hero h1{margin:15px 0 20px;font:400 clamp(74px,12vw,180px)/.75 var(--display);letter-spacing:-.08em;text-transform:uppercase}.route-detail-hero>div:last-child>p:last-child{max-width:620px;margin:0;color:#c9dadd;font-size:21px}.route-number{position:absolute;right:var(--page);bottom:70px;width:140px;min-height:155px;padding:16px;display:flex;flex-direction:column;justify-content:space-between;background:#ff6b4a;border-radius:14px;box-shadow:0 18px 40px rgba(0,0,0,.22);transform:rotate(3deg)}.route-number small{font:700 9px var(--mono);text-transform:uppercase}.route-number strong{font:400 clamp(40px,5vw,70px)/1 var(--display);overflow-wrap:anywhere}.route-timetables,.route-places{padding:clamp(75px,9vw,120px) var(--page)}.route-timetables>header{display:grid;grid-template-columns:1.25fr 1fr;align-items:end;gap:7vw}.route-timetables h2,.route-places h2{margin:13px 0 0;font:400 clamp(48px,7vw,100px)/.84 var(--display);letter-spacing:-.065em;text-transform:uppercase}.route-timetables>header>p{max-width:500px;margin:0;color:var(--muted);font-size:18px}.route-day-grid{margin-top:55px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.route-day-grid article{min-height:230px;padding:22px;display:flex;flex-direction:column;background:#fff;border:1px solid var(--soft);border-radius:14px;box-shadow:0 9px 25px rgba(22,35,45,.07)}.route-day-grid article>span{color:#15998c;font:700 9px var(--mono)}.route-day-grid h3{margin:28px 0;font-size:23px;line-height:1.1}.route-day-grid article>div{margin-top:auto;display:grid;gap:8px}.route-day-grid a{padding:10px 12px;border-radius:6px;background:var(--route-navy);color:#fff;font:700 9px var(--mono);text-align:center;text-transform:uppercase}.route-day-grid a:last-child{background:#e4f5f2;color:#087f76}.route-attribution{margin:35px 0 0;padding-top:22px;border-top:1px solid var(--soft);color:var(--muted)}.route-attribution a{color:#087f76;font-weight:700}.route-places{background:#fff;border-top:1px solid var(--soft)}.route-places>div{margin-top:38px;display:flex;flex-wrap:wrap;gap:10px}.route-places>div span{padding:11px 15px;border-radius:99px;background:#e4f5f2;color:#087f76;font-weight:700}
@media(max-width:850px){.route-number{right:30px;bottom:auto;top:45px;width:95px;min-height:105px}.route-detail-hero>div:last-child{padding-top:100px}.route-timetables>header{grid-template-columns:1fr;gap:24px}.route-day-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:550px){.route-detail-hero{min-height:500px;padding:55px 18px}.route-detail-hero>a{left:18px;top:32px}.route-number{right:20px;top:72px;width:76px;min-height:86px;padding:9px}.route-detail-hero h1{font-size:clamp(62px,20vw,90px)}.route-detail-hero>div:last-child>p:last-child{font-size:17px}.route-timetables,.route-places{padding:65px 18px}.route-day-grid{grid-template-columns:1fr;margin-top:38px}.route-day-grid article{min-height:190px}}

/* Bus route journey */
.route-hero-copy{position:relative;z-index:1;max-width:850px}.route-hero-copy>p:nth-child(3){max-width:620px;margin:0;color:#c9dadd;font-size:21px}.route-hero-meta{margin-top:26px;display:flex;flex-wrap:wrap;gap:8px}.route-hero-meta span{padding:8px 12px;border:1px solid rgba(255,255,255,.16);border-radius:99px;background:rgba(255,255,255,.07);color:#bdd1d4;font:600 9px var(--mono);text-transform:uppercase}.route-hero-meta b{color:#fff}.route-hero-action{margin-top:22px;display:inline-flex;align-items:center;gap:24px;padding:12px 15px;border-radius:7px;background:#fff;color:var(--route-navy);font:700 9px var(--mono);text-transform:uppercase;box-shadow:0 10px 25px rgba(0,0,0,.18)}.route-hero-action span{color:#ff6b4a;font-size:16px}.route-places>header{display:grid;grid-template-columns:1.25fr 1fr;align-items:end;gap:7vw}.route-places>header>p{max-width:500px;margin:0;color:var(--muted);font-size:18px}.route-stop-list{max-width:1000px;margin:62px auto 0;padding:0;list-style:none}.route-stop-list li{position:relative;display:grid;grid-template-columns:42px 1fr;gap:22px;min-height:150px}.route-stop-list li:not(:last-child):before{content:"";position:absolute;left:19px;top:29px;bottom:-5px;width:3px;background:linear-gradient(var(--route-mint),#ccece7)}.route-stop-marker{position:relative;z-index:1;width:41px;height:41px;border:10px solid var(--route-navy);border-radius:50%;background:var(--route-mint);box-shadow:0 0 0 6px #e6f7f4}.route-stop-list li>div{margin-bottom:24px;padding:0 0 28px;border-bottom:1px solid #e1e7e8;display:grid;grid-template-columns:1fr auto;align-items:end}.route-stop-list small{grid-column:1/-1;color:#168f83;font:700 9px var(--mono);letter-spacing:.08em;text-transform:uppercase}.route-stop-list h3{margin:7px 0 0;font:400 clamp(27px,3.5vw,48px)/1 var(--display);letter-spacing:-.04em;text-transform:uppercase}.route-stop-list a{padding:9px 12px;border-radius:6px;background:#edf8f6;color:#087f76;font:700 9px var(--mono);text-transform:uppercase}.route-stop-list a span{margin-left:6px}.route-stop-note{max-width:1000px;margin:20px auto 0;padding:20px 24px;display:flex;gap:16px;align-items:flex-start;border-radius:12px;background:#f2f7f6;color:#50656b}.route-stop-note>span{flex:0 0 28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--route-navy);color:#fff;font:700 13px var(--mono)}.route-stop-note p{margin:2px 0}.route-stop-note strong{color:var(--route-navy)}.route-no-stops{margin-top:40px;padding:35px;border:1px dashed #9badaf;border-radius:14px}.route-no-stops strong{font-size:22px}.route-no-stops p{margin:8px 0 0;color:var(--muted)}
@media(max-width:850px){.route-places>header{grid-template-columns:1fr;gap:24px}}
@media(max-width:550px){.route-detail-hero{min-height:560px}.route-hero-copy>p:nth-child(3){font-size:17px}.route-stop-list{margin-top:42px}.route-stop-list li{grid-template-columns:32px 1fr;gap:14px;min-height:130px}.route-stop-list li:not(:last-child):before{left:14px}.route-stop-marker{width:31px;height:31px;border-width:7px}.route-stop-list li>div{grid-template-columns:1fr}.route-stop-list a{margin-top:14px;justify-self:start}.route-stop-note{padding:17px}}

/* Legal pages and footer links */
.footer-links{display:flex;justify-content:flex-end;align-items:flex-start;flex-wrap:wrap;gap:10px 20px;text-align:right}.footer-links a{color:var(--mint)!important;font:600 10px var(--mono)!important;letter-spacing:.05em;text-transform:uppercase}.footer-links a:hover{color:#fff!important}.footer-links p{flex-basis:100%;margin:8px 0 0!important}
.legal-page{padding:clamp(70px,9vw,125px) var(--page) clamp(90px,11vw,150px);background:var(--paper)}.legal-shell{width:min(1160px,100%);margin:0 auto;display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.5fr);gap:clamp(50px,8vw,120px)}.legal-intro{position:sticky;top:110px;align-self:start}.legal-intro h1{margin:18px 0 24px;font:800 clamp(54px,7vw,102px)/.82 var(--display);letter-spacing:-.075em}.legal-intro>p:last-child{max-width:330px;color:var(--grey);font-size:16px}.legal-copy{max-width:780px}.legal-copy section{padding:0 0 42px;margin:0 0 42px;border-bottom:1px solid var(--soft)}.legal-copy section:last-child{border-bottom:0}.legal-copy h2{margin:0 0 18px;font:800 clamp(26px,3vw,40px)/1 var(--display);letter-spacing:-.04em}.legal-copy h3{margin:25px 0 8px;font-size:17px}.legal-copy p,.legal-copy li{font-size:16px;line-height:1.75}.legal-copy ul{padding-left:20px}.legal-copy a{color:#087f76;text-decoration:underline;text-underline-offset:3px}.legal-callout{padding:24px!important;background:#dff5f1;border:1px solid #b8dcd7!important;border-radius:12px}.legal-date{font:600 10px var(--mono)!important;letter-spacing:.08em;text-transform:uppercase;color:var(--grey)}
@media(max-width:650px){.footer-links{justify-content:flex-start;text-align:left}.legal-shell{grid-template-columns:1fr;gap:45px}.legal-intro{position:static}.legal-intro h1{font-size:17vw}.legal-page{padding-top:65px}.legal-copy section{padding-bottom:32px;margin-bottom:32px}}

/* Admin dashboard — calm, compact and task focused */
.admin-page{--admin-navy:#142630;--admin-teal:#168f83;--admin-mint:#63dfcf;--admin-border:#d9e2e3;--admin-muted:#687a80;max-width:1500px;margin:0 auto;padding:52px var(--page) 110px}
.admin-heading{margin:0 0 34px;padding:0;display:flex;align-items:flex-end;justify-content:space-between;gap:48px;border:0}
.admin-heading-copy{max-width:760px}.admin-heading-copy .eyebrow{margin:0 0 11px;color:var(--admin-teal)}
.admin-heading h1{margin:0!important;font:800 clamp(48px,6.5vw,92px)/.86 var(--display)!important;letter-spacing:-.075em;text-transform:none}
.admin-heading-copy>p:last-child{max-width:560px;margin:20px 0 0;color:var(--admin-muted);font-size:16px}
.admin-summary{min-width:250px;padding:20px 22px;display:grid;grid-template-columns:1fr auto;align-items:end;gap:0 18px;text-align:left;background:#fff;border:1px solid var(--admin-border);border-radius:14px;box-shadow:0 10px 28px rgba(20,38,48,.07)}
.admin-summary>span{grid-column:1/-1;color:var(--admin-muted);font:700 9px var(--mono);letter-spacing:.08em;text-transform:uppercase}.admin-summary strong{font:800 42px/1 var(--display);letter-spacing:-.05em}.admin-summary small{padding-bottom:5px;color:var(--admin-muted);font:600 9px var(--mono);text-transform:uppercase}.admin-summary .button{grid-column:1/-1;margin-top:17px;display:flex;justify-content:center;gap:7px;box-shadow:none;background:var(--admin-navy);border-color:var(--admin-navy);color:#fff}.admin-summary .button:hover{background:var(--admin-teal)}
.site-offline-warning{margin:0 0 30px;border:1px solid #e6b94b;border-left:5px solid #e6a817;border-radius:10px;background:#fff8df;box-shadow:none}.site-offline-warning a{color:#7d5600}
.admin-tabs{position:sticky;top:10px;z-index:80;margin:0 0 28px;padding:6px;display:flex;gap:4px;overflow-x:auto;background:var(--admin-navy);border:0;border-radius:12px;box-shadow:0 10px 24px rgba(20,38,48,.18);scrollbar-width:none}.admin-tabs::-webkit-scrollbar{display:none}
.admin-tabs button,.admin-tabs>a{flex:1 0 max-content;min-height:48px!important;padding:10px 14px!important;display:flex;justify-content:center;gap:9px;border:0!important;border-radius:7px!important;background:transparent!important;color:#dce8ea!important;font:700 9px var(--mono)!important;letter-spacing:.055em!important;white-space:nowrap;text-transform:uppercase}
.admin-tabs button:hover,.admin-tabs>a:hover{background:rgba(255,255,255,.08)!important;color:#fff!important}.admin-tabs button.is-active{background:var(--admin-mint)!important;color:var(--admin-navy)!important}
.admin-tabs b{min-width:22px;height:22px;padding:0 5px;border:0;border-radius:11px;background:rgba(255,255,255,.12);font-size:8px}.admin-tabs .is-active b{background:rgba(20,38,48,.12)}
.admin-search{margin:0 0 24px;padding:18px;display:grid;grid-template-columns:minmax(170px,.45fr) minmax(280px,1.5fr) auto auto;align-items:center;gap:12px;background:#fff;border:1px solid var(--admin-border);border-radius:12px;box-shadow:0 6px 20px rgba(20,38,48,.05)}
.admin-search>label{display:grid;gap:2px;font:700 10px var(--mono);letter-spacing:.04em;text-transform:uppercase}.admin-search>label small{color:var(--admin-muted);font:500 8px/1.4 var(--mono);letter-spacing:0;text-transform:none}.admin-search input{height:46px;padding:0 14px;border:1px solid #cbd7d9;border-radius:7px;background:#f9fbfb;font-size:14px;outline:0}.admin-search input:focus{border-color:var(--admin-teal);box-shadow:0 0 0 3px rgba(22,143,131,.12)}.admin-search .button{min-height:46px;box-shadow:none}.admin-search>a{padding:10px;color:var(--admin-muted);font:700 9px var(--mono);text-transform:uppercase}
.admin-list{overflow:hidden;background:#fff;border:1px solid var(--admin-border);border-radius:13px;box-shadow:0 9px 28px rgba(20,38,48,.06)}
.admin-row{min-height:92px;padding:10px 14px;grid-template-columns:92px 62px minmax(200px,1fr) auto auto auto;gap:16px;border-bottom:1px solid #e4eaeb;transition:background .18s}.admin-row:last-child{border-bottom:0}.admin-row:hover{background:#f3faf9}.admin-row.is-offline{background:#f5f6f6}
.admin-thumb{height:70px;border:0;border-radius:8px;overflow:hidden;background:#edf1f1}.admin-thumb img{width:100%;height:100%;object-fit:cover}.admin-number{color:#8b999d;font:700 10px var(--mono)}
.admin-meta{gap:5px}.admin-meta>strong{font-size:13px}.admin-meta>span{display:flex;align-items:center;flex-wrap:wrap;gap:7px;color:var(--admin-muted);font-size:12px}.admin-building-name{margin:0;font-size:15px}
.status-badge{padding:4px 7px;border:0;border-radius:99px;background:#e7eeee;color:#41565c;font:700 8px var(--mono);letter-spacing:.04em}.status-badge--graffiti{background:#dff5f1;color:#087f76}.status-badge--historic_buildings{background:#f4e8d7;color:#825c2d}.status-badge--people{background:#e6edf1;color:#496979}.status-badge--events{background:#eee7f5;color:#664b7d}.status-badge--draft{background:#f2e6e6;color:#9b4444}
.admin-view,.admin-edit,.admin-row .danger-link{padding:8px 10px;border:1px solid #cfdbdd;border-radius:6px;background:#fff;color:#40545a;font:700 8px var(--mono);text-transform:uppercase;transition:background .18s,border-color .18s,color .18s}.admin-view:hover,.admin-edit:hover{border-color:var(--admin-teal);color:var(--admin-teal)}.admin-row form{margin:0}.admin-row .danger-link{border-color:transparent;background:transparent;color:#a75858}.admin-row .danger-link:hover{background:#fff0f0;color:#8f3030}
.admin-settings,.admin-ads,.suggestion-review{margin:0 0 24px;padding:28px;background:#fff;border:1px solid var(--admin-border);border-radius:13px;box-shadow:0 9px 28px rgba(20,38,48,.06)}
.admin-settings{grid-template-columns:1fr auto;gap:40px}.admin-settings h2,.admin-ads h2,.suggestion-review h2{margin:6px 0 8px;font:800 clamp(30px,4vw,48px)/.95 var(--display);letter-spacing:-.045em;text-transform:none}.admin-settings>div>p:last-child,.admin-ads header p:last-child{color:var(--admin-muted)}.admin-settings-control{padding:16px;border-radius:9px;background:#f3f7f7}.admin-settings-control select{min-height:42px;border:1px solid var(--admin-border);border-radius:6px;background:#fff}.site-status-toggle{padding:8px 12px;border-radius:6px;background:#dff5f1;color:#087f76}
.admin-export{margin:-8px 0 30px;padding:0 8px;gap:18px}.admin-export a{color:var(--admin-teal)}
.admin-ads>header{margin-bottom:20px}.admin-ad-list{border-top:1px solid var(--admin-border)}.admin-ad-row{padding:16px 4px;border-color:var(--admin-border)}
.suggestion-review article{border-color:var(--admin-border)}.admin-tab-empty{border:1px dashed #aebfc2;border-radius:12px;background:#fafcfc}.admin-tab-empty strong{font-weight:800;text-transform:none}
.admin-pagination{margin-top:28px}.admin-page :focus-visible{outline:3px solid rgba(22,143,131,.35);outline-offset:3px}
@media(max-width:1000px){.admin-heading{align-items:stretch}.admin-summary{min-width:220px}.admin-search{grid-template-columns:1fr 2fr auto}.admin-search>a{grid-column:3}.admin-row{grid-template-columns:80px minmax(180px,1fr) auto auto}.admin-number,.admin-view{display:none}.admin-row>form:last-child{grid-column:auto}.admin-settings{grid-template-columns:1fr}}
@media(max-width:680px){.admin-page{padding:40px 16px 80px}.admin-heading{display:grid;gap:25px}.admin-heading-copy>p:last-child{font-size:14px}.admin-summary{min-width:0}.admin-tabs{top:6px;margin-inline:-10px}.admin-tabs button,.admin-tabs>a{flex:0 0 auto}.admin-search{padding:15px;grid-template-columns:1fr}.admin-search>label,.admin-search>.predictive-search,.admin-search .button,.admin-search>a{grid-column:1}.admin-search .button{width:100%}.admin-row{min-height:92px;padding:10px;grid-template-columns:70px minmax(0,1fr) auto;gap:11px}.admin-thumb{height:68px}.admin-edit{grid-column:3;grid-row:1;align-self:start}.admin-row>form:last-child{grid-column:3;grid-row:1;align-self:end}.admin-meta>span{font-size:10px}.admin-settings,.admin-ads,.suggestion-review{padding:20px}.admin-settings-control{align-items:stretch}.admin-ad-row{grid-template-columns:1fr auto}.suggestion-review article{grid-template-columns:1fr 1fr}.suggestion-review article>div{grid-column:1/-1}}
.trail-links{margin-top:auto;padding-top:14px;border-top:1px solid #d9e5e0;display:flex;flex-wrap:wrap;gap:14px}.trail-links .trail-map{margin-top:0;padding-top:0;border-top:0}.trail-source{color:#526c68;font:700 9px var(--mono);text-transform:uppercase}
.toilets-page,.toilet-detail{background:#f7f3e9}.toilets-hero{padding:clamp(75px,10vw,140px) var(--page);background:#15383b;color:#fff}.toilets-hero h1,.toilet-detail h1{margin:25px 0;font:400 clamp(70px,10vw,150px)/.78 var(--display);letter-spacing:-.08em;text-transform:uppercase}.toilets-hero em{color:#73e2c5;font-style:normal}.toilets-hero>p:last-child{max-width:650px;color:#d1e5df;font-size:21px}.toilets-directory{padding:clamp(65px,9vw,120px) var(--page)}.toilets-directory>header{display:grid;grid-template-columns:1.1fr .9fr;gap:8vw;align-items:end;margin-bottom:45px}.toilets-directory h2{margin:14px 0 0;font:400 clamp(55px,7vw,105px)/.8 var(--display);letter-spacing:-.07em;text-transform:uppercase}.toilets-directory>header>p{max-width:450px;color:var(--grey)}.toilet-detail>header{padding:65px var(--page) 90px;background:#15383b;color:#fff}.toilet-detail>header>a{color:#73e2c5;font:700 9px var(--mono);text-transform:uppercase}.toilet-detail>header .kicker{margin-top:90px}.toilet-detail>header>p:last-child{font-size:21px;color:#d1e5df}.toilet-detail>section{padding:70px var(--page);max-width:850px}.toilet-detail dl{margin:28px 0 35px;border-top:1px solid #cad5d0}.toilet-detail dl>div{display:grid;grid-template-columns:130px 1fr;gap:20px;padding:18px 0;border-bottom:1px solid #cad5d0}.toilet-detail dt{font:700 8px var(--mono);text-transform:uppercase;color:#60736f}.toilet-detail dd{margin:0;font-weight:700}.toilet-detail dd a{color:#087f76}.toilet-detail-note{margin-top:30px;padding:18px;border-left:4px solid #e8b749;background:#fff;color:#60736f;font-size:13px}

/* Bold street-art redesign: shared header/footer + homepage close */
.site-header{background:#0a0a0a;backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom:1px solid #222;box-shadow:none}
.wordmark{color:#fff}
.wordmark span{background:#00d9ff;color:#0a0a0a;border-radius:0}
.wordmark strong{color:#fff}
.site-nav a,.site-nav button{color:#e8e8e8;position:relative}
.site-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-6px;height:2px;background:#00d9ff;transition:right .2s}
.site-nav a:hover,.site-nav button:hover{color:#00d9ff}
.site-nav a:hover:after{right:0}
@media(max-width:900px){.site-nav{background:#0a0a0a}.site-nav a,.site-nav button{border-bottom-color:#1e1e1e}.site-nav a:after{display:none}}

.home-note{padding:clamp(90px,12vw,150px) var(--page);background:#00d9ff;text-align:center}
.home-note>.kicker{color:#0a0a0a;opacity:.72}
.home-note>div{display:flex;flex-direction:column;align-items:center;gap:22px;margin-top:18px}
.home-note h2{margin:0;font:800 clamp(45px,7vw,100px)/.84 var(--sans);letter-spacing:-.09em;color:#0a0a0a}
.home-note p:not(.kicker){max-width:560px;margin:0;font-size:clamp(17px,2vw,22px);line-height:1.35;color:#08312f}
.home-note .button{border-color:#0a0a0a;background:#0a0a0a;color:#00d9ff;box-shadow:5px 5px 0 rgba(10,10,10,.35)}
.home-note .button:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 rgba(10,10,10,.35)}

.site-footer{background:#0a0a0a;border-top:6px solid #00d9ff;padding-top:56px;padding-bottom:56px}
.footer-mark{color:#fff}
.site-footer>p{color:#8b9296}
.site-footer>div p{color:#63696c}
.site-footer>div a{color:#00d9ff}
.site-footer>div a:hover{color:#fff}
.toilets-section{padding:clamp(70px,9vw,125px) var(--page);background:#fff;border-top:1px solid #d5e1dc}.toilets-section>header{display:grid;grid-template-columns:1.1fr .9fr;gap:8vw;align-items:end;margin-bottom:45px}.toilets-section h2{margin:14px 0 0;font:400 clamp(58px,8vw,120px)/.78 var(--display);letter-spacing:-.075em;text-transform:uppercase}.toilets-section>header>p{max-width:480px;margin:0;color:var(--grey);font-size:17px}.toilet-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.toilet-card{display:flex;flex-direction:column;min-height:150px;padding:18px;border:1px solid #d5e1dc;border-radius:10px}.toilet-card h3{margin:0 0 7px;font-size:18px}.toilet-card p{margin:0;color:#60736f;font-size:13px}.toilet-accessible{margin-top:auto;width:max-content;padding:5px 8px;background:#dff3e9;color:#167450;border-radius:99px;font:700 8px var(--mono);text-transform:uppercase}.toilet-card>a{margin-top:12px;color:#087f76;font:700 9px var(--mono);text-transform:uppercase}.toilet-source{margin:28px 0 0;color:var(--grey);font-size:13px}.toilet-source a{text-decoration:underline}@media(max-width:900px){.toilet-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.toilets-section{padding:65px 20px}.toilets-section>header{grid-template-columns:1fr;gap:20px}.toilet-grid{grid-template-columns:1fr}}
