/* /advisors/sub-advisory. Family ADVISORS "Structure": the cool half of the light only (cyan to violet and their
   pastels), graphite lines. Signature: ORBIT, a tilted orrery plate: Acrylic stands at the core, the advisor's firm is
   the glass ring around it, and the advisor's clients ride the orbits around that ring.
   Grammar on this page: a polar plate (rings, radials, a graduated bezel), never a cartesian drafting grid; a section
   cut along one radius; a phase strip; two states side by side; a closing arc.
   Every default here is the poster (JS off, reduced motion). Motion is added only under .js .motion. */
:root {
  --sa-cyan: #4FC3E8;
  --sa-violet: #9C7CF4;
  --sa-cyan-p: #7FD6F2;
  --sa-violet-p: #B49CF8;
  --hair: rgba(29, 33, 38, .14);
  --hair-2: rgba(29, 33, 38, .26);
}
.page-sub { background: var(--pearl); }
main { position: relative; z-index: 1; }
.sa-sr { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

.sa-textlink {
  display: inline-flex; align-items: center; min-height: 44px; padding: 0 2px;
  font: 500 15px/1.2 var(--sans); color: var(--ink);
  text-decoration: underline; text-decoration-color: rgba(29, 33, 38, .34); text-decoration-thickness: 1px; text-underline-offset: 6px;
  transition: text-decoration-color .3s;
}
.sa-textlink:hover { text-decoration-color: var(--sa-violet); }

/* ================= hero ================= */
.sa-hero { position: relative; overflow: clip; padding: 70px 0 56px; min-height: min(824px, calc(100vh - 76px)); }
.sa-hero::before {
  /* cool light round the plate; nothing behind the copy */
  content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
  background:
    radial-gradient(38vw 26vw at 74% 60%, rgba(127, 214, 242, .17), transparent 70%),
    radial-gradient(24vw 18vw at 86% 30%, rgba(180, 156, 248, .13), transparent 70%),
    radial-gradient(30vw 16vw at 4% 0%, rgba(127, 214, 242, .07), transparent 70%);
}
.sa-hero-in { position: relative; z-index: 2; pointer-events: none; }
.sa-copy { max-width: 590px; pointer-events: auto; }
.sa-eyebrow { display: flex; align-items: center; gap: 12px; margin-bottom: 30px; }
.sa-eyebrow::before {
  /* a small orbit: a ring with one body on it */
  content: ""; width: 22px; height: 9px; border-radius: 50%; flex: none;
  box-shadow: inset 0 0 0 1.2px var(--ink-2);
  background: radial-gradient(circle at 82% 78%, var(--sa-violet) 0 2.4px, transparent 2.9px);
}
.sa-eyebrow .sl { color: var(--ink-3); font-weight: 500; }

.sa-copy h1 { font: 400 clamp(54px, 7.6vw, 116px)/.92 var(--serif); letter-spacing: -.026em; margin: 0; }
.h-l { display: block; }
/* "core." carries a ring, like a body with a ring round it: far arc behind the letters, near arc in front */
.cored { position: relative; display: inline-block; isolation: isolate; padding-right: .02em; }
.cored-ring { position: absolute; left: -15%; width: 132%; top: 41%; height: .42em; overflow: visible; transform: rotate(-7deg); pointer-events: none; }
.cored-back { z-index: -1; }
.cored-front { z-index: 1; }
.cored-ring path { fill: none; stroke-width: 1.5; }
.cored-back path { opacity: .55; }
.cored-bd { stroke: rgba(156, 124, 244, .6); stroke-width: .8; filter: drop-shadow(0 0 4px rgba(127, 214, 242, .9)); transform-box: fill-box; transform-origin: center; }
.cored::before {
  /* a little cool light held behind the word; never the text colour */
  content: ""; position: absolute; inset: 22% -8% 6% -6%; z-index: -2; border-radius: 50%;
  background: radial-gradient(closest-side, rgba(180, 156, 248, .26), rgba(127, 214, 242, .12) 60%, transparent);
}
.sa-lede { font-size: 19px; line-height: 1.6; color: var(--ink-2); max-width: 25.5em; margin: 38px 0 0; text-wrap: pretty; }
.sa-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 30px; margin-top: 36px; }

