/* Cashew Kitty – static site styles. Colors live in :root so they're easy to retheme. */
:root{
  --red:#9e1418; --red-dark:#6d0d10; --red-bright:#c8201f;
  --gold:#f4b731; --gold-dark:#c98c0c; --cream:#fff6e6; --paper:#fffaf1;
  --ink:#231a16; --muted:#6b5a50; --line:#e8d6bb;
  --display:'Kaushan Script','Brush Script MT',cursive;
  --head:'Oswald','Arial Narrow',Arial,sans-serif;
  --body:'Open Sans',Arial,Helvetica,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--body);color:var(--ink);background:var(--paper);line-height:1.55;font-size:16px}
img{max-width:100%;height:auto;display:block}
a{color:var(--red)}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

.topbar{background:var(--ink);color:#f5e7cf;text-align:center;font-size:13.5px;padding:7px 12px;letter-spacing:.02em}
.topbar a{color:var(--gold);font-weight:700}

.site-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:4px solid var(--gold);box-shadow:0 2px 10px rgba(0,0,0,.08)}
.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:76px;gap:16px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--red)}
.brand-cat{width:72px}
.brand-text{font-family:var(--display);font-size:30px;line-height:1;color:var(--red)}
.brand-text small{display:block;font-family:var(--head);font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-top:4px}
.main-nav{display:flex;align-items:center;gap:22px}
.main-nav a{font-family:var(--head);text-transform:uppercase;letter-spacing:.06em;font-weight:600;font-size:15px;text-decoration:none;color:var(--ink)}
.main-nav a:hover{color:var(--red)}
.nav-toggle{display:none;background:none;border:2px solid var(--red);color:var(--red);font-size:22px;border-radius:6px;padding:2px 10px;cursor:pointer}

