@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700;800&family=Outfit:wght@600;700;800;900&display=swap');:root{--red:#c93622;--gold:#ffbf43;--brown:#321b13;--cream:#fff8eb}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--brown);font-family:'DM Sans',sans-serif}header{background:#321b13;color:white;padding:15px max(20px,calc((100vw - 1150px)/2));display:flex;justify-content:space-between;align-items:center;gap:15px}header a{color:white;text-decoration:none;font-weight:700}header strong{font-family:Outfit;font-size:22px;color:var(--gold)}nav{display:flex;gap:15px;flex-wrap:wrap}main{max-width:1150px;margin:auto;padding:24px}.hero{background:linear-gradient(100deg,rgba(40,18,10,.93),rgba(40,18,10,.4)),url('pie-hero.svg') center/cover;min-height:430px;border-radius:28px;color:white;display:flex;align-items:center;padding:clamp(24px,6vw,65px)}h1,h2,h3{font-family:Outfit}h1{font-size:clamp(38px,6vw,76px);line-height:1.02;margin:10px 0}h1 span{color:var(--gold)}.hero p{font-size:19px;max-width:470px}.btn,button{display:inline-block;border:0;border-radius:12px;background:var(--red);color:white;font-weight:800;padding:14px 20px;text-decoration:none;cursor:pointer;font:inherit;font-weight:800}.btn.alt{background:var(--gold);color:var(--brown)}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:18px}.card{border:1px solid #e9d7b9;background:white;border-radius:18px;padding:22px;box-shadow:0 5px 20px #321b130a}.card h3{margin-top:0}.muted{color:#755e51}.stars{color:#c93622;font-size:24px}.form{max-width:530px;margin:25px auto}.form label{display:block;font-weight:700;margin:15px 0 6px}input,textarea,select{width:100%;padding:13px;border:1px solid #cbbba9;border-radius:10px;font:inherit}textarea{min-height:110px}.error{background:#ffe4dc;color:#8e2113;padding:12px;border-radius:10px}.notice{background:#fff0c7;padding:12px;border-radius:10px}.section-title{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-top:32px}.layout-control{display:flex;justify-content:flex-end;gap:8px;margin:0 0 15px}.layout-control button{padding:8px 12px;background:#e9d7b9;color:var(--brown)}.layout-control button.active{background:var(--brown);color:white}body.phone-mode main{max-width:440px}body.phone-mode .hero{min-height:550px;padding:28px}body.phone-mode .grid{grid-template-columns:1fr}body.phone-mode header{flex-direction:column}footer{text-align:center;padding:30px;color:#755e51}@media(max-width:650px){header{flex-direction:column;align-items:flex-start}main{padding:14px}.hero{min-height:480px}.layout-control{justify-content:center}}

