/* Combined by _source/bundle_assets.py from: assets/fonts/fonts.css, assets/magazine.css */
/* The site's text fonts, served from the site itself (3.2.18) instead of Google Fonts: faster (no extra connection to
   another server), private (no request to Google on every page) and still working if Google is blocked or slow.
   Latin characters only (English and Kiswahili). Licences (SIL Open Font License) are in assets/fonts/licenses/.
   Antonio, the headline font, is declared in site-type.css. */
@font-face{font-family:"Inter";font-style:normal;font-display:swap;font-weight:100 900;src:url(fonts/inter-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-display:swap;font-weight:300 700;src:url(fonts/cormorant-garamond-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Cormorant Garamond";font-style:italic;font-display:swap;font-weight:300 700;src:url(fonts/cormorant-garamond-latin-wght-italic.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Barlow Condensed";font-style:normal;font-display:swap;font-weight:300;src:url(fonts/barlow-condensed-latin-300-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Barlow Condensed";font-style:normal;font-display:swap;font-weight:500;src:url(fonts/barlow-condensed-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Barlow Condensed";font-style:normal;font-display:swap;font-weight:600;src:url(fonts/barlow-condensed-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* Haven Living, our magazine (3.2.25; _source/build_magazine.py): the section on the home page (the title on the left,
   three editions as fanned covers on the right) and the reader page, magazine.html. The covers are photographs with the
   masthead and cover lines set as real text. The covers fan out as the section comes into view (assets/magazine.js). */
@font-face{font-family:"Antonio";src:url(fonts/antonio.woff2)format("woff2");font-weight:100 700;font-style:normal;font-display:swap}
.mgHome,.mgPage{--mg-paper:#f4efe7;--mg-ink:#1d1a18;--mg-text:#3a332f;--mg-muted:#6a625b;--mg-line:#ddd3c6;--mg-wine:#8E0D20;--mg-serif:"Cormorant Garamond",Cormorant Garamond Fallback,Georgia,"Times New Roman",serif;--mg-cond:"Antonio",Antonio Fallback,"Arial Narrow",sans-serif}

/* ---------- a cover ---------- */
.mgCover{position:relative;display:block;aspect-ratio:3/4;overflow:hidden;border-radius:3px;background:#2b2724;color:#fff;text-decoration:none;container-type:inline-size;
  box-shadow:0 34px 60px -34px rgba(20,12,8,.6),0 3px 10px rgba(20,12,8,.18)}
.mgCover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.mgCover:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.22),rgba(255,255,255,0) 3%,rgba(0,0,0,.12) 4.5%,rgba(0,0,0,0) 9%);pointer-events:none}   /* the spine */
.mgShade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,10,9,.52) 0%,rgba(12,10,9,.08) 30%,rgba(12,10,9,0) 48%,rgba(12,10,9,.18) 64%,rgba(12,10,9,.78) 100%)}
.mgMast{position:absolute;left:0;right:0;top:5.5%;display:flex;flex-direction:column;align-items:center;text-align:center;line-height:1}
.mgMastK{font:500 7px/1 Inter,Inter Fallback,Arial,sans-serif;font-size:clamp(8px,2.6cqw,12px);letter-spacing:.34em;text-transform:uppercase;opacity:.9;padding-left:.38em}
.mgMastT{margin-top:.08em;font:500 54px/.86 var(--mg-serif);font-size:25cqw;letter-spacing:.06em;text-transform:uppercase;padding-left:.06em;text-shadow:0 2px 18px rgba(0,0,0,.25)}
.mgMastS{margin-top:.1em;font:italic 400 18px/1 var(--mg-serif);font-size:8.6cqw;letter-spacing:.04em}
.mgEd{position:absolute;left:8%;right:8%;top:43%;display:flex;align-items:center;gap:.6em;font:500 8px/1 Inter,Inter Fallback,Arial,sans-serif;font-size:clamp(8.5px,2.9cqw,12px);letter-spacing:.2em;text-transform:uppercase;opacity:.95}
.mgEd:before,.mgEd:after{content:"";flex:1;height:1px;background:rgba(255,255,255,.55)}
.mgLines{position:absolute;left:8%;right:8%;bottom:22%;display:grid;gap:.55em}
.mgLines span{display:block;padding-left:.7em;border-left:2px solid #e26a7d;font:600 11px/1.25 Inter,Inter Fallback,Arial,sans-serif;font-size:clamp(9.5px,4.1cqw,15px);letter-spacing:.01em;text-shadow:0 1px 8px rgba(0,0,0,.4)}
.mgIssue{position:absolute;left:8%;right:8%;bottom:6%;display:flex;flex-direction:column;gap:.25em;font:400 10px/1.2 Inter,Inter Fallback,Arial,sans-serif;font-size:clamp(8.5px,3.5cqw,13px);letter-spacing:.14em;text-transform:uppercase;opacity:.95}
.mgSr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.mgIssue b{font:500 22px/1 var(--mg-cond);font-size:9.4cqw;letter-spacing:.06em;opacity:1}

/* ---------- the section on the home page ---------- */
.mgHome{position:relative;display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);align-items:center;gap:clamp(32px,5vw,80px);
  padding:clamp(72px,9vw,132px) 6%;background:var(--mg-paper);color:var(--mg-ink);overflow:hidden;overflow:clip}
