/* Visual direction: bright, spacious and violet accented. */
:root{--paper:#fff;--ink:#111116;--muted:#6d6c76;--orange:var(--site-primary);--line:#e7e5ec;--lavender:#f5f2ff}
body{background:#fff;font-family:var(--sans)}
.campaign-bar{height:49px;background:#f6f3ff;color:#17151d;border-bottom:1px solid var(--site-primary-soft);gap:25px;font-size:11px;letter-spacing:0}.campaign-dot{background:var(--site-primary);width:7px;height:7px}.campaign-bar a{color:#fff;background:var(--site-primary);font-weight:700;padding:8px 16px;border-radius:24px;box-shadow:0 3px 9px var(--site-primary)44}.campaign-bar a span{color:#fff}
.site-header{height:auto;max-width:1320px;width:calc(100% - 64px);margin:15px auto 0;padding:0 25px;min-height:76px;border:1px solid #e9e7ed;border-radius:48px;background:rgba(255,255,255,.96);box-shadow:0 7px 24px rgba(64,42,109,.07);position:relative;z-index:5;gap:25px}.brand{gap:5px;flex-shrink:0}.brand-mark{font-size:30px;letter-spacing:-.12em;color:#16131b}.brand-mark span{color:var(--site-primary)}.brand-name{font-size:19px;letter-spacing:-.07em;font-weight:600;text-transform:lowercase}.main-nav{gap:22px;font-size:11px;font-weight:600}.main-nav>a:hover{color:var(--site-primary)}.nav-contact{padding:9px 13px;border-color:#e9e7ed}.nav-contact span{color:var(--site-primary)}
.hero{height:690px;min-height:610px;max-height:calc(100vh - 155px);margin-top:20px;background:#fff;color:#111116}.hero-track{inset:0;max-width:1320px;width:100%;margin:auto}.hero-slide{padding:48px 24px 78px;display:grid;grid-template-columns:1.07fr .93fr;grid-template-rows:1fr;column-gap:7%;align-items:center;overflow:visible}.hero-slide.active{visibility:visible}.hero-content{grid-column:1;grid-row:1;max-width:610px;color:#111116;padding-left:0}.hero-kicker{display:inline-flex;align-items:center;border:1px solid var(--site-primary-soft);background:#faf7ff;border-radius:30px;padding:8px 13px;margin:0 0 24px;color:var(--site-primary);font-size:10px;letter-spacing:.04em;font-weight:700}.hero-title{font-size:clamp(48px,5vw,69px);line-height:1.02;letter-spacing:-.075em;font-weight:800;color:#111116}.hero-title em{font-family:var(--display);font-style:normal;color:var(--site-primary);letter-spacing:-.075em;font-weight:800}.hero-description{font-size:14px;line-height:1.85;color:#55545e;max-width:515px;margin:25px 0 26px}.hero-cta{padding:15px 20px 15px 23px;border-radius:30px;background:var(--site-primary);color:#fff;box-shadow:0 8px 16px var(--site-primary)44;font-size:11px;gap:26px}.hero-cta:hover{background:var(--site-primary)}.hero-cta span{color:#fff}.hero-bg{position:relative;grid-column:2;grid-row:1;inset:auto;width:100%;height:440px;border-radius:17px;background-color:#ece8f4;background-position:center;background-size:cover;box-shadow:0 18px 48px rgba(38,25,65,.13);overflow:visible;transform:none;transition:background-image .3s}.hero-slide.active .hero-bg{transform:none}.hero-bg:after{content:"";position:absolute;inset:0;border-radius:17px;background:linear-gradient(180deg,rgba(15,12,25,0) 50%,rgba(15,12,25,.33));pointer-events:none}.hero-bg:before{content:"";position:absolute;z-index:2;left:-20px;top:29px;width:9px;height:9px;border-radius:50%;background:var(--site-primary);box-shadow:0 0 0 7px #fff,0 2px 18px var(--site-primary)88;pointer-events:none}.visual-label{position:absolute;z-index:3;top:20px;right:20px;padding:10px 13px;border:1px solid rgba(255,255,255,.63);border-radius:25px;background:rgba(255,255,255,.91);backdrop-filter:blur(12px);font-size:9px;letter-spacing:.11em;font-weight:700;color:#292532}.visual-label i{font-style:normal;color:var(--site-primary);margin-left:9px;font-size:13px}.visual-caption{position:absolute;z-index:3;bottom:18px;left:20px;padding:11px 14px;border:1px solid rgba(255,255,255,.35);border-radius:5px;background:rgba(20,18,25,.42);backdrop-filter:blur(10px);color:white;font-size:9px;letter-spacing:.12em}.visual-caption b{color:var(--site-primary-pale);padding:0 5px}
.slider-arrow{top:auto;bottom:23px;width:37px;height:37px;border-color:#dedbe6;background:#fff;color:#27232e;font-size:15px;box-shadow:0 2px 8px #26202b0a}.slider-arrow:hover{background:var(--site-primary);border-color:var(--site-primary);color:#fff}.slider-prev{left:auto;right:calc(50% + 14px)}.slider-next{right:calc(50% - 30px)}.slider-footer{bottom:35px;left:max(calc((100% - 1272px)/2),32px);right:max(calc((100% - 1272px)/2),32px);color:#77747e;pointer-events:none}.slide-count{font-size:10px}.slide-count span:first-child{color:var(--site-primary);font-weight:700}.slide-count i{background:#d8d5de}.slider-dots{pointer-events:auto;gap:6px}.slider-dot{background:#d7d2e0}.slider-dot.active{background:var(--site-primary)}.slider-hint{color:#88848f;font-size:8px}.slider-hint span{color:var(--site-primary)}
.section-wrap{padding-left:max(calc((100% - 1170px)/2),8%);padding-right:max(calc((100% - 1170px)/2),8%)}.intro{padding-top:102px;padding-bottom:103px}.eyebrow{color:#7c7884}.intro h2,.contact h2{font-weight:800}.intro h2 em,.contact h2 em{color:var(--site-primary);font-family:var(--display);font-style:normal;font-weight:800}.projects{padding-top:24px;padding-bottom:105px}.project-art{border-radius:12px}.art-one{background:#ede8f5}.art-two{background:#e8e6f1}.orb{background:radial-gradient(circle at 35% 30%,var(--site-primary-pale),var(--site-primary) 52%,#49229a);box-shadow:28px 23px 60px #61459840}.project-arrow{color:var(--site-primary)}.contact{background:#f6f3ff;color:#15131b}.contact .eyebrow{color:#76717f}.contact-orbit{border-color:rgba(121,60,240,.14)}.orbit-b{border-color:rgba(121,60,240,.4)}.contact-button{background:var(--site-primary);color:white;border-color:var(--site-primary);box-shadow:0 8px 18px var(--site-primary)33}.contact-button span{color:#fff}.floating-contact{position:fixed;z-index:10;bottom:22px;left:22px;display:flex;align-items:center;gap:10px;padding:10px 16px 10px 10px;border-radius:35px;background:var(--site-primary);color:#fff;box-shadow:0 7px 22px #32146a38}.floating-icon{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#ffffff25;font-size:17px}.floating-contact strong,.floating-contact small{display:block}.floating-contact strong{font-size:10px}.floating-contact small{font-size:9px;opacity:.8;margin-top:3px}
@media(max-width:1050px){.site-header{width:calc(100% - 40px);padding:0 19px}.main-nav{gap:13px}.hero-slide{padding-left:7%;padding-right:7%;gap:5%}.hero-title{font-size:clamp(44px,5.3vw,60px)}.hero-bg{height:390px}}
@media(max-width:760px){.campaign-bar{height:auto;min-height:42px;padding:6px 12px;gap:8px;font-size:9px}.site-header{height:68px;width:calc(100% - 26px);margin-top:10px;padding:0 16px;min-height:68px}.brand-name{font-size:17px}.main-nav{top:76px;left:0;right:0;border:1px solid #e9e7ed;border-radius:0 0 18px 18px;box-shadow:0 15px 24px #2e19431a;padding:23px 7%;background:#fff}.menu-toggle{border-color:#e6e3eb}.menu-toggle span{background:#25212b}.hero{height:780px;max-height:none;min-height:0;margin-top:0}.hero-slide{padding:37px 8% 96px;grid-template-columns:1fr;grid-template-rows:auto 280px;gap:24px;align-content:center}.hero-content{grid-column:1;grid-row:1;max-width:none}.hero-title{font-size:clamp(47px,11vw,65px)}.hero-kicker{margin-bottom:18px}.hero-description{font-size:12px;line-height:1.75;margin:18px 0 21px}.hero-bg{grid-column:1;grid-row:2;height:280px;border-radius:13px}.visual-label{top:12px;right:12px}.visual-caption{bottom:12px;left:12px}.slider-footer{left:8%;right:8%;bottom:27px}.slider-prev{right:calc(8% + 42px);bottom:20px}.slider-next{right:8%;bottom:20px}.slider-hint{display:none}.slider-dots{margin-left:auto;margin-right:94px}.intro{padding-top:72px;padding-bottom:75px}.intro h2{font-size:52px}.project-art{height:270px}.contact-inner{min-height:340px}.contact h2{font-size:58px}.floating-contact{left:12px;bottom:12px;padding:7px 12px 7px 7px}.floating-icon{width:31px;height:31px}footer{padding-bottom:60px}}
@media(max-width:390px){.campaign-bar{font-size:8px;gap:7px}.campaign-bar a{font-size:8px}.hero{height:750px}.hero-slide{grid-template-rows:auto 245px}.hero-bg{height:245px}.hero-title{font-size:45px}.hero-description{margin-top:14px}.hero-cta{padding:13px 17px}.brand-name{font-size:15px}}