/* Shared optional service promotion. No player is loaded until the visitor opens it. */
.moram-promo{box-sizing:border-box;max-width:1120px;margin:28px auto;padding:24px;display:flex;align-items:center;justify-content:space-between;gap:24px;border:1px solid #dbe4df;border-radius:20px;background:#f2f7f4;color:#183e35;font-family:inherit;line-height:1.6;text-align:left}
.moram-promo__label{display:block;font-size:12px;letter-spacing:.08em;font-weight:700;color:#527067;margin-bottom:6px}
.moram-promo h2{font-size:clamp(20px,2.5vw,26px);line-height:1.3;margin:0 0 8px;color:#183e35}
.moram-promo p{margin:0;font-size:15px;color:#4b625b;max-width:640px}
.moram-promo-open{border:1px solid #285b4c;border-radius:12px;background:#285b4c;color:white;padding:12px 18px;cursor:pointer;font:inherit;font-weight:650;white-space:nowrap;line-height:1.4}
.moram-promo-open:focus-visible,.moram-promo-dialog button:focus-visible,.moram-promo-dialog a:focus-visible{outline:3px solid #4059e8;outline-offset:3px}
.service-card [data-moram-promo]{position:relative;z-index:1}
.service-card .moram-promo-open{margin-top:16px;font-size:14px;background:transparent;color:#285b4c;padding:9px 12px;align-self:flex-start}
.moram-promo-dialog{box-sizing:border-box;width:min(840px,calc(100% - 24px));max-width:none;max-height:calc(100dvh - 24px);margin:auto;padding:24px;border:1px solid #dbe4df;border-radius:20px;background:#fff;color:#183e35;overflow:auto;font-family:inherit;line-height:1.5;box-shadow:0 24px 80px #0003}
.moram-promo-dialog::backdrop{background:rgba(14,28,23,.66)}
.moram-promo-dialog__head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}
.moram-promo-dialog h2{margin:0;font-size:22px;line-height:1.35;color:#183e35}
.moram-promo-close{flex:none;border:1px solid #dbe4df;background:#fff;color:#183e35;border-radius:10px;padding:9px 12px;cursor:pointer;font:inherit;font-size:14px}
.moram-promo-player{width:100%;aspect-ratio:16/9;min-width:200px;min-height:200px;background:#101a16;border-radius:10px;overflow:hidden;margin:0 auto 16px}
.moram-promo-player iframe{display:block;width:100%;height:100%;min-height:200px;border:0}
.moram-promo-player[data-orientation="portrait"]{width:min(300px,100%);height:min(58dvh,534px);min-height:260px;aspect-ratio:9/16}
.moram-promo-dialog__description{font-size:15px;margin:0 0 14px;color:#4b625b}
.moram-promo-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin-bottom:16px}
.moram-promo-actions a{font-size:14px;color:#285b4c;text-decoration:underline;text-underline-offset:3px}
.moram-promo-actions .moram-promo-service{border-radius:10px;background:#285b4c;color:#fff;text-decoration:none;padding:11px 16px;font-weight:650}
.moram-promo-picker{display:flex;flex-wrap:wrap;gap:8px;border-top:1px solid #e3eae6;padding-top:16px}
.moram-promo-picker button{font:inherit;font-size:13px;border:1px solid #dbe4df;background:#fff;color:#285b4c;padding:8px 12px;border-radius:10px;cursor:pointer;text-align:left}
.moram-promo-picker button[aria-pressed="true"]{background:#edf5f0;border-color:#285b4c;font-weight:650}
.moram-promo-note{font-size:12px;color:#61746d;margin:12px 0 0}
@media(max-width:600px){.moram-promo{margin:24px 12px;padding:20px;display:block}.moram-promo>.moram-promo-open{margin-top:16px}.moram-promo-dialog{padding:16px}.moram-promo-dialog h2{font-size:18px}.moram-promo-actions{gap:12px}.moram-promo-player{min-height:200px}}

/* Thumbnail showcase. Rotation can always be paused. */
.moram-promo-showcase{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;padding:18px;background:linear-gradient(135deg,#112c34,#1b4845);color:#fff;overflow:hidden}
.moram-promo-showcase .moram-promo-visual{position:relative;display:block;width:100%;aspect-ratio:16/9;min-width:0;padding:0;overflow:hidden;border:0;border-radius:12px;background:#102b30;white-space:normal}
.moram-promo-thumbnail{display:block;width:100%;height:100%;object-fit:cover}
.moram-promo-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 45%,#0009);pointer-events:none}
.moram-promo-play{position:absolute;z-index:1;left:50%;top:50%;transform:translate(-50%,-50%);width:50px;height:50px;display:grid;place-items:center;border-radius:50%;background:#ffffffed;color:#163e3d;font-size:21px;box-shadow:0 4px 24px #0005}
.moram-promo-watch{position:absolute;z-index:1;bottom:12px;left:14px;color:white;font-size:14px;font-weight:700}
.moram-promo-copy{min-width:0}
.moram-promo-showcase .moram-promo__label{color:#a4e0c8;letter-spacing:.05em}
.moram-promo-showcase h2{font-size:clamp(18px,1.8vw,23px);color:#fff;overflow-wrap:anywhere}
.moram-promo-showcase p{font-size:14px;color:#d2e4e0}
.moram-promo-service-inline{display:inline-block;margin-top:12px;color:#fff!important;text-decoration:underline;text-underline-offset:4px;font-size:14px;font-weight:700}
.moram-promo-controls{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:12px}
.moram-promo-controls button{border:0;background:transparent;color:#bde1d7;padding:4px 0;cursor:pointer;font:inherit;font-size:12px;text-align:left}
.moram-promo-controls button:focus-visible,.moram-promo-service-inline:focus-visible{outline:3px solid #fff;outline-offset:3px}
.moram-promo-changing .moram-promo-thumbnail{animation:moram-promo-reveal .5s ease-out}
@keyframes moram-promo-reveal{from{opacity:.35;transform:scale(1.04)}to{opacity:1;transform:scale(1)}}
@media(max-width:900px){.moram-promo-showcase{grid-template-columns:minmax(0,1fr)}.moram-promo-showcase>.moram-promo-open{margin-top:0}.moram-promo-showcase .moram-promo-visual{max-height:220px}}
@media(prefers-reduced-motion:reduce){.moram-promo-changing .moram-promo-thumbnail{animation:none}}

[data-moram-promo][hidden],.moram-promo-thumbnail[hidden]{display:none!important}
