/* Shared public-site identity. Keep page content styles scoped to each view. */
:root{--public-navy:#0b336a;--public-ink:#15243a;--public-muted:#607086;--public-line:#d9e1ea;--public-soft:#f5f8fb;--public-width:1180px}
.public-header,.public-footer{font-family:"Manrope",system-ui,sans-serif;box-sizing:border-box;line-height:1.55}
.public-header *,.public-footer *{box-sizing:border-box}
.public-header{display:block;position:relative;z-index:20;min-height:78px;padding:0;border:0;border-bottom:1px solid #ffffff1c;background:var(--public-navy);color:#fff}
.public-header--integrated{background:transparent}
.public-header__inner{width:min(var(--public-width),calc(100% - 40px));min-height:78px;margin:auto;display:flex;align-items:center;gap:28px;position:relative}
.public-header .public-brand{display:flex;align-items:center;gap:12px;margin-right:auto;color:#fff;text-decoration:none;flex-shrink:0}
.public-header .public-brand__logo{display:block;width:106px;height:69px;object-fit:contain;max-width:none}
.public-brand__copy{display:grid;width:max-content;transform:translateY(12px)}
.public-header .public-brand__name{font-family:var(--public-brand-font);font-size:24px;line-height:1.15;font-weight:var(--public-brand-weight);letter-spacing:var(--public-brand-tracking);white-space:nowrap;color:#fff}
.public-brand__tagline{display:flex;justify-content:space-between;gap:3px;font-size:13.6px;line-height:1.5;color:#ffffffbf;margin-top:3px;white-space:nowrap}
.public-header .public-nav{display:flex;align-items:center;gap:22px}
.public-header a{color:inherit;text-decoration:none}
.public-header .public-nav a{font-size:14px;color:#ffffffd9;padding:12px 0;white-space:nowrap}
.public-header a:hover{color:#fff;text-decoration:none}
.public-header .public-nav a:hover{box-shadow:0 1px #fff}
.public-header .public-nav a[aria-current=page]{color:white;box-shadow:0 1px #fff}
.public-header__actions{display:flex;gap:10px}
.public-header .public-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 17px;border:1px solid #ffffff55;border-radius:6px;font-size:14px;font-weight:700;white-space:nowrap;color:#fff;transition:background .18s,transform .18s}
.public-header .public-button--light{background:white;color:var(--public-navy)}
.public-header .public-button:hover{transform:translateY(-2px);background:#ffffff18}
.public-header .public-button--light:hover{background:#eaf3fc;color:var(--public-navy)}
.public-header :focus-visible,.public-footer :focus-visible{outline:3px solid #66c8ff;outline-offset:4px}
.public-header .public-menu{display:none;border:0;margin:0}
.public-header .public-menu summary{display:flex;align-items:center;gap:8px;min-height:44px;padding:8px 10px;list-style:none;border:1px solid #ffffff55;border-radius:6px;font-size:13px;font-weight:600;color:#fff;cursor:pointer}
.public-header .public-menu summary:after{content:'+';font-size:18px;color:white;background:none;width:auto;height:auto}
.public-header .public-menu[open] summary:after{content:'\2212'}
.public-menu summary::-webkit-details-marker{display:none}
.public-header .public-menu__links{display:grid;position:absolute;left:0;right:0;top:calc(100% + 1px);padding:12px;background:var(--public-navy);border:1px solid #ffffff33;box-shadow:0 14px 24px #0002;gap:0;z-index:30}
.public-header .public-menu__links a{padding:12px;font-size:14px;min-height:44px}
.public-header .public-menu__links a:hover{background:#ffffff12}
.public-footer{padding:38px 0;border:0;border-top:1px solid var(--public-line);background:white;color:var(--public-muted);font-size:13px;text-align:left}
.public-footer__inner{width:min(var(--public-width),calc(100% - 40px));margin:auto;display:flex;justify-content:space-between;align-items:center;gap:28px;flex-wrap:wrap}
.public-footer strong{display:block;color:var(--public-navy);font-weight:700;margin-bottom:6px}
.public-footer__links{display:flex;gap:12px 22px;flex-wrap:wrap;max-width:540px}
.public-footer a{color:var(--public-navy);text-decoration:none;overflow-wrap:anywhere}
.public-footer a:hover{text-decoration:underline}
.public-footer__badge img{display:block;width:160px;height:48px;object-fit:contain}
.public-title-band{background:var(--public-navy);color:white;padding:58px 0 62px}
.public-title-band__inner{width:min(var(--public-width),calc(100% - 40px));margin:auto}
.public-title-band h1{font-family:Manrope,system-ui,sans-serif;font-size:clamp(2rem,4vw,3.4rem);font-weight:700;letter-spacing:-.04em;line-height:1.12;margin:0 0 20px;color:white}
.public-title-band p{margin:0;max-width:700px;line-height:1.7;color:#ffffffcf}
@media(max-width:1240px){.public-header .public-nav,.public-header__actions{display:none}.public-header .public-menu{display:block}}
@media(max-width:600px){.public-header .public-brand{gap:10px}.public-header .public-brand__logo{width:76px;height:50px}.public-brand__copy{transform:translateY(5px)}.public-header .public-brand__name{font-size:20.8px}.public-brand__tagline{font-size:9.2px}.public-header__inner{gap:12px}.public-title-band{padding:40px 0}.public-footer__inner{align-items:flex-start;flex-direction:column}}
@media(max-width:380px){.public-header .public-brand__logo{width:60px;height:40px}.public-header .public-brand__name{font-size:18px}.public-brand__tagline{font-size:8px}.public-header__inner{gap:8px}}
@media(prefers-reduced-motion:reduce){.public-header *{transition:none!important}}
