@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&display=swap');
:root{--ink:#202123;--purple:#4f5ccd;--paper:#fafaf7;--line:#deded8;--muted:#747570}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Cerebri Sans','DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--purple);outline-offset:6px}.header{height:98px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:30px}.wordmark{font-size:23px;font-weight:600;letter-spacing:5px;white-space:nowrap;display:flex;align-items:center;gap:12px}.brand-dot{width:9px;height:9px;background:var(--purple);border-radius:50%;display:inline-block}.header nav{display:flex;gap:32px;font-size:13px}.header nav a:hover{color:var(--purple)}.header-cta{font-size:13px;border-bottom:1px solid;padding:10px 0;display:flex;gap:32px}.hero{padding:32px 5% 0;overflow:hidden}.hero-top,.hero-bottom{display:flex;justify-content:space-between;align-items:center}.eyebrow{font-size:11px;font-weight:600;letter-spacing:2px;display:inline-flex;align-items:center;gap:10px}.eyebrow i{width:6px;height:6px;background:var(--purple);border-radius:50%}.muted{color:var(--muted)}.hero-index{font-size:12px;color:var(--muted)}.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:5%;padding:65px 0 62px;align-items:center}h1{font-size:clamp(64px,7.6vw,116px);font-weight:450;line-height:.99;letter-spacing:-6px;margin:0}em{font-style:normal;color:var(--purple)}.hero-sub{font-size:clamp(24px,2.6vw,38px);letter-spacing:-1.3px;margin:20px 0 25px}.hero-desc{max-width:405px;font-size:15px;color:#666761;line-height:1.8;margin-bottom:30px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:42px;padding:17px 23px;font-size:12px;font-weight:500;border:0;border-radius:3px;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px);background:var(--purple)}.dark{background:var(--ink);color:white}.button span{font-size:21px;line-height:1}.brand-composition{height:510px;position:relative;background:radial-gradient(ellipse at 72% 28%,#e2e0f5,transparent 55%),linear-gradient(145deg,#f0eff8,#e2e3ef);border-radius:48% 48% 5px 5px;display:flex;align-items:center;justify-content:center;margin-top:10px}.brand-composition:before,.brand-composition:after{content:'';position:absolute;border:1px solid #b5b5df;border-radius:50%;width:87%;height:63%;transform:rotate(-35deg)}.brand-composition:after{transform:rotate(35deg);width:75%;height:87%;border-color:#c9c9e5}.logo-sheet{width:100%;background:transparent;box-shadow:none;transform:none;position:relative;z-index:1;padding:26px 0}.logo-sheet img{width:100%;height:auto;display:block}.orbital-label{position:absolute;font-size:10px;letter-spacing:1.5px;padding:10px 13px;background:#fafaf7;z-index:2;border:1px solid #e6e4ef;border-radius:2px}.label-one{top:52px;left:10px}.label-two{right:-10px;top:53%}.label-three{bottom:65px;left:20px}.composition-caption{position:absolute;bottom:19px;left:24px;right:24px;display:flex;justify-content:space-between;font-size:9px;letter-spacing:2px;color:#6f708c}.hero-bottom{border-top:1px solid var(--line);padding:21px 0;font-size:11px;color:#747570}.hero-bottom a{display:flex;gap:34px}.section{padding:105px 5%}.intro{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 2.3fr;gap:5%}.intro>.eyebrow{align-self:start;margin-top:11px}h2{font-size:clamp(34px,3.6vw,56px);font-weight:450;letter-spacing:-2px;line-height:1.12;margin:0}.intro h2 span{color:#93938d}.intro-body{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:30px}.intro-body p,.section-heading p,.service p,.steps p,.perspective p{font-size:14px;line-height:1.8;color:#747570}.expertise{background:#efefea}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:52px}.section-heading h2{margin-top:22px}.section-heading p{margin:0}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.service{border-top:1px solid #bfbfb8;padding:28px 0 0}.service-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:35px}.service-top>span{font-size:12px;color:#82827d}.service svg{width:65px;height:65px;fill:none;stroke:var(--purple);stroke-width:1.2}.service h3{font-size:29px;line-height:1.2;font-weight:450;letter-spacing:-1px;margin:0 0 20px}.service p{max-width:320px;min-height:100px}.service ul{list-style:none;padding:12px 0 30px;margin:0;font-size:12px;line-height:2.4}.service li:before{content:'↗';color:var(--purple);margin-right:12px}.service-tag{font-size:9px;letter-spacing:1.8px;color:var(--muted)}.approach{background:#242527;color:white;display:grid;grid-template-columns:1fr 1fr;gap:10%;position:relative;overflow:hidden}.approach .eyebrow{color:#a5a6ad}.approach h2{font-size:clamp(40px,4.4vw,68px);margin:25px 0}.approach em{color:#a7a8ef}.approach-lead>p{color:#b5b5bb;line-height:1.8;font-size:14px;max-width:350px}.steps article{border-top:1px solid #505053;padding:26px 0 21px}.steps article>span{font-size:9px;letter-spacing:1.8px;color:#a6a7e7}.steps h3{font-size:23px;font-weight:450;letter-spacing:-.5px;margin:18px 0 10px}.steps p{color:#b5b5bb;max-width:430px;margin-bottom:8px}.loop-art{display:flex;margin-top:36px}.loop-art span{border:1px solid #6668a0;border-radius:50%;height:65px;width:65px;margin-right:-18px}.perspective{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.perspective h2{margin:24px 0}.perspective p{max-width:410px}.perspective .small-note{font-size:11px;color:#85867f;margin-top:25px}.questions details{border-top:1px solid var(--line);padding:25px 0}.questions details:last-child{border-bottom:1px solid var(--line)}summary{display:flex;justify-content:space-between;cursor:pointer;font-size:18px;list-style:none;gap:20px}summary::-webkit-details-marker{display:none}.plus{color:var(--purple);font-size:23px;transition:transform .2s}details[open] .plus{transform:rotate(45deg)}.questions p{margin-bottom:0}.project{background:#e9e8f5;border-top:1px solid #d6d4e9}.project-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:10%;align-items:end;margin-top:30px}.project h2{font-size:clamp(32px,3.7vw,58px)}.project-grid p{font-size:14px;line-height:1.8;max-width:340px;margin:0 0 28px;color:#676679}.project-note{display:block;font-size:10px;margin-top:16px;color:#77748b}footer{padding:40px 5%;display:flex;justify-content:space-between;align-items:center;gap:25px}footer .wordmark{font-size:17px;letter-spacing:3px}footer p,footer>span{font-size:10px;color:var(--muted)}dialog{border:1px solid var(--line);border-radius:8px;max-width:570px;width:calc(100% - 32px);padding:40px;background:var(--paper);max-height:90vh}dialog::backdrop{background:#15152b88;backdrop-filter:blur(5px)}dialog h2{font-size:32px;margin-top:15px;letter-spacing:-1px}dialog p{font-size:12px;line-height:1.6;color:var(--muted)}.close{position:absolute;right:16px;top:12px;background:none;border:0;font-size:28px}label{display:block;font-size:12px;margin:18px 0}input,select,textarea{display:block;width:100%;border:1px solid #cccac6;background:white;border-radius:3px;padding:12px;margin-top:7px;font-size:13px}textarea{resize:vertical}.saved{color:var(--purple)}.skip{position:absolute;top:-100px;left:12px;padding:12px;background:white;z-index:20}.skip:focus{top:10px}@media(min-width:1600px){body{max-width:1600px;margin:auto}.hero-grid{gap:9%}}@media(max-width:1000px){h1{letter-spacing:-4px}.brand-composition{height:425px}.header nav{gap:18px}.hero-grid{gap:4%}.service h3{font-size:25px}.intro{grid-template-columns:1fr 3fr}.services{gap:22px}.service p{min-height:125px}.section{padding:80px 5%}}@media(max-width:700px){.header{height:78px;padding:0 6%}.header nav{display:none}.wordmark{font-size:18px;letter-spacing:3px}.header-cta{font-size:11px;gap:16px}.hero{padding:26px 6% 0}.hero-index{display:none}.hero-grid{grid-template-columns:1fr;padding:40px 0}.hero h1{font-size:72px;letter-spacing:-4px}.hero-sub{font-size:28px}.hero-desc{font-size:14px}.brand-composition{height:390px;margin:25px 5% 0}.logo-sheet{max-width:none}.hero-bottom{font-size:9px;gap:20px}.hero-bottom a{gap:10px}.section{padding:66px 6%}.intro,.perspective,.approach,.project-grid{grid-template-columns:1fr;gap:32px}.intro-body{grid-template-columns:1fr;gap:0;margin-top:20px}.intro-body p{margin:8px 0}.section-heading{display:block;margin-bottom:35px}.section-heading p{margin-top:20px}.services{grid-template-columns:1fr;gap:38px}.service-top{margin-bottom:16px}.service h3{font-size:32px}.service p{min-height:0;max-width:none}.service ul{padding-bottom:15px}.service svg{width:55px;height:55px}.approach h2{font-size:48px}.loop-art{display:none}.steps{margin-top:16px}.perspective h2{font-size:37px}.project h2{font-size:37px}.project-grid{gap:28px}footer{padding:32px 6%;align-items:start;flex-direction:column;gap:15px}footer p{margin:0}dialog{padding:32px 24px}h2{letter-spacing:-1.3px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Keep the brand mark and its captions in separate layout areas. */
.brand-composition{background:linear-gradient(145deg,color-mix(in srgb,var(--purple) 4%,white),color-mix(in srgb,var(--purple) 12%,white));display:grid;grid-template-rows:minmax(0,1fr) auto auto;row-gap:20px;padding:24px 20px 18px;isolation:isolate}
.brand-composition:before,.brand-composition:after{border-color:var(--purple);opacity:.3;pointer-events:none;left:7%;top:9%;height:63%;width:86%;z-index:0}
.brand-composition:after{left:16%;top:4%;height:70%;width:68%;opacity:.18}
.logo-sheet{width:100%;height:100%;min-height:0;padding:0;display:flex;align-items:center;justify-content:center;z-index:1}
.logo-sheet img{width:100%;height:100%;object-fit:contain}
.brand-stages{position:relative;z-index:2;display:flex;justify-content:center;gap:9px;width:100%}
.orbital-label{position:static;font-size:9px;letter-spacing:1px;padding:10px 11px;white-space:nowrap;color:var(--purple);background:color-mix(in srgb,var(--purple) 3%,white);border-color:color-mix(in srgb,var(--purple) 28%,white)}
.composition-caption{position:relative;bottom:auto;left:auto;right:auto;width:100%;color:var(--purple);font-size:8px;letter-spacing:1.5px;z-index:1}
.loop-art span{border-color:var(--purple)}
.approach em,.steps article>span{color:color-mix(in srgb,var(--purple) 52%,white)}
.project{background:color-mix(in srgb,var(--purple) 10%,white);border-color:color-mix(in srgb,var(--purple) 22%,white)}
@media(max-width:700px){.hero h1{font-size:clamp(51px,10.5vw,72px)}.brand-composition{padding:20px 12px 16px;row-gap:16px}.brand-stages{gap:5px}.orbital-label{font-size:8px;letter-spacing:.6px;padding:9px 7px}}

.footer-business{display:flex;flex-direction:column;gap:9px}.footer-business p{margin:0}.business-details{display:flex;flex-wrap:wrap;gap:8px 22px}.business-details span{white-space:nowrap}

.honeypot{display:none!important}.form-privacy a{text-decoration:underline}.button:disabled{opacity:.6;cursor:wait}.saved.error{color:#a32828}

/* Ellipses stay inside the curved panel, above the caption row. */
.brand-composition{overflow:hidden}
.brand-composition::before,.brand-composition::after{left:14%;top:18%;width:72%;height:48%;transform:rotate(-18deg)}
.brand-composition::after{left:19%;top:15%;width:62%;height:54%;transform:rotate(18deg)}
