@font-face {
  font-family:"DM Sans";
  font-style:normal;
  font-weight:300 600;
  font-display:swap;
  src:url("../assets/fonts/dm-sans-latin-ext.woff2") format("woff2");
  unicode-range:U+0100-024F,U+1E00-1EFF,U+20A0-20AB,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family:"DM Sans";
  font-style:normal;
  font-weight:300 600;
  font-display:swap;
  src:url("../assets/fonts/dm-sans-latin.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family:"Libre Caslon Display";
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url("../assets/fonts/libre-caslon-display-latin-ext.woff2") format("woff2");
  unicode-range:U+0100-024F,U+1E00-1EFF,U+20A0-20AB,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family:"Libre Caslon Display";
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url("../assets/fonts/libre-caslon-display-latin.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

:root {
  --ink: #080909;
  --graphite: #111211;
  --surface: #171816;
  --gold: #c7a35b;
  --gold-light: #c7a35b;
  --paper: #f3efe6;
  --muted: #afada4;
  --line: rgba(199,163,91,.25);
  --white-line: rgba(255,255,255,.1);
  --serif: "Libre Caslon Display", Georgia, serif;
  --sans: "DM Sans", Arial, sans-serif;
  --shell: min(1220px, calc(100% - 64px));
  --section: clamp(96px, 12vw, 180px);
  --ease: cubic-bezier(.2,.7,.2,1);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; background:var(--ink); color:var(--paper); font-family:var(--sans); font-weight:300; line-height:1.7; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }
body::before { content:""; position:fixed; inset:0; pointer-events:none; opacity:.12; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.18'/%3E%3C/svg%3E"); z-index:20; }
a { color: inherit; text-decoration: none; }
img { display:block; max-width:100%; }
button,input,textarea { font:inherit; }
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible {
  outline:2px solid var(--gold-light);
  outline-offset:4px;
}
.skip-link {
  position:fixed;
  top:12px;
  left:12px;
  z-index:1000;
  padding:10px 16px;
  border:1px solid var(--gold);
  border-radius:3px;
  background:var(--paper);
  color:var(--ink);
  font-size:.84rem;
  font-weight:600;
  transform:translateY(calc(-100% - 24px));
  transition:transform .25s var(--ease);
}
.skip-link:focus { transform:translateY(0); }
.shell { width: var(--shell); margin-inline:auto; }
.narrow { max-width:850px; }
.section { padding-block:var(--section); }
.section-graphite { background:var(--graphite); }
.section-label,.kicker { color:var(--gold-light); font-size:.82rem; font-weight:500; line-height:1.45; letter-spacing:.15em; text-transform:uppercase; }
h1,h2,h3,p { margin-top:0; }
h1,h2 { font-family:var(--serif); font-weight:400; text-wrap:balance; overflow-wrap:normal; word-break:normal; hyphens:none; }
h1 { letter-spacing:-.028em; line-height:1.015; }
h2 { letter-spacing:-.022em; line-height:1.065; }
h1 { font-size:clamp(3.5rem,8vw,7.6rem); max-width:980px; }
h2 { font-size:clamp(2.65rem,5.4vw,5.4rem); }
h3 { font-size:1.25rem; font-weight:500; line-height:1.32; text-wrap:balance; overflow-wrap:break-word; }
p { text-wrap:pretty; }
.lead { font-size:clamp(1.1rem,2vw,1.45rem); line-height:1.58; color:#d5d2c9; max-width:710px; }
.muted,.prose { color:var(--muted); }
.button { display:inline-flex; align-items:center; justify-content:center; gap:15px; min-height:52px; padding:0 25px; border:1px solid var(--gold); border-radius:3px; background:var(--gold); color:#0a0a09; font-size:.84rem; font-weight:600; letter-spacing:.02em; transition:.45s var(--ease); }
.button svg { width:17px; fill:none; stroke:currentColor; stroke-width:1.5; transition:transform .45s var(--ease); }
.button:hover { background:var(--gold-light); transform:translateY(-2px); box-shadow:0 12px 34px rgba(199,163,91,.12); }
.button:hover svg { transform:translate(3px,-2px); }
.button-outline { background:transparent; color:var(--gold-light); }
.button-outline:hover { color:#0a0a09; }
.button-small { min-height:42px; padding:0 17px; }
.text-link { display:inline-flex; gap:12px; color:var(--gold-light); font-size:.86rem; font-weight:500; }
.text-link span { transition:transform .4s var(--ease); }
.text-link:hover span { transform:translate(4px,-3px); }
.site-header { position:fixed; top:0; left:0; right:0; z-index:50; border-bottom:1px solid transparent; transition:background .4s,backdrop-filter .4s,border-color .4s; }
.site-header.scrolled { background:rgba(8,9,9,.88); backdrop-filter:blur(18px); border-bottom-color:transparent; }
.header-inner { min-height:102px; display:flex; align-items:center; justify-content:space-between; gap:30px; transition:min-height .5s var(--ease); }
.brand { display:flex; align-items:center; gap:13px; min-width:225px; }
.brand-mark { width:46px; height:46px; display:grid; place-items:center; flex:0 0 auto; }
.brand-mark img { width:100%; height:100%; object-fit:contain; }
.brand-copy { display:grid; line-height:1.18; }
.brand-copy strong { letter-spacing:.12em; font-size:.92rem; }
.brand-copy small { color:#c6c2b8; font-size:.69rem; }
.brand-copy em { color:var(--gold); font-size:.55rem; font-style:normal; letter-spacing:.08em; text-transform:uppercase; }
.site-header .brand { gap:15px; min-width:250px; }
.site-header .brand-mark { width:54px; height:54px; }
.site-header .brand-copy { line-height:1.2; }
.site-header .brand-copy strong { font-size:1rem; }
.site-header .brand-copy small { font-size:.76rem; }
.site-header .brand-copy em { font-size:.61rem; }
.site-header .brand,.site-header .site-nav>a,.site-header .nav-toggle { opacity:0; transform:translateY(-10px); }
.site-header.header-ready .brand { animation:headerEnter .7s var(--ease) .04s both; }
.site-header.header-ready .site-nav>a:nth-child(1) { animation:headerEnter .62s var(--ease) .12s both; }
.site-header.header-ready .site-nav>a:nth-child(2) { animation:headerEnter .62s var(--ease) .18s both; }
.site-header.header-ready .site-nav>a:nth-child(3) { animation:headerEnter .62s var(--ease) .24s both; }
.site-header.header-ready .site-nav>a:nth-child(4) { animation:headerEnter .62s var(--ease) .30s both; }
.site-header.header-ready .site-nav>a:nth-child(5) { animation:headerEnter .62s var(--ease) .36s both; }
.site-header.header-ready .site-nav>a:nth-child(6) { animation:headerEnter .62s var(--ease) .42s both; }
.site-header.header-ready .site-nav>a:nth-child(7) { animation:headerEnter .62s var(--ease) .48s both; }
.site-header.header-ready .nav-toggle { animation:headerEnter .62s var(--ease) .15s both; }
.site-header .brand-mark,.site-header .brand-copy strong,.site-header .brand-copy small,.site-header .brand-copy em { transition:.5s var(--ease); }
.site-header .site-nav .button { background-color:var(--gold); transition:background-color .35s var(--ease),border-color .35s var(--ease),transform .4s var(--ease),box-shadow .4s var(--ease); }
.site-header .site-nav .button svg { transform-origin:center; will-change:transform; }
.site-header .site-nav .button:hover { background:#d8b86f; border-color:#d8b86f; transform:translateY(-2px) scale(1.01); box-shadow:0 10px 24px rgba(199,163,91,.13),0 0 0 1px rgba(238,211,151,.1); }
.site-header .site-nav .button:hover svg { transform:translate(4px,-3px) rotate(-6deg) scale(1.38); }
@media (min-width:761px) {
  .site-header.scrolled .header-inner { min-height:78px; }
  .site-header.scrolled .brand-mark { width:44px; height:44px; }
  .site-header.scrolled .brand-copy strong { font-size:.9rem; }
  .site-header.scrolled .brand-copy small { font-size:.68rem; }
  .site-header.scrolled .brand-copy em { font-size:.54rem; }
  .site-header.scrolled .site-nav .button { min-height:40px; padding-inline:16px; }
}
.site-nav { display:flex; align-items:center; gap:clamp(15px,2vw,30px); }
.site-nav>a:not(.button) { position:relative; font-size:.78rem; color:#cfccc3; }
.site-nav>a:not(.button).active { color:var(--gold-light); font-weight:600; text-shadow:0 0 18px rgba(199,163,91,.16); }
.site-nav>a:not(.button)::after { content:""; position:absolute; left:0; right:100%; bottom:-8px; height:1px; background:var(--gold); transition:.4s var(--ease); }
.site-nav>a:hover::after,.site-nav>a.active::after { right:0; }
.nav-toggle { display:none; background:none; border:0; padding:10px; }
.nav-toggle span { display:block; width:25px; height:1px; background:var(--paper); margin:7px; }
.hero { min-height:100svh; position:relative; display:grid; align-items:center; overflow:hidden; padding:150px 0 54px; }
.hero-bg { position:absolute; inset:0; background:linear-gradient(90deg,rgba(5,5,5,.94) 0%,rgba(5,5,5,.7) 40%,rgba(5,5,5,.1) 74%), url("../images/hero/finance-bp-hero-meeting-v98.webp") 66% center/cover; animation:heroZoom 20s ease-out both; }
.hero-content { position:relative; z-index:1; }
.hero h1 { max-width:940px; margin:22px 0 26px; font-size:clamp(3.5rem,min(7vw,9.8vh),6.8rem); }
.hero .lead { max-width:620px; }
.hero-actions { display:flex; gap:14px; flex-wrap:wrap; margin-top:34px; }
.hero-content>.kicker,.hero-content>h1,.hero-content>.lead,.hero-content>.hero-actions,
.page-hero .back-link,.page-hero .kicker,.page-hero h1,.page-hero .lead,
.detail-hero .back-link,.detail-hero .kicker,.detail-hero h1,.detail-hero .lead { opacity:0; transform:translateY(44px); filter:blur(5px); }
.content-ready .hero-content>.kicker { animation:contentEnter .9s var(--ease) .10s both; }
.content-ready .hero-content>h1 { animation:contentEnter 1.1s var(--ease) .30s both; }
.content-ready .hero-content>.lead { animation:contentEnter 1s var(--ease) .58s both; }
.content-ready .hero-content>.hero-actions { animation:contentEnter 1s var(--ease) .82s both; }
.content-ready .page-hero .back-link { animation:contentEnter .7s var(--ease) .04s both; }
.content-ready .page-hero .kicker { animation:contentEnter .8s var(--ease) .12s both; }
.content-ready .page-hero h1 { animation:contentEnter 1s var(--ease) .22s both; }
.content-ready .page-hero .lead { animation:contentEnter .9s var(--ease) .38s both; }
.content-ready .detail-hero .back-link { animation:contentEnter .7s var(--ease) .04s both; }
.content-ready .detail-hero .kicker { animation:contentEnter .8s var(--ease) .12s both; }
.content-ready .detail-hero h1 { animation:contentEnter 1s var(--ease) .22s both; }
.content-ready .detail-hero .lead { animation:contentEnter .9s var(--ease) .38s both; }
.scroll-cue { position:absolute; right:32px; bottom:30px; writing-mode:vertical-rl; font-size:.65rem; letter-spacing:.16em; color:var(--muted); text-transform:uppercase; }
.hero-ai-label { position:absolute; z-index:2; right:10px; bottom:7px; color:rgba(238,235,226,.4); font-size:.43rem; font-weight:400; line-height:1; letter-spacing:.09em; text-transform:uppercase; }
.experience-strip { position:relative; background:#090a09; border-top:1px solid rgba(199,163,91,.18); border-bottom:1px solid rgba(199,163,91,.18); }
.experience-grid { display:grid; grid-template-columns:repeat(3,1fr); }
.experience-grid article { position:relative; min-height:130px; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:8px; padding:10px 34px; text-align:center; }
.experience-grid article+article::before { content:""; position:absolute; left:0; top:18px; bottom:18px; width:1px; background:linear-gradient(180deg,transparent,rgba(199,163,91,.34),transparent); }
.experience-grid strong { color:var(--paper); font-family:var(--serif); font-size:clamp(3.2rem,5vw,5.5rem); font-weight:400; line-height:.9; letter-spacing:-.035em; font-variant-numeric:tabular-nums; }
.experience-grid strong small { color:var(--gold-light); font-family:var(--sans); font-size:.22em; font-weight:500; letter-spacing:.08em; text-transform:uppercase; }
.experience-grid span { max-width:230px; color:var(--gold-light); font-size:.68rem; font-weight:500; line-height:1.55; letter-spacing:.14em; text-transform:uppercase; }
.intro { position:fixed; inset:0; z-index:100; display:grid; place-items:center; background:#050606; transition:opacity .65s var(--ease),visibility .65s; }
.intro.leave { opacity:0; visibility:hidden; }
.intro-inner { display:grid; justify-items:center; gap:26px; }
.intro-mark { width:100px; height:100px; display:grid; place-items:center; animation:fadeUp .8s var(--ease) both; }
.intro-mark img { width:100%; height:100%; object-fit:contain; filter:drop-shadow(0 8px 24px rgba(199,163,91,.12)); }
.intro-line { width:140px; height:1px; background:rgba(199,163,91,.18); overflow:hidden; }
.intro-line::after { content:""; display:block; width:100%; height:100%; background:var(--gold-light); transform-origin:left; animation:loadLine .9s .25s var(--ease) both; }
.trust-head { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:end; margin-bottom:72px; }
.trust-head h2 { margin-bottom:0; }
.marquee { overflow:hidden; mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent); }
.marquee-track { width:max-content; display:flex; animation:marquee 42s linear infinite; }
.marquee.is-paused .marquee-track { animation-play-state:paused; }
.marquee-track>div { display:flex; align-items:center; }
.marquee a { width:230px; min-height:112px; display:grid; place-items:center; padding:20px 26px; border-right:1px solid rgba(199,163,91,.3); transition:background .5s var(--ease),border-color .5s var(--ease); }
.marquee a img { width:180px; height:66px; object-fit:contain; filter:grayscale(1) brightness(2.25) contrast(.98); opacity:.78; transform:scale(.98); transition:filter .6s var(--ease),opacity .5s var(--ease),transform .65s var(--ease); }
.marquee.is-paused a:not(.is-hovered) img { opacity:.32; }
.marquee a:hover,.marquee a.is-hovered { border-color:rgba(231,201,138,.82); background:linear-gradient(180deg,rgba(199,163,91,.035),rgba(199,163,91,.075),rgba(199,163,91,.035)); }
.marquee a:hover img,.marquee a.is-hovered img { opacity:1; filter:saturate(1.06) brightness(1.12) drop-shadow(0 8px 18px rgba(0,0,0,.24)); transform:scale(1.035); }
.section-footer { margin-top:48px; }
.services-list { border-top:1px solid var(--white-line); }
.service-row { display:grid; grid-template-columns:100px 1fr minmax(280px,480px) 34px; gap:40px; align-items:start; padding:50px 0; border-bottom:1px solid var(--white-line); transition:.45s var(--ease); }
.service-row:hover { padding-left:18px; border-color:var(--line); }
.service-row .number { color:var(--gold); font-family:var(--serif); font-size:1.55rem; }
.service-row h3 { font-family:var(--serif); font-weight:400; font-size:clamp(1.8rem,3vw,3rem); }
.service-row p { color:var(--muted); line-height:1.75; transition:color .45s var(--ease); }
.service-row:hover p { color:var(--gold-light); }
.service-row .arrow { color:var(--gold); transition:.4s; }
.service-row:hover .arrow { transform:translate(4px,-4px); }
.split { display:grid; grid-template-columns:1fr 1fr; gap:clamp(60px,10vw,150px); align-items:start; }
.quote { font-family:var(--serif); font-size:clamp(2.1rem,4vw,4rem); line-height:1.2; color:var(--paper); }
.company-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:64px; }
.company-marquee { overflow:hidden; margin-top:64px; padding:10px 0 48px; mask-image:linear-gradient(to right,transparent,#000 4%,#000 96%,transparent); }
.company-marquee-track { display:flex; width:max-content; animation:companyMarquee 50s linear infinite; }
.company-marquee-track>div { display:flex; gap:22px; padding-right:22px; }
.company-marquee .company-card { width:min(292px,74vw); flex:0 0 auto; }
.company-card { position:relative; border:1px solid rgba(199,163,91,.25); border-radius:4px; background:linear-gradient(145deg,rgba(255,255,255,.025),rgba(255,255,255,.008)); overflow:hidden; box-shadow:0 18px 55px rgba(0,0,0,.12); transition:transform .5s var(--ease),border-color .5s var(--ease),box-shadow .5s var(--ease),background .5s var(--ease),opacity .5s var(--ease),filter .5s var(--ease); }
.company-card-link { position:absolute; inset:0; z-index:5; }
.company-card-link:focus-visible { outline:2px solid var(--gold-light); outline-offset:-4px; }
.company-card::before { content:""; position:absolute; top:-1px; left:38px; right:38px; height:1px; z-index:3; background:linear-gradient(90deg,transparent,var(--gold),transparent); transform:scaleX(0); transform-origin:center; transition:transform .55s var(--ease); }
.company-card:hover { transform:translateY(-6px); border-color:rgba(199,163,91,.58); background:linear-gradient(145deg,rgba(199,163,91,.045),rgba(255,255,255,.012)); box-shadow:0 26px 70px rgba(0,0,0,.28); }
.company-card:hover::before { transform:scaleX(1); }
.company-visual { height:250px; display:flex; align-items:end; padding:22px; overflow:hidden; position:relative; background:#161816; }
.company-visual img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:grayscale(1) brightness(.56) contrast(1.08); transform:scale(1.01); transition:filter .65s var(--ease),transform .8s var(--ease); }
.company-visual::before { content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(180deg,rgba(8,9,9,.04) 25%,rgba(8,9,9,.86) 100%); }
.company-card:hover .company-visual img { filter:grayscale(.15) brightness(.72) contrast(1.04); transform:scale(1.055); }
.company-visual span { position:relative; z-index:2; font-size:.7rem; letter-spacing:.15em; text-transform:uppercase; color:var(--gold-light); }
.company-body { min-height:430px; display:flex; flex-direction:column; padding:28px; }
.company-body .eyebrow { display:flex; justify-content:space-between; gap:15px; color:var(--gold-light); font-size:.65rem; text-transform:uppercase; letter-spacing:.1em; }
.company-body h3 { font-family:var(--serif); font-size:clamp(1.4rem,2vw,1.75rem); font-weight:400; line-height:1.2; margin:20px 0 13px; }
.company-body p { color:var(--muted); font-size:.88rem; line-height:1.72; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.company-metrics { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:20px 0 26px; padding:18px 0; border-top:1px solid var(--white-line); border-bottom:1px solid var(--white-line); }
.company-metrics span { color:var(--muted); font-size:.65rem; text-transform:uppercase; letter-spacing:.08em; }
.company-metrics strong { display:block; margin-top:5px; color:var(--paper); font-size:.78rem; font-weight:400; letter-spacing:0; text-transform:none; }
.company-metrics,.detail-facts { font-variant-numeric:tabular-nums; }
.company-body .text-link { margin-top:auto; }
@media (min-width:981px) {
  .company-grid .company-visual { height:195px; padding:17px 22px; }
  .company-grid .company-body { min-height:360px; display:grid; grid-template-rows:18px 3.6em 4.86em 64px 24px; row-gap:9px; padding:21px 25px; }
  .company-grid .company-body .eyebrow { min-width:0; align-items:center; overflow:hidden; }
  .company-grid .company-body .eyebrow span { overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
  .company-grid .company-body h3 { height:3.6em; margin:0; display:-webkit-box; overflow:hidden; -webkit-line-clamp:3; -webkit-box-orient:vertical; }
  .company-grid .company-body p { height:4.86em; margin:0; line-height:1.62; -webkit-line-clamp:3; }
  .company-grid .company-metrics { height:64px; margin:0; padding:10px 0; align-items:start; }
  .company-grid .company-body .text-link { height:24px; margin:0; align-self:end; }
}
@media (hover:hover) and (pointer:fine) {
  .company-grid .company-card { will-change:opacity; }
  .company-grid .company-card.interaction-ready { transition:transform .45s var(--ease),border-color .45s var(--ease),box-shadow .45s var(--ease),background .45s var(--ease),opacity .28s var(--ease); transition-delay:0s; }
  .company-grid .company-visual img { will-change:filter,transform; }
  .company-grid:has(.company-card:hover) .company-card:not(:hover) { opacity:.42; filter:none; transform:none; transition-delay:0s; }
  .company-grid .company-card:hover { z-index:2; opacity:1; filter:none; transition-delay:0s; }
}
@media (min-width:761px) {
  .company-marquee .company-visual { height:158px; padding:16px; }
  .company-marquee .company-body { min-height:292px; padding:19px; }
  .company-marquee .company-card:hover { transform:none; }
  .company-marquee:has(.company-card:hover) .company-card:not(:hover) { opacity:.38; filter:none; }
  .company-marquee .company-card:hover { z-index:2; opacity:1; filter:none; }
  .company-marquee .company-card:hover .company-visual img { transform:scale(1.01); }
  .company-marquee .company-body .eyebrow { min-height:1.5em; }
  .company-marquee .company-body h3 { min-height:3.6em; margin:13px 0 9px; display:-webkit-box; overflow:hidden; font-size:1.22rem; -webkit-line-clamp:3; -webkit-box-orient:vertical; }
  .company-marquee .company-body p { font-size:.76rem; line-height:1.58; -webkit-line-clamp:2; }
  .company-marquee .company-metrics { margin:12px 0 15px; padding:11px 0; gap:6px; }
  .company-marquee .company-metrics span { font-size:.58rem; }
  .company-marquee .company-metrics strong { min-height:2.5em; font-size:.7rem; line-height:1.25; }
}
.editorial-break { min-height:70vh; display:grid; align-items:center; background:linear-gradient(90deg,rgba(7,7,7,.9),rgba(7,7,7,.24)),url("../images/hero/finance-bp-hero-meeting-v98.webp") center/cover fixed; }
.editorial-break h2 { max-width:900px; }
/* Mobile browsers repaint fixed backgrounds while their address bar resizes. */
@media (max-width:980px), (pointer:coarse) {
  .editorial-break { min-height:480px; padding-block:88px; background-attachment:scroll; background-position:58% center; background-image:linear-gradient(90deg,rgba(7,7,7,.85),rgba(7,7,7,.55)),url("../images/hero/finance-bp-hero-meeting-v98.webp"); }
}
@media (max-width:620px) {
  .editorial-break { min-height:420px; padding-block:72px; background-position:62% center; }
  .editorial-break h2 { max-width:12ch; font-size:clamp(2.5rem,10.5vw,3.6rem); margin-bottom:0; }
}
.page-hero { padding:210px 0 110px; border-bottom:1px solid var(--white-line); }
.page-hero h1 { font-size:clamp(3.8rem,7vw,7rem); }
.about-button { min-height:58px; margin-top:38px; padding:0 29px; font-size:.9rem; }
.timeline { --timeline-progress:0; position:relative; margin-top:80px; padding-left:42px; }
.timeline::before,.timeline::after { content:""; position:absolute; top:0; left:0; width:1px; height:var(--timeline-line-length,100%); transform-origin:top; }
.timeline::before { background:rgba(199,163,91,.22); }
.timeline::after { background:linear-gradient(180deg,var(--gold-light),var(--gold)); transform:scaleY(var(--timeline-progress)); transition:transform .22s linear; box-shadow:0 0 12px rgba(199,163,91,.18); }
.timeline article { position:relative; padding:0 0 65px 25px; }
.timeline article.reveal { transition-duration:1s; }
.timeline article::before { content:""; position:absolute; z-index:1; left:-48px; top:6px; width:10px; height:10px; background:var(--ink); border:1px solid var(--gold); border-radius:50%; transition:background .5s var(--ease),box-shadow .5s var(--ease),transform .5s var(--ease); }
.timeline article.is-timeline-active::before { background:var(--gold-light); box-shadow:0 0 0 5px rgba(199,163,91,.1),0 0 18px rgba(199,163,91,.3); transform:scale(1.08); }
.timeline small { color:var(--gold-light); font-size:.82rem; font-weight:500; line-height:1.45; letter-spacing:.15em; text-transform:uppercase; }
.timeline h3 { font-family:var(--serif); font-size:2rem; margin:8px 0; }
.timeline-scroll { position:relative; margin-top:30px; }
.timeline-stage { min-height:100vh; display:grid; align-items:center; padding:122px 0 44px; }
@media (min-width:881px) and (prefers-reduced-motion:no-preference) {
  .timeline-scroll { margin-top:0; }
  .timeline-stage { position:sticky; top:0; height:100vh; min-height:680px; overflow:hidden; }
  .timeline-stage .timeline { width:min(calc(100% - 48px),1240px); margin-top:0; }
  .timeline-stage .timeline article.reveal { opacity:0; transform:translateY(36px); filter:blur(3px); transition:opacity .85s var(--ease),transform 1s var(--ease),filter .85s var(--ease); }
  .timeline-stage .timeline article.reveal.visible { opacity:1; transform:none; filter:none; }
}
@media (max-width:880px), (prefers-reduced-motion:reduce) {
  .timeline-scroll { height:auto !important; }
  .timeline-stage { position:static; min-height:0; padding:42px 0 0; }
}
@media (max-width:880px) {
  .timeline::after { transition:none; }
}
.value-card { position:relative; overflow:hidden; border:1px solid rgba(199,163,91,.25); border-radius:4px; background:linear-gradient(145deg,rgba(255,255,255,.025),rgba(255,255,255,.008)); box-shadow:0 18px 55px rgba(0,0,0,.12); transition:transform .5s var(--ease),border-color .5s var(--ease),box-shadow .5s var(--ease),background .5s var(--ease); }
.value-card::before { content:""; position:absolute; top:-1px; left:38px; right:38px; height:1px; background:linear-gradient(90deg,transparent,var(--gold),transparent); transform:scaleX(0); transform-origin:center; transition:transform .55s var(--ease); }
.value-card:hover { transform:translateY(-6px); border-color:rgba(199,163,91,.58); background:linear-gradient(145deg,rgba(199,163,91,.045),rgba(255,255,255,.012)); box-shadow:0 26px 70px rgba(0,0,0,.28); }
.value-card:hover::before { transform:scaleX(1); }
.value-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:22px; margin-top:64px; }
.reference-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:22px; margin-top:64px; }
.value-card,.reference-card { padding:48px; min-height:260px; }
.reference-card:hover { background:var(--surface); }
.value-card span,.reference-card span { color:var(--gold); font-family:var(--serif); font-size:1.6rem; }
.value-card h3,.reference-card h3 { margin-top:50px; font-family:var(--serif); font-size:2rem; font-weight:400; }
.value-grid { gap:18px; margin-top:54px; }
.value-card { min-height:225px; padding:38px 40px; }
.value-card span { font-size:1.45rem; }
.value-card h3 { margin-top:36px; font-size:1.78rem; }
.value-card p { font-size:.94rem; line-height:1.65; }
@media (max-width:620px) {
  .value-grid { gap:16px; margin-top:42px; }
  .value-card { min-height:210px; padding:32px 28px; }
  .value-card h3 { margin-top:30px; font-size:1.65rem; }
}
.reference-card { position:relative; min-height:470px; display:grid; grid-template-rows:150px auto auto 1fr; align-content:start; row-gap:22px; overflow:hidden; border:1px solid rgba(199,163,91,.25); border-radius:4px; background:linear-gradient(145deg,rgba(255,255,255,.025),rgba(255,255,255,.008)); box-shadow:0 18px 55px rgba(0,0,0,.12); transition:transform .5s var(--ease),border-color .5s var(--ease),box-shadow .5s var(--ease),background .5s var(--ease); }
.reference-card:target { scroll-margin-top:130px; border-color:rgba(231,201,138,.82); background:linear-gradient(145deg,rgba(199,163,91,.09),rgba(255,255,255,.014)); box-shadow:0 30px 85px rgba(0,0,0,.35),0 0 0 1px rgba(199,163,91,.12); }
.reference-card:target::before { transform:scaleX(1); }
.reference-card::before { content:""; position:absolute; top:-1px; left:38px; right:38px; height:1px; background:linear-gradient(90deg,transparent,var(--gold),transparent); transform:scaleX(0); transform-origin:center; transition:transform .55s var(--ease); }
.reference-card:hover { transform:translateY(-6px); border-color:rgba(199,163,91,.58); background:linear-gradient(145deg,rgba(199,163,91,.045),rgba(255,255,255,.012)); box-shadow:0 26px 70px rgba(0,0,0,.28); }
.reference-card:hover::before { transform:scaleX(1); }
.reference-card-link { padding-bottom:82px; cursor:pointer; }
.reference-card-link:focus-visible { outline:2px solid var(--gold-light); outline-offset:4px; }
.reference-external { position:absolute; right:48px; bottom:35px; display:flex; align-items:center; gap:8px; color:var(--gold-light); opacity:.72; transition:opacity .45s var(--ease),transform .45s var(--ease); }
.reference-external svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.35; stroke-linecap:round; stroke-linejoin:round; }
.reference-external b { font-size:1rem; font-weight:400; transition:transform .45s var(--ease); }
.reference-card-link:hover .reference-external { opacity:1; transform:translateY(-2px); }
.reference-card-link:hover .reference-external b { transform:translate(3px,-3px); }
.reference-unavailable { opacity:.48; }
.reference-unavailable b { font-size:1.05rem; }
.reference-card span { display:block; align-self:end; font-family:var(--sans); font-size:.66rem; letter-spacing:.14em; text-transform:uppercase; }
.reference-card span { color:var(--gold-light); }
.reference-card h3 { margin:0; min-height:2.6em; }
.reference-card p { margin:0; align-self:start; color:var(--muted); line-height:1.72; }
.reference-logo { height:150px; position:relative; display:grid; place-items:center; overflow:hidden; padding:15px 16px 22px; border-bottom:1px solid rgba(255,255,255,.07); }
.reference-logo img { position:absolute; inset:0; width:88%; height:104px; margin:auto; object-fit:contain; filter:grayscale(1) brightness(2.22) contrast(.98); opacity:.8; transform:scale(.98); transition:filter .6s var(--ease),opacity .5s var(--ease),transform .65s var(--ease); }
.reference-card:hover .reference-logo img { opacity:1; filter:saturate(1.06) brightness(1.12) drop-shadow(0 10px 22px rgba(0,0,0,.25)); transform:scale(1.025); }
.reference-cta { position:relative; display:flex; flex-direction:column; justify-content:flex-end; align-items:flex-start; gap:24px; background:linear-gradient(145deg,#1d1e1b,#101110); }
.reference-cta:hover { background:linear-gradient(145deg,#24251f,#121310); }
.reference-cta-mark { position:absolute; top:42px; right:44px; width:120px; height:120px; object-fit:contain; opacity:.14; }
.reference-cta h3 { max-width:480px; min-height:0; margin:0; font-size:clamp(1.8rem,3vw,2.7rem); }
.reference-cta .button { margin-top:6px; }
.reference-jump { display:flex; gap:12px; flex-wrap:wrap; margin-top:48px; }
.reference-jump a { min-width:170px; display:flex; align-items:center; justify-content:space-between; gap:34px; padding:15px 18px; border:1px solid rgba(199,163,91,.4); border-radius:3px; color:var(--gold-light); font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; transition:.4s var(--ease); }
.reference-jump a span { transition:transform .4s var(--ease); }
.faq-section { background:linear-gradient(180deg,#0b0c0b 0%,var(--ink) 100%); }
.faq-heading { max-width:780px; margin-bottom:clamp(48px,7vw,78px); }
.faq-heading h2 { margin:8px 0 22px; }
.faq-list { border-top:1px solid var(--white-line); }
.faq-item { border-bottom:1px solid var(--white-line); }
.faq-item summary { position:relative; display:flex; align-items:center; min-height:108px; padding:28px 74px 28px 0; color:var(--paper); font-family:var(--serif); font-size:clamp(1.4rem,2.2vw,2rem); line-height:1.25; cursor:pointer; list-style:none; transition:color .35s var(--ease); }
.faq-item summary::-webkit-details-marker { display:none; }
.faq-item summary::after { content:"+"; position:absolute; right:0; top:50%; width:38px; height:38px; display:grid; place-items:center; translate:0 -50%; border:1px solid rgba(199,163,91,.58); border-radius:50%; color:var(--gold-light); font-family:var(--sans); font-size:1.15rem; font-weight:300; line-height:1; transition:background .35s var(--ease),color .35s var(--ease),transform .35s var(--ease); }
.faq-item summary:hover { color:var(--gold-light); }
.faq-item summary:hover::after { background:rgba(199,163,91,.09); transform:rotate(90deg); }
.faq-item[open] summary { color:var(--gold-light); }
.faq-item[open] summary::after { content:"×"; background:var(--gold); color:var(--ink); border-color:var(--gold); transform:rotate(90deg); }
.faq-answer { max-width:840px; padding:0 74px 34px 0; overflow:hidden; }
.faq-answer p { margin:0; color:var(--muted); line-height:1.85; }
.testimonials-section { position:relative; overflow:clip; padding:0; background:var(--graphite); }
.testimonials-sticky { padding-block:var(--section); }
.testimonials-head { width:var(--shell); margin:0 auto clamp(46px,6vw,72px); display:flex; align-items:end; justify-content:space-between; gap:40px; }
.testimonials-head>div:first-child { max-width:760px; }
.testimonials-head h2 { margin:8px 0 20px; }
.testimonial-slider { display:flex; gap:22px; width:100%; overflow-x:auto; padding:6px max(32px,calc((100vw - 1220px)/2)) 34px; scroll-padding-inline:max(32px,calc((100vw - 1220px)/2)); scroll-snap-type:x mandatory; overscroll-behavior-inline:contain; scrollbar-width:thin; scrollbar-color:rgba(199,163,91,.55) rgba(255,255,255,.06); }
.testimonial-slider::-webkit-scrollbar { height:4px; }
.testimonial-slider::-webkit-scrollbar-track { background:rgba(255,255,255,.06); }
.testimonial-slider::-webkit-scrollbar-thumb { background:rgba(199,163,91,.55); border-radius:10px; }
.testimonial-card { width:min(390px,82vw); min-height:350px; flex:0 0 auto; display:flex; flex-direction:column; padding:38px; scroll-snap-align:start; border:1px solid rgba(199,163,91,.25); border-radius:4px; background:linear-gradient(145deg,rgba(255,255,255,.026),rgba(255,255,255,.008)); box-shadow:0 18px 55px rgba(0,0,0,.16); transition:transform .45s var(--ease),border-color .45s var(--ease),background .45s var(--ease); }
.testimonial-card:hover { transform:translateY(-5px); border-color:rgba(199,163,91,.58); background:linear-gradient(145deg,rgba(199,163,91,.045),rgba(255,255,255,.012)); }
.testimonial-card>span { color:var(--gold); font-family:var(--serif); font-size:3rem; line-height:.8; }
.testimonial-card blockquote { margin:30px 0 42px; color:#d8d5cc; font-family:var(--serif); font-size:1.35rem; line-height:1.5; }
.testimonial-card footer { margin-top:auto; padding-top:22px; border-top:1px solid var(--white-line); }
.testimonial-card strong,.testimonial-card small { display:block; }
.testimonial-card strong { color:var(--paper); font-size:.78rem; font-weight:500; }
.testimonial-card small { margin-top:6px; color:var(--gold-light); font-size:.62rem; letter-spacing:.1em; text-transform:uppercase; }
.testimonial-progress { display:none; }
@media (min-width:881px) and (prefers-reduced-motion:no-preference) {
  .testimonials-sticky { position:sticky; top:0; height:100svh; display:grid; align-content:center; padding:70px 0 38px; overflow:hidden; }
  .testimonials-head { margin-bottom:clamp(28px,4vh,52px); }
  .testimonial-slider { width:var(--shell); margin-inline:auto; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); overflow:visible; padding:6px 0 26px; scroll-snap-type:none; scrollbar-width:none; }
  .testimonial-slider::-webkit-scrollbar { display:none; }
  .testimonial-card { width:auto; min-height:340px; padding:30px; opacity:0; transform:translateY(52px) scale(.965); transition:opacity .7s var(--ease),transform .7s var(--ease),border-color .45s var(--ease),background .45s var(--ease); }
  .testimonial-card blockquote { font-size:1.17rem; }
  .testimonial-card.is-scroll-visible { opacity:1; transform:none; }
  .testimonial-card.is-scroll-visible:hover { transform:translateY(-5px); }
  .testimonial-progress { position:absolute; left:50%; bottom:25px; width:min(1220px,calc(100% - 64px)); height:1px; display:block; translate:-50% 0; overflow:hidden; background:rgba(255,255,255,.08); }
  .testimonial-progress span { display:block; width:100%; height:100%; background:var(--gold); transform:scaleX(var(--testimonial-progress,0)); transform-origin:left; transition:transform .7s var(--ease); }
}
.reference-jump a:hover { color:var(--ink); background:var(--gold-light); border-color:var(--gold-light); }
.reference-jump a:hover span { transform:translateY(3px); }
.reference-anchor { scroll-margin-top:95px; }
.detail-hero { padding-top:220px; }
.back-link { display:inline-flex; align-items:center; gap:12px; margin-bottom:54px; color:var(--muted); font-size:.74rem; letter-spacing:.1em; text-transform:uppercase; transition:.4s var(--ease); }
.back-link span { color:var(--gold); font-size:1.1rem; transition:transform .4s var(--ease); }
.back-link:hover { color:var(--gold-light); }
.back-link:hover span { transform:translateX(-4px); }
.detail-image { position:relative; height:min(66vh,720px); overflow:hidden; border-top:1px solid var(--white-line); border-bottom:1px solid var(--white-line); background:#0b0c0b; }
.detail-image img { width:100%; height:100%; object-fit:cover; filter:grayscale(.75) brightness(.58) contrast(1.06); }
.detail-image::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(8,9,9,.44),transparent 45%,rgba(8,9,9,.18)); }
.detail-image span { position:absolute; z-index:1; left:32px; bottom:24px; color:rgba(255,255,255,.55); font-size:.65rem; letter-spacing:.12em; text-transform:uppercase; }
.detail-facts { display:grid; grid-template-columns:repeat(5,1fr); gap:1px; }
.detail-facts div { padding:38px; border-left:1px solid var(--white-line); }
.detail-facts small { display:block; color:var(--gold-light); margin-bottom:14px; text-transform:uppercase; letter-spacing:.12em; font-size:.65rem; }
.detail-facts strong { font-weight:400; }
.symbolic-note { margin-top:42px; padding-top:20px; border-top:1px solid var(--white-line); font-size:.75rem!important; color:#77776f!important; }
.prose p { font-size:1.07rem; line-height:1.88; }
.prose h3 { color:var(--paper); margin-top:45px; }
.prose li { margin-bottom:10px; }
.confidentiality { background:var(--graphite); color:var(--paper); border-top:1px solid var(--white-line); }
.confidentiality p:not(.kicker) { color:var(--muted); max-width:700px; margin-bottom:36px; }
.story-nav { counter-reset:story-nav; display:grid; gap:0; position:sticky; top:140px; align-self:start; padding:10px 0 10px 32px; }
.story-nav a { counter-increment:story-nav; position:relative; display:grid; grid-template-columns:36px 1fr; align-items:center; min-height:64px; padding:9px 16px 9px 0; border-bottom:1px solid rgba(255,255,255,.065); color:var(--muted); font-size:.9rem; letter-spacing:.045em; transition:color .4s var(--ease),padding-left .4s var(--ease); }
.story-nav a::before { content:"0" counter(story-nav); color:rgba(199,163,91,.62); font-family:var(--serif); font-size:.88rem; transition:color .4s var(--ease); }
.story-nav a::after { content:""; position:absolute; left:-32px; top:50%; width:9px; height:9px; translate:-50% -50%; border:1px solid var(--gold); border-radius:50%; background:var(--ink); box-shadow:0 0 0 5px transparent; transition:background .4s var(--ease),box-shadow .4s var(--ease),transform .4s var(--ease); }
.story-nav a:hover,.story-nav a.is-active { color:var(--gold-light); padding-left:7px; }
.story-nav a:hover::before,.story-nav a.is-active::before { color:var(--gold-light); }
.story-nav a.is-active::after { background:var(--gold-light); box-shadow:0 0 0 5px rgba(199,163,91,.1),0 0 16px rgba(199,163,91,.28); transform:scale(1.08); }
.story-copy section { margin-bottom:100px; scroll-margin-top:140px; }
.story-copy h2 { font-size:clamp(2.4rem,4vw,4.2rem); }
.story-copy p { color:var(--muted); font-size:1.06rem; line-height:1.92; }
.story-copy .section-label { color:var(--gold-light); font-size:.82rem; font-weight:500; line-height:1.45; letter-spacing:.15em; text-transform:uppercase; }
.contact-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(60px,10vw,150px); }
.contact-list { display:grid; gap:30px; margin-top:60px; }
.contact-list small { display:block; color:var(--gold-light); text-transform:uppercase; letter-spacing:.14em; }
.contact-list a { width:max-content; color:var(--paper); border-bottom:1px solid transparent; transition:.4s var(--ease); }
.contact-list a:hover { color:var(--gold-light); border-color:rgba(199,163,91,.45); }
.contact-form { position:relative; display:grid; grid-template-columns:1fr 1fr; gap:22px; padding:clamp(32px,4vw,56px); overflow:hidden; border:1px solid rgba(199,163,91,.38); border-radius:22px; background:linear-gradient(145deg,#181917,#101110 58%,#0d0e0d); box-shadow:0 38px 100px rgba(0,0,0,.38),0 0 24px rgba(199,163,91,.025),inset 0 1px 0 rgba(229,193,120,.09); }
.contact-form::before { content:""; position:absolute; inset:0; pointer-events:none; border-radius:inherit; background:linear-gradient(115deg,rgba(229,193,120,.065),transparent 20%,transparent 80%,rgba(199,163,91,.035)); opacity:.55; }
.contact-form>* { position:relative; z-index:1; }
.contact-form:focus-within .reveal { opacity:1; transform:none; filter:none; transition:none; }
.field input,.field textarea { scroll-margin-block:120px; }
.form-head { position:relative; grid-column:1/-1; display:flex; align-items:flex-start; justify-content:space-between; gap:30px; margin-bottom:8px; }
.form-head h3 { margin:8px 0 12px; font-family:var(--serif); font-size:clamp(2rem,3.5vw,3rem); font-weight:400; }
.form-head p:last-child { max-width:540px; margin-bottom:0; color:var(--muted); font-size:.88rem; }
.form-head img { width:82px; height:82px; flex:0 0 auto; object-fit:contain; opacity:.13; }
.interest-context { grid-column:1/-1; display:grid; gap:7px; margin:4px 0 12px; padding:20px 22px; border-left:2px solid var(--gold); border-radius:0 11px 11px 0; background:rgba(199,163,91,.07); }
.interest-context small { color:var(--gold-light); font-size:.62rem; letter-spacing:.14em; text-transform:uppercase; }
.interest-context strong { color:var(--paper); font-family:var(--serif); font-size:clamp(1.1rem,2vw,1.45rem); font-weight:400; line-height:1.35; }
.interest-select { grid-column:1/-1; margin:10px 0 16px; padding:0; border:0; }
.interest-select legend { margin-bottom:12px; color:#d4d0c6; font-size:.72rem; letter-spacing:.04em; }
.interest-options { display:grid; grid-template-columns:repeat(5,1fr); gap:8px; }
.interest-options label { cursor:pointer; }
.interest-options input { position:absolute; opacity:0; pointer-events:none; }
.interest-options span { min-height:44px; display:grid; place-items:center; padding:8px 11px; border:1px solid rgba(255,255,255,.09); border-radius:999px; background:rgba(255,255,255,.022); color:var(--muted); font-size:.68rem; text-align:center; transition:.35s var(--ease); }
.interest-options label:hover span { color:var(--paper); border-color:rgba(199,163,91,.35); }
.interest-options input:checked+span { border-color:rgba(199,163,91,.72); background:rgba(199,163,91,.11); color:var(--gold-light); box-shadow:inset 0 0 0 1px rgba(199,163,91,.08); }
.interest-options input:focus-visible+span { outline:2px solid var(--gold); outline-offset:3px; }
.field { display:grid; gap:10px; }
.field.full { grid-column:1/-1; }
.field label { color:#d4d0c6; font-size:.72rem; letter-spacing:.04em; }
.field input,.field textarea { width:100%; color:var(--paper); background:#0c0d0c; border:1px solid rgba(199,163,91,.22); border-radius:11px; padding:16px 17px; outline:none; transition:border-color .35s var(--ease),background .35s var(--ease),box-shadow .35s var(--ease); }
.field input::placeholder,.field textarea::placeholder { color:#716c61; font-size:.68rem; letter-spacing:.075em; opacity:1; }
.field input:hover,.field textarea:hover { border-color:rgba(199,163,91,.32); }
.field input:focus,.field textarea:focus { border-color:var(--gold); background:#10110f; box-shadow:0 0 0 4px rgba(199,163,91,.07); }
.field input.field-invalid,.field textarea.field-invalid { border-color:#c7675b; background:rgba(95,25,20,.16); box-shadow:0 0 0 3px rgba(199,103,91,.09); }
.field input.field-invalid:focus,.field textarea.field-invalid:focus { border-color:#df7b6e; box-shadow:0 0 0 4px rgba(199,103,91,.13); }
.field textarea { min-height:150px; resize:vertical; }
.form-privacy { grid-column:1/-1; margin:0; color:#77776f; font-size:.68rem; }
.privacy-consent { grid-column:1/-1; display:flex; align-items:flex-start; gap:12px; margin-top:-8px; color:#99978f; font-size:.7rem; line-height:1.6; cursor:pointer; }
.privacy-consent input { width:17px; height:17px; flex:0 0 auto; margin-top:2px; accent-color:var(--gold); cursor:pointer; }
.privacy-consent input.field-invalid { outline:2px solid #c7675b; outline-offset:3px; }
.privacy-consent a { color:var(--gold-light); border-bottom:1px solid rgba(199,163,91,.35); transition:.3s var(--ease); }
.privacy-consent a:hover { color:var(--paper); border-color:var(--gold); }
.contact-form .button { grid-column:1/-1; width:100%; min-height:58px; margin-top:4px; border:0; border-radius:11px; }
.form-status { grid-column:1/-1; color:var(--gold-light); }
.footer-trust { position:relative; overflow:hidden; padding:34px 0 30px; background:linear-gradient(180deg,rgba(199,163,91,.018),rgba(6,7,6,.4)); }
.footer-trust-head { display:flex; align-items:center; justify-content:center; margin-bottom:16px; text-align:center; }
.footer-trust-head .section-label { margin:0; color:rgba(199,163,91,.7); font-size:.6rem; font-weight:500; letter-spacing:.2em; }
.footer-marquee { mask-image:linear-gradient(to right,transparent,#000 5%,#000 95%,transparent); }
.footer-marquee .marquee-track { animation-duration:58s; }
.footer-marquee a { width:184px; min-height:78px; padding:12px 22px; border-right-color:rgba(199,163,91,.2); }
.footer-marquee a img { width:142px; height:48px; opacity:.66; }
.footer-marquee a:hover img,.footer-marquee a.is-hovered img { transform:scale(1.025); }
.site-footer { position:relative; padding:68px 0 24px; }
.site-footer::before { content:""; position:absolute; top:0; left:50%; width:var(--shell); height:1px; background:var(--white-line); transform:translateX(-50%); }
.footer-main,.footer-bottom { width:var(--shell); }
.footer-main { display:grid; grid-template-columns:1.55fr .65fr 1.1fr .8fr; align-items:start; gap:clamp(34px,4.5vw,76px); }
.footer-main>div { display:flex; flex-direction:column; gap:10px; }
.footer-main>div>small { color:var(--gold-light); text-transform:uppercase; letter-spacing:.12em; margin-bottom:15px; }
.footer-main a:not(.brand) { width:max-content; color:var(--muted); font-size:.82rem; transition:color .4s var(--ease); }
.footer-main a:not(.brand):hover { color:var(--gold-light); }
.footer-brand .brand { gap:15px; min-width:250px; }
.footer-brand .brand-mark { width:54px; height:54px; }
.footer-brand .brand-copy { line-height:1.2; }
.footer-brand .brand-copy strong { font-size:1rem; }
.footer-brand .brand-copy small { font-size:.76rem; }
.footer-brand .brand-copy em { margin-top:0; font-size:.61rem; letter-spacing:.08em; }
.footer-address p { color:var(--muted); font-size:.82rem; line-height:1.8; }
.footer-bottom { border-top:1px solid var(--white-line); margin-top:48px; padding-top:22px; color:#85847d; font-size:.72rem; letter-spacing:.025em; }
.footer-legal { display:flex; align-items:center; justify-content:center; gap:12px; min-height:32px; color:#aaa79e; text-align:center; }
.footer-legal strong { color:#aaa79e; font-weight:500; }
.footer-legal i { margin:0 3px; color:#aaa79e; font-style:normal; }
.footer-separator { color:rgba(199,163,91,.62); font-size:.6rem; }
.footer-bottom a { position:relative; display:inline-flex; align-items:center; gap:6px; color:#aaa79e; transition:color .35s var(--ease); }
.footer-bottom a::after { content:""; position:absolute; right:0; bottom:-4px; left:0; height:1px; background:var(--gold); transform:scaleX(0); transform-origin:right; transition:transform .4s var(--ease); }
.footer-bottom a b { color:var(--gold-light); font-weight:400; transition:transform .35s var(--ease); }
.footer-bottom a:hover { color:var(--gold-light); }
.footer-bottom a:hover::after { transform:scaleX(1); transform-origin:left; }
.footer-bottom a:hover b { transform:translate(2px,-2px); }
.privacy-content { max-width:860px; }
.privacy-content h2 { margin-top:64px; }
.privacy-content h3 { margin:34px 0 12px; color:var(--paper); font-family:var(--serif); font-size:1.55rem; font-weight:400; }
.privacy-content p,.privacy-content li { color:var(--muted); line-height:1.9; }
.privacy-content a { color:var(--gold-light); }
.email-nowrap { display:inline-block; white-space:nowrap; }
.reveal { opacity:0; transform:translateY(30px); filter:blur(2px); transition:opacity .9s var(--ease) var(--reveal-delay,0ms),transform .9s var(--ease) var(--reveal-delay,0ms),filter .9s var(--ease) var(--reveal-delay,0ms); }
.reveal.visible { opacity:1; transform:none; filter:blur(0); }
.services-list .service-row.reveal,.cascade-group .reveal { transform:translateY(58px); transition-duration:1.05s; }
.services-list .service-row.reveal.visible,.cascade-group .reveal.visible { transform:none; }
@keyframes loadLine { from{transform:scaleX(0)} to{transform:scaleX(1)} }
@keyframes fadeUp { from{opacity:0;transform:translateY(10px)} to{opacity:1;transform:none} }
@keyframes headerEnter { from{opacity:0;transform:translateY(-10px)} to{opacity:1;transform:none} }
@keyframes contentEnter { from{opacity:0;transform:translateY(44px);filter:blur(5px)} to{opacity:1;transform:none;filter:blur(0)} }
@keyframes heroZoom { from{transform:scale(1)} to{transform:scale(1.035)} }
@keyframes marquee { to{transform:translateX(-50%)} }
@keyframes companyMarquee { to{transform:translateX(-50%)} }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; scroll-behavior:auto!important; transition-duration:.01ms!important; } .reveal{opacity:1;transform:none;filter:none} .editorial-break{background-attachment:scroll} }
.animation-fallback .reveal { opacity:1!important; transform:none!important; filter:none!important; }
@media (max-width:1100px) and (min-width:761px) {
  .header-inner { gap:18px; }
  .site-nav { gap:14px; }
  .site-nav>a:not(.button) { font-size:.7rem; }
  .site-nav .button { display:none; }
}
@media (min-width:761px) and (max-height:820px) {
  .hero { padding-top:125px; padding-bottom:42px; }
  .hero h1 { max-width:900px; margin:16px 0 20px; font-size:clamp(3.35rem,min(6.2vw,9vh),5.65rem); }
  .hero .lead { font-size:1.05rem; line-height:1.5; }
  .hero-actions { margin-top:25px; }
}
@media (max-width:880px) and (min-width:761px) {
  .site-header .brand { min-width:165px; }
  .site-header .brand-copy small,.site-header .brand-copy em { display:none; }
}
@media (max-width:980px) {
  :root { --shell:min(100% - 36px, 760px); --section:90px; }
  .trust-head,.split,.contact-grid { grid-template-columns:1fr; gap:50px; }
  .service-row { grid-template-columns:55px 1fr 30px; gap:20px; }
  .service-row p { grid-column:2/4; }
  .company-grid { grid-template-columns:1fr 1fr; }
  .detail-facts { grid-template-columns:1fr 1fr; }
  .footer-main { grid-template-columns:1.45fr .65fr 1.1fr .8fr; }
  .story-nav { position:relative; top:auto; grid-template-columns:1fr 1fr; padding:0; border-top:1px solid rgba(199,163,91,.24); border-left:0; }
  .story-nav a { padding:10px 12px; }
  .story-nav a::after { display:none; }
  .story-nav a:hover,.story-nav a.is-active { padding-left:18px; }
}
@media (max-width:880px) {
  .footer-main { grid-template-columns:1fr 1fr; }
}
@media (max-width:760px) {
  body.nav-open { overflow:hidden; }
  .site-header { background:#080909; border-bottom:1px solid var(--white-line); }
  .site-header.scrolled { background:#080909; backdrop-filter:none; -webkit-backdrop-filter:none; }
  .nav-toggle { display:block; position:relative; z-index:3; }
  .site-nav { position:fixed; inset:0; width:100%; height:100vh; height:100dvh; padding:105px 28px 35px; background:#0b0c0b; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:clamp(14px,2.2vh,24px); overflow-y:auto; overscroll-behavior:contain; transform:translateX(105%); visibility:hidden; transition:transform .45s var(--ease),visibility .45s; }
  .site-nav.open { transform:none; visibility:visible; }
  .site-nav>a:not(.button) { font-family:var(--serif); font-size:clamp(1.55rem,3.7vh,2.25rem); line-height:1.05; }
  .site-nav .button { display:inline-flex; margin-top:10px; }
}
@media (max-width:620px) {
  :root { --shell:calc(100% - 30px); --section:74px; }
  .header-inner { min-height:82px; }
  .site-header .brand { min-width:165px; gap:12px; }
  .site-header .brand-mark { width:48px; height:48px; }
  .site-header .brand-copy strong { font-size:.94rem; }
  .site-header .brand-copy em,.site-header .brand-copy small { display:none; }
  .hero { display:block; min-height:100svh; padding:clamp(280px,76vw,360px) 0 38px; }
  .hero-bg { position:absolute; inset:82px 0 auto; width:100%; height:320px; aspect-ratio:auto; background:linear-gradient(180deg,rgba(8,9,9,.08) 15%,rgba(8,9,9,.42) 48%,rgba(8,9,9,.92) 82%,#080909 100%),url("../images/hero/finance-bp-hero-meeting-v98.webp") center 35%/cover; animation:none; }
  .hero-content { margin-top:0; padding-top:0; }
  .hero-content>.kicker { display:none; }
  .hero h1 { margin:0 0 22px; font-size:clamp(2.3rem,10vw,3.3rem); line-height:1.06; }
  .hero-actions { display:grid; grid-template-columns:1fr; gap:12px; margin-top:26px; }
  .hero-actions .button { width:100%; min-height:54px; }
  .page-hero h1 { font-size:clamp(3rem,13vw,4.15rem); line-height:1.02; }
  .scroll-cue { display:none; }
  .hero-ai-label { right:8px; top:auto; bottom:7px; font-size:.4rem; opacity:.72; }
  .experience-grid { grid-template-columns:1fr; }
  .experience-grid article { min-height:105px; padding:10px 20px; }
  .experience-grid article+article::before { left:12%; right:12%; top:0; bottom:auto; width:auto; height:1px; background:linear-gradient(90deg,transparent,rgba(199,163,91,.34),transparent); }
  .experience-grid strong { font-size:clamp(3rem,16vw,4.5rem); }
  .experience-grid span { font-size:.62rem; }
  .trust-head { margin-bottom:45px; }
  .service-row { grid-template-columns:42px 1fr 20px; padding:35px 0; }
  .service-row:hover { padding-left:0; }
  .service-row h3 { font-size:1.7rem; }
  .company-grid,.value-grid,.reference-grid { grid-template-columns:1fr; }
  .company-visual { height:220px; }
  .company-marquee { margin-top:46px; padding-bottom:34px; }
  .company-marquee-track>div { gap:16px; padding-right:16px; }
  .company-marquee .company-card { width:min(248px,70vw); }
  .company-marquee .company-visual { height:125px; padding:12px 15px; }
  .company-marquee .company-visual span { font-size:.58rem; }
  .company-marquee .company-body {
    min-height:285px;
    display:grid;
    grid-template-rows:16px 3.78em 2.9em 52px 20px;
    gap:7px;
    padding:15px;
  }
  .company-marquee .company-body .eyebrow { min-width:0; align-items:center; font-size:.56rem; }
  .company-marquee .company-body .eyebrow span { overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
  .company-marquee .company-body h3 {
    min-height:0;
    height:3.78em;
    margin:0;
    font-size:1.05rem;
    line-height:1.18;
    -webkit-line-clamp:3;
  }
  .company-marquee .company-body p { height:2.9em; margin:0; font-size:.69rem; line-height:1.45; -webkit-line-clamp:2; }
  .company-marquee .company-metrics { height:52px; margin:0; padding:7px 0; align-items:start; }
  .company-marquee .company-metrics span { font-size:.53rem; }
  .company-marquee .company-metrics strong { min-height:0; margin-top:3px; font-size:.64rem; }
  .company-marquee .company-body .text-link { height:20px; margin:0; align-self:end; font-size:.63rem; }
  .detail-facts { grid-template-columns:1fr; }
  .detail-hero { padding-top:150px; }
  .detail-hero h1 { font-size:clamp(2.5rem,10.5vw,3.5rem); }
  .detail-facts div { border-bottom:1px solid var(--white-line); }
  .contact-form { grid-template-columns:1fr; padding:25px; }
  .form-head img { width:58px; height:58px; }
  .interest-options { grid-template-columns:1fr 1fr; }
  .interest-options label:last-child { grid-column:1/-1; }
  .faq-item summary { min-height:88px; padding:24px 58px 24px 0; }
  .faq-item summary::after { width:34px; height:34px; }
  .faq-answer { padding:0 0 28px; }
  .story-nav { grid-template-columns:1fr; }
  .footer-trust { padding:28px 0 24px; }
  .footer-trust-head { align-items:center; margin-bottom:13px; }
  .footer-trust-head .section-label { font-size:.56rem; }
  .footer-marquee a { width:154px; min-height:68px; padding:10px 18px; }
  .footer-marquee a img { width:118px; height:42px; }
  .testimonials-head { align-items:flex-start; flex-direction:column; gap:28px; }
  .testimonial-slider { padding-inline:15px; scroll-padding-inline:15px; }
  .testimonial-card { min-height:330px; padding:30px; }
  .field { grid-column:1/-1; }
  .footer-main { grid-template-columns:1fr; gap:45px; }
  .footer-main,.footer-bottom { width:var(--shell); }
  .footer-legal { flex-wrap:wrap; gap:8px 10px; }
}
.website-field {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
}

.form-status {
  padding: 14px 16px;
  border-left: 2px solid var(--gold);
  background: rgba(201, 161, 88, .08);
}

.form-status.success {
  color: var(--paper);
}

.form-status.error {
  border-color: #c97b6d;
  color: #efb5aa;
  background: rgba(201, 123, 109, .08);
}

.contact-form .button:disabled {
  cursor: wait;
  opacity: .68;
}

.back-to-top {
  position: fixed;
  right: clamp(18px, 2.5vw, 38px);
  bottom: clamp(18px, 2.5vw, 34px);
  z-index: 80;
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 0 17px;
  color: var(--paper);
  border: 1px solid rgba(199,163,91,.4);
  border-radius: 999px;
  background: rgba(10,11,10,.9);
  box-shadow: 0 14px 36px rgba(0,0,0,.28);
  backdrop-filter: blur(14px);
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transform: translateY(12px);
  transition: opacity .38s var(--ease),visibility .38s var(--ease),
    transform .38s var(--ease),border-color .35s var(--ease),
    background .35s var(--ease),color .35s var(--ease);
}

.back-to-top.visible {
  opacity: 1;
  visibility: visible;
  transform: none;
}

.back-to-top span {
  color: var(--gold-light);
  font-size: 1rem;
  line-height: 1;
  transition: transform .35s var(--ease);
}

.back-to-top em {
  position: relative;
  font-style: normal;
  font-size: .67rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.back-to-top em::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -5px;
  left: 0;
  height: 1px;
  background: var(--gold);
  transform: scaleX(.35);
  transform-origin: left;
  transition: transform .35s var(--ease);
}

.back-to-top:hover {
  color: #090a09;
  border-color: var(--gold-light);
  background: var(--gold);
}

.back-to-top:hover span {
  color: #090a09;
  transform: translateY(-2px);
}

.back-to-top:hover em::after {
  background: #090a09;
  transform: scaleX(1);
}

@media (max-width:620px) {
  .back-to-top {
    width: 44px;
    min-height: 44px;
    justify-content: center;
    padding: 0;
  }

  .back-to-top em {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
  }
}

.custom-topic {
  animation: customTopicIn .35s var(--ease) both;
}

.custom-topic[hidden] {
  display: none;
}

.contact-form.is-success > :not(.form-confirmation) {
  display: none;
}

.form-confirmation {
  grid-column: 1/-1;
  min-height: 510px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 13px;
  padding: clamp(30px, 7vw, 80px);
  text-align: center;
  animation: confirmationIn .65s var(--ease) both;
}

.form-confirmation img {
  width: 78px;
  height: 78px;
  margin-bottom: 12px;
  object-fit: contain;
}

.form-confirmation h3 {
  margin: 0;
  color: var(--paper);
  font-family: var(--serif);
  font-size: clamp(2rem, 4vw, 3.2rem);
  font-weight: 400;
}

.form-confirmation p:not(.kicker) {
  max-width: 500px;
  margin: 0;
  color: var(--muted);
}

@keyframes customTopicIn {
  from { opacity: 0; transform: translateY(-8px); }
  to { opacity: 1; transform: none; }
}

@keyframes confirmationIn {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: none; }
}

/* V88: progressive enhancement, legibility and motion controls. */
html { scroll-padding-top:110px; }
[id] { scroll-margin-top:110px; }
.form-privacy,.privacy-consent,.field label,.interest-select legend { font-size:.82rem; }
.form-privacy { color:#a6a399; }
.field input::placeholder,.field textarea::placeholder { color:#a6a399; font-size:.82rem; letter-spacing:.025em; }
.interest-options span { font-size:.78rem; }
.company-body .eyebrow,.company-metrics span,.reference-card span { font-size:.75rem; }
.company-metrics strong { font-size:.86rem; }
.company-body { min-width:0; flex:1; }
.company-card { display:flex; flex-direction:column; }
.company-visual { flex-shrink:0; }
.company-metrics { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
/* Compact company cards, with room for wrapped financial values. */
.company-grid { max-width:1100px; margin-inline:auto; gap:18px; }
.company-grid .company-visual { height:165px; padding:16px 20px; }
.company-grid .company-body { display:flex; min-height:300px; padding:20px; gap:10px; }
.company-grid .company-body h3 { font-size:1.35rem; line-height:1.2; margin:0; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.company-grid .company-body .text-link { margin-top:auto; align-self:flex-start; }
.company-marquee .company-card { width:min(276px,78vw); }
.company-marquee .company-visual { height:140px; padding:15px; }
.company-grid .company-body h3 { min-height:3.6em; height:auto; }
.company-grid .company-body p { height:auto; margin:0; font-size:.85rem; line-height:1.6; -webkit-line-clamp:2; }
.company-grid .company-metrics { height:auto; min-height:64px; margin:0; padding:10px 0; }
.company-marquee .company-body { min-height:292px; display:flex; gap:8px; padding:17px; }
.company-marquee .company-body h3 { margin:0; font-size:1.18rem; line-height:1.2; }
.company-marquee .company-body p { margin:0; font-size:.8rem; line-height:1.55; }
.company-marquee .company-body .eyebrow { font-size:.72rem; }
.company-marquee .company-metrics { height:auto; min-height:64px; margin:0; padding:10px 0; }
.company-marquee .company-metrics span { font-size:.70rem; letter-spacing:.025em; }
.company-marquee .company-metrics strong { font-size:.8rem; }
.company-marquee .company-body .text-link { font-size:.78rem; margin-top:auto; }
.company-marquee .company-visual span { font-size:.7rem; }
.footer-trust-head .section-label { font-size:.72rem; }
.testimonial-card small { font-size:.75rem; letter-spacing:.06em; }
.testimonial-card strong { font-size:.88rem; }
.motion-controls { display:flex; justify-content:flex-end; margin-block:12px; }
.motion-toggle { min-height:44px; padding:9px 14px; color:var(--gold); border:1px solid var(--line); border-radius:3px; background:transparent; font-size:.78rem; cursor:pointer; }
.motion-toggle:hover { background:rgba(199,163,91,.08); }
.motion-controls + .company-marquee { margin-top:20px; }
.marquee.user-paused .marquee-track,.marquee:focus-within .marquee-track,
.company-marquee.user-paused .company-marquee-track,.company-marquee:focus-within .company-marquee-track { animation-play-state:paused; }
@media (hover:hover) {
 .marquee:hover .marquee-track,.company-marquee:hover .company-marquee-track { animation-play-state:paused; }
}
.form-status { opacity:1; transform:none; filter:none; }
.form-noscript { grid-column:1/-1; color:var(--muted); }
.form-confirmation:focus { outline:none; }
.form-confirmation .button { margin-top:12px; }
.reveal { transition-duration:.65s; }
.services-list .service-row.reveal,.cascade-group .reveal { transform:translateY(30px); transition-duration:.75s; }
.services-list .service-row.reveal.visible,.cascade-group .reveal.visible { transform:none; }
@media (max-width:620px) {
 .company-marquee .company-card { width:min(268px,82vw); }
 .company-marquee .company-body { min-height:292px; padding:17px; }
 .company-marquee .company-body h3 { font-size:1.15rem; height:auto; min-height:3.6em; line-height:1.2; }
 .company-marquee .company-body p { font-size:.85rem; height:auto; min-height:2.9em; }
 .field input,.field textarea { font-size:1rem; }
 .company-body .eyebrow { gap:8px; letter-spacing:.05em; }
}
/* Narrow screens use regular flow; desktop retains scroll-driven pinning at every height. */
@media (max-width:880px) {
 .testimonials-section,.timeline-scroll { height:auto!important; }
 .testimonials-sticky,.timeline-stage { position:static; height:auto; min-height:0; overflow:visible; }
 .testimonials-sticky { padding-block:var(--section); }
 .testimonial-slider { display:flex; width:100%; overflow-x:auto; padding:6px 18px 28px; }
 .testimonial-card { width:min(390px,82vw); opacity:1; transform:none; }
 .testimonial-progress { display:none; }
 .timeline-stage { padding:42px 0 0; }
}
/* All meaningful content is readable before JS runs and if it fails to load. */
html:not(.animations-ready) .intro { display:none; }
html:not(.animations-ready) :is(.reveal,.testimonial-card,.hero-content>*,.page-hero .shell>*,.detail-hero .shell>*,.site-header .brand,.site-header .site-nav>a,.nav-toggle) { opacity:1!important; transform:none!important; filter:none!important; animation:none!important; }
html:not(.animations-ready) :is(.testimonials-section,.timeline-scroll) { height:auto!important; min-height:0; }
html:not(.animations-ready) :is(.testimonials-sticky,.timeline-stage) { position:static; height:auto; overflow:visible; min-height:0; }
html:not(.animations-ready) :is(.marquee,.company-marquee) { overflow-x:auto; mask-image:none; }
html:not(.animations-ready) :is(.marquee-track,.company-marquee-track) { animation:none; }
html:not(.animations-ready) [aria-hidden="true"]:is(.marquee-track>div,.company-marquee-track>div) { display:none; }
@media (max-width:760px) {
 html:not(.animations-ready) .site-header { position:relative; }
 html:not(.animations-ready) .header-inner { flex-wrap:wrap; padding-block:16px; }
 html:not(.animations-ready) .nav-toggle { display:none; }
 html:not(.animations-ready) .site-nav { position:static; visibility:visible; transform:none; width:100%; height:auto; flex-direction:row; flex-wrap:wrap; padding:10px 0; background:transparent; }
 html:not(.animations-ready) .site-nav>a:not(.button) { font-family:var(--sans); font-size:.9rem; }
}
@media (prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto; }
 .motion-controls { display:none; }
 .marquee,.company-marquee { overflow-x:auto; mask-image:none; }
 .marquee-track,.company-marquee-track { animation:none!important; }
 .marquee-track>div[aria-hidden],.company-marquee-track>div[aria-hidden] { display:none; }
 .reveal { opacity:1!important; transform:none!important; filter:none!important; }
 .testimonial-card { opacity:1!important; transform:none!important; }
}

/* Keep the service hover effect visible in a narrow preview as well. */
.services-list .service-row { padding-right:18px; }
.services-list .service-row:hover { padding-left:18px; padding-right:0; }
.services-list .service-row h3 { transform-origin:left center; transition:transform .45s var(--ease); }
.services-list .service-row:hover h3 { transform:scale(1.04); }

.site-header .brand-copy em,.footer-brand .brand-copy em { margin-top:6px; }

/* Keyboard access and reduced-motion service interactions. */
a:focus-visible,button:focus-visible,summary:focus-visible { outline:2px solid var(--gold-light); outline-offset:4px; }
@media (prefers-reduced-motion:reduce) {
  .services-list .service-row:hover { padding-left:0; padding-right:18px; }
  .services-list .service-row:hover h3 { transform:none; }
}

/* Consistent spacing between brand name and personal name. */
.site-header .brand-copy small,
.footer-brand .brand-copy small { margin-top:4px; }

/* Mobile timeline stays pinned while its three steps are revealed. */
@media (max-width:880px) and (prefers-reduced-motion:no-preference) {
  .timeline-scroll.timeline-pinned { height:var(--mobile-timeline-height,auto)!important; }
  .timeline-pinned .timeline-stage { position:sticky; top:0; height:100svh; min-height:0; padding:100px 0 24px; overflow:visible; }
  .timeline-pinned .timeline { margin-top:0; padding-left:30px; }
  .timeline-pinned .timeline article { padding:0 0 24px 12px; }
  .timeline-pinned .timeline article:last-child { padding-bottom:0; }
  .timeline-pinned .timeline article::before { left:-36px; }
  .timeline-pinned .timeline h3 { font-size:1.65rem; margin:6px 0; }
  .timeline-pinned .timeline p { font-size:.9rem; line-height:1.55; margin-bottom:0; }
  .timeline-pinned .timeline small { font-size:.7rem; }
  .timeline-pinned .timeline article.reveal { opacity:0; transform:translateY(24px); filter:blur(2px); }
  .timeline-pinned .timeline article.reveal.visible { opacity:1; transform:none; filter:none; }
}

/* Vector paper planes never render as platform emoji. */
.plane-icon { display:inline-block; width:1.2em; height:1.2em; flex-shrink:0; vertical-align:middle; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.service-row .arrow .plane-icon { width:24px; height:24px; }
.reference-external b .plane-icon { width:18px; height:18px; }
