/* ==========================================================
   Arab Perspectives Widgets
   All selectors scoped with .apw- prefix.
   Palette tokens are redefined per-widget via Elementor controls.
   ========================================================== */

.apw-sec{
  --apw-paper:#FFFFFF;
  --apw-ink:#0F3D3B;
  --apw-mint:#C0A260;
  /* darker gold for gold-on-white text (WCAG AA 4.5:1) */
  --apw-gold-ink:#8F7335;

  --apw-deep:#092B29;
  --apw-ink-80:rgba(15,61,59,.80);
  --apw-ink-60:rgba(15,61,59,.60);
  --apw-ink-45:rgba(15,61,59,.45);
  --apw-hair:rgba(15,61,59,.12);
  --apw-hair-light:rgba(255,255,255,.14);
  --apw-paper-70:rgba(255,255,255,.70);
  --apw-paper-50:rgba(255,255,255,.50);
  --apw-paper-35:rgba(255,255,255,.35);

  --apw-display:"Fraunces",Georgia,serif;
  --apw-body:"Inter Tight",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --apw-mono:"JetBrains Mono",ui-monospace,monospace;

  --apw-ease:cubic-bezier(.22,1,.36,1);
  --apw-ease-out:cubic-bezier(.16,1,.3,1);

  position:relative;
  box-sizing:border-box;
  font-family:var(--apw-body);
  font-size:17px;
  line-height:1.6;
  isolation:isolate;
}

/* box-sizing must cover the header/drawer/cursor too, not just .apw-sec */
.apw-scope,
.apw-scope *,
.apw-scope *::before,
.apw-scope *::after,
.apw-header,
.apw-header *,
.apw-header *::before,
.apw-header *::after,
.apw-drawer,
.apw-drawer *,
.apw-sec *,
.apw-sec *::before,
.apw-sec *::after{box-sizing:border-box}

/* the wrapper must never exceed its parent, padding included */
.apw-wrap{box-sizing:border-box;max-width:100%}

.apw-sec img{max-width:100%;display:block}
.apw-sec svg{display:block}
.apw-sec a{text-decoration:none;color:inherit}
.apw-sec p{margin:0}
.apw-sec ul,.apw-sec ol,.apw-sec dl,.apw-sec dd{margin:0;padding:0;list-style:none}
.apw-sec blockquote{margin:0}
.apw-sec h1,.apw-sec h2,.apw-sec h3,.apw-sec h4{
  margin:0;font-family:var(--apw-display);font-weight:400;
  line-height:1.02;letter-spacing:-.025em;
}
.apw-sec button,.apw-sec input,.apw-sec select,.apw-sec textarea{font:inherit;color:inherit}
.apw-sec ::selection{background:var(--apw-mint);color:var(--apw-ink)}
.apw-sec :focus-visible{outline:2px solid var(--apw-mint);outline-offset:3px}

/* full-width wrapper with configurable gutters */
.apw-wrap{
  position:relative;z-index:2;
  width:100%;padding-left:50px;padding-right:50px;
  margin-left:auto;margin-right:auto;
}

.apw-mono{
  font-family:var(--apw-mono);font-size:11px;
  letter-spacing:.13em;text-transform:uppercase;font-weight:400;
}

/* background + overlay layers */
.apw-bg{
  position:absolute;inset:0;z-index:0;
  background-repeat:no-repeat;background-size:cover;background-position:center center;
}
.apw-veil{position:absolute;inset:0;z-index:1;pointer-events:none}

/* reveal */
.apw-reveal{opacity:0;transform:translateY(24px);transition:opacity .9s var(--apw-ease),transform .9s var(--apw-ease)}
.apw-reveal.apw-in{opacity:1;transform:none}
.elementor-editor-active .apw-reveal{opacity:1;transform:none}

/* logo mark — fixed box, never inherits size */
/* Logo mark.
   Height is the control; width is free so wide logos (mark + wordmark)
   are never squeezed into a square. The built-in SVG stays square via
   its own aspect-ratio. */
.apw-mark{
  display:inline-block;height:30px;width:auto;max-width:100%;
  flex:0 1 auto;min-width:0;color:var(--apw-mint);line-height:0;
  overflow:hidden;
}
.apw-mark img{
  height:100%;width:auto;max-width:100%;
  display:block;object-fit:contain;
}
.apw-mark svg{
  height:100%;width:auto;aspect-ratio:1/1;display:block;
}

/* eyebrow */
.apw-eyebrow{
  display:inline-flex;align-items:center;gap:11px;flex-wrap:wrap;
  font-family:var(--apw-mono);font-size:11px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--apw-ink-60);margin-bottom:26px;
}
.apw-eyebrow-light{color:var(--apw-paper-70)}
.apw-idx{color:var(--apw-gold-ink);font-weight:500}
.apw-eyebrow-light .apw-idx{color:var(--apw-mint)}
.apw-dot{
  width:6px;height:6px;border-radius:50%;background:var(--apw-mint);
  flex:none;animation:apw-pulse 2.6s ease-in-out infinite;
}
@keyframes apw-pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.7)}}

/* buttons */
.apw-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  padding:13px 24px;border-radius:100px;font-size:14px;font-weight:500;
  border:1px solid transparent;cursor:pointer;white-space:nowrap;
  font-family:var(--apw-body);
  transition:transform .35s var(--apw-ease),background-color .35s var(--apw-ease),
             color .35s var(--apw-ease),border-color .35s var(--apw-ease);
}
.apw-btn:hover{transform:translateY(-2px)}
.apw-btn-mint{background:var(--apw-mint);color:var(--apw-ink)}
.apw-btn-mint:hover{background:var(--apw-paper)}
.apw-btn-ghost{border-color:var(--apw-paper-50);color:var(--apw-paper)}
.apw-btn-ghost:hover{background:var(--apw-paper);color:var(--apw-ink);border-color:var(--apw-paper)}
.apw-btn-outline{border-color:currentColor}
.apw-btn-full{width:100%}

/* section heading */
.apw-sec-head{margin-bottom:clamp(44px,5.5vw,76px)}
.apw-sec-head-split{
  display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);
  gap:clamp(24px,4vw,70px);align-items:end;
}
.apw-sec-title{font-size:clamp(34px,6vw,90px);letter-spacing:-.038em;line-height:1.02;max-width:16ch}
.apw-sec-title em{font-style:italic;color:var(--apw-mint)}
.apw-sec-sub{margin-top:20px;color:var(--apw-ink-60);max-width:58ch;font-size:17px}
.apw-sec-head-split .apw-sec-sub{margin-top:0;padding-bottom:8px}

