:root{
  --void:#0E1114;--base:#14181C;--raised:#1B2127;--steel:#3A4149;--line:#262C32;
  --bone:#E8E4DC;--muted:#9AA1A8;--faint:#5C646C;
  --ember:#D9531E;--ember-hot:#F2691F;--ember-deep:#A23A12;
  --brass:#B08D57;--paper:#E8E4DC;--paper-ink:#14181C;
  --olive:#5B7A4A;--steeltag:#6B7480;
  --gun:#3E5C7A;--gun-deep:#27425C;--gun-sheen:rgba(86,128,168,.30);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:78px;}
body{margin:0;background:var(--void);color:var(--bone);font-family:'IBM Plex Sans',system-ui,sans-serif;-webkit-font-smoothing:antialiased;}
img{max-width:100%;}
::selection{background:var(--ember);color:#160B05;}
::-webkit-scrollbar{width:11px;height:11px;}
::-webkit-scrollbar-track{background:var(--void);}
::-webkit-scrollbar-thumb{background:var(--steel);border:3px solid var(--void);}

@keyframes emberPulse{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(217,83,30,.5);}50%{opacity:.5;box-shadow:0 0 0 7px rgba(217,83,30,0);}}

/* scroll reveals */
[data-reveal]{opacity:0;transform:translateY(14px);transition:opacity .7s ease,transform .7s ease;}
[data-reveal][data-in="1"]{opacity:1 !important;transform:none !important;}
[data-reveal].d1{transition-delay:.05s;}
[data-reveal].d2{transition-delay:.1s;}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  [data-pulse]{animation:none !important;}
  [data-reveal]{transition:none !important;}
}

/* hover/state helpers (replace prototype style-hover="...") */
a{color:inherit;}
.h-navlink{transition:color .18s ease;}
.h-navlink:hover{color:var(--bone) !important;}
.h-link-ember{transition:color .18s ease;}
.h-link-ember:hover{color:var(--ember) !important;}
.h-link-muted{transition:color .18s ease;}
.h-link-muted:hover{color:var(--muted) !important;}
.h-link-bone:hover{color:var(--bone) !important;}
.h-btn-ember{transition:background .18s ease;}
.h-btn-ember:hover{background:var(--ember-hot) !important;}
.h-btn-outline{transition:border-color .18s ease,color .18s ease;}
.h-btn-outline:hover{border-color:var(--ember) !important;color:var(--ember) !important;}
.h-card-sched{transition:background .2s ease,box-shadow .2s ease;}
.h-card-sched:hover{background:var(--raised) !important;box-shadow:inset 0 2px 0 var(--gun) !important;}
.h-card-gun{transition:border-color .2s ease;}
.h-card-gun:hover{border-color:var(--gun) !important;}
.h-social{transition:border-color .18s ease,color .18s ease;}
.h-social:hover{border-color:var(--ember) !important;color:var(--ember) !important;}

/* mobile/desktop visibility, breakpoint 880px */
.only-desktop{display:flex;}
.only-mobile{display:none;}
@media (max-width:879px){
  .only-desktop{display:none !important;}
  .only-mobile{display:flex !important;}
}
