:root{
  --cream:#f5efdf;
  --paper:#fbf7ec;
  --green:#174d33;
  --green-deep:#0d3523;
  --gold:#d6a62d;
  --wine:#7a2e20;
  --ink:#27231d;
  --muted:#736b60;
  --line:rgba(23,77,51,.18);
  --serif:"Cormorant Garamond", Georgia, serif;
  --sans:"Inter", Arial, sans-serif;
  --shadow:0 24px 70px rgba(32,25,15,.14);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.65;overflow-x:hidden}
img{display:block;width:100%;height:100%;object-fit:cover}
a{color:inherit;text-decoration:none}
button{font:inherit}
.container{width:min(1180px,calc(100% - 40px));margin-inline:auto}
.section{padding:110px 0}
.site-header{position:fixed;inset:0 0 auto;z-index:50;padding:18px 0;transition:.3s ease;color:#fff;background:linear-gradient(180deg,rgba(10,35,23,.72) 0%,rgba(10,35,23,.28) 65%,rgba(10,35,23,0) 100%)}
.site-header.scrolled{background:rgba(251,247,236,.94);backdrop-filter:blur(16px);box-shadow:0 8px 35px rgba(26,31,23,.08);color:var(--green);padding:10px 0}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:inline-flex;align-items:center;gap:11px;min-width:max-content}
.brand-seal{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;border:1px solid currentColor;font-family:var(--serif);font-size:29px;font-weight:700;position:relative}
.brand-seal:after{content:"";position:absolute;inset:4px;border:1px solid rgba(214,166,45,.75);border-radius:50%}
.brand-copy{display:flex;flex-direction:column;line-height:1.05}
.brand-copy strong{font:700 18px/1 var(--serif);letter-spacing:.06em}
.brand-copy small{font-size:8px;letter-spacing:.24em;margin-top:5px;font-weight:700}
.main-nav{display:flex;align-items:center;gap:28px;font-size:13px;font-weight:600}
.main-nav a{position:relative}
.main-nav a:not(.nav-cta):after{content:"";position:absolute;left:0;right:100%;bottom:-5px;height:1px;background:var(--gold);transition:.25s}
.main-nav a:hover:after{right:0}
.nav-cta{border:1px solid currentColor;padding:10px 16px;border-radius:999px}
.menu-toggle{display:none;background:none;border:0;padding:9px;cursor:pointer;color:inherit}
.menu-toggle span{display:block;width:24px;height:2px;background:currentColor;margin:5px 0}
.hero{min-height:96vh;display:grid;align-items:end;position:relative;overflow:hidden;background:var(--green-deep);color:#fff}
.hero-media{position:absolute;inset:0}
.hero-media img{object-position:center 42%}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,35,23,.84) 0%,rgba(10,35,23,.53) 42%,rgba(10,35,23,.10) 78%),linear-gradient(0deg,rgba(7,25,17,.5),transparent 40%)}
.hero-content{position:relative;z-index:2;padding-top:170px;padding-bottom:120px}
.eyebrow{font-size:11px;letter-spacing:.24em;font-weight:700;color:var(--green);margin-bottom:18px}
.eyebrow.light{color:#f7d978}
.hero h1,.section h2{font-family:var(--serif);font-weight:600;letter-spacing:-.035em;margin:0;line-height:.9}
.hero h1{font-size:clamp(56px,8vw,112px);max-width:890px}
h1 em,h2 em{font-weight:500;color:var(--gold)}
.hero p{max-width:590px;font-size:18px;color:rgba(255,255,255,.84);margin:28px 0 34px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.button{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:14px 22px;font-size:13px;font-weight:700;transition:.25s ease;border:1px solid transparent}
.button:hover{transform:translateY(-2px)}
.button-gold{background:var(--gold);color:#1c271e}
.button-ghost{border-color:rgba(255,255,255,.55);color:#fff;background:rgba(255,255,255,.05)}
.button-green{background:var(--green);color:#fff}
.hero-note{position:absolute;right:28px;bottom:25px;z-index:2;font:600 18px var(--serif);letter-spacing:.05em;color:rgba(255,255,255,.72)}
.trust-strip{background:var(--cream);border-bottom:1px solid var(--line);border-top:1px solid rgba(214,166,45,.35)}
.trust-grid{display:flex;align-items:center;justify-content:center;gap:25px;padding:19px 0;font:600 12px var(--sans);text-transform:uppercase;letter-spacing:.16em;color:var(--green)}
.trust-grid i{width:4px;height:4px;background:var(--gold);border-radius:50%}
.two-col{display:grid;grid-template-columns:1.02fr .98fr;gap:90px;align-items:center}
.section h2{font-size:clamp(48px,6vw,78px);color:var(--green)}
.lead{font:500 24px/1.45 var(--serif);color:#453c30}
.story-copy>p:not(.lead){color:var(--muted);max-width:610px}
.timeline{display:grid;grid-template-columns:repeat(4,1fr);margin-top:42px;padding-top:20px;border-top:1px solid var(--line)}
.timeline div{position:relative;padding-right:10px}
.timeline div:before{content:"";width:9px;height:9px;background:var(--gold);border-radius:50%;position:absolute;top:-25px;left:0}
.timeline b{display:block;color:var(--green);font-family:var(--serif);font-size:21px}
.timeline span{font-size:11px;color:var(--muted)}
.image-stack{position:relative;min-height:680px}
.stack-main{position:absolute;right:0;top:0;width:76%;height:86%;margin:0;box-shadow:var(--shadow)}
.stack-main img{object-position:center 55%}
.stack-small{position:absolute;left:0;bottom:0;width:48%;height:42%;margin:0;border:10px solid var(--paper);box-shadow:var(--shadow)}
.signature-card{position:absolute;right:-20px;bottom:18px;background:var(--wine);color:#fff;padding:18px 24px;min-width:165px;box-shadow:var(--shadow)}
.signature-card span,.signature-card strong{display:block}
.signature-card span{font-size:10px;text-transform:uppercase;letter-spacing:.18em}
.signature-card strong{font:600 29px var(--serif)}
.collection{background:var(--cream)}
.section-heading.centered{text-align:center;max-width:790px;margin:0 auto 55px}
.section-heading p{color:var(--muted);max-width:690px;margin:24px auto 0}
.collection-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-auto-rows:380px;gap:18px}
.pasta-card{position:relative;overflow:hidden;background:var(--green);box-shadow:0 10px 30px rgba(38,30,18,.08)}
.pasta-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,26,17,.82),transparent 58%)}
.pasta-card img{transition:transform .6s ease}
.pasta-card:hover img{transform:scale(1.035)}
.card-copy{position:absolute;z-index:2;left:28px;right:28px;bottom:24px;color:#fff}
.card-copy span{font-size:10px;letter-spacing:.2em;color:#f7d978}
.card-copy h3{font:600 34px/1.05 var(--serif);margin:4px 0}
.card-copy p{margin:0;color:rgba(255,255,255,.78);font-size:13px;max-width:380px}
.vegan{background:#f8f4e9}
.vegan-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}
.vegan-image{height:720px;box-shadow:var(--shadow)}
.vegan-copy p{color:var(--muted)}
.flavour-tags{display:flex;flex-wrap:wrap;gap:9px;margin:28px 0}
.flavour-tags span{padding:8px 12px;border:1px solid var(--line);border-radius:999px;font-size:11px;color:var(--green);background:#fff}
.text-link{display:inline-block;font-weight:700;color:var(--wine);margin-top:10px;border-bottom:1px solid rgba(122,46,32,.35)}
.craft{background:var(--green);color:#fff}
.craft-head{display:grid;grid-template-columns:1fr .8fr;gap:90px;align-items:end;margin-bottom:50px}
.craft h2{color:#fff}
.craft-head>p{color:rgba(255,255,255,.7);margin:0 0 8px;max-width:530px}
.craft-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:18px;align-items:stretch}
.craft-feature{margin:0;height:620px;overflow:hidden}
.craft-points{background:#f4ecd9;color:var(--ink);padding:28px 32px;display:grid;grid-template-columns:1fr 1fr;gap:0}
.craft-points>div{padding:25px 20px;border-bottom:1px solid rgba(23,77,51,.15)}
.craft-points>div:nth-child(odd){border-right:1px solid rgba(23,77,51,.15)}
.craft-points>div:nth-last-child(-n+2){border-bottom:0}
.craft-points b{font-size:10px;color:var(--wine);letter-spacing:.18em}
.craft-points h3{font:600 26px/1.05 var(--serif);color:var(--green);margin:6px 0 8px}
.craft-points p{font-size:12px;color:var(--muted);margin:0}
.gallery-section{background:#0c2117;padding:18px 0;overflow:hidden}
.gallery-track{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;width:calc(100% - 36px);margin:auto}
.gallery-track figure{height:480px;margin:0;overflow:hidden}
.gallery-track img{transition:.5s}
.gallery-track figure:hover img{transform:scale(1.03)}
.trade{background:var(--paper)}
.trade-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:center}
.trade-copy p{color:var(--muted);max-width:520px}
.trade-copy .button{margin-top:14px}
.trade-image{height:640px;margin:0;box-shadow:var(--shadow)}
.contact{background:var(--paper);padding-top:30px}
.contact-card{background:var(--wine);color:#fff;padding:65px 70px;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;box-shadow:var(--shadow)}
.contact-card h2{color:#fff}
.contact-card p{color:rgba(255,255,255,.7)}
.contact-links{display:grid}
.contact-links a{padding:20px 0;border-bottom:1px solid rgba(255,255,255,.18);transition:.2s}
.contact-links a:hover{padding-left:8px}
.contact-links span,.contact-links strong{display:block}
.contact-links span{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:#f7d978}
.contact-links strong{font:600 24px var(--serif);margin-top:4px}
.site-footer{background:#10291d;color:#fff;padding:64px 0 24px}
.footer-grid{display:grid;grid-template-columns:1fr 1.3fr .7fr;gap:50px;align-items:start}
.footer-brand .brand-seal{color:#f7d978}
.footer-grid>p{margin:4px 0 0;color:rgba(255,255,255,.56);font-size:13px;max-width:430px}
.footer-meta{display:flex;flex-direction:column;gap:8px;align-items:flex-end;font-size:12px;color:rgba(255,255,255,.7)}
.footer-bottom{margin-top:50px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;font-size:11px;color:rgba(255,255,255,.45)}
.footer-bottom a:hover{color:#fff}
.whatsapp-float{position:fixed;right:22px;bottom:22px;width:58px;height:58px;border-radius:50%;background:#1f9d58;display:grid;place-items:center;z-index:45;box-shadow:0 12px 30px rgba(0,0,0,.25);transition:.25s}
.whatsapp-float:hover{transform:translateY(-3px) scale(1.02)}
.whatsapp-float svg{width:31px;height:31px;fill:#fff}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.reveal.visible{opacity:1;transform:none}
@media(max-width:980px){
  .main-nav{position:absolute;left:20px;right:20px;top:74px;display:none;flex-direction:column;align-items:stretch;background:var(--paper);color:var(--green);padding:22px;border-radius:12px;box-shadow:var(--shadow)}
  .main-nav.open{display:flex}.menu-toggle{display:block}
  .two-col,.vegan-grid,.trade-grid,.craft-grid,.contact-card{grid-template-columns:1fr;gap:48px}
  .craft-head{grid-template-columns:1fr;gap:25px}
  .image-stack{min-height:610px}.vegan-image,.trade-image{height:560px}
  .craft-feature{height:500px}.gallery-track{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr}.footer-grid>p{grid-column:1/-1;grid-row:2}.footer-meta{align-items:flex-start}
}
@media(max-width:700px){
  .container{width:min(100% - 28px,1180px)}.section{padding:78px 0}
  .site-header{padding:11px 0}.brand-copy strong{font-size:16px}.brand-copy small{font-size:7px}.brand-seal{width:42px;height:42px;font-size:25px}
  .hero{min-height:92vh}.hero-content{padding-top:130px;padding-bottom:92px}.hero h1{font-size:56px}.hero p{font-size:16px}.hero-note{display:none}
  .trust-grid{gap:10px;justify-content:flex-start;overflow-x:auto;white-space:nowrap}.trust-grid span{font-size:10px}
  .two-col,.vegan-grid,.trade-grid{gap:45px}.section h2{font-size:48px}.lead{font-size:21px}
  .timeline{grid-template-columns:1fr 1fr;gap:26px 12px}.timeline div:nth-child(n+3){margin-top:12px}
  .image-stack{min-height:510px}.stack-main{width:84%;height:82%}.stack-small{width:54%;height:38%}.signature-card{right:0}
  .collection-grid{grid-template-columns:1fr;grid-auto-rows:390px}.vegan-image,.trade-image{height:480px}
  .craft-feature{height:430px}.craft-points{grid-template-columns:1fr;padding:14px}.craft-points>div,.craft-points>div:nth-child(odd){border-right:0;border-bottom:1px solid rgba(23,77,51,.15)}.craft-points>div:last-child{border-bottom:0}
  .gallery-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.gallery-track figure{min-width:82vw;height:470px;scroll-snap-align:start}
  .contact-card{padding:42px 26px}.contact-links strong{font-size:20px;word-break:break-word}
  .footer-grid{grid-template-columns:1fr;gap:30px}.footer-grid>p{grid-row:auto}.footer-meta{align-items:flex-start}.footer-bottom{gap:20px;flex-wrap:wrap}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.pasta-card img,.gallery-track img,.button,.whatsapp-float{transition:none}}

/* Dedicated pasta collection page */
.main-nav a.active{color:var(--wine);position:relative}
.main-nav a.active:after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:1px;background:var(--gold)}
.collection-cta{text-align:center;margin-top:34px}
.pasta-page-hero{position:relative;min-height:650px;display:flex;align-items:flex-end;overflow:hidden}
.pasta-page-hero-media{position:absolute;inset:0}
.pasta-page-hero-media img{object-position:center 48%}
.pasta-page-hero-content{position:relative;z-index:2;color:#fff;padding-bottom:92px}
.pasta-page-hero h1{font:600 clamp(72px,10vw,142px)/.82 var(--serif);letter-spacing:-.045em;margin:0}
.pasta-page-hero p{max-width:650px;font-size:18px;color:rgba(255,255,255,.82);margin:25px 0 0}
.pasta-intro{padding:105px 0 90px;background:var(--paper)}
.pasta-intro-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:start}
.pasta-intro h2,.pasta-category h2,.pasta-bespoke h2{font:600 clamp(48px,6vw,76px)/.91 var(--serif);letter-spacing:-.035em;color:var(--green);margin:0}
.pasta-intro p{color:var(--muted);max-width:690px}
.pasta-catalogue{background:var(--cream);padding:90px 0 120px}
.pasta-category{display:grid;grid-template-columns:110px 1fr;gap:22px;align-items:start;margin-bottom:40px}
.pasta-category>span{font:600 74px/.85 var(--serif);color:rgba(23,77,51,.12)}
.pasta-category .eyebrow{margin-bottom:12px}
.category-gap{margin-top:110px}
.shape-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.shape-grid-long{grid-template-columns:repeat(2,1fr)}
.shape-grid-special{grid-template-columns:.9fr 1.1fr}
.shape-card{background:#fff;border:1px solid rgba(23,77,51,.08);overflow:hidden;box-shadow:0 12px 35px rgba(50,39,21,.07)}
.shape-card figure{margin:0;height:420px;overflow:hidden;background:#e8e0cf}
.shape-card figure img{transition:transform .55s ease}
.shape-card:hover figure img{transform:scale(1.025)}
.shape-copy{padding:28px 30px 32px}
.shape-copy>span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.2em;color:var(--wine);font-weight:700;margin-bottom:9px}
.shape-copy h3{font:600 42px/1 var(--serif);color:var(--green);margin:0 0 12px}
.shape-copy p{color:var(--muted);font-size:14px;margin:0;max-width:520px}
.shape-card-featured figure{height:520px}
.pasta-bespoke{background:#0f2c1f;padding:90px 0}
.pasta-bespoke-card{display:grid;grid-template-columns:1.3fr .7fr;gap:70px;align-items:end}
.pasta-bespoke h2{color:#fff}
.pasta-bespoke p{color:rgba(255,255,255,.67);max-width:680px}
.pasta-bespoke-actions{display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap}
@media(max-width:980px){
  .pasta-intro-grid,.pasta-bespoke-card{grid-template-columns:1fr;gap:35px}
  .pasta-bespoke-actions{justify-content:flex-start}
  .shape-card figure,.shape-card-featured figure{height:380px}
}
@media(max-width:700px){
  .main-nav a.active:after{display:none}
  .pasta-page-hero{min-height:78vh}.pasta-page-hero-content{padding-bottom:70px}.pasta-page-hero h1{font-size:76px}
  .pasta-intro{padding:78px 0 68px}.pasta-catalogue{padding:70px 0 85px}
  .pasta-category{grid-template-columns:62px 1fr;gap:12px;margin-bottom:28px}.pasta-category>span{font-size:48px}
  .category-gap{margin-top:78px}
  .shape-grid,.shape-grid-long,.shape-grid-special{grid-template-columns:1fr}
  .shape-card figure,.shape-card-featured figure{height:360px}
  .shape-copy{padding:24px}.shape-copy h3{font-size:37px}
  .pasta-bespoke{padding:72px 0}
}

/* V3 trade-focused pasta page */
.trade-audiences{display:flex;flex-wrap:wrap;gap:9px;margin-top:25px}
.trade-audiences span{padding:8px 12px;border:1px solid rgba(247,217,120,.38);border-radius:999px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#f7d978}
.pasta-trade-actions{display:grid;grid-template-columns:1fr 1fr;align-items:center}
.pasta-trade-actions .trade-cta-copy{grid-column:1/-1;color:rgba(255,255,255,.72);font-size:14px;margin:0 0 14px;max-width:480px}
.pasta-trade-actions .button{text-align:center}
@media(max-width:700px){.pasta-trade-actions{grid-template-columns:1fr}.pasta-trade-actions .trade-cta-copy{grid-column:auto}}

/* V4 restaurant value proposition */
.value-banner{background:var(--green);padding:84px 0;position:relative;overflow:hidden}
.value-banner:before{content:"";position:absolute;width:360px;height:360px;border:1px solid rgba(247,217,120,.18);border-radius:50%;right:-130px;top:-170px}
.value-banner:after{content:"";position:absolute;width:230px;height:230px;border:1px solid rgba(247,217,120,.12);border-radius:50%;left:-95px;bottom:-145px}
.value-banner-inner{position:relative;z-index:1;text-align:center;max-width:930px}
.value-banner h2{font:600 clamp(46px,6vw,78px)/.93 var(--serif);letter-spacing:-.035em;color:#fff;margin:12px 0 22px}
.value-banner h2 em{color:#f7d978;font-weight:500}
.value-banner p{max-width:720px;margin:0 auto;color:rgba(255,255,255,.73);font-size:17px;line-height:1.75}
.trade-slogan{font:600 clamp(27px,3vw,39px)/1.05 var(--serif);letter-spacing:-.025em;color:#fff!important;margin:10px 0 32px!important;max-width:720px!important}
.trade-slogan em{color:#f7d978;font-weight:500}
@media(max-width:700px){
  .value-banner{padding:64px 0}
  .value-banner h2{font-size:43px}
  .value-banner p{font-size:15px}
  .trade-slogan{font-size:29px;margin-bottom:26px!important}
}
