@media (max-width: 1180px) {
    .ol-spine { width: 102px; }
    .ol-head, .ol-main, .ol-footer { margin-left: 102px; }
    .ol-head { grid-template-columns: auto auto 1fr; }
    .ol-head-note { display: none; }
    .ol-hero-copy { left: 4%; width: 61%; }
    .ol-hero-facts { display: none; }
    .ol-hero-compass { left: 59%; }
    .ol-atlas { grid-template-columns: 43% 57%; }
    .ol-section-title { grid-template-columns: .8fr 1.6fr .6fr; }
    .ol-method { grid-template-columns: 42% 1fr; }
    .ol-route-bend { width: 90%; }
    .ol-terrain-block { grid-template-columns: 85px 1fr; }
    .ol-terrain-block > aside { display: none; }
    .ol-detail-specimen { left: 33%; }
    .ol-page-content-intro { grid-template-columns: .4fr 1.4fr 1fr; }
    .ol-access-node { grid-template-columns: 70px 210px 1fr; }
    .ol-access-node b { display: none; }
    .ol-privacy-folds { grid-template-columns: repeat(3, 1fr); }
    .ol-privacy-folds details:nth-child(even) { transform: none; }
}

@media (max-width: 900px) {
    .ol-head { margin-left: 0; height: 86px; padding: 13px 20px; grid-template-columns: 1fr auto auto; position: sticky; top: 0; }
    .ol-head-home { display: none; }
    .ol-wordmark img { width: 48px; height: 48px; }
    .ol-wordmark b { font-size: 17px; }
    .ol-head-cta { min-width: 150px; height: 48px; font-size: 12px; }
    .ol-menu-toggle { width: 52px; height: 52px; display: grid; place-items: center; border-radius: 50%; border: 1px solid var(--ink); background: transparent; cursor: pointer; }
    .ol-menu-toggle span { font-size: 8px; letter-spacing: .08em; text-transform: uppercase; }
    .ol-menu-toggle i { width: 20px; height: 1px; background: var(--ink); }
    .ol-spine { inset: 86px 0 auto 0; width: 100%; max-height: calc(100vh - 86px); padding: 25px; transform: translateY(-130%); transition: transform .35s; overflow-y: auto; }
    .ol-spine.is-open { transform: none; }
    .ol-spine-line, .ol-spine-source { display: none; }
    .ol-spine nav { grid-template-columns: repeat(2, 1fr); }
    .ol-spine nav a { min-height: 62px; display: flex; gap: 15px; border-bottom: 1px solid rgba(255,255,255,.15); border-radius: 0; }
    .ol-spine nav a b { writing-mode: initial; transform: none; font-size: 12px; }
    .ol-main, .ol-footer { margin-left: 0; }
    .ol-hero { min-height: auto; display: block; padding-bottom: 90px; }
    .ol-hero-land { height: 68vh; min-height: 540px; border-radius: 0 0 0 38%; }
    .ol-hero-copy { position: relative; width: 88%; margin: -150px auto 0; left: auto; top: auto; padding: 55px 7vw; border-radius: 48% 12% 43% 14% / 26% 12% 34% 18%; }
    .ol-hero-copy h1 { font-size: clamp(58px, 11vw, 90px); }
    .ol-hero-compass { position: relative; left: auto; bottom: auto; margin: -35px 9% 0 auto; }
    .ol-opening { padding: 100px 7vw; }
    .ol-opening-copy { margin-left: 15%; }
    .ol-round-link { position: relative; right: auto; bottom: auto; margin: 55px 0 0 auto; }
    .ol-atlas { grid-template-columns: 1fr; }
    .ol-atlas-intro { padding: 90px 7vw 50px; }
    .ol-atlas-canvas { min-height: 680px; margin: 0 5vw 70px; }
    .ol-routes, .ol-field-notes { padding: 90px 5vw; }
    .ol-section-title { grid-template-columns: 1fr auto; }
    .ol-section-title h2 { grid-column: 1 / -1; grid-row: 1; }
    .ol-section-title > div { grid-row: 2; }
    .ol-route-bend { width: 100%; }
    .ol-route-bend a, .ol-route-bend:nth-child(even) a { grid-template-columns: 37% 1fr; }
    .ol-route-bend:nth-child(even) figure { order: initial; }
    .ol-method { grid-template-columns: 1fr; }
    .ol-method-image { grid-row: auto; height: 540px; }
    .ol-method-orbits { grid-template-columns: repeat(4, 1fr); }
    .ol-method-orbits li { grid-column: span 2; }
    .ol-method-orbits li:nth-child(4) { grid-column: 1 / span 2; }
    .ol-season-story { grid-template-columns: 1fr; }
    .ol-season-chart { min-height: 450px; }
    .ol-season-note { grid-column: 1; }
    .ol-access { grid-template-columns: 1fr; }
    .ol-access > figure { grid-row: auto; min-height: 600px; clip-path: ellipse(78% 72% at 40% 28%); }
    .ol-access-statement, .ol-access > ol { padding: 50px 8vw; }
    .ol-note-folds { grid-template-columns: repeat(2, 1fr); }
    .ol-note-folds article:nth-child(1) { grid-row: auto; min-height: 350px; }
    .ol-note-folds article:nth-child(4) { grid-column: auto; }
    .ol-family-window { grid-template-columns: 1fr; }
    .ol-family-window figure { min-height: 580px; border-radius: 50% 50% 0 0 / 36% 36% 0 0; }
    .ol-footer-field { grid-template-columns: 1.3fr 1fr 1fr; }
    .ol-footer-cluster--wide { grid-row: span 2; }
    .ol-footer-base { flex-direction: column; }

    .ol-directory-hero { grid-template-columns: 160px 1fr; }
    .ol-directory-sun { width: 150px; height: 150px; }
    .ol-directory-hero > aside { grid-column: 2; }
    .ol-expedition > a { grid-template-columns: 34% 1fr; }
    .ol-expedition-open { display: none; }
    .ol-directory-end { grid-template-columns: 1fr 2fr; }
    .ol-directory-end p, .ol-directory-end a { grid-column: 2; }
    .ol-detail-hero { grid-template-columns: 1fr; }
    .ol-detail-hero > figure { height: 580px; }
    .ol-detail-specimen { position: relative; left: auto; bottom: auto; width: 80%; margin: -110px auto 0; }
    .ol-reading-shell { grid-template-columns: 1fr; }
    .ol-reading-spine { position: static; grid-template-columns: repeat(4, 1fr); overflow-x: auto; }
    .ol-reading-spine span { display: none; }
    .ol-reading-spine a { padding: 14px; }
    .ol-source-cairn { grid-template-columns: 140px 1fr; }
    .ol-source-cairn p { grid-column: 2; }
    .ol-source-cairn > a { grid-column: 2; }
    .ol-page-hero { grid-template-columns: 1fr; }
    .ol-page-hero > figure { height: 530px; }
    .ol-page-landmark { left: auto; right: 8%; bottom: 45px; }
    .ol-page-content-intro { grid-template-columns: 1fr 2fr; }
    .ol-page-content-intro p { grid-column: 2; }
    .ol-page-next { grid-template-columns: 1fr auto; }
    .ol-page-next > div { grid-column: 1 / -1; }
    .ol-page-atlas { grid-template-columns: 1fr; }
    .ol-page-atlas .ol-map { min-height: 620px; }
    .ol-map-index { grid-column: 1; }
    .ol-field-kit { grid-template-columns: repeat(6, 1fr); grid-template-rows: auto repeat(5, auto); }
    .ol-field-kit > header { grid-column: 1 / 7; grid-row: auto; }
    .ol-kit-piece { min-height: 190px; }
    .ol-kit-piece--1, .ol-kit-piece--2, .ol-kit-piece--3, .ol-kit-piece--4, .ol-kit-piece--5, .ol-kit-piece--6 { grid-column: span 3; grid-row: auto; }
    .ol-access-node { grid-template-columns: 60px 180px 1fr; }
    .ol-family-constellation { display: grid; grid-template-columns: repeat(2, 1fr); grid-template-rows: auto; }
    .ol-family-constellation figure { grid-column: 1 / -1; grid-row: auto; min-height: 540px; }
    .ol-family-center { grid-column: 1 / -1; grid-row: auto; width: 300px; min-height: 300px; justify-self: center; margin-top: -120px; }
    .ol-family-choice, .ol-family-choice--1, .ol-family-choice--2, .ol-family-choice--3, .ol-family-choice--4 { grid-column: auto; grid-row: auto; min-height: 190px; }
    .ol-weather-windows { grid-template-columns: 1fr; grid-template-rows: auto; }
    .ol-weather-copy { grid-row: 1; }
    .ol-trigger-matrix { grid-column: 1; }
    .ol-permit-ledger { overflow-x: auto; }
    .ol-ledger-row { min-width: 850px; }
    .ol-studio-portrait { grid-template-columns: 1fr; }
    .ol-studio-portrait figure { grid-column: 1; grid-row: auto; min-height: 600px; }
    .ol-studio-mark { position: static; }
    .ol-privacy-folds { grid-template-columns: repeat(2, 1fr); }
    .ol-boundary-cairns { grid-template-columns: repeat(2, 1fr); grid-template-rows: auto; }
    .ol-boundary-cairns > div:nth-child(1), .ol-boundary-cairns > div:nth-child(2), .ol-boundary-cairns > div:nth-child(3), .ol-boundary-cairns > div:nth-child(4) { grid-column: auto; grid-row: auto; min-height: 300px; }
    .ol-brief-hero { grid-template-columns: 1fr; }
    .ol-brief-hero figure { grid-row: auto; height: 540px; }
    .ol-route-form { padding-inline: 6vw; }
}

