:root{--site-primary:#529546;--site-primary-rgb:82 149 70;--site-primary-text:#529546;--site-primary-text-rgb:82 149 70;--site-on-primary:#fff}
header,section,footer{border-color:rgb(var(--site-primary-rgb) / .2)}
nav a,.dark-background nav a,a:not(.admin-lock),.dark-background .contact a,.dark-background .socials a{color:var(--site-primary-text)}
nav a:hover,.dark-background nav a:hover{color:var(--site-primary-text);opacity:.75}
.menu-toggle,.dark-background .menu-toggle,.transport,.transport button,.transport .download,.dark-background .transport,.dark-background .transport button,.dark-background .transport .download{color:var(--site-primary-text)}
.transport .track{background:linear-gradient(to right,var(--site-primary-text) 0 var(--played,0%),rgb(var(--site-primary-text-rgb) / .27) var(--played,0%) 100%)}
.transport .volume{background:var(--site-primary-text)}
.transport input[type="range"]::-webkit-slider-thumb{border-color:rgb(var(--site-primary-rgb) / .55)}
.transport input[type="range"]::-moz-range-thumb{border-color:rgb(var(--site-primary-rgb) / .55)}
.playlist button:hover,.dark-background .playlist button:hover{background:rgb(var(--site-primary-rgb) / .05);color:var(--site-primary-text)}
.playlist button.active,.dark-background .playlist button.active{background:rgb(var(--site-primary-rgb) / .22);color:var(--site-primary-text)}
.play-icon{background:var(--site-primary);color:var(--site-on-primary)}
.social-icons a:focus-visible{outline-color:var(--site-primary-text)}
#contact-email a,#contact-phone a{font-size:18px;font-weight:600;line-height:1.45}
@media(max-width:900px){header{height:58px;display:flex;align-items:center;justify-content:flex-end;padding:0 14px}.menu-toggle{display:block}nav#site-nav{display:none;position:absolute;top:100%;left:0;right:0;max-width:none;margin:0;padding:8px 18px 14px;border-top:1px solid rgb(var(--site-primary-rgb) / .2);box-shadow:0 8px 18px #1f2a1820;flex-direction:column;align-items:stretch;gap:0}nav#site-nav.open{display:flex}nav#site-nav a{display:block;padding:11px 10px;text-align:center;border-bottom:1px solid rgb(var(--site-primary-rgb) / .2)}nav#site-nav a:last-child{border-bottom:0}}
.header-brand{position:absolute;top:50%;left:max(24px,calc((100vw - 1180px)/2));width:180px;opacity:0;visibility:hidden;pointer-events:none;transform:translate3d(12px,-50%,0) scale(.94);transform-origin:left center;transition:opacity .36s ease,transform .42s cubic-bezier(.2,.75,.2,1),visibility .42s;z-index:1}
header.logo-docked .header-brand{opacity:1;visibility:visible;pointer-events:auto;transform:translate3d(0,-50%,0) scale(1)}
.header-brand img{display:block;width:100%;height:auto;max-height:34px;object-fit:contain;object-position:left center}
@media(max-width:1050px){.header-brand{left:24px;width:140px}}
@media(max-width:960px){.header-brand{left:20px;width:110px}}
@media(max-width:900px){.header-brand{left:18px;width:158px}}
@media(prefers-reduced-motion:reduce){.header-brand{transition:none}}
html{background-color:var(--site-background,#ffffff)}
.portrait-frame{width:340px;max-width:100%;aspect-ratio:1;overflow:hidden;border-radius:50%;position:relative;background:#edf3e8;border:1px solid #b7cbb0}
.portrait-frame .portrait{width:100%;max-width:none;height:100%;object-fit:contain;display:block;transform-origin:center}
@media(max-width:700px){.portrait-frame{width:225px}}
body{transition:opacity .22s ease}
html.site-loading body{opacity:0}
@media(prefers-reduced-motion:reduce){body{transition:none}}
