/* Public pages share the warmth and editorial rhythm of the kitchen journal.
   Keep application/admin layouts independent and essential content motion-free. */
body.site-shell {
  --kitchen-spice: #8b492f;
  --kitchen-herb-paper: #f1f5ed;
  --kitchen-spice-paper: #faf0e8;
}
body.site-shell .public-title,
body.site-shell .tools-title,
body.site-shell .download-hero h1 {
  font-family: Georgia, 'Times New Roman', serif;
  font-weight: 400;
  letter-spacing: -.045em;
  line-height: 1.1;
}
body.site-shell .public-kicker,
body.site-shell .tools-kicker,
body.site-shell .kitchen-section-number { color: var(--kitchen-spice); }
body.site-shell .public-card--accent { background: var(--kitchen-herb-paper); }
body.site-shell .tool-card { border-radius: 8px; box-shadow: none; }
body.site-shell .tool-card-icon { color: var(--kitchen-spice); }
body.site-shell .tool-card:hover { border-color: var(--accent); }
body.site-shell .tool-card:focus-visible,
body.site-shell .tool-quick-paths a:focus-visible,
body.site-shell summary:focus-visible { outline: 3px solid var(--accent); outline-offset: 4px; }
.tool-quick-paths { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--border-strong);border:1px solid var(--border-strong);margin:0 0 2rem; }
.tool-quick-paths a { display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem;background:var(--kitchen-herb-paper);color:var(--accent-strong);font-weight:600;text-decoration:none; }
.tool-quick-paths a:hover { background:var(--kitchen-spice-paper); }
body.site-shell .site-footer { border-top:1px solid var(--border-strong); }
body.site-shell .site-footer-links a { padding-block:.5rem; }
@media(max-width:640px) {
  .tool-quick-paths { grid-template-columns:1fr; }
  body.site-shell .wb-actions .wb-btn-sm { min-height:44px; }
  body.site-shell .download-hero { text-align:left; }
}
@media(prefers-reduced-motion:reduce) {
  body.site-shell .tool-card { transition:none;transform:none; }
}
.sub-use-control { display:flex;align-items:center;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border); }
.sub-use-control label { font-weight:600; }
.sub-use-control label span { color:var(--text-secondary);font-weight:400; }
.sub-use-control select { font:inherit;min-height:44px;padding:.5rem 2rem .5rem .75rem;border:1px solid var(--border-strong);border-radius:4px;background:var(--bg-input);color:var(--text-primary); }
body.site-shell .tools-index { padding-top:2.5rem; }
body.site-shell .tools-header { margin-bottom:1.75rem; }
body.site-shell .tools-title { max-width:20ch;font-size:clamp(2.25rem,4vw,3.5rem); }
body.site-shell .tools-kicker { border:0;padding:0;background:none; }

