@font-face{font-family:"Playfair Display";src:url(/assets/fonts/playfair-display.woff2?v=5) format("woff2");font-weight:400 900;font-style:normal;font-display:swap}@font-face{font-family:"Newsreader";src:url(/assets/fonts/newsreader.woff2?v=5) format("woff2");font-weight:200 800;font-style:normal;font-display:swap}@font-face{font-family:"Libre Franklin";src:url(/assets/fonts/libre-franklin.woff2?v=5) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}:root{--bg:#FFFFFF;--surface:#E9ECEA;--ink:#17191A;--muted:#4A4F52;--accent:#A82B21;--accent-ink:#FFFFFF;--hot:#C2372B;--hot-ink:#FFFFFF;--rule:#C9CECB;--radius:0px;--head:"Playfair Display",Georgia,serif;--body:"Newsreader",Georgia,serif;--label:"Libre Franklin",system-ui,sans-serif;--head-weight:800;}/* The rules every publication shares. Colors, type and corner radius come
   from the publication's brand as custom properties (controllers/main.py
   puts them, and the brand's font faces, in front of this file). A layout
   (lay-cards, lay-briefing, lay-masthead) and a brand (b-...) are classes on
   the body. */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1.0625rem/1.65 var(--body);font-optical-sizing:auto}
img{max-width:100%;height:auto;display:block}
a{color:var(--accent);text-underline-offset:.18em;text-decoration-thickness:.08em}
a:hover{text-decoration-thickness:.14em}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:2px}
h1,h2,h3{font-family:var(--head);font-weight:var(--head-weight);line-height:1.15;margin:0;letter-spacing:-.01em;text-wrap:balance}
p{margin:0 0 1rem}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.wrap{width:min(100% - 2.5rem,70rem);margin-inline:auto}
.narrow{width:min(100%,42rem);margin-inline:auto}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:var(--bg);padding:.5rem 1rem;z-index:2}
.skip:focus{left:.5rem;top:.5rem}

/* header */
.hd{border-bottom:1px solid var(--rule);background:var(--bg)}
.hd__row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 2rem;padding:.9rem 0}
.hd__logo{display:block;line-height:0}
.hd__logo img{height:2.25rem;width:auto}
.hd__name{font:var(--head-weight) 1.5rem/1 var(--head);color:var(--ink);text-decoration:none}
.nav{display:flex;flex-wrap:wrap;gap:.25rem 1.5rem;font:500 .9375rem/1.2 var(--label)}
.nav a{color:var(--ink);text-decoration:none;padding:.5rem 0}
.nav a:hover{color:var(--accent);text-decoration:underline}
.hd__stack{display:flex;flex-direction:column;align-items:center;gap:.875rem;padding:1.5rem 0 0}
.hd__mast{display:block;width:min(100%,44rem);line-height:0}
.hd__mast img{width:100%;height:auto}
.hd--mast .hd__logo img{height:2.75rem}
.hd--mast .nav{justify-content:center;width:100%;border-top:1px solid var(--rule);padding:.25rem 0}

/* small type */
.label,.meta,.topic,.kicker{font-family:var(--label)}
.label{font-size:.8125rem;font-weight:600;line-height:1.2;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:2.5rem 0 1rem}
.kicker{font-size:.8125rem;font-weight:600;line-height:1;letter-spacing:.08em;text-transform:uppercase;color:var(--hot);margin:0 0 .875rem}
.meta{display:flex;flex-wrap:wrap;gap:.25rem 1rem;font-size:.8125rem;color:var(--muted);margin:0}
.meta a{color:inherit}
.topic{font-size:.8125rem;font-weight:600;line-height:1.3;margin:0 0 .5rem}
.topic a{text-decoration:none}
.topic a:hover{text-decoration:underline}

/* the top of a page */
.hero{padding:3.5rem 0 2rem}
.hero h1{font-size:clamp(2.25rem,5.5vw,3.75rem);max-width:18ch}
.hero__intro{font-size:1.1875rem;line-height:1.55;color:var(--muted);max-width:40rem;margin:1.125rem 0 0}
.hero--small{padding:2.5rem 0 1.25rem}
.hero--small h1{font-size:clamp(1.875rem,4.5vw,2.75rem);max-width:24ch}