.btn{display:inline-block;font-family:var(--head);text-transform:uppercase;letter-spacing:.06em;font-weight:600;text-decoration:none;border-radius:999px;padding:12px 26px;border:2px solid transparent;cursor:pointer;font-size:16px;transition:transform .15s,box-shadow .15s}
.btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.2)}
.btn-gold{background:var(--gold);color:var(--ink)!important;border-color:var(--gold-dark)}
.btn-red{background:var(--red);color:#fff}
.btn-outline{border-color:#fff;color:#fff}
.btn-sm{padding:8px 16px;font-size:14px}
.btn-sm em{display:block;font-style:normal;font-size:10px;letter-spacing:.12em;opacity:.75;line-height:1}
.btn-lg{padding:16px 36px;font-size:19px}

/* Future-home banner (AI artist's rendering) */
.future{background:var(--ink)}
.future-fig{position:relative;margin:0;max-width:1600px;margin:0 auto}
.future-fig img{width:100%;aspect-ratio:16/7;object-fit:cover;object-position:50% 30%}
.future-fig figcaption{position:absolute;left:0;right:0;bottom:0;padding:60px 24px 18px;text-align:center;color:#fff;background:linear-gradient(transparent,rgba(20,8,6,.85))}
.future-kicker{display:block;font-family:var(--head);text-transform:uppercase;letter-spacing:.25em;font-size:14px;color:var(--gold)}
.future-fig strong{display:block;font-family:var(--display);font-weight:400;font-size:clamp(34px,5vw,58px);line-height:1.1}
.future-sub{display:block;font-family:var(--head);text-transform:uppercase;letter-spacing:.12em;font-size:14px}
.future-fig em{position:absolute;right:14px;bottom:10px;font-size:11.5px;opacity:.75}
.story-photo{margin:0}
.story-photo img{width:100%;border-radius:12px;box-shadow:0 0 0 6px #fff,0 0 0 10px var(--red),0 12px 30px rgba(0,0,0,.25)}
.story-photo figcaption{margin-top:14px;text-align:center;font-size:13px;font-style:italic;color:var(--muted)}

/* Hero: CSS-only cloud/lattice pattern, no photos */
.hero{
  color:#fff;text-align:center;padding:56px 0 64px;position:relative;overflow:hidden;
  background:
    radial-gradient(ellipse at 50% 35%,rgba(255,190,80,.22),transparent 60%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cg fill='none' stroke='%23ffcf6b' stroke-opacity='.13' stroke-width='3'%3E%3Cpath d='M20 60c0-11 9-20 20-20s20 9 20 20M40 60c0-6 4-10 10-10s10 4 10 10M60 60c0-11 9-20 20-20s20 9 20 20M80 60c0-6 4-10 10-10'/%3E%3Cpath d='M-20 120c0-11 9-20 20-20s20 9 20 20M0 120c0-6 4-10 10-10s10 4 10 10M20 120c0-11 9-20 20-20s20 9 20 20M100 120c0-11 9-20 20-20s20 9 20 20M100 0c0 11 9 20 20 20M20 0c0 11 9 20 20 20s20-9 20-20'/%3E%3C/g%3E%3C/svg%3E"),
    linear-gradient(180deg,var(--red-bright),var(--red) 55%,var(--red-dark));
}
.hero::before,.hero::after{content:"";position:absolute;top:0;width:90px;height:160px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 90 160'%3E%3Cline x1='45' y1='0' x2='45' y2='30' stroke='%23f4b731' stroke-width='3'/%3E%3Crect x='30' y='28' width='30' height='10' rx='2' fill='%23f4b731'/%3E%3Cellipse cx='45' cy='78' rx='40' ry='44' fill='%23e0281f'/%3E%3Cpath d='M45 34c-16 10-16 78 0 88M45 34c16 10 16 78 0 88M45 34c-34 10-34 78 0 88M45 34c34 10 34 78 0 88' stroke='%23a3110f' stroke-width='2' fill='none'/%3E%3Cellipse cx='34' cy='62' rx='9' ry='16' fill='%23ff7a4d' opacity='.55'/%3E%3Crect x='30' y='118' width='30' height='10' rx='2' fill='%23f4b731'/%3E%3Cpath d='M36 128v26M41 128v30M45 128v28M49 128v30M54 128v26' stroke='%23f4b731' stroke-width='2'/%3E%3C/svg%3E") no-repeat center/contain;filter:drop-shadow(0 6px 10px rgba(0,0,0,.35))}
.hero::before{left:5%}.hero::after{right:5%}
.hero-brand{display:flex;align-items:center;justify-content:center;gap:clamp(10px,3vw,40px);max-width:1000px;margin:0 auto}
.hero-cat{height:clamp(150px,24vw,330px);width:auto;filter:drop-shadow(0 8px 18px rgba(0,0,0,.4));transform:rotate(-4deg)}
.hero-wordmark{height:clamp(150px,24vw,330px);width:auto;filter:drop-shadow(0 8px 18px rgba(0,0,0,.35))}
.hero-badge{display:inline-block;margin:18px 0 6px;background:var(--gold);color:var(--ink);font-family:var(--head);text-transform:uppercase;letter-spacing:.14em;font-weight:700;padding:7px 18px;border-radius:4px;font-size:15px;box-shadow:0 3px 0 var(--gold-dark)}
.hero h1{font-family:var(--head);font-weight:600;font-size:clamp(26px,4.2vw,46px);line-height:1.15;margin:14px auto 10px;max-width:850px;text-shadow:0 2px 0 rgba(0,0,0,.25)}
.hero-sub{max-width:660px;margin:0 auto 24px;font-size:17px;color:#fde9d4}
.hero-cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.hero-points{list-style:none;padding:0;margin:28px 0 0;display:flex;justify-content:center;gap:10px 26px;flex-wrap:wrap;font-family:var(--head);text-transform:uppercase;letter-spacing:.12em;font-size:14px;color:var(--gold)}
.hero-points li::before{content:"\2714  ";color:#fff}

.section-title{font-family:var(--display);color:var(--red);font-weight:400;font-size:clamp(36px,5vw,52px);text-align:center;margin:0 0 4px;line-height:1.1}
.section-title.left{text-align:left}
.section-lead{text-align:center;color:var(--muted);margin:0 auto 34px;max-width:640px}

.features{padding:60px 0;background:var(--cream)}
.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.feature-card{background:#fff;border-radius:14px;padding:22px 20px 24px;text-align:center;box-shadow:0 6px 18px rgba(110,40,10,.10);border-top:6px solid var(--red)}
.feature-art{width:120px;margin:0 auto 10px}
.feature-card h3{font-family:var(--head);font-weight:600;font-size:19px;margin:6px 0 8px;color:var(--ink);text-transform:uppercase;letter-spacing:.03em}
.feature-card p{margin:0;color:var(--muted);font-size:14.5px}

.menu{padding:64px 0;background:#f7ecd8 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40'%3E%3Cpath d='M0 20h40M20 0v40' stroke='%23e9d6b4' stroke-width='1'/%3E%3C/svg%3E")}
.menu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:start}
.menu-col{display:flex;flex-direction:column;gap:22px}
.menu-box{background:#fffdf8;border:1px solid var(--line);border-radius:6px;overflow:hidden;box-shadow:0 3px 10px rgba(80,30,0,.08)}
.menu-box h3{margin:0;background:var(--red);color:#fff;font-family:var(--display);font-weight:400;font-size:26px;text-align:center;padding:8px 10px 6px;border-bottom:3px solid var(--gold)}
.feature-box{border:2px solid var(--gold)}
.feature-box h3{background:linear-gradient(var(--red-bright),var(--red))}
.note{margin:12px 16px 0;color:var(--red);font-weight:700;font-size:12.5px;text-transform:uppercase;letter-spacing:.03em;text-align:center}
.items{list-style:none;margin:0;padding:10px 16px 14px}
.items li{display:flex;align-items:baseline;gap:8px;padding:8px 0;border-bottom:1px dotted #d9c3a0;font-size:14.5px}
.items li:last-child{border-bottom:0}
.items .n{color:var(--red);font-weight:700;min-width:28px;font-size:13px}
.items .name{flex:1;font-weight:600}
.items .name i{display:block;font-weight:400;color:var(--muted);font-size:13px;font-style:italic}
.items .name b{display:block}
.items .p{white-space:nowrap;font-weight:700;color:var(--ink)}
.warn{display:inline!important;color:var(--red);font-size:11px;text-transform:uppercase;margin-left:4px}
.advisory{margin:30px auto 0;max-width:820px;font-size:12.5px;color:var(--muted);text-align:center;font-style:italic}

.story{padding:72px 0;background:#fff}
.story-inner{display:grid;grid-template-columns:5fr 7fr;gap:48px;align-items:center}
.story-art{position:relative;background:radial-gradient(circle at 50% 45%,#ffe3a6,#f4b731 60%,#d48f12);border-radius:50%;aspect-ratio:1;display:flex;align-items:center;justify-content:center;max-width:430px;margin:0 auto;width:100%;box-shadow:inset 0 0 0 10px #fff,0 0 0 6px var(--red)}
.story-art img{width:78%}
.lantern{position:absolute;width:46px;height:62px;border-radius:45%;background:radial-gradient(ellipse at 40% 35%,#ff6a3d,#c8201f 70%);box-shadow:0 0 18px rgba(255,90,40,.55)}
.lantern::before{content:"";position:absolute;left:50%;top:-22px;width:2px;height:22px;background:var(--gold-dark)}
.lantern::after{content:"";position:absolute;left:30%;bottom:-14px;width:40%;height:14px;background:repeating-linear-gradient(90deg,var(--gold) 0 2px,transparent 2px 4px)}
.l1{top:4%;left:0}.l2{top:0;right:6%;transform:scale(.8)}
.story-text p{font-size:16.5px}
.signoff{font-family:var(--display);font-size:26px;color:var(--red);line-height:1.2}
.signoff span{font-size:20px;color:var(--muted)}

.info{padding:60px 0;background:var(--red-dark);color:#fff}
.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.info-card{background:rgba(255,255,255,.06);border:1px solid rgba(244,183,49,.45);border-radius:10px;padding:24px}
.info-card h3{font-family:var(--display);font-weight:400;color:var(--gold);font-size:32px;margin:0}
.opening{font-family:var(--head);text-transform:uppercase;letter-spacing:.1em;font-size:18px;margin:2px 0 12px}
.hours{width:100%;border-collapse:collapse;font-size:15px}
.hours th{text-align:left;font-weight:600;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.15)}
.hours td{text-align:right;color:#f8d9b0;border-bottom:1px solid rgba(255,255,255,.15)}
.small{font-size:13px;color:#f1cfa8}
.badges{list-style:none;padding:0;margin:12px 0 0;display:flex;flex-wrap:wrap;gap:8px}
.badges li{background:var(--gold);color:var(--ink);font-family:var(--head);font-size:13px;text-transform:uppercase;letter-spacing:.08em;padding:4px 10px;border-radius:4px}

.merch{background:var(--red-bright) linear-gradient(100deg,var(--red-bright),var(--red));color:#fff;padding:44px 0;border-top:6px solid var(--gold);border-bottom:6px solid var(--gold)}
.merch-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.merch h2{font-family:var(--head);text-transform:uppercase;font-size:clamp(28px,4vw,44px);margin:0;color:var(--gold);letter-spacing:.03em}
.merch p{margin:4px 0 0}
.merch-kicker{font-family:var(--display);font-size:24px}

.signup{padding:64px 0;background:var(--cream);text-align:center}
.signup-form{display:flex;max-width:520px;margin:0 auto;gap:10px}
.signup-form input{flex:1;padding:14px 18px;border:2px solid var(--line);border-radius:999px;font-size:16px;font-family:var(--body)}
.signup-form input:focus{outline:none;border-color:var(--red)}
.signup-msg{min-height:24px;color:var(--red);font-weight:600;margin-top:14px}

.site-footer{background:var(--ink);color:#d8c8b6;padding:40px 0 18px;font-size:14.5px}
.site-footer a{color:#f5e7cf}
.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:28px;align-items:center}
.footer-logo{width:220px}
.site-footer h4{font-family:var(--head);text-transform:uppercase;letter-spacing:.1em;color:var(--gold);margin:0 0 6px}
.site-footer p{margin:4px 0}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:26px;padding-top:14px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px;font-size:12.5px}

@media (max-width:980px){
  .feature-grid{grid-template-columns:repeat(2,1fr)}
  .menu-grid{grid-template-columns:1fr 1fr}
  .menu-col:nth-child(3){grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr}
  .info-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  .menu-col:nth-child(2){order:-1}
  .nav-toggle{display:block}
  .main-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;flex-direction:column;padding:14px 20px 20px;gap:14px;border-bottom:4px solid var(--gold);box-shadow:0 8px 14px rgba(0,0,0,.12)}
  .main-nav.open{display:flex}
  .brand-cat{width:56px}.brand-text{font-size:25px}
  .hero{padding:40px 0 48px}
  .hero::before,.hero::after{width:54px;height:96px}
  .hero::before{left:-6px}.hero::after{right:-6px}
  .hero-brand{flex-direction:column;gap:6px}
  .hero-cat{height:auto;width:min(230px,58vw)}
  .hero-wordmark{height:auto;width:min(360px,88vw)}
  .future-fig img{aspect-ratio:4/3;object-position:35% 50%}
  .future-fig figcaption{padding-top:40px}
  .future-fig em{position:static;display:block;margin-top:6px}
  .menu-grid,.menu-col:nth-child(3){grid-template-columns:1fr;display:flex}
  .menu-grid{flex-direction:column}
  .menu-col{width:100%}
  .story-inner{grid-template-columns:1fr;gap:30px}
  .story-art{max-width:300px}
  .section-title.left{text-align:center}
  .info-grid{grid-template-columns:1fr}
  .merch-inner{flex-direction:column;text-align:center}
  .signup-form{flex-direction:column}
  .footer-grid{grid-template-columns:1fr;text-align:center}
  .footer-logo{margin:0 auto}
  .footer-bottom{justify-content:center;text-align:center}
}
@media (max-width:520px){ .feature-grid{grid-template-columns:1fr} .items li{font-size:14px} }
