.ofw-sm { display: inline-flex; vertical-align: middle; }
.ofw-sm .ofw-sm-trigger { display:inline-grid; place-items:center; padding:6px; min-width:44px; min-height:44px; border:0; border-radius:6px; background:transparent; color:#003e66; cursor:pointer; line-height:1; box-shadow:none; }
.ofw-sm-trigger svg { width:32px; height:32px; fill:none; stroke:currentColor; stroke-width:2.5; stroke-linecap:round; }
dialog.ofw-sm-dialog { --ofw-sm-width:480px; --ofw-sm-bg:#fff; --ofw-sm-ink:#003e66; --ofw-sm-accent:#003e66; position:fixed; inset:0 0 0 auto; width:min(var(--ofw-sm-width),100%); max-width:100%; height:100%; height:100dvh; max-height:100%; margin:0; padding:0; border:0; border-radius:0; color:var(--ofw-sm-ink); background:var(--ofw-sm-bg); box-shadow:-16px 0 70px #001c3733; overflow:hidden; font-family:inherit; overscroll-behavior:contain; }
dialog.ofw-sm-dialog:not([open]) { display:none; }
dialog.ofw-sm-side-left { inset:0 auto 0 0; }
.ofw-sm-dialog::backdrop { background:rgba(0,24,43,.5); backdrop-filter:blur(3px); }
.ofw-sm-dialog[open] { animation:ofw-sm-slide-in .25s ease-out; }
.ofw-sm-side-left[open] { animation-name:ofw-sm-slide-left; }
@keyframes ofw-sm-slide-in { from{transform:translateX(100%);opacity:.6} to{transform:translateX(0);opacity:1} }
@keyframes ofw-sm-slide-left { from{transform:translateX(-100%);opacity:.6} to{transform:translateX(0);opacity:1} }
.ofw-sm-dialog *, .ofw-sm-dialog *::before, .ofw-sm-dialog *::after { box-sizing:border-box; }
.ofw-sm-shell { height:100%; display:flex; flex-direction:column; }
.ofw-sm-header { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:28px 30px 24px; border-bottom:1px solid #e7edf1; flex-shrink:0; }
.ofw-sm-logo { display:block; max-width:280px; flex:1; color:var(--ofw-sm-ink); }
.ofw-sm-logo img { display:block; width:100%; height:auto; max-height:72px; object-fit:contain; object-position:left center; }
.ofw-sm-dialog button.ofw-sm-close { flex-shrink:0; width:44px; height:44px; display:grid; place-items:center; padding:10px; border:1px solid #e1e8ed; border-radius:50%; background:transparent; color:var(--ofw-sm-ink); cursor:pointer; box-shadow:none; }
.ofw-sm-close svg { width:22px; height:22px; stroke:currentColor; stroke-width:1.7; fill:none; stroke-linecap:round; }
.ofw-sm-scroll { flex:1; min-height:0; overflow-y:auto; overflow-x:hidden; scrollbar-width:thin; scrollbar-color:#b9cbd6 transparent; overscroll-behavior:contain; padding:24px 30px 28px; }
.ofw-sm-eyebrow { margin:0 0 18px; font-size:10px; line-height:1.6; font-weight:600; letter-spacing:1.6px; text-transform:uppercase; color:#687d8c; }
.ofw-sm-nav { font-family:inherit; }
.ofw-sm-nav ul.ofw-sm-level { display:block; list-style:none; margin:0; padding:0; }
.ofw-sm-nav li.ofw-sm-item { display:block; margin:0; padding:0; border:0; }
.ofw-sm-level-0 > .ofw-sm-item { border-bottom:1px solid #e4ebf0!important; }
.ofw-sm-nav summary, .ofw-sm-nav .ofw-sm-item > a { display:flex; align-items:center; gap:12px; position:relative; padding:15px 0; color:var(--ofw-sm-ink); text-decoration:none; line-height:1.35; font-size:19px; font-weight:600; cursor:pointer; list-style:none; border:0; background:transparent; }
.ofw-sm-nav summary::-webkit-details-marker { display:none; }
.ofw-sm-nav summary > span, .ofw-sm-nav a > span { flex:1; min-width:0; overflow-wrap:anywhere; }
.ofw-sm-chevron { flex:0 0 18px; width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.6; transition:transform .2s; }
.ofw-sm-branch[open] > summary .ofw-sm-chevron { transform:rotate(90deg); }
.ofw-sm-children { padding:0 0 14px; }
.ofw-sm-all a { display:inline-flex; align-items:center; gap:8px; font-size:12px; font-weight:600; margin:0 0 10px; padding:5px 0; color:var(--ofw-sm-accent); text-decoration:underline; text-underline-offset:3px; }
.ofw-sm-all .ofw-sm-item-image { display:none; }
.ofw-sm-level-1 > .ofw-sm-item { padding:0 0 0 12px!important; }
.ofw-sm-level-1 > .ofw-sm-item > a, .ofw-sm-level-1 > .ofw-sm-item > details > summary { font-size:15px; font-weight:500; padding:10px 0; }
.ofw-sm-level-1 > .ofw-sm-has-image { margin:0 0 8px!important; padding:0 12px!important; background:#f5f8fa; border:1px solid #e8eef2!important; border-radius:10px; }
.ofw-sm-level-1 > .ofw-sm-has-image > a, .ofw-sm-level-1 > .ofw-sm-has-image > details > summary { min-height:65px; font-size:15px; font-weight:600; }
.ofw-sm-item-image { flex:0 0 44px; display:block; width:44px!important; height:44px!important; object-fit:contain; border-radius:5px; mix-blend-mode:multiply; }
.ofw-sm-level-2 { padding-left:12px!important; border-left:1px solid #d9e4ec; margin-left:8px!important; }
.ofw-sm-level-2 .ofw-sm-item > a, .ofw-sm-level-2 summary { font-size:13px; padding:9px 0; font-weight:500; min-height:44px; }
.ofw-sm-level-3 { padding-left:12px!important; }
.ofw-sm-level-3 .ofw-sm-item > a { font-size:12px; font-weight:400; color:#455d6b; }
.ofw-sm-nav .ofw-sm-item a:hover, .ofw-sm-nav summary:hover { color:var(--ofw-sm-accent); }
.ofw-sm-nav a:hover span { text-decoration:underline; text-underline-offset:3px; }
.ofw-sm-footer { flex-shrink:0; border-top:1px solid #e7edf1; padding:20px 30px max(22px,env(safe-area-inset-bottom)); background:var(--ofw-sm-bg); }
.ofw-sm-dialog a.ofw-sm-contact { display:flex; align-items:center; justify-content:space-between; gap:16px; width:100%; background:var(--ofw-sm-accent); color:#fff; padding:15px 19px; border-radius:7px; font-size:12px; line-height:1.5; font-weight:700; letter-spacing:.6px; text-decoration:none; transition:filter .2s; }
.ofw-sm-contact svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.6; }
.ofw-sm-contact:hover { filter:brightness(1.15); }
.ofw-sm-social-row { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:15px; }
.ofw-sm-social-row > span { font-size:11px; color:#687d8c; }
.ofw-sm-socials { display:flex; gap:7px; }
.ofw-sm-socials a { display:grid; place-items:center; min-width:38px; min-height:38px; border-radius:50%; background:#f0f5f8; color:var(--ofw-sm-ink); }
.ofw-sm-socials svg { width:16px; height:16px; fill:currentColor; }
.ofw-sm-socials a:hover { background:var(--ofw-sm-accent); color:#fff; }
.ofw-sm button:focus-visible, .ofw-sm-dialog a:focus-visible, .ofw-sm-dialog summary:focus-visible { outline:3px solid #b72c3d; outline-offset:3px; }
@media(max-width:480px) { .ofw-sm-header{padding:20px 22px}.ofw-sm-logo{max-width:235px}.ofw-sm-scroll{padding:20px 22px}.ofw-sm-footer{padding:16px 22px max(16px,env(safe-area-inset-bottom))} }
@media(max-height:540px) { .ofw-sm-header{padding:12px 22px}.ofw-sm-logo img{max-height:42px}.ofw-sm-scroll{padding-top:12px}.ofw-sm-footer{padding:12px 22px}.ofw-sm-social-row{margin-top:6px} }
@media(prefers-reduced-motion:reduce) { .ofw-sm-dialog[open]{animation:none}.ofw-sm-chevron{transition:none} }