@media (max-width: 640px) {
    .ol-head { height: 76px; padding: 10px 13px; }
    .ol-wordmark img { width: 42px; height: 42px; }
    .ol-wordmark small { display: none; }
    .ol-head-cta { min-width: 0; width: 46px; padding: 4px; }
    .ol-head-cta span { display: none; }
    .ol-head-cta b { width: 36px; height: 36px; }
    .ol-menu-toggle { width: 46px; height: 46px; }
    .ol-spine { top: 76px; }
    .ol-spine nav { grid-template-columns: 1fr; }
    .ol-hero-land { height: 57vh; min-height: 440px; border-radius: 0 0 0 28%; }
    .ol-hero-coordinate { display: none; }
    .ol-hero-copy { width: 94%; margin-top: -75px; padding: 45px 25px; border-radius: 34% 8% 22% 8% / 13% 5% 14% 5%; }
    .ol-hero-copy h1 { font-size: clamp(48px, 15vw, 70px); }
    .ol-hero-lead { font-size: 17px; }
    .ol-hero-actions { flex-direction: column; }
    .ol-hero-compass { width: 180px; min-height: 180px; padding: 22px; }
    .ol-opening { padding: 80px 22px; }
    .ol-opening h2 { font-size: 47px; }
    .ol-opening-copy { margin-left: 0; columns: 1; }
    .ol-opening-copy p + p { margin-top: 22px; }
    .ol-atlas-intro { padding: 75px 22px 40px; }
    .ol-atlas-intro h2 { font-size: 45px; }
    .ol-atlas-canvas { min-height: 540px; margin: 0 14px 55px; border-radius: 30% 6% 25% 8%; }
    .ol-map { min-height: 520px; }
    .ol-atlas-scale { display: none; }
    .ol-section-title { display: block; }
    .ol-section-title > * { margin-bottom: 20px !important; }
    .ol-route-bend a, .ol-route-bend:nth-child(even) a { grid-template-columns: 1fr; }
    .ol-route-bend figure { height: 260px; }
    .ol-route-bend h3 { font-size: 35px; }
    .ol-route-bend dl { display: grid; grid-template-columns: 1fr; }
    .ol-method { padding: 70px 18px; }
    .ol-method-image { height: 430px; }
    .ol-method-copy h2 { font-size: 45px; }
    .ol-method-orbits { display: block; }
    .ol-method-orbits li { min-height: 150px; margin: -5px 0; }
    .ol-season-story { padding: 70px 20px; }
    .ol-season-copy h2 { font-size: 45px; }
    .ol-season-chart { min-height: 360px; }
    .ol-season-note { grid-template-columns: 1fr; }
    .ol-season-note p { font-size: 19px; }
    .ol-access > figure { min-height: 470px; }
    .ol-access-statement, .ol-access > ol { padding: 45px 22px; }
    .ol-access-statement h2 { font-size: 44px; }
    .ol-note-folds { grid-template-columns: 1fr; }
    .ol-note-folds article, .ol-note-folds article:nth-child(1) { min-height: 300px; }
    .ol-family-window > div { padding: 70px 22px; }
    .ol-family-window h2 { font-size: 45px; }
    .ol-family-window figure { min-height: 430px; }
    .ol-final-question { padding: 90px 20px; }
    .ol-final-question h2 { font-size: 50px; }
    .ol-footer { padding: 80px 22px 25px; }
    .ol-footer-call h2 { font-size: 52px; }
    .ol-footer-field { grid-template-columns: 1fr 1fr; }
    .ol-footer-brand { grid-column: 1 / -1; }
    .ol-footer-cluster--wide { grid-row: auto; }

    .ol-directory-hero { grid-template-columns: 1fr; padding: 65px 22px; }
    .ol-directory-sun { width: 125px; height: 125px; }
    .ol-directory-hero h1 { font-size: 50px; }
    .ol-directory-hero > aside { grid-column: 1; }
    .ol-directory-switch { grid-template-columns: 1fr; }
    .ol-directory-switch a { min-height: 90px; border-bottom: 1px solid var(--ink); }
    .ol-directory-filter { position: static; padding: 18px; }
    .ol-directory-filter > span { width: 100%; }
    .ol-expedition-list { padding: 35px 18px 80px; }
    .ol-expedition > a { grid-template-columns: 1fr; padding: 30px 0; }
    .ol-expedition figure { height: 250px; }
    .ol-expedition-copy h2 { font-size: 36px; }
    .ol-directory-end { grid-template-columns: 1fr; padding: 70px 22px; }
    .ol-directory-end p, .ol-directory-end a { grid-column: 1; }
    .ol-detail-hero, .ol-page-hero { padding: 30px 18px 55px; }
    .ol-detail-title h1, .ol-page-title h1 { font-size: 49px; }
    .ol-detail-hero > figure, .ol-page-hero > figure { height: 420px; }
    .ol-detail-specimen { width: 94%; margin-top: -75px; border-radius: 25% 8% 25% 8%; }
    .ol-detail-specimen dl { grid-template-columns: 1fr; gap: 10px; }
    .ol-reading-shell { padding: 65px 18px; }
    .ol-reading-spine { grid-template-columns: 1fr 1fr; }
    .ol-terrain-block { display: block; padding: 35px 20px; margin-inline: 0 !important; border-radius: 0 !important; }
    .ol-contour-number { display: block; margin-bottom: 25px; }
    .ol-contour-number span { width: 58px; height: 58px; }
    .ol-contour-number i { display: none; }
    .ol-terrain-copy h2 { font-size: 31px; }
    .ol-terrain-copy p { font-size: 16px; }
    .ol-source-cairn { grid-template-columns: 1fr; padding: 65px 22px; }
    .ol-source-cairn p, .ol-source-cairn > a { grid-column: 1; }
    .ol-next-land { padding: 70px 18px; }
    .ol-next-land header { grid-template-columns: 1fr; }
    .ol-next-land header h2 { font-size: 39px; }
    .ol-page-landmark { width: 90px; height: 90px; }
    .ol-page-content-intro { grid-template-columns: 1fr; padding: 80px 22px 45px; }
    .ol-page-content-intro p { grid-column: 1; }
    .ol-page > .ol-terrain-content { padding: 0 18px 80px; }
    .ol-page-next { grid-template-columns: 1fr; padding: 55px 22px; }
    .ol-core-module { padding: 70px 18px; }
    .ol-orbit-method { display: flex; flex-direction: column; gap: 12px; }
    .ol-orbit-center { min-height: 280px; order: -1; }
    .ol-orbit-step { min-height: 170px; }
    .ol-fee-islands { grid-template-columns: 1fr; }
    .ol-fee-island, .ol-fee-island.is-large { min-height: 370px; transform: none; }
    .ol-field-kit { display: block; }
    .ol-field-kit > header, .ol-kit-piece { margin-bottom: 15px; }
    .ol-day-ribbon > header { display: grid; }
    .ol-day-ribbon > div { grid-template-columns: 70px 45px 1fr; }
    .ol-day-ribbon section { display: block; }
    .ol-day-ribbon section h2 { margin: 6px 0; }
    .ol-page-atlas { padding: 25px 14px 50px; }
    .ol-page-atlas .ol-map { min-height: 520px; }
    .ol-map-index { display: grid; gap: 8px; }
    .ol-access-path { padding-left: 60px; }
    .ol-access-thread { left: 28px; }
    .ol-access-node { grid-template-columns: 50px 1fr; padding: 20px 0; }
    .ol-access-node p { grid-column: 2; }
    .ol-family-constellation { display: block; padding: 45px 18px; }
    .ol-family-constellation figure { min-height: 400px; }
    .ol-family-center { width: 230px; min-height: 230px; margin: -65px auto 20px; position: relative; }
    .ol-family-choice { min-height: 160px; margin-top: 8px; }
    .ol-weather-windows { padding: 65px 18px; }
    .ol-weather-chart { min-height: 360px; }
    .ol-trigger-matrix { grid-template-columns: 1fr; }
    .ol-trigger-matrix > div { border-bottom: 1px solid rgba(255,255,255,.25); }
    .ol-permit-ledger > header { grid-template-columns: 1fr; }
    .ol-permit-ledger header h2 { font-size: 42px; }
    .ol-source-strata > div { min-height: 250px; grid-template-columns: 1fr; gap: 5px; clip-path: polygon(0 6%, 30% 0, 67% 7%, 100% 2%, 100% 100%, 0 100%); }
    .ol-source-strata h2 { margin: 5px 0; }
    .ol-studio-portrait { padding: 70px 20px; }
    .ol-studio-portrait blockquote { font-size: 48px; }
    .ol-studio-portrait figure { min-height: 420px; }
    .ol-privacy-folds { grid-template-columns: 1fr; padding: 55px 18px; }
    .ol-privacy-folds details { min-height: 250px; }
    .ol-boundary-cairns { grid-template-columns: 1fr; }
    .ol-boundary-cairns > div { min-height: 250px !important; }
    .ol-brief-hero { padding: 30px 18px 55px; }
    .ol-brief-hero h1 { font-size: 49px; }
    .ol-brief-hero figure { height: 420px; }
    .ol-brief-hero ol { grid-template-columns: 1fr; }
    .ol-route-form { grid-template-columns: 1fr; padding: 70px 18px; }
    .ol-form-wide, .ol-form-consent, .ol-route-form > button, .ol-form-landmark { grid-column: 1; }
    .ol-form-landmark { grid-template-columns: 80px 1fr; }
    .ol-form-landmark > span { width: 72px; height: 72px; font-size: 34px; }
    .ol-form-landmark h2 { font-size: 31px; }
    .ol-route-form > button { justify-self: stretch; width: 100%; }
    .ol-brief-after { grid-template-columns: 1fr; padding: 60px 22px; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