/* pull quote */
.apw-pull{
  padding:22px 0 22px 28px;border-left:2px solid var(--apw-mint);
  font-family:var(--apw-display);font-style:italic;
  font-size:clamp(19px,2.2vw,30px);line-height:1.32;letter-spacing:-.02em;
}

/* honeypot */
.apw-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}

/* ==========================================================
   CURSOR + SPINE (from Header widget)
   ========================================================== */
.apw-cursor{position:fixed;inset:0;z-index:9997;pointer-events:none;display:none}
.apw-cursor-dot{
  position:absolute;width:6px;height:6px;border-radius:50%;background:#C0A260;
  transform:translate(-50%,-50%);transition:opacity .3s;
}
.apw-cursor-ring{
  position:absolute;width:38px;height:38px;border-radius:100px;
  border:1px solid rgba(192,162,96,.55);transform:translate(-50%,-50%);
  display:flex;align-items:center;justify-content:center;
  transition:width .38s cubic-bezier(.22,1,.36,1),height .38s cubic-bezier(.22,1,.36,1),
             background-color .38s cubic-bezier(.22,1,.36,1),border-color .38s cubic-bezier(.22,1,.36,1);
}
.apw-cursor-label{
  font-family:"JetBrains Mono",ui-monospace,monospace;font-size:9.5px;
  letter-spacing:.12em;text-transform:uppercase;color:#0F3D3B;
  opacity:0;transition:opacity .25s;white-space:nowrap;
}
.apw-cursor.apw-hot .apw-cursor-ring{width:78px;height:78px;background:#C0A260;border-color:#C0A260}
.apw-cursor.apw-hot .apw-cursor-label{opacity:1}
.apw-cursor.apw-hot .apw-cursor-dot{opacity:0}

.apw-spine{position:fixed;left:0;top:0;width:2px;height:100vh;z-index:901;pointer-events:none}
.apw-spine i{display:block;width:100%;height:0;background:#C0A260}

/* ==========================================================
   HEADER
   ========================================================== */
.apw-header{
  --apw-paper:#FFFFFF;--apw-ink:#0F3D3B;--apw-mint:#C0A260;
  --apw-hair:rgba(15,61,59,.12);--apw-paper-50:rgba(255,255,255,.50);
  position:relative;z-index:900;width:100%;color:#fff;
  font-family:"Inter Tight",-apple-system,sans-serif;
  transition:background-color .4s cubic-bezier(.22,1,.36,1),padding .4s cubic-bezier(.22,1,.36,1),
             color .4s cubic-bezier(.22,1,.36,1),box-shadow .4s cubic-bezier(.22,1,.36,1);
}
.apw-header.is-sticky{position:fixed;top:0;left:0;right:0}
.apw-header.is-stuck{
  background:rgba(255,255,255,.94);
  -webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4);
  color:#0F3D3B;box-shadow:0 1px 0 rgba(15,61,59,.12);
}
.apw-header-inner{
  display:flex;align-items:center;gap:28px;
  padding-top:20px;padding-bottom:20px;
  min-width:0;max-width:100%;
}
.apw-header-inner>*{min-width:0}
.apw-brand{flex:0 1 auto;overflow:hidden}
.apw-nav-links{flex:0 1 auto;min-width:0}
.apw-header-cta{flex:0 0 auto}
.apw-header.is-stuck .apw-header-inner{padding-top:12px;padding-bottom:12px}

.apw-brand{display:flex;align-items:center;gap:11px;margin-right:auto;min-width:0;text-decoration:none;color:inherit}
.apw-brand-name{
  font-family:"Fraunces",Georgia,serif;font-size:16px;letter-spacing:-.02em;
  line-height:1.05;display:flex;flex-direction:column;
}
.apw-brand-name em{
  font-style:normal;font-family:"JetBrains Mono",monospace;font-size:8.5px;
  letter-spacing:.2em;text-transform:uppercase;opacity:.55;margin-top:3px;
}
.apw-nav-links{display:flex;gap:28px;font-size:14px}
.apw-nav-links a{position:relative;opacity:.82;transition:opacity .3s;white-space:nowrap;text-decoration:none;color:inherit}
.apw-nav-links a::after{
  content:"";position:absolute;left:0;bottom:-5px;height:1px;width:0;
  background:#C0A260;transition:width .4s cubic-bezier(.22,1,.36,1);
}
.apw-nav-links a:hover{opacity:1}
.apw-nav-links a:hover::after{width:100%}
.apw-header-cta{padding:10px 18px;font-size:13px;border-color:rgba(255,255,255,.5)}
.apw-header.is-stuck .apw-header-cta{border-color:rgba(15,61,59,.12)}
.apw-header-cta:hover{background:#C0A260;border-color:#C0A260;color:#0F3D3B}

.apw-toggle{
  display:none;width:42px;height:42px;background:none;border:1px solid currentColor;
  border-radius:100px;cursor:pointer;flex-direction:column;align-items:center;
  justify-content:center;gap:5px;flex:0 0 42px;color:inherit;
}
.apw-toggle span{display:block;width:16px;height:1px;background:currentColor;transition:transform .35s cubic-bezier(.22,1,.36,1)}
.apw-toggle.apw-open span:nth-child(1){transform:translateY(3px) rotate(45deg)}
.apw-toggle.apw-open span:nth-child(2){transform:translateY(-3px) rotate(-45deg)}

.apw-drawer{
  position:fixed;inset:0;z-index:880;background:#0F3D3B;color:#fff;
  padding:100px 36px 36px;display:flex;flex-direction:column;
  justify-content:space-between;gap:32px;overflow-y:auto;
  transform:translateY(-100%);transition:transform .55s cubic-bezier(.22,1,.36,1);
  font-family:"Inter Tight",sans-serif;
}
.apw-drawer.apw-open{transform:none}
.apw-drawer-links{display:flex;flex-direction:column}
.apw-drawer-links a{
  font-family:"Fraunces",Georgia,serif;font-size:clamp(26px,7.5vw,40px);padding:15px 0;
  border-bottom:1px solid rgba(255,255,255,.14);display:flex;align-items:baseline;gap:14px;
  text-decoration:none;color:inherit;
}
.apw-drawer-links i{font-family:"JetBrains Mono",monospace;font-size:10px;font-style:normal;color:#C0A260;letter-spacing:.1em}
.apw-drawer-foot p{margin-top:18px;font-size:14px;color:rgba(255,255,255,.7);line-height:1.7}
.apw-drawer-foot a{color:inherit}

/* ==========================================================
   HERO
   ========================================================== */
.apw-hero{
  background:var(--apw-ink);color:var(--apw-paper);
  display:flex;flex-direction:column;justify-content:center;
  min-height:100svh;padding-top:150px;padding-bottom:44px;overflow:hidden;
}
.apw-video{position:absolute;inset:0;z-index:0;overflow:hidden}
.apw-poster{
  position:absolute;inset:-4%;opacity:.34;
  filter:grayscale(.7) contrast(1.08);
  animation:apw-drift 26s ease-in-out infinite alternate;
}
@keyframes apw-drift{
  from{transform:scale(1.02) translate3d(0,0,0)}
  to{transform:scale(1.10) translate3d(-1.5%,-1.5%,0)}
}
.apw-video video{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  opacity:.30;filter:grayscale(.65) contrast(1.08);
}
.apw-hero .apw-veil{
  background-image:
    radial-gradient(120% 90% at 78% 12%,rgba(192,162,96,.16),transparent 58%),
    linear-gradient(180deg,rgba(15,61,59,.72) 0%,rgba(15,61,59,.60) 45%,rgba(15,61,59,.90) 100%);
}

.apw-hero-title{font-size:clamp(44px,9vw,150px);line-height:.94;letter-spacing:-.04em;margin-bottom:24px}
.apw-hero-title .apw-line{display:block;overflow:hidden}
.apw-hero-title .apw-line>span{display:block;transform:translateY(105%);transition:transform 1.05s var(--apw-ease)}
.apw-hero.apw-ready .apw-hero-title .apw-line>span{transform:none}
.apw-hero.apw-ready .apw-hero-title .apw-line:nth-child(1)>span{transition-delay:.05s}
.apw-hero.apw-ready .apw-hero-title .apw-line:nth-child(2)>span{transition-delay:.15s}
.apw-hero-title em{font-style:italic;color:var(--apw-mint)}

.apw-hero-sub{
  display:block;overflow:hidden;font-family:var(--apw-display);
  font-size:clamp(22px,3.4vw,50px);line-height:1.14;letter-spacing:-.03em;
  color:var(--apw-paper-70);max-width:24ch;margin-bottom:30px;
}
.apw-hero-sub>span{display:block;transform:translateY(105%);transition:transform 1.05s var(--apw-ease) .28s}
.apw-hero.apw-ready .apw-hero-sub>span{transform:none}

.apw-hero-lede{max-width:58ch;color:var(--apw-paper-70);font-size:clamp(15.5px,1.3vw,19px);margin-bottom:36px;font-weight:300}
.apw-hero-cta{display:flex;flex-wrap:wrap;gap:13px}

.apw-hero-meta{
  display:flex;justify-content:space-between;align-items:center;gap:18px;
  margin-top:60px;color:var(--apw-paper-50);
  border-top:1px solid var(--apw-hair-light);padding-top:18px;
  font-family:var(--apw-mono);font-size:11px;letter-spacing:.13em;text-transform:uppercase;
}
.apw-hero-scroll{display:flex;align-items:center;gap:10px}
.apw-hero-scroll i{display:block;width:1px;height:26px;background:var(--apw-mint);animation:apw-drop 1.9s var(--apw-ease) infinite}
@keyframes apw-drop{
  0%{transform:scaleY(0);transform-origin:top}
  45%{transform:scaleY(1);transform-origin:top}
  55%{transform:scaleY(1);transform-origin:bottom}
  100%{transform:scaleY(0);transform-origin:bottom}
}

/* ==========================================================
   MARQUEE
   ========================================================== */
.apw-marquee{background:var(--apw-mint);color:var(--apw-ink);overflow:hidden;padding:17px 0}
.apw-marquee-track{display:flex;width:max-content;animation:apw-loop 30s linear infinite;will-change:transform}
.apw-pause-hover:hover .apw-marquee-track{animation-play-state:paused}
.apw-marquee-set{display:flex;align-items:center;gap:34px;padding-right:34px;flex:none}
.apw-marquee-set span{font-family:var(--apw-display);font-size:clamp(19px,2.5vw,36px);letter-spacing:-.02em;white-space:nowrap}
.apw-marquee-set b{font-size:clamp(10px,1.2vw,16px);font-weight:400;opacity:.5}
@keyframes apw-loop{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ==========================================================
   MISSION
   ========================================================== */
.apw-mission{padding-top:clamp(84px,10vw,160px);padding-bottom:clamp(84px,10vw,160px);background:var(--apw-paper);color:var(--apw-ink)}
.apw-mission-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,2fr);gap:clamp(32px,6vw,110px);align-items:start}
.apw-mission-fig{margin:0;position:relative;overflow:hidden}
.apw-mission-fig img{
  width:100%;aspect-ratio:3/4;object-fit:cover;filter:grayscale(1) contrast(1.05);
  transition:transform 1.2s var(--apw-ease),filter .7s var(--apw-ease);
}
.apw-mission-fig:hover img{transform:scale(1.04)}
.apw-mission-fig figcaption{margin-top:11px;color:var(--apw-ink-45)}
.apw-mission-lead{
  font-family:var(--apw-display);font-size:clamp(23px,2.9vw,40px);line-height:1.26;
  letter-spacing:-.024em;color:var(--apw-ink);margin-bottom:30px;max-width:26ch;
}
.apw-mission-body-text p{color:var(--apw-ink-80);margin-bottom:22px;max-width:70ch}
.apw-mission-body .apw-pull{margin-top:36px}

.apw-stats{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,4vw,60px);
  margin-top:46px;padding-top:32px;border-top:1px solid var(--apw-hair);max-width:820px;
}
.apw-stats li{display:flex;flex-direction:column;gap:6px;min-width:0}
.apw-stats strong{font-family:var(--apw-display);font-size:clamp(32px,4vw,58px);font-weight:400;letter-spacing:-.03em;line-height:1}
.apw-stats span{color:var(--apw-ink-45);line-height:1.5}

/* ==========================================================
   WHAT WE DO
   ========================================================== */
.apw-work{padding-top:clamp(84px,10vw,160px);padding-bottom:clamp(84px,10vw,160px);background:var(--apw-ink);color:var(--apw-paper)}
.apw-work .apw-sec-sub{color:var(--apw-paper-70)}
.apw-wgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,3vw,50px)}

