.video-modal-open { overflow:hidden; }
.video-dialog { width:min(960px,calc(100vw - 40px)); max-width:none; max-height:calc(100vh - 40px); max-height:calc(100dvh - 40px); margin:auto; padding:0; overflow:auto; overscroll-behavior:contain; border:1px solid #dce5df; border-radius:18px; background:#f7f9f7; color:#142c24; box-shadow:0 16px 60px #001b1529; }
.video-dialog:not([open]) { display:none; }
.video-dialog::backdrop { background:#001713b8; }
.video-dialog-header { position:sticky; top:0; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px 20px; border-bottom:1px solid #dce5df; background:#f7f9f7; }
.video-dialog h2 { margin:0; font-size:26px; line-height:1.2; letter-spacing:-.5px; }
.video-dialog-close { flex:0 0 44px; display:grid; place-items:center; width:44px; height:44px; border:1px solid #cbd8cf; border-radius:12px; background:#edf2ee; color:#193f2e; }
.video-dialog-close:hover { background:#e0e9e3; }
.video-dialog-close .icon { width:20px; height:20px; }
.video-dialog video { display:block; width:100%; height:auto; max-height:72vh; max-height:72dvh; object-fit:contain; background:#00130f; }
.video-dialog-footer { padding:16px 20px 18px; }
.video-dialog-footer p { margin:0; color:#445d51; font-size:14px; line-height:1.55; }
.video-dialog-footer .video-dialog-guide { margin-top:6px; }
.video-dialog-footer .video-dialog-status { margin-top:12px; padding:12px 14px; border:1px solid #e4c3b6; border-radius:10px; background:#fcf0e9; color:#78371f; }
.video-dialog [hidden] { display:none!important; }
.video-dialog-direct { display:inline-flex; align-items:center; gap:8px; min-height:44px; margin-top:4px; color:#00623b; font-size:14px; font-weight:600; text-decoration:underline; text-underline-offset:3px; }
.video-dialog-direct .icon { width:16px; height:16px; }
.video-dialog button:focus-visible,.video-dialog a:focus-visible,.video-dialog video:focus-visible { outline:3px solid #00834d; outline-offset:3px; }
.video-trigger .icon { width:20px; height:20px; }
@media(max-width:600px) { .video-dialog { width:calc(100vw - max(12px,env(safe-area-inset-left,0px)) - max(12px,env(safe-area-inset-right,0px))); max-height:calc(100vh - 24px); max-height:calc(100dvh - max(12px,env(safe-area-inset-top,0px)) - max(12px,env(safe-area-inset-bottom,0px))); border-radius:16px; } .video-dialog-header { gap:12px; padding:12px 16px; } .video-dialog h2 { font-size:24px; } .video-dialog-footer { padding:14px 16px max(14px,env(safe-area-inset-bottom,0px)); } }
@media print { .video-dialog,.video-trigger { display:none!important; } }

/* Two main hero actions, with a quiet direct-call link. */
.hero .actions{max-width:680px;align-items:center;gap:14px}
.hero-call{display:inline-flex;align-items:center;gap:9px;min-height:48px;color:#e5f1ec;font-size:14px;font-weight:600;white-space:nowrap}
.hero-call:hover{color:#70e5b4}.hero-call .icon{width:19px;height:19px}
.hero-call{flex-basis:100%;min-height:32px}
.video-dialog video{max-height:min(72vh,calc(100vh - 260px));max-height:min(72dvh,calc(100dvh - 260px))}
@media(min-width:900px) and (max-width:1200px){.hero .button{min-width:180px;padding-inline:20px}.hero .actions{max-width:620px}}
@media(max-width:560px){.hero .actions{gap:12px}.hero .video-trigger{min-width:0;padding-inline:15px}.hero-call{flex-basis:100%;min-height:32px;font-size:13px}}
@media(min-width:2200px){.hero .actions{max-width:760px}.hero-call{font-size:17px}}
