:root {
  --cream: #ffffff;
  --paper: #ffffff;
  --ink: #151515;
  --muted: #686868;
  --line: #e7e7e7;
  --orange: #f06422;
  --orange-dark: #c94b12;
  --orange-soft: #fff0e8;
  --green: #151515;
  --ochre: #f58a3d;
  --shadow: 0 16px 45px rgba(68, 42, 18, .08);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--cream); font-family: "Lato", sans-serif; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
a { color: inherit; text-decoration: none; }
.site-shell { min-height: 100vh; }
.container { width: min(1140px, calc(100% - 40px)); margin: 0 auto; }
.site-header { position: sticky; top: 0; z-index: 10; backdrop-filter: blur(14px); background: rgba(255,250,242,.88); border-bottom: 1px solid rgba(234,223,210,.75); }
.nav { height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.brand { display: flex; align-items: center; gap: 11px; font-weight: 700; letter-spacing: -.04em; font-size: 19px; }
.brand-mark { width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; color: white; background: var(--orange); font-family: "Playfair Display"; font-size: 22px; }
.brand-mark img { width:100%; height:100%; display:block; object-fit:cover; border-radius:50%; }
.nav-links { display: flex; gap: 20px; align-items: center; color: var(--muted); font-size: 14px; }
.nav-links a:hover { color: var(--orange); }
.cart-chip { border: 1px solid var(--line); background: var(--paper); border-radius: 999px; padding: 8px 12px; font-size: 13px; font-weight: 600; white-space: nowrap; }
.cart-chip b { color: var(--orange); }
.hero { padding: 88px 0 70px; display: grid; grid-template-columns: 1.16fr .84fr; align-items: center; gap: 58px; }
.eyebrow { color: var(--orange); text-transform: uppercase; letter-spacing: .15em; font-weight: 700; font-size: 11px; }
h1,h2,h3,p { margin-top: 0; }
h1,h2,h3 { font-family: "Poppins", sans-serif; letter-spacing: -.055em; line-height: 1.03; }
h1 { font-size: clamp(48px, 7.4vw, 85px); margin: 12px 0 20px; }
h2 { font-size: clamp(32px, 4vw, 49px); margin-bottom: 14px; }
h3 { font-size: 18px; letter-spacing: -.025em; margin-bottom: 8px; }
.lead { font-size: 18px; line-height: 1.65; color: var(--muted); max-width: 560px; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 11px; margin-top: 29px; }
.hero-actions-below { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 20px; margin-bottom: 6px; }
.home-link-card { min-width: 0; min-height: 118px; display: flex; align-items: center; gap: 17px; padding: 22px 23px; border-radius: 16px; background: #493127; color: #fffaf2; box-shadow: 0 10px 24px rgba(55,35,25,.14); transition: background .2s ease, transform .2s ease; }
.home-link-card:hover { background: #624231; transform: translateY(-2px); }
.home-link-card:focus-visible { outline: 3px solid #b47748; outline-offset: 3px; }
.home-link-icon { flex: 0 0 48px; width: 48px; height: 48px; display: grid; place-items: center; border-radius: 13px; background: rgba(255,250,242,.13); color: #ffe0b3; }
.home-link-icon svg { width: 26px; height: 26px; }
.home-link-label { font-family: "Poppins", sans-serif; font-size: clamp(15px, 1.35vw, 18px); font-weight: 700; line-height: 1.3; }
.home-link-arrow { margin-left: auto; color: #ffe0b3; font-size: 23px; }
.hero-full { width: 100%; height: min(760px, calc(100svh - 76px)); min-height: 420px; margin: 0; padding: 0; border: 0; background: #fff; }
.hero-full img { display: block; width: 100%; height: 100%; margin: 0; padding: 0; border: 0; }
.hero-full-photo { object-fit: contain; object-position: center; }
.button { min-height: 46px; border: 1px solid transparent; border-radius: 5px; padding: 0 19px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; font-weight: 700; font-size: 13px; letter-spacing: .02em; transition: .2s ease; }
.button:hover { transform: translateY(-1px); }
.button-primary { background: var(--orange); color: white; }
.button-primary:hover { background: var(--orange-dark); }
.button-secondary { background: transparent; color: var(--ink); border-color: var(--line); }
.button-quiet { background: var(--orange-soft); color: var(--orange-dark); }
.button-small { min-height: 37px; padding: 0 13px; font-size: 12px; }
.hero-art { min-height: 420px; position: relative; border-radius: 220px 220px 24px 24px; overflow: hidden; background: linear-gradient(150deg, #ef7d2d, #c84f15); box-shadow: var(--shadow); }
.hero-art:before, .hero-art:after { content:""; position:absolute; border-radius:50%; background:rgba(255,255,255,.14); }
.hero-art:before { width:360px; height:360px; top:-108px; right:-100px; }
.hero-art:after { width:220px; height:220px; bottom:-80px; left:-65px; }
.hero-plate { width: 245px; height: 245px; position:absolute; top: 88px; left:50%; transform: translateX(-50%); border-radius:50%; border: 15px solid #fff8e9; background: #f6c15a; box-shadow: 0 13px 0 #e5a93d, 0 27px 36px rgba(76,31,5,.28); }
.hero-plate:before { content:""; position:absolute; width: 132px; height: 68px; background:#b64522; border-radius: 65% 40% 55% 40%; top:61px; left:45px; transform:rotate(-9deg); box-shadow: 55px 53px 0 -8px #496c3d, 11px 92px 0 -5px #f4e3a4; }
.hero-caption { position:absolute; bottom:27px; left:30px; color:white; font-family:"Playfair Display"; font-size: 23px; }
.section { padding: 76px 0; }
.section-soft { background: #f7eee3; }
.section-intro { display:flex; justify-content:space-between; gap:24px; align-items:end; margin-bottom:32px; }
.section-intro p { color:var(--muted); max-width: 470px; line-height:1.55; margin:0; }
.choice-grid, .feature-grid, .contact-grid { display:grid; grid-template-columns: repeat(3,1fr); gap:18px; }
.choice-card, .feature-card, .contact-card { border:1px solid var(--line); background:var(--paper); padding:29px; border-radius:12px; }
.choice-card { min-height: 230px; display:flex; flex-direction:column; align-items:flex-start; }
.choice-card p,.feature-card p,.contact-card p { color:var(--muted); line-height:1.6; font-size:14px; }
.choice-card .button { margin-top:auto; }
.number { width:29px; height:29px; border-radius:50%; display:grid; place-items:center; background:var(--orange-soft); color:var(--orange); font-size:12px; font-weight:700; margin-bottom:22px; }
.contact-card strong { display:block; margin-bottom:4px; }
.footer { padding:35px 0; border-top:1px solid var(--line); color:var(--muted); font-size:13px; }
.footer-inner { display:flex; justify-content:space-between; gap:20px; align-items:center; }
.page-head { padding: 54px 0 30px; }
.page-head h1 { font-size: clamp(39px, 5vw, 60px); margin-bottom:13px; }
.page-head .lead { font-size:16px; }
.notice { background:var(--orange-soft); border-left:3px solid var(--orange); border-radius:3px; padding:14px 16px; color:#78401f; font-size:14px; line-height:1.5; margin: 18px 0 26px; }
.cart-feedback { position:fixed; z-index:20; right:20px; bottom:20px; padding:11px 15px; border-radius:999px; background:#151515; color:#fff; font-size:13px; font-weight:700; box-shadow:0 10px 28px rgba(0,0,0,.18); }
.catalog-layout { display:grid; grid-template-columns:1fr 320px; gap:27px; padding-bottom:70px; align-items:start; }
.catalog-controls { display:flex; gap:10px; flex-wrap:wrap; margin: 0 0 22px; }
.filter-button { background:transparent; border:1px solid var(--line); padding:8px 13px; border-radius:999px; font-size:13px; color:var(--muted); }
.filter-button.active { color:var(--orange-dark); background:var(--orange-soft); border-color:#f2bf98; }
.product-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.product-card { background:var(--paper); border:1px solid var(--line); border-radius:10px; overflow:hidden; }
.product-visual { min-height:120px; padding:15px; display:flex; align-items:end; background:linear-gradient(140deg,#fde7d3,#f8c897); position:relative; overflow:hidden; }
.product-visual:before { content:""; position:absolute; width:122px; height:122px; right:-28px; top:-38px; border-radius:50%; background:rgba(255,255,255,.38); }
.product-visual img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.product-visual span { position:relative; color:#913b14; font-family:"Playfair Display"; font-size:18px; max-width:160px; }
.product-info { padding:17px; }
.product-info h3 { font-size:16px; min-height:39px; }
.product-meta { color:var(--muted); font-size:12px; min-height:18px; }
.product-buy { display:flex; justify-content:space-between; align-items:end; gap:10px; margin-top:15px; }
.price { font-size:17px; font-weight:700; color:var(--orange-dark); white-space:nowrap; }
.price small { display:block; font-weight:400; color:var(--muted); font-size:11px; margin-top:2px; }
.summary-card { position:sticky; top:94px; background:#29231f; color:white; padding:23px; border-radius:10px; box-shadow:var(--shadow); }
.summary-card h3 { margin-bottom:18px; }
.summary-empty { color:#d1c8bd; font-size:14px; line-height:1.55; }
.summary-list { display:grid; gap:12px; margin-bottom:18px; }
.summary-row { display:flex; gap:9px; justify-content:space-between; color:#f7eee5; font-size:13px; }
.summary-row .row-name { max-width:175px; }
.summary-row button { color:#f0a272; background:none; border:0; padding:0; font-size:11px; }
.summary-row-editable { align-items:center; padding:7px 0; border-bottom:1px solid rgba(255,255,255,.11); }
.summary-row-editable:last-child { border-bottom:0; }
.summary-item-actions { display:grid; justify-items:end; gap:5px; }
.summary-card .summary-qty { border-color:rgba(255,255,255,.26); }
.summary-card .summary-qty button { width:29px; min-height:29px; padding:0; background:rgba(255,255,255,.1); color:#fff; font-size:17px; }
.summary-card .summary-qty input { width:40px; min-height:29px; background:#fff; color:#151515; }
.summary-card .summary-remove { color:#ffd2b8; font-weight:700; text-decoration:underline; }
.cart-summary-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr)); gap:18px; align-items:start; padding-bottom:60px; }
.cart-summary-grid .summary-card { position:static; }
.summary-total { border-top:1px solid #5b514b; padding-top:16px; display:flex; justify-content:space-between; font-size:18px; font-weight:700; margin-bottom:18px; }
.summary-card .button { width:100%; }
.summary-card .subtle { color:#d1c8bd; font-size:11px; margin-top:10px; line-height:1.4; }
.builder { display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:27px; padding-bottom:70px; align-items:start; }
.pack-control { border:1px solid var(--line); border-radius:10px; background:var(--paper); padding:20px; margin-bottom:19px; }
.pack-control label { font-weight:700; display:block; margin-bottom:9px; }
.inline-input { display:flex; align-items:center; gap:10px; }
.inline-input input { width:94px; }
.field, input, select, textarea { width:100%; border:1px solid var(--line); border-radius:5px; background:#fffefa; color:var(--ink); }
input,select { min-height:44px; padding:0 12px; }
textarea { padding:12px; min-height:95px; resize:vertical; }
.pack-helper { font-size:13px; color:var(--muted); margin:9px 0 0; line-height:1.45; }
.builder-group { border:1px solid var(--line); background:var(--paper); border-radius:10px; margin-bottom:11px; overflow:hidden; }
.builder-group summary { cursor:pointer; list-style:none; padding:19px; display:flex; align-items:center; justify-content:space-between; font-size:17px; font-weight:700; }
.builder-group summary::-webkit-details-marker { display:none; }
.builder-group summary:after { content:"+"; color:var(--orange); font-size:23px; font-weight:400; }
.builder-group[open] summary:after { content:"–"; }
.builder-products { padding:0 18px 18px; display:grid; gap:7px; }
.builder-item { display:flex; align-items:center; justify-content:space-between; gap:13px; border-top:1px solid #f0e8df; padding:12px 0; }
.builder-item-name { font-weight:600; font-size:14px; }
.builder-item-meta { color:var(--muted); font-size:12px; margin-top:3px; }
.qty-control { display:flex; border:1px solid var(--line); border-radius:5px; overflow:hidden; flex:none; }
.qty-control button { border:0; background:#fff7ef; width:30px; color:var(--orange-dark); font-size:18px; }
.qty-control input { border:0; border-left:1px solid var(--line); border-right:1px solid var(--line); width:36px; min-height:31px; padding:0; text-align:center; border-radius:0; }
.checkout { display:grid; grid-template-columns:minmax(0,1fr) 380px; gap:27px; padding-bottom:70px; align-items:start; }
.form-panel,.review-panel,.admin-panel { border:1px solid var(--line); background:var(--paper); padding:26px; border-radius:10px; }
.form-panel h2,.review-panel h2 { font-size:29px; }
.review-panel .summary-row { color: var(--ink); }
.review-panel .summary-row span { color: var(--muted); }
.review-panel .summary-total { border-color: var(--line); color: var(--ink); }
.form-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:15px; }
.form-grid .wide { grid-column:1/-1; }
.field label { display:block; font-size:12px; color:var(--muted); margin-bottom:7px; font-weight:600; }
.pickup-panel { margin-top:17px; border:1px solid #f1c4a0; border-radius:7px; padding:14px; background:var(--orange-soft); font-size:13px; line-height:1.45; color:#71401f; }
.payment-panel { margin-top:20px; padding:16px; border:1px dashed #d6ba9f; background:#fffaf2; border-radius:7px; font-size:14px; line-height:1.55; }
.payment-panel strong { color:var(--orange-dark); }
.error { color:#a82920; background:#fff0ee; border:1px solid #f1c4c0; border-radius:5px; padding:10px 12px; font-size:13px; margin:14px 0; }
.confirmation { max-width:670px; padding:89px 0; text-align:center; }
.confirmation-icon { width:65px; height:65px; border-radius:50%; margin:0 auto 22px; display:grid; place-items:center; background:#e4f0e8; color:var(--green); font-size:32px; }
.confirmation h1 { font-size:48px; }
.confirmation .order-ref { display:inline-block; background:var(--orange-soft); color:var(--orange-dark); padding:8px 12px; border-radius:4px; font-weight:700; margin: 8px 0 18px; }
.confirmation-card { text-align:left; border:1px solid var(--line); padding:22px; border-radius:9px; background:var(--paper); margin-top:25px; }
.admin-wrap { min-height:100vh; background:#f4efe8; }
.admin-top { padding:20px 0; background:#29231f; color:white; }
.admin-top-inner { display:flex; align-items:center; justify-content:space-between; gap:18px; }
.admin-title { display:flex; gap:12px; align-items:center; }
.admin-title small { color:#cfc3b6; display:block; margin-top:2px; }
.admin-content { padding:31px 0 60px; }
.admin-nav { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:20px; }
.admin-nav button { border:1px solid #d9d0c5; border-radius:5px; background:white; padding:9px 12px; font-size:13px; }
.admin-nav button.active { background:var(--orange); border-color:var(--orange); color:white; }
.metrics { display:grid; grid-template-columns:repeat(4,1fr); gap:13px; margin-bottom:20px; }
.metric { background:white; padding:18px; border-radius:8px; border:1px solid var(--line); }
.metric span { display:block; color:var(--muted); font-size:12px; }
.metric strong { font-size:24px; display:block; margin-top:6px; }
.order-list { display:grid; gap:11px; }
.admin-order { background:white; border:1px solid var(--line); padding:18px; border-radius:8px; }
.order-top { display:flex; justify-content:space-between; align-items:start; gap:15px; }
.order-top h3 { margin:0 0 4px; }
.order-sub { font-size:13px; color:var(--muted); }
.status { border:0; color:#fff; background:var(--green); padding:7px; border-radius:4px; font-size:12px; }
.status.New { background:#c27125; }.status.Confirmed { background:#39718a; }.status.Preparing { background:#8c5c9b; }.status.Ready { background:#317b60; }.status.Completed { background:#526b53; }.status.Cancelled { background:#90413c; }
.order-details { display:grid; grid-template-columns:1.1fr .9fr; gap:20px; margin-top:15px; border-top:1px solid var(--line); padding-top:15px; }
.order-items { display:grid; gap:5px; font-size:13px; }
.order-items span { color:var(--muted); }
.order-actions textarea { min-height:72px; margin-bottom:7px; }
.table-wrap { overflow:auto; }
table { width:100%; border-collapse:collapse; background:white; font-size:13px; }
th,td { text-align:left; padding:12px; border-bottom:1px solid var(--line); vertical-align:top; }
th { color:var(--muted); font-size:11px; text-transform:uppercase; letter-spacing:.04em; }
.product-admin-name { font-weight:700; }
.product-admin-meta { color:var(--muted); font-size:11px; margin-top:3px; }
.admin-form { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.admin-form .wide { grid-column:span 3; }
.admin-form .span2 { grid-column:span 2; }
.check-field { display:flex; align-items:center; gap:9px; padding-top:25px; font-size:13px; }
.check-field input { width:auto; min-height:auto; }
.login { width:min(410px,calc(100% - 40px)); margin: 12vh auto; background:var(--paper); padding:32px; border:1px solid var(--line); border-radius:12px; box-shadow:var(--shadow); }
.login h1 { font-size:39px; }
.login .button { width:100%; margin-top:15px; }
.empty { padding:30px; text-align:center; background:var(--paper); border:1px dashed var(--line); border-radius:8px; color:var(--muted); }
.mobile-only { display:none; }
@media (max-width: 820px) {
  .hero-actions-below { gap: 10px; }
  .home-link-card { min-height: 105px; gap: 10px; padding: 16px; }
  .home-link-icon { flex-basis: 42px; width: 42px; height: 42px; }
  .nav-links { display:none; }.container { width:min(100% - 30px, 620px); }.hero { grid-template-columns:1fr; padding:55px 0 44px; gap:35px; }.hero-art { min-height:310px; max-width:450px; width:100%; }.hero-plate { top:49px; transform:translateX(-50%) scale(.82); }.hero-caption { font-size:20px; }.choice-grid,.feature-grid,.contact-grid { grid-template-columns:1fr; }.section { padding:53px 0; }.section-intro { display:block; }.section-intro p { margin-top:8px; }.catalog-layout,.builder,.checkout { grid-template-columns:1fr; }.summary-card { position:static; }.product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.metrics { grid-template-columns:repeat(2,1fr); }.admin-form { grid-template-columns:1fr 1fr; }.admin-form .wide { grid-column:span 2; }.admin-form .span2 { grid-column:span 2; }.order-details { grid-template-columns:1fr; }.footer-inner { flex-direction:column; align-items:start; }
}
@media (max-width: 480px) {
  .hero-full { height: calc(100svh - 66px); min-height: 460px; }
  .hero-actions-below { grid-template-columns: 1fr; gap: 10px; }
  .home-link-card { min-height: 76px; }
  .nav { height:66px; }.brand { font-size:17px; }.brand-mark { width:31px; height:31px; font-size:19px; }.cart-chip { padding:7px 10px; }.hero { padding-top:40px; }.hero-art { min-height:265px; }.hero-plate { transform:translateX(-50%) scale(.68); top:20px; }.product-grid { grid-template-columns:1fr; }.form-grid { grid-template-columns:1fr; }.form-grid .wide { grid-column:auto; }.admin-form { grid-template-columns:1fr; }.admin-form .wide,.admin-form .span2 { grid-column:auto; }.metrics { grid-template-columns:1fr 1fr; }.admin-top-inner { align-items:start; }.mobile-only { display:block; }.confirmation { padding:61px 0; }.confirmation h1 { font-size:41px; }
}

/* Optional customer account area */
.nav-tools { display:flex; align-items:center; gap:10px; }
.account-link { min-height:36px; padding:0 10px; border:1px solid var(--line); border-radius:999px; display:inline-flex; align-items:center; gap:6px; color:var(--green); font-size:13px; font-weight:700; white-space:nowrap; }
.account-link svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; }
.account-link:hover { color:var(--orange); }
.account-note { margin:0 0 18px; padding:12px 14px; border-left:3px solid var(--ochre); background:#fff8eb; color:var(--muted); font-size:13px; line-height:1.5; }
.account-note a { color:var(--orange-dark); font-weight:700; }
.account-layout { display:grid; grid-template-columns:.82fr 1.18fr; gap:23px; padding: 0 0 75px; align-items:start; }
.account-history { padding: 8px 0 75px; }
.account-orders { display:grid; gap:11px; }
.account-order { display:flex; justify-content:space-between; gap:18px; padding:19px 21px; background:var(--paper); border:1px solid var(--line); border-radius:10px; }
.account-order div:last-child { text-align:right; }
.account-order strong,.account-order span { display:block; }
.account-order span { color:var(--muted); font-size:13px; margin-top:4px; }
.account-status { color:var(--orange-dark) !important; font-weight:700; }
@media (max-width:820px) { .account-layout { grid-template-columns:1fr; }.account-link { display:inline-flex; } }
@media (max-width:480px) { .account-order { padding:15px; }.account-order strong { font-size:13px; }.account-order span { font-size:11px; } }

/* Admin image upload controls */
.image-upload-row { display:flex; align-items:center; gap:12px; min-height:64px; }
.image-upload-preview { width:94px; height:58px; flex:0 0 auto; overflow:hidden; border:1px solid var(--line); border-radius:6px; display:grid; place-items:center; background:#fafafa; color:var(--muted); font-size:11px; }
.image-upload-preview img { width:100%; height:100%; object-fit:cover; }
.upload-status { color:var(--muted); font-size:12px; }
.gallery-preview { display:flex; flex-wrap:wrap; gap:9px; margin:0 0 12px; }
.gallery-preview-item { position:relative; width:92px; height:64px; border:1px solid var(--line); border-radius:6px; overflow:hidden; }
.gallery-preview-item img { width:100%; height:100%; object-fit:cover; }
.gallery-preview-item button { position:absolute; right:3px; top:3px; width:20px; height:20px; padding:0; border:0; border-radius:50%; color:#fff; background:#151515; font-size:16px; line-height:18px; }
@media (max-width:480px) { .image-upload-row { align-items:flex-start; flex-wrap:wrap; } }

/* Warm Cathy’s Kitchen brand refinement */
body { background: var(--cream); }
.site-header { background: rgba(255,255,255,.92); border-color: rgba(21,21,21,.1); }
.nav { height: 82px; }
.brand { gap: 9px; color: var(--green); }
.brand-mark { width: 31px; height: 31px; background: var(--orange); font-family: "Allura", cursive; font-size: 28px; box-shadow: 0 4px 12px rgba(240,100,34,.2); }
.brand span:last-child { font-family: "Allura", cursive; font-size: 34px; font-weight: 400; letter-spacing: -.02em; }
.nav-links { font-family: "Lato", sans-serif; font-weight: 700; letter-spacing: .025em; color: #4d4d4d; }
.nav-links a:hover { color: var(--orange); }
.cart-chip { border-color: rgba(21,21,21,.16); background: #fff; color: var(--green); }
.cart-chip b { color: var(--orange); }
.hero { position: relative; min-height: 620px; padding: 70px 54px; margin-top: 26px; display: flex; align-items: flex-end; overflow: hidden; border-radius: 26px; background: var(--green); box-shadow: 0 24px 60px rgba(51,69,31,.18); }
.hero > div:first-child { position: relative; z-index: 2; width: min(535px, 56%); padding: 22px 0; }
.hero .eyebrow { color: #ffad7b; }
.hero h1 { color: #fffdf8; font-size: clamp(49px, 6.25vw, 79px); font-weight: 700; margin: 13px 0 21px; text-shadow: 0 2px 14px rgba(26,36,16,.14); }
.hero .lead { color: rgba(255,253,248,.84); font-size: 18px; max-width: 480px; }
.hero .button-primary { background: var(--orange); color: #fff; }
.hero .button-primary:hover { background: var(--orange-dark); }
.hero .button-secondary { color: #fffdf8; border-color: rgba(255,255,255,.5); }
.hero .button-quiet { color: #fffdf8; background: rgba(255,255,255,.13); }
.hero-art { position: absolute; inset: 0 0 0 36%; z-index: 1; max-width: none; width: auto; min-height: auto; border-radius: 0; background-image: linear-gradient(90deg, var(--green) 0%, rgba(21,21,21,.66) 14%, rgba(21,21,21,.04) 42%); background-position: center; background-size: cover; box-shadow: none; }
.hero-photo { position:absolute; inset:0; z-index:-1; width:100%; height:100%; object-fit:cover; }
.hero-art:before { width: 280px; height: 280px; top: -125px; right: -80px; background: rgba(240,100,34,.32); }
.hero-art:after { width: 210px; height: 210px; bottom: -80px; left: auto; right: 23%; background: rgba(255,255,255,.16); }
.hero-plate { display: none; }
.hero-caption { z-index: 2; left: auto; bottom: 27px; right: 27px; padding: 11px 18px; border: 1px solid rgba(255,255,255,.55); border-radius: 999px; background: rgba(41,50,38,.45); backdrop-filter: blur(8px); color: #fffdf8; font-family: "Allura", cursive; font-size: 30px; }
.section { padding: 94px 0; }
.section-soft { background: #f7f7f7; }
.eyebrow { color: var(--orange); letter-spacing: .18em; }
.section-intro { margin-bottom: 38px; }
.section-intro h2 { color: var(--green); font-weight: 700; }
.section-intro p { font-size: 16px; }
.choice-grid { gap: 20px; }
.choice-card, .feature-card, .contact-card { border: 1px solid var(--line); background: #fff; border-radius: 18px; box-shadow: 0 12px 30px rgba(20,20,20,.055); }
.choice-card { position: relative; min-height: 250px; padding: 32px; overflow: hidden; background-color: #151515; background-image: linear-gradient(rgba(0,0,0,.6), rgba(0,0,0,.6)), var(--choice-image); background-position: center; background-size: cover; }
.choice-card .number { visibility: hidden; }
.choice-card:after { content:""; position:absolute; width:140px; height:140px; right:-64px; top:-57px; border:1px solid rgba(240,100,34,.35); border-radius:50%; }
.choice-card:nth-child(2):after { border-color: rgba(21,21,21,.25); }
.choice-card:nth-child(3):after { border-color: rgba(240,100,34,.22); }
.choice-card h3 { color: #fff; font-family: "Poppins", sans-serif; font-weight: 700; }
.choice-card p { color: rgba(255,255,255,.88); }
.choice-card .button { background: var(--orange); border-color: var(--orange); color: #fff; }
.choice-card h3,.feature-card h3,.contact-card strong { font-family: "Poppins", sans-serif; font-weight: 700; }
.feature-card h3,.contact-card strong { color: var(--green); }
.number { color: var(--orange-dark); background: var(--orange-soft); }
.button { border-radius: 999px; font-family: "Lato", sans-serif; letter-spacing: .055em; }
.button-primary { background: var(--orange); }
.button-primary:hover { background: var(--orange-dark); }
.button-secondary { border-color: #d7d7d7; color: var(--green); background: #fff; }
.button-quiet { color: var(--orange-dark); background: var(--orange-soft); }
.catering-section { background: #fff; }
.catering-section .catering-title { font-family: "Allura", cursive; font-size: clamp(48px, 5.2vw, 70px); font-weight: 400; letter-spacing: 0; line-height: 1.05; }
.catering-image { height: 345px; margin: 0 0 24px; overflow: hidden; border-radius: 20px; box-shadow: 0 18px 44px rgba(20,20,20,.13); }
.catering-image img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 57%; }
.image-gallery { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.image-gallery img { display:block; width:100%; height:260px; object-fit:cover; border-radius:14px; }
.feature-grid { gap: 18px; }
.feature-card { padding: 27px 29px; border-top: 4px solid var(--orange); }
.feature-card:nth-child(2) { border-color: #151515; }
.feature-card:nth-child(3) { border-color: var(--orange); }
.contact-card { border: 1px solid var(--line); }
.footer { background: #151515; border: 0; color: rgba(255,255,255,.72); }
.footer a { color: #ff9b64; }
.page-head h1 { color: var(--green); }
.notice { background: #f8eadb; border-color: var(--ochre); color: #695332; }
.product-card { border: 0; border-radius: 16px; box-shadow: 0 8px 24px rgba(50,55,33,.07); }
.product-visual { min-height: 145px; background: linear-gradient(140deg,#fff1e9,#f8b58e); }
.product-visual span { color: var(--green); font-family: "Poppins", sans-serif; font-weight: 700; }
.product-info h3 { color: var(--green); font-family: "Poppins", sans-serif; }
.price { color: var(--orange-dark); }
.summary-card { background: #151515; border-radius: 16px; }
.summary-card .button-primary { background: var(--orange); color: #fff; }
.builder-group,.pack-control,.form-panel,.review-panel { border-color: rgba(89,107,54,.15); border-radius: 14px; box-shadow: 0 8px 25px rgba(54,58,35,.045); }
.admin-top { background: #151515; }
@media (max-width: 820px) {
  .hero { min-height: 610px; padding: 42px 30px; align-items: flex-end; }
  .hero > div:first-child { width: 100%; padding: 0; }
  .hero-art { inset: 0; background-image: linear-gradient(180deg, rgba(21,21,21,.14) 0%, rgba(21,21,21,.38) 38%, rgba(21,21,21,.98) 82%); }
  .hero h1 { font-size: clamp(45px, 11vw, 66px); }
  .hero-caption { right: 18px; bottom: auto; top: 18px; font-size: 27px; }
  .catering-image { height: 260px; }
  .image-gallery { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 480px) {
  .nav { height: 70px; gap:8px; }.brand { gap:7px; }.brand span:last-child { font-size: 23px; }.brand-mark { width:27px; height:27px; font-size:24px; }.account-link { min-height:34px; padding:0 8px; font-size:12px; }.account-link svg { width:15px; height:15px; }.cart-chip { padding:8px 9px; }
  .hero { min-height: 590px; margin-top: 14px; border-radius: 18px; padding: 32px 21px; }
  .hero .lead { font-size: 16px; line-height: 1.55; }
  .hero-actions-below { margin-top: 16px; }
  .hero-actions { gap: 8px; }.hero .button { min-height: 42px; padding: 0 14px; font-size: 11px; }
  .section { padding: 65px 0; }.choice-card { min-height: 220px; }.catering-image { height: 210px; border-radius: 15px; }
  .image-gallery { grid-template-columns:1fr; }.image-gallery img { height:220px; }
}
