@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800;900&family=Inter:wght@400;500;600;700;800&display=swap');
:root{--ink:#101619;--steel:#222a2e;--orange:#e58a35;--cream:#eee9df;--text:#1b2428}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#151a1c;color:var(--text);font-family:Inter,Arial,sans-serif}.top{background:linear-gradient(130deg,#101517,#283033 55%,#111517);color:#fff;min-height:83px;padding:12px clamp(16px,4vw,55px);display:flex;align-items:center;gap:28px;border-bottom:2px solid #ad5e26}.brand{display:flex;gap:12px;align-items:center;color:#f3eee5;text-decoration:none;font-family:'Barlow Condensed',Impact,sans-serif;font-weight:700;font-size:22px;letter-spacing:1px;line-height:.85;white-space:nowrap}.brand strong{font-size:47px;letter-spacing:2px}.cross{font-size:56px;color:#e3dbcd}.nav{display:flex;gap:clamp(12px,2.5vw,34px);margin:auto}.nav a{color:#f4efe8;text-decoration:none;font:700 19px 'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:1px}.nav a:hover{color:var(--orange)}.top small{font:700 13px 'Barlow Condensed',sans-serif;letter-spacing:2px;color:#e9ddd0}.menu{display:none;background:none;border:1px solid #74614f;color:#fff;font-size:26px;cursor:pointer}.hero{min-height:465px;position:relative;display:flex;align-items:center;background:linear-gradient(90deg,rgba(12,14,15,.98) 0%,rgba(14,15,16,.88) 31%,rgba(10,10,10,.15) 76%),url('forge-hero.jpg') center 48%/cover no-repeat;border-bottom:3px solid #b7632b;overflow:hidden}.hero-center{position:relative;z-index:1;width:65%;padding:40px clamp(22px,6vw,105px)}.eyebrow{color:#e59c5a;letter-spacing:4px;font:700 16px 'Barlow Condensed',sans-serif}.hero h1{font:900 clamp(60px,7.2vw,120px)/.8 'Barlow Condensed',Impact,sans-serif;letter-spacing:1px;color:#f1e8dc;text-shadow:2px 4px 0 #151617,0 7px 22px #000;margin:24px 0}.hero h1 span{font-size:1.55em}.metal-plate{display:inline-block;background:linear-gradient(140deg,#b8ada0,#e2d8c7 48%,#998d80);color:#171b1c;border:5px solid #413b34;box-shadow:0 8px 25px #000b;padding:7px 24px;font:900 clamp(22px,3vw,38px) 'Barlow Condensed',sans-serif;letter-spacing:1px;text-align:center}.metal-plate small{display:block;font-size:19px;letter-spacing:2px}.hero-sub{color:#fff;font:700 clamp(14px,1.5vw,21px) 'Barlow Condensed',sans-serif;letter-spacing:2px}.hero-sub b{color:var(--orange)}.hero-verse{position:absolute;right:3%;bottom:26px;max-width:34%;color:#f1e9dc;text-align:center;text-shadow:0 3px 7px #000;font:700 21px 'Barlow Condensed',sans-serif;letter-spacing:1px}.hero-verse span,.hero-verse small{display:block}.hero-verse small{color:#ffb16d;margin-top:7px}.next-wrap{max-width:1320px;margin:-1px auto 0;padding:0 20px 22px}.section-label{background:#242b2e;color:#f7e8d7;padding:13px 22px;font:800 23px 'Barlow Condensed',sans-serif;letter-spacing:1px;display:inline-block;border-top:3px solid var(--orange)}.next-card{background:var(--cream);border:3px solid #b6aa99;display:grid;grid-template-columns:235px minmax(0,1fr) 200px;gap:23px;padding:15px;box-shadow:0 14px 35px #0008}.date-tile{background:linear-gradient(145deg,#151b1e,#2d3539);color:white;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px;border:1px solid #555}.date-tile small{font:800 23px 'Barlow Condensed',sans-serif;letter-spacing:1px;border-bottom:2px solid var(--orange);width:100%;padding-bottom:7px}.date-tile strong{font:700 24px 'Barlow Condensed',sans-serif;margin-top:15px}.date-tile span{font:900 clamp(40px,4vw,60px) 'Barlow Condensed',sans-serif;color:#ee923d;white-space:nowrap}.date-tile b{font:700 29px 'Barlow Condensed',sans-serif}.details{padding:13px 0}.details h2{font:800 35px 'Barlow Condensed',sans-serif;margin:0 0 10px}.details p{line-height:1.6;margin:0 0 13px}.facts{display:flex;flex-wrap:wrap;gap:12px 30px;margin-top:12px;padding-top:14px;border-top:1px solid #a59d93}.facts span{display:block}.facts b{display:block;font:800 15px 'Barlow Condensed',sans-serif;color:#a65a22;letter-spacing:1px}.directions,.btn{display:inline-block;background:#bd6327;color:white;padding:12px 18px;margin-top:15px;text-decoration:none;border:0;font:800 17px 'Barlow Condensed',sans-serif;letter-spacing:1px;cursor:pointer}.directions:hover,.btn:hover{background:#914619}.welcome{align-self:center;justify-self:center;transform:rotate(-6deg);background:#b16c3b;color:#171717;padding:25px 17px;text-align:center;font:900 30px 'Barlow Condensed',sans-serif;line-height:1.05;box-shadow:8px 8px 0 #2b2521}.empty{background:var(--cream);padding:30px}.empty h2{font:800 30px 'Barlow Condensed',sans-serif}.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;max-width:1320px;padding:0 20px;margin:0 auto 22px}.pillars article{min-height:160px;background:linear-gradient(140deg,#2a2624,#121618);border:1px solid #71482d;text-align:center;padding:19px 9px;color:#fff}.pillars span{font-size:32px;color:#e9a56c}.pillars h3{font:800 25px 'Barlow Condensed',sans-serif;letter-spacing:1px;margin:8px 0}.pillars p{font:600 12px 'Barlow Condensed',sans-serif;letter-spacing:2px;color:#d7bfa8}.content{display:grid;grid-template-columns:1fr 1fr;gap:24px;background:#e9e1d4;padding:32px max(20px,calc((100% - 1280px)/2));}.content h2,.history h2{font:900 35px 'Barlow Condensed',sans-serif;letter-spacing:1px;margin:0 0 12px}.content p{line-height:1.7}.verse{background:#171d20;color:#fff;text-align:center;padding:20px}.verse span{font:900 60px Georgia,serif;color:var(--orange)}.verse p{font:italic 25px Georgia,serif;margin:0 0 15px}.verse strong{font:800 17px 'Barlow Condensed',sans-serif;letter-spacing:2px;color:#eca56e}.history{background:#e9e1d4;padding:25px max(20px,calc((100% - 1280px)/2)) 50px}.history-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.history article{padding:20px;background:#f8f3e9;border-left:4px solid #b66c34}.history article span{color:#995626;font-size:13px}.history article h3{font:800 25px 'Barlow Condensed',sans-serif;margin:10px 0}.history article p{line-height:1.5}.history article small{color:#665f58}footer{padding:25px;text-align:center;background:#12181a;color:#e9d9c7;font:700 17px 'Barlow Condensed',sans-serif;letter-spacing:1px}footer span{color:var(--orange);margin:0 12px}
/* Existing admin layout and form behavior retained */
.admin-main{max-width:1350px;margin:30px auto;padding:0 20px}.admin-grid{display:grid;grid-template-columns:360px 1fr;gap:20px}.panel{background:white;border:1px solid #dce4e9;border-radius:10px;padding:22px;box-shadow:0 3px 14px #102b4210}.panel h2{margin-top:0}label{display:block;font-weight:700;font-size:13px;margin:14px 0}input,textarea{display:block;width:100%;font:15px Arial;padding:11px;margin-top:7px;border:1px solid #c6d3df;border-radius:5px}textarea{resize:vertical}.login{max-width:430px;margin:70px auto}.login h1{margin-top:0}.alert{background:#fee2e2;color:#9b1c1c;padding:12px;border-radius:5px}.success{background:#d9f5e6;color:#17613a;padding:12px;border-radius:5px}.hint{color:#567}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px}th{background:#eaf0f4;text-align:left}th,td{padding:13px 10px;border-bottom:1px solid #dbe4eb;vertical-align:top}td small{color:#60788b}.status{display:inline-block;border-radius:20px;padding:5px 10px;background:#e5e9ec}.status.upcoming{background:#d8f4e5;color:#17643a}.inline{display:inline}.delete{border:0;background:none;color:#b02727;cursor:pointer;padding:5px}.cancel{margin-left:15px}.notes{margin-top:15px!important;color:#39546a}
.admin-main{color:#1b2428}.admin-main .panel{background:#faf7f1}.admin-main h1,.admin-main h2{font-family:'Barlow Condensed',sans-serif}.admin-main .btn{border-radius:3px}.login{color:#1b2428}.hint{color:#666}.notes{margin-top:12px!important}
@media(max-width:1000px){.top small{display:none}.next-card{grid-template-columns:195px 1fr}.welcome{grid-column:1/-1;padding:12px}.hero-center{width:80%}.hero-verse{display:none}.admin-grid{grid-template-columns:1fr}.history-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.top{min-height:70px;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:10px 15px}.brand{font-size:15px}.brand strong{font-size:34px}.cross{font-size:40px}.menu{display:block}.nav{display:none;order:3;width:100%;flex-direction:column;margin:0;gap:0}.nav.open{display:flex}.nav a{padding:12px;border-top:1px solid #ffffff2a}.hero{min-height:360px;background-position:58% center;background-image:linear-gradient(90deg,#111b 0%,#1119 65%,#1115 100%),url('forge-hero.jpg')}.hero-center{width:100%;padding:24px 18px}.hero h1{font-size:57px}.hero h1 span{font-size:1.5em}.metal-plate{font-size:24px}.metal-plate small{font-size:15px}.eyebrow{font-size:12px}.hero-sub{font-size:13px;letter-spacing:1px}.next-wrap{padding:0 10px 15px}.section-label{font-size:20px}.next-card{grid-template-columns:1fr;gap:10px;padding:10px}.date-tile{padding:14px}.date-tile small{font-size:19px}.date-tile strong,.date-tile span,.date-tile b{display:inline;font-size:29px}.details{padding:10px}.details h2{font-size:29px}.welcome{grid-column:auto;justify-self:stretch;transform:none;font-size:27px;box-shadow:none}.pillars{grid-template-columns:repeat(2,1fr);padding:0 10px}.pillars article{min-height:135px}.pillars h3{font-size:22px}.content{grid-template-columns:1fr;padding:25px 15px}.history{padding:25px 15px}.history-grid{grid-template-columns:1fr}.admin-main{padding:0 10px}}

/* First-visit home-screen invitation */
.install-prompt[hidden],.install-native[hidden]{display:none!important}
.install-prompt{position:fixed;z-index:9999;bottom:max(16px,env(safe-area-inset-bottom));left:16px;right:16px;max-width:430px;margin:0 auto;background:#f2ece1;border:2px solid #c4783b;border-radius:13px;box-shadow:0 12px 55px #000b;color:#182024;padding:20px 20px 18px;font-family:Arial,sans-serif}
.install-head{display:flex;gap:12px;align-items:center;margin-bottom:10px;padding-right:25px}.install-logo{background:#1b2225;color:#e7a16b;border-radius:8px;font-weight:900;padding:10px;font-size:19px}.install-head h2{font:800 23px/1.05 'Barlow Condensed',Impact,sans-serif;margin:0}.install-prompt p{font-size:14px;line-height:1.5;margin:8px 0 14px}.install-prompt small{color:#4c555a}.install-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.install-actions button{border:0;border-radius:5px;padding:12px 15px;font-weight:800;cursor:pointer}.install-later{background:#263034;color:#fff}.install-native{background:#bc6329;color:#fff}.install-close{position:absolute;right:9px;top:8px;border:0;background:transparent;font-size:28px;line-height:1;cursor:pointer;color:#263034}.install-help-link{color:#e7a16b;text-decoration:underline;font-weight:700}
@media(max-width:450px){.install-prompt{left:10px;right:10px;padding:16px}.install-head h2{font-size:21px}}

/* Forged-metal 17-year anniversary seal */
.anniversary-stamp{position:absolute;z-index:2;right:5.5%;top:34px;width:235px;aspect-ratio:1;border-radius:50%;padding:11px;background:repeating-conic-gradient(from 0deg,#574334 0deg 8deg,#bc8450 8deg 11deg,#332b26 11deg 15deg);filter:drop-shadow(0 8px 12px #000a);transform:rotate(6deg)}
.anniversary-inner{height:100%;width:100%;border-radius:50%;border:5px double #b58b5b;background:radial-gradient(circle at 35% 20%,#41403c,#181b1c 58%,#090b0c);color:#f1d2a4;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:inset 0 0 0 2px #171411,inset 0 0 22px #000}
.anniversary-stars{font:700 9px Arial,sans-serif;letter-spacing:1px;color:#e8b981}.anniversary-inner strong{font:900 100px/.86 Impact,'Arial Narrow',sans-serif;color:#e6bd8a;text-shadow:2px 3px #090909;margin-top:8px}.anniversary-years{font:900 33px/.95 Impact,'Arial Narrow',sans-serif;color:#fff1d7;letter-spacing:2px}.anniversary-ribbon{background:linear-gradient(90deg,#79502d,#d4a270,#79502d);color:#171717;font:900 24px Impact,'Arial Narrow',sans-serif;letter-spacing:2px;padding:4px 16px;margin-top:5px;box-shadow:0 3px 6px #0008;transform:rotate(-4deg)}.anniversary-caption{font:700 10px Arial,sans-serif;letter-spacing:1px;margin-top:10px}.anniversary-cross{font-size:20px;color:#d9a76b}.hero-verse{right:4%;bottom:12px;font-size:16px}
@media(max-width:1000px){.anniversary-stamp{width:180px;right:3%;top:45px}.anniversary-inner strong{font-size:72px}.anniversary-years{font-size:26px}.anniversary-ribbon{font-size:18px}.anniversary-stars{font-size:7px}.anniversary-caption{font-size:8px}}
@media(max-width:700px){.hero{min-height:515px;align-items:flex-start}.hero-center{padding-bottom:12px}.anniversary-stamp{width:151px;top:auto;bottom:12px;right:calc(50% - 75px);transform:rotate(5deg)}.anniversary-inner strong{font-size:61px}.anniversary-years{font-size:22px}.anniversary-ribbon{font-size:16px;padding:3px 10px}.anniversary-stars{font-size:6px}.anniversary-caption{font-size:7px;margin-top:6px}.anniversary-cross{font-size:14px}}

/* Compact mobile anniversary: no extra hero height */
@media(max-width:700px){
 .hero{min-height:0!important;display:flex;flex-direction:column;align-items:stretch;padding-bottom:12px}
 .hero-center{width:100%;padding:20px 16px 6px}
 .hero h1{font-size:clamp(44px,11vw,57px);margin:14px 0}
 .hero h1 span{font-size:1.38em}
 .hero-sub{margin:10px 0 3px}
 .anniversary-stamp{position:relative!important;inset:auto!important;right:auto!important;bottom:auto!important;top:auto!important;transform:none!important;width:auto!important;height:auto!important;aspect-ratio:auto!important;align-self:center;display:block;padding:2px;border-radius:5px;background:linear-gradient(120deg,#765333,#d8a574,#765333);filter:none;margin:7px 12px 0}
 .anniversary-inner{width:auto;height:auto;min-height:34px;border:1px solid #d5a16b;border-radius:3px;padding:5px 13px;background:linear-gradient(120deg,#202629,#101415);display:flex;flex-direction:row;align-items:center;gap:5px;box-shadow:none}
 .anniversary-inner strong{font:900 23px/1 Impact,'Arial Narrow',sans-serif;margin:0;color:#f0bc7c;text-shadow:none}
 .anniversary-years{font:900 17px/1 Impact,'Arial Narrow',sans-serif;letter-spacing:0;color:#fff}
 .anniversary-ribbon{background:none;color:#e5ad6b;font:900 17px/1 Impact,'Arial Narrow',sans-serif;letter-spacing:0;padding:0;margin:0;box-shadow:none;transform:none}
 .anniversary-stars,.anniversary-caption,.anniversary-cross{display:none}
 .next-wrap{margin-top:0}
}

/* Restaurant directory additions */
.restaurant-photo{width:220px;min-width:0;align-self:stretch;display:flex;align-items:center}.restaurant-photo img{width:100%;height:180px;object-fit:cover;border:3px solid #8b5837;border-radius:6px}.restaurant-site-link{display:inline-block;color:#b46c31;font-weight:800;font-size:.8rem;margin-bottom:6px}.restaurant-admin{margin-top:24px;max-width:780px}.restaurant-admin form{display:grid;gap:10px}.restaurant-admin select{width:100%;padding:10px}.admin-main select{min-height:40px}
@media(max-width:800px){.restaurant-photo{width:100%;height:auto}.restaurant-photo img{height:150px}.restaurant-admin{margin:16px 0}}

/* Restaurant image: four columns on desktop, stacked on phones */
@media(min-width:1001px){.next-card:has(.restaurant-photo){grid-template-columns:205px 210px minmax(0,1fr) 170px;gap:16px}.next-card:has(.restaurant-photo) .restaurant-photo{width:100%}.next-card:has(.restaurant-photo) .welcome{font-size:25px}}
@media(min-width:701px) and (max-width:1000px){.next-card:has(.restaurant-photo){grid-template-columns:195px minmax(0,1fr)}.next-card:has(.restaurant-photo) .restaurant-photo{width:100%}.next-card:has(.restaurant-photo) .details{grid-column:1/-1}}
@media(max-width:700px){.next-card .restaurant-photo{width:100%;height:150px}.next-card .restaurant-photo img{width:100%;height:150px;object-fit:cover}}
