/* Catering page — extends /style.css and /press/press.css */
.chero{min-height:min(64vh,600px)}
.plan{padding:clamp(40px,6vw,90px) clamp(16px,5vw,80px) clamp(70px,9vw,130px);background:linear-gradient(var(--surf),var(--surf2))}
.plan-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:clamp(24px,4vw,56px);align-items:start}
.shead-sub{max-width:640px;margin:18px 0 0;color:rgba(var(--fg-rgb),.72);font-size:1.05rem}

.cform{display:flex;flex-direction:column;gap:22px}
.step{margin:0;padding:clamp(18px,3vw,32px);border:1px solid rgba(var(--fg-rgb),.12);background:linear-gradient(145deg,rgba(var(--fg-rgb),.05),rgba(var(--fg-rgb),.015));min-width:0}
.step legend{display:flex;align-items:center;gap:14px;padding:0 10px;margin-left:-10px;font:700 1.5rem var(--display);text-transform:uppercase;letter-spacing:.04em}
.step legend i{color:#fff;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;font:700 1rem var(--font);font-style:normal;background:linear-gradient(180deg,var(--fire-hot),var(--fire));border:2px solid var(--ember)}
.hint{margin:6px 0 18px;color:rgba(var(--fg-rgb),.65)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.row3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.fld{display:block;margin-top:16px;font:700 12px var(--font);letter-spacing:.16em;text-transform:uppercase;color:var(--acc-text)}
.fld input,.fld textarea{display:block;width:100%;margin-top:8px;padding:.85em 1em;font:400 1rem var(--font);letter-spacing:0;text-transform:none;color:rgb(var(--fg-rgb));background:rgba(var(--shade-rgb),.45);border:1px solid rgba(var(--fg-rgb),.22);border-radius:0;transition:border-color .2s,box-shadow .2s;color-scheme:var(--scheme)}
.fld input:focus,.fld textarea:focus{outline:0;border-color:var(--acc-text);box-shadow:0 0 0 3px rgba(255,194,51,.2)}
.fld input::placeholder,.fld textarea::placeholder{color:rgba(var(--fg-rgb),.35)}
.fld input:user-invalid,.fld textarea:user-invalid{border-color:#ff5a4d}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* service cards */
.svc{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.svc label{position:relative;display:block;cursor:pointer}
.svc input{position:absolute;opacity:0}
.svc .card{display:block;height:100%;padding:18px 18px 18px 52px;border:1px solid rgba(var(--fg-rgb),.2);background:rgba(var(--shade-rgb),.3);transition:.2s}
.svc .card::before{content:"";position:absolute;left:18px;top:21px;width:20px;height:20px;border-radius:50%;border:2px solid rgba(var(--fg-rgb),.5);transition:.2s}
.svc b{display:block;font:700 1.1rem var(--display);letter-spacing:.05em;text-transform:uppercase}
.svc small{display:block;margin-top:6px;color:rgba(var(--fg-rgb),.65);font-size:.9rem;line-height:1.4}
.svc label:hover .card{border-color:var(--acc-text)}
.svc input:checked+.card{border-color:var(--acc-text);background:rgba(232,56,13,.14);box-shadow:0 0 0 1px var(--ember)}
.svc input:checked+.card::before{border-color:var(--acc-text);background:radial-gradient(var(--ember) 45%,transparent 50%)}
.svc input:focus-visible+.card{outline:3px solid var(--ember);outline-offset:2px}
.badge{display:inline-block;margin-left:8px;padding:.2em .7em;border-radius:var(--pill);font:700 11px var(--font);letter-spacing:.08em;background:var(--fire);color:#fff;vertical-align:middle;white-space:nowrap}
.reminder{display:flex;gap:16px;align-items:center;margin-top:18px;padding:16px 20px;border:1px solid var(--ember);border-left-width:6px;background:rgba(255,194,51,.09);transition:background .3s,box-shadow .3s}
.reminder p{margin:0;font-size:1.02rem}
.reminder strong{color:var(--acc-text)}
.reminder-ico{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--ember);color:#000;font:900 1.2rem var(--font)}
.reminder.is-hot{background:rgba(232,56,13,.2);box-shadow:0 0 30px rgba(232,56,13,.3)}

/* menu */
.mgroup{margin-top:26px}
.mgroup:first-of-type{margin-top:10px}
.mgroup h3{margin:0 0 12px;font:700 1.15rem var(--display);text-transform:uppercase;letter-spacing:.08em;color:var(--acc-text)}
.mgroup h3 small{margin-left:10px;font:400 .85rem var(--font);letter-spacing:0;text-transform:none;color:rgba(var(--fg-rgb),.55)}
.mgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
.pick{position:relative;display:block}
.pick label{display:block;cursor:pointer}
.pick label>input{position:absolute;opacity:0;width:1px;height:1px}
.pick .box{display:flex;align-items:center;gap:12px;min-height:54px;padding:12px 14px;border:1px solid rgba(var(--fg-rgb),.2);background:rgba(var(--shade-rgb),.3);transition:.2s;font-size:.98rem}
.pick .box::before{content:"";flex:none;width:20px;height:20px;border:2px solid rgba(var(--fg-rgb),.5);transition:.2s;background:center/12px no-repeat}
.pick:hover .box{border-color:var(--acc-text)}
.pick label>input:checked+.box{border-color:var(--acc-text);background:rgba(232,56,13,.14)}
.pick label>input:checked+.box::before{border-color:var(--acc-text);background-color:var(--acc-text);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M1.5 6.5l3 3 6-7' fill='none' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E")}
.pick label>input:focus-visible+.box{outline:3px solid var(--ember);outline-offset:2px}
.pick .note{display:block;font-size:.8rem;color:rgba(var(--fg-rgb),.55)}
.pick.has-seg{grid-column:span 1}
.pick .portion{margin:6px 0 0;padding:10px 12px;border:1px solid var(--ember);border-top:0;background:rgba(232,56,13,.1)}
.pick .portion[hidden]{display:none}
.portion-q{margin:0 0 8px;font:700 11px var(--font);letter-spacing:.14em;text-transform:uppercase;color:var(--acc-text)}

.sub{margin-top:14px;padding:18px 20px;border:1px solid var(--ember);background:rgba(232,56,13,.1);animation:pop .3s ease-out}
.sub[hidden]{display:none}
@keyframes pop{from{opacity:0;transform:translateY(-6px)}}
.q{margin:0 0 12px;font-weight:700;font-size:1.02rem}
.seg{display:flex;flex-wrap:wrap;gap:8px}
.seg label{position:relative;cursor:pointer}
.seg input{position:absolute;opacity:0}
.seg span{display:block;padding:.6em 1.1em;border:2px solid rgba(var(--fg-rgb),.35);border-radius:var(--pill);font:700 13px var(--font);letter-spacing:.04em;transition:.2s;background:rgba(var(--shade-rgb),.35)}
.seg label:hover span{border-color:var(--acc-text)}
.seg input:checked+span{background:linear-gradient(180deg,var(--fire-hot),var(--fire));border-color:var(--acc-text);color:#fff}
.seg input:focus-visible+span{outline:3px solid var(--ember);outline-offset:2px}
.seg--wide span{border-radius:4px}
.err{margin:16px 0 0;padding:10px 14px;background:rgba(255,90,77,.15);border-left:4px solid #ff5a4d;color:#ffb4ad}
.err[hidden]{display:none}

.submit{align-self:flex-start;border:0;cursor:pointer;font-family:var(--font);padding:1.2em 2.4em;font-size:16px}
.fine{margin:0;color:rgba(var(--fg-rgb),.55);font-size:.92rem}
.fine a{color:var(--acc-text)}

/* live summary */
.summary{position:sticky;top:110px}
.summary-card{padding:24px;border:1px solid rgba(var(--fg-rgb),.14);background:linear-gradient(160deg,rgba(232,56,13,.16),rgba(var(--shade-rgb),.4));box-shadow:0 24px 60px rgba(0,0,0,.4)}
.sum-empty{margin:0;color:rgba(var(--fg-rgb),.55)}
.sum-sec{margin:0 0 16px;padding:0 0 14px;border-bottom:1px solid rgba(var(--fg-rgb),.12)}
.sum-sec:last-child{margin:0;padding:0;border:0}
.sum-sec h4{margin:0 0 6px;font:700 11px var(--font);letter-spacing:.22em;text-transform:uppercase;color:var(--acc-text)}
.sum-sec ul{margin:0;padding:0;list-style:none}
.sum-sec li{margin:0 0 5px;font-size:.95rem;line-height:1.4}
.sum-sec li em{display:block;font-style:normal;font-size:.85rem;color:rgba(var(--fg-rgb),.62)}
.sum-sec p{margin:0;font-size:.95rem}
.sum-warn{padding:10px 12px;margin-top:12px;background:rgba(255,194,51,.12);border-left:4px solid var(--ember);font-size:.9rem}

.done{max-width:820px}
.done h2{margin:0 0 10px;font:700 clamp(2.2rem,5vw,3.6rem)/1 var(--display);text-transform:uppercase}
.done h2 span{background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}
.done pre{white-space:pre-wrap;word-break:break-word;margin:22px 0;padding:22px;background:rgba(var(--shade-rgb),.5);border:1px solid rgba(var(--fg-rgb),.15);font:400 .95rem/1.6 ui-monospace,Menlo,monospace}
.done-btns{display:flex;flex-wrap:wrap;gap:22px;align-items:center}
.done-btns button{background:none;cursor:pointer;font:700 1rem var(--font)}

@media (max-width:1040px){
  .plan-grid{grid-template-columns:1fr}
  .summary{position:static;order:2}
}
@media (max-width:640px){
  .row2,.row3,.svc{grid-template-columns:1fr}
  .row3.addr{grid-template-columns:1fr 90px 1fr}
  .mgrid{grid-template-columns:1fr}
  .submit{align-self:stretch;text-align:center;justify-content:center}
}

/* address autocomplete */
.ac{position:relative;margin-top:16px}
.ac>.fld{margin-top:0}
.ac-input{display:block;width:100%;margin-top:8px;padding:.85em 1em;font:400 1rem var(--font);color:rgb(var(--fg-rgb));background:rgba(var(--shade-rgb),.45);border:1px solid rgba(var(--fg-rgb),.22);border-radius:0;color-scheme:var(--scheme);transition:border-color .2s,box-shadow .2s}
.ac-input:focus{outline:0;border-color:var(--acc-text);box-shadow:0 0 0 3px rgba(255,194,51,.2)}
.ac-input::placeholder{color:rgba(var(--fg-rgb),.35)}
.ac-list{position:absolute;z-index:20;left:0;right:0;top:calc(100% - 28px);margin:0;padding:0;list-style:none;background:var(--card2);border:1px solid var(--ember);box-shadow:0 20px 50px rgba(0,0,0,.7);max-height:300px;overflow:auto}
.ac-list[hidden]{display:none}
.ac-list li{padding:12px 16px;cursor:pointer;border-bottom:1px solid rgba(var(--fg-rgb),.08);font-size:.98rem;line-height:1.35}
.ac-list li:last-child{border:0}
.ac-list li small{display:block;color:rgba(var(--fg-rgb),.55);font-size:.85rem}
.ac-list li[aria-selected=true],.ac-list li:hover{background:rgba(232,56,13,.3)}
.ac-list li.ac-msg{cursor:default;color:rgba(var(--fg-rgb),.55)}
.ac-list li.ac-msg:hover{background:none}
.ac-hint{margin:8px 0 0;font-size:.82rem;color:rgba(var(--fg-rgb),.5)}
.ac-input.is-filled{border-color:var(--acc-text)}
.is-autofilled{animation:flash 1.2s}
@keyframes flash{0%{background:rgba(255,194,51,.35)}100%{background:rgba(var(--shade-rgb),.45)}}

/* service detail panels */
.svc-detail{margin-top:18px}
.fld--inline select{display:block;width:100%;max-width:280px;margin-top:8px;padding:.85em 1em;font:400 1rem var(--font);letter-spacing:0;text-transform:none;color:rgb(var(--fg-rgb));background:rgba(var(--shade-rgb),.55);border:1px solid rgba(var(--fg-rgb),.3);color-scheme:var(--scheme)}
.fld--inline select:focus{outline:0;border-color:var(--acc-text);box-shadow:0 0 0 3px rgba(255,194,51,.2)}
.fld--inline{margin-top:0}
.setup-note{margin-top:16px;padding:12px 16px;background:rgba(255,194,51,.1);border-left:4px solid var(--ember);font-size:.98rem}
.setup-note strong{color:var(--acc-text)}
.calc{margin:14px 0 0;font-size:.98rem;color:rgba(var(--fg-rgb),.85)}
.calc:empty{display:none}
.calc b{color:var(--acc-text)}
.calc .tl{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}
.calc .tl span{display:block;padding:10px 12px;background:rgba(var(--shade-rgb),.4);border:1px solid rgba(var(--fg-rgb),.15);font-size:.85rem;color:rgba(var(--fg-rgb),.7)}
.calc .tl span b{display:block;font:700 1rem var(--display);letter-spacing:.04em;color:rgb(var(--fg-rgb))}
.calc .tl span.mid{border-color:var(--acc-text);background:rgba(232,56,13,.2)}
.pig-facts{margin:0;padding-left:20px}
.pig-facts li{margin:0 0 8px;font-size:1.02rem}
.pig-facts b{color:var(--acc-text)}
@media (max-width:640px){.calc .tl{grid-template-columns:1fr}}

/* staffing */
.row2.hs{align-items:start}
.staff-sugg{margin:12px 0 0;font-size:.95rem;color:rgba(var(--fg-rgb),.8)}
.staff-sugg:empty{display:none}
.staff-sugg b{color:var(--acc-text)}
.est{margin-top:16px;padding:16px 18px;border:1px solid var(--ember);background:linear-gradient(145deg,rgba(255,194,51,.14),rgba(232,56,13,.12))}
.est[hidden]{display:none}
.est-label{margin:0 0 4px;font:700 11px var(--font);letter-spacing:.2em;text-transform:uppercase;color:var(--acc-text)}
.est-total{margin:0;font:700 2rem var(--display);letter-spacing:.02em}
.est-math{margin:4px 0 0;font-size:.92rem;color:rgba(var(--fg-rgb),.75)}
.est-fine{margin:10px 0 0;font-size:.8rem;color:rgba(var(--fg-rgb),.5)}
@media (max-width:640px){.row2.hs{grid-template-columns:1fr}}

#pigDetail .pig-facts{margin-top:16px}
