@import url('https://fonts.googleapis.com/css2?family=Barlow:wght@400;500;600;700;800&display=swap');
:root{--ink:#182222;--yellow:#f4da35;--paper:#f6f5ef;--line:#d9ddd6;--muted:#61706b}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Barlow,Arial,sans-serif;font-size:16px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}header{height:90px;padding:0 4.5%;display:flex;align-items:center;justify-content:space-between;background:var(--paper);position:relative;z-index:5;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:20px}.brand img{width:100px;height:58px;object-fit:contain}.brand span{font-size:10px;font-weight:700;letter-spacing:2px;border-left:1px solid #aaa;padding-left:20px;max-width:120px;line-height:1.7}nav{display:flex;gap:30px;align-items:center;font-size:14px;font-weight:600}.crew-link{border:1px solid #b5bdb6;border-radius:30px;padding:10px 18px}.hero{position:relative;min-height:600px;height:calc(100svh - 90px);max-height:850px;overflow:hidden;color:white;background:#173b36}.hero-image{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,31,27,.87),rgba(9,31,27,.08) 90%),linear-gradient(0deg,rgba(9,31,27,.5),transparent 50%)}.hero-content{position:relative;padding:100px 7% 130px;max-width:950px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase}.eyebrow i{display:inline-block;width:8px;height:8px;background:var(--yellow);border-radius:50%;margin-right:10px}h1{font-size:clamp(58px,7.8vw,112px);letter-spacing:-4px;line-height:.97;margin:30px 0;font-weight:600}h2{font-size:clamp(34px,4vw,56px);letter-spacing:-1.8px;line-height:1.05;margin:18px 0}.hero p{font-size:20px;line-height:1.5;color:#e7ece5}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:38px;padding:18px 24px;font-weight:600;border:0;border-radius:3px}.yellow{background:var(--yellow);color:var(--ink)}.hero .button{margin-top:20px}.hero-bottom{position:absolute;bottom:34px;left:7%;right:7%;display:flex;justify-content:space-between;border-top:1px solid #ffffff50;padding-top:22px;font-size:12px;letter-spacing:1px}.photo-note{position:absolute;right:10px;top:14px;writing-mode:vertical-rl;font-size:10px;letter-spacing:1px;opacity:.7}.section{padding:80px 7%;max-width:1600px;margin:auto}.section-top{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:35px}.section-top p{line-height:1.6;color:var(--muted);max-width:470px;margin-bottom:8px}.dot{color:#8c9a50}.project-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}.project-card{text-align:left;background:var(--yellow);border:0;padding:32px;display:grid;grid-template-columns:1fr auto;gap:18px;position:relative;min-height:180px}.project-card small{letter-spacing:1.5px;font-size:10px;font-weight:700;text-transform:uppercase}.project-card h3{font-size:38px;letter-spacing:-1px;margin:10px 0}.project-card p{margin:0;line-height:1.5}.project-card .arrow{font-size:38px;grid-column:2;grid-row:1 / 4;align-self:center}.project-card[aria-pressed=false]{background:#e8e9df}.project-card:hover{outline:2px solid var(--ink);outline-offset:3px}.albums-section{padding-top:20px}.project-meta{font-size:13px;text-align:right;line-height:1.8;color:var(--muted);min-width:160px}.album-controls{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:24px 0;gap:15px}.tabs{display:flex;gap:8px;flex-wrap:wrap}.tabs button{padding:11px 18px;border:1px solid var(--line);border-radius:30px;background:transparent}.tabs button.active{background:var(--ink);color:white;border-color:var(--ink)}#photo-count{font-size:13px;white-space:nowrap;color:var(--muted)}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.photo{border:0;padding:0;text-align:left;background:#eceee6;overflow:hidden}.photo img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;transition:transform .25s}.photo:hover img{transform:scale(1.03)}.photo span{display:block;padding:13px;font-size:14px}.empty{grid-column:1/-1;min-height:250px;display:grid;place-content:center;text-align:center;border:1px dashed #b5beb4;padding:40px;background:#eeefe7}.empty-symbol{font-size:35px;color:#6e7e69}.empty h3{font-size:24px;margin:15px 0 6px}.empty p{color:var(--muted);line-height:1.6;max-width:420px;margin:0}.contact{margin-top:40px;background:#173c34;color:#f5f5e8;padding:65px 7%;display:flex;align-items:center;justify-content:space-between;gap:30px}.contact .eyebrow{color:#c3d3bd}.contact h2{font-size:clamp(44px,6vw,78px)}footer{padding:30px 7%;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:var(--muted)}dialog{border:0;padding:40px;border-radius:8px;max-height:92svh;max-width:min(900px,94vw);color:var(--ink)}dialog::backdrop{background:#061a16cc}.close{position:absolute;top:10px;right:14px;font-size:32px;border:0;background:transparent;color:inherit;z-index:2}#lightbox{width:94vw;background:#102b25;color:white;text-align:center;padding:40px 50px}#lightbox img{max-width:100%;max-height:70svh;object-fit:contain}#lightbox .previous,#lightbox .next{position:absolute;top:45%;border:0;background:transparent;color:white;font-size:44px}#lightbox .previous{left:8px}#lightbox .next{right:8px}#lightbox p{margin:15px 0 5px}.download{font-size:12px;text-decoration:underline}#manager{width:760px;background:var(--paper)}.manager-heading{padding-right:28px}.manager-heading h2{font-size:36px}.admin-toolbar{display:flex;justify-content:space-between;align-items:center;margin:20px 0}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}form{display:grid;gap:12px}label{font-size:14px;font-weight:600;display:grid;gap:7px}input,select,textarea{width:100%;border:1px solid #bdc7bd;background:white;border-radius:3px;padding:12px;color:var(--ink)}textarea{min-height:80px;resize:vertical}input[type=file]{font-size:13px}form h3{margin:12px 0 0}.admin-section{border-top:1px solid var(--line);padding-top:18px;margin-top:22px}.muted{color:var(--muted);font-size:13px;line-height:1.5}.text-button{border:0;background:transparent;text-decoration:underline;color:var(--ink)}.admin-photo{display:flex;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.admin-photo img{width:64px;height:52px;object-fit:cover}.admin-photo span{flex:1;font-size:13px}.error{color:#a62c20;font-size:14px}.success{color:#216047;font-size:14px}#notice{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;padding:14px 22px;border-radius:5px;z-index:100;display:none;max-width:90vw}progress{width:100%;accent-color:#758946}.hidden{display:none!important}:focus-visible{outline:3px solid #859640;outline-offset:4px}@media(max-width:760px){header{height:auto;min-height:80px;padding:15px 5%;flex-wrap:wrap;gap:12px}.brand img{width:82px;height:45px}.brand span{font-size:9px}nav{gap:18px;font-size:12px;width:100%;justify-content:space-between}.nav-main{display:none}.crew-link{padding:6px 12px}.hero{height:680px;min-height:0;max-height:80svh}.hero-content{padding:65px 7% 100px}h1{letter-spacing:-2.5px;font-size:64px}.hero p{font-size:17px}.hero-bottom{font-size:10px;bottom:25px}.hero-bottom span:last-child{display:none}.section{padding:55px 6%}.section-top{display:block}.section-top>p{margin-top:20px}.project-meta{text-align:left}.albums-section{padding-top:5px}.album-controls{align-items:flex-start;flex-direction:column}.gallery{grid-template-columns:repeat(2,1fr);gap:10px}.photo span{font-size:12px;padding:10px}.contact{padding:45px 7%;align-items:flex-start;flex-direction:column}footer{flex-wrap:wrap;padding:25px 7%}footer>span:nth-child(2){display:none}dialog{padding:28px 20px}.admin-grid{grid-template-columns:1fr}#lightbox{padding:40px 30px}.project-card h3{font-size:32px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Forest-green controls and a home link visible at every screen width. */
:root{--yellow:#173c34}
.yellow,.project-card{background:#173c34;color:#fff}
.yellow:hover{background:#102b25;color:#fff}
.project-card[aria-pressed=false]{background:#e8e9df;color:#182222}
.project-card[aria-pressed=true]{background:#173c34;color:#fff}
.tabs button.active{background:#173c34;border-color:#173c34;color:#fff}
.eyebrow i{background:#a8bd84}
.brand img{width:115px;height:50px;object-fit:contain}
.loop-home-link{display:inline-flex;align-items:center;min-height:44px;padding:8px 13px;border:1px solid #61706b;border-radius:30px;white-space:nowrap;color:#173c34}
.loop-home-link:hover{background:#173c34;border-color:#173c34;color:#fff}
nav a:focus-visible,footer a:focus-visible{outline:3px solid #859640;outline-offset:4px}
@media(max-width:760px){.brand img{width:89px;height:41px}nav{flex-wrap:wrap;gap:8px 14px;justify-content:flex-start}.loop-home-link{display:inline-flex;order:-1;font-weight:700}.crew-link{margin-left:auto}footer{align-items:center}}

/* Warm yellow lettering against the original forest green. */
.hero h1,.contact h2,.project-card[aria-pressed=true] h3{color:#f4da35}
.eyebrow i{background:#f4da35}
.section h2 .dot{color:#a58b12}
.button.yellow{background:#f4da35;color:#182222}
.button.yellow:hover{background:#e7c82a;color:#182222}
header nav a:hover{color:#65773a}
.hero .eyebrow,.contact .eyebrow{color:#f4da35}
#edit-event-panel form{margin-top:18px}

/* Native dialog fallback for Safari versions without showModal. */
dialog:not([open]){display:none}
dialog[open]{display:block}
dialog.dialog-fallback{position:fixed;z-index:10000;top:5vh;left:50%;right:auto;bottom:auto;transform:translateX(-50%);margin:0;width:92vw;max-width:760px;max-height:90vh;overflow-y:auto;box-shadow:0 0 0 100vmax rgba(6,26,22,.8);background:#f6f5ef}
body.has-fallback-dialog{overflow:hidden}
@media(max-width:760px){#manager{width:94vw;max-width:94vw}dialog{max-height:90vh;overflow-y:auto}input,select,textarea{font-size:16px}header nav{row-gap:10px}.crew-link{min-height:44px;display:inline-flex;align-items:center}}
