/* Good Place Interiors — static site base (converted from Claude Design export) */
html,body{margin:0;padding:0;background:#F5F4F0;color:#221E1C;-webkit-font-smoothing:antialiased;font-family:Jost,-apple-system,sans-serif}
*{box-sizing:border-box}
html,body{overflow-x:hidden}
a{color:#A8252B}
a:hover{color:#221E1C}
img{display:block;max-width:100%}
figure{margin:0}
::selection{background:#A8252B;color:#F5F4F0}

/* Scroll reveal — IntersectionObserver driven (universal support; content stays
   visible if JS is disabled because hiding only applies under .js-reveal). */
[data-reveal]{transition:opacity .9s cubic-bezier(.2,.6,.2,1),transform .9s cubic-bezier(.2,.6,.2,1)}
.js-reveal [data-reveal]{opacity:0;transform:translateY(26px);will-change:opacity,transform}
.js-reveal [data-reveal].is-visible{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){.js-reveal [data-reveal]{opacity:1 !important;transform:none !important;transition:none}}

/* Keep the header on one line on small screens */
@media (max-width:600px){
  header{padding-left:18px !important;padding-right:18px !important}
  header > a{white-space:nowrap}
  header a > span:first-child{font-size:17px !important}
  header a > span:nth-child(2){display:none !important}   /* hide "INTERIORS" — too wide for phones */
  header nav{gap:13px !important}
  header nav a{font-size:10.5px !important;letter-spacing:.1em !important}
}
@media (max-width:360px){
  header a > span:first-child{font-size:16px !important}
  header nav{gap:11px !important}
  header nav a{font-size:10px !important;letter-spacing:.06em !important}
}

/* Safety: never let editor-set fixed widths cause horizontal overflow */
section p, section h1, section h2, section div{max-width:100%}
