:root{--ink:#242832;--muted:#69707d;--line:rgba(36,40,50,.12);--violet:#4f46e5;--soft:#f8f8fb;--page-pad:5vw;--sans:Arial,Helvetica,sans-serif;--display:Georgia,"Times New Roman",serif;--mono:"Courier New",Courier,monospace}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;min-width:320px;background:#fff;color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}
button,input,textarea{font:inherit}
button{border:0;background:none;color:inherit;cursor:pointer}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--violet);outline-offset:4px}
a{color:inherit}
.site-shell{min-height:100vh;overflow:hidden}
.shell{width:100%;max-width:1440px;margin:0 auto;padding-left:var(--page-pad);padding-right:var(--page-pad)}
.site-header{position:fixed;top:0;left:0;right:0;z-index:20;background:rgba(255,255,255,.92);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}
.header-inner{height:76px;display:flex;align-items:center;justify-content:space-between}
.brand-button{display:inline-flex;align-items:center;gap:12px;padding:0;text-align:left}
.logo-mark{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;position:relative;background:var(--violet);flex:none}
.logo-diamond{width:12px;height:12px;border:1px solid #fff;transform:rotate(45deg)}
.logo-rule{position:absolute;width:20px;height:1px;background:#fff}
.brand-wordmark{font-size:11px;font-weight:800;letter-spacing:.18em;color:var(--ink)}
.brand-wordmark span{font-weight:500;color:var(--muted)}
.desktop-nav{display:flex;align-items:center;gap:36px}
.desktop-nav button{position:relative;padding:8px 0;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.desktop-nav button:after{content:"";position:absolute;bottom:-8px;left:0;right:100%;height:2px;background:var(--violet);transition:right .25s ease}
.desktop-nav button:hover,.desktop-nav button.active{color:var(--ink)}
.desktop-nav button:hover:after,.desktop-nav button.active:after{right:0}
.menu-toggle{display:none;width:40px;height:40px;border:1px solid rgba(36,40,50,.14);padding:10px}
.menu-toggle span{display:block;width:18px;height:1px;margin:4px auto;background:var(--ink);transition:transform .25s ease,opacity .25s ease}
.menu-toggle.open span:nth-child(1){transform:translateY(5px) rotate(45deg)}
.menu-toggle.open span:nth-child(2){opacity:0}
.menu-toggle.open span:nth-child(3){transform:translateY(-5px) rotate(-45deg)}
.mobile-nav{display:none;padding:8px 22px 24px;border-top:1px solid var(--line);background:#fff}
.mobile-nav.open{display:block}
.mobile-nav button{display:flex;justify-content:space-between;width:100%;padding:16px 0;border-bottom:1px solid var(--line);font-size:14px;font-weight:700;text-align:left}
.mobile-nav button.active{color:var(--violet)}
.view{display:none;animation:view-in .58s cubic-bezier(.2,.8,.2,1) both}
.view.active-view{display:block}
@keyframes view-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.section-label{display:flex;align-items:center;gap:12px;margin-bottom:24px;color:var(--violet);font:10px var(--mono);letter-spacing:.04em;text-transform:uppercase}
.section-label i{display:block;width:8px;height:8px;background:var(--violet)}
.section-label-light{color:rgba(255,255,255,.75)}
.section-label-light i{background:#fff}
.display{font-family:var(--display);font-weight:400;letter-spacing:-.055em}
em{font-style:normal;color:var(--violet)}
.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(40px,6vw,80px);align-items:center;min-height:calc(100vh - 76px);padding-top:150px;padding-bottom:112px}
.hero-title{margin:0;max-width:720px;font-size:clamp(3.8rem,8.2vw,8.2rem);line-height:.86}
.lead-copy{max-width:450px;margin:38px 0 0;color:var(--muted);font-size:15px;line-height:1.9}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:20px;margin-top:38px}
.button{display:inline-flex;align-items:center;gap:16px;padding:16px 20px;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;transition:transform .3s ease,background .25s ease,color .25s ease}
.button:hover{transform:translateY(-4px)}
.button-primary{background:var(--violet);color:#fff}
.button-primary:hover{background:#4038c7}
.button span,.text-button span,.outline-button span{font-size:17px;font-weight:400;line-height:0}
.text-button{display:inline-flex;align-items:center;gap:12px;padding:12px 0;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.text-button:hover span{transform:translateX(4px)}
.text-button span{transition:transform .25s ease}
.violet-button{color:var(--violet)}
.hero-art-wrap{position:relative;padding-left:3px}
.geometric-art{position:relative;overflow:hidden;border:1px solid rgba(79,70,229,.18);background-color:#fafaff;background-image:linear-gradient(to right,rgba(79,70,229,.1) 1px,transparent 1px),linear-gradient(to bottom,rgba(79,70,229,.1) 1px,transparent 1px);background-size:32px 32px}
.geometric-art-large{height:560px}
.geometric-art-small{height:220px}
.shape{position:absolute;display:block;border:1px solid rgba(79,70,229,.35)}
.shape-one{left:12%;top:16%;width:44%;height:44%;transform:rotate(12deg)}
.shape-two{right:16%;bottom:12%;width:42%;height:42%;border-color:rgba(79,70,229,.5);transform:rotate(-45deg)}
.art-orb{position:absolute;left:41%;top:27%;display:flex;align-items:center;justify-content:center;width:176px;height:176px;border:1px solid var(--violet);border-radius:50%;background:#fff;box-shadow:0 12px 32px rgba(79,70,229,.12);color:var(--violet);font:88px var(--display);animation:drift 8s ease-in-out infinite}
.art-caption{position:absolute;bottom:20px;color:var(--muted);font:9px var(--mono);letter-spacing:.14em;text-transform:uppercase}
.caption-left{left:20px}.caption-right{right:20px}
.art-square{position:absolute;top:20px;right:20px;width:8px;height:8px;background:var(--violet)}
.established-card{position:absolute;bottom:-24px;left:-32px;padding:13px 16px;background:#fff;border:1px solid var(--line);box-shadow:0 12px 30px rgba(0,0,0,.05)}
.established-card small{display:block;color:var(--muted);font:9px var(--mono);letter-spacing:.04em;text-transform:uppercase}
.established-card strong{display:block;margin-top:6px;font-size:14px}
.marquee-border{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;overflow:hidden}
.marquee{white-space:nowrap;color:var(--muted);font:10px var(--mono);letter-spacing:.2em;text-transform:uppercase}
.marquee span{display:inline-block;animation:marquee 24s linear infinite}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.point-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:48px;padding-top:140px;padding-bottom:140px}
.point-title{max-width:310px;margin:0;font-size:48px;line-height:1.03}
.point-copy{max-width:650px;margin-left:auto}
.point-copy p{color:var(--muted);font-size:15px;line-height:1.9}
.point-copy .statement{margin:0;color:var(--ink);font-size:24px;line-height:1.5}
.point-copy .text-button{margin-top:20px}
.soft-band{padding:96px 0 112px;background:var(--soft)}
.band-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:48px}
.band-heading h2{margin:0;font-size:60px;line-height:1}
.principle-grid{display:grid;grid-template-columns:1.1fr .9fr .9fr;gap:16px}
.card{position:relative;overflow:hidden;background:#fff;border:1px solid var(--line);box-shadow:0 12px 36px rgba(0,0,0,.05);transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease,border-color .35s ease}
.card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--violet)}
.card:hover{transform:translateY(-5px);border-color:rgba(79,70,229,.25);box-shadow:0 18px 42px rgba(0,0,0,.09)}
.principle-card{min-height:380px;padding:32px;display:flex;flex-direction:column;justify-content:space-between}
.card-meta{display:flex;justify-content:space-between;gap:20px;color:var(--violet);font:10px var(--mono)}
.card-meta b{font:18px var(--sans)}
.card-bottom h3{margin:0;font-size:22px}
.principle-card-tall .card-bottom h3{font-size:48px;line-height:.98}
.card-bottom p{max-width:300px;margin:18px 0 0;color:var(--muted);font-size:14px;line-height:1.7}
.icon-box{display:flex;align-items:center;justify-content:center;width:64px;height:64px;margin-bottom:24px;border:1px solid var(--violet);color:var(--violet);font-size:27px}
.dark-card{background:var(--violet);color:#fff;border-color:var(--violet)}
.dark-card .card-meta{color:rgba(255,255,255,.7)}
.dark-card .card-bottom p{color:rgba(255,255,255,.7)}
.icon-box-light{border-color:rgba(255,255,255,.5);color:#fff;font-family:var(--display);font-size:32px}
.page-intro{padding-top:150px;padding-bottom:112px}
.intro-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:end}
.page-title{margin:0;font-size:clamp(3.4rem,7vw,7.2rem);line-height:.9}
.intro-grid .lead-copy{margin:0;max-width:390px}
.about-pair{display:grid;grid-template-columns:.82fr 1.18fr;gap:20px;padding-bottom:140px}
.short-version{min-height:220px;padding:34px;display:flex;flex-direction:column;justify-content:space-between}
.short-version .display{max-width:570px;margin:30px 0 0;font-size:clamp(2rem,3.7vw,3rem);line-height:1.08}
.principles-band{padding:96px 0 112px}
.about-principles{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-bottom:62px}
.about-principles article{border-top:1px solid var(--violet);padding-top:18px}
.number{color:var(--violet);font:11px var(--mono)}
.about-principles h2{margin:52px 0 0;font-size:20px}
.about-principles p{margin:14px 0 0;color:var(--muted);font-size:14px;line-height:1.7}
.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding-bottom:140px}
.service-card{min-height:290px;padding:28px;display:flex;flex-direction:column;justify-content:space-between}
.service-card h2{margin:0;font-size:18px}
.service-card p{margin:14px 0 0;color:var(--muted);font-size:14px;line-height:1.7}
.violet-band{padding:96px 0 112px;background:var(--violet);color:#fff}
.band-cta{display:flex;align-items:flex-end;justify-content:space-between;gap:40px}
.band-cta h2{margin:0;font-size:60px;line-height:.98}
.outline-button{display:inline-flex;align-items:center;gap:16px;padding:16px 20px;border:1px solid rgba(255,255,255,.6);color:#fff;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;transition:background .25s ease,color .25s ease,transform .25s ease}
.outline-button:hover{background:#fff;color:var(--violet);transform:translateY(-4px)}
.approach-intro .mono-note{margin-top:28px}
.mono-note{font:10px/1.7 var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.violet-text{color:var(--violet)}
.approach-grid{display:grid;grid-template-columns:.55fr 1.45fr;gap:64px;padding-bottom:140px}
.sticky-art{position:sticky;top:112px}
.sticky-art .mono-note{margin-top:18px}
.accordion{border-top:1px solid rgba(36,40,50,.15)}
.accordion-item{border-bottom:1px solid rgba(36,40,50,.15)}
.accordion-item button{display:flex;align-items:center;width:100%;gap:20px;padding:24px 0;text-align:left}
.accordion-item button strong{flex:1;font-size:24px;font-weight:500;letter-spacing:-.03em}
.accordion-icon{font-size:20px}
.accordion-panel{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .3s ease,opacity .3s ease}
.accordion-panel p{overflow:hidden;max-width:560px;margin:0;padding-left:52px;color:var(--muted);font-size:14px;line-height:1.9}
.accordion-item.open .accordion-panel{grid-template-rows:1fr;opacity:1}
.accordion-item.open .accordion-panel p{padding-bottom:28px}
.approach-footer{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;padding-top:80px;padding-bottom:112px;border-top:1px solid var(--line)}
.approach-footer h2{margin:0;font-size:60px;line-height:1}
.contact-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:40px;padding-bottom:140px}
.contact-details{display:flex;flex-direction:column;gap:32px}
.contact-details a{display:inline-block;margin-top:7px;font-size:18px;font-weight:700;text-decoration:underline;text-decoration-color:var(--violet);text-decoration-thickness:1px;text-underline-offset:4px}
.address{display:flex;gap:9px;max-width:230px;margin:8px 0 0;color:var(--muted);font-size:14px;line-height:1.7}
.pin{color:var(--violet);font-size:18px}
.contact-note{padding-top:22px;border-top:1px solid var(--line)}
.contact-card{padding:40px}
.contact-card form{display:flex;flex-direction:column;gap:9px}
.contact-card label{margin-top:8px;color:var(--muted);font:10px var(--mono);letter-spacing:.04em;text-transform:uppercase}
.contact-card input,.contact-card textarea{width:100%;border:1px solid var(--line);border-radius:2px;padding:14px 16px;color:var(--ink);background:#fff;outline:none;transition:border-color .2s,box-shadow .2s}
.contact-card textarea{min-height:140px;resize:vertical}
.contact-card input:focus,.contact-card textarea:focus{border-color:var(--violet);box-shadow:0 0 0 3px rgba(79,70,229,.12)}
.contact-card input::placeholder,.contact-card textarea::placeholder{color:#a1a5ae}
.contact-card .button{align-self:flex-start;margin-top:14px}
.form-error{margin:2px 0 0;color:#b42318;font-size:12px;line-height:1.5}
.form-success{min-height:390px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.success-mark{display:flex;align-items:center;justify-content:center;width:56px;height:56px;margin-bottom:28px;background:var(--violet);color:#fff;font-size:24px}
.form-success h2{margin:0;font-size:38px}
.form-success p{max-width:400px;margin:16px 0 0;color:var(--muted);font-size:14px;line-height:1.7}
.form-success .text-button{margin-top:28px}
.copyright-row{border-top:1px solid var(--line);padding:24px 0}
.copyright-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;color:var(--muted);font-size:10px}
.site-footer{padding:32px 0;border-top:1px solid var(--line)}
.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:20px}
.footer-inner p{margin:0;color:var(--muted);font-size:10px}
@keyframes drift{0%,100%{transform:translate(0,0)}50%{transform:translate(8px,-8px)}}
@media (max-width:900px){:root{--page-pad:22px}.hero-grid{grid-template-columns:1fr;gap:72px}.geometric-art-large{height:460px}.principle-grid{grid-template-columns:1.1fr .9fr}.principle-grid .dark-card{grid-column:1/-1;min-height:280px}.services-grid{grid-template-columns:repeat(2,1fr)}.band-cta h2,.approach-footer h2{font-size:48px}}
@media (max-width:767px){.desktop-nav{display:none}.menu-toggle{display:block}.hero-grid{min-height:auto;padding-top:128px;padding-bottom:100px;gap:88px}.hero-title{font-size:clamp(3.8rem,17vw,5.5rem)}.lead-copy{font-size:15px;line-height:1.9}.hero-actions{align-items:flex-start;flex-direction:column;gap:14px}.hero-art-wrap{padding-left:0}.geometric-art-large{height:390px}.art-orb{left:37%;width:128px;height:128px;font-size:68px}.established-card{left:12px}.point-grid,.intro-grid,.about-pair,.approach-grid,.contact-grid{grid-template-columns:1fr}.point-grid{gap:50px;padding-top:92px;padding-bottom:92px}.point-title{font-size:42px}.soft-band,.violet-band,.principles-band{padding:72px 0 80px}.band-heading{align-items:flex-start;flex-direction:column;margin-bottom:32px}.band-heading h2{font-size:46px}.desktop-only{display:none}.principle-grid{grid-template-columns:1fr}.principle-grid .dark-card{grid-column:auto}.principle-card,.service-card{min-height:300px}.principle-card-tall .card-bottom h3{font-size:42px}.page-intro{padding-top:128px;padding-bottom:80px}.page-title{font-size:clamp(3.5rem,15vw,6rem)}.intro-grid{gap:44px}.about-pair,.services-grid,.contact-grid{padding-bottom:90px}.about-principles{grid-template-columns:1fr;gap:36px;margin-bottom:46px}.about-principles h2{margin-top:36px}.services-grid{grid-template-columns:1fr;gap:14px}.service-card{min-height:250px}.band-cta,.approach-footer,.footer-inner,.copyright-inner{align-items:flex-start;flex-direction:column}.band-cta h2,.approach-footer h2{font-size:46px}.band-cta{gap:34px}.approach-art{display:none}.approach-grid{padding-bottom:90px}.accordion-item button strong{font-size:21px}.accordion-panel p{padding-left:40px}.approach-footer{padding-top:62px;padding-bottom:82px}.contact-card{padding:28px}.copyright-inner{gap:10px}.site-footer{padding:26px 0}}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}