.site-footer.orchard-footer { display:block; padding-block:54px 28px; }
.site-footer.orchard-footer>.footer-top { display:grid; grid-template-columns:1fr 1fr; align-items:start; gap:60px; }
.footer-project .footer-logo { width:240px; max-width:100%; }
.footer-project p { max-width:420px; margin-top:20px; font-size:14px; line-height:1.8; }
.orchard-footer a { text-decoration:none; }
.footer-project p a { text-decoration:underline; text-underline-offset:3px; }
.orchard-footer a:hover { text-decoration:underline; text-underline-offset:4px; }
.orchard-footer h2 { font-size:17px; line-height:1.4; letter-spacing:-.2px; }
.orchard-footer ul { list-style:none; padding:0; margin:16px 0 0; }
.footer-social ul { display:flex; flex-wrap:wrap; gap:8px; }
.footer-social li a { display:block; padding:10px 14px; border:1px solid var(--line); border-radius:24px; font-size:12px; background:#f2f9e8; }
.footer-social a:hover { background:#e6f4ca; }
.footer-rooms { border-block:1px solid var(--line); padding-block:28px; margin-block:32px 24px; }
.footer-rooms-heading { display:flex; justify-content:space-between; align-items:baseline; gap:16px; }
.footer-rooms-heading>span { font-size:12px; color:var(--muted); }
.footer-rooms ul { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:4px 18px; }
.footer-rooms li a { display:block; padding-block:10px; font-size:13px; overflow-wrap:anywhere; }
.footer-rooms a span { color:var(--muted); }
.site-footer.orchard-footer>.footer-bottom { display:flex; flex-wrap:wrap; justify-content:space-between; gap:18px; }
.footer-bottom p { font-size:12px; color:var(--muted); }
.footer-bottom nav { display:flex; gap:20px; flex-wrap:wrap; }
.footer-bottom .text-button { font-size:12px; }
.site-footer.orchard-footer>.footer-external-note { margin-top:14px; font-size:10px; color:var(--muted); }
.orchard-footer [data-open-about] { grid-column:auto; justify-self:auto; }
.content-page { max-width:900px; margin:52px auto 64px; }
.content-page .back-link { display:inline-block; margin-bottom:28px; font-size:14px; text-decoration:underline; text-underline-offset:4px; }
.static-recipe { background:var(--paper); border:1px solid var(--line); border-radius:24px; overflow:hidden; }
.static-recipe>img { display:block; width:100%; height:auto; }
.static-recipe h1,.text-page h1 { font-size:clamp(32px,5vw,48px); line-height:1.1; letter-spacing:-1.6px; margin:10px 0 20px; }
.static-recipe .recipe-detail-grid { grid-template-columns:1fr 1.3fr; }
.static-recipe .ingredient-list li { font-size:14px; }
.static-recipe .preparation-list li { font-size:14px; }
.static-recipe .dialog-body { padding:36px; }
.static-recipe .base-portions { font-size:14px; color:var(--muted); margin-top:8px; }
.static-recipe .recipe-tip { font-size:14px; }
.static-recipe .allergen-note { font-size:12px; }
.recipe-page-caption { font-size:12px; color:var(--muted); margin-top:20px; line-height:1.7; }
.text-page { max-width:740px; }
.text-page p,.text-page li,.text-page address { font-size:16px; line-height:1.8; }
.text-page h2 { font-size:28px; margin-block:26px 16px; }
.text-page .privacy-document h3 { font-size:21px; }
.text-page .privacy-intro { padding-bottom:28px; }
.text-page .privacy-prototype-note { margin-top:16px; }
.no-script-hint { padding:18px; border:1px solid var(--line); border-radius:12px; margin-bottom:20px; }
@media(max-width:1000px) { .footer-rooms ul { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:700px) {
  .site-footer.orchard-footer { padding-top:38px; }
  .site-footer.orchard-footer>.footer-top { grid-template-columns:1fr; gap:28px; }
  .footer-project .footer-logo { width:210px; }
  .footer-project p { font-size:13px; }
  .footer-rooms-heading { display:block; }
  .footer-rooms-heading>span { display:block; margin-top:8px; }
  .footer-rooms ul { grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px 16px; }
  .footer-rooms li a { font-size:12px; }
  .site-footer.orchard-footer>.footer-bottom { display:flex; align-items:flex-start; flex-direction:column; gap:16px; }
  .orchard-footer .prototype-label { justify-self:auto; }
  .footer-bottom nav { gap:12px 20px; }
  .content-page { margin-block:30px 42px; }
  .static-recipe .dialog-body { padding:24px; }
  .static-recipe .recipe-detail-grid { grid-template-columns:1fr; gap:24px; }
  .text-page p,.text-page li,.text-page address { font-size:14px; }
}
