/* B/deshi shared styles (public pages). Palette: option 2, light + vibrant. */
:root{
  --ink:#141414; --ink-2:#0b0b0d; --paper:#fffdf9; --cream:#f7f0e6; --sand:#ece4d8; --stone:#d9cfc2; --mute:#4a443e; --mute-2:#6b645c;
  --red:#d63a26; --red-ink:#c2331f; --gold:#ffb81c; --teal:#2ec4a6; --teal-ink:#138a73; --coral:#ff5a3c; --violet:#7b5cff; --ok:#13795b;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,-apple-system,BlinkMacSystemFont,sans-serif;-webkit-font-smoothing:antialiased}
a{color:var(--red-ink)} a:hover{color:#8f1f15}
input,button,select,textarea{font-family:inherit}
:focus-visible{outline:2px solid var(--red-ink);outline-offset:2px}
img{max-width:100%;height:auto}
.wrap{max-width:1240px;margin:0 auto;padding-left:24px;padding-right:24px}
.serif{font-family:Newsreader,Georgia,serif;font-style:italic;font-weight:700;letter-spacing:-.02em}
.eyebrow{font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;margin-bottom:16px}
.hl{background:linear-gradient(transparent 55%,var(--gold) 55%,var(--gold) 90%,transparent 90%);padding:0 4px}
.sr{position:absolute;left:-9999px}
[hidden]{display:none!important}
h1.page{margin:0;font-size:clamp(42px,6.4vw,84px);line-height:1;font-weight:900;letter-spacing:-.035em;max-width:1040px}
h2.sec{margin:0;font-size:clamp(34px,4.8vw,58px);line-height:1.03;font-weight:900;letter-spacing:-.03em}
.lede{font-size:19px;line-height:1.6;color:var(--mute);max-width:660px}
.pill{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border-radius:999px;font-weight:700;font-size:14px;text-decoration:none}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:0 28px;border-radius:999px;font-weight:800;font-size:16px;text-decoration:none;border:0;cursor:pointer}
.btn.gold{background:var(--gold);color:var(--ink-2)} .btn.gold:hover{color:var(--ink-2);filter:brightness(1.05)}
.btn.dark{background:var(--ink-2);color:#fff} .btn.dark:hover{color:#fff}
.btn.line{border:2px solid var(--ink);color:var(--ink);font-weight:700} .btn.line:hover{background:var(--ink);color:#fff}
.btn.white{background:#fff;color:var(--ink-2)}

/* header */
header.top{background:#fff;border-bottom:1px solid var(--sand)}
header.top .wrap{display:flex;flex-wrap:wrap;gap:18px 32px;align-items:center;justify-content:space-between;padding-top:20px;padding-bottom:20px}
.logo{color:var(--ink);text-decoration:none;font-weight:900;font-size:24px;letter-spacing:.08em}
.logo i{font-style:normal;color:var(--red)}
nav.main{display:flex;flex-wrap:wrap;gap:8px 28px;font-size:15px;font-weight:500}
nav.main a{color:#2a2622;text-decoration:none;padding:4px 0;border-bottom:2px solid transparent}
nav.main a:hover{color:var(--red-ink)}
nav.main a[aria-current="page"]{border-bottom-color:var(--red);font-weight:700;color:var(--ink)}
.actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.stripe{height:10px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.stripe i:nth-child(1){background:var(--red)}.stripe i:nth-child(2){background:var(--gold)}.stripe i:nth-child(3){background:var(--teal)}.stripe i:nth-child(4){background:var(--coral)}
.page-hero{padding-top:88px;padding-bottom:72px}

/* footer */
footer.site{border-top:1px solid var(--sand);background:#fff}
footer.site .wrap{padding-top:48px;padding-bottom:44px;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:28px;font-size:14px;color:var(--mute-2)}
footer.site .logo{font-size:20px}
footer.site h4{margin:0 0 10px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink)}
footer.site ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
footer.site a{color:var(--mute);text-decoration:none} footer.site a:hover{color:var(--red-ink)}
footer.site .legal{grid-column:1/-1;border-top:1px solid var(--sand);padding-top:20px;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}

/* newsletter band (shared) */
.newsband{background:var(--cream)}
.newsband .wrap{padding-top:88px;padding-bottom:88px;display:flex;flex-wrap:wrap;gap:40px;justify-content:space-between;align-items:center}
form.sub{flex:1 1 420px;min-width:0;display:flex;flex-wrap:wrap;gap:10px}
form.sub input[type=email]{flex:1 1 240px;height:56px;padding:0 18px;font-size:16px;border:1px solid #cfc5b9;border-radius:999px;background:#fff;color:var(--ink)}
form.sub button{height:56px;padding:0 24px;border:0;border-radius:999px;background:var(--ink-2);color:#fff;font-size:16px;font-weight:800;cursor:pointer}
form.sub button:disabled{opacity:.6}
.msg{flex-basis:100%;font-size:15px;font-weight:600;min-height:1.4em;margin:0}
.msg.ok{color:var(--ok)}.msg.err{color:var(--red-ink)}

@media (max-width:600px){ .page-hero{padding-top:56px;padding-bottom:56px} }
@media (max-width:700px){
  header.top .wrap{gap:14px 16px}
  header.top .actions{display:contents}
  header.top .logo{order:1}
  header.top .actions a[href="/members/"]{order:2;margin-left:auto;padding:8px 14px;font-size:14px}
  header.top nav.main{order:3;width:100%}
  header.top .actions a:not([href="/members/"]){order:4}
}

html:not(.is-m) nav.main a.m-only{display:none}
html:not(.is-m) .m-in,html.is-m .m-out,html.is-m .m-hide{display:none}

@media (min-width:901px){header.top .logo svg{height:36px!important}}
