/* CoreBridge Intelligence product site, v2 (25 Sep 2026). Built on the measured patterns of
   apple.com product pages: 44px global bar, 52px local bar, 17px body, 28/64 hero pair, 48px section
   headers, 80px story headlines, 21px reduced copy with bright emphasis, 28px-radius cards, a
   highlights gallery with a dot-nav capsule, bento grids, story sections, a compare block, and a
   directory footer. Used by /, /executive/, /about/ and /sources/. */
:root{
  --ink:#1D1B1A;--ink-2:#424245;--grey:#6e6e73;--grey-2:#86868b;--line:#d2d2d7;
  --paper:#F2F0EF;--soft:#F2F0EF;--black:#1D1B1A;--dark:#2B2927;--dark-2:#1D1B1A;--light-ink:#F2F0EF;
  --blue:#113235;--blue-h:#2F686D;--link:#113235;--link-d:#D4AF67;--teal:#113235;--teal-l:#2F686D;--gold:#7E5C1E;--gold-d:#D4AF67;
  --display:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;
  --text:"SF Pro Text","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;
  --w:980px;--wide:1260px;--pad:max(22px,calc((100vw - var(--w)) / 2));
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body.x{margin:0;background:var(--paper);color:var(--ink);font-family:var(--text);font-size:17px;line-height:1.47059;font-weight:400;letter-spacing:-.022em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
.x a{color:var(--link);text-decoration:none}.x a:hover{text-decoration:underline}
.x img{display:block;max-width:100%;height:auto}
.x h1,.x h2,.x h3,.x p{margin:0}
.x-skip{position:absolute;left:-9999px}.x-skip:focus{left:12px;top:12px;z-index:9999;background:#FBF9F4;color:#1D1B1A;padding:8px 14px;border-radius:8px}
.x .dark a:not(.btn),.x .dark2 a:not(.btn),.x .hl a:not(.btn){color:var(--link-d)}

/* ─── global bar (44px) ─── */
.gn{position:sticky;top:0;z-index:9990;height:44px;background:rgba(29,27,26,.88);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px)}
.gn__in{max-width:1024px;height:44px;margin:0 auto;padding:0 22px;display:flex;align-items:center;justify-content:space-between}
.x .gn a{color:#e8e8ed;font-size:12px;line-height:44px;letter-spacing:-.01em;opacity:.8;transition:opacity .2s}
.x .gn a:hover{opacity:1;text-decoration:none}
.x .gn .gn__brand{opacity:1;font-family:var(--display);font-size:15px;letter-spacing:-.02em;font-weight:600;color:#F2F0EF}
.gn .gn__brand span{font-weight:300}
.gn__menu{display:none;width:44px;height:44px;margin-right:-12px;border:0;background:none;cursor:pointer;color:#e8e8ed}
.gn__sheet{display:none}
@media (max-width:833px){
  .gn__link{display:none}.gn__menu{display:block}
  .gn__sheet{position:fixed;inset:44px 0 0;background:#1D1B1A;padding:28px 44px;display:none;flex-direction:column;gap:6px;z-index:9989}
  .gn.is-open .gn__sheet{display:flex}
  .x .gn__sheet a{font-family:var(--display);font-size:28px;line-height:1.4;font-weight:600;color:#e8e8ed;opacity:1}
}

/* ─── local bar (52px) ─── */
.ln{position:sticky;top:44px;z-index:9980;height:52px;background:rgba(251,251,253,.8);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid rgba(0,0,0,.16)}
.ln.dark{background:rgba(29,27,26,.88);border-bottom-color:rgba(255,255,255,.24)}
.ln__in{max-width:1024px;height:52px;margin:0 auto;padding:0 22px;display:flex;align-items:center}
.ln__t{font-family:var(--display);font-size:21px;line-height:1.14;font-weight:600;letter-spacing:.011em;margin-right:auto;color:var(--ink)}
.ln.dark .ln__t{color:var(--light-ink)}
.ln__links{display:flex;align-items:center;gap:24px;margin-right:24px}
.x .ln__links a{font-size:12px;letter-spacing:-.01em;color:var(--ink)}
.x .ln.dark .ln__links a{color:var(--light-ink)}
.ln__links a[aria-current]{opacity:.56;pointer-events:none}
.ln .btn{font-size:12px;line-height:1.33;padding:4px 11px;min-width:28px}
@media (max-width:833px){.ln__links{display:none}}

/* ─── buttons and links ─── */
.btn{display:inline-block;background:var(--blue);color:#fff!important;border-radius:980px;font-size:17px;line-height:1.17648;font-weight:400;letter-spacing:-.022em;padding:11px 21px;text-align:center;white-space:nowrap;border:1px solid transparent;cursor:pointer;transition:background .2s,color .2s}
.btn:hover{background:var(--blue-h);text-decoration:none!important}
.btn--sm{font-size:14px;padding:8px 15px}
.btn--ghost{background:transparent;color:var(--blue)!important;border-color:var(--blue)}
.btn--ghost:hover{background:var(--blue);color:#fff!important}
.dark .btn--ghost,.dark2 .btn--ghost{color:var(--link-d)!important;border-color:var(--link-d)}.dark .btn--ghost:hover,.dark2 .btn--ghost:hover{background:var(--link-d);color:#1D1B1A!important}
.more{white-space:nowrap}
.more::after{content:"";display:inline-block;width:.42em;height:.42em;margin-left:.3em;border-right:1.5px solid currentColor;border-top:1.5px solid currentColor;transform:translateY(-.08em) rotate(45deg)}
.ctas{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px;margin-top:26px}
.ctas--c{justify-content:center}

/* ─── type scale ─── */
.t-prod{font-family:var(--display);font-size:28px;line-height:1.14286;font-weight:600;letter-spacing:.007em}
.t-hero{font-family:var(--display);font-size:64px;line-height:1.0625;font-weight:600;letter-spacing:-.009em}
.t-tag{font-family:var(--display);font-size:28px;line-height:1.14286;font-weight:600;letter-spacing:.007em}
.t-sec{font-family:var(--display);font-size:48px;line-height:1.08349;font-weight:600;letter-spacing:-.003em}
.t-super{font-family:var(--display);font-size:80px;line-height:1.05;font-weight:600;letter-spacing:-.015em}
.t-story{font-family:var(--display);font-size:56px;line-height:1.07143;font-weight:600;letter-spacing:-.005em}
.t-eye{font-family:var(--display);font-size:24px;line-height:1.16667;font-weight:600;letter-spacing:.009em}
.t-card{font-family:var(--display);font-size:28px;line-height:1.14286;font-weight:600;letter-spacing:.007em}
.t-bento{font-family:var(--display);font-size:40px;line-height:1.1;font-weight:600;letter-spacing:0}
.t-red{font-family:var(--display);font-size:21px;line-height:1.19048;font-weight:600;letter-spacing:.011em;color:var(--grey-2)}
.t-red b,.t-red strong{font-weight:600;color:var(--ink)}
.dark .t-red b,.dark2 .t-red b,.dark .t-red strong{color:var(--light-ink)}
.t-body{font-size:17px;line-height:1.47059;color:var(--ink-2)}
.dark .t-body,.dark2 .t-body{color:#a1a1a6}
.t-grad{background:linear-gradient(90deg,#F2F0EF 0%,#c9d6ff 45%,#9aa7c7 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
@media (max-width:1068px){.t-hero{font-size:56px}.t-super{font-size:64px}.t-story{font-size:48px}.t-sec{font-size:40px}.t-bento{font-size:32px}}
@media (max-width:734px){
  .t-prod,.t-tag,.t-card{font-size:21px;line-height:1.19}.t-hero{font-size:40px;line-height:1.1}.t-super{font-size:48px;line-height:1.08}
  .t-story{font-size:40px;line-height:1.1}.t-sec{font-size:32px;line-height:1.125}.t-eye{font-size:21px}.t-red{font-size:19px;line-height:1.21}.t-bento{font-size:28px}
}

/* ─── sections ─── */
.sec{padding:120px 0;overflow:hidden}
.sec--tight{padding:80px 0}
.dark{background:var(--black);color:var(--light-ink)}
.dark2{background:var(--dark);color:var(--light-ink)}
.soft{background:var(--soft)}
.wrap{max-width:var(--w);margin:0 auto;padding:0 22px}
.sec__head{display:flex;align-items:baseline;justify-content:space-between;gap:24px;flex-wrap:wrap}
.center{text-align:center}
@media (max-width:734px){.sec{padding:80px 0}}

/* ─── hero (welcome) ─── */
.hero{position:relative;background:#1D1B1A;color:var(--light-ink);min-height:min(880px,calc(100svh - 96px));display:flex;align-items:flex-end;overflow:hidden}
.hero__media{position:absolute;right:-8%;top:7%;width:min(1120px,80vw);perspective:2200px}
.hero__media .mac{transform:rotateY(-24deg) rotateX(7deg) rotateZ(1deg);transform-origin:left center;animation:hero-in 1.6s cubic-bezier(.2,.8,.2,1) both}
@keyframes hero-in{from{opacity:0;transform:rotateY(-34deg) rotateX(9deg) translateX(10%)}}
.hero__glow{position:absolute;inset:auto 0 0 0;height:62%;background:linear-gradient(to top,#1D1B1A 22%,rgba(0,0,0,0));pointer-events:none}
.hero__copy{position:relative;z-index:2;width:100%;max-width:var(--w);margin:0 auto;padding:0 22px 88px}
.hero__copy .t-hero{margin-top:6px}.hero__copy .t-tag{margin-top:8px}
.capsule{display:inline-flex;align-items:center;gap:22px;margin-top:30px;padding:10px 10px 10px 20px;border-radius:24px;background:rgba(66,66,69,.72);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);font-size:14px;line-height:1.43;font-weight:600;letter-spacing:-.016em;color:#F2F0EF;max-width:100%}
.capsule span{color:#d2d2d7;font-weight:400}
@media (max-width:833px){
  .hero{flex-direction:column;align-items:stretch;min-height:0}
  .hero__media{position:relative;right:auto;top:auto;width:118%;margin:40px 0 0 6%}
  .hero__glow{display:none}.hero__copy{padding-top:0;padding-bottom:64px;margin-top:-18px}
  .capsule{flex-direction:column;align-items:flex-start;gap:12px;padding:16px 18px;border-radius:20px}
}

/* ─── devices ─── */
.mac{position:relative;filter:drop-shadow(0 50px 60px rgba(0,0,0,.5))}
.mac__lid{position:relative;border-radius:22px 22px 6px 6px;padding:1.3% 1.3% 1.8%;background:linear-gradient(#2b2b2e,#0c0c0d);box-shadow:inset 0 0 0 1.5px #4a4a4f,inset 0 0 0 3px #0a0a0a}
.mac__lid::before{content:"";position:absolute;top:1.3%;left:50%;width:9%;height:2.2%;transform:translateX(-50%);background:#1D1B1A;border-radius:0 0 8px 8px;z-index:2}
.mac__lid img{width:100%;border-radius:10px}
.mac__base{position:relative;height:clamp(10px,1.6vw,22px);margin:0 -7.5%;border-radius:2px 2px 24px 24px / 2px 2px 90% 90%;background:linear-gradient(#e2e3e6 0%,#c7c8cc 45%,#8e8f93 100%)}
.mac__base::before{content:"";position:absolute;left:50%;top:0;width:16%;height:38%;transform:translateX(-50%);border-radius:0 0 10px 10px;background:linear-gradient(#b8b9bd,#d3d4d7)}
.phone{position:relative;width:300px;max-width:100%;aspect-ratio:1170/2532;border-radius:17%/7.8%;padding:3.4%;background:linear-gradient(145deg,#6e6e73,#2c2c2e 30%,#1c1c1e 70%,#4a4a4f);box-shadow:0 0 0 1px #0b0b0c,0 40px 80px -30px rgba(0,0,0,.55);flex:none}
.phone::before{content:"";position:absolute;inset:2.1%;border-radius:15.4%/7.1%;background:#1D1B1A}
.phone img{position:relative;width:100%;height:100%;object-fit:cover;object-position:top;border-radius:13.6%/6.3%}
.phone::after{content:"";position:absolute;top:4.9%;left:50%;width:30%;height:3.9%;transform:translateX(-50%);border-radius:40px;background:#1D1B1A;z-index:3}

/* ─── bento ─── */
.bento{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:minmax(280px,auto);gap:24px;max-width:1024px;margin:56px auto 0;padding:0 22px}
.bcard{position:relative;border-radius:28px;background:var(--dark);color:var(--light-ink);padding:40px;overflow:hidden;display:flex;flex-direction:column}
.bcard--tall{grid-row:span 2}.bcard--wide{grid-column:span 2}
.bcard__ic{width:44px;height:44px;margin-bottom:auto;color:#F2F0EF}
.bcard .t-card{margin-top:28px}
.bcard__pic{margin:auto -40px -40px;padding-top:32px;display:flex;justify-content:center}
.bcard__pic .phone{width:60%;transform:translateY(18%)}
.bcard em{font-style:normal;color:var(--grey-2)}
@media (max-width:833px){.bento{grid-template-columns:1fr}.bcard--tall{grid-row:auto}.bcard--wide{grid-column:auto}.bcard{padding:32px;min-height:280px}.bcard__pic{margin:auto -32px -32px}}

/* ─── highlights gallery ─── */
.hl{background:var(--dark);color:var(--light-ink)}
.hl__track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:var(--pad);padding:56px var(--pad) 40px;scrollbar-width:none}
.hl__track::-webkit-scrollbar{display:none}
.hl__card{flex:0 0 min(1024px,86vw);height:min(640px,74vh);min-height:480px;scroll-snap-align:start;border-radius:28px;background:#1D1B1A;position:relative;overflow:hidden;display:flex;flex-direction:column}
.hl__card--light{background:#FBF9F4;color:#1D1B1A}
.hl__cap{position:relative;z-index:2;padding:48px 56px 0;max-width:680px;color:rgba(255,255,255,.92)}
.hl__card--light .hl__cap{color:rgba(0,0,0,.88)}
.hl__cap span{color:#86868b}
.hl__media{margin-top:auto;display:flex;justify-content:center;align-items:flex-end;gap:32px;padding:0 40px}
.hl__media .phone{width:min(290px,32%);transform:translateY(20%)}
.hl__media .mac{width:min(800px,92%);transform:translateY(12%)}
.hl__ctl{display:flex;justify-content:center;align-items:center;gap:16px;padding-bottom:12px}
.dots{display:flex;gap:16px;align-items:center;height:56px;padding:0 24px;border-radius:32px;background:rgba(66,66,69,.72);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.dots button{width:8px;height:8px;padding:0;border:0;border-radius:10px;background:rgba(245,245,247,.8);cursor:pointer;transition:width .4s,background .4s;position:relative;overflow:hidden}
.dots button[aria-current="true"]{width:48px;background:rgba(245,245,247,.35)}
.dots button i{position:absolute;left:0;top:0;bottom:0;width:0;background:#F2F0EF;border-radius:10px}
.dots button[aria-current="true"] i{width:100%}
.dots.playing button[aria-current="true"] i{width:0;animation:dot-fill 6s linear forwards}
@keyframes dot-fill{to{width:100%}}
.pp{width:56px;height:56px;border-radius:50%;border:0;background:rgba(66,66,69,.72);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);color:#F2F0EF;cursor:pointer;display:flex;align-items:center;justify-content:center}
@media (max-width:734px){.hl__cap{padding:32px 28px 0}.hl__card{min-height:560px}.hl__media .phone{width:50%}}

/* ─── story sections ─── */
.story .t-eye{margin-bottom:12px}
.story__copy{max-width:692px;margin-top:40px}
.story__media{margin:72px auto 0;max-width:1100px;padding:0 22px}
.story__cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:1024px;margin:64px auto 0;padding:0 22px}
.story__col{border-radius:28px;background:var(--dark);padding:36px 36px 0;overflow:hidden;display:flex;flex-direction:column}
.story__col p{font-size:17px;line-height:1.47;color:#86868b;font-weight:600}.story__col p b{color:#F2F0EF}
.story__col .phone{width:60%;margin:36px auto 0;transform:translateY(14%)}
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:64px}
.stat b{display:block;font-family:var(--display);font-size:64px;line-height:1.05;font-weight:600;letter-spacing:-.015em}
.stat span{display:block;margin-top:8px;font-family:var(--display);font-size:21px;line-height:1.19;font-weight:600;color:#86868b}
@media (max-width:833px){.story__cols{grid-template-columns:1fr}.stats{grid-template-columns:1fr}.stat b{font-size:48px}}

/* ─── card scroller (light) ─── */
.cards{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:var(--pad);padding:40px var(--pad) 48px;scrollbar-width:none}
.cards::-webkit-scrollbar{display:none}
.x a.card{flex:0 0 360px;min-height:500px;scroll-snap-align:start;border-radius:18px;background:#FBF9F4;padding:30px;display:flex;flex-direction:column;box-shadow:2px 4px 12px rgba(0,0,0,.08);transition:transform .3s cubic-bezier(0,0,.5,1),box-shadow .3s;color:var(--ink)}
.x a.card:hover{transform:scale(1.0125);box-shadow:2px 4px 16px rgba(0,0,0,.16);text-decoration:none}
.card__k{font-size:12px;line-height:1.33;font-weight:600;letter-spacing:-.01em}
.card .t-card{margin-top:4px}
.card p{margin-top:12px;font-size:14px;line-height:1.43;color:var(--ink-2)}
.card__pic{margin-top:auto;padding-top:24px;display:flex;justify-content:center}
.card__pic .phone{width:56%}
.card__plus{align-self:flex-end;width:36px;height:36px;margin-top:16px;border-radius:50%;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;flex:none}
@media (max-width:734px){.x a.card{flex-basis:300px}}

/* ─── compare ─── */
.cmp{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 72px;max-width:760px;margin:64px auto 0;padding:0 22px;text-align:center}
.cmp__col .phone{width:170px;margin:0 auto 28px}
.cmp__name{font-family:var(--display);font-size:24px;line-height:1.17;font-weight:600}
.cmp__desc{margin-top:8px;font-size:14px;line-height:1.43;color:var(--ink-2)}
.cmp__price{margin-top:14px;font-size:14px;font-weight:600}
.cmp__col .ctas{justify-content:center;margin-top:18px;gap:14px 20px}
.cmp__list{list-style:none;margin:32px 0 0;padding:28px 0 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:24px}
.cmp__list li{font-size:14px;line-height:1.43;color:var(--ink)}
.cmp__list svg{display:block;margin:0 auto 8px}
.cmp__list li.no{color:var(--grey-2)}
@media (max-width:734px){.cmp{gap:48px 16px}.cmp__col .phone{width:120px}}

/* ─── promise panel ─── */
.panel{max-width:1024px;margin:0 auto;border-radius:28px;background:#FBF9F4;padding:72px 56px;text-align:center}
.panel__ic{width:56px;height:56px;margin:0 auto 18px;color:var(--ink)}
.panel .t-sec{font-size:40px}
.panel p{max-width:720px;margin:14px auto 0;font-size:17px;color:var(--ink-2)}
.checks{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 32px;margin:28px 0 0;font-size:14px;font-weight:600;list-style:none;padding:0}
.checks li::before{content:"";display:inline-block;width:12px;height:6px;margin-right:9px;border-left:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-3px) rotate(-45deg)}
@media (max-width:734px){.panel{padding:56px 24px;border-radius:0}.panel .t-sec{font-size:32px}}

/* ─── home tiles ─── */
.tile{position:relative;overflow:hidden;text-align:center;padding:54px 22px 0;min-height:692px;display:flex;flex-direction:column;align-items:center}
.t-tile{font-family:var(--display);font-size:56px;line-height:1.07;font-weight:600;letter-spacing:-.005em}
.t-tile-sub{margin-top:6px;font-family:var(--display);font-size:28px;line-height:1.14;font-weight:400;letter-spacing:.007em}
.tile .ctas{justify-content:center;margin-top:18px;gap:14px}
.tile__pic{margin-top:auto;padding-top:36px;width:100%;display:flex;justify-content:center;align-items:flex-end;gap:28px}
.tile__pic .mac{width:min(900px,92%);transform:translateY(8%)}
.tile__pic .phone{transform:translateY(16%)}
.tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:12px}
.tiles .tile{min-height:580px;padding-top:48px}
.tiles .t-tile{font-size:40px}.tiles .t-tile-sub{font-size:21px}
.tiles .tile__pic .phone{width:44%}
@media (max-width:734px){.tile{min-height:540px}.t-tile{font-size:40px}.t-tile-sub{font-size:21px}.tiles{grid-template-columns:1fr}.tiles .t-tile{font-size:32px}}

/* ─── people ─── */
.x-people .ab-lead{list-style:none;margin:64px auto 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 32px;max-width:var(--w);text-align:left}
.x-people .ab-person{display:flex;flex-direction:column;gap:6px}
.x-people .ab-ph{margin:0 0 14px}.x-people .ab-ph img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:18px;filter:grayscale(1) contrast(1.02)}
.x-people .ab-person__name{font-family:var(--display);font-size:24px;line-height:1.17;font-weight:600}
.x-people .ab-person__role{margin-top:4px;font-size:17px;line-height:1.35;color:var(--ink-2)}
.x-people .ab-person__co{margin-top:2px;font-size:14px;color:var(--grey)}
.x-people .ab-person__disclose{margin-top:10px;padding:0;border:0;background:none;color:var(--link);font:inherit;font-size:17px;cursor:pointer;text-align:left}
.x-people .ab-person__disclose::after{content:" +"}.x-people .ab-person__disclose[aria-expanded="true"]::after{content:" \2212"}
.x-people .ab-bio{margin-top:14px}
.x-people .ab-bio p,.x-people .ab-bio li{font-size:17px;line-height:1.47;color:var(--ink-2);margin:0 0 12px}
.x-people .ab-bio ul{padding-left:20px}
.x-people [class*="tags"]{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:10px 0}
.x-people [class*="tags"] li{margin:0;padding:4px 12px;border-radius:980px;background:var(--soft);font-size:12px;color:var(--ink)}
.x-people ul.ab-bench{list-style:none;margin:32px auto 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px 24px;max-width:var(--w);text-align:left}
.x-people .ab-bench img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:14px;filter:grayscale(1)}
.x-people .ab-bench h3,.x-people .ab-bench b{display:block;margin-top:12px;font-size:17px;font-weight:600;color:var(--ink)}
.x-people .ab-bench p{margin:2px 0 0;font-size:14px;color:var(--grey)}
.x-people h3.ab-sub{margin:96px auto 0;max-width:var(--w);font-family:var(--display);font-size:32px;font-weight:600;text-align:left}
@media (max-width:833px){.x-people .ab-lead{grid-template-columns:1fr 1fr}.x-people ul.ab-bench{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.x-people .ab-lead{grid-template-columns:1fr}}

/* ─── footer ─── */
.ft{background:var(--soft);color:var(--grey);font-size:12px;line-height:1.33337;letter-spacing:-.01em}
.ft__in{max-width:var(--w);margin:0 auto;padding:17px 22px 21px}
.ft__notes{padding-bottom:12px;border-bottom:1px solid var(--line)}
.ft__notes p{margin:0 0 10px}
.ft__notes ol{margin:0 0 10px;padding-left:16px}.ft__notes li{margin-bottom:6px}
.ft__crumb{display:flex;align-items:center;gap:10px;padding:14px 0;border-bottom:1px solid var(--line);color:var(--ink)}
.x .ft a{color:var(--grey)}
.x .ft__crumb a{color:var(--ink)}
.ft__dir{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;padding:20px 0 28px;border-bottom:1px solid var(--line)}
.ft__dir h3{margin:0 0 8px;font-size:12px;font-weight:600;color:var(--ink)}
.ft__dir a{display:block;margin:0 0 8px}
.ft__legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;padding-top:14px}
.x .ft a:hover{color:var(--ink);text-decoration:underline}
@media (max-width:734px){.ft__dir{grid-template-columns:1fr 1fr}}

/* ─── reveal ─── */
.rv{opacity:0;transform:translateY(40px);transition:opacity 1s cubic-bezier(.2,.8,.2,1),transform 1s cubic-bezier(.2,.8,.2,1)}
.rv.in{opacity:1;transform:none}
.rv.d1{transition-delay:.12s}.rv.d2{transition-delay:.24s}.rv.d3{transition-delay:.36s}
.x-nojs .rv{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}.hero__media .mac{animation:none}.dots.playing button[aria-current="true"] i{animation:none;width:100%}}

/* names used by /sources/ */
.x-room{padding:120px 22px;overflow:hidden;text-align:center}.x-wrap{max-width:var(--w);margin:0 auto}
.x-eye{margin:0 0 8px;font-family:var(--display);font-size:21px;font-weight:600;color:var(--grey)}
.x-h1{font-family:var(--display);font-size:56px;line-height:1.07;font-weight:600;letter-spacing:-.005em}
.x-copy{margin:18px auto 0;max-width:680px;font-family:var(--display);font-size:21px;line-height:1.38;font-weight:400;color:var(--ink-2)}
.x-rise{opacity:1}
@media (max-width:734px){.x-h1{font-size:40px}}

/* ─── v2 helpers (25 Sep, build_x_pages v2) ─── */
.mute{color:var(--grey-2)}.sec .mute{margin-top:16px}
.narrow{max-width:760px;margin-left:auto;margin-right:auto}
.t-red.narrow{margin-top:28px}
.about-hero{padding-top:120px}.about-hero .t-super{margin-top:14px}
.story__copy+.story__copy{margin-top:24px}
.bcard .t-body{margin-top:16px;color:var(--grey-2)}
.soft .bcard{background:#FBF9F4;color:var(--ink)}
.soft .bcard .bcard__ic{color:var(--ink)}
.soft .bcard em,.soft .bcard .t-body{color:#6e6e73}
.x-people .ab-lead{margin-top:56px}

/* ─── v2 hero: centred copy above the device, as apple.com/macbook-pro (25 Sep) ─── */
.hero{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-height:0;padding:72px 0 0;text-align:center}
.hero__copy{order:1;padding:0 22px;margin:0 auto}
.hero__media{order:2;position:relative;right:auto;top:auto;width:min(1080px,88vw);margin:56px auto 0;perspective:none}
.hero__media .mac{transform:none;animation:hero-rise 1.4s cubic-bezier(.2,.8,.2,1) both}
@keyframes hero-rise{from{opacity:0;transform:translateY(60px) scale(.96)}}
.hero__glow{display:block;position:absolute;left:50%;top:38%;width:70%;height:50%;transform:translateX(-50%);background:radial-gradient(closest-side,rgba(120,140,255,.22),rgba(0,0,0,0));inset:auto;pointer-events:none}
.hero .capsule{order:3;margin:48px auto 88px;text-align:left}
.x .story__copy{margin-top:40px}
.x .story__copy+.story__copy{margin-top:24px}
.bcard--tall .t-bento{font-size:32px}
@media (max-width:833px){
  .hero{padding-top:48px}.hero__media{width:calc(100% - 44px);margin:36px auto 0}
  .hero .capsule{margin:32px 22px 64px;align-items:center;text-align:center}
}
@media (prefers-reduced-motion:reduce){.hero__media .mac{animation:none}}

/* ─── v2 fixes after the first screenshot pass (25 Sep) ─── */
.hero__glow{inset:auto;left:50%;top:30%}
.only-m{display:none}
@media (max-width:734px){
  .only-d{display:none}.only-m{display:flex;justify-content:center}
  .only-m .phone{width:min(300px,78vw)}
  .hl__media .only-m .phone{width:min(240px,62vw)}
  .bento{grid-auto-rows:auto;gap:16px}
  .bcard{padding:28px;min-height:0}
  .bcard__ic{margin-bottom:36px}
  .bcard .t-card{margin-top:0}
  .bcard__pic{margin:0 -28px -28px}
}
/* phone frames follow the screenshot's own shape, so nothing is cropped at the sides */
.phone{aspect-ratio:auto}
.phone img{height:auto;display:block}
.bcard--tall .bcard__pic .phone{width:74%}
/* stacked home tiles sit apart, as on apple.com */
main > .tile + .tile, main > .tile + .tiles{margin-top:12px}
.tiles{padding:0 12px}
main > .tile{margin-left:0;margin-right:0}
/* the card scroller gets the arrow pair */
.cards__nav{display:flex;justify-content:flex-end;gap:14px;max-width:var(--w);margin:8px auto 0;padding:0 22px}
.cards__nav button{width:36px;height:36px;border-radius:50%;border:0;background:rgba(210,210,215,.64);color:rgba(0,0,0,.56);display:grid;place-items:center;cursor:pointer;transition:background .2s}
.cards__nav button:hover{background:rgba(223,223,227,.7);color:rgba(0,0,0,.64)}
.cards__nav button:disabled{opacity:.42;cursor:default}
@media (max-width:734px){
  .tile__pic{gap:12px;padding-left:0;padding-right:0}
  .tile__pic .phone{width:44%}
  .tile__pic .phone:nth-child(3){display:none}
  .tile__pic .only-m .phone{width:min(300px,76vw)}
  .tiles .tile__pic .phone{width:62%}
}

/* ─── editorial photo band: full-bleed photograph, headline on a bottom scrim (25 Sep) ─── */
.pband{position:relative;min-height:min(92vh,900px);display:flex;align-items:flex-end;overflow:hidden;background:#1D1B1A;color:#F2F0EF}
.pband picture,.pband img{position:absolute;inset:0;width:100%;height:100%}
.pband img{object-fit:cover;transform:scale(1.04);transition:transform 2.4s cubic-bezier(.2,.8,.2,1)}
.pband.in-view img{transform:scale(1)}
.pband::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.78) 0%,rgba(0,0,0,.35) 38%,rgba(0,0,0,0) 62%);pointer-events:none}
.pband__copy{position:relative;z-index:2;width:100%;padding-bottom:88px}
.pband .t-eye{color:#F2F0EF}
.pband__sub{max-width:692px;margin-top:28px;color:#d2d2d7}.pband__sub b{color:#fff}
.pband + .story{padding-top:72px}
@media (max-width:734px){.pband{min-height:88vh}.pband__copy{padding-bottom:56px}}
@media (prefers-reduced-motion:reduce){.pband img{transform:none;transition:none}}
.pband::after{background:linear-gradient(0deg,rgba(0,0,0,.86) 0%,rgba(0,0,0,.6) 30%,rgba(0,0,0,.18) 55%,rgba(0,0,0,0) 72%)}
.x .pband__sub{margin-top:28px}
main > .tiles{margin-bottom:12px}
@media (max-width:734px){.t-super br,.pband .t-super br{display:none}}
.hero .t-tag{max-width:720px;margin-left:auto;margin-right:auto}

/* ─── CoreBridge colour, 25 Sep (Benjie): "rather than the apple blue, use the corebridge dark teal… some dashes of gold".
       Teal #113235 and gold #7E5C1E are the website palette of 11 Sep; #2F686D (lighter teal) and #D4AF67 (chip gold) carry them on dark grounds. ─── */
.dark .btn:not(.btn--ghost),.dark2 .btn:not(.btn--ghost),.hero .btn:not(.btn--ghost),.ln.dark .btn,.pband .btn:not(.btn--ghost),.capsule .btn{background:var(--teal-l)}
.dark .btn:hover,.dark2 .btn:hover,.hero .btn:hover,.ln.dark .btn:hover,.capsule .btn:hover{background:#3a7a80}
.dark .btn--ghost:hover,.dark2 .btn--ghost:hover{background:var(--gold-d);color:#1D1B1A!important;border-color:var(--gold-d)}
.t-grad{background:linear-gradient(90deg,#F2F0EF 0%,#E9D9B0 45%,#D4AF67 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero__glow{background:radial-gradient(closest-side,rgba(212,175,103,.16),rgba(0,0,0,0))}
.t-eye{color:var(--gold)}
.dark .t-eye,.dark2 .t-eye,.hl .t-eye,.pband .t-eye,.story .t-eye{color:var(--gold-d)}
.card__k{color:var(--gold)}
.dark .stat b,.story .stat b{color:var(--gold-d)}
.dots button[aria-current="true"] i,.dots.playing button[aria-current="true"] i{background:var(--gold-d)}
.bcard .bcard__ic{color:var(--gold-d)}
.soft .bcard .bcard__ic{color:var(--teal)}
.checks li::before{color:var(--teal)}
.cmp__list li:not(.no) svg{color:var(--teal)}
.panel__ic{color:var(--gold)}
.t-prod{color:inherit}.hero .t-prod{color:var(--gold-d)}
.ft__notes li::marker{color:var(--gold)}
.ln .ln__links a[aria-current="page"]{color:var(--gold-d);opacity:1}

/* ─── phone menu fix (25 Sep 2026) ───
   A backdrop-filter makes .gn the containing block for its fixed children, so the open sheet sized
   to the 44px bar and its links spilled over the page. While open, the bar drops the filter, goes
   solid and is pinned to the viewport (position:fixed), so a body scroll lock (overflow:hidden, which
   turns body into its own scroll box where html also clips, as on /executive/exhibits/) cannot carry
   it off screen. The sheet then fills the screen below it. */
@media (max-width:833px){
  .gn.is-open{position:fixed;top:0;left:0;right:0;-webkit-backdrop-filter:none;backdrop-filter:none;background:#1D1B1A}
  .gn.is-open .gn__sheet{position:fixed;top:44px;left:0;right:0;bottom:0;height:calc(100dvh - 44px);overflow-y:auto;overscroll-behavior:contain;padding:28px 44px calc(env(safe-area-inset-bottom,0px) + 28px)}
  .x .gn__sheet a{display:flex;align-items:center;min-height:44px}
}

/* ─── four devices (25 Sep): iPad and desktop monitor frames join the laptop (.mac) and phone (.phone).
       Drawn in CSS, as the others are: Apple's product bezels are licensed for App Store apps only. ─── */
.ipad{position:relative;border-radius:5.2%/7%;padding:2.6%;background:linear-gradient(145deg,#5b5b60,#1c1c1e 25%,#111 75%,#3a3a3f);box-shadow:0 0 0 1px #0b0b0c,0 40px 80px -30px rgba(0,0,0,.5)}
.ipad::before{content:"";position:absolute;inset:1.1%;border-radius:4.4%/5.9%;background:#1D1B1A}
.ipad img{position:relative;display:block;width:100%;height:auto;border-radius:2.4%/3.2%}
.imac{position:relative;width:100%}
.imac__screen{position:relative;border-radius:14px 14px 0 0;padding:1.6% 1.6% 1.2%;background:#0d0d0f;box-shadow:inset 0 0 0 1.5px #3a3a3f}
.imac__screen img{display:block;width:100%;height:auto;border-radius:4px}
.imac__chin{height:clamp(22px,4.2vw,58px);border-radius:0 0 14px 14px;background:linear-gradient(#dcdcdf,#c4c4c8)}
.imac__stand{width:22%;height:clamp(28px,5vw,74px);margin:0 auto;background:linear-gradient(90deg,#b9b9bd,#e2e2e5 45%,#b0b0b4);clip-path:polygon(12% 0,88% 0,100% 100%,0 100%)}
.imac__foot{width:30%;height:6px;margin:0 auto;border-radius:0 0 6px 6px;background:#a9a9ad}
.lineup{display:grid;grid-template-columns:5.4fr 3.6fr 2.4fr 1fr;align-items:end;gap:3%;max-width:1100px;margin:56px auto 0;padding:0 22px}
.lineup .phone{width:100%}
.lineup__cap{display:grid;grid-template-columns:5.4fr 3.6fr 2.4fr 1fr;gap:3%;max-width:1100px;margin:16px auto 0;padding:0 22px;font-size:14px;color:var(--grey-2);text-align:center}
@media (max-width:734px){.lineup{grid-template-columns:1fr 1fr;gap:18px}.lineup__cap{display:none}}
.tile__pic .imac{width:min(760px,80%)}.tile__pic .only-d{width:100%;display:flex;justify-content:center}@media (max-width:734px){.tile__pic .only-d{display:none}}

/* ─── phone: a status bar above the screenshot, so the Dynamic Island sits on black, not over the dashboard
       (Benjie, 25 Sep: "the mobile phone with the Dynamic Island overlaps the dashboard").
       The screenshots are 390pt viewports with no status bar; an iPhone status bar is about 54pt tall, so the bar
       is a real element with aspect-ratio 390/54 and the island lives inside it. Type uses cqw of the phone. ─── */
.phone{container-type:inline-size}
.phone::after{display:none}
.phone__sb{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center;width:100%;aspect-ratio:390/54;padding:0 8.5%;background:#1D1B1A;border-radius:13.6cqw 13.6cqw 0 0;pointer-events:none}
.phone__sb::before{content:"";position:absolute;left:50%;top:20%;width:31%;height:62%;transform:translateX(-50%);border-radius:40px;background:#1D1B1A;box-shadow:0 0 0 1px rgba(255,255,255,.04)}
.phone__sb b{font:600 4.3cqw/1 var(--text);color:#fff;letter-spacing:-.01em}
.phone__sb i{position:relative;width:7cqw;height:3.2cqw;border:1px solid rgba(255,255,255,.55);border-radius:1.1cqw}
.phone__sb i::after{content:"";position:absolute;inset:1px 26% 1px 1px;background:#FBF9F4;border-radius:.6cqw}
.phone img{display:block;border-radius:0 0 13.6cqw 13.6cqw}
/* frame thickness measured against the phone itself (padding % is of the parent, which made thick bezels in wide tiles) */
.phone{padding:0!important}
.phone__in{position:relative;z-index:1;margin:3.5cqw}
.phone__sb{border-radius:12.4cqw 12.4cqw 0 0}
.phone img{border-radius:0 0 12.4cqw 12.4cqw}
.phone::before{inset:1.6cqw;border-radius:14.6cqw}

/* ─── portfolios and rollout (25 Sep) ─── */
.pf-lede{margin-top:20px;max-width:760px}
.pf-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;max-width:1100px;margin:48px auto 0;padding:0 22px}
.pf{background:#FBF9F4;border-radius:22px;padding:28px 28px 24px}
.pf__k{margin:0;font:600 12px/1.33 var(--text);color:var(--gold);letter-spacing:.02em;text-transform:uppercase}
.pf__t{margin:6px 0 14px;font:600 21px/1.2 var(--display);letter-spacing:.005em;color:var(--ink)}
.pf ul{margin:0;padding:0;list-style:none}
.pf li{position:relative;padding:7px 0 7px 18px;border-top:1px solid #e8e8ed;font:400 15px/1.4 var(--text);color:#424245}
.pf li::before{content:"";position:absolute;left:0;top:14px;width:7px;height:7px;border-radius:50%;background:var(--teal)}
@media (max-width:1023px){.pf-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:734px){.pf-grid{grid-template-columns:1fr;gap:14px}.pf{padding:22px 20px 18px}}
.ro{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;max-width:980px;margin:52px auto 0;padding:0 22px;list-style:none;counter-reset:ro}
.ro li{position:relative;padding:26px 16px 0;text-align:center;border-top:2px solid var(--line)}
.dark .ro li{border-top-color:#424245}
.ro li::before{content:"";position:absolute;top:-8px;left:50%;width:14px;height:14px;margin-left:-7px;border-radius:50%;background:var(--line)}
.dark .ro li::before{background:#424245}
.ro li.is-now{border-top-color:var(--gold-d)}
.ro li.is-now::before{background:var(--gold-d);box-shadow:0 0 0 6px rgba(212,175,103,.22)}
.ro__when{display:block;font:600 14px/1.3 var(--text);color:var(--gold)}
.dark .ro__when{color:var(--gold-d)}
.ro__where{display:block;margin-top:6px;font:600 clamp(19px,1vw + 14px,24px)/1.2 var(--display);color:var(--ink)}
.dark .ro__where{color:#F2F0EF}
@media (max-width:734px){.ro{grid-template-columns:1fr;gap:26px}.ro li{border-top:0;border-left:2px solid var(--line);text-align:left;padding:0 0 0 22px}.ro li.is-now{border-left-color:var(--gold-d)}.ro li::before{top:4px;left:-8px;margin-left:0}}

/* ─── live desktop on the landing page (25 Sep): the monitor steps through six features; each screen scrolls while it shows ─── */
.live{width:min(900px,92%);margin:0 auto}
.live .imac{width:100%}
.live__view{position:relative;aspect-ratio:16/9;overflow:hidden;border-radius:4px;background:#F2F0EF}
.live__s{position:absolute;left:0;top:0;width:100%;height:auto;opacity:0;transition:opacity .9s ease}
.live__s.is-on{opacity:1;animation:live-pan 6.5s cubic-bezier(.45,.05,.55,.95) forwards}
.live.is-paused .live__s.is-on,.live.is-off .live__s.is-on{animation-play-state:paused}
@keyframes live-pan{0%,12%{transform:translateY(0)}100%{transform:translateY(-26%)}}
.live__bar{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:26px}
.live__tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;padding:6px;border-radius:980px;background:rgba(0,0,0,.05)}
.live__t{position:relative;overflow:hidden;border:0;background:none;padding:8px 14px;border-radius:980px;font:400 14px/1.2 var(--text);color:var(--grey);cursor:pointer}
.live__t span{position:relative;z-index:1}
.live__t:hover{color:var(--ink)}
.live__t.is-on{background:#FBF9F4;color:var(--ink);font-weight:600;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.live__t i{position:absolute;left:14px;right:14px;bottom:4px;height:2px;border-radius:2px;background:transparent}
.live__t.is-on i{background:linear-gradient(90deg,var(--gold-d) 0 100%) no-repeat 0 0/0% 100%;animation:live-fill 6.5s linear forwards}
.live.is-paused .live__t.is-on i,.live.is-off .live__t.is-on i{animation-play-state:paused}
@keyframes live-fill{to{background-size:100% 100%}}
.live__pp{width:40px;height:40px;flex:none;background:rgba(0,0,0,.06);color:var(--ink)}
@media (prefers-reduced-motion:reduce){.live__s.is-on{animation:none}.live__t.is-on i{animation:none;background-size:100% 100%}}

/* one bar everywhere: Executive Edition in gold on every page (website palette, 11 Sep) */
.gn .gn__link[href="/executive/"]{color:#D4AF67;opacity:1}

/* ─── 25 Sep pm: Spectral for hero text, "now open" line, centred ledes ───
   Benjie: use the dashboard's Spectral (its lede and masthead face) as the hero text. Spectral SemiBold 600 is its heaviest weight. */
@font-face{font-family:"Spectral";src:url("/fonts/Spectral-SemiBold.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Spectral";src:url("/fonts/Spectral-Regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
.t-hero,.t-tile,.t-prod,.pband .t-super,.exh-hero h1,.exh-hero .t-hero{font-family:"Spectral",Georgia,serif!important;font-weight:600!important;letter-spacing:-.012em!important}
.t-now{margin:0 0 6px;font:600 14px/1.3 var(--text);color:var(--gold)}
.dark .t-now,.hero .t-now{color:var(--gold-d)}
.x .narrow{margin-left:auto!important;margin-right:auto!important}
/* live phone (landing page on phones): crossfades, no pan, since each phone shot is exactly one screen */
.live--phone{width:100%}
.live--phone .phone{width:min(290px,74vw);margin:0 auto}
.live--phone .live__view{position:relative;aspect-ratio:1170/2532;overflow:hidden;border-radius:0 0 12.4cqw 12.4cqw}
.live--phone .live__s{border-radius:0}
.live--phone .live__s.is-on{animation:none}
.live--phone .live__bar{margin-top:18px;padding:0 12px;flex-wrap:wrap}
.live--phone .live__tabs{gap:2px;padding:4px}
.live--phone .live__t{padding:7px 10px;font-size:13px}
.tile__pic .only-m .live--phone .phone{transform:none}
/* any link or ghost button on a dark ground reads in chip gold, never the deep teal */
.dark a.more,.dark2 a.more,.hero a.more,.pband a.more,.story a.more{color:var(--gold-d)}
.dark .btn--ghost,.dark2 .btn--ghost,.tile.dark .btn--ghost{color:var(--gold-d)!important;border-color:var(--gold-d)}
/* big headlines: no hand-placed line breaks; the browser balances the lines at every width
   (Benjie, 25 Sep: "Line margin issue" on "CoreBridge Advisory built it / for its own client work.") */
.t-super br,.t-sec br,.t-hero br,.t-story br{display:none}
.t-super,.t-sec,.t-hero,.t-story,.t-tile,.ab-sec h2,.ex-fig__t{text-wrap:balance}
.t-red,.t-card,.t-tile-sub{text-wrap:pretty}

/* Market Intelligence: a fanned stack of four real slides (25 Sep) */
.tile__pic--deck{flex-direction:column;align-items:center;padding-bottom:56px}
.deck{position:relative;width:min(760px,86%);aspect-ratio:16/9;margin:24px auto 0}
.deck__s{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:10px;background:#FBF9F4;box-shadow:0 1px 2px rgba(29,27,26,.08),0 24px 50px -18px rgba(29,27,26,.35);transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.deck__s--0{transform:translate(9%,-12%) rotate(5deg) scale(.86)}
.deck__s--1{transform:translate(5%,-7%) rotate(2.6deg) scale(.9)}
.deck__s--2{transform:translate(1.5%,-2.5%) rotate(.8deg) scale(.95)}
.deck__s--3{transform:none}
.tile__pic--deck:hover .deck__s--0{transform:translate(20%,-16%) rotate(8deg) scale(.86)}
.tile__pic--deck:hover .deck__s--1{transform:translate(12%,-10%) rotate(4.5deg) scale(.9)}
.tile__pic--deck:hover .deck__s--2{transform:translate(5%,-4%) rotate(1.8deg) scale(.95)}
.deck__cap{margin:30px 0 0;font:400 14px/1.4 var(--text);color:var(--grey)}
@media (prefers-reduced-motion:reduce){.deck__s{transition:none}}
/* biographies line sits apart from the bench above it (Benjie, 25 Sep) */
.x-people .ab-more{margin-top:48px!important;padding-top:24px;border-top:1px solid var(--line)}
/* the deck fans wider so the slides behind the cover read as a stack */
.deck__s--0{transform:translate(16%,-16%) rotate(7deg) scale(.84)}
.deck__s--1{transform:translate(10%,-10%) rotate(4deg) scale(.88)}
.deck__s--2{transform:translate(4%,-4%) rotate(1.5deg) scale(.94)}
/* deck: chart slides only, seen but not readable; clear of the buttons (Benjie, 25 Sep) */
.deck{margin-top:90px}
.deck__s{filter:blur(1.1px) saturate(.95)}
.deck__cap{display:none}
/* no faded or gradient headline text anywhere: solid off-white on dark, off-black on light */
.t-grad{background:none!important;-webkit-background-clip:border-box!important;background-clip:border-box!important;color:#F2F0EF!important}

/* split photo band: copy beside an editorial photo, so text never sits over the screen in the photo (25 Sep) */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;background:#1D1B1A;color:#F2F0EF;overflow:hidden}
.split__copy{padding:96px 48px 96px max(22px,calc((100vw - 1100px)/2))}
.split__copy .t-super{margin-top:10px;font-size:clamp(36px,3.6vw,64px)}
.split__copy .t-red{margin-top:24px;max-width:520px}
.split__pic{margin:0;height:100%;min-height:560px}
.split__pic img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 40%}
@media (max-width:833px){.split{grid-template-columns:1fr}.split__copy{order:2;padding:44px 22px 64px}.split__pic{order:1;min-height:0;aspect-ratio:4/5}}
.split .t-super{font-family:"Spectral",Georgia,serif!important;font-weight:600!important;letter-spacing:-.012em!important}

/* Market Intelligence highlight: mid-deck slides fanned on an angle; tap or press to flip (25 Sep) */
.hl__media .fd{position:relative;width:min(640px,88%);aspect-ratio:16/9;margin:0 auto 64px;perspective:1600px;cursor:pointer;outline:none}
.fd__s{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:8px;background:#FBF9F4;filter:blur(1px);
  box-shadow:0 1px 2px rgba(0,0,0,.2),0 30px 60px -20px rgba(0,0,0,.6);transform-origin:50% 100%;
  transform:rotateX(18deg) rotateZ(calc(-6deg + var(--k,0) * 3deg)) translate(calc(var(--k,0) * 5%),calc(var(--k,0) * -5%)) scale(calc(1 - var(--k,0) * .04));
  transition:transform .65s cubic-bezier(.2,.8,.2,1),opacity .65s}
.fd__s.is-out{transform:rotateX(18deg) rotateZ(-14deg) translate(-40%,12%) scale(.9);opacity:0}
.fd:focus-visible .fd__s:first-child{outline:3px solid #D4AF67;outline-offset:4px}
.fd__btn{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);border:0;border-radius:980px;padding:8px 16px;background:rgba(242,240,239,.14);color:#F2F0EF;font:400 14px/1.2 var(--text);cursor:pointer}
.fd__btn:hover{background:rgba(242,240,239,.24)}
.hl__card .hl__media:has(.fd){align-items:center}
@media (prefers-reduced-motion:reduce){.fd__s{transition:none}}
.fd__s{filter:blur(1.7px)}

/* wider bench: full biographies open beneath the card, full width (25 Sep) */
.x-people .ab-bench li{position:relative}
.x-people .ab-bench .ab-person__disclose{margin-top:8px;font-size:15px}
.x-people .ab-bench li:has(.ab-bio:not([hidden])){grid-column:1/-1;display:grid;grid-template-columns:minmax(160px,240px) 1fr;gap:8px 32px;align-items:start}
.x-people .ab-bench li:has(.ab-bio:not([hidden])) .ab-ph{grid-row:1/6}
.x-people .ab-bench .ab-bio p{margin:0 0 14px;font:400 17px/1.5 var(--text);color:#424245;max-width:720px}
@media (max-width:734px){.x-people .ab-bench li:has(.ab-bio:not([hidden])){grid-template-columns:1fr}.x-people .ab-bench li:has(.ab-bio:not([hidden])) .ab-ph{grid-row:auto;max-width:240px}}

/* About: CoreBridge Advisory practices and recent partners (25 Sep) */
.cba .t-sec{max-width:900px;margin-top:8px}
.cba__practices{list-style:none;margin:48px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.cba__practices li{background:#FBF9F4;border-radius:22px;padding:28px}
.cba__n{display:block;font:600 14px/1 var(--text);color:var(--gold)}
.cba__practices h3{margin:12px 0 10px;font:600 21px/1.2 var(--display);color:var(--ink)}
.cba__practices p{margin:0;font:400 16px/1.5 var(--text);color:#424245}
.cba__ph{margin:72px 0 0;font:600 14px/1.3 var(--text);letter-spacing:.02em;text-transform:uppercase;color:var(--gold)}
.cba__logos{list-style:none;margin:24px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}
.cba__logos li{display:flex;align-items:center;justify-content:center;height:96px;padding:14px 18px;background:#FBF9F4;border-radius:16px}
.cba__logos img{max-width:100%;max-height:60px;object-fit:contain;filter:grayscale(1) contrast(1.05);opacity:.85;transition:filter .3s,opacity .3s}
.cba__logos li:hover img{filter:none;opacity:1}
.cba__go{margin-top:28px}
@media (max-width:833px){.cba__practices{grid-template-columns:1fr}}
.x .cba__ph{margin:72px 0 0!important}
.x .cba__go{margin-top:32px!important}
.cba__logos img[src*="anu-nsc"]{max-height:none;transform:scale(1.35)}
.cba__logos li{overflow:hidden}
.cba__logos img{mix-blend-mode:multiply}
.cba__logos img[src*="anu-nsc"]{transform:none;max-height:60px}
/* sharper slide stacks (Benjie, 25 Sep): higher-resolution UQ slides, lighter blur */
.deck__s{filter:blur(.55px)}
.fd__s{filter:blur(.6px)}

/* ─── top bar, 25 Sep 2026 (Benjie) ───
   The page you are on sits in a soft cell; Sign in (Open the Edition once signed in) is a teal pill.
   The negative margin keeps the bar's spacing exactly as before. The local bar (.ln) is retired. */
@media (min-width:834px){
  .x .gn .gn__link[aria-current="page"]{opacity:1;background:rgba(242,240,239,.14);border-radius:8px;padding:0 10px;margin:0 -10px;line-height:28px}
  .x .gn .gn__sign{opacity:1;color:#fff;background:var(--teal-l);border-radius:999px;padding:0 14px;margin-right:-14px;line-height:28px;font-weight:500}
  .x .gn .gn__sign:hover{background:#3A7A80}
}
.x .gn__sheet a[aria-current="page"]{color:#fff;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:2px}

/* ─── Open vs Executive comparison table (25 Sep 2026) ───
   One row per feature, read across: a mark and a short figure. The Executive column carries a
   soft band so the difference reads at a glance; ten headline rows, the rest behind a disclosure. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.cx-wrap{max-width:860px;margin:64px auto 0;padding:0 22px}
.cx{width:100%;border-collapse:collapse;table-layout:fixed;font-size:15px;line-height:1.35;text-align:left}
.cx col,.cx th:first-child{width:38%}
.cx thead th{font-family:var(--display);font-size:15px;font-weight:600;padding:0 14px 14px;vertical-align:bottom;color:var(--ink)}
.cx thead th:first-child{padding-left:0}
.cx tbody th{font-weight:500;color:var(--ink);padding:14px 14px 14px 0;vertical-align:top}
.cx td{padding:14px;vertical-align:top;color:var(--ink-2)}
.cx tbody tr{border-top:1px solid var(--line)}
.cx .cx__e,.cx thead th:last-child{background:rgba(17,50,53,.05)}
.cx thead th:last-child{border-radius:12px 12px 0 0}
.cx .cx__e{color:var(--ink)}
.cx__m{display:inline-flex;vertical-align:-6px;margin-right:8px}
.cx__m svg{width:20px;height:20px}
.cx__m--y{color:var(--teal)}
.cx__m--n{color:var(--grey-2)}
.cx td:has(.cx__m--n) .cx__t{color:#5E5E63}
.cx__t{display:inline}
.cx .cx__g th{padding:28px 0 10px;font-family:var(--display);font-size:13px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--ink-2);background:none}
.cx .cx__g{border-top:0}
.cx-more{margin-top:28px;border-top:1px solid var(--line)}
.cx-more>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px;min-height:44px;margin-top:12px;color:var(--link);font-size:17px}
.cx-more>summary::-webkit-details-marker{display:none}
.cx-more>summary::after{content:"";width:8px;height:8px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(45deg) translate(-2px,-2px);transition:transform .2s}
.cx-more[open]>summary::after{transform:rotate(225deg) translate(-2px,-2px)}
.cx--full{margin-top:8px}
.cx-note{margin-top:20px;font-size:12px;line-height:1.5;color:#5E5E63}
.dark .cx thead th,.dark .cx tbody th{color:var(--light-ink)}
@media (max-width:734px){
  .cx-wrap{margin-top:48px;padding:0 16px}
  .cx{font-size:13px}
  .cx th:first-child{width:34%}
  .cx thead th{font-size:13px;padding:0 8px 10px}
  .cx tbody th{padding:12px 8px 12px 0}
  .cx td{padding:12px 8px}
  .cx__m{display:flex;margin:0 0 4px}
  .cx__m svg{width:18px;height:18px}
}

/* ─── Website brief, 25 Sep 2026 (CoreBridge_Intelligence_Claude_Website_Brief.md) ───
   Nav: Free dashboards menu (a <details>, so it opens by click, tap or keyboard, never hover only);
   Book a demonstration is the one pill; Sign in drops to a plain link. New sections use the bx- prefix. */
.gn__dd{position:relative;display:block}
.gn__dd>summary{list-style:none;cursor:pointer;color:#e8e8ed;font-size:12px;line-height:44px;letter-spacing:-.01em;opacity:.8;display:flex;align-items:center;gap:5px}
.gn__dd>summary::-webkit-details-marker{display:none}
.gn__dd>summary::after{content:"";width:5px;height:5px;border-right:1.3px solid currentColor;border-bottom:1.3px solid currentColor;transform:translateY(-2px) rotate(45deg)}
.gn__dd[open]>summary,.gn__dd>summary:hover{opacity:1}
.gn__dd>summary:focus-visible{outline:2px solid #D4AF67;outline-offset:2px;border-radius:4px}
.gn__ddm{position:absolute;top:40px;left:-16px;min-width:200px;padding:8px;background:#1D1B1A;border:1px solid rgba(242,240,239,.16);border-radius:12px;box-shadow:0 12px 32px rgba(0,0,0,.35);display:flex;flex-direction:column}
.x .gn .gn__ddm a{line-height:1.3;padding:10px 12px;border-radius:8px;font-size:14px;opacity:1}
.x .gn .gn__ddm a:hover,.x .gn .gn__ddm a:focus-visible{background:rgba(242,240,239,.1)}
.x .gn .gn__sign--q{background:none!important;color:#e8e8ed;padding:0;margin:0;font-weight:400;opacity:.8}
.x .gn .gn__sign--q:hover{opacity:1}
.x .gn .gn__demo{opacity:1;color:#fff;background:var(--teal-l);border-radius:999px;padding:0 14px;margin-right:-14px;line-height:28px;font-weight:500}
.x .gn .gn__demo:hover{background:#3A7A80}
.gn__sh{margin:18px 0 2px;font:600 12px/1.3 var(--text);letter-spacing:.06em;text-transform:uppercase;color:#D4AF67}
.x .gn__sheet a.gn__sub{font-size:21px;padding-left:14px}
.x .gn__sheet a.gn__sdemo{margin-top:18px;align-self:flex-start;font-size:17px;line-height:44px;padding:0 22px;border-radius:999px;background:var(--teal-l);color:#fff}
@media (max-width:1023px){
  .gn__link,.gn__dd{display:none!important}.gn__menu{display:block}
  .gn__sheet{position:fixed;inset:44px 0 0;background:#1D1B1A;padding:24px 32px 40px;display:none;flex-direction:column;gap:4px;z-index:9989;overflow-y:auto}
  .gn.is-open .gn__sheet{display:flex}
  .x .gn__sheet a{font-family:var(--display);font-size:24px;line-height:1.5;font-weight:600;color:#e8e8ed;opacity:1}
}
@media (max-width:734px){.gn__sheet{padding:20px 16px 40px}}

/* hero: category line, two-line headline, audience line, caption under the product view */
.bx-open .t-now{color:var(--gold);letter-spacing:.01em}
.x .bx-h1{max-width:900px;font-size:56px;line-height:1.08;text-wrap:balance}
.bx-sub{max-width:760px;margin-top:14px;font-size:24px;line-height:1.3;color:#3A3634;text-wrap:balance}
.bx-for{max-width:640px;margin-top:12px;font-size:17px;line-height:1.45;color:#4A4543}
.bx-cap{max-width:720px;margin:18px auto 40px;padding:0 16px;font-size:13px;line-height:1.5;color:#4A4543}
.bx-hero-cta{margin-top:22px}
@media (max-width:734px){.x .bx-h1{font-size:34px}.bx-sub{font-size:19px}.bx-for{font-size:15px}}

/* shared type */
.bx-lede{max-width:760px;margin-top:16px}
.bx-fine{max-width:760px;margin-top:20px;font-size:13px;line-height:1.5;color:#4A4543}
.dark .bx-fine{color:#CFC9C4}
.narrow-l{max-width:820px}

/* the work: four numbered blocks */
.bx-work{list-style:none;margin:48px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.bx-w{background:#FBF9F4;border:1px solid rgba(29,27,26,.1);border-radius:20px;padding:28px 24px;display:flex;flex-direction:column;gap:10px}
.bx-w__n{font:600 13px/1 var(--text);color:var(--gold);letter-spacing:.06em}
.bx-w h3{font-family:var(--display);font-size:21px;line-height:1.2;font-weight:600}
.bx-w p{font-size:15px;line-height:1.47;color:#3A3634;flex:1}
.bx-w .more,.bx-a .more{font-size:15px;color:var(--link)}
@media (max-width:1023px){.bx-work{grid-template-columns:repeat(2,1fr)}}
@media (max-width:734px){.bx-work{grid-template-columns:1fr;gap:12px;margin-top:32px}}

/* audiences: three routes */
.bx-aud{list-style:none;margin:48px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.bx-a{background:#FBF9F4;border-radius:20px;padding:32px 28px;display:flex;flex-direction:column;gap:12px;border-top:0}
.bx-a h3{font-family:"Spectral",Georgia,serif;font-size:26px;line-height:1.15;font-weight:600}
.bx-a p{font-size:16px;line-height:1.47;color:#3A3634;flex:1}
@media (max-width:900px){.bx-aud{grid-template-columns:1fr;gap:12px;margin-top:32px}}

/* worked example: five steps beside two real screens */
.bx-ex{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:40px;margin-top:44px;align-items:start}
.bx-ex__steps{list-style:none;margin:0;padding:0;counter-reset:ex}
.bx-ex__steps li{counter-increment:ex;position:relative;padding:0 0 22px 48px}
.bx-ex__steps li::before{content:counter(ex);position:absolute;left:0;top:0;width:30px;height:30px;border-radius:50%;background:var(--teal);color:#F2F0EF;font:600 14px/30px var(--text);text-align:center}
.bx-ex__steps li::after{content:"";position:absolute;left:14.5px;top:34px;bottom:4px;width:1px;background:rgba(29,27,26,.18)}
.bx-ex__steps li:last-child::after{display:none}
.bx-ex__steps b{display:block;font-family:var(--display);font-size:19px;line-height:1.3;font-weight:600}
.bx-ex__steps span{display:block;margin-top:4px;font-size:15px;line-height:1.5;color:#3A3634}
.bx-ex__pics{display:flex;flex-direction:column;gap:24px}
.bx-ex__fig{margin:0}
.bx-ex__fig img{display:block;width:100%;height:auto;border-radius:14px;border:1px solid rgba(29,27,26,.14);background:#fff;box-shadow:0 10px 30px rgba(29,27,26,.08)}
.bx-ex__fig figcaption{margin-top:10px;font-size:13px;line-height:1.45;color:#4A4543}
.bx-ex__go{margin-top:24px}
@media (max-width:900px){.bx-ex{grid-template-columns:1fr;gap:28px;margin-top:32px}}

/* published evidence: three proof points under the photo band */
.bx-proof{padding:56px 0 64px}
.bx-proof__l{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.bx-proof__l li{font-family:var(--display);font-size:19px;line-height:1.3;font-weight:600;color:#F2F0EF;padding-top:16px;border-top:1px solid rgba(242,240,239,.24)}
.bx-proof .more{display:inline-block;margin-top:18px}
@media (max-width:734px){.bx-proof__l{grid-template-columns:1fr;gap:14px}}

/* editions */
.bx-eds{padding-bottom:40px}
.bx-eds__g{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:36px}
.bx-eds__g>div{background:#FBF9F4;border-radius:20px;padding:28px}
.bx-eds__g h3{font-family:var(--display);font-size:21px;font-weight:600}
.bx-eds__g p{margin-top:8px;font-size:16px;line-height:1.47;color:#3A3634}
.bx-eds__g .more{display:inline-block;margin-top:12px;color:var(--link)}
@media (max-width:734px){.bx-eds__g{grid-template-columns:1fr;gap:12px}}
.bx-built .t-red{margin-top:18px}.bx-built .more{display:inline-block;margin-top:18px;color:var(--link)}

/* /executive/: three workflows */
.bx-wf{max-width:1100px;margin:48px auto 0;padding:0 22px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.bx-wf__c{background:#2B2927;border-radius:24px;padding:32px 28px 0;overflow:hidden;display:flex;flex-direction:column;scroll-margin-top:60px}
.bx-wf__k{font:600 13px/1.3 var(--text);letter-spacing:.06em;text-transform:uppercase;color:#D4AF67}
.bx-wf__c h3{margin-top:10px;font-family:"Spectral",Georgia,serif;font-size:26px;line-height:1.15;font-weight:600;color:#F2F0EF}
.bx-wf__c p:not(.bx-wf__k){margin-top:10px;font-size:15px;line-height:1.5;color:#CFC9C4}
.bx-wf__pic{margin-top:auto;padding-top:24px;display:flex;justify-content:center;max-height:340px;overflow:hidden}
.bx-wf__pic .phone{width:210px}
@media (max-width:900px){.bx-wf{grid-template-columns:1fr;gap:12px;padding:0 16px}}

/* /executive/: audiences */
.bx-who{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:40px}
.bx-who__s{background:#FBF9F4;border-radius:20px;padding:32px 28px;scroll-margin-top:60px}
.bx-who__s .bx-wf__k{color:var(--gold)}
.bx-who__s h3{margin-top:8px;font-family:"Spectral",Georgia,serif;font-size:26px;line-height:1.15;font-weight:600}
.bx-who__s>p:not(.bx-wf__k):not(.bx-cov){margin-top:12px;font-size:16px;line-height:1.5;color:#3A3634}
.bx-who__s ul{margin:14px 0 0;padding-left:18px;font-size:15px;line-height:1.5;color:#3A3634}
.bx-who__s li+li{margin-top:8px}
.bx-cov{margin-top:16px;padding-top:12px;border-top:1px solid rgba(29,27,26,.12);font-size:13px;line-height:1.5;color:#4A4543}
@media (max-width:900px){.bx-who{grid-template-columns:1fr;gap:12px}}
#example,#sources,#editions,#licence,#faq,#who,#work,#audiences{scroll-margin-top:44px}

/* licence and FAQ */
.bx-lic{list-style:none;margin:32px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.bx-lic li{background:#FBF9F4;border-radius:20px;padding:24px;font-size:15px;line-height:1.5;color:#3A3634}
.bx-lic b{display:block;margin-bottom:6px;font-family:var(--display);font-size:19px;color:var(--ink)}
@media (max-width:900px){.bx-lic{grid-template-columns:1fr;gap:12px}}
.bx-faq{margin-top:32px;border-top:1px solid rgba(29,27,26,.14)}
.bx-q{border-bottom:1px solid rgba(29,27,26,.14)}
.bx-q>summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:56px;padding:12px 0;font-family:var(--display);font-size:19px;line-height:1.3;font-weight:600}
.bx-q>summary::-webkit-details-marker{display:none}
.bx-q>summary::after{content:"";flex:none;width:8px;height:8px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(45deg);transition:transform .2s}
.bx-q[open]>summary::after{transform:rotate(225deg)}
.bx-q>summary:focus-visible{outline:2px solid var(--teal);outline-offset:4px;border-radius:4px}
.bx-q p{padding:0 0 20px;max-width:720px;font-size:16px;line-height:1.55;color:#3A3634}
.cx .cx__t{font-size:inherit}
@media (prefers-reduced-motion:reduce){.bx-q>summary::after{transition:none}}
/* .x p{margin:0} outranks a bare class: the brief blocks' paragraph spacing, restated at .x strength */
.x .bx-sub{margin-top:14px}.x .bx-for{margin-top:12px}.x .bx-cap{margin:18px auto 40px}.x .bx-lede{margin-top:16px}
.x .bx-fine{margin-top:24px}.x .bx-proof .bx-fine{margin-top:32px}.x .bx-ex__go{margin-top:24px}
.x .bx-eds__g p{margin-top:8px}.x .bx-wf__c p:not(.bx-wf__k){margin-top:10px}.x .bx-who__s>p:not(.bx-wf__k):not(.bx-cov){margin-top:12px}
.x .bx-cov{margin-top:16px}.x .bx-built .t-red{margin-top:18px}.x .bx-built .bx-fine{margin-top:16px}
.bx-built .wrap.narrow-l{max-width:var(--w)}.bx-built .t-red,.bx-built .bx-fine{max-width:760px}
.x .bx-h1 span{display:block}
.bx-built .center .t-red{margin-left:auto;margin-right:auto}
/* 25 Sep, Benjie: "fix the grid lines of the cards". Equal columns (minmax(0,1fr), not 1fr, so a long word can't widen one),
   one surface with no border, one title style, and subgrid rows so number, title, text and link line up across a row. */
.bx-work{grid-template-columns:repeat(4,minmax(0,1fr));column-gap:20px;row-gap:20px;grid-auto-rows:auto}
.bx-aud{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:20px;row-gap:20px}
.bx-w,.bx-a{border:0;border-radius:18px;background:#FBF9F4;padding:32px 28px;display:grid;grid-template-rows:subgrid;row-gap:12px;align-content:start}
.bx-w{grid-row:span 4}.bx-a{grid-row:span 3}
.bx-w h3,.bx-a h3{font-family:var(--display);font-size:22px;line-height:1.18;font-weight:600;letter-spacing:-.01em;color:var(--ink)}
.bx-w p,.bx-a p{font-size:16px;line-height:1.47;color:#3A3634}
.bx-w .more,.bx-a .more{align-self:end;margin-top:8px}
.bx-w__n{align-self:end}
@media (max-width:1023px){.bx-work{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){.bx-aud{grid-template-columns:minmax(0,1fr)}}
@media (max-width:734px){.bx-work{grid-template-columns:minmax(0,1fr)}.bx-w,.bx-a{padding:28px 24px}}

/* ─── Apple-principles audit, 25 Sep 2026 ───
   1. Tablet (735-1023px): the brief's card groups keep columns, so no line runs past about 75 characters. */
@media (min-width:735px) and (max-width:900px){
  .bx-wf{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:0 22px}
  .bx-wf__c{padding:24px 20px 0}.bx-wf__pic .phone{width:170px}
  .bx-who{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .bx-lic{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
  .bx-aud{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:14px}
}
/* 2. One card-title style on every page: SF Pro Display 22, as on the home cards (Spectral stays on heroes and bands). */
.bx-wf__c h3,.bx-who__s h3{font-family:var(--display);font-size:22px;line-height:1.18;font-weight:600;letter-spacing:-.01em}
/* 3. One left edge: the FAQ starts on the same margin as every other section; only its text column is narrower. */
.narrow-l{max-width:var(--w)}.bx-faq{max-width:820px}
/* 4. Touch targets: 44pt on touch screens (HIG), without changing the look on a desktop pointer. */
@media (pointer:coarse){
  .live__t{min-height:44px}
  .ab-person__disclose{min-height:44px;display:inline-flex;align-items:center}
  .fd__btn{min-height:44px}
  .ft__dir a{padding:6px 0;margin:0}
  .x .bx-w .more,.x .bx-a .more,.x .bx-eds__g .more,.x .bx-built .more{min-height:44px;display:inline-flex;align-items:center}
}
/* 5. Partner logos at one optical size: wide wordmarks larger, square marks smaller. */
.cba__logos img{max-height:46px;max-width:82%}
.cba__logos img[src*="melbourne"]{max-width:88%;max-height:none;width:88%}
.cba__logos img[src*="newcastle"]{max-width:78%;max-height:none;width:78%}
.cba__logos img[src*="anu-nsc"]{max-width:100%;max-height:none;width:100%}
.cba__logos img[src*="acu"]{max-height:40px}
.cba__logos img[src*="ecu"]{max-height:44px}
.cba__logos img[src*="deakin.png"]{max-height:54px}
.cba__logos img[src*="deakin-institutes"]{max-height:50px}
.cba__logos img[src*="orygen"]{max-height:46px}

/* ─── 25 Sep 2026, Benjie's four requests ───
   1. /executive/#who: the three audience routes, each with its picture (a laptop, a photograph, a phone), as apple.com
      "ways to buy" cards: picture on top in one frame height, then the title, the line and the link. */
.bx-rt{list-style:none;margin:40px auto 0;padding:0 22px;max-width:1100px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.bx-rt__c{background:#FBF9F4;border-radius:24px;overflow:hidden;display:grid;grid-template-rows:auto 1fr}
.bx-rt__pic{height:260px;display:flex;align-items:flex-end;justify-content:center;overflow:hidden;background:#ECE8E2}
.bx-rt__pic--mac{padding:28px 20px 0}.bx-rt__pic--mac .mac{width:100%;max-width:340px}
.bx-rt__pic--photo img{width:100%;height:100%;object-fit:cover;object-position:78% 40%;display:block}
.bx-rt__pic--phone{padding-top:26px;background:#1D1B1A}.bx-rt__pic--phone .phone{width:170px;margin-bottom:-120px}
.bx-rt__txt{padding:26px 26px 28px;display:grid;grid-template-rows:auto 1fr auto;gap:10px}
.bx-rt__txt h3{font-family:var(--display);font-size:22px;line-height:1.18;font-weight:600;letter-spacing:-.01em;color:var(--ink)}
.x .bx-rt__txt p{font-size:16px;line-height:1.47;color:#3A3634}
.bx-rt__txt .more{color:var(--link);font-size:15px;align-self:end}
@media (pointer:coarse){.bx-rt__txt .more{min-height:44px;display:inline-flex;align-items:center}}
@media (max-width:900px){.bx-rt{grid-template-columns:minmax(0,1fr);gap:14px;padding:0 16px}.bx-rt__pic{height:220px}}
/* 2. home, the four numbered work cards on a phone: not a stack of four boxes but one row that swipes, as apple.com
      does its feature cards: the next card peeks at the edge, the row snaps card by card, no page-wide scroll. */
@media (max-width:734px){
  #work .wrap{padding-right:0}
  .bx-work{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:16px;padding:0 16px 8px 0;margin-right:0;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .bx-work::-webkit-scrollbar{display:none}
  .bx-w{flex:0 0 78%;scroll-snap-align:start;grid-row:auto;display:flex;flex-direction:column;min-height:240px;padding:26px 22px}
  .bx-w p{flex:1}
  .bx-work::after{content:"";flex:0 0 4px}
}
/* one left edge: the audience cards sit on the same margin as the heading and the detail cards below */
.bx-rt{max-width:var(--w);padding:0 22px;box-sizing:border-box}
@media (max-width:900px){.bx-rt{padding:0 16px}}
@media (max-width:734px){.bx-w .bx-w__n,.bx-w .more{align-self:flex-start}}

/* ══ 25 Sep 2026: About redesign (bxa-), appended by the HIG session after Benjie's four requests ══ */
/* ══ ABOUT, redesigned (draft, 25 Sep 2026). Apple's About and Leadership pattern on the x.css system:
   one idea per screen, very large type, generous air, the product shown on a real device, people as
   portraits with the story a tap away. Builds on x.css tokens (--display, --ink, --grey, --blue, --gold-d). ══ */
.bxa-wrap{max-width:980px;margin:0 auto;padding:0 22px}
.bxa-eye{margin:0 0 10px;font:600 21px/1.2 var(--display);letter-spacing:.011em;color:var(--gold)}
.bxa-h2{margin:0;font:600 clamp(40px,6vw,64px)/1.06 var(--display);letter-spacing:-.015em;color:var(--ink);text-align:center;text-wrap:balance}
.bxa-h3{margin:0;font:600 clamp(24px,3vw,32px)/1.12 var(--display);letter-spacing:-.005em;color:var(--ink);text-align:center}
.bxa-lede{margin:18px auto 0;max-width:34ch;font:400 clamp(19px,2.2vw,24px)/1.35 var(--display);letter-spacing:.005em;color:var(--grey);text-align:center;text-wrap:balance}
.bxa-fine{margin:22px auto 0;max-width:60ch;font-size:14px;line-height:1.45;color:var(--grey-2);text-align:center}
.bxa-link{display:inline-flex;align-items:center;gap:4px;min-height:44px;color:var(--link);font:400 19px/1.2 var(--text);text-decoration:none}
.bxa-link:hover{text-decoration:underline}
.bxa-pill{display:inline-flex;align-items:center;min-height:48px;padding:0 26px;border-radius:980px;background:var(--blue);color:#fff;font:400 19px/1 var(--text);text-decoration:none;transition:background .2s}
.bxa-pill:hover{background:var(--blue-h)}
.bxa-pill:active,.bxa-link:active{opacity:.7}

/* hero: the photograph carries the page; the words sit low and centred over it */
.bxa-hero{position:relative;min-height:min(820px,calc(100svh - 48px));display:flex;align-items:flex-end;justify-content:center;overflow:hidden;background:#1D1B1A;color:#fff;text-align:center}
.bxa-hero picture,.bxa-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bxa-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(20,18,17,.86) 0%,rgba(20,18,17,.35) 45%,rgba(20,18,17,0) 70%)}
.bxa-hero__copy{position:relative;z-index:1;padding:0 22px 72px;max-width:980px}
.bxa-hero .bxa-eye{color:var(--gold-d)}
.bxa-hero h1{margin:0;font:600 clamp(44px,7.4vw,88px)/1.04 var(--display);letter-spacing:-.02em;text-wrap:balance}
.bxa-hero__sub{margin:18px auto 0;max-width:30ch;font:400 clamp(19px,2.3vw,26px)/1.3 var(--display);color:rgba(255,255,255,.82);text-wrap:balance}

/* story: four beats, each its own screen-width statement on black */
.bxa-story{background:#1D1B1A;color:#F2F0EF;padding:clamp(96px,14vw,180px) 0;text-align:center}
.bxa-story .bxa-eye{color:var(--gold-d)}
.bxa-beat{margin:0 auto;max-width:22ch;font:600 clamp(32px,5.2vw,60px)/1.1 var(--display);letter-spacing:-.012em;color:#F2F0EF;text-wrap:balance}
.bxa-beat + .bxa-beat{margin-top:clamp(56px,9vw,120px)}
.bxa-beat:nth-of-type(2),.bxa-beat:nth-of-type(3){color:#86868b}
.bxa-beat--gold{color:var(--gold-d)!important}

/* what it holds: the product on a Mac, then four big numbers */
.bxa-holds{padding:clamp(96px,12vw,160px) 0 clamp(72px,9vw,120px);background:#fff}
.bxa-mac{width:min(900px,88vw);margin:clamp(48px,6vw,72px) auto 0}
.bxa-mac .imac__screen img{display:block;width:100%;height:auto;border-radius:3px}
.bxa-nums{list-style:none;margin:clamp(64px,8vw,96px) 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;text-align:center}
.bxa-nums b{display:block;font:600 clamp(44px,5.6vw,72px)/1 var(--display);letter-spacing:-.02em;color:var(--ink)}
.bxa-nums span{display:block;margin:12px auto 0;max-width:18ch;font-size:17px;line-height:1.4;color:var(--grey)}

/* three rules: icon, short title, one line */
.bxa-prin{padding:clamp(96px,12vw,150px) 0;background:var(--paper)}
.bxa-prin__g{list-style:none;margin:clamp(48px,6vw,72px) 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;text-align:center}
.bxa-prin__g svg{width:48px;height:48px;color:var(--blue-h)}
.bxa-prin__g h3{margin:18px 0 0;font:600 24px/1.17 var(--display);letter-spacing:.009em;color:var(--ink)}
.bxa-prin__g p{margin:10px auto 0;max-width:26ch;font-size:17px;line-height:1.47;color:var(--grey)}

/* people: Apple Leadership style, round portraits, the bio a tap away */
.bxa-people{padding:clamp(96px,12vw,160px) 0;background:#fff}
.bxa-leads,.bxa-bench{list-style:none;margin:0;padding:0;display:grid;justify-content:center}
.bxa-leads{margin-top:clamp(48px,6vw,72px);grid-template-columns:repeat(3,minmax(0,260px));gap:48px 40px}
.bxa-bench{margin-top:40px;grid-template-columns:repeat(4,minmax(0,200px));gap:40px 28px}
.bxa-people .bxa-h3{margin-top:clamp(80px,10vw,120px)}
.bxa-p__btn{display:flex;flex-direction:column;align-items:center;width:100%;padding:8px;border:0;border-radius:18px;background:none;font:inherit;color:inherit;text-align:center;cursor:pointer}
.bxa-p__btn:focus-visible{outline:2px solid var(--blue-h);outline-offset:4px}
.bxa-p__ph{display:block;width:176px;height:176px;border-radius:50%;overflow:hidden;background:#e8e8ed;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.bxa-bench .bxa-p__ph{width:132px;height:132px}
.bxa-p__ph img{width:100%;height:100%;object-fit:cover;object-position:50% 22%;filter:grayscale(1)}
.bxa-p__btn:hover .bxa-p__ph{transform:scale(1.04)}
.bxa-p__btn:active .bxa-p__ph{transform:scale(.97)}
.bxa-p__name{margin-top:18px;font:600 21px/1.2 var(--display);color:var(--ink)}
.bxa-bench .bxa-p__name{font-size:17px}
.bxa-p__role{margin-top:6px;font-size:14px;line-height:1.4;color:var(--grey)}
.bxa-p__more{margin-top:10px;font-size:14px;color:var(--link)}
.bxa-bio{width:min(680px,calc(100vw - 32px));max-height:min(86vh,820px);padding:0;border:0;border-radius:22px;background:#fff;color:var(--ink);box-shadow:0 30px 80px rgba(0,0,0,.35)}
.bxa-bio::backdrop{background:rgba(20,18,17,.55);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.bxa-bio__head{position:sticky;top:0;display:grid;grid-template-columns:72px minmax(0,1fr) 44px;gap:16px;align-items:center;padding:22px 22px 16px;background:#fff;border-bottom:1px solid var(--line)}
.bxa-bio__head img{width:72px;height:72px;border-radius:50%;object-fit:cover;object-position:50% 22%;filter:grayscale(1)}
.bxa-bio__head h3{margin:0;font:600 24px/1.15 var(--display)}
.bxa-bio__head p{margin:4px 0 0;font-size:14px;color:var(--grey)}
.bxa-bio__x{width:44px;height:44px;border:0;border-radius:50%;background:#e8e8ed;color:var(--ink);cursor:pointer}
.bxa-bio__x svg{width:16px;height:16px}
.bxa-bio__body{padding:18px 28px 28px;font-size:17px;line-height:1.5;color:var(--ink-2)}
.bxa-bio__body p{margin:0 0 14px}
.bxa-bio__body ul{padding-left:20px}
.bxa-bio__body a{color:var(--link)}

/* the Advisory: three practices on black */
.bxa-cba{padding:clamp(96px,12vw,150px) 0;background:#1D1B1A;color:#F2F0EF;text-align:center}
.bxa-cba .bxa-eye{color:var(--gold-d)}
.bxa-cba .bxa-h2{color:#F2F0EF;font-size:clamp(34px,5vw,56px);max-width:22ch;margin:0 auto}
.bxa-cba__g{list-style:none;margin:clamp(56px,7vw,80px) 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;text-align:left}
.bxa-cba__g h3{margin:0;padding-top:18px;border-top:1px solid rgba(242,240,239,.2);font:600 21px/1.2 var(--display);color:#F2F0EF}
.bxa-cba__g p{margin:12px 0 0;font-size:17px;line-height:1.47;color:#a1a1a6}
.bxa-cba__go{margin:48px 0 0}
.bxa-cba .bxa-link{color:var(--gold-d)}

/* clients: a quiet row of marks */
.bxa-logos{padding:clamp(72px,9vw,110px) 0;background:#fff}
.bxa-logos .bxa-h3{font-size:21px;color:var(--grey)}
.bxa-logos__g{list-style:none;margin:36px 0 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:32px 48px}
.bxa-logos__g img{display:block;max-height:44px;max-width:150px;width:auto;height:auto;filter:grayscale(1);opacity:.75}

/* close */
.bxa-close{padding:clamp(96px,12vw,150px) 0;background:var(--paper);text-align:center}
.bxa-ctas{margin:36px 0 0;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:16px 28px}

/* held against the site's own paragraph and link rules */
.bxa-lede,.bxa-hero__sub,.bxa-fine,.bxa-beat,.bxa-prin__g p,.bxa-nums span{margin-left:auto!important;margin-right:auto!important}
.bxa-pill,.bxa-pill:visited,.bxa-pill:hover{color:#fff!important;text-decoration:none!important}
@media (max-width:833px){
  .bxa-nums{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 20px}
  .bxa-prin__g,.bxa-cba__g{grid-template-columns:1fr;gap:48px}
  .bxa-prin__g p{max-width:32ch}
  .bxa-leads{grid-template-columns:minmax(0,300px);gap:40px}
  .bxa-bench{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 12px}
}
@media (max-width:480px){
  .bxa-wrap{padding:0 16px}
  .bxa-hero__copy{padding:0 16px 56px}
  .bxa-p__ph{width:152px;height:152px}
  .bxa-bench .bxa-p__ph{width:112px;height:112px}
  .bxa-logos__g{gap:24px 32px}
  .bxa-logos__g img{max-height:34px;max-width:120px}
}

/* ══ 25 Sep 2026: Apple web rules, refinement pass (Benjie: "more refinement as per Apple website rules").
   Research: apple.com product pages use one sans family (regular and semibold), short big headlines, a
   sticky local nav with one pill, light product sections against dark context bands, and bento or plain
   columns rather than stacked boxed cards. ══ */

/* one family: every headline in the display sans, never the serif (Apple; canonical: no serif headings) */
.t-hero,.t-tile,.t-prod,.pband .t-super,.split .t-super,.exh-hero h1,.exh-hero .t-hero,.bx-a h3,.bx-wf__c h3,.bx-who__s h3{
  font-family:var(--display)!important;font-weight:600!important;letter-spacing:-.015em!important}

/* home: the four decisions, as Apple's icon feature row, no numbers, no boxes */
.bx-w{background:none!important;border:0!important;border-radius:0!important;padding:0!important;box-shadow:none!important;min-height:0!important}
.bx-w__i{display:block;width:40px;height:40px;color:var(--teal-l,#2F686D)}
.bx-w__i svg{width:40px;height:40px}
.bx-w h3{margin-top:14px;font:600 21px/1.2 var(--display);letter-spacing:.011em}
.bx-w p{margin-top:8px;font-size:17px;line-height:1.47;color:var(--grey)}
.bx-work{gap:40px 32px!important}
@media (max-width:734px){
  .bx-work{display:grid!important;grid-template-columns:1fr 1fr!important;overflow:visible!important;gap:36px 20px!important;padding:0!important}
  .bx-w{flex:none!important}
  .bx-w h3{font-size:19px}
  .bx-w p{font-size:15px}
}
@media (max-width:420px){ .bx-work{grid-template-columns:1fr!important} }

/* home: the editions intro is one line and a link, then the tiles */
.bx-eds .wrap{text-align:center}
.bx-eds__lede{margin:14px auto 0;max-width:36ch}
.bx-eds__go{margin-top:14px}

/* executive: the audience detail and the twelve portfolios as open columns under a hairline, not boxes */
.bx-who__s,.pf{background:none!important;border:0!important;border-top:1px solid var(--line,#d2d2d7)!important;border-radius:0!important;padding:22px 0 0!important;box-shadow:none!important}
.bx-who{gap:48px 40px!important}
.pf-grid{gap:40px 32px!important}
.pf ul,.bx-who__s ul{padding-left:0!important;list-style:none}
.pf li,.bx-who__s li{position:relative;padding-left:16px}
.pf li::before,.bx-who__s li::before{content:"";position:absolute;left:0;top:.62em;width:5px;height:5px;border-radius:50%;background:var(--grey-2,#86868b)}

/* executive: Apple's sticky local nav */
.lnav{position:sticky;top:44px;z-index:9980;height:52px;background:rgba(251,249,244,.8);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid rgba(29,27,26,.12)}
.lnav__in{max-width:980px;height:100%;margin:0 auto;padding:0 22px;display:flex;align-items:center;gap:24px}
.lnav__t{font:600 21px/1 var(--display);letter-spacing:.011em;color:var(--ink);text-decoration:none;white-space:nowrap;margin-right:auto}
.lnav__l{list-style:none;margin:0;padding:0;display:flex;gap:22px}
.lnav__l a{display:inline-flex;align-items:center;min-height:44px;font-size:12px;color:var(--ink-2,#424245);text-decoration:none}
.lnav__l a:hover{color:var(--link)}
.lnav__cta{display:inline-flex;align-items:center;min-height:30px;padding:0 13px;border-radius:980px;background:var(--teal,#113235);color:#fff!important;font-size:12px;text-decoration:none;white-space:nowrap;position:relative}
.lnav__cta::before{content:"";position:absolute;inset:-7px -4px}
.lnav__cta:hover{background:var(--teal-l,#2F686D)}
.lnav__cta:active,.lnav__l a:active{opacity:.7}
#who,#workflows,#portfolios,#paper,#lab,#rosie,#sources,#editions,#licence,#rollout,#faq{scroll-margin-top:112px}
@media (max-width:833px){ .lnav__l{display:none} .lnav__t{font-size:19px} }
@media (max-width:480px){ .lnav__in{padding:0 16px} }
/* where a page carries the local nav, its pill is the page's one call to action; the global bar drops its copy (Apple's global nav never sells) */
body:has(.lnav) .gn .gn__demo, body:has(.lnav) .gn .gn__sdemo{display:none!important}
/* Apple's greys are tuned for pure white and black; on the warm paper (#F2F0EF) and warm black (#1D1B1A,
   #2B2927) they fell just under 4.5:1. One step darker on paper, one step lighter on dark grounds. */
:root{--grey:#626267}
.dark,.dark2,.story,.split.dark,.hero,.bxa-story,.bxa-cba,.sec.dark{--grey:#a8a8ad;--grey-2:#a1a1a6}
.dark .t-red,.dark2 .t-red,.story .t-red,.hero .t-red,.split.dark .t-red,.sec.dark .t-red{color:#a1a1a6}
.gn .gn__link[aria-current],.gn .gn__link.is-on{color:#E3C88A}
:is(.dark,.dark2,.story,.split.dark,.sec.dark) :is(.story__col p,.hl__cap span,.stat span){color:#a1a1a6}
.bxa-fine{color:var(--grey)}
.hl__card--light .hl__cap span{color:#626267!important}

/* @@TYPE START (apply_type.py) */
/* Hanken Grotesk carries the site; Spectral carries hero headings only (the page's h1 and the headline
   on a full-bleed photo band). Both faces are served from /fonts/ (SIL OFL). Brand authority:
   _Resources/_canonical/ (Hanken for display and body, Spectral as the accent face). */
@font-face{font-family:"Hanken Grotesk";src:url("/fonts/HankenGrotesk-VariableFont_wght.woff2") format("woff2-variations"),url("/fonts/HankenGrotesk-VariableFont_wght.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Spectral";src:url("/fonts/Spectral-Regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Spectral";src:url("/fonts/Spectral-Medium.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Spectral";src:url("/fonts/Spectral-SemiBold.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
:root{
  --cb-sans:"Hanken Grotesk","Helvetica Neue",Helvetica,Arial,system-ui,sans-serif;
  --cb-serif:"Spectral",Georgia,"Times New Roman",serif;
  --display:var(--cb-sans);--text:var(--cb-sans);--sans:var(--cb-sans);--font-display:var(--cb-sans);--font-text:var(--cb-sans);
  --hig-font:var(--cb-sans);--hig-font-display:var(--cb-sans)
}
/* one family for everything, whatever a page's own rules named (several named SF Pro with !important) */
html body,html body *:not(code):not(pre):not(kbd):not(samp):not(svg):not(svg *){font-family:var(--cb-sans)!important}
/* hero headings in Spectral */
/* :root lifts these above the blanket rule, whose :not() clauses would otherwise outweigh them */
html:root body h1,html:root body h1 *,
html:root body .pband h2,html:root body .pband .t-super,html:root body .split .t-super,html:root body .bxa-hero h1{
  font-family:var(--cb-serif)!important;font-weight:500!important;letter-spacing:-.012em!important}
/* @@TYPE END */

/* ─── 26 Sep 2026, Benjie: "these sections need cards and more aligned with the Apple website" ───
   apple.com feature tiles: a soft rounded card on the grey ground, no border, generous padding, equal heights,
   content top-aligned (icon or label, title, text, link at the foot). Outranks the 25 Sep flattening block. */
.x #work .bx-work{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:20px!important;margin-top:44px!important}
.x #work .bx-w{background:#FBF9F4!important;border-radius:24px!important;padding:32px 28px 30px!important;box-shadow:none!important;display:flex!important;flex-direction:column!important;gap:0!important;min-height:300px!important}
.x #work .bx-w__i{width:44px;height:44px}.x #work .bx-w__i svg{width:44px;height:44px}
.x #work .bx-w h3{margin-top:22px!important;font:600 22px/1.2 var(--display)!important;color:var(--ink)!important}
.x #work .bx-w p{margin-top:10px!important;font-size:16px!important;line-height:1.47!important;color:#4A4543!important;flex:1 1 auto!important}
.x #work .bx-w .more{margin-top:18px!important;align-self:flex-start!important;color:var(--link)!important;font-size:15px!important}
@media (max-width:1023px){.x #work .bx-work{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media (max-width:734px){
  .x #work .wrap{padding-right:0!important}
  .x #work .bx-work{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:16px;padding:0 16px 8px 0!important;gap:12px!important;scrollbar-width:none}
  .x #work .bx-work::-webkit-scrollbar{display:none}
  .x #work .bx-w{flex:0 0 78%!important;scroll-snap-align:start;min-height:280px!important;padding:28px 24px!important}
}
/* /executive/ portfolios: twelve cards, three across, on the same left edge and width as the section heading */
.x #portfolios .pf-grid{max-width:var(--w)!important;margin:40px auto 0!important;padding:0 22px!important;box-sizing:border-box;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:20px!important}
.x #portfolios .pf{background:#FBF9F4!important;border:0!important;border-radius:24px!important;padding:28px 28px 26px!important;box-shadow:none!important}
.x #portfolios .pf__k{font:600 12px/1.3 var(--text);letter-spacing:.06em;text-transform:uppercase;color:var(--gold)}
.x #portfolios .pf__t{margin-top:8px!important;font:600 22px/1.2 var(--display)!important;color:var(--ink)!important;padding-bottom:14px;border-bottom:1px solid rgba(29,27,26,.1)}
.x #portfolios .pf ul{margin:12px 0 0!important;padding:0!important;list-style:none}
.x #portfolios .pf li{padding:9px 0!important;border:0!important;border-bottom:1px solid rgba(29,27,26,.07)!important;font-size:15px;line-height:1.45;color:#3A3634}
.x #portfolios .pf li:last-child{border-bottom:0!important}
.x #portfolios .pf li::before{display:none!important}
@media (max-width:1023px){.x #portfolios .pf-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media (max-width:734px){.x #portfolios .pf-grid{grid-template-columns:minmax(0,1fr)!important;padding:0 16px!important;gap:12px!important}.x #portfolios .pf{padding:24px 22px!important}}
/* the audience detail on /executive/ reads as the same card family */
.x #who .bx-who__s{background:#FBF9F4!important;border:0!important;border-radius:24px!important;padding:30px 28px!important}
/* one row line across the cards: icon, title, text and link sit on shared rows (subgrid), so a two-line title never
   pushes its neighbour's text out of line; the portfolio cards share kicker, title and list rows the same way */
@media (min-width:735px){
  .x #work .bx-w{display:grid!important;grid-template-rows:subgrid!important;grid-row:span 4!important;row-gap:0!important;align-content:start}
  .x #work .bx-w h3{align-self:start}
  .x #work .bx-w .more{align-self:end!important}
  .x #portfolios .pf{display:grid!important;grid-template-rows:subgrid!important;grid-row:span 3!important;row-gap:0!important;align-content:start}
  .x #portfolios .pf__t{align-self:end}
}

/* ─── 26 Sep 2026: /executive/#who as apple.com/au/iphone "Significant others": one rounded panel, a disclosure
   list on the left (one open at a time, chevron turns), the picture on the right switching with the open item ─── */
.bx-acc{max-width:var(--w);margin:40px auto 0;box-sizing:border-box;padding:0 22px}
.bx-acc{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:stretch;background:#FBF9F4;border-radius:28px;overflow:hidden;padding:0!important;max-width:calc(var(--w) - 44px);min-height:560px}
.bx-acc__list{padding:56px 40px 56px 56px;display:flex;flex-direction:column;justify-content:center}
.bx-acc__i{border-top:1px solid rgba(29,27,26,.14)}
.bx-acc__i:first-child{border-top:0}
.x .bx-acc__h{margin:0}
.bx-acc__b{all:unset;box-sizing:border-box;width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 0;cursor:pointer;font:600 26px/1.18 var(--display);letter-spacing:-.01em;color:var(--ink);min-height:44px}
.bx-acc__b:focus-visible{outline:2px solid var(--teal);outline-offset:4px;border-radius:6px}
.bx-acc__chev{flex:none;width:22px;height:22px;color:#4A4543;transition:transform .3s ease}
.bx-acc__i.is-open .bx-acc__chev{transform:rotate(180deg)}
.bx-acc__p{padding:0 44px 26px 0}
.x .bx-acc__p p{font-size:17px;line-height:1.5;color:#3A3634}
.bx-acc__p .more{display:inline-flex;align-items:center;min-height:44px;margin-top:6px;color:var(--link);font-size:17px}
.bx-acc__stage{position:relative;overflow:hidden;background:#ECE8E2}
.bx-acc__v{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .45s ease,visibility 0s linear .45s}
.bx-acc__v.is-on{opacity:1;visibility:visible;transition:opacity .45s ease}
.bx-acc__v--mac{justify-content:flex-start;padding-left:40px}
.bx-acc__v--mac .mac{width:128%;max-width:none;flex:none}
.bx-acc__v--photo .bx-acc__photo{width:100%;height:100%;object-fit:cover;object-position:78% 35%;display:block}
.bx-acc__v--phone{background:#1D1B1A;align-items:flex-end}
.bx-acc__v--phone .phone{width:250px;margin-bottom:-150px}
@media (prefers-reduced-motion:reduce){.bx-acc__v,.bx-acc__chev{transition:none}}
@media (max-width:900px){
  .bx-acc{grid-template-columns:minmax(0,1fr);max-width:calc(100% - 32px);min-height:0}
  .bx-acc__stage{order:-1;height:300px}
  .bx-acc__list{padding:16px 24px 28px}
  .bx-acc__b{font-size:22px;padding:18px 0}
  .bx-acc__p{padding:0 0 20px}
  .bx-acc__v--mac{padding-left:24px}.bx-acc__v--mac .mac{width:120%}
  .bx-acc__v--phone .phone{width:190px;margin-bottom:-110px}
}
/* the accordion panels carry the audience detail (26 Sep 2026: the four-part grid below was removed) */
.x .bx-acc__p .bx-acc__lead{font:600 18px/1.35 var(--display);color:var(--ink)}
.bx-acc__pts{list-style:none;margin:12px 0 0;padding:0}
.bx-acc__pts li{position:relative;padding:7px 0 7px 16px;font-size:15px;line-height:1.5;color:#3A3634;border-top:1px solid rgba(29,27,26,.08)}
.bx-acc__pts li:first-child{border-top:0}
.bx-acc__pts li::before{content:"";position:absolute;left:0;top:15px;width:5px;height:5px;border-radius:50%;background:var(--gold)}
.bx-acc__pts b{color:var(--ink);font-weight:600}
.x .bx-acc__p .bx-acc__cov{margin-top:10px;font-size:13px;line-height:1.5;color:#4A4543}
.bx-acc{min-height:620px}
.bx-acc__list{padding-top:44px;padding-bottom:44px}
@media (min-width:901px){.bx-acc{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.bx-acc__list{padding-left:52px;padding-right:44px}}

/* ══ Home and About redesign, 26 Sep 2026 (Benjie: "a complete redesign and rethink, be creative").
   bh- prefix. Sources as three illustrated tiles on the photo's dark ground; the free editions as an apple.com
   model lineup with the Executive Edition as the step up; the sector story beside an even logo wall; one dark
   closing panel with the product on a phone, shared by /, /executive/ and /about/; About's origin as a sticky
   headline with three beats that light as they reach the middle of the screen. ══ */
.bh-wrap{max-width:1120px;margin:0 auto;padding:0 22px}
.bh-h{margin:0;font:600 clamp(32px,4.6vw,56px)/1.07 var(--cb-sans);letter-spacing:-.018em;color:#1D1B1A;text-wrap:balance}
.bh-lede{margin:18px 0 0;font:400 clamp(19px,1.7vw,21px)/1.45 var(--cb-sans);color:#48443F;text-wrap:pretty}
.bh-fine{margin:22px 0 0;font:400 13px/1.45 var(--cb-sans);color:#6E6A66}
.bh-src .more,.bh-close .more{color:var(--gold-d)}

/* the photo band: headline centred on the image, and no pale strip above it */
.pband:has(#h-why){margin-top:0}
.pband:has(#h-why) .pband__copy{text-align:center;padding-bottom:clamp(64px,8vw,104px)}
.pband:has(#h-why) .pband__sub{margin-left:auto;margin-right:auto;max-width:640px}
.pband:has(#h-why)::after{background:linear-gradient(0deg,#1D1B1A 0%,rgba(29,27,26,.72) 26%,rgba(0,0,0,.2) 55%,rgba(0,0,0,0) 72%)}

/* sources: three tiles on the same dark ground */
.bh-src{background:#1D1B1A;color:#F2F0EF;padding:8px 0 clamp(80px,9vw,120px)}
.bh-src__g{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.bh-src__t{background:#2A2725;border-radius:28px;padding:40px 34px 38px;display:flex;flex-direction:column}
.bh-src__i{display:block;width:64px;height:64px;color:var(--gold-d);margin-bottom:28px}
.bh-src__i svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.bh-src__t h3{margin:0;font:600 24px/1.2 var(--cb-sans);letter-spacing:-.01em;color:#F7F5F0}
.bh-src__t p{margin:12px 0 0;font:400 17px/1.47 var(--cb-sans);color:#B9B4AE}
.bh-src__go{margin:36px 0 0;text-align:center;font-size:19px}

/* free editions: a model lineup */
.bh-eds{padding:clamp(96px,11vw,150px) 0 clamp(80px,9vw,120px);text-align:center;background:#F2F0EF}
.bh-eds .bh-lede{max-width:38ch;margin-left:auto;margin-right:auto}
.bh-line{list-style:none;margin:clamp(48px,6vw,72px) 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.bh-m{background:#FBF9F4;border-radius:28px;padding:36px 20px 32px;display:flex;flex-direction:column;align-items:center;overflow:hidden}
.bh-m__pic{display:block;width:100%;height:280px;overflow:hidden;margin-bottom:26px;-webkit-mask-image:linear-gradient(180deg,#000 72%,transparent);mask-image:linear-gradient(180deg,#000 72%,transparent)}
.bh-m__pic .phone{width:168px;margin:0 auto;box-shadow:0 0 0 1px #0b0b0c,0 24px 40px -24px rgba(0,0,0,.4)}
.bh-m__tag{margin:0;font:600 12px/1 var(--cb-sans);letter-spacing:.06em;text-transform:uppercase;color:#7E5C1E}
.bh-m h3{margin:10px 0 0;font:600 26px/1.15 var(--cb-sans);letter-spacing:-.01em;color:#1D1B1A}
.bh-m__sub{margin:8px 0 0;font:400 16px/1.4 var(--cb-sans);color:#48443F;min-height:2.8em;max-width:22ch}
.bh-m__btn{margin-top:18px}
.bh-ee{margin-top:20px;background:#1D1B1A;color:#F2F0EF;border-radius:28px;padding:40px 44px;display:flex;align-items:center;justify-content:space-between;gap:28px;text-align:left}
.bh-ee__k{margin:0;font:600 14px/1 var(--cb-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--gold-d)}
.bh-ee h3{margin:12px 0 0;font:600 clamp(22px,2.4vw,30px)/1.2 var(--cb-sans);letter-spacing:-.012em;color:#F7F5F0;max-width:26ch}
.bh-ee__go{display:flex;align-items:center;gap:24px;flex:none}
.bh-ee .btn{background:var(--teal-l)}.bh-ee .more{color:var(--gold-d)}

/* the sector story beside the logo wall */
.bh-built{background:#fff;padding:clamp(96px,11vw,140px) 0}
.bh-built__g{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(40px,6vw,88px);align-items:center}
.bh-built__txt .more{display:inline-flex;min-height:44px;align-items:center;margin-top:10px;font-size:19px;color:var(--link)}
.bh-logos__k{margin:0 0 18px;font:600 14px/1 var(--cb-sans);letter-spacing:.06em;text-transform:uppercase;color:#6E6A66}
.bh-logos__g{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);background:#F5F3EE;border-radius:28px;overflow:hidden;gap:1px}
.bh-logos__g li{display:flex;align-items:center;justify-content:center;height:clamp(104px,11vw,132px);padding:14px 18px;background:#FBF9F4}
.bh-logos__g img{display:block;height:var(--lh);width:auto;max-width:100%;filter:grayscale(1) contrast(1.05);opacity:.82;transition:opacity .3s,filter .3s}
.bh-logos__g li:hover img{opacity:1;filter:none}
.bh-built--about{background:#F2F0EF}

/* one closing panel */
.bh-close{padding:clamp(24px,4vw,56px) 16px clamp(56px,7vw,96px);background:inherit}
.bh-close__panel{max-width:1120px;margin:0 auto;background:#1D1B1A;color:#F2F0EF;border-radius:32px;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);align-items:end;min-height:480px;position:relative}
.bh-close__panel::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 80% at 85% 100%,rgba(212,175,103,.22),transparent 70%);pointer-events:none}
.bh-close__copy{position:relative;padding:clamp(44px,6vw,80px) clamp(28px,5vw,72px);align-self:center}
.bh-close__k{margin:0;font:600 14px/1 var(--cb-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--gold-d)}
.bh-close__h{margin:16px 0 0;font:600 clamp(32px,4.4vw,52px)/1.08 var(--cb-sans);letter-spacing:-.018em;color:#F7F5F0;text-wrap:balance}
.bh-close__sub{margin:18px 0 0;font:400 clamp(17px,1.6vw,19px)/1.47 var(--cb-sans);color:#B9B4AE;max-width:44ch}
.bh-close__ctas{margin-top:30px;display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px}
.bh-close .btn{background:var(--teal-l)}
.bh-close__pic{position:relative;align-self:end;display:flex;justify-content:center;height:100%;min-height:400px;overflow:hidden}
.bh-close__pic .phone{width:250px;position:absolute;top:64px;box-shadow:0 0 0 1px #0b0b0c,0 40px 90px -20px rgba(0,0,0,.7)}

/* About: the origin as a sticky headline and three beats */
.bxa-story--split{text-align:left;padding:clamp(96px,11vw,160px) 0}
.bxa-story__g{max-width:1120px;display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(40px,7vw,110px);align-items:start}
.bxa-story__head{position:sticky;top:120px}
.bxa-story--split .bxa-eye{margin:0 0 14px}
.bxa-story__lead{margin:0;font:600 clamp(36px,4.8vw,60px)/1.06 var(--cb-sans);letter-spacing:-.02em;color:#F7F5F0;text-wrap:balance}
.bxa-story__steps{list-style:none;margin:0;padding:0}
.bxa-story__steps li{padding:clamp(28px,4vw,44px) 0;border-top:1px solid rgba(242,240,239,.16);transition:opacity .6s ease}
.bxa-story__steps li:first-child{border-top:0;padding-top:clamp(8px,1.4vw,16px)}
.bxa-story__k{display:block;margin-bottom:12px;font:600 14px/1 var(--cb-sans);letter-spacing:.06em;text-transform:uppercase;color:#8E8983}
.bxa-story__steps p{margin:0;font:600 clamp(24px,2.6vw,32px)/1.25 var(--cb-sans);letter-spacing:-.012em;color:#F2F0EF;max-width:none;text-wrap:pretty}
.bxa-story__steps .is-gold p,.bxa-story__steps .is-gold .bxa-story__k{color:var(--gold-d)}
.lit-js li{opacity:.32}.lit-js li.on{opacity:1}

@media (max-width:1068px){
  .bh-line{grid-template-columns:repeat(2,1fr)}
  .bh-ee{flex-direction:column;align-items:flex-start}
}
@media (max-width:834px){
  .bh-src__g{grid-template-columns:1fr}
  .bh-src__t{flex-direction:row;gap:22px;align-items:flex-start;padding:30px 26px}
  .bh-src__i{width:48px;height:48px;flex:none;margin:0}
  .bh-built__g,.bxa-story__g{grid-template-columns:1fr}
  .bxa-story__head{position:static}
  .bh-close__panel{grid-template-columns:1fr;min-height:0}
  .bh-close__pic{min-height:300px;height:300px}
  .bh-close__pic .phone{width:210px;top:20px}
}
@media (max-width:734px){
  .bh-wrap{padding:0 16px}
  .bh-line{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin-left:-16px;margin-right:-16px;padding:0 16px 8px;scrollbar-width:none}
  .bh-line::-webkit-scrollbar{display:none}
  .bh-m{flex:0 0 78%;scroll-snap-align:center}
  .bh-ee{padding:32px 26px}
  .bh-ee__go{flex-direction:column;align-items:flex-start;gap:8px}
  .bh-logos__g li{height:96px;padding:12px}
  .bh-logos__g img{height:calc(var(--lh) * .72)}
  .bh-close{padding:16px 12px 56px}
  .bh-close__panel{border-radius:26px}
}
@media (prefers-reduced-motion:reduce){.lit-js li{opacity:1}}
/* bh- spacing: `.x p{margin:0}` outranks single-class rules, so the gaps are restated at .x specificity */
.x .bh-lede{margin-top:18px}.x .bh-eds .bh-lede{margin-left:auto;margin-right:auto}
.x .bh-fine{margin-top:16px}
.x .bh-src__t p{margin-top:12px}.x .bh-src__go{margin-top:40px}
.x .bh-m__sub{margin-top:8px}.x .bh-m h3{margin-top:10px}.x .bh-m__pic{margin-bottom:26px}
.x .bh-ee h3{margin-top:12px}.x .bh-ee h3{max-width:34ch}
.x .bh-close__h{margin-top:14px}.x .bh-close__sub{margin-top:18px}
.x .bh-logos__k{margin-bottom:18px}
.x .bh-built__txt .more{margin-top:14px}
.x .bxa-story--split .bxa-eye{margin-bottom:16px}
.bh-src{padding-bottom:clamp(72px,8vw,104px)}
@media (max-width:734px){.bh-m__pic{height:230px}.bh-m__pic .phone{width:150px}.bh-m{padding-top:28px}}
/* lineup, tighter (26 Sep, Benjie: "very big boxes compared to what Apple does") */
.bh-line{max-width:1000px;margin-left:auto;margin-right:auto;gap:16px}
.bh-m{border-radius:22px;padding:28px 16px 26px}
.x .bh-m__pic{height:200px;margin-bottom:20px}
.bh-m__pic .phone{width:128px}
.bh-m h3{font-size:22px}
.bh-m__sub{font-size:15px;min-height:2.7em}
.bh-m__btn{margin-top:14px;font-size:15px;padding:8px 18px;min-height:44px}
.bh-ee{max-width:1000px;margin-left:auto;margin-right:auto;padding:32px 36px;border-radius:22px}
@media (max-width:734px){.x .bh-m__pic{height:190px}.bh-m__pic .phone{width:124px}.bh-m{flex:0 0 62%}}
.x .bh-m__btn{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 20px;line-height:1;margin-top:auto}
.x .bh-m__sub{margin-bottom:16px}
/* home hero, 26 Sep: the kicker in capitals, and room between it, the headline and the buttons */
.x .bx-open .bx-kick{text-transform:uppercase;letter-spacing:.14em;font-size:14px;font-weight:600}
.x .bx-open .bx-h1{margin-top:22px}
.x .bx-open .ctas{margin-top:clamp(36px,4vw,48px)}
.x .bx-open{padding-top:clamp(72px,9vw,120px)}
.x .bx-open .bx-h1{margin-top:28px;line-height:1.08}
@media (max-width:734px){.x .bx-open{padding-top:56px}.x .bx-open .bx-kick{font-size:12px;letter-spacing:.08em}.x .bx-open .bx-h1{margin-top:18px}}
/* About headings and ledes, 26 Sep (Benjie: "fix the heading and margins"). `.x p{margin:0}` was eating the gap
   under every About headline; the headline also ran wider than its lede. One measured pair everywhere. */
.x .bxa-h2{font-size:clamp(34px,4.4vw,52px);line-height:1.08;letter-spacing:-.018em;max-width:20ch;margin-left:auto;margin-right:auto}
.x .bxa-lede{margin-top:20px;max-width:40ch;font-size:clamp(19px,1.8vw,21px);line-height:1.45;color:#48443F;text-wrap:pretty}
.x .bxa-cba .bxa-lede,.x .bxa-hero .bxa-lede{color:#B9B4AE}
.x .bxa-people .bxa-h3{font-size:clamp(24px,2.6vw,32px);color:#1D1B1A;margin-top:clamp(88px,10vw,128px)}
.x .bxa-leads{margin-top:clamp(48px,6vw,72px)}
.x .bxa-eye + .bxa-h2{margin-top:14px}
.x .bxa-cba .bxa-h2{max-width:24ch}
/* the harbour photograph as a quiet picture break, no words (Benjie, 26 Sep: remove "Sources and methods" and its headline) */
.pband--quiet{min-height:0;height:min(72vh,720px)}
.pband--quiet::after{background:linear-gradient(0deg,#1D1B1A 0%,rgba(29,27,26,.35) 22%,rgba(0,0,0,0) 45%)}
@media (max-width:734px){.pband--quiet{height:56vh}}
.x .pband--quiet + .bh-src{padding-top:0}
/* /executive/ hero, 26 Sep: the product name in capitals */
.x .hero .t-prod.bx-caps{text-transform:uppercase;letter-spacing:.08em}

/* ══ About headings and text, 26 Sep (Benjie: "the headings and text on this page need to be refined").
   One type system for the page: small gold uppercase labels (as on the home hero), Spectral hero headline at a
   calmer size, sans headlines at one scale, ledes at 19–21px with room above them. ══ */
.x .bxa-eye{font:600 14px/1.2 var(--cb-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-d);margin:0}
.x .bxa-eye + h1,.x .bxa-eye + .bxa-h2,.x .bxa-eye + .bxa-story__lead{margin-top:18px}
/* hero: a deeper fade so the words sit on shadow, not on the railing */
.bxa-hero::after{background:linear-gradient(to top,rgba(14,13,12,.94) 0%,rgba(14,13,12,.78) 26%,rgba(14,13,12,.3) 52%,rgba(14,13,12,0) 72%)}
.x .bxa-hero__copy{padding:0 22px clamp(72px,9vh,112px);max-width:900px}
.x .bxa-hero h1{font-size:clamp(42px,5.4vw,76px);line-height:1.05;font-weight:500;letter-spacing:-.012em}
.x .bxa-hero__sub{margin-top:22px;max-width:40ch;font:400 clamp(18px,1.7vw,22px)/1.45 var(--cb-sans);color:rgba(247,245,240,.86);text-wrap:balance}
/* section headlines at one scale */
.x .bxa-h2{font-size:clamp(32px,4vw,48px);line-height:1.08}
.x .bxa-cba .bxa-h2{font-size:clamp(30px,3.4vw,44px);max-width:24ch;line-height:1.12}
.x .bxa-cba__g h3{font-size:21px;line-height:1.25}
.x .bxa-cba__g p{font-size:17px;line-height:1.5}
.x .bxa-story__lead{font-size:clamp(34px,4.2vw,52px)}
.x .bxa-story__steps p{font-size:clamp(22px,2.3vw,28px);line-height:1.3}
/* the four numbers: a touch smaller, captions darker and shorter measure */
.x .bxa-nums b{font-size:clamp(48px,5.6vw,72px)}
.x .bxa-nums span{font-size:17px;line-height:1.4;color:#48443F;max-width:20ch}
@media (max-width:734px){.x .bxa-eye{font-size:12px;letter-spacing:.1em}.x .bxa-hero__copy{padding:0 16px 56px}}
.bxa-hero::after{background:linear-gradient(to top,rgba(14,13,12,.95) 0%,rgba(14,13,12,.82) 34%,rgba(14,13,12,.4) 58%,rgba(14,13,12,0) 78%)}
.x .bxa-hero .bxa-eye{font-size:15px;text-shadow:0 1px 12px rgba(0,0,0,.5)}
.x .bxa-cba .bxa-h2{max-width:30ch}
/* /executive/ hero in the home page's type (Benjie, 26 Sep: "the same font style as the front page"):
   a gold uppercase label, then the headline in Spectral at the home hero's size */
.x .hero .bx-exk{margin:0;font:600 14px/1.3 var(--cb-sans)!important;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-d)}
.x .hero .bx-exh{margin:22px auto 0;max-width:18ch;font-family:var(--cb-serif)!important;font-weight:500!important;font-size:clamp(40px,5.2vw,76px);line-height:1.05;letter-spacing:-.012em;color:#F7F5F0;text-wrap:balance}
@media (max-width:734px){.x .hero .bx-exk{font-size:12px;letter-spacing:.08em}}
.x .hero .bx-exh{max-width:22ch;font-size:clamp(40px,4.6vw,68px)}
@media (max-width:734px){.x .hero .bx-exk{font-size:11.5px!important;letter-spacing:.07em}}
@media (max-width:734px){.x .bxa-hero .bxa-eye{font-size:12px}}
/* home footer: Acknowledgement of Country and the business-name notice (Benjie, 26 Sep) */
.ft__ack{margin:22px 0 4px;padding:22px 0 20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.x .ft__ack h2{margin:0 0 10px;font:600 13px/1.3 var(--cb-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--ink,#1D1B1A)}
.x .ft__ack p{margin:0;max-width:78ch;font-size:13px;line-height:1.55;color:#48443F}
.x .ft__ack p + p{margin-top:10px}
.x .ft__tm{margin:10px 0 0;max-width:110ch;font-size:12px;line-height:1.5;color:var(--grey)}
.ft__ack{border-top:0;margin-top:0;padding-top:24px}

/* ══ Gold text, one style (Benjie, 26 Sep: "Intelligence for tertiary education leaders — this font, style, spacing —
   use it whenever you use gold text across the website"). Every gold label takes the home kicker: Hanken 600, 14px,
   uppercase, 0.14em tracking; each keeps its own gold for its ground. Gold that was body text or a number turns ivory,
   so gold only ever means a label. Gold links keep their link style. ══ */
.x .bx-kick,.x .bx-exk,.x .gn__sh,.x .bh-m__tag,.x .bh-ee__k,.x .ro__when,.x .bh-close__k,.x .bx-wf__k,.x .t-eye,.x .pf__k,
.x .card__k,.x .bxa-eye,.x .bxa-story__k,.x .t-now{font:600 14px/1.25 var(--cb-sans,"Hanken Grotesk",sans-serif)!important;letter-spacing:.14em!important;text-transform:uppercase!important}
.x .stat b{color:#F7F5F0!important}
.x .bxa-story__steps .is-gold p{color:#F7F5F0!important}
.x .ft__legal{justify-content:flex-end}
@media (max-width:734px){
  .x .bx-kick,.x .bx-exk,.x .bh-m__tag,.x .bh-ee__k,.x .ro__when,.x .bh-close__k,.x .bx-wf__k,.x .t-eye,.x .pf__k,.x .card__k,.x .bxa-eye,.x .bxa-story__k,.x .t-now{font-size:12px!important;letter-spacing:.08em!important}
}
/* the /executive/ local nav without its title (Benjie, 26 Sep): section links and the button sit together at the right */
.lnav__in{justify-content:flex-end}
@media (max-width:833px){.lnav__in{justify-content:center}}

/* ══ Phone mockups and sideways drift, 26 Sep (Benjie: "the mobile phone and screen don't align"). The workflow
   pictures cap at 340px in a flex row, which stretched each .phone to the row's height: the bezel ended there while
   the screen image kept its full height and ran past it. The phone now keeps its own height and the whole device,
   bezel and screen together, is cropped by the card with a soft fade. The page also clips sideways overflow so a
   phone can't be dragged left and right (the hero laptop and card track reach past the edge by design). ══ */
.bx-wf__pic{align-items:flex-start}
.bx-wf__pic .phone{flex:none;align-self:flex-start;height:auto!important;max-height:none!important}
.bx-wf__pic{-webkit-mask-image:linear-gradient(180deg,#000 82%,transparent);mask-image:linear-gradient(180deg,#000 82%,transparent)}
html,body{overflow-x:clip}
@supports not (overflow:clip){html,body{overflow-x:hidden}}

/* ══ Phone swipe rows, 26 Sep (Benjie: "on the main page you can't swipe the boxes"). A later card rule set
   .bx-work to overflow:visible on phones, so the second card peeked in but the row could not scroll.
   The row scrolls again, snaps card by card, and bleeds to the screen edge like apple.com's card rails. ══ */
@media (max-width:734px){
  html body.x .bx-work,html body.x #work .bx-work{display:flex!important;overflow-x:auto!important;overflow-y:hidden!important;
    scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;touch-action:pan-x pan-y;
    gap:12px!important;margin:0 -16px!important;padding:4px 16px 12px!important;scroll-padding-left:16px;scrollbar-width:none}
  html body.x .bx-work::-webkit-scrollbar{display:none}
  html body.x .bx-work>li{flex:0 0 78%!important;scroll-snap-align:start;min-width:0}
  html body.x .bh-line{touch-action:pan-x pan-y;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
  /* the three Sources tiles: icon beside a stacked heading and sentence, not three columns */
  html body.x .bh-src__t{display:grid!important;grid-template-columns:48px 1fr;column-gap:18px;align-items:start}
  html body.x .bh-src__t .bh-src__i{grid-row:1 / span 2}
  html body.x .bh-src__t h3{font-size:20px}
  html body.x .bh-src__t p{grid-column:2;margin-top:6px!important}
}
@media (max-width:734px){html body.x .bh-src__t{grid-template-rows:auto auto;align-content:start;row-gap:0}html body.x .bh-src__t .bh-src__i{grid-row:1;width:40px;height:40px}html body.x .bh-src__t h3,html body.x .bh-src__t p{grid-column:2}html body.x .bh-src__t p{grid-row:2}}
/* About hero, Fitzroy photograph (26 Sep): frame the Moran & Cato parapet above the words, and a shorter fade so the brick keeps its colour */
@media (min-width:735px){.x .bxa-hero img{object-position:60% 58%!important}}
.x .bxa-hero::after{background:linear-gradient(to top,rgba(14,13,12,.93) 0%,rgba(14,13,12,.72) 24%,rgba(14,13,12,.22) 46%,rgba(14,13,12,0) 62%)}
@media (min-width:735px){.x .bxa-hero img{object-position:60% 88%!important}}
@media (min-width:735px){
  .x .bxa-hero__copy{padding-bottom:clamp(40px,5vh,64px)!important}
  .x .bxa-hero__copy::before{content:"";position:absolute;z-index:-1;left:50%;top:50%;width:130%;height:150%;transform:translate(-50%,-44%);
    background:radial-gradient(closest-side,rgba(14,13,12,.62),rgba(14,13,12,.35) 55%,transparent);pointer-events:none}
  .x .bxa-hero .bxa-eye{color:#E3C88A;text-shadow:0 1px 14px rgba(0,0,0,.7)}
}

/* ══ Phone showcase blank frames, 26 Sep (Benjie: "black screens on the front pages, only on the mobile phone").
   `.phone img{position:relative}` outranked `.live__s{position:absolute}`, so the six slides stacked in a column
   inside the frame: only the first sat in view, and every later slide faded in below the screen, leaving it empty. ══ */
.live--phone .live__view .live__s{position:absolute!important;left:0;top:0;width:100%!important;height:100%!important;object-fit:cover;object-position:top}

/* ══ Phone page width, 26 Sep (Benjie: "issue with page margin on the phone"). The swipe row bled 16px while its
   wrap pads 22px, so it reached 16px past the right edge; iOS widens the page to fit anything that sticks out,
   which shifted and cut the whole page. The row now bleeds exactly to the edge, and main clips as a second guard
   (clip, not hidden, so sticky headings inside main keep working). ══ */
@media (max-width:734px){
  html body.x .bx-work,html body.x #work .bx-work{width:100vw!important;max-width:100vw!important;box-sizing:border-box!important;
    margin-left:calc(50% - 50vw)!important;margin-right:0!important;padding:4px 16px 12px!important;scroll-padding-left:16px}
  html body.x #work .wrap{padding-right:22px!important}
}
main{overflow-x:clip}

/* ══ Swipe rails on phones, 26 Sep (Benjie: "make the cards slightly bigger, and the swipe easier and smooth; it is not
   smooth and then the screen zooms in"). Autoplay now stops at the first touch (script); a double tap no longer zooms
   (touch-action:manipulation keeps pinch-zoom for reading); each swipe settles on one card; and the cards are wider. ══ */
html{touch-action:manipulation}
.hl__track,.cards,.bx-work,.bh-line{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y}
.hl__card,.cards>*,.bx-work>li,.bh-line>li{scroll-snap-stop:always}
@media (max-width:734px){
  /* only the Market Intelligence card changes: the slide deck fills the card's width and sits higher */
  .x .hl__card:has(.fd) .hl__media{flex:1;padding:0 10px;align-items:center}
  .x .hl__media .fd{width:100%;margin:0 auto 40px;perspective:1200px}
  .x .fd__s{transform:rotateX(8deg) rotateZ(calc(-3deg + var(--k,0) * 1.5deg)) translate(calc(var(--k,0) * 2.5%),calc(var(--k,0) * -3%)) scale(calc(1.06 - var(--k,0) * .03))}
  .x .fd__s.is-out{transform:rotateX(8deg) rotateZ(-10deg) translate(-70%,6%) scale(.96)}
  .x .fd__btn{bottom:22px}
}
/* the deck moves on the GPU: no blur filter to repaint mid-flip, a shorter settle, and horizontal swipes belong to the deck */
.fd{touch-action:pan-y;-webkit-user-select:none;user-select:none}
.fd__s{filter:none!important;will-change:transform,opacity;backface-visibility:hidden;-webkit-backface-visibility:hidden;
  transition:transform .45s cubic-bezier(.25,.8,.25,1),opacity .45s ease;-webkit-user-drag:none;pointer-events:none}

/* ══ "Use the free dashboards" opens a menu of the four open editions (26 Sep, Benjie) ══ */
.fdm{position:relative;display:inline-block}
.fdm>summary{list-style:none;cursor:pointer}
.fdm>summary::-webkit-details-marker{display:none}
.fdm--more>summary{display:inline-flex;align-items:center;min-height:44px;color:var(--gold-d);font-size:inherit}
.fdm--more>summary::after{content:"";width:7px;height:7px;margin-left:10px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:translateY(-3px) rotate(45deg);transition:transform .2s}
.fdm--ghost>summary::after{content:"";display:inline-block;width:7px;height:7px;margin-left:10px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:translateY(-3px) rotate(45deg);transition:transform .2s}
.fdm[open]>summary::after{transform:translateY(1px) rotate(-135deg)}
.fdm__m{position:absolute;z-index:40;top:calc(100% + 10px);left:50%;transform:translateX(-50%);min-width:240px;padding:8px;border-radius:16px;
  background:#1D1B1A;border:1px solid rgba(242,240,239,.14);box-shadow:0 24px 60px -18px rgba(0,0,0,.55);display:flex;flex-direction:column;text-align:left;
  animation:fdm-in .18s ease-out}
.fdm--more .fdm__m{left:0;transform:none}
.fdm__m a{display:flex;align-items:center;min-height:44px;padding:0 14px;border-radius:10px;color:#F2F0EF!important;font-size:16px;line-height:1.2;text-decoration:none;white-space:nowrap}
.fdm__m a::after{content:"›";margin-left:auto;padding-left:16px;color:#D4AF67}
.fdm__m a:hover,.fdm__m a:focus-visible{background:rgba(242,240,239,.1);outline:none}
@keyframes fdm-in{from{opacity:0;margin-top:-6px}to{opacity:1;margin-top:0}}
@media (prefers-reduced-motion:reduce){.fdm__m{animation:none}}
@media (max-width:734px){.fdm__m{min-width:min(280px,86vw)}}
.fdm--more>summary::after{display:inline-block;flex:none}
.bh-close__copy{z-index:3}
.bh-close__copy:has(.fdm[open]){z-index:5}
.fdm[open]{z-index:50}
.fdm--ghost[open]>summary{background:transparent!important;color:var(--teal,#113235)!important}
/* in the closing panel (which clips its corners), the menu opens upwards so it stays inside the panel */
.bh-close .fdm__m{top:auto;bottom:calc(100% + 8px)}
.bh-close__ctas:has(.fdm[open]),.ctas:has(.fdm[open]){position:relative;z-index:20;transform:none!important}
.fdm__m{background:#1D1B1A!important;opacity:1}
.fdm--more>summary::after{all:unset;content:"";display:inline-block;flex:none;width:7px;height:7px;margin-left:10px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:translateY(-3px) rotate(45deg);transition:transform .2s}
.fdm--more[open]>summary::after{transform:translateY(2px) rotate(-135deg)}

/* ══ /demo/ — the demonstration request (27 Sep 2026). Apple's contact pattern: the promise on the left, a short
   form on a card at right; labels above fields, 48px controls, one teal action, an inline thank-you. ══ */
.dm{background:#F2F0EF}
.dm__wrap{max-width:1120px;margin:0 auto;padding:clamp(56px,8vw,110px) 22px clamp(72px,9vw,120px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,6vw,96px);align-items:start}
.x .dm__intro h1{margin:18px 0 0;font:500 clamp(38px,4.4vw,58px)/1.06 var(--cb-serif);letter-spacing:-.012em;color:#1D1B1A;text-wrap:balance}
.x .dm__lede{margin:22px 0 0;font:400 clamp(18px,1.6vw,20px)/1.5 var(--cb-sans);color:#48443F;max-width:44ch}
.dm__steps{list-style:none;margin:36px 0 0;padding:0;counter-reset:s;display:grid;gap:18px}
.dm__steps li{counter-increment:s;display:grid;grid-template-columns:36px 1fr;gap:14px;align-items:start;font:400 17px/1.45 var(--cb-sans);color:#48443F}
.dm__steps li::before{content:counter(s);display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:#1D1B1A;color:#D4AF67;font:600 14px/1 var(--cb-sans)}
.dm__steps b{color:#1D1B1A;font-weight:600}
.dm__card{background:#FBF9F4;border-radius:28px;padding:clamp(26px,3.4vw,40px);box-shadow:0 1px 0 rgba(29,27,26,.06),0 30px 60px -40px rgba(29,27,26,.35)}
.dm__form{display:grid;gap:18px}
.dm__f{display:grid;gap:8px}
.x .dm__f label{font:600 15px/1.3 var(--cb-sans);color:#1D1B1A;margin:0}
.dm__f label span{font-weight:400;color:#6E6A66;margin-left:6px}
.dm__f input,.dm__f select,.dm__f textarea{width:100%;box-sizing:border-box;min-height:48px;padding:12px 14px;border:1px solid #CFCAC2;border-radius:12px;background:#fff;
  font:400 17px/1.4 var(--cb-sans);color:#1D1B1A;-webkit-appearance:none;appearance:none;transition:border-color .15s,box-shadow .15s}
.dm__f select{background-image:linear-gradient(45deg,transparent 50%,#6E6A66 50%),linear-gradient(135deg,#6E6A66 50%,transparent 50%);background-position:calc(100% - 20px) 21px,calc(100% - 15px) 21px;background-size:5px 5px;background-repeat:no-repeat;padding-right:40px}
.dm__f textarea{min-height:112px;resize:vertical}
.dm__f input:focus,.dm__f select:focus,.dm__f textarea:focus{outline:none;border-color:#2F686D;box-shadow:0 0 0 3px rgba(47,104,109,.18)}
.dm__f input:user-invalid,.dm__f textarea:user-invalid{border-color:#B3443A;box-shadow:0 0 0 3px rgba(179,68,58,.12)}
.dm__hp{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}
.x .dm__go{justify-self:stretch;min-height:52px;font-size:17px;margin-top:6px;border:0;cursor:pointer}
.dm__go[aria-busy="true"]{opacity:.7;cursor:progress}
.x .dm__fine,.x .dm__err{margin:0;font:400 14px/1.5 var(--cb-sans);color:#6E6A66}
.x .dm__err{color:#8E2E2E;background:#F6E4E4;border-radius:12px;padding:12px 14px}
.dm__fine a,.dm__err a{color:#113235;text-decoration:underline;text-underline-offset:2px}
.dm__done{outline:none}
.x .dm__done h2{margin:14px 0 0;font:500 clamp(28px,3vw,36px)/1.15 var(--cb-serif);color:#1D1B1A}
.x .dm__done p{margin:14px 0 0;font:400 17px/1.5 var(--cb-sans);color:#48443F}
.dm__done .more{color:#113235}
@media (max-width:834px){.dm__wrap{grid-template-columns:1fr;gap:36px}}
@media (max-width:480px){.dm__wrap{padding:40px 16px 64px}.dm__card{border-radius:22px}}
.x .dm .bx-kick{color:#7E5C1E;margin:0}
.dm__steps li>span{padding-top:5px}

/* ══ Pitch refinement, 27 Sep 2026 ══ */
/* home: the sentence under the headline is back, at a readable measure */
.x .bx-open .bx-sub{margin:22px auto 0;max-width:62ch;font:400 clamp(17px,1.5vw,20px)/1.5 var(--cb-sans);color:#48443F;text-wrap:pretty}
/* home: three levels of analysis */
.bh-levels{background:#F2F0EF;padding:clamp(72px,9vw,120px) 0 clamp(56px,7vw,96px);text-align:center}
.bh-levels .bh-lede{max-width:52ch;margin-left:auto;margin-right:auto}
.bh-lv__g{list-style:none;margin:clamp(40px,5vw,64px) 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;text-align:left;counter-reset:lv}
.bh-lv{counter-increment:lv;background:#FBF9F4;border-radius:24px;padding:30px 28px 32px;position:relative}
.bh-lv::before{content:counter(lv,decimal-leading-zero);display:block;font:600 13px/1 var(--cb-sans);letter-spacing:.12em;color:#7E5C1E;margin-bottom:18px}
.x .bh-lv__k{margin:0;font:600 22px/1.2 var(--cb-sans);letter-spacing:-.01em;color:#1D1B1A}
.x .bh-lv p:not(.bh-lv__k){margin:10px 0 0;font:400 16px/1.5 var(--cb-sans);color:#48443F}
@media (max-width:834px){.bh-lv__g{grid-template-columns:1fr;gap:12px}}
/* exec hero: lede and audience line under the Spectral headline */
.x .hero .bx-exl{margin:22px auto 0;max-width:60ch;font:400 clamp(17px,1.5vw,20px)/1.5 var(--cb-sans);color:#D6D2CB;text-wrap:pretty}
.x .hero .bx-exf{margin:14px auto 0;font:600 14px/1.3 var(--cb-sans);letter-spacing:.02em;color:#B9B4AE}
.x .hero .bx-hero-cta{margin-top:30px;gap:14px 26px}
.x .hero .bx-hero-cta .more{color:var(--gold-d)}
/* exec: four workflow cards */
@media (min-width:1069px){.bx-wf{grid-template-columns:repeat(4,1fr)}}
@media (min-width:735px) and (max-width:1068px){.bx-wf{grid-template-columns:repeat(2,1fr)}}
/* exec: capability groups */
.bx-caps{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:clamp(36px,4vw,56px)}
.bx-cap{background:#FBF9F4;border-radius:22px;padding:0 26px;border:1px solid rgba(29,27,26,.06)}
.bx-cap>summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:1fr 20px;column-gap:16px;align-items:center;padding:24px 0;min-height:44px}
.bx-cap>summary::-webkit-details-marker{display:none}
.x .bx-cap__k{display:block;font:600 21px/1.2 var(--cb-sans);letter-spacing:-.01em;color:#1D1B1A}
.x .bx-cap__t{display:block;margin-top:6px;font:400 15px/1.45 var(--cb-sans);color:#6E6A66;grid-column:1}
.bx-cap .bx-acc__chev{grid-column:2;grid-row:1 / span 2;width:20px;height:20px;color:#6E6A66;transition:transform .25s}
.bx-cap[open] .bx-acc__chev{transform:rotate(180deg)}
.x .bx-cap ul{margin:0;padding:0 0 24px 0;list-style:none;border-top:1px solid rgba(29,27,26,.08)}
.x .bx-cap li{padding:12px 0 0;font:400 16px/1.5 var(--cb-sans);color:#3A3634;display:grid;grid-template-columns:14px 1fr;column-gap:10px}
.x .bx-cap li::before{content:"";width:6px;height:6px;border-radius:50%;background:#7E5C1E;margin-top:9px}
@media (max-width:834px){.bx-caps{grid-template-columns:1fr;gap:12px}.bx-cap{padding:0 20px}}
/* demo: the fine second lede */
.x .dm__lede--fine{margin-top:12px;font-size:16px;color:#6E6A66}
/* ══ /coverage/ (27 Sep 2026) ══ */
.cvp{background:#F2F0EF}
.cvp__hero{padding:clamp(56px,8vw,110px) 0 clamp(32px,4vw,48px)}
.x .cvp__hero h1{margin:18px 0 0;font:500 clamp(38px,4.6vw,60px)/1.06 var(--cb-serif);letter-spacing:-.012em;color:#1D1B1A}
.x .cvp__lede{margin:20px 0 0;font:400 clamp(19px,1.8vw,22px)/1.45 var(--cb-sans);color:#1D1B1A;max-width:48ch}
.x .cvp__sub{margin:14px 0 0;font:400 17px/1.5 var(--cb-sans);color:#48443F;max-width:66ch}
.cvp__nums{padding:0 0 clamp(40px,5vw,64px)}
.cvp__ng{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.cvp__ng li{background:#FBF9F4;border-radius:20px;padding:22px 24px}
.x .cvp__ng b{display:block;font:500 clamp(30px,3vw,40px)/1 var(--cb-serif);color:#1D1B1A;letter-spacing:-.01em}
.x .cvp__ng span{display:block;margin-top:8px;font:400 15px/1.4 var(--cb-sans);color:#48443F}
.cvp__reg{padding:clamp(40px,5vw,72px) 0 clamp(64px,8vw,104px)}
.cvp__list{margin-top:clamp(28px,3vw,40px);display:grid;gap:12px}
.cv{background:#FBF9F4;border-radius:22px;padding:0 26px;border:1px solid rgba(29,27,26,.06)}
.cv>summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:minmax(0,1fr) auto 20px;column-gap:18px;align-items:center;padding:22px 0;min-height:44px}
.cv>summary::-webkit-details-marker{display:none}
.x .cv__n{font:600 21px/1.2 var(--cb-sans);letter-spacing:-.01em;color:#1D1B1A}
.x .cv__s{font:600 13px/1.2 var(--cb-sans);letter-spacing:.06em;text-transform:uppercase;color:#7E5C1E;white-space:nowrap}
.cv .bx-acc__chev{width:20px;height:20px;color:#6E6A66;transition:transform .25s}.cv[open] .bx-acc__chev{transform:rotate(180deg)}
.x .cv__d{margin:0;padding:6px 0 24px;border-top:1px solid rgba(29,27,26,.08);display:grid;grid-template-columns:120px 1fr;gap:12px 20px}
.x .cv__d dt{font:600 13px/1.5 var(--cb-sans);letter-spacing:.06em;text-transform:uppercase;color:#6E6A66;padding-top:12px}
.x .cv__d dd{margin:0;font:400 16px/1.5 var(--cb-sans);color:#3A3634;padding-top:12px}
@media (max-width:834px){.cvp__ng{grid-template-columns:repeat(2,1fr)}.cv>summary{grid-template-columns:minmax(0,1fr) 20px}.x .cv__s{grid-column:1;white-space:normal;margin-top:4px}.x .cv__d{grid-template-columns:1fr;gap:0}.x .cv__d dd{padding-top:4px}}
@media (max-width:480px){.cvp__ng{grid-template-columns:1fr}.cv{padding:0 18px}}
@media (max-width:734px){.x .bx-open .bx-kick{font-size:11.5px!important;letter-spacing:.06em!important;white-space:nowrap}}

/* ══ /coverage/ rebuilt (27 Sep, Benjie: "to the standard of Apple: phones, laptops, hero photos") ══ */
.cvh{position:relative;min-height:min(88vh,860px);display:flex;align-items:flex-end;overflow:hidden;background:#0E0D0C;color:#F7F5F0}
.cvh .cvh__bg,.cvh .cvh__bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 38%}
.cvh::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(14,13,12,.94) 0%,rgba(14,13,12,.7) 30%,rgba(14,13,12,.2) 58%,rgba(14,13,12,0) 78%)}
.cvh__copy{position:relative;z-index:1;width:100%;max-width:1120px;margin:0 auto;padding:0 22px clamp(64px,9vh,112px);text-align:center}
.x .cvh .bx-kick{color:#E3C88A}
.x .cvh h1{margin:18px auto 0;max-width:16ch;font:500 clamp(40px,5.4vw,76px)/1.05 var(--cb-serif);letter-spacing:-.012em;color:#F7F5F0;text-wrap:balance}
.x .cvh__lede{margin:22px auto 0;max-width:56ch;font:400 clamp(17px,1.6vw,20px)/1.5 var(--cb-sans);color:rgba(247,245,240,.86);text-wrap:pretty}
.x .cvh .ctas{margin-top:30px;justify-content:center;gap:14px 26px}
.cvh .btn{background:var(--teal-l)!important;color:#fff!important}.cvh .more{color:var(--gold-d)}
.cvn{background:#0E0D0C;color:#F7F5F0;padding:0 0 clamp(64px,8vw,104px)}
.cvn__g{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.cvn__g li{padding:22px 4px 0;border-top:1px solid rgba(247,245,240,.16)}
.x .cvn__g b{display:block;font:500 clamp(30px,2.8vw,40px)/1 var(--cb-serif);color:#F7F5F0;letter-spacing:-.01em}
.x .cvn__g span{display:block;margin-top:8px;font:400 14px/1.4 var(--cb-sans);color:#B9B4AE}
.x .cvn .bh-fine{color:#8E8983;margin-top:28px}
.cvw{background:#1D1B1A;color:#F7F5F0;padding:clamp(72px,9vw,128px) 0 0;overflow:hidden}
.cvw .bh-wrap{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,5vw,72px);align-items:center}
.x .cvw h2{margin:16px 0 0;font:600 clamp(30px,3.6vw,48px)/1.08 var(--cb-sans);letter-spacing:-.018em;color:#F7F5F0;text-wrap:balance}
.x .cvw__copy p:not(.bx-kick){margin:18px 0 0;font:400 clamp(16px,1.4vw,18px)/1.5 var(--cb-sans);color:#B9B4AE;max-width:46ch}
.cvw__phones{position:relative;height:clamp(380px,40vw,560px);display:flex;justify-content:center;align-items:flex-end;gap:0}
.cvw__phones .phone{width:min(230px,26vw);flex:none;transform:translateY(12%)}
.cvw__phones .phone:nth-child(1){transform:translate(22%,18%) rotate(-6deg);z-index:1}
.cvw__phones .phone:nth-child(2){width:min(270px,30vw);transform:translateY(6%);z-index:2;box-shadow:0 0 0 1px #0b0b0c,0 50px 90px -30px rgba(0,0,0,.8)}
.cvw__phones .phone:nth-child(3){transform:translate(-22%,18%) rotate(6deg);z-index:1}
.cvr{background:#F2F0EF;padding:clamp(72px,9vw,120px) 0 clamp(56px,7vw,96px)}
.cvr__list{margin-top:clamp(40px,5vw,64px);display:grid;gap:20px}
.cvb{background:#FBF9F4;border-radius:28px;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:stretch;min-height:520px}
.cvb--flip{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
.cvb--flip .cvb__copy{order:2}.cvb--flip .cvb__pic{order:1}
.cvb__copy{padding:clamp(28px,3.4vw,44px)}
.x .cvb h3{margin:12px 0 18px;font:600 clamp(26px,2.6vw,34px)/1.12 var(--cb-sans);letter-spacing:-.014em;color:#1D1B1A}
.x .cvb .cv__d{border-top:0;padding:0;grid-template-columns:104px 1fr;gap:6px 18px}
.x .cvb .cv__d dt,.x .cvb .cv__d dd{padding-top:10px}
.x .cvb .cv__d dd{font-size:15px;line-height:1.5}
.cvb__pic{background:linear-gradient(180deg,#26232 0%,#1D1B1A 100%);background:#1D1B1A;display:flex;justify-content:center;align-items:flex-end;overflow:hidden;padding:36px 24px 0}
.cvb__pic .phone{width:min(250px,60%);transform:translateY(8%)}
.cvb__pic--plan{align-items:center;padding:0}
.cvb__pic--plan span{font:600 14px/1 var(--cb-sans);letter-spacing:.14em;text-transform:uppercase;color:#D4AF67;border:1px solid rgba(212,175,103,.5);border-radius:999px;padding:12px 18px}
@media (max-width:1068px){.cvn__g{grid-template-columns:repeat(3,1fr)}}
@media (max-width:834px){
  .cvw .bh-wrap{grid-template-columns:1fr}.cvw__phones{height:340px}.cvw__phones .phone{width:34vw}.cvw__phones .phone:nth-child(2){width:40vw}
  .cvb,.cvb--flip{grid-template-columns:1fr;min-height:0}.cvb--flip .cvb__copy{order:1}.cvb--flip .cvb__pic{order:2}
  .cvb__pic{height:300px;padding-top:28px}.cvb__pic .phone{width:min(210px,54%)}.cvb__pic--plan{height:120px}
  .cvn__g{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:480px){.cvn__g{grid-template-columns:1fr 1fr;gap:10px}.x .cvb .cv__d{grid-template-columns:1fr}.x .cvb .cv__d dd{padding-top:2px}}
/* coverage hero, pass 2: dark ground with a faint photograph, copy, then the world in three phones (one on a phone) */
.cvh{display:block;min-height:0;padding:clamp(56px,8vw,104px) 0 0;text-align:center}
.cvh::after{background:linear-gradient(180deg,rgba(14,13,12,.28) 0%,rgba(14,13,12,.22) 30%,rgba(14,13,12,.55) 62%,rgba(14,13,12,.92) 84%,#0E0D0C 100%)}
.cvh .cvh__bg img{opacity:1}
.cvh__copy{padding:0 22px 8px}
.cvh__phones{position:relative;z-index:1;height:clamp(300px,34vw,480px);margin-top:clamp(28px,4vw,48px);display:flex;justify-content:center;align-items:flex-start;overflow:hidden;
  -webkit-mask-image:linear-gradient(180deg,#000 70%,transparent);mask-image:linear-gradient(180deg,#000 70%,transparent)}
.cvh__phones .phone{flex:none;width:min(240px,24vw)}
.cvh__phones .phone:nth-child(1){transform:translate(26%,14%) rotate(-7deg);z-index:1}
.cvh__phones .phone:nth-child(2){width:min(290px,28vw);z-index:2;box-shadow:0 0 0 1px #0b0b0c,0 50px 90px -30px rgba(0,0,0,.85)}
.cvh__phones .phone:nth-child(3){transform:translate(-26%,14%) rotate(7deg);z-index:1}
.cvh .only-d{display:block}
.cvw{padding:clamp(72px,9vw,120px) 0}
.cvw .bh-wrap{display:block;max-width:820px;text-align:center}
.x .cvw__copy p:not(.bx-kick){margin-left:auto;margin-right:auto;max-width:60ch}
@media (max-width:834px){
  .cvh__phones{height:300px}.cvh .only-d{display:none!important}.cvh__phones .phone:nth-child(2){width:min(240px,62vw)}
  .x .cvw h2{font-size:clamp(28px,7vw,36px)}
}

.x .cvh h1,.x .cvh__lede{text-shadow:0 2px 24px rgba(0,0,0,.6)}
.cvh__phones .phone{box-shadow:0 0 0 1px #0b0b0c,0 40px 80px -30px rgba(0,0,0,.9)}
/* coverage numbers: world-scale tiles (27 Sep); a year span must not wrap */
.x .cvn__g b{font-size:clamp(26px,2.3vw,34px);white-space:nowrap;letter-spacing:-.02em}
.x .cvn__g span{min-height:3.9em}
@media (max-width:480px){.x .cvn__g b{font-size:26px}.x .cvn__g span{min-height:0}}

/* 27 Sep 2026: level cards carry no numbers (Benjie) */
.x .bh-lv::before{content:none}

/* ── 27 Sep 2026: films (Apple-style film panel, Films row, overlay player) ── */
.x .bx-film{background:#000;color:#F5F5F7;padding:0 0 96px;margin-top:-1px}
.x .bx-film .bh-wrap{max-width:1180px}
.x .bx-film__fr{position:relative;aspect-ratio:16/9;border-radius:28px;overflow:hidden;background:#111;box-shadow:0 30px 80px rgba(0,0,0,.6)}
.x .bx-film__loop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.x .bx-film__hit{position:absolute;inset:0;width:100%;height:100%;border:0;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}
.x .bx-film__hit .bx-play--big{opacity:0;transform:scale(.92);transition:opacity .25s,transform .25s}
.x .bx-film__hit:hover .bx-play--big,.x .bx-film__hit:focus-visible .bx-play--big{opacity:1;transform:none}
.x .bx-film__hit:focus-visible{outline:3px solid #fff;outline-offset:-3px}
.x .bx-film__row{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-top:36px}
.x .bx-film__row .bx-kick{margin:0 0 10px}
.x .bx-film__h{margin:0;font:600 clamp(28px,3.4vw,44px)/1.1 var(--cb-sans);letter-spacing:-.02em;color:#F5F5F7;max-width:16ch;text-wrap:balance}
.x .bx-film__p{margin:12px 0 0;font:400 17px/1.5 var(--cb-sans);color:#A1A1A6;max-width:44ch}
.x .bx-play{display:inline-flex;align-items:center;gap:10px;background:#fff;color:#000;border:0;border-radius:980px;padding:12px 22px 12px 16px;font:500 17px/1.2 var(--cb-sans);letter-spacing:-.01em;cursor:pointer;white-space:nowrap;transition:transform .2s,background .2s}
.x .bx-play:hover{background:#E8E8ED}
.x .bx-play:focus-visible{outline:3px solid #0071E3;outline-offset:3px}
.x .bx-play__i{width:18px;height:18px;flex:none}
.x .bx-play__d{color:#6E6E73;font-weight:400;margin-left:2px}
.x .bx-play--big{width:88px;height:88px;padding:0;justify-content:center;gap:0;background:rgba(255,255,255,.92);backdrop-filter:blur(10px)}
.x .bx-play--big .bx-play__i{width:34px;height:34px;margin-left:4px}
.x .bx-play--badge{position:absolute;left:16px;bottom:16px;width:44px;height:44px;padding:0;justify-content:center;gap:0;background:rgba(255,255,255,.92);backdrop-filter:blur(10px)}
.x .bx-play--badge .bx-play__i{width:18px;height:18px;margin-left:2px}
/* Films row */
.x .bx-films .bh-lede{max-width:52ch}
.x .bx-films__g{list-style:none;margin:40px auto 0;padding:0 22px;max-width:1180px;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.x .bx-fc{display:block;width:100%;text-align:left;background:transparent;border:0;padding:0;cursor:pointer;color:inherit;font:inherit}
.x .bx-fc__pic{position:relative;display:block;aspect-ratio:16/9;border-radius:18px;overflow:hidden;background:#111;box-shadow:0 12px 36px rgba(0,0,0,.18);transition:transform .3s}
.x .bx-fc__pic img{display:block;width:100%;height:100%;object-fit:cover}
.x .bx-fc:hover .bx-fc__pic{transform:translateY(-3px)}
.x .bx-fc:focus-visible{outline:none}.x .bx-fc:focus-visible .bx-fc__pic{outline:3px solid #0071E3;outline-offset:3px}
.x .bx-fc__t{display:block;margin:16px 0 0;font:600 19px/1.25 var(--cb-sans);letter-spacing:-.01em;color:#1D1B1A}
.x .bx-fc__d{display:block;margin:4px 0 0;font:400 15px/1.4 var(--cb-sans);color:#6E6E73}
.dark .bx-fc__t,.sec.dark .bx-fc__t{color:#F5F5F7}
/* audience panel link */
.x .bx-acc__film{display:inline-flex;align-items:center;gap:8px;margin:14px 0 0 18px;background:transparent;border:0;padding:0;font:400 17px/1.3 var(--cb-sans);color:var(--blue);cursor:pointer}
.x .bx-acc__film .bx-play__i{width:16px;height:16px}
.x .bx-acc__film:hover span:first-of-type{text-decoration:underline}
.x .bx-acc__film .bx-play__d{color:#6E6E73}
/* overlay player */
.fo{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px}
.fo[hidden]{display:none}
.fo__bd{position:absolute;inset:0;background:rgba(0,0,0,.94)}
.fo__box{position:relative;width:min(1240px,100%);max-height:100%;display:flex;flex-direction:column;gap:14px}
.fo__v{display:block;width:100%;height:auto;max-height:calc(100svh - 120px);aspect-ratio:16/9;background:#000;border-radius:18px;outline:none}
.fo__v::cue{font:500 clamp(15px,1.6vw,24px)/1.35 var(--cb-sans);background:rgba(0,0,0,.65);color:#fff}
.fo__t{margin:0;font:400 15px/1.4 var(--cb-sans);color:#A1A1A6;text-align:center}
.fo__x{position:absolute;right:0;top:-58px;width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.14);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer}
.fo__x svg{width:20px;height:20px}
.fo__x:hover{background:rgba(255,255,255,.26)}
.fo__x:focus-visible{outline:3px solid #fff;outline-offset:2px}
html.fo-open,html.fo-open body{overflow:hidden}
@media (prefers-reduced-motion:reduce){.x .bx-film__hit .bx-play--big{opacity:1;transform:none;transition:none}.x .bx-fc:hover .bx-fc__pic{transform:none}}
@media (max-width:1068px){.x .bx-films__g{grid-template-columns:repeat(2,1fr)}}
@media (max-width:734px){
  .x .bx-film{padding-bottom:64px}
  .x .bx-film__fr{border-radius:18px}
  .x .bx-film__row{flex-direction:column;align-items:flex-start;gap:20px;margin-top:26px}
  .x .bx-film__row .bx-play{align-self:stretch;justify-content:center}
  .x .bx-film__hit .bx-play--big{opacity:1;transform:none;width:64px;height:64px}
  .x .bx-film__hit .bx-play--big .bx-play__i{width:26px;height:26px}
  .x .bx-films__g{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding:0 22px 12px;margin-top:28px;scrollbar-width:none}
  .x .bx-films__g::-webkit-scrollbar{display:none}
  .x .bx-films__g li{flex:0 0 82vw;scroll-snap-align:start}
  .x .bx-fc__t{font-size:17px;margin-top:12px}
  .fo{padding:0}.fo__box{width:100%;gap:10px;padding:0 12px}.fo__v{border-radius:12px;max-height:100svh}
  .fo__x{top:auto;bottom:-64px;right:12px}
  .x .bx-acc__film{margin-left:0}
}

/* 27 Sep 2026: films rail — no reveal motion on the film frame or cards (they slid up as they entered), snap to proximity with scroll padding so card 1 is not cut off, no hover lift on touch */
.x .bx-film__fr.rv,.x .bx-films__g li.rv{opacity:1;transform:none;transition:none}
.x .bx-films__g{scroll-padding-inline:22px;overscroll-behavior-x:contain}
@media (max-width:734px){
  .x .bx-films__g{scroll-snap-type:x proximity}
  .x .bx-fc:hover .bx-fc__pic,.x .bx-fc:active .bx-fc__pic{transform:none}
  .x .bx-fc__pic{transition:none}
}
@media (hover:none){.x .bx-fc:hover .bx-fc__pic{transform:none}}