/* articles in a grid */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(18rem,1fr));gap:1.75rem;padding:.5rem 0 2rem}
.card{background:var(--surface);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column}
.card__img{display:block}
.card__img img{width:100%;aspect-ratio:16/9;object-fit:cover}
.card__text{padding:1.25rem 1.375rem 1.5rem}
.card__title{font-size:1.375rem;margin-bottom:.5rem}
.card__title a,.row__title a,.lead__title a{color:var(--ink);text-decoration:none}
.card__title a:hover,.row__title a:hover,.lead__title a:hover{color:var(--accent);text-decoration:underline}
.card__sum{font-size:.96875rem;color:var(--muted);margin-bottom:.875rem}
.is-home .grid .card:first-child{grid-column:1/-1;display:grid;grid-template-columns:1.2fr 1fr;align-items:center}
.is-home .grid .card:first-child .card__img img{height:100%}
.is-home .grid .card:first-child .card__text{padding:2rem 2.25rem}
.is-home .grid .card:first-child .card__title{font-size:clamp(1.625rem,3vw,2.375rem)}
.is-home .grid .card:first-child .card__sum{font-size:1.0625rem}

/* articles in a list */
.list{border-top:1px solid var(--rule)}
.row{display:grid;grid-template-columns:1fr 9.5rem;gap:1.5rem;padding:1.5rem 0;border-bottom:1px solid var(--rule);align-items:start}
.row:not(:has(.row__img)){grid-template-columns:1fr}
.list--num .row{grid-template-columns:3.25rem 1fr 9.5rem}
.list--num .row:not(:has(.row__img)){grid-template-columns:3.25rem 1fr}
.row__num{font:400 1.5rem/1.2 var(--label);color:var(--hot)}
.row__title{font-size:1.3125rem;margin-bottom:.375rem}
.row__sum{font-size:.96875rem;color:var(--muted);margin-bottom:.625rem}
.row__img img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius)}
.list--cols{display:grid;grid-template-columns:1fr 1fr;column-gap:3.5rem;position:relative;border-top:2px solid var(--ink)}
.list--cols::before{content:"";position:absolute;left:50%;top:0;bottom:0;border-left:1px solid var(--rule)}

/* the front page's first article */
.lead{display:grid;grid-template-columns:1.25fr 1fr;gap:2.5rem;align-items:center;padding:.5rem 0 2rem}
.lead:not(:has(.lead__img)){grid-template-columns:1fr}
.lead__img img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius)}
.lead__title{font-size:clamp(1.75rem,3.6vw,2.625rem);margin-bottom:.75rem}
.lead__sum{font-size:1.125rem;color:var(--muted)}
.more,.empty{padding:1.25rem 0;margin:0;font-family:var(--label);font-weight:600}
.pages{display:flex;justify-content:space-between;gap:1rem;padding:1.5rem 0;font:500 .9375rem/1.3 var(--label)}

/* an article */
.art{padding:2.75rem 0 1rem}
.art h1{font-size:clamp(2rem,5vw,3rem);margin:.25rem 0 1rem}
.art__stand{font-size:1.25rem;line-height:1.5;color:var(--muted)}
.disc{font:400 .875rem/1.5 var(--label);background:var(--surface);border-left:4px solid var(--hot);padding:.75rem 1rem;margin:1.25rem 0 0;border-radius:0 var(--radius) var(--radius) 0}
.fig{margin:1.75rem 0}
.fig img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius);background:var(--surface)}
.fig figcaption{font:400 .75rem/1.4 var(--label);color:var(--muted);margin-top:.375rem}
.fig figcaption a{color:inherit}
.body{font-size:1.125rem;line-height:1.75}
.body h2{font-size:1.625rem;margin:2.5rem 0 .625rem}
.body h3{font-size:1.25rem;margin:1.75rem 0 .375rem}
.body p{margin:0 0 1.25rem}
.body ul,.body ol{margin:0 0 1.25rem;padding-left:1.375rem}
.body li{margin-bottom:.5rem}
.body blockquote{margin:1.75rem 0;padding:.25rem 0 .25rem 1.25rem;border-left:4px solid var(--hot);color:var(--muted)}
.corr{font-size:.9375rem;background:var(--surface);padding:.75rem 1rem;border-radius:var(--radius)}
.src{border-top:1px solid var(--rule);margin-top:2.5rem;font-size:.9375rem}
.src .label{margin-top:1.25rem}
.src ul{margin:0;padding-left:1.125rem}
.src li{margin-bottom:.25rem}
.rel{margin-top:2.5rem}
.preview{background:var(--ink);color:var(--bg);padding:.5rem .75rem;border-radius:var(--radius);font:500 .875rem/1.4 var(--label)}

