/* One public-site canvas and one header, including authentication pages. */
:root{--site-background:#fafbf7}
body.public-site,body.public-site #portal,body.public-site .home-page,body.public-site .experience,body.public-site .story-page,body.public-site .auth-layout,body.public-site .auth-content{background:var(--site-background)}
body.public-site .home-header{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);width:100%;max-width:1376px;height:104px;min-height:104px;margin:0 auto;padding:0 48px;gap:28px;flex-shrink:0;background:var(--site-background);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;position:relative;z-index:40}
body.public-site .home-header>.brand{justify-self:start;width:96px}
body.public-site .home-header>nav{display:flex;justify-content:center;gap:32px;margin:0;width:auto;order:0}
body.public-site .home-header>nav a,body.public-site .home-header .home-login{font-size:13px;color:#55574f}
body.public-site .home-header-actions{justify-self:end;display:flex;align-items:center;gap:24px;white-space:nowrap}
body.public-site .home-header-actions .public-language{position:static;margin:0}
body.public-site .home-header-actions .public-language select{font-size:11px;max-width:100px}
body.public-site .home-header .home-login{display:flex;gap:14px;border:0;border-radius:999px;box-shadow:none;background:#263126;color:#fff;padding:12px 21px;margin:0}
body.public-site .home-header a:hover{color:#111}body.public-site .home-header .home-login:hover{background:#3d5033;color:#fff}body.public-site .home-header .home-login:focus-visible{outline:2px solid #8ba85c;outline-offset:4px}

body.public-site .auth-layout{min-height:100dvh;max-width:none;width:100%}
body.public-site .auth-content{padding-top:42px}

/* Five separate brand shades, with lime at the center behind the mark. */
.intro-panels i{background:#253026;border:0}
.intro-panels i:nth-child(2){background:#a8b998}
.intro-panels i:nth-child(3){background:#d8f381}
.intro-panels i:nth-child(4){background:#e4dece}
.intro-panels i:nth-child(5){background:#f3f6ec}
/* Shared directory and bottom bar in normal page flow. */
body.public-site .home-page:not(.story-page){display:flex;flex-direction:column;min-height:100dvh}
body.public-site .site-footer{display:block;width:100%;max-width:none;height:auto;min-height:0;margin:auto 0 0;padding:0;border:0;background:var(--site-background);color:#343c31;font:12px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;flex-shrink:0}
body.public-site .footer-directory{padding:55px max(48px,calc((100vw - 1280px)/2)) 65px;border-top:1px solid #e3e6db}
body.public-site .site-footer .footer-columns{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:40px;text-align:left}
.footer-columns>div{display:flex;flex-direction:column;align-items:flex-start;gap:13px;min-width:0}
body.public-site .footer-columns h2{font:inherit;font-size:11px;color:#818779;margin:0 0 9px;font-weight:400}
body.public-site .site-footer a{color:inherit;text-decoration:none}
body.public-site .footer-columns a{display:block;font:inherit;font-size:12px}
body.public-site .site-footer a:hover,body.public-site .site-footer button:hover{color:#677e42}
body.public-site .footer-bottom{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:24px;min-height:84px;padding:20px max(48px,calc((100vw - 1280px)/2));border-top:1px solid #e3e6db;background:var(--site-background)}
.footer-social{display:flex;align-items:center;gap:20px}
.footer-social a,.footer-social>span{display:grid;place-items:center;width:20px;height:26px}
.footer-social svg{display:block;width:15px;height:15px;fill:currentColor}
.footer-social [aria-disabled=true]{color:#7d8477}
.footer-ownership{text-align:center;font-size:10px;color:#737b6c;line-height:1.6}
body.public-site .footer-ownership p{margin:0;color:inherit;font:inherit}
body.public-site .footer-ownership button{padding:0;border:0;background:none;text-decoration:underline;text-underline-offset:3px;font:inherit;color:inherit;cursor:pointer}
.footer-language{justify-self:end;display:inline-flex;align-items:center;gap:9px;padding:9px 14px;border:0;border-radius:22px;background:#eff1e9;color:#323c2b;font:inherit;font-size:11px;line-height:1.5;cursor:pointer;white-space:nowrap}
.footer-language svg{width:14px;height:14px;stroke:currentColor;stroke-width:1.5;fill:none}

@media(max-width:1050px){body.public-site .home-header{padding-inline:32px;column-gap:18px}body.public-site .home-header>nav{gap:24px}body.public-site .footer-directory,body.public-site .footer-bottom{padding-inline:32px}body.public-site .site-footer .footer-columns{gap:24px}}
@media(max-width:820px){body.public-site .home-header{grid-template-columns:1fr auto;grid-template-rows:auto auto;height:124px;min-height:124px;padding:18px 20px 14px;gap:12px 24px}body.public-site .home-header>.brand{grid-column:1;grid-row:1}body.public-site .home-header-actions{grid-column:2;grid-row:1}body.public-site .home-header>nav{grid-column:1/-1;grid-row:2;gap:30px;overflow-x:auto;scrollbar-width:none;justify-content:center}body.public-site .home-header>nav a{font-size:12px;white-space:nowrap;padding:5px 0}body.public-site .footer-directory{padding:35px 20px}body.public-site .site-footer .footer-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 25px}body.public-site .footer-bottom{grid-template-columns:1fr auto;gap:13px;padding:16px 20px}.footer-social{gap:18px}.footer-language{grid-column:2;grid-row:1}.footer-ownership{grid-row:2;grid-column:1/-1;text-align:left}}
@media(max-width:480px){body.public-site .home-header{padding-inline:16px;gap:10px 16px}body.public-site .home-header>.brand{width:83px}body.public-site .home-header .home-login{font-size:11px;gap:8px}body.public-site .home-header>nav{gap:26px;justify-content:space-between}body.public-site .home-header>nav a{font-size:11px}body.public-site .footer-bottom,body.public-site .footer-directory{padding-inline:16px}.footer-ownership{font-size:9px}}
/* A single language choice, in a quiet horizontal bar above the header. */
#language-banner{background:#f0f1ec;border-bottom:1px solid #e8eae2;color:#4b5145;font:12px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;animation:language-arrive .24s ease both}
body:not(.public-site) #language-banner{display:none}
.language-banner-inner{display:grid;grid-template-columns:minmax(230px,1fr) minmax(340px,460px) 24px;gap:20px;align-items:center;max-width:1080px;min-height:74px;padding:17px 32px;margin:auto}
.language-banner-inner>p{max-width:390px;margin:0;font:inherit;color:inherit;padding-right:30px}
#language-banner-form{display:flex;align-items:center;gap:16px;min-width:0}
.language-select{position:relative;flex:1;min-width:0;display:block}
#language-banner-form select{display:block;appearance:none;-webkit-appearance:none;width:100%;height:40px;border:1px solid transparent;border-radius:9px;padding:0 40px;background:#fafbf7;color:#35412b;font:inherit;font-size:14px;cursor:pointer;transition:background .15s,border-color .15s}
#language-banner-form select:hover{background:#fff;border-color:#dce2d2}
.language-selected-check{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:15px;color:#6c7762;pointer-events:none}
.language-select>svg{position:absolute;right:13px;top:50%;transform:translateY(-50%);width:15px;height:15px;stroke:currentColor;stroke-width:1.2;fill:none;pointer-events:none}
.language-continue{flex:none;border:0;border-radius:8px;background:#263126;color:#fff;padding:10px 17px;font:inherit;cursor:pointer;min-height:40px}.language-continue:hover{background:#3d5033}.language-continue:disabled{opacity:.6;cursor:wait}
.language-banner-close{display:grid;place-items:center;width:28px;height:32px;border:0;background:transparent;color:#5d6654;padding:4px;cursor:pointer;border-radius:6px}.language-banner-close:hover{background:#e3e7dc}.language-banner-close svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.2;fill:none}
.language-error{font-size:12px;color:#9b3c33;line-height:1.6}.language-error:empty{display:none}.language-banner-inner>.language-error{grid-column:1/-1;max-width:none}
/* Compact list, reopened from the footer. No search field or unrelated countries. */
#language-dialog{position:fixed;inset:auto max(24px,calc((100vw - 1280px)/2)) 28px auto;width:340px;max-width:calc(100vw - 32px);max-height:min(620px,calc(100dvh - 40px));margin:0;padding:0;border:1px solid #dfe4d6;border-radius:14px;background:#fafbf7;color:#253026;box-shadow:0 20px 90px #17271926;overflow-y:auto;animation:language-arrive .2s ease both;font:13px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
#language-dialog::backdrop{background:#1f291e18}
#language-dialog>header{position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;padding:17px 22px;border-bottom:1px solid #e0e5d8;background:#fafbf7;z-index:1}
#language-dialog h2{font:500 14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;margin:0;letter-spacing:0}
.language-close{width:30px;height:30px;display:grid;place-items:center;border:0;border-radius:50%;background:#e9ede2;color:#4f5b44;font:23px/1 sans-serif;cursor:pointer}
.language-list{padding:9px}.language-list button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:18px;text-align:left;padding:14px;border:0;border-radius:8px;background:none;color:inherit;font:inherit;cursor:pointer}
.language-list button:hover{background:#edf1e5}.language-list button[aria-pressed=true]{background:#e8f0d9}.language-list strong{display:block;font-weight:500;font-size:14px}.language-list small{display:block;font-size:11px;color:#79856c;margin-top:3px}
#language-dialog>.language-error{padding:0 22px 14px}#language-dialog :focus-visible,#language-banner :focus-visible,.footer-language:focus-visible{outline:2px solid #89a652;outline-offset:3px}
@keyframes language-arrive{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@media(max-width:820px){.language-banner-inner{grid-template-columns:1fr 24px;padding:17px 24px;gap:13px}.language-banner-inner>p{max-width:none;padding-right:15px;grid-column:1}.language-banner-close{grid-column:2;grid-row:1;align-self:start}#language-banner-form{grid-row:2;grid-column:1/-1;width:100%;gap:12px}}
@media(max-width:480px){.language-banner-inner{padding:15px 18px}.language-banner-inner>p{font-size:11px}#language-banner-form select{font-size:13px}.language-continue{padding-inline:15px}#language-dialog{right:16px;bottom:16px}}
@media(prefers-reduced-motion:reduce){#language-dialog,#language-banner{animation:none}}

/* Alpha-filtered marks keep their transparent paper area even during transitions. */
.brand-mark,.orbit-center svg,.intro-brand svg{mix-blend-mode:normal!important;background:transparent}

/* Both account actions live in the shared header, in the same order everywhere. */
body.public-site .home-header-actions{gap:10px}
body.public-site .home-header .home-login{background:#e9eae6;color:#4e514a;min-height:46px}
body.public-site .home-header .home-login:hover{background:#dadcd5;color:#292f25}
body.public-site .home-header .home-register{display:flex;align-items:center;justify-content:center;gap:14px;border:0;border-radius:999px;background:#263126;color:#fff;padding:12px 19px;min-height:46px;font-size:12px;font-weight:600;text-decoration:none;line-height:1.4}
body.public-site .home-header .home-register:hover{background:#3d5033;color:#fff}
body.public-site .home-header .home-register:focus-visible{outline:2px solid #8ba85c;outline-offset:4px}
@media(min-width:821px) and (max-width:1150px){body.public-site .home-header{grid-template-columns:auto minmax(0,1fr) auto;gap:20px;padding-inline:28px}body.public-site .home-header>nav{gap:18px}body.public-site .home-header .home-login,body.public-site .home-header .home-register{font-size:11px;padding-inline:14px;gap:9px}}
@media(max-width:480px){body.public-site .home-header{column-gap:8px}body.public-site .home-header>.brand{width:74px}body.public-site .home-header-actions{gap:6px}body.public-site .home-header .home-login,body.public-site .home-header .home-register{font-size:10px;padding:10px 12px;min-height:40px;gap:7px}body.public-site .home-header .home-register>span{display:none}}
@media(max-width:350px){body.public-site .home-header{padding-inline:12px}body.public-site .home-header>.brand{width:63px}body.public-site .home-header .home-login,body.public-site .home-header .home-register{padding-inline:9px}}
