/* Keep navigation available throughout the gallery and workbench. */
:root{--nav-height:84px;scroll-padding-top:calc(var(--nav-height) + 16px)}
.site-header,.shop-page .site-header{position:fixed;inset:0 0 auto;height:var(--nav-height);z-index:40;background:#242527;border-bottom:1px solid var(--line)}
.site-header nav{align-items:center;gap:30px}
.site-header nav a{align-items:center}
.site-header nav .nav-diy{padding:10px 16px;border:1px solid #c8b68e80;color:var(--accent);font-size:14px;white-space:nowrap}
.site-header nav .nav-diy:hover{background:var(--accent);color:var(--bg)}
.site-header nav .nav-diy span{display:inline;color:inherit;font-size:18px}
.fireworks-stage{top:var(--nav-height);height:calc(100svh - var(--nav-height));min-height:620px}
.shop-page .shop-main{padding-top:calc(var(--nav-height) + 35px)}
.circle-add{display:grid;place-items:center}

/* The homepage closes with a quiet, non-interactive composition preview. */
.composition-invitation{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(32px,7vw,110px);align-items:center;border-top:1px solid var(--line);padding-block:65px 80px}
.composition-examples{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:560px;width:100%}
.preview-ear{position:relative;aspect-ratio:2/3;overflow:hidden;isolation:isolate;background:var(--bg)}
.preview-model{width:100%;height:100%;object-fit:cover;filter:brightness(.85);mix-blend-mode:lighten;transform:translate(2.5%,3%) scale(1.26)}
.preview-ear-left .preview-model{transform:translate(-2.5%,3%) scale(-1.26,1.26)}
.preview-jewel{position:absolute;width:22%;height:auto;transform:translate(-50%,-50%);object-fit:contain}
.look-one{left:48%;top:79%}.look-two{left:52%;top:79%}.look-three{left:78%;top:34%;width:14%}
.composition-invitation-copy h2{font:400 clamp(28px,3.3vw,50px)/1.4 "Songti SC","STSong",Georgia,serif;margin:16px 0}
.composition-invitation-copy>p:not(.eyebrow){font-size:16px;line-height:1.9;color:var(--muted)}
.composition-invitation-copy>.button{margin-top:28px}

/* The separate studio opens directly on its controls and ear canvases. */
.studio-main{padding-top:var(--nav-height)}
.studio-page .studio{padding-top:28px;padding-bottom:40px;scroll-margin-top:0}
.studio-page .studio-heading{margin:0 0 22px}
.studio-page .studio h1{font:400 clamp(26px,3vw,40px)/1.35 "Songti SC","STSong",Georgia,serif}
.studio-page .shelf-note{display:none}
.studio-page .workspace{padding-top:24px}
.studio-header .back-home{font-size:14px;padding:8px 0;border-bottom:1px solid var(--line)}
.studio-footer{display:flex;justify-content:space-between;gap:20px;margin:0 var(--space);padding:22px 0;border-top:1px solid var(--line);color:var(--muted);font-size:12px}

@media(max-width:800px){
  .composition-invitation{gap:28px}
  .site-header nav{gap:18px}
}
@media(max-width:600px){
  :root{--nav-height:72px;scroll-padding-top:calc(var(--nav-height) + 12px)}
  .site-header .brand img{width:38px;height:38px}
  .site-header .brand>span{font-size:25px}
  .site-header nav{gap:14px;font-size:14px}
  .site-header nav .nav-diy{padding:8px 10px}
  .site-header nav .nav-diy span{display:none}
  .composition-invitation{grid-template-columns:1fr;gap:25px;padding-block:35px 45px}
  .composition-examples{max-width:360px;justify-self:center}
  .composition-invitation-copy{text-align:center}
  .composition-invitation-copy h2{margin:12px 0}
  .composition-invitation-copy>.button{margin-top:20px}
  .studio-page .studio{padding-top:24px}
  .studio-page .studio-heading{margin-bottom:18px}
  .studio-page .studio h1{font-size:27px}
}
@media(prefers-reduced-motion:reduce){.fireworks-stage{top:0}}
