@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-var-latin.woff2) format("woff2")}
@font-face{font-family:"Inter Tight";font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/intertight-var-latin.woff2) format("woff2")}
:root{--bg:#FBF8F2;--bg2:#F4EFE4;--ink:#14110D;--mute:#5E5850;--line:#E6DFD2;--card:#fff;--navy:#16305A;--navy-t:#EAF0F8;--green:#34D27B;--go:#0F7A41;--go-d:#0A6535;--go-l:#108445;--go-t:#E7F5ED;
--sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--display:"Inter Tight","Inter",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
--sh:0 0 0 1px rgba(20,17,13,.05),0 2px 4px rgba(20,17,13,.04),0 18px 40px -18px rgba(20,17,13,.22);--ease:cubic-bezier(.2,.7,.2,1);--pad:20px}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.55 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,p,ol{margin:0}ol{padding:0;list-style:none}a{color:inherit}svg{display:block;max-width:100%}
[hidden]{display:none!important}
.wrap{width:100%;max-width:980px;margin:0 auto;padding:0 var(--pad)}
.narrow{max-width:640px}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:#fff;padding:10px 14px;border-radius:8px;z-index:60}.skip:focus{left:8px}
:focus-visible{outline:3px solid var(--go);outline-offset:3px;border-radius:6px}
h1,h2{font-family:var(--display);font-weight:700;text-wrap:balance;color:var(--navy)}
h1{font-size:clamp(34px,9vw,54px);line-height:1.03;letter-spacing:-.035em;margin-bottom:14px}
h2{font-size:clamp(24px,6vw,32px);line-height:1.1;letter-spacing:-.025em}
.hl{background:linear-gradient(transparent 62%,rgba(52,210,123,.38) 62%);padding:0 .05em}
.nav{position:sticky;top:0;z-index:30;background:rgba(251,248,242,.95);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid rgba(230,223,210,.7)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:60px}
.logo{display:inline-flex;align-items:center;min-height:44px}.logo svg{height:30px;width:auto}
.tag{font:600 13px/1 var(--sans);color:var(--navy);background:var(--navy-t);padding:7px 11px;border-radius:999px}
.hero{padding:26px 0 30px;position:relative;isolation:isolate;overflow:hidden}
.hero::before{content:"";position:absolute;inset:-20% -30% 20% -30%;z-index:-1;pointer-events:none;background:radial-gradient(40% 40% at 85% 20%,rgba(52,210,123,.18),transparent 70%),radial-gradient(40% 45% at 5% 0%,rgba(22,48,90,.10),transparent 70%)}
.eyebrow{font:650 13px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--go);margin-bottom:12px}
.sub{font-size:18px;line-height:1.5;color:var(--mute);margin-bottom:22px}
.card{background:var(--card);border-radius:18px;box-shadow:var(--sh);padding:20px}
.form{display:grid;gap:14px}
.fld label{display:flex;align-items:center;gap:6px;font-weight:600;font-size:15.5px;margin-bottom:6px;color:var(--ink)}
.req,.opt{margin-left:auto;font-weight:500;font-size:12.5px;color:var(--mute)}
.pl{display:inline-flex;align-items:center;gap:6px}
.pl::before{content:"";width:10px;height:10px;border-radius:3px;background:var(--c,#999)}
.pl.je{--c:#FF8000}.pl.ue{--c:#06C167}.pl.dr{--c:#00CCBC}
input{width:100%;min-height:52px;border:1.5px solid var(--line);border-radius:12px;padding:0 14px;font:400 16px/1.2 var(--sans);color:var(--ink);background:#fff;transition:border-color .15s}
input::placeholder{color:#9A938A}
input:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px rgba(22,48,90,.12)}
input[aria-invalid=true]{border-color:#B45309}
.err{font-size:14px;color:#9A4A0B;margin-top:5px;min-height:0}.err:empty{display:none}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:0 26px;border-radius:14px;border:0;cursor:pointer;background:linear-gradient(180deg,var(--go-l) 0%,var(--go) 55%,var(--go-d) 100%);color:#fff;font:650 18px/1 var(--sans);text-decoration:none;text-align:center;box-shadow:0 1px 0 rgba(255,255,255,.28) inset,0 -2px 0 rgba(0,0,0,.16) inset,0 0 0 1px rgba(7,70,38,.55),0 14px 28px -10px rgba(15,122,65,.7);transition:transform .18s var(--ease)}
.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(1px) scale(.985)}
.btn[disabled]{opacity:.65;cursor:progress;transform:none}
.btn.block{width:100%}
.btn.ghost{background:#fff;color:var(--navy);box-shadow:0 0 0 1.5px var(--navy) inset}
.tlink{background:none;border:0;cursor:pointer;display:inline-flex;align-items:center;min-height:44px;font:550 16px/1 var(--sans);color:var(--navy);text-decoration:underline;text-underline-offset:5px;padding:0}
.fine{font-size:13.5px;color:var(--mute);text-align:center;line-height:1.45}.fine.left{text-align:left}
.how{font-size:14.5px;color:var(--mute)}.how summary{cursor:pointer;color:var(--navy);font-weight:550;min-height:32px}.how p{margin-top:6px}
.loading{display:flex;gap:18px;align-items:center;margin:8px 0 30px}
.spin{width:34px;height:34px;flex:none;border-radius:50%;border:3.5px solid var(--navy-t);border-top-color:var(--navy);animation:sp .8s linear infinite}
@keyframes sp{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.spin{animation-duration:3s}}
.steps li{color:#A49C91;font-size:16px;padding:2px 0}.steps li.on{color:var(--ink);font-weight:600}.steps li.done{color:var(--go)}.steps li.done::after{content:" \2713"}
.note{background:#FFF8EC;box-shadow:0 0 0 1px #F1E2C4;margin:14px 0;font-size:15.5px}
#failed .note{margin:6px 0 30px}
#results{padding:6px var(--pad) 40px}
.res-head{margin:8px 0 14px}
.shops{color:var(--mute);font-size:15px;margin-top:6px}.shops a{color:var(--navy)}
.summary{font:600 18px/1.4 var(--sans);margin-top:10px;color:var(--ink)}
.calm{background:var(--go-t);box-shadow:0 0 0 1px rgba(15,122,65,.18);font-size:16.5px}
.tabs{display:flex;gap:6px;margin:18px 0 10px;overflow-x:auto}
.tab{flex:none;min-height:42px;padding:0 14px;border-radius:999px;border:1.5px solid var(--line);background:#fff;color:var(--mute);font:600 14.5px/1 var(--sans);cursor:pointer}
.tab.on{background:var(--navy);border-color:var(--navy);color:#fff}
.tablewrap{padding:0;overflow:hidden}
table{width:100%;border-collapse:collapse;font-size:15.5px}
th{background:var(--navy);color:#fff;text-align:left;font:600 13.5px/1.2 var(--sans);letter-spacing:.02em;padding:12px 14px}
td{padding:12px 14px;border-top:1px solid var(--line);vertical-align:top}
td.p,th.c-je,th.c-dr,th.c-ue{text-align:right;white-space:nowrap}
td.p .from{font-size:12px;color:var(--mute);font-style:italic;margin-right:3px}
td.d{white-space:nowrap}
.dish{font-weight:600}.alt{display:block;font-size:12.5px;color:var(--mute);font-weight:400;margin-top:2px}
.chip{display:inline-block;font:600 13.5px/1 var(--sans);padding:6px 9px;border-radius:999px;background:var(--navy-t);color:var(--navy)}
.chip.same{background:var(--go-t);color:var(--go)}
.na{color:#B3ACA2}
.empty{padding:18px;color:var(--mute)}
#more{margin:6px 14px 10px}
.cta-card{margin-top:22px;background:var(--navy);color:#fff;padding:24px}
.cta-card h2{color:#fff;margin-bottom:8px}.cta-card p{color:#D6DEEA}.cta-card b{color:#fff}
.cta-card .fine{color:#AFC0D6;margin-top:10px}
.cta-row{display:flex;flex-direction:column;gap:10px;margin-top:16px}
.cta-card .btn.ghost{background:transparent;color:#fff;box-shadow:0 0 0 1.5px rgba(255,255,255,.7) inset}
.again{text-align:center;margin-top:14px}
.foot{border-top:1px solid var(--line);padding:22px 0 36px;font-size:14px;color:var(--mute)}.foot p+p{margin-top:6px}
/* mobile: rows become cards */
@media (max-width:640px){
  thead{display:none}
  table,tbody,tr,td{display:block;width:100%}
  tr{padding:12px 14px;border-top:1px solid var(--line)}
  tbody tr:first-child{border-top:0}
  td{border:0;padding:0}
  td.n{margin-bottom:8px}
  td.p{display:inline-flex;flex-direction:column;align-items:flex-start;width:auto;margin-right:18px;text-align:left}
  td.p::before{content:attr(data-l);font-size:12px;color:var(--mute);font-weight:500}
  td.d{margin-top:8px}
}
@media (min-width:700px){
  :root{--pad:28px}
  .hero{padding:44px 0 40px}
  .card{padding:24px}
  .cta-row{flex-direction:row}
  .cta-card{padding:30px}
}
#results,#loading,#failed,#check{scroll-margin-top:76px}
.card.tablewrap{padding:0}
.faq{padding:34px var(--pad) 40px}
.faq h2{margin-bottom:12px}
.qa{border-top:1px solid var(--line);padding:4px 0}
.qa:last-child{border-bottom:1px solid var(--line)}
.qa summary{cursor:pointer;min-height:48px;display:flex;align-items:center;font-weight:600;font-size:16.5px;color:var(--ink);list-style:none}
.qa summary::-webkit-details-marker{display:none}
.qa summary::after{content:"+";margin-left:auto;padding-left:12px;color:var(--navy);font-size:22px;font-weight:500}
.qa[open] summary::after{content:"\2212"}
.qa p{color:var(--mute);font-size:16px;padding:0 0 14px}
