:root{
  --bg:#08111e; --panel:#101c2c; --panel2:#17253a; --cream:#f7efd8;
  --text:#f6f1e7; --muted:#c7c4bb; --red:#e33b36; --gold:#f1b94c; --blue:#34a9ff;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;font-family:Arial,Helvetica,sans-serif;background:radial-gradient(circle at top,#152b48 0,#08111e 48%,#05090f 100%);color:var(--text)}
a{color:inherit;text-decoration:none} img{max-width:100%;display:block}
.wrap{width:min(1180px,92%);margin:auto}.site-header{position:sticky;top:0;z-index:20;background:rgba(5,9,15,.94);backdrop-filter:blur(9px);border-bottom:2px solid var(--red)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 0}.brand{font-family:Georgia,serif;font-weight:900;font-size:1.25rem;letter-spacing:.03em}.brand span{color:var(--gold)}
.nav-links{display:flex;gap:17px;flex-wrap:wrap;font-weight:700;font-size:.95rem}.nav-links a:hover{color:var(--gold)}
.hero{padding:44px 0 26px}.hero-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:34px;align-items:center}.hero-art{border:5px solid var(--cream);box-shadow:0 20px 60px #0008;border-radius:24px;overflow:hidden}.eyebrow{color:var(--gold);font-weight:900;letter-spacing:.15em;text-transform:uppercase}.hero h1{font-family:Georgia,serif;font-size:clamp(2.7rem,6vw,5.6rem);line-height:.88;margin:.15em 0;color:var(--cream);text-shadow:4px 4px 0 #000}.hero p{font-size:1.12rem;line-height:1.7;color:var(--muted)}
.cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.btn{display:inline-block;padding:13px 18px;border-radius:999px;font-weight:900;border:2px solid var(--cream)}.btn.primary{background:var(--red)}.btn.secondary{background:transparent}.btn:hover{transform:translateY(-1px)}
.section{padding:56px 0}.section.alt{background:#0d1726}.section h2{font-family:Georgia,serif;font-size:clamp(2rem,4vw,3.2rem);margin:0 0 10px}.section-intro{max-width:780px;color:var(--muted);line-height:1.65;margin-bottom:24px}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:linear-gradient(180deg,var(--panel2),var(--panel));border:1px solid #ffffff18;border-radius:18px;overflow:hidden;box-shadow:0 12px 28px #0005}.card img{aspect-ratio:4/3;object-fit:cover}.card .pad{padding:17px}.card h3{margin:0 0 8px}.card p{margin:0;color:var(--muted);line-height:1.55}
.slideshow{position:relative;border-radius:22px;overflow:hidden;border:3px solid var(--gold);background:#000;min-height:520px}.slide{display:none;position:absolute;inset:0}.slide.active{display:block}.slide img{width:100%;height:100%;object-fit:contain;background:#050505}.slide-caption{position:absolute;left:0;right:0;bottom:0;padding:34px 22px 18px;background:linear-gradient(transparent,#000e);font-weight:800}.slide-controls{display:flex;justify-content:center;gap:10px;margin-top:14px}.dot{width:12px;height:12px;border-radius:50%;background:#ffffff55;border:none}.dot.active{background:var(--gold)}
.story{display:grid;grid-template-columns:.9fr 1.1fr;gap:28px;align-items:center}.story-copy{background:#0f1d30;border-left:5px solid var(--red);padding:25px;border-radius:14px;line-height:1.72;color:#e8e3d8}.story-img{border-radius:18px;overflow:hidden;border:3px solid var(--cream)}
.event-banner{padding:24px;background:linear-gradient(115deg,#7a1115,#25101d 55%,#0f2541);border-radius:18px;border:1px solid #ffffff22}.event-banner strong{color:var(--gold)}
.shop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.product{background:#101b2a;border-radius:16px;overflow:hidden;border:1px solid #ffffff1c}.product img{aspect-ratio:1/1;object-fit:cover}.product .pad{padding:15px}.price{font-weight:900;color:var(--gold);margin-top:9px}.small{font-size:.9rem;color:var(--muted)}
.notice{background:#17130b;border:1px solid #7d6324;padding:16px;border-radius:12px;color:#f4e6b5}.footer{padding:34px 0;border-top:1px solid #ffffff1a;color:#aaa;text-align:center}
.page-hero{padding:52px 0 18px}.page-hero h1{font-family:Georgia,serif;font-size:clamp(2.4rem,5vw,4.6rem);margin:.1em 0}.tag{display:inline-block;padding:6px 10px;border:1px solid #ffffff25;border-radius:999px;margin:4px 6px 4px 0;color:#ddd}
form{display:grid;gap:12px;max-width:680px}input,textarea{width:100%;padding:13px 14px;border-radius:10px;border:1px solid #ffffff2b;background:#0d1827;color:white;font:inherit}textarea{min-height:150px}
@media(max-width:820px){.hero-grid,.story{grid-template-columns:1fr}.grid,.shop-grid{grid-template-columns:1fr 1fr}.nav{align-items:flex-start}.nav-links{justify-content:flex-end}.slideshow{min-height:430px}}
@media(max-width:560px){.grid,.shop-grid{grid-template-columns:1fr}.nav{display:block}.nav-links{margin-top:10px;gap:10px;font-size:.86rem}.hero{padding-top:24px}.slideshow{min-height:360px}.brand{font-size:1.12rem}}
.event-grid{display:grid;gap:24px}.event-card{display:grid;grid-template-columns:minmax(280px,.78fr) 1.22fr;background:linear-gradient(180deg,var(--panel2),var(--panel));border:1px solid #ffffff1f;border-radius:20px;overflow:hidden;box-shadow:0 14px 34px #0006}.event-card>img{width:100%;height:100%;min-height:430px;object-fit:contain;background:#050505}.event-info{padding:26px}.event-info h2{font-size:clamp(1.7rem,3vw,2.6rem);margin:.15em 0 .35em}.event-info p{color:var(--muted);line-height:1.6}.event-date{color:var(--gold);font-weight:900;letter-spacing:.08em}.event-info .tag{font-size:.84rem}
@media(max-width:720px){.event-card{grid-template-columns:1fr}.event-card>img{min-height:0;max-height:620px}.event-info{padding:20px}}

.memory-placeholder{min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:28px;background:linear-gradient(180deg,var(--panel2),var(--panel));border:2px dashed #ffffff30;border-radius:18px}.memory-placeholder h3{margin:8px 0}.memory-placeholder p{margin:0;max-width:320px;color:var(--muted);line-height:1.55}.memory-icon{font-size:2.4rem;color:var(--gold)}
