.brand-original{width:54px;height:54px;object-fit:contain;border-radius:50%;flex-shrink:0}.footer-brand .brand-original{width:62px;height:62px}.logo-story{--logo-ink:#f2f1e5;--logo-soft:#b9cabc;--logo-accent:#d6e6a4;background:#102c24;color:var(--logo-ink);height:calc(600svh - 300px);position:relative}.logo-sticky{position:sticky;top:80px;height:calc(100svh - 80px);min-height:620px;overflow:hidden;display:flex;flex-direction:column;background:#102c24}.logo-layout{flex:1;min-height:0;display:grid;grid-template-columns:minmax(320px,.8fr) minmax(0,1.2fr);max-width:1700px;width:100%;margin:auto;position:relative}.logo-copy{padding:30px 0 24px clamp(24px,4.5vw,76px);align-self:center;z-index:2;max-height:100%;overflow:auto;scrollbar-width:thin;scrollbar-color:#748d78 transparent}.logo-emblem{width:clamp(88px,9vw,132px);height:auto;aspect-ratio:1;object-fit:contain;border-radius:50%;margin-bottom:21px;box-shadow:0 5px 40px #0002}.logo-kicker{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--logo-accent);line-height:1.5;margin:0 0 13px}.logo-copy h1{font-family:Georgia,serif;font-size:clamp(38px,4.4vw,72px);font-weight:400;line-height:1.09;letter-spacing:-.035em;margin:0 0 20px;max-width:600px}.logo-copy>p#logo-body{font-size:clamp(16px,1.5vw,20px);line-height:1.6;color:#d0dacf;max-width:520px;margin:0 0 22px}.logo-actions{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0 18px}.logo-actions button{border:1px solid #a3bba66b;border-radius:26px;padding:12px 22px;min-height:46px;font-size:14px;background:transparent;color:#eff4e8;cursor:pointer}#logo-play{background:#d6e6a4;border-color:#d6e6a4;color:#193828;font-weight:600}#logo-continue{font-size:14px;display:inline-block;color:#d6e6a4;text-decoration:underline;text-underline-offset:6px;padding:8px 0;min-height:40px}.logo-visual{position:relative;min-width:0;min-height:0;overflow:hidden}.logo-visual canvas{width:100%;height:100%;display:block;touch-action:pan-y;cursor:grab;opacity:0;transition:opacity .6s}.logo-visual.is-ready canvas{opacity:1}#logo-fallback{position:absolute;width:min(65%,420px);height:auto;aspect-ratio:1;object-fit:contain;left:50%;top:45%;transform:translate(-50%,-50%);border-radius:50%;transition:opacity .5s}.logo-visual.is-ready #logo-fallback{opacity:0;pointer-events:none}.logo-scene-tools{position:absolute;top:22px;right:30px;display:flex;align-items:center;gap:12px;color:#b8cbbd;font-size:13px}.logo-scene-tools button{width:40px;height:40px;border:1px solid #91b29850;border-radius:50%;background:#153c2cba;color:#eff3d8;cursor:pointer;font-size:18px}.logo-caption-box{position:absolute;bottom:14px;left:10%;right:10%;pointer-events:none;text-align:center;min-height:55px}.logo-caption-box p{font-size:16px;line-height:1.5;color:#f2f4e5;text-shadow:0 2px 12px #07140e;margin:0}.logo-controls{display:flex;align-items:center;gap:25px;border-top:1px solid #accca229;padding:18px clamp(24px,4.5vw,76px);z-index:3;background:#102c24;min-height:78px}.logo-controls select,.logo-controls>button{font-size:14px;padding:9px 13px;min-height:42px;background:#214536;color:#f0f3df;border:1px solid #71977755;border-radius:24px;max-width:150px}.logo-controls #logo-steps{display:flex;flex:1;gap:8px;overflow-x:auto;scrollbar-width:none}.logo-controls #logo-steps button{color:#c0cebc;background:none;border:1px solid transparent;border-radius:22px;min-height:42px;padding:8px 10px;white-space:nowrap;font-size:13px;cursor:pointer;display:flex;gap:8px;align-items:center}.logo-controls #logo-steps button[aria-current=step]{color:#f5f8df;border-color:#9cb89170;background:#254b34}.logo-controls #logo-steps button small{font-size:12px;color:#a8bc9d}.logo-elements{display:flex;gap:8px;flex-wrap:wrap}.logo-elements button{font-size:14px;color:#deead7;min-height:42px;padding:8px 13px;border-radius:22px;background:#254b38;border:1px solid #76967266;cursor:pointer}.logo-elements button[aria-pressed=true]{color:#153322;background:#d6e6a4;border-color:#d6e6a4}.logo-element-description{color:#cbddbe;font-size:14px;line-height:1.55;min-height:22px;margin:10px 0 0}#logo-progress{height:2px;background:#d6e6a4;position:absolute;bottom:0;left:0;width:16.67%;transition:width .3s}.logo-story button:focus-visible,.logo-story a:focus-visible,.logo-story select:focus-visible,.logo-story canvas:focus-visible{outline:2px solid #f8d98a;outline-offset:4px}.logo-story [hidden]{display:none!important}
@media(min-width:1500px){.logo-layout{grid-template-columns:.78fr 1.22fr}}
@media(max-width:1050px){.logo-copy{padding-left:30px}.logo-copy h1{font-size:44px}.logo-emblem{width:90px;margin-bottom:14px}.logo-controls{gap:12px;padding:14px 24px}.logo-controls #logo-steps button span{display:none}.logo-caption-box{left:5%;right:5%}}
@media(max-width:800px){.logo-sticky{top:72px;height:calc(100svh - 72px);min-height:650px}.logo-layout{grid-template-columns:1fr;grid-template-rows:47% 53%}.logo-copy{padding:22px 24px 12px;align-self:start;height:100%;max-width:700px;position:relative}.logo-emblem{float:right;width:78px;margin:0 0 12px 16px}.logo-kicker{font-size:12px;margin-bottom:10px;letter-spacing:.12em}.logo-copy h1{font-size:clamp(31px,6vw,45px);max-width:430px;margin-bottom:13px}.logo-copy>p#logo-body{font-size:16px;line-height:1.5;margin-bottom:8px}.logo-actions{margin:12px 0 4px;gap:8px}.logo-actions button{min-height:42px;padding:9px 16px}.logo-copy #logo-continue{font-size:13px;padding:7px 0}.logo-scene-tools{top:3px;right:20px;font-size:12px;gap:8px}.logo-caption-box{bottom:6px;min-height:38px;left:6%;right:6%}.logo-caption-box p{font-size:14px}.logo-controls{flex-wrap:wrap;justify-content:space-between;padding:10px 20px;gap:6px;min-height:103px}.logo-controls #logo-steps{order:3;flex-basis:100%;justify-content:space-between;gap:3px}.logo-controls #logo-steps button{min-height:34px;padding:5px 13px}.logo-controls select,.logo-controls>button{min-height:34px;padding:6px 12px;font-size:13px}.logo-elements{gap:5px}.logo-elements button{min-height:34px;padding:6px 10px;font-size:13px}.logo-element-description{font-size:13px;margin:5px 0}.brand-original{width:46px;height:46px}}
@media(max-height:700px) and (min-width:801px){.logo-sticky{min-height:540px}.logo-emblem{width:72px}.logo-copy{padding-top:16px}.logo-copy h1{font-size:40px}.logo-copy>p#logo-body{font-size:16px}.logo-actions{margin:12px 0}.logo-controls{min-height:64px;padding-top:10px;padding-bottom:10px}}
@media(prefers-reduced-motion:reduce){.logo-visual canvas,#logo-progress{transition:none}}
body.logo-in-view .experience-switch,body.logo-in-view #cinema-entry,body.logo-in-view .story-extras{visibility:hidden;pointer-events:none}.logo-controls #logo-steps button span{max-width:130px;overflow:hidden;text-overflow:ellipsis}.logo-visual{background:#102c24}.logo-copy{background:linear-gradient(90deg,#102c24 90%,transparent)}

/* Scene copy changes must not shift the document scroll position. */
.logo-story{overflow-anchor:none}.logo-copy{overscroll-behavior:contain}

/* The logo story is an optional, scrollable native dialog. */
.logo-trigger{background:transparent;padding:0;text-align:left;color:inherit;line-height:inherit}
.logo-trigger:hover .brand-original{box-shadow:0 0 0 4px #a8c99266;transform:scale(1.04)}
.logo-trigger .brand-original{transition:transform .2s,box-shadow .2s}
body.logo-story-open{overflow:hidden}
dialog.logo-dialog{position:fixed;inset:0;margin:0;padding:0;border:0;border-radius:0;width:100%;max-width:none;height:100svh;max-height:none;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scroll-behavior:auto;background:#102c24;color:#f2f1e5}
.logo-dialog::backdrop{background:#061b17d9}
.logo-dialog .logo-sticky{top:0;height:100svh;min-height:0;padding-top:58px}
.logo-close{position:fixed;right:18px;top:10px;z-index:12;display:grid;place-items:center;width:44px;height:44px;border:1px solid #b9d5bd77;border-radius:50%;background:#193e31;color:#f2f1e5;font-size:28px;line-height:1;cursor:pointer}
.logo-close:hover{background:#315b45}
.logo-close:focus-visible{outline:3px solid #d6e6a4;outline-offset:3px}
.logo-copy #logo-continue{background:transparent;border:0;text-align:left;cursor:pointer}
@media(max-width:800px){
 .logo-dialog .logo-copy{padding-top:12px}
 .logo-dialog .logo-layout{grid-template-rows:48% 52%}
 .logo-dialog .logo-controls{flex-shrink:0}
 .logo-dialog .logo-scene-tools{right:12px}
 .logo-close{right:12px}
}
@media(prefers-reduced-motion:reduce){.logo-trigger .brand-original{transition:none}.logo-trigger:hover .brand-original{transform:none}}
