/* One editorial stack at every width. Text starts at the top; photography takes
   the remaining frame rather than being capped while empty space sits above it. */
body.public-site.our-story-page { --story-heading-size:clamp(2rem,4.5vw,4rem); }
html:has(.our-story-page) { scroll-snap-type:none;scroll-behavior:auto; }
/* Shared story-frame owns viewport geometry; these are editorial skin tokens. */
.our-story-page { --story-frame-width:62rem; --story-frame-inset:clamp(1.5rem,3.4vw,3rem); --story-frame-space:clamp(1rem,min(2.5dvh,3vw),2rem); --story-frame-gap:clamp(1rem,2dvh,1.5rem); --story-media-min:clamp(11rem,24dvh,17rem); }
body.public-site.our-story-page main :is(.story-intro h2,.story-belief h2,.story-control h2) {
 flex:none;max-width:24ch;margin:0;font-size:var(--story-heading-size);font-weight:800;line-height:1.08;letter-spacing:-.045em;color:#173f50;
}
body.public-site.our-story-page main .story-intro h1 { margin:0 0 .8rem;font-size:.85rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--blue); }
body.public-site.our-story-page main .story-frame__copy h3 { margin:clamp(.7rem,min(1.6dvh,2.8vw),1rem) 0 0;font-size:clamp(1.2rem,2vw,1.6rem);line-height:1.3;color:#173f50; }
body.public-site.our-story-page main .story-frame__copy p {
 flex:none;max-width:68ch;margin:clamp(.7rem,min(1.6dvh,2.8vw),1rem) 0 0;font-size:clamp(1rem,1.5vw,1.25rem);line-height:1.45;color:#354d55;
}
.story-link { display:inline-flex;align-items:center;align-self:flex-start;gap:.5rem;flex:none;min-height:44px;margin-top:.65rem;color:var(--blue);font-size:1.1rem;font-weight:750;text-underline-offset:.25em; }
.story-link svg { width:1.2em;height:1.2em;flex:none; }
.story-photo { display:block;position:relative;width:100%;overflow:hidden;border-radius:.5rem; }
.story-photo img { position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center top; }
.story-actions { display:flex;align-items:flex-start;flex-direction:column;gap:.5rem;flex:none;margin-top:0; }
.story-actions .button { background:var(--blue);color:var(--white);border-radius:.65rem;text-align:center;white-space:normal; }
.story-actions>a:not(.button) { display:inline-flex;align-items:center;min-height:44px;color:#285970;text-underline-offset:.25em; }
body.public-site.our-story-page main .story-value__closing { font-size:clamp(1.4rem,2.5vw,2rem);font-weight:750;line-height:1.4;color:#173f50; }
.our-story-page main a:focus-visible { outline:3px solid var(--focus);outline-offset:5px; }
.story-shadow { background:radial-gradient(ellipse at 95% 95%,#34454e 0,transparent 65%),linear-gradient(140deg,#10191f,#192a35);color:#edf0ee; }
.story-shadow .story-belief { background:transparent;border-top:1px solid #ffffff1a; }
body.public-site.our-story-page main .story-shadow h2 { color:#f5f3ec;text-shadow:0 3px 18px #00000030; }
body.public-site.our-story-page main .story-shadow .story-intro h1 { color:#adc4cf; }
body.public-site.our-story-page main .story-shadow :is(.story-intro p,.story-belief p) { color:#d0d9dd; }
.story-belief--companies { background:radial-gradient(ellipse at 15% 0%,#fff3d5 0,transparent 65%),#fffdf8;border-top:1px solid #e6d6b5; }
body.public-site.our-story-page main .story-origin { color:#285970;font-weight:750; }
.story-control { background:linear-gradient(165deg,#bfe5fc 0%,#eaf7ff 60%,#fff 100%);color:var(--deep); }
.our-story-page .site-footer { background:#e9efea;color:#173f50;border-top:1px solid #c9d4cd; }
.our-story-page .site-footer .brand--keyring img { filter:none; }

/* The existing reversible sky remains decorative and never moves the content. */
.story-atmosphere { display:none; }
.our-story-page.story-light-active .story-atmosphere { display:block;position:fixed;inset:0;pointer-events:none;z-index:0;background:radial-gradient(ellipse at var(--dawn-x,85%) var(--dawn-y,110%),var(--dawn-glow,#1b303b),var(--dawn-mid,#11212b) 50%,var(--dawn-base,#0b1720) 100%); }
.our-story-page.story-light-active main { position:relative;z-index:1;margin-inline:auto;max-width:74rem; }
.our-story-page.story-light-active .story-shadow { background:linear-gradient(#07111b,#12222f); }
.our-story-page.story-light-active .story-belief--companies { background:#fffaf0;border:0;box-shadow:none; }
.our-story-page.story-light-active .story-control,.our-story-page.story-light-active .site-footer { background:#eff8fd; }
.our-story-page.story-light-active .site-footer { position:relative;z-index:1; }
@media (prefers-reduced-motion:reduce) { .story-atmosphere{display:none!important}.our-story-page main :is(h1,h2,h3,p,a,img){transition:none!important} }