.apw-wcard{
  position:relative;display:flex;flex-direction:column;min-width:0;
  border:1px solid var(--apw-hair-light);padding:clamp(22px,2vw,30px);
  background:linear-gradient(180deg,rgba(255,255,255,.024),transparent);
  overflow:hidden;isolation:isolate;text-decoration:none;color:inherit;
  transition-property:border-color,transform,background-color;
  transition-duration:550ms;transition-timing-function:var(--apw-ease);
}
.apw-fx-sweep .apw-wcard::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(192,162,96,.10),rgba(192,162,96,.03));
  transform:translateY(101%);transition:transform .7s var(--apw-ease-out);
}
.apw-wcard:hover{border-color:rgba(192,162,96,.55);transform:translateY(-6px)}
.apw-fx-sweep .apw-wcard:hover::before{transform:translateY(0)}

.apw-wcard-n{color:var(--apw-mint);display:block;margin-bottom:18px;font-size:12px;letter-spacing:.2em;transition:letter-spacing .55s var(--apw-ease)}
.apw-wcard:hover .apw-wcard-n{letter-spacing:.4em}

.apw-wcard-media{position:relative;overflow:hidden;margin-bottom:22px;background:var(--apw-deep)}
.apw-wcard-media img{
  width:100%;aspect-ratio:16/10;object-fit:cover;
  filter:grayscale(1) contrast(1.1) brightness(.82);transform:scale(1.02);
  transition:transform 1.15s var(--apw-ease),filter .75s var(--apw-ease);
}
.apw-wcard:hover .apw-wcard-media img{transform:scale(1.09);filter:grayscale(0) contrast(1) brightness(1)}

