:root{--pine:#1c382f;--cream:#f8f6ef;--ink:#2b382f;--gold:#bb9b63}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,sans-serif}button,input{font:inherit}button{cursor:pointer}a{text-decoration:none;color:inherit}[hidden]{display:none!important}.top{position:sticky;top:0;z-index:10;background:#fcfbf7eF;border-bottom:1px solid #e4e5dc;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:16px max(3vw,20px);backdrop-filter:blur(18px)}.brand{font:600 1.1rem Georgia,serif}.brand span{color:#8d7253}.top nav{display:flex;gap:28px;font-size:.9rem;color:#566b60}.top nav a:hover{color:#a7804d}.btn{display:inline-flex;justify-content:center;align-items:center;border-radius:7px;padding:12px 17px;border:1px solid transparent;font-size:.9rem;font-weight:650;transition:transform .2s,background .2s}.btn:hover{transform:translateY(-2px)}.primary{background:var(--pine);color:white}.outline{background:#fffefa;color:var(--pine);border-color:#a6b5aa}.light{background:#e6debf;color:#20372b}.danger{border:1px solid #cda9a5;color:#97362e;background:#fff6f4}.hero{position:relative;min-height:590px;background:radial-gradient(circle at 80% 10%,#345747 0%,transparent 35%),linear-gradient(140deg,#152b24,#254638 80%);color:#fff;padding:110px 22px 85px;text-align:center;overflow:hidden}.hero-inner{position:relative;z-index:2}.grain{position:absolute;inset:0;opacity:.08;background-image:radial-gradient(#fff 1px,transparent 1px);background-size:7px 7px}.leaf-art{position:absolute;right:5%;bottom:-100px;color:#d5cca617;font-size:34rem}.kicker,.eyebrow{font-size:.76rem;letter-spacing:.22em;color:#adbc9d;font-weight:750}.line{width:70px;height:1px;background:#b7ae8a;margin:22px auto}.hero h1{font:400 clamp(4.2rem,10vw,8.5rem)/.95 Georgia,serif;letter-spacing:-.055em;margin:0}.hero h1 em{color:#c8cfaa;font-style:italic}.hero .sub{max-width:670px;margin:30px auto;font:1.3rem/1.75 Georgia,serif;color:#e3e9dd}.hero-dates{font-size:.8rem;letter-spacing:.08em;color:#c3d1be}.hero-dates span{margin:0 20px;color:var(--gold)}.hero .btn{margin-top:23px}.facts{display:grid;grid-template-columns:repeat(3,1fr);background:#eae8dc;padding:30px max(5vw,18px)}.facts div{display:grid;gap:7px;text-align:center;border-right:1px solid #d2d2c5}.facts div:last-child{border:0}.facts small{font-size:.72rem;letter-spacing:.13em;color:#7b8c7b;font-weight:700}.facts strong{font:1.3rem Georgia,serif}.facts span{font-size:.86rem;color:#6f7e71}.section{width:min(1160px,100%);margin:auto;padding:90px 22px}.section h2{font:400 clamp(2.5rem,5.4vw,4.5rem)/1.13 Georgia,serif;letter-spacing:-.04em;margin:20px 0 28px}.section h2 em{color:#829579}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:56px}.two-col p{color:#5e6c62;font-size:1.04rem;line-height:1.95}.largequote{font:italic 1.8rem/1.5 Georgia,serif!important;color:#586d56!important;border-left:3px solid #9aaf89;padding-left:25px}.quote{background:#e5e9db;text-align:center;padding:80px 22px}.quote div{font-size:3rem;color:#91a583}.quote blockquote{max-width:880px;margin:15px auto;font:1.8rem/1.55 Georgia,serif}.quote span{color:#6d816b;font-size:.78rem;letter-spacing:.15em}.gallery-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:25px}.gallery-heading h2{margin-bottom:10px}.gallery-heading p{max-width:700px;line-height:1.7;color:#66766b}.notice{padding:10px 15px;border-left:3px solid #8ca680;color:#5d705e;background:#eef1e9}.empty{text-align:center;padding:70px 20px;border:1px dashed #a1b0a0;border-radius:14px}.emptyicon{font-size:4rem;color:#a1b0a0}.empty h3{font:1.7rem Georgia,serif}.empty p{color:#627166}.viewer{height:min(75vh,690px);min-height:400px;background:#132a21;position:relative;overflow:hidden;border-radius:14px}.viewer>img{width:100%;height:100%;object-fit:contain;transition:opacity .45s ease,transform 5s ease}.viewer>img.zoom{transform:scale(1.04)}.arrow{position:absolute;z-index:2;top:45%;width:46px;height:55px;background:#ffffffd8;color:#23402d;border:0;border-radius:6px;font-size:2rem}.arrow.left{left:14px}.arrow.right{right:14px}.photo-info{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;gap:20px;justify-content:space-between;color:white;padding:35px 24px 22px;background:linear-gradient(transparent,#000b);text-shadow:0 1px 3px #000}.photo-info span{white-space:nowrap}.slide-progress{position:absolute;bottom:0;left:0;right:0;height:4px;background:#ffffff52}.slide-progress>div{width:0;height:100%;background:#c9b781}.toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:15px 0}.toolbar #photoCount{color:#66786b;margin-left:auto;font-size:.9rem}.thumbs{display:flex;gap:10px;overflow-x:auto;padding:10px 0}.thumb{width:122px;flex:0 0 122px;background:transparent;text-align:left;border:2px solid transparent;border-radius:8px;padding:4px;color:#506457}.thumb.active{border-color:#718e73}.thumb img{height:86px;width:110px;object-fit:cover;border-radius:5px}.thumb small{display:block;margin-top:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.archive-text{text-align:center;background:#ebeee3;margin-top:45px;padding:40px 22px;border-radius:14px}.archive-text span{color:#8aa17d;font-size:2rem}.archive-text p{max-width:720px;margin:10px auto;font:italic 1.35rem/1.7 Georgia,serif}.legacy-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.legacy-grid article{background:#e8ebe0;padding:24px;border-radius:10px}.legacy-grid span{font-size:.76rem;color:#829078}.legacy-grid h3{font:1.4rem Georgia,serif}.legacy-grid p{color:#627368;line-height:1.8}.farewell{padding:110px 22px;background:#1b362d;color:white;text-align:center}.farewell>span{font-size:3rem;color:#a6b99d}.farewell h2{font:400 clamp(2.9rem,6vw,5rem)/1.1 Georgia,serif;margin:20px 0}.farewell h2 em{color:#c6cfac}.farewell p{color:#bdcbba}footer{padding:26px 15px;background:#10291f;color:#b2c0af;text-align:center;font-size:.85rem}footer span{color:#d1b27a}dialog{width:min(480px,calc(100vw - 28px));border:0;border-radius:16px;padding:0;box-shadow:0 24px 90px #0006}dialog::backdrop{background:#06160eba}dialog form{padding:28px;display:grid;gap:16px}dialog p{margin:0;line-height:1.6;color:#607366}dialog label{display:grid;gap:7px;font-size:.9rem;font-weight:650}dialog input{width:100%;padding:12px;border:1px solid #abb9ac;border-radius:7px}dialog .dialog-title{display:flex;align-items:center;justify-content:space-between;gap:16px}dialog h3{margin:0;font:1.75rem Georgia,serif}.close{background:transparent;border:0;font-size:2rem;line-height:1}.error{color:#a3342d!important;font-size:.87rem}.progress-wrap{display:grid;gap:8px}.progress-wrap progress{width:100%;accent-color:#325a42}@media(max-width:850px){.top nav{display:none}.two-col{grid-template-columns:1fr;gap:10px}.legacy-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.top{gap:8px}.brand{font-size:1rem}.brand span{display:none}.facts{grid-template-columns:1fr;gap:15px}.facts div{border-right:0;border-bottom:1px solid #d2d2c5;padding:12px}.facts div:last-child{border:0}.hero{min-height:0;padding:75px 18px}.hero h1{font-size:4.2rem}.hero-dates span{margin:0 5px}.section{padding:65px 18px}.gallery-heading{display:block}.gallery-heading button{margin-top:15px}.legacy-grid{grid-template-columns:1fr}.viewer{height:480px;min-height:350px}.arrow{width:34px;height:44px}.photo-info{flex-direction:column;align-items:start;gap:4px}.toolbar #photoCount{margin:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.viewer>video{width:100%;height:100%;object-fit:contain}.viewer:has(video:not([hidden])) .photo-info{position:static;background:#132a21;padding:12px}.viewer:has(video:not([hidden])){height:auto;min-height:0}.viewer>video{max-height:65vh}.viewer:has(video:not([hidden])) .arrow{top:10px}.thumb{overflow:hidden;overflow-wrap:anywhere;min-height:70px}.notice p{line-height:1.65}.btn:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible,label:focus-within{outline:3px solid #bb9b63;outline-offset:4px}.notice small{display:block;line-height:1.6}

