:root{
  --sm-container:1180px;
  --sm-gutter:clamp(1rem,2.4vw,1.5rem);
  --sm-header-h:66px;
  --sm-radius:16px;
  --sm-radius-sm:12px;
  --sm-radius-lg:22px;
  --sm-shadow:0 22px 64px rgb(0 0 0/.42);
  --sm-shadow-soft:0 14px 36px rgb(0 0 0/.28);
  --sm-border:1px solid var(--line,rgba(244,237,225,.14));
  --sm-panel:color-mix(in srgb,var(--surface,rgba(44,35,30,.65)) 84%,var(--bg,#0b0b0c) 16%);
  --sm-panel-soft:color-mix(in srgb,var(--surface,rgba(44,35,30,.65)) 62%,transparent);
  --sm-field:color-mix(in srgb,var(--bg,#0b0b0c) 72%,var(--surface,rgba(44,35,30,.65)) 28%);
  --sm-prose:74ch;
}

*,*::before,*::after{box-sizing:border-box}
html{
  min-height:100%;
  background:var(--body-grad,var(--bodyGrad,var(--bg,#0b0b0c)));
  scroll-padding-top:calc(var(--sm-header-h) + 1.2rem);
}
body{
  min-height:100vh;
  margin:0;
  color:var(--ink,#f4ede1);
  background:var(--body-grad,var(--bodyGrad,var(--bg,#0b0b0c)));
  font-family:var(--font-ui,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif);
  letter-spacing:0;
}
img,svg,video,canvas{max-width:100%;height:auto}
button,input,textarea,select{font:inherit}
a{color:inherit}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{
  outline:2px solid var(--accent,#d88b45);
  outline-offset:3px;
  border-radius:var(--sm-radius-sm);
}

.page-shell,.sm-shell,.shell,.section-shell{
  width:min(var(--sm-container),100%);
  margin-inline:auto;
  padding-inline:var(--sm-gutter);
}
.page-main,.sm-page-main{
  padding-top:calc(var(--sm-header-h) + clamp(1rem,3vw,2rem));
  padding-bottom:clamp(2.5rem,6vw,5rem);
}
.sm-section{padding-block:clamp(2.2rem,6vw,5rem)}
.sm-stack{display:flex;flex-direction:column;gap:var(--sm-stack-gap,1rem)}
.sm-cluster{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sm-cluster-gap,.75rem)}
.sm-grid{display:grid;gap:var(--sm-grid-gap,1rem);grid-template-columns:repeat(var(--sm-grid-cols,3),minmax(0,1fr))}

.sm-panel,.sm-card,.panel,.card{
  border:var(--sm-border);
  background:var(--sm-panel);
  border-radius:var(--sm-radius);
  box-shadow:var(--sm-shadow-soft);
}
.sm-card,.card{overflow:hidden}
.sm-panel{padding:clamp(1rem,2.4vw,1.35rem)}

.btn,.sm-btn,.btn-primary,.btn-ghost,.promo-btn,.newsletter-link-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  min-height:2.55rem;
  border-radius:999px;
  border:var(--sm-border);
  padding:.65rem 1.05rem;
  text-decoration:none;
  cursor:pointer;
  line-height:1;
  transition:transform .16s ease,filter .16s ease,background .16s ease,border-color .16s ease,box-shadow .16s ease;
}
.btn:hover,.sm-btn:hover,.btn-primary:hover,.btn-ghost:hover,.promo-btn:hover,.newsletter-link-btn:hover{
  transform:translateY(-1px);
  filter:brightness(1.05);
}
.btn-primary,.sm-btn-primary,.btn.primary,.promo-btn,.newsletter-link-btn{
  background:var(--accent,#d88b45);
  color:color-mix(in srgb,var(--bg,#111) 92%,#000 8%);
  border-color:color-mix(in srgb,var(--accent,#d88b45) 72%,transparent);
  font-weight:750;
}
.btn-ghost,.sm-btn-ghost{
  background:color-mix(in srgb,var(--bg,#000) 56%,transparent);
  color:var(--ink,#f4ede1);
}

.sm-kicker,.kicker{
  margin:0;
  color:var(--muted,rgba(244,237,225,.65));
  font-size:.68rem;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.sm-title{
  margin:0;
  color:var(--ink,#f4ede1);
  font-family:var(--font-brand,"IM Fell English",Georgia,"Times New Roman",serif);
  font-weight:400;
  line-height:1.08;
}
.sm-copy,.sm-prose{
  color:var(--muted,rgba(244,237,225,.72));
  line-height:1.75;
}
.sm-prose{max-width:var(--sm-prose)}
.sm-prose :where(p,ul,ol,blockquote){margin-top:0;margin-bottom:1rem}
.sm-prose :where(h2,h3){color:var(--ink,#f4ede1);line-height:1.2;margin:1.6rem 0 .65rem}

.sm-field,input[type="text"],input[type="email"],input[type="search"],input[type="tel"],input[type="url"],textarea,select{
  border:var(--sm-border);
  border-radius:var(--sm-radius-sm);
  background:var(--sm-field);
  color:var(--ink,#f4ede1);
}

.skip-link{
  position:absolute;
  left:-9999px;
  top:10px;
  z-index:10000;
  padding:.65rem .95rem;
  border-radius:999px;
  background:var(--accent,#d88b45);
  color:var(--bg,#111);
  text-decoration:none;
  font-weight:800;
}
.skip-link:focus{left:10px}
.sr-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

@media(max-width:780px){
  .sm-grid{grid-template-columns:1fr}
  .page-main,.sm-page-main{padding-top:calc(var(--sm-header-h) + 1rem)}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{
    scroll-behavior:auto!important;
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
    transition-duration:.001ms!important;
  }
}