.apw-wcard-scan{
  position:absolute;top:0;bottom:0;width:36%;pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(192,162,96,.32),transparent);
  transform:translateX(-140%);
}
.apw-fx-scan .apw-wcard:hover .apw-wcard-scan{animation:apw-scan 1.15s var(--apw-ease-out) forwards}
@keyframes apw-scan{to{transform:translateX(400%)}}

.apw-wcard-body{display:grid;grid-template-columns:1fr auto;gap:6px 20px;align-items:start;flex:1}
.apw-wcard-t{grid-column:1;font-size:clamp(24px,2.6vw,38px);letter-spacing:-.03em;line-height:1.05;transition:color .45s var(--apw-ease)}
.apw-wcard:hover .apw-wcard-t{color:var(--apw-mint)}
.apw-wcard-d{grid-column:1;color:var(--apw-paper-70);font-size:15.5px;font-weight:300;line-height:1.6;max-width:52ch;margin-top:8px}
.apw-wcard-a{
  grid-column:2;grid-row:1;justify-self:end;width:44px;height:44px;flex:none;
  border-radius:100px;border:1px solid var(--apw-hair-light);color:var(--apw-mint);
  display:flex;align-items:center;justify-content:center;font-size:17px;
  transition:background-color .5s var(--apw-ease),color .5s var(--apw-ease),
             border-color .5s var(--apw-ease),transform .5s var(--apw-ease);
}
.apw-wcard:hover .apw-wcard-a{background:var(--apw-mint);color:var(--apw-ink);border-color:var(--apw-mint)}
.apw-fx-arrow .apw-wcard:hover .apw-wcard-a{transform:rotate(45deg) scale(1.06)}

/* ==========================================================
   PROGRAMS
   ========================================================== */
.apw-programs{padding-top:clamp(84px,10vw,160px);padding-bottom:clamp(84px,10vw,160px);background:var(--apw-paper);color:var(--apw-ink)}
.apw-pgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(20px,2.2vw,34px)}
.apw-pcard{display:flex;flex-direction:column;min-width:0;text-decoration:none;color:inherit}
.apw-pcard-media{position:relative;overflow:hidden;margin-bottom:18px;background:var(--apw-ink)}
.apw-pcard-media img{
  width:100%;aspect-ratio:4/5;object-fit:cover;filter:grayscale(1) contrast(1.06);
  transition:transform 1.1s var(--apw-ease),filter .65s var(--apw-ease);
}
.apw-pcard:hover .apw-pcard-media img{filter:grayscale(0) contrast(1)}
.apw-pcard-tag{
  position:absolute;top:13px;left:13px;background:var(--apw-paper);color:var(--apw-ink);
  padding:6px 10px;letter-spacing:.14em;transition:background-color .4s,color .4s;
}
.apw-pcard h3{font-size:clamp(19px,1.8vw,26px);letter-spacing:-.025em;margin-bottom:9px;transition:color .35s}
.apw-pcard:hover h3{color:var(--apw-gold-ink)}
.apw-pcard p{color:var(--apw-ink-60);font-size:15px;margin-bottom:14px;flex:1;line-height:1.55}
.apw-pcard-link{color:var(--apw-ink-45);display:flex;align-items:center;gap:8px;transition:color .3s}
.apw-pcard-link i{font-style:normal;transition:transform .35s var(--apw-ease)}
.apw-pcard:hover .apw-pcard-link{color:var(--apw-gold-ink)}
.apw-pcard:hover .apw-pcard-link i{transform:translateX(5px)}

.apw-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:clamp(36px,4vw,54px);padding-top:32px;border-top:1px solid var(--apw-hair)}
.apw-chips li{
  border:1px solid var(--apw-hair);border-radius:100px;padding:9px 18px;font-size:14px;
  transition:border-color .3s,background-color .3s,color .3s,transform .3s;
}
.apw-chips li:not(.apw-chip-dashed):hover{border-color:var(--apw-mint);background:var(--apw-mint);color:var(--apw-ink);transform:translateY(-2px)}
.apw-chips .apw-chip-dashed{border-style:dashed;color:var(--apw-ink-45)}

/* ==========================================================
   COMING SOON
   ========================================================== */
.apw-coming{
  padding-top:clamp(110px,14vw,200px);padding-bottom:clamp(110px,14vw,200px);
  color:var(--apw-paper);overflow:hidden;
}
.apw-coming .apw-bg{filter:grayscale(1) brightness(var(--apw-bright,.42))}
.apw-coming .apw-veil{background-image:linear-gradient(180deg,rgba(15,61,59,.86),rgba(15,61,59,.72))}
.apw-coming-inner{max-width:900px}
.apw-coming-title{font-size:clamp(44px,9.5vw,130px);letter-spacing:-.042em;line-height:.96}
.apw-coming-title em{font-style:italic;color:var(--apw-mint)}
.apw-coming-sub{margin:24px 0 34px;color:var(--apw-paper-70);max-width:56ch;font-size:17px;font-weight:300}

