/* Forno Vivo: warm charcoal, oven light, one pizza from opening to selection. */
@font-face{font-family:Sv24Display;src:url('/assets/barlowcondensed.ttf') format('truetype');font-display:swap}
@font-face{font-family:Sv24Sans;src:url('/assets/space-grotesk.ttf') format('truetype');font-weight:300 700;font-display:swap}
.sv24-forno{--bg:#120c09;--panel:#1c1410;--ink:#f7ecdb;--soft:#d9c8b3;--dough:#e9c48d;background:var(--bg);color:var(--ink);font:17px/1.55 Sv24Sans,Arial,sans-serif;overflow:clip;position:relative}
.sv24-forno *{box-sizing:border-box}
.sv24-forno h1,.sv24-forno h2,.sv24-forno h3,.sv24-forno p,.sv24-forno ul{margin:0;padding:0}
.sv24-forno ul{list-style:none}
:where(.sv24-forno) img{display:block;max-width:100%}
.sv24-forno [hidden]{display:none!important}
.sv24-forno :is(a,button,input,summary):focus-visible{outline:3px solid var(--dough);outline-offset:3px}
.sv24-forno h1,.sv24-forno h2,.sv24-forno h3,.fv-brand,.fv-footer strong,.fv-chosen strong,.fv-total strong{font-family:Sv24Display,Impact,sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:-.012em;line-height:.92}
.fv-nav{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px clamp(16px,3vw,44px);background:#120c09d4;-webkit-backdrop-filter:blur(14px) saturate(1.3);backdrop-filter:blur(14px) saturate(1.3);box-shadow:inset 0 -1px #f7ecdb1c}
.fv-brand{font-size:28px;letter-spacing:.005em;min-width:0;overflow-wrap:anywhere}
.fv-nav nav{display:flex;align-items:center;gap:clamp(12px,2.2vw,30px);font-size:15px;flex-wrap:nowrap;white-space:nowrap}
.fv-nav nav a{padding:10px 0}
.fv-nav nav a:hover{color:var(--dough)}
.fv-nav-cta{padding:9px 15px!important;background:var(--accent);color:var(--on-accent);font-weight:600}
.fv-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:50px;padding:12px 24px;border:0;background:var(--accent);color:var(--on-accent);font-weight:600;font-size:16px;transition:transform .16s,background .16s}
.fv-button:hover{transform:translateY(-2px)}
.fv-button:active{transform:translateY(0) scale(.98)}
.fv-button.is-quiet{background:#f7ecdb14;color:var(--ink);box-shadow:inset 0 0 0 1px #f7ecdb4d}
.fv-button.is-quiet:hover{background:#f7ecdb24}
.fv-actions{display:flex;flex-wrap:wrap;gap:12px}
.fv-film{position:relative}
.fv-stage{position:relative;min-height:calc(100svh - 60px);overflow:hidden;display:flex;align-items:center;padding:clamp(24px,5vh,70px) clamp(16px,4vw,64px) clamp(36px,6vh,80px)}
.fv-table{position:absolute;inset:0}
.fv-table img{width:100%;height:100%;object-fit:cover;opacity:.92}
.fv-table:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#120c09e0 0,#120c0994 42%,#120c0926 74%),linear-gradient(0deg,var(--bg) 0,#120c0900 26%)}
.fv-dim{position:absolute;inset:0;background:#0d0806;opacity:0;pointer-events:none}
.fv-heat{position:absolute;right:8%;top:50%;width:min(92vh,62vw);aspect-ratio:1;translate:0 -50%;border-radius:50%;background:radial-gradient(circle,#e8622c52 0,#e8622c26 42%,#e8622c00 70%)}
.fv-opening{position:relative;z-index:3;max-width:min(52vw,760px)}
.fv-opening h1{font-size:clamp(66px,11.3vw,204px);line-height:.84}
.fv-opening p{margin:clamp(18px,3vh,34px) 0 clamp(20px,3.4vh,36px);max-width:30em;font-size:clamp(17px,1.4vw,21px);color:var(--ink)}
.fv-hero-slot,.fv-pizza{position:absolute;right:max(-5vw,-70px);top:50%;width:min(88vh,58vw);aspect-ratio:1;translate:0 -50%}
.fv-hero-slot{visibility:hidden;pointer-events:none}
.fv-pizza{z-index:2}
.fv-pizza img:not(.fv-float){width:100%;height:100%;object-fit:contain}
.fv-empty-disc{display:block;width:100%;height:100%;border-radius:50%;background:#2b1e16;box-shadow:inset 0 0 0 12px #3a291e}
.sv24-photo-missing .fv-whole,.sv24-photo-missing>img{display:none}
.fv-layers{position:absolute;inset:0}
.fv-layers>img:first-child{position:absolute;inset:0}
.fv-float{position:absolute;height:auto;will-change:transform}
.fv-caption{display:none}
.fv-sign{position:relative;z-index:4;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,90px);align-items:center;padding:clamp(70px,10vh,120px) clamp(16px,4vw,64px) clamp(60px,9vh,120px);min-height:100vh}
.fv-sign.is-empty{display:block;min-height:50vh}
.fv-slot{aspect-ratio:1;width:100%;max-width:min(46vw,84vh);justify-self:center;position:relative}
.fv-slot img,.fv-slot .fv-empty-disc{width:100%;height:100%;object-fit:contain}
.fv-sign-copy h2{font-size:clamp(20px,2vw,28px);letter-spacing:.01em;color:var(--dough);margin-bottom:clamp(16px,3vh,30px)}
.fv-chosen h3{font-size:clamp(54px,7.4vw,124px)}
.fv-chosen p{margin:18px 0 14px;max-width:32em;min-height:3.1em;font-size:18px}
.fv-chosen strong{display:block;font-size:clamp(48px,5.6vw,88px);color:var(--dough)}
.fv-picks{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:clamp(20px,3.5vh,36px) 0}
.fv-picks button{display:grid;grid-template-columns:50px minmax(0,1fr);column-gap:11px;align-items:center;text-align:left;padding:9px;background:#f7ecdb0f;border:0;box-shadow:inset 0 0 0 1px #f7ecdb26;min-height:68px;transition:background .15s,box-shadow .15s}
.fv-picks button:hover{background:#f7ecdb1c}
.fv-picks button[aria-pressed=true]{background:#e8622c26;box-shadow:inset 0 0 0 2px var(--accent)}
.fv-picks img,.fv-picks .fv-empty-disc{grid-row:span 2;width:50px;height:50px;object-fit:contain}
.fv-picks span:not(.fv-empty-disc){font-weight:600;font-size:15px;line-height:1.15;overflow-wrap:anywhere}
.fv-picks small{font-size:14px;color:var(--soft)}
.fv-ribbon{overflow:hidden;background:var(--accent);color:var(--on-accent);padding:8px 0;font:700 clamp(30px,4.4vw,62px)/1.1 Sv24Display,Impact,sans-serif;text-transform:uppercase;white-space:nowrap}
.fv-ribbon div{display:inline-flex;min-width:200%}
.fv-ribbon span{padding-right:.3em}
.fv-ribbon.is-on div{animation:fvRibbon 34s linear infinite}
@keyframes fvRibbon{to{transform:translateX(-50%)}}
.fv-config{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr) minmax(280px,.7fr);grid-template-areas:'head head head' 'visual flow summary';gap:clamp(24px,3.4vw,56px);padding:clamp(70px,11vh,150px) clamp(16px,4vw,64px);background:#1a120d}
.fv-config-head{grid-area:head;display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap}
.fv-config-head h2{font-size:clamp(64px,10vw,170px)}
.fv-config-head p{max-width:24em;font-size:18px}
.fv-config-visual{grid-area:visual;align-self:start;position:sticky;top:90px;aspect-ratio:1;display:grid;place-items:center}
.fv-config-visual>div{width:100%;transition:transform .36s cubic-bezier(.2,.75,.25,1)}
.fv-config-visual img,.fv-config-visual .fv-empty-disc{width:100%;height:auto;aspect-ratio:1;object-fit:contain}
.fv-config-flow{grid-area:flow;min-width:0}
.fv-steps{display:flex;gap:6px;margin-bottom:22px}
.fv-steps button{flex:1;min-height:46px;background:#f7ecdb0f;border:0;font-weight:600;font-size:15px;color:var(--soft);padding:8px}
.fv-steps button[aria-current]{background:var(--ink);color:#180b05}
.fv-config fieldset{border:0;margin:0;padding:0;display:grid;gap:8px}
.fv-config legend{font:700 clamp(30px,3vw,44px)/1 Sv24Display,Impact,sans-serif;text-transform:uppercase;margin-bottom:14px;padding:0}
.sv24-forno .fv-option{display:grid;font-size:17px;grid-template-columns:24px minmax(0,1fr) auto;gap:12px;align-items:center;min-height:58px;padding:10px 15px;background:#f7ecdb0d;box-shadow:inset 0 0 0 1px #f7ecdb24;cursor:pointer;transition:background .14s,box-shadow .14s}
.fv-option:hover{background:#f7ecdb1a}
.fv-option:has(input:checked){background:#e8622c29;box-shadow:inset 0 0 0 2px var(--accent)}
.fv-option input{width:20px;height:20px;accent-color:var(--accent);margin:0}
.fv-option span{font-weight:500;overflow-wrap:anywhere}
.fv-option b{font-weight:600;white-space:nowrap}
.fv-step-nav{display:flex;justify-content:space-between;gap:10px;margin-top:20px;flex-wrap:wrap}
.fv-step-nav [data-step-next]{margin-left:auto}
.fv-summary{grid-area:summary;align-self:start;position:sticky;top:90px;padding:24px;background:#30221acc;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:inset 0 1px #fff3e033,inset 0 0 0 1px #f7ecdb1f}
.fv-summary h3{font-size:34px;margin-bottom:16px}
.fv-summary li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;padding:9px 0;box-shadow:0 1px #f7ecdb1f;min-height:44px}
.fv-summary li span{overflow-wrap:anywhere}
.fv-summary li b{font-weight:600;white-space:nowrap}
.fv-summary li button{width:32px;height:32px;border:0;background:#f7ecdb1a;font-size:18px;line-height:1}
.fv-summary li button:hover{background:#f7ecdb36}
.fv-total{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:16px 0 18px}
.fv-total strong{font-size:clamp(42px,4vw,58px);color:var(--dough);white-space:nowrap}
.fv-summary .fv-button{width:100%}
.sv24-forno .sv24-note{font-size:14px;color:var(--soft)}
.fv-process{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(24px,5vw,80px);padding:clamp(70px,11vh,150px) clamp(16px,4vw,64px)}
.fv-process-photos{position:sticky;top:80px;height:calc(100vh - 110px);min-height:420px;overflow:hidden;background:#1a120d}
.fv-process-photos img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.04);transition:opacity .5s,transform 1s}
.fv-process-photos img.is-on{opacity:1;transform:none}
.fv-process-text h2{font-size:clamp(58px,7.6vw,128px);margin-bottom:8vh}
.fv-process-text article{min-height:62vh;display:flex;flex-direction:column;justify-content:center;opacity:.42;transition:opacity .35s}
.fv-process-text article.is-on{opacity:1}
.fv-process-text article:last-child{min-height:50vh}
.fv-process-text article img{display:none}
.fv-process-text h3{font-size:clamp(40px,4.6vw,76px);margin-bottom:16px}
.fv-house{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(280px,.82fr);gap:clamp(24px,4vw,64px);padding:clamp(60px,10vh,130px) clamp(16px,4vw,64px);background:#1a120d;align-items:start}
.fv-house-photo img{width:100%;height:min(76vh,720px);object-fit:cover}
.fv-house-copy h2{font-size:clamp(46px,5.4vw,92px);margin-bottom:22px}
.fv-house-copy p{margin-bottom:16px}
.fv-house-copy b{display:block;font-weight:600;color:var(--dough)}
.fv-house-copy .fv-actions{margin-top:22px}
.sv24-form{display:grid;gap:12px}
.sv24-form h3{font-size:clamp(30px,2.8vw,44px)}
.sv24-forno .sv24-form label{display:grid;gap:6px;font-size:14px;font-weight:500}
.sv24-form :is(input,textarea){width:100%;font:16px/1.4 inherit;background:#120c09;color:var(--ink);border:0;box-shadow:inset 0 0 0 1px #f7ecdb40;padding:12px;min-height:46px}
.sv24-form button{min-height:50px;border:0;background:var(--ink);color:#180b05;font-weight:600;padding:10px 18px}
.sv24-form button:disabled{opacity:.68;cursor:not-allowed}
.sv24-form p{font-size:13px;color:var(--soft)}
.fv-footer{padding:clamp(40px,7vh,80px) clamp(16px,4vw,64px) 28px;background:var(--accent);color:var(--on-accent)}
.fv-footer strong{display:block;font-size:clamp(70px,19.6vw,350px);line-height:.82;letter-spacing:-.02em;overflow-wrap:anywhere}
.fv-footer div{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:22px;font-weight:600}
.sv24-anim [data-reveal]{opacity:0;transform:translateY(26px);transition:opacity .7s,transform .7s cubic-bezier(.2,.75,.25,1)}
.sv24-anim [data-reveal].is-in{opacity:1;transform:none}
/* Pinned film, only when motion is allowed and the screen has room. */
@media(min-width:761px){
 .fv-live .fv-film{height:340vh}
 .fv-live .fv-stage{position:sticky;top:0;height:100vh;min-height:0;padding-top:70px}
 .fv-live .fv-pizza{left:0;right:auto;top:0;translate:none;width:100px;transform-origin:50% 50%;will-change:transform}
 .fv-live .fv-sign{margin-top:-100vh}
 .fv-live .fv-selected{visibility:hidden}
 .fv-live .fv-caption{display:block;position:absolute;left:clamp(16px,4vw,64px);top:50%;translate:0 -50%;z-index:3;max-width:min(30vw,7.4em);text-shadow:0 2px 24px #0d0806;font:700 clamp(38px,4.6vw,76px)/.95 Sv24Display,Impact,sans-serif;text-transform:uppercase;opacity:0}
 .fv-live .fv-nav{position:fixed;left:0;right:0}
 .fv-live .fv-stage{padding-top:90px}
 .fv-live .fv-opening{margin-top:30px}
}
@media(max-width:1180px){
 .fv-opening{max-width:48vw}
 .fv-opening h1{font-size:10vw}
 .fv-hero-slot,.fv-pizza{right:-13vw;width:min(86vh,58vw)}
 .fv-config{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:'head head' 'flow summary' 'visual summary'}
 .fv-house{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .fv-house .sv24-form{grid-column:1/-1}
}
@media(max-width:760px){
 .sv24-forno{font-size:16px}
 .fv-opening h1{font-size:clamp(66px,23.5vw,170px)}
 .fv-hero-slot{right:auto}
 .fv-nav{padding:10px 16px}
 .fv-brand{font-size:24px}
 .fv-nav nav{font-size:14px;gap:14px}
 .fv-nav nav a:nth-child(2):not(:last-child){display:none}
 .fv-nav-cta{padding:8px 11px!important}
 .fv-stage{display:block;min-height:0;padding:26px 16px 0}
 .fv-opening{max-width:none}
 .fv-opening h1{font-size:clamp(66px,23.5vw,170px)}
 .fv-opening p{margin:16px 0 18px}
 .fv-actions .fv-button{flex:1 1 150px}
 .fv-hero-slot{display:none}
 .fv-pizza{position:relative;right:auto;top:auto;translate:none;width:112%;margin:22px -6% -10%;max-width:none}
 .fv-heat{right:-20%;top:auto;bottom:-10%;translate:none;width:130%}
 .fv-table:after{background:linear-gradient(180deg,#120c09d1 0,#120c0966 58%,var(--bg) 100%)}
 .fv-sign{display:block;min-height:0;padding:50px 16px 54px}
 .fv-slot{max-width:82vw;margin:0 auto 22px}
 .fv-chosen h3{font-size:clamp(50px,16vw,100px)}
 .fv-chosen p{min-height:0}
 .fv-chosen strong{font-size:54px}
 .fv-picks{grid-template-columns:minmax(0,1fr)}
 .fv-config{display:flex;flex-direction:column;padding:54px 16px}
 .fv-config-visual{display:none}
 .fv-config-head h2{font-size:clamp(62px,20vw,130px)}
 .fv-summary{position:static;padding:18px;margin-top:6px}
 .fv-process{display:block;padding:54px 16px}
 .fv-process-photos{display:none}
 .fv-process-text h2{font-size:clamp(52px,16vw,100px);margin-bottom:26px}
 .fv-process-text article{min-height:0;opacity:1;margin-bottom:36px}
 .fv-process-text article img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;margin-bottom:14px}
 .fv-process-text h3{font-size:clamp(34px,11vw,56px)}
 .fv-house{display:block;padding:50px 16px}
 .fv-house-photo img{height:62vw;margin-bottom:22px}
 .fv-house-copy{margin-bottom:30px}
}
@media(max-width:359px){
 .fv-brand{font-size:21px;max-width:42%}
 .fv-nav nav{gap:10px;font-size:13px}
 .fv-opening h1{font-size:64px}
 .fv-picks button{grid-template-columns:44px minmax(0,1fr)}
 .fv-picks img,.fv-picks .fv-empty-disc{width:44px;height:44px}
 .fv-option{padding:10px;grid-template-columns:22px minmax(0,1fr);row-gap:0}
 .fv-option b{grid-column:2}
}
@media(prefers-reduced-motion:reduce){
 .sv24-forno *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
 .fv-ribbon{white-space:normal}.fv-ribbon div{display:block;min-width:0;padding:0 16px}.fv-ribbon span+span{display:none}
 .fv-process-text article{opacity:1}
 .fv-config-visual,.fv-summary{position:static}
}
@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.fv-nav{background:#120c09}.fv-summary{background:#30221a}}
.sv24-forno :is(.fv-whole,.fv-selected,.fv-picks img,.fv-config-visual img):not([src*='/site-v24/']){border-radius:50%;object-fit:cover!important}
