@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=IBM+Plex+Sans:wght@400;500;600&family=Space+Grotesk:wght@500;700&display=swap');
#bd-ristoro{
  --ink:#14180E; --panel:#1C2116; --line:#343C29;
  --olive:#728750; --olive-dk:#5E7042; --sage:#BECF98; --sage-lt:#EEF1E4; --rasp:#CC556D;
  --ivory:#F6F6F2; --white:#FFFFFF; --stage:#E9ECDF;
  --text:#191B13; --soft:#4A5040; --muted:#7F866D; --rule:#DCDFCF;
  --display:"Space Grotesk","Helvetica Neue",Arial,sans-serif;
  --body:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;
  --gut:max(16px,4.5vw);
  color-scheme:light;
}
#bd-ristoro *{box-sizing:border-box}
#bd-ristoro{scroll-behavior:auto}
#bd-ristoro{margin:0;background:var(--ivory);color:var(--text);font-family:var(--body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
#bd-ristoro a{color:inherit}
#bd-ristoro :focus-visible{outline:2px solid var(--rasp);outline-offset:3px}
#bd-ristoro h1,#bd-ristoro h2,#bd-ristoro h3{font-family:var(--display);font-weight:700;letter-spacing:-.02em;line-height:1.08;text-wrap:balance;margin:0}
#bd-ristoro p{margin:0}
#bd-ristoro .wrap{max-width:1180px;margin-inline:auto;padding-inline:var(--gut)}
#bd-ristoro .kicker{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--olive-dk);font-weight:500}
#bd-ristoro .btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--display);font-weight:700;font-size:15px;text-decoration:none;padding:14px 22px;border-radius:999px;border:1.5px solid transparent;transition:transform .15s ease,background .15s ease,border-color .15s ease}
#bd-ristoro .btn:hover{transform:translateY(-1px)}
#bd-ristoro .btn-primary{background:var(--rasp);color:var(--white)}
#bd-ristoro .btn-primary:hover{background:#B8475F}
#bd-ristoro .btn-ghost{border-color:var(--rule);color:var(--text);background:var(--white)}
#bd-ristoro .btn-ghost:hover{border-color:var(--text)}
#bd-ristoro .mockbar{background:#E6E4D6;color:var(--soft);font-family:var(--mono);font-size:12px;padding-block:8px;text-align:center;padding-inline:16px}
#bd-ristoro .mockbar b{color:var(--text);font-weight:500}
#bd-ristoro .nav{background:var(--ink);color:var(--ivory);position:relative;z-index:2}
#bd-ristoro .nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:14px}
#bd-ristoro .logo{font-family:var(--display);font-weight:700;font-size:22px;text-decoration:none;display:flex;align-items:baseline;gap:10px}
#bd-ristoro .logo span{color:var(--rasp)}
#bd-ristoro .logo small{font-family:var(--mono);font-size:11px;font-weight:400;color:var(--sage);letter-spacing:.08em;text-transform:uppercase}
#bd-ristoro .menu{display:flex;align-items:center;gap:22px;font-size:14px}
#bd-ristoro .menu a{text-decoration:none;color:#D5D9C8}
#bd-ristoro .menu a:hover{color:var(--white)}
#bd-ristoro .menu .call{color:var(--ivory);background:var(--rasp);padding:8px 16px;border-radius:999px}
@media (max-width:980px){#bd-ristoro .menu a:not(.call){display:none}}
#bd-ristoro .hero{padding-block:clamp(40px,6vw,84px) clamp(48px,6vw,80px)}
#bd-ristoro .hero .wrap{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(28px,5vw,64px);align-items:center}
#bd-ristoro .hero h1{font-size:clamp(64px,9vw,128px);letter-spacing:-.05em;line-height:.9;margin-top:14px}
#bd-ristoro .hero h1 i{font-style:normal;color:var(--rasp)}
#bd-ristoro .hero .sub{font-family:var(--display);font-weight:500;font-size:clamp(22px,2.3vw,30px);line-height:1.2;margin-top:20px;letter-spacing:-.01em;text-wrap:balance}
#bd-ristoro .hero .lead{margin-top:16px;color:var(--soft);font-size:17px;max-width:46ch}
#bd-ristoro .hero .ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
#bd-ristoro .jump{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}
#bd-ristoro .jump a{font-family:var(--mono);font-size:12px;text-decoration:none;color:var(--soft);border:1px solid var(--rule);background:var(--white);padding:6px 12px;border-radius:999px}
#bd-ristoro .jump a:hover{border-color:var(--olive);color:var(--text)}
#bd-ristoro .jump a.soon{border-style:dashed}
#bd-ristoro .pilot{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:12px;color:var(--olive-dk);background:var(--sage-lt);padding:6px 12px;border-radius:999px}
#bd-ristoro .pilot::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--olive)}
@media (max-width:900px){#bd-ristoro .hero .wrap{grid-template-columns:1fr}}
#bd-ristoro figure.demo{margin:0;background:var(--stage);border-radius:22px;padding:clamp(8px,1.4vw,16px);max-width:100%}
#bd-ristoro figure.demo canvas{display:block;width:100%;height:auto;aspect-ratio:560/400;max-width:100%}
#bd-ristoro figure.demo figcaption{font-family:var(--mono);font-size:11.5px;color:var(--muted);padding:10px 6px 2px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
#bd-ristoro figure.demo.dark{background:#232A1B}
#bd-ristoro figure.demo.dark figcaption{color:#98A084}
#bd-ristoro .group{padding-top:clamp(56px,7vw,96px)}
#bd-ristoro .group .wrap{display:flex;align-items:baseline;gap:18px;border-top:1.5px solid var(--text);padding-top:18px;flex-wrap:wrap}
#bd-ristoro .group h2{font-size:clamp(30px,3.6vw,48px)}
#bd-ristoro .group span{font-family:var(--mono);font-size:12px;color:var(--muted);letter-spacing:.1em;text-transform:uppercase}
#bd-ristoro .feat{padding-block:clamp(36px,5vw,64px)}
#bd-ristoro .feat .wrap{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,5vw,64px);align-items:center}
#bd-ristoro .feat.flip .fcopy{order:2}
#bd-ristoro .feat h3{font-size:clamp(26px,2.7vw,36px);margin-top:10px}
#bd-ristoro .feat .lead{margin-top:14px;color:var(--soft);max-width:48ch}
#bd-ristoro .num{font-family:var(--mono);font-size:12px;color:var(--rasp);letter-spacing:.08em}
@media (max-width:900px){#bd-ristoro .feat .wrap{grid-template-columns:1fr}
#bd-ristoro .feat.flip .fcopy{order:0}}
#bd-ristoro .steps{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:8px}
#bd-ristoro .steps button{all:unset;box-sizing:border-box;cursor:pointer;display:grid;grid-template-columns:26px 1fr;gap:8px;align-items:baseline;width:100%;padding:11px 14px;border-radius:12px;border:1px solid var(--rule);background:var(--white);font-size:15px;position:relative;overflow:hidden;color:var(--soft);transition:border-color .2s,color .2s}
#bd-ristoro .steps button:focus-visible{outline:2px solid var(--rasp);outline-offset:2px}
#bd-ristoro .steps .n{font-family:var(--mono);font-size:12px;color:var(--muted)}
#bd-ristoro .steps li.on button{border-color:var(--olive);color:var(--text)}
#bd-ristoro .steps li.on .n{color:var(--olive-dk)}
#bd-ristoro .steps .bar{position:absolute;left:0;bottom:0;height:3px;background:var(--olive);width:0}
#bd-ristoro .steps li.on .bar{width:calc(var(--p,0)*100%)}
#bd-ristoro .voice{background:var(--ink);color:var(--ivory);margin-top:clamp(56px,7vw,96px);padding-block:clamp(56px,7vw,96px)}
#bd-ristoro .voice .wrap{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,5vw,64px);align-items:center}
#bd-ristoro .soon-badge{display:inline-flex;gap:8px;align-items:center;font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:var(--ink);background:var(--sage);padding:6px 12px;border-radius:999px}
#bd-ristoro .voice h2{font-size:clamp(32px,4vw,54px);margin-top:18px}
#bd-ristoro .voice .lead{margin-top:16px;color:#C9CFB9;max-width:48ch}
#bd-ristoro .voice ul{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:10px}
#bd-ristoro .voice li.pt{display:grid;grid-template-columns:18px 1fr;gap:10px;color:#E3E7D6;font-size:15px}
#bd-ristoro .voice li.pt::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--rasp);margin-top:8px}
#bd-ristoro .voice .steps button{background:#1F2518;border-color:#3A4230;color:#AEB59C}
#bd-ristoro .voice .steps li.on button{border-color:var(--sage);color:var(--ivory)}
#bd-ristoro .voice .steps li.on .n{color:var(--sage)}
#bd-ristoro .voice .steps .bar{background:var(--sage)}
@media (max-width:900px){#bd-ristoro .voice .wrap{grid-template-columns:1fr}}
#bd-ristoro .tech{padding-block:clamp(56px,7vw,96px)}
#bd-ristoro .tech h2,#bd-ristoro .next h2,#bd-ristoro .faq h2{font-size:clamp(28px,3.2vw,42px);margin-top:12px;max-width:22ch}
#bd-ristoro .tgrid{margin-top:32px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
#bd-ristoro .tgrid article{background:var(--white);border:1px solid var(--rule);border-radius:16px;padding:24px;display:flex;flex-direction:column;gap:8px}
#bd-ristoro .tgrid .big{font-family:var(--display);font-weight:700;font-size:40px;line-height:1;color:var(--olive-dk)}
#bd-ristoro .tgrid h3{font-size:19px}
#bd-ristoro .tgrid p{font-size:15px;color:var(--soft)}
@media (max-width:820px){#bd-ristoro .tgrid{grid-template-columns:1fr}}
#bd-ristoro .next{background:var(--white);padding-block:clamp(56px,7vw,96px);border-block:1px solid var(--rule)}
#bd-ristoro .ngrid{margin-top:32px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--rule);border:1px solid var(--rule);border-radius:16px;overflow:hidden}
#bd-ristoro .ngrid article{background:var(--white);padding:22px;display:flex;flex-direction:column;gap:6px}
#bd-ristoro .ngrid .tag{font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}
#bd-ristoro .ngrid h3{font-size:18px}
#bd-ristoro .ngrid p{font-size:14.5px;color:var(--soft)}
@media (max-width:820px){#bd-ristoro .ngrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){#bd-ristoro .ngrid{grid-template-columns:1fr}}
#bd-ristoro .faq{padding-block:clamp(56px,7vw,96px)}
#bd-ristoro .faq .wrap{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(24px,5vw,64px)}
#bd-ristoro .faq details{border-bottom:1px solid var(--rule);padding-block:16px}
#bd-ristoro .faq summary{cursor:pointer;font-family:var(--display);font-weight:700;font-size:18px;list-style:none;display:flex;justify-content:space-between;gap:16px}
#bd-ristoro .faq summary::after{content:"+";color:var(--olive)}
#bd-ristoro .faq details[open] summary::after{content:"–"}
#bd-ristoro .faq details p{margin-top:10px;color:var(--soft);max-width:60ch}
@media (max-width:820px){#bd-ristoro .faq .wrap{grid-template-columns:1fr}}
#bd-ristoro .cta{background:var(--olive);color:var(--white);padding-block:clamp(56px,7vw,96px)}
#bd-ristoro .cta .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:28px}
#bd-ristoro .cta h2{font-size:clamp(34px,4.4vw,60px);max-width:16ch}
#bd-ristoro .cta p{margin-top:14px;max-width:46ch;color:#EEF1E4}
#bd-ristoro .cta .btn-primary{background:var(--ink)}
#bd-ristoro footer{background:var(--ink);color:#98A084;font-size:13px}
#bd-ristoro footer .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-block:22px}
#bd-ristoro footer .logo{font-size:18px;color:var(--ivory)}
@media (prefers-reduced-motion:reduce){#bd-ristoro{scroll-behavior:auto}
#bd-ristoro .btn{transition:none}}

#bd-ristoro .btn{text-transform:none;letter-spacing:0;line-height:1.2}
#bd-ristoro a:hover{text-decoration:none}
#bd-ristoro h1,#bd-ristoro h2,#bd-ristoro h3{text-transform:none}
