/* Shared structure + interaction. Theme tokens remain consumer-owned. */
.ds-page-shell{min-height:100dvh;display:flex;flex-direction:column}.ds-page-content{flex:1;min-width:0}
.ds-container{width:100%;max-width:var(--ds-container);margin-inline:auto;padding-inline:var(--ds-gutter)}
.wrap{max-width:var(--ds-container);padding-inline:var(--ds-gutter)}
.ds-header{color:var(--ds-ink);border-bottom:1px solid var(--ds-border);position:relative;z-index:21;width:100%;max-width:none;margin:0;padding:0}
.ds-header--solid{background:var(--ds-surface)}.ds-header--hero{background:transparent}
.ds-header-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--ds-space-6);min-height:var(--ds-header-height);padding-block:var(--ds-space-4)}
.site-brand{display:inline-flex;align-items:center;gap:.65rem;font-size:22px;font-weight:650;letter-spacing:-.7px;text-decoration:none;white-space:nowrap;color:inherit}
.site-brand b{display:grid;place-items:center;flex:none;width:34px;height:34px;background:var(--ds-accent);color:var(--ds-on-accent);border-radius:var(--ds-radius);font-size:17px;letter-spacing:0}
.ds-navigation{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:.5rem 1rem;font-size:13px;font-weight:600;min-width:0}
.ds-navigation>a{min-height:var(--ds-control-height);display:inline-flex;align-items:center;color:inherit;text-decoration:none}.ds-navigation>a[aria-current=page]{text-decoration:underline;text-underline-offset:.3rem}
.ds-footer{margin-top:auto;padding:0;border-top:1px solid var(--ds-border);color:var(--ds-muted);background:var(--ds-surface);font-size:12px}
.ds-footer-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--ds-space-6);padding-block:var(--ds-space-8)}
.ds-footer nav{display:flex;flex-wrap:wrap;gap:.5rem 1rem}.ds-footer a{min-height:44px;display:inline-flex;align-items:center;color:inherit}.ds-footer-note{max-width:38rem}
.ds-skip-link{position:fixed;top:-100px;left:1rem;z-index:100;background:var(--ds-surface);padding:1rem;border:1px solid var(--ds-border);color:var(--ds-ink)}.ds-skip-link:focus{top:1rem}
:where(a,button,input,textarea,select,[tabindex]):focus-visible{outline:3px solid var(--ds-accent);outline-offset:4px}
:where(button,.button,.nav-cta,input:not([type=checkbox]):not([type=radio]),textarea,select){min-height:var(--ds-control-height)}
:where(.button,.nav-cta){border-radius:var(--ds-radius);padding:.65rem 1rem}
:where(.form-card,.panel,.doc-card,.feature-grid article){gap:var(--ds-space-4)}
.form-card,.doc-card{padding:var(--ds-space-8)}
:where(.form-card input,.form-card textarea){padding:.75rem 1rem;border-radius:var(--ds-radius)}
.ds-locale-suggestion{--locale-fg:var(--ds-ink);--locale-bg:var(--ds-surface);--locale-accent:var(--ds-accent);--locale-on-accent:var(--ds-on-accent);--locale-border:var(--ds-border);position:fixed!important;inset:auto auto max(16px,env(safe-area-inset-bottom)) 50%;transform:translateX(-50%);width:min(440px,calc(100vw - 28px));z-index:var(--ds-overlay-layer);padding:0;margin:0!important;display:block!important;pointer-events:none}
.ds-locale-suggestion:empty{display:none!important}.ds-locale-suggestion>[hidden]{display:none!important}
.ds-locale-suggestion .locale-suggestion{pointer-events:auto;width:100%;box-sizing:border-box;margin:0!important;padding:1rem;display:block;border:1px solid var(--ds-border);border-radius:12px;background:var(--ds-surface);color:var(--ds-ink);box-shadow:0 8px 36px #0002;font:inherit}
.ds-locale-suggestion .locale-suggestion p{margin:0 2rem .75rem 0;color:inherit;font-size:14px;font-weight:600}
.ds-locale-suggestion .locale-suggestion a{display:inline-flex;align-items:center;min-height:44px;max-width:100%;padding:.6rem 1rem;margin:0;background:var(--ds-accent);color:var(--ds-on-accent);border-radius:var(--ds-radius);text-decoration:none;font-size:13px;overflow-wrap:anywhere}
.ds-locale-suggestion .locale-suggestion button{position:absolute;right:4px;top:4px;min-width:44px;min-height:44px;border:0;background:transparent;color:inherit;font-size:20px;cursor:pointer}
body:has(.ds-locale-suggestion:not(:empty)){padding-bottom:150px}
.public-language-menu{--locale-fg:var(--ds-ink);--locale-bg:var(--ds-surface);--locale-accent:var(--ds-accent);--locale-border:var(--ds-border)}
.language-nav{display:inline-flex;align-items:center;gap:.5rem}.language-nav a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none}
.ds-header .ds-navigation{gap:.5rem 1rem}
@media(max-width:680px){.ds-header-inner{flex-wrap:wrap;gap:.5rem}.ds-navigation{width:100%;justify-content:flex-start;gap:.25rem .75rem}.ds-footer-inner{flex-direction:column;align-items:flex-start;gap:.5rem}.site-brand{font-size:20px}.ds-header .mobile-menu{margin-left:auto}.ds-navigation .nav-cta{padding-inline:.75rem}.ds-footer-note{max-width:100%}}

@media(max-width:760px){.ds-header .mobile-menu{position:absolute;right:var(--ds-gutter);top:12px}.ds-header .ds-navigation{width:100%;justify-content:flex-start}.ds-header-inner{flex-wrap:wrap;gap:.5rem}.sidebar.open{top:112px;z-index:30}}