/* Public editorial system: warm paper, ink headings, purposeful food imagery. */
body.site-shell { --page-ink: #23483f; --page-paper: #faf9f5; }
body.site-shell:is(.route-about,.route-contact,.route-pricing,.route-download,.route-blog,.route-tools) main { background: var(--page-paper); }
body.site-shell .public-hero { padding-block: clamp(2rem,5vw,4.5rem); }
body.site-shell .public-title { color: var(--page-ink); font-size: clamp(2.3rem,4.4vw,4.3rem); max-width: 20ch; }
body.site-shell .public-lead { max-width: 65ch; line-height: 1.8; }
body.site-shell .public-section-title { font-family: Georgia,'Times New Roman',serif; font-weight: 400; color: var(--page-ink); }
body.site-shell .public-card { border-radius: 12px; box-shadow: none; padding: clamp(1.4rem,3vw,2.2rem); }
body.site-shell .public-section { padding-block: 2rem; }
body.site-shell .page-hero-split { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); align-items: center; gap: clamp(2rem,5vw,5rem); text-align: left; }
.page-hero-copy { min-width: 0; }
body.site-shell .page-hero-split .public-title { font-size: clamp(2.3rem,3.6vw,3.8rem); }
.page-hero-photo { margin: 0; }
.page-hero-photo img { display: block; width: 100%; height: auto; aspect-ratio: 1.1; object-fit: cover; border-radius: 48% 48% 12px 12px; }
.page-hero-photo figcaption { margin-top: 14px; color: var(--text-secondary); font-size: 11px; line-height: 1.8; }
.page-hero-photo figcaption a { color: inherit; text-decoration: underline; }
.kitchen-example { display: block; padding: clamp(1.5rem,3vw,2.5rem); border: 1px solid #d6dfd2; background: #eef3e8; border-radius: 14px; text-decoration: none; color: #23483f; transform: rotate(-1deg); }
.kitchen-example:hover { background: #e6efdf; }
.example-label { font-size: 12px; color: #536a50; }
.example-servings { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin: 22px 0; font-family: Georgia,serif; font-size: 48px; line-height: 1.1; }
.example-servings small { display: block; font: 12px/1.5 system-ui,sans-serif; margin-top: 8px; }
.example-servings > span:nth-child(2) { font: 24px system-ui,sans-serif; }
.example-ingredient { display: flex; justify-content: space-between; gap: 12px; padding: 16px 0; border-top: 1px solid #c5d3bf; border-bottom: 1px solid #c5d3bf; font-size: 14px; }
.example-action { display: flex; justify-content: space-between; gap: 12px; margin-top: 20px; font-size: 13px; font-weight: 600; }
body.site-shell .tools-header.page-hero-split { margin-block: 1rem 3rem; }
body.site-shell .tools-grid { gap: 18px; }
body.site-shell .tool-card { background: #fff; padding: 28px; }
body.site-shell .tool-card h2 { font-family: Georgia,serif; font-size: 25px; font-weight: 400; line-height: 1.2; }
body.site-shell .tool-card-meta { line-height: 1.6; }
body.site-shell .tool-page .tool-header { padding-block: 10px 24px; border-bottom: 1px solid var(--border); margin-bottom: 28px; }
body.site-shell .tool-page .tool-header h1 { font-family: Georgia,serif; font-size: clamp(2rem,4vw,3.2rem); font-weight: 400; color: var(--page-ink); letter-spacing: -.035em; }
body.site-shell .tool-page .tool-input-area { border-radius: 12px; border-color: #d4dfd5; box-shadow: none; }
body.site-shell .pricing-card { display: flex; flex-direction: column; background: #fff; }
body.site-shell .pricing-card--featured { background: #f0f5eb; border: 1px solid #a8bea5; }
body.site-shell .pricing-card .public-actions { margin-top: auto; padding-top: 24px; }
body.site-shell .pricing-card .public-list { margin-bottom: 24px; }
body.site-shell .pricing-price { color: #23483f; font-family: Georgia,serif; letter-spacing: -.035em; }
.plan-allowance { padding: 18px 0; border-block: 1px solid #d7e1d3; line-height: 1.6; }
.plan-allowance strong { font-size: 26px; color: #0f766e; }
.plan-allowance span { display: block; font-size: 12px; color: var(--text-secondary); }
.install-choice-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; margin-bottom: 36px; }
.install-choice-grid a { display: flex; flex-direction: column; gap: 12px; padding: 28px; background: #f0f5eb; border: 1px solid #d2dfce; border-radius: 12px; text-decoration: none; color: #23483f; }
.install-choice-grid a:nth-child(2) { background: #fbf0e5; border-color: #ead9c9; }
.choice-kicker { font-size: 12px; font-weight: 600; }
.install-choice-grid strong { font: 26px/1.25 Georgia,serif; }
.install-choice-grid a > span:not(.choice-kicker) { font-size: 13px; line-height: 1.6; }
.choice-action { margin-top: auto; padding-top: 14px; text-decoration: underline; text-underline-offset: 4px; }
#android-app,#web-app { scroll-margin-top: calc(var(--nav-height) + 24px); }
body.site-shell .download-hero { text-align: left; max-width: 780px; margin-inline: 0; }
body.site-shell .download-hero h1 { color: var(--page-ink); }
body.site-shell .download-card { border-radius: 14px; box-shadow: none; }
.support-shortcuts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; margin: 0 0 28px; }
.support-shortcuts a { padding: 18px 0; border-top: 2px solid #abc2ac; text-decoration: none; }
.support-shortcuts strong,.support-shortcuts span { display: block; }
.support-shortcuts strong { color: #23483f; font-size: 14px; }
.support-shortcuts span { color: var(--text-secondary); font-size: 12px; line-height: 1.6; margin-top: 8px; }
.contact-form-title { font: 30px/1.2 Georgia,serif; color: var(--page-ink); margin-bottom: 12px; }
.contact-form-intro { color: var(--text-secondary); margin-bottom: 24px; }
body.site-shell .public-form-panel { background: #fff; border-radius: 14px; padding: clamp(1.4rem,4vw,3rem); }
body.site-shell .blog-header { border-bottom: 1px solid #cbd8ce; padding-bottom: 32px; }
body.site-shell .blog-title { color: var(--page-ink); }
body.site-shell .blog-item--pictured { display: grid; grid-template-columns: 180px minmax(0,1fr); align-items: start; gap: 28px; }
.journal-image { display: block; overflow: hidden; border-radius: 8px; }
.journal-image img { width: 100%; aspect-ratio: 1.2; height: auto; display: block; object-fit: cover; }
.journal-item-copy { min-width: 0; }
body.site-shell .blog-item-title { text-wrap: pretty; }
body.site-shell .blog-item:first-child.blog-item--pictured { grid-template-columns: minmax(0,1fr) minmax(0,1.1fr); padding-block: 32px; }
body.site-shell .blog-item:first-child .blog-item-title { font-size: clamp(1.7rem,3vw,2.4rem); }
body.site-shell .site-footer { background: #edf2e9; padding-top: 44px; }
body.site-shell .site-footer-copy { line-height: 1.75; max-width: 40ch; }
.kitchen-example:focus-visible,.install-choice-grid a:focus-visible,.support-shortcuts a:focus-visible { outline: 3px solid #0f766e; outline-offset: 5px; }
@media(max-width:760px) {
  body.site-shell .page-hero-split { grid-template-columns: 1fr; gap: 28px; }
  .page-hero-photo { max-width: 460px; }
  .page-hero-photo img { aspect-ratio: 1.5; border-radius: 12px; }
  .kitchen-example { transform: none; }
  .install-choice-grid { grid-template-columns: 1fr; }
  .support-shortcuts { grid-template-columns: 1fr; gap: 0; }
  body.site-shell .blog-item--pictured { grid-template-columns: 100px minmax(0,1fr); gap: 18px; }
  body.site-shell .blog-item:first-child.blog-item--pictured { grid-template-columns: 1fr; }
  body.site-shell .blog-item:first-child .journal-image img { aspect-ratio: 1.8; }
}

body.site-shell .public-page { padding-top: 24px; }
@media (max-width:760px) {
  body.site-shell .public-page { padding-top: 8px; }
  body.site-shell .public-hero { margin-bottom: 20px; padding-block: 28px; }
  body.site-shell .public-lead { font-size: 16px; line-height: 1.7; }
  body.site-shell .public-section { padding-block: 20px; }
}

body.site-shell .blog-title { font: 400 clamp(2.2rem,4.2vw,4rem)/1.12 Georgia,serif; letter-spacing: -.035em; }
body.site-shell .blog-lead { font-size: 17px; line-height: 1.75; }
.journal-feature { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 32px; align-items: center; margin-bottom: 36px; padding-bottom: 36px; border-bottom: 1px solid #d2ddd2; }
.journal-feature > img { display: block; width: 100%; height: auto; aspect-ratio: 1.4; object-fit: cover; border-radius: 10px; }
.journal-feature h2 { font: 400 clamp(1.7rem,2.5vw,2.5rem)/1.2 Georgia,serif; margin-bottom: 18px; }
.journal-feature h2 a { text-decoration: none; color: #23483f; }
.journal-feature p:not(.public-kicker) { color: var(--text-secondary); line-height: 1.7; }
.journal-feature-link { display: inline-block; padding-block: 14px; text-underline-offset: 5px; font-size: 14px; }
@media(max-width:760px) { .journal-feature { grid-template-columns: 1fr; gap: 20px; } }
body.site-shell .pricing-price > span { margin-left: 8px; font: 400 14px/1.5 system-ui,sans-serif; letter-spacing: normal; }
body.site-shell .blog-index .blog-container { max-width: 1080px; }
body.site-shell .blog-index .blog-header { max-width: 760px; }