/* the publisher's labeled box */
.unit{margin:2.5rem 0;padding:1.5rem 1.625rem;border:1px solid var(--rule);border-radius:var(--radius);background:var(--surface);max-width:42rem}
.unit__label{font:600 .75rem/1 var(--label);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 .875rem}
.unit__title{font:var(--head-weight) 1.375rem/1.2 var(--head);margin:0 0 .375rem}
.unit__text{margin:0 0 .75rem}
.unit p{margin-bottom:.75rem}
.unit__link{font-weight:600}
.unit p.unit__own{font:400 .8125rem/1.5 var(--label);color:var(--muted);margin:1rem 0 0;padding-top:.75rem;border-top:1px solid var(--rule)}

/* the contact form */
.form{margin-top:1.5rem}
.form label{display:block;font:600 .9375rem/1.3 var(--label);margin-bottom:.375rem}
.form label span{font-weight:400;color:var(--muted)}
.form input,.form select,.form textarea{width:100%;font:400 1rem/1.4 var(--body);color:var(--ink);background:var(--bg);border:1px solid var(--muted);border-radius:var(--radius);padding:.625rem .75rem}
.form textarea{resize:vertical}
.form button{font:600 1rem/1 var(--label);background:var(--accent);color:var(--accent-ink);border:0;border-radius:var(--radius);padding:.875rem 1.75rem;cursor:pointer}
.form button:hover{filter:brightness(.92)}
.form__trap{position:absolute;left:-999rem}
.form__small{font:400 .8125rem/1.5 var(--label);color:var(--muted)}
.note{padding:1rem 1.25rem;border-radius:var(--radius);background:var(--surface);border-left:4px solid var(--accent);margin:1.5rem 0}
.note--bad{border-left-color:var(--hot)}
.note p:last-child{margin:0}

/* footer */
.ft{margin-top:4rem;background:var(--ink);color:var(--bg);padding:2.5rem 0 3rem}
.ft a{color:var(--bg)}
.ft__name{font:var(--head-weight) 1.375rem/1.2 var(--head);margin:0 0 1.125rem}
.ft__name span{display:block;font:400 .875rem/1.4 var(--label);opacity:.78;margin-top:.25rem}
.ft__links{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;font:500 .9375rem/1.3 var(--label)}
.ft__small{font:400 .8125rem/1.5 var(--label);opacity:.78;margin:1.5rem 0 0}