.mgHome .ey{color:var(--mg-wine)}
.mgHome .hd-plate{margin-bottom:22px}
.mgHome h2.hd{font-size:clamp(52px,5.6vw,88px)}
.mgLead{max-width:46ch;margin:0 0 28px;font-size:17px;line-height:1.7;color:var(--mg-text)}
.mgList{max-width:460px;margin:0 0 34px;padding:0;list-style:none;border-top:1px solid var(--mg-line)}
.mgList a{display:flex;align-items:baseline;gap:14px;padding:13px 2px;border-bottom:1px solid var(--mg-line);color:var(--mg-ink);text-decoration:none;font-size:15px;font-weight:500;transition:color .25s,padding .3s cubic-bezier(.22,.61,.36,1)}
.mgList span{font:500 15px/1 var(--mg-cond);letter-spacing:.06em;color:var(--mg-wine)}
.mgList em{margin-left:auto;font-style:normal;font-weight:400;font-size:13px;color:var(--mg-muted)}
.mgList a:hover,.mgList a:focus-visible{color:var(--mg-wine);padding-left:8px}
.mgList a:focus-visible,.mgRead:focus-visible,.mgCover:focus-visible{outline:2px solid var(--mg-wine);outline-offset:4px}
.mgRead{display:inline-flex;align-items:center;gap:6px;padding:16px 28px;border-radius:999px;background:var(--mg-ink);color:#fff;text-decoration:none;font:500 12px/1 Inter,Inter Fallback,Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;transition:background .25s,transform .25s}
.mgRead:hover{background:var(--mg-wine);transform:translateY(-1px)}

.mgFan{position:relative;height:clamp(400px,42vw,600px)}
.mgFan .mgCover{position:absolute;left:50%;top:50%;width:clamp(200px,21vw,310px);margin:0;
  transform:translate(-50%,-50%) translate(var(--x,0),var(--y,0)) rotate(var(--r,0deg));transition:transform .9s cubic-bezier(.2,.75,.2,1),box-shadow .4s;transition-delay:calc(var(--i) * 70ms)}
.mgFan .mgCover:nth-child(1){--x:62%;--y:3%;--r:8deg}      /* edition 3, right */
.mgFan .mgCover:nth-child(2){--x:-62%;--y:3%;--r:-8deg}    /* edition 2, left */
.mgFan .mgCover:nth-child(3){--x:0%;--y:-2%;--r:0deg}      /* edition 1, in front */
.mgFan:hover .mgCover:nth-child(1){--x:74%;--r:10deg}
.mgFan:hover .mgCover:nth-child(2){--x:-74%;--r:-10deg}
.mgFan .mgCover:hover,.mgFan .mgCover:focus-visible{--y:-6%;transition-delay:0s;z-index:4;box-shadow:0 44px 70px -34px rgba(20,12,8,.7),0 4px 14px rgba(20,12,8,.2)}
.mgFan.mg-wait .mgCover{--x:0%;--y:0%;--r:0deg;transition-delay:0s}   /* stacked until the section comes into view */
.mgHome:after{content:"";position:absolute;right:6%;bottom:clamp(26px,3vw,44px);width:clamp(200px,34vw,520px);height:1px;background:var(--mg-line)}

@media (max-width:860px){
  .mgHome{grid-template-columns:1fr;padding:72px 16px 64px}
  .mgHome:after{display:none}
  .mgFan{order:-1;height:min(92vw,470px);margin:0 -16px}
  .mgFan .mgCover{width:min(44vw,240px)}
  .mgFan .mgCover:nth-child(1){--x:48%}.mgFan .mgCover:nth-child(2){--x:-48%}
  .mgFan:hover .mgCover:nth-child(1){--x:52%}.mgFan:hover .mgCover:nth-child(2){--x:-52%}
  .mgList{max-width:none}
}
@media (prefers-reduced-motion:reduce){.mgFan .mgCover,.mgList a,.mgRead{transition:none}}

/* ---------- the reader: magazine.html ---------- */
.mgPage{max-width:1240px;margin:0 auto;font-family:Inter,Inter Fallback,Arial,sans-serif;font-weight:400;padding:0 clamp(16px,4vw,48px) 72px;color:var(--mg-ink)}
.mgHero{padding:clamp(40px,6vw,80px) 0 clamp(28px,4vw,48px);border-bottom:1px solid var(--mg-line);text-align:center}
.mgHeroK{margin:0 0 14px;font:600 11px/1.4 Inter,Inter Fallback,Arial,sans-serif;letter-spacing:.24em;text-transform:uppercase;color:var(--mg-wine)}
.mgHero h1{margin:0;font:500 clamp(56px,10vw,128px)/.9 var(--mg-serif);letter-spacing:.02em;color:var(--mg-ink)}
.mgHeroLead{max-width:62ch;margin:20px auto 30px;font-size:17px;line-height:1.7;color:var(--mg-text)}
.mgEdNav ol{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:0;padding:0;list-style:none}
.mgEdNav a{display:inline-flex;align-items:center;gap:10px;padding:11px 18px;border:1px solid var(--mg-line);border-radius:999px;color:var(--mg-ink);text-decoration:none;font-size:14px;font-weight:500;background:#fff;transition:border-color .2s,color .2s}
.mgEdNav a span{font:500 14px/1 var(--mg-cond);color:var(--mg-wine);letter-spacing:.06em}
.mgEdNav a:hover,.mgEdNav a:focus-visible{border-color:var(--mg-wine);color:var(--mg-wine)}
.mgEdNav a:focus-visible,.mgToc a:focus-visible,.mgMore a:focus-visible,.mgBtn:focus-visible{outline:2px solid var(--mg-wine);outline-offset:3px}

.mgEdition{display:grid;grid-template-columns:minmax(220px,340px) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:start;padding:clamp(48px,6vw,80px) 0;border-bottom:1px solid var(--mg-line);scroll-margin-top:80px}
.mgEdSide{position:sticky;top:96px}
.mgEdBody{max-width:720px}
.mgEdK{margin:0 0 10px;font:600 11px/1 Inter,Inter Fallback,Arial,sans-serif;letter-spacing:.22em;text-transform:uppercase;color:var(--mg-wine)}
.mgEdBody h2{margin:0;font:500 clamp(40px,5.4vw,66px)/.95 var(--mg-cond);letter-spacing:.03em;text-transform:uppercase;color:var(--mg-ink)}
.mgEdBody h2 span{display:block;margin-top:10px;font:italic 400 clamp(24px,2.8vw,32px)/1.1 var(--mg-serif);letter-spacing:0;text-transform:none;color:var(--mg-muted)}
.mgEdIntro{margin:22px 0 28px;font:400 clamp(20px,2.2vw,24px)/1.5 var(--mg-serif);color:var(--mg-text)}
.mgToc{margin:0 0 12px;padding:20px 22px;border-radius:14px;background:var(--mg-paper)}
.mgToc h3,.mgMore h3{margin:0 0 10px;font:600 11px/1 Inter,Inter Fallback,Arial,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--mg-wine)}
.mgToc ol{margin:0;padding:0;list-style:none;counter-reset:toc}
.mgToc li{counter-increment:toc}
.mgToc a{display:grid;grid-template-columns:28px 1fr;column-gap:8px;padding:9px 0;border-top:1px solid var(--mg-line);color:var(--mg-ink);text-decoration:none}
.mgToc li:first-child a{border-top:0}
.mgToc a:before{content:counter(toc,decimal-leading-zero);grid-row:span 2;font:500 15px/1.3 var(--mg-cond);color:var(--mg-wine)}
.mgToc b{font-weight:600;font-size:15px}.mgToc span{font-size:13.5px;color:var(--mg-muted)}
.mgToc a:hover b{color:var(--mg-wine)}
.mgStory{padding:36px 0 4px;scroll-margin-top:84px}
.mgStory+.mgStory{border-top:1px solid var(--mg-line)}
.mgMeta{margin:0 0 10px;font:500 11px/1 Inter,Inter Fallback,Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--mg-muted)}
.mgStory h3{margin:0 0 10px;font:500 clamp(30px,3.6vw,42px)/1.05 var(--mg-serif);color:var(--mg-ink)}
.mgStand{margin:0 0 18px;font:italic 400 20px/1.45 var(--mg-serif);color:var(--mg-wine)}
.mgStory p:not(.mgMeta):not(.mgStand){margin:0 0 16px;font-size:16.5px;line-height:1.8;color:var(--mg-text)}
.mgStory .mgStand+p:first-letter{float:left;margin:.06em .1em 0 0;font:500 3.6em/.8 var(--mg-serif);color:var(--mg-wine)}
.mgMore{margin-top:26px;padding-top:20px;border-top:1px solid var(--mg-line)}
.mgMore ul{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.mgMore a{display:inline-block;padding:8px 14px;border-radius:999px;background:var(--mg-paper);color:var(--mg-ink);text-decoration:none;font-size:13.5px;font-weight:500}
.mgMore a:hover{color:var(--mg-wine)}
.mgFoot{padding:40px 0 0;text-align:center}
.mgFoot p{max-width:70ch;margin:0 auto 20px;font-size:13.5px;line-height:1.6;color:var(--mg-muted)}
.mgFootActs{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.mgBtn{display:inline-flex;padding:14px 24px;border-radius:999px;background:var(--mg-ink);color:#fff;text-decoration:none;font-size:13px;font-weight:500;letter-spacing:.06em}
.mgBtn:hover{background:var(--mg-wine)}
.mgBtn.ghost{background:none;border:1px solid var(--mg-ink);color:var(--mg-ink)}.mgBtn.ghost:hover{border-color:var(--mg-wine);color:var(--mg-wine)}
.mgIssueActs{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 8px}
.mgIssueActs .mgBtn{flex:1 1 auto;justify-content:center;padding:12px 18px}
.mgIssueNote{margin:0;font-size:12.5px;line-height:1.5;color:var(--mg-muted)}
@media (max-width:860px){
  .mgEdition{grid-template-columns:1fr}
  .mgEdSide{position:static;width:min(62vw,300px);margin:0 auto}
}
@media print{.mgEdNav,.mgMore,.mgFootActs{display:none}.mgEdSide{position:static;width:5cm}.mgEdition{break-before:page;grid-template-columns:5cm 1fr}}

/* 3.2.28: "Get each new edition" (magazine page) and its link on the home page */
.mgSub{display:grid;grid-template-columns:1fr minmax(280px,420px);gap:clamp(20px,4vw,48px);align-items:center;margin:clamp(36px,5vw,64px) 0 0;padding:clamp(22px,3vw,34px);border-radius:18px;background:var(--mg-paper)}
.mgSub h2{margin:0 0 8px;font:500 clamp(30px,3.6vw,42px)/1 var(--mg-serif);color:var(--mg-ink);text-transform:none;letter-spacing:0}
.mgSub p{margin:0;font-size:14.5px;line-height:1.6;color:var(--mg-text)}
.mgSubF label{display:block;margin-bottom:6px;font-size:13px;font-weight:600;color:var(--mg-ink)}
.mgSubRow{display:flex;gap:8px}
.mgSubRow input{flex:1;min-width:0;padding:12px 14px;border:1px solid #cfc4b6;border-radius:999px;font:15px Inter,Inter Fallback,Arial,sans-serif;background:#fff}
.mgSubRow input:focus-visible{outline:2px solid var(--mg-wine);outline-offset:2px}
.mgSubRow input[aria-invalid="true"]{border-color:#b3261e}
.mgSubRow .mgBtn{border:0;cursor:pointer;white-space:nowrap}
.mgSubRow .mgBtn:disabled{opacity:.6}
.mgSubMsg{min-height:1.4em;margin-top:8px!important;font-size:13.5px!important;font-weight:500;color:#1f6f4a!important}
.mgSubMsg.bad{color:#b3261e!important}
.mgSubNote{margin-top:4px!important;font-size:12px!important;color:var(--mg-muted)!important}
.mgSubNote a{color:var(--mg-wine)}
.mgSubLink{display:inline-block;margin-left:18px;color:var(--mg-ink);font-size:13.5px;font-weight:500;text-decoration:underline;text-underline-offset:3px}
.mgSubLink:hover{color:var(--mg-wine)}
.mgSubLink:focus-visible{outline:2px solid var(--mg-wine);outline-offset:3px}
@media(max-width:760px){.mgSub{grid-template-columns:1fr}.mgSubRow{flex-direction:column}.mgSubLink{display:block;margin:14px 0 0}}

