@charset "UTF-8";
:root{--ink:#203d33;--muted:#626e62;--paper:#f5f2e9;--gold:#c7b88c;--line:#203d332b;--reveal:0;--progress:0}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-underline-offset:5px}button{font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid #d3ac55;outline-offset:5px}button{color:inherit}button:disabled{cursor:default}img{max-width:100%}.skip{position:fixed;top:-80px;left:20px;z-index:50;background:var(--paper);padding:16px}.skip:focus{top:15px}.site-header{position:absolute;z-index:10;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:27px 5%;color:#fffef4;border-bottom:1px solid #ffffff2e;background:linear-gradient(#051a1770,transparent)}.wordmark{text-decoration:none;font:30px Georgia,serif;letter-spacing:-1.5px;line-height:1}.wordmark span{font-style:italic}.wordmark small{display:block;font:8px Arial,sans-serif;letter-spacing:2.1px;margin-top:9px}.site-header nav{display:flex;gap:36px;font-size:12px}.site-header nav a{text-decoration:none}.site-header nav span{margin-left:13px}.hero{position:relative;min-height:670px;height:100svh;max-height:1050px;background:#142e24;color:#fffef4;isolation:isolate;overflow:hidden}.film-wrap{position:absolute;inset:0;z-index:-3}.film-wrap video{width:100%;height:100%;object-fit:cover;object-position:center}.film-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,#0719101a 10%,#07191022 47%,#071910a0);box-shadow:inset 0 0 150px #0d211b28}.film-shade:after{content:"";position:absolute;inset:0;background:#112d25;opacity:calc(var(--reveal)*.84)}.first-words{position:absolute;top:43%;left:9%;opacity:calc(1 - var(--reveal));transform:translateY(calc(var(--reveal)*-12px));text-shadow:0 2px 25px #082618}.eyebrow{font-size:10px;font-weight:500;letter-spacing:2.2px;line-height:1.6;text-transform:uppercase;margin:0 0 24px}.first-words h1{font:400 clamp(46px,6.6vw,100px)/1.02 Georgia,serif;letter-spacing:-.045em;margin:0}.brand-reveal{position:absolute;inset:17% 0 21%;display:flex;flex-direction:column;justify-content:center;align-items:center;opacity:var(--reveal);transform:translateY(calc((1 - var(--reveal))*12px));pointer-events:none;filter:blur(calc((1 - var(--reveal))*5px))}.brand-reveal img{height:76%;max-height:345px;width:auto;object-fit:contain;filter:drop-shadow(0 18px 35px #0005)}.brand-reveal p{font:italic 26px Georgia,serif;margin:28px 0 0;color:#eeeadc}.hero-bottom{position:absolute;bottom:43px;left:5%;right:5%;display:flex;align-items:center;justify-content:space-between;gap:18px;font-size:11px}.film-controls{display:flex;gap:17px}.film-controls button{border:0;background:transparent;color:inherit;padding:12px 0;font-size:11px}.explore-link{font-size:12px;text-decoration:none;border-bottom:1px solid #fff9;padding:14px 0;letter-spacing:.04em}.explore-link span{padding-left:25px}.film-note{font-size:9px;letter-spacing:.03em;color:#e4e5d8}.film-progress{height:2px;position:absolute;bottom:0;left:0;right:0;background:#ffffff22}.film-progress span{display:block;height:100%;width:calc(var(--progress)*100%);background:#d9c388}.section-pad{padding:100px 7%}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:45px}.section-heading .eyebrow{color:#75816b;margin-bottom:25px}h2{font:400 clamp(35px,4.2vw,60px)/1.08 Georgia,serif;letter-spacing:-.035em;margin:0}.section-heading>p{font-size:13px;line-height:1.9;color:var(--muted);margin:0 0 3px}.gallery-view{width:100%}.main-photo-button{position:relative;width:100%;display:block;padding:0;border:0;background:#16342c;overflow:hidden;aspect-ratio:1.93}.main-photo-button img{display:block;width:100%;height:100%;object-fit:cover}.enlarge-label{position:absolute;right:18px;bottom:18px;background:#10281ecd;backdrop-filter:blur(8px);color:#fff;font-size:10px;padding:11px 14px}.enlarge-label span{margin-left:15px}.photo-caption{display:flex;justify-content:space-between;align-items:center;margin:22px 0 28px}.photo-caption>div:first-child{display:flex;align-items:center;gap:24px}#photo-count{font-size:10px;letter-spacing:1.5px;color:#71816a}.photo-caption h3{font:22px Georgia,serif;margin:0}.gallery-arrows{display:flex;gap:8px}.gallery-arrows button,.dialog-controls button{width:43px;height:43px;border:1px solid var(--line);background:transparent;font-size:20px}.gallery-arrows button:hover{background:#e3e5d8}.thumbnails{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:10px}.thumb{position:relative;display:block;padding:0;border:0;aspect-ratio:1.55;background:#d6d7c8;opacity:.57;transition:opacity .2s}.thumb img{display:block;width:100%;height:100%;object-fit:cover}.thumb[aria-current=true]{opacity:1;outline:2px solid #50684b;outline-offset:4px}.thumb:hover{opacity:1}.city-section{background:#e9ede2;border-block:1px solid #dfe5d9}.map-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:9%;align-items:start}.map-story{padding-top:25px}.map-story h3{font:36px/1.1 Georgia,serif;letter-spacing:-1px;margin:0 0 27px}.map-story p{font-size:13px;line-height:1.85;color:#566553;max-width:420px}.source-link{display:block;font-size:10px;margin-top:12px}.route-facts{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:26px 0;margin:28px 0 0;border-block:1px solid var(--line)}.route-facts strong{font:48px Georgia,serif;display:block;font-weight:400;letter-spacing:-2px}.route-facts strong small{font:15px Arial,sans-serif;letter-spacing:0}.route-facts span{display:block;font-size:11px;line-height:1.9;margin-top:12px}.route-facts span small{font-size:9px;color:#687761}.map-story .route-note{font-size:10px;line-height:1.8;margin:18px 0 30px;color:#657460}.outline-link{display:flex;align-items:center;justify-content:space-between;gap:20px;text-decoration:none;font-size:11px;border:1px solid #7b8b6f;padding:17px 18px;max-width:420px}.outline-link:hover{background:#dce4d3}.map-tabs{display:grid;grid-template-columns:1fr 1fr;border:1px solid #afbaa1;margin-bottom:0}.map-tabs button{padding:15px 8px;background:transparent;border:0;font-size:10px;line-height:1.5}.map-tabs button[aria-selected=true]{background:var(--ink);color:white}.map-panel{min-width:0}#map-enlarge{position:relative;display:block;background:white;padding:20px;text-align:center}#map-image{display:block;width:100%;height:520px;object-fit:contain}.map-expand{position:absolute;bottom:29px;right:28px;font-size:9px;background:#183b30e6;color:white;padding:10px}.map-caption{background:#f8f8f1;padding:22px 25px;border-top:1px solid #d9dfd0}.map-caption .eyebrow{font-size:8px;letter-spacing:1.7px;margin:0;color:#637559}.map-caption h3{font:22px Georgia,serif;margin:12px 0}.map-caption p{font-size:11px;line-height:1.75;color:#5d6c58}.map-caption a{font-size:9px;line-height:1.7}.timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.timeline article{border-top:1px solid #a3ad95;padding:24px 0}.year{font:36px Georgia,serif;color:#748462}.timeline h3{font:23px/1.2 Georgia,serif;margin:24px 0 13px}.timeline p{font-size:12px;line-height:1.9;color:var(--muted);max-width:330px}.timeline a{display:inline-block;font-size:9px;line-height:1.8;margin-top:14px}.closing{border-top:1px solid var(--line);text-align:center;padding:72px 0 0;margin-top:50px}.closing h2{font-size:clamp(32px,4vw,53px);margin:17px 0 28px}.closing a{font-size:12px}.closing a span{margin-left:24px}footer{display:grid;grid-template-columns:1fr auto;gap:25px;padding:36px 7%;border-top:1px solid #ffffff25;background:#1f382e;color:#ccd4c3;font-size:10px}footer>span{align-self:start;font:18px Georgia,serif}footer p{grid-column:1;line-height:1.8;font-size:9px;margin:0;color:#acbba5}footer>a{grid-column:2;grid-row:1/3;align-self:center;font-size:10px}dialog{width:min(96vw,1500px);max-width:none;max-height:96svh;padding:45px 18px 14px;border:0;background:#10271ff5;color:#fff;overflow:auto}dialog::backdrop{background:#06150ee8}#dialog-image{width:100%;height:min(72svh,850px);object-fit:contain;display:block}.dialog-close{position:absolute;right:20px;top:12px;border:0;background:none;color:#fff;font-size:12px;padding:5px}.dialog-controls{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:15px}.dialog-controls p{font:16px Georgia,serif;min-width:200px;text-align:center}.dialog-controls button{color:white;border-color:#ffffff45;flex-shrink:0}body:has(dialog[open]){overflow:hidden}.sources-page{max-width:900px;margin:auto;padding:60px 6%;font-size:14px;line-height:1.8}.sources-page h1{font:46px Georgia,serif}.sources-page h2{font:28px Georgia,serif;margin:40px 0 15px}.sources-page li{margin:20px 0}.sources-page a{overflow-wrap:anywhere}
@media(min-width:1600px){.section-pad{padding-left:max(7%,calc((100vw - 1380px)/2));padding-right:max(7%,calc((100vw - 1380px)/2))}}
@media(max-width:850px){.hero{min-height:580px;height:87svh}.site-header{padding:24px 6%}.site-header nav{gap:21px;font-size:10px}.wordmark{font-size:25px}.wordmark small{font-size:6px;letter-spacing:1.6px}.first-words{left:7%;top:42%}.first-words h1{font-size:68px}.hero-bottom{flex-wrap:wrap;left:6%;right:6%;bottom:27px}.film-note{width:100%;order:3}.brand-reveal{inset:21% 0 24%}.brand-reveal img{max-height:270px}.section-pad{padding:68px 6%}.section-heading{display:block;margin-bottom:32px}.section-heading>p{margin-top:23px}.section-heading>p br{display:none}.section-heading>p{max-width:430px}.map-layout{grid-template-columns:1fr;gap:40px}.map-story{padding-top:0}.map-story p{max-width:650px}.map-story h3 br{display:none}.route-facts{max-width:500px}.outline-link{max-width:none}.map-story .route-note{max-width:600px}#map-image{height:560px}.timeline{gap:22px}.timeline h3{font-size:21px}.timeline p{font-size:11px}.thumbnails{grid-template-columns:repeat(5,minmax(0,1fr));gap:15px}.photo-caption h3{font-size:20px}}
@media(max-width:520px){.site-header nav{gap:18px}.site-header nav a:first-child{display:none}.first-words h1{font-size:51px}.first-words .eyebrow{font-size:8px}.brand-reveal p{font-size:23px}.film-wrap video{object-position:45% center}.hero{height:85svh;min-height:560px}.hero-bottom{column-gap:20px;row-gap:5px}.film-controls{gap:15px}.film-controls button{font-size:9px}.explore-link{font-size:10px}.explore-link span{padding-left:12px}.film-note{font-size:8px}.section-pad{padding:55px 6%}.section-heading h2{font-size:38px}.section-heading .eyebrow{font-size:8px}.section-heading>p{font-size:12px}.main-photo-button{aspect-ratio:1.45}.enlarge-label{font-size:8px;right:10px;bottom:10px;padding:9px}.photo-caption{margin-top:17px}.photo-caption>div:first-child{display:block}.photo-caption h3{margin-top:6px;font-size:21px}.photo-caption #photo-count{font-size:9px}.gallery-arrows button{width:36px;height:36px}.thumbnails{gap:12px}.map-story h3{font-size:29px}.route-facts{gap:15px}.route-facts strong{font-size:44px}#map-image{height:480px}.map-tabs button{font-size:9px;padding:14px 5px}.map-caption{padding:20px}.timeline{display:block}.timeline article{padding:24px 0 30px}.timeline h3{margin-top:16px}.timeline p{font-size:12px;max-width:none}.closing{margin-top:30px;padding-top:45px}.closing .eyebrow{font-size:9px}.closing a{font-size:10px}footer{display:block;padding:30px 6%}footer p{margin:20px 0}footer>a{display:block;margin-top:20px}.dialog-controls{gap:10px}.dialog-controls p{min-width:0;flex:1;font-size:13px}.map-expand{font-size:8px}.brand-reveal img{max-height:240px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}.film-wrap video{visibility:hidden}.film-wrap{background:url('assets/opening-poster.png') center/cover}.hero{--reveal:1;--progress:1}.brand-reveal{filter:none}.first-words{opacity:0}}

/* Keep the complete property name together at every screen size. */
.wordmark{white-space:nowrap;flex-shrink:0}
@media(max-width:520px){.wordmark{font-size:22px;letter-spacing:-1px}}

/* The Riverwalk opens directly on its gallery. */
.site-header{position:relative;background:#1f382e;border-bottom:1px solid #ffffff2e}
.gallery-section{padding-top:54px}
.gallery-section .section-heading h1{font:400 clamp(35px,4.2vw,60px)/1.08 Georgia,serif;letter-spacing:-.035em;margin:0}
.thumbnails{grid-template-columns:repeat(11,minmax(0,1fr))}
@media(max-width:850px){.gallery-section{padding-top:42px}.thumbnails{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(max-width:520px){.gallery-section{padding-top:34px}.gallery-section .section-heading h1{font-size:38px}.thumbnails{grid-template-columns:repeat(5,minmax(0,1fr))}}

/* Match the main York Woods Center header and approved mark. */
.site-header{background:#fffdf8;color:#063d36;border-bottom:1px solid #e9e2d3;padding:12px 5%}
.brand-logo{display:block;line-height:0;flex-shrink:0}
.brand-logo img{display:block;width:155px;height:auto}
.site-header nav{font-family:Georgia,serif;font-size:14px}
@media(max-width:850px){.site-header{padding:12px 6%}.brand-logo img{width:112px}.site-header nav{font-size:13px}}
@media(max-width:520px){.brand-logo img{width:88px}.site-header nav{font-size:12px}}

/* Shared York Woods navigation on the Riverwalk experience. */
.site-header{gap:clamp(20px,2.2vw,36px)}
.header-location{margin:0 0 0 auto;color:#063d36;font:12px Arial,Helvetica,sans-serif;letter-spacing:.2em;text-transform:uppercase;white-space:nowrap}
.site-header nav{gap:clamp(13px,1.5vw,23px);align-items:center}
.site-header nav a{white-space:nowrap}
.site-header nav a[aria-current=page]{border-bottom:1px solid currentColor;padding-bottom:4px}
@media(max-width:1200px){.site-header{flex-wrap:wrap;gap:12px}.header-location{margin-left:auto}.site-header nav{width:100%;overflow-x:auto;white-space:nowrap;padding:4px 0 10px;scrollbar-width:thin}.site-header nav a{flex-shrink:0}}
@media(max-width:520px){.header-location{font-size:9px;letter-spacing:.16em}.site-header nav{gap:20px}}

/* Matched to the WordPress shared header's measured typography and layout. */
@font-face{font-family:YorkInter;src:url('assets/InterVariable.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
.site-header{padding:12px 5.56%;gap:18px;color:#1e1e1e;justify-content:space-between}
.header-location{font-family:YorkInter,Inter,sans-serif;line-height:1.65;color:#063d36}
.site-header nav{width:auto;overflow:visible;display:flex;gap:25px;padding:0;font-family:YorkInter,Inter,sans-serif;font-size:14px;line-height:1.3}
.site-header nav a{color:#1e1e1e;padding:0;border:0;text-decoration:none}
.site-header nav a[aria-current=page]{border:0;padding:0}
.site-header nav a:hover{text-decoration:underline}
.mobile-menu-toggle{display:none}
@media(max-width:1200px){.site-header{padding-inline:5.56%;flex-wrap:wrap}.site-header nav{width:100%;overflow-x:auto;padding:4px 0 10px}}
@media(max-width:650px){.site-header{gap:10px}.brand-logo img{width:92px}.header-location{margin-left:auto;font-size:10px;letter-spacing:.16em}.mobile-menu-toggle{display:block;border:0;background:transparent;font-size:25px;line-height:1;padding:10px;color:#1e1e1e}.site-header nav{display:none;order:4;flex-direction:column;align-items:stretch;gap:0;width:100%;overflow:visible;padding:8px 0 3px;border-top:1px solid #e9e2d3}.site-header nav.is-open{display:flex}.site-header nav a{padding:11px 2px;font-size:14px}}

.site-header .nav-parent{position:relative}
.site-header .nav-caret{font:13px YorkInter,Inter,sans-serif;display:inline-block;margin-left:3px;vertical-align:2px}
.site-header .nav-submenu{display:none;position:absolute;z-index:20;top:100%;left:0;min-width:180px;padding:8px 0;background:#fffdf8;box-shadow:0 8px 24px #0002}
.site-header .nav-parent:hover .nav-submenu,.site-header .nav-parent:focus-within .nav-submenu{display:flex;flex-direction:column}
.site-header .nav-submenu a{padding:9px 14px;line-height:1.3}
.site-header .nav-submenu a:hover{background:#f2efe7;text-decoration:none}
@media(max-width:650px){.site-header .nav-submenu{display:flex;position:static;box-shadow:none;padding:0 0 7px 16px;background:transparent}.site-header .nav-submenu a{padding:8px 2px;font-size:13px}}
.site-header .nav-caret{margin-left:11px}

/* Launch QA: match WordPress phone navigation and keep controls touch friendly. */
.site-header nav{flex-wrap:wrap}
.main-photo-button,.map-panel,.map-story,.section-heading>div{min-width:0}
.gallery-arrows button,.dialog-controls button,.dialog-close{min-width:44px;min-height:44px}
.section-heading>p,.map-story p,.timeline p{font-size:16px;line-height:1.65}
.map-caption p{font-size:14px;line-height:1.65}
.map-tabs button{font-size:14px;min-height:48px}
@media(max-width:782px){
  .site-header{flex-wrap:wrap;padding:8px 16px;gap:12px}
  .brand-logo img{width:76px}
  .header-location{display:none}
  .mobile-menu-toggle{display:block;margin-left:auto;min-width:44px;min-height:44px;border:0;background:transparent;font-size:25px;color:#1e1e1e}
  .site-header nav{display:none;order:4;flex-direction:column;align-items:stretch;gap:0;width:100%;overflow:visible;padding:8px 0;border-top:1px solid #e9e2d3}
  .site-header nav.is-open{display:flex}
  .site-header nav a,.site-header nav a:first-child{display:block;padding:12px 2px;font-size:16px;min-height:44px}
  .site-header .nav-submenu{display:flex;position:static;box-shadow:none;padding:0 0 7px 16px;background:transparent}
  .site-header .nav-submenu a{padding:10px 2px;font-size:14px}
  .gallery-section .section-heading h1{font-size:clamp(1.9rem,7.8vw,2.4rem);overflow-wrap:normal;word-break:normal}
  .section-heading>p,.map-story p,.timeline p{font-size:16px}
  .photo-caption{gap:12px}
  .photo-caption>div:first-child{min-width:0}
  .gallery-arrows{flex-shrink:0}
  .map-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .map-tabs button{white-space:normal}
  .dialog-controls p{overflow-wrap:anywhere}
}
