@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Outfit:wght@400;500;600;700;800&display=swap');
:root{--green:#173f2b;--cream:#f8f6ef;--lime:#d9ef83;--ink:#1a3526;--line:#d8dfd2}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.55 'DM Sans',sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button{border:0}button:focus-visible,a:focus-visible{outline:3px solid #d78036;outline-offset:4px}.brand{font:800 27px/1 'Outfit',sans-serif;letter-spacing:-1px}.brand span{display:block;font:600 10px/2 'DM Sans',sans-serif;letter-spacing:3px}header{height:92px;display:flex;align-items:center;justify-content:space-between;padding:0 6%;border-bottom:1px solid var(--line)}nav{display:flex;align-items:center;gap:36px;font-size:14px}.cart-button{background:transparent;border:1px solid var(--green);padding:10px 18px;border-radius:30px;color:var(--green)}#count{display:inline-grid;place-items:center;background:var(--green);color:white;width:24px;height:24px;border-radius:50%;margin-left:8px}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:560px}.hero-copy{padding:65px 6vw}.eyebrow{font-size:12px;letter-spacing:1.6px;font-weight:700}h1,h2,h3{font-family:'Outfit',sans-serif;line-height:1.04;margin:20px 0;font-weight:600;letter-spacing:-1.7px}h1{font-size:clamp(48px,5.3vw,80px)}h1 em,h2 em{font-family:Georgia,serif;font-weight:400}h2{font-size:48px}h3{font-size:25px;letter-spacing:-.6px}.hero-copy>p:not(.eyebrow){color:#536250}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;background:var(--green);color:white;border-radius:30px;padding:15px 24px;font-weight:600}.lime{background:var(--lime);color:var(--green)}.hero .button{margin-top:15px}.hero-meta{font-size:14px;margin-top:24px}.hero-meta span{margin:0 12px}.hero-photo{position:relative;overflow:hidden;background:#ececdb}.hero-photo img{width:100%;height:100%;object-fit:cover}.photo-label{position:absolute;bottom:26px;right:28px;background:var(--lime);border-radius:50%;width:132px;height:132px;display:grid;place-content:center;text-align:center;font-size:13px;font-weight:700;transform:rotate(9deg)}.ribbon{display:flex;justify-content:space-around;background:var(--green);color:var(--lime);padding:17px;font-size:12px;letter-spacing:2px}.menu-section{padding:70px 6%}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:28px}.section-head p{color:#536250}.recipes{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.recipe{border-top:1px solid #9cab96;padding:24px 0}.recipe .tag{font-size:12px;text-transform:uppercase;letter-spacing:1.3px}.recipe h3{font-size:32px;margin:12px 0}.recipe p{min-height:52px;color:#536250}.recipe-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px}.recipe-bottom strong{font-size:22px}.small{font-size:13px;color:#596655}.custom{background:var(--green);color:var(--cream);margin:0 6% 65px;padding:50px;border-radius:4px;position:relative}.custom h2{font-size:64px}.custom-number{position:absolute;right:50px;top:50px;font-size:65px;font-family:'Outfit',sans-serif;color:var(--lime)}.custom-number small{display:block;font:12px 'DM Sans',sans-serif;letter-spacing:2px}footer{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:25px;padding:30px 6% 45px;border-top:1px solid var(--line);font-size:14px}footer small{width:100%;color:#687361;font-size:12px}.mobile-cart{display:none}dialog{border:0;border-radius:18px;background:var(--cream);color:var(--ink);width:min(660px,calc(100% - 24px));max-height:90dvh;padding:26px;box-shadow:0 24px 100px #0003}dialog::backdrop{background:#102617a8;backdrop-filter:blur(4px)}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:20px}.dialog-top h2{font-size:36px;margin:0}.icon{width:44px;height:44px;font-size:28px;border-radius:50%;color:var(--green);background:#e6eadf}.progress{display:flex;gap:6px;margin:20px 0}.progress span{flex:1;height:5px;background:#dfe3d8;border-radius:4px}.progress .done{background:var(--green)}#step-content{min-height:295px}#step-content h2{font-size:34px;margin-top:10px}.options{display:grid;gap:10px}.option{display:flex;align-items:center;justify-content:space-between;gap:15px;border:1px solid var(--line);border-radius:12px;background:white;padding:16px;cursor:pointer}.option:has(input:checked){border-color:var(--green);background:#eaf0df;box-shadow:inset 0 0 0 1px var(--green)}input[type=radio],input[type=checkbox]{accent-color:var(--green);width:20px;height:20px;flex-shrink:0}.option span{flex:1}.builder-bottom{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);margin-top:25px;padding-top:18px;position:sticky;bottom:-26px;background:var(--cream);padding-bottom:8px}.builder-bottom>div{margin-right:auto}.builder-bottom small,.builder-bottom strong{display:block}.text-button{background:transparent;color:var(--green);padding:12px}.cart-item{padding:22px 0;border-bottom:1px solid var(--line)}.cart-item h3{margin:0 0 10px;font-size:23px}.cart-item p{margin:6px 0;font-size:14px}.quantity{display:flex;align-items:center;gap:16px;margin-top:15px}.quantity button{width:40px;height:40px;border-radius:50%;background:#e3e9db;color:var(--green)}.quantity .remove{width:auto;border-radius:0;background:transparent;margin-left:auto;font-size:14px;text-decoration:underline}.total-row{display:flex;justify-content:space-between;padding:24px 0;font-size:20px}form>label{display:block;margin:17px 0}input:not([type=checkbox]):not([type=radio]),textarea,select{display:block;width:100%;padding:12px;border:1px solid #aab5a4;border-radius:8px;background:white;color:var(--green);margin-top:6px}textarea{min-height:80px;resize:vertical}.full{width:100%}pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#edf0e6;padding:18px;font:14px/1.6 'DM Sans',sans-serif}#toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:var(--green);color:white;border-radius:30px;padding:12px 25px;z-index:5;display:none}.skip{position:absolute;left:10px;top:-100px}.skip:focus{top:10px;background:white;padding:10px;z-index:10}[hidden]{display:none!important}@media(max-width:700px){header{height:76px;padding:0 6%}.brand{font-size:23px}nav{gap:10px}nav>a{display:none}.cart-button{padding:8px 12px}.hero{grid-template-columns:1fr}.hero-copy{padding:30px 6% 25px}h1{font-size:49px;margin:16px 0}.eyebrow{font-size:11px;letter-spacing:1.1px}.hero-copy>p{font-size:15px}.hero-photo{height:310px}.hero-photo img{object-position:center 55%}.photo-label{width:100px;height:100px;font-size:11px;bottom:16px;right:20px}.ribbon{gap:20px;font-size:10px;letter-spacing:1px}.ribbon span:last-child{display:none}.menu-section{padding:38px 6%}.section-head{display:block}h2{font-size:38px}.section-head>p{font-size:14px}.recipes{grid-template-columns:1fr;gap:6px}.recipe{padding:22px 0}.recipe p{min-height:0}.custom{padding:28px;margin-bottom:38px}.custom h2{font-size:50px}.custom-number{display:none}.custom p{font-size:14px}footer{padding-bottom:110px}.mobile-cart{display:flex;position:fixed;bottom:16px;left:5%;width:90%;z-index:3;box-shadow:0 3px 20px #0002}dialog{padding:20px;max-height:93dvh}.builder-bottom{bottom:-20px;gap:8px}.builder-bottom .button{padding:13px 18px;gap:5px}.builder-bottom .text-button{padding:8px}#toast{bottom:88px;width:max-content;max-width:90%}.option{padding:13px}#step-content h2{font-size:30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.brand{display:block;flex-shrink:0;line-height:0}.brand img{display:block;width:100px;height:100px;object-fit:contain;border-radius:50%}header{height:116px}footer .brand img{width:120px;height:120px}.receipt-logo{display:block;width:140px;height:140px;object-fit:contain;margin:0 auto}@media(max-width:700px){header{height:104px}.brand img{width:88px;height:88px}}

.warning{background:#fff0df;color:#984000;border-left:4px solid #e67718;padding:14px;border-radius:6px;font-size:14px;line-height:1.5}.total-row{gap:16px}.recipe-bottom>span{font-size:14px}

.receipt{position:relative;max-width:440px;margin:24px auto 32px;padding:28px 24px;background:#fff;color:#292d28;box-shadow:0 5px 22px #18271b15;font:14px/1.6 'Courier New',monospace;overflow-wrap:anywhere;border-top:4px solid #173f2b}
.receipt:after{content:"";position:absolute;left:0;right:0;bottom:-10px;height:10px;background:linear-gradient(135deg,#fff 25%,transparent 25%) -10px 0/20px 20px,linear-gradient(225deg,#fff 25%,transparent 25%) -10px 0/20px 20px}
.receipt-header{text-align:center;padding-bottom:18px;border-bottom:1px dashed #a4aaa0}.receipt-header>strong{display:block;font:800 28px/1.2 'Outfit',sans-serif;letter-spacing:1px}.receipt-header>span{font-size:12px;letter-spacing:2px}.receipt-header p{margin:16px 0 0;font-weight:bold;letter-spacing:1px}.receipt-row{display:flex;justify-content:space-between;align-items:baseline;gap:14px;margin:6px 0}.receipt-row>span{min-width:0}.receipt-row>strong{text-align:right;min-width:0}.receipt-item>.receipt-row>strong,.receipt-totals .receipt-row>strong{white-space:nowrap}.receipt-customer{padding:14px 0}.receipt-customer .receipt-row>strong{overflow-wrap:anywhere;max-width:65%}.receipt-columns{display:flex;justify-content:space-between;gap:12px;border-block:1px dashed #a4aaa0;padding:10px 0;font-size:12px}.receipt-item{padding:14px 0;border-bottom:1px dashed #a4aaa0}.receipt-item>.receipt-row{font-weight:bold}.receipt-size{margin:2px 0 8px}.receipt-detail{font-size:13px;line-height:1.65;margin:0;color:#51574e}.receipt-totals{padding:12px 0}.receipt-grand-total{font-size:22px;border-top:2px solid #292d28;padding-top:12px;margin-top:12px}.receipt-delivery{padding:16px 0;border-top:1px dashed #a4aaa0}.receipt-delivery p{white-space:pre-wrap;margin:6px 0}.receipt-footer{text-align:center;border-top:1px dashed #a4aaa0;padding-top:18px}.receipt-footer p{font:13px/1.6 'DM Sans',sans-serif;color:#596655;margin-bottom:0}@media(max-width:380px){.receipt{padding:22px 14px}.receipt-grand-total{font-size:20px}}

/* Photos are exact visual crops of the supplied menu, without recreating the food. */
.bowl-photo{display:block;width:100%;height:auto;aspect-ratio:390/265;overflow:hidden;background:#101310;border-radius:14px}
.recipe{display:flex;flex-direction:column}.recipe .recipe-bottom{margin-top:auto}.recipe p{font-size:14px}.recipe h3{margin-top:20px}
.bowl-banner{position:relative;display:grid;grid-template-columns:1fr 290px;align-items:center;max-width:1100px;margin:20px auto;background:#152519;color:#f8f6ef;border-radius:18px;overflow:hidden;height:205px;padding:12px 36px}
.banner-copy h2{font-size:36px;margin:6px 0}.banner-copy>a{font-size:14px;color:var(--lime)}#banner-picture{width:265px}.banner-controls{position:absolute;bottom:10px;left:36px;display:flex;gap:10px;align-items:center;font-size:12px}.banner-controls button{background:#ffffff18;color:white;border-radius:20px;min-height:32px;min-width:32px;padding:4px 12px}.banner-copy{padding-bottom:28px}
@media(max-width:1150px){.bowl-banner{margin:16px 6%}}@media(max-width:700px){.bowl-banner{height:178px;padding:12px 16px;grid-template-columns:1fr 45%;gap:8px}.banner-copy h2{font-size:27px;letter-spacing:-.6px}.banner-copy .eyebrow{font-size:9px;letter-spacing:.5px}.banner-controls{left:16px;gap:6px}#banner-picture{width:100%;padding-bottom:24px}.banner-controls button{min-height:30px;padding:3px 10px}.recipe .bowl-photo{max-height:280px}.recipe-bottom strong{font-size:20px}}

/* Individual images supplied by Santo Bowl; show the complete bowl. */
img.bowl-photo{object-fit:contain;background:#edf0e3;padding:12px}#banner-picture img.bowl-photo{background:transparent;padding:0}.recipe img.bowl-photo{aspect-ratio:4/3}
