/* Public chrome only. Content-page and administration styles stay independent. */
.public-shell {
    --studio-bg:var(--gk-bg-page);
    --studio-ink:var(--gk-text-primary);
    --studio-muted:var(--gk-text-secondary);
    --studio-accent:var(--gk-color-cobalt);
    --studio-line:var(--gk-border);
    --studio-display:var(--gk-font-display);
    --studio-mono:var(--gk-font-mono);
    --studio-ease:var(--gk-ease);
    --studio-gutter:var(--gk-gutter);
    --studio-width:var(--gk-width);
    --studio-space:var(--gk-section-space);
}
.studio-wrap { width:min(var(--studio-width),calc(100% - var(--studio-gutter)*2)); margin-inline:auto; }
.public-shell .site-header { background:var(--gk-nav-surface); backdrop-filter:blur(18px); border-bottom:1px solid var(--gk-border); }
.public-shell .nav-wrap { width:min(var(--studio-width),calc(100% - var(--studio-gutter)*2)); min-height:84px; height:auto; padding-block:14px; gap:32px; }
.public-shell .nav-logo { font-size:6.6px; gap:10px; }
.public-shell #main-nav { gap:clamp(20px,2.7vw,42px); }
.public-shell #main-nav>a:not(.button) { font-size:13px; color:var(--gk-text-secondary); padding-block:12px; }
.public-shell #main-nav>a:hover,.public-shell #main-nav>a[aria-current=page] { color:var(--studio-ink); }
.public-shell #main-nav .nav-preview { font-size:12px; }
.public-shell #main-nav .nav-preview:hover { background:var(--gk-action-primary-hover); border-color:var(--gk-action-primary-hover); color:var(--gk-on-action); }
.public-shell .menu-toggle { border-radius:var(--gk-radius-md); }
.public-shell .menu-toggle>span { display:grid; place-items:center; }
.public-shell .menu-toggle .ui-icon { width:24px; height:24px; stroke-width:1.8; }
.public-shell .menu-toggle[aria-expanded=false]>.menu-toggle-close,
.public-shell .menu-toggle[aria-expanded=true]>.menu-toggle-open { display:none; }
.public-footer { background:var(--gk-bg-soft); padding-top:72px; border-top:1px solid var(--gk-border); }
.public-footer-top { display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:60px; padding-bottom:76px; }
.public-footer .footer-logo { font-size:8px; }
.public-footer-note { font-size:14px; margin-top:20px; max-width:265px; }
.public-footer-label { font:10px/1.6 var(--studio-mono); text-transform:uppercase; letter-spacing:.12em; margin-bottom:20px; color:var(--studio-muted); }
.public-footer-links { display:flex; flex-direction:column; align-items:start; gap:10px; font-size:14px; }
.public-footer-links a { transition:color .2s; overflow-wrap:anywhere; }
.public-footer-links a:hover { color:var(--gk-action-primary); }
.public-footer-bottom { border-top:1px solid var(--studio-line); padding-block:25px; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:20px; font:10px/1.7 var(--studio-mono); color:var(--studio-muted); }
.public-footer-bottom div { display:flex; flex-wrap:wrap; gap:25px; }
.public-shell :focus-visible { outline:2px solid var(--gk-focus); outline-offset:6px; }
@media(max-width:1000px) {
    .public-shell #main-nav { gap:19px; }
}
@media(max-width:850px) {
    .public-shell .nav-wrap { min-height:82px; flex-wrap:wrap; padding-block:15px; gap:12px; }
    .public-shell #main-nav { width:100%; align-items:stretch; flex-direction:column; gap:0; padding:10px 0 14px; }
    .public-shell #main-nav>a:not(.button) { font-size:18px; padding:13px 0; border-top:1px solid var(--studio-line); }
    .public-shell #main-nav>a:not(.button):after { display:none; }
    .public-shell #main-nav .nav-preview { margin-top:12px; justify-content:space-between; }
    .public-shell .menu-toggle.is-ready {
        display:grid; place-items:center; flex:0 0 48px; width:48px; height:48px; padding:0;
        color:var(--gk-action-primary); background:var(--gk-bg-surface); border:1px solid var(--gk-border-strong);
        box-shadow:var(--gk-shadow-soft); transition:background .2s,color .2s,border-color .2s;
    }
    .public-shell .menu-toggle.is-ready:hover { background:var(--gk-bg-soft); border-color:var(--gk-action-primary); }
    .public-shell .menu-toggle.is-ready[aria-expanded=true] { color:var(--gk-on-action); background:var(--gk-action-primary); border-color:var(--gk-action-primary); }
    .public-shell .menu-toggle.is-ready[aria-expanded=true]:hover { background:var(--gk-action-primary-hover); border-color:var(--gk-action-primary-hover); }
    .public-footer-top { grid-template-columns:1.2fr 1fr; gap:40px; padding-bottom:48px; }
    .public-footer-brand { grid-column:1/-1; }
    .public-footer-note { max-width:none; }
}
@media(max-width:480px) {
    .public-footer { padding-top:48px; }
    .public-footer-top { gap:36px 24px; grid-template-columns:1fr 1fr; }
    .public-footer .footer-logo { font-size:7px; }
    .public-footer-bottom { align-items:start; flex-direction:column; }
    .public-footer-links { font-size:13px; }
}
@media(prefers-reduced-motion:reduce) {
    .public-shell *, .public-shell *::before, .public-shell *::after { scroll-behavior:auto!important; animation:none!important; transition:none!important; }
}
