/* /assets/stylesheets/news.css */

.news-page {
  background:#f9f0ec;
  color:#181d24;
}

.news-page *,
.news-page *::before,
.news-page *::after { box-sizing:border-box; }

.news-page p,
.news-page li,
.news-page td,
.news-page th,
.news-page a,
.news-page span { text-rendering:optimizeLegibility; }

.news-page p,
.news-page li,
.news-page td,
.news-page th {
  text-transform:none;
  letter-spacing:0;
}


.nf-hero {
  position:relative;
  min-height:82vh;
  min-height:calc(var(--viewport-height, 100vh) * .82);
  overflow:hidden;
  z-index:2;
  background:#101419;
  color:#f9f0ec;
}

.nf-hero__image,
.nf-hero__shade {
  position:absolute;
  inset:0;
}

.nf-hero__image picture,
.nf-hero__image img {
  display:block;
  width:100%;
  height:100%;
}

.nf-hero__image img { object-fit:cover; }

.nf-hero__shade {
  background:linear-gradient(180deg,rgba(15,19,24,.14) 0%,rgba(15,19,24,.18) 42%,rgba(15,19,24,.68) 100%);
}

.nf-hero__content {
  position:relative;
  z-index:3;
  min-height:82vh;
  min-height:calc(var(--viewport-height, 100vh) * .82);
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding-top:150px;
  padding-bottom:clamp(48px,5.5vw,88px);
  pointer-events:none;
}

.nf-hero-title {
  position:relative;
  display:inline-block;
  width:max-content;
  max-width:100%;
  margin:0;
  color:#f9f0ec;
}

.nf-hero-title__main {
  display:block;
  white-space:nowrap;
  font-size:clamp(42px,5.8vw,88px);
  line-height:.94;
  font-weight:400;
  letter-spacing:-.045em;
  text-transform:uppercase;
}

.nf-hero-title__script {
  position:absolute;
  left:58%;
  top:58%;
  font-family:"Wonder Garden Script",Helvetica,Arial,sans-serif;
  font-size:clamp(66px,8.4vw,132px);
  line-height:.8;
  font-weight:400;
  letter-spacing:0;
  text-transform:none;
  white-space:nowrap;
  color:#ca9d75;
  transform:translateY(-50%);
}

.nf-kicker {
  margin:0 0 18px;
  font-size:12px;
  line-height:1.45;
  font-family:"Euclid Square",Helvetica,Arial,sans-serif;
  letter-spacing:.18em !important;
  text-transform:uppercase !important;
  color:#ca9d75;
}



