@font-face{font-family:'Bitter';src:url('../fonts/heading-bitter.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:'Public Sans';src:url('../fonts/body-public-sans.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--catalog-font-body);line-height:1.6}img{display:block;width:100%;height:auto}a{color:inherit;text-underline-offset:.22em}button,input,select,textarea{font:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;z-index:100;background:var(--bg);padding:.75rem}.site-header{position:relative;z-index:30;min-height:var(--header);background:var(--header-bg,var(--bg));color:var(--header-ink,var(--ink));border-bottom:var(--header-border,1px solid currentColor)}.header-in{max-width:1500px;margin:auto;min-height:var(--header);padding:.65rem clamp(1rem,3vw,3rem);display:flex;align-items:center;gap:1.25rem}.brand{font-family:var(--catalog-font-heading);font-weight:800;text-decoration:none;line-height:1}.brand small{display:block;font:600 .62rem/1.3 Sora,sans-serif;letter-spacing:.14em;text-transform:uppercase;margin-top:.25rem}.chrome-mark{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase}.desktop-nav{margin-left:auto}.desktop-nav ul,.drawer ul,.site-footer nav ul{list-style:none;margin:0;padding:0}.desktop-nav ul{display:flex;gap:clamp(.55rem,1vw,1rem);font-size:.72rem;text-transform:uppercase}.desktop-nav a[aria-current=page]{font-weight:900;text-decoration-thickness:3px}.drawer{display:none;margin-left:auto}.drawer summary{min-width:52px;min-height:44px;padding:.6rem;border:1px solid currentColor;cursor:pointer}.drawer nav{position:absolute;left:1rem;right:1rem;top:calc(100% + .25rem);padding:1rem;background:var(--header-bg,var(--bg));border:1px solid currentColor}.drawer ul{display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem}.book,button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.68rem 1rem;background:var(--action);color:var(--on-action);border:1px solid var(--action);font-weight:850;text-decoration:none}.kicker{font-size:.72rem;font-weight:850;letter-spacing:.16em;text-transform:uppercase}h1,h2,h3{font-family:var(--catalog-font-body);line-height:.98;margin-top:0}h1{font-size:clamp(2.8rem,7vw,7rem);letter-spacing:-.045em;max-width:13ch}h2{font-size:clamp(1.9rem,4vw,4.3rem);letter-spacing:-.03em}h3{font-size:clamp(1.15rem,2vw,1.65rem)}p{margin-top:0}.lede{font-size:clamp(1.05rem,1.8vw,1.4rem);max-width:60ch}.actions{display:flex;gap:1rem;flex-wrap:wrap;align-items:center}.page-layout{max-width:1360px;margin:auto;padding:clamp(3rem,7vw,8rem) clamp(1rem,4vw,4rem)}.page-title{display:grid;grid-template-columns:3fr 7fr 4fr;gap:2rem;align-items:end;padding-bottom:2rem;border-bottom:2px solid currentColor}.page-title h1{grid-column:1/3;margin-bottom:0}.page-title>p:last-child{margin-bottom:0}.service-composition{display:grid;gap:0}.service{padding:1.5rem;border-bottom:1px solid currentColor}.service h3{margin-bottom:.35rem}.price{font:850 1.25rem/1 Bricolage Grotesque,sans-serif;color:var(--price,var(--action))}.service ul{padding-left:1.2rem}.gallery-composition{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem;margin-top:3rem}.gallery-composition figure{margin:0;grid-column:span 4}.gallery-composition figure:nth-child(1),.gallery-composition figure:nth-child(6){grid-column:span 8}.gallery-composition figcaption{padding:.75rem 0;font-size:.86rem}.staff-composition{display:grid;gap:2rem;margin-top:3rem}.person{display:grid;grid-template-columns:minmax(180px,1fr) 2fr;gap:2rem;padding-bottom:2rem;border-bottom:1px solid currentColor}.portrait{aspect-ratio:4/5;object-fit:cover}.review{margin:0;padding:2rem;border-bottom:1px solid currentColor}.review p{font-size:clamp(1.05rem,2vw,1.45rem);max-width:58ch}.review footer{display:flex;gap:1rem;flex-wrap:wrap;font-size:.78rem}.avatar{display:grid;place-items:center;width:44px;height:44px;border:1px solid currentColor;border-radius:50%;margin-bottom:1rem}.faq-composition{margin-top:3rem}.faq-composition details{padding:1rem 0;border-bottom:1px solid currentColor}.faq-composition summary{cursor:pointer;min-height:44px;font:750 1.05rem/1.4 Bricolage Grotesque,sans-serif}.escape-hatch,.process-note{padding:3rem;margin-top:3rem;background:var(--surface)}.about-composition,.contact-composition,.privacy-composition{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,6rem);margin-top:3rem}.about-composition aside{padding:1rem;border-left:5px solid var(--action)}form{display:grid;gap:1rem}label{display:grid;gap:.35rem;font-weight:700}label span{font-weight:400}input,select,textarea{width:100%;min-height:46px;padding:.75rem;border:1px solid currentColor;background:var(--field,var(--bg));color:var(--ink)}textarea{min-height:150px}.status{min-height:1.5em}.subscribe{padding:2.5rem clamp(1rem,4vw,4rem);background:var(--subscribe,var(--surface))}.subscribe-form{max-width:1360px;margin:auto;display:grid;grid-template-columns:1fr minmax(240px,420px) auto;align-items:end}.subscribe-form .status{grid-column:2/-1}.site-footer{padding:4rem clamp(1rem,4vw,4rem);display:grid;grid-template-columns:1.15fr 1.7fr 1fr;gap:3rem;background:var(--footer-bg,var(--ink));color:var(--footer-ink,var(--bg))}.site-footer nav ul{columns:3}.site-footer li{break-inside:avoid;margin-bottom:.5rem}.footer-facts ul{list-style:none;padding:0}.not-found-page{min-height:70svh;display:grid;align-content:center}.not-found-page h1{font-size:clamp(4rem,12vw,12rem)}
@media(max-width:850px){.desktop-nav,.chrome-mark,.header-book{display:none}.drawer{display:block}.header-in{gap:.6rem}.page-title,.about-composition,.contact-composition,.privacy-composition,.person{grid-template-columns:1fr}.page-title h1{grid-column:auto}.gallery-composition{grid-template-columns:1fr}.gallery-composition figure,.gallery-composition figure:nth-child(1),.gallery-composition figure:nth-child(6){grid-column:auto}.subscribe-form,.site-footer{grid-template-columns:1fr}.subscribe-form .status{grid-column:auto}.site-footer nav ul{columns:2}h1{font-size:clamp(2.6rem,13vw,4.6rem)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
details.drawer:not([open])>nav{display:none}
@media(max-width:480px){.site-footer nav ul{columns:1}.page-title,.page-title>*{min-width:0}.page-title>*{overflow-wrap:anywhere}}
:root{--bg:#F2F0E9;--ink:#182234;--action:#E65037;--on-action:#fff;--accent:#285B9C;--highlight:#D9B64C;--surface:#F4E3AF;--focus:#285B9C;--header:88px;--footer-bg:#182234;--footer-ink:#fff}.site-header{border-block:5px solid}.chrome-mark::before{content:"◉ ";color:var(--action)}.broadcast-home{background-image:repeating-linear-gradient(0deg,transparent 0 79px,#D9B64C66 79px 80px)}.station-ident{min-height:calc(100svh - 88px);display:grid;grid-template-columns:5fr 7fr;align-items:center;padding:clamp(3rem,8vw,8rem);gap:3rem}.station-ident figure{margin:0}.program-band{padding:clamp(4rem,8vw,8rem);border-top:6px solid}.program-band>header{display:grid;grid-template-columns:2fr 8fr}.program-list{display:flex;gap:1rem;overflow:auto;padding-bottom:1rem}.program-list .service{min-width:min(80vw,430px);background:var(--bg);border:2px solid;padding:2rem}.field-recording>div{display:grid;grid-template-columns:2fr 1fr;gap:1rem}.listener-notes .review{margin-left:25%;border-left:12px solid var(--action)}.signoff-band{padding:5rem 8vw;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:2rem}.service-composition .service:nth-child(odd){margin-right:16%}.service-composition .service:nth-child(even){margin-left:16%;background:var(--surface)}.gallery-page .gallery-composition{display:flex;overflow:auto}.gallery-page figure{min-width:min(80vw,620px)}.reviews-page .review:nth-child(even){margin-left:18%}.faq-page details:nth-child(odd){background:var(--surface);padding-inline:1rem}@media(max-width:850px){.station-ident,.field-recording>div{grid-template-columns:1fr}.program-band{padding:4rem 1rem}.listener-notes .review,.service-composition .service:nth-child(n),.reviews-page .review:nth-child(n){margin-inline:0}.signoff-band{display:block}}.book,button{color:#111}.price{color:#B8321D}
.hero-signal{position:relative;overflow:hidden;border:4px solid var(--ink);background:var(--bg)}.hero-signal>img:first-child{aspect-ratio:16/9;object-fit:cover}.hero-signal .wave-overlay{position:absolute;right:4%;bottom:5%;width:70%;height:auto;padding:.5rem;background:rgba(242,240,233,.92);border-left:8px solid var(--action)}.gallery-page .gallery-composition{display:grid;grid-template-columns:1fr;gap:0;overflow:visible}.gallery-page .gallery-composition figure{min-width:0;margin:0;padding:clamp(1.25rem,3vw,2.5rem) 0;border-top:2px solid var(--ink);display:grid;grid-template-columns:7fr 5fr;gap:clamp(1.5rem,4vw,4rem);align-items:center}.gallery-page .gallery-composition figure:nth-child(even){grid-template-columns:5fr 7fr;background:var(--surface);padding-inline:clamp(1.25rem,3vw,2.5rem)}.gallery-page .gallery-composition figure:nth-child(even) img{grid-column:2}.gallery-page .gallery-composition figure:nth-child(even) figcaption{grid-column:1;grid-row:1}.gallery-page .gallery-composition img{max-height:520px;object-fit:cover}.gallery-page .gallery-composition figcaption{font-size:1rem;max-width:44ch}.gallery-page .gallery-composition figcaption b{display:block;margin-bottom:1rem;font:800 clamp(1.35rem,2.4vw,2.2rem)/1 Bricolage Grotesque,sans-serif;color:var(--accent)}@media(max-width:850px){.hero-signal .wave-overlay{width:82%}.gallery-page .gallery-composition figure,.gallery-page .gallery-composition figure:nth-child(even){grid-template-columns:1fr;padding:1.25rem 0;background:transparent}.gallery-page .gallery-composition figure:nth-child(even) img,.gallery-page .gallery-composition figure:nth-child(even) figcaption{grid-column:auto;grid-row:auto}.gallery-page .gallery-composition img{max-height:none}}
.gallery-page .gallery-composition>figure{grid-column:auto!important}
/* Catalogue typography identity — headings and reading text. */
:root{--catalog-font-heading:'Bitter', Georgia, 'Times New Roman', serif;--catalog-font-body:'Public Sans', system-ui, -apple-system, 'Segoe UI', Arial, sans-serif}
html body,input,select,textarea,button{font-family:var(--catalog-font-body)}
h1,h2,h3,h4,h5,h6,.display,.disp,.brand,.logo{font-family:var(--catalog-font-heading)}

/* aajwebz-mailto-nowrap — an address is one token, never split across lines */
a[href^="mailto:"] {
  overflow-wrap: normal;
  word-break: normal;
  white-space: nowrap;
  display: inline-block;
  max-width: 100%;
}
@media (max-width: 380px) {
  a[href^="mailto:"] { font-size: 0.88em; }
}
