/* ASOFI WordPress v2: user-supplied logo and Dhima Day artwork; v4 approved base preserved. */
:root { --ink:#15120f; --muted:#19140f; --accent:#9c361b; --gold:#d7a02c; --forest:#235b39; --cream:#fcf8f0; }
body, .lead, .muted, .program-card .desc, .section-head p, .feature-copy p {color:#15120f}
.section.dark p, .quiet-strap p {color:#fff8e9}
.site-header .brand { display:inline-flex; width:auto; flex:0 0 auto; min-width:0; margin:0; }
.asofi-real-logo { display:block; width:min(var(--asofi-logo-width,205px), 33vw); height:auto; max-height:79px; object-fit:contain; object-position:left center; }
.footer .brand {display:inline-flex; background:transparent; border-radius:0; padding:0; width:auto; max-width:100%; box-shadow:none;}
.footer .asofi-real-logo {width:min(var(--asofi-logo-width,230px), 100%); max-height:95px;}
.asofi-v2-hero { background:#fff5de; border-bottom:6px solid #d7a02c; overflow:hidden; }
.asofi-v2-hero-grid {display:grid; grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr); gap:42px; align-items:center; min-height:510px; padding-top:48px; padding-bottom:48px;}
.asofi-v2-hero-copy {min-width:0}
.asofi-v2-kicker {color:#80401d; font-size:.81rem; letter-spacing:.10em; font-weight:900; margin-bottom:16px;}
.asofi-v2-hero h1{color:#15120f; font-size:clamp(2.5rem,4.5vw,4.7rem); line-height:1.10; letter-spacing:-.055em; max-width:760px;}
.asofi-v2-lead{font-size:clamp(1.08rem,1.5vw,1.24rem); color:#15120f; line-height:1.65; margin:20px 0 0; max-width:610px;}
.asofi-v2-date{font-size:.95rem; color:#15120f; font-weight:800; margin:26px 0 0}
.asofi-v2-hero-art {display:block; width:100%; align-self:center;}
.asofi-v2-hero-art img {display:block; width:100%; max-width:100%; height:auto; object-fit:contain; border:3px solid #e6a535; border-radius:10px; background:#ffb51b; box-shadow:0 10px 28px #81391722;}
.asofi-dhima-lockup {max-width:520px; padding:20px; margin:20px auto; background:#fffdfa; border:2px solid #e5ce9b; border-radius:10px}
.asofi-dhima-lockup img {width:100%;height:auto;max-height:240px;object-fit:contain}
@media(max-width:1120px){.site-nav{gap:10px}.asofi-real-logo--header{width:min(var(--asofi-logo-width,205px), 27vw)}}
@media(max-width:900px){.asofi-v2-hero-grid{grid-template-columns:1fr;gap:26px;padding-top:35px;padding-bottom:35px}.asofi-v2-hero-copy{max-width:720px}.asofi-v2-hero-art{max-width:750px;margin:0 auto}.asofi-real-logo--header{width:min(var(--asofi-logo-width,205px), 37vw)}}
@media(max-width:550px){.header-inner{gap:9px}.asofi-real-logo--header{width:min(var(--asofi-logo-width,205px), 45vw);max-height:62px}.asofi-v2-hero h1{font-size:clamp(2.25rem,10vw,3.4rem)}.asofi-v2-hero-art img{border-radius:6px}.asofi-v2-date{font-size:.85rem}}
@media print {.asofi-v2-hero-art{display:none}.asofi-v2-hero-grid{display:block}.asofi-v2-hero{background:white;border:0}}

/* Preserve supplied symbol and build the clear text lockup because original SVG links missing raster fragments. */
.asofi-logo-composite{display:inline-flex;align-items:center;gap:9px;max-width:100%;width:min(var(--asofi-logo-width,205px), 38vw);color:#15120f}
.asofi-logo-composite img{width:29%;max-width:64px;min-width:42px;height:auto;aspect-ratio:1;object-fit:contain;flex:0 0 auto}
.asofi-logo-wordmark{min-width:0;display:flex;align-items:baseline;flex-wrap:wrap;gap:3px;font-weight:900;font-size:clamp(1.15rem,1.6vw,1.6rem);line-height:1;letter-spacing:-.04em}
.asofi-logo-wordmark strong{color:#9c361b;font-weight:900}
.asofi-logo-wordmark small{display:block;flex:0 0 100%;margin-top:5px;font-size:.54rem;line-height:1.2;color:#15120f;letter-spacing:.02em;font-weight:800}
.footer .asofi-logo-composite{width:min(var(--asofi-logo-width,230px), 100%)}
@media(max-width:600px){.asofi-logo-composite--header{width:min(var(--asofi-logo-width,205px), 46vw);gap:4px}.asofi-logo-composite--header img{min-width:34px}.asofi-logo-wordmark{font-size:1.04rem}.asofi-logo-wordmark small{font-size:.45rem}}

/* v3: the logo sits DIRECTLY on the owner-editable footer color, with no ivory plate.
   Default composite uses the actual user-supplied transparent ASOFI emblem. */
.footer .brand, .footer .asofi-logo-composite, .footer .asofi-real-logo {background:transparent!important;box-shadow:none!important;border:0!important;}
.footer .asofi-logo-composite {padding:0;color:#fff!important;}
.footer .asofi-logo-wordmark, .footer .asofi-logo-wordmark small {color:#fff!important;}
.footer .asofi-logo-wordmark strong {color:#ffe094!important;}
.footer .asofi-logo-composite img {background:transparent!important;}
.footer .brand:hover {opacity:.97}
.footer .brand:focus-visible {outline:3px solid #ffe094;outline-offset:6px}
/* Custom uploaded logo replacements should be transparent PNG/WebP. Opaque backgrounds cannot be removed with CSS. */
