:root{--ink:#153330;--forest:#174a43;--forest-dark:#102f2c;--cream:#f5f0e5;--paper:#fffdf8;--gold:#c89b52;--rust:#a54b34;--line:#dcd5c7;--muted:#687773;--shadow:0 18px 50px rgba(15,46,43,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;line-height:1.55}a{color:inherit}button,input,textarea{font:inherit}.site-header{height:76px;padding:0 clamp(20px,5vw,72px);display:flex;align-items:center;justify-content:space-between;background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;font-family:"Libre Franklin",sans-serif;font-weight:800;font-size:18px;line-height:1}.brand small{display:block;color:var(--gold);font-size:10px;letter-spacing:.18em;text-transform:uppercase;margin-top:6px}.brand-mark{display:inline-grid;place-items:center;width:35px;height:35px;border-radius:50%;background:var(--forest);color:var(--gold)}nav{display:flex;align-items:center;gap:26px}nav a,.text-button{font-weight:600;font-size:14px;text-decoration:none}.text-button{border:0;background:none;color:var(--ink);cursor:pointer}.nav-cta,.button{background:var(--forest);color:white!important;padding:10px 18px;border-radius:3px;text-decoration:none}.hero{min-height:630px;padding:100px clamp(24px,9vw,145px);position:relative;overflow:hidden;background:linear-gradient(90deg,rgba(16,47,44,.98) 0%,rgba(16,47,44,.91) 48%,rgba(16,47,44,.72) 100%),radial-gradient(circle at 80% 45%,#b99e73 0 4%,transparent 4.2%),linear-gradient(135deg,#244d49,#98795c);color:white}.hero:after{content:"★";position:absolute;right:8%;top:12%;font-size:360px;color:rgba(200,155,82,.08);line-height:1}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:11px;font-weight:700;color:var(--gold);margin-bottom:16px}.hero h1,.page-heading h1,.park-hero h1,.auth-shell h1,.dashboard-head h1{font:800 clamp(44px,6vw,78px)/1.04 "Libre Franklin",sans-serif;letter-spacing:-.045em;margin:0 0 24px}.hero h1 em{font-style:normal;color:#d9bd87}.hero>p{max-width:650px;color:#e6e9e4;font-size:18px}.hero-search{display:flex;max-width:660px;margin-top:40px;background:white;padding:6px}.hero-search input,.directory-search input,.memorial-search input{flex:1;border:0;padding:14px 16px;min-width:0;outline:none}.hero-search button,.directory-search button,.memorial-search button,.contribution-form button,.review-item button{border:0;background:var(--gold);color:var(--forest-dark);font-weight:700;padding:13px 22px;cursor:pointer}.hero-actions{margin-top:28px}.hero-actions a{color:#e4cc9f;font-weight:700}.feature-strip{display:grid;grid-template-columns:repeat(3,1fr);background:var(--cream);padding:48px clamp(24px,9vw,145px);gap:50px}.feature-strip article{display:grid;grid-template-columns:40px 1fr;column-gap:12px}.feature-strip span{grid-row:1/3;color:var(--gold);font-weight:700}.feature-strip h2{margin:0;font-family:"Libre Franklin"}.feature-strip p{margin:7px 0;color:var(--muted)}footer{background:var(--forest-dark);color:white;padding:40px clamp(24px,7vw,100px);display:flex;align-items:center;gap:18px}footer p{margin:0}footer .muted{margin-left:auto;color:#9fb1ad}.page{max-width:1180px;margin:auto;padding:72px 24px 100px}.page-heading{max-width:760px}.page-heading h1{font-size:clamp(38px,5vw,62px)}.directory-search,.memorial-search{display:flex;border:1px solid var(--line);margin:38px 0;background:white}.park-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.park-card{display:grid;grid-template-columns:42% 1fr;border:1px solid var(--line);text-decoration:none;background:white;min-height:260px;transition:.2s}.park-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.park-card>div:last-child{padding:30px}.park-card h2{font-family:"Libre Franklin";margin:5px 0}.park-card p{color:var(--muted)}.park-card strong{color:var(--rust)}.park-image{background-size:cover;background-position:center}.park-image.placeholder{background:linear-gradient(145deg,#143a37,#52706a);display:grid;place-items:center}.park-image span{font:800 50px "Libre Franklin";color:rgba(255,255,255,.2)}.kicker{text-transform:uppercase;letter-spacing:.14em;font-size:10px!important;color:var(--gold)!important;font-weight:700}.park-hero{min-height:510px;background:var(--forest-dark);color:white;padding:74px clamp(24px,8vw,120px);display:grid;grid-template-columns:1.4fr .6fr;align-items:center;gap:60px}.park-hero h1{max-width:850px}.park-hero-copy>p{max-width:700px;color:#cfdbd7}.breadcrumb{font-size:12px;margin-bottom:52px}.park-meta{display:flex;gap:25px;margin-top:30px;font-size:13px;color:#d8c394}.monument{justify-self:center;width:250px;height:330px;clip-path:polygon(15% 20%,34% 20%,34% 0,66% 0,66% 20%,85% 20%,100% 100%,0 100%);background:linear-gradient(110deg,#c8bca4,#887e6a);display:grid;place-items:center;text-align:center;color:#4f5149;font:700 14px/1.8 "Libre Franklin";box-shadow:var(--shadow)}.demo-banner{background:#f2dfb8;color:#5d481f;padding:14px 24px;text-align:center;font-size:13px}.park-content{max-width:1180px;margin:auto;padding:75px 24px}.section-heading{display:flex;justify-content:space-between;align-items:end}.section-heading h2,.contribute h2,.panel h2{font:800 34px "Libre Franklin";margin:0}.section-heading>p{color:var(--muted)}.table-wrap{overflow:auto;border:1px solid var(--line)}table{width:100%;border-collapse:collapse;min-width:800px}th{text-align:left;background:var(--cream);font-size:11px;text-transform:uppercase;letter-spacing:.12em}th,td{padding:15px 18px;border-bottom:1px solid var(--line)}td{font-size:14px}.tag,.status,.role-badge{display:inline-block;background:#e5d3ad;color:#5a431d;padding:3px 8px;border-radius:20px;font-size:10px;font-weight:700;text-transform:uppercase}.pagination{display:flex;justify-content:center;gap:30px;margin:28px}.contribute{background:var(--cream);padding:75px max(24px,calc((100vw - 1132px)/2));display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.button.light{display:inline-block;margin-top:15px}.form-tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);margin-bottom:22px}.tab{border:0;background:none;padding:12px 16px;color:var(--muted);cursor:pointer}.tab.active{color:var(--forest);border-bottom:3px solid var(--gold);font-weight:700}.contribution-form{display:none;grid-template-columns:1fr 1fr;gap:17px}.contribution-form.active{display:grid}.contribution-form label{font-size:12px;font-weight:700}.contribution-form input,.contribution-form textarea,.review-item input{display:block;width:100%;padding:12px;border:1px solid var(--line);background:white;margin-top:6px}.contribution-form .full{grid-column:1/-1}.contribution-form button{justify-self:start}.upload-drop{border:1px dashed #a99c85;padding:20px}.upload-drop small{display:block;color:var(--muted);margin-top:8px}.auth-shell{min-height:calc(100vh - 76px);display:grid;grid-template-columns:1fr 480px;gap:80px;align-items:center;padding:80px clamp(24px,10vw,150px);background:var(--cream)}.auth-shell h1{font-size:56px}.auth-card{background:white;padding:36px;box-shadow:var(--shadow)}.flash{position:fixed;z-index:100;top:90px;right:24px;max-width:420px;background:var(--forest);color:white;padding:15px 20px;box-shadow:var(--shadow);transition:.3s}.flash.error{background:var(--rust)}.flash.fade{opacity:0;transform:translateY(-10px);pointer-events:none}.dashboard-head{display:flex;justify-content:space-between;align-items:center}.dashboard-head h1{font-size:52px}.dashboard-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:24px}.panel{border:1px solid var(--line);padding:30px;background:white}.panel h2{font-size:24px;margin-bottom:22px}.suggestion{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:16px 0}.suggestion p{margin:5px 0}.status.approved{background:#cce1d6;color:#205c40}.status.rejected{background:#ead0c9;color:#84351f}.review-panel{margin-top:25px}.review-item{display:grid;grid-template-columns:1fr 340px;gap:30px;border-top:1px solid var(--line);padding:25px 0}.review-item pre{background:var(--cream);padding:15px;white-space:pre-wrap}.review-item form{display:flex;flex-wrap:wrap;gap:8px;align-content:start}.review-item input{flex-basis:100%}.review-item .danger{background:var(--rust);color:white}.empty{text-align:center;padding:70px;color:var(--muted)}.muted{color:var(--muted)}.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}@media(max-width:850px){.site-header nav>a:not(.nav-cta){display:none}.hero{padding-top:70px;min-height:570px}.feature-strip,.park-grid,.park-hero,.contribute,.auth-shell,.dashboard-grid{grid-template-columns:1fr}.feature-strip{gap:28px}.park-card{grid-template-columns:1fr}.park-image{min-height:180px}.monument{display:none}.contribute{gap:30px}.auth-shell{padding:60px 22px}.auth-shell h1{font-size:42px}.auth-card{padding:24px}.section-heading{display:block}.review-item{grid-template-columns:1fr}.park-meta{flex-direction:column;gap:8px}}@media(max-width:540px){.site-header{height:66px}.brand{font-size:15px}.brand-mark{width:31px;height:31px}.hero-search{display:block;background:transparent;padding:0}.hero-search input,.hero-search button{width:100%;min-height:50px}.feature-strip{grid-template-columns:1fr}.contribution-form{grid-template-columns:1fr}.park-hero{padding-top:45px}.park-hero h1{font-size:42px}.dashboard-head{display:block}footer{align-items:flex-start;flex-wrap:wrap}footer .muted{margin-left:0;width:100%}}