/* ==========================================================
   NETWORK
   ========================================================== */
.apw-network{padding-top:clamp(84px,10vw,160px);padding-bottom:clamp(84px,10vw,160px);background:var(--apw-paper);color:var(--apw-ink)}
.apw-network-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(36px,5.5vw,100px);align-items:start}
.apw-network-grid .apw-pull{margin-top:34px}
.apw-signup{border:1px solid var(--apw-hair);padding:clamp(26px,2.8vw,38px);position:relative;background:var(--apw-paper)}
.apw-signup::before{content:"";position:absolute;top:0;left:0;width:50px;height:2px;background:var(--apw-mint)}
.apw-signup label{display:block;color:var(--apw-ink-45);margin-bottom:13px}
.apw-signup-row{display:flex;gap:10px;flex-wrap:wrap}
.apw-signup input{
  flex:1 1 170px;min-width:0;padding:14px 16px;border:1px solid var(--apw-hair);
  background:transparent;font-size:15px;border-radius:0;transition:border-color .3s;
}
.apw-signup input:focus{outline:none;border-color:var(--apw-mint)}
.apw-signup input.apw-bad{border-color:#c0392b}
.apw-signup button{
  padding:14px 26px;background:var(--apw-ink);color:var(--apw-paper);border:none;cursor:pointer;
  font-size:14px;font-weight:500;display:inline-flex;gap:8px;align-items:center;
  transition:background-color .35s var(--apw-ease),color .35s var(--apw-ease);
}
.apw-signup button:hover{background:var(--apw-mint);color:var(--apw-ink)}
.apw-signup button:disabled{opacity:.55;cursor:default}
.apw-signup-note{margin-top:15px;color:var(--apw-ink-45);text-transform:none;letter-spacing:.02em;font-size:12px;line-height:1.6}
.apw-signup-note.apw-ok{color:var(--apw-ink)}
.apw-signup-note.apw-err{color:#c0392b}

/* ==========================================================
   CONTACT
   ========================================================== */
.apw-contact{padding-top:clamp(84px,10vw,160px);padding-bottom:clamp(84px,10vw,160px);background:var(--apw-ink);color:var(--apw-paper)}
.apw-contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,5vw,100px);align-items:start}
.apw-contact-title{font-size:clamp(36px,5.4vw,84px);letter-spacing:-.04em;line-height:1.02}
.apw-contact-title em{font-style:italic;color:var(--apw-mint)}
.apw-contact-sub{margin:26px 0 40px;color:var(--apw-paper-70);max-width:52ch;font-size:17px;font-weight:300}
.apw-contact-meta{display:grid;gap:24px;border-top:1px solid var(--apw-hair-light);padding-top:32px}
.apw-contact-meta>div{min-width:0}
.apw-contact-meta dt{color:var(--apw-mint);margin-bottom:8px}
.apw-contact-meta dd{color:var(--apw-paper-70);font-size:15.5px;line-height:1.6;overflow-wrap:anywhere}
.apw-contact-meta a{border-bottom:1px solid var(--apw-hair-light);transition:border-color .3s,color .3s}
.apw-contact-meta a:hover{color:var(--apw-mint);border-color:var(--apw-mint)}

.apw-cform{border:1px solid var(--apw-hair-light);padding:clamp(26px,2.6vw,40px);background:rgba(255,255,255,.028);position:relative}
.apw-cform::before{content:"";position:absolute;top:0;left:0;width:56px;height:2px;background:var(--apw-mint)}
.apw-cform-head{color:var(--apw-mint);margin-bottom:26px}
.apw-cform-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.apw-field{display:flex;flex-direction:column;gap:9px;min-width:0}
.apw-field-full{grid-column:1 / -1}
.apw-field label{color:var(--apw-paper-50)}
.apw-field input,.apw-field textarea,.apw-field select{
  width:100%;padding:14px 15px;border:1px solid var(--apw-hair-light);
  background:rgba(15,61,59,.35);color:var(--apw-paper);font-size:15px;border-radius:0;
  font-family:var(--apw-body);
  transition:border-color .35s var(--apw-ease),background-color .35s var(--apw-ease);
}
.apw-field textarea{resize:vertical;min-height:118px;line-height:1.55}
.apw-field input::placeholder,.apw-field textarea::placeholder{color:var(--apw-paper-35)}
.apw-field input:focus,.apw-field textarea:focus,.apw-field select:focus{outline:none;border-color:var(--apw-mint);background:rgba(192,162,96,.06)}
.apw-field input.apw-bad,.apw-field textarea.apw-bad,.apw-field select.apw-bad{border-color:#e05a4a}

.apw-select{position:relative;display:block}
.apw-select select{-webkit-appearance:none;appearance:none;cursor:pointer;padding-right:40px}
.apw-select select option{background:var(--apw-ink);color:var(--apw-paper)}
.apw-select-arrow{position:absolute;right:15px;top:50%;transform:translateY(-50%);color:var(--apw-mint);pointer-events:none;font-size:12px}

.apw-cform-submit{
  margin-top:24px;width:100%;padding:16px 26px;border:1px solid transparent;cursor:pointer;
  background:var(--apw-mint);color:var(--apw-ink);font-size:15px;font-weight:500;
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:var(--apw-body);
  transition:background-color .4s var(--apw-ease),transform .4s var(--apw-ease),letter-spacing .4s var(--apw-ease);
}
.apw-cform-submit:hover{background:var(--apw-paper);transform:translateY(-2px);letter-spacing:.02em}
.apw-cform-submit:disabled{opacity:.55;cursor:default;transform:none}
.apw-cform-note{margin-top:16px;color:var(--apw-paper-50);text-transform:none;letter-spacing:.02em;font-size:12px;line-height:1.6}
.apw-cform-note.apw-ok{color:var(--apw-mint)}
.apw-cform-note.apw-err{color:#e05a4a}

/* ==========================================================
   FOOTER
   ========================================================== */
.apw-foot{background:var(--apw-deep);color:var(--apw-paper);padding-top:clamp(56px,6.5vw,90px);padding-bottom:28px}
.apw-foot-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,4.5vw,70px);padding-bottom:44px;align-items:start}
.apw-foot-brand{min-width:0}
.apw-foot-brand .apw-mark{margin-bottom:14px;height:38px;width:auto;flex-basis:auto}
.apw-foot-brand h3{font-size:24px;letter-spacing:-.025em;margin-bottom:11px}
.apw-foot-brand p{color:var(--apw-paper-50);font-size:14.5px;max-width:44ch;font-weight:300;line-height:1.65}
.apw-foot-col{display:flex;flex-direction:column;gap:11px;min-width:0}
.apw-foot-col h4{
  color:var(--apw-mint);margin-bottom:5px;font-family:var(--apw-mono);
  font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:400;
}
.apw-foot-col a{color:var(--apw-paper-70);font-size:14.5px;width:-moz-fit-content;width:fit-content;max-width:100%;transition:color .3s;overflow-wrap:anywhere}
.apw-foot-col a:hover{color:var(--apw-mint)}
.apw-foot-bar{
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;
  border-top:1px solid var(--apw-hair-light);padding-top:24px;color:var(--apw-paper-50);
}

