.al-animation{--al-ink:#0c202b;--al-paper:#f2efe6;--al-gold:#d7b87b;--al-line:rgba(241,237,223,.2);background:var(--al-ink);color:var(--al-paper);border:1px solid #2f4853;overflow:hidden;border-radius:3px;margin:2.5rem 0;box-shadow:0 24px 64px rgba(0,20,30,.16)}
.al-animation *{box-sizing:border-box}.al-animation-heading{padding:2.5rem 2.8rem 2rem;display:grid;grid-template-columns:1.2fr 1fr;gap:2rem;align-items:end;border-bottom:1px solid var(--al-line)}
.al-animation .al-animation-eyebrow{font:600 .72rem/1.5 sans-serif;letter-spacing:.13em;text-transform:uppercase;color:var(--al-gold);margin:0 0 1.1rem}
.al-animation-heading h2{font-family:var(--serif,Georgia,serif);font-size:clamp(2rem,3.1vw,3.2rem);font-weight:450;line-height:1.08;letter-spacing:-.025em;margin:0;color:var(--al-paper)}
.al-animation-heading h2 em{font-weight:400;color:var(--al-gold)}.al-animation-heading>p{font-size:1rem;line-height:1.65;max-width:30rem;margin:0;color:#d0d9dc}
.al-animation-stage{position:relative;height:clamp(410px,46vw,590px);isolation:isolate;background:radial-gradient(ellipse at 50% 50%,#193540,#071821 85%);overflow:hidden}
.al-animation-canvas{position:absolute;inset:0}.al-animation-canvas canvas{width:100%;height:100%;display:block}
.al-animation-stage-top{display:flex;justify-content:space-between;position:absolute;left:2rem;right:2rem;top:1.5rem;gap:1rem;font-size:.73rem;letter-spacing:.08em;text-transform:uppercase;color:#d8e0df;pointer-events:none}.al-animation-stage-top span:first-child{display:flex;gap:.6rem;align-items:center}.al-animation-stage-top i{width:6px;height:6px;border-radius:50%;background:var(--al-gold)}
.al-animation-stage-note{position:absolute;left:2rem;bottom:1.8rem;pointer-events:none;text-shadow:0 2px 7px #061620}.al-animation-stage-note>span{color:var(--al-gold);font:500 .66rem/1 sans-serif;letter-spacing:.18em}.al-animation-stage-note p{color:#eef1e9;font:400 clamp(1.2rem,2vw,1.7rem)/1.15 Georgia,serif;margin:.65rem 0 0}
.al-animation-marker{position:absolute;left:0;top:0;transform:translate(-50%,-100%);z-index:3;display:none;align-items:center;gap:.5rem;white-space:nowrap;pointer-events:none;padding:5px 8px 5px 5px;background:rgba(7,23,32,.87);border:1px solid rgba(230,227,210,.4);border-radius:3px;box-shadow:0 3px 10px #07182266;color:#f5f2e9;font:500 11px/1.1 sans-serif}.al-animation-marker b{width:20px;height:20px;display:grid;place-items:center;background:#f0eddf;color:#112b38;font-size:11px;border-radius:2px}.al-animation-marker-b b{background:var(--al-gold)}
.al-animation-play-state{position:absolute;right:2rem;bottom:1.8rem;font-size:.72rem;letter-spacing:.04em;color:#d3dfdf;background:rgba(5,19,29,.7);border:1px solid var(--al-line);padding:.6rem .8rem;border-radius:2px}
.al-animation-fallback{position:absolute;inset:15% 13%;z-index:4;background:#0c202beF;padding:2rem;color:#f2efe6;border:1px solid var(--al-line);font-size:1rem;line-height:1.6}.al-animation-fallback[hidden]{display:none}.al-animation-fallback p{color:inherit}.al-animation-fallback strong{font-size:1.4rem}.al-animation-controls{padding:1.65rem 2rem 1.25rem;border-top:1px solid var(--al-line);background:#102833}.al-animation-controls[hidden]{display:none}.al-animation-timeline label{display:flex;justify-content:space-between;font-size:.76rem;letter-spacing:.035em;margin-bottom:.65rem;color:#e9ece4}.al-animation-timeline output{font-variant-numeric:tabular-nums;color:var(--al-gold)}
.al-animation-timeline input{width:100%;display:block;margin:0;height:22px;accent-color:var(--al-gold);cursor:pointer}.al-animation-scale{display:flex;justify-content:space-between;font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;color:#a8b9bd;margin-top:.25rem}.al-animation-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.2rem;flex-wrap:wrap}.al-animation-transport,.al-animation-views{display:flex;gap:.35rem}.al-animation button{border:1px solid #60747b;border-radius:2px;background:transparent;color:#eeeede;font:600 .74rem/1.25 inherit;line-height:1.25;font-family:inherit;font-size:.74rem;font-weight:600;padding:.76rem .85rem;min-height:42px;cursor:pointer;transition:background .15s,color .15s,border-color .15s;white-space:nowrap}.al-animation button:hover{border-color:var(--al-gold);background:#22414d}.al-animation button[data-play]{background:var(--al-gold);border-color:var(--al-gold);color:#0b2330;min-width:128px}.al-animation button[aria-pressed=true]{background:#e6e9de;color:#102b38;border-color:#e6e9de}.al-animation :focus-visible{outline:3px solid #f5d28b;outline-offset:4px}.al-animation-trails{display:flex;gap:.45rem;align-items:center;font-size:.74rem;white-space:nowrap;color:#d6e0df}.al-animation-trails input{accent-color:var(--al-gold);width:17px;height:17px}.al-animation .al-animation-description{font-size:.78rem;line-height:1.6;color:#c1d0d2;margin:1.1rem 0 0;min-height:1.6em}.al-animation-caption{padding:1.3rem 2rem;font-size:.74rem;line-height:1.65;color:#aabdc3;border-top:1px solid var(--al-line)}.al-animation-caption strong{color:#d5dedc;font-weight:600}
@media(max-width:700px){.al-animation-heading{padding:1.6rem;grid-template-columns:1fr;gap:1.1rem}.al-animation-heading h2{font-size:2.15rem}.al-animation-heading>p{font-size:.91rem}.al-animation .al-animation-eyebrow{font-size:.64rem}.al-animation-stage{height:430px}.al-animation-stage-top{top:1rem;left:1rem;right:1rem;font-size:.59rem;gap:.5rem}.al-animation-stage-note{left:1rem;bottom:1rem}.al-animation-stage-note p{font-size:1.1rem}.al-animation-stage-note>span{font-size:.57rem}.al-animation-play-state{right:1rem;bottom:1rem;font-size:.65rem;max-width:140px}.al-animation-controls{padding:1.2rem 1rem}.al-animation-toolbar{gap:.75rem}.al-animation-transport{flex:1}.al-animation-transport button[data-play]{flex:1}.al-animation-views{width:100%;order:3}.al-animation-views button{flex:1;padding:.8rem .5rem}.al-animation button{font-size:.71rem}.al-animation-caption{padding:1rem;font-size:.7rem}.al-animation-marker span{display:none}.al-animation-marker{padding:4px}.al-animation-fallback{inset:12% 5%;padding:1.2rem;font-size:.85rem}.al-animation-marker{transform:translate(-50%,-100%)}.al-animation .al-animation-description{font-size:.75rem}}
@media(prefers-reduced-motion:reduce){.al-animation button{transition:none}}

/* Site typography and responsive control readability. */
.al-animation .al-animation-eyebrow{font-family:var(--sans);font-size:.8125rem}.al-animation-stage-top{font-size:.8125rem}.al-animation-stage-note>span{font-size:.75rem}.al-animation-play-state{font-size:.8125rem}.al-animation-marker,.al-animation-marker b{font-size:12px}.al-animation-timeline label,.al-animation button,.al-animation-trails{font-size:.875rem}.al-animation-scale{font-size:.75rem}.al-animation .al-animation-description{font-size:.9375rem}.al-animation-caption{font-size:1rem;line-height:1.8;color:#c8d5d8}.al-animation-heading>p{font-size:1.0625rem}.al-animation-caption strong{color:#f2efe6}.counsel-animation{background:#edf2f0;padding:56px 0}.counsel-animation .al-animation{margin:0}.al-animation header{position:static}.al-animation footer{position:static}.al-animation-heading h2{color:#f2efe6}.al-animation .al-animation-heading h2 em{color:#d7b87b;font-family:inherit;font-size:inherit}.al-animation-heading p{color:#d0d9dc}
@media(max-width:700px){.al-animation-heading{padding:24px 20px}.al-animation-stage-top{font-size:.75rem;flex-direction:column;gap:6px}.al-animation-stage-note>span{font-size:.75rem}.al-animation-play-state{font-size:.75rem;max-width:145px}.al-animation-heading h2{font-size:2rem}.al-animation-heading>p{font-size:1rem}.al-animation .al-animation-eyebrow{font-size:.75rem}.al-animation button{font-size:.875rem;padding:.8rem .6rem}.al-animation-caption{font-size:.9375rem}.al-animation .al-animation-description{font-size:.875rem}.al-animation-fallback{font-size:1rem}.al-animation-trails{font-size:.875rem}}

@media(max-width:700px){.al-animation-stage-note{display:none}.al-animation-play-state{max-width:none;right:1rem;left:1rem;bottom:1rem;text-align:center}.al-animation-stage{height:420px}}

/* Natural scene overlays remain legible over daylight and asphalt. */
.al-animation-stage-top>span{background:rgba(9,30,40,.82);padding:.45rem .65rem;border-radius:2px;text-shadow:none}.al-animation-stage-note{background:rgba(9,30,40,.78);padding:.8rem 1rem;border-left:2px solid var(--al-gold)}.al-animation-stage-note p{font-size:1.2rem}.al-animation-play-state{background:rgba(9,30,40,.86)}
@media(max-width:700px){.al-animation-stage-top>span{padding:.35rem .45rem}.al-animation-stage-note{padding:.55rem .65rem}.al-animation-stage-note p{font-size:1rem}}

/* Real-world scene introduces the model; WebGL loads on explicit exploration. */
.scene-view-choices{display:flex;gap:8px;padding:18px 30px;border-bottom:1px solid #ffffff30;background:#142e39}.scene-view-choices[hidden]{display:none}.scene-view-choices button{font-size:14px;min-height:46px}.al-scene-photo{position:absolute;inset:0;z-index:5;overflow:hidden}.al-scene-photo[hidden]{display:none}.al-scene-photo>img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.al-scene-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#05202ef2,transparent 72%);pointer-events:none}.al-scene-disclosure{position:absolute;top:22px;left:25px;right:25px;z-index:1;font-size:12px;color:#fff;background:#0a273bdb;padding:8px 11px;width:fit-content}.al-scene-invitation{position:absolute;bottom:35px;left:40px;right:35px;z-index:2}.al-scene-invitation p{font:450 clamp(1.7rem,3vw,2.6rem)/1.14 var(--serif,Georgia,serif);color:#fff;margin:0 0 25px}.al-scene-invitation em{color:#e4c794}.al-animation .al-scene-invitation button{background:#e0c28a;color:#132d36;border-color:#e0c28a;font-size:15px;min-height:48px}.al-scene-invitation button span{padding-left:24px}.al-animation[data-display=scene] .al-animation-controls{display:none}.al-animation[data-display=scene] .al-animation-stage-top,.al-animation[data-display=scene] .al-animation-marker,.al-animation[data-display=scene] .al-animation-stage-note,.al-animation[data-display=scene] .al-animation-play-state,.al-animation[data-display=scene] .al-animation-fallback{visibility:hidden}.al-animation[data-display=model] .al-animation-canvas{animation:scene-open .6s ease both}@keyframes scene-open{from{opacity:.2}to{opacity:1}}.al-animation-stage-top{color:#fff;text-shadow:0 1px 5px #000;background:#0b2734b8;padding:9px 11px;left:20px;right:20px;top:15px;border-radius:2px}.al-animation-caption{font-size:14px;line-height:1.65}.al-animation .al-animation-description{font-size:14px}.al-animation-toolbar button,.al-animation-timeline label,.al-animation-trails{font-size:14px}.al-animation-toolbar button{min-height:44px}.al-animation-stage-note{display:none}
@media(max-width:700px){.scene-view-choices{padding:14px;gap:7px}.scene-view-choices button{font-size:12px;padding:10px}.al-scene-invitation{left:24px;right:24px;bottom:28px}.al-scene-invitation p{font-size:1.8rem}.al-scene-disclosure{top:15px;left:15px;right:15px;font-size:11px}.al-scene-photo>img{object-position:48% center}.al-animation .al-scene-invitation button{font-size:13px;width:100%;text-align:left}.al-animation-stage{height:430px}.al-animation-caption{font-size:14px;padding:22px}.al-animation-stage-top{font-size:10px;left:12px;right:12px;top:12px}.al-animation-play-state{left:15px;right:15px;bottom:12px;text-align:center;font-size:12px}.al-animation .al-animation-description{font-size:14px}.al-animation-toolbar button{font-size:13px}.al-animation-trails,.al-animation-timeline label{font-size:14px}}
@media(prefers-reduced-motion:reduce){.al-animation[data-display=model] .al-animation-canvas{animation:none}}.motion-paused .al-animation[data-display=model] .al-animation-canvas{animation:none}

.al-animation-fallback{overflow:auto;overscroll-behavior:contain}.al-animation-fallback:focus-visible{outline:3px solid #e0c28a}.al-scene-invitation [role=status]{display:block;font-size:14px;color:#fff;margin-top:12px}.al-animation-play-state{max-width:none}

@media(max-width:700px){.al-scene-photo{background:#0b2533}.al-scene-photo>img{height:auto;width:100%;object-fit:contain;object-position:center}.al-scene-photo:after{background:linear-gradient(0deg,#0b2533 0%,#0b2533 36%,transparent 67%)}.al-scene-invitation{bottom:22px}.al-scene-invitation p{font-size:1.6rem}.al-animation-fallback{max-height:calc(100% - 95px);tab-size:4}}