.nf-section { padding:clamp(72px,8vw,126px) 0; }
.nf-section--light { background:#f9f0ec; color:#181d24; }
.nf-section--warm { background:#eee2d8; color:#181d24; }
.nf-section--dark { background:#181d24; color:#f9f0ec; }
.nf-section--sources { background:#dfd0c4; color:#181d24; }
.nf-section--cta { background:#101419; color:#f9f0ec; }


.nf-intro-grid--snapshot {
  padding-top:0;
}

.nf-intro-grid,
.nf-section-head {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);
  gap:clamp(48px,8vw,130px);
  align-items:start;
}

.nf-heading {
  margin:0;
  max-width:780px;
  font-size:clamp(28px,3vw,44px);
  line-height:1.08;
  font-weight:400;
  letter-spacing:-.028em;
  text-transform:none;
  color:inherit;
}

.nf-copy {
  font-family:"Euclid Square",Helvetica,Arial,sans-serif;
  font-size:16px;
  line-height:1.82;
  text-transform:none;
  letter-spacing:0;
}

.nf-copy p { margin:0 0 1.15em; }
.nf-copy p:last-child { margin-bottom:0; }
.nf-copy--lead { font-size:18px; line-height:1.75; }

.nf-stat-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border-top:1px solid rgba(24,29,36,.22);
  border-left:1px solid rgba(24,29,36,.22);
  margin-top:clamp(54px,7vw,100px);
}

.nf-stat {
  min-height:250px;
  padding:clamp(26px,3vw,44px);
  border-right:1px solid rgba(24,29,36,.22);
  border-bottom:1px solid rgba(24,29,36,.22);
}

.nf-stat__value {
  display:block;
  margin-bottom:22px;
  font-family:"SangBleu Empire",Helvetica,Arial,sans-serif;
  font-size:clamp(34px,3.2vw,50px);
  line-height:1;
  letter-spacing:-.03em;
  color:#ca9d75;
}

.nf-stat h3,
.nf-panel h3,
.nf-callout h3,
.nf-do-dont h3,
.nf-2030-grid h3 {
  margin:0 0 12px;
  font-size:20px;
  line-height:1.25;
  font-weight:400;
  letter-spacing:-.02em;
  text-transform:none;
}

.nf-stat p,
.nf-panel p,
.nf-callout p,
.nf-2030-grid p {
  margin:0;
  font-family:"Euclid Square",Helvetica,Arial,sans-serif;
  font-size:14px;
  line-height:1.65;
  text-transform:none;
  letter-spacing:0;
}

.nf-stat__source {
  display:block;
  margin-top:18px;
  font-family:"Euclid Square",Helvetica,Arial,sans-serif;
  font-size:10px;
  line-height:1.5;
  letter-spacing:.11em;
  text-transform:uppercase;
  opacity:.62;
}

.nf-jump {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:38px;
}

.nf-jump a {
  display:inline-flex;
  padding:11px 16px;
  border:1px solid rgba(24,29,36,.25);
  color:#181d24;
  font-family:"Euclid Square",Helvetica,Arial,sans-serif;
  font-size:11px;
  line-height:1.3;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-decoration:none;
}

.nf-jump a:hover { border-color:#ca9d75; color:#9e7150; }

.nf-data-pair,
.nf-growth-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
  margin-top:clamp(48px,6vw,82px);
}

.nf-panel {
  padding:clamp(28px,4vw,52px);
  border:1px solid rgba(24,29,36,.18);
  background:rgba(255,255,255,.22);
}

.nf-panel--dark {
  background:#181d24;
  border-color:#181d24;
  color:#f9f0ec;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  min-height:320px;
}

.nf-panel--dark p { font-size:17px; line-height:1.75; }

.nf-panel__eyebrow,
.nf-small-label {
  display:block;
  margin-bottom:16px;
  font-family:"Euclid Square",Helvetica,Arial,sans-serif;
  font-size:10px;
  line-height:1.4;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:#ca9d75;
}

.nf-panel__note {
  margin-top:22px !important;
  font-size:12px !important;
  opacity:.66;
}

.nf-bars { margin-top:32px; }
.nf-bar-row {
  display:grid;
  grid-template-columns:54px minmax(0,1fr) 68px;
  gap:14px;
  align-items:center;
  margin:17px 0;
  font-family:"Euclid Square",Helvetica,Arial,sans-serif;
  font-size:13px;
}
.nf-bar-row strong { text-align:right; font-size:15px; font-weight:500; }
.nf-bar { height:10px; background:rgba(24,29,36,.12); overflow:hidden; }
.nf-bar__fill { display:block; height:100%; background:#ca9d75; }
.nf-bar__fill--174 { width:87.9%; }
.nf-bar__fill--198 { width:100%; }

.nf-mini-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1px;
  margin-top:24px;
  background:rgba(24,29,36,.16);
}
.nf-mini-grid > div {
  background:#f4e9e0;
  padding:28px;
}
.nf-mini-grid strong {
  display:block;
  font-family:"SangBleu Empire",Helvetica,Arial,sans-serif;
  font-size:30px;
  line-height:1;
  font-weight:400;
  color:#9e7150;
}
.nf-mini-grid span {
  display:block;
  margin-top:10px;
  font-family:"Euclid Square",Helvetica,Arial,sans-serif;
  font-size:12px;
  line-height:1.55;
  text-transform:none;
  letter-spacing:0;
}
.nf-mini-grid--three { grid-template-columns:repeat(3,minmax(0,1fr)); }

.nf-section--dark .nf-copy { color:rgba(249,240,236,.9); }
.nf-section--dark .nf-heading { color:#f9f0ec; }

.nf-number-comparison {
  display:grid;
  grid-template-columns:1fr auto 1fr auto;
  gap:clamp(22px,4vw,68px);
  align-items:center;
  margin-top:clamp(50px,7vw,95px);
  padding:clamp(28px,4vw,52px) 0;
  border-top:1px solid rgba(249,240,236,.18);
  border-bottom:1px solid rgba(249,240,236,.18);
}
.nf-number-comparison strong {
  display:block;
  font-family:"SangBleu Empire",Helvetica,Arial,sans-serif;
  font-size:clamp(42px,5vw,72px);
  line-height:1;
  font-weight:400;
  letter-spacing:-.04em;
}
.nf-number-comparison p {
  margin:10px 0 0;
  font-family:"Euclid Square",Helvetica,Arial,sans-serif;
  font-size:13px;
  text-transform:none;
  letter-spacing:0;
  opacity:.68;
}
.nf-arrow { font-size:34px; color:#ca9d75; }
.nf-change {
  padding:12px 16px;
  border:1px solid #ca9d75;
  font-family:"Euclid Square",Helvetica,Arial,sans-serif;
  font-size:13px;
  color:#ca9d75;
}

.nf-callout {
  margin-top:34px;
  max-width:920px;
  padding:30px 34px;
  border-left:2px solid #ca9d75;
  background:rgba(249,240,236,.06);
}
.nf-callout--light { background:#eee2d8; }
.nf-callout h3 { font-size:19px; }

.nf-title-gold {
  color:#ca9d75 !important;
}
.nf-callout p { font-size:15px; line-height:1.75; }

.nf-scale { margin-top:32px; }
.nf-scale-row {
  display:grid;
  grid-template-columns:56px minmax(0,1fr) 86px;
  gap:14px;
  align-items:center;
  margin:18px 0;
  font-family:"Euclid Square",Helvetica,Arial,sans-serif;
  font-size:13px;
}
.nf-scale-row strong { text-align:right; font-weight:500; }
.nf-scale__bar { display:block; height:22px; background:#ca9d75; }
.nf-scale__bar--2014 { width:83.25%; }
.nf-scale__bar--2024 { width:100%; }
.nf-large-number {
  display:block;
  margin:24px 0 18px;
  font-family:"SangBleu Empire",Helvetica,Arial,sans-serif;
  font-size:clamp(44px,5vw,68px);
  line-height:1;
  letter-spacing:-.04em;
  color:#ca9d75;
}

.nf-sector-table {
  margin-top:clamp(46px,6vw,78px);
  border-top:1px solid rgba(24,29,36,.24);
}
.nf-sector-row {
  display:grid;
  grid-template-columns:1fr 180px;
  gap:20px;
  padding:18px 0;
  border-bottom:1px solid rgba(24,29,36,.18);
  font-family:"Euclid Square",Helvetica,Arial,sans-serif;
  font-size:15px;
  line-height:1.5;
  text-transform:none;
  letter-spacing:0;
}
.nf-sector-row strong { text-align:right; color:#9e7150; font-weight:500; }
.nf-sector-row--head { font-size:10px; letter-spacing:.12em; text-transform:uppercase; opacity:.6; }
.nf-sector-row--total { font-size:18px; font-weight:500; }

.nf-market-table-wrap {
  margin-top:clamp(46px,6vw,78px);
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.nf-market-table {
  width:100%;
  min-width:760px;
  border-collapse:collapse;
  font-family:"Euclid Square",Helvetica,Arial,sans-serif;
  font-size:14px;
  line-height:1.55;
  text-transform:none;
  letter-spacing:0;
}
.nf-market-table th,
.nf-market-table td {
  padding:18px 16px;
  text-align:left;
  border-bottom:1px solid rgba(24,29,36,.17);
}
.nf-market-table th {
  font-size:10px;
  letter-spacing:.12em;
  text-transform:uppercase;
  opacity:.65;
}
.nf-positive { color:#59754d; font-weight:500; }
.nf-negative { color:#9a4f47; font-weight:500; }

.nf-2030-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;
  margin-top:clamp(48px,6vw,84px);
  background:rgba(249,240,236,.17);
}
.nf-2030-grid article {
  min-height:250px;
  padding:clamp(28px,4vw,46px);
  background:#181d24;
}
.nf-2030-grid article > span {
  display:block;
  margin-bottom:26px;
  font-family:"SangBleu Empire",Helvetica,Arial,sans-serif;
  font-size:clamp(34px,4vw,54px);
  line-height:1;
  letter-spacing:-.035em;
  color:#ca9d75;
}
.nf-2030-grid p { color:rgba(249,240,236,.72); }

.nf-do-dont {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
  margin-top:clamp(44px,6vw,76px);
}
.nf-do-dont > div {
  padding:clamp(28px,4vw,46px);
  border:1px solid rgba(24,29,36,.18);
}
.nf-do-dont ul { margin:20px 0 0; padding:0; list-style:none; }
.nf-do-dont li {
  position:relative;
  padding:12px 0 12px 22px;
  border-top:1px solid rgba(24,29,36,.12);
  font-family:"Euclid Square",Helvetica,Arial,sans-serif;
  font-size:14px;
  line-height:1.55;
}
.nf-do-dont li::before {
  content:"";
  position:absolute;
  left:0;
  top:20px;
  width:7px;
  height:7px;
  border-radius:50%;
  background:#ca9d75;
}

.nf-source-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1px;
  margin-top:clamp(44px,6vw,78px);
  background:rgba(24,29,36,.18);
}
.nf-source-grid a {
  display:block;
  min-height:120px;
  padding:24px 26px;
  background:#e7d9ce;
  color:#181d24;
  text-decoration:none;
}
.nf-source-grid a:hover { background:#f0e6de; }
.nf-source-grid strong {
  display:block;
  font-size:18px;
  line-height:1.3;
  font-weight:400;
  text-transform:none;
  letter-spacing:-.01em;
}
.nf-source-grid span {
  display:block;
  margin-top:9px;
  font-family:"Euclid Square",Helvetica,Arial,sans-serif;
  font-size:12px;
  line-height:1.5;
  text-transform:none;
  letter-spacing:0;
  opacity:.68;
}
.nf-source-footnote {
  max-width:1000px;
  margin:28px 0 0;
  font-family:"Euclid Square",Helvetica,Arial,sans-serif;
  font-size:12px;
  line-height:1.7;
  text-transform:none;
  letter-spacing:0;
  opacity:.67;
}

.nf-cta {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:50px;
  align-items:end;
}
.nf-cta__links { display:flex; flex-wrap:wrap; gap:12px; justify-content:flex-end; }
.nf-section--cta .nf-heading { max-width:780px; }

@media (max-width:979px) {
  .nf-intro-grid,
  .nf-section-head { grid-template-columns:1fr; gap:34px; }
  .nf-stat-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .nf-mini-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .nf-mini-grid--three { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .nf-number-comparison { grid-template-columns:1fr auto 1fr; }
  .nf-change { grid-column:1 / -1; width:max-content; }
  .nf-2030-grid { grid-template-columns:1fr; }
  .nf-2030-grid article { min-height:0; }
  .nf-cta { grid-template-columns:1fr; align-items:start; }
  .nf-cta__links { justify-content:flex-start; }
}

@media (max-width:767px) {
  .nf-hero,
  .nf-hero__content { min-height:68vh; min-height:calc(var(--viewport-height, 100vh) * .68); }
  .nf-hero__content { padding-top:125px; padding-bottom:42px; }
  .nf-hero-title__main { font-size:clamp(34px,8.8vw,50px); }
  .nf-hero-title__script { left:54%; top:62%; font-size:clamp(52px,15vw,82px); }
  .nf-section { padding:64px 0; }
  .nf-heading { font-size:clamp(26px,7.5vw,34px); }
  .nf-copy, .nf-copy--lead { font-size:15px; line-height:1.75; }
  .nf-stat-grid { grid-template-columns:1fr; }
  .nf-stat { min-height:0; }
  .nf-data-pair,
  .nf-growth-grid,
  .nf-do-dont { grid-template-columns:1fr; }
  .nf-mini-grid,
  .nf-mini-grid--three { grid-template-columns:1fr; }
  .nf-number-comparison { grid-template-columns:1fr; gap:18px; }
  .nf-arrow { transform:rotate(90deg); width:max-content; }
  .nf-sector-row { grid-template-columns:1fr auto; }
  .nf-source-grid { grid-template-columns:1fr; }
  .nf-source-grid a { min-height:0; }
}

@media (prefers-reduced-motion:reduce) {
  .news-page * { scroll-behavior:auto !important; }
}

/* News page: all headings in uppercase */
.news-page h1,
.news-page h2,
.news-page h3,
.news-page .nf-source-grid strong {
  text-transform: uppercase !important;
}


/* /assets/stylesheets/news.css
 * News page: dark investor snapshot directly below the hero.
 */
.news-page-body .nf-section--snapshot {
  background:#181d24;
  color:#f9f0ec;
  border-top:1px solid rgba(249,240,236,.10);
  padding-top:clamp(56px,6vw,92px);
}

.news-page-body .nf-section--snapshot .nf-copy,
.news-page-body .nf-section--snapshot .nf-stat p {
  color:rgba(249,240,236,.88);
}

.news-page-body .nf-section--snapshot .nf-stat-grid {
  border-top-color:rgba(249,240,236,.18);
  border-left-color:rgba(249,240,236,.18);
}

.news-page-body .nf-section--snapshot .nf-stat {
  border-right-color:rgba(249,240,236,.18);
  border-bottom-color:rgba(249,240,236,.18);
}

.news-page-body .nf-section--snapshot .nf-stat__source {
  color:rgba(249,240,236,.62);
}

.news-page-body .nf-section--snapshot .nf-jump a {
  border-color:rgba(202,157,117,.58);
  color:#f9f0ec;
  background:transparent;
}

.news-page-body .nf-section--snapshot .nf-jump a:hover {
  border-color:#ca9d75;
  color:#ca9d75;
}

/* Keep the global scroll control in the Agadir Investment black/gold palette. */
.news-page-body .ai-scroll-down {
  background:#101419;
  border-color:#ca9d75;
  color:#ca9d75;
}

.news-page-body.has-hover .ai-scroll-down:hover,
.has-hover .news-page-body .ai-scroll-down:hover {
  background:#181d24;
  border-color:#f9f0ec;
  color:#f9f0ec;
}


/* News category buttons: same pill radius as the main menu button. */
.news-page-body .nf-jump a {
  border-radius:999px;
}
