/* A quieter home, with one primary action and room for larger text. */
body[data-page=home]{height:auto;min-height:100svh;overflow-x:hidden;overflow-y:auto;padding-bottom:var(--bottom-nav)}
.home-page{height:auto;min-height:calc(100svh - var(--bottom-nav))}
.home-page .material-gallery{height:auto;min-height:calc(100svh - var(--bottom-nav));display:flex;flex-direction:column}
.home-offer{position:relative;inset:auto;flex:1;min-height:calc(100svh - var(--bottom-nav) - 64px);padding:calc(var(--header) + 24px) var(--pad) 28px;gap:24px}
.home-offer .home-intro{margin:0;font-size:15px;line-height:1.7}
.home-offer .home-actions{display:flex;align-items:center;gap:28px;width:auto;margin:4px 0 0}
.home-browse-link{display:inline-flex;align-items:center;gap:16px;min-height:48px;padding:10px 0;color:var(--cream);font:400 14px/1.5 var(--sans);text-decoration:underline;text-underline-offset:6px;text-decoration-color:#f5f2ea88}
.home-browse-link:hover{text-decoration-color:var(--yellow);color:var(--yellow)}
.home-browse-link:focus-visible{outline:2px solid var(--yellow);outline-offset:6px}
.home-page .gallery-controls{position:relative;inset:auto;margin-top:auto;padding:0 var(--pad) 20px;min-height:64px;flex:none}
.home-page .scene-pagination button{width:34px;height:44px;padding:21px 0}
.mobile-home-nav{display:none}
.mobile-home-menu{color:var(--cream);background:var(--forest);border:1px solid #dfc95866;border-radius:0;width:min(520px,calc(100vw - 32px));max-height:calc(100svh - 48px);padding:24px;overflow:auto}
.mobile-home-menu::backdrop{background:#07120dcc}
.mobile-menu-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px}
.mobile-menu-heading h2{margin:0;font:400 28px/1.2 var(--serif)}
.mobile-menu-heading button{font:400 14px/1.5 var(--sans);background:none;color:inherit;border:0;text-decoration:underline;text-underline-offset:5px;min-height:44px;padding:8px}
.mobile-home-menu nav{display:flex;flex-direction:column}
.mobile-home-menu nav a{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;min-height:52px;border-bottom:1px solid #f5f2ea33;font:400 16px/1.4 var(--sans)}
.mobile-home-menu nav a span+span{color:var(--yellow)}
.mobile-home-menu :focus-visible,.mobile-home-nav :focus-visible{outline:2px solid var(--yellow);outline-offset:-4px}
@media(max-width:760px){
  body[data-page=home].has-mobile-home-nav{--bottom-nav:calc(58px + env(safe-area-inset-bottom,0px))}
  body[data-page=home].has-mobile-home-nav>.bottom-categories{display:none}
  body[data-page=home] .mobile-home-nav{display:grid;grid-template-columns:1fr 1fr;position:fixed;inset:auto 0 0;z-index:35;background:var(--forest);color:var(--cream);height:var(--bottom-nav);padding:0 24px env(safe-area-inset-bottom,0px);border-top:1px solid #dfc95855}
  .mobile-home-nav a,.mobile-home-nav button{display:flex;align-items:center;justify-content:space-between;gap:14px;min-width:0;min-height:56px;padding:12px 16px;background:none;color:inherit;border:0;font:400 14px/1.5 var(--sans)}
  .mobile-home-nav a{padding-left:0;border-right:1px solid #f5f2ea33}
  .mobile-home-nav a span+span{color:var(--yellow)}
  .mobile-home-nav button{justify-content:flex-end;padding-right:0}
  .home-offer{gap:22px;padding-top:calc(var(--header) + 24px);padding-bottom:22px}
  .home-offer .home-intro{font-size:14px;max-width:330px}
  .home-offer .home-actions{gap:22px;flex-wrap:wrap}
  .home-offer .primary-cta{font-size:14px;padding:14px 18px;min-height:52px}
  .home-browse-link{font-size:14px}
}
@media(max-width:480px){
  body[data-page=home]{--header:122px}
  body[data-page=home] .site-header{height:auto;min-height:var(--header);align-content:center;gap:14px;padding-top:18px;padding-bottom:14px}
  .home-offer h1{font-size:clamp(36px,9vw,43px);line-height:1.07}
  .home-offer .eyebrow{font-size:10px;line-height:1.8}
  .home-offer .home-actions{align-items:flex-start;flex-direction:column;gap:8px}
  .home-offer .primary-cta{width:auto;min-width:212px}
  .home-page .gallery-controls{padding-bottom:14px;min-height:58px}
  .home-offer{min-height:calc(100svh - var(--bottom-nav) - 58px)}
}
@media(max-height:650px){
  .home-offer{gap:18px;padding-top:calc(var(--header) + 20px);padding-bottom:22px}
  .home-offer h1{font-size:clamp(36px,5.5vw,60px)}
  .home-offer .home-intro{font-size:14px}
}