/* ==========================================================
   THEME GUARD
   Themes and Elementor global colours must not bleed into the
   widgets. Links inherit from the widget, never from the theme.
   ========================================================== */
.apw-sec a,
.apw-sec a:link,
.apw-sec a:visited,
.apw-sec a:hover,
.apw-sec a:active,
.apw-sec a:focus,
.apw-header a,
.apw-header a:link,
.apw-header a:visited,
.apw-header a:hover,
.apw-header a:active,
.apw-header a:focus,
.apw-drawer a,
.apw-drawer a:link,
.apw-drawer a:visited,
.apw-drawer a:hover,
.apw-drawer a:active,
.apw-drawer a:focus{color:inherit!important;text-decoration:none!important}

/* headings and text never take a theme link colour either */
.apw-sec h1,.apw-sec h2,.apw-sec h3,.apw-sec h4,
.apw-sec p,.apw-sec span,.apw-sec li,.apw-sec dd,.apw-sec blockquote,
.apw-header .apw-brand,.apw-header .apw-brand-name{color:inherit}

/* accent text keeps the brand gold */
.apw-sec em,
.apw-sec .apw-idx,
.apw-sec .apw-wcard-a,
.apw-foot-col h4,
.apw-contact-meta dt{color:var(--apw-mint)}
.apw-eyebrow .apw-idx{color:var(--apw-gold-ink)}
.apw-eyebrow-light .apw-idx{color:var(--apw-mint)}
.apw-sec-title em,.apw-hero-title em,.apw-coming-title em,.apw-contact-title em{color:var(--apw-mint)!important}

/* post widgets: restore intended accent colours over the theme guard */
.apw-phero-cat{color:var(--apw-gold-ink)}
.apw-phero-hasbg .apw-phero-cat{color:var(--apw-mint)}
.apw-pbody a,
.apw-pbody a:link,
.apw-pbody a:visited{color:var(--apw-gold-ink)!important;border-bottom:1px solid var(--apw-gold-ink)!important;text-decoration:none!important}
.apw-pbody a:hover{color:var(--apw-gold-ink)!important;opacity:.7}
.apw-phero-back:hover,
.apw-ptag:hover{color:var(--apw-ink)!important}
.apw-phero-hasbg .apw-phero-back:hover{color:var(--apw-mint)!important}

