@font-face{font-family:Manrope;src:url('../assets/manrope.woff2') format('woff2');font-weight:200 800;font-display:swap}
:root{font-family:Manrope,Arial,sans-serif;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:auto;scroll-padding-top:30px}body{--bg:#f5f5ed;--surface:#fffdf7;--ink:#23382e;--muted:#63716b;--accent:#365d49;--button-ink:#fff;--line:#23382e26;margin:0;background:var(--bg);color:var(--ink);font-size:17px;line-height:1.7}body.restaurant{--bg:#191712;--surface:#24211a;--ink:#f5eedf;--muted:#c0b5a2;--accent:#e4b077;--button-ink:#20190f;--line:#f5eedf26}body.portfolio{--bg:#eeece7;--surface:#f8f6f1;--ink:#202022;--muted:#636368;--accent:#6350a0;--button-ink:#fff;--line:#20202226}body.automation{--bg:#0c141c;--surface:#14212c;--ink:#eef4f6;--muted:#a4b6c4;--accent:#91dfb0;--button-ink:#11231a;--line:#d6e3ed26}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;color:inherit}button:disabled{cursor:default;opacity:.45}a{color:inherit;text-decoration:none}img{width:100%;height:auto;display:block}h1,h2,h3,h4,p,figure{margin:0}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:2px}[hidden]{display:none!important}::selection{background:var(--accent);color:var(--button-ink)}.shell{width:min(1300px,calc(100% - 100px));margin:auto}.demo-notice{min-height:44px;background:#17232a;color:#e2edf1;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:10px max(50px,calc((100% - 1300px)/2));font-size:12px;line-height:1.6}.demo-notice a{text-decoration:underline;text-underline-offset:4px;white-space:nowrap}.skip-link{position:fixed;top:8px;left:8px;z-index:50;padding:14px 20px;background:var(--accent);color:var(--button-ink);transform:translateY(-160%)}.skip-link:focus{transform:none}.site-header{display:flex;align-items:center;justify-content:space-between;gap:35px;padding:28px 0;border-bottom:1px solid var(--line)}.wordmark{font-size:32px;letter-spacing:-1.5px;font-weight:700;line-height:1.2}.wordmark.serif{font-family:Georgia,serif;font-weight:400;font-size:43px}.site-header nav{display:flex;align-items:center;gap:30px;font-size:16px}.site-header nav a:hover{color:var(--accent)}.small-button{padding:10px 17px;border:1px solid var(--accent);border-radius:6px;font-size:15px;color:var(--accent);display:inline-flex;align-items:center;gap:20px}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:52px;padding:14px 23px;border:1px solid var(--accent);border-radius:6px;background:var(--accent);color:var(--button-ink);font-size:16px;font-weight:700;line-height:1.5}.button:hover{filter:brightness(.96)}.button.secondary{background:transparent;color:var(--accent)}.button>span{font-size:23px;line-height:1}.eyebrow{font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--accent);line-height:1.8}.serif-title{font-family:Georgia,serif;font-weight:400;letter-spacing:-.06em}.hero{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;padding:70px 0 55px}.hero h1{font-size:clamp(46px,5.4vw,77px);line-height:1.05;letter-spacing:-.05em;margin:23px 0 26px;font-weight:500}.hero p{font-size:18px;color:var(--muted);line-height:1.8;max-width:510px}.hero .button{margin-top:28px}.hero-photo{position:relative;height:535px;overflow:hidden;border-radius:5px}.hero-photo img{width:100%;height:100%;object-fit:cover}.hero-photo figcaption{position:absolute;bottom:20px;left:20px;right:20px;font-size:12px;color:#fff;background:#13271ecc;padding:10px 14px;border-radius:4px;line-height:1.6}.clinic .hero-photo{border-radius:180px 180px 8px 8px}.clinic .hero-photo img{object-position:70% center}.theme-toolbar{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:20px 0;border-block:1px solid var(--line);margin-top:10px}.theme-toolbar>p{font-size:14px;color:var(--muted)}.theme-options{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.theme-button{min-height:38px;border:1px solid var(--line);padding:6px 11px;display:flex;align-items:center;gap:8px;background:transparent;color:var(--muted);font-size:12px;border-radius:4px}.theme-button[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.theme-dot{width:9px;height:9px;border-radius:50%;background:var(--accent)}.theme-green{background:#44856a}.theme-cyan{background:#4e92a2}.theme-violet{background:#8770b9}.section{padding:80px 0}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:45px;margin-bottom:35px}.section-heading h2{font-size:clamp(34px,3.7vw,50px);font-weight:500;line-height:1.15;letter-spacing:-.035em;margin-top:15px}.section-heading p{font-size:17px;color:var(--muted);max-width:400px;line-height:1.8}.service-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.service-card{padding:27px;background:var(--surface);border:1px solid var(--line);border-radius:6px}.service-card>span{font-size:13px;color:var(--accent)}.service-card h3{font-size:25px;font-weight:500;letter-spacing:-.03em;line-height:1.3;margin:25px 0 15px}.service-card p{font-size:16px;color:var(--muted);line-height:1.8}.text-button{border:0;padding:0;background:none;color:var(--accent);font-size:16px;text-align:left;display:inline-flex;align-items:center;gap:20px;min-height:44px;margin-top:22px}.appointment-section{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}.appointment-copy h2{font-size:47px;font-weight:400;line-height:1.15;letter-spacing:-.04em;margin:17px 0 24px}.appointment-copy>p{color:var(--muted);font-size:18px;max-width:470px}.example-badge{display:inline-block;font-size:12px;border:1px solid var(--line);padding:6px 11px;border-radius:20px;color:var(--accent);margin-top:24px}.form-card{border:1px solid var(--line);background:var(--surface);padding:28px;border-radius:8px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field label{display:block;font-weight:600;font-size:15px;margin-bottom:7px}.field input,.field select,.field textarea{width:100%;min-height:48px;padding:10px 12px;border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:5px;font-size:16px}.field textarea{resize:vertical;min-height:108px}.field small{display:block;font-size:12px;color:var(--muted);margin-top:6px;line-height:1.7}.field.full{grid-column:1/-1}fieldset{padding:0;border:0;margin:22px 0}legend{font-size:15px;font-weight:600;margin-bottom:11px}.time-options{display:flex;gap:9px;flex-wrap:wrap}.time-button{font-size:15px;min-height:43px;padding:9px 12px;border:1px solid var(--line);border-radius:5px;background:transparent;color:var(--ink)}.time-button[aria-pressed=true]{color:var(--button-ink);background:var(--accent);border-color:var(--accent)}.time-button:disabled{background:var(--line);opacity:.55}.form-card>.button,.form-card form>.button{width:100%}.form-note{font-size:12px;color:var(--muted);line-height:1.8;margin-top:12px}.status{font-size:14px;color:var(--accent);line-height:1.7;margin-top:14px;min-height:24px}.result-card{border:1px solid var(--accent);background:var(--surface);border-radius:6px;padding:23px;margin-top:22px}.result-card h3{font-size:22px;font-weight:600;line-height:1.3;margin:8px 0 14px}.result-card p{font-size:16px;color:var(--muted)}.result-card dl{margin:17px 0}.result-card dl>div{display:flex;gap:25px;justify-content:space-between;align-items:baseline;padding:9px 0;border-bottom:1px solid var(--line);font-size:15px}.result-card dt{color:var(--muted)}.result-card dd{margin:0;text-align:right}.result-card .button{font-size:14px;min-height:43px;padding:10px 16px;margin-top:13px}.closing{padding:50px;border:1px solid var(--line);background:var(--surface);border-radius:8px;display:flex;align-items:center;justify-content:space-between;gap:35px}.closing h2{font-size:37px;line-height:1.2;font-weight:500;letter-spacing:-.03em}.closing p{margin-top:15px;color:var(--muted);font-size:17px}.closing .button{flex-shrink:0}.footer{display:flex;align-items:center;justify-content:space-between;gap:35px;border-top:1px solid var(--line);padding:30px 0;margin-top:75px;font-size:13px;line-height:1.8;color:var(--muted)}.footer p{max-width:660px}.footer a{text-decoration:underline;text-underline-offset:5px;flex-shrink:0;color:var(--accent)}
/* Lumbre: food and atmosphere lead the experience. */
.restaurant .site-header{padding-block:25px}.restaurant .hero{display:block;padding-top:54px}.restaurant-hero-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:36px}.restaurant-hero-heading h1{font-size:clamp(50px,6vw,86px);max-width:740px;margin:18px 0 0;font-family:Georgia,serif;font-weight:400;letter-spacing:-.055em}.restaurant-hero-heading>div:last-child{max-width:360px;padding-bottom:8px}.restaurant-hero-heading p{font-size:17px}.restaurant .hero-photo{height:550px}.restaurant .hero-photo img{object-position:center 56%}.restaurant .hero-photo figcaption{background:#211709ce;max-width:350px;left:auto;right:25px;bottom:25px}.restaurant .theme-toolbar{margin-top:0}.menu-layout{display:grid;grid-template-columns:1fr 360px;gap:50px;align-items:start}.menu-filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:25px}.filter-button{border:1px solid var(--line);background:transparent;color:var(--muted);border-radius:24px;min-height:44px;padding:9px 17px;font-size:15px}.filter-button[aria-pressed=true]{background:var(--accent);color:var(--button-ink);border-color:var(--accent)}.dish{display:flex;justify-content:space-between;gap:25px;border-top:1px solid var(--line);padding:25px 0}.dish h3{font-family:Georgia,serif;font-weight:400;font-size:28px;line-height:1.25}.dish p{font-size:16px;color:var(--muted);margin-top:11px;max-width:450px}.dish .dish-meta{font-size:12px;margin-top:15px;color:var(--accent);letter-spacing:.03em}.dish-action{text-align:right;flex-shrink:0;padding-top:3px}.dish-action strong{display:block;font-size:18px;font-weight:500}.dish-action button{margin-top:14px;font-size:14px;padding:9px 13px;min-height:40px;gap:8px}.order-card{border:1px solid var(--line);border-radius:8px;padding:26px;background:var(--surface);position:sticky;top:20px}.order-card h3{font-size:25px;font-weight:400;line-height:1.3;margin:13px 0 15px}.order-card>p{font-size:14px;color:var(--muted)}.order-empty{padding:22px 0;color:var(--muted);font-size:15px}.order-line{padding:19px 0;border-bottom:1px solid var(--line)}.order-line-title{display:flex;justify-content:space-between;gap:15px;font-size:15px}.order-line-title strong{font-weight:600}.quantity-controls{display:flex;align-items:center;gap:12px;margin-top:12px}.quantity-controls button{min-height:32px;min-width:32px;background:transparent;border:1px solid var(--line);color:var(--ink);border-radius:3px;font-size:17px}.quantity-controls .remove-button{border:0;font-size:12px;padding-left:5px;color:var(--muted)}.order-total{display:flex;justify-content:space-between;gap:20px;padding:21px 0;font-size:18px}.order-total strong{color:var(--accent)}.order-card>.button{width:100%;font-size:14px;gap:12px}.order-card .text-button{font-size:13px;margin-top:7px}.order-preview{font-size:14px;color:var(--muted);white-space:pre-line;margin-top:18px;padding-top:15px;border-top:1px solid var(--line)}
/* Valeria: an imagined professional and three cases to explore. */
.portfolio .wordmark{font-size:27px;letter-spacing:-1px}.portfolio .hero{grid-template-columns:1.08fr 1fr;gap:65px}.portfolio .hero h1{font-size:clamp(50px,5.1vw,73px);letter-spacing:-.06em;font-weight:500}.portfolio .hero h1 em{font-family:Georgia,serif;color:var(--accent);font-weight:400}.portfolio .hero-photo{height:555px}.portfolio .hero-photo img{object-position:62% center}.portfolio .hero-photo figcaption{background:#ffffffdd;color:var(--ink)}.portfolio .hero-footnote{font-size:12px;margin-top:26px}.portfolio-intro{display:grid;grid-template-columns:1fr 1.2fr;gap:100px;padding-top:70px}.portfolio-intro h2{font-size:44px;font-weight:500;line-height:1.2;letter-spacing:-.045em}.portfolio-intro p{color:var(--muted);font-size:18px;line-height:1.9}.portfolio-cases{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.portfolio-case{border:0;background:transparent;text-align:left;padding:0;color:var(--ink)}.portfolio-case figure{height:280px;border-radius:5px;overflow:hidden;position:relative}.portfolio-case img{height:100%;width:100%;object-fit:cover}.portfolio-case .case-number{position:absolute;top:17px;left:18px;color:#fff;font-size:12px;background:#152b20ad;padding:5px 9px;border-radius:4px}.portfolio-case h3{font-size:24px;font-weight:500;line-height:1.3;letter-spacing:-.025em;margin-top:20px;display:flex;justify-content:space-between;gap:16px}.portfolio-case h3 span{color:var(--accent)}.portfolio-case p{font-size:14px;color:var(--muted);margin-top:8px}.process-row{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;border-top:1px solid var(--line);padding-top:30px;margin-top:35px}.process-row article>span{color:var(--accent);font-size:13px}.process-row h3{font-size:25px;font-weight:500;line-height:1.35;margin:19px 0 12px}.process-row p{color:var(--muted);font-size:16px}.case-dialog{width:min(740px,calc(100% - 32px));max-height:90dvh;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:32px}.case-dialog::backdrop{background:#17202bbb}.dialog-header{display:flex;justify-content:space-between;align-items:center;gap:25px}.dialog-close{width:39px;height:39px;background:transparent;border:1px solid var(--line);border-radius:50%;font-size:25px;display:grid;place-items:center;line-height:1}.case-dialog h2{font-size:36px;font-weight:500;line-height:1.2;letter-spacing:-.04em;margin:25px 0 20px}.case-dialog p{color:var(--muted);font-size:17px;line-height:1.8}.case-dialog ul{font-size:16px;line-height:1.9;padding-left:20px;margin:22px 0}.case-dialog .button{margin-top:10px}.case-dialog .form-note{font-size:12px;margin-top:22px}
/* Flow Lab: browser-local systems that can actually be tried. */
.automation .site-header{padding-block:24px}.automation .wordmark{letter-spacing:-1px;font-size:30px}.dashboard-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:50px;padding:58px 0 40px}.dashboard-intro h1{font-size:clamp(40px,4.5vw,64px);font-weight:500;line-height:1.1;letter-spacing:-.045em;margin:19px 0 22px}.dashboard-intro p{font-size:18px;color:var(--muted);max-width:740px;line-height:1.8}.dashboard-intro .button{flex-shrink:0;min-height:44px;padding:10px 15px;font-size:14px}.dashboard-topstats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:30px 0}.stat-card{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:23px;border:1px solid var(--line);border-radius:7px;background:var(--surface)}.stat-card span{font-size:14px;color:var(--muted)}.stat-card strong{font-size:30px;color:var(--accent);font-weight:500;line-height:1}.flow-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:35px 0 23px}.flow-tab{display:flex;align-items:center;gap:14px;min-height:67px;padding:17px 20px;border:1px solid var(--line);background:var(--surface);border-radius:6px;font-size:16px;text-align:left;color:var(--muted)}.flow-tab>span{color:var(--accent);font-size:13px}.flow-tab[aria-selected=true]{border-color:var(--accent);color:var(--ink);background:color-mix(in srgb,var(--accent) 10%,var(--surface))}.flow-panel{border:1px solid var(--line);background:#0f1a24;border-radius:8px;padding:33px}.flow-panel:focus-visible{outline:2px solid var(--accent);outline-offset:5px}.flow-title{display:flex;justify-content:space-between;align-items:flex-start;gap:30px;margin-bottom:27px}.flow-title h2{font-size:32px;font-weight:500;line-height:1.2;letter-spacing:-.03em;margin:12px 0}.flow-title p{max-width:720px;color:var(--muted);font-size:17px;line-height:1.8}.local-tag{font-size:12px;border:1px solid #618571;padding:5px 10px;color:var(--accent);border-radius:20px;flex-shrink:0;margin-top:5px}.flow-layout{display:grid;grid-template-columns:.92fr 1.08fr;gap:27px;align-items:start}.automation .form-card{background:var(--surface)}.automation .field input,.automation .field select{color-scheme:dark}.flow-output{padding:25px;border:1px solid var(--line);border-radius:7px;background:#15222d;min-width:0}.flow-output h3{font-size:24px;font-weight:500;line-height:1.3;margin-bottom:14px}.flow-output>p{color:var(--muted);font-size:16px}.flow-output>.eyebrow{margin-bottom:14px}.reply-preview{width:100%;min-height:128px;resize:vertical;display:block;background:#0d1922;color:#c2d7e3;border:1px solid var(--line);padding:15px;font-size:15px;line-height:1.8;border-radius:5px;margin-top:19px}.flow-actions{display:flex;gap:11px;flex-wrap:wrap;margin-top:20px}.flow-actions .button{font-size:14px;min-height:43px;padding:10px 14px;gap:10px}.flow-rule{margin-top:20px;font-size:12px;color:var(--muted);line-height:1.8}.priority-tag{display:inline-flex;align-items:center;font-size:12px;border:1px solid #8898a350;color:#c5d4df;padding:4px 8px;border-radius:20px}.priority-tag.high{background:#91dfb011;color:#a4ebc0;border-color:#6fb388}.priority-tag.medium{background:#e0b7730d;color:#e6c896;border-color:#a78a58}.table-wrap{margin-top:30px;overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:14px;min-width:430px}.data-table caption{text-align:left;font-size:18px;font-weight:500;padding-bottom:15px;color:var(--ink)}.data-table th{text-align:left;color:#92a9ba;font-size:12px;font-weight:500;padding:12px 13px;border-bottom:1px solid var(--line)}.data-table td{padding:15px 13px;border-bottom:1px solid var(--line);color:#c3d3df}.table-empty{color:var(--muted);text-align:center!important;font-size:14px;padding:26px!important}.availability-legend{font-size:12px;color:var(--muted);line-height:1.8;margin-top:10px}.inventory{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px}.inventory>div{padding:13px 12px;background:#111c26;border:1px solid var(--line);border-radius:4px}.inventory span{display:block;font-size:12px;color:var(--muted)}.inventory strong{display:block;font-size:22px;color:var(--accent);margin-top:8px;font-weight:500}.invoice-detail{padding:20px;border:1px solid var(--line);background:#101c25;border-radius:5px}.invoice-detail>span{display:block;font-size:12px;color:var(--accent);letter-spacing:.07em}.invoice-detail h4{font-size:23px;font-weight:500;margin:10px 0 17px}.invoice-detail dl{margin:0}.invoice-detail dl>div{display:flex;justify-content:space-between;gap:22px;padding:11px 0;border-bottom:1px solid var(--line);font-size:15px}.invoice-detail dt{color:var(--muted)}.invoice-detail dd{margin:0;text-align:right}.invoice-detail dl>div:last-child{font-size:20px;color:var(--accent);border-bottom:0;margin-top:7px}.automation .theme-toolbar{margin-top:0}.automation .closing{margin-top:50px}.automation .footer{margin-top:60px}.muted{color:var(--muted)}
@media(max-width:1050px){.shell{width:calc(100% - 64px)}.demo-notice{padding-inline:32px}.site-header nav{gap:20px;font-size:15px}.hero{gap:40px;padding-top:50px}.hero h1{font-size:58px}.hero-photo{height:480px}.menu-layout{grid-template-columns:1fr 320px;gap:30px}.order-card{padding:22px}.portfolio .hero{gap:40px}.portfolio .hero h1{font-size:60px}.portfolio-intro{gap:55px}.portfolio-cases{gap:19px}.portfolio-case figure{height:235px}.portfolio-case h3{font-size:22px}.dashboard-intro{gap:30px}.flow-panel{padding:26px}.flow-layout{gap:20px}.flow-output,.form-card{padding:22px}.appointment-section{gap:40px}.appointment-copy h2{font-size:42px}.form-grid{gap:16px}.closing{padding:38px}.closing h2{font-size:32px}}
@media(max-width:800px){.shell{width:calc(100% - 40px)}.demo-notice{padding-inline:20px;gap:15px;flex-wrap:wrap}.site-header{gap:20px;flex-wrap:wrap;padding-block:23px}.site-header nav{flex-wrap:wrap;font-size:15px;gap:15px 23px}.hero,.portfolio .hero{grid-template-columns:1fr;gap:30px;padding:45px 0}.hero h1,.portfolio .hero h1{font-size:clamp(48px,8vw,66px);max-width:680px}.hero p{max-width:680px;font-size:18px}.hero-photo,.portfolio .hero-photo{height:440px}.clinic .hero-photo{border-radius:100px 100px 6px 6px}.theme-toolbar{flex-wrap:wrap;gap:14px}.theme-toolbar>p{font-size:13px}.section{padding-block:56px}.section-heading{align-items:flex-start;flex-direction:column;gap:20px}.section-heading h2{font-size:40px}.section-heading p{max-width:650px}.service-cards{grid-template-columns:1fr;gap:16px}.service-card h3{margin:15px 0;font-size:27px}.service-card{padding:25px}.appointment-section{grid-template-columns:1fr;gap:30px}.appointment-copy h2{font-size:43px}.appointment-copy>p{max-width:650px}.restaurant-hero-heading{flex-direction:column;align-items:flex-start;gap:25px}.restaurant-hero-heading h1{font-size:67px}.restaurant-hero-heading>div:last-child{max-width:630px}.restaurant .hero-photo{height:440px}.menu-layout{grid-template-columns:1fr;gap:30px}.order-card{position:static}.closing{flex-direction:column;align-items:flex-start;padding:32px}.closing h2{font-size:35px}.footer{flex-direction:column;align-items:flex-start;gap:20px;margin-top:55px}.portfolio-intro{grid-template-columns:1fr;gap:25px;padding-top:55px}.portfolio-intro h2{font-size:39px}.portfolio-cases{grid-template-columns:1fr;gap:33px}.portfolio-case figure{height:340px}.portfolio-case h3{font-size:27px}.portfolio-case p{font-size:15px}.process-row{grid-template-columns:1fr;gap:27px}.process-row h3{margin-top:11px;font-size:27px}.dashboard-intro{flex-direction:column;align-items:flex-start;gap:24px;padding-top:42px}.dashboard-intro h1{font-size:51px}.dashboard-topstats{gap:13px}.stat-card{padding:17px;align-items:flex-start;flex-direction:column}.stat-card span{font-size:13px}.flow-tabs{gap:9px}.flow-tab{padding:14px;gap:10px;font-size:14px}.flow-layout{grid-template-columns:1fr;gap:23px}.flow-title{flex-wrap:wrap;gap:11px}.flow-title h2{font-size:31px}.flow-panel{padding:25px}.local-tag{margin-top:0}.data-table{font-size:14px}.flow-output{padding:23px}.inventory>div{padding:14px}.case-dialog{padding:26px}.case-dialog h2{font-size:32px}}
@media(max-width:500px){.site-header nav{width:100%;justify-content:space-between;gap:14px;font-size:14px}.site-header nav .small-button{font-size:14px;padding:8px 12px}.wordmark.serif{font-size:38px}.hero h1,.portfolio .hero h1{font-size:49px}.hero-photo,.portfolio .hero-photo{height:365px}.hero p{font-size:17px}.hero .button{font-size:15px}.eyebrow{font-size:12px;letter-spacing:.08em}.theme-options{gap:6px}.theme-button{font-size:12px;padding:6px 9px}.section-heading h2{font-size:35px}.section-heading p{font-size:17px}.appointment-copy h2{font-size:37px}.appointment-copy>p{font-size:17px}.form-card{padding:22px 19px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.result-card{padding:20px}.result-card dl>div{gap:15px;font-size:14px}.restaurant-hero-heading h1{font-size:53px}.restaurant .hero-photo{height:370px}.restaurant .hero-photo figcaption{left:18px;right:18px;bottom:18px}.dish{gap:19px}.dish h3{font-size:24px}.dish p{font-size:16px}.dish-action strong{font-size:16px}.dish-action button{font-size:12px;padding:8px 10px;min-height:39px}.order-card{padding:23px}.closing{padding:26px}.closing h2{font-size:31px}.closing .button{font-size:15px;gap:16px}.portfolio-intro h2{font-size:36px}.portfolio-case figure{height:285px}.portfolio-case h3{font-size:25px}.dashboard-intro h1{font-size:42px}.dashboard-intro p{font-size:17px}.dashboard-topstats{gap:9px}.stat-card{padding:15px 13px}.stat-card span{font-size:12px;line-height:1.6}.stat-card strong{font-size:27px}.flow-tabs{grid-template-columns:1fr;gap:9px;margin-top:25px}.flow-tab{font-size:16px;min-height:56px;padding:13px 18px}.flow-panel{padding:23px 18px}.flow-title h2{font-size:29px}.flow-title p{font-size:16px}.flow-output{padding:22px 18px}.flow-output h3{font-size:23px}.inventory{gap:8px}.inventory>div{padding:12px 10px}.inventory span{font-size:12px;line-height:1.6}.inventory strong{font-size:24px}.invoice-detail{padding:17px}.invoice-detail dl>div{font-size:14px;gap:18px}.case-dialog{padding:23px}.case-dialog h2{font-size:29px}.case-dialog p{font-size:16px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

.flow-title>div{flex:1;min-width:0}.flow-context-photo{width:160px;height:110px;flex:0 0 160px;border-radius:6px;overflow:hidden;border:1px solid var(--line);margin-top:5px}.flow-context-photo img{width:100%;height:100%;object-fit:cover}.flow-title .local-tag{font-size:12px;white-space:nowrap}
@media(max-width:1000px){.flow-title{flex-wrap:wrap}.flow-title>div{flex-basis:calc(100% - 190px)}.flow-title .local-tag{margin-top:0}}
@media(max-width:600px){.flow-title>div{flex-basis:100%}.flow-context-photo{width:100%;height:150px;flex-basis:100%;margin-top:4px}.flow-title .local-tag{margin-top:3px}}

/* Each sector tells its own story with independent editorial photographs. */
.clinic .service-card p{font-size:17px}.clinic-story{display:grid;grid-template-columns:1.08fr 1fr;gap:65px;align-items:center;border-top:1px solid var(--line)}.clinic-story-photo{height:460px;border-radius:7px;overflow:hidden}.clinic-story-photo img{height:100%;width:100%;object-fit:cover}.clinic-story-copy h2{font-size:46px;line-height:1.13;letter-spacing:-.045em;margin:18px 0 24px}.clinic-story-copy>p{font-size:18px;line-height:1.85;color:var(--muted)}.clinic-story-copy ul{list-style:none;padding:0;font-size:17px;color:var(--muted);margin:25px 0 0}.clinic-story-copy li{border-top:1px solid var(--line);padding:11px 0}.clinic-team{padding-top:10px}.clinic-team-photo{height:510px;position:relative;border-radius:7px;overflow:hidden}.clinic-team-photo img{width:100%;height:100%;object-fit:cover}.clinic-team-photo figcaption{position:absolute;bottom:24px;left:25px;right:25px;padding:14px 18px;border-radius:4px;background:#f5f5e8dd;color:#31483b;font-size:17px;max-width:630px;line-height:1.7}.sector-automation-callout h2{margin-top:15px}.sector-automation-callout p{font-size:17px;max-width:650px}.sector-automation-callout .button{font-size:16px}.portfolio-contact{margin-top:32px}.clinic .site-header nav,.restaurant .site-header nav,.portfolio .site-header nav{font-size:16px}
.restaurant .dish-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.restaurant .dish{display:flex;flex-direction:column;gap:0;padding:0;border:1px solid var(--line);border-radius:7px;overflow:hidden;background:var(--surface);min-width:0}.dish-photo{aspect-ratio:16/9;overflow:hidden;width:100%;background:#302519}.dish-photo img{width:100%;height:100%;object-fit:cover}.restaurant .dish-content{padding:21px;flex:1;display:flex;flex-direction:column}.restaurant .dish h3{font-size:27px}.restaurant .dish p{font-size:17px;line-height:1.8}.restaurant .dish .dish-meta{font-size:12px;margin-top:15px}.restaurant .dish-action{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-top:20px;margin-top:auto;text-align:left}.restaurant .dish-action strong{font-size:18px}.restaurant .dish-action button{margin:0;font-size:14px;min-height:43px;padding:10px 13px}.restaurant .order-card>p:not(.form-note):not(.status){font-size:16px}
.portfolio .portfolio-case p{font-size:17px;line-height:1.8}.portfolio .portfolio-case h3{font-size:24px;line-height:1.4}.portfolio .process-row p{font-size:17px;line-height:1.8}.case-dialog-image{width:100%;height:265px;object-fit:cover;border-radius:5px;margin-top:22px}.case-deliverables-heading{font-size:19px;font-weight:600;margin-top:25px;line-height:1.4}.portfolio .case-dialog ul{font-size:17px;line-height:1.9}.portfolio .case-dialog>.button{font-size:15px;gap:16px}
@media(max-width:1050px){.clinic-story{gap:40px}.clinic-story-copy h2{font-size:40px}.clinic-story-photo{height:455px}.restaurant .dish-grid{grid-template-columns:1fr}.restaurant .dish h3{font-size:28px}.clinic-team-photo{height:470px}.portfolio .portfolio-case h3{font-size:22px}}
@media(max-width:800px){.clinic-story{grid-template-columns:1fr;gap:30px}.clinic-story-photo{height:390px}.clinic-story-copy h2{font-size:43px}.clinic-team{padding-top:15px}.clinic-team-photo{height:400px}.restaurant .dish-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:19px}.restaurant .dish-content{padding:20px}.restaurant .dish h3{font-size:25px}.restaurant .dish-action{flex-wrap:wrap;gap:12px}.portfolio .portfolio-case h3{font-size:27px}.case-dialog-image{height:250px}}
@media(max-width:600px){.clinic-story-photo{height:320px}.clinic-story-copy h2{font-size:37px}.clinic-story-copy>p{font-size:17px}.clinic-team-photo{height:330px}.clinic-team-photo figcaption{font-size:15px;bottom:18px;left:17px;right:17px;padding:12px 15px}.restaurant .dish-grid{grid-template-columns:1fr;gap:23px}.restaurant .dish h3{font-size:28px}.restaurant .dish-content{padding:22px}.restaurant .dish p{font-size:17px}.restaurant .dish-action{flex-wrap:nowrap;padding-top:23px}.restaurant .dish-action button{font-size:15px;padding:11px 15px}.portfolio .portfolio-case h3{font-size:25px}.portfolio .portfolio-case p{font-size:17px}.case-dialog-image{height:210px}.portfolio .case-dialog>.button{font-size:15px;max-width:100%;white-space:normal}.sector-automation-callout h2{font-size:31px}.sector-automation-callout .button{font-size:15px;gap:15px}.clinic .site-header nav,.restaurant .site-header nav,.portfolio .site-header nav{font-size:16px;gap:13px}.clinic .site-header nav .small-button,.restaurant .site-header nav .small-button,.portfolio .site-header nav .small-button{font-size:14px}.portfolio-contact{margin-top:25px}}

/* Lumbre: pedido con cajón lateral (hoja inferior en móvil), botón flotante y deshacer. */
html:has(body.restaurant){scrollbar-gutter:stable}
html:has(.cart-drawer[open]){overflow:hidden}
.restaurant{--cart-ease:cubic-bezier(.32,.72,0,1);--cart-raised:#2c281f;--cart-sunken:#1c1a14;--cart-danger:#f0a493;--cart-shadow:0 1px 0 #fff3e00f inset,0 2px 6px -2px #0006,0 18px 40px -12px #000a,0 40px 90px -30px #000c}
.restaurant .cart-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.restaurant .cart-panel button:focus-visible,.restaurant .cart-toast button:focus-visible,.restaurant .cart-trigger:focus-visible,.restaurant .cart-fab:focus-visible{outline:3px solid var(--accent);outline-offset:2px}

/* Acceso al pedido: cabecera y botón flotante. */
.restaurant .cart-trigger{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:8px 14px 8px 13px;border:1px solid color-mix(in srgb,var(--accent) 50%,transparent);border-radius:999px;background:color-mix(in srgb,var(--accent) 9%,transparent);color:var(--ink);font-size:15px;font-weight:650;line-height:1.2;transition-property:background-color,border-color,color,scale;transition-duration:.18s}
.restaurant .cart-trigger:hover{background:color-mix(in srgb,var(--accent) 17%,transparent);border-color:var(--accent)}
.restaurant .cart-trigger svg,.restaurant .cart-fab svg{flex:none;color:var(--accent)}
.restaurant .cart-badge{display:inline-block;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--accent);color:var(--button-ink);font-size:12px;font-weight:800;line-height:22px;text-align:center;font-variant-numeric:tabular-nums}
.restaurant .cart-badge[hidden]{display:none!important}
.restaurant .cart-fab{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));z-index:40;display:inline-flex;align-items:center;gap:10px;min-height:56px;padding:8px 10px 8px 18px;border:1px solid color-mix(in srgb,var(--accent) 38%,transparent);border-radius:999px;background:color-mix(in srgb,var(--surface) 82%,transparent);-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2);color:var(--ink);font-size:15px;font-weight:700;line-height:1.2;box-shadow:var(--cart-shadow);opacity:0;visibility:hidden;transform:translateY(18px) scale(.96);transition:opacity .28s var(--cart-ease),transform .4s var(--cart-ease),visibility 0s linear .4s,background-color .18s,scale .15s}
.restaurant .cart-fab.is-visible{opacity:1;visibility:visible;transform:none;transition-delay:0s}
.restaurant .cart-fab:hover{background:color-mix(in srgb,var(--surface) 92%,var(--accent) 8%)}
.restaurant .cart-fab-total{color:var(--muted);font-weight:600;font-variant-numeric:tabular-nums;padding-left:10px;border-left:1px solid var(--line)}
.restaurant .cart-fab .cart-badge{min-width:30px;height:30px;line-height:30px;font-size:13px}
.restaurant .cart-fab:not(:has(.cart-badge:not([hidden]))){padding-right:20px}

/* Botón Agregar: etiqueta y confirmación comparten la misma caja, sin saltos. */
.restaurant .dish-add{display:inline-grid;grid-template-areas:"label";place-items:center;overflow:hidden;transition-property:background-color,color,border-color,scale;transition-duration:.2s}
.restaurant .dish-add>span{grid-area:label;font-size:inherit;line-height:inherit;transition:opacity .2s ease,transform .3s var(--cart-ease)}
.restaurant .dish-add b{font-weight:700}
.restaurant .dish-add .dish-add-done{opacity:0;transform:translateY(110%)}
.restaurant .dish-add.is-added{background:var(--accent);color:var(--button-ink)}
.restaurant .dish-add.is-added .dish-add-label{opacity:0;transform:translateY(-110%)}
.restaurant .dish-add.is-added .dish-add-done{opacity:1;transform:none}

/* Plato en vuelo hacia el pedido. */
.restaurant .cart-fly{position:fixed;z-index:60;width:84px;height:84px;pointer-events:none;will-change:transform}
.restaurant .cart-fly>div{width:100%;height:100%;will-change:transform}
.restaurant .cart-fly img{width:100%;height:100%;object-fit:cover;border-radius:18px;border:2px solid #f5eedf;box-shadow:0 14px 30px -8px #000b;will-change:transform,opacity}

/* Resumen compacto junto a la carta. */
.restaurant .order-mini{list-style:none;margin:14px 0 0;padding:0}
.restaurant .order-mini li{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:14px;line-height:1.4}
.restaurant .order-mini li.order-empty{display:block;padding:18px 0;border-bottom:0;font-size:15px}
.restaurant .order-mini img{width:40px;height:40px;object-fit:cover;border-radius:10px;border:1px solid var(--line)}
.restaurant .order-mini-qty{color:var(--accent);font-weight:700;font-variant-numeric:tabular-nums}
.restaurant .order-mini-price,.restaurant .order-total strong{font-variant-numeric:tabular-nums}
.restaurant .order-total strong{display:inline-block}
.restaurant .order-mini-price{color:var(--muted)}

/* Cajón. El diálogo cubre la pantalla y el panel interior es el que se mueve. */
.restaurant .cart-drawer{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;background:transparent;color:var(--ink);overflow:hidden}
.restaurant .cart-drawer::backdrop{background:rgb(10 8 5 / .58);-webkit-backdrop-filter:blur(7px) saturate(.85);backdrop-filter:blur(7px) saturate(.85)}
.restaurant .cart-drawer[open]::backdrop{animation:cart-fade .34s ease-out}
.restaurant .cart-drawer.is-closing::backdrop{animation:cart-fade-out .28s ease-in forwards}
.restaurant .cart-panel{position:absolute;top:12px;right:12px;bottom:12px;width:min(456px,calc(100% - 24px));display:flex;flex-direction:column;background:linear-gradient(180deg,var(--cart-raised),var(--surface) 180px);border:1px solid var(--line);border-radius:24px;box-shadow:var(--cart-shadow);overflow:hidden}
.restaurant .cart-drawer[open] .cart-panel{animation:cart-in .5s var(--cart-ease)}
.restaurant .cart-drawer.is-closing .cart-panel{animation:cart-out .28s cubic-bezier(.4,0,1,1) forwards}
.restaurant .cart-grabber{display:none}
.restaurant .cart-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:22px 20px 18px 26px;border-bottom:1px solid var(--line)}
.restaurant .cart-head .eyebrow{font-size:11px;letter-spacing:.14em}
.restaurant .cart-title{font-family:Georgia,serif;font-weight:400;font-size:34px;line-height:1.1;letter-spacing:-.035em;margin-top:6px}
.restaurant .cart-title-count{font-family:Manrope,Arial,sans-serif;font-size:16px;font-weight:600;letter-spacing:0;color:var(--muted);font-variant-numeric:tabular-nums;vertical-align:.3em}
.restaurant .cart-close{flex:none;width:44px;height:44px;display:grid;place-items:center;padding:0;border:1px solid var(--line);border-radius:999px;background:#0000001a;color:var(--ink);transition-property:background-color,border-color,scale;transition-duration:.18s}
.restaurant .cart-close:hover{background:#f5eedf14;border-color:#f5eedf40}
.restaurant .cart-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:4px 26px 26px;scrollbar-width:thin;scrollbar-color:#f5eedf33 transparent}

/* Líneas del pedido. */
.restaurant .cart-lines{list-style:none;margin:0;padding:0}
.restaurant .cart-line.is-moving{overflow:hidden}
.restaurant .cart-line-inner{display:grid;grid-template-columns:76px minmax(0,1fr) auto;grid-template-areas:"thumb info remove" "thumb step total";align-items:start;column-gap:16px;row-gap:10px;padding:20px 0;border-bottom:1px solid var(--line)}
.restaurant .cart-line:last-child .cart-line-inner{border-bottom:0}
.restaurant .cart-line-thumb{grid-area:thumb;width:76px;height:76px;object-fit:cover;border-radius:16px;border:1px solid var(--line);background:#302519;box-shadow:0 8px 18px -10px #000c}
.restaurant .cart-line-info{grid-area:info;min-width:0;padding-top:1px}
.restaurant .cart-line-name{font-family:Georgia,serif;font-size:19px;line-height:1.25;letter-spacing:-.01em}
.restaurant .cart-line-note{font-size:13px;line-height:1.45;color:var(--muted);margin-top:4px}
.restaurant .cart-line-unit{font-size:13px;line-height:1.45;color:var(--muted);opacity:.85;font-variant-numeric:tabular-nums;margin-top:2px}
.restaurant .cart-remove{grid-area:remove;justify-self:end;width:44px;height:44px;margin:-10px -12px 0 0;display:grid;place-items:center;padding:0;border:0;border-radius:12px;background:transparent;color:var(--muted);transition-property:color,background-color,scale;transition-duration:.18s}
.restaurant .cart-remove:hover{color:var(--cart-danger);background:color-mix(in srgb,var(--cart-danger) 12%,transparent)}
.restaurant .cart-stepper{grid-area:step;justify-self:start;display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;background:var(--cart-sunken);box-shadow:inset 0 1px 2px #0005}
.restaurant .cart-step{width:44px;height:44px;display:grid;place-items:center;padding:0;border:0;border-radius:999px;background:transparent;color:var(--ink);transition-property:background-color,color,scale;transition-duration:.15s}
.restaurant .cart-step:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent)}
.restaurant .cart-qty{display:inline-block;min-width:26px;text-align:center;font-size:16px;font-weight:700;font-variant-numeric:tabular-nums}
.restaurant .cart-line-total{grid-area:total;align-self:center;font-size:17px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}

/* Resumen, entrega y total. */
.restaurant .cart-summary{position:relative;z-index:1;padding:18px 26px 20px;border-top:1px solid var(--line);background:var(--cart-sunken);box-shadow:0 -14px 28px -18px #000c}
.restaurant .cart-mode{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 14px;padding:0;border:0;min-width:0}
.restaurant .cart-mode legend{float:left;width:100%;grid-column:1/-1;margin-bottom:10px;padding:0;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.restaurant .cart-option{position:relative;display:flex;flex-direction:column;justify-content:center;gap:2px;min-height:62px;padding:10px 34px 10px 14px;border:1px solid var(--line);border-radius:14px;background:#f5eedf08;cursor:pointer;transition-property:border-color,background-color,box-shadow;transition-duration:.2s}
.restaurant .cart-option:hover{border-color:#f5eedf47}
.restaurant .cart-option input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}
.restaurant .cart-option strong{font-size:14px;font-weight:700;line-height:1.3}
.restaurant .cart-option span{font-size:12px;line-height:1.35;color:var(--muted);font-variant-numeric:tabular-nums}
.restaurant .cart-option::after{content:"";position:absolute;top:12px;right:12px;width:16px;height:16px;border-radius:50%;border:1.5px solid #f5eedf55;background:transparent;transition-property:border-color,background-color,box-shadow;transition-duration:.2s}
.restaurant .cart-option:has(input:checked){border-color:var(--accent);background:color-mix(in srgb,var(--accent) 11%,transparent);box-shadow:inset 0 0 0 1px var(--accent)}
.restaurant .cart-option:has(input:checked)::after{border-color:var(--accent);background:var(--accent);box-shadow:inset 0 0 0 3.5px var(--cart-sunken)}
.restaurant .cart-option:has(input:focus-visible){outline:3px solid var(--accent);outline-offset:2px}
.restaurant .cart-totals{margin:0;font-size:15px;line-height:1.5;font-variant-numeric:tabular-nums}
.restaurant .cart-totals>div{display:flex;justify-content:space-between;gap:16px;padding:3px 0}
.restaurant .cart-totals dt{color:var(--muted)}
.restaurant .cart-totals dd{margin:0}
.restaurant .cart-totals .cart-total-row{margin-top:8px;padding-top:11px;border-top:1px dashed #f5eedf33;font-size:20px;font-weight:700;align-items:baseline}
.restaurant .cart-total-row dt{color:var(--ink);font-size:16px;font-weight:600}
.restaurant #cart-total{display:inline-block;color:var(--accent)}
.restaurant .cart-send{position:relative;width:100%;margin-top:14px;min-height:54px;border-radius:14px;gap:10px;font-size:16px;box-shadow:0 1px 0 #fff4 inset,0 12px 26px -14px color-mix(in srgb,var(--accent) 80%,transparent)}
.restaurant .cart-send>span{font-size:inherit;line-height:1.3;font-variant-numeric:tabular-nums}
.restaurant .cart-spinner{display:none;width:18px;height:18px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:cart-spin .7s linear infinite}
.restaurant .cart-send.is-loading{opacity:1;cursor:progress}
.restaurant .cart-send.is-loading .cart-spinner{display:inline-block}
.restaurant .cart-link{display:flex;align-items:center;justify-content:center;min-height:44px;margin:4px auto 0;padding:0 14px;border:0;border-radius:10px;background:none;color:var(--muted);font-size:14px;font-weight:600;transition-property:color,background-color,scale;transition-duration:.18s}
.restaurant .cart-link:hover:not(:disabled){color:var(--ink);background:#f5eedf0d}
.restaurant .cart-note{font-size:12px;line-height:1.5;color:var(--muted);opacity:.8;text-align:center;margin-top:2px}

/* Estado vacío y confirmación. */
.restaurant .cart-empty,.restaurant .cart-done{display:flex;flex-direction:column;align-items:center;text-align:center;padding:52px 8px 20px;animation:cart-rise .5s var(--cart-ease)}
.restaurant .cart-empty-icon,.restaurant .cart-done-icon{width:88px;height:88px;display:grid;place-items:center;border-radius:50%;color:var(--accent);background:radial-gradient(circle at 50% 30%,color-mix(in srgb,var(--accent) 20%,transparent),transparent 70%);border:1px solid var(--line)}
.restaurant .cart-empty h3,.restaurant .cart-done h3{font-family:Georgia,serif;font-weight:400;font-size:27px;line-height:1.2;letter-spacing:-.02em;margin-top:22px}
.restaurant .cart-empty p{max-width:300px;margin-top:10px;font-size:15px;line-height:1.65;color:var(--muted)}
.restaurant .cart-empty .button{margin-top:26px;gap:12px;font-size:15px;border-radius:12px}
.restaurant .cart-done:focus{outline:none}
.restaurant .cart-done .eyebrow{margin-top:20px;font-size:11px}
.restaurant .cart-done h3{margin-top:8px;font-variant-numeric:tabular-nums}
.restaurant .cart-done-note{margin-top:12px;padding:10px 14px;border:1px dashed color-mix(in srgb,var(--accent) 55%,transparent);border-radius:12px;font-size:14px;line-height:1.5;color:var(--ink);background:color-mix(in srgb,var(--accent) 7%,transparent)}
.restaurant .cart-done-details{width:100%;margin:20px 0 0;padding:6px 16px;border:1px solid var(--line);border-radius:16px;background:var(--cart-sunken);text-align:left;font-size:14px;font-variant-numeric:tabular-nums}
.restaurant .cart-done-details>div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--line)}
.restaurant .cart-done-details>div:last-child{border-bottom:0;font-weight:700}
.restaurant .cart-done-details dt{color:var(--muted)}
.restaurant .cart-done-details dd{margin:0;text-align:right}
.restaurant .cart-done-details>div:last-child dd{color:var(--accent)}
.restaurant .cart-done-actions{width:100%;margin-top:20px}
.restaurant .cart-done-actions .button{width:100%;border-radius:14px;font-size:15px}
.restaurant .cart-done-ring{stroke-dasharray:145;stroke-dashoffset:145;animation:cart-draw .7s var(--cart-ease) .1s forwards}
.restaurant .cart-done-tick{stroke-dasharray:40;stroke-dashoffset:40;animation:cart-draw .45s var(--cart-ease) .55s forwards}

/* Aviso con deshacer. */
.restaurant .cart-toast{position:fixed;left:50%;bottom:max(24px,env(safe-area-inset-bottom));z-index:45;display:flex;align-items:center;gap:12px;width:max-content;max-width:min(440px,calc(100vw - 32px));padding:6px 6px 6px 18px;border:1px solid #f5eedf24;border-radius:16px;background:#332e24;color:var(--ink);font-size:14px;font-weight:600;line-height:1.4;box-shadow:var(--cart-shadow);overflow:hidden;translate:-50% 0}
.restaurant .cart-toast:not(:has(.cart-toast-undo:not([hidden]))){padding:13px 18px}
.restaurant .cart-toast-text{flex:1;min-width:0}
.restaurant .cart-panel>.cart-toast{position:absolute;left:16px;right:16px;bottom:16px;width:auto;max-width:none;translate:0 calc(-1 * var(--toast-offset,0px));transition:translate .32s var(--cart-ease)}
.restaurant .cart-toast-undo{flex:none;min-height:44px;padding:0 16px;border:0;border-radius:11px;background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent);font-size:14px;font-weight:800;transition-property:background-color,scale;transition-duration:.15s}
.restaurant .cart-toast-undo:hover{background:color-mix(in srgb,var(--accent) 26%,transparent)}
.restaurant .cart-toast-timer{position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--accent);opacity:.75;transform-origin:left center}

@keyframes cart-in{from{transform:translateX(calc(100% + 28px))}}
@keyframes cart-out{to{transform:translateX(calc(100% + 28px))}}
@keyframes cart-up{from{transform:translateY(100%)}}
@keyframes cart-down{to{transform:translateY(100%)}}
@keyframes cart-fade{from{opacity:0}}
@keyframes cart-fade-out{to{opacity:0}}
@keyframes cart-rise{from{opacity:0;transform:translateY(12px)}}
@keyframes cart-draw{to{stroke-dashoffset:0}}
@keyframes cart-spin{to{transform:rotate(1turn)}}

.restaurant .site-header nav{margin-left:auto}
.restaurant .site-header .cart-trigger{flex:none}

@media(max-width:800px){.restaurant .site-header{row-gap:14px}
.restaurant .site-header nav{order:3;flex-basis:100%;margin-left:0;gap:12px 22px}
.restaurant .site-header .cart-trigger{order:2;margin-left:auto}
}
@media(max-width:600px){.restaurant .cart-panel{top:auto;left:0;right:0;bottom:0;width:100%;max-height:calc(100dvh - 40px);border-radius:26px 26px 0 0;border-bottom:0;padding-bottom:env(safe-area-inset-bottom)}
.restaurant .cart-drawer[open] .cart-panel{animation-name:cart-up}
.restaurant .cart-drawer.is-closing .cart-panel{animation-name:cart-down}
.restaurant .cart-grabber{display:block;flex:none;width:40px;height:5px;margin:9px auto 0;border-radius:999px;background:#f5eedf38}
.restaurant .cart-head{padding:10px 14px 14px 20px}
.restaurant .cart-title{font-size:29px}
.restaurant .cart-body{padding:0 20px 20px}
.restaurant .cart-line-inner{grid-template-columns:64px minmax(0,1fr) auto;column-gap:14px;padding:16px 0}
.restaurant .cart-line-thumb{width:64px;height:64px;border-radius:14px}
.restaurant .cart-line-name{font-size:18px}
.restaurant .cart-summary{padding:12px 20px 10px}
.restaurant .cart-mode{margin-bottom:10px;gap:8px}
.restaurant .cart-mode legend{margin-bottom:8px}
.restaurant .cart-option{min-height:52px;padding:8px 28px 8px 12px;border-radius:12px}
.restaurant .cart-option::after{top:10px;right:10px;width:14px;height:14px}
.restaurant .cart-option strong{font-size:13px}
.restaurant .cart-totals{font-size:14px}
.restaurant .cart-totals>div{padding:1px 0}
.restaurant .cart-totals .cart-total-row{margin-top:6px;padding-top:8px;font-size:19px}
.restaurant .cart-send{margin-top:12px;min-height:52px}
.restaurant .cart-link.cart-clear{margin-top:2px}
.restaurant .cart-note{display:none}
.restaurant .cart-empty,.restaurant .cart-done{padding-top:28px}
.restaurant .cart-empty{padding-bottom:84px}
.restaurant .cart-fab{right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom))}
body.restaurant>.cart-toast{bottom:calc(max(16px,env(safe-area-inset-bottom)) + 70px)}
.restaurant .cart-trigger{padding-inline:12px 12px}
}
