.animated-logo-wrap{place-items:center;display:grid;position:relative}.animated-logo-wrap:before{content:"";filter:blur(40px);z-index:0;background:radial-gradient(circle,#6b61f0bf,#0000 65%);position:absolute;inset:0%}.animated-logo{z-index:1;width:100%;max-width:var(--logo-size,320px);height:auto;color:var(--violet);position:relative}.animated-logo-wrap[data-anim=float] .animated-logo{animation:5s ease-in-out infinite logo-float}@keyframes logo-float{0%,to{transform:translateY(0)}50%{transform:translateY(-18px)}}.animated-logo-wrap[data-anim=breathe]:before{animation:4s ease-in-out infinite logo-breathe}@keyframes logo-breathe{0%,to{opacity:.4;transform:scale(1)}50%{opacity:1;transform:scale(1.5)}}.animated-logo-wrap[data-anim=spin] .animated-logo{animation:18s linear infinite logo-spin}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animated-logo-wrap[data-anim=morph] .animated-logo{animation:5s ease-in-out infinite logo-morph}@keyframes logo-morph{0%,to{filter:drop-shadow(0 0 0px var(--violet));transform:scale(1)}50%{filter:drop-shadow(0 0 32px var(--violet));transform:scale(1.08)}}
.section-header{grid-template-columns:1fr 1fr;align-items:start;gap:clamp(24px,4vw,60px);margin-bottom:clamp(40px,6vw,70px);display:grid}.section-header-title{font-size:var(--fs-title);letter-spacing:-.02em;overflow-wrap:anywhere;margin-top:14px;font-weight:300;line-height:1}.section-header-left,.section-lede{min-width:0}.section-header-title em{color:var(--violet);font-style:normal;font-weight:800}@media (max-width:800px){.section-header{grid-template-columns:1fr;gap:clamp(28px,7vw,44px)}}
.scroll-typewriter{font-size:var(--fs-desc);overflow-wrap:anywhere;max-width:60ch;line-height:1.5}.scroll-typewriter-word{color:var(--fg);transition:opacity .1s;display:inline}
.partners{background:var(--bg);color:var(--fg);padding:90px var(--pad)}.partners .marquee{padding:10px 0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000);mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000)}.partners .track{gap:24px;width:max-content;animation:40s linear infinite marquee;display:flex}.partners .marquee.paused .track{animation-play-state:paused}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.partner-card{background:#fff;border:1px solid #0000001a;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;padding:20px 24px;transition:border-color .25s,transform .25s;display:flex}.partner-card:hover{border-color:var(--violet);transform:translateY(-4px)}.partner-logo-wrap{aspect-ratio:1500/946;width:280px;position:relative}
.services-grid{background:var(--bg);color:var(--fg);padding-top:clamp(40px,5vw,80px);padding-bottom:clamp(80px,10vw,140px)}.sg-grid{isolation:isolate;grid-template-columns:repeat(3,1fr);gap:clamp(8px,1vw,16px);display:grid;position:relative}.sg-col{z-index:1;min-width:0;padding:clamp(28px,3vw,48px) clamp(14px,1.4vw,22px) clamp(40px,4vw,60px);position:relative}.sg-title{letter-spacing:-.01em;color:var(--fg);margin-bottom:clamp(18px,2vw,26px);font-size:clamp(22px,1.8vw,30px);font-weight:800;line-height:1.1;transition:color .35s;position:relative}.sg-list{flex-direction:column;gap:clamp(8px,.9vw,12px);list-style:none;display:flex}.sg-list li{letter-spacing:.06em;text-transform:uppercase;color:var(--fg);overflow-wrap:break-word;align-items:center;gap:10px;font-size:clamp(13px,.95vw,16px);font-weight:600;line-height:1.35;transition:color .35s;display:flex}.sg-list li:before{content:"";background:var(--black);border-radius:50%;flex-shrink:0;width:5px;height:5px;transition:background .35s}.sg-spotlight{z-index:0;pointer-events:none;opacity:0;transition:opacity .4s;position:absolute;inset:0}.variant-hover-violet .sg-col{border:1px solid var(--line);border-radius:var(--radius);transition:border-color .35s}.variant-hover-violet .sg-col:before{content:"";background:var(--violet);border-radius:var(--radius);opacity:0;z-index:-1;transition:opacity .35s;position:absolute;inset:0}.variant-hover-violet .sg-col:hover{border-color:var(--violet)}.variant-hover-violet .sg-col:hover:before{opacity:1}.variant-hover-violet .sg-col:hover .sg-title,.variant-hover-violet .sg-col:hover .sg-list li{color:var(--white)}.variant-hover-violet .sg-col:hover .sg-list li:before{background:var(--white)}.variant-spotlight .sg-grid{--sg-mx:50%;--sg-my:50%}.variant-spotlight .sg-spotlight{opacity:1;background:radial-gradient(circle 340px at var(--sg-mx) var(--sg-my), #6b61f038, #6b61f014 40%, transparent 70%)}.variant-spotlight .sg-col{transition:transform .45s cubic-bezier(.2,.8,.2,1)}.variant-spotlight .sg-col:hover{transform:translateY(-6px)}.variant-spotlight .sg-col:hover .sg-title{color:var(--violet)}.variant-stagger .sg-col{opacity:0;transition:opacity .7s cubic-bezier(.2,.8,.2,1),transform .7s cubic-bezier(.2,.8,.2,1);transition-delay:calc(var(--i,0) * 90ms);transform:translateY(28px)}.variant-stagger.is-visible .sg-col{opacity:1;transform:translateY(0)}.variant-stagger .sg-col:hover .sg-title{color:var(--violet)}@media (max-width:900px){.sg-grid{grid-template-columns:repeat(2,1fr)}.sg-title{font-size:clamp(20px,4vw,26px)}.sg-list li{font-size:clamp(13px,1.8vw,15px)}}@media (max-width:540px){.sg-grid{grid-template-columns:1fr}.sg-col{padding:clamp(28px,6vw,40px) clamp(14px,4vw,22px)}}@media (prefers-reduced-motion:reduce){.sg-col,.sg-title,.sg-list li,.sg-list li:before,.sg-spotlight,.variant-hover-violet .sg-col:before{transition:none}.variant-stagger .sg-col{opacity:1;transform:none}}
.awards{background:var(--white);color:var(--black)}.awards-list{border-top:1px solid #0000001f}.award-row{cursor:pointer;border-bottom:1px solid #0000001f;grid-template-columns:100px 2fr 2fr 1fr 60px;align-items:center;gap:30px;padding:32px 0;transition:background .35s,color .35s,padding .35s;display:grid;position:relative}.award-row:hover{background:var(--violet);color:var(--white);padding-left:16px}.award-row .a-tier{letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:700}.award-row .a-title{letter-spacing:-.01em;font-size:clamp(14px,1.4vw,22px);font-weight:700}.award-row .a-cat{opacity:1;letter-spacing:.05em;text-transform:uppercase;font-size:14px}.award-row .a-year{opacity:1;font-size:14px}.award-row .a-arrow{opacity:.3;border:1px solid;border-radius:50%;place-items:center;width:44px;height:44px;transition:opacity .35s,transform .35s;display:grid}.award-row:hover .a-arrow{opacity:1;transform:rotate(-45deg)}@media (max-width:900px){.award-row{grid-template-columns:1fr 44px;grid-template-areas:"tier arrow""title arrow""cat arrow""year arrow";gap:6px 16px;padding:24px 0}.award-row .a-tier{grid-area:tier}.award-row .a-title{grid-area:title}.award-row .a-cat{opacity:.7;grid-area:cat;font-size:13px}.award-row .a-year{opacity:.7;grid-area:year;font-size:13px}.award-row .a-arrow{grid-area:arrow;width:36px;height:36px}.award-row:hover{padding-left:12px}}
.reviews{color:var(--black);--bg:#fff;background:#fff}.reviews-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}@media (max-width:1100px){.reviews-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:700px){.reviews-grid{grid-template-columns:1fr}}.review{border-radius:var(--radius);text-align:left;background:#f3f3ff;border:1px solid #00000012;flex-direction:column;gap:20px;padding:32px;transition:border-color .25s,transform .25s;display:flex}.review:hover{border-color:var(--violet);transform:translateY(-4px)}.review .stars{color:var(--violet);gap:4px;display:flex}.review .quote{color:#000;max-width:60ch;font-size:24px;font-weight:400;line-height:1.55}.review .who{border-top:1px solid #00000014;margin-top:auto;padding-top:16px}.review .who .name{font-size:clamp(18px,1.4vw,22px);font-weight:700}.review .who .co{color:#000;margin-top:2px;font-size:clamp(15px,1.1vw,18px)}
.process{background:var(--bg);color:var(--fg)}.process-title{font-size:var(--fs-title);letter-spacing:-.03em;margin:18px 0 64px;font-weight:300;line-height:1.05}.process-title em{font-style:italic;font-weight:300}.process-title-muted{color:var(--muted)}.process-cards{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.process-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);flex-direction:column;transition:transform .3s,border-color .3s;display:flex;overflow:hidden}.process-card:hover{border-color:var(--violet);transform:translateY(-6px)}.process-card-image{width:100%;height:clamp(220px,26vw,360px);position:relative}.process-card-image .ph-label{place-items:center;display:grid;position:absolute;inset:0}.process-card-num{letter-spacing:.12em;color:#ffffffd9;font-size:14px;font-weight:500;position:absolute;top:20px;left:22px}.process-card-body{text-align:center;flex-direction:column;align-items:center;gap:6px;padding:28px 28px 36px;display:flex}.process-card-title{letter-spacing:-.01em;font-size:clamp(24px,2.2vw,30px);font-style:italic;font-weight:400;line-height:1.1}.process-card-sub{color:var(--muted);font-size:15px;font-style:italic}.process-card-divider{background:var(--line);width:36px;height:1px;margin:10px 0 6px}.process-card-text{color:var(--muted);max-width:34ch;font-size:16px;line-height:1.65}@media (max-width:900px){.process-cards{grid-template-columns:1fr}.process-card-image{height:clamp(200px,50vw,300px)}}@media (max-width:600px){.process-title{margin-bottom:48px}}
section.page-header{background:var(--bg);color:var(--fg);padding-top:var(--page-top);padding-bottom:clamp(24px,4vw,48px)}section.page-header.has-lede{padding-bottom:clamp(48px,6vw,80px)}.page-header .head{grid-template-columns:1fr 1fr;align-items:start;gap:clamp(24px,4vw,60px);margin-bottom:0;display:grid}.page-header-intro{min-width:0}.page-header-title{letter-spacing:-.03em;font-weight:300;line-height:1;font-size:var(--fs-title);overflow-wrap:anywhere;max-width:16ch;margin:18px 0 0}.page-header-title .accent{color:var(--violet);font-weight:800}.page-header-lede{flex-direction:column;gap:clamp(24px,3vw,40px);min-width:0;display:flex}.page-header-lede .scroll-typewriter{font-size:var(--fs-desc);letter-spacing:-.01em;margin:0;font-weight:400;line-height:1.45}@media (max-width:800px){.page-header .head{grid-template-columns:1fr}}
section.legal-page-header{background:var(--bg);color:var(--fg);padding-top:clamp(120px,18vw,180px);padding-bottom:0}.legal-page-header-title{letter-spacing:-.03em;font-weight:300;line-height:1;font-size:var(--fs-title);max-width:16ch;margin:18px 0 0}.legal-page-header-title .accent,.legal-page-header-title em{color:var(--violet);font-style:normal;font-weight:800}.legal-page-header-date{letter-spacing:-.01em;color:var(--fg);margin:clamp(20px,2.5vw,36px) 0 0;font-size:clamp(20px,2.4vw,43px);font-weight:400;line-height:1.2}
