/* Home page (index.html) and the website editor's canvas (edit.html). Colours and fonts come from
   customer-theme.css, which loads after this file. Food first: his photos carry the page. */
:root{--max:1120px}
html{scroll-behavior:smooth}
body{overflow-x:hidden}
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}
.hidden{display:none}
.ml{white-space:pre-line}

/* nav */
.nav{position:sticky;top:0;z-index:10;background:rgba(255,253,250,.94);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;gap:16px;height:68px}
.brand{display:flex;align-items:center;gap:10px;min-width:0;text-decoration:none;color:var(--navy);white-space:nowrap}
.badge{flex:0 0 auto;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--navy)}
.badge .paw{width:21px;height:21px;background:var(--ice);transform:rotate(-8deg)}
.brand .wordmark{font-size:29px;line-height:1.35;padding:0 3px 5px}          /* the script's two g's hang low */
.brand small{font-family:var(--sans);font-weight:800;font-size:13px;color:var(--mahog)}
.links{display:flex;gap:20px;margin-left:auto;font-size:15px;font-weight:800}
.links a{color:var(--ink);text-decoration:none;white-space:nowrap}.links a:hover{color:var(--mahog)}
.nav-end{display:flex;align-items:center;gap:12px;margin-left:auto}
.links + .nav-end{margin-left:0}
.nav .btn.primary.sm{padding:8px 18px;font-size:16px}
@media(max-width:1120px){.brand small{display:none}}
@media(max-width:920px){
  .links{display:none}.links + .nav-end{margin-left:auto}
  .brand .wordmark{font-size:25px}.badge{width:34px;height:34px}.badge .paw{width:19px;height:19px}.nav .wrap{height:60px}
}

/* hero: words on the left, his food on the right */
.hero{position:relative;overflow:hidden;padding:clamp(30px,5vw,64px) 0 clamp(44px,6.5vw,84px);
  background:radial-gradient(55% 75% at 100% 0%,#fdebd2 0%,rgba(253,235,210,0) 72%),linear-gradient(180deg,var(--bg) 0%,var(--panel) 100%)}
.hero .wrap{position:relative}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(26px,5vw,64px);align-items:center}
.hero .kicker{font-family:var(--script);color:var(--mahog);font-size:clamp(21px,2.6vw,28px);line-height:1.35;margin-bottom:8px}
.hero h1{font-family:var(--head);font-weight:700;font-size:clamp(38px,5.6vw,66px);line-height:1.03;letter-spacing:-.01em;margin:0 0 18px;max-width:13ch;text-wrap:balance;color:var(--char)}
.hero p{font-size:clamp(17px,1.6vw,20px);color:var(--ink-2);max-width:44ch;margin:0 0 26px}
.cta-row{display:flex;gap:12px 14px;flex-wrap:wrap;align-items:center}
.hero .cta-row .btn{padding:15px 26px;font-size:18px}
.reach{margin-top:18px;font-size:16px;color:var(--ink-2)}
.reach a{color:var(--mahog);font-weight:800;text-decoration:underline;text-decoration-color:var(--amber);text-decoration-thickness:3px;text-underline-offset:4px}
.reach a b{color:var(--char)}
.hero-art{position:relative}
.hero-art::before{content:"";position:absolute;inset:7% -4% -5% 9%;border-radius:40px;background:var(--amber);opacity:.22;transform:rotate(4deg)}
.hero-photo{position:relative;aspect-ratio:1/1;border-radius:40px;overflow:hidden;background:var(--raise);box-shadow:0 30px 60px -32px rgba(27,21,18,.6)}
.hero-photo::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 6px rgba(255,255,255,.55);pointer-events:none}
.hero-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-photo.ph{background:var(--raise) url(/brand/paws-warm.svg?v=2) center/210px}
.hero-photo.ph .paw{position:absolute;left:50%;top:50%;width:42%;height:42%;background:var(--amber);transform:translate(-50%,-52%) rotate(-10deg)}
@media(max-width:860px){
  .hero-grid{grid-template-columns:1fr}
  .hero-art{max-width:560px}
  .hero-photo{aspect-ratio:4/3;border-radius:28px}.hero-art::before{border-radius:28px;inset:8% -3% -6% 6%}
  .hero .cta-row .btn{padding:14px 22px;font-size:17px}
}

