:root {
  --bg: #fffaf2;
  --bg-soft: #f8eddf;
  --surface: #fffdf9;
  --surface-warm: #fff4e7;
  --brown-950: #2b1007;
  --brown-900: #3a1609;
  --brown-800: #4a1e0d;
  --brown-700: #642d16;
  --gold-600: #af5e0a;
  --gold-400: #ee9f2e;
  --cream-200: #f7dfbf;
  --cream-300: #edc99c;
  --text: #33170d;
  --text-muted: #705346;
  --border: #ead7c4;
  --font-display: "Fredoka", "Arial Rounded MT Bold", system-ui, sans-serif;
  --font-body: "DM Sans", system-ui, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--bg); color: var(--text); font: 400 1rem/1.65 var(--font-body); -webkit-font-smoothing: antialiased; }
img { display: block; max-width: 100%; }
button { font: inherit; }
a { color: inherit; text-underline-offset: .2em; }
a:hover { color: var(--gold-600); }
:focus-visible { outline: 3px solid #b85d08; outline-offset: 4px; }
::selection { background: #f4b75a; color: var(--brown-950); }
.container { width: min(1160px, calc(100% - 2.5rem)); margin-inline: auto; }
.section { padding-block: clamp(4.5rem, 8vw, 8rem); }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { font-family: var(--font-display); color: var(--brown-900); line-height: 1.05; letter-spacing: -.025em; }
h1 { font-size: clamp(3.55rem, 7vw, 6.8rem); font-weight: 600; letter-spacing: -.045em; }
h2 { font-size: clamp(2.6rem, 4.7vw, 4.5rem); font-weight: 600; }
h3 { font-size: clamp(1.45rem, 2.5vw, 2rem); font-weight: 600; }
p { margin-bottom: 1.25rem; }
.skip-link { position: fixed; top: 0; left: 1rem; z-index: 200; transform: translateY(-150%); padding: .7rem 1rem; background: var(--brown-900); color: white; border-radius: 0 0 12px 12px; }
.skip-link:focus { transform: translateY(0); }

/* The supplied square artwork has generous transparent space around the wordmark. */
.brand { display: block; position: relative; width: 230px; height: 94px; flex: none; overflow: hidden; }
.brand img { width: 100%; max-width: none; height: auto; transform: translateY(-31%); }
.brand-small { width: 190px; height: 77px; }
.brand-footer { width: 174px; height: 70px; }
.site-header { position: sticky; top: 0; z-index: 50; background: rgba(255,250,242,.94); backdrop-filter: blur(12px); border-bottom: 1px solid rgba(74,30,13,.1); }
.header-inner { min-height: 94px; display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.site-nav { display: flex; align-items: center; gap: clamp(1.2rem, 3vw, 2.5rem); }
.site-nav a { text-decoration: none; font-size: .91rem; font-weight: 700; color: var(--brown-800); white-space: nowrap; }
.site-nav a:hover, .site-nav a[aria-current="page"] { color: var(--gold-600); }
.site-nav .nav-feature { border: 1px solid var(--border); background: white; padding: .65rem 1rem; border-radius: 999px; }
.nav-feature span { margin-left: .45rem; }

.eyebrow { display: flex; align-items: center; gap: .7rem; margin: 0 0 1.2rem; color: var(--gold-600); font-size: .72rem; line-height: 1.2; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.eyebrow-line { display: inline-block; width: 25px; height: 2px; border-radius: 2px; background: currentColor; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 1.2rem; min-height: 52px; padding: .8rem 1.4rem; border: 2px solid transparent; border-radius: 999px; font-size: .91rem; font-weight: 700; text-decoration: none; transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease; }
.button span { font-size: 1.15em; line-height: 1; }
.button-primary { color: var(--bg); background: var(--brown-800); box-shadow: 0 5px 0 #2f1005; }
.button-primary:hover { color: var(--bg); background: var(--brown-700); transform: translateY(-2px); box-shadow: 0 7px 0 #2f1005; }
.button-light { color: var(--brown-900); background: #fffaf2; box-shadow: 0 5px 0 rgba(0,0,0,.15); }
.button-light:hover { color: var(--brown-900); background: #fff0d8; transform: translateY(-2px); box-shadow: 0 7px 0 rgba(0,0,0,.15); }
.button:active { transform: translateY(2px); box-shadow: 0 2px 0 rgba(0,0,0,.2); }
.text-link { font-weight: 700; font-size: .9rem; text-decoration-thickness: 1px; }
.text-link span { margin-left: .3rem; }
.tag { display: inline-flex; align-items: center; min-height: 30px; padding: .35rem .75rem; border-radius: 999px; color: var(--brown-800); background: var(--cream-200); font-size: .75rem; line-height: 1.2; font-weight: 700; letter-spacing: .035em; }

.home-hero { padding-block: clamp(4rem, 6vw, 6.5rem) clamp(5rem, 9vw, 8rem); overflow: hidden; background: radial-gradient(circle at 78% 48%, rgba(238,159,46,.14), transparent 35rem), var(--bg); }
.hero-grid { display: grid; grid-template-columns: 1fr .87fr; gap: clamp(2rem, 4vw, 5rem); align-items: center; }
.hero-copy { position: relative; z-index: 1; }
.hero-copy h1 { max-width: 690px; margin-bottom: 1.65rem; }
.hero-copy h1 em { color: var(--gold-600); font-style: normal; }
.second-line { display: block; }
.hero-intro { max-width: 530px; color: var(--text-muted); font-size: clamp(1.05rem, 1.7vw, 1.2rem); line-height: 1.7; }
.hero-intro strong { color: var(--brown-800); }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1.7rem; margin-top: 2.4rem; }
.hero-art { min-height: 570px; position: relative; display: grid; place-items: center; text-decoration: none; color: inherit; }
.hero-art:hover { color: inherit; }
.hero-orbit { position: absolute; border-radius: 50%; pointer-events: none; }
.orbit-one { width: min(100%, 530px); aspect-ratio: 1; background: #f4dfc0; top: 6%; left: 5%; }
.orbit-two { width: 82%; aspect-ratio: 1; border: 1px dashed rgba(100,45,22,.25); top: 15%; left: 14%; }
.phone-frame { position: relative; z-index: 1; width: 263px; padding: 9px; border: 5px solid #251914; border-radius: 34px; background: #251914; box-shadow: 0 28px 55px rgba(43,16,7,.27), 0 7px 0 rgba(43,16,7,.3); transform: rotate(6deg); transition: transform .25s ease; }
.hero-art:hover .phone-frame { transform: rotate(3deg) translateY(-6px); }
.phone-frame img { width: 100%; border-radius: 22px; }
.hero-art-label { position: absolute; z-index: 2; top: 10%; left: 0; max-width: 150px; color: var(--brown-700); font-size: .8rem; font-weight: 700; line-height: 1.25; transform: rotate(-7deg); }
.hero-art-label span { display: block; margin: .4rem 0 0 2rem; font-size: 2rem; }
.hero-art-sticker { position: absolute; z-index: 2; right: 0; bottom: 15%; display: grid; place-content: center; width: 108px; height: 108px; border: 2px solid #fff4e7; border-radius: 50%; background: var(--gold-400); color: var(--brown-900); box-shadow: 0 8px 20px rgba(43,16,7,.14); font-family: var(--font-display); font-size: 2rem; font-weight: 600; line-height: 1; text-align: center; transform: rotate(9deg); }
.hero-art-sticker small { display: block; max-width: 60px; font-family: var(--font-body); font-size: .62rem; font-weight: 700; line-height: 1.1; }

.featured { background: var(--bg-soft); }
.section-heading { max-width: 700px; margin-bottom: 3rem; }
.section-heading h2 { margin-bottom: .8rem; }
.section-heading > p:last-child { color: var(--text-muted); max-width: 550px; font-size: 1.07rem; }
.featured-card { display: grid; grid-template-columns: .9fr 1.1fr; overflow: hidden; border: 1px solid #dac2a9; border-radius: 28px; background: var(--brown-900); box-shadow: 0 24px 60px rgba(62,27,10,.13); }
.featured-preview { position: relative; min-height: 490px; display: grid; place-items: end center; overflow: hidden; background: radial-gradient(circle at 50% 60%, #374d5b, #142634 58%, #101d28); }
.featured-preview::before, .featured-preview::after { content: ""; position: absolute; width: 380px; aspect-ratio: 1; border: 1px solid rgba(114,204,220,.14); border-radius: 50%; }
.featured-preview::after { width: 560px; }
.preview-image { position: relative; z-index: 1; width: 235px; height: 420px; overflow: hidden; border: 8px solid #10181f; border-bottom: 0; border-radius: 30px 30px 0 0; box-shadow: 0 0 35px rgba(83,189,213,.16); }
.preview-image img { width: 100%; height: auto; }
.preview-note { position: absolute; z-index: 2; left: 1.5rem; bottom: 1.4rem; color: #b7cccf; font-size: .72rem; }
.featured-copy { align-self: center; padding: clamp(2rem, 5vw, 4.5rem); color: #f8ede3; }
.featured-copy h3 { margin: 1.4rem 0 1.1rem; color: white; font-size: clamp(2.8rem, 4.5vw, 4.6rem); }
.featured-copy p { color: #e5d3c7; font-size: 1.08rem; }
.feature-list { display: grid; gap: .8rem; margin: 1.7rem 0 2.3rem; padding: 0; list-style: none; }
.feature-list li { display: flex; align-items: baseline; gap: .8rem; font-size: .9rem; }
.feature-dot { flex: none; width: 8px; height: 8px; border-radius: 50%; background: var(--gold-400); }
.about-grid { display: grid; grid-template-columns: .9fr 1fr; gap: clamp(2rem, 8vw, 8rem); align-items: start; }
.about-grid h2 { max-width: 500px; }
.about-copy { padding-top: .15rem; }
.about-copy p { color: var(--text-muted); font-size: clamp(1.05rem, 1.8vw, 1.22rem); line-height: 1.8; }
.about-copy a { color: var(--brown-800); font-weight: 700; }
.about-signoff { margin-top: 2rem; padding-top: 1.2rem; border-top: 1px solid var(--border); color: var(--brown-800); font-size: .85rem; font-weight: 700; }
.small-dash { display: inline-block; width: 20px; height: 2px; margin-right: .5rem; vertical-align: middle; background: var(--gold-600); }
.signoff-muted { color: var(--text-muted); font-weight: 400; }

.game-hero { overflow: hidden; background: radial-gradient(circle at 77% 52%, rgba(238,159,46,.13), transparent 32rem), var(--bg); }
.game-hero-grid { display: grid; grid-template-columns: 1fr .85fr; gap: 4rem; align-items: center; }
.game-hero-copy { max-width: 570px; }
.back-link { display: inline-flex; align-items: center; gap: .5rem; margin-bottom: 3.4rem; color: var(--brown-700); font-size: .82rem; font-weight: 700; text-decoration: none; }
.game-hero h1 { margin: 1.2rem 0 1.3rem; }
.game-hero h1 span { color: var(--gold-600); }
.game-lead { color: var(--brown-900); font-family: var(--font-display); font-size: clamp(1.4rem, 2.4vw, 2rem); font-weight: 500; line-height: 1.3; }
.game-hero-copy > p:not(.game-lead) { color: var(--text-muted); font-size: 1.06rem; }
.game-hero-copy .button { margin-top: 1rem; }
.game-hero-visual { position: relative; min-height: 585px; display: grid; place-items: center; background: radial-gradient(circle, #f2dfc8 0 45%, transparent 45.5%); }
.game-phone { width: 270px; transform: rotate(-5deg); }
.visual-caption { position: absolute; z-index: 2; top: 8%; right: 0; max-width: 130px; color: var(--brown-700); font-size: .8rem; font-weight: 700; line-height: 1.3; transform: rotate(7deg); }
.game-sticker { right: 2%; bottom: 8%; width: 118px; height: 118px; font-size: 1.5rem; line-height: 1.05; transform: rotate(11deg); }
.how-it-works { background: var(--bg-soft); }
.section-heading-center { margin-inline: auto; text-align: center; }
.section-heading-center .eyebrow { justify-content: center; }
.section-heading-center > p:last-child { margin-inline: auto; }
.steps-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; }
.step { padding: clamp(1.5rem, 3vw, 2.5rem); border: 1px solid var(--border); border-radius: 22px; background: var(--surface); }
.step-number { display: inline-grid; place-items: center; width: 40px; height: 40px; margin-bottom: 2rem; border-radius: 50%; background: var(--cream-200); color: var(--brown-800); font-size: .78rem; font-weight: 700; }
.step h3 { margin-bottom: .8rem; }
.step p { margin-bottom: 0; color: var(--text-muted); }
.gallery-header { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 2.4rem; }
.gallery-header h2 { margin-bottom: 0; }
.gallery-header > p { max-width: 280px; margin-bottom: .3rem; color: var(--text-muted); font-size: .9rem; }
.gallery-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.25rem; }
.gallery-item { min-width: 0; padding: .75rem; border: 1px solid var(--border); border-radius: 20px; background: var(--surface); color: var(--brown-800); text-align: left; cursor: pointer; box-shadow: 0 5px 15px rgba(62,27,10,.05); transition: transform .18s ease, box-shadow .18s ease; }
.gallery-item:hover { transform: translateY(-5px); box-shadow: 0 12px 26px rgba(62,27,10,.12); }
.gallery-item img { width: 100%; aspect-ratio: 512 / 890; object-fit: cover; object-position: top; border-radius: 12px; background: #0d1b29; }
.gallery-item span { display: block; padding: .8rem .2rem .1rem; font-size: .76rem; font-weight: 700; }
.details-section { background: var(--bg-soft); }
.details-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(3rem, 8vw, 8rem); }
.details-intro { max-width: 430px; color: var(--text-muted); font-size: 1.1rem; }
.detail { display: grid; grid-template-columns: 38px 1fr; gap: 1rem; padding: 1.5rem 0; border-top: 1px solid #ddc8b4; }
.detail:first-child { padding-top: .3rem; border-top: 0; }
.detail > span { padding-top: .2rem; color: var(--gold-600); font-size: .77rem; font-weight: 700; }
.detail h3 { margin-bottom: .4rem; font-size: 1.35rem; }
.detail p { margin-bottom: 0; color: var(--text-muted); font-size: .92rem; }
.end-note { padding-block: 5rem; background: var(--brown-900); color: #f8ede3; text-align: center; }
.end-note .eyebrow { justify-content: center; color: var(--gold-400); }
.end-note h2 { margin-bottom: .6rem; color: #fff9f1; }
.end-note .button { margin-top: 1rem; }
.lightbox { position: fixed; width: min(96vw, 880px); max-width: none; max-height: 96vh; padding: 2.6rem 4rem 1rem; border: 1px solid #d7c0a9; border-radius: 20px; background: var(--bg); box-shadow: 0 30px 90px rgba(20,9,5,.35); }
.lightbox::backdrop { background: rgba(25,11,5,.82); }
.lightbox figure { display: grid; justify-items: center; margin: 0; }
.lightbox img { width: auto; max-width: 100%; max-height: calc(96vh - 7rem); border-radius: 10px; object-fit: contain; }
.lightbox figcaption { padding: .55rem 0 0; font-size: .8rem; font-weight: 700; }
.lightbox button { position: absolute; display: grid; place-items: center; width: 44px; height: 44px; border: 0; border-radius: 50%; background: var(--brown-800); color: #fff; cursor: pointer; }
.lightbox button:hover { background: var(--brown-700); }
.lightbox-close { top: .6rem; right: .6rem; font-size: 1.8rem; }
.lightbox-arrow { top: 50%; transform: translateY(-50%); font-size: 1.5rem; }
.lightbox-prev { left: .6rem; }
.lightbox-next { right: .6rem; }

.site-footer { padding-block: 2.5rem; border-top: 1px solid var(--border); background: #f8eddf; }
.footer-inner { display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.footer-inner p { max-width: 240px; margin: 0; color: var(--text-muted); font-size: .8rem; }
.footer-links { display: flex; gap: 1.4rem; }
.footer-links a { color: var(--brown-800); font-size: .82rem; font-weight: 700; text-decoration: none; }

@media (max-width: 900px) {
  .hero-grid, .game-hero-grid { gap: 2rem; }
  .hero-art { min-height: 510px; }
  .orbit-one { top: 14%; }
  .phone-frame { width: 225px; }
  .game-phone { width: 245px; }
  .game-hero-visual { min-height: 520px; }
  .gallery-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 700px) {
  .container { width: min(100% - 2rem, 560px); }
  .header-inner { min-height: 78px; }
  .brand-small { width: 158px; height: 64px; }
  .site-nav { gap: .7rem; }
  .site-nav a:not(.nav-feature) { display: none; }
  .site-nav .nav-feature { padding: .5rem .75rem; font-size: .76rem; }
  .home-hero, .game-hero { padding-top: 3rem; }
  .hero-grid, .game-hero-grid, .featured-card, .about-grid, .details-grid { grid-template-columns: 1fr; }
  .hero-copy h1 { max-width: 570px; }
  .hero-art { min-height: 540px; max-width: 480px; width: 100%; margin-inline: auto; }
  .orbit-one { left: 9%; width: 82%; }
  .hero-art-label { left: 0; }
  .featured-preview { min-height: 420px; }
  .featured-copy { padding: 2rem; }
  .about-grid { gap: .5rem; }
  .back-link { margin-bottom: 2.5rem; }
  .game-hero-visual { min-height: 560px; max-width: 500px; width: 100%; margin-inline: auto; }
  .steps-grid { grid-template-columns: 1fr; }
  .step-number { margin-bottom: 1rem; }
  .gallery-grid { grid-template-columns: repeat(2, 1fr); }
  .gallery-header { display: block; }
  .gallery-header > p { margin-top: 1rem; }
  .detail:first-child { border-top: 1px solid #ddc8b4; padding-top: 1.5rem; }
  .footer-inner { flex-wrap: wrap; }
}
@media (max-width: 450px) {
  .hero-copy h1, .game-hero h1 { font-size: clamp(3rem, 15vw, 4rem); }
  .hero-actions { align-items: flex-start; flex-direction: column; gap: 1.5rem; }
  .hero-art { min-height: 475px; }
  .phone-frame { width: 200px; }
  .hero-art-sticker { width: 86px; height: 86px; font-size: 1.6rem; }
  .game-phone { width: 215px; }
  .game-hero-visual { min-height: 480px; }
  .game-sticker { font-size: 1.15rem; }
  .gallery-grid { gap: .7rem; }
  .gallery-item { padding: .4rem; border-radius: 13px; }
  .gallery-item img { border-radius: 9px; }
  .gallery-item span { font-size: .68rem; }
  .lightbox { padding-inline: 2.4rem; }
  .lightbox-prev { left: 0; }
  .lightbox-next { right: 0; }
  .footer-inner { display: grid; justify-content: start; gap: .9rem; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* The studio's other rooms */
.site-nav a[aria-current="page"]:not(.nav-feature) { color: var(--gold-600); }
.footer-links { flex-wrap: wrap; justify-content: flex-end; }
.footer-links a[aria-current="page"] { color: var(--gold-600); }
.home-after-grid { max-width: 760px; }
.home-after-grid h2 { max-width: 550px; }
.home-after-grid > div > p:not(.eyebrow) { max-width: 490px; color: var(--text-muted); font-size: 1.08rem; }
.home-after-grid .button { margin-top: .8rem; }

.page-hero { min-height: 460px; display: flex; align-items: center; background: radial-gradient(circle at 80% 55%, rgba(238,159,46,.14), transparent 30rem), var(--bg); }
.page-hero-inner { max-width: 1160px; }
.page-hero h1 { max-width: 850px; margin-bottom: 1.1rem; }
.page-lead { max-width: 740px; margin: 0; color: var(--text-muted); font-size: clamp(1.15rem, 2vw, 1.45rem); line-height: 1.65; }
.page-hero .back-link { margin-bottom: 2.3rem; }
.origin-section, .recipe-section, .contact-content, .policy-section { background: var(--bg-soft); }
.origin-grid { display: grid; grid-template-columns: .85fr 1fr; gap: clamp(2rem, 8vw, 8rem); }
.origin-copy { max-width: 580px; }
.origin-copy p { color: var(--text-muted); font-size: 1.13rem; line-height: 1.8; }
.origin-copy a, .policy-body a { color: var(--brown-800); font-weight: 700; }

.contact-hero { min-height: 400px; }
.contact-content .container { display: grid; grid-template-columns: 1.3fr .7fr; gap: clamp(2rem, 6vw, 6rem); align-items: start; }
.contact-wall { position: relative; overflow: hidden; padding: clamp(2rem, 4vw, 3rem); border: 1px solid #d6ac8f; border-radius: 24px; background-color: #e7c5a8; background-image: linear-gradient(#fffaf2 2px, transparent 2px), linear-gradient(90deg, #fffaf2 2px, transparent 2px), linear-gradient(90deg, transparent 49%, #fffaf2 49%, #fffaf2 50%, transparent 50%); background-size: 100% 58px, 120px 116px, 240px 116px; box-shadow: 0 16px 38px rgba(62,27,10,.12); }
.contact-wall::before { content: ""; position: absolute; inset: 0; background: rgba(255,250,242,.65); pointer-events: none; }
.contact-wall > * { position: relative; }
.contact-wall h2 { max-width: 550px; }
.contact-wall p:not(.eyebrow) { max-width: 650px; font-size: 1.06rem; }
.contact-wall-note { margin: 2rem 0 0; padding-top: 1.2rem; border-top: 1px solid #cda58a; font-weight: 700; }
.contact-exits { padding-top: 1rem; }
.contact-exit-link { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.05rem 0; border-bottom: 1px solid #dec6b0; color: var(--brown-800); font-family: var(--font-display); font-size: 1.15rem; font-weight: 500; text-decoration: none; }
.contact-exit-link:hover { color: var(--gold-600); }
.contact-exits-note { margin-top: 1.5rem; color: var(--text-muted); font-size: .88rem; }

.breadsticks-hero { min-height: 430px; }
.breadsticks-aside { max-width: 650px; margin: 1.7rem 0 0; color: var(--brown-700); font-size: .9rem; font-weight: 700; }
.recipe-layout { display: grid; grid-template-columns: .63fr 1.37fr; gap: clamp(2rem, 6vw, 6rem); align-items: start; }
.recipe-summary { position: sticky; top: 120px; }
.recipe-summary h2 { font-size: clamp(2.1rem, 3vw, 3rem); }
.recipe-summary > p:last-child { color: var(--text-muted); }
.recipe-facts { margin: 2rem 0; border-top: 1px solid #dec6b0; }
.recipe-facts > div { display: grid; grid-template-columns: 70px 1fr; gap: 1rem; padding: .8rem 0; border-bottom: 1px solid #dec6b0; }
.recipe-facts dt { color: var(--text-muted); font-size: .85rem; }
.recipe-facts dd { margin: 0; font-weight: 700; }
.recipe-card { padding: clamp(1.7rem, 4vw, 3.2rem); border: 1px solid var(--border); border-radius: 24px; background: white; box-shadow: 0 12px 26px rgba(62,27,10,.07); }
.recipe-card h3 { margin-bottom: 1.2rem; }
.recipe-card ul, .recipe-card ol { padding-left: 1.4rem; }
.recipe-card li { padding-left: .3rem; margin-bottom: .9rem; }
.recipe-method { margin-top: 3rem; padding-top: 2rem; border-top: 1px solid var(--border); }
.recipe-method li { padding-bottom: .85rem; }
.recipe-method li::marker { color: var(--gold-600); font-weight: 700; }
.recipe-step-title { font-weight: 700; }
.recipe-footnote { margin: 2rem 0 0; padding-top: 1.3rem; border-top: 1px solid var(--border); color: var(--text-muted); font-size: .87rem; }

.privacy-hero { min-height: 410px; }
.policy-date { margin: 1.6rem 0 0; color: var(--brown-700); font-size: .83rem; font-weight: 700; }
.policy-grid { display: grid; grid-template-columns: .72fr 1.28fr; gap: clamp(2.5rem, 7vw, 7rem); align-items: start; }
.policy-scope { position: sticky; top: 125px; }
.policy-scope h2 { font-size: clamp(2.25rem, 3.2vw, 3.2rem); }
.policy-scope p:last-child { color: var(--text-muted); }
.policy-body { padding: clamp(1.7rem, 4vw, 3.2rem); border: 1px solid var(--border); border-radius: 24px; background: white; }
.policy-body section + section { margin-top: 2.2rem; padding-top: 2rem; border-top: 1px solid var(--border); }
.policy-body h2 { font-size: clamp(1.55rem, 2.5vw, 2.2rem); }
.policy-body p:last-child { margin-bottom: 0; }

@media (max-width: 900px) {
  .footer-inner { flex-wrap: wrap; }
  .footer-links { justify-content: flex-start; }
  .contact-content .container { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  .header-inner { min-height: 0; padding-block: .45rem .65rem; display: grid; grid-template-columns: 1fr; gap: 0; }
  .brand-small { width: 158px; height: 63px; }
  .site-nav { display: flex; flex-wrap: wrap; gap: .35rem 1.05rem; padding-top: .1rem; }
  .site-nav a, .site-nav a:not(.nav-feature) { display: inline-flex; align-items: center; font-size: .78rem; }
  .site-nav .nav-feature { padding: .3rem .65rem; }
  .origin-grid, .recipe-layout, .policy-grid { grid-template-columns: 1fr; }
  .page-hero { min-height: 0; }
  .recipe-summary, .policy-scope { position: static; }
  .recipe-layout, .policy-grid { gap: 2rem; }
  .footer-inner { display: grid; justify-content: start; gap: .8rem; }
  .footer-links { gap: .6rem 1rem; }
}
