/* Layout: light, airy pages on white; brand cream panels; the traffic-light gradient bar from the
   brand book marks the top of the page and each band's edge. Single light theme, by design. */
@font-face{font-family:"Plus Jakarta Sans";font-weight:300;font-style:normal;font-display:swap;src:url(fonts/plus-jakarta-sans-latin-300-normal.woff2) format("woff2")}
@font-face{font-family:"Plus Jakarta Sans";font-weight:400;font-style:normal;font-display:swap;src:url(fonts/plus-jakarta-sans-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Plus Jakarta Sans";font-weight:500;font-style:normal;font-display:swap;src:url(fonts/plus-jakarta-sans-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Plus Jakarta Sans";font-weight:700;font-style:normal;font-display:swap;src:url(fonts/plus-jakarta-sans-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Plus Jakarta Sans";font-weight:800;font-style:normal;font-display:swap;src:url(fonts/plus-jakarta-sans-latin-800-normal.woff2) format("woff2")}

:root{
  /* Brand colours: the same values the app uses (brand book page 7). Pending the designer's colour review. */
  --green:#359344;   /* PANTONE 355 C */
  --amber:#E8BC26;   /* PANTONE 7408 C */
  --red:#C8002C;     /* PANTONE 185 C */
  --ink:#191915;     /* brand black */
  --ink-2:#5B5550;   /* secondary text, warm grey */
  --paper:#FFFFFF;
  --cream:#FFF8E9;   /* brand book panel */
  --mint:#E5F5EA;    /* brand book panel */
  --line:#EAE3D2;
  --red-tint:#FDE7EA; --amber-tint:#FFF3CC; --green-tint:#E2F3E8;
  --gradient:linear-gradient(90deg,var(--green) 0%,#8DB33A 30%,var(--amber) 50%,#F2843C 72%,var(--red) 100%);
  --font:"Plus Jakarta Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --step--1:clamp(.82rem,.8rem + .1vw,.9rem);
  --step-0:clamp(1rem,.96rem + .2vw,1.1rem);
  --step-1:clamp(1.2rem,1.1rem + .5vw,1.45rem);
  --step-2:clamp(1.5rem,1.3rem + 1vw,2.1rem);
  --step-3:clamp(2.1rem,1.6rem + 2.4vw,3.6rem);
  --radius:18px;
  --wrap:1120px;
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-weight:300;font-size:var(--step-0);line-height:1.6;-webkit-font-smoothing:antialiased}
img,svg{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{font-weight:700;line-height:1.15;letter-spacing:-.015em;text-wrap:balance;margin:0}
p{margin:0}
strong,b{font-weight:700}
:focus-visible{outline:3px solid var(--ink);outline-offset:3px;border-radius:6px}
.skip{position:absolute;left:-999px;top:0}
.skip:focus{left:16px;top:16px;background:var(--paper);padding:8px 12px;z-index:50}

.wrap{max-width:var(--wrap);margin-inline:auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
.bar{height:6px;background:var(--gradient)}

/* Header */
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:30;background:var(--paper)}
.site-head{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:rgba(255,255,255,.94);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:14px}
.brand img{height:60px;width:auto}
.nav{display:flex;align-items:center;gap:26px;font-size:var(--step--1);font-weight:500}
.nav a{text-decoration:none}
.nav a:not(.btn):hover{text-decoration:underline;text-underline-offset:4px}
@media (max-width:820px){.nav a:not(.btn){display:none}.brand img{height:48px}}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font:700 var(--step--1)/1 var(--font);padding:15px 22px;border-radius:999px;text-decoration:none;border:2px solid var(--ink);background:var(--ink);color:var(--paper);cursor:pointer;transition:transform .15s ease,background .15s ease}
.btn:hover{transform:translateY(-1px)}
.btn.ghost{background:transparent;color:var(--ink)}
.btn.ghost:hover{background:var(--ink);color:var(--paper)}
.btn.small{padding:11px 18px}

/* Hero */
.hero{padding-block:clamp(40px,6vw,88px) clamp(48px,6vw,96px);overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(32px,5vw,72px);align-items:center}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:var(--step--1);font-weight:500;color:var(--ink-2);margin-bottom:22px}
.dots{display:inline-flex;gap:5px}
.dots i{width:10px;height:10px;border-radius:50%;display:block}
.dots i:nth-child(1){background:var(--red)}.dots i:nth-child(2){background:var(--amber)}.dots i:nth-child(3){background:var(--green)}
.hero h1{font-size:var(--step-3);font-weight:800;letter-spacing:-.03em}
.hero h1 .accent{display:block;color:var(--green)}
.hero .lede{font-size:var(--step-1);color:var(--ink-2);margin-top:24px;max-width:34ch;line-height:1.5}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.fine{font-size:var(--step--1);color:var(--ink-2);margin-top:18px}
@media (max-width:880px){.hero .wrap{grid-template-columns:1fr}.hero .lede{max-width:none}}

/* Phone: a faithful copy of the app's card screen, drawn at the app's own 375px size and scaled to fit */
.stage{position:relative;display:grid;justify-items:center;gap:18px;padding-block:10px}
.stage::before{content:"";position:absolute;inset:4% 0 14%;background:var(--cream);border-radius:40px;transform:rotate(-3deg)}
.phone{position:relative;width:min(320px,100%);max-width:100%;background:#111;border-radius:46px;padding:10px;box-shadow:0 30px 60px -20px rgba(25,25,21,.35),0 0 0 1px rgba(0,0,0,.08)}
.screen{position:relative;width:100%;aspect-ratio:375/760;border-radius:37px;overflow:hidden;background:#FAFAFA}
.app{position:absolute;top:0;left:0;width:375px;height:760px;transform-origin:0 0;transform:scale(var(--s,.8));display:flex;flex-direction:column;padding-top:22px;font-size:16px;line-height:1.4;color:var(--ink);background:#FAFAFA}
.app svg{display:block}
.a-head{display:flex;align-items:center;justify-content:space-between;padding:0 16px}
.a-head img{height:42px;width:auto}
.a-gear svg{width:24px;height:24px}
.a-pills{display:flex;align-items:center;gap:8px;padding:16px 16px 0}
.a-pill{font-size:14px;font-weight:600;padding:6px 16px;border-radius:999px;background:rgba(25,25,21,.05);color:rgba(25,25,21,.7);border:1px solid transparent}
.a-pill.on{background:var(--ink);color:#fff}
.a-add{width:32px;height:32px;border-radius:50%;border:1.5px dashed #B5B0A6;display:grid;place-items:center;color:#8A857C}
.a-add svg{width:16px;height:16px}
.a-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin:14px 16px 0;padding:4px;border-radius:12px;background:#ECE8E1}
.a-tab{display:flex;align-items:center;justify-content:center;gap:8px;font:600 13px/1 var(--font);color:#6B665E;background:transparent;border:0;border-radius:9px;padding:10px 6px;cursor:pointer}
.a-tab[aria-selected="true"]{background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.06)}
.a-tab[data-side="no"][aria-selected="true"]{color:var(--red)}
.a-tab[data-side="yes"][aria-selected="true"]{color:var(--green)}
.app i{display:inline-block;width:8px;height:8px;border-radius:50%;flex:none}
.d-red{background:var(--red)}.d-green{background:var(--green)}
.a-card{margin:12px 12px 0;height:452px;border-radius:16px;padding:22px 22px;color:#fff;overflow:hidden}
.a-card.no{background:var(--red)}.a-card.yes{background:var(--green)}
.a-h{display:flex;align-items:center;gap:10px}
.a-h svg{width:24px;height:24px}
.a-h b{font-size:20px;font-weight:700}
.a-spk{margin-left:auto;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.15);display:grid;place-items:center}
.a-spk svg{width:16px;height:16px}
.a-cat{display:flex;align-items:center;gap:8px;margin-top:22px;font-size:16px}
.a-cat b{font-weight:700}
.app .d-amber{width:16px;height:16px;background:radial-gradient(circle at 35% 35%,#F7B53A,#D98A0A);box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}
.a-badge{font-size:13px;font-weight:700;letter-spacing:.04em;background:rgba(0,0,0,.28);border-radius:8px;padding:3px 9px}
.a-chev{margin-left:auto}
.a-chev svg{width:22px;height:22px}
.a-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.a-chips span{background:rgba(255,255,255,.2);border-radius:12px;padding:6px 12px;font-size:14px;font-weight:500}
.a-disc{margin:12px 12px 0;font-size:11.5px;line-height:1.45;color:#8A857C}
.a-bar{margin-top:auto;display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid #E7E3DC;background:#FAFAFA;padding:10px 4px 24px}
.a-bar span{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:11px;font-weight:600;color:#6B665E}
.a-bar span.on{color:var(--ink)}
.a-bar svg{width:26px;height:26px;stroke-width:2.1}
.langs{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px;font-size:var(--step--1)}
.langs span{color:var(--ink-2);margin-right:4px}
.langs button{font:600 var(--step--1)/1 var(--font);border:1.5px solid var(--line);background:#fff;color:var(--ink);padding:9px 14px;border-radius:999px;cursor:pointer}
.langs button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}

/* Sections */
section{scroll-margin-top:80px}
.band{padding-block:clamp(56px,8vw,112px)}
.band.cream{background:var(--cream)}
.head{max-width:44rem;margin-bottom:clamp(32px,4vw,52px)}
.head h2{font-size:var(--step-2)}
.head p{margin-top:14px;color:var(--ink-2);font-size:var(--step-1);line-height:1.5}
.kicker{display:block;font-size:var(--step--1);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--green);margin-bottom:12px}

/* Steps: a real sequence, so numbered */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,40px);counter-reset:step;list-style:none;margin:0;padding:0}
.steps li{position:relative;padding-top:28px;border-top:2px solid var(--ink)}
.steps li::before{counter-increment:step;content:counter(step);position:absolute;top:-17px;left:0;width:32px;height:32px;border-radius:50%;background:var(--ink);color:#fff;font-weight:700;font-size:15px;display:grid;place-items:center}
.steps h3{font-size:var(--step-1);margin-bottom:10px}
.steps p{color:var(--ink-2)}
@media (max-width:760px){.steps{grid-template-columns:1fr;gap:44px}}

/* Features */
.features{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.feature{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:26px 24px 28px;display:flex;flex-direction:column;gap:10px}
.feature h3{font-size:1.08rem}
.feature p{color:var(--ink-2);font-size:.98rem}
.ficon{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;margin-bottom:6px}
.ficon svg{width:24px;height:24px;stroke-width:2.1}
.f-red{background:var(--red-tint);color:var(--red)}.f-amber{background:var(--amber-tint);color:#8A6500}.f-green{background:var(--green-tint);color:var(--green)}
.more{margin-top:28px;padding:22px 24px;border-radius:var(--radius);background:var(--mint);display:flex;gap:16px;align-items:flex-start}
.more strong{display:block}
@media (max-width:900px){.features{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.features{grid-template-columns:1fr}}

/* Trust */
.trust{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,36px)}
.trust div{display:flex;flex-direction:column;gap:10px}
.trust h3{font-size:var(--step-1)}
.trust p{color:var(--ink-2)}
.disclaimer{margin-top:44px;padding-top:22px;border-top:1px solid var(--line);font-size:var(--step--1);color:var(--ink-2);max-width:60rem}
@media (max-width:760px){.trust{grid-template-columns:1fr}}

/* Get started */
.start{display:grid;grid-template-columns:1.35fr 1fr;gap:16px;align-items:start}
.start .side{display:grid;gap:16px}
.card{border-radius:var(--radius);padding:clamp(24px,3vw,36px);border:1px solid var(--line);background:var(--paper);display:flex;flex-direction:column;gap:14px;min-width:0}
.card.main{background:var(--ink);color:#fff;border-color:var(--ink)}
.card.main p{color:#D9D4CC}
.card h3{font-size:var(--step-1)}
.card p{color:var(--ink-2)}
.card .btn{align-self:flex-start;margin-top:auto}
.stores{display:flex;flex-wrap:wrap;gap:8px}
.store{display:inline-flex;align-items:center;gap:8px;border:1px dashed #BDB5A6;border-radius:12px;padding:9px 13px;font-size:.88rem;font-weight:600;color:var(--ink-2)}
.store svg{width:18px;height:18px}
@media (max-width:860px){.start{grid-template-columns:1fr}}

/* Forms */
form{display:grid;gap:14px}
.field{display:grid;gap:6px;min-width:0}
.field label,.field legend{font-size:var(--step--1);font-weight:600}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:520px){.row2{grid-template-columns:1fr}}
input[type=text],input[type=email],textarea,select{width:100%;font:400 1rem/1.4 var(--font);padding:13px 14px;border-radius:12px;border:1.5px solid var(--line);background:#fff;color:var(--ink)}
textarea{min-height:130px;resize:vertical}
.card.main input,.card.main select{border-color:#3A3536}
fieldset{border:0;margin:0;padding:0;display:grid;gap:8px}
.choices{display:flex;flex-wrap:wrap;gap:8px}
.choices label{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;border:1.5px solid #3A3536;font-size:.92rem;font-weight:500;cursor:pointer}
.choices input{accent-color:var(--amber)}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:.88rem;line-height:1.45}
.consent input{margin-top:3px;accent-color:var(--amber);width:18px;height:18px;flex:none}
.card.main .consent a{color:#fff}
.card.main .btn{background:var(--amber);border-color:var(--amber);color:var(--ink)}
.form-msg{font-size:.95rem;font-weight:500;padding:12px 14px;border-radius:12px}
.form-msg.ok,.card .form-msg.ok,.card.main .form-msg.ok{background:var(--green-tint);color:#0B4A22;font-weight:600}
.form-msg.err,.card .form-msg.err,.card.main .form-msg.err{background:var(--red-tint);color:#8A001F;font-weight:600}

/* FAQ */
.faq{max-width:52rem;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:22px 44px 22px 0;font-weight:700;font-size:1.08rem;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:6px;top:50%;width:12px;height:12px;border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);transform:translateY(-70%) rotate(45deg);transition:transform .2s}
.faq details[open] summary::after{transform:translateY(-30%) rotate(225deg)}
.faq details p{padding:0 0 22px;color:var(--ink-2);max-width:62ch}

/* Restaurants page */
.page-hero{padding-block:clamp(48px,7vw,96px) clamp(36px,5vw,64px)}
.page-hero h1{font-size:var(--step-3);font-weight:800;letter-spacing:-.03em;max-width:16ch}
.page-hero p{font-size:var(--step-1);color:var(--ink-2);margin-top:22px;max-width:44rem;line-height:1.5}
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,56px);align-items:start}
@media (max-width:820px){.split{grid-template-columns:1fr}}
.ticks{list-style:none;padding:0;margin:0;display:grid;gap:16px}
.ticks li{display:grid;grid-template-columns:28px 1fr;gap:12px;align-items:start}
.ticks li::before{content:"";width:22px;height:22px;border-radius:50%;margin-top:3px;background:var(--green-tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300953B' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/14px no-repeat}
.coming{border-left:4px solid var(--amber);padding:6px 0 6px 20px}
.coming h3{font-size:var(--step-1);margin-bottom:8px}
.coming p{color:var(--ink-2)}

/* Footer: full-colour lock-up on a light ground, as the brand book requires */
.site-foot{background:var(--paper);color:var(--ink-2);font-size:var(--step--1)}
.site-foot .wrap{padding-block:52px 40px;display:grid;gap:30px}
.foot-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:28px;align-items:center}
.foot-logo{padding:12px}
.foot-logo img{height:62px;width:auto}
.foot-links{display:flex;flex-wrap:wrap;gap:8px 22px}
.foot-links a{text-decoration:none;color:var(--ink);font-weight:500}
.foot-links a:hover{text-decoration:underline;text-underline-offset:4px}
.foot-legal{border-top:1px solid var(--line);padding-top:22px;display:grid;gap:8px}
/* Cookie banner */
.cookie{position:fixed;left:0;right:0;bottom:0;z-index:40;padding:0 max(16px,env(safe-area-inset-right,0px)) calc(16px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));pointer-events:none}
.cookie-box{pointer-events:auto;max-width:720px;margin-inline:auto;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 18px 40px -16px rgba(35,31,32,.35);padding:18px 20px;display:flex;flex-wrap:wrap;gap:14px 20px;align-items:center;justify-content:space-between;font-size:.92rem}
.cookie-box p{flex:1 1 300px;min-width:0}
.cookie-box .btns{display:flex;gap:10px}

/* Plain text pages */
.prose{max-width:46rem;display:grid;gap:14px}
.prose h2{font-size:var(--step-1);margin-top:18px}
.prose ul{margin:0;padding-left:1.2em;display:grid;gap:10px}
.prose a{text-underline-offset:3px}
