/* ============================================================
   NEXT2ACT — luxury-editorial layer
   Loaded LAST, after cms.css, on purpose: cms.css was written for a
   card-and-colour theme and its rules out-order anything in site.css.

   Reference language: full-bleed desaturated imagery, a nav that floats
   over the hero, wide-tracked uppercase display type, hairline rules and
   a great deal of whitespace. Monochrome carries the design; the brand
   green appears only as an accent (links, active nav, small rules).

   Most of the re-skin is done by redefining the tokens below - every
   existing component reads from them, so they go monochrome for free.
   ============================================================ */
:root{
  --ink:#111111; --ink-2:#2b2b28; --muted:#6b6b66; --faint:#9a9a93;
  --paper:#ffffff; --soft:#f7f6f4; --line:#e5e3df; --tint:#f1f0ed;
  --brand:#111111; --brand-d:#000000; --brand-l:#2b2b28;   /* components that asked for "brand" now read as ink */
  --accent:#0C6018; --accent-l:#2E8B3A;                     /* the logo green, used sparingly */
  --grad:none; --grad-soft:none;
  --r:0px; --r-sm:0px; --pill:0px;                          /* sharp edges */
  --sh:none; --sh-lg:0 24px 60px rgba(17,17,17,.10);
  --gut:clamp(22px,5vw,72px);
}

/* ---------- STRUCTURE (restored) ----------------------------
   These components exist only in this layer. When it was rewritten for the
   luxury re-skin the visual rules were carried over but the structural
   display/list declarations were not, so grids collapsed into inline text —
   "MediaMaster the lens..." in the sidebar, the whole aside falling below
   the articles, bullets on the link lists.

   Only display/position/list live here, deliberately: grid-template-columns
   is left to the rules below so the responsive overrides still win. */
.ed-layout{display:grid;align-items:start}
.ed-grid{display:grid}
.ed-card{display:grid}
.ed-card__img{display:block;position:relative}
.ed-card__body{display:flex;flex-direction:column}
.ed-card__ph{position:absolute;inset:0;display:grid;place-items:center}
.ed-hero__img,.ed-hero__body{display:block}
.ed-side{display:flex;flex-direction:column;position:sticky}
.ed-mini{display:grid;align-items:center}
.ed-mini__img{display:block}
.ed-mini em,.ed-mini b{display:block}
.ed-links{list-style:none;display:flex;flex-direction:column}
.ed-more{display:inline-block}
.ed-empty{text-align:center}
.chips{display:flex;flex-wrap:wrap}
.chip{display:inline-flex;align-items:center}
.pager{display:flex;justify-content:center;flex-wrap:wrap}
.pager a{display:inline-block}
.svc-tile{display:flex;flex-direction:column}
.svc-tile__go{display:block;margin-top:auto}
.byline{display:flex;align-items:center}
.post__share{display:flex;align-items:center;flex-wrap:wrap}
.crumb{display:flex;flex-wrap:wrap}
.work-row__body{display:flex;flex-direction:column}


body{background:var(--paper);color:var(--ink);font-family:'Inter',system-ui,sans-serif;
  font-size:16px;line-height:1.8;font-weight:400;letter-spacing:.005em}
h1,h2,h3,h4{font-family:'Schibsted Grotesk','Inter',sans-serif;font-weight:500;letter-spacing:.02em}
.container{width:min(1280px,100% - var(--gut)*2)}
.container--narrow{width:min(860px,100% - var(--gut)*2);margin:0 auto}
.section{padding:clamp(72px,10vw,140px) 0}
.section--tight{padding:clamp(56px,7vw,96px) 0}
.section--soft{background:var(--soft);border:0}
.section--rule{border-top:1px solid var(--line)}

/* ---------- display type ------------------------------------ */
.dsp{text-transform:uppercase;letter-spacing:.14em;font-weight:500;line-height:1.24}
.lbl{display:inline-block;background:none;color:var(--faint);border-radius:0;padding:0;
  font-size:11px;letter-spacing:.24em;text-transform:uppercase;font-weight:600;margin-bottom:20px}
.lbl::before{display:none}
.head{max-width:780px;margin-bottom:clamp(38px,5vw,64px)}
.head h2{font-size:clamp(24px,3vw,38px);text-transform:uppercase;letter-spacing:.12em;
  font-weight:500;line-height:1.28}
.head p{color:var(--muted);margin-top:20px;font-size:16.5px;max-width:62ch}
.head--row{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;max-width:none}
.rule{height:1px;background:var(--line);border:0}

/* ---------- buttons: understated ---------------------------- */
.btn{border-radius:0;text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:600;
  padding:17px 34px;border:1px solid transparent;transition:.3s}
