:root{--paper:#f6f1e7;--ink:#332535;--red:#66344b;--line:#d9d0c6;--green:#4c5a40;--yellow:#e9b949}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.65 'Segoe UI',Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit}a,button,input{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #a86424;outline-offset:5px}[hidden]{display:none!important}header{max-width:1440px;margin:auto;padding:27px 6%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{font:bold 47px/.95 Georgia,serif;letter-spacing:-3px}.brand span{font:25px Georgia;color:var(--red);vertical-align:top;margin-left:6px}nav{display:flex;gap:34px;font-size:12px;font-weight:600}nav a:hover,.back:hover{text-decoration:underline;text-underline-offset:5px}.languages{display:flex;gap:12px;font-size:11px;align-items:center;border:1px solid var(--line);padding:8px 14px;border-radius:30px}.languages [aria-current]{font-weight:800;color:var(--red)}h1,h2,h3{font-family:Georgia,serif;font-weight:normal;line-height:1.06}h1{font-size:clamp(54px,6.3vw,92px);letter-spacing:-4px;margin:0 0 25px}h1 em{color:var(--red);font-weight:normal}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--red);margin:0 0 25px}.hero{max-width:1440px;margin:auto;padding:65px 6% 70px;display:grid;grid-template-columns:1.1fr 1fr;gap:65px;align-items:center}.intro{font-size:16px;line-height:1.8;color:#73666b;max-width:450px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;background:var(--ink);color:var(--paper);padding:15px 24px;border:1px solid var(--ink);border-radius:3px;font-size:12px;font-weight:600;cursor:pointer;margin-top:18px;transition:background .2s,transform .2s}.button:hover{background:var(--red);transform:translateY(-2px)}.hero-foot{display:flex;align-items:center;gap:13px;margin-top:35px;font-size:9px;letter-spacing:1.3px;max-width:400px}.hero-foot strong{font:36px Georgia;letter-spacing:-2px}.hero-foot>span{font-size:24px;color:var(--red)}.hero-art{background:var(--yellow);padding:25px 25px 105px;position:relative;transform:rotate(2deg);box-shadow:12px 14px 0 #332535;min-width:0}.cover-label{display:flex;justify-content:space-between;font-size:10px;letter-spacing:1.5px;font-weight:800;border-bottom:1px solid #33253566;padding-bottom:16px;margin-bottom:20px}.cover-label span{font-size:8px;align-self:center}.cover-tiles{display:grid;grid-template-columns:1fr 1fr;gap:8px}.cover-tiles>div{overflow:hidden;border-radius:50%;background:#f8eed5;aspect-ratio:1}.cover-tiles>div:nth-child(2){background:#a9ad86;border-radius:45% 45% 4px 4px}.cover-tiles>div:nth-child(3){background:#c98f76;border-radius:4px 4px 45% 45%}.cover-tiles>div:nth-child(4){background:#ecddc1}.cover-tiles svg{width:135%;height:100%;margin-left:-17.5%;object-fit:cover}.handwritten{display:none}.featured{position:absolute;bottom:20px;left:25px;right:25px;display:grid;grid-template-columns:1fr auto;align-items:end;gap:3px 10px;border-top:1px solid #33253566;padding-top:14px}.featured small{grid-column:1/-1;font-size:8px;letter-spacing:1.6px}.featured strong{font:24px Georgia}.featured>span{font-size:9px}.ribbon{background:var(--ink);color:#f2e6d5;padding:17px 20px;display:flex;justify-content:space-evenly;gap:30px;overflow:hidden;white-space:nowrap;font-size:13px}.ribbon span{font:italic 20px Georgia}.collection{max-width:1440px;margin:auto;padding:75px 6% 85px}.collection-heading{display:flex;align-items:center;justify-content:space-between;gap:35px}.collection-heading h2{font-size:48px;letter-spacing:-2px;margin:0 0 14px}.collection-heading p{margin:0;color:#7c7074;font-size:13px}.search{display:flex;align-items:center;gap:12px;width:350px;padding:14px 18px;background:#fffcf5;border:1px solid var(--line);border-radius:4px}.search>span{font-size:29px;line-height:1}.search input{min-width:0;width:100%;border:0;background:none;color:var(--ink);font-size:12px;padding:3px}.filters{display:flex;flex-wrap:wrap;gap:8px;margin:30px 0 0;border-bottom:1px solid var(--line);padding-bottom:25px}.filters button{background:none;border:1px solid var(--line);padding:8px 14px;border-radius:3px;font-size:11px;color:var(--ink);cursor:pointer}.filters button[aria-pressed=true]{color:#fff7ec;background:var(--red);border-color:var(--red)}.filters button:hover{border-color:var(--red)}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.card{background:#fffcf6;border:1px solid var(--line);border-radius:5px;overflow:hidden;transition:box-shadow .2s,transform .2s}.card:hover{box-shadow:0 9px 24px #33253514;transform:translateY(-4px)}.card>a{height:100%;display:flex;flex-direction:column}.food{position:relative;overflow:hidden;background:#d9d7b8}.food svg{width:100%;display:block;transition:transform .35s}.art-1{background:#eacbb4}.art-2{background:#d9b9ab}.art-3{background:#e4d69e}.card .food{border-bottom:1px solid #3325350c}.card:hover svg{transform:scale(1.04) rotate(-3deg)}.number{position:absolute;top:14px;left:15px;font-size:9px;letter-spacing:1px;background:#fff9edbd;border-radius:20px;padding:3px 8px}.card-meta{display:flex;justify-content:space-between;gap:8px;font-size:9px;text-transform:uppercase;letter-spacing:.7px;color:var(--red);padding:20px 22px 0}.card-meta span{color:#776b6e;white-space:nowrap}.card h3{font-size:29px;letter-spacing:-.6px;margin:10px 22px}.card p{font-size:12px;color:#7c7074;margin:0 22px 22px;line-height:1.75}.read{display:flex;justify-content:space-between;align-items:center;margin:auto 22px 0;padding:12px 0 15px;border-top:1px solid var(--line);font-size:10px;font-weight:600}.read b{font-size:19px;color:var(--red)}.story{background:#e9b949;display:flex;align-items:center;justify-content:center;gap:95px;padding:65px 8%}.story>div:last-child{max-width:620px}.story h2{font-size:49px;letter-spacing:-2px;margin:0 0 20px}.story .eyebrow{color:var(--ink);margin-bottom:20px}.story p:not(.eyebrow){font-size:14px;line-height:1.9}.story-symbol{font:bold 180px/.8 Georgia;position:relative;letter-spacing:-12px}.story-symbol span{font:65px Georgia;position:absolute;right:-45px;top:-10px}.sources{max-width:1000px;padding:40px 6%;margin:auto;font-size:12px;color:#7c7074}.sources h3{font-size:24px;color:var(--ink);margin:0 0 15px}.sources a{text-decoration:underline;text-underline-offset:3px}footer{border-top:1px solid var(--line);margin:0 6%;padding:32px 0;display:flex;align-items:center;gap:30px}footer .brand{font-size:36px}footer p{font:italic 17px Georgia}footer small{font-size:9px;color:#7c7074;max-width:280px;margin-left:auto}.skip{position:absolute;left:15px;top:-100px;background:white;padding:10px;z-index:5}.skip:focus{top:5px}.detail{max-width:1300px;padding:35px 5% 80px;margin:auto}.back{font-size:11px;color:var(--red)}.recipe-hero{display:grid;grid-template-columns:1.1fr 1fr;gap:65px;align-items:center;padding:40px 0 55px}.recipe-hero h1{font-size:clamp(42px,5vw,68px);letter-spacing:-2px}.recipe-hero .food{border-radius:50% 50% 4px 4px;border:10px solid #ebe2d3;box-shadow:8px 8px 0 #d4c4b6}.stats{display:flex;align-items:center;gap:15px;font-size:12px;border-top:1px solid var(--line);padding-top:20px;margin:25px 0 5px}.stats span{color:#b2a4ab}.recipe-body{display:grid;grid-template-columns:1fr 1.6fr;align-items:start;gap:65px;border-top:1px solid var(--line);padding-top:40px}.recipe-body h2{font-size:34px;letter-spacing:-1px;margin:0 0 15px}.recipe-body aside{background:#e9e4d6;border:1px solid #d9d0c6;padding:30px;border-radius:4px}.muted{font-size:12px;color:#7c7074}.ingredients{list-style:none;padding:0;margin:22px 0}.ingredients li{padding:14px 0;border-bottom:1px solid #cfc6b9;font-size:13px}.ingredients label{display:flex;gap:12px;cursor:pointer}.ingredients input{width:16px;flex-shrink:0;accent-color:var(--red)}.ingredients input:checked+span{opacity:.5;text-decoration:line-through}.allergens{font-size:11px;color:#796b6f}.steps{list-style:none;counter-reset:step;padding:0}.steps li{counter-increment:step;position:relative;padding:0 0 25px 54px;margin:28px 0;border-bottom:1px solid var(--line);font-size:14px;line-height:1.95}.steps li:before{content:counter(step,decimal-leading-zero);position:absolute;left:0;top:2px;font:27px Georgia;color:var(--red)}.note{background:#eee1bc;border-left:3px solid #bd8c31;padding:24px 28px;margin-top:35px}.note h3{font-size:23px;margin:0 0 12px}.note p{font-size:13px;margin:0}.recipe-reference{line-height:1.8}
@media(min-width:1500px){.hero{padding-top:85px;padding-bottom:90px}}@media(max-width:1000px){.hero{gap:35px}.hero-art{padding:20px 20px 110px}.featured{left:20px;right:20px;grid-template-columns:1fr}.featured strong{font-size:22px}.hero h1{font-size:64px}.collection-heading h2{font-size:39px}.search{width:290px}.grid{gap:18px}.card h3{font-size:25px}.card-meta,.card h3,.card p{margin-left:17px;margin-right:17px}.card-meta{padding-left:0;padding-right:0}.read{margin-left:17px;margin-right:17px}.recipe-body{gap:35px}.recipe-hero{gap:35px}.recipe-body aside{padding:22px}}
@media(max-width:700px){header{padding:22px 6%}.brand{font-size:39px}nav{gap:18px;font-size:11px}nav a:last-child{display:none}.languages{padding:6px 10px;gap:8px}.hero{grid-template-columns:1fr;padding:40px 6% 55px;gap:38px}.hero h1{font-size:clamp(52px,10vw,74px);letter-spacing:-3px}.intro{font-size:15px}.hero-art{width:90%;max-width:420px;margin:0 auto;padding-bottom:100px}.featured{grid-template-columns:1fr auto}.featured strong{font-size:22px}.hero-foot{margin-top:22px}.cover-tiles{gap:10px}.ribbon{justify-content:flex-start}.collection{padding-top:45px}.collection-heading{display:block}.collection-heading h2{font-size:38px}.search{width:100%;margin-top:24px}.filters{margin-top:20px;gap:7px}.filters button{padding:7px 11px}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.card-meta{font-size:8px;letter-spacing:0;flex-wrap:wrap;margin:0;padding:14px 13px 0}.card h3{font-size:23px;margin:9px 13px}.card p{font-size:11px;margin:0 13px 15px}.read{margin: auto 13px 0;font-size:9px}.number{top:8px;left:8px;font-size:8px}.story{gap:35px;padding:45px 6%}.story-symbol{font-size:90px;letter-spacing:-5px}.story-symbol span{font-size:35px;right:-20px}.story h2{font-size:35px}.story p:not(.eyebrow){font-size:12px}.story .eyebrow{font-size:8px}footer{flex-wrap:wrap;gap:18px}footer small{margin:0;max-width:100%;width:100%}.recipe-hero{grid-template-columns:1fr;gap:30px;padding-top:30px}.recipe-hero .food{max-width:450px;width:95%;margin:auto}.recipe-hero h1{font-size:49px}.recipe-body{grid-template-columns:1fr;gap:40px}.recipe-body h2{font-size:32px}.detail{padding-left:6%;padding-right:6%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before{transition:none!important;transform:none!important}}@media print{header,footer,.back,.button,.recipe-hero .food,.skip{display:none!important}body{background:white;color:black}.detail{padding:0}.recipe-hero{display:block;padding:0 0 15px}.recipe-hero h1{font-size:30pt}.recipe-body{grid-template-columns:1fr 2fr;gap:25px;padding-top:20px}.recipe-body aside{padding:15px;background:white}.steps li{font-size:10pt;margin:12px 0;padding-bottom:12px;break-inside:avoid}.ingredients li{font-size:10pt;padding:7px 0}.note{break-inside:avoid}.intro{font-size:11pt}.eyebrow{margin-bottom:10px}}


.browse-tools{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:16px 0}
.browse-tools #result-count{margin:0}
.sort-label{display:flex;align-items:center;gap:9px;font-size:11px;color:#666c5e}
.sort-label select{border:1px solid var(--line);background:var(--paper);padding:8px 10px;color:var(--ink);max-width:210px;font:inherit}
.load-controls{text-align:center;margin-top:35px}
.load-controls .button{margin:0}
.load-controls .muted{font-size:11px;margin:12px 0}
.recipe-reference{margin-top:30px;border-top:1px solid var(--line);padding-top:18px;font-size:11px;color:#727767}
.recipe-reference h3{font-size:19px;color:var(--ink);margin:0 0 10px}
.recipe-reference a{text-decoration:underline;text-underline-offset:3px}
.recipe-reference p{font-size:11px;line-height:1.8}
.sources details{margin-top:18px}
.sources summary{cursor:pointer;color:var(--red);font-size:12px}
.sources ul{padding-left:20px;columns:2;column-gap:35px}
.sources li{break-inside:avoid;margin:10px 0;line-height:1.6}
.sources li a{margin:0}
@media(max-width:600px){.browse-tools{align-items:flex-start}.sort-label{font-size:10px;align-items:flex-start;flex-direction:column;gap:3px}.sort-label select{max-width:190px}.sources ul{columns:1}.filters{gap:7px}.filters button{font-size:11px}.card-meta{flex-wrap:wrap}.card h3{overflow-wrap:anywhere}}
@media print{.recipe-reference{font-size:8pt}.recipe-reference p,.recipe-reference a{font-size:8pt}}

/* Ricetti.mt visual identity */
.brand{display:inline-flex;align-items:center;letter-spacing:normal;flex-shrink:0}.brand img{display:block;width:195px;height:auto}footer .brand img{width:170px}@media(max-width:700px){.brand img{width:150px}header{gap:12px}nav{gap:12px}nav a{font-size:10px}}@media(max-width:390px){.brand img{width:130px}.languages{padding:6px 8px}header{padding-left:5%;padding-right:5%}}

/* Dish-specific serving illustrations and related recipes */
.dish-photo{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}.food:has(.dish-photo){isolation:isolate}.image-label{position:absolute;bottom:10px;right:10px;background:#fff8ede8;color:#493943;padding:3px 8px;border-radius:3px;font-size:8px;letter-spacing:.2px}.cover-tiles>div{position:relative}.cover-tiles .dish-photo{width:100%;height:100%;aspect-ratio:1;object-fit:cover}.cover-tiles .image-label{font-size:7px;bottom:12px;right:12px;padding:2px 5px}.recipe-hero .dish-photo{aspect-ratio:4/3}.related{margin-top:55px;border-top:1px solid var(--line);padding-top:30px}.related h2{font-size:30px}.related>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.related a{border:1px solid var(--line);background:#fffcf6;padding:18px;display:flex;justify-content:space-between;gap:10px;font-size:13px}.related a:hover{border-color:var(--red)}@media(max-width:700px){.related>div{grid-template-columns:1fr}}@media print{.related{display:none}}
.cover-tiles .image-label{bottom:auto;top:14px;right:auto;left:50%;transform:translateX(-50%);white-space:nowrap}
