:root {
  --ink: #19302b;
  --muted: #63706a;
  --paper: #f6f2e9;
  --surface: #fffdf8;
  --accent: #df5d34;
  --accent-2: #f1b964;
  --line: rgba(25,48,43,.16);
  --display: "Fraunces", Georgia, serif;
  --sans: "DM Sans", sans-serif;
  --mono: "IBM Plex Mono", monospace;
  --radius: 22px;
  --max: 1240px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font: 16px/1.55 var(--sans); }
button, a { font: inherit; }
a { color: inherit; }
img { display: block; max-width: 100%; }
.skip-link { position: fixed; left: 1rem; top: -5rem; z-index: 30; padding: .7rem 1rem; background: #fff; }
.skip-link:focus { top: 1rem; }

.tenant-bar { min-height: 34px; display: flex; align-items: center; justify-content: center; gap: .35rem; padding: .35rem 1rem; background: var(--ink); color: #fff; font-size: .72rem; letter-spacing: .06em; text-transform: uppercase; }
.tenant-bar a { border: 0; border-radius: 999px; padding: .3rem .65rem; color: rgba(255,255,255,.68); background: transparent; text-decoration: none; cursor: pointer; }
.tenant-bar a.active { color: var(--ink); background: var(--accent-2); }
.site-header { width: min(calc(100% - 3rem), var(--max)); height: 90px; margin: auto; display: flex; align-items: center; justify-content: space-between; }
.brand { display: inline-flex; align-items: center; gap: .7rem; text-decoration: none; font: 700 1.4rem var(--display); }
.brand-mark { width: 29px; height: 29px; display: inline-block; border: 7px solid var(--accent); border-radius: 50% 50% 50% 9px; transform: rotate(-12deg); }
nav { display: flex; gap: 2rem; }
nav a { text-decoration: none; font-size: .9rem; font-weight: 600; }
.menu-button { display: none; }

.hero { position: relative; width: min(calc(100% - 3rem), var(--max)); min-height: 610px; margin: 0 auto; overflow: hidden; border-radius: 32px; isolation: isolate; }
.hero-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.hero-shade { position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(19,34,30,.9) 0, rgba(19,34,30,.52) 48%, rgba(19,34,30,.04) 76%); }
.hero-copy { width: min(610px, 70%); padding: 8rem 0 5rem 6rem; color: #fff; }
.eyebrow, .kicker { margin: 0 0 .7rem; color: var(--accent); font: 600 .75rem var(--mono); letter-spacing: .12em; text-transform: uppercase; }
.hero .eyebrow { color: var(--accent-2); }
h1, h2, h3, p { margin-top: 0; }
h1 { max-width: 590px; margin-bottom: 1.25rem; font: 700 clamp(3.3rem, 6.7vw, 6.3rem)/.91 var(--display); letter-spacing: -.055em; }
.hero-intro { max-width: 480px; color: rgba(255,255,255,.82); font-size: 1.08rem; }
.primary-cta { display: inline-flex; align-items: center; gap: 1.4rem; margin-top: 1rem; padding: .9rem 1.2rem; border-radius: 999px; background: var(--accent); color: #fff; text-decoration: none; font-weight: 700; }
.hero-note { position: absolute; right: 2rem; bottom: 2rem; width: 225px; padding: 1.2rem; border: 1px solid rgba(255,255,255,.45); border-radius: 16px; color: #fff; background: rgba(17,30,27,.58); backdrop-filter: blur(12px); }
.hero-note span, .hero-note strong { display: block; }
.hero-note-label { color: var(--accent-2); font: 500 .65rem var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.hero-note-title { margin: .5rem 0; font: 600 1.15rem var(--display); }
.hero-note-meta { font-size: .75rem; opacity: .78; }

.quick-strip { width: min(calc(100% - 3rem), 1060px); margin: 2rem auto 0; display: grid; grid-template-columns: repeat(3,1fr); }
.quick-strip p { display: flex; flex-direction: column; align-items: center; margin: 0; padding: .85rem; border-right: 1px solid var(--line); font-size: .8rem; color: var(--muted); }
.quick-strip p:last-child { border: 0; }
.quick-strip strong { color: var(--ink); font-size: .88rem; }
.content-section { width: min(calc(100% - 3rem), var(--max)); margin: 8rem auto; }
.section-heading { display: grid; grid-template-columns: 1.6fr .7fr; align-items: end; gap: 3rem; margin-bottom: 2.5rem; }
.section-heading h2, .season-callout h2, .about-section h2 { margin: 0; font: 700 clamp(2.3rem, 4.2vw, 4.1rem)/1 var(--display); letter-spacing: -.04em; }
.section-heading > p { max-width: 360px; margin: 0 0 .35rem; color: var(--muted); }
.card-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.3rem; }
.content-card { position: relative; min-height: 430px; padding: 1.5rem; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); display: flex; flex-direction: column; transition: transform .2s ease, box-shadow .2s ease; }
.content-card:hover { transform: translateY(-5px); box-shadow: 0 22px 55px rgba(25,48,43,.12); }
.card-art { height: 220px; margin: -1.5rem -1.5rem 1.4rem; position: relative; overflow: hidden; background: #ddd; }
.card-art img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.content-card:hover .card-art img { transform: scale(1.035); }
.card-index { position: absolute; z-index: 2; left: 1.2rem; top: 1rem; font: 500 .7rem var(--mono); }
.card-meta { display: flex; gap: .8rem; color: var(--muted); font: 500 .68rem var(--mono); text-transform: uppercase; }
.content-card h3 { margin: .75rem 0 .55rem; font: 700 1.65rem/1.1 var(--display); letter-spacing: -.025em; }
.content-card h3 a { text-decoration: none; }
.content-card > p { color: var(--muted); font-size: .9rem; }
.card-button { margin-top: auto; padding: 0; border: 0; background: transparent; color: var(--accent); text-align: left; font-weight: 700; cursor: pointer; }

.season-callout { width: min(calc(100% - 3rem), var(--max)); margin: 0 auto; padding: 4rem; display: grid; grid-template-columns: 1.2fr 1fr; gap: 5rem; align-items: end; border-radius: var(--radius); color: #fff; background: var(--ink); }
.season-callout .kicker { color: var(--accent-2); }
.callout-number { float: right; font: 500 .72rem var(--mono); opacity: .55; }
.season-callout > p { margin: 0; color: rgba(255,255,255,.7); font-size: 1.08rem; }
.guide-list { border-top: 1px solid var(--line); }
.guide-row { display: grid; grid-template-columns: 180px 1fr 180px 40px; gap: 1.4rem; align-items: center; padding: 1rem .6rem; border-bottom: 1px solid var(--line); }
.guide-thumb { height: 112px; overflow: hidden; border-radius: 12px; }
.guide-thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.guide-thumb:hover img { transform: scale(1.04); }
.guide-row .guide-num { color: var(--accent); font: 500 .72rem var(--mono); }
.guide-row h3 { margin: 0; font: 600 1.45rem var(--display); }
.guide-row h3 a { text-decoration: none; }
.guide-row p { margin: 0; color: var(--muted); font-size: .85rem; }
.round-link { width: 36px; height: 36px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; color: inherit; text-decoration: none; }
.about-section { width: min(calc(100% - 3rem), var(--max)); margin: 8rem auto; display: grid; grid-template-columns: 150px 1.2fr 1fr; align-items: center; gap: 2.5rem; }
.about-mark { width: 130px; height: 130px; display: grid; place-items: center; border-radius: 50% 50% 50% 18px; background: var(--accent-2); font: 700 4.5rem var(--display); }
.about-section p:last-child { color: var(--muted); }
footer { width: min(calc(100% - 3rem), var(--max)); margin: auto; padding: 3rem 0; display: grid; grid-template-columns: 1fr 1fr auto; align-items: center; gap: 2rem; border-top: 1px solid var(--line); color: var(--muted); font-size: .75rem; }
.footer-line { margin: 0; }

dialog { width: min(760px, calc(100% - 2rem)); max-height: 90vh; padding: 0; border: 0; border-radius: 24px; color: var(--ink); background: var(--surface); box-shadow: 0 30px 90px rgba(0,0,0,.28); }
dialog::backdrop { background: rgba(10,22,19,.72); backdrop-filter: blur(4px); }
.dialog-close { position: sticky; float: right; top: 1rem; right: 1rem; z-index: 2; width: 40px; height: 40px; border: 0; border-radius: 50%; background: var(--ink); color: #fff; font-size: 1.5rem; cursor: pointer; }
#dialog-content { padding: 3rem clamp(1.5rem,6vw,4.5rem) 4rem; }
#dialog-content .dialog-type { color: var(--accent); font: 600 .72rem var(--mono); letter-spacing: .1em; text-transform: uppercase; }
#dialog-content h2 { margin: .5rem 0 1rem; font: 700 clamp(2.3rem,6vw,4rem)/1 var(--display); }
#dialog-content .dialog-lead { color: var(--muted); font-size: 1.05rem; }
.fact-row { display: flex; flex-wrap: wrap; gap: .6rem; margin: 1.5rem 0 2rem; }
.fact-row span { padding: .45rem .7rem; border-radius: 999px; background: var(--paper); font: 500 .72rem var(--mono); }
.article-columns { display: grid; grid-template-columns: .8fr 1.4fr; gap: 2.5rem; }
.article-columns h3 { font: 600 1.25rem var(--display); }
.article-columns ul, .article-columns ol { padding-left: 1.2rem; }
.article-columns li { margin-bottom: .7rem; }
.article-tip { margin-top: 2rem; padding: 1.2rem; border-left: 4px solid var(--accent); background: var(--paper); }
.article-page { width: min(calc(100% - 3rem), var(--max)); margin: 2rem auto 8rem; }
.back-link { display: inline-block; margin-bottom: 2rem; color: var(--muted); text-decoration: none; font-size: .85rem; }
.article-header { display: grid; grid-template-columns: .9fr 1.1fr; gap: 4rem; align-items: center; }
.article-header h1 { color: var(--ink); font-size: clamp(3rem,6vw,5.7rem); }
.article-lead { max-width: 570px; color: var(--muted); font-size: 1.12rem; }
.article-header > img { width: 100%; height: min(520px,55vw); object-fit: cover; border-radius: var(--radius); }
.article-body { display: grid; grid-template-columns: .65fr 1.35fr; gap: 6rem; margin-top: 5rem; }
.article-body h2 { font: 700 2rem var(--display); }
.article-body ul { padding-left: 1.2rem; }
.article-body ul li { margin-bottom: .75rem; }
.article-body ol { padding: 0; list-style: none; }
.article-body ol li { display: grid; grid-template-columns: 44px 1fr; gap: 1rem; padding: 1.2rem 0; border-top: 1px solid var(--line); }
.article-body ol li span { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--accent); font: 500 .75rem var(--mono); }
.article-body ol li p { margin: .35rem 0 0; }
.portal-tools { width: min(calc(100% - 3rem), 1120px); margin: -3.2rem auto 0; position: relative; z-index: 3; display: grid; grid-template-columns: 1.35fr 1.4fr .4fr; gap: 1.5rem; align-items: center; padding: 1.35rem; border: 1px solid var(--line); border-radius: 20px; background: var(--surface); box-shadow: 0 22px 55px rgba(25,48,43,.14); }
.portal-search label, .portal-categories > span { display: block; margin-bottom: .45rem; color: var(--muted); font: 500 .65rem var(--mono); text-transform: uppercase; letter-spacing: .08em; }
.portal-search > div { position: relative; }
.portal-search input { width: 100%; height: 48px; padding: 0 2.7rem 0 1rem; border: 1px solid var(--line); border-radius: 12px; color: var(--ink); background: var(--paper); outline: none; }
.portal-search input:focus { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(223,93,52,.12); }
.portal-search > div span { position: absolute; right: 1rem; top: 50%; transform: translateY(-50%); color: var(--accent); font-size: 1.4rem; }
.portal-categories > div { display: flex; flex-wrap: wrap; gap: .4rem; }
.portal-categories button, .portal-categories a { padding: .45rem .7rem; border: 1px solid var(--line); border-radius: 999px; color: var(--ink); background: transparent; text-decoration: none; font-size: .74rem; cursor: pointer; }
.portal-categories button.active { border-color: var(--ink); color: #fff; background: var(--ink); }
.portal-count { min-height: 74px; display: flex; gap: .6rem; align-items: center; justify-content: center; border-left: 1px solid var(--line); }
.portal-count strong { color: var(--accent); font: 700 2.5rem var(--display); }
.portal-count span { color: var(--muted); font-size: .66rem; line-height: 1.25; }
.portal-empty { display: none; width: min(calc(100% - 3rem), var(--max)); margin: -4rem auto 7rem; padding: 1.5rem; border: 1px dashed var(--line); border-radius: 12px; color: var(--muted); text-align: center; }
.portal-empty.visible { display: block; }
[data-portal-item][hidden] { display: none !important; }

body.tenant-org { --ink: #e9e1d1; --muted: #a7aa9c; --paper: #17231f; --surface: #1e2d28; --accent: #d59045; --accent-2: #b9c59e; --line: rgba(233,225,209,.17); }
.tenant-org .tenant-bar { background: #0b1512; }
.tenant-org .tenant-bar a.active { color: #14231f; }
.tenant-org .site-header { height: 106px; }
.tenant-org .brand { text-transform: uppercase; letter-spacing: .03em; }
.tenant-org .brand-mark { border-radius: 4px; transform: rotate(45deg); border-width: 9px; }
.tenant-org .hero { width: 100%; min-height: 650px; border-radius: 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.tenant-org .hero-image { object-position: center; filter: saturate(.75) contrast(1.05); }
.tenant-org .hero-shade { background: linear-gradient(90deg, rgba(10,20,17,.25), rgba(10,20,17,.3) 35%, rgba(10,20,17,.92) 72%); }
.tenant-org .hero-copy { margin-left: auto; width: min(590px, 50%); padding: 8rem max(3rem,calc((100vw - var(--max))/2)) 4rem 2rem; }
.tenant-org h1 { font-size: clamp(3.2rem, 6vw, 5.6rem); }
.tenant-org .hero-note { left: max(2rem,calc((100vw - var(--max))/2)); right: auto; }
.tenant-org .quick-strip { margin-top: 0; width: 100%; max-width: none; border-bottom: 1px solid var(--line); }
.tenant-org .quick-strip p { border-color: var(--line); padding: 1.4rem; }
.tenant-org .card-grid { grid-template-columns: 1.15fr .925fr .925fr; }
.tenant-org .content-card { border-radius: 4px; min-height: 455px; }
.tenant-org .card-art { filter: saturate(.72) contrast(1.03); }
.tenant-org .content-card:first-child .card-art { height: 225px; }
.tenant-org .season-callout { border: 1px solid var(--accent); border-radius: 4px; background: transparent; }
.tenant-org .guide-row { grid-template-columns: 180px 1fr 220px 40px; }
.tenant-org .round-link { color: var(--ink); }
.tenant-org .about-mark { border-radius: 4px; color: #17231f; }
.tenant-org dialog { color: var(--ink); }
.org-masthead { min-height: 34px; padding: .4rem max(1.5rem,calc((100vw - var(--max))/2)); display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid var(--line); color: var(--muted); background: #0b1512; font: 500 .65rem var(--mono); letter-spacing: .09em; text-transform: uppercase; }
.org-header { border-bottom: 1px solid var(--line); }
.org-hero { width: min(calc(100% - 3rem), var(--max)); margin: 2rem auto 0; display: grid; grid-template-columns: 1.05fr .95fr; grid-template-rows: minmax(500px, 70vh) auto; border: 1px solid var(--line); }
.org-hero > img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.72) contrast(1.04); }
.org-hero-copy { padding: clamp(3rem,6vw,6rem); display: flex; flex-direction: column; justify-content: center; background: var(--surface); }
.org-hero-copy h1 { margin-bottom: 1.5rem; font: 700 clamp(3.4rem,6vw,6.4rem)/.9 var(--display); }
.org-hero-copy > p:not(.eyebrow) { max-width: 520px; color: var(--muted); font-size: 1.05rem; }
.org-hero-copy > a { width: max-content; margin-top: 1.2rem; padding-bottom: .35rem; border-bottom: 1px solid var(--accent); color: var(--ink); text-decoration: none; font-weight: 700; }
.org-hero-copy > a span { margin-left: 2rem; color: var(--accent); }
.org-hero-caption { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 2fr 1fr; padding: 1rem 1.25rem; border-top: 1px solid var(--line); font: 500 .7rem var(--mono); text-transform: uppercase; letter-spacing: .05em; }
.org-hero-caption strong { color: var(--accent-2); }
.org-hero-caption small { text-align: right; }
.org-directory { width: min(calc(100% - 3rem), var(--max)); margin: -1px auto 0; display: grid; grid-template-columns: 1.2fr 1.4fr .35fr; gap: 2rem; align-items: end; padding: 1.4rem 1.5rem; border: 1px solid var(--line); border-top: 0; background: #101c18; }
.org-directory label, .org-directory-links > span { display: block; margin-bottom: .5rem; color: var(--accent); font: 500 .65rem var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.org-search-field { position: relative; }
.org-search-field input { width: 100%; height: 45px; padding: 0 2.5rem 0 0; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; color: var(--ink); background: transparent; outline: none; }
.org-search-field input:focus { border-color: var(--accent); }
.org-search-field span { position: absolute; right: .25rem; top: 50%; transform: translateY(-50%); color: var(--accent); font-size: 1.35rem; }
.org-directory-links div { display: flex; }
.org-directory-links button { margin: 0 .35rem .35rem 0; padding: .5rem .7rem; border: 1px solid var(--line); color: var(--muted); background: transparent; font-size: .72rem; cursor: pointer; }
.org-directory-links button.active { border-color: var(--accent); color: var(--ink); }
.org-directory-total { display: flex; align-items: baseline; gap: .4rem; justify-content: flex-end; }
.org-directory-total strong { color: var(--accent); font: 700 2.5rem var(--display); }
.org-directory-total small { color: var(--muted); }
.org-principles { width: min(calc(100% - 3rem), var(--max)); margin: 0 auto 8rem; display: grid; grid-template-columns: .5fr 2fr; padding: 2rem 0; border-bottom: 1px solid var(--line); color: var(--muted); font: 500 .7rem var(--mono); text-transform: uppercase; }
.org-principles ol { margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3,1fr); list-style: none; color: var(--ink); }
.org-principles li { display: flex; gap: 1rem; }
.org-principles b { color: var(--accent); }
.org-section { width: min(calc(100% - 3rem), var(--max)); margin: 8rem auto; }
.org-section-head { display: grid; grid-template-columns: 1.4fr .7fr; gap: 4rem; align-items: end; margin-bottom: 3rem; }
.org-section-head span, .org-note > span, .org-closing > span { color: var(--accent); font: 500 .7rem var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.org-section-head h2 { margin: .6rem 0 0; font: 700 clamp(3rem,5vw,5rem)/.95 var(--display); }
.org-section-head > p { margin: 0; color: var(--muted); }
.org-recipe-ledger { border-top: 1px solid var(--line); }
.org-recipe-row { display: grid; grid-template-columns: 70px 240px 1fr 70px; gap: 2rem; align-items: center; padding: 1.4rem 0; border-bottom: 1px solid var(--line); }
.org-index { color: var(--accent); font: 500 .7rem var(--mono); }
.org-recipe-image { height: 150px; overflow: hidden; }
.org-recipe-image img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.74); transition: transform .3s ease; }
.org-recipe-image:hover img { transform: scale(1.035); }
.org-recipe-row h3 { margin: .3rem 0; font: 600 1.8rem var(--display); }
.org-recipe-row h3 a, .org-open { color: inherit; text-decoration: none; }
.org-recipe-row p { margin: 0; color: var(--muted); font-size: .84rem; }
.org-recipe-row div > p:first-child { color: var(--accent-2); font: 500 .65rem var(--mono); text-transform: uppercase; }
.org-open { font-size: .8rem; }
.org-note { width: min(calc(100% - 3rem), var(--max)); margin: 8rem auto; padding: 3.5rem; display: grid; grid-template-columns: .3fr 1fr 1.2fr; gap: 3rem; border: 1px solid var(--accent); align-items: start; }
.org-note h2 { margin: 0; font: 600 2.4rem var(--display); }
.org-note p { margin: 0; color: var(--muted); }
.org-guide-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.5rem; }
.org-guide-grid article { padding-bottom: 1.5rem; border-bottom: 1px solid var(--line); }
.org-guide-grid article > a:first-child { display: block; height: 260px; margin-bottom: 1.2rem; overflow: hidden; }
.org-guide-grid img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.7); transition: transform .3s ease; }
.org-guide-grid article > a:first-child:hover img { transform: scale(1.035); }
.org-guide-grid span { color: var(--accent); font: 500 .65rem var(--mono); text-transform: uppercase; }
.org-guide-grid h3 { margin: .7rem 0; font: 600 1.55rem var(--display); }
.org-guide-grid h3 a, .org-text-link { color: inherit; text-decoration: none; }
.org-guide-grid p { color: var(--muted); font-size: .88rem; }
.org-text-link { font-size: .8rem; }
.org-closing { width: min(calc(100% - 3rem), var(--max)); margin: 10rem auto; display: grid; grid-template-columns: .35fr 1.2fr 1fr; gap: 3rem; align-items: start; }
.org-closing h2 { margin: 0; font: 600 3rem/1 var(--display); }
.org-closing p { margin: 0; color: var(--muted); }
.org-footer { border-top-color: var(--accent); }
.org-footer div { display: flex; gap: 1rem; align-items: center; }
.org-footer-index { color: var(--accent); font: 500 .65rem var(--mono); }
.manual-page { width: min(calc(100% - 3rem), 1120px); margin: 3rem auto 9rem; }
.manual-heading { max-width: 850px; margin: 5rem auto 3rem; text-align: center; }
.manual-code, .manual-label { color: var(--accent); font: 500 .68rem var(--mono); text-transform: uppercase; letter-spacing: .12em; }
.manual-heading h1 { margin: 1rem 0; font: 700 clamp(3.2rem,7vw,6.5rem)/.9 var(--display); }
.manual-heading > p { max-width: 620px; margin: auto; color: var(--muted); font-size: 1.08rem; }
.manual-image { margin: 0; }
.manual-image img { width: 100%; max-height: 670px; object-fit: cover; filter: saturate(.75); }
.manual-image figcaption { padding-top: .55rem; color: var(--muted); font: 500 .65rem var(--mono); text-transform: uppercase; }
.manual-layout { display: grid; grid-template-columns: .65fr 1.35fr; gap: 6rem; margin-top: 5rem; }
.manual-layout aside { padding-right: 2rem; border-right: 1px solid var(--line); }
.manual-layout dl div { display: flex; justify-content: space-between; padding: .7rem 0; border-bottom: 1px solid var(--line); }
.manual-layout dt { color: var(--muted); }
.manual-layout dd { margin: 0; }
.manual-layout aside h2 { margin-top: 2.5rem; font: 600 1.6rem var(--display); }
.manual-layout aside ul { padding-left: 1.1rem; }
.manual-layout aside li { margin-bottom: .6rem; }
.manual-steps ol { padding: 0; list-style: none; }
.manual-steps li { display: grid; grid-template-columns: 50px 1fr; gap: 1.2rem; padding: 1.3rem 0; border-top: 1px solid var(--line); }
.manual-steps li b { color: var(--accent); font: 500 .72rem var(--mono); }
.manual-steps li p { margin: 0; }
.manual-note { margin-top: 2rem; padding: 1.5rem; border: 1px solid var(--accent); }
.manual-note h3 { margin:0; color:var(--accent); font:700 1rem var(--display); }
.manual-note p { margin: .5rem 0 0; }
.org-empty { margin-top: -4rem; border-radius: 0; }

@media (max-width: 800px) {
  .site-header { width: min(calc(100% - 2rem), var(--max)); height: 72px; }
  .menu-button { display: block; border: 1px solid var(--line); border-radius: 999px; padding: .45rem .8rem; color: inherit; background: transparent; }
  nav { position: absolute; z-index: 10; top: 106px; right: 1rem; display: none; flex-direction: column; gap: .8rem; padding: 1rem 1.5rem; border-radius: 12px; color: var(--ink); background: var(--surface); box-shadow: 0 12px 40px rgba(0,0,0,.18); }
  nav.open { display: flex; }
  .hero, .content-section, .season-callout, .about-section, footer { width: min(calc(100% - 2rem), var(--max)); }
  .hero { min-height: 620px; border-radius: 20px; }
  .hero-copy { width: 100%; padding: 5rem 1.5rem 10rem; }
  .hero-shade { background: linear-gradient(0deg, rgba(19,34,30,.92), rgba(19,34,30,.15)); }
  h1 { font-size: clamp(3rem, 15vw, 4.5rem); }
  .hero-note { left: 1.5rem; right: auto; bottom: 1.5rem; }
  .quick-strip { width: 100%; overflow-x: auto; }
  .quick-strip p { min-width: 160px; }
  .content-section { margin: 5rem auto; }
  .section-heading { grid-template-columns: 1fr; gap: 1rem; }
  .card-grid { grid-template-columns: 1fr; }
  .season-callout { padding: 2rem; grid-template-columns: 1fr; gap: 1.5rem; }
  .guide-row { grid-template-columns: 100px 1fr 36px; gap: .8rem; }
  .guide-thumb { height: 82px; }
  .guide-row p { display: none; }
  .about-section { margin: 5rem auto; grid-template-columns: 90px 1fr; }
  .about-mark { width: 80px; height: 80px; font-size: 2.8rem; }
  .about-copy { grid-column: 1 / -1; }
  footer { grid-template-columns: 1fr; }
  .article-columns { grid-template-columns: 1fr; }
  .tenant-org .site-header { height: 82px; }
  .tenant-org .hero { width: 100%; min-height: 660px; }
  .tenant-org .hero-shade { background: linear-gradient(0deg, rgba(10,20,17,.95), rgba(10,20,17,.15)); }
  .tenant-org .hero-copy { width: 100%; margin: 0; padding: 5rem 1.5rem 11rem; }
  .tenant-org .card-grid { grid-template-columns: 1fr; }
  .tenant-org .guide-row { grid-template-columns: 100px 1fr 36px; }
  .article-page { width: min(calc(100% - 2rem), var(--max)); }
  .article-header, .article-body { grid-template-columns: 1fr; gap: 2rem; }
  .article-header > img { height: 350px; }
  .portal-tools { width: calc(100% - 2rem); margin-top: -2rem; grid-template-columns: 1fr; }
  .portal-count { min-height: auto; justify-content: flex-start; padding-top: .8rem; border-left: 0; border-top: 1px solid var(--line); }
  .org-masthead span:nth-child(2) { display: none; }
  .org-hero { width: min(calc(100% - 2rem), var(--max)); grid-template-columns: 1fr; grid-template-rows: 360px auto auto; }
  .org-hero-copy { padding: 2.5rem 1.5rem; }
  .org-hero-copy h1 { font-size: clamp(3rem,14vw,4.7rem); }
  .org-hero-caption { grid-column: auto; grid-template-columns: 1fr; gap: .4rem; }
  .org-hero-caption small { text-align: left; }
  .org-directory { width: calc(100% - 2rem); grid-template-columns: 1fr; gap: 1.2rem; }
  .org-directory-total { justify-content: flex-start; }
  .org-principles { width: calc(100% - 2rem); grid-template-columns: 1fr; gap: 1rem; }
  .org-principles ol { grid-template-columns: 1fr; gap: .7rem; }
  .org-section, .org-note, .org-closing, .manual-page { width: calc(100% - 2rem); margin: 5rem auto; }
  .org-section-head, .org-note, .org-closing { grid-template-columns: 1fr; gap: 1.5rem; }
  .org-recipe-row { grid-template-columns: 42px 105px 1fr; gap: .8rem; }
  .org-recipe-image { height: 90px; }
  .org-recipe-row h3 { font-size: 1.25rem; }
  .org-recipe-row div > p:last-child, .org-open { display: none; }
  .org-guide-grid { grid-template-columns: 1fr; }
  .org-guide-grid article > a:first-child { height: 250px; }
  .manual-layout { grid-template-columns: 1fr; gap: 3rem; }
  .manual-layout aside { padding: 0; border-right: 0; }
}

@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { transition: none !important; } }

/* 2026 portal redesign — original layouts for each tenant */
.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; }
.net-logo, .org-logo { gap:.7rem; font-weight:800; letter-spacing:-.04em; }
.net-logo svg, .org-logo svg { width:38px; height:38px; fill:none; stroke:currentColor; stroke-width:2; }
.net-logo em, .org-logo em { color:var(--accent); font-style:normal; }

.tenant-net { --net-red:#d73520; --net-yellow:#f5bb2c; --net-cream:#fff8ed; --net-green:#214c3e; color:#17251f; background:#fffdfa; }
.tenant-net .tenant-bar { padding:.55rem max(1.2rem, calc((100vw - 1240px)/2)); color:#fff; background:var(--net-green); font-size:.72rem; letter-spacing:.05em; text-transform:uppercase; }
.tenant-net .net-new-header { width:min(calc(100% - 2.5rem),1240px); height:92px; }
.tenant-net .net-new-header nav { gap:2rem; font-weight:750; }
.tenant-net .net-new-header nav a:hover { color:var(--net-red); }
.net-category-nav { display:flex; justify-content:center; gap:2.2rem; padding:.8rem 1rem; border-top:1px solid #dedbd2; border-bottom:1px solid #dedbd2; font-size:.82rem; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.net-category-nav a:hover { color:var(--net-red); }
.net-search-band { display:flex; align-items:center; justify-content:space-between; gap:3rem; padding:2.3rem max(1.5rem,calc((100vw - 1240px)/2)); color:white; background:var(--net-red); }
.net-search-band h1 { margin:0; font:800 clamp(2.3rem,4.8vw,4.6rem)/.95 var(--display); letter-spacing:-.055em; }
.net-search-band p { margin:.65rem 0 0; font-size:1rem; }
.net-search-band label { position:relative; width:min(430px,100%); }
.net-search-band input { width:100%; padding:1.15rem 3.4rem 1.15rem 1.2rem; border:0; border-radius:4px; background:white; font:600 1rem var(--body); }
.net-search-band label b { position:absolute; right:1.2rem; top:.8rem; color:#17251f; font-size:1.6rem; }
.net-feature, .net-latest, .net-all, .net-guides, .net-about { width:min(calc(100% - 2.5rem),1240px); margin:4.5rem auto; }
.net-feature { display:grid; grid-template-columns:1.35fr .85fr; min-height:540px; background:var(--net-yellow); }
.net-feature-image { min-height:540px; overflow:hidden; }
.net-feature-image img { width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
.net-feature:hover .net-feature-image img { transform:scale(1.025); }
.net-feature-copy { display:flex; flex-direction:column; justify-content:center; padding:clamp(2.2rem,5vw,5rem); }
.net-feature-copy > span, .net-section-title span, .net-about span { color:var(--net-red); font-size:.74rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.net-feature-copy h2 { margin:0 0 1rem; font:800 clamp(2.4rem,4vw,4.5rem)/.98 var(--display); letter-spacing:-.05em; }
.net-feature-copy > p { font-size:1.08rem; line-height:1.65; }
.net-feature-copy > div { display:flex; gap:.6rem; margin:.8rem 0 1.6rem; }
.net-feature-copy b { padding:.45rem .7rem; border:1px solid currentColor; font-size:.68rem; text-transform:uppercase; }
.net-main-button { align-self:flex-start; padding:1rem 1.25rem; color:#fff; background:var(--net-red); font-weight:800; }
.net-main-button span { margin-left:1.2rem; }
.net-section-title { display:flex; align-items:end; justify-content:space-between; gap:2rem; margin-bottom:1.7rem; border-bottom:4px solid #17251f; padding-bottom:1rem; }
.net-section-title h2 { margin:.25rem 0 0; font:800 clamp(2.1rem,4vw,3.8rem)/1 var(--display); letter-spacing:-.045em; }
.net-section-title > a { color:var(--net-red); font-weight:800; }
.net-latest-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.5rem; }
.net-latest-grid img { width:100%; aspect-ratio:1/1; object-fit:cover; }
.net-latest-grid p, .net-all-grid article div > p:first-child { margin:.9rem 0 .3rem; color:var(--net-red); font-size:.7rem; font-weight:900; text-transform:uppercase; letter-spacing:.06em; }
.net-latest-grid h3 { margin:0; font:750 1.35rem/1.15 var(--display); }
.net-promise { display:grid; grid-template-columns:repeat(3,1fr); margin:5rem 0; padding:2.4rem max(1.5rem,calc((100vw - 1240px)/2)); color:white; background:var(--net-green); }
.net-promise p { display:flex; align-items:center; gap:1rem; margin:0; padding:0 2rem; border-right:1px solid rgba(255,255,255,.25); }
.net-promise p:last-child { border:0; }
.net-promise strong { color:var(--net-yellow); font:800 2.6rem var(--display); }
.net-filters { display:flex; gap:.4rem; }
.net-filters button { padding:.65rem .85rem; border:1px solid #17251f; background:transparent; font-weight:800; }
.net-filters button.active { color:white; background:#17251f; }
.net-all-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:2.5rem 2rem; }
.net-all-grid article { display:grid; grid-template-columns:1fr 1fr; gap:1.2rem; align-items:center; }
.net-all-grid img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.net-all-grid h3 { margin:.2rem 0 .5rem; font:800 1.55rem/1.1 var(--display); }
.net-all-grid article div > p:last-child { margin:0; color:#52625b; line-height:1.55; }
.net-guides { padding:3rem; background:var(--net-cream); }
.net-guides > div > article { display:grid; grid-template-columns:55px 1fr 45px; gap:1.2rem; align-items:center; padding:1.3rem 0; border-top:1px solid #bdb7aa; }
.net-guides article > span { color:var(--net-red); font-weight:900; }
.net-guides article h3 { margin:.1rem 0; font:800 1.6rem var(--display); }
.net-guides article p { margin:.15rem 0; }
.net-guides article div > p:first-child { color:#68766f; font-size:.68rem; font-weight:800; text-transform:uppercase; }
.net-guides article > a { display:grid; place-items:center; width:40px; height:40px; border-radius:50%; color:white; background:var(--net-red); }
.net-about { display:grid; grid-template-columns:180px 1fr; align-items:center; max-width:920px; padding:3rem; border:3px solid var(--net-red); }
.net-about-mark { display:grid; place-items:center; width:130px; height:130px; border-radius:50%; color:white; background:var(--net-red); font:800 4.8rem var(--display); }
.net-about h2 { margin:.4rem 0 .7rem; font:800 2.5rem/1.05 var(--display); }
.net-about p { margin:0; line-height:1.7; }

.tenant-org { --org-ink:#183c32; --org-orange:#d85d35; --org-cream:#f6f0e5; --org-gold:#e9b949; color:#263c35; background:#fbfaf6; }
.tenant-org .org-masthead { color:#fff; background:var(--org-ink); }
.tenant-org .org-new-header { width:min(calc(100% - 2.5rem),1200px); height:105px; }
.org-logo { font:700 1.75rem var(--display); }
.org-logo em { color:var(--org-orange); }
.org-category-nav { display:flex; align-items:center; justify-content:center; gap:2rem; padding:.85rem max(1rem,calc((100vw - 1200px)/2)); border-top:1px solid #c9c1b4; border-bottom:1px solid #c9c1b4; font-family:var(--display); font-weight:700; }
.org-category-nav label { margin-left:auto; }
.org-category-nav input { width:110px; padding:.5rem .7rem; border:0; border-bottom:1px solid var(--org-ink); background:transparent; }
.org-editorial-hero { display:grid; grid-template-columns:.85fr 1.35fr; width:min(calc(100% - 2.5rem),1200px); margin:3rem auto 5rem; background:var(--org-cream); }
.org-editorial-copy { display:flex; flex-direction:column; justify-content:center; padding:clamp(2.2rem,5vw,4.5rem); }
.org-editorial-copy > span, .org-editorial-title span, .org-school article > span { color:var(--org-orange); font-size:.71rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.org-editorial-copy h1 { margin:.65rem 0 1.2rem; font:700 clamp(2.6rem,5vw,5.1rem)/.95 var(--display); letter-spacing:-.045em; }
.org-editorial-copy > p { font-family:var(--display); font-size:1.12rem; line-height:1.65; }
.org-editorial-copy > div { margin:.5rem 0 1.7rem; font-size:.75rem; font-weight:800; text-transform:uppercase; }
.org-editorial-copy i, .org-card-grid i { color:var(--org-orange); font-style:normal; }
.org-primary { align-self:flex-start; padding:.9rem 1.1rem; color:white; background:var(--org-orange); font-weight:800; }
.org-editorial-image { min-height:600px; }
.org-editorial-image img { width:100%; height:100%; object-fit:cover; }
.org-popular, .org-all-recipes, .org-school { width:min(calc(100% - 2.5rem),1200px); margin:5rem auto; }
.org-popular > header { margin-bottom:1.2rem; border-bottom:2px solid var(--org-ink); padding-bottom:.7rem; }
.org-popular > header h2 { margin:0; font:700 clamp(2rem,4vw,3.2rem)/1 var(--display); }
.org-popular > div { display:grid; grid-template-columns:repeat(3,1fr); gap:2rem; }
.org-popular article { display:grid; grid-template-columns:32px 105px 1fr; gap:.8rem; align-items:center; }
.org-popular article b { color:var(--org-orange); font:700 1.6rem var(--display); }
.org-popular article img { width:105px; height:105px; object-fit:cover; border-radius:50%; }
.org-popular article p { margin:0 0 .3rem; color:#718078; font-size:.68rem; text-transform:uppercase; }
.org-popular article h3 { margin:0; font:700 1.25rem/1.08 var(--display); }
.org-editorial-title { display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:end; margin-bottom:2rem; border-top:1px solid var(--org-ink); padding-top:1.2rem; }
.org-editorial-title h2 { margin:.4rem 0 0; font:700 clamp(2.4rem,4vw,4rem)/1 var(--display); letter-spacing:-.04em; }
.org-editorial-title > p { margin:0; max-width:520px; color:#5f716a; font-family:var(--display); font-size:1.08rem; line-height:1.6; }
.org-card-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:3rem 1.7rem; }
.org-card-grid article:nth-child(1), .org-card-grid article:nth-child(7) { grid-column:span 2; }
.org-card-grid img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.org-card-grid article:nth-child(1) img, .org-card-grid article:nth-child(7) img { aspect-ratio:2/1; }
.org-card-grid article > p:nth-of-type(1) { margin:1rem 0 .4rem; color:var(--org-orange); font-size:.69rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.org-card-grid h3 { margin:0 0 .5rem; font:700 1.65rem/1.08 var(--display); }
.org-card-grid article > p:last-child { margin:0; color:#617169; line-height:1.55; }
.org-kitchen-note { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center; padding:3.5rem max(1.5rem,calc((100vw - 1000px)/2)); color:white; background:var(--org-ink); }
.org-kitchen-note span { color:var(--org-gold); font-size:.7rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.org-kitchen-note h2 { margin:.4rem 0 0; font:700 3rem/1 var(--display); }
.org-kitchen-note p { font-family:var(--display); font-size:1.2rem; line-height:1.65; }
.org-school > div { display:grid; grid-template-columns:repeat(3,1fr); gap:1.8rem; }
.org-school article img { width:100%; aspect-ratio:4/3; object-fit:cover; margin-bottom:1rem; }
.org-school article h3 { margin:.45rem 0; font:700 1.6rem var(--display); }
.org-school article p { color:#607169; line-height:1.55; }
.org-read-more { color:var(--org-orange); font-weight:800; }

@media (max-width:800px) {
  .tenant-net .net-new-header, .tenant-org .org-new-header { width:calc(100% - 2rem); }
  .net-logo svg, .org-logo svg { width:32px; height:32px; }
  .net-category-nav, .org-category-nav { justify-content:flex-start; overflow-x:auto; white-space:nowrap; }
  .net-search-band { display:block; }
  .net-search-band label { display:block; margin-top:1.5rem; }
  .net-feature { grid-template-columns:1fr; }
  .net-feature-image { min-height:320px; }
  .net-latest-grid { grid-template-columns:repeat(2,1fr); }
  .net-promise { grid-template-columns:1fr; gap:1rem; }
  .net-promise p { padding:0; border:0; }
  .net-section-title { align-items:flex-start; flex-direction:column; }
  .net-all-grid { grid-template-columns:1fr; }
  .net-all-grid article { grid-template-columns:130px 1fr; }
  .net-guides { padding:1.5rem; }
  .net-about { grid-template-columns:1fr; gap:1.5rem; padding:2rem; }
  .net-about-mark { width:80px; height:80px; font-size:3rem; }
  .org-category-nav label { margin-left:0; }
  .org-editorial-hero { grid-template-columns:1fr; }
  .org-editorial-image { min-height:350px; grid-row:1; }
  .org-popular > div { grid-template-columns:1fr; }
  .org-editorial-title { grid-template-columns:1fr; gap:1rem; }
  .org-card-grid { grid-template-columns:1fr 1fr; }
  .org-card-grid article:nth-child(1), .org-card-grid article:nth-child(7) { grid-column:span 2; }
  .org-kitchen-note { grid-template-columns:1fr; gap:1rem; }
  .org-school > div { grid-template-columns:1fr; }
}

@media (max-width:520px) {
  .org-logo { font-size:1.35rem; }
  .org-logo svg { width:28px; height:28px; }
  .net-latest-grid, .org-card-grid { grid-template-columns:1fr; }
  .org-card-grid article:nth-child(1), .org-card-grid article:nth-child(7) { grid-column:auto; }
  .net-all-grid article { grid-template-columns:1fr; }
  .net-guides > div > article { grid-template-columns:35px 1fr; }
  .net-guides article > a { display:none; }
}

/* Compact recipe discovery, accessible hamburger and SEO breadcrumbs */
.menu-button { width:46px; height:46px; align-items:center; justify-content:center; padding:0; border:1px solid var(--line); border-radius:50%; cursor:pointer; }
.menu-icon { position:relative; display:block; width:21px; height:16px; }
.menu-icon i { position:absolute; left:0; display:block; width:21px; height:2px; border-radius:2px; background:currentColor; transition:transform .2s ease, top .2s ease, opacity .15s ease; }
.menu-icon i:nth-child(1) { top:0; }
.menu-icon i:nth-child(2) { top:7px; }
.menu-icon i:nth-child(3) { top:14px; }
.menu-button[aria-expanded="true"] .menu-icon i:nth-child(1) { top:7px; transform:rotate(45deg); }
.menu-button[aria-expanded="true"] .menu-icon i:nth-child(2) { opacity:0; }
.menu-button[aria-expanded="true"] .menu-icon i:nth-child(3) { top:7px; transform:rotate(-45deg); }

nav.breadcrumbs { position:static !important; z-index:auto; display:block !important; width:100%; margin:0 0 2rem; padding:0; border:0; border-radius:0; color:var(--muted); background:transparent; box-shadow:none; }
.breadcrumbs ol { display:flex; flex-wrap:wrap; gap:.45rem; align-items:center; margin:0; padding:0; list-style:none; font-size:.78rem; }
.breadcrumbs li { display:flex; align-items:center; gap:.45rem; }
.breadcrumbs li:not(:last-child)::after { content:"/"; color:var(--accent); }
.breadcrumbs a { font-weight:700; text-decoration:none; }
.breadcrumbs a:hover { text-decoration:underline; }
.breadcrumbs [aria-current="page"] { overflow:hidden; max-width:38ch; color:var(--ink); text-overflow:ellipsis; white-space:nowrap; }

.net-feature { min-height:430px; }
.net-feature-image { min-height:430px; max-height:430px; }
.net-latest-grid img { height:190px; aspect-ratio:auto; }
.net-all-grid { grid-template-columns:repeat(3,1fr); gap:2rem 1.4rem; }
.net-all-grid article { display:block; }
.net-all-grid article > a { display:block; overflow:hidden; }
.net-all-grid img { height:185px; aspect-ratio:auto; transition:transform .25s ease; }
.net-all-grid article:hover img { transform:scale(1.03); }
.net-all-grid article div > p:last-child { display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:2; }

.org-editorial-image { min-height:460px; max-height:460px; }
.org-card-grid { grid-template-columns:repeat(4,1fr); gap:2.5rem 1.3rem; }
.org-card-grid article:nth-child(1), .org-card-grid article:nth-child(7) { grid-column:auto; }
.org-card-grid img, .org-card-grid article:nth-child(1) img, .org-card-grid article:nth-child(7) img { height:175px; aspect-ratio:auto; transition:transform .25s ease; }
.org-card-grid article > a { display:block; overflow:hidden; }
.org-card-grid article:hover img { transform:scale(1.03); }
.org-card-grid article > p:last-child { display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:2; }

@media (max-width:1000px) {
  .net-all-grid, .org-card-grid { grid-template-columns:repeat(2,1fr); }
}

@media (max-width:800px) {
  .menu-button { display:flex; }
  .site-header > nav:not(.breadcrumbs) { top:82px; right:0; min-width:220px; padding:1.2rem; border:1px solid var(--line); }
  .tenant-net .site-header > nav:not(.breadcrumbs) { top:92px; }
  .net-feature { min-height:0; }
  .net-feature-image { min-height:280px; max-height:280px; }
  .org-editorial-image { min-height:300px; max-height:300px; }
}

@media (max-width:560px) {
  .net-all-grid, .org-card-grid { grid-template-columns:1fr 1fr; gap:1.7rem .8rem; }
  .net-all-grid img, .org-card-grid img, .org-card-grid article:nth-child(1) img, .org-card-grid article:nth-child(7) img { height:125px; }
  .net-all-grid h3, .org-card-grid h3 { font-size:1.15rem; }
  .net-all-grid article div > p:last-child, .org-card-grid article > p:last-child { display:none; }
  .net-latest-grid img { height:145px; }
}

/* 70% slide-out navigation, editorial pages and recipe tools */
.menu-button { position:relative; z-index:52; display:flex; color:inherit; background:transparent; }
.net-new-header, .org-new-header { display:grid; grid-template-columns:46px 1fr 46px; }
.net-new-header > .brand, .org-new-header > .brand { justify-self:center; }
.header-balance { width:46px; height:46px; }
.menu-open .site-header > .menu-button { visibility:hidden; }
.site-header > nav.site-drawer {
  position:fixed; inset:0 auto 0 0; z-index:50; display:grid; grid-template-columns:1.15fr .85fr;
  width:70vw; height:100dvh; padding:clamp(5.5rem,10vw,8rem) clamp(1.5rem,6vw,6rem) 3rem;
  overflow-y:auto; color:var(--ink); background:var(--surface); box-shadow:30px 0 80px rgba(0,0,0,.2);
  transform:translateX(-105%); visibility:hidden; transition:transform .3s ease,visibility .3s;
}
.site-header > nav.site-drawer.open { transform:translateX(0); visibility:visible; }
.drawer-close { position:absolute; top:1.25rem; left:1.25rem; z-index:2; width:46px; height:46px; display:grid; place-items:center; padding:0; border:1px solid var(--line); border-radius:50%; color:var(--ink); background:var(--surface); cursor:pointer; }
.drawer-close span { display:block; margin-top:-3px; font:300 2rem/1 var(--sans); }
.site-drawer .drawer-brand { position:absolute; top:1.35rem; left:5.5rem; justify-self:start; font-size:1.35rem; }
.site-drawer > div { display:flex; flex-direction:column; align-items:flex-start; gap:.7rem; }
.site-drawer p { margin:0 0 1rem; color:var(--accent); font-size:.7rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.site-drawer a { font:700 clamp(1.3rem,2.6vw,2.5rem)/1.15 var(--display); letter-spacing:-.025em; }
.site-drawer a.drawer-brand { font:700 1.35rem var(--display); }
.site-drawer .drawer-secondary a { font-size:clamp(1rem,1.7vw,1.45rem); }
.menu-scrim { position:fixed; inset:0; z-index:49; display:block; width:100%; height:100%; padding:0; border:0; background:rgba(5,15,12,.55); opacity:0; visibility:hidden; cursor:pointer; transition:opacity .25s,visibility .25s; }
.menu-open { overflow:hidden; }
.menu-open .menu-scrim { opacity:1; visibility:visible; }
.footer-links { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:.5rem 1rem; }
.footer-links a { font-weight:700; }

.section-page-header { display:block; }
.section-page-header > div { max-width:800px; }
.section-page-header h1 { max-width:none; margin-bottom:1rem; }
.section-page-header .category-intro { max-width:720px; margin:0; color:var(--muted); font:1.2rem/1.65 var(--display); }

/* Recipe-to-recipe internal linking */
.related-recipes { margin-top:6rem; padding-top:2.5rem; border-top:4px solid currentColor; }
.related-recipes > header { display:flex; align-items:end; justify-content:space-between; gap:2rem; margin-bottom:2rem; }
.related-recipes > header h2 { margin:0; font:800 clamp(2.2rem,4vw,3.8rem)/1 var(--display); }
.related-recipes > header p { max-width:390px; margin:0; color:var(--muted); }
.related-recipes > div { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.related-recipes article > p { margin:1rem 0 .35rem; color:var(--accent); font-size:.7rem; font-weight:900; letter-spacing:.05em; text-transform:uppercase; }
.related-recipes h3 { margin:0; font:800 1.5rem/1.1 var(--display); }
.related-recipes h3 a { text-decoration-thickness:1px; text-underline-offset:3px; }
.related-image { display:block; overflow:hidden; }
.related-image img { width:100%; aspect-ratio:4/3; object-fit:cover; transition:transform .25s ease; }
.related-recipes article:hover img { transform:scale(1.035); }
.org-related-recipes { border-top-width:1px; }
.org-related-recipes h3 { font-weight:700; }

@media (max-width:700px) {
  .related-recipes { margin-top:4rem; }
  .related-recipes > header { display:block; }
  .related-recipes > header p { margin-top:.7rem; }
  .related-recipes > div { grid-template-columns:1fr; gap:2rem; }
  .related-image img { max-height:260px; }
}
.guide-topics { display:flex; flex-wrap:wrap; gap:.55rem; margin:-1rem 0 3rem; }
.guide-topics strong, .guide-topics span { padding:.5rem .75rem; border:1px solid var(--line); border-radius:999px; font-size:.78rem; }
.guide-topics strong { color:var(--surface); background:var(--ink); }
.contact-page { display:grid; grid-template-columns:1.2fr .8fr; gap:5rem; font:1.1rem/1.7 var(--display); }
.contact-page aside { padding:2rem; border:1px solid var(--line); background:var(--surface); }
.contact-mail { display:inline-block; margin-top:1rem; color:var(--accent); font:700 clamp(1.25rem,3vw,2rem) var(--display); }
.legal-copy { max-width:820px; font:1.08rem/1.75 var(--display); }
.legal-copy h2 { margin:2.5rem 0 .6rem; font-size:2rem; }
.legal-copy .legal-updated { color:var(--muted); font:700 .75rem var(--sans); text-transform:uppercase; letter-spacing:.05em; }
.legal-copy aside { margin-top:3rem; padding:1.2rem; border-left:4px solid var(--accent); background:var(--surface); font:italic .95rem/1.5 var(--sans); }
.recipe-calculator { margin:1rem 0 1.5rem; padding:1rem; border:1px solid var(--line); background:var(--surface); }
.recipe-calculator label { display:block; margin-bottom:.5rem; font-size:.75rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.recipe-calculator > div { display:grid; grid-template-columns:42px 1fr 42px; align-items:center; max-width:190px; border:1px solid var(--line); }
.recipe-calculator button { height:42px; border:0; color:inherit; background:transparent; font-size:1.3rem; cursor:pointer; }
.recipe-calculator output { display:grid; place-items:center; min-height:42px; border-inline:1px solid var(--line); font-weight:900; }
.recipe-calculator p, .nutrition-note { margin:.7rem 0 0; color:var(--muted); font-size:.74rem; line-height:1.45; }

@media (max-width:800px) {
  .site-header > nav.site-drawer { top:0; right:auto; left:0; width:70vw; min-width:0; height:100dvh; padding:5.5rem 1.5rem 2rem; border:0; border-radius:0; box-shadow:20px 0 60px rgba(0,0,0,.25); grid-template-columns:1fr; gap:2rem; }
  .site-drawer a.drawer-brand { top:1.55rem; left:4.8rem; font-size:1rem; }
  .site-drawer a { font-size:1.35rem; }
  .site-drawer .drawer-secondary a { font-size:1rem; }
  .contact-page { grid-template-columns:1fr; gap:2rem; }
  .footer-links { justify-content:flex-start; }
}

@media (max-width:420px) {
  .site-header > nav.site-drawer { width:70vw; }
  .site-drawer a { font-size:1.15rem; }
}

/* Outrank older tenant-specific mobile nav offsets: drawer always fills viewport. */
.tenant-net .site-header > nav.site-drawer,
.tenant-org .site-header > nav.site-drawer { top:0; right:auto; bottom:0; left:0; height:100dvh; min-height:100dvh; max-height:none; }

/* Clear Home → Hub → Recipe architecture */
.home-intro { display:flex; align-items:end; justify-content:space-between; gap:2rem; width:min(calc(100% - 2.5rem),1240px); margin:3.5rem auto 2rem; }
.home-intro h1 { margin:0 0 .7rem; font-size:clamp(3rem,6.5vw,6rem); }
.home-intro p { max-width:650px; margin:0; color:var(--muted); font-size:1.08rem; }
.home-intro > a { flex:none; padding:.85rem 1rem; color:white; background:var(--net-red); font-weight:800; text-decoration:none; }
.org-home-intro { align-items:center; width:min(calc(100% - 2.5rem),1200px); padding:2.8rem 0; border-bottom:1px solid var(--org-ink); }
.org-home-intro span { color:var(--org-orange); font-size:.72rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.org-home-intro h1 { max-width:800px; margin:.35rem 0 .7rem; font-size:clamp(3rem,6vw,5.5rem); }
.org-home-intro > a { background:var(--org-orange); }
.org-editorial-copy h2 { margin:.65rem 0 1.2rem; font:700 clamp(2.6rem,5vw,5.1rem)/.95 var(--display); letter-spacing:-.045em; }
.hub-overview { width:min(calc(100% - 2.5rem),1240px); margin:5rem auto; }
.org-hub-overview { width:min(calc(100% - 2.5rem),1200px); }
.hub-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.3rem; }
.hub-card { position:relative; display:block; overflow:hidden; min-height:330px; padding:1.4rem; color:white; background:#19302b; text-decoration:none; isolation:isolate; }
.hub-card::after { position:absolute; inset:0; z-index:-1; content:""; background:linear-gradient(0deg,rgba(10,25,20,.9),rgba(10,25,20,.05) 70%); }
.hub-card img { position:absolute; inset:0; z-index:-2; width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.hub-card:hover img { transform:scale(1.045); }
.hub-card span { position:absolute; left:1.4rem; bottom:3.2rem; font:800 1.8rem/1 var(--display); }
.hub-card p { position:absolute; left:1.4rem; bottom:1rem; margin:0; color:rgba(255,255,255,.82); font-size:.82rem; }
.home-guide-cta { display:flex; align-items:center; justify-content:space-between; gap:2rem; padding:3rem max(1.5rem,calc((100vw - 1050px)/2)); color:white; background:var(--net-green); }
.home-guide-cta span { color:var(--net-yellow); font-size:.7rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.home-guide-cta h2 { margin:.35rem 0; font:800 2.8rem var(--display); }
.home-guide-cta p { margin:0; }
.home-guide-cta > a { padding:1rem 1.2rem; color:#17251f; background:var(--net-yellow); font-weight:900; text-decoration:none; }
.org-kitchen-note > div > p { margin-top:0; }

@media (max-width:900px) {
  .hub-grid { grid-template-columns:repeat(2,1fr); }
}

@media (max-width:600px) {
  .home-intro, .home-guide-cta { align-items:flex-start; flex-direction:column; }
  .home-intro { margin-top:2.3rem; }
  .hub-grid { gap:.8rem; }
  .hub-card { min-height:230px; padding:1rem; }
  .hub-card span { left:1rem; bottom:2.8rem; font-size:1.35rem; }
  .hub-card p { left:1rem; bottom:.7rem; max-width:15ch; }
}

/* Dedicated navigation destinations */
.section-page { width:min(calc(100% - 2.5rem),1200px); margin:3rem auto 6rem; }
.section-page-header { display:grid; grid-template-columns:1.2fr .8fr; gap:3rem; align-items:end; margin-bottom:3rem; padding:2.8rem 0; border-top:1px solid var(--line); border-bottom:4px solid currentColor; }
.section-page-header > p { grid-column:1/-1; margin:0 0 -2rem; color:var(--accent); font-size:.72rem; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.section-page-header h1 { margin:0; font-size:clamp(3rem,7vw,6.5rem); }
.section-page-header > div { max-width:500px; color:var(--muted); font-family:var(--display); font-size:1.15rem; line-height:1.6; }
.section-card-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:3rem 1.5rem; }
.section-card-grid article { min-width:0; }
.section-card-image { display:block; overflow:hidden; }
.section-card-image img { width:100%; height:220px; object-fit:cover; transition:transform .25s ease; }
.section-card-grid article:hover img { transform:scale(1.025); }
.section-card-grid article > p { margin:1rem 0 .35rem; color:var(--accent); font-size:.69rem; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
.section-card-grid h2 { margin:0 0 .6rem; font:800 1.7rem/1.08 var(--display); }
.section-card-grid h2 a { text-decoration-thickness:1px; text-underline-offset:3px; }
.section-card-grid article > div { color:var(--muted); line-height:1.55; }
.section-card-link { display:inline-block; margin-top:.9rem; color:var(--accent); font-weight:800; }
.about-page-content { display:grid; grid-template-columns:1.25fr .75fr; gap:5rem; font-family:var(--display); font-size:1.15rem; line-height:1.75; }
.about-page-content h2 { font-size:2.2rem; }
.about-page-content aside { padding:2rem; color:white; background:var(--net-green); }
.about-page-content aside ul { padding-left:1.2rem; }
.about-page-content aside li { margin:.6rem 0; }
.org-section-page .section-page-header { border-bottom-width:1px; }
.org-section-page .section-page-header > p, .org-section-page .section-card-grid article > p, .org-section-page .section-card-link { color:var(--org-orange); }
.org-section-page .section-card-grid h2 { font-weight:700; }

@media (max-width:850px) {
  .section-page-header, .about-page-content { grid-template-columns:1fr; gap:1.2rem; }
  .section-page-header > p { margin:0; }
  .section-card-grid { grid-template-columns:repeat(2,1fr); }
}

@media (max-width:560px) {
  .section-page { width:calc(100% - 2rem); margin-top:2rem; }
  .section-page-header { padding:1.8rem 0; }
  .section-card-grid { gap:2rem .8rem; }
  .section-card-image img { height:135px; }
  .section-card-grid h2 { font-size:1.2rem; }
  .section-card-grid article > div { display:none; }
}

/* Final header override: category pages have no eyebrow, only H1 + intro copy. */
.section-page-header { display:block; }
.section-page-header > div { max-width:800px; color:inherit; font-family:inherit; }
.section-page-header h1 { max-width:none; margin:0 0 1rem; }
.section-page-header .category-intro { max-width:720px; margin:0; color:var(--muted); font:1.2rem/1.65 var(--display); }
