*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;overflow-x:clip;background:#fffdf9;color:#222;font:18px/1.6 "Libre Caslon Text",Georgia,serif}
a{color:inherit}
img,video{display:block;max-width:100%}

.top,main,footer{max-width:900px;margin:0 auto;padding:0 24px}
.top{display:flex;justify-content:space-between;align-items:baseline;padding-top:28px;padding-bottom:28px}
.name{font-size:24px;font-weight:700;text-decoration:none}
.top nav a{margin-left:22px;font-size:16px}

h1{font-size:50px;line-height:1.15;font-weight:400;margin:48px 0 28px;max-width:780px;letter-spacing:-.01em}
h2{font-size:28px;font-weight:400;margin:0 0 16px}
h3{font-size:19px;margin:32px 0 12px}
p{margin:0 0 16px;max-width:680px}
section{padding:48px 0;border-top:1px solid #e6e0d6}
.intro{border-top:0;padding-top:0;padding-bottom:40px}
.intro p{font-size:20px}
.ctas{margin-top:28px}
.ctas a{margin-right:22px;font-size:17px}
.button{display:inline-block;background:#222;color:#fffdf9;text-decoration:none;padding:12px 26px}
.button:hover{background:#7a3324}
a:hover{color:#7a3324}
.top nav a{text-decoration:none}
.top nav a:hover{text-decoration:underline}

.strip{width:100vw;margin-left:calc(50% - 50vw);overflow:hidden;padding:8px 0 56px}
.strip-track{display:flex;gap:14px;width:max-content;animation:drift 90s linear infinite}
.strip:hover .strip-track{animation-play-state:paused}
.still{all:unset;cursor:pointer;flex:none;width:190px}
.still img{width:100%;aspect-ratio:9/16;object-fit:cover;background:#eee;transition:opacity .2s}
.still:hover img{opacity:.85}
.still:focus-visible{outline:2px solid #222;outline-offset:3px}
@keyframes drift{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.strip-track{animation:none}.strip{overflow-x:auto}}

.videos{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:8px}
.video{all:unset;cursor:pointer;display:block}
.video img{width:100%;aspect-ratio:9/16;object-fit:cover;background:#eee}
.video span{display:block;font-size:15px;line-height:1.4;margin-top:8px;color:#333}
.video span::before{content:"Watch: ";color:#888}
.video:hover span{text-decoration:underline}
.video:focus-visible{outline:2px solid #222;outline-offset:3px}

.lead{max-width:520px;margin-top:20px}
.lead label{display:block;font-size:16px;margin-bottom:16px}
.lead input,.lead textarea{display:block;width:100%;margin-top:6px;padding:10px;font:inherit;font-size:16px;border:1px solid #bbb;background:#fff;border-radius:0}
.lead input:focus,.lead textarea:focus{outline:2px solid #222;outline-offset:0}
.lead button{font:inherit;font-size:16px;padding:12px 30px;background:#222;color:#fff;border:0;cursor:pointer}
.lead button:hover{background:#7a3324}
.lead button:disabled{opacity:.6}
.hp{position:absolute;left:-9999px}
.status{font-size:16px;margin-top:12px}
.status.err{color:#a3341f}

footer{padding-top:32px;padding-bottom:48px;border-top:1px solid #e6e0d6;font-size:15px;color:#666}

.player{border:0;padding:0;background:transparent;max-width:min(420px,92vw)}
.player::backdrop{background:rgba(0,0,0,.85)}
.player video{width:100%;max-height:82vh;background:#000}
.close{display:block;margin:0 0 8px auto;font:inherit;font-size:15px;background:none;color:#fff;border:0;text-decoration:underline;cursor:pointer}

@media (max-width:700px){
  body{font-size:17px}
  .top nav a{margin-left:14px;font-size:15px}
  h1{font-size:34px;margin-top:20px}
  .intro p{font-size:18px}
  .still{width:130px}
  .strip{padding-bottom:40px}
  h2{font-size:24px}
  section{padding:36px 0}
  .videos{grid-template-columns:repeat(2,1fr);gap:12px}
}
