/* Slingshots.com — one stylesheet, no framework */
:root{
  --paper:#ffffff;--panel:#f6f4ef;--panel-2:#efece5;
  --ink:#191816;--ink-2:#3d3b37;--muted:#6f6c66;
  --rule:#e6e3dc;--rule-2:#cdc9bf;
  --red:#a52b2c;--red-dk:#831c1d;
  --serif:"Newsreader","Iowan Old Style","Palatino Linotype",Georgia,serif;
  --sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --measure:46rem;--wide:72rem;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif);font-size:19px;line-height:1.55;font-optical-sizing:auto;-webkit-font-smoothing:antialiased;overflow-x:clip}
::selection{background:var(--red);color:#fff}
:focus-visible{outline:2px solid var(--red);outline-offset:3px}
img,svg{max-width:100%;height:auto}
p,ul,ol{margin:0 0 1em}
ul,ol{padding-left:1.2em}
a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--red);text-decoration-thickness:1px;text-underline-offset:.2em;transition:color .12s}
a:hover{color:var(--red)}
.i-arrow{vertical-align:-.1em;margin-left:.15em;color:var(--red)}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.15;margin:0 0 .5em;letter-spacing:-.005em;text-wrap:balance}
h2{font-size:1.55rem}
h3{font-size:1.2rem}
.small{font-size:.86rem}.muted{color:var(--muted)}
.eyebrow,.brand-by,.site-nav a,.fcol h2,button,select,.spokes,.az-letters,.lead-links,.more,.fcol a,.fline{font-family:var(--sans)}
.wrap{width:min(100% - 2.5rem,var(--wide));margin-inline:auto}
.skip{position:absolute;left:-999px;top:0;background:var(--red);color:#fff;padding:.5rem 1rem;font-family:var(--sans)}
.skip:focus{left:8px;top:8px;z-index:99}

/* masthead */
.masthead{border-top:4px solid var(--red);border-bottom:1px solid var(--rule);background:var(--paper)}
.masthead-row{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:74px;position:relative}
.brand{display:flex;align-items:baseline;gap:.55rem;text-decoration:none;color:var(--ink);white-space:nowrap}
.brand:hover{color:var(--ink)}
.brand .mark{align-self:center;color:var(--ink)}
.brand-name{font-family:var(--serif);font-weight:600;font-size:1.6rem;letter-spacing:-.01em;line-height:1}
.brand-dot{color:var(--red)}
.brand-by{font-size:.68rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--red);margin-left:.2rem}
.site-nav ul{display:flex;gap:.15rem;list-style:none;margin:0;padding:0}
.site-nav li{margin:0}
.site-nav a{display:block;padding:.55rem .65rem;font-size:.84rem;font-weight:500;color:var(--ink-2);text-decoration:none;letter-spacing:.01em;border-bottom:2px solid transparent}
.site-nav a:hover,.site-nav a.active{color:var(--ink);border-bottom-color:var(--red)}
.nav-toggle{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.nav-burger{display:none;width:44px;height:44px;cursor:pointer;flex-direction:column;justify-content:center;gap:6px;padding:10px;margin-right:-10px}
.nav-burger span{display:block;height:2px;background:var(--ink);transition:transform .2s,opacity .2s}

/* lead */
main.home{padding:0 0 4rem}
.lead{padding:clamp(2.5rem,6vw,4.5rem) 0 clamp(2rem,4vw,3rem)}
.lead h1{max-width:52rem}
.eyebrow{font-size:.74rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--red);margin:0 0 1.2rem}
.lead h1{font-weight:400;font-size:clamp(1.75rem,3.4vw,2.85rem);line-height:1.2;letter-spacing:-.012em;margin:0 0 1.1em;text-wrap:pretty}
.lead-sub{font-size:1.14rem;color:var(--ink-2);max-width:var(--measure);margin-bottom:1.4em}
.lead-links{display:flex;flex-wrap:wrap;gap:.6rem 2rem;font-size:.9rem;font-weight:500}
.lead-links a{text-decoration:none}
.lead-links a:hover{text-decoration:underline}

