@import url('https://api.fontshare.com/v2/css?f[]=satoshi@400,450,500,600,700,800&display=swap');

:root {
  --bg:#fff;
  --text:#141414;
  --muted:#686868;
  --hair:#e4e4e4;
  --max-photo:680px;
  --sidebar:220px;
  --gutter:96px;
  --meta-size:13px;
}
*{box-sizing:border-box}
html{background:var(--bg);color:var(--text);font-family:'Satoshi',Arial,sans-serif;font-size:16px}
body{margin:0;background:var(--bg);color:var(--text)}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
img{display:block;max-width:100%;height:auto}
.post-card a{display:block;overflow:hidden;position:relative}
.post-card a::after{content:'';position:absolute;inset:0;background:#000;opacity:0;pointer-events:none;transition:opacity .35s ease}
.post-card a:hover::after{opacity:.35}
.post-card img{transform:none}
.single-images img{transition:none;transform:none}
.protected-image{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;-webkit-touch-callout:none}

.site-shell{
  width:calc(100% - 64px);
  max-width:996px;
  margin:0 auto;
  display:grid;
  grid-template-columns:680px 220px;
  gap:var(--gutter);
  padding:72px 0 54px;
  align-items:start;
}
.left-void{display:none}
.main{min-width:0}
.sidebar{position:sticky;top:72px;font-size:14px;line-height:1.45}
/* Optical alignment: on the Home feed, the sidebar title aligns with the top edge of the first photo. */
@media (min-width:901px){.sidebar{margin-top:0;top:72px}.page-intro,.single-head{margin-top:0}.home-shell .main{margin-top:5px}}
.sidebar-section{padding:0 0 18px;margin:0 0 18px;position:relative}
.sidebar-section:not(:last-child)::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(to right,var(--hair) 0%,var(--hair) 76%,transparent 100%)}
.sidebar-section:last-child{border-bottom:0}
.site-name{font-size:16px;font-weight:800;display:inline-block}
.country-list,.utility-list{list-style:none;margin:0;padding:0}
.country-list li,.utility-list li{margin:0 0 8px}



/* Secondary navigation uses the same muted gray as city labels. */
.sidebar .country-list a,
.sidebar .utility-list a,
.sidebar-signoff a,
.mobile-menu .country-list a,
.mobile-menu > ul:first-child a,
.mobile-menu .menu-utility a,
.mobile-signoff a,
.page-subcats a,
.breadcrumbs,
.breadcrumbs a{
  color:var(--muted);
  transition:color .18s ease;
}
.sidebar .country-list a:hover,
.sidebar .utility-list a:hover,
.sidebar-signoff a:hover{
  color:var(--text);
  font-weight:400;
  text-shadow:.18px 0 currentColor,-.18px 0 currentColor;
}
.mobile-menu .country-list a:hover,
.mobile-menu > ul:first-child a:hover,
.mobile-menu .menu-utility a:hover,
.mobile-signoff a:hover,
.page-subcats a:hover{
  color:var(--text);
  font-weight:400;
  text-shadow:.18px 0 currentColor,-.18px 0 currentColor;
}
.country-list .active-country > a,
.mobile-menu .active-country > a{
  color:var(--text);
  font-weight:700;
}

.mobile-head{display:none}
.mobile-menu{display:none}