/* layout: masthead (a paper) */
.lay-masthead .hero{text-align:center;padding:2rem 0 1.5rem}
.lay-masthead .hero h1{max-width:none}
.lay-masthead.is-home .hero h1{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.lay-masthead .hero__intro{margin:0 auto;font-style:italic}
.lay-masthead .lead{grid-template-columns:1fr;text-align:center;max-width:52rem;margin-inline:auto;gap:1.5rem}
.lay-masthead .lead .meta{justify-content:center}
.lay-masthead .lead__sum{max-width:40rem;margin-inline:auto}
.lay-masthead .label{text-align:center;margin-bottom:.75rem}
.lay-masthead .art .label,.lay-masthead .rel .label{text-align:left}
.lay-masthead .ft{background:var(--bg);color:var(--ink);border-top:3px double var(--ink)}
.lay-masthead .ft a{color:var(--ink)}
.lay-masthead .unit{margin-inline:auto}

/* layout: briefing (a journal or a guide) */
.lay-briefing .hero{padding-bottom:2.5rem}
.lay-briefing .lead{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:2rem 0}

/* brand: Horses.app */
.b-horses-app .hero{background:var(--surface)}
.b-horses-app .hero--small{margin-bottom:1.5rem}
.b-horses-app.is-home .hero{margin-bottom:2rem}
.b-horses-app .nav{gap:.5rem}
.b-horses-app .nav a{background:var(--surface);padding:.45rem .95rem;border-radius:99px}
.b-horses-app .nav a:hover{background:var(--accent);color:var(--accent-ink);text-decoration:none}
.b-horses-app .topic a{background:var(--hot);color:var(--hot-ink);padding:.2rem .65rem;border-radius:99px;font-size:.75rem}
.b-horses-app .form button,.b-horses-app .unit__link{border-radius:99px}

/* brand: EquiPro */
.b-equipro .hd{border-top:6px solid var(--ink);border-bottom:2px solid var(--ink)}
.b-equipro h1,.b-equipro h2{letter-spacing:-.02em}
.b-equipro .nav,.b-equipro .topic,.b-equipro .meta,.b-equipro .label,.b-equipro .kicker{text-transform:uppercase;letter-spacing:.06em;font-size:.75rem}
.b-equipro .topic a{color:var(--hot)}
.b-equipro .list{border-top:2px solid var(--ink)}
.b-equipro .lead{border-top:2px solid var(--ink)}
.b-equipro .unit{border:0;border-top:4px solid var(--ink)}
.b-equipro .unit p.unit__own,.b-equipro .ft__links,.b-equipro .ft__small,.b-equipro .ft__name span,.b-equipro .disc{font-family:var(--body);text-transform:none;letter-spacing:0}

/* brand: The Bay Horses */
.b-the-bay-horses .topic,.b-the-bay-horses .label,.b-the-bay-horses .nav,.b-the-bay-horses .kicker{text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;font-weight:600}
.b-the-bay-horses .body{font-size:1.1875rem}
.b-the-bay-horses .body>p:first-of-type::first-letter{float:left;font:800 3.5em/.82 var(--head);padding:.06em .1em 0 0;color:var(--hot)}
.b-the-bay-horses .hd--mast .nav{border-bottom:3px double var(--ink);border-top:0}
.b-the-bay-horses .hd{border-bottom:0}
.b-the-bay-horses .unit{background:var(--bg);border:1px solid var(--ink)}

/* brand: Equesition */
.b-equesition .hero h1{font-size:clamp(2.25rem,5.5vw,3.5rem)}
.b-equesition .kicker{color:var(--accent)}
.b-equesition .row__num{font:700 .9375rem/1 var(--label);background:var(--ink);color:var(--hot);border-radius:8px;padding:.6rem 0;text-align:center}
.b-equesition .topic a{background:var(--surface);border:1px solid var(--rule);padding:.2rem .6rem;border-radius:6px;font-size:.75rem}
.b-equesition .lead{background:var(--surface);border:0;border-radius:var(--radius);padding:2rem}
.b-equesition .disc,.b-equesition .body blockquote{border-left-color:var(--accent)}
.b-equesition .unit{border-left:6px solid var(--hot)}

/* brand: River Stables */
.b-river-stables .hero{background:var(--accent);color:var(--accent-ink);margin-bottom:2rem}
.b-river-stables .hero__intro{color:var(--accent-ink);opacity:.9}
.b-river-stables .card{background:var(--bg);border:2px solid var(--rule)}
.b-river-stables .topic a{background:var(--hot);color:var(--hot-ink);padding:.2rem .7rem;border-radius:99px;font-size:.75rem}
.b-river-stables .form button{border-radius:99px}
.b-river-stables .unit{border:2px solid var(--rule)}

/* brand: Mar Vista */
.b-mar-vista .hd{border-bottom:0}
.b-mar-vista .nav,.b-mar-vista .topic,.b-mar-vista .label,.b-mar-vista .meta{text-transform:uppercase;letter-spacing:.16em;font-size:.75rem}
.b-mar-vista h1,.b-mar-vista h2,.b-mar-vista h3{letter-spacing:0}
.b-mar-vista .lead__title,.b-mar-vista .art h1{font-weight:400}
.b-mar-vista .list--cols{border-top:1px solid var(--rule)}
.b-mar-vista .unit{background:var(--bg);border:0;border-top:3px solid var(--hot);border-bottom:1px solid var(--rule);border-radius:0;padding-inline:0}

@media (max-width:52rem){
.lead{grid-template-columns:1fr;gap:1.25rem}
.list--cols{grid-template-columns:1fr}
.list--cols::before{display:none}
.is-home .grid .card:first-child{display:flex}
.is-home .grid .card:first-child .card__text{padding:1.25rem 1.375rem 1.5rem}
}
@media (max-width:34rem){
body{font-size:1rem}
.hero{padding:2.25rem 0 1.5rem}
.row,.list--num .row{grid-template-columns:1fr 6rem;gap:1rem}
.list--num .row{grid-template-columns:2.5rem 1fr}
.list--num .row .row__img{display:none}
.hd__row{flex-direction:column;align-items:flex-start;gap:.25rem}
.body{font-size:1.0625rem}
.b-equesition .lead{padding:1.25rem}
}
@media print{.hd,.ft,.rel,.unit,.skip{display:none}body{color:#000;background:#fff}}
