/* Dashain Courtyard v1.0.1. All visual selectors are dca- prefixed. */
.dca-root { --dca-wine: #832841; --dca-deep: #4d2035; --dca-gold: #eec16a; --dca-ink: #fff5df; box-sizing: border-box; }
.dca-root *, .dca-root *::before, .dca-root *::after { box-sizing: border-box; }
.dca-root.dca-palette-indigo { --dca-wine: #344a7a; --dca-deep: #202e54; --dca-gold: #f0b887; --dca-ink: #fff8ed; }
.dca-root.dca-palette-forest { --dca-wine: #286047; --dca-deep: #1a423b; --dca-gold: #e9bc6a; --dca-ink: #fcf9e9; }
/* Accessible greeting at the top of the document, not an overlay on content. */
.dca-ribbon { position:relative; isolation:isolate; z-index:6; display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:5px 12px; width:100%; min-height:43px; margin:0; padding:7px 45px 7px 16px; border:0; border-bottom:2px solid var(--dca-gold); background:linear-gradient(105deg,var(--dca-deep),var(--dca-wine),var(--dca-deep)); color:var(--dca-ink); font:400 12px/1.5 system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; text-align:center; letter-spacing:.01em; }
.dca-ribbon::before { content:''; position:absolute; inset:0; pointer-events:none; z-index:-1; opacity:.08; background:repeating-linear-gradient(40deg,transparent 0 8px,var(--dca-gold) 9px 10px,transparent 11px 19px); }
.dca-ribbon-copy { display:flex; flex-wrap:wrap; justify-content:center; align-items:baseline; column-gap:10px; row-gap:0; max-width:min(100%,1100px); }
.dca-ribbon-copy strong { color:#fffaf0; font:700 13px/1.5 system-ui,sans-serif; }
.dca-ribbon-copy span { color:var(--dca-ink); font:400 12px/1.5 system-ui,sans-serif; }
.dca-ribbon-symbol { color:var(--dca-gold); font-size:17px; line-height:1; }
.dca-ribbon-close { position:absolute; top:50%; right:11px; transform:translateY(-50%); display:grid; place-items:center; width:28px; height:28px; padding:0; cursor:pointer; border:1px solid transparent; border-radius:4px; background:transparent; color:var(--dca-ink); box-shadow:none; }
.dca-ribbon-close:hover, .dca-ribbon-close:focus-visible { background:#ffffff1f; color:#fff; border-color:#ffffff44; }
.dca-ribbon-close:focus-visible { outline:2px solid #fff; outline-offset:2px; }
.dca-footer-fallback { position:fixed; left:50%; bottom:18px; transform:translateX(-50%); z-index:100; width:min(calc(100% - 24px),760px); }
.dca-footer-fallback .dca-ribbon { border:1px solid var(--dca-gold); border-radius:5px; box-shadow:0 8px 25px #20152355; }
/* Four fixed, click-through ornaments. Images do not block menus/buttons. */
.dca-decor { position:fixed; inset:0; width:100%; height:100%; overflow:hidden; pointer-events:none; z-index:35; isolation:isolate; }
.dca-decor > span { position:absolute; display:block; padding:0; margin:0; pointer-events:none; }
.dca-decor img { display:block; width:100%; height:auto; max-width:100%; object-fit:contain; background:none; border:0; box-shadow:none; filter:drop-shadow(0 5px 6px #31152820); }
.dca-decor .dca-dhaka { top:0; height:18px; width:min(240px,28vw); opacity:.87; background:var(--dca-wine) url('dhaka-edge.svg') repeat-x left top / auto 18px; }
.dca-decor .dca-dhaka-left { left:0; -webkit-mask-image:linear-gradient(to right,#000 65%,transparent); mask-image:linear-gradient(to right,#000 65%,transparent); }
.dca-decor .dca-dhaka-right { right:0; -webkit-mask-image:linear-gradient(to left,#000 65%,transparent); mask-image:linear-gradient(to left,#000 65%,transparent); }
.dca-decor .dca-kite { transform-origin:50% 25%; opacity:.96; animation:dca-kite-float 9.4s ease-in-out infinite; }
.dca-decor .dca-kite-left { left:max(-15px, .5vw); top:clamp(64px,12vh,145px); width:clamp(92px,10vw,150px); }
.dca-decor .dca-kite-right { right:max(-12px,.5vw); top:clamp(105px,21vh,235px); width:clamp(88px,9vw,140px); animation-delay:-3.6s; }
.dca-decor .dca-ping { bottom:max(5px,1vh); left:max(-15px,.1vw); width:clamp(175px,17vw,260px); transform-origin:50% 100%; animation:dca-ping-breathe 11s ease-in-out infinite; }
.dca-decor .dca-jamara { bottom:max(5px,1vh); right:max(-5px,.5vw); width:clamp(128px,12vw,187px); transform-origin:50% 100%; animation:dca-ping-breathe 9s ease-in-out infinite reverse; }
.dca-decor.dca-density-minimal .dca-kite-right, .dca-decor.dca-density-minimal .dca-ping { display:none; }
.dca-decor.dca-density-minimal .dca-kite-left, .dca-decor.dca-density-minimal .dca-jamara { opacity:.78; }
.dca-decor.dca-density-celebration .dca-kite-left { width:clamp(115px,12vw,184px); }
.dca-decor.dca-density-celebration .dca-kite-right { width:clamp(104px,11vw,169px); }
.dca-decor.dca-density-celebration .dca-ping { width:clamp(190px,20vw,310px); }
.dca-decor.dca-density-celebration .dca-jamara { width:clamp(143px,14vw,210px); }
.dca-decor.dca-motion-off .dca-kite, .dca-decor.dca-motion-off .dca-ping, .dca-decor.dca-motion-off .dca-jamara { animation:none; }
@keyframes dca-kite-float { 0%,100% { transform:translateY(0) rotate(-5deg); } 50% { transform:translateY(-13px) rotate(5deg); } }
@keyframes dca-ping-breathe { 0%,100% { transform:rotate(-1deg); } 50% { transform:rotate(1.5deg); } }
@media (max-width:900px) { .dca-decor .dca-kite-left { width:95px; } .dca-decor .dca-kite-right { width:86px; } .dca-decor .dca-ping { width:170px; } .dca-decor .dca-jamara { width:130px; } }
@media (max-width:600px) {
 .dca-ribbon { min-height:39px; padding:5px 36px 5px 9px; gap:2px; }
 .dca-ribbon-copy { column-gap:6px; }
 .dca-ribbon-copy strong { font-size:11px; }
 .dca-ribbon-copy span { font-size:10px; }
 .dca-ribbon-symbol { display:none; }
 .dca-ribbon-close { right:5px; width:26px; height:26px; }
 .dca-decor .dca-dhaka { width:24vw; height:11px; background-size:auto 11px; }
 .dca-decor .dca-kite-left { top:162px; left:-16px; width:54px; opacity:.73; }
 .dca-decor .dca-kite-right { top:231px; right:-14px; width:54px; opacity:.70; }
 .dca-decor .dca-ping { bottom:1px; left:-14px; width:100px; opacity:.70; }
 .dca-decor .dca-jamara { bottom:2px; right:-11px; width:93px; opacity:.78; }
 .dca-decor.dca-density-minimal .dca-kite-left { width:50px; }
 .dca-decor.dca-density-celebration .dca-kite-left { width:67px; }
 .dca-decor.dca-density-celebration .dca-kite-right { width:65px; }
 .dca-decor.dca-density-celebration .dca-ping { width:122px; }
 .dca-decor.dca-density-celebration .dca-jamara { width:105px; }
}
@media (max-width:370px) { .dca-decor .dca-kite-right { display:none; } .dca-decor .dca-ping { width:85px; } .dca-decor .dca-jamara { width:79px; } }
@media (prefers-reduced-motion:reduce) { .dca-decor .dca-kite,.dca-decor .dca-ping,.dca-decor .dca-jamara { animation:none; } }
@media print { .dca-decor,.dca-ribbon,.dca-footer-fallback { display:none; } }