.btn--accent{background:var(--ink);color:#fff;box-shadow:none}
.btn--accent:hover{background:var(--accent);color:#fff;transform:none;box-shadow:none}
.btn--brand{background:none;color:var(--ink);border-color:var(--ink)}
.btn--brand:hover{background:var(--ink);color:#fff;transform:none}
.btn--ghost{background:none;border:0;border-bottom:1px solid var(--ink);color:var(--ink);
  padding:9px 0;letter-spacing:.18em}
.btn--ghost:hover{border-bottom-color:var(--accent);color:var(--accent)}
.btn--out{background:none;border:1px solid rgba(255,255,255,.6);color:#fff}
.btn--out:hover{background:#fff;color:var(--ink);border-color:#fff}
.lnk{display:inline-block;align-self:flex-start;width:fit-content;text-transform:uppercase;letter-spacing:.18em;font-size:11px;
  font-weight:600;color:var(--ink);border-bottom:1px solid var(--ink);padding-bottom:6px;transition:.3s}
.lnk:hover{color:var(--accent);border-bottom-color:var(--accent)}

/* ---------- nav: floats over the hero, solidifies on scroll -- */
.nav{position:fixed;top:0;left:0;right:0;z-index:80;background:transparent;border-bottom:1px solid transparent;
  backdrop-filter:none;transition:background .4s,border-color .4s,padding .4s}
.nav__in{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;padding:26px 0}
.brand{justify-self:start;position:relative;display:block;line-height:0}
.brand img{height:42px;transition:opacity .35s}
.brand__light{position:absolute;inset:0;opacity:0}
.menu{justify-self:center;display:flex;align-items:center;gap:clamp(20px,2.6vw,40px)}
.menu a{font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--ink)}
.nav__cta{justify-self:end;display:flex;align-items:center;gap:18px}
.nav__cta .btn{padding:13px 24px;font-size:10.5px}

/* over a hero: white chrome, transparent bar */
body.has-hero .nav:not(.scrolled) .menu a,
body.has-hero .nav:not(.scrolled) .menu__caret{color:#fff}
body.has-hero .nav:not(.scrolled) .brand__dark{opacity:0}
body.has-hero .nav:not(.scrolled) .brand__light{opacity:1}
body.has-hero .nav:not(.scrolled) .btn--brand{color:#fff;border-color:rgba(255,255,255,.65)}
body.has-hero .nav:not(.scrolled) .btn--brand:hover{background:#fff;color:var(--ink);border-color:#fff}
body.has-hero .nav:not(.scrolled) .burger span{background:#fff}

.nav.scrolled{background:rgba(255,255,255,.97);border-bottom-color:var(--line);box-shadow:none}
.nav.scrolled .nav__in{padding:16px 0}
.menu>a:not(.btn).is-here,.menu .menu__item.is-here>a{position:relative}
.menu>a:not(.btn).is-here::after,.menu .menu__item.is-here>a::after{
  content:"";position:absolute;left:0;right:0;bottom:-8px;height:1px;background:var(--accent)}
body.has-hero .nav:not(.scrolled) .menu>a.is-here::after,
body.has-hero .nav:not(.scrolled) .menu__item.is-here>a::after{background:#fff}
.menu__sub{border-radius:0;border:1px solid var(--line);box-shadow:var(--sh-lg);background:#fff;padding:10px 0}
.menu__sub a{color:var(--ink)!important;padding:10px 20px;font-size:10.5px}
.menu__sub a:hover{color:var(--accent)!important}
.burger span{background:var(--ink)}

/* ---------- hero -------------------------------------------- */
.hero{position:relative;min-height:clamp(560px,94vh,980px);display:flex;align-items:flex-end;
  background:#111;overflow:hidden;border:0;padding:0}
.hero__bg{position:absolute;inset:0;background-size:cover;background-position:center;
  filter:grayscale(1) contrast(1.06) brightness(.92);transform:scale(1.02)}
.hero::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.42) 0%,rgba(0,0,0,.18) 38%,rgba(0,0,0,.72) 100%)}
.hero__in{position:relative;z-index:3;padding-bottom:clamp(56px,9vh,110px);padding-top:160px}
.hero .lbl{color:rgba(255,255,255,.72)}
.hero h1{color:#fff;font-size:clamp(30px,5.4vw,72px);text-transform:uppercase;letter-spacing:.11em;
  font-weight:500;line-height:1.16;max-width:19ch}
.hero p{color:rgba(255,255,255,.86);max-width:54ch;margin:26px 0 34px;font-size:16.5px}
.hero__btns{display:flex;gap:26px;flex-wrap:wrap;align-items:center}
.hero__scroll{position:absolute;right:var(--gut);bottom:clamp(56px,9vh,110px);z-index:3;
  writing-mode:vertical-rl;text-transform:uppercase;letter-spacing:.24em;font-size:10px;
  color:rgba(255,255,255,.7);font-weight:600}

/* ---------- page header (every inner page) ------------------ */
.pagehero{position:relative;background-color:#111;
  min-height:clamp(340px,52vh,560px);display:flex;align-items:flex-end;
  padding:0 0 clamp(40px,6vh,74px);border:0;color:#fff;overflow:hidden}
.pagehero::before{content:"";position:absolute;inset:0;background-image:inherit;
  background-size:cover;background-position:center;filter:grayscale(1) contrast(1.06) brightness(.9)}
.pagehero::after{content:"";position:absolute;inset:0;display:block !important;
  background:linear-gradient(180deg,rgba(0,0,0,.44) 0%,rgba(0,0,0,.20) 45%,rgba(0,0,0,.66) 100%)}
.pagehero .container{position:relative;z-index:3;padding-top:150px}
.pagehero .lbl{background:none !important;color:rgba(255,255,255,.72) !important}
.pagehero h1{color:#fff;font-size:clamp(28px,4.6vw,60px);text-transform:uppercase;
  letter-spacing:.12em;font-weight:500;max-width:18ch;line-height:1.18}
.pagehero p{color:rgba(255,255,255,.84);max-width:56ch;margin-top:18px}

/* ---------- imagery: desaturated, colour on interaction ----- */
.ed-card__img,.ed-hero__img,.pj,.tm__img,.ed-mini__img,.ed-row__img,.pcard__img,.ev__img,.post__cover img{
  filter:grayscale(1);transition:filter .7s ease,transform .9s ease}
.ed-card:hover .ed-card__img,.ed-hero:hover .ed-hero__img,.pj:hover,.tm:hover .tm__img,
.ed-mini:hover .ed-mini__img,.ed-row:hover .ed-row__img,.pcard:hover .pcard__img,
.ev:hover .ev__img,.post__cover:hover img{filter:grayscale(0)}

/* ---------- insights as a journal --------------------------- */
.ed-top{background:none;border:0;padding:0}
.ed-top__in{display:block;padding:0}
.ed-search{border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none;
  padding:0 0 10px;min-width:0;max-width:320px;background:none}
.ed-search input{font-size:13px;letter-spacing:.06em}
.ed-search button{background:none;color:var(--ink);width:26px;height:26px;border-radius:0}
.ed-search button:hover{background:none;color:var(--accent)}

.chips{gap:0 30px;padding:26px 0 0;border-top:1px solid var(--line);margin-top:34px}
.chip{border:0;border-radius:0;background:none;padding:14px 0;font-size:10.5px;font-weight:600;
  letter-spacing:.18em;text-transform:uppercase;color:var(--faint)}
.chip em{color:var(--faint);font-size:9.5px;margin-left:2px}
.chip:hover{color:var(--ink);background:none}
.chip.on{background:none;color:var(--ink);border-bottom:1px solid var(--accent)}
.chip.on em{color:var(--faint)}

.ed-hero{display:block;border:0;border-radius:0;margin-top:0;position:relative;background:none}
.ed-hero:hover{box-shadow:none;border:0}
.ed-hero__img{aspect-ratio:21/9;min-height:0;background-color:var(--soft)}
.ed-hero__body{padding:34px 0 0;max-width:820px}
.ed-hero__body h2{font-size:clamp(22px,2.7vw,38px);text-transform:uppercase;letter-spacing:.1em;
  font-weight:500;line-height:1.26;margin:16px 0 16px}
.ed-hero__body p{color:var(--muted);font-size:16.5px;max-width:62ch}
.cat{background:none;color:var(--accent);padding:0;border-radius:0;font-size:10.5px;letter-spacing:.22em;font-weight:600}
a.cat:hover{background:none;color:var(--ink)}

.ed-layout{grid-template-columns:minmax(0,1fr) 280px;gap:clamp(40px,6vw,88px)}
.ed-grid{grid-template-columns:1fr;gap:0}
.ed-card{border:0;border-top:1px solid var(--line);border-radius:0;background:none;
  display:grid;grid-template-columns:minmax(0,38%) 1fr;gap:clamp(24px,3.4vw,52px);
  padding:clamp(28px,4vw,52px) 0;align-items:center}
.ed-card:hover{box-shadow:none;transform:none;border-color:var(--line)}
.ed-card__img{aspect-ratio:4/3;border-radius:0;background-color:var(--soft)}
.ed-card__ph{color:var(--faint);font-size:34px}
.ed-card__body{padding:0}
.ed-card__body h3{font-size:clamp(17px,1.6vw,23px);text-transform:uppercase;letter-spacing:.09em;
  font-weight:500;line-height:1.34;margin:14px 0 12px}
.ed-card__body p{color:var(--muted);font-size:15px}
.ed-card .byline{margin-top:18px;padding-top:0;border:0}

.byline__av{display:none}
.byline b{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--ink)}
.byline em{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin-top:3px}
.byline--lg b{font-size:11px}.byline--lg em{font-size:10.5px}

.ed-result{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--faint)}
.ed-result b{color:var(--ink);font-weight:600}
.ed-result a{color:var(--accent)}
.ed-empty{border:1px solid var(--line);border-radius:0;background:none;padding:90px 24px}
.ed-empty h3{text-transform:uppercase;letter-spacing:.12em;font-weight:500}

.pager{margin-top:60px;gap:0 22px}
.pager a{border:0;border-radius:0;min-width:0;height:auto;padding:6px 0;font-size:11px;
  letter-spacing:.16em;color:var(--faint);font-weight:600}
.pager a:hover{color:var(--ink)}
.pager a.on{background:none;color:var(--ink);border-bottom:1px solid var(--accent)}

/* sidebar */
.ed-side{gap:52px;top:110px}
.ed-box{border:0;border-top:1px solid var(--line);border-radius:0;padding:26px 0 0;background:none}
.ed-box h4{font-size:10.5px;letter-spacing:.22em;color:var(--faint);font-weight:600;margin-bottom:22px}
.ed-box--cta{background:var(--ink);border:0;padding:34px 30px;color:#fff}
.ed-box--cta h4{color:rgba(255,255,255,.6)}
.ed-box--cta p{color:rgba(255,255,255,.78);font-size:14.5px}
.ed-box--cta .btn--accent{background:#fff;color:var(--ink);width:100%}
.ed-box--cta .btn--accent:hover{background:var(--accent);color:#fff}
.ed-mini{grid-template-columns:72px 1fr;gap:16px;padding:16px 0;border-top:1px solid var(--line)}
.ed-mini__img{width:72px;height:54px;border-radius:0;background-color:var(--soft)}
.ed-mini em{color:var(--faint);font-size:9.5px;letter-spacing:.2em}
.ed-mini b{font-size:12.5px;font-weight:500;letter-spacing:.04em;line-height:1.45;text-transform:uppercase}
.ed-mini:hover b{color:var(--accent)}
.ed-links a{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);
  padding:11px 0;border-bottom:1px solid var(--line)}
.ed-links a:hover{color:var(--accent);padding-left:0}
.ed-more{font-size:10.5px;letter-spacing:.18em;color:var(--ink);border-bottom:1px solid var(--ink);
  padding-bottom:5px;margin-top:20px}
.ed-more:hover{color:var(--accent);border-bottom-color:var(--accent)}

/* ---------- article ----------------------------------------- */
.post__head{background:none;border:0;padding:34px 0 0}
.post__head-in{max-width:820px}
.post__head h1{font-size:clamp(24px,3.4vw,46px);text-transform:uppercase;letter-spacing:.1em;
  font-weight:500;line-height:1.24;margin:20px 0 0}
.post__lede{color:var(--muted);font-size:17.5px;margin-top:22px;line-height:1.75}
.crumb{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--faint)}
.crumb a:hover{color:var(--accent)}
.crumb span{color:var(--line)}
.post__cover{margin-top:52px;border:0;border-radius:0}
.post__cover img{width:100%;max-height:640px;object-fit:cover}
.ed-layout--post{padding:clamp(48px,7vw,90px) 0 clamp(72px,9vw,130px)}
.post__body{font-size:17px;line-height:1.9;max-width:none;color:var(--ink-2)}
.post__body h2{font-size:clamp(17px,1.8vw,24px);text-transform:uppercase;letter-spacing:.1em;
  font-weight:500;margin:54px 0 18px;color:var(--ink)}
.post__body h3{font-size:16px;text-transform:uppercase;letter-spacing:.09em;font-weight:500;
  margin:38px 0 12px;color:var(--ink)}
.post__body p{margin-bottom:22px}
.post__body img{border-radius:0;border:0;margin:40px 0}
.post__body blockquote{border-left:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  background:none;border-radius:0;padding:30px 0;margin:40px 0;font-size:19px;line-height:1.7;
  color:var(--ink);font-style:normal;text-align:center;max-width:62ch;margin-left:auto;margin-right:auto}
.post__body a{color:var(--accent);text-decoration:none;border-bottom:1px solid var(--accent);font-weight:400}
.post__body ul,.post__body ol{margin:0 0 24px 20px}
.post__share{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:56px;padding:22px 0;gap:26px}
.post__share span{font-size:10.5px;letter-spacing:.2em;color:var(--faint)}
.post__share a{border:0;border-bottom:1px solid transparent;border-radius:0;padding:0;
  font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink)}
.post__share a:hover{background:none;border-bottom-color:var(--accent);color:var(--accent)}
.post__cta{background:var(--soft);border:0;border-radius:0;padding:clamp(40px,6vw,72px);margin-top:56px;text-align:center}
.post__cta h3{font-size:clamp(18px,2vw,26px);text-transform:uppercase;letter-spacing:.1em;font-weight:500;margin-bottom:16px}
.post__cta p{color:var(--muted);max-width:56ch;margin:0 auto 28px}

/* ---------- home: work, proof, founder, modes --------------- */
.work-row{display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch;border-top:1px solid var(--line)}
.work-row__img{aspect-ratio:4/3;background:var(--soft) center/cover no-repeat;filter:grayscale(1);transition:filter .8s}
.work-row:hover .work-row__img{filter:grayscale(0)}
.work-row__body{padding:clamp(30px,5vw,72px);display:flex;flex-direction:column;justify-content:center}
.work-row:nth-child(even) .work-row__img{order:2}
.work-row__body em{font-style:normal;font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--accent)}
.work-row__body h3{font-size:clamp(19px,2.2vw,30px);text-transform:uppercase;letter-spacing:.1em;
  font-weight:500;line-height:1.3;margin:18px 0 16px}
.work-row__body p{color:var(--muted);max-width:46ch;margin-bottom:26px}

.proof{padding:clamp(44px,6vw,76px) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.proof__lbl{text-align:center;font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;
  color:var(--faint);margin-bottom:30px;font-weight:600}
.proof__row{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(26px,5vw,64px);align-items:center}
.proof__row b{font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-weight:500}

.founder{display:grid;grid-template-columns:minmax(0,44%) 1fr;gap:clamp(34px,6vw,86px);align-items:center}
.founder__img{aspect-ratio:4/5;background:var(--soft) center 22%/cover no-repeat;filter:grayscale(1)}
.founder h2{font-size:clamp(22px,2.8vw,36px);text-transform:uppercase;letter-spacing:.11em;font-weight:500;line-height:1.28}
.founder p{color:var(--muted);margin-top:22px;max-width:56ch}
.founder .lnk{margin-top:30px}

.modes{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line)}
.mode{padding:clamp(32px,3.6vw,54px) clamp(22px,2.4vw,40px);border-right:1px solid var(--line)}
.mode:last-child{border-right:0}
.mode__no{font-size:10.5px;letter-spacing:.2em;color:var(--accent);font-weight:600}
.mode h3{font-size:clamp(16px,1.7vw,21px);text-transform:uppercase;letter-spacing:.11em;
  font-weight:500;margin:18px 0 14px;line-height:1.35}
.mode p{color:var(--muted);font-size:15px}
.mode ul{list-style:none;margin:20px 0 0;padding:0}
.mode li{font-size:13.5px;color:var(--muted);padding:9px 0;border-top:1px solid var(--line)}

.stats{grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line);margin:0;padding:0}
.stat{background:none;border:0;border-right:1px solid var(--line);border-radius:0;box-shadow:none;
  padding:clamp(26px,3vw,44px) clamp(16px,2vw,32px)}
.stat:last-child{border-right:0}
.stat b{font-family:'Schibsted Grotesk',sans-serif;font-size:clamp(26px,3vw,40px);font-weight:500;
  color:var(--ink);letter-spacing:.02em}
.stat span{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--faint);
  font-weight:600;margin-top:10px}

/* ---------- shared components ------------------------------- */
.svc-row{background:none;border:0;border-top:1px solid var(--line);border-radius:0;
  grid-template-columns:auto 1fr;gap:clamp(20px,3vw,54px);padding:clamp(30px,4vw,56px) 0;align-items:start}
.svc-row:hover{box-shadow:none;border-color:var(--line)}
.svc-row--feat{background:none;border-left:0;border-top:1px solid var(--line)}
.svc-row__ic{width:auto;height:auto;background:none;border-radius:0;font-size:11px;letter-spacing:.2em;
  color:var(--faint);font-weight:600;padding-top:6px;display:block}
.svc-row__body h3{font-size:clamp(17px,1.9vw,25px);text-transform:uppercase;letter-spacing:.1em;font-weight:500}
.svc-row .tagpill{background:none;color:var(--accent);border:0;padding:0;font-size:10px;letter-spacing:.2em;border-radius:0}
.svc-row .prose p{color:var(--muted)}

.svc-tile{border:0;border-top:1px solid var(--line);border-radius:0;background:none;padding:30px 0 26px}
.svc-tile:hover{box-shadow:none;transform:none;border-color:var(--line)}
.svc-tile h3{font-size:15px;text-transform:uppercase;letter-spacing:.11em;font-weight:500;margin-bottom:12px}
.svc-tile p{color:var(--muted);font-size:14.5px}
.svc-tile__go{font-size:10px;letter-spacing:.2em;color:var(--ink);margin-top:18px;text-transform:uppercase}
.svc-tile:hover .svc-tile__go{color:var(--accent)}

.proj{background:none}
.proj__grid,.proj__grid--3{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px}
.pj{height:clamp(260px,32vw,420px);border-radius:0}
.pj__c span{font-size:10px;letter-spacing:.22em;text-transform:uppercase}
.pj__c h4{font-size:clamp(14px,1.5vw,19px);text-transform:uppercase;letter-spacing:.09em;font-weight:500}

.tm{border:0;border-radius:0;background:none}
.tm:hover{box-shadow:none;transform:none}
.tm__img{border-radius:0;height:clamp(280px,34vw,420px)}
.tm__body{padding:22px 0 0}
.tm__body h4{font-size:14px;text-transform:uppercase;letter-spacing:.12em;font-weight:500}
.tm__role{background:none;color:var(--accent);padding:0;border-radius:0;font-size:10px;letter-spacing:.2em;margin-top:8px}
.tm__bio{color:var(--muted);font-size:14.5px;margin-top:14px}
.tm__meta{margin-top:14px}
.tm__meta li{font-size:12px;letter-spacing:.04em}

.branch-card{border:0;border-top:1px solid var(--line);border-radius:0;background:none;padding:34px 0}
.branch-card--hq,.off--hq{background:none}
.branch-card h3{font-size:16px;text-transform:uppercase;letter-spacing:.12em;font-weight:500}
.branch-card__tag{background:none;color:var(--accent);font-size:10px;letter-spacing:.2em;padding:0;border-radius:0}
.off{background:none;border:0;border-top:1px solid var(--line);border-radius:0;padding:30px 0}
.off span{font-size:10px;letter-spacing:.2em;color:var(--accent);text-transform:uppercase}
.off h3{font-size:16px;text-transform:uppercase;letter-spacing:.12em;font-weight:500;margin:12px 0 10px}
.off p{color:var(--muted)}

.cl{border:0;border-top:1px solid var(--line);border-radius:0;background:none;padding:26px 0}
.cl__name{font-size:14px;text-transform:uppercase;letter-spacing:.12em;font-weight:500}
.cl__sector{font-size:10.5px;letter-spacing:.16em;color:var(--faint);text-transform:uppercase}
.clstrip{background:none;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:52px 0}
.clstrip__head span{font-size:10.5px;letter-spacing:.24em;color:var(--faint)}
.clstrip__row b{font-size:12.5px;letter-spacing:.18em;color:var(--muted);font-weight:500}

.ev{border:0;border-top:1px solid var(--line);border-radius:0;background:none}
.ev:hover{box-shadow:none;transform:none}
.ev__img{border-radius:0;height:clamp(200px,22vw,270px)}
.ev__date{background:var(--ink);color:#fff;border-radius:0;font-size:11px;letter-spacing:.08em}
.ev__date b{font-size:22px}
.ev__body{padding:20px 0 0}
.ev__body h4{font-size:14.5px;text-transform:uppercase;letter-spacing:.1em;font-weight:500}
.ev__loc{font-size:10.5px;letter-spacing:.18em;color:var(--faint);text-transform:uppercase}
.ev__body p{color:var(--muted);font-size:14.5px}

.pcard{border:0;border-top:1px solid var(--line);border-radius:0;background:none}
.pcard:hover{box-shadow:none;transform:none}
.pcard__img{border-radius:0}
.pcard__body{padding:20px 0 0}
.pcard__body h4{font-size:14.5px;text-transform:uppercase;letter-spacing:.1em;font-weight:500}

.ctaband{background:var(--ink);padding:clamp(72px,9vw,130px) 0}
.ctaband__in{flex-direction:column;text-align:center;gap:32px}
.ctaband h2{color:#fff;font-size:clamp(20px,2.8vw,36px);text-transform:uppercase;letter-spacing:.13em;
  font-weight:500;line-height:1.32;max-width:20ch;margin:0 auto}
.ctaband .btn--accent{background:#fff;color:var(--ink)}
.ctaband .btn--accent:hover{background:var(--accent);color:#fff}

.prose h2{font-size:clamp(17px,1.9vw,25px);text-transform:uppercase;letter-spacing:.1em;font-weight:500;margin:44px 0 16px}
.prose h3{font-size:15.5px;text-transform:uppercase;letter-spacing:.09em;font-weight:500;color:var(--ink);margin:32px 0 12px}
.prose p{color:var(--ink-2)}
.prose .lead{font-size:19px;line-height:1.75;color:var(--ink)}

/* forms */
.fld input,.fld select,.fld textarea,.cform input,.cform select,.cform textarea{
  border-radius:0;border:0;border-bottom:1px solid var(--line);background:none;padding:14px 0;font-size:15px}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:0;border-bottom-color:var(--accent);box-shadow:none}
.fld label,.cform label{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--faint);font-weight:600}

/* footer */
.footer{background:var(--paper);border-top:1px solid var(--line);color:var(--ink)}
.footer__logo img{height:40px}
.footer__blurb{color:var(--muted);font-size:14.5px}
.footer__col h4{font-size:10.5px;letter-spacing:.22em;color:var(--faint);font-weight:600}
.footer__col a,.footer a{color:var(--muted);font-size:13.5px}
.footer__col a:hover,.footer a:hover{color:var(--accent)}
.footer__card{background:var(--soft);border-radius:0;border:0}
.footer__bar{border-top:1px solid var(--line)}
.footer__bar-in{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}
.footer__social a{border-radius:0;border:1px solid var(--line);color:var(--muted)}
.footer__social a:hover{border-color:var(--accent);color:var(--accent)}
.fcrow__ic{border-radius:0;background:var(--soft)}
.totop{border-radius:0;background:var(--ink);box-shadow:none}

.tape,.stripstats,.bg-icon{display:none}
.alert{border-radius:0}
.alert--ok{background:none;border:1px solid var(--accent);color:var(--accent)}

/* reveal-on-scroll, calmer than the default */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .9s ease,transform .9s ease}
.reveal.in{opacity:1;transform:none}

/* ---------- responsive -------------------------------------- */
@media(max-width:1040px){
  .ed-layout{grid-template-columns:1fr}
  .ed-side{position:static}
  .founder{grid-template-columns:1fr;gap:34px}
  .modes{grid-template-columns:1fr}
  .mode{border-right:0;border-bottom:1px solid var(--line)}
  .mode:last-child{border-bottom:0}
}
@media(max-width:900px){
  .nav__in{grid-template-columns:auto 1fr auto;padding:18px 0}
  .menu{justify-self:end}
  .nav__cta{display:none}
  .work-row{grid-template-columns:1fr}
  .work-row:nth-child(even) .work-row__img{order:0}
  .stats{grid-template-columns:repeat(2,1fr)}
  .stat{border-bottom:1px solid var(--line)}
  .stat:nth-child(2n){border-right:0}
}
@media(max-width:680px){
  .ed-card{grid-template-columns:1fr;gap:20px}
  .proj__grid,.proj__grid--3{grid-template-columns:1fr}
  .hero__scroll{display:none}
  .hero__in{padding-top:130px}
  .pagehero .container{padding-top:120px}
  .post__head{padding-top:20px}
  .chips{gap:0 20px}
}

/* pages that do not open on an image need the bar solid from the start */
body.no-hero .nav{background:rgba(255,255,255,.97);border-bottom-color:var(--line)}
body.no-hero{padding-top:96px}          /* clear the fixed bar */
body.no-hero .post__head{padding-top:34px}

/* ---------- journal filter bar ------------------------------ */
.ed-filters{padding-top:clamp(40px,5vw,64px)}
.ed-filters .ed-search{margin-bottom:6px}
.contactpage{padding:clamp(56px,7vw,96px) 0}
.contactpage__grid{gap:clamp(34px,5vw,72px)}
.cpanel{background:var(--ink);border-radius:0;color:#fff;padding:clamp(32px,4vw,56px)}
.cpanel h1{font-size:clamp(20px,2.2vw,28px);text-transform:uppercase;letter-spacing:.11em;font-weight:500}
.cpanel__link,.crow b{color:rgba(255,255,255,.62)}
.cform{border:1px solid var(--line);border-radius:0;padding:clamp(28px,3.4vw,48px)}

/* ---------- re-establish what the replaced layer used to set --------------
   These elements are empty spans painted with an inline background-image, so
   they need size/position/repeat explicitly - without it the image tiles at
   natural size and leaves a visible seam. */
.ed-hero__img,.ed-card__img,.ed-mini__img,.ed-row__img,.work-row__img,.founder__img,
.pcard__img,.ev__img,.tm__img,.pj{
  background-repeat:no-repeat;background-position:center;background-size:cover}
.founder__img{background-position:center 22%}

/* search field: flat rule, no browser chrome */
.ed-search{display:flex;align-items:center;gap:10px}
.ed-search input{border:0;outline:0;background:none;font:inherit;font-size:13px;
  letter-spacing:.06em;padding:8px 0;flex:1;min-width:0;color:var(--ink)}
.ed-search input::placeholder{color:var(--faint);letter-spacing:.12em;text-transform:uppercase;font-size:11px}
.ed-search button{border:0;cursor:pointer;display:grid;place-items:center;flex:none;padding:0}
.ed-search button svg{width:16px;height:16px}

/* byline reads as one tracked line rather than two stacked blocks */
.byline>span{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px}
.byline b,.byline em{display:inline-block;margin:0}
.byline em::before{content:"";display:inline-block;width:14px;height:1px;
  background:var(--line);vertical-align:middle;margin-right:12px}

/* breathing room between the filter bar and the first article */
.chips{padding-bottom:6px;margin-bottom:clamp(30px,4vw,52px)}
/* the avatar is also a direct span child, so .byline>span re-enabled it */
.byline>span.byline__av{display:none}

/* ---------- featured service rows ---------------------------
   cms.css paints these dark and sets color:#fff. The luxe layer already
   overrides the background, so without resetting colour the heading was
   white-on-white and disappeared entirely. */
.svc-row--feat{color:var(--ink)}
.svc-row--feat .prose,.svc-row--feat .prose *{color:inherit}
.svc-row--feat .prose p{color:var(--muted)}
.svc-row--feat .prose h3{color:var(--ink)}
.svc-row--feat .prose ul li::before{border-color:var(--accent);background:none}

/* ---------- category filters -------------------------------- */
.filters{gap:0 28px;margin-bottom:clamp(30px,4vw,52px);border-bottom:1px solid var(--line);padding-bottom:0}
.filters a{border:0;border-radius:0;padding:14px 0;font-size:10.5px;font-weight:600;
  letter-spacing:.18em;text-transform:uppercase;color:var(--faint);background:none}
.filters a:hover{color:var(--ink);border:0}
.filters a.is-on{background:none;color:var(--ink);border:0;border-bottom:1px solid var(--accent);box-shadow:none}

/* ---------- product / work detail --------------------------- */
.pdp{padding:clamp(30px,4vw,56px) 0 clamp(64px,8vw,110px)}
.pdp__grid{gap:clamp(32px,5vw,72px)}
.pdp__stage{background:var(--soft);border:0;border-radius:0;padding:0}
.pdp__stage img{max-height:620px;width:100%;object-fit:cover;border-radius:0;filter:grayscale(1);transition:filter .7s}
.pdp__stage:hover img{filter:grayscale(0)}
.pdp__zoom{border-radius:0;background:var(--ink);color:#fff;box-shadow:none}
.pdp__thumb{border-radius:0;border:1px solid var(--line);filter:grayscale(1)}
.pdp__thumb.is-on,.pdp__thumb:hover{border-color:var(--accent);box-shadow:none;filter:grayscale(0)}
.pdp__cat{background:none;color:var(--accent);padding:0;border-radius:0;font-size:10.5px;letter-spacing:.22em}
.pdp__info h1{font-size:clamp(22px,2.8vw,36px);text-transform:uppercase;letter-spacing:.1em;font-weight:500;line-height:1.26}
.pdp__lead{color:var(--muted)}
.pdp__facts dt{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--faint);font-weight:600}
.pdp__facts dd{font-size:13.5px;font-weight:400;color:var(--ink)}
.pdp__ticks li::before{border-color:var(--accent);background:none}
.pdp__cta{border-top:1px solid var(--line);padding-top:26px}
.crumb,.pdp .crumb{text-transform:uppercase;letter-spacing:.18em;font-size:10.5px}

/* ---------- event detail ------------------------------------ */
.evp{padding:clamp(30px,4vw,56px) 0 clamp(64px,8vw,110px)}
.evp__cal{background:var(--ink);border-radius:0;width:96px}
.evp__cal b{font-weight:500;font-size:34px}
.evp__cal span{font-size:12px;letter-spacing:.18em}
.evp__cal em{color:rgba(255,255,255,.55)}
.evp__head h1{font-size:clamp(22px,2.8vw,36px);text-transform:uppercase;letter-spacing:.1em;font-weight:500;line-height:1.26}
.evp__meta li{background:none;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:6px 0;
  font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:600}
.evp__shot{background:none;border:0;border-radius:0;padding:0}
.evp__shot img{border-radius:0;width:100%;max-height:560px;object-fit:cover;filter:grayscale(1);transition:filter .7s}
.evp__shot:hover img{filter:grayscale(0)}
.evp__card{background:var(--soft);border:0;border-radius:0;box-shadow:none;padding:30px}
.evp__card h4{font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--faint);font-weight:600}
.evp__card dt{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);font-weight:600}
.evp__card dd{font-weight:400;font-size:13.5px}
.evp__status{border-radius:0;letter-spacing:.18em;font-size:10.5px;text-transform:uppercase}
.evp__note{color:var(--muted);font-size:13.5px}

/* ---------- article: cover is part of the page, not a card --- */
.post__cover{background:none}
.post__cover img{border-radius:0}

/* ---------- final pass: chips, icons, contact panel ---------- */
/* Emoji icons render in full colour and fight a monochrome page. */
.crow__ic,.fcrow__ic,.ev__loc,.tm__meta li,.branch-card__meta li,.off__meta li{filter:grayscale(1)}
.crow__ic,.fcrow__ic{opacity:.55}

.contactpage{background:var(--soft)}
.cpanel{background:var(--ink) !important;border-radius:0}
.cpanel::before,.cpanel::after{display:none !important}
.cpanel h1{color:#fff}
.cpanel .lbl,.cpanel .eyebrow{color:rgba(255,255,255,.55) !important;background:none !important}
.cpanel p{color:rgba(255,255,255,.78)}
.cpanel a{color:#fff}
.cpanel a:hover{color:var(--accent-l)}
.crow{border-bottom:1px solid rgba(255,255,255,.14);padding:16px 0}
.crow b{font-size:10.5px;letter-spacing:.18em;color:rgba(255,255,255,.5)}

/* work cards: the category chip goes monochrome */
.pcard__body .cat,.pcard__body .tagpill,.cards4 .cat{background:none;color:var(--accent);
  padding:0;border-radius:0;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase}
.pcard{border-top:1px solid var(--line);padding-top:0}

/* the services list needs no icon column in this language */
.svc-row__ic{display:none}
.svc-row{grid-template-columns:1fr}

/* offices: readable contrast */
.off p,.branch-card__addr,.branch-card p{color:var(--ink-2)}
.branch-card__meta a,.off a{color:var(--ink-2)}
.branch-card__meta a:hover,.off a:hover{color:var(--accent)}

/* ---------- showreel ---------------------------------------- */
/* The advert is a 720x1280 portrait film, so it is given a tall column beside
   the copy rather than being letterboxed into a landscape frame. */
.reel{background:var(--ink);color:#fff}
.reel__in{display:grid;grid-template-columns:minmax(0,380px) 1fr;gap:clamp(30px,5vw,80px);align-items:center}
.reel__media{position:relative;background:#000}
.reel__video{width:100%;height:auto;display:block;aspect-ratio:9/16;object-fit:cover}
.reel__sound{position:absolute;left:16px;bottom:16px;z-index:2;cursor:pointer;
  background:rgba(0,0,0,.55);border:1px solid rgba(255,255,255,.4);color:#fff;
  font:600 10px/1 'Inter',sans-serif;letter-spacing:.18em;text-transform:uppercase;
  padding:10px 16px;border-radius:0;backdrop-filter:blur(6px);transition:.25s}
.reel__sound:hover{background:#fff;color:var(--ink);border-color:#fff}
.reel__body .lbl{color:rgba(255,255,255,.55)}
.reel__body h2{color:#fff;font-size:clamp(24px,3.2vw,42px);text-transform:uppercase;
  letter-spacing:.11em;font-weight:500;line-height:1.24}
.reel__body p{color:rgba(255,255,255,.76);margin-top:22px;max-width:52ch}
.reel__spec{display:flex;flex-wrap:wrap;gap:0 clamp(24px,4vw,56px);margin:34px 0 32px;
  border-top:1px solid rgba(255,255,255,.16);padding-top:26px}
.reel__spec b{display:block;font-family:'Schibsted Grotesk',sans-serif;font-size:clamp(22px,2.4vw,32px);
  font-weight:500;color:#fff;line-height:1}
.reel__spec span{display:block;font-size:10px;letter-spacing:.18em;text-transform:uppercase;
  color:rgba(255,255,255,.5);margin-top:8px;font-weight:600}
.reel .lnk{color:#fff;border-bottom-color:#fff}
.reel .lnk:hover{color:var(--accent-l);border-bottom-color:var(--accent-l)}

/* videos embedded in rich-text bodies (service pages, articles) */
.svc-video,.post-video{width:100%;max-width:340px;height:auto;aspect-ratio:9/16;
  object-fit:cover;display:block;margin:28px 0;background:#000}
.post__body .post-video{max-width:360px}

@media(max-width:860px){
  .reel__in{grid-template-columns:1fr;gap:30px}
  .reel__media{max-width:340px}
}

/* Designed brand artwork, unlike photography, carries the gold/green identity —
   so the article's own cover renders in full colour. Card thumbnails and the
   journal hero stay desaturated (colour on hover) to hold the editorial look. */
.post__cover img{filter:none}
.post__body img{filter:none}

/* sidebar labels: <em> defaults to italic and the box headings lost their caps */
.ed-mini em{font-style:normal;text-transform:uppercase}
.ed-box h4{text-transform:uppercase}

/* the 3-up modifier for the home "disciplines" grid was lost with the old layer,
   so the service tiles were stacking full width */
.ed-grid--3{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:clamp(26px,3vw,56px)}
@media(max-width:900px){ .ed-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media(max-width:600px){ .ed-grid--3{grid-template-columns:1fr} }

/* ---------- carried over from the pre-reskin layer ----------
   Found by diffing structural properties against the old stylesheet. */
/* the <a> was inline, so each rule only underlined the text, not the column */
.ed-links a{display:block}
.cat{display:inline-block}
/* section headers with a trailing link must stack on a phone */
@media(max-width:760px){
  .head--row{flex-direction:column;align-items:flex-start;gap:18px}
}

/* work cards: the category line is a bare <span>, and cms.css tints it green */
.pcard__body>span{display:block;background:none;color:var(--accent);padding:0;border-radius:0;
  font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;margin-bottom:10px}
/* detail pages carried a pale green section wash from the old theme */
.pdp,.evp,.contactpage{background:var(--paper)}
.contactpage{background:var(--soft)}

/* The brand film is a 480x480 picture letterboxed inside a 480x854 portrait
   container. A 1:1 box with object-fit:cover lands exactly on the content and
   crops the baked-in black bars away. */
.svc-video--sq,.post-video--sq{aspect-ratio:1/1;object-fit:cover;max-width:420px}
