table{border-collapse:collapse;border-spacing:0}
th,td{padding:0;text-align:start}
body{margin:0}
*{box-sizing:border-box}

body{
  --smt-bg:#d6ecc0;
  --smt-ink:#2e1620;
  --smt-accent:#9c2b46;
  --smt-accent2:#857f5c;
  --smt-surface:#e8fdc9;
  --smt-rowh:3rem;
  --smt-wcol:2.4rem;
  --smt-measure:38rem;
  background:var(--smt-bg);
  color:var(--smt-ink);
  font-family:"Faustina",Georgia,"Times New Roman",serif;
  font-weight:400;
  font-size:1.0625rem;
  line-height:1.62;
  padding:0 1.15rem 4rem;
  overflow-x:hidden;
}

header{
  max-width:var(--smt-measure);
  padding:3.2rem 0 1.4rem;
  border-bottom:1px solid var(--smt-accent2);
}

h1{
  font-family:"Commissioner","Segoe UI",system-ui,sans-serif;
  font-weight:700;
  font-size:1.72rem;
  letter-spacing:.055em;
  line-height:1.15;
  margin:0 0 .5rem;
  color:var(--smt-accent);
}

header p{
  margin:0 0 1.1rem;
  max-width:30rem;
}

header::after{
  content:"";
  display:block;
  height:3px;
  width:100%;
  max-width:11rem;
  background:var(--smt-accent);
  transform-origin:left center;
  animation:smt-rule 620ms cubic-bezier(.2,.75,.3,1) both;
}

@keyframes smt-rule{
  from{transform:scaleX(.06)}
  to{transform:scaleX(1)}
}

main{
  display:block;
  max-width:74rem;
}

section{
  max-width:var(--smt-measure);
  padding:2.6rem 0 .4rem;
  border-bottom:1px solid rgba(133,127,92,.45);
}

section:last-of-type{border-bottom:0}

h2{
  font-family:"Commissioner","Segoe UI",system-ui,sans-serif;
  font-weight:700;
  font-size:1.16rem;
  line-height:1.3;
  letter-spacing:.005em;
  margin:0 0 1rem;
  max-width:28rem;
}

h3{
  font-family:"Commissioner","Segoe UI",system-ui,sans-serif;
  font-weight:700;
  font-size:.82rem;
  letter-spacing:.13em;
  text-transform:uppercase;
  margin:0 0 .55rem;
  color:var(--smt-accent);
}

p{margin:0 0 1.05rem}

a{
  color:var(--smt-accent);
  text-decoration-thickness:1px;
  text-underline-offset:.18em;
  transition:color 180ms ease,text-decoration-color 180ms ease;
}

a:hover,a:focus-visible{
  color:var(--smt-ink);
  text-decoration-color:var(--smt-accent);
}

a:focus-visible,button:focus-visible,input:focus-visible{
  outline:2px solid var(--smt-accent);
  outline-offset:2px;
}

#smt-starts ul{
  list-style:none;
  margin:0 0 .8rem;
  padding:0;
}

#smt-starts li{
  font-family:"Commissioner","Segoe UI",system-ui,sans-serif;
  font-weight:700;
  font-size:1.6rem;
  letter-spacing:.02em;
  line-height:1.5;
  padding-bottom:.35rem;
  border-bottom:1px solid rgba(133,127,92,.5);
  max-width:16rem;
}

#smt-starts li:last-child{border-bottom:0}

#smt-grid-section{max-width:74rem}

#smt-grid-section > h2,
#smt-grid-section > p{max-width:var(--smt-measure)}

#smt-grid-layout{
  display:block;
  padding-bottom:1.6rem;
}

#smt-grid{
  position:relative;
  margin-bottom:1.5rem;
}

table{
  width:100%;
  table-layout:fixed;
  font-family:"Commissioner","Segoe UI",system-ui,sans-serif;
}

thead th{
  height:2.6rem;
  font-weight:500;
  font-size:.7rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--smt-accent2);
  border-bottom:2px solid var(--smt-accent2);
  padding-inline-start:.35rem;
}

thead th:first-child{width:var(--smt-wcol);padding-inline-start:0}

tbody th{
  width:var(--smt-wcol);
  font-family:"Commissioner","Segoe UI",system-ui,sans-serif;
  font-weight:500;
  font-size:.86rem;
  color:var(--smt-accent2);
  border-bottom:1px solid rgba(133,127,92,.35);
  transition:font-weight 140ms ease,color 140ms ease;
}

tbody td{
  border-bottom:1px solid rgba(133,127,92,.35);
}

tbody tr:hover th,
tbody tr:focus-within th{
  font-weight:700;
  color:var(--smt-ink);
}

.smt-cell{
  display:block;
  position:relative;
  z-index:1;
  width:100%;
  height:var(--smt-rowh);
  margin:0;
  padding:0 .4rem;
  border:0;
  border-inline-start:1px solid rgba(133,127,92,.35);
  background:transparent;
  color:var(--smt-ink);
  font-family:"Commissioner","Segoe UI",system-ui,sans-serif;
  font-weight:500;
  font-size:.74rem;
  line-height:1.25;
  letter-spacing:.01em;
  text-align:start;
  cursor:pointer;
  transition:background-color 160ms ease,font-weight 140ms ease;
}

