:root {
  --ink: #24130c;
  --muted: #6f5c4f;
  --cream: #fffaf2;
  --cream-2: #f7efe3;
  --line: #e9d8c1;
  --orange: #ef6c00;
  --orange-2: #ff8a1f;
  --orange-dark: #9d3a00;
  --saffron: #f6a323;
  --brown: #3a1c10;
  --deep: #1b0e09;
  --green: #3c7e22;
  --shadow: 0 22px 70px rgba(61, 31, 13, .14);
  --radius: 28px;
  --container: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--deep); }
body { margin: 0; color: var(--ink); background: var(--cream); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; -webkit-font-smoothing: antialiased; }
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; top: 10px; left: 10px; z-index: 9999; transform: translateY(-160%); background: #fff; color: #111; padding: 10px 14px; border-radius: 8px; }
.skip-link:focus { transform: translateY(0); }
.container { width: min(calc(100% - 36px), var(--container)); margin-inline: auto; }
.narrow { max-width: 850px; }

.construction-ribbon { background: linear-gradient(90deg, #7d2b00, #c74c00 52%, #8f3100); color: #fff7eb; border-bottom: 1px solid rgba(255,255,255,.14); }
.ribbon-inner { min-height: 42px; display: flex; align-items: center; justify-content: space-between; gap: 20px; font-size: 13px; }
.ribbon-copy { display: flex; align-items: center; gap: 9px; min-width: 0; }
.ribbon-copy span:last-child { opacity: .76; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ribbon-inner > a { font-weight: 750; white-space: nowrap; }
.status-dot { width: 8px; height: 8px; background: #ffd267; border-radius: 999px; box-shadow: 0 0 0 6px rgba(255,210,103,.13); flex: none; }

.site-header { position: sticky; top: 0; z-index: 100; background: rgba(255,250,242,.88); border-bottom: 1px solid rgba(78,41,18,.10); backdrop-filter: blur(18px); }
.header-inner { min-height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand img { width: 280px; height: auto; max-height: 60px; object-fit: contain; object-position: left center; }
.main-nav { display: flex; align-items: center; gap: 25px; font-size: 14px; font-weight: 700; color: #4b3326; }
.main-nav > a:not(.button) { position: relative; padding: 30px 0; }
.main-nav > a:not(.button)::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 22px; height: 2px; background: var(--orange); transition: right .2s ease; }
.main-nav > a:not(.button):hover::after { right: 0; }
.nav-construction { color: var(--orange-dark) !important; }
.menu-button { display: none; border: 0; background: transparent; width: 45px; height: 45px; padding: 10px; }
.menu-button span:not(.sr-only) { display: block; height: 2px; background: var(--ink); margin: 5px 0; border-radius: 9px; }

.button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 22px; background: linear-gradient(135deg, var(--orange), var(--orange-2)); color: #fff; border: 0; border-radius: 999px; font-weight: 800; box-shadow: 0 12px 30px rgba(218,85,0,.22); transition: transform .2s ease, box-shadow .2s ease, opacity .2s ease; }
.button:hover { transform: translateY(-2px); box-shadow: 0 16px 36px rgba(218,85,0,.28); }
.button-small { min-height: 42px; padding-inline: 18px; }
.button-ghost { background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.22); color: #fff; box-shadow: none; }
.button-dark { background: var(--ink); color: #fff; box-shadow: none; }
.button-disabled { opacity: .56; cursor: not-allowed; box-shadow: none; }
.text-link { font-weight: 800; color: var(--orange-dark); }
.light-link { color: #ffe8cf; }

.hero { position: relative; min-height: 720px; overflow: hidden; color: #fff; background: linear-gradient(135deg, #612000 0%, #b74100 42%, #ee6c00 100%); }
.construction-grid-bg::before { content: ""; position: absolute; inset: 0; pointer-events: none; background-image: linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px); background-size: 42px 42px; mask-image: linear-gradient(to bottom, rgba(0,0,0,.8), transparent 92%); }
.hero::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(circle at 70% 44%, rgba(255,215,137,.26), transparent 27%), radial-gradient(circle at 10% 20%, rgba(255,185,82,.2), transparent 24%), linear-gradient(90deg, rgba(35,11,0,.4), transparent 54%); }
#construction-scene { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 1; opacity: .96; }
.hero-glow { position: absolute; right: -12vw; top: -24vw; width: 70vw; height: 70vw; border: 1px solid rgba(255,227,172,.12); border-radius: 50%; box-shadow: 0 0 120px rgba(255,187,76,.16) inset; z-index: 1; }
.hero-layout { min-height: 720px; padding: 98px 0 118px; display: grid; grid-template-columns: 1.18fr .82fr; gap: 68px; align-items: center; position: relative; z-index: 4; }
.hero-copy { max-width: 710px; }
.eyebrow, .kicker { display: inline-flex; align-items: center; gap: 10px; text-transform: uppercase; letter-spacing: .16em; font-size: 12px; line-height: 1.4; font-weight: 850; color: #7e3f1c; }
.eyebrow { color: #ffe5bd; }
.eyebrow-line { width: 34px; height: 1px; background: currentColor; }
.hero h1, .section h2, .inner-hero h1, .plan-meta h3 { font-family: Georgia, "Times New Roman", serif; letter-spacing: -.035em; }
.hero h1 { margin: 18px 0 25px; max-width: 760px; font-size: clamp(58px, 7.5vw, 102px); line-height: .94; font-weight: 650; text-wrap: balance; }
.hero-lede { max-width: 640px; margin: 0; font-size: 19px; line-height: 1.75; color: rgba(255,249,238,.8); }
.hero-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 34px; }
.micro-copy { margin-top: 28px; color: rgba(255,255,255,.48); font-size: 12px; letter-spacing: .08em; }
.hero-edge { position: absolute; z-index: 5; left: 0; right: 0; bottom: -1px; height: 62px; background: var(--cream); clip-path: polygon(0 62%, 20% 100%, 56% 68%, 100% 100%, 100% 100%, 0 100%); }

.build-card { position: relative; overflow: hidden; padding: 28px; background: rgba(43,15,3,.43); border: 1px solid rgba(255,255,255,.19); border-radius: 28px; backdrop-filter: blur(18px); box-shadow: 0 36px 90px rgba(42,12,0,.28); }
.build-card::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px); background-size: 25px 25px; pointer-events: none; }
.build-card > * { position: relative; z-index: 1; }
.build-card-topline { display: flex; align-items: center; justify-content: space-between; color: #ffe9cc; font-size: 12px; text-transform: uppercase; letter-spacing: .12em; }
.live-pill { display: inline-flex; align-items: center; gap: 8px; }
.live-pill span { width: 8px; height: 8px; border-radius: 50%; background: #ffd46d; box-shadow: 0 0 0 5px rgba(255,212,109,.12); }
.build-card h2 { font-family: Georgia, serif; margin: 28px 0 18px; font-size: 35px; line-height: 1.08; }
.progress-track { height: 7px; overflow: hidden; border-radius: 99px; background: rgba(255,255,255,.13); }
.progress-fill { height: 100%; border-radius: inherit; background: linear-gradient(90deg, #ffd87d, #fff1c5); box-shadow: 0 0 18px rgba(255,219,131,.4); }
.build-blueprint { min-height: 175px; margin: 25px 0 18px; padding: 15px; border: 1px solid rgba(255,255,255,.13); position: relative; }
.blueprint-label { color: rgba(255,255,255,.5); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 10px; letter-spacing: .16em; }
.blueprint-lines { position: absolute; left: 12%; right: 12%; bottom: 14px; height: 125px; border-bottom: 1px solid rgba(255,236,203,.48); display: flex; justify-content: space-around; align-items: flex-end; }
.blueprint-lines i { width: 12%; border: 1px solid rgba(255,236,203,.48); border-bottom: 0; height: 50%; }
.blueprint-lines i:nth-child(2), .blueprint-lines i:nth-child(4) { height: 78%; }
.blueprint-lines i:nth-child(3) { height: 100%; }
.build-card p { margin: 0; color: rgba(255,255,255,.6); line-height: 1.65; font-size: 13px; }

.section { position: relative; padding: 105px 0; background: var(--deep); color: #fff; }
.section-light { background: var(--cream); color: var(--ink); }
.two-column { display: grid; grid-template-columns: .8fr 1.2fr; gap: 80px; align-items: start; }
.section-heading h2, .plan-header h2, .split-heading h2, .event-intro h2 { margin: 14px 0 0; font-size: clamp(40px, 5vw, 65px); line-height: 1.03; text-wrap: balance; }
.about-copy .large-copy { margin: 0; font-family: Georgia, serif; font-size: clamp(24px, 3vw, 34px); line-height: 1.45; color: #523b2d; }
.value-grid { margin-top: 48px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.value-grid article { padding-top: 22px; border-top: 1px solid var(--line); }
.value-grid span { font-family: ui-monospace, monospace; color: var(--orange); font-size: 11px; }
.value-grid h3 { margin: 12px 0 7px; font-size: 16px; }
.value-grid p { margin: 0; color: var(--muted); line-height: 1.6; font-size: 13px; }

.plan-section { background: #221007; overflow: hidden; }
.plan-section::before { content: ""; position: absolute; width: 620px; height: 620px; border-radius: 50%; right: -230px; top: -220px; border: 1px solid rgba(247,152,49,.14); box-shadow: 0 0 0 65px rgba(247,152,49,.025), 0 0 0 130px rgba(247,152,49,.02); }
.kicker-orange { color: #ffa24e; }
.plan-header { display: grid; grid-template-columns: 1fr .7fr; gap: 60px; align-items: end; margin-bottom: 40px; }
.plan-header p { color: rgba(255,255,255,.58); line-height: 1.75; margin: 0; }
.plan-shell { display: grid; grid-template-columns: 340px 1fr; min-height: 540px; overflow: hidden; border-radius: 28px; border: 1px solid rgba(255,255,255,.13); background: #f8f3eb; color: var(--ink); box-shadow: 0 36px 90px rgba(0,0,0,.25); }
.plan-meta { padding: 38px 32px; border-right: 1px solid #dfd4c5; background: linear-gradient(180deg, #fffaf3, #f1e8da); }
.drawing-tag { display: inline-block; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 10px; letter-spacing: .12em; color: #a25d2e; }
.plan-meta h3 { font-size: 40px; margin: 20px 0 14px; }
.plan-meta p { color: #6b584d; line-height: 1.65; font-size: 14px; }
.plan-list { list-style: none; padding: 0; margin: 26px 0 32px; }
.plan-list li { display: flex; gap: 12px; padding: 11px 0; border-top: 1px solid #dfd3c4; font-size: 13px; }
.plan-list span { color: var(--orange); font-weight: 900; }
.plan-image-button { position: relative; border: 0; padding: 0; background: #fff; overflow: hidden; min-height: 520px; }
.plan-image-button img { width: 100%; height: 100%; object-fit: contain; transition: transform .35s ease; }
.plan-image-button:hover img { transform: scale(1.025); }
.zoom-chip { position: absolute; right: 18px; bottom: 18px; padding: 10px 13px; border-radius: 999px; background: rgba(27,14,9,.88); color: #fff; font-size: 11px; font-weight: 800; backdrop-filter: blur(8px); }

.construction-section { background: #f1e6d7; color: var(--ink); }
.split-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 42px; }
.split-heading > a { font-weight: 800; color: var(--orange-dark); }
.update-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px; }
.update-card { overflow: hidden; background: #fffaf3; border: 1px solid #e1d2bf; border-radius: 24px; box-shadow: 0 16px 45px rgba(75,43,22,.07); }
.update-image { height: 260px; position: relative; background: #d8c5ae; overflow: hidden; }
.update-image img { width: 100%; height: 100%; object-fit: cover; }
.photo-placeholder { height: 100%; display: grid; place-content: center; text-align: center; padding: 20px; background-image: linear-gradient(rgba(121,77,44,.1) 1px, transparent 1px), linear-gradient(90deg, rgba(121,77,44,.1) 1px, transparent 1px), linear-gradient(135deg, #f0e4d2, #d8c2a4); background-size: 24px 24px, 24px 24px, auto; color: #7d573d; }
.photo-placeholder span { font-family: ui-monospace, monospace; font-size: 10px; letter-spacing: .14em; }
.photo-placeholder strong { margin-top: 7px; max-width: 250px; }
.status-badge { position: absolute; left: 16px; top: 16px; padding: 8px 11px; border-radius: 999px; color: #fff; background: #73401d; text-transform: uppercase; letter-spacing: .09em; font-size: 9px; font-weight: 900; }
.status-complete { background: #31702b; }
.status-in_progress { background: #d35b00; }
.status-upcoming { background: #6f5d50; }
.update-body { padding: 25px; }
.update-body time { color: #a06742; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; }
.update-body h3 { margin: 9px 0 10px; font-family: Georgia, serif; font-size: 27px; }
.update-body p { margin: 0; color: var(--muted); line-height: 1.65; font-size: 14px; }
.empty-state-card { min-height: 260px; display: flex; align-items: center; }

.event-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: 80px; align-items: start; }
.event-intro > p { color: var(--muted); line-height: 1.75; max-width: 530px; }
.event-intro .text-link { display: inline-block; margin-top: 18px; }
.event-list { border-top: 1px solid var(--line); }
.event-row { display: grid; grid-template-columns: 68px 1fr auto; gap: 20px; align-items: center; padding: 21px 0; border-bottom: 1px solid var(--line); }
.event-date { width: 62px; height: 68px; display: grid; place-content: center; text-align: center; border: 1px solid #ebc69d; border-radius: 14px; background: #fff7eb; }
.event-date strong { font-family: Georgia, serif; font-size: 27px; line-height: 1; color: var(--orange-dark); }
.event-date span { font-size: 10px; margin-top: 5px; text-transform: uppercase; letter-spacing: .13em; color: #9c653e; }
.event-row h3 { margin: 0 0 5px; font-size: 17px; }
.event-row p { margin: 0; color: var(--muted); font-size: 13px; }
.event-row > a { font-size: 12px; font-weight: 850; color: var(--orange-dark); }
.event-empty { padding: 35px; border: 1px dashed #d7b999; border-radius: 20px; background: #fff9ef; }
.event-empty h3, .event-empty h2 { font-family: Georgia, serif; margin: 13px 0 8px; font-size: 25px; }
.event-empty p { color: var(--muted); }

.gallery-section { background: #2a130a; }
.gallery-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.gallery-card { margin: 0; overflow: hidden; border-radius: 20px; background: #3c1e11; }
.gallery-card img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.gallery-card figcaption { padding: 12px 14px; color: rgba(255,255,255,.62); font-size: 12px; }

.donate-section { padding-top: 40px; background: #2a130a; }
.donate-panel { display: grid; grid-template-columns: 120px 1fr auto; gap: 34px; align-items: center; padding: 42px; border: 1px solid rgba(255,189,111,.22); border-radius: 30px; background: linear-gradient(120deg, #4f1f0b, #8f3306 55%, #c94c00); overflow: hidden; position: relative; }
.donate-panel::after { content: ""; position: absolute; width: 330px; height: 330px; border-radius: 50%; right: -160px; top: -150px; border: 1px solid rgba(255,230,194,.15); }
.donate-mark { width: 105px; height: 105px; border-radius: 50%; display: grid; place-content: center; font-family: Georgia, serif; font-size: 50px; color: #ffd89f; border: 1px solid rgba(255,216,159,.28); box-shadow: inset 0 0 0 10px rgba(255,216,159,.03); }
.donate-panel h2 { margin: 9px 0; font-size: clamp(34px, 4vw, 50px); }
.donate-panel p { margin: 0; color: rgba(255,255,255,.62); max-width: 700px; }
.donate-actions { position: relative; z-index: 2; display: grid; gap: 14px; justify-items: start; }

.site-footer { padding: 75px 0 25px; background: #fff9f0; color: var(--ink); border-top: 1px solid #ead8bf; }
.footer-grid { display: grid; grid-template-columns: 1.5fr .7fr 1fr 1fr; gap: 50px; }
.footer-brand img { width: 240px; }
.footer-grid h2 { font-size: 12px; text-transform: uppercase; letter-spacing: .13em; margin: 0 0 17px; color: #8a4c27; }
.footer-grid p { color: var(--muted); line-height: 1.65; margin: 10px 0; font-size: 13px; }
.footer-grid > div:not(:first-child) > a { display: block; font-size: 13px; padding: 5px 0; }
.footer-build-note { margin-top: 20px; font-size: 12px; color: #7b5d48; }
.footer-build-note span { color: var(--orange); }
.staff-link { margin-top: 10px; font-weight: 850; color: var(--orange-dark); }
.footer-bottom { margin-top: 52px; padding-top: 21px; border-top: 1px solid #e9d9c6; display: flex; justify-content: space-between; gap: 20px; color: #8a7466; font-size: 11px; }

.inner-hero { position: relative; overflow: hidden; background: linear-gradient(120deg, #351509, #853006 60%, #d95600); color: #fff; padding: 105px 0 90px; }
.inner-hero .container { position: relative; z-index: 2; }
.inner-hero h1 { font-size: clamp(52px, 7vw, 85px); line-height: .98; margin: 18px 0 20px; }
.inner-hero p { color: rgba(255,255,255,.72); font-size: 18px; line-height: 1.7; }
.page-progress { margin-top: 35px; max-width: 600px; }
.page-progress > div:first-child { display: flex; justify-content: space-between; margin-bottom: 9px; font-size: 12px; text-transform: uppercase; letter-spacing: .12em; }
.page-content { font-size: 17px; line-height: 1.82; color: #57453a; }
.page-content p { margin: 0 0 1.25em; }
.page-hero-image { border-radius: 24px; margin-bottom: 40px; box-shadow: var(--shadow); }

.timeline { max-width: 930px; }
.timeline-item { display: grid; grid-template-columns: 115px 1fr; gap: 28px; position: relative; padding-bottom: 55px; }
.timeline-item::before { content: ""; position: absolute; left: 99px; top: 54px; bottom: -4px; width: 1px; background: #dfc8ac; }
.timeline-date { text-align: right; padding-top: 4px; }
.timeline-date span { display: block; color: #a26c46; font-size: 11px; }
.timeline-date strong { font-family: Georgia, serif; font-size: 22px; }
.timeline-card { position: relative; padding: 28px; background: #fff; border: 1px solid var(--line); border-radius: 24px; box-shadow: 0 14px 40px rgba(69,40,21,.07); }
.timeline-card::before { content: ""; position: absolute; left: -23px; top: 30px; width: 12px; height: 12px; border-radius: 50%; background: var(--orange); box-shadow: 0 0 0 6px #f1e0cc; }
.timeline-card .status-badge { position: static; display: inline-block; margin-bottom: 14px; }
.timeline-card img { width: 100%; max-height: 480px; object-fit: cover; border-radius: 17px; margin-bottom: 20px; }
.timeline-card h2 { font-family: Georgia, serif; margin: 0 0 10px; font-size: 31px; }
.timeline-card p { color: var(--muted); line-height: 1.7; }

.event-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.event-card { padding: 22px; border-radius: 22px; border: 1px solid var(--line); background: #fff; box-shadow: 0 12px 40px rgba(75,43,22,.06); }
.event-card img { width: calc(100% + 44px); max-width: none; margin: -22px -22px 20px; aspect-ratio: 16/9; object-fit: cover; border-radius: 22px 22px 0 0; }
.event-card time { color: #a25b31; font-size: 11px; text-transform: uppercase; letter-spacing: .1em; font-weight: 800; }
.event-card h3 { font-family: Georgia, serif; font-size: 27px; margin: 10px 0; }
.event-card p { color: var(--muted); line-height: 1.6; }
.event-card-dark { background: #32180d; border-color: rgba(255,255,255,.12); }
.event-card-dark p { color: rgba(255,255,255,.58); }
.event-location { color: var(--orange-dark) !important; font-weight: 700; }

.plan-modal[hidden] { display: none; }
.plan-modal { position: fixed; inset: 0; z-index: 1000; display: grid; place-items: center; padding: 25px; }
.modal-backdrop { position: absolute; inset: 0; border: 0; background: rgba(16,8,4,.82); backdrop-filter: blur(8px); }
.plan-modal-card { position: relative; z-index: 2; width: min(95vw, 1400px); height: min(90vh, 950px); background: #f8f3ea; border-radius: 22px; overflow: hidden; box-shadow: 0 50px 140px rgba(0,0,0,.5); }
.modal-bar { height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 0 22px; border-bottom: 1px solid #e2d6c5; background: #fffaf3; }
.modal-bar span { display: block; color: #a15b31; font-size: 10px; text-transform: uppercase; letter-spacing: .12em; }
.modal-bar strong { font-family: Georgia, serif; }
.modal-bar button { width: 42px; height: 42px; border-radius: 50%; border: 1px solid #dbc9b4; background: #fff; font-size: 26px; }
.modal-plan-scroll { height: calc(100% - 72px); overflow: auto; background: #eee4d6; }
.modal-plan-scroll img { min-width: 1100px; width: 100%; height: auto; }
body.modal-open { overflow: hidden; }

.reveal { opacity: 0; transform: translateY(16px); transition: opacity .65s ease, transform .65s ease; }
.reveal.is-visible { opacity: 1; transform: translateY(0); }

@media (max-width: 1000px) {
  .main-nav { display: none; position: absolute; left: 18px; right: 18px; top: 72px; padding: 16px; background: #fffaf3; border: 1px solid var(--line); border-radius: 20px; box-shadow: var(--shadow); flex-direction: column; align-items: stretch; gap: 2px; }
  .main-nav.is-open { display: flex; }
  .main-nav > a:not(.button) { padding: 12px 10px; }
  .main-nav > a:not(.button)::after { display: none; }
  .menu-button { display: block; }
  .hero-layout { grid-template-columns: 1fr; gap: 42px; padding-top: 75px; }
  .hero { min-height: auto; }
  .hero-layout { min-height: auto; }
  .build-card { max-width: 650px; }
  .two-column, .event-layout { grid-template-columns: 1fr; gap: 45px; }
  .plan-header { grid-template-columns: 1fr; gap: 18px; }
  .plan-shell { grid-template-columns: 1fr; }
  .plan-meta { border-right: 0; border-bottom: 1px solid #dfd4c5; }
  .footer-grid { grid-template-columns: 1.4fr 1fr 1fr; }
  .footer-grid > div:last-child { grid-column: 2 / -1; }
  .donate-panel { grid-template-columns: 95px 1fr; }
  .donate-actions { grid-column: 2; }
}

@media (max-width: 720px) {
  .container { width: min(calc(100% - 26px), var(--container)); }
  .ribbon-copy span:last-child { display: none; }
  .ribbon-inner { min-height: 38px; font-size: 11px; }
  .header-inner { min-height: 72px; }
  .brand img { width: 225px; }
  .hero-layout { padding: 65px 0 100px; }
  .hero h1 { font-size: clamp(48px, 14vw, 72px); }
  .hero-lede { font-size: 16px; }
  .hero-actions { flex-direction: column; align-items: stretch; }
  .section { padding: 76px 0; }
  .value-grid { grid-template-columns: 1fr; }
  .update-grid, .gallery-grid, .event-cards { grid-template-columns: 1fr; }
  .split-heading { align-items: start; flex-direction: column; }
  .plan-shell { border-radius: 20px; }
  .plan-meta { padding: 28px 22px; }
  .plan-image-button { min-height: 330px; }
  .event-row { grid-template-columns: 60px 1fr; }
  .event-row > a { grid-column: 2; }
  .donate-panel { grid-template-columns: 1fr; padding: 29px 24px; }
  .donate-mark { width: 80px; height: 80px; }
  .donate-actions { grid-column: auto; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 34px; }
  .footer-grid > div:first-child, .footer-grid > div:last-child { grid-column: 1 / -1; }
  .footer-bottom { flex-direction: column; }
  .timeline-item { grid-template-columns: 1fr; gap: 12px; }
  .timeline-item::before, .timeline-card::before { display: none; }
  .timeline-date { text-align: left; }
  .modal-plan-scroll img { min-width: 900px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .reveal { opacity: 1; transform: none; transition: none; }
  #construction-scene { display: none; }
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
}

.hero-photo { position: absolute; inset: 0 0 0 47%; z-index: 0; overflow: hidden; opacity: .24; mask-image: linear-gradient(90deg, transparent 0%, #000 34%, #000 100%); }
.hero-photo img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.9) contrast(1.05); }
.about-managed-image { width: 100%; margin-top: 32px; aspect-ratio: 4/3; object-fit: cover; border-radius: 22px; border: 1px solid var(--line); box-shadow: var(--shadow); }
@media (max-width: 1000px) { .hero-photo { left: 20%; opacity: .16; } }
@media (max-width: 720px) { .hero-photo { inset: 0; opacity: .12; mask-image: linear-gradient(to bottom, transparent, #000 30%, #000); } }

.site-messages { position:relative; z-index:80; margin-top:14px; }
.site-message { padding:13px 16px; border:1px solid #d8c2a8; border-radius:12px; background:#fff8ed; color:#56301a; font-size:13px; box-shadow:0 8px 24px rgba(67,35,17,.08); }
.site-message-success { border-color:#bfd0a9; background:#f4f8ed; color:#38501d; }
.site-message-error { border-color:#dfb0a7; background:#fff1ee; color:#7b291e; }
.section-side-copy { max-width:430px; color:var(--muted); line-height:1.65; }
.team-section { background:#f1e1ce; }
.team-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:34px; }
.team-card { min-height:190px; padding:22px; border:1px solid #dfc7aa; border-radius:20px; background:#fffaf3; }
.team-card img, .team-avatar { width:64px; height:64px; border-radius:18px; margin-bottom:24px; object-fit:cover; }
.team-avatar { display:grid; place-items:center; background:linear-gradient(135deg,#d75300,#f2a042); color:#fff; font-family:Georgia,serif; font-size:28px; }
.team-card span { display:block; color:#b14b0b; font-size:10px; font-weight:850; letter-spacing:.11em; text-transform:uppercase; }
.team-card h3 { margin:7px 0 0; font-family:Georgia,serif; font-size:22px; line-height:1.15; color:#3a1b0d; }
.team-card p { color:var(--muted); font-size:13px; line-height:1.55; }
.downloads-layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:60px; align-items:start; }
.downloads-layout h2 { font-family:Georgia,serif; font-size:clamp(42px,5vw,66px); margin:12px 0 20px; }
.downloads-copy { font-size:17px; }
.document-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
.document-grid-page { max-width:1000px; margin:0 auto; }
.document-card { padding:27px; border:1px solid var(--line); border-radius:22px; background:#fff; box-shadow:0 14px 42px rgba(72,41,21,.06); }
.document-card h2, .document-card h3 { margin:18px 0 10px; font-family:Georgia,serif; font-size:29px; color:#35190c; }
.document-card p { min-height:66px; color:var(--muted); line-height:1.65; }
.document-note { max-width:1000px; margin:22px auto 0; padding:17px 20px; border-left:4px solid var(--orange); background:#fff3e3; color:#61442f; line-height:1.6; font-size:13px; }
.contact-hub { background:linear-gradient(130deg,#3a1709,#6e2708 56%,#b74600); color:#fff; }
.contact-hub-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:20px; }
.contact-panel, .newsletter-panel { padding:36px; border:1px solid rgba(255,255,255,.12); border-radius:26px; background:rgba(28,10,3,.28); backdrop-filter:blur(10px); }
.contact-panel h2, .newsletter-panel h2 { margin:12px 0 10px; font-family:Georgia,serif; font-size:43px; }
.contact-panel > p, .newsletter-panel > p { color:rgba(255,255,255,.65); line-height:1.65; }
.public-form { display:grid; gap:11px; margin-top:24px; }
.form-row-2 { display:grid; grid-template-columns:1fr 1fr; gap:11px; }
.public-form input, .public-form textarea { width:100%; box-sizing:border-box; border:1px solid rgba(255,255,255,.18); border-radius:12px; background:rgba(255,255,255,.09); padding:13px 14px; color:#fff; font:inherit; outline:none; }
.public-form input::placeholder, .public-form textarea::placeholder { color:rgba(255,255,255,.46); }
.public-form input:focus, .public-form textarea:focus { border-color:#f5aa4b; box-shadow:0 0 0 3px rgba(245,170,75,.12); }
.newsletter-panel { background:#f2a03b; color:#2f1509; }
.newsletter-panel > p { color:#6b381b; }
.newsletter-panel .drawing-tag { color:#6b2b06; }
.newsletter-panel .public-form input { border-color:rgba(70,28,7,.18); background:rgba(255,255,255,.52); color:#2f1509; }
.newsletter-panel .public-form input::placeholder { color:#865631; }
.privacy-note { margin-top:15px; color:#73401f; font-size:11px; line-height:1.55; }
@media(max-width:1000px){.team-grid{grid-template-columns:repeat(3,1fr)}.downloads-layout,.contact-hub-grid{grid-template-columns:1fr}}
@media(max-width:720px){.team-grid,.document-grid{grid-template-columns:1fr}.form-row-2{grid-template-columns:1fr}.contact-panel,.newsletter-panel{padding:25px 20px}}

.timeline-photo-placeholder { min-height: 220px; margin-bottom: 20px; border: 1px dashed #d69b59; border-radius: 17px; background: repeating-linear-gradient(-45deg,#fff8ef,#fff8ef 10px,#f9ead8 10px,#f9ead8 20px); display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:28px; color:#7d4b27; }
.timeline-photo-placeholder span { font-size:11px; letter-spacing:.16em; font-weight:800; color:#b76422; }
.timeline-photo-placeholder strong { margin-top:8px; font-family:Georgia,serif; font-size:21px; }
.timeline-photo-placeholder small { max-width:520px; margin-top:8px; line-height:1.5; color:#88664b; }

/* Multiple construction photos per milestone */
.photo-count-badge { position: absolute; right: 16px; bottom: 16px; z-index: 2; padding: 7px 10px; border-radius: 999px; background: rgba(34,16,7,.86); color: #fff; font-size: 10px; font-weight: 850; letter-spacing: .06em; backdrop-filter: blur(8px); }
.construction-photo-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-bottom: 18px; }
.construction-photo-grid.is-single { grid-template-columns: 1fr; }
.construction-photo-button { position: relative; display: block; width: 100%; padding: 0; overflow: hidden; border: 0; border-radius: 16px; background: #e8d7c1; cursor: zoom-in; text-align: left; }
.construction-photo-grid:not(.is-single) .construction-photo-button { aspect-ratio: 4 / 3; }
.timeline-card .construction-photo-button img { width: 100%; height: 100%; max-height: 440px; margin: 0; object-fit: cover; border-radius: 16px; transition: transform .25s ease; }
.construction-photo-button:hover img { transform: scale(1.025); }
.construction-photo-button > span { position: absolute; left: 10px; right: 10px; bottom: 10px; padding: 8px 10px; border-radius: 10px; background: rgba(27,13,6,.78); color: #fff; font-size: 11px; line-height: 1.35; backdrop-filter: blur(7px); }
.construction-photo-legacy { margin-bottom: 20px; }
.timeline-photo-count { margin: -4px 0 18px; color: #8f674d; font-size: 11px; font-weight: 750; text-transform: uppercase; letter-spacing: .08em; }
.construction-lightbox[hidden] { display: none; }
.construction-lightbox { position: fixed; inset: 0; z-index: 1200; display: grid; place-items: center; padding: 24px; }
.construction-lightbox-backdrop { position: absolute; inset: 0; border: 0; background: rgba(15,7,3,.9); backdrop-filter: blur(8px); }
.construction-lightbox-card { position: relative; z-index: 2; max-width: min(1400px, 95vw); max-height: 92vh; }
.construction-lightbox-card img { display: block; max-width: 95vw; max-height: 90vh; object-fit: contain; border-radius: 16px; box-shadow: 0 40px 120px rgba(0,0,0,.55); }
.construction-lightbox-close { position: absolute; right: -14px; top: -14px; z-index: 3; width: 42px; height: 42px; border-radius: 50%; border: 1px solid rgba(255,255,255,.25); background: #fff8ef; color: #4d210d; font-size: 27px; line-height: 1; box-shadow: 0 8px 25px rgba(0,0,0,.25); }

@media (max-width: 680px) {
  .construction-photo-grid { grid-template-columns: 1fr; }
  .construction-photo-grid:not(.is-single) .construction-photo-button { aspect-ratio: 16 / 11; }
}

/* September 2026 accessibility and client revisions */
body {font-weight:550;line-height:1.65}
.main-nav{font-weight:750;gap:18px}
.button{background:#aa4200;color:#fff}
.button-dark{background:#24130c}
.button-ghost{background:#54200b;color:#fff}
.improvement-notice{padding:12px 20px;text-align:center;background:#fff0d8;color:#502a15;font-size:14px;font-weight:650;border-bottom:1px solid #d7b88a}
.hero-lede,.micro-copy,.build-card p,.ribbon-copy span:last-child{color:#fff5e8;opacity:1}
.hero{background:linear-gradient(135deg,#612000 0%,#923300 65%,#af4500 100%)}
:focus-visible{outline:3px solid #007b91;outline-offset:4px;box-shadow:0 0 0 6px #fff}
a:hover{text-decoration:underline}
.drone-video{position:relative;width:100%;aspect-ratio:16/9;background:#24130c;border-radius:16px;overflow:hidden;margin:18px 0}
.drone-video iframe{width:100%;height:100%;border:0}
.mobile-donate{display:none}
.footer-donate{display:inline-flex!important;color:#fff!important}
.demo-feedback{font-weight:700;color:inherit}
.reveal{opacity:1;transform:none}
[id]{scroll-margin-top:100px}
@media(max-width:1100px){.mobile-donate{display:inline-flex;margin-left:auto}.header-inner{gap:12px}.brand img{max-width:220px}}
@media(max-width:480px){.brand img{max-width:175px}.mobile-donate{padding:0 14px}.hero h1{font-size:52px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

.construction-lightbox-card{width:min(1400px,100%);min-width:0}.construction-lightbox-card img{max-width:100%;margin:auto}.construction-lightbox-close{right:4px;top:4px}
.video-play{display:block;position:relative;width:100%;height:100%;border:0;padding:0;background:#24130c}.video-play img{width:100%;height:100%;object-fit:cover}.video-play span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#672800;color:#fff;padding:12px 20px;border-radius:30px;white-space:nowrap;font-weight:750}.drone-video iframe[hidden]{display:none}.build-card .text-link{color:#fff1dc}
