:root { --paper:#fff; --cream:#f7f1e7; --cream-deep:#efe3d1; --espresso:#241a15; --muted:#76695f; --gold:#bd7e12; --line:#e5ddd2; --font-display:Georgia,"Times New Roman",serif; --font-sans:Arial,"Helvetica Neue",sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--espresso); font:17px/1.55 var(--font-sans),Arial,sans-serif; }
a { color:inherit; text-decoration:none; }
button,input { font:inherit; }
img { display:block; width:100%; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.site-header { height:72px; padding:0 clamp(24px,4vw,68px); display:flex; align-items:center; gap:34px; border-bottom:1px solid #eee; background:#fff; position:relative; z-index:10; }
.brand { min-width:220px; line-height:1; }
.brand strong { display:block; font:700 34px/1 var(--font-display),serif; letter-spacing:-1.4px; }
.brand span { display:block; margin-top:5px; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:1.1px; }
.desktop-nav { display:flex; gap:31px; margin:auto; }
.desktop-nav a { font-size:15px; font-weight:650; white-space:nowrap; }
.desktop-nav a:hover,.section-heading a:hover,.pairing-copy a:hover,.italy-intro a:hover { color:var(--gold); }
.header-actions { display:flex; align-items:center; gap:22px; }
.search-box { width:285px; height:38px; border:1px solid var(--line); border-radius:22px; display:flex; align-items:center; padding:0 14px; }
.search-box input { border:0; outline:0; flex:1; min-width:0; background:transparent; font-size:14px; }
.search-box span { font-size:23px; }
.favorite-button { border:0; background:none; cursor:pointer; display:flex; align-items:center; gap:8px; color:var(--espresso); }
.favorite-button:first-letter { color:var(--gold); font-size:25px; }
.mobile-menu { display:none; }
.hero { min-height:410px; height:42vw; max-height:560px; position:relative; overflow:hidden; background:#15100d; }
.hero>img { position:absolute; inset:0; height:100%; object-fit:cover; object-position:center 54%; }
.hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(9,6,4,.98) 0%,rgba(9,6,4,.78) 27%,rgba(9,6,4,.08) 58%,rgba(9,6,4,.05)); }
.hero-copy { position:relative; z-index:2; height:100%; max-width:520px; padding:clamp(46px,5vw,76px) 0 42px clamp(28px,5vw,74px); color:white; display:flex; flex-direction:column; justify-content:center; }
.eyebrow { margin:0 0 10px; color:#e4b65a; font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:1.6px; }
.eyebrow.dark { color:var(--gold); }
.hero h1 { margin:0; font:600 clamp(46px,5.1vw,78px)/.95 var(--font-display),serif; letter-spacing:-2.4px; }
.hero h1 em { color:#f2c05b; font-style:normal; }
.hero-copy>p:not(.eyebrow) { max-width:470px; margin:22px 0 26px; color:#f1ece7; font-size:18px; line-height:1.55; }
.hero-actions { display:flex; gap:14px; flex-wrap:wrap; }
.button { min-height:46px; display:inline-flex; align-items:center; justify-content:center; gap:17px; padding:0 22px; border-radius:3px; font-size:14px; font-weight:750; text-transform:uppercase; letter-spacing:.35px; }
.button-primary { background:var(--gold); color:#fff; }
.button-secondary { border:1px solid #fff; color:#fff; background:rgba(0,0,0,.15); }
.page-shell { max-width:1500px; margin:auto; padding:0 clamp(22px,3.3vw,50px) 36px; }
.section-block { margin-top:16px; }
.discovery-grid { display:grid; grid-template-columns:1.04fr 1fr; gap:34px; padding-top:4px; }
.discovery-grid>div+div { border-left:1px solid var(--line); padding-left:30px; }
.section-heading { min-height:42px; display:flex; justify-content:space-between; align-items:center; gap:16px; }
.section-heading h2,.pairing-feature h2,.italy-strip h2 { margin:0; font:600 clamp(25px,2.2vw,34px)/1 var(--font-display),serif; letter-spacing:-.5px; }
.section-heading h2:after,.pairing-feature h2:after,.italy-strip h2:after { content:""; display:block; width:25px; height:2px; background:var(--gold); margin-top:7px; }
.section-heading a,.pairing-copy a,.italy-intro a { color:#a66e11; font-size:14px; font-weight:700; }
.recipe-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.recipe-card,.shape-card,.collection-card { border:1px solid var(--line); background:#fff; overflow:hidden; border-radius:4px; }
.card-image { aspect-ratio:1.16; overflow:hidden; }
.card-image img { height:100%; object-fit:cover; transition:transform .35s ease; }
.recipe-card:hover img,.collection-card:hover img { transform:scale(1.035); }
.card-copy { padding:10px 10px 11px; }
.card-copy h3,.shape-card h3,.essential-item h3 { margin:0; font:600 17px/1.18 var(--font-display),serif; }
.card-copy p,.shape-card p,.essential-item p { margin:7px 0 0; color:var(--muted); font-size:14px; line-height:1.4; }
.shape-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:11px; }
.shape-card { padding-bottom:12px; text-align:center; background:#fbf7ef; }
.shape-visual { height:142px; overflow:hidden; background:#fbf4e6; border-bottom:1px solid var(--line); }
.shape-visual img { width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.shape-card:hover .shape-visual img { transform:scale(1.035); }
.pairing-feature { height:200px; display:grid; grid-template-columns:35% 65%; overflow:hidden; border-radius:5px; background:var(--cream); border:1px solid var(--line); }
.pairing-copy { padding:24px 26px; align-self:center; }
.pairing-copy>p:not(.eyebrow) { max-width:420px; margin:12px 0; color:#5f554d; font-size:16px; line-height:1.5; }
.pairing-images { position:relative; overflow:hidden; }
.pairing-images:before { content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(90deg,var(--cream),transparent 16%); }
.pairing-images img { height:100%; object-fit:cover; object-position:center 54%; min-height:180px; }
.editorial-grid { display:grid; grid-template-columns:1.05fr 1fr; gap:12px; }
.panel { background:var(--cream); border:1px solid #ede5d9; border-radius:5px; }
.essentials,.collections { padding:13px 15px 15px; }
.section-heading.centered { justify-content:center; min-height:35px; }
.section-heading.centered h2 { font-size:26px; }
.essential-grid { display:grid; grid-template-columns:repeat(5,1fr); }
.essential-item { text-align:center; min-height:140px; padding:9px 12px 3px; border-right:1px solid #ded4c6; }
.essential-item:last-child { border-right:0; }
.essential-illustration { display:block; width:100%; height:62px; margin:0 auto 4px; background-image:url('/assets/images/pasta101-sketch.webp'); background-repeat:no-repeat; background-size:500% auto; background-position-y:center; }
.sketch-pot { background-position-x:0%; }
.sketch-wheat { background-position-x:25%; }
.sketch-noodle { background-position-x:50%; }
.sketch-sauce { background-position-x:75%; }
.sketch-italy { background-position-x:100%; }
.essential-item h3 { min-height:40px; font-size:15px; }
.essential-item p { margin-top:5px; }
.learn-more { display:block; margin-top:11px; color:#a66e11; font-size:12px; font-weight:700; }
.collection-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:9px; }
.collection-card { position:relative; min-height:145px; background:#211713; }
.collection-card img { height:145px; object-fit:cover; opacity:.82; }
.collection-card:after { content:""; position:absolute; inset:35% 0 0; background:linear-gradient(transparent,rgba(0,0,0,.82)); }
.collection-card span { position:absolute; z-index:2; left:12px; right:8px; bottom:10px; color:#fff; }
.collection-card strong,.collection-card small { display:block; }.collection-card strong { font:600 17px/1.15 var(--font-display),serif; }.collection-card small { margin-top:4px; font-size:12px; }
.italy-strip { display:grid; grid-template-columns:230px 1fr; gap:18px; padding:15px; }
.italy-intro>p:not(.eyebrow) { margin:10px 0; color:#655b53; font-size:14px; line-height:1.5; }
.region-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:9px; }
.region-card { min-height:105px; display:flex; align-items:flex-end; padding:10px; color:#fff; position:relative; overflow:hidden; background-color:#6f6b46; background-image:linear-gradient(180deg,transparent 32%,rgba(20,14,10,.82)),radial-gradient(circle at 70% 25%,#d4b16c 0 7%,transparent 8%),linear-gradient(145deg,#84906a 0 40%,#5c7147 41% 55%,#9d7850 56%); }
.region-2 { filter:hue-rotate(15deg); }.region-3 { filter:hue-rotate(-12deg); }.region-4 { filter:saturate(.85) brightness(.86); }.region-5 { filter:hue-rotate(28deg); }.region-6 { filter:hue-rotate(-24deg); }
.region-card span { position:relative; z-index:1; font:600 14px/1 var(--font-display),serif; }
footer { min-height:78px; padding:20px clamp(24px,4vw,68px); display:flex; align-items:center; gap:24px; background:#211713; color:#efe5d9; }
footer strong { font:600 27px/1 var(--font-display),serif; } footer span,footer a { font-size:13px; } footer span:last-child { margin-left:auto; color:#b9ab9f; }

/* Pasta shape detail */
.shape-page { background:#fff; }
.shape-page-shell { max-width:1340px; margin:auto; padding:0 clamp(22px,4vw,58px) 72px; }
.breadcrumb { min-height:54px; display:flex; align-items:center; gap:10px; color:#8a7d72; font-size:14px; }
.breadcrumb a:hover { color:var(--gold); }
.breadcrumb strong { color:var(--espresso); }
.shape-detail-hero { display:grid; grid-template-columns:minmax(0,.95fr) minmax(420px,1.05fr); grid-template-rows:1fr auto; min-height:560px; overflow:hidden; background:var(--cream); border:1px solid var(--line); }
.shape-detail-copy { padding:clamp(52px,6vw,90px); align-self:center; }
.shape-detail-copy h1 { margin:0; font:600 clamp(70px,8vw,122px)/.82 var(--font-display),serif; letter-spacing:-4px; }
.shape-detail-copy h1.shape-name-medium { font-size:clamp(52px,6vw,88px); letter-spacing:-3px; }
.shape-detail-copy h1.shape-name-long { font-size:clamp(46px,5vw,76px); letter-spacing:-2.5px; }
.pronunciation { margin:25px 0 20px; color:#7d6c5e; font-size:16px; letter-spacing:.25px; }
.pronunciation span { padding:0 8px; color:var(--gold); }
.shape-dek { max-width:590px; margin:0 0 24px; font-size:19px; line-height:1.65; }
.text-link { color:#9b6610; font-size:14px; font-weight:750; text-transform:uppercase; letter-spacing:.45px; }
.shape-detail-image { min-height:460px; overflow:hidden; background:#fbf4e6; }
.shape-detail-image img { height:100%; object-fit:cover; }
.quick-facts { grid-column:1/-1; display:grid; grid-template-columns:repeat(4,1fr); margin:0; border-top:1px solid #ddd2c2; background:#f2e8d8; }
.quick-facts div { padding:18px 24px; border-right:1px solid #ddd2c2; }
.quick-facts div:last-child { border-right:0; }
.quick-facts dt { color:#88796d; font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:1px; }
.quick-facts dd { margin:6px 0 0; font:600 19px/1.25 var(--font-display),serif; }
.content-section { margin-top:72px; }
.section-kicker { margin:0 0 9px; color:#a46d12; font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:1.25px; }
.section-kicker.light { color:#e0ac4a; }
.content-section h2 { margin:0; font:600 clamp(34px,4vw,54px)/1 var(--font-display),serif; letter-spacing:-1.3px; }
.shape-intro { display:grid; grid-template-columns:.8fr 1.2fr; gap:40px 76px; }
.shape-intro-copy { columns:2; column-gap:34px; }
.shape-intro-copy p { margin:0; color:#544a43; font-size:18px; line-height:1.75; }
.shape-intro-copy p+p { margin-top:16px; }
.shape-anatomy { grid-column:1/-1; display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.shape-anatomy>div { padding:28px 30px; border-right:1px solid var(--line); }
.shape-anatomy>div:last-child { border-right:0; }
.shape-anatomy span { display:block; color:var(--gold); font:600 27px/1 var(--font-display),serif; }
.shape-anatomy strong { display:block; margin-top:11px; font:600 20px/1.15 var(--font-display),serif; }
.shape-anatomy p { margin:8px 0 0; color:var(--muted); font-size:15px; line-height:1.45; }
.content-heading { display:flex; justify-content:space-between; align-items:end; gap:50px; margin-bottom:26px; }
.content-heading>p { max-width:460px; margin:0; color:#655a51; font-size:17px; line-height:1.6; }
.pairing-card-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.pairing-card { min-height:245px; padding:25px; background:var(--cream); border:1px solid var(--line); }
.pairing-card>div { display:flex; justify-content:space-between; color:var(--gold); }
.pairing-card>div span { font:600 24px/1 var(--font-display),serif; }
.pairing-card small { font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.7px; }
.pairing-card h3 { margin:47px 0 12px; font:600 24px/1.05 var(--font-display),serif; }
.pairing-card p { margin:0; color:#645950; font-size:16px; line-height:1.6; }
.rigatoni-recipe-feature { display:grid; grid-template-columns:1.2fr .8fr; min-height:520px; overflow:hidden; background:#211713; color:#fff; }
.rigatoni-recipe-image { min-height:520px; overflow:hidden; }
.rigatoni-recipe-image img { height:100%; object-fit:cover; }
.rigatoni-recipe-copy { padding:clamp(42px,5vw,72px); align-self:center; }
.rigatoni-recipe-copy>p:not(.section-kicker) { color:#d8cdc4; font-size:18px; line-height:1.65; }
.rigatoni-recipe-copy dl { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; margin:28px 0; padding:18px 0; border-top:1px solid #55473d; border-bottom:1px solid #55473d; }
.rigatoni-recipe-copy dt { color:#ad9f94; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.8px; }
.rigatoni-recipe-copy dd { margin:5px 0 0; font-size:14px; }
.rigatoni-recipe-copy>small { display:block; margin-top:13px; color:#b0a297; font-size:12px; }
.roman-story { display:grid; grid-template-columns:.7fr 1.3fr; gap:70px; padding:55px; background:var(--cream); border-left:4px solid var(--gold); }
.roman-story-copy>p { max-width:72ch; margin:0; color:#544a43; font-size:18px; line-height:1.75; }
.roman-story blockquote { margin:28px 0 0; padding:0 0 0 22px; border-left:1px solid #cdbb9d; color:#6d5948; font:italic 600 25px/1.35 var(--font-display),serif; }
.comparison-table-wrap { overflow-x:auto; border:1px solid var(--line); }
.comparison-table-wrap table { width:100%; min-width:760px; border-collapse:collapse; }
.comparison-table-wrap th { padding:15px 18px; background:#2a1e18; color:#f7efe6; text-align:left; font-size:12px; text-transform:uppercase; letter-spacing:.8px; }
.comparison-table-wrap td { padding:19px 18px; border-bottom:1px solid var(--line); color:#5e534b; font-size:16px; line-height:1.45; }
.comparison-table-wrap tr:last-child td { border-bottom:0; }
.comparison-table-wrap tbody tr:nth-child(odd) { background:#faf6ef; }
.comparison-table-wrap td strong { color:var(--espresso); font:600 17px/1 var(--font-display),serif; }
.cook-rigatoni { display:grid; grid-template-columns:.72fr 1.28fr; gap:70px; }
.cook-title>p:last-child { max-width:300px; color:#6c6057; line-height:1.5; }
.cook-steps { list-style:none; margin:0; padding:0; border-top:1px solid var(--line); }
.cook-steps li { display:grid; grid-template-columns:50px 1fr; gap:20px; padding:21px 0; border-bottom:1px solid var(--line); }
.cook-steps li>span { color:var(--gold); font:600 24px/1 var(--font-display),serif; }
.cook-steps strong { font:600 19px/1.1 var(--font-display),serif; }
.cook-steps p { margin:6px 0 0; color:#6b6057; font-size:15px; line-height:1.5; }
.sources-note { display:flex; flex-wrap:wrap; gap:12px 22px; margin-top:65px; padding-top:18px; border-top:1px solid var(--line); color:#82756b; font-size:13px; }
.sources-note strong { color:var(--espresso); }
.sources-note a { text-decoration:underline; text-underline-offset:3px; }
.sources-note a:hover { color:var(--gold); }

/* Recipe detail */
.recipe-page-shell { max-width:1340px; margin:auto; padding:0 clamp(22px,4vw,58px) 72px; }
.recipe-hero { display:grid; grid-template-columns:.9fr 1.1fr; grid-template-rows:1fr auto; min-height:650px; overflow:hidden; background:#211713; color:#fff; }
.recipe-hero-copy { padding:clamp(50px,6vw,90px); align-self:center; }
.recipe-hero-copy h1 { max-width:670px; margin:0; font:600 clamp(55px,6.1vw,92px)/.9 var(--font-display),serif; letter-spacing:-3px; }
.recipe-hero-copy h1 em { color:#e2ad45; font-style:normal; }
.recipe-hero-copy>p:not(.eyebrow) { max-width:600px; margin:27px 0; color:#e1d7ce; font-size:20px; line-height:1.6; }
.recipe-status { display:flex; align-items:center; gap:12px; max-width:560px; padding:13px 16px; border:1px solid #5d4c40; background:#30231d; }
.recipe-status strong { color:#e2ad45; font-size:12px; text-transform:uppercase; letter-spacing:.8px; white-space:nowrap; }
.recipe-status span { color:#bcaea4; font-size:13px; line-height:1.35; }
.recipe-hero-image { min-height:560px; overflow:hidden; }
.recipe-hero-image img { height:100%; object-fit:cover; object-position:center; }
.recipe-meta { grid-column:1/-1; display:grid; grid-template-columns:repeat(4,1fr); margin:0; border-top:1px solid #594a40; background:#2b1f19; }
.recipe-meta div { padding:19px 25px; border-right:1px solid #594a40; }
.recipe-meta div:last-child { border-right:0; }
.recipe-meta dt { color:#ae9e92; font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:1px; }
.recipe-meta dd { margin:6px 0 0; font:600 20px/1.2 var(--font-display),serif; }
.recipe-content-section { margin-top:72px; }
.recipe-content-section h2 { margin:0; font:600 clamp(34px,4vw,54px)/1 var(--font-display),serif; letter-spacing:-1.2px; }
.recipe-rationale { display:grid; grid-template-columns:.7fr 1.3fr; gap:72px; padding-bottom:48px; border-bottom:1px solid var(--line); }
.recipe-rationale>div:last-child { columns:2; column-gap:36px; }
.recipe-rationale>div:last-child p { margin:0; color:#554b43; font-size:18px; line-height:1.75; }
.recipe-rationale>div:last-child p+p { margin-top:18px; }
.recipe-workspace { display:grid; grid-template-columns:minmax(320px,.72fr) minmax(0,1.28fr); gap:64px; align-items:start; }
.ingredients-panel { position:sticky; top:25px; padding:34px; background:var(--cream); border:1px solid var(--line); }
.ingredients-heading h2,.method-heading h2 { margin:0; font:600 38px/1 var(--font-display),serif; letter-spacing:-.7px; }
.ingredients-heading>p:last-child,.method-heading>p:last-child { margin:12px 0 0; color:#6e6258; font-size:15px; line-height:1.5; }
.ingredients-panel ul { list-style:none; margin:25px 0 0; padding:0; border-top:1px solid #ddd2c3; }
.ingredients-panel li { display:grid; grid-template-columns:82px 1fr; gap:14px; padding:13px 0; border-bottom:1px solid #ddd2c3; font-size:16px; line-height:1.4; }
.ingredients-panel li strong { color:#9a6614; font-size:14px; }
.ingredient-note { margin-top:24px; padding:18px; background:#fff; border-left:3px solid var(--gold); }
.ingredient-note strong { font:600 17px/1.2 var(--font-display),serif; }
.ingredient-note p { margin:7px 0 0; color:#62574f; font-size:14px; line-height:1.5; }
.method-heading { max-width:680px; margin-bottom:22px; }
.method-panel ol { list-style:none; margin:0; padding:0; border-top:1px solid var(--line); }
.method-panel li { display:grid; grid-template-columns:48px 1fr; gap:22px; padding:27px 0; border-bottom:1px solid var(--line); }
.step-number { color:var(--gold); font:600 27px/1 var(--font-display),serif; }
.method-panel li header { display:flex; justify-content:space-between; gap:20px; align-items:baseline; }
.method-panel h3 { margin:0; font:600 24px/1.15 var(--font-display),serif; }
.method-panel small { color:#9a6a1a; font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.6px; white-space:nowrap; }
.method-panel li p { max-width:76ch; margin:11px 0 0; color:#5d534b; font-size:17px; line-height:1.7; }
.recipe-checkpoints { display:grid; grid-template-columns:.65fr 1.35fr; gap:55px; padding:48px; background:#f4eadb; border:1px solid var(--line); }
.checkpoint-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:0; }
.checkpoint-grid article { padding:7px 25px; border-left:1px solid #d8c8b4; }
.checkpoint-grid strong { font:600 20px/1.15 var(--font-display),serif; }
.checkpoint-grid p { margin:9px 0 0; color:#655a51; font-size:15px; line-height:1.55; }
.recipe-relationships { display:grid; grid-template-columns:.65fr 1.35fr; gap:55px; padding:50px; background:#211713; color:#fff; }
.recipe-relationships>div:last-child { display:grid; grid-template-columns:repeat(3,1fr); border-left:1px solid #5a493e; }
.recipe-relationships a { display:flex; flex-direction:column; min-height:190px; padding:4px 26px; border-right:1px solid #5a493e; }
.recipe-relationships a>span { color:#dba43c; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.8px; }
.recipe-relationships a strong { margin-top:24px; font:600 22px/1.1 var(--font-display),serif; }
.recipe-relationships a small { margin-top:8px; color:#ae9f94; font-size:13px; line-height:1.45; }
.recipe-relationships a>span:last-child { margin-top:auto; align-self:flex-end; color:#dba43c; font-size:20px; }
.recipe-editor-note { display:grid; grid-template-columns:180px 1fr; gap:28px; margin-top:45px; padding:20px 0; border-top:1px solid var(--line); color:#756960; font-size:14px; line-height:1.6; }
.recipe-editor-note strong { color:var(--espresso); }
.recipe-editor-note p { max-width:90ch; margin:0; }
.recipe-guidance { display:grid; grid-template-columns:.65fr 1.35fr; gap:55px; }
.recipe-guidance-grid { display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.recipe-guidance-grid article { min-height:190px; padding:24px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.recipe-guidance-grid h3 { margin:0; font:600 21px/1.15 var(--font-display),serif; }
.recipe-guidance-grid p { margin:10px 0 0; color:#62574f; font-size:15px; line-height:1.6; }
.recipe-variations { display:grid; grid-template-columns:.65fr 1.35fr; gap:55px; padding:48px; background:var(--cream); border:1px solid var(--line); }
.recipe-variations>div:last-child { border-top:1px solid #d7c9b7; }
.recipe-variations article { padding:21px 0; border-bottom:1px solid #d7c9b7; }
.recipe-variations h3 { margin:0; font:600 21px/1.15 var(--font-display),serif; }
.recipe-variations article p { margin:8px 0 0; color:#62574f; font-size:15px; line-height:1.6; }
.recipe-storage { display:grid; grid-template-columns:.65fr 1.35fr; gap:55px; padding:48px; background:#211713; color:#fff; }
.recipe-storage>div:last-child p { margin:0; color:#c8bbb1; font-size:16px; line-height:1.7; }
.recipe-storage>div:last-child p+p { margin-top:15px; }

/* Sauce detail */
.sauce-page-shell { max-width:1340px; margin:auto; padding:0 clamp(22px,4vw,58px) 72px; }
.sauce-hero { position:relative; min-height:610px; overflow:hidden; background:#211713; }
.sauce-hero>img { position:absolute; inset:0; height:100%; object-fit:cover; object-position:center; }
.sauce-hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(22,12,8,.97) 0%,rgba(22,12,8,.83) 37%,rgba(22,12,8,.15) 67%,rgba(22,12,8,.02)); }
.sauce-hero-copy { position:relative; z-index:1; max-width:660px; min-height:610px; padding:clamp(55px,7vw,100px); display:flex; flex-direction:column; align-items:flex-start; justify-content:center; color:#fff; }
.sauce-hero-copy h1 { margin:0; font:600 clamp(100px,12vw,170px)/.8 var(--font-display),serif; letter-spacing:-6px; }
.sauce-hero-copy>p:not(.eyebrow) { max-width:580px; margin:30px 0; color:#e2d8d0; font-size:21px; line-height:1.6; }
.sauce-quick-facts { display:grid; grid-template-columns:repeat(4,1fr); margin:0; border:1px solid var(--line); border-top:0; background:#f3e8d8; }
.sauce-quick-facts div { padding:20px 24px; border-right:1px solid #d9cbb8; }
.sauce-quick-facts div:last-child { border-right:0; }
.sauce-quick-facts dt { color:#87786c; font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:1px; }
.sauce-quick-facts dd { margin:6px 0 0; font:600 19px/1.2 var(--font-display),serif; }
.sauce-content-section { margin-top:72px; }
.sauce-content-section h2 { margin:0; font:600 clamp(36px,4.2vw,58px)/1 var(--font-display),serif; letter-spacing:-1.4px; }
.sauce-definition { display:grid; grid-template-columns:.72fr 1.28fr; gap:75px; padding-bottom:48px; border-bottom:1px solid var(--line); }
.sauce-definition>div:last-child { columns:2; column-gap:38px; }
.sauce-definition>div:last-child p { margin:0; color:#574d45; font-size:18px; line-height:1.75; }
.sauce-definition>div:last-child p+p { margin-top:18px; }
.sauce-heading { display:flex; align-items:end; justify-content:space-between; gap:55px; margin-bottom:28px; }
.sauce-heading>p { max-width:460px; margin:0; color:#645950; font-size:17px; line-height:1.6; }
.ragu-family-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
.ragu-family-grid article { min-height:285px; padding:30px; background:var(--cream); border:1px solid var(--line); }
.ragu-family-grid article>span { color:#aa3f27; font:600 30px/1 var(--font-display),serif; }
.ragu-family-grid small { float:right; color:#9a6614; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.7px; }
.ragu-family-grid h3 { margin:64px 0 12px; font:600 28px/1.05 var(--font-display),serif; }
.ragu-family-grid p { max-width:65ch; margin:0; color:#61564e; font-size:16px; line-height:1.65; }
.ragu-technique { display:grid; grid-template-columns:.72fr 1.28fr; gap:55px; padding:55px; background:#211713; color:#fff; }
.ragu-technique-copy>p:not(.section-kicker) { max-width:440px; color:#cbbdb2; font-size:17px; line-height:1.65; }
.ragu-technique ol { list-style:none; margin:0; padding:0; border-top:1px solid #59483d; }
.ragu-technique li { display:grid; grid-template-columns:48px 1fr; gap:20px; padding:20px 0; border-bottom:1px solid #59483d; }
.ragu-technique li>span { color:#d89d31; font:600 24px/1 var(--font-display),serif; }
.ragu-technique strong { font:600 20px/1.15 var(--font-display),serif; }
.ragu-technique li p { margin:6px 0 0; color:#bcaea3; font-size:15px; line-height:1.5; }
.ragu-pairing-table { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.ragu-pairing-table a { min-height:250px; padding:27px; display:flex; flex-direction:column; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.ragu-pairing-table strong { font:600 26px/1 var(--font-display),serif; }
.ragu-pairing-table a>span:not(:last-child) { margin-top:10px; color:#a23f28; font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.65px; }
.ragu-pairing-table p { margin:35px 0 0; color:#655a51; font-size:15px; line-height:1.55; }
.ragu-pairing-table a>span:last-child { margin-top:auto; align-self:flex-end; color:var(--gold); font-size:20px; }
.ragu-pairing-table a:hover { background:#faf5ed; }
.ragu-mistakes { display:grid; grid-template-columns:.72fr 1.28fr; gap:65px; }
.ragu-mistakes>div:last-child { border-top:1px solid var(--line); }
.ragu-mistakes article { display:grid; grid-template-columns:50px 1fr; gap:20px; padding:22px 0; border-bottom:1px solid var(--line); }
.ragu-mistakes article>span { color:#a23f28; font:600 24px/1 var(--font-display),serif; }
.ragu-mistakes h3 { margin:0; font:600 21px/1.15 var(--font-display),serif; }
.ragu-mistakes article p { margin:7px 0 0; color:#655a52; font-size:15px; line-height:1.55; }
.sauce-recipe-link { display:grid; grid-template-columns:1.15fr .85fr; min-height:500px; overflow:hidden; background:#211713; color:#fff; }
.sauce-recipe-link>div:first-child { min-height:500px; overflow:hidden; }
.sauce-recipe-link img { height:100%; object-fit:cover; }
.sauce-recipe-link>div:last-child { padding:clamp(45px,5vw,70px); align-self:center; }
.sauce-recipe-link>div:last-child>p:not(.section-kicker) { color:#cfc2b8; font-size:17px; line-height:1.65; }
.sauce-recipe-link small { display:block; margin-top:14px; color:#ad9d92; font-size:12px; }
.sauce-title-long { max-width:620px; font-size:clamp(72px,8.8vw,128px)!important; line-height:.86!important; letter-spacing:-4px!important; }
.sauce-guide-card-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
.sauce-guide-card-grid article { min-height:285px; padding:30px; background:var(--cream); border:1px solid var(--line); }
.sauce-guide-card-grid article>span { color:#aa3f27; font:600 30px/1 var(--font-display),serif; }
.sauce-guide-card-grid small { float:right; color:#9a6614; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.7px; }
.sauce-guide-card-grid h3 { margin:64px 0 12px; font:600 28px/1.05 var(--font-display),serif; }
.sauce-guide-card-grid p { max-width:65ch; margin:0; color:#61564e; font-size:16px; line-height:1.65; }
.sauce-aromatics { display:grid; grid-template-columns:.72fr 1.28fr; gap:65px; padding:55px; background:#f3e8d8; border:1px solid var(--line); }
.sauce-aromatics>div:first-child>p:not(.section-kicker) { color:#62574e; font-size:17px; line-height:1.65; }
.sauce-aromatic-grid { display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid #d4c2ab; border-left:1px solid #d4c2ab; }
.sauce-aromatic-grid article { padding:22px; border-right:1px solid #d4c2ab; border-bottom:1px solid #d4c2ab; }
.sauce-aromatic-grid h3 { margin:0 0 8px; font:600 21px/1.15 var(--font-display),serif; }
.sauce-aromatic-grid p { margin:0; color:#62574e; font-size:15px; line-height:1.55; }
.sauce-guide-technique { display:grid; grid-template-columns:.72fr 1.28fr; gap:55px; padding:55px; background:#211713; color:#fff; }
.sauce-guide-step-list { list-style:none; margin:0; padding:0; border-top:1px solid #59483d; }
.sauce-guide-step-list li { display:grid; grid-template-columns:48px 1fr; gap:20px; padding:20px 0; border-bottom:1px solid #59483d; }
.sauce-guide-step-list li>span { color:#d89d31; font:600 24px/1 var(--font-display),serif; }
.sauce-guide-step-list strong { font:600 20px/1.15 var(--font-display),serif; }
.sauce-guide-step-list p { margin:6px 0 0; color:#bcaea3; font-size:15px; line-height:1.5; }
.sauce-texture-scale { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.sauce-texture-scale article { min-height:230px; padding:26px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.sauce-texture-scale span { color:#aa3f27; font:600 27px/1 var(--font-display),serif; }
.sauce-texture-scale h3 { margin:45px 0 10px; font:600 26px/1 var(--font-display),serif; }
.sauce-texture-scale p { margin:0; color:#655a51; font-size:15px; line-height:1.55; }
.sauce-balance-note { display:grid; grid-template-columns:.62fr 1.38fr; gap:45px; padding:34px; background:#f3e8d8; border:1px solid var(--line); border-top:0; }
.sauce-balance-note h3 { margin:0; font:600 26px/1.1 var(--font-display),serif; }
.sauce-balance-note p { margin:0; color:#5e534a; font-size:16px; line-height:1.65; }
.sauce-traditions,.sauce-storage { display:grid; grid-template-columns:.72fr 1.28fr; gap:65px; padding-bottom:48px; border-bottom:1px solid var(--line); }
.sauce-traditions>div:last-child p,.sauce-storage>div:last-child p { margin:0; color:#574d45; font-size:18px; line-height:1.75; }
.sauce-traditions>div:last-child p+p,.sauce-storage>div:last-child p+p { margin-top:18px; }
.sauce-storage { padding:48px; background:#211713; color:#fff; border:0; }
.sauce-storage>div:last-child p { color:#cbbdb2; font-size:16px; }
.sauce-secondary-link { display:block; width:max-content; margin-top:18px; color:#e1bc70; font-weight:800; }
.sauce-pairing-five { grid-template-columns:repeat(5,1fr); }
.sauce-pairing-five a { padding:23px; }

/* Pasta shapes hub */
.shapes-hub-shell { max-width:1340px; margin:auto; padding:0 clamp(22px,4vw,58px) 72px; }
.shapes-hub-hero { display:grid; grid-template-columns:.86fr 1.14fr; gap:45px 75px; padding:clamp(48px,6vw,82px); background:var(--cream); border:1px solid var(--line); }
.shapes-hub-hero h1 { max-width:650px; margin:0; font:600 clamp(50px,6vw,88px)/.94 var(--font-display),serif; letter-spacing:-2.6px; }
.shapes-hub-hero>div:nth-child(2) { align-self:end; }
.shapes-hub-hero-images { display:grid; grid-template-columns:repeat(5,1fr); gap:7px; margin-bottom:28px; }
.shapes-hub-hero-images img { aspect-ratio:1; height:auto; object-fit:cover; border:1px solid #dfd2c0; background:#fbf4e6; }
.shapes-hub-dek { margin:0 0 18px; color:var(--espresso); font-size:21px; line-height:1.58; }
.shapes-hub-hero>div:nth-child(2)>p:last-child { margin:0; color:#665b52; font-size:17px; line-height:1.65; }
.shape-principles { grid-column:1/-1; display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid #d8cbb9; border-bottom:1px solid #d8cbb9; }
.shape-principles span { padding:15px 18px; border-right:1px solid #d8cbb9; color:#7a6d62; font-size:12px; font-weight:800; text-align:center; text-transform:uppercase; letter-spacing:1px; }
.shape-principles span:last-child { border-right:0; }
.shape-guide-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.shape-guide-card { display:flex; min-width:0; flex-direction:column; overflow:hidden; background:#fff; border:1px solid var(--line); border-radius:5px; }
.shape-guide-image { display:block; aspect-ratio:1.25; overflow:hidden; background:#fbf4e6; border-bottom:1px solid var(--line); }
.shape-guide-image img { width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.shape-guide-card:hover .shape-guide-image img { transform:scale(1.025); }
.shape-guide-copy { display:flex; flex:1; flex-direction:column; padding:23px 24px 25px; }
.shape-tags { display:flex; flex-wrap:wrap; gap:6px; }
.shape-tags span { padding:4px 8px; background:#f2e8d8; color:#7e6d5f; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.75px; }
.shape-guide-copy h3 { margin:18px 0 0; font:600 34px/1 var(--font-display),serif; letter-spacing:-.7px; }
.shape-guide-copy h3 a:hover,.shape-guide-link:hover { color:var(--gold); }
.shape-guide-copy>p { margin:14px 0 0; color:#5e544c; font-size:16px; line-height:1.62; }
.shape-guide-copy dl { margin:20px 0 0; padding-top:15px; border-top:1px solid var(--line); }
.shape-guide-copy dt { color:#8a7b70; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.8px; }
.shape-guide-copy dd { margin:6px 0 0; color:#4e443d; font-size:14px; line-height:1.5; }
.shape-guide-link { margin-top:auto; padding-top:22px; color:#9d6811; font-size:13px; font-weight:750; text-transform:uppercase; letter-spacing:.35px; }
.shape-comparison .comparison-table-wrap table { min-width:1100px; }
.shape-comparison .comparison-table-wrap td { min-width:145px; vertical-align:top; }
.shape-comparison .comparison-table-wrap td:nth-child(4) { min-width:220px; }
.table-scroll-hint { display:none; margin:0 0 9px; color:#88796d; font-size:13px; }
.choose-shape { display:grid; grid-template-columns:.62fr 1.38fr; gap:60px; padding:50px; background:var(--cream); border:1px solid var(--line); }
.choose-shape-intro h2,.shape-related h2 { margin:0; font:600 clamp(34px,4vw,52px)/1 var(--font-display),serif; letter-spacing:-1.2px; }
.choose-shape-intro>p:last-child { margin:18px 0 0; color:#62574f; font-size:17px; line-height:1.65; }
.choose-shape-grid { display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid #d9cdbd; border-left:1px solid #d9cdbd; }
.choose-shape-grid article { min-height:210px; padding:24px; border-right:1px solid #d9cdbd; border-bottom:1px solid #d9cdbd; }
.choose-shape-grid article>span { color:var(--gold); font:600 23px/1 var(--font-display),serif; }
.choose-shape-grid h3 { margin:28px 0 9px; font:600 21px/1.15 var(--font-display),serif; }
.choose-shape-grid p { margin:0; color:#62574f; font-size:15px; line-height:1.58; }
.choose-shape-grid p a { color:#96620e; text-decoration:underline; text-underline-offset:3px; }
.shape-related { display:grid; grid-template-columns:.65fr 1.35fr; gap:45px; padding:48px; background:#211713; color:#fff; }
.shape-related>div:first-child>p:last-child { color:#c8bbb1; font-size:17px; line-height:1.6; }
.shape-related>div:last-child { display:grid; grid-template-columns:repeat(2,1fr); border-left:1px solid #5a493e; }
.shape-related a { display:flex; min-height:215px; flex-direction:column; padding:4px 27px; border-right:1px solid #5a493e; }
.shape-related a>span { color:#d9a13a; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.8px; }
.shape-related a strong { margin-top:26px; font:600 24px/1.1 var(--font-display),serif; }
.shape-related a small { margin-top:10px; color:#b9aaa0; font-size:14px; line-height:1.5; }
.shape-related a b { margin-top:auto; align-self:flex-end; color:#d9a13a; font-size:22px; font-weight:400; }

/* Pasta sauces hub */
.sauces-hub-hero-images { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; margin-bottom:28px; }
.sauces-hub-hero-images img { aspect-ratio:1.12; height:auto; object-fit:cover; border:1px solid #dfd2c0; background:#fbf4e6; }
.sauce-guide-index-image { aspect-ratio:1.28; background:#e9dfd1; }
.sauce-guide-index-image img { object-position:center; }
.sauce-index-card .shape-guide-copy dl+dl { margin-top:12px; }
.sauce-hub-comparison .comparison-table-wrap table { min-width:1480px; }
.sauce-hub-comparison .comparison-table-wrap td { min-width:170px; vertical-align:top; }
.sauce-hub-comparison .comparison-table-wrap td:nth-child(2),.sauce-hub-comparison .comparison-table-wrap td:nth-child(6),.sauce-hub-comparison .comparison-table-wrap td:nth-child(7),.sauce-hub-comparison .comparison-table-wrap td:nth-child(8) { min-width:210px; }
.sauce-hub-comparison .table-scroll-hint { display:block; }
.sauce-hub-comparison td a { color:#95620e; text-decoration:underline; text-underline-offset:3px; }
.sauce-hub-comparison td>a:first-child { color:inherit; }

/* Recipes hub */
.recipes-hub-hero-images { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; margin-bottom:28px; }
.recipes-hub-hero-images img { aspect-ratio:1.12; height:auto; object-fit:cover; border:1px solid #dfd2c0; background:#fbf4e6; }
.recipe-guide-index-image { aspect-ratio:1.18; background:#eee3d3; }
.recipe-guide-index-image img { object-position:center; }
.recipe-card-status { margin:15px 0 0!important; color:#a06a14!important; font-size:10px!important; font-weight:800; line-height:1.35!important; text-transform:uppercase; letter-spacing:.65px; }
.recipe-index-card .shape-guide-copy h3 { margin-top:12px; }
.recipe-card-facts { margin-top:18px; border-top:1px solid var(--line); }
.recipe-index-card .recipe-card-facts dl { display:grid; grid-template-columns:105px 1fr; gap:12px; margin:0; padding:11px 0; border-top:0; border-bottom:1px solid var(--line); }
.recipe-card-facts dt { padding-top:2px; }
.recipe-card-facts dd a { color:#95620e; text-decoration:underline; text-underline-offset:3px; }
.recipe-hub-comparison .comparison-table-wrap table { min-width:1420px; }
.recipe-hub-comparison .comparison-table-wrap td { min-width:155px; vertical-align:top; }
.recipe-hub-comparison .comparison-table-wrap td:nth-child(1),.recipe-hub-comparison .comparison-table-wrap td:nth-child(5),.recipe-hub-comparison .comparison-table-wrap td:nth-child(6),.recipe-hub-comparison .comparison-table-wrap td:nth-child(7),.recipe-hub-comparison .comparison-table-wrap td:nth-child(8) { min-width:205px; }
.recipe-hub-comparison .table-scroll-hint { display:block; }
.recipe-hub-comparison td a { color:#95620e; text-decoration:underline; text-underline-offset:3px; }
.recipe-hub-comparison td>a:first-child { color:inherit; }
.recipe-choice { display:grid; grid-template-columns:.57fr 1.43fr; gap:55px; padding:50px; background:var(--cream); border:1px solid var(--line); }
.recipe-choice-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid #d7c9b7; border-left:1px solid #d7c9b7; }
.recipe-choice-grid article { display:flex; min-height:350px; flex-direction:column; padding:24px; border-right:1px solid #d7c9b7; border-bottom:1px solid #d7c9b7; }
.recipe-choice-grid article>span { color:#9b6712; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.65px; }
.recipe-choice-grid h3 { margin:33px 0 12px; font:600 25px/1.05 var(--font-display),serif; }
.recipe-choice-grid p { margin:0; color:#62574f; font-size:15px; line-height:1.62; }
.recipe-choice-grid article>div { display:grid; gap:7px; margin-top:auto; padding-top:24px; }
.recipe-choice-grid a { color:#95620e; font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.35px; }
.recipe-choice-grid a+a { color:#6f6258; font-weight:650; text-transform:none; }
.recipes-editorial-note { display:grid; grid-template-columns:.65fr 1.35fr; gap:55px; padding:48px; background:#211713; color:#fff; }
.recipes-editorial-note h2 { margin:0; font:600 clamp(34px,4vw,52px)/1 var(--font-display),serif; letter-spacing:-1.2px; }
.recipes-editorial-note>p { max-width:75ch; margin:0; align-self:center; color:#c8bbb1; font-size:17px; line-height:1.7; }

@media (max-width:1100px) { .desktop-nav { gap:17px; }.search-box { width:210px; }.favorite-button span { display:none; }.discovery-grid { grid-template-columns:1fr; }.discovery-grid>div+div { border:0; padding-left:0; }.shape-visual { height:120px; }.editorial-grid { grid-template-columns:1fr; }.shape-guide-grid { grid-template-columns:repeat(2,1fr); }.shapes-hub-hero { gap:40px; }.choose-shape { grid-template-columns:1fr; gap:35px; } }
@media (max-width:760px) {
  .site-header { height:62px; padding:0 18px; }.brand { min-width:0; }.brand strong { font-size:28px; }.brand span,.desktop-nav,.header-actions { display:none; }.mobile-menu { display:block; margin-left:auto; position:relative; }.mobile-menu summary { cursor:pointer; font-weight:700; list-style:none; }.mobile-menu nav { position:absolute; right:0; top:35px; min-width:210px; padding:12px; display:grid; gap:4px; background:#fff; border:1px solid var(--line); box-shadow:0 12px 35px rgba(36,26,21,.14); }.mobile-menu nav a { padding:9px; }
  .hero { min-height:520px; height:72vh; }.hero>img { object-position:62% center; }.hero-shade { background:linear-gradient(90deg,rgba(9,6,4,.92),rgba(9,6,4,.35)),linear-gradient(0deg,rgba(9,6,4,.72),transparent 50%); }.hero-copy { padding:48px 24px 36px; justify-content:flex-end; }.hero h1 { font-size:50px; }.hero-copy>p:not(.eyebrow) { font-size:17px; }
  .page-shell { padding:0 15px 25px; }.recipe-grid { grid-template-columns:repeat(2,1fr); }.shape-grid { grid-template-columns:repeat(2,1fr); }.shape-card:last-child { grid-column:span 2; }.pairing-feature { height:auto; grid-template-columns:1fr; }.pairing-images { min-height:190px; }.editorial-grid { display:block; }.collections { margin-top:12px; }.essential-grid { grid-template-columns:repeat(2,1fr); }.essential-item { border-bottom:1px solid #ded4c6; }.essential-item:nth-child(even) { border-right:0; }.essential-item:last-child { grid-column:span 2; }.collection-grid { grid-template-columns:repeat(2,1fr); }.italy-strip { grid-template-columns:1fr; }.region-grid { grid-template-columns:repeat(2,1fr); }.region-card { min-height:115px; } footer { align-items:flex-start; flex-direction:column; gap:8px; } footer span:last-child { margin-left:0; }
  .shape-page-shell { padding:0 15px 45px; }.breadcrumb { min-height:45px; }.shape-detail-hero { grid-template-columns:1fr; grid-template-rows:auto; min-height:0; }.shape-detail-copy { padding:42px 25px 34px; }.shape-detail-copy h1 { font-size:68px; letter-spacing:-2px; }.shape-dek { font-size:17px; }.shape-detail-image { min-height:330px; }.quick-facts { grid-column:auto; grid-template-columns:repeat(2,1fr); }.quick-facts div:nth-child(2) { border-right:0; }.quick-facts div:nth-child(-n+2) { border-bottom:1px solid #ddd2c2; }.quick-facts dd { font-size:16px; }.content-section { margin-top:52px; }.shape-intro,.roman-story,.cook-rigatoni { grid-template-columns:1fr; gap:25px; }.shape-intro-copy { columns:1; }.shape-anatomy { grid-template-columns:1fr; }.shape-anatomy>div { border-right:0; border-bottom:1px solid var(--line); }.shape-anatomy>div:last-child { border-bottom:0; }.content-heading { display:block; }.content-heading>p { margin-top:15px; }.pairing-card-grid { grid-template-columns:repeat(2,1fr); }.pairing-card { min-height:245px; padding:22px; }.pairing-card h3 { margin-top:35px; }.rigatoni-recipe-feature { grid-template-columns:1fr; }.rigatoni-recipe-image { min-height:330px; }.rigatoni-recipe-copy dl { grid-template-columns:1fr; }.roman-story { padding:30px 25px; }.roman-story blockquote { font-size:23px; }.cook-rigatoni { gap:15px; }
  .recipe-page-shell { padding:0 15px 45px; }.recipe-hero { grid-template-columns:1fr; min-height:0; }.recipe-hero-copy { padding:42px 25px; }.recipe-hero-copy h1 { font-size:54px; letter-spacing:-2px; }.recipe-hero-copy>p:not(.eyebrow) { font-size:18px; }.recipe-status { align-items:flex-start; flex-direction:column; }.recipe-hero-image { min-height:330px; }.recipe-meta { grid-column:auto; grid-template-columns:repeat(2,1fr); }.recipe-meta div:nth-child(2) { border-right:0; }.recipe-meta div:nth-child(-n+2) { border-bottom:1px solid #594a40; }.recipe-rationale,.recipe-checkpoints,.recipe-relationships,.recipe-guidance,.recipe-variations,.recipe-storage { grid-template-columns:1fr; gap:28px; }.recipe-rationale>div:last-child { columns:1; }.recipe-workspace { grid-template-columns:1fr; gap:45px; }.ingredients-panel { position:static; }.method-panel li { grid-template-columns:40px 1fr; }.method-panel li header { display:block; }.method-panel small { display:block; margin-top:7px; }.recipe-checkpoints,.recipe-relationships,.recipe-variations,.recipe-storage { padding:30px 25px; }.checkpoint-grid,.recipe-guidance-grid { grid-template-columns:1fr; }.checkpoint-grid article { padding:17px 0; border-left:0; border-top:1px solid #d8c8b4; }.recipe-guidance-grid article { min-height:0; }.recipe-relationships>div:last-child { grid-template-columns:1fr; border-left:0; border-top:1px solid #5a493e; }.recipe-relationships a { min-height:150px; padding:22px 0; border-right:0; border-bottom:1px solid #5a493e; }.recipe-editor-note { grid-template-columns:1fr; gap:7px; }
  .sauce-page-shell { padding:0 15px 45px; }.sauce-hero,.sauce-hero-copy { min-height:540px; }.sauce-hero>img { object-position:64% center; }.sauce-hero-shade { background:linear-gradient(90deg,rgba(22,12,8,.95),rgba(22,12,8,.34)),linear-gradient(0deg,rgba(22,12,8,.65),transparent 58%); }.sauce-hero-copy { padding:45px 25px; justify-content:flex-end; }.sauce-hero-copy h1 { font-size:90px; letter-spacing:-3px; }.sauce-title-long { font-size:62px!important; line-height:.9!important; letter-spacing:-2.5px!important; }.sauce-hero-copy>p:not(.eyebrow) { font-size:18px; }.sauce-quick-facts { grid-template-columns:repeat(2,1fr); }.sauce-quick-facts div:nth-child(2) { border-right:0; }.sauce-quick-facts div:nth-child(-n+2) { border-bottom:1px solid #d9cbb8; }.sauce-definition,.ragu-technique,.ragu-mistakes,.sauce-recipe-link,.sauce-aromatics,.sauce-guide-technique,.sauce-traditions,.sauce-storage { grid-template-columns:1fr; gap:28px; }.sauce-definition>div:last-child { columns:1; }.sauce-heading { display:block; }.sauce-heading>p { margin-top:15px; }.ragu-family-grid,.sauce-guide-card-grid { grid-template-columns:1fr; }.ragu-family-grid article,.sauce-guide-card-grid article { min-height:0; }.ragu-technique,.sauce-guide-technique,.sauce-aromatics,.sauce-storage { padding:30px 25px; }.sauce-aromatic-grid { grid-template-columns:1fr; }.sauce-texture-scale { grid-template-columns:repeat(2,1fr); }.sauce-balance-note { grid-template-columns:1fr; gap:15px; }.ragu-pairing-table,.sauce-pairing-five { grid-template-columns:repeat(2,1fr); }.ragu-pairing-table a { min-height:240px; }.sauce-recipe-link>div:first-child { min-height:330px; }
  .shapes-hub-shell { padding:0 15px 45px; }.shapes-hub-hero { grid-template-columns:1fr; gap:28px; padding:39px 25px 30px; }.shapes-hub-hero h1 { font-size:49px; letter-spacing:-1.8px; }.shapes-hub-hero-images,.sauces-hub-hero-images,.recipes-hub-hero-images { gap:4px; margin-bottom:22px; }.shapes-hub-dek { font-size:18px; }.shape-principles { grid-template-columns:repeat(2,1fr); }.shape-principles span:nth-child(2) { border-right:0; }.shape-principles span:nth-child(-n+2) { border-bottom:1px solid #d8cbb9; }.shape-guide-grid { grid-template-columns:1fr; }.shape-guide-image { aspect-ratio:1.2; }.shape-guide-copy { padding:21px 20px 23px; }.shape-guide-copy h3 { font-size:31px; }.recipe-index-card .recipe-card-facts dl { grid-template-columns:95px 1fr; }.table-scroll-hint { display:block; }.shape-comparison .comparison-table-wrap td { font-size:16px; }.choose-shape,.recipe-choice { grid-template-columns:1fr; padding:30px 24px; }.choose-shape-grid,.recipe-choice-grid { grid-template-columns:1fr; }.choose-shape-grid article { min-height:0; }.recipe-choice-grid article { min-height:0; }.shape-related,.recipes-editorial-note { grid-template-columns:1fr; gap:28px; padding:31px 25px; }.shape-related>div:last-child { grid-template-columns:1fr; border-top:1px solid #5a493e; border-left:0; }.shape-related a { min-height:180px; padding:23px 0; border-right:0; border-bottom:1px solid #5a493e; }
}
@media (max-width:480px) { .pairing-card-grid { grid-template-columns:1fr; }.pairing-card { min-height:0; }.shape-detail-image { min-height:280px; }.quick-facts div { padding:15px; }.ragu-pairing-table,.sauce-texture-scale { grid-template-columns:1fr; }.ragu-pairing-table a { min-height:210px; }.sauce-texture-scale article { min-height:0; } }
