/* =========================================================
   EXPAT MAIL — Newspaper Design System
   ========================================================= */
:root{
  --ink:#1a1a1a;
  --ink-soft:#3f3f3f;
  --ink-faint:#6b6b64;
  --paper:#f6f4ee;
  --paper-panel:#ffffff;
  --rule:#1a1a1a;
  --rule-light:#d8d3c4;
  --red:#a3182c;
  --red-dark:#7c1121;
  --gold:#b8923f;
  --link:#7c1121;
  --shadow:0 10px 28px -12px rgba(26,26,26,.25);
  --shadow-sm:0 2px 10px rgba(26,26,26,.08);
  --container:1200px;
  --radius:2px;
  --speed:.25s;
}
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:'PT Serif',Georgia,'Times New Roman',serif;
  color:var(--ink);
  background:var(--paper);
  line-height:1.62;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
.sans{font-family:'Inter',system-ui,sans-serif;}
h1,h2,h3,h4{
  font-family:'Playfair Display',Georgia,serif;
  line-height:1.12;
  margin:0 0 .45em;
  font-weight:800;
  color:var(--ink);
  letter-spacing:-.01em;
}
h1{font-size:clamp(2.1rem,4.6vw,3.6rem);}
h2{font-size:clamp(1.5rem,2.9vw,2.1rem);}
h3{font-size:1.25rem;}
h4{font-size:1.05rem;}
p{margin:0 0 1em;}
a{color:var(--link);text-decoration:none;}
a:hover{text-decoration:underline;}
img{max-width:100%;display:block;}
ul{padding-left:1.2em;}
.container{max-width:var(--container);margin-inline:auto;padding-inline:22px;}
.section{padding:52px 0;}
.section--tight{padding:32px 0;}
.section--panel{background:var(--paper-panel);border-top:1px solid var(--rule-light);border-bottom:1px solid var(--rule-light);}
.section--ink{background:var(--ink);color:#f2f0e8;}
.section--ink h2,.section--ink h3,.section--ink h4{color:#fff;}
.section--ink a{color:#f2c9c9;}
.section--ink .lede{color:rgba(255,255,255,.82);}
.section--ink .text-muted{color:rgba(255,255,255,.72);}
.section--ink .pull-quote{color:#fff;border-color:rgba(255,255,255,.5);}
.section--ink .pull-quote cite{color:rgba(255,255,255,.65);}
.section--ink .key-facts{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.35);}
.section--ink .key-facts strong{color:#e7a9a9;}
.section--ink .key-facts li{color:rgba(255,255,255,.85);border-top-color:rgba(255,255,255,.18);}
.text-muted{color:var(--ink-faint);}
.text-center{text-align:center;}
.kicker{
  display:inline-block;font-family:'Inter',sans-serif;font-size:.72rem;font-weight:800;
  letter-spacing:.14em;text-transform:uppercase;color:var(--red);margin-bottom:10px;
  border-bottom:2px solid var(--red);padding-bottom:4px;
}
.section--ink .kicker{color:#e7a9a9;border-color:#e7a9a9;}
.lede{font-size:1.14rem;color:var(--ink-soft);max-width:66ch;}
.rule{height:1px;background:var(--rule);margin:0;}
.rule--thick{height:3px;background:var(--ink);}
.rule-light{height:1px;background:var(--rule-light);}
.divider{height:1px;background:var(--rule-light);margin:40px 0;}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-family:'Inter',sans-serif;font-weight:700;font-size:.86rem;letter-spacing:.02em;
  padding:13px 24px;border-radius:var(--radius);border:2px solid var(--ink);
  cursor:pointer;transition:transform var(--speed) ease, background var(--speed) ease, color var(--speed) ease;
  white-space:nowrap;text-decoration:none !important;text-transform:uppercase;
}
.btn-primary{background:var(--red);color:#fff;border-color:var(--red);}
.btn-primary:hover{background:var(--red-dark);border-color:var(--red-dark);}
.btn-ink{background:var(--ink);color:#fff;border-color:var(--ink);}
.btn-ink:hover{background:#000;}
.btn-outline{background:transparent;color:var(--ink);border-color:var(--ink);}
.btn-outline:hover{background:var(--ink);color:#fff;}
.btn-outline-light{background:transparent;color:#fff;border-color:rgba(255,255,255,.6);}
.btn-outline-light:hover{background:#fff;color:var(--ink);}
.btn-sm{padding:9px 16px;font-size:.74rem;}
.btn-block{width:100%;}

/* ---------- Masthead ---------- */
.topbar{background:var(--ink);color:#cfcac0;font-family:'Inter',sans-serif;font-size:.72rem;letter-spacing:.03em;}
.topbar .container{display:flex;justify-content:space-between;align-items:center;padding-block:7px;flex-wrap:wrap;gap:6px;}
.topbar a{color:#e7a9a9;}
#clock{font-weight:700;color:#fff;}

.masthead{background:var(--paper-panel);border-bottom:3px solid var(--ink);padding:26px 0 16px;}
.masthead .container{text-align:center;}
.masthead-eyebrow{font-family:'Inter',sans-serif;font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:8px;}
.masthead-logo{
  font-family:'Playfair Display',Georgia,serif;font-weight:900;font-size:clamp(2.6rem,7vw,4.6rem);
  letter-spacing:-.01em;color:var(--ink);text-decoration:none;display:inline-block;line-height:1;
}
.masthead-logo:hover{text-decoration:none;}
.masthead-logo .accent{color:var(--red);}
.masthead-tagline{font-family:'PT Serif',serif;font-style:italic;color:var(--ink-faint);font-size:.98rem;margin-top:8px;}
.masthead-meta{
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;
  font-family:'Inter',sans-serif;font-size:.76rem;color:var(--ink-faint);margin-top:16px;
  border-top:1px solid var(--rule-light);border-bottom:1px solid var(--rule-light);padding:8px 0;
}

/* ---------- Nav ---------- */
.site-nav{background:var(--ink);position:sticky;top:0;z-index:100;}
.site-nav .container{display:flex;align-items:center;justify-content:space-between;}
.nav-list{display:flex;list-style:none;margin:0;padding:0;flex-wrap:wrap;}
.nav-list li{list-style:none;border-right:1px solid rgba(255,255,255,.14);}
.nav-list a{
  display:block;padding:13px 16px;font-family:'Inter',sans-serif;font-weight:700;font-size:.78rem;
  letter-spacing:.05em;text-transform:uppercase;color:#f2f0e8;text-decoration:none;transition:background var(--speed);
}
.nav-list a:hover,.nav-list a.is-active{background:var(--red);color:#fff;}
.nav-cta{padding:10px 0;}
.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:14px;}
.nav-toggle span{display:block;width:22px;height:2px;background:#fff;margin:5px 0;}
@media (max-width:900px){
  .nav-list{display:none;position:absolute;top:100%;left:0;right:0;background:var(--ink);flex-direction:column;}
  .nav-list.is-open{display:flex;}
  .nav-list li{border-right:none;border-bottom:1px solid rgba(255,255,255,.1);}
  .nav-toggle{display:block;}
  .nav-cta{display:none;}
}

/* ---------- Breadcrumbs ---------- */
.breadcrumbs{padding:12px 0;font-family:'Inter',sans-serif;font-size:.78rem;color:var(--ink-faint);border-bottom:1px solid var(--rule-light);}
.breadcrumbs a{color:var(--ink-faint);}
.breadcrumbs span{margin:0 6px;}

/* ---------- Page head (inner pages) ---------- */
.page-head{padding:34px 0 26px;border-bottom:1px solid var(--rule-light);}
.page-head .kicker{margin-bottom:6px;}
.page-head .byline{font-family:'Inter',sans-serif;font-size:.78rem;color:var(--ink-faint);margin-top:14px;display:flex;gap:16px;flex-wrap:wrap;}

/* ---------- Grids & columns ---------- */
.grid{display:grid;gap:26px;}
.grid-2{grid-template-columns:repeat(2,1fr);}
.grid-3{grid-template-columns:repeat(3,1fr);}
.grid-4{grid-template-columns:repeat(4,1fr);}
.columns-2{column-count:2;column-gap:40px;}
.columns-2 p:first-child{margin-top:0;}
.front-grid{display:grid;grid-template-columns:2fr 1fr;gap:40px;align-items:start;}
.front-grid > .front-main{border-right:1px solid var(--rule-light);padding-right:40px;}
@media (max-width:920px){
  .front-grid{grid-template-columns:1fr;}
  .front-grid > .front-main{border-right:none;padding-right:0;}
  .columns-2{column-count:1;}
}

/* ---------- Lead story ---------- */
.lead-story{padding-bottom:34px;border-bottom:1px solid var(--rule-light);margin-bottom:34px;}
.lead-story img{width:100%;aspect-ratio:16/8;object-fit:cover;border:1px solid var(--rule-light);margin-bottom:16px;background:#eae6d9;}
.lead-story h1{font-size:clamp(1.9rem,4.4vw,3rem);}
.lead-story .dek{font-family:'PT Serif',serif;font-size:1.15rem;color:var(--ink-soft);margin:10px 0 14px;}
.story-meta{font-family:'Inter',sans-serif;font-size:.76rem;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.04em;display:flex;gap:14px;flex-wrap:wrap;margin-bottom:10px;}

/* ---------- News cards ---------- */
.news-card{border-bottom:1px solid var(--rule-light);padding-bottom:22px;margin-bottom:22px;display:flex;gap:18px;}
.news-card img{width:180px;height:130px;object-fit:cover;flex:none;border:1px solid var(--rule-light);background:#eae6d9;}
.news-card-body h3{font-size:1.12rem;margin-bottom:6px;}
.news-card-body p{font-size:.94rem;color:var(--ink-soft);margin-bottom:8px;}
.news-card .story-meta{margin-bottom:4px;}
.news-grid-page{display:grid;grid-template-columns:repeat(2,1fr);gap:0 40px;}
.news-grid-page .news-card{grid-column:span 1;}
@media (max-width:760px){
  .news-card{flex-direction:column;}
  .news-card img{width:100%;height:190px;}
  .news-grid-page{grid-template-columns:1fr;}
}
.news-status{font-family:'Inter',sans-serif;font-size:.74rem;color:var(--ink-faint);margin-bottom:18px;}
.skeleton{background:linear-gradient(90deg,#eae6d9 25%,#ddd8c8 37%,#eae6d9 63%);background-size:400% 100%;animation:skeleton 1.4s ease infinite;}
@keyframes skeleton{0%{background-position:100% 50%;}100%{background-position:0 50%;}}

/* ---------- Sidebar / sections rail ---------- */
.sidebar-block{margin-bottom:34px;}
.sidebar-block h4{
  font-family:'Inter',sans-serif;text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;
  border-bottom:2px solid var(--ink);padding-bottom:8px;margin-bottom:14px;
}
.section-list{list-style:none;padding:0;margin:0;}
.section-list li{border-bottom:1px solid var(--rule-light);}
.section-list a{
  display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 2px;
  font-family:'Inter',sans-serif;font-weight:600;font-size:.92rem;color:var(--ink);
}
.section-list a:hover{color:var(--red);text-decoration:none;}
.section-list p{font-family:'Inter',sans-serif;font-size:.78rem;color:var(--ink-faint);margin:-6px 0 10px;}

/* ---------- Advert blocks ---------- */
.advert{
  border:1px solid var(--rule);border-top:4px double var(--ink);background:var(--paper-panel);
  padding:20px;margin-bottom:24px;position:relative;
}
.advert-label{
  display:inline-block;font-family:'Inter',sans-serif;font-size:.66rem;font-weight:800;letter-spacing:.14em;
  text-transform:uppercase;color:var(--red);border:1px solid var(--red);padding:2px 8px;margin-bottom:12px;
}
.advert-head{display:flex;align-items:center;gap:12px;margin-bottom:10px;}
.advert-badge{
  width:44px;height:44px;flex:none;border-radius:50%;background:var(--ink);color:#fff;
  display:flex;align-items:center;justify-content:center;font-family:'Inter',sans-serif;font-weight:800;font-size:.85rem;
}
.advert h4{margin:0;font-size:1.1rem;}
.advert p{font-size:.9rem;color:var(--ink-soft);margin-bottom:12px;}
.advert-facts{list-style:none;padding:0;margin:0 0 14px;font-family:'Inter',sans-serif;font-size:.78rem;color:var(--ink-faint);}
.advert-facts li{padding:3px 0;border-top:1px dotted var(--rule-light);}
.advert-facts li:first-child{border-top:none;}
.advert-cta{
  display:inline-block;font-family:'Inter',sans-serif;font-weight:800;font-size:.78rem;letter-spacing:.03em;
  text-transform:uppercase;color:#fff;background:var(--red);padding:10px 16px;text-decoration:none !important;
}
.advert-cta:hover{background:var(--red-dark);}
.advert-strip{border:1px dashed var(--rule);padding:16px 18px;margin:22px 0;font-family:'Inter',sans-serif;font-size:.86rem;display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;}
.advert-strip .advert-label{margin:0;}
.classifieds{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}
@media (max-width:760px){.classifieds{grid-template-columns:1fr;}}

/* ---------- Key facts / pull quote ---------- */
.key-facts{border:1px solid var(--rule);padding:18px 22px;background:var(--paper-panel);margin:24px 0;}
.key-facts strong{display:block;font-family:'Inter',sans-serif;font-size:.74rem;text-transform:uppercase;letter-spacing:.1em;color:var(--red);margin-bottom:10px;}
.key-facts ul{list-style:none;padding:0;margin:0;}
.key-facts li{padding:6px 0;border-top:1px dotted var(--rule-light);font-family:'Inter',sans-serif;font-size:.9rem;}
.key-facts li:first-child{border-top:none;}
.pull-quote{
  font-family:'Playfair Display',serif;font-style:italic;font-size:1.4rem;line-height:1.4;color:var(--ink);
  border-top:3px solid var(--ink);border-bottom:3px solid var(--ink);padding:18px 0;margin:26px 0;
}
.pull-quote cite{display:block;font-family:'Inter',sans-serif;font-style:normal;font-size:.76rem;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint);margin-top:10px;}
.byline-box{display:flex;gap:12px;align-items:center;background:var(--paper-panel);border:1px solid var(--rule-light);padding:14px 16px;margin:22px 0;}
.byline-avatar{width:40px;height:40px;border-radius:50%;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;font-family:'Inter',sans-serif;font-weight:800;font-size:.75rem;flex:none;}
.byline-box strong{display:block;font-family:'Inter',sans-serif;font-size:.86rem;}
.byline-box span{font-family:'Inter',sans-serif;font-size:.76rem;color:var(--ink-faint);}

/* ---------- Table ---------- */
.table-wrap{overflow-x:auto;border:1px solid var(--rule);}
table{width:100%;border-collapse:collapse;background:var(--paper-panel);min-width:600px;}
thead th{background:var(--ink);color:#fff;font-family:'Inter',sans-serif;font-weight:700;font-size:.8rem;letter-spacing:.02em;text-align:left;padding:12px 16px;}
tbody td{padding:12px 16px;border-top:1px solid var(--rule-light);font-family:'Inter',sans-serif;font-size:.88rem;color:var(--ink);}
tbody tr:nth-child(even){background:#efece2;}

/* ---------- Pros/cons ---------- */
.proscons{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.proscons ul{list-style:none;padding:0;margin:0;}
.proscons li{padding:7px 0;font-size:.92rem;border-top:1px dotted var(--rule-light);}
.proscons li:first-child{border-top:none;}
.pros{border:1px solid var(--rule-light);border-left:4px solid var(--ink);padding:18px 20px;}
.cons{border:1px solid var(--rule-light);border-left:4px solid var(--red);padding:18px 20px;}
@media (max-width:760px){.proscons{grid-template-columns:1fr;}}

/* ---------- Steps ---------- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.step{border-top:3px solid var(--ink);padding-top:12px;}
.step-num{font-family:'Playfair Display',serif;font-weight:900;font-size:1.8rem;color:var(--red);}
@media (max-width:900px){.steps{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.steps{grid-template-columns:1fr;}}

/* ---------- Accordion / FAQ ---------- */
.accordion-item{border-bottom:1px solid var(--rule-light);}
.accordion-trigger{
  width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;
  background:none;border:none;text-align:left;padding:16px 2px;cursor:pointer;
  font-family:'Inter',sans-serif;font-weight:700;font-size:.98rem;color:var(--ink);
}
.accordion-icon{flex:none;width:20px;height:20px;position:relative;}
.accordion-icon::before,.accordion-icon::after{content:"";position:absolute;top:50%;left:50%;background:var(--ink);transform:translate(-50%,-50%);}
.accordion-icon::before{width:12px;height:2px;}
.accordion-icon::after{width:2px;height:12px;transition:transform var(--speed);}
.accordion-item.is-open .accordion-icon::after{transform:translate(-50%,-50%) scaleY(0);}
.accordion-panel{max-height:0;overflow:hidden;transition:max-height .35s ease;}
.accordion-panel-inner{padding:0 2px 18px;color:var(--ink-soft);font-size:.94rem;}

/* ---------- CTA banner ---------- */
.cta-banner{
  border:1px solid var(--ink);padding:34px 36px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;
  background:var(--paper-panel);
}
.cta-banner h2{margin-bottom:6px;}

/* ---------- Sticky CTA ---------- */
.sticky-cta{
  position:fixed;bottom:0;left:0;right:0;z-index:90;background:var(--ink);color:#fff;
  padding:12px 18px;display:flex;align-items:center;justify-content:space-between;gap:14px;
  transform:translateY(120%);transition:transform var(--speed) ease;font-family:'Inter',sans-serif;
}
.sticky-cta.is-visible{transform:translateY(0);}
.sticky-cta strong{font-size:.9rem;}

/* ---------- Footer ---------- */
.site-footer{background:var(--ink);color:#cfcac0;padding:48px 0 20px;margin-top:0;border-top:4px double #fff;}
.footer-grid{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:30px;}
.footer-masthead{font-family:'Playfair Display',serif;font-weight:900;font-size:1.7rem;color:#fff;}
.footer-masthead .accent{color:#e7677d;}
.footer-brand p{font-family:'Inter',sans-serif;font-size:.84rem;max-width:34ch;color:#cfcac0;}
.site-footer h4{color:#fff;font-family:'Inter',sans-serif;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:14px;}
.site-footer ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:9px;}
.site-footer a{color:#cfcac0;font-family:'Inter',sans-serif;font-size:.86rem;}
.site-footer a:hover{color:#fff;}
.footer-bottom{
  margin-top:38px;padding-top:20px;border-top:1px solid rgba(255,255,255,.15);
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-family:'Inter',sans-serif;font-size:.78rem;color:#a9a49a;
}
.footer-bottom a{color:#a9a49a;}
@media (max-width:920px){.footer-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.footer-grid{grid-template-columns:1fr;}}

/* ---------- misc ---------- */
.skip-link{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:12px 18px;z-index:999;}
.skip-link:focus{left:0;}
.tag-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;}
.pill{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--rule);color:var(--ink);font-family:'Inter',sans-serif;font-weight:600;font-size:.76rem;padding:4px 10px;text-transform:uppercase;letter-spacing:.03em;}
.pill--red{border-color:var(--red);color:var(--red);}
.icon-check{color:var(--ink);}
svg{width:16px;height:16px;flex:none;}
.reveal{opacity:0;transform:translateY(16px);transition:opacity .5s ease,transform .5s ease;}
.reveal.is-visible{opacity:1;transform:translateY(0);}

/* ---------- Forms ---------- */
.form-card{background:var(--paper-panel);border:1px solid var(--rule);padding:30px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px;}
.field{display:flex;flex-direction:column;gap:6px;font-family:'Inter',sans-serif;}
.field label{font-size:.82rem;font-weight:700;color:var(--ink);}
.field input,.field select,.field textarea{
  padding:11px 13px;border:1.5px solid var(--rule);border-radius:var(--radius);font-family:'Inter',sans-serif;font-size:.9rem;
  background:#fff;transition:border-color var(--speed);
}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--red);}

@media (max-width:920px){
  .grid-4{grid-template-columns:repeat(2,1fr);}
  .grid-3{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:760px){
  .grid-2,.grid-3,.grid-4{grid-template-columns:1fr;}
  .form-row{grid-template-columns:1fr;}
  .section{padding:36px 0;}
  .cta-banner{flex-direction:column;text-align:center;padding:26px 22px;}
}
@media (prefers-reduced-motion: reduce){
  *{animation-duration:.001ms !important;transition-duration:.001ms !important;scroll-behavior:auto !important;}
}
