/* Supplied September 28 design, isolated from shared header/footer. */
.sanor-about-design{
    --brand: #0B2F16;      
    --bright: #96F878;     
    --cream: #F7F4EF;      
    --ink: #111111;        
    --white: #FFFFFF;
    --mint: #E4F5DA;       
    --on-dark: rgba(255,255,255,.78);
    --wrap: 1350px;
    --ease: cubic-bezier(.22,.61,.36,1);
    --serif: "Source Serif 4", Georgia, "Times New Roman", serif;
    --sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  }
.sanor-about-design *{ box-sizing: border-box; margin: 0; padding: 0; }
.sanor-about-design{ -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
.sanor-about-design{ font-family: var(--sans); font-weight: 300; color: var(--ink); background: var(--white); font-size: 18px; line-height: 1.8; overflow-x: clip; }
.sanor-about-design a{ color: inherit; }
.sanor-about-design a:focus-visible{ outline: 3px solid var(--bright); outline-offset: 4px; border-radius: 10px; }
.sanor-about-design .sp-about-wrap{ max-width: var(--wrap); margin: 0 auto; padding: 0 40px; }
.sanor-about-design section{ padding: 90px 0; position: relative; }
.sanor-about-design h1, .sanor-about-design h2, .sanor-about-design h3, .sanor-about-design h4{ font-family: var(--serif); font-weight: 600; color: var(--brand); }
.sanor-about-design h1{ font-size: 102px; line-height: 1.04; letter-spacing: -0.01em; }
.sanor-about-design h2{ font-size: 58px; line-height: 1.05; letter-spacing: -0.012em; }
.sanor-about-design h3, .sanor-about-design h4{ font-size: 22px; line-height: 1.2; }
.sanor-about-design .sp-about-byline{ font-family: var(--sans); font-size: 24px; line-height: 1.4; font-weight: 300; color: var(--ink); margin-top: 26px; max-width: 900px; }
.sanor-about-design .sp-about-eyebrow{ font-family: var(--sans); font-weight: 700; font-size: 15px; letter-spacing: 0.08em; line-height: 1.2; text-transform: uppercase; color: var(--ink); margin-bottom: 12px; }
.sanor-about-design h2{ max-width: 920px; }
.sanor-about-design .sp-about-expertise .sp-about-eyebrow{ color: var(--bright); }
.sanor-about-design .sp-about-contact .sp-about-eyebrow{ color: var(--brand); }
.sanor-about-design .sp-about-lead{ margin-top: 26px; max-width: 780px; }
.sanor-about-design .sp-about-lead p{ font-size: 20px; font-weight: 300; line-height: 1.75; }
.sanor-about-design .sp-about-lead p + p{ margin-top: 26px; }
.sanor-about-design .sp-about-cta{ --btn-h: 48px; --btn-pad: 26px; --size-btn: 16px; --arrow-w: 16px; --arrow-gap: 10px; --swap: 340ms cubic-bezier(0.65,0,0.35,1);
    display: inline-flex; align-items: center; height: var(--btn-h); padding: 0 var(--btn-pad); border-radius: 14px;
    font-family: var(--sans); font-size: var(--size-btn); font-weight: 600; letter-spacing: 0.03em; text-transform: uppercase; line-height: 1; text-decoration: none; overflow: hidden; }
.sanor-about-design .sp-about-cta__label{ white-space: nowrap; }
.sanor-about-design .sp-about-cta__slot{ flex: 0 0 auto; display: flex; align-items: center; overflow: hidden; width: calc(var(--arrow-w) + var(--arrow-gap)); transition: width var(--swap); }
.sanor-about-design .sp-about-cta__slot--lead{ justify-content: flex-start; width: 0; }
.sanor-about-design .sp-about-cta__slot--trail{ justify-content: flex-end; }
.sanor-about-design .sp-about-cta__slot svg{ width: var(--arrow-w); height: auto; flex: 0 0 auto; display: block; transition: transform var(--swap), opacity 200ms linear; }
.sanor-about-design .sp-about-cta__slot--lead svg{ opacity: 0; transform: translateX(-13px); }
.sanor-about-design .sp-about-cta:hover .sp-about-cta__slot--lead, .sanor-about-design .sp-about-cta:focus-visible .sp-about-cta__slot--lead{ width: calc(var(--arrow-w) + var(--arrow-gap)); }
.sanor-about-design .sp-about-cta:hover .sp-about-cta__slot--lead svg, .sanor-about-design .sp-about-cta:focus-visible .sp-about-cta__slot--lead svg{ opacity: 1; transform: none; }
.sanor-about-design .sp-about-cta:hover .sp-about-cta__slot--trail, .sanor-about-design .sp-about-cta:focus-visible .sp-about-cta__slot--trail{ width: 0; }
.sanor-about-design .sp-about-cta:hover .sp-about-cta__slot--trail svg, .sanor-about-design .sp-about-cta:focus-visible .sp-about-cta__slot--trail svg{ opacity: 0; transform: translateX(13px); }
.sanor-about-design .sp-about-cta--nav{ --btn-h: 42px; --btn-pad: 20px; --size-btn: 13px; background: transparent; box-shadow: inset 0 0 0 2px var(--brand); color: var(--brand); }
.sanor-about-design .sp-about-cta--bright{ background: var(--bright); color: var(--brand); }
.sanor-about-design .sp-about-cta--dark{ background: var(--brand); color: var(--white); }
.sanor-about-design .sp-about-hero{ background: var(--cream); color: var(--brand); padding: 150px 0 100px; overflow: hidden; }
.sanor-about-design .sp-about-hero::after{ content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 100px; background: linear-gradient(180deg, rgba(255,255,255,0) 0%, #FFFFFF 100%); pointer-events: none; z-index: 1; }
.sanor-about-design .sp-about-hero .sp-about-wrap{ position: relative; z-index: 1; }
.sanor-about-design .sp-about-hero h1{ margin-bottom: 26px; }
.sanor-about-design .sp-about-hero p{ font-family: var(--sans); font-size: 32px; font-weight: 300; line-height: 1.6; color: var(--ink); max-width: 900px; margin-bottom: 140px; }
.sanor-about-design .sp-about-hero-art{ position: absolute; left: 0; right: 0; top: 26%; bottom: 0; z-index: 0; pointer-events: none; opacity: .9; }
.sanor-about-design .sp-about-hero-art svg{ position: absolute; inset: 0; width: 100%; height: 100%; }
.sanor-about-design .sp-about-hero-art .sp-about-grid circle{ fill: var(--white); opacity: .12; }
.sanor-about-design .sp-about-hero-art .sp-about-ghost{ fill: none; stroke: var(--brand); stroke-width: 2; opacity: .14; stroke-linecap: round; }
.sanor-about-design .sp-about-hero-art .sp-about-main{ fill: none; stroke: var(--brand); stroke-width: 4; stroke-linecap: round; }
.sanor-about-design .sp-about-hero-art .sp-about-area{ fill: url(#areaFill); opacity: 0; animation: sp-about-fadeIn 1.2s 1.8s var(--ease) forwards; }
.sanor-about-design .sp-about-hero-art .sp-about-mark{ fill: var(--bright); stroke: var(--brand); stroke-width: 4; transform-box: fill-box; transform-origin: center; transform: scale(0); }
.sanor-about-design .sp-about-hero-art .sp-about-pulse{ fill: none; stroke: var(--brand); stroke-width: 2; transform-box: fill-box; transform-origin: center; opacity: 0; }
.sanor-about-design .sp-about-hero-art .sp-about-runner{ fill: var(--brand); }
.sanor-about-design .sp-about-hero-art.sp-about-go .sp-about-main{ animation: sp-about-draw 2.6s var(--ease) forwards; }
.sanor-about-design .sp-about-hero-art.sp-about-go .sp-about-mark{ animation: sp-about-pop .5s var(--ease) forwards; }
.sanor-about-design .sp-about-hero-art.sp-about-go .sp-about-pulse{ animation: sp-about-pulse 2.4s 2.8s ease-out infinite; }
@keyframes sp-about-draw{ to { stroke-dashoffset: 0; } }
@keyframes sp-about-pop{ to { transform: scale(1); } }
@keyframes sp-about-pulse{ 0% { opacity: .8; transform: scale(.4); } 100% { opacity: 0; transform: scale(2.6); } }
@keyframes sp-about-fadeIn{ to { opacity: 1; } }
.sanor-about-design .sp-about-hero h1 .sp-about-line{ display: block; overflow: hidden; padding-bottom: .06em; }
.sanor-about-design .sp-about-hero h1 .sp-about-line span{ display: block; transform: translateY(110%); animation: sp-about-rise 1s var(--ease) forwards; }
@keyframes sp-about-rise{ to { transform: translateY(0); } }
.sanor-about-design .sp-about-hero p{ margin-bottom: 72px; }
.sanor-about-design .sp-about-hero{ padding-bottom: 130px; }
.sanor-about-design .sp-about-what-grid{ display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 72px; align-items: center; }
.sanor-about-design .sp-about-what-visual{ display: flex; justify-content: center; }
.sanor-about-design .sp-about-venn{ width: 100%; max-width: 500px; }
.sanor-about-design .sp-about-venn > svg{ display: block; width: 100%; height: auto; overflow: visible; }
.sanor-about-design .sp-about-venn .sp-about-v{ fill: #96F878; fill-opacity: .38; }
.sanor-about-design .sp-about-venn .sp-about-v-label{ font-family: var(--sans); font-weight: 600; font-size: 17px; letter-spacing: .01em; fill: #0B2F16; }
.sanor-about-design .sp-about-venn .sp-about-v, .sanor-about-design .sp-about-venn .sp-about-v-label, .sanor-about-design .sp-about-venn .sp-about-v-core{ transform-box: view-box; }
@media (prefers-reduced-motion: no-preference){.sanor-about-design .sp-about-venn.sp-about-in .sp-about-v-a{ animation: sp-about-vA 1.1s var(--ease) both 0s; }
.sanor-about-design .sp-about-venn.sp-about-in .sp-about-v-b{ animation: sp-about-vB 1.1s var(--ease) both 0s; }
.sanor-about-design .sp-about-venn.sp-about-in .sp-about-v-c{ animation: sp-about-vC 1.1s var(--ease) both 0s; }
.sanor-about-design .sp-about-venn.sp-about-in .sp-about-v-label{ animation: sp-about-vFade 0.4s ease both 0.35s; }
.sanor-about-design .sp-about-venn.sp-about-in .sp-about-v-core{ animation: sp-about-vFade 0.4s ease both 0.5s; }
.sanor-about-design .sp-about-venn:not(.sp-about-in) .sp-about-v, .sanor-about-design .sp-about-venn:not(.sp-about-in) .sp-about-v-label, .sanor-about-design .sp-about-venn:not(.sp-about-in) .sp-about-v-core{ opacity: 0; }
@keyframes sp-about-vA{ from { transform: translate(-28px,-14px); opacity: 0; } }
@keyframes sp-about-vB{ from { transform: translate(28px,-14px); opacity: 0; } }
@keyframes sp-about-vC{ from { transform: translate(0,28px); opacity: 0; } }
@keyframes sp-about-vFade{ from { opacity: 0; } }
}
@media (max-width: 1024px){.sanor-about-design .sp-about-what-grid{ grid-template-columns: 1fr; gap: 48px; }
.sanor-about-design .sp-about-venn{ max-width: 420px; }
}
@media (max-width: 800px){.sanor-about-design .sp-about-venn .sp-about-v-label{ font-size: 22px; }
}
.sanor-about-design .sp-about-what{ background: var(--white); color: var(--brand); padding-top: 30px; }
.sanor-about-design .sp-about-what .sp-about-lead{ color: var(--ink); }
.sanor-about-design .sp-about-ticker{ position: relative; z-index: 2; overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.sanor-about-design .sp-about-ticker-track{ display: flex; width: max-content; animation: sp-about-slide 60s linear infinite; }
.sanor-about-design .sp-about-ticker-track{ gap: 64px; }
.sanor-about-design .sp-about-pill{ flex: none; font-family: var(--sans); font-weight: 500; font-size: 40px; line-height: 1.2; letter-spacing: -0.01em; color: #C9C4B8; opacity: .5; white-space: nowrap; }
.sanor-about-design .sp-about-pill.sp-about-alt{ color: #C9C4B8; }
@keyframes sp-about-slide{ to { transform: translateX(-50%); } }
.sanor-about-design .sp-about-reveal{ opacity: 0; transform: translateY(14px); transition: opacity .7s var(--ease), transform .7s var(--ease); }
.sanor-about-design .sp-about-reveal.sp-about-in{ opacity: 1; transform: none; }
.sanor-about-design .sp-about-expertise{ background: var(--brand); color: var(--white); }
.sanor-about-design .sp-about-expertise h2{ color: var(--white); }
.sanor-about-design .sp-about-expertise .sp-about-byline{ color: rgba(255,255,255,.85); }
.sanor-about-design .sp-about-track{ position: relative; margin-top: 64px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; padding-top: 40px; }
.sanor-about-design .sp-about-track .sp-about-step{ position: relative; background: var(--cream); color: var(--ink); border-radius: 28px; padding: 34px 32px 38px; opacity: 0; transform: translateY(14px); transition: opacity .7s var(--ease), transform .7s var(--ease); }
.sanor-about-design .sp-about-track .sp-about-step::before{ content: ""; position: absolute; top: -40px; left: 0; width: 14px; height: 14px; border-radius: 50%; background: var(--bright); transform: scale(0); transition: transform 0.25s var(--ease); }
.sanor-about-design .sp-about-track .sp-about-step:not(:last-child)::after{ content: ""; position: absolute; top: -33.75px; left: 22px; width: calc(100% + 24px - 30px); height: 1.5px; background: var(--bright); opacity: .7; transform: scaleX(0); transform-origin: left; transition: transform .7s var(--ease); }
.sanor-about-design .sp-about-track.sp-about-in .sp-about-step{ opacity: 1; transform: none; }
.sanor-about-design .sp-about-track.sp-about-in .sp-about-step:nth-child(2){ transition-delay: 0.12s; }
.sanor-about-design .sp-about-track.sp-about-in .sp-about-step:nth-child(3){ transition-delay: 0.24s; }
.sanor-about-design .sp-about-track.sp-about-in .sp-about-step::before{ transform: scale(1); }
.sanor-about-design .sp-about-track.sp-about-in .sp-about-step:nth-child(2)::before{ transition-delay: 0.35s; }
.sanor-about-design .sp-about-track.sp-about-in .sp-about-step:nth-child(3)::before{ transition-delay: 0.7s; }
.sanor-about-design .sp-about-track.sp-about-in .sp-about-step:nth-child(1)::after{ transform: scaleX(1); transition-delay: 0.1s; }
.sanor-about-design .sp-about-track.sp-about-in .sp-about-step:nth-child(2)::after{ transform: scaleX(1); transition-delay: 0.45s; }
.sanor-about-design .sp-about-track .sp-about-step h3{ color: var(--brand); font-size: 32px; line-height: 1.1; margin-top: 28px; }
.sanor-about-design .sp-about-track .sp-about-step{ padding: 32px 34px 34px; display: flex; flex-direction: column; }
.sanor-about-design .sp-about-x-link{ margin-top: auto; padding-top: 26px; display: inline-flex; align-items: center; gap: 10px; align-self: flex-start; font-family: var(--sans); font-size: 16px; font-weight: 600; color: var(--brand); text-decoration: none; }
.sanor-about-design .sp-about-x-link:hover .sp-about-x-label, .sanor-about-design .sp-about-x-link:hover{ text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.sanor-about-design .sp-about-x-arrow{ display: inline-flex; width: 16px; transition: transform .3s var(--ease); }
.sanor-about-design .sp-about-x-arrow svg{ width: 16px; height: auto; display: block; }
.sanor-about-design .sp-about-x-link:hover .sp-about-x-arrow{ transform: translateX(4px); }
.sanor-about-design .sp-about-x-link:focus-visible{ outline: 2px solid var(--brand); outline-offset: 4px; border-radius: 4px; }
.sanor-about-design .sp-about-x-icon{ width: 64px; height: 64px; border-radius: 18px; background: var(--bright); display: grid; place-items: center; }
.sanor-about-design .sp-about-x-icon svg{ width: 34px; height: 34px; fill: none; stroke: var(--brand); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.sanor-about-design .sp-about-track .sp-about-step p{ margin-top: 14px; font-size: 18px; line-height: 1.7; }
.sanor-about-design .sp-about-how{ background: var(--cream); color: var(--brand); }
.sanor-about-design .sp-about-how .sp-about-lead{ color: var(--ink); }
.sanor-about-design .sp-about-groups{ margin-top: 56px; display: grid; gap: 24px; }
.sanor-about-design .sp-about-group{ background: var(--mint); border-radius: 36px; padding: 64px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 56px; align-items: start; }
.sanor-about-design .sp-about-group h3{ font-size: 50px; line-height: 1.06; letter-spacing: -0.012em; color: var(--brand); max-width: 11em; }
.sanor-about-design .sp-about-trend{ margin-top: 28px; height: 150px; border-radius: 22px; background: var(--white); position: relative; overflow: hidden; }
.sanor-about-design .sp-about-trend svg{ position: absolute; inset: 0; width: 100%; height: 100%; }
.sanor-about-design .sp-about-trend .sp-about-grid circle{ fill: var(--brand); opacity: .12; }
.sanor-about-design .sp-about-trend .sp-about-line{ fill: none; stroke: var(--brand); stroke-width: 3.5; stroke-linecap: round; stroke-linejoin: round; }
.sanor-about-design .sp-about-trend .sp-about-fill{ opacity: 0; transition: opacity 0.5s var(--ease) 0.7s; }
.sanor-about-design .sp-about-trend .sp-about-end{ position: absolute; width: 18px; height: 18px; margin: -9px 0 0 -9px; border-radius: 50%; background: var(--bright); border: 3.5px solid var(--brand); transform: scale(0); transition: transform 0.25s var(--ease) 0.85s; }
.sanor-about-design .sp-about-trend.sp-about-in .sp-about-fill{ opacity: 1; }
.sanor-about-design .sp-about-trend.sp-about-in .sp-about-end{ transform: scale(1); }
.sanor-about-design .sp-about-trend.sp-about-in .sp-about-line{ transition: stroke-dashoffset 1.2s var(--ease); stroke-dashoffset: 0 !important; }
.sanor-about-design .sp-about-g-area{ display: block; width: 100%; max-width: 440px; height: 180px; margin-top: 48px; clip-path: inset(0 100% 0 0); transition: clip-path 1.2s var(--ease) 0.1s; }
.sanor-about-design .sp-about-group.sp-about-in .sp-about-g-area{ clip-path: inset(0 0 0 0); }
.sanor-about-design .sp-about-g-area .sp-about-ln{ fill: none; stroke: var(--brand); stroke-opacity: .28; stroke-width: 2; stroke-linecap: round; }
.sanor-about-design .sp-about-g-area .sp-about-end{ fill: var(--brand); fill-opacity: .35; }
@media (max-width: 1100px){.sanor-about-design .sp-about-g-area{ height: 120px; margin-top: 28px; }
}
.sanor-about-design .sp-about-rail{ position: relative; padding-left: 40px; display: grid; gap: 16px; }
.sanor-about-design .sp-about-rail .sp-about-step{ position: relative; background: var(--white); border-radius: 22px; padding: 24px 28px; opacity: 0; transform: translateY(12px); transition: opacity .7s var(--ease), transform .7s var(--ease); }
.sanor-about-design .sp-about-rail .sp-about-step::before{ content: ""; position: absolute; left: -40px; top: 32px; width: 12px; height: 12px; border-radius: 50%; background: var(--brand); }
.sanor-about-design .sp-about-rail .sp-about-step:not(:last-child)::after{ content: ""; position: absolute; left: -34.75px; top: 48px; width: 1.5px; height: calc(100% - 4px); background: var(--brand); opacity: .55; transform: scaleY(0); transform-origin: top; transition: transform .7s var(--ease); }
.sanor-about-design .sp-about-group.sp-about-in .sp-about-rail .sp-about-step{ opacity: 1; transform: none; }
.sanor-about-design .sp-about-group.sp-about-in .sp-about-rail .sp-about-step:nth-child(1){ transition-delay: 0.15s; }
.sanor-about-design .sp-about-group.sp-about-in .sp-about-rail .sp-about-step:nth-child(2){ transition-delay: 0.3s; }
.sanor-about-design .sp-about-group.sp-about-in .sp-about-rail .sp-about-step:nth-child(3){ transition-delay: 0.45s; }
.sanor-about-design .sp-about-group.sp-about-in .sp-about-rail .sp-about-step::after{ transform: scaleY(1); }
.sanor-about-design .sp-about-group.sp-about-in .sp-about-rail .sp-about-step:nth-child(1)::after{ transition-delay: 0.3s; }
.sanor-about-design .sp-about-group.sp-about-in .sp-about-rail .sp-about-step:nth-child(2)::after{ transition-delay: 0.45s; }
.sanor-about-design .sp-about-rail .sp-about-step h4{ color: var(--brand); }
.sanor-about-design .sp-about-rail .sp-about-step p{ margin-top: 8px; font-size: 18px; line-height: 1.7; }
.sanor-about-design .sp-about-leadership{ background: var(--white); color: var(--brand); }
.sanor-about-design .sp-about-leadership .sp-about-lead{ color: var(--ink); }
.sanor-about-design .sp-about-team{ margin-top: 56px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.sanor-about-design .sp-about-person{ position: relative; background: var(--cream); border-radius: 26px; padding: 12px 12px 28px; opacity: 0; transform: translateY(14px); transition: opacity .8s var(--ease), background .45s var(--ease), transform .45s var(--ease), box-shadow .45s var(--ease); }
.sanor-about-design .sp-about-team.sp-about-in .sp-about-person{ opacity: 1; transform: none; }
.sanor-about-design .sp-about-team.sp-about-in .sp-about-person:nth-child(1){ transition-delay: .3s, 0s, .3s, 0s; }
.sanor-about-design .sp-about-team.sp-about-in .sp-about-person:nth-child(2){ transition-delay: .6s, 0s, .6s, 0s; }
.sanor-about-design .sp-about-team.sp-about-in .sp-about-person:nth-child(3){ transition-delay: .9s, 0s, .9s, 0s; }
.sanor-about-design .sp-about-team.sp-about-in .sp-about-person:nth-child(4){ transition-delay: 1.2s, 0s, 1.2s, 0s; }
.sanor-about-design .sp-about-team.sp-about-in .sp-about-person:hover{ transition-delay: 0s; }
.sanor-about-design .sp-about-portrait{ position: relative; aspect-ratio: 4 / 5; border-radius: 18px; background: var(--brand); transition: background .45s var(--ease); overflow: hidden; display: grid; place-items: center; color: var(--bright); font-family: var(--serif); font-size: 64px; font-weight: 600; letter-spacing: -0.02em; }
.sanor-about-design .sp-about-portrait span{ position: relative; z-index: 1; transition: transform .6s var(--ease); }
.sanor-about-design .sp-about-portrait::before, .sanor-about-design .sp-about-portrait::after{ content: ""; position: absolute; border-radius: 50%; transition: transform .8s var(--ease), opacity .6s var(--ease); }
.sanor-about-design .sp-about-portrait::before{ width: 120%; aspect-ratio: 1; left: -10%; bottom: -78%; background: radial-gradient(circle, rgba(150,248,120,.28) 0%, rgba(150,248,120,0) 68%); }
.sanor-about-design .sp-about-portrait::after{ width: 150%; aspect-ratio: 1; left: -25%; bottom: -104%; border: 1.5px solid rgba(150,248,120,.25); }
.sanor-about-design .sp-about-person h4, .sanor-about-design .sp-about-person p{ transition: color .45s var(--ease); }
.sanor-about-design .sp-about-person::after{ content: ""; position: absolute; left: 22px; right: 22px; bottom: 14px; height: 2px; border-radius: 2px; background: var(--bright); transform: scaleX(0); transform-origin: left; transition: transform .5s var(--ease); }
@media (hover: hover){.sanor-about-design .sp-about-person:hover{ background: var(--brand); transform: translateY(-6px); box-shadow: 0 24px 50px rgba(11,47,22,.18); }
.sanor-about-design .sp-about-person:hover h4{ color: var(--white); }
.sanor-about-design .sp-about-person:hover p{ color: rgba(255,255,255,.85); }
.sanor-about-design .sp-about-person:hover::after{ transform: scaleX(1); }
.sanor-about-design .sp-about-person:hover .sp-about-portrait{ background: #15401F; }
.sanor-about-design .sp-about-person:hover .sp-about-portrait span{ transform: scale(1.08); }
.sanor-about-design .sp-about-person:hover .sp-about-portrait::before{ transform: translateY(-18%) scale(1.15); }
.sanor-about-design .sp-about-person:hover .sp-about-portrait::after{ transform: translateY(-10%) rotate(12deg); opacity: .8; }
}
.sanor-about-design .sp-about-person h4{ font-family: var(--sans); font-weight: 600; font-size: 24px; line-height: 1.25; letter-spacing: -0.015em; margin: 20px 10px 0; color: var(--brand); }
.sanor-about-design .sp-about-person p{ font-size: 17px; line-height: 1.5; margin: 6px 10px 0; color: var(--ink); font-weight: 300; }
.sanor-about-design .sp-about-contact{ background: var(--bright); color: var(--brand); overflow: hidden; }
.sanor-about-design .sp-about-contact .sp-about-wrap{ position: relative; z-index: 1; }
.sanor-about-design .sp-about-contact{ padding: 170px 0; }
.sanor-about-design .sp-about-contact h2{ font-size: 84px; line-height: 1.02; letter-spacing: -0.015em; max-width: 12em; }
.sanor-about-design .sp-about-contact .sp-about-lead{ max-width: 720px; margin-top: 32px; }
.sanor-about-design .sp-about-contact .sp-about-lead p{ font-size: 24px; line-height: 1.6; }
.sanor-about-design .sp-about-contact .sp-about-cta{ --btn-h: 60px; --btn-pad: 34px; --size-btn: 18px; margin-top: 48px; }
.sanor-about-design .sp-about-contact .sp-about-lead p{ color: var(--brand); }
.sanor-about-design .sp-about-rings{ position: absolute; right: -160px; top: 50%; width: 960px; height: 960px; transform: translateY(-50%); pointer-events: none; overflow: visible; }
.sanor-about-design .sp-about-rings circle{ fill: none; stroke: var(--brand); stroke-width: 2; opacity: .14; transform-origin: 360px 360px; animation: sp-about-breathe 7s ease-in-out infinite; }
.sanor-about-design .sp-about-rings circle:nth-child(2){ animation-delay: -1.4s; }
.sanor-about-design .sp-about-rings circle:nth-child(3){ animation-delay: -2.8s; }
.sanor-about-design .sp-about-rings circle:nth-child(4){ animation-delay: -4.2s; }
@keyframes sp-about-breathe{ 50% { transform: scale(1.06); opacity: .24; } }
@media (max-width: 1100px){.sanor-about-design .sp-about-group{ grid-template-columns: 1fr; gap: 32px; padding: 48px; }
}
@media (max-width: 1024px){.sanor-about-design .sp-about-track{ grid-template-columns: 1fr; padding-top: 0; padding-left: 50px; gap: 18px; }
.sanor-about-design .sp-about-track .sp-about-step::before{ top: 40px; left: -44px; }
.sanor-about-design .sp-about-track .sp-about-step:not(:last-child)::after{ top: 58px; left: -37.75px; width: 1.5px; height: calc(100% - 4px); transform: scaleY(0); transform-origin: top; }
.sanor-about-design .sp-about-track.sp-about-in .sp-about-step:nth-child(1)::after, .sanor-about-design .sp-about-track.sp-about-in .sp-about-step:nth-child(2)::after{ transform: scaleY(1); }
.sanor-about-design .sp-about-team{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 800px){.sanor-about-design h1{ font-size: 52px; }
.sanor-about-design h2{ font-size: 40px; }
.sanor-about-design .sp-about-byline{ font-size: 20px; }
.sanor-about-design .sp-about-contact{ padding: 110px 0; }
.sanor-about-design .sp-about-contact h2{ font-size: 48px; }
.sanor-about-design .sp-about-contact .sp-about-lead p{ font-size: 20px; }
.sanor-about-design .sp-about-hero{ padding: 96px 0 100px; }
.sanor-about-design .sp-about-hero p{ font-size: 21px; margin-bottom: 78px; }
.sanor-about-design .sp-about-group h3{ font-size: 36px; }
}
@media (max-width: 640px){.sanor-about-design .sp-about-wrap{ padding: 0 20px; }
.sanor-about-design section{ padding: 80px 0; }
.sanor-about-design .sp-about-group{ padding: 30px 22px; border-radius: 28px; }
.sanor-about-design .sp-about-rail, .sanor-about-design .sp-about-track{ padding-left: 32px; }
.sanor-about-design .sp-about-track .sp-about-step::before{ left: -32px; width: 12px; height: 12px; top: 28px; }
.sanor-about-design .sp-about-rail .sp-about-step::before{ left: -32px; top: 28px; }
.sanor-about-design .sp-about-rail .sp-about-step:not(:last-child)::after, .sanor-about-design .sp-about-track .sp-about-step:not(:last-child)::after{ left: -26.75px; top: 44px; height: calc(100% - 2px); }
.sanor-about-design .sp-about-track .sp-about-step h3{ font-size: 26px; }
.sanor-about-design .sp-about-rail .sp-about-step, .sanor-about-design .sp-about-track .sp-about-step{ padding: 22px 20px; }
.sanor-about-design .sp-about-team{ gap: 12px; }
}
@media (max-width: 420px){.sanor-about-design .sp-about-team{ grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce){.sanor-about-design .sp-about-person:hover{ transform: none; }
.sanor-about-design *, .sanor-about-design *::before, .sanor-about-design *::after{ animation: none !important; transition: none !important; }
.sanor-about-design .sp-about-reveal, .sanor-about-design .sp-about-track .sp-about-step, .sanor-about-design .sp-about-rail .sp-about-step, .sanor-about-design .sp-about-person{ opacity: 1 !important; transform: none !important; }
.sanor-about-design .sp-about-track .sp-about-step::before, .sanor-about-design .sp-about-track .sp-about-step::after, .sanor-about-design .sp-about-rail .sp-about-step::after{ transform: none !important; }
.sanor-about-design .sp-about-g-area{ clip-path: none !important; }
.sanor-about-design .sp-about-hero h1 .sp-about-line span{ transform: none !important; }
.sanor-about-design .sp-about-hero-art .sp-about-main, .sanor-about-design .sp-about-trend .sp-about-line{ stroke-dashoffset: 0 !important; }
.sanor-about-design .sp-about-hero-art .sp-about-mark, .sanor-about-design .sp-about-trend .sp-about-end{ transform: none !important; }
.sanor-about-design .sp-about-hero-art .sp-about-area, .sanor-about-design .sp-about-trend .sp-about-fill{ opacity: 1 !important; }
}

.sanor-about-design { display:block; width:100%; }
.sanor-about-design :is(button, a) { -webkit-tap-highlight-color: transparent; }
.sanor-about-design:not(.is-enhanced) * { opacity:1 !important; clip-path:none !important; }

.sanor-about-design:not(.is-enhanced) :is(.sp-about-reveal, .sp-about-step, .sp-about-person, .sp-about-line span) { transform:none !important; }

/* Existing leadership photos retain the supplied card proportions. */
.sanor-about-design .sp-about-portrait__image { display:block; width:100%; height:100%; object-fit:cover; object-position:center top; }
.sanor-about-design .sp-about-portrait--photo::before,
.sanor-about-design .sp-about-portrait--photo::after { display:none; }

.sanor-about-design a.sp-about-person { display:block; text-decoration:none; }
.sanor-about-design a.sp-about-person:focus-visible { outline:3px solid var(--brand); outline-offset:5px; }

/* Keep the above-the-fold title stable; scroll entrances use only opacity/transform. */
.sanor-about-design .sp-about-hero h1 .sp-about-line span { animation:none; transform:none; }