/* pillars */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:0 clamp(1.5rem,3.5vw,3.5rem);border-top:1px solid var(--rule)}
.pillar{padding:1.6rem 0 1.4rem;border-bottom:1px solid var(--rule)}
.pillar h2{font-size:1.5rem;margin-bottom:.4em}
.pillar h2 a{text-decoration:none}
.pillar h2 a:hover{text-decoration:underline}
.pillar > p{font-size:1.02rem;color:var(--ink-2);margin-bottom:.9em}
.spokes{list-style:none;padding:0;margin:0 0 .9em;font-size:.9rem}
.spokes li{padding:.32rem 0;border-top:1px solid var(--rule)}
.spokes a{text-decoration:none;font-weight:500}
.spokes a:hover{text-decoration:underline}
.more{font-size:.84rem;font-weight:500;margin:0}
.more a{text-decoration:none;color:var(--ink-2)}
.more a:hover{color:var(--red)}

/* A–Z */
.az{padding:clamp(2rem,4vw,3rem) 0 0}
.az h2{font-size:1.7rem}
.az-letters{display:flex;flex-wrap:wrap;gap:.3rem;margin:0 0 1rem}
.az-letters a{display:inline-block;min-width:2.2rem;padding:.45rem 0;text-align:center;font-size:.9rem;font-weight:600;text-decoration:none;border:1px solid var(--rule-2);background:#fff}
.az-letters a:hover{border-color:var(--red);color:var(--red)}
.az-terms{font-size:1.02rem;color:var(--ink-2)}

/* legal notice */
.laws{margin:2rem 0;padding:1rem 1.3rem;border:1px solid var(--rule-2);max-width:52rem}
.laws p{margin:0;font-size:.98rem;color:var(--ink-2)}


/* footer */
.site-footer{border-top:1px solid var(--rule-2);padding:2.6rem 0 2rem;background:var(--paper)}
.fgrid{display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:2rem clamp(1.5rem,3vw,3rem)}
.fcol h2{font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 .8rem}
.fcol ul{list-style:none;margin:0;padding:0}
.fcol li{margin:0 0 .45rem}
.fcol a{font-size:.9rem;text-decoration:none;color:var(--ink-2)}
.fcol a:hover{color:var(--red);text-decoration:underline}
.brand-foot .brand-name{font-size:1.35rem}
.ftag{font-size:1rem;color:var(--ink-2);max-width:20rem;margin:.9rem 0 0}
.fline{border-top:1px solid var(--rule);margin-top:2.2rem;padding-top:1.2rem;font-size:.8rem;color:var(--muted)}
.fline p{margin:0 0 .5rem;max-width:60rem}
.fline a{color:var(--muted)}

/* responsive */
@media (max-width:1040px){
  .pillars{grid-template-columns:repeat(2,1fr)}
  .fgrid{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  body{font-size:17.5px}
  .masthead-row{min-height:64px}
  .brand-name{font-size:1.4rem}
  .brand-by{display:none}
  .nav-burger{display:flex}
  .site-nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--paper);border-bottom:1px solid var(--rule-2);z-index:40}
  .nav-toggle:checked ~ .site-nav{display:block}
  .site-nav ul{flex-direction:column;gap:0;padding:.4rem 0}
  .site-nav a{padding:.8rem 1.25rem;font-size:1rem;border-bottom:0}
  .nav-toggle:checked ~ .nav-burger span:nth-child(1){transform:translateY(8px) rotate(45deg)}
  .nav-toggle:checked ~ .nav-burger span:nth-child(2){opacity:0}
  .nav-toggle:checked ~ .nav-burger span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
  .pillars{grid-template-columns:1fr}
  .fgrid{grid-template-columns:1fr}
}
@media (min-width:1700px){
  :root{--wide:80rem}
  body{font-size:20px}
}
