:root{--ink:#29281f;--muted:#6c6a60;--paper:#faf9f5;--gold:#a78651;--line:#dcd9ce;--dark:#30382d;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:115px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.7 var(--sans)}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{display:block;max-width:100%}h1,h2,h3,p,figure{margin:0}h1,h2{font-family:var(--serif);font-weight:400;line-height:1.07;letter-spacing:-.045em}h2{font-size:clamp(2.6rem,4.3vw,4.4rem)}h2 em,h1 em{font-weight:400;color:var(--gold)}p+p{margin-top:22px}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #b47725;outline-offset:6px}a:hover{color:#8a622e}.skip{position:fixed;left:20px;top:-100px;z-index:20;padding:12px;background:white}.skip:focus{top:12px}.announcement{padding:9px 5%;background:var(--ink);color:#f5f1e7;font-size:.75rem;letter-spacing:.16em;display:flex;justify-content:space-between}.header{min-height:104px;padding:12px 5%;display:flex;justify-content:space-between;align-items:center;gap:30px;background:var(--paper);position:sticky;top:0;z-index:10;border-bottom:1px solid var(--line)}.brand{flex-shrink:0}.brand img{width:155px;height:auto}.header nav{display:flex;align-items:center;gap:34px;font-size:.875rem}.nav-shop{padding:12px 22px;border:1px solid var(--ink)}.nav-shop span{margin-left:20px}.menu-toggle{display:none}.hero{position:relative;min-height:100vh;height:auto;max-height:none;display:flex;align-items:center;isolation:isolate;background:#32251d;color:white;overflow:hidden}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 43%;z-index:-3}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,20,15,.87) 0%,rgba(20,20,15,.64) 37%,rgba(20,20,15,.08) 75%);z-index:-2}.hero-copy{padding:70px 7.5% 86px;max-width:1000px}.eyebrow{font-size:.75rem;font-weight:600;letter-spacing:.2em;color:#846538;margin-bottom:26px}.eyebrow.light{color:#e1c596}.hero h1{font-size:clamp(3.5rem,5.8vw,6.4rem);line-height:1.02;margin-bottom:26px}.hero h1 em{color:#e4c899}.hero-copy>p:not(.eyebrow){color:#e4e1d9;line-height:1.75}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:15px 24px;font-size:.875rem;transition:background .2s,color .2s}.hero .button{margin-top:30px}.button-light{background:var(--paper);color:var(--ink)}.button-light:hover{background:#e7d9be;color:var(--ink)}.button-dark{background:var(--ink);color:white}.button-dark:hover{background:var(--dark);color:#e1c596}.hero-caption{position:absolute;bottom:27px;left:7.5%;right:5%;display:flex;justify-content:space-between;font-size:.75rem;letter-spacing:.2em;color:#efeadf}.values{display:flex;justify-content:space-evenly;align-items:center;gap:20px;border-bottom:1px solid var(--line);padding:22px 5%;font-size:.875rem}.values i{color:var(--gold);font-style:normal}.section{padding:105px 7.5%}.story{display:grid;grid-template-columns:1fr 1fr;gap:100px}.since{display:flex;align-items:center;gap:25px;margin-top:42px}.since strong{font:4.4rem/1 var(--serif);color:var(--gold);letter-spacing:-.04em}.since span{font-size:.75rem;line-height:1.6;text-transform:uppercase;letter-spacing:.1em}.story-copy{padding-top:36px;color:var(--muted)}.story-copy .intro{font:1.7rem/1.4 var(--serif);color:var(--ink);margin-bottom:26px}.text-link{display:inline-flex;justify-content:space-between;align-items:center;gap:30px;font-size:.875rem;border-bottom:1px solid var(--gold);padding:10px 0;color:var(--ink)}.story-copy .text-link{margin-top:20px}.territory{display:grid;grid-template-columns:1fr 1fr;background:var(--dark);color:white}.territory-photo{position:relative;min-height:670px;overflow:hidden}.territory-photo img{height:100%;width:100%;object-fit:cover;position:absolute}.territory-photo:after{content:'';position:absolute;inset:65% 0 0;background:linear-gradient(transparent,#0009)}.territory-photo>span{position:absolute;z-index:1;bottom:32px;left:10%;font-size:.75rem;letter-spacing:.15em}.territory-copy{padding:80px 15% 70px 12%}.territory h2{margin-bottom:30px}.territory h2 em,.contact h2 em{color:#cbae79}.territory-copy>p:not(.eyebrow){color:#d4d9cf}.light-link{color:#f2ebdc;margin-top:24px}.light-link:hover{color:#dabb8b}.breeding{display:grid;grid-template-columns:1fr .85fr;gap:13%;align-items:center}.breeding h2{margin-bottom:32px}.breeding-copy>p:not(.eyebrow){color:var(--muted);max-width:470px}.breeding figure{padding:0 0 20px 22px;border-left:1px solid var(--line)}.breeding figure img{height:530px;width:100%;object-fit:cover}.breeding figcaption{font:italic 1.3rem var(--serif);padding-top:20px}.breeding-note{border-top:1px solid var(--line);padding-top:25px;margin-top:32px}.breeding-note>span{font-size:.75rem;letter-spacing:.15em;color:#846538}.breeding-note p{font-size:.875rem;margin-top:10px}.catalog{background:#eeeee6;border-top:1px solid var(--line)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px}.section-heading h2{font-size:clamp(2.5rem,3.8vw,3.7rem)}.section-heading>.text-link{flex-shrink:0}.catalog-intro{color:var(--muted);margin-top:25px;max-width:680px}.products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:40px}.product-link{display:block}.product-visual{position:relative;background:#e0dfd4;aspect-ratio:1 / 1.15;overflow:hidden}.product-placeholder{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#e4e2d8;color:#73674e;border:1px solid #dad6c8}.placeholder-name{font:italic 2.5rem var(--serif)}.placeholder-detail{font-size:.75rem;letter-spacing:.18em;margin-top:9px}.product-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;background:#f7f6f2;transition:transform .4s}.product-link:hover .product-photo{transform:scale(1.04)}.product-arrow{position:absolute;right:13px;bottom:13px;width:37px;height:37px;background:var(--paper);display:grid;place-items:center;border-radius:50%}.product-line{font-size:.75rem;color:#76603e;letter-spacing:.08em;text-transform:uppercase;margin-top:21px}.product h3{font:1.45rem/1.3 var(--serif);margin-top:9px;letter-spacing:-.025em}.product-details{font-size:.875rem;color:var(--muted);margin-top:10px}.product-more{display:inline-block;font-size:.875rem;margin-top:16px;border-bottom:1px solid #aaa28d}.catalog-bottom{border-top:1px solid #cccbbd;margin-top:46px;padding-top:25px;display:flex;justify-content:space-between;align-items:center;gap:20px}.catalog-bottom>span{font:italic 1.5rem var(--serif)}#catalog-status:not(:empty){padding:25px 0 0;color:var(--muted)}.retry{padding:0;background:transparent;border:0;text-decoration:underline;color:var(--ink)}.contact{background:var(--ink);color:var(--paper);display:grid;grid-template-columns:1.3fr 1fr;gap:12%}.contact h2{margin-bottom:25px}.contact p{color:#d2d0c6}.contact .button{margin-top:28px}.contact-details{display:flex;flex-direction:column;gap:40px;padding-top:12px}.contact-details>div+div{border-top:1px solid #5e5d51;padding-top:30px}.contact h3{font-size:.75rem;font-weight:400;letter-spacing:.16em;color:#ccae7f;margin-bottom:18px}.contact-details p{font-size:1.125rem}.contact-details a{display:block;width:fit-content;color:#f5f1e7;margin-top:10px}.contact-details a:hover{color:#ccae7f}.contact-phone{font:2rem var(--serif)}footer{padding:32px 5%;display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:.75rem}footer>p{color:var(--muted)}footer>div{display:flex;gap:24px}.footer-brand{font:1.5rem var(--serif);white-space:nowrap}.footer-brand span{display:block;font:.625rem var(--sans);letter-spacing:.24em;margin-top:7px}
@media(min-width:1700px){.section{padding-left:max(7.5%,calc((100vw - 1450px)/2));padding-right:max(7.5%,calc((100vw - 1450px)/2))}}
@media(max-width:1050px){.header nav{gap:20px}.section{padding:75px 6%}.story{gap:50px}.hero-copy{padding:70px 6% 100px}.territory-copy{padding:65px 10%}.territory-photo{min-height:620px}.breeding{gap:7%}.section-heading{display:block}.section-heading>.text-link{margin-top:20px}.products{gap:18px}.contact{gap:7%}footer{flex-wrap:wrap}.product h3{font-size:1.25rem}.placeholder-name{font-size:2rem}}
@media(max-width:760px){html{scroll-padding-top:95px}.announcement{justify-content:center;font-size:.625rem;padding:8px 4%;letter-spacing:.13em}.announcement>span{display:none}.header{min-height:85px;padding:8px 6%;gap:15px}.brand img{width:130px}.menu-toggle{display:flex;align-items:center;gap:14px;background:transparent;border:1px solid var(--line);padding:8px 13px;font-size:.875rem;color:var(--ink)}.header nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:20px 6% 30px;box-shadow:0 12px 15px #0001}.header nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:4px}.header nav a{padding:12px}.nav-shop{margin-top:8px;display:flex;justify-content:space-between}.hero-copy{padding:60px 7% 100px}.hero h1{font-size:clamp(3.05rem,10.6vw,4.6rem)}.hero-copy>.eyebrow{font-size:.625rem;letter-spacing:.13em;max-width:90%}.hero-photo{object-position:60% center}.hero-shade{background:linear-gradient(90deg,#14140fe8,#14140f67)}.hero-caption{left:7%;right:7%;font-size:.625rem;gap:25px}.values{padding:18px 6%;gap:12px;text-align:center;font-size:.75rem}.values span{flex:1}.values i{font-size:.75rem}.section{padding:65px 7%}.story,.breeding,.territory,.contact{grid-template-columns:1fr;gap:35px}.story-copy{padding:0}.story-copy .intro{font-size:1.5rem}.since{margin-top:27px}.since strong{font-size:3.5rem}.territory{gap:0}.territory-photo{min-height:350px}.territory-copy{padding:55px 7% 60px}.breeding figure{padding:0;border:0;max-width:500px;width:100%;margin:0 auto}.breeding figure img{height:430px}.breeding-note{margin-top:24px}.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 18px;margin-top:28px}.product-line{font-size:.625rem;line-height:1.6}.product h3{font-size:1.2rem}.product-more{font-size:.75rem}.placeholder-name{font-size:1.8rem}.placeholder-detail{font-size:.625rem;letter-spacing:.06em}.catalog-bottom{align-items:start;flex-direction:column}.catalog-bottom>span{font-size:1.3rem}.contact{gap:45px}.contact-details{gap:27px}footer{padding:30px 7%;flex-direction:column;align-items:flex-start;gap:20px}.eyebrow{margin-bottom:20px}h2{font-size:2.8rem}.desktop-only{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

.footer-brand img{width:150px;height:auto}.product-placeholder .placeholder-logo{width:72%;height:auto;opacity:.72}

/* Portrait photographs: keep each subject in view within the full-height hero. */
.hero-photo--prosciutti{object-position:55% 50%}.hero-photo--rete{object-position:50% 68%}.hero-photo--salumi{object-position:50% 50%}.hero-photo--pepe{object-position:50% 48%}
@media(max-width:760px){.hero-photo--prosciutti{object-position:55% center}.hero-photo--rete{object-position:45% center}.hero-photo--salumi{object-position:50% center}.hero-photo--pepe{object-position:55% center}}

/* Navigation overlays the opening photograph; no header strip consumes its height. */
.announcement{position:absolute;inset:0 0 auto;z-index:11;background:transparent;border-bottom:1px solid #ffffff26}
.header{position:fixed;top:38px;left:0;right:0;background:transparent;color:#faf9f5;border-bottom:0;transition:background .2s,top .2s}
.header .brand img{filter:invert(1)}
.header a:hover{color:#e1c596}
.header .nav-shop{border-color:#ffffff8c}
.header.is-scrolled{top:0;background:rgba(41,40,31,.97);box-shadow:0 2px 12px #0002}
.hero:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(15,15,10,.72),transparent 260px)}
.hero-copy{padding-top:190px;padding-bottom:110px}
@media(max-width:760px){
  .header{top:33px}
  .menu-toggle{color:#faf9f5;border-color:#ffffff8c}
  .header nav{background:rgba(41,40,31,.98);color:#faf9f5;max-height:calc(100dvh - 120px);overflow-y:auto}
  .hero-copy{padding-top:165px;padding-bottom:110px}
}

/* Recipe catalogue, populated by the shared API. */
.recipes-page{padding:0;background:var(--paper);min-height:70vh}.recipes-hero{min-height:100vh;position:relative;display:flex;align-items:flex-end;padding:170px max(24px,calc((100vw - 1160px)/2)) 90px;background-color:var(--dark);color:var(--paper);overflow:hidden}.recipes-hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}.recipes-hero-shade{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(41,40,31,.9),rgba(41,40,31,.28) 70%),linear-gradient(0deg,rgba(41,40,31,.75),transparent 48%)}.recipes-hero-copy,.recipes-hero-caption{position:relative;z-index:2}.recipes-hero-copy{max-width:670px}.recipes-hero-copy h1{font:clamp(58px,8vw,112px)/.9 Georgia,serif;letter-spacing:-.06em;margin:20px 0 25px}.recipes-hero-copy h1 em{color:#e4c899}.recipes-hero-copy>p:not(.eyebrow){max-width:500px;color:#f2ebdc;font-size:17px;line-height:1.65;margin:0}.recipes-hero-meta{display:flex;gap:20px;flex-wrap:wrap;color:#cbae79;font-size:11px;text-transform:uppercase;letter-spacing:.12em;margin:25px 0 30px}.recipes-hero-caption{position:absolute;bottom:28px;left:max(24px,calc((100vw - 1160px)/2));right:max(24px,calc((100vw - 1160px)/2));display:flex;justify-content:space-between;color:#d4d9cf;font-size:10px;letter-spacing:.18em}.recipes-catalog-content{max-width:1160px;margin:0 auto;padding:110px 24px}.recipes-catalog-content h1{font:clamp(52px,7vw,92px)/.92 Georgia,serif;letter-spacing:-.05em;margin:18px 0}.recipes-catalog-content h1 em{color:var(--gold)}.recipes-intro{max-width:520px;color:var(--muted);line-height:1.7}.recipe-filters{display:flex;gap:8px;flex-wrap:wrap;margin:42px 0 22px}.recipe-filter{border:1px solid var(--line);border-radius:999px;padding:10px 15px;color:var(--muted);text-decoration:none;font-size:11px}.recipe-filter.active,.recipe-filter:hover{background:var(--dark);border-color:var(--dark);color:var(--paper)}.recipes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.recipe-card{background:#eeeee6;border-radius:12px;overflow:hidden}.recipe-card img,.recipe-card-placeholder{width:100%;height:220px;object-fit:cover;background:var(--dark)}.recipe-card-placeholder{display:grid;place-items:center;color:#cbae79;font:52px Georgia,serif}.recipe-card-copy{padding:21px}.recipe-card-copy h2{font:29px/1 Georgia,serif;margin:9px 0}.recipe-card-copy p{color:var(--muted);font-size:13px;line-height:1.6}.recipe-card-copy small{color:var(--gold);font-size:10px;text-transform:uppercase;letter-spacing:.14em}.recipe-meta{display:flex;gap:13px;color:var(--muted);font-size:11px;margin-top:16px}.recipe-empty{color:var(--muted);padding:25px 0}.recipes-back{display:inline-flex;margin-top:55px;color:var(--gold);text-decoration:none;font-size:12px;font-weight:700}.recipe-shop{margin-left:20px}.recipe-error{background:#e4e2d8;color:var(--dark);padding:14px;border-radius:6px}
@media(max-width:760px){.recipes-hero{padding:150px 24px 80px;min-height:100svh}.recipes-hero-copy h1{font-size:58px}.recipes-hero-copy>p:not(.eyebrow){font-size:15px}.recipes-hero-caption{font-size:8px}.recipes-catalog-content{padding:75px 24px 70px}.recipes-grid{grid-template-columns:1fr}.recipe-card img,.recipe-card-placeholder{height:200px}}

.recipe-card{position:relative;cursor:pointer;transition:transform .25s,box-shadow .25s}.recipe-card:hover,.recipe-card:focus-visible{transform:translateY(-4px);box-shadow:0 14px 30px rgba(41,40,31,.12);outline:0}.recipe-card:focus-visible{box-shadow:0 0 0 3px var(--gold),0 14px 30px rgba(41,40,31,.12)}.recipe-card-open{display:inline-flex;align-items:center;gap:10px;margin-top:20px;color:var(--gold);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.recipe-card-open span{font-size:16px}.recipe-lightbox[hidden]{display:none}.recipe-lightbox{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:28px}.recipe-lightbox-backdrop{position:absolute;inset:0;background:rgba(41,40,31,.72);backdrop-filter:blur(5px)}.recipe-lightbox-panel{position:relative;z-index:1;width:min(980px,100%);max-height:min(900px,calc(100vh - 56px));overflow:auto;background:var(--paper);color:var(--ink);box-shadow:0 24px 80px rgba(0,0,0,.25)}.recipe-lightbox-close{position:absolute;top:18px;right:22px;z-index:2;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:var(--paper);color:var(--ink);font-size:30px;line-height:1}.recipe-lightbox-close:hover{background:var(--dark);border-color:var(--dark);color:var(--paper)}.recipe-lightbox-content{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr);min-height:520px}.recipe-lightbox-image{width:100%;height:100%;min-height:520px;object-fit:cover;background:var(--dark)}.recipe-lightbox-copy{padding:58px 52px 48px}.recipe-lightbox-copy small{color:var(--gold);font-size:10px;text-transform:uppercase;letter-spacing:.14em}.recipe-lightbox-copy h2{font:clamp(38px,4vw,58px)/.98 Georgia,serif;margin:14px 0 20px;letter-spacing:-.05em}.recipe-lightbox-description{color:var(--muted);font-size:15px;line-height:1.7}.recipe-lightbox-meta{padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:25px 0 28px;text-transform:uppercase;letter-spacing:.08em}.recipe-lightbox-columns{display:grid;grid-template-columns:1fr 1.15fr;gap:28px}.recipe-lightbox-columns h3{font:24px/1 Georgia,serif;margin:0 0 14px}.recipe-lightbox-columns ul,.recipe-lightbox-columns ol{margin:0;padding-left:20px;color:var(--muted);font-size:14px;line-height:1.7}.recipe-lightbox-columns li+li{margin-top:7px}.recipe-lightbox-open{overflow:hidden}
@media(max-width:760px){.recipe-lightbox{padding:12px}.recipe-lightbox-panel{max-height:calc(100vh - 24px)}.recipe-lightbox-content{display:block}.recipe-lightbox-image{height:240px;min-height:0}.recipe-lightbox-copy{padding:40px 24px 30px}.recipe-lightbox-copy h2{font-size:42px}.recipe-lightbox-columns{grid-template-columns:1fr;gap:25px}.recipe-lightbox-close{top:12px;right:12px}}