/* the nav CTA is bordered, not filled, until hover */
.apw-header-cta,
.apw-header-cta:link,
.apw-header-cta:visited{color:inherit!important;background-color:transparent!important}
.apw-header-cta:hover,
.apw-header-cta:focus{
  background-color:var(--apw-mint,#C0A260)!important;
  border-color:var(--apw-mint,#C0A260)!important;
  color:#0F3D3B!important;
}

/* buttons keep their own colours */
.apw-sec .apw-btn-mint,
.apw-sec .apw-btn-mint:link,
.apw-sec .apw-btn-mint:visited,
.apw-sec .apw-btn-mint:hover,
.apw-sec .apw-btn-mint:focus{background-color:var(--apw-mint)!important;color:var(--apw-ink)!important}
.apw-sec .apw-btn-mint:hover{background-color:var(--apw-paper)!important}

.apw-sec .apw-btn-ghost,
.apw-sec .apw-btn-ghost:link,
.apw-sec .apw-btn-ghost:visited{color:var(--apw-paper)!important;background-color:transparent!important}
.apw-sec .apw-btn-ghost:hover,
.apw-sec .apw-btn-ghost:focus{background-color:var(--apw-paper)!important;color:var(--apw-ink)!important}

.apw-signup button,.apw-cform-submit{color:var(--apw-ink)}
.apw-signup button{color:var(--apw-paper)}
.apw-signup button:hover{color:var(--apw-ink)}

/* underline decorations we do want */
.apw-contact-meta a{border-bottom:1px solid var(--apw-hair-light)}

/* ==========================================================
   RESPONSIVE
   Breakpoints aligned to Elementor defaults:
     tablet  <= 1024px
     mobile  <=  767px
   !important is used on grid/padding rules because Elementor
   injects its own inline responsive CSS at the same widths and
   would otherwise win on specificity.
   ========================================================== */

/* --- laptop --- */
@media (max-width:1200px){
  .apw-pgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* --- tablet (Elementor tablet breakpoint) --- */
@media (max-width:1024px){
  .apw-wrap{padding-left:30px!important;padding-right:30px!important}

  .apw-nav-links{display:none}
  .apw-header-cta{display:none}
  .apw-toggle{display:flex}
  .apw-cursor{display:none!important}

  .apw-mission-grid{grid-template-columns:minmax(0,1fr)!important}
  .apw-mission-fig img{aspect-ratio:16/10}
  .apw-mission-lead{max-width:none}

  .apw-sec-head-split{grid-template-columns:minmax(0,1fr)!important;align-items:start}
  .apw-sec-head-split .apw-sec-sub{padding-bottom:0;max-width:62ch}
  .apw-sec-title{max-width:none}

  .apw-network-grid{grid-template-columns:minmax(0,1fr)!important}
  .apw-contact-grid{grid-template-columns:minmax(0,1fr)!important}
  .apw-contact-sub{max-width:62ch}

  .apw-wgrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* --- large phone / small tablet --- */
@media (max-width:820px){
  .apw-wgrid{grid-template-columns:minmax(0,1fr)!important}
  .apw-wcard-media img{aspect-ratio:16/9}
}

/* --- mobile (Elementor mobile breakpoint) --- */
@media (max-width:767px){
  /* 15px gutters as requested */
  .apw-wrap{padding-left:15px!important;padding-right:15px!important}

  .apw-sec{font-size:16px}

  .apw-hero{min-height:auto;padding-top:110px!important;padding-bottom:44px!important}
  .apw-hero-title{font-size:clamp(34px,10.5vw,54px);margin-bottom:18px}
  .apw-hero-sub{
    max-width:100%;font-size:clamp(20px,6.2vw,28px);
    line-height:1.16;margin-bottom:22px;
  }
  .apw-hero-lede{font-size:15px;margin-bottom:28px}
  .apw-hero-meta{flex-direction:column;align-items:flex-start;gap:10px;margin-top:36px}
  .apw-poster{opacity:.26}
  .apw-hero-cta{gap:10px}
  .apw-hero-cta .apw-btn{flex:1 1 100%;justify-content:center}

  .apw-sec-head{margin-bottom:36px}
  .apw-eyebrow{margin-bottom:18px}

  /* every multi-column grid collapses to one column */
  .apw-wgrid,
  .apw-pgrid,
  .apw-mission-grid,
  .apw-network-grid,
  .apw-contact-grid,
  .apw-cform-grid,
  .apw-foot-grid{grid-template-columns:minmax(0,1fr)!important}

  .apw-pgrid{gap:30px!important}
  .apw-wgrid{gap:20px!important}
  .apw-foot-grid{gap:30px!important}
  .apw-foot-brand{grid-column:auto}

  .apw-pcard-media img{aspect-ratio:16/11}

  /* stats: one per row, never run together */
  .apw-stats{
    grid-template-columns:minmax(0,1fr)!important;
    gap:20px!important;max-width:none;margin-top:32px;padding-top:24px;
  }
  .apw-stats li{
    display:flex;flex-direction:row;align-items:baseline;
    gap:14px;flex-wrap:wrap;
  }
  .apw-stats strong{font-size:38px;line-height:1;flex:none}
  .apw-stats span{flex:1 1 auto;min-width:0}

  /* work card: arrow below text */
  .apw-wcard{padding:18px!important}
  .apw-wcard-body{grid-template-columns:minmax(0,1fr)!important}
  .apw-wcard-t{grid-column:1;font-size:clamp(22px,6.5vw,30px)}
  .apw-wcard-a{grid-column:1;grid-row:auto;justify-self:start;margin-top:14px}
  .apw-wcard-media{margin-bottom:16px}
  .apw-wcard-n{margin-bottom:12px}

  .apw-pull{padding-left:18px;font-size:clamp(18px,5.2vw,23px)}
  .apw-mission-lead{font-size:clamp(20px,5.6vw,26px);margin-bottom:22px}

  .apw-coming-title{font-size:clamp(40px,12vw,64px)}
  .apw-contact-title{font-size:clamp(30px,8.6vw,46px)}
  .apw-sec-title{font-size:clamp(28px,8.4vw,44px)}

  /* form: nothing may exceed the column */
  .apw-cform{padding:20px!important}
  .apw-cform-grid{gap:14px!important}
  .apw-signup{padding:20px!important}
  .apw-signup-row{flex-direction:column;gap:10px}
  .apw-signup input{flex:1 1 auto;width:100%}
  .apw-signup button{width:100%;justify-content:center}

  .apw-contact-meta{gap:20px;padding-top:24px}
  .apw-foot-bar{flex-direction:column;gap:8px;align-items:flex-start}
}

/* --- small phone --- */
@media (max-width:400px){
  .apw-wrap{padding-left:15px!important;padding-right:15px!important}
  .apw-hero-title{font-size:clamp(30px,10vw,42px)}
  .apw-stats strong{font-size:32px}
  .apw-wcard{padding:16px!important}
  .apw-cform,.apw-signup{padding:16px!important}
}

/* ==========================================================
   OVERFLOW GUARDS
   Nothing inside a widget may exceed its column, at any width.
   ========================================================== */
.apw-sec{overflow-x:clip}
.apw-wrap{max-width:100%}

.apw-field,
.apw-field input,
.apw-field textarea,
.apw-field select,
.apw-select,
.apw-signup input{max-width:100%;min-width:0}

.apw-field input,
.apw-field textarea,
.apw-field select{display:block}

/* select was overflowing its wrapper on narrow columns */
.apw-select{width:100%;max-width:100%;overflow:hidden}
.apw-select select{
  width:100%;max-width:100%;min-width:0;
  text-overflow:ellipsis;white-space:nowrap;overflow:hidden;
}

.apw-wcard,.apw-pcard,.apw-cform,.apw-signup{min-width:0;max-width:100%}
.apw-wgrid,.apw-pgrid,.apw-cform-grid,
.apw-mission-grid,.apw-network-grid,
.apw-contact-grid,.apw-foot-grid{min-width:0}

.apw-sec h1,.apw-sec h2,.apw-sec h3,.apw-sec h4,.apw-sec p{
  overflow-wrap:break-word;
}

@media (prefers-reduced-motion:reduce){
  .apw-sec *,.apw-sec *::before,.apw-sec *::after{
    animation-duration:.001ms!important;animation-iteration-count:1!important;
    transition-duration:.001ms!important;
  }
  .apw-reveal{opacity:1;transform:none}
  .apw-hero-title .apw-line>span,.apw-hero-sub>span{transform:none}
  .apw-marquee-track{animation:none}
  .apw-cursor{display:none!important}
}

/* ==========================================================
   LATEST NEWS (posts feed)
   Reuses the .apw-pcard grid. Light by default; dark variant
   flips to teal background with light text.
   ========================================================== */
.apw-latest{padding-top:clamp(84px,10vw,160px);padding-bottom:clamp(84px,10vw,160px);background:var(--apw-paper);color:var(--apw-ink)}
.apw-latest .apw-pcard{cursor:pointer}
.apw-latest-date{display:block;color:var(--apw-ink-45);margin-bottom:8px;margin-top:2px}
.apw-latest .apw-pcard h3{font-size:clamp(19px,1.8vw,25px);letter-spacing:-.02em;margin-bottom:9px;line-height:1.2;transition:color .35s}
.apw-latest .apw-pcard:hover h3{color:var(--apw-gold-ink)}
.apw-latest-empty{color:var(--apw-ink-45);font-size:16px;padding:20px 0}

/* dark variant */
.apw-latest-dark{background:var(--apw-ink);color:var(--apw-paper)}
.apw-latest-dark .apw-sec-sub{color:var(--apw-paper-70)}
.apw-latest-dark .apw-pcard h3{color:var(--apw-paper)}
.apw-latest-dark .apw-pcard:hover h3{color:var(--apw-mint)}
.apw-latest-dark .apw-pcard p{color:var(--apw-paper-70)}
.apw-latest-dark .apw-latest-date{color:var(--apw-paper-50)}
.apw-latest-dark .apw-pcard-link{color:var(--apw-paper-50)}
.apw-latest-dark .apw-latest-empty{color:var(--apw-paper-50)}

/* ==========================================================
   POST HERO (single post/article header)
   ========================================================== */
.apw-phero{padding-top:clamp(90px,9vw,150px);padding-bottom:clamp(40px,5vw,70px);background:var(--apw-paper);color:var(--apw-ink);position:relative}
.apw-phero-hasbg{color:var(--apw-paper);padding-top:clamp(130px,15vw,220px);padding-bottom:clamp(60px,8vw,110px)}
.apw-phero-bg{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center}
.apw-phero-veil{position:absolute;inset:0;z-index:1;background:rgba(15,61,59,.72)}
.apw-phero-hasbg .apw-wrap{position:relative;z-index:2}
.apw-phero-head{max-width:900px}
.apw-phero-back{display:inline-flex;align-items:center;gap:8px;color:var(--apw-ink-45);margin-bottom:22px;transition:color .3s}
.apw-phero-hasbg .apw-phero-back{color:var(--apw-paper-70)}
.apw-phero-back:hover{color:var(--apw-mint)}
.apw-phero-cat{display:inline-block;color:var(--apw-gold-ink);border:1px solid currentColor;padding:6px 12px;border-radius:100px;margin-bottom:22px}
.apw-phero-hasbg .apw-phero-cat{color:var(--apw-mint)}
.apw-phero-title{font-size:clamp(30px,5vw,62px);line-height:1.04;letter-spacing:-.032em;margin-bottom:22px}
.apw-phero-excerpt{font-family:var(--apw-display);font-size:clamp(18px,2.1vw,25px);line-height:1.4;color:var(--apw-ink-60);margin-bottom:26px;max-width:60ch}
.apw-phero-hasbg .apw-phero-excerpt{color:var(--apw-paper-70)}
.apw-phero-head.apw-c-center .apw-phero-excerpt{margin-left:auto;margin-right:auto}
.apw-phero-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;color:var(--apw-ink-45)}
.apw-phero-hasbg .apw-phero-meta{color:var(--apw-paper-50)}
.apw-phero-sep{opacity:.5}
.apw-phero-img{margin-top:36px}
.apw-phero-img-above{margin-top:0;margin-bottom:36px}
.apw-phero-img img{width:100%;height:460px;object-fit:cover;display:block}

/* ==========================================================
   POST CONTENT (single post body)
   ========================================================== */
.apw-pcontent{padding-top:clamp(30px,4vw,50px);padding-bottom:clamp(70px,9vw,130px);background:var(--apw-paper);color:var(--apw-ink)}
.apw-pbody{max-width:760px;color:var(--apw-ink-80)}
.apw-pbody>*{margin-bottom:0}
.apw-pbody p{font-size:18px;line-height:1.75;margin-bottom:24px;color:var(--apw-ink-80)}
.apw-pbody h2{font-family:var(--apw-display);font-size:clamp(26px,3vw,40px);letter-spacing:-.02em;line-height:1.1;color:var(--apw-ink);margin:44px 0 18px}
.apw-pbody h3{font-family:var(--apw-display);font-size:clamp(22px,2.4vw,30px);letter-spacing:-.02em;color:var(--apw-ink);margin:36px 0 14px}
.apw-pbody h4{font-family:var(--apw-display);font-size:clamp(19px,2vw,24px);color:var(--apw-ink);margin:30px 0 12px}
.apw-pbody a{color:var(--apw-gold-ink);border-bottom:1px solid var(--apw-gold-ink);transition:opacity .3s}
.apw-pbody a:hover{opacity:.7}
.apw-pbody ul,.apw-pbody ol{margin:0 0 24px;padding-left:24px}
.apw-pbody ul{list-style:disc}
.apw-pbody ol{list-style:decimal}
.apw-pbody li{font-size:18px;line-height:1.75;margin-bottom:10px;color:var(--apw-ink-80)}
.apw-pbody li::marker{color:var(--apw-gold-ink)}
.apw-pbody blockquote{
  margin:34px 0;padding:6px 0 6px 28px;border-left:3px solid var(--apw-mint);
  font-family:var(--apw-display);font-style:italic;font-size:clamp(21px,2.4vw,30px);
  line-height:1.34;letter-spacing:-.015em;color:var(--apw-ink);
}
.apw-pbody img{width:100%;height:auto;margin:32px 0;border-radius:2px}
.apw-pbody figure{margin:32px 0}
.apw-pbody figure img{margin:0}
.apw-pbody figcaption{margin-top:10px;font-family:var(--apw-mono);font-size:12px;letter-spacing:.06em;color:var(--apw-ink-45);text-align:center}
.apw-pbody hr{border:none;border-top:1px solid var(--apw-hair);margin:40px 0}
.apw-pbody code{font-family:var(--apw-mono);font-size:.9em;background:rgba(15,61,59,.06);padding:2px 6px;border-radius:3px}
.apw-pbody pre{background:var(--apw-ink);color:var(--apw-paper);padding:20px;border-radius:4px;overflow:auto;margin:28px 0}
.apw-pbody pre code{background:none;padding:0;color:inherit}

.apw-pfoot{max-width:760px;margin:44px auto 0;padding-top:28px;border-top:1px solid var(--apw-hair);display:flex;flex-direction:column;gap:20px}
.apw-ptags,.apw-pshare{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.apw-ptags-label,.apw-pshare-label{color:var(--apw-ink-45);margin-right:4px}
.apw-ptag{
  display:inline-block;border:1px solid var(--apw-hair);border-radius:100px;
  padding:7px 15px;font-size:13px;color:var(--apw-ink-60);
  transition:border-color .3s,background-color .3s,color .3s,transform .3s;
}
.apw-ptag:hover{border-color:var(--apw-mint);background:var(--apw-mint);color:var(--apw-ink);transform:translateY(-2px)}

@media (max-width:767px){
  .apw-phero-img img{height:280px}
  .apw-pbody p,.apw-pbody li{font-size:16.5px}
  .apw-pfoot{margin-top:32px}
}