/* Stage 2: searchable pie map and near-me list */
.map-intro{background:#321b13;color:white;border-radius:24px;padding:clamp(22px,5vw,46px)}.map-intro h1{font-size:clamp(35px,5vw,58px)}.map-intro h1 span{color:#ffbf43}.map-intro .muted{color:#e9d7b9}.eyebrow{color:#ffbf43;font-weight:800;letter-spacing:2px}.map-toolbar{display:grid;grid-template-columns:1fr 2fr auto 1fr;align-items:center;gap:12px;margin:22px 0}.map-toolbar label{font-weight:800}#pie-map{height:clamp(330px,48vw,570px);border-radius:18px;background:#e9d7b9;overflow:hidden}.map-credit{font-size:12px}body.phone-mode .map-toolbar{grid-template-columns:1fr}body.phone-mode #pie-map{height:420px}@media(max-width:700px){.map-toolbar{grid-template-columns:1fr}.map-intro .actions{flex-direction:column}.map-intro .actions>*{text-align:center}}

/* Stage 3: photo-first member experience */
.pie-card{overflow:hidden;padding:0 0 20px}.pie-card>:not(a):not(.pie-photo){margin-left:20px;margin-right:20px}.pie-card>a:first-child{display:block}.pie-card .btn{margin-left:20px}.pie-photo{display:block;width:100%;height:220px;object-fit:cover;background:#f1d4a0}.pie-photo-empty{display:grid;place-items:center;font-size:90px;background:radial-gradient(circle at 35% 25%,#ffe6a1,#c36a27)}.place-photo{display:block;width:100%;max-height:520px;object-fit:cover;border-radius:14px}.photo-preview{display:block;width:100%;max-height:300px;object-fit:contain;border-radius:12px;margin-top:12px;background:#fff0d5}.photo-preview[hidden]{display:none}.hero{box-shadow:0 20px 50px #321b132b}.hero .actions .btn{box-shadow:0 5px 18px #160b0840}input[type=file]{background:#fff9ee}body.phone-mode .pie-photo{height:245px}

/* Stage 4: admin dashboard */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:15px;margin:24px 0}.stats h2{font-size:44px;color:#c93622;margin:0}.admin-list{display:grid;gap:12px}.admin-item{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap}.admin-item h3{margin:0}.admin-item p{margin:7px 0}.admin-item .actions{margin:0}.danger{background:#932719}@media(max-width:650px){.admin-item .actions{width:100%}}

/* Stage 5: richer photographic homepage, using a member-uploaded pie photo when available.
   Until a photo exists, retain the Stage 4 illustration as a reliable fallback. */
.hero-stage5{position:relative;isolation:isolate;overflow:hidden;min-height:510px;background-image:linear-gradient(90deg,rgba(35,15,9,.97) 0%,rgba(35,15,9,.88) 36%,rgba(35,15,9,.18) 100%),var(--featured-pie,url('pie-hero.svg'));background-size:cover;background-position:center;box-shadow:0 24px 55px #321b1338}
.hero-stage5:after{content:"";position:absolute;inset:auto 0 0;height:6px;background:linear-gradient(90deg,#ffbf43,#c93622,#ffbf43);z-index:-1}
.hero-stage5 .hero-content{position:relative;z-index:1;max-width:650px}
.hero-stage5 h1{font-size:clamp(43px,6.5vw,83px);letter-spacing:-.035em;text-wrap:balance}
.hero-stage5 p{line-height:1.55}
.hero-stamp{position:absolute;right:clamp(15px,3vw,44px);bottom:24px;background:#ffbf43;color:#321b13;border:3px solid #fff1c5;box-shadow:0 5px 22px #0005;border-radius:50%;width:110px;height:110px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-size:33px;transform:rotate(10deg);font-weight:900}
.hero-stamp small{font-size:12px;line-height:1.1;letter-spacing:1px}
.hero-stage5 .btn{transition:transform .15s ease,filter .15s ease}.hero-stage5 .btn:hover{transform:translateY(-2px);filter:brightness(1.07)}
body.phone-mode .hero-stage5{min-height:580px;background-image:linear-gradient(180deg,rgba(35,15,9,.93),rgba(35,15,9,.72) 55%,rgba(35,15,9,.1)),var(--featured-pie,url('pie-hero.svg'));background-position:center}
body.phone-mode .hero-stamp{width:75px;height:75px;font-size:24px;bottom:12px;right:12px}body.phone-mode .hero-stamp small{font-size:9px}
@media(max-width:650px){.hero-stage5{min-height:570px;background-image:linear-gradient(180deg,rgba(35,15,9,.94),rgba(35,15,9,.72) 58%,rgba(35,15,9,.15)),var(--featured-pie,url('pie-hero.svg'));background-position:center}.hero-stage5 .actions{flex-direction:column;align-items:stretch;padding-bottom:65px}.hero-stage5 .actions .btn{text-align:center}.hero-stamp{width:80px;height:80px;font-size:25px;bottom:12px;right:12px}.hero-stamp small{font-size:9px}}
@media(prefers-reduced-motion:reduce){.hero-stage5 .btn{transition:none}}

/* Stage 14: approved photo-led homepage and responsive visual polish. */
header{background:#201a16;box-shadow:0 3px 18px #0002}header strong{font-family:Outfit,sans-serif;font-style:italic;color:#ffc15c}header nav a:hover,header nav a:focus-visible{color:#ffc15c}header nav{align-items:center}header nav a{font-size:14px}
.hero-stage14{position:relative;isolation:isolate;overflow:hidden;min-height:560px;background:linear-gradient(90deg,#1e120df5 0%,#21130ddd 40%,#21130d24 78%),url('pie-homepage.jpg') 78% center/cover no-repeat;box-shadow:0 18px 46px #321b1335}
.hero-stage14 .hero-content{position:relative;z-index:1;max-width:600px}.hero-stage14 h1{font-size:clamp(44px,6vw,77px);letter-spacing:-.035em;line-height:1.06}.hero-stage14 h1 span{color:#ffc15c}.hero-stage14 p{line-height:1.5}.hero-kicker{font-size:13px!important;font-weight:900;letter-spacing:.16em;color:#ffc15c}.hero-stage14 .actions{max-width:580px}.hero-stage14 .btn{box-shadow:0 6px 18px #0005}.hero-stage14 .btn-outline{background:#21130d91;border:1px solid #ffc15c;color:#fff}.hero-script{font-family:Georgia,serif;font-style:italic;font-size:clamp(21px,3vw,33px)!important;color:#ffe5aa;transform:rotate(-3deg);margin-top:36px}
.hero-seal{position:absolute;z-index:1;right:30px;top:28px;width:110px;height:110px;border:3px double #ffd27b;background:#49301eea;border-radius:50%;color:#ffd27b;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;font-size:32px;transform:rotate(9deg)}.hero-seal small{font-size:12px;font-weight:900;line-height:1.2;letter-spacing:.05em}
.pie-feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:25px 0 35px}.pie-feature{background:#fff;border:1px solid #e9d7b9;border-radius:18px;padding:22px 14px;text-align:center;text-decoration:none;color:var(--brown);box-shadow:0 4px 18px #321b130b;transition:transform .15s ease}.pie-feature:hover,.pie-feature:focus-visible{transform:translateY(-3px);border-color:#db9d37}.pie-feature span{font-size:39px}.pie-feature h2{font-size:22px;margin:10px 0 6px}.pie-feature p{margin:0;line-height:1.4;color:#755e51}
body.phone-mode .pie-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}body.phone-mode .hero-stage14{min-height:650px;background:linear-gradient(180deg,#1e120df5 0%,#21130de0 45%,#21130d18 100%),url('pie-homepage.jpg') center bottom/cover no-repeat}body.phone-mode .hero-seal{top:auto;bottom:20px;width:80px;height:80px;font-size:22px}body.phone-mode .hero-seal small{font-size:9px}body.phone-mode .hero-stage14 .actions{flex-direction:column;align-items:stretch}body.phone-mode .hero-stage14 .btn{text-align:center}
@media(max-width:850px){.pie-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-seal{top:auto;bottom:20px;width:84px;height:84px;font-size:24px}.hero-seal small{font-size:9px}}
@media(max-width:650px){.hero-stage14{min-height:680px;background:linear-gradient(180deg,#1e120df7 0%,#21130de8 44%,#21130d22 100%),url('pie-homepage.jpg') center bottom/cover no-repeat;padding:25px}.hero-stage14 h1{font-size:clamp(40px,10vw,56px)}.hero-stage14 .actions{flex-direction:column;align-items:stretch;padding-bottom:30px}.hero-stage14 .actions .btn{text-align:center}.hero-script{margin-top:8px}.pie-feature{padding:16px 9px}.pie-feature h2{font-size:19px}.pie-feature p{font-size:14px}}
@media(prefers-reduced-motion:reduce){.pie-feature{transition:none}}

/* MyPiePlace compact navigation: scoped to avoid changing page content or existing features. */
.pie-site-header{position:relative;isolation:isolate;overflow:hidden;background:#201a16;min-height:68px;padding:0 20px;display:block;box-shadow:0 3px 18px #0002}
.pie-site-header::before{content:"";position:absolute;inset:-30px 12% -30px auto;width:220px;background:url('pie-watermark.svg') center/contain no-repeat;opacity:.075;pointer-events:none;z-index:-1}
.pie-header-inner{max-width:1150px;margin:auto;min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.pie-brand{min-width:0}.pie-brand strong{font-size:clamp(18px,4vw,23px);white-space:nowrap}
.pie-menu-toggle,.pie-menu-close{background:#493427;color:#ffc15c;border:1px solid #77583c;border-radius:10px;padding:10px 14px;display:inline-flex;align-items:center;gap:8px;min-height:44px;justify-content:center}
.pie-menu-toggle:hover,.pie-menu-close:hover{background:#60452f}.pie-menu-bars{font-size:22px;line-height:1}
.pie-menu-shade{position:fixed;inset:0;background:#160d0ac9;z-index:1000}.pie-menu-shade[hidden]{display:none}
.pie-site-menu{position:fixed;z-index:1001;inset:0 0 0 auto;width:min(390px,90vw);max-height:100dvh;overflow-y:auto;overscroll-behavior:contain;background:#251a15;color:#fff4e5;box-shadow:-15px 0 45px #0006;padding:18px 18px 35px;display:block;transform:translateX(105%);visibility:hidden;transition:transform .2s ease,visibility .2s}
.pie-menu-open{overflow:hidden}.pie-menu-open .pie-site-menu{transform:translateX(0);visibility:visible}
.pie-menu-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;color:#ffc15c;font-size:19px;margin-bottom:18px}
.pie-site-menu a{display:block;color:#fff3df;font-size:15px;font-weight:600;text-decoration:none;padding:11px 13px;border-radius:9px}
.pie-site-menu a:hover,.pie-site-menu a:focus-visible,.pie-site-menu a[aria-current="page"]{background:#4c3629;color:#ffc15c}
.pie-site-menu .pie-menu-feature{background:#3b2a21;margin:7px 0;color:#ffc15c}
.pie-menu-group{border-top:1px solid #5d4333;margin-top:9px;padding-top:7px}
.pie-menu-group summary{cursor:pointer;color:#ffc15c;font-weight:800;padding:13px 9px;list-style-position:inside}
.pie-menu-links{padding:0 0 8px 10px}.pie-menu-display{padding:10px 13px;color:#fff3df;font-size:14px}
.pie-site-menu .layout-control{justify-content:flex-start;margin:10px 0 0}.pie-site-menu .layout-control button{font-size:13px;padding:9px 13px}
body.phone-mode .pie-site-header{flex-direction:initial}body.phone-mode .pie-header-inner{flex-direction:row}
@media(max-width:650px){.pie-site-header{padding:0 14px}.pie-header-inner{flex-direction:row;align-items:center}.pie-menu-toggle{padding:9px 11px}.pie-brand strong{font-size:18px}.pie-site-header::before{right:12%;width:170px}}
@media(prefers-reduced-motion:reduce){.pie-site-menu{transition:none}}