/* highlights strip */
.stripe{background:var(--navy)}
.stripe > .wrap{display:flex;gap:28px;padding:15px 20px;font-size:15px;font-weight:700;color:#f3f8ff;overflow-x:auto;white-space:nowrap;scrollbar-width:none}
.stripe > .wrap::-webkit-scrollbar{display:none}
.stripe > .wrap > span::before{content:"";display:inline-block;width:15px;height:15px;margin-right:9px;vertical-align:-2px;background:var(--ice);-webkit-mask:var(--paw) center/contain no-repeat;mask:var(--paw) center/contain no-repeat}

/* sections */
section{padding:clamp(40px,5.4vw,64px) 0;scroll-margin-top:60px}
.sec-h{display:flex;align-items:center;gap:12px;margin-bottom:26px}
.sec-h .paw{width:30px;height:30px;transform:rotate(-12deg)}
.sec-h h2{font-size:clamp(30px,4vw,46px);line-height:1.08;margin:0}
.sec-sub{color:var(--ink-2);max-width:62ch;margin:-14px 0 30px;font-size:17px}

/* this week's plates */
.week{padding-bottom:0}
.week-card{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(20px,4vw,44px);background:var(--panel);border:1.5px solid var(--line);border-radius:28px;padding:clamp(22px,3.4vw,38px)}
.week-card .sec-h{margin-bottom:18px}
.facts{display:grid;gap:10px}
.fact{display:grid;grid-template-columns:76px minmax(0,1fr);gap:12px;align-items:baseline;font-size:18px;font-weight:700}
.fact .k,.week-list .k{font-family:var(--head);font-weight:600;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--mahog)}
.fact a{color:var(--char);text-decoration:underline;text-decoration-color:var(--amber);text-decoration-thickness:3px;text-underline-offset:4px}
.week-note{margin:16px 0 0;color:var(--ink-2)}
.week .cta-row{margin-top:22px}
.week-list{background:#fff;border-radius:20px;padding:20px 22px;align-self:start}
.week-list ul{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:10px}
.week-list li{position:relative;display:flex;gap:10px;align-items:baseline;font-family:var(--head);font-weight:500;font-size:19px;line-height:1.3}
.week-list li .paw{width:17px;height:17px;transform:translateY(2px) rotate(-12deg)}
@media(max-width:780px){.week-card{grid-template-columns:1fr}}

/* find us */
.spots{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.spot{position:relative;background:#fff;border:1.5px solid var(--line);border-radius:22px;padding:22px;text-align:left}
.spot h3{margin:0 0 6px;font-size:22px;line-height:1.2}
.spot .when{margin:0 0 4px;font-weight:800;color:var(--mahog)}
.spot .where{margin:0;color:var(--ink-2)}
.spot .go{display:inline-block;margin-top:12px;font-family:var(--head);font-weight:600;color:var(--mahog)}

/* signature dishes: his photos, the dish's name on each */
.dishes{display:grid;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:900px){.dishes{grid-template-columns:repeat(2,minmax(0,1fr))}}
.dish{position:relative;margin:0;aspect-ratio:1;border-radius:22px;overflow:hidden;background:var(--raise)}
.dish img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.dish figcaption{position:absolute;left:0;right:0;bottom:0;padding:44px 14px 13px;color:#fff;font-family:var(--head);font-weight:600;font-size:17px;line-height:1.2;background:linear-gradient(180deg,rgba(27,21,18,0) 0%,rgba(27,21,18,.86) 78%)}
button.dish{border-radius:22px}
@media(max-width:600px){.dish{border-radius:18px}.dish figcaption{font-size:14.5px;padding:34px 11px 10px}}

/* trays: a photo on top of every card */
.trays{background:linear-gradient(180deg,var(--bg) 0%,var(--panel) 100%)}
.svcs{display:flex;flex-wrap:wrap;justify-content:center;gap:18px}
.svc{flex:0 1 calc((100% - 36px)/3);display:flex;flex-direction:column;padding:0;background:#fff;border:1.5px solid var(--line);border-radius:22px;overflow:hidden;text-decoration:none;color:inherit;text-align:left;transition:transform .15s,box-shadow .15s,border-color .15s}
a.svc:hover{transform:translateY(-3px);border-color:var(--amber);box-shadow:0 20px 36px -24px rgba(27,21,18,.55)}
@media(max-width:920px){.svc{flex-basis:calc((100% - 18px)/2)}}
@media(max-width:600px){.svc{flex-basis:100%}}
.svc-photo{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--raise)}
.svc-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.svc-photo.ph{background:var(--raise) url(/brand/paws-warm.svg?v=2) center/180px}
.svc-photo.ph .paw{position:absolute;right:16px;bottom:12px;width:56px;height:56px;background:#fff;transform:rotate(14deg)}
.svc-body{display:flex;flex-direction:column;gap:8px;flex:1;padding:18px 20px 20px}
.svc .top{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.svc h3{margin:0;font-size:22px;line-height:1.15}
.svc .price{font-family:var(--head);font-weight:600;font-size:19px;color:var(--mahog);white-space:nowrap}
.svc .price small{font-family:var(--sans);font-size:13px;font-weight:700;color:var(--ink-2)}
.svc p{margin:0;color:var(--ink-2);font-size:16px;flex:1}
.svc .go{font-family:var(--head);font-weight:600;font-size:16px;color:var(--mahog);margin-top:4px}
.addons{margin-top:26px;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px}
.addons span{font-size:15px;font-weight:700;color:var(--ink);background:#fff;border:1.5px solid var(--line);border-radius:999px;padding:7px 14px}
.addons span.lbl{background:none;border-color:transparent;padding-left:0;color:var(--ink-2)}
.addons span b{color:var(--mahog);font-weight:800}
.sizenote{font-size:14px;color:var(--ink-2);margin-top:16px;text-align:center}

/* how it works */
.how{background:var(--panel)}
.steps{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.step{background:#fff;border:1.5px solid var(--line);border-radius:22px;padding:22px 22px 24px}
.step .k{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;margin-bottom:12px;background:var(--amber);color:var(--char);font-family:var(--head);font-weight:700;font-size:23px;box-shadow:0 3px 0 var(--amber-lo)}
.step h3{margin:0 0 6px;font-size:21px}
.step p{margin:0;color:var(--ink-2);font-size:16px}

/* reviews */
.revs{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.rev{position:relative;background:#fff;border:1.5px solid var(--line);border-radius:22px;padding:22px}
.rev .stars{color:var(--gold);letter-spacing:2px;font-size:17px}
.rev p{margin:8px 0 12px;font-size:17px;line-height:1.5}
.rev .who{font-size:15px;font-weight:800;color:var(--ink-2)}

/* about + questions */
.two{display:grid;gap:44px;grid-template-columns:1.05fr .95fr}@media(max-width:780px){.two{grid-template-columns:1fr}}
.about p{font-size:18px;color:var(--ink);line-height:1.65}
.about .area{font-size:15px;color:var(--ink-3)}
details.faq{background:#fff;border:1.5px solid var(--line);border-radius:16px;padding:14px 18px;margin-bottom:10px}
details.faq[open]{border-color:var(--amber)}
details.faq summary{cursor:pointer;font-weight:800;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px}
details.faq summary::-webkit-details-marker{display:none}
details.faq summary::after{content:"+";flex:0 0 auto;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--panel);color:var(--mahog);font-family:var(--head);font-weight:600;font-size:20px;line-height:1}
details.faq[open] summary::after{content:"–";background:var(--amber);color:var(--char)}
details.faq p{margin:10px 0 2px;color:var(--ink-2);font-size:16px}
.faq .q{font-weight:800}
.pol{font-size:14px;color:var(--ink-2);margin-top:22px;line-height:1.6}.pol b{color:var(--ink);font-weight:800}

/* closing banner: his logo's colours, ice-blue script on navy */
.foot-cta{text-align:center;padding:clamp(56px,8vw,96px) 0;background:var(--navy) url(/brand/paws-white.svg?v=2) center/210px}
.foot-cta h2{font-family:var(--script);font-weight:400;font-size:clamp(40px,6vw,68px);line-height:1.5;margin:0 0 10px;color:var(--ice);text-shadow:0 4px 0 rgba(0,0,0,.28)}
.foot-cta p{color:#e9f2ff;font-weight:700;font-size:19px;margin:0 0 26px}
.foot-cta .cta-row{justify-content:center}
.foot-cta .btn{padding:15px 28px;font-size:18px}
.foot-cta .btn:not(.primary){background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}
.foot-cta .btn:not(.primary):hover{background:rgba(255,255,255,.1);border-color:#fff}
.foot-cta .btn.primary{box-shadow:0 3px 0 rgba(0,0,0,.35)}

footer{padding:28px 0;font-size:14px;color:var(--ink-2);border-top:1px solid var(--line)}
footer .wrap{display:flex;justify-content:space-between;align-items:baseline;gap:12px 24px;flex-wrap:wrap}
footer a{color:inherit}
.foot-note{font-style:italic}
.social a{color:inherit;font-weight:700}

/* phone: the order button rides along the bottom */
.sticky-book{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:9;display:none}
@media(max-width:640px){.sticky-book{display:block}.sticky-book .btn{width:100%;padding:15px;font-size:18px;box-shadow:0 3px 0 var(--amber-lo),0 12px 28px rgba(27,21,18,.3)}body:not(.ed){padding-bottom:calc(84px + env(safe-area-inset-bottom))}}
