/* Colours and typography read from staging's configured The7 theme. */
@font-face{font-family:Questrial;src:url('assets/questrial-regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
:root{--blue:#2d5c88;--ink:#333333;--paper:#ffffff;--muted:#666666;--line:rgba(0,0,0,.08);--serif:Questrial,Helvetica,Arial,Verdana,sans-serif;--theme-hover:#0e4d87;--theme-panel:#f5f5f5;--theme-dark:#212121}
body{font-family:Questrial,Helvetica,Arial,Verdana,sans-serif;background:var(--paper);color:var(--ink)}
h1,h2,h3{font-family:var(--serif);font-weight:700;letter-spacing:0}
em{font-style:normal;color:var(--blue);font-weight:inherit}
.header{background:#fff;border-bottom:1px solid var(--line)}
.header nav{font-weight:700}
.header nav a:hover{color:var(--blue)}
.visit-link{border-color:var(--blue)}
.primary,.hero .button{background:var(--blue);color:#fff;border-radius:4px}
.primary:hover,.hero .button:hover{background:var(--theme-hover)}
.button{border-radius:4px;font-weight:700}
.hero-stage,.hero-media{background:var(--theme-dark)}
.hero-stage::before{background:rgba(0,0,0,.56)}
.hero-copy .eyebrow,.hero .address{color:#fff}
.hero h1{font-size:clamp(42px,4.2vw,52px);font-weight:700;line-height:1.19;letter-spacing:0}
.hero .services{border-top-color:var(--blue)}
.hero a:focus-visible,.hero button:focus-visible{outline-color:#fff}
a:focus-visible,button:focus-visible,.hero .services a:focus-visible,.hero .scroll-invitation:focus-visible{outline-color:var(--blue)}
.hero-secondary:hover{color:#fff;border-bottom-width:2px}
.story{background:var(--theme-panel)}
.story-visual{background:var(--theme-panel)}
.photo-stack img{background:var(--theme-dark)}
.photo-caption{background:#fff;color:var(--ink)}
.chapter-dots i{background:#ffffff66}
.chapter-dots i.active{background:#fff}
.text-link{color:var(--blue);border-color:var(--blue)}
.text-link:hover{color:var(--theme-hover);border-color:var(--theme-hover)}
.mission{background:var(--blue)}
.mission em,.mission-copy p{color:#fff}
.light{background:#fff;color:var(--blue)}
.light:hover{background:var(--theme-panel)}
footer{margin:0;padding:30px 5%;background:var(--theme-dark);color:#d0d0d0;border-top:0}
.footer-brand{color:#fff}
footer small{color:#d0d0d0}
dialog::backdrop{background:rgba(0,0,0,.85)}
@media(max-width:760px){.hero h1{font-size:clamp(29px,8.1vw,48px)}.hero .services a:focus-visible{outline-color:var(--blue)}}