/* the plate */
.sa-orbit { position: absolute; z-index: 1; margin: 0; right: -64px; top: 96px; width: min(62vw, 920px); }
.sa-orbit-box { position: relative; aspect-ratio: 1000 / 760; }
.sa-plate { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.pl-grat { fill: none; stroke: rgba(29, 33, 38, .085); stroke-width: 1; vector-effect: non-scaling-stroke; }
.pl-rad { stroke: rgba(29, 33, 38, .07); stroke-width: 1; vector-effect: non-scaling-stroke; }
.pl-bezel { fill: none; stroke: rgba(29, 33, 38, .34); stroke-width: 1.1; vector-effect: non-scaling-stroke; }
.pl-bezel-2 { stroke: rgba(29, 33, 38, .14); }
.pl-ticks { fill: none; stroke: rgba(29, 33, 38, .4); stroke-width: 1; vector-effect: non-scaling-stroke; }
.pl-orbit { fill: none; stroke: url(#sa-orbit-g); stroke-width: 1.2; vector-effect: non-scaling-stroke; }
.pl-orbit-1 { opacity: .62; }
.pl-orbit-2 { opacity: .5; }
.pl-orbit-3 { opacity: .62; stroke-dasharray: 4 6; }
.pl-core-seat { fill: rgba(156, 124, 244, .08); stroke: rgba(156, 124, 244, .38); stroke-width: 1; vector-effect: non-scaling-stroke; }
.core { filter: drop-shadow(0 20px 22px rgba(50, 64, 110, .24)); }

.rg-face { fill: url(#sa-face); }
.rg-wall { fill: url(#sa-wall); }
.rg-wall-in { fill: url(#sa-wall-in); }
.rg-rim { fill: none; stroke: url(#sa-rim); stroke-width: 1.8; vector-effect: non-scaling-stroke; }
.rg-rim-in { stroke-width: 1.3; opacity: .85; }
.rg-groove { fill: none; stroke: rgba(79, 195, 232, .4); stroke-width: 1; vector-effect: non-scaling-stroke; }
.rg-edge { fill: none; stroke: rgba(40, 60, 110, .28); stroke-width: 1; vector-effect: non-scaling-stroke; }
.rg-front { filter: drop-shadow(0 22px 26px rgba(40, 60, 110, .16)); }

.bd-sh { fill: url(#sa-shadow); }
.bd-b { fill: url(#sa-body); stroke: rgba(156, 124, 244, .6); stroke-width: .9; }
.bd-o1 .bd-b { stroke: rgba(79, 195, 232, .7); }
.bd-hl { fill: #fff; opacity: .9; }

.ld-l { stroke: rgba(29, 33, 38, .5); stroke-width: 1; vector-effect: non-scaling-stroke; }
.ld-d { fill: var(--pearl-2); stroke: var(--ink-2); stroke-width: 1.4; vector-effect: non-scaling-stroke; }

/* labels: HTML in the plate's box, at the leader ends written by tools/gen_svg.py */
.ol { position: absolute; margin: 0; display: flex; flex-direction: column; gap: 6px; white-space: nowrap; pointer-events: none;
  text-shadow: 0 0 6px var(--pearl), 0 0 2px var(--pearl), 0 0 12px var(--pearl); }
.ol-k { font: 600 11.5px/1 var(--sans); letter-spacing: .17em; text-transform: uppercase; color: var(--ink-2); }
.ol-n { font: 400 32px/1 var(--serif); letter-spacing: -.005em; color: var(--ink); }
.ol-core { left: 35%; top: 28.42%; transform: translate(-100%, -100%) translate(-10px, -6px); text-align: right; align-items: flex-end; }
.ol-ring { left: 74.9%; top: 33.27%; transform: translate(10px, -100%) translate(0, -6px); }
.ol-orbit { left: 8.53%; top: 86.87%; transform: translate(-30%, 10px); }

.sa-pause {
  display: none; position: absolute; right: 120px; bottom: 2%; z-index: 3;
  align-items: center; gap: 10px; min-height: 44px; padding: 0 16px 0 14px; border: 0; border-radius: 999px; cursor: pointer;
  font: 500 13.5px/1 var(--sans); color: var(--ink);
  background: rgba(251, 250, 247, .78); box-shadow: inset 0 0 0 1px rgba(29, 33, 38, .18), inset 0 1px 0 #fff;
  backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
}
.sa-pause:hover { background: rgba(255, 255, 255, .95); }
.sa-pause-i { position: relative; width: 10px; height: 11px; }
.sa-pause-i::before, .sa-pause-i::after { content: ""; position: absolute; top: 0; width: 3px; height: 11px; border-radius: 1px; background: var(--ink); }
.sa-pause-i::before { left: 1px; } .sa-pause-i::after { right: 1px; }
.sa-pause[aria-pressed="true"] .sa-pause-i::before { left: 1px; width: 0; height: 0; border-radius: 0; background: none;
  border-style: solid; border-width: 5.5px 0 5.5px 9px; border-color: transparent transparent transparent var(--ink); }
.sa-pause[aria-pressed="true"] .sa-pause-i::after { display: none; }
.js .motion .sa-pause { display: inline-flex; }
.still .sa-pause { display: none !important; }

/* ================= a section through the orbit ================= */
.sa-cut { position: relative; z-index: 2; padding: 112px 0 104px; }
.cut-head { display: flex; flex-direction: column; }
.cut-head .eyebrow { display: flex; align-items: center; gap: 12px; }
.cut-head .eyebrow::before { content: ""; width: 44px; height: 1px; background: linear-gradient(90deg, var(--sa-violet), var(--sa-cyan)); }
.cut-head h2 { font: 400 clamp(42px, 4.6vw, 68px)/1 var(--serif); letter-spacing: -.015em; margin: 0; max-width: 15em; }
.cut-band { margin: 52px 0 0; }
.sa-cutsvg { display: block; width: 100%; height: auto; overflow: visible; }
.ct-axisline { stroke: rgba(29, 33, 38, .38); stroke-width: 1; stroke-dasharray: 14 4 2 4; vector-effect: non-scaling-stroke; }
.ct-ring-rim { fill: none; stroke: url(#sa-rim); stroke-width: 1.6; vector-effect: non-scaling-stroke; }
.ct-ring-hl { stroke: #fff; stroke-width: 1.4; vector-effect: non-scaling-stroke; }
.ct-orbit { stroke: #4FC3E8; stroke-width: 1.2; opacity: .7; stroke-dasharray: 4 5; vector-effect: non-scaling-stroke; }
.ct-orbit-960 { stroke: #7FA0EE; }
.ct-orbit-1130 { stroke: #9C7CF4; }
.ct-groove { stroke: rgba(79, 195, 232, .5); stroke-width: 1; vector-effect: non-scaling-stroke; }
.ct-wall { fill: url(#sa-wall); }
.ct-body { stroke: rgba(156, 124, 244, .6); stroke-width: .9; }
.ct-body-hl { fill: #fff; opacity: .9; }
.ct-bracket { fill: none; stroke: rgba(29, 33, 38, .5); stroke-width: 1; vector-effect: non-scaling-stroke; }

.cut-cols { list-style: none; margin: 22px 0 0; padding: 0; display: grid; grid-template-columns: 300fr 340fr 600fr; }
.cc { position: relative; padding: 0 36px 0 0; }
.cc-ring { padding-left: 16px; }
.cc-orbit { padding-left: 16px; padding-right: 0; }
.cc-key { display: none; }
.cc-k { display: flex; align-items: center; gap: 12px; margin: 0 0 14px; font: 600 12px/1 var(--sans); letter-spacing: .18em; text-transform: uppercase; color: var(--ink-3); }
.cc-ix { color: var(--ink); font-variant-numeric: tabular-nums; letter-spacing: .2em; }
.cc h3 { font: 400 clamp(34px, 3.1vw, 46px)/1.02 var(--serif); letter-spacing: -.01em; margin: 0 0 18px; }
.cc p { font-size: 17px; line-height: 1.6; color: var(--ink-2); margin: 0 0 12px; max-width: 25em; }
.cc-orbit p { max-width: 28em; }
.cc p.cc-src { display: inline-flex; align-items: center; gap: 9px; margin-top: 10px; font: 500 13px/1.3 var(--sans); letter-spacing: .02em; color: var(--ink-3); }
.cc-src::before { content: ""; width: 12px; height: 5px; border-radius: 50%; box-shadow: inset 0 0 0 1px var(--ink-3); flex: none; }

/* ================= questions: one turn of the orbit ================= */
.sa-phases { position: relative; z-index: 2; padding: 96px 0 112px; }
.sa-phases::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 1px; background: linear-gradient(90deg, transparent, var(--hair-2) 15%, var(--hair-2) 85%, transparent); }
.ph-head { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 24px 64px; align-items: end; }
.ph-head h2 { font: 400 clamp(40px, 4.4vw, 64px)/1.02 var(--serif); letter-spacing: -.015em; margin: 0; max-width: 12em; }
.ph-head p { font-size: 18px; line-height: 1.6; color: var(--ink-2); margin: 0 0 8px; max-width: 24em; }
.ph-list { list-style: none; margin: 64px 0 0; padding: 0; position: relative; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0 30px; }
.ph-list::before {
  /* the ecliptic: one line through every phase, cyan at the first, violet at the last */
  content: ""; position: absolute; left: -12px; right: -12px; top: 48px; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(79, 195, 232, .7) 6%, rgba(156, 124, 244, .7) 94%, transparent);
}
.ph { position: relative; }
.ph-glyph { display: block; width: 160px; max-width: 100%; height: 96px; margin-left: -18px; }
.ph-svg { display: block; width: 100%; height: 100%; overflow: visible; }
.ph-q { font: 400 clamp(24px, 2.05vw, 30px)/1.14 var(--serif); letter-spacing: -.005em; margin: 26px 0 12px; text-wrap: balance; }
.ph p { font-size: 16px; line-height: 1.55; color: var(--ink-2); margin: 0; max-width: 18em; }

/* small orbit glyphs (phases and the two paths) */
.mg-grat { fill: none; stroke: rgba(29, 33, 38, .08); stroke-width: 1; vector-effect: non-scaling-stroke; }
.mg-orbit { fill: none; stroke: rgba(29, 33, 38, .3); stroke-width: 1; vector-effect: non-scaling-stroke; }
.mg-orbit-lit { stroke: url(#sa-orbit-g); opacity: .85; }
.mg-ring-back, .mg-ring-front { fill: none; stroke-linecap: butt; }
.mg-ring-firm { stroke: rgba(79, 195, 232, .5); }
.mg-ring-acrylic { stroke: rgba(156, 124, 244, .5); }
.mg-body { fill: url(#sa-body); stroke: rgba(156, 124, 244, .6); stroke-width: .9; }
.mg-sh { fill: url(#sa-shadow); }
.mg-you { fill: var(--sa-cyan); stroke: #fff; stroke-width: 2; }
.mg-you-halo { fill: rgba(79, 195, 232, .2); }

/* ================= two paths, side by side ================= */
.sa-paths { position: relative; z-index: 2; padding: 40px 0 120px; }
.pa-head { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 24px 64px; align-items: end; }
.pa-head h2 { font: 400 clamp(40px, 4.4vw, 64px)/1.02 var(--serif); letter-spacing: -.015em; margin: 0; }
.pa-head p { font-size: 18px; line-height: 1.6; color: var(--ink-2); margin: 0 0 8px; }
.pa-grid { display: grid; grid-template-columns: 1fr 1fr; margin-top: 52px; border-top: 1px solid var(--hair-2); }
.pa { position: relative; padding: 36px 56px 0 0; }
.pa-sub { padding: 36px 0 0 56px; border-left: 1px solid var(--hair-2); }
.pa-sub::before {
  /* the page you are on: a cool line along its top edge */
  content: ""; position: absolute; left: -1px; right: 0; top: -1px; height: 2px; background: linear-gradient(90deg, var(--sa-cyan), var(--sa-violet) 70%, transparent);
}
.pa-fig { max-width: 440px; }
.pa-svg { display: block; width: 100%; height: auto; overflow: visible; }
.pa h3 { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; font: 400 clamp(34px, 3.3vw, 48px)/1 var(--serif); letter-spacing: -.01em; margin: 20px 0 24px; }
.pa-here { font: 600 11px/1 var(--sans); letter-spacing: .16em; text-transform: uppercase; color: var(--ink); padding: 7px 10px 6px; border-radius: 999px; box-shadow: inset 0 0 0 1px rgba(29, 33, 38, .24); background: rgba(255, 255, 255, .6); }
.pa-spec { margin: 0 0 22px; border-top: 1px solid var(--hair); }
.pa-spec div { display: grid; grid-template-columns: minmax(0, 15em) minmax(0, 1fr); gap: 6px 20px; align-items: baseline; padding: 14px 0; border-bottom: 1px solid var(--hair); }
.pa-spec dt { font: 600 12px/1.4 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--ink-3); }
.pa-spec dd { margin: 0; font: 400 24px/1.2 var(--serif); color: var(--ink); }
.pa p { font-size: 17px; line-height: 1.6; color: var(--ink-2); margin: 0 0 10px; max-width: 30em; }

/* ================= the close ================= */
.sa-cta { position: relative; z-index: 2; overflow: clip; padding: 0 0 128px; }
.sa-arc { height: 220px; }
.sa-arcsvg { display: block; width: 100%; height: 220px; overflow: visible; }
.ab-arc { fill: none; stroke: rgba(29, 33, 38, .3); stroke-width: 1; vector-effect: non-scaling-stroke; }
.ab-ticks { fill: none; stroke: rgba(29, 33, 38, .3); stroke-width: 1; vector-effect: non-scaling-stroke; }
.ab-light { fill: none; stroke-width: 2; opacity: .7; vector-effect: non-scaling-stroke; }
.ab-body { fill: url(#sa-body); stroke: rgba(156, 124, 244, .6); stroke-width: .9; }
.cta-in { position: relative; margin-top: -84px; text-align: center; display: flex; flex-direction: column; align-items: center; }
.cta-in h2 { font: 400 clamp(48px, 6.2vw, 96px)/.98 var(--serif); letter-spacing: -.022em; margin: 0; }
.cta-p { font-size: 19px; line-height: 1.6; color: var(--ink-2); max-width: 31em; margin: 30px 0 0; text-wrap: pretty; }
.cta-actions { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 14px 30px; margin-top: 36px; }
.sa-src { max-width: 46em; margin: 52px 0 0; padding-top: 22px; border-top: 1px solid var(--hair); font-size: 13.5px; line-height: 1.6; color: var(--ink-3); }

/* ================= motion (JS + motion allowed only; the poster reads complete without it) ================= */
.js .motion .cored-ring path { stroke-dasharray: 1 1; stroke-dashoffset: 1; animation: sa-draw 1.5s var(--ease) forwards; }
.js .motion .cored-back path { animation-delay: .25s; }
.js .motion .cored-front path { animation-delay: .9s; }
@keyframes sa-draw { to { stroke-dashoffset: 0; } }
.js .motion .cored-bd { animation: sa-pop .8s var(--ease) 1.9s both; }
@keyframes sa-pop { from { transform: scale(0); opacity: 0; } }
.js .motion .pl-glow-core { animation: sa-breathe 6.5s ease-in-out infinite alternate; }
@keyframes sa-breathe { from { opacity: .72; } to { opacity: 1; } }
.sa-orbit.is-paused .pl-glow-core, .sa-orbit.is-off .pl-glow-core { animation-play-state: paused; }
.still .pl-glow-core { animation: none !important; }

/* ================= tablet: the plate stacks under the copy (from 1240 down, so its right label never clips) ================= */
@media (max-width: 1240px) {
  .sa-hero { min-height: 0; padding-bottom: 24px; }
  .sa-orbit { position: relative; right: auto; top: auto; width: min(calc(100% + 120px), 1100px); margin: -36px auto 0; left: 0; }
  .sa-pause { right: 76px; }
}
@media (max-width: 1100px) {
  .sa-orbit { width: calc(100% + 120px); margin: -36px -60px 0 -60px; }
  .ol-orbit { transform: translate(0, 10px); }
  .ph-list { grid-template-columns: 1fr; gap: 0; margin-top: 44px; }
  .ph-list::before { display: none; }
  .ph { display: grid; grid-template-columns: 160px minmax(0, 1fr); column-gap: 24px; align-items: center; padding: 18px 0; border-bottom: 1px solid var(--hair); }
  .ph:first-child { border-top: 1px solid var(--hair); }
  .ph-glyph { grid-row: 1 / span 2; margin-left: -12px; }
  .ph-q { margin: 0 0 6px; align-self: end; }
  .ph p { align-self: start; max-width: 30em; }
}
@media (max-width: 960px) {
  .cut-cols { grid-template-columns: 1fr; margin-top: 30px; }
  .cut-cols::before { content: ""; position: absolute; left: 13px; top: 8px; bottom: 8px; width: 1px; background: linear-gradient(var(--sa-violet), var(--sa-cyan) 45%, rgba(79, 195, 232, .25)); }
  .cut-cols { position: relative; }
  .cc, .cc-ring, .cc-orbit { padding: 0 0 36px 52px; }
  .cc:last-child { padding-bottom: 0; }
  .cc-key { display: block; position: absolute; left: 0; top: -4px; width: 27px; height: 27px; }
  .cc-core .cc-key { border-radius: 6px; background: linear-gradient(150deg, #fff, #E7ECF6); box-shadow: inset 0 0 0 1.4px var(--sa-violet-p), 2px 2px 0 #D6DCE6, 0 0 14px rgba(156, 124, 244, .35); }
  .cc-ring .cc-key { top: 4px; height: 11px; border-radius: 50%; background: rgba(226, 244, 251, .9); box-shadow: inset 0 0 0 2.5px rgba(79, 195, 232, .7), 0 0 10px rgba(79, 195, 232, .35); }
  .cc-orbit .cc-key { left: 4px; top: 0; width: 19px; height: 19px; border-radius: 50%; background: radial-gradient(circle at 36% 30%, #fff, #EEF3FB 55%, #C9D9F2 85%, var(--sa-violet-p)); box-shadow: 0 0 0 1px rgba(156, 124, 244, .55); }
  .pa-grid { grid-template-columns: 1fr; }
  .pa { padding: 32px 0 40px; }
  .pa-sub { padding: 32px 0 0; border-left: 0; border-top: 1px solid var(--hair-2); }
  .pa-sub::before { left: 0; }
}

/* ================= phone ================= */
@media (max-width: 760px) {
  .sa-hero { padding-top: 40px; }
  .sa-eyebrow { margin-bottom: 20px; }
  .sa-copy h1 { font-size: clamp(46px, 13.4vw, 62px); line-height: .95; }
  .sa-lede { font-size: 17px; margin-top: 26px; }
  .sa-actions { margin-top: 28px; }
  .sa-actions .btn { width: 100%; }
  .sa-orbit { width: calc(100% + 150px); margin: 18px -75px 0 -75px; }
  .ol-k { font-size: 9.5px; letter-spacing: .14em; }
  .ol-n { font-size: 20px; }
  .ol { gap: 4px; }
  .ol-core { transform: translate(-100%, -100%) translate(-6px, -4px); }
  .ol-ring { left: 72%; top: 33%; transform: translate(-100%, -100%) translate(-4px, -6px); text-align: right; align-items: flex-end; }
  .ol-orbit { left: 20%; transform: translate(0, 6px); }
  .sa-pause { right: 88px; bottom: -4px; }
  .sa-cut { padding: 72px 0 72px; }
  .cut-band { display: none; }
  .cc h3 { font-size: 34px; }
  .cc p { font-size: 16.5px; }
  .sa-phases { padding: 72px 0 80px; }
  .ph-head, .pa-head { grid-template-columns: 1fr; }
  .ph { grid-template-columns: 104px minmax(0, 1fr); column-gap: 14px; }
  .ph-glyph { width: 116px; height: 70px; margin-left: -10px; }
  .ph-q { font-size: 23px; }
  .ph p { font-size: 15.5px; }
  .sa-paths { padding: 24px 0 72px; }
  .pa-spec div { grid-template-columns: 1fr; gap: 4px; }
  .pa-spec dd { font-size: 22px; }
  .sa-arc { height: 150px; }
  .sa-arcsvg { height: 150px; }
  .cta-in { margin-top: -40px; }
  .cta-in h2 { font-size: clamp(42px, 11.6vw, 54px); }
  .cta-p { font-size: 17px; }
  .cta-actions .btn { width: 100%; }
  .sa-cta { padding-bottom: 88px; }
}