.smt-cell:hover,
.smt-cell:focus-visible{
  background:var(--smt-surface);
  font-weight:700;
}

.smt-cell[aria-pressed="true"]{
  font-weight:700;
  box-shadow:inset 0 -3px 0 0 var(--smt-accent);
}

.smt-crosshair-x{
  position:absolute;
  inset-block-start:0;
  inset-inline-start:0;
  width:100%;
  height:var(--smt-rowh);
  background:rgba(156,43,70,.15);
  transform:translateY(var(--smt-y));
  transition:transform 260ms cubic-bezier(.22,.72,.28,1);
  pointer-events:none;
  z-index:0;
}

.smt-crosshair-y{
  position:absolute;
  inset-block-start:0;
  inset-inline-start:0;
  height:100%;
  width:calc((100% - var(--smt-wcol)) / 3);
  background:rgba(156,43,70,.15);
  transform:translateX(var(--smt-x));
  transition:transform 260ms cubic-bezier(.22,.72,.28,1);
  pointer-events:none;
  z-index:0;
}

.smt-panel{
  background:var(--smt-surface);
  border-inline-start:3px solid var(--smt-accent);
  padding:1.1rem 1.15rem .35rem;
  max-width:var(--smt-measure);
}

.smt-panel p:first-of-type{
  font-family:"Commissioner","Segoe UI",system-ui,sans-serif;
  font-weight:700;
  font-size:1.05rem;
  margin-bottom:.5rem;
}

#smt-planner{
  margin:0 0 1.3rem;
  padding:1rem 1.1rem .1rem;
  background:var(--smt-surface);
  border-block-start:2px solid var(--smt-accent2);
}

#smt-planner p{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  justify-content:space-between;
  gap:.5rem .9rem;
  margin:0 0 .85rem;
}

label{
  font-family:"Commissioner","Segoe UI",system-ui,sans-serif;
  font-weight:500;
  font-size:.78rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--smt-accent2);
}

input{
  width:6.5rem;
  padding:.34rem .5rem;
  border:1px solid var(--smt-accent2);
  background:var(--smt-bg);
  color:var(--smt-ink);
  font-family:"Commissioner","Segoe UI",system-ui,sans-serif;
  font-weight:700;
  font-size:1rem;
  transition:border-color 160ms ease,background-color 160ms ease;
}

input:hover,input:focus-visible{
  border-color:var(--smt-accent);
  background:var(--smt-surface);
}

#smt-working{margin:0 0 1.2rem}

#smt-working dt{
  font-family:"Commissioner","Segoe UI",system-ui,sans-serif;
  font-weight:500;
  font-size:.74rem;
  letter-spacing:.09em;
  text-transform:uppercase;
  color:var(--smt-accent2);
  margin-block-start:.85rem;
}

#smt-working dd{
  margin:.12rem 0 0;
  font-family:"Commissioner","Segoe UI",system-ui,sans-serif;
  font-weight:700;
  font-size:1.08rem;
}

#smt-working dd:last-of-type{
  color:var(--smt-accent);
  font-size:1.3rem;
}

footer{
  max-width:var(--smt-measure);
  margin-block-start:2.8rem;
  padding-block-start:1.6rem;
  border-block-start:3px solid var(--smt-accent);
  font-size:.95rem;
}

address{
  font-style:normal;
  line-height:1.5;
  margin-bottom:1rem;
}

footer p{margin:0 0 .45rem}

@media (min-width:46rem){
  body{padding:0 2.4rem 5rem;font-size:1.125rem}
  h1{font-size:2.3rem}
  h2{font-size:1.34rem}
  #smt-starts li{font-size:2.1rem}
  .smt-cell{font-size:.86rem;padding:0 .6rem}
  body{--smt-wcol:3rem}
}

@media (min-width:62rem){
  #smt-grid-layout{
    display:grid;
    grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);
    gap:2.2rem;
    align-items:start;
  }
  #smt-grid{margin-bottom:0}
  .smt-panel{
    position:sticky;
    inset-block-start:1.4rem;
  }
  #smt-planner p{max-width:30rem}
}

body#smt-notice{max-width:44rem}

body#smt-notice h1{
  font-size:1.5rem;
  letter-spacing:.04em;
  max-width:32rem;
}

body#smt-notice section{
  max-width:none;
  border-bottom:0;
  padding:1.9rem 0 0;
}

body#smt-notice dl{
  margin:.6rem 0 1.4rem;
  padding-inline-start:1rem;
  border-inline-start:3px solid var(--smt-accent2);
}

body#smt-notice dt{
  font-family:"Commissioner","Segoe UI",system-ui,sans-serif;
  font-weight:700;
  font-size:.82rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--smt-accent);
  margin-block-start:.9rem;
}

body#smt-notice dd{margin:.15rem 0 0}

@media (min-width:46rem){
  body#smt-notice h1{font-size:1.9rem}
}

@media (prefers-reduced-motion: reduce){
  header::after{animation:none}
  .smt-crosshair-x,.smt-crosshair-y{transition:none}
  .smt-cell,tbody th,input,a{transition:none}
}
