@import "https://fonts.googleapis.com/css2?family=Aldrich&family=Open+Sans:wght@300;400;700&family=Varela&display=swap";:root{--blue:#1f4e79;--yellow:#ffc000;--ink:#171717;--muted:#5c6670;--line:#d7dde3;--page:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--page);color:var(--ink);margin:0;font-family:Open Sans,Arial,sans-serif;font-size:1.2rem;font-weight:300}button,a{font:inherit}a{color:var(--blue)}.top-bar{background:#fff;align-items:center;gap:.75rem;min-height:6rem;padding:.5rem 2rem 1rem .5rem;display:flex}.logo{place-items:center;width:5rem;height:5rem;display:grid}.logo img{object-fit:contain;width:5rem;height:5rem;display:block}.brand{color:#000;font-family:Varela,Arial,sans-serif;font-size:1.25rem;font-weight:700;line-height:1.28;text-decoration:none}.tagline{color:var(--blue);margin-left:3rem;font-weight:700}.top-bar nav{flex-wrap:wrap;flex:1;justify-content:flex-end;gap:2rem;display:flex}.top-bar nav a{color:#000;font-weight:700;text-decoration:none}.top-bar nav a:hover{color:var(--yellow)}.hero{color:#fff;min-height:calc(100vh - 6rem);position:relative;overflow:hidden}.hero video,.hero>.mobile-poster{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.hero:after{content:"";background:linear-gradient(#00000038,#0000002e);position:absolute;inset:0}.hero-content{z-index:1;text-align:center;place-items:center;min-height:calc(100vh - 6rem);padding:2rem;display:grid;position:relative}.hero-copy{width:min(68rem,100%)}.hero h1,.hero h2,.page-banner h1{letter-spacing:0;margin:0;font-size:clamp(2.4rem,5vw,4rem);font-weight:300}.desktop-copy{text-align:left;width:min(68%,52rem);margin:1.5rem auto 0}.desktop-copy p,.desktop-copy li,.about-copy p{line-height:1.55}.mobile-copy,.mobile-detail,.mobile-poster,.mobile-about-images{display:none}.tile-section{grid-template-columns:repeat(auto-fit,minmax(15rem,15rem));justify-content:center;gap:2rem;width:min(80rem,100%);margin:3rem auto;padding:0 1rem;display:grid}.service-tile{cursor:pointer;background-position:50%;background-size:cover;border:0;width:15rem;height:15rem;position:relative;overflow:hidden}.tile-band,.tile-title{width:100%;height:4rem;transition:transform .22s,opacity .22s;position:absolute;top:50%;left:0;transform:translateY(-50%)}.tile-band{opacity:.68;background:#fff}.tile-title{color:#000;text-align:center;place-items:center;padding:0 .5rem;font-weight:700;line-height:1.2;display:grid}.service-tile:hover .tile-band,.service-tile:hover .tile-title,.service-tile:focus-visible .tile-band,.service-tile:focus-visible .tile-title{transform:translate(100%,-50%)}.about-hero{min-height:100vh}.about-copy p{width:min(70%,58rem);margin:1.5rem auto}.about-images{justify-content:space-between;gap:2rem;width:min(64rem,100%);margin:2rem auto 0;display:flex}.about-images img{object-fit:contain;max-width:45%;height:20rem}.page-banner{color:#fff;text-align:center;background-size:cover;min-height:15rem;padding:3rem 1rem}.page-banner p{margin:.5rem 0 0;font-size:clamp(1.35rem,3vw,2rem)}.content-section{width:min(70%,68rem);margin:3rem auto;line-height:1.6}.contact{min-height:6rem;margin-bottom:5rem}.side-image{float:right;width:min(25rem,45%);margin:0 0 3rem 3rem}.story-gallery{color:#fff;background:#5d646b;width:min(100%,84rem);margin:2rem auto 5rem}.story-stage{place-items:center;min-height:32rem;display:grid;position:relative}.story-stage img{object-fit:contain;max-width:100%;max-height:70vh}.nav{color:#fff;cursor:pointer;background:#4169e1b8;border:0;border-radius:999px;place-items:center;width:3.5rem;height:3.5rem;display:grid;position:absolute;top:1rem}.nav svg{width:2.5rem;height:2.5rem}.nav:disabled{cursor:default;opacity:.25}.nav.previous{left:1rem}.nav.next{right:1rem}.story-caption,.gallery-title{text-align:center;padding:.75rem 1rem 0}.gallery-wrap{clear:both;width:min(92%,84rem);margin:3rem auto}.gallery-wrap h2{width:min(70%,68rem);margin:3rem auto 1rem;font-weight:400}.feature-image{cursor:zoom-in;background:0 0;border:0;place-items:center;width:100%;min-height:32rem;display:grid}.feature-image img{object-fit:contain;max-width:100%;max-height:calc(100vh - 15rem)}.thumbnail-strip{grid-template-columns:repeat(auto-fill,minmax(8rem,1fr));gap:1rem;padding:1rem;display:grid}.thumbnail-strip button{aspect-ratio:1;border:.25rem solid var(--blue);cursor:pointer;background:#fff;padding:0;overflow:hidden}.thumbnail-strip button.active,.thumbnail-strip button:hover,.thumbnail-strip button:focus-visible{border-color:var(--yellow)}.thumbnail-strip img{object-fit:cover;width:100%;height:100%;display:block}.lightbox{z-index:10;background:#000000db;place-items:center;padding:2rem;display:grid;position:fixed;inset:0}.lightbox img{object-fit:contain;max-width:100%;max-height:100%}.lightbox button{color:#000;cursor:pointer;background:#fff;border:0;place-items:center;width:3rem;height:3rem;display:grid;position:fixed;top:1rem;right:1rem}.route-links{flex-wrap:wrap;gap:1rem;display:flex}.route-links button{border:1px solid var(--line);color:var(--blue);cursor:pointer;background:#fff;padding:.75rem 1rem}.footer{background:var(--blue);color:#fff;text-align:left;justify-content:flex-end;align-items:center;min-height:5.25rem;padding:1rem 15%;font-size:.9rem;line-height:1.4;display:flex}@media (width<=992px){.tagline{display:none}}@media (width<=768px){body{font-size:1.05rem}.top-bar{min-height:3.25rem;padding:.25rem .5rem .5rem}.logo,.logo img{width:2.5rem;height:2.5rem}.brand{display:none}.top-bar nav{gap:1rem}.hero,.hero-content,.about-hero{min-height:auto}.hero video,.hero:after,.about-images,.desktop-copy{display:none}.hero>.mobile-poster{height:auto;display:block;position:static}.home-hero{min-height:18rem}.home-hero video,.home-hero:after{display:block}.hero-content{padding:1rem;position:absolute;inset:0}.hero h1,.hero h2,.page-banner h1{font-size:2rem}.mobile-copy,.mobile-detail{display:block}.mobile-detail{padding:1rem 1.5rem}.tile-section{grid-template-columns:minmax(0,15rem)}.mobile-about-images{gap:1rem;padding:1rem;display:grid}.mobile-about-images img{width:100%}.about-copy p,.content-section,.gallery-wrap h2{width:min(92%,68rem)}.page-banner{min-height:10rem;padding-top:2.25rem}.side-image{float:none;width:min(100%,25rem);margin:0 auto 2rem;display:block}.story-stage,.feature-image{min-height:18rem}.thumbnail-strip{grid-template-columns:repeat(auto-fill,minmax(6rem,1fr))}.footer{text-align:center;justify-content:center;padding:1rem}}
