/* Esy Track Reader */
*, *::before, *::after { box-sizing: border-box; }
body.esy-body { margin: 0; background: #fff7ed; color: #431407; font-family: system-ui,Segoe UI,sans-serif; line-height: 1.65; }
.esy-header { padding: 1.5rem clamp(1rem,3vw,2rem); border-bottom: 1px solid rgba(0,0,0,.08); display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; align-items: baseline; }
.esy-title { margin: 0; font-size: 1.2rem; letter-spacing: .04em; }
.esy-title a { color: inherit; text-decoration: none; }
.esy-nav { display: flex; flex-wrap: wrap; gap: .5rem .9rem; font-size: .88rem; }
.esy-nav a { color: #9a3412; text-decoration: none; }
.esy-nav a:hover { color: #fb7185; }
.esy-main, .esy-page, .esy-list, .esy-split { max-width: 960px; margin: 0 auto; padding: 2.5rem clamp(1rem,3vw,2rem) 4rem; }
.esy-hero { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 1.5rem; align-items: center; }
@media (max-width: 860px) { .esy-hero { grid-template-columns: 1fr; } }
.esy-hero img { width: 100%; height: auto; border-radius: 8px; border: 1px solid rgba(0,0,0,.1); }
.esy-hero h1 { margin: 0 0 .75rem; font-size: clamp(1.8rem,3vw,2.4rem); font-weight: 600; }
.esy-intro { margin: 0; color: #9a3412; }
.esy-sec { margin-top: 2.5rem; padding-top: 2rem; border-top: 1px solid rgba(0,0,0,.1); }
.esy-sec h2 { margin: 0 0 1rem; font-size: 1.5rem; font-weight: 600; }
.esy-sec p { color: #9a3412; margin: 0 0 1rem; }
.esy-pair { display: grid; grid-template-columns: 1fr 0.85fr; gap: 1.5rem; align-items: start; }
@media (max-width: 820px) { .esy-pair { grid-template-columns: 1fr; } }
.esy-pair img { width: 100%; height: auto; border-radius: 8px; border: 1px solid rgba(0,0,0,.1); }
.esy-page h1 { margin: 0 0 .5rem; font-size: 2rem; }
.esy-lead { color: #9a3412; margin: 0 0 1rem; }
.esy-page figure { margin: 2rem 0; }
.esy-page img, .esy-list img { width: 100%; height: auto; border-radius: 8px; border: 1px solid rgba(0,0,0,.1); }
.esy-split { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; max-width: 1000px; }
@media (max-width: 840px) { .esy-split { grid-template-columns: 1fr; } }
.esy-form label { display: block; font-size: .85rem; color: #9a3412; margin-bottom: .35rem; }
.esy-form input, .esy-form textarea { width: 100%; padding: .65rem .75rem; border: 1px solid rgba(0,0,0,.15); border-radius: 8px; font: inherit; background: #fff; color: #111; }
.esy-form textarea { min-height: 140px; resize: vertical; }
.esy-form button { margin-top: .75rem; padding: .65rem 1.2rem; border: none; border-radius: 8px; background: #fb7185; color: #fff; cursor: pointer; font: inherit; }
.esy-footer { border-top: 1px solid rgba(0,0,0,.1); padding: 2.5rem clamp(1rem,3vw,2rem); background: rgba(255,255,255,.04); }
.esy-footcols { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; max-width: 1000px; margin: 0 auto; font-size: .95rem; }
@media (max-width: 760px) { .esy-footcols { grid-template-columns: 1fr; } }
.esy-label { font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; margin: 0 0 .35rem; color: #9a3412; }
.esy-footer p { margin: 0 0 .5rem; color: #9a3412; }
.esy-dis { text-align: center; max-width: 800px; margin: 1.5rem auto 0; font-size: .88rem; color: #9a3412; }
.esy-legal { text-align: center; font-size: .85rem; margin-top: 1rem; }
.esy-ck { border: none; background: none; color: #fb7185; cursor: pointer; font: inherit; text-decoration: underline; }
.esy-copy { text-align: center; font-size: .8rem; color: #9a3412; margin-top: .5rem; }
.esy-bn { position: fixed; left: 1rem; bottom: 1rem; background: #111; color: #f8fafc; padding: 1rem; border-radius: 10px; max-width: 380px; z-index: 50; font-size: .9rem; }
.esy-bn a { color: #93c5fd; }
.esy-bn button { margin-right: .5rem; margin-top: .5rem; padding: .4rem .8rem; border-radius: 6px; border: 1px solid #444; background: transparent; color: #fff; cursor: pointer; font: inherit; }
#esy-yes { background: #fff; color: #111; border-color: #fff; }
.esy-list h1 { margin: 0 0 1.5rem; font-size: 2rem; }
.esy-li { display: grid; grid-template-columns: 220px 1fr; gap: 1rem; padding: 1.25rem 0; border-bottom: 1px solid rgba(0,0,0,.1); align-items: center; }
@media (max-width: 640px) { .esy-li { grid-template-columns: 1fr; } }
.esy-li h2 { margin: 0 0 .35rem; font-size: 1.25rem; font-weight: 600; }
.esy-li a { color: inherit; text-decoration: none; }
.esy-li a:hover { text-decoration: underline; }