.page-intro{margin:0 0 34px}
.page-title{font-size:16px;font-weight:500;margin:0 0 9px}
.page-subcats{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:14px;color:var(--muted)}
.page-subcats a{transition:color .28s ease,text-shadow .28s ease;font-weight:400}
.page-subcats a:not(:last-child)::after{content:' /';margin-left:12px;color:#b9b9b9;text-shadow:none;font-weight:400}
.page-subcats a:hover{color:var(--text);font-weight:400;text-shadow:.18px 0 currentColor,-.18px 0 currentColor}

.feed{display:flex;flex-direction:column;gap:32px}
.post-card{margin:0}
.post-card img{width:100%;background:#f3f3f3}
.post-meta{font-size:var(--meta-size);line-height:1.4;margin-top:10px;color:#202020}
.post-meta.muted{color:var(--muted)}
.post-meta .date{color:var(--muted)}

.single-head{margin:0 0 28px}
.single-place{font-size:16px;font-weight:500;margin:0 0 7px}
.single-date{font-size:var(--meta-size);color:var(--muted)}
.single-images{display:flex;flex-direction:column;gap:38px}

.breadcrumbs{--breadcrumb-pad-top:17px;margin:64px 0 18px;padding:var(--breadcrumb-pad-top) 0 0 25px;font-size:var(--meta-size);line-height:1.35;display:flex;justify-content:flex-start;position:relative}.breadcrumbs .crumbs::before{content:'';position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(to right,var(--hair) 0%,var(--hair) 76%,transparent 100%)}
.breadcrumbs::before{content:'';position:absolute;left:1px;top:calc(var(--breadcrumb-pad-top) + .675em);width:12px;height:1px;background:currentColor;transform:translateY(-50%)}
.breadcrumbs::after{content:'';position:absolute;left:1px;top:calc(var(--breadcrumb-pad-top) + .675em);width:4px;height:4px;border-left:1px solid currentColor;border-bottom:1px solid currentColor;transform:translateY(-50%) rotate(45deg);transform-origin:center}
.breadcrumbs .crumbs{display:flex;flex-wrap:wrap;gap:0;align-items:center;justify-content:flex-start}
.breadcrumbs a{display:inline-block}
.breadcrumbs a{transition:color .28s ease,text-shadow .28s ease;font-weight:400}
.breadcrumbs a:hover{color:var(--text);font-weight:400;text-shadow:.18px 0 currentColor,-.18px 0 currentColor}
.breadcrumbs a:not(:last-child)::after{content:'//';margin:0 7px;color:#9a9a9a}

.sidebar-signoff{text-align:left;font-size:14px;line-height:1.45;color:var(--muted)}
.sidebar-signoff a{display:inline-block}

.sidebar a{transition:color .28s ease,font-weight .28s ease;display:inline-block}
.sidebar .country-list a,.sidebar .utility-list a,.sidebar-signoff a{transition:color .28s ease,text-shadow .28s ease}
.sidebar .active-country>a{color:#141414;font-weight:700;text-shadow:none}
.sidebar .active-country>a:hover{font-weight:700;text-shadow:none}

.load-sentinel{height:1px}
.loading{font-size:12px;color:var(--muted);text-align:center;padding:18px 0 0;opacity:0;transition:opacity .2s}
.loading.visible{opacity:1}

@media (max-width: 900px){
  :root{--mobile-pad:18px;--meta-size:12px}
  .site-shell{display:block;width:auto;margin:0;padding:30px var(--mobile-pad) 0}
  .left-void,.sidebar{display:none}
  .mobile-head{display:flex;position:sticky;top:0;align-items:center;justify-content:space-between;padding:18px var(--mobile-pad) 22px;background:var(--bg);z-index:20}
  .mobile-head::after{content:'';position:absolute;left:var(--mobile-pad);right:var(--mobile-pad);bottom:0;height:1px;background:linear-gradient(to right,transparent 0%,var(--hair) 24%,var(--hair) 100%);opacity:var(--mobile-rule-opacity,1);transition:opacity .25s linear}
  .mobile-head .site-name{font-size:15px}
  .menu-toggle{border:0;background:transparent;padding:0;display:flex;gap:8px;align-items:center;cursor:pointer;font-size:14px;font-weight:600}
  .menu-icon{width:17px;height:12px;position:relative;display:inline-block}
  .menu-icon::before,.menu-icon::after,.menu-icon span{content:'';position:absolute;left:0;right:0;height:2px;background:#111}
  .menu-icon::before{top:0}.menu-icon span{top:5px}.menu-icon::after{bottom:0}
  .mobile-menu{display:block;position:fixed;inset:0;background:var(--bg);z-index:15;padding:76px var(--mobile-pad) 28px;transform:translateY(-110%);transition:transform .4s ease;overflow:auto;text-align:right}
  body.menu-open{overflow:hidden}
  body.menu-open .mobile-menu{transform:translateY(0)}
  body.menu-open .mobile-head::after{opacity:1}
  .mobile-menu ul{list-style:none;margin:0;padding:0}
  .mobile-menu li{margin:0 0 14px;font-size:14px}
  .mobile-menu .menu-utility{border-top:0;margin-top:25px;padding-top:22px;position:relative}.mobile-menu .menu-utility::before{content:'';position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(to right,transparent 0%,var(--hair) 24%,var(--hair) 100%)}
  .mobile-signoff{border-top:0;margin-top:25px;padding-top:22px;font-size:14px;line-height:1.45;color:var(--muted);position:relative}.mobile-signoff::before{content:'';position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(to right,transparent 0%,var(--hair) 24%,var(--hair) 100%)}
  .page-intro{margin:0 0 26px}
  .page-title{font-size:15px}
  .page-subcats{font-size:13px;gap:5px 10px}
  .page-subcats a:not(:last-child)::after{margin-left:10px}
  .feed{gap:26px}
  .post-meta{margin-top:9px}
  .single-head{margin-bottom:24px}
  .single-place{font-size:15px}

  .single-images{gap:28px}
  .breadcrumbs{--breadcrumb-pad-top:15px;margin-top:54px;padding-bottom:72px;margin-bottom:0}
  .breadcrumbs .crumbs::before{background:linear-gradient(to right,transparent 0%,var(--hair) 24%,var(--hair) 100%)}
}

@media (min-width:901px) and (max-width:1120px){
  .site-shell{grid-template-columns:620px 190px;gap:72px;width:calc(100% - 48px);max-width:882px}
}

.mobile-menu a{transition:color .28s ease,text-shadow .28s ease}
.mobile-menu a:hover{color:#141414;font-weight:400;text-shadow:.18px 0 currentColor,-.18px 0 currentColor}
.mobile-menu .active-country>a,.mobile-menu .active-country>a:hover{font-weight:700;text-shadow:none;color:var(--text)}


/* Final single-post behavior: no captions, no image interaction, optional prose only after images. */
.single-images a{pointer-events:none;cursor:default}
.single-images figure{margin:0}
.single-images figcaption,.single-images .wp-element-caption{display:none!important}
.single-text{margin-top:38px;font-size:15px;line-height:1.7;color:var(--text)}
.single-text > :first-child{margin-top:0}
.single-text > :last-child{margin-bottom:0}
@media (max-width:900px){.single-text{margin-top:28px;font-size:14px;line-height:1.65}}


/* WordPress output */
.single-images .wp-block-image{margin:0}
.single-images img{width:100%;height:auto}
.single-text p{margin:0 0 1.15em}
.single-text h2,.single-text h3{font-size:1em;margin:1.8em 0 .6em;font-weight:600}
.single-text a{text-decoration:underline;text-underline-offset:2px}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
