/* Ollie landing: continuous photographic background, restrained display type.
   Marketing extension: design-system/landing/. Shared app tokens remain unchanged. */
@font-face{font-family:"DM Sans";src:url('assets/dm-sans.ttf') format('truetype');font-weight:100 1000;font-display:swap}
:root{font-family:"DM Sans",Arial,sans-serif;color:var(--ollie-textPrimary);background:#fff;color-scheme:light;font-synthesis:none;-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}body{margin:0;isolation:isolate}p,h1{margin:0}
.photographs{position:fixed;inset:0;z-index:-1;overflow:hidden;background:#fff;pointer-events:none}
.scene{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0}.scene.active{opacity:1}
.scene:first-child{object-position:70% center}.scene:nth-child(2){object-position:35% center}.scene-family{object-position:50% center}
/* One continuous vertical fade: clear reading area, richer photography below. */
.photographs::after{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.96) 18%,rgba(255,255,255,.91) 35%,rgba(255,255,255,.83) 51%,rgba(255,255,255,.72) 73%,rgba(255,255,255,var(--ollie-landing-overlay-min)) 100%)}
.page{position:relative;min-height:100dvh;padding:32px clamp(20px,4.5vw,64px) 16px;display:flex;flex-direction:column}
.header{display:flex;justify-content:center;min-height:48px}.home-link{display:flex;align-items:center;min-height:48px}.brand{display:block;width:112px;height:auto}
.hero{flex:1;display:flex;justify-content:center;align-items:center;padding-block:64px 128px}
.message{width:100%;max-width:720px;text-align:center}
h1{max-width:10em;margin-inline:auto;font-size:var(--ollie-landing-display);line-height:var(--ollie-landing-display-leading);letter-spacing:var(--ollie-landing-display-tracking);font-weight:var(--ollie-landing-display-weight);text-wrap:balance}
.intro{max-width:26em;margin:24px auto 0;font-size:1.125rem;line-height:1.65;color:var(--ollie-textPrimary);text-wrap:pretty}
.invitation{display:flex;flex-direction:column;align-items:center;gap:16px;margin-top:32px}
.feedback-note{font-size:.875rem;line-height:1.6;color:var(--ollie-textPrimary)}
.ollie-button{min-width:160px}
footer{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:48px;font-size:.75rem;line-height:1.5;color:var(--ollie-textPrimary)}
.motion-toggle{min-height:48px;padding:12px;background:rgba(255,255,255,.85);border:0;border-radius:10px;color:var(--ollie-textPrimary);font:inherit;cursor:pointer}.motion-toggle[hidden]{display:none}
a:focus-visible,button:focus-visible{outline:2px solid var(--ollie-focus);outline-offset:5px}
@media(max-width:767px){.page{padding-top:24px}.brand{width:105px}.hero{padding-block:56px 112px}h1{font-size:var(--ollie-landing-display);max-width:10em}.intro{font-size:1rem;max-width:23em}.feedback-note{max-width:23em}.scene:first-child{object-position:74% center}.scene:nth-child(2){object-position:23% center}.scene-family{object-position:40% center}}
@media(max-height:650px){.hero{padding-block:40px 64px}}

footer>p{background:rgba(255,255,255,.85);padding:8px 12px;border-radius:10px}

/* Minimal static-background footer. */
footer{justify-content:center}
footer>p{background:none;padding:8px 0;border-radius:0}
