:root{--ink:#17191d;--navy:#17191d;--blue:#2457f5;--indigo:#2457f5;--accent:#2457f5;--paper:#f5f6f8;--white:#fff;--muted:#686d77;--line:#e3e5e9;--mint:#eaf0ff;--yellow:#edf1ff;--coral:#eaf0ff;--shadow:0 18px 48px rgba(23,25,29,.09);--container:1320px;--radius:10px}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{overflow-x:clip;scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;background:#fff;color:var(--ink);font:400 15px/1.75 "Be Vietnam Pro",system-ui,-apple-system,"Segoe UI",sans-serif}
body.menu-open{overflow:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea{outline-offset:4px}
:focus-visible{outline:3px solid var(--blue)}
button{color:inherit}
.container{width:min(calc(100% - 48px),var(--container));margin-inline:auto}
.narrow{max-width:860px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.section{padding:clamp(76px,9vw,132px) 0}
.section--soft{background:#f5f6f8}
.section--navy{background:#17191d;color:#fff}
.section-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.45fr);align-items:end;column-gap:40px;margin-bottom:40px}
.section-heading .eyebrow{grid-column:1/-1}
.section-heading h2{max-width:800px;margin:0;font-size:clamp(2.1rem,4vw,3.65rem);line-height:1.1;font-weight:600;letter-spacing:-.065em}
.section-heading>p:last-child{max-width:440px;margin:0 0 5px;color:var(--muted);font-size:.9rem}
.section--navy .section-heading>p:last-child{color:#b5bac5}
.eyebrow{margin:0 0 14px;color:var(--blue);font-size:.7rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase}
.lead{font-size:clamp(1rem,1.35vw,1.13rem);color:var(--muted);line-height:1.85}
.button-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.button{display:inline-flex;min-height:49px;align-items:center;justify-content:center;gap:10px;padding:12px 20px;border:1px solid var(--blue);border-radius:3px;background:var(--blue);color:#fff;font-size:.83rem;font-weight:600;transition:transform .2s,background .2s,box-shadow .2s;cursor:pointer}
.button:hover{transform:translateY(-2px);background:#1746dd;box-shadow:0 10px 22px #2457f52b}
.button--ghost{background:transparent;color:var(--ink);border-color:#cfd2d8}
.button--ghost:hover{background:#fff;color:var(--blue);border-color:var(--blue)}
.button--small{min-height:40px;padding:8px 14px;font-size:.78rem}
.button--light{background:#fff;color:var(--ink);border-color:#fff}
.button--light:hover{background:#edf1ff;color:var(--blue)}
.button--outline-light{color:#fff;background:transparent;border-color:#ffffff72}
.button--outline-light:hover{background:#ffffff12}
.button--full{width:100%}
.text-link{display:inline-flex;align-items:center;gap:8px;color:var(--blue);font-size:.83rem;font-weight:700}
.text-link:hover{color:#123bc1}
.pill,.demo-label,.image-note{display:inline-flex;align-items:center;font-size:.68rem;font-weight:700;letter-spacing:.04em}
.pill{padding:6px 9px;background:#fff;color:var(--ink)}
.demo-label{padding:5px 8px;background:#eef2ff;color:#214bd1}
.image-note{padding:6px 9px;background:#fffffff0;color:var(--ink)}
.notice{padding:17px 19px;border-left:3px solid var(--blue);background:#f1f4ff;color:#303744}
.small-note,.demo-label,.image-note{line-height:1.45}
.empty-state{padding:26px;border:1px dashed #c8cbd2;background:#fafbfc;color:var(--muted);text-align:center}
.noscript{padding:12px;background:#edf1ff;text-align:center}
.section-action{margin-top:34px}
.filter-count{color:var(--muted);font-size:.86rem}
.breadcrumb{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 30px;color:var(--muted);font-size:.7rem;letter-spacing:.04em}
.breadcrumb a{color:var(--blue);font-weight:600}
.accordion{border-top:1px solid var(--line)}
.accordion__item{border-bottom:1px solid var(--line)}
.accordion__item summary{display:flex;justify-content:space-between;gap:20px;padding:19px 0;cursor:pointer;list-style:none;font-size:.94rem;font-weight:600}
.accordion__item summary::-webkit-details-marker{display:none}
.accordion__item summary span{color:var(--blue);font-size:1.3rem;line-height:1}
.accordion__item[open] summary span{transform:rotate(45deg)}
.accordion__answer{padding:0 35px 18px 0;color:var(--muted);font-size:.9rem}
.accordion__answer p{margin:0}
.filter-bar{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:13px;margin-bottom:16px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.filter-bar--compact{display:flex;flex-wrap:wrap;margin-bottom:22px}
.filter-bar label,.faq-search{display:grid;gap:6px;color:var(--muted);font-size:.75rem;font-weight:600}
.filter-bar input,.filter-bar select,.faq-search input,.contact-form input,.contact-form select,.contact-form textarea{width:100%;min-height:44px;padding:10px 11px;border:1px solid #dfe1e5;border-radius:2px;background:#fff;color:var(--ink)}
.category-pills{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 27px}
.category-pills button{padding:8px 14px;border:1px solid var(--line);background:#fff;font-size:.78rem;cursor:pointer}
.category-pills button.is-active,.category-pills button:hover{border-color:var(--ink);background:var(--ink);color:#fff}
.table-wrap{overflow-x:auto;border-top:1px solid var(--ink);border-bottom:1px solid var(--line)}
.schedule-table{width:100%;border-collapse:collapse;min-width:760px}
.schedule-table th,.schedule-table td{padding:15px 14px;border-bottom:1px solid var(--line);text-align:left}
.schedule-table th{background:#f5f6f8;font-size:.72rem;color:var(--muted)}
.schedule-table td{font-size:.83rem}
.schedule-table td small{display:block;color:var(--muted)}
.schedule-table tr:last-child td{border-bottom:0}
.lightbox{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;padding:60px 72px;background:#101318f2}
.lightbox.is-open{display:flex}
.lightbox img{max-width:min(100%,1100px);max-height:82vh;object-fit:contain}
.lightbox p{position:absolute;bottom:16px;left:20%;right:20%;margin:0;color:#fff;text-align:center}
.lightbox button{position:absolute;display:grid;place-items:center;width:44px;height:44px;border:1px solid #ffffff65;background:#17191d;color:#fff;font-size:2rem;cursor:pointer}
.lightbox__close{top:20px;right:22px}.lightbox__prev{left:20px;top:50%;transform:translateY(-50%)}.lightbox__next{right:20px;top:50%;transform:translateY(-50%)}
.back-to-top{position:fixed;right:22px;bottom:22px;z-index:80;display:grid;place-items:center;width:42px;height:42px;border:0;background:var(--blue);color:#fff;opacity:0;pointer-events:none;transition:opacity .2s}
.back-to-top.is-visible{opacity:1;pointer-events:auto}
.reveal{opacity:0;transform:translateY(12px);transition:opacity .45s,transform .45s}
.reveal.is-visible{opacity:1;transform:none}
.form-status{min-height:1.7em;color:var(--blue);font-weight:600}
.form-status.is-error{color:#914323}
.form-status.is-success{color:#24774d}
.field-error{display:block;min-height:1.25em;color:#ad3e31;font-size:.78rem}
.faq-search{max-width:100%;margin-bottom:24px}
.faq-group{margin:34px 0}
.faq-group h2{font-size:1.2rem;font-weight:600}
.table-of-contents{margin:28px 0;padding:21px;border-left:3px solid var(--blue);background:#f5f6f8}
.table-of-contents ol{margin:10px 0 0;padding-left:20px}
.table-of-contents a{color:var(--blue)}
.article-meta{display:flex;gap:14px;align-items:center;color:var(--muted);font-size:.75rem}
.article-layout{display:grid;grid-template-columns:minmax(0,820px) 260px;gap:64px;padding-top:60px;padding-bottom:68px}
.article-sidebar{position:sticky;top:120px;align-self:start;display:grid;gap:14px;padding:18px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--line)}
.article-sidebar a{font-size:.85rem;font-weight:600}
.article-body>section{margin:36px 0;scroll-margin-top:100px}
.article-body h2{font-size:1.6rem;line-height:1.3;font-weight:600}
.article-body h3{font-size:1.06rem}
.article-cover{width:100%;max-height:480px;object-fit:cover}
.article-cta{margin:36px 0;padding:28px;background:#f2f4f8}
.article-cta h2{margin-top:0}
.policy-content section{margin:32px 0}
.policy-content h2{font-size:1.36rem}
.contact-form{padding:26px;border:1px solid var(--line);background:#fff}
.form-intro{margin-bottom:18px}
.form-intro p{color:var(--muted)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-grid label{display:grid;gap:6px;font-size:.85rem;font-weight:600}
.form-grid__full{grid-column:1/-1}
.form-grid small{min-height:1.2em;color:#ad3e31;font-weight:400}
.form-grid .consent{display:flex;align-items:flex-start;gap:10px;font-weight:400}
.consent input{width:18px;min-height:18px;margin:3px 0}
.consent a{color:var(--blue);text-decoration:underline}
.contact-card{display:grid;gap:3px;margin:12px 0;padding:14px 0;border-bottom:1px solid var(--line)}
.contact-card span{color:var(--muted);font-size:.86rem}
.empty-video{margin-top:40px;padding:36px;border:1px dashed #c7cbd2;text-align:center}
.empty-video>span{font-size:2rem;color:var(--blue)}
.image-placeholder{display:grid;place-items:center;min-height:160px;background:#edf1ff;color:var(--ink)}
