@import url('https://fonts.googleapis.com/css2?family=Caveat:wght@500;600&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{color-scheme:dark;--bg:#08090d;--fg:#f4f3fa;--muted:#9093a6;--line:#ffffff16;--accent:#c4adff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--bg);color:var(--fg);font-family:Manrope,system-ui,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}button,select{font:inherit}button,a,select{outline-offset:6px}button{cursor:pointer}body:before{content:'';position:absolute;top:0;left:0;right:0;height:100vh;pointer-events:none;background:radial-gradient(ellipse at 50% 40%,#56377318,transparent 52%)}.ambient{position:absolute;inset:0 0 auto;height:100vh;overflow:hidden;pointer-events:none}.ambient:before,.ambient:after{content:'';position:absolute;width:38vw;height:38vw;border-radius:50%;filter:blur(100px);opacity:.15;animation:drift 24s ease-in-out infinite alternate}.ambient:before{background:#773ee8;left:-20vw;top:20vh}.ambient:after{background:#2c9fbe;right:-25vw;top:20vh;animation-delay:-12s}@keyframes drift{to{transform:translate(10vw,-8vh);opacity:.22}}.topbar{height:96px;padding:0 6%;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:2;max-width:1600px;margin:auto}.brand{display:block;overflow:hidden;width:225px;height:38px;flex-shrink:0}.brand img{width:225px;display:block;margin-top:-20px}.topbar nav{display:flex;align-items:center;gap:34px;font-size:11px;color:#a7a8b6}.topbar nav a:hover{color:white}.lang{display:flex;gap:4px;padding:4px;border:1px solid var(--line);border-radius:30px}.lang button{background:none;border:0;border-radius:20px;padding:5px 10px;color:#85899c;font-size:10px}.lang button[aria-pressed=true]{background:#efedf6;color:#17131f}.welcome{min-height:calc(100svh - 96px);position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:25px 24px 90px;text-align:center}.hero-main{width:min(850px,100%);margin:auto}.eyebrow{color:#9690aa;font-size:9px;letter-spacing:3px;font-weight:600;margin:0 0 20px}.greeting-wrap{height:167px;display:flex;align-items:center;justify-content:center;position:relative;margin:10px 0 4px}#greeting{display:inline-block;font-family:Caveat,'Segoe Script',cursive;font-size:150px;font-weight:500;line-height:1.1;letter-spacing:-7px;background:linear-gradient(110deg,#e6b8e9 0%,#bfa7f8 35%,#91d6f3 70%,#b9e7df 100%);background-clip:text;-webkit-background-clip:text;color:transparent;filter:drop-shadow(0 0 45px #a57ce026);transition:opacity .45s ease,transform .65s ease;transform:translateY(0) rotate(-5deg);padding:0 15px 15px}#greeting.fading{opacity:0;transform:translateY(8px) rotate(-3deg)}h1{font-size:clamp(40px,4.3vw,64px);line-height:1.08;letter-spacing:-2.8px;font-weight:500;margin:18px 0}h1 br{display:none}.phrase-container{min-height:48px;padding:0 15px;margin-top:19px}#phrase{margin:0;color:#a5a4b5;font-size:14px;transition:opacity .4s,transform .4s}#phrase.fading{opacity:0;transform:translateY(5px)}.country-entry{width:min(490px,100%);margin:40px auto 0}.country-entry label{display:block;font-size:10px;letter-spacing:.4px;color:#b8b8c7;text-align:left;margin:0 0 9px 3px}.country-row{display:flex;gap:8px;align-items:stretch}.select-wrap{flex:1;min-width:0}select{width:100%;height:48px;border:1px solid #ffffff24;border-radius:9px;background:#16151d;color:#dad7e5;font-size:11px;padding:0 12px;cursor:pointer}option{background:#17151d}.continue{border:1px solid #e6ddfa;background:#eeebf6;color:#19131f;display:inline-flex;align-items:center;justify-content:center;gap:22px;padding:12px 19px;border-radius:9px;font-size:11px;font-weight:700;transition:background .2s,transform .2s}.continue:hover{background:#d7c8ff;transform:translateY(-2px)}.country-note{font-size:10px;color:#77798c;margin-top:12px}#countryError{font-size:12px;color:#f4b5b9;margin:12px 0}.welcome-bottom{position:absolute;bottom:24px;left:6%;right:6%;display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:.8px;color:#858596}.discover{display:flex;gap:15px;align-items:center}.discover span:last-child{font-size:16px}.coordinates{font-size:8px;letter-spacing:2px}#motionButton{background:none;border:0;color:#858596;font-size:9px}.section{padding:100px 0;max-width:1140px;width:88%;margin:auto;border-top:1px solid var(--line);position:relative}h2{font-size:clamp(32px,4vw,52px);font-weight:500;line-height:1.12;letter-spacing:-2px;margin:0}.section-grid{display:grid;grid-template-columns:1fr 1fr;gap:12%;margin-top:30px}.large-copy{font-size:19px;letter-spacing:-.3px;margin:0 0 22px;line-height:1.65;color:#d5d3df}.muted{color:var(--muted);font-size:13px;line-height:1.9;max-width:420px}.text-link{display:inline-flex;gap:35px;color:#d7c5ff;font-size:12px;margin-top:20px}.disciplines{display:flex;gap:45px;margin-top:65px;font-size:10px;letter-spacing:1px;color:#848293}.disciplines span:before{content:'·';color:#c6b0f5;padding-right:10px}.section-head{display:flex;justify-content:space-between;gap:60px;align-items:flex-end;margin-bottom:55px}.section-head .muted{max-width:310px;margin:0}.process-list{list-style:none;counter-reset:steps;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:35px 45px}.process-list li{padding-top:18px;border-top:1px solid #ffffff1a;counter-increment:steps}.process-list li:before{content:counter(steps,decimal-leading-zero);font-size:10px;color:#c6b0f5;letter-spacing:1px}.process-list h3{font-size:14px;letter-spacing:-.2px;font-weight:600;margin:15px 0 10px}.process-list p{font-size:12px;color:#9897a8;line-height:1.85;margin:0}.timing-note{font-size:10px;color:#838294;line-height:1.9;margin:40px 0 0;max-width:850px;padding-left:16px;border-left:1px solid #a58aff66}.faq-section{max-width:1140px}details{border-top:1px solid var(--line)}details:last-child{border-bottom:1px solid var(--line)}summary{list-style:none;padding:23px 0;display:flex;gap:35px;justify-content:space-between;align-items:center;font-size:14px;cursor:pointer}summary::-webkit-details-marker{display:none}summary:after{content:'+';color:#a397bf;font-size:22px;font-weight:400}details[open] summary:after{content:'−'}details p{max-width:800px;color:#a5a1b4;font-size:13px;line-height:1.95;margin:0;padding:0 40px 25px 0}.closing{text-align:center;padding:105px 0}.closing h2{margin:0 0 35px}.closing .continue{padding:15px 28px}.countryReminder{font-size:10px;color:#8b879c;margin-top:20px}footer{max-width:1440px;border-top:1px solid var(--line);padding:30px 6%;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:25px}footer .brand{width:160px;height:28px}footer img{width:160px!important;margin-top:-14px!important}footer a:not(.brand),footer>span{font-size:9px;color:#848192}[hidden]{display:none!important}@media(min-width:1500px){.welcome{max-height:1000px;min-height:800px}}@media(max-width:760px){.topbar{height:80px;padding:0 6%}.topbar .brand{width:180px;height:32px}.topbar .brand img{width:180px;margin-top:-15px}.topbar nav{gap:12px}.topbar nav>a{display:none}.lang button{padding:5px 8px}.welcome{min-height:calc(100svh - 80px);padding:25px 22px 100px}.hero-main>.eyebrow{font-size:7px;letter-spacing:1.8px}.greeting-wrap{height:145px}#greeting{font-size:130px;letter-spacing:-5px}h1{font-size:42px;line-height:1.12;letter-spacing:-1.8px;max-width:400px;margin:20px auto 15px}h1 br{display:block}.phrase-container{padding:0;min-height:65px;max-width:300px;margin:17px auto 0}#phrase{font-size:12px;line-height:1.8}.country-entry{margin-top:23px;width:min(370px,100%)}.country-row{flex-direction:column;gap:10px}select{font-size:12px;height:48px}.continue{font-size:12px;min-height:48px}.welcome-bottom{bottom:23px;left:6%;right:6%;font-size:8px}#motionButton{font-size:8px}.coordinates{display:none}.section{padding:65px 0}.section-grid{grid-template-columns:1fr;gap:30px}.large-copy{font-size:16px}.disciplines{flex-wrap:wrap;gap:12px 25px;margin-top:35px;font-size:9px}.section-head{display:block;margin-bottom:35px}.section-head .muted{margin-top:25px}.process-list{grid-template-columns:1fr 1fr;gap:30px 22px}.process-list h3{font-size:13px}.process-list p{font-size:11px}h2{font-size:36px;letter-spacing:-1.7px}summary{font-size:13px;padding:21px 0}details p{font-size:12px;padding-right:15px}.closing{padding:80px 0}footer{flex-wrap:wrap;justify-content:center;text-align:center}footer>span{width:100%}}@media(max-width:360px){.topbar .brand{width:150px;height:28px}.topbar .brand img{width:150px;margin-top:-12px}.lang button{padding:5px 6px}.welcome{padding-left:18px;padding-right:18px}h1{font-size:37px}#greeting{font-size:118px}.process-list{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
.motion-paused .ambient:before,.motion-paused .ambient:after{animation-play-state:paused}

/* Wordmark aligned with the centered introductory text. */
.topbar{justify-content:flex-end}.hero-brand{width:320px;height:50px;margin:0 auto 19px}.hero-brand img{width:320px;margin-top:-33px}@media(max-width:760px){.hero-brand{width:260px;height:41px;margin-bottom:17px}.hero-brand img{width:260px;margin-top:-27px}}

/* Readable type scales with viewport width while respecting browser text size. */
body{font-size:clamp(1rem,.9rem + .15vw,1.125rem)}
.topbar nav{font-size:clamp(.875rem,.8rem + .12vw,1rem);gap:28px}.lang button{font-size:.8125rem;padding:7px 12px}
.eyebrow{font-size:clamp(.75rem,.68rem + .12vw,.875rem);letter-spacing:2px;color:#b5afc7}
.hero-main{width:min(1080px,100%)}#phrase{font-size:clamp(1rem,.9rem + .2vw,1.1875rem);color:#bcb9cb;line-height:1.7}.phrase-container{min-height:58px}
.country-entry{width:min(580px,100%)}.country-entry label{font-size:.9375rem;color:#d0ccdc}.country-row select{font-size:1rem;height:56px}.continue{font-size:1rem;min-height:56px}.country-note{font-size:.8125rem;color:#a5a0b5}
.welcome-bottom,.coordinates,#motionButton{font-size:.75rem;color:#aaa5b9}.coordinates{letter-spacing:1px}.welcome-bottom{gap:20px}
.section,.faq-section{max-width:1280px}.section-head .muted{max-width:360px}.muted{font-size:clamp(1rem,.88rem + .2vw,1.1875rem);color:#b2afc1;line-height:1.8}.large-copy{font-size:clamp(1.125rem,1rem + .25vw,1.375rem)}
.text-link,.disciplines{font-size:.9375rem}.process-list{gap:40px 38px}.process-list li:before{font-size:.8125rem}.process-list h3{font-size:clamp(1rem,.9rem + .16vw,1.1875rem);line-height:1.5}.process-list p{font-size:clamp(1rem,.88rem + .2vw,1.1875rem);line-height:1.8;color:#b2afc1}.timing-note{font-size:.875rem;max-width:1100px;color:#aaa4ba;line-height:1.85}
summary{font-size:clamp(1rem,.9rem + .2vw,1.1875rem)}details p{font-size:clamp(1rem,.88rem + .2vw,1.1875rem);color:#b9b3c9;max-width:950px}.countryReminder{font-size:.875rem}footer a:not(.brand),footer>span{font-size:.8125rem}
@media(max-width:760px){.hero-main>.eyebrow{font-size:.75rem;letter-spacing:1.3px}.topbar nav{gap:12px}.lang button{font-size:.8125rem;padding:7px 10px}#phrase{font-size:1rem}.phrase-container{min-height:82px}.country-entry{width:min(400px,100%)}.country-entry label{font-size:.875rem}.country-note{font-size:.8125rem}.country-row select,.continue{font-size:1rem}.welcome-bottom,#motionButton{font-size:.75rem}.welcome-bottom{left:5%;right:5%}.section-head .muted{max-width:100%}.process-list h3,.process-list p,summary,details p{font-size:1rem}.timing-note{font-size:.875rem}.disciplines{font-size:.875rem}.welcome{padding-bottom:110px}footer{gap:20px}}
@media(max-width:600px){.process-list{grid-template-columns:1fr;gap:28px}.section{width:88%}.section-head{margin-bottom:35px}}

/* A quiet visual cue for each step. */
.process-list li{border:1px solid #ffffff16;border-radius:15px;padding:26px;background:linear-gradient(145deg,#b499ff08,transparent 80%)}.process-list li:before{display:none}.process-marker{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.process-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:#b499ff0e;border:1px solid #b499ff26;color:#c9b6ff}.process-icon svg{width:25px;height:25px}.process-number{font-size:.8125rem;letter-spacing:1px;color:#a595c3}.process-list h3{margin-top:0}.process-list{gap:20px}
/* Decorative product previews; captions carry the accessible service names. */
.disciplines.service-previews{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:64px}.service-preview{min-width:0}.service-preview h3{font-size:1rem;font-weight:500;color:#d4cfe2;letter-spacing:.2px;margin:18px 0 0}.mock-stage{height:260px;border:1px solid #ffffff18;border-radius:18px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;background:radial-gradient(ellipse at 50% 60%,#6f47a927,#0e0e15 75%)}.mock-stage i,.mock-stage b,.mock-stage em,.mock-stage strong{display:block}.mock-browser{width:84%;height:181px;border:1px solid #b9a5df55;border-radius:8px;background:#13111c;box-shadow:0 22px 45px #0007;transform:perspective(650px) rotateY(-7deg) rotateX(4deg);overflow:hidden}.mock-toolbar{height:18px;border-bottom:1px solid #ffffff13;display:flex;align-items:center;gap:4px;padding:0 8px}.mock-toolbar i{width:3px;height:3px;background:#a494be;border-radius:50%}.mock-toolbar b{width:40%;height:4px;margin:auto;background:#30283e;border-radius:4px}.mock-webnav{display:flex;align-items:center;gap:9px;padding:11px 14px}.mock-webnav b{width:30px;height:5px;background:#d3c0f3;margin-right:auto}.mock-webnav span{height:3px;width:17px;background:#726382}.mock-webhero{display:flex;padding:7px 15px;gap:10px;align-items:center}.mock-copy{width:55%}.mock-copy i{width:40%;height:3px;background:#9f84c5;margin-bottom:8px}.mock-copy strong{width:95%;height:7px;background:#e1d7ef;margin:5px 0}.mock-copy strong+strong{width:72%}.mock-copy em{height:3px;width:80%;background:#756884;margin-top:10px}.mock-copy b{width:45%;height:13px;background:#bfa5ef;border-radius:3px;margin-top:12px}.mock-orbit{width:72px;height:72px;flex-shrink:0;border:1px solid #c9acff66;border-radius:50%;transform:rotate(-30deg);background:radial-gradient(circle at 35% 30%,#c9b3f9,#69518a 50%,#171021 75%);box-shadow:0 0 28px #9871db22}.mock-orbit i{height:30px;width:90px;border:1px solid #bca3e9;border-radius:50%;position:relative;left:-9px;top:20px;transform:rotate(-12deg)}.mock-webtiles{display:flex;gap:8px;margin:13px 15px}.mock-webtiles i{height:20px;flex:1;background:#c3a5ff10;border:1px solid #c3a5ff20;border-radius:3px}.mock-phone{width:126px;height:232px;border:3px solid #635e73;border-radius:23px;background:#14121e;box-shadow:0 25px 35px #0009;position:relative;transform:rotate(-8deg);padding:25px 12px 12px}.phone-camera{position:absolute;width:37px;height:7px;background:#050509;border-radius:8px;top:7px;left:41px}.phone-top{display:flex;justify-content:space-between;align-items:center}.phone-top i{width:19px;height:19px;background:linear-gradient(135deg,#8de5df,#a58aff);border-radius:50%}.phone-top b{height:3px;width:12px;background:#8c809f}.phone-greeting{height:5px;width:65%;background:#ded4f0;margin:14px 0 10px;border-radius:2px}.phone-stat{padding:10px;background:linear-gradient(140deg,#9a78d1,#705a9f);border-radius:8px}.phone-stat i{width:40%;height:3px;background:#eee3ff80}.phone-stat b{width:65%;height:8px;background:#efe4ff;margin:7px 0}.mini-chart{height:27px;display:flex;gap:4px;align-items:flex-end}.mini-chart span{width:10px;background:#dccbff9c;border-radius:2px;height:40%}.mini-chart span:nth-child(2){height:62%}.mini-chart span:nth-child(3){height:50%}.mini-chart span:nth-child(4){height:83%}.mini-chart span:nth-child(5){height:67%}.mini-chart span:nth-child(6){height:100%;background:#f2eaff}.phone-task{display:flex;gap:7px;align-items:center;margin-top:10px}.phone-task i{width:11px;height:11px;background:#8ce4da33;border:1px solid #8ce4da77;border-radius:3px}.phone-task b{height:3px;width:68%;background:#766987}.phone-dock{display:flex;justify-content:space-around;margin-top:15px}.phone-dock i{width:8px;height:8px;border-radius:3px;background:#bfa5ef}.app-float{position:absolute;left:62%;top:55%;width:85px;height:57px;background:#211b30;border:1px solid #bba2e84d;border-radius:10px;box-shadow:0 10px 30px #0008;padding:11px}.app-float span{position:absolute;right:10px;top:7px;color:#96dfd4;font-size:17px}.app-float i{width:28px;height:4px;background:#c1b0dc}.app-float b{width:38px;height:7px;background:#f1e8ff;margin-top:8px}.design-board{width:71%;height:191px;transform:rotate(7deg);position:relative;border:1px solid #d7c4f140;border-radius:8px;padding:17px;background:#1b1628;box-shadow:0 20px 40px #0008}.design-type{font:500 48px/1 Manrope,sans-serif;letter-spacing:-4px;color:#e6dcf3;border-bottom:1px solid #d7c4f125;padding-bottom:12px;position:relative}.design-type span{position:absolute;right:2px;font-size:24px;color:#baa1e5;letter-spacing:0}.design-swatches{display:flex;gap:0;margin-top:16px;height:29px;border-radius:4px;overflow:hidden}.design-swatches i{flex:1;background:#a48acb}.design-swatches i:nth-child(2){background:#d5c4ec}.design-swatches i:nth-child(3){background:#90cfcf}.design-swatches i:nth-child(4){background:#3e3154}.design-lines{margin-top:12px}.design-lines i{height:3px;width:48%;background:#a38bbb70;margin:5px 0}.design-lines i:nth-child(2){width:36%}.design-lines i:nth-child(3){width:43%}.design-mark{position:absolute;width:47px;height:47px;bottom:15px;right:18px;display:grid;grid-template-columns:1fr 1fr;gap:3px;transform:rotate(-7deg)}.design-mark i{background:#bfa7e5;border-radius:2px 12px 2px 12px}.design-mark i:nth-child(2){background:#8bcbc9;transform:rotate(90deg)}.design-mark i:nth-child(3){background:#7957a3;grid-column:1/-1;border-radius:2px}
@media(min-width:1600px){.mock-stage{height:285px}.mock-browser{height:194px}.mock-webhero{padding-top:12px;padding-bottom:12px}}
@media(max-width:900px) and (min-width:601px){.disciplines.service-previews{gap:14px}.mock-stage{height:225px}.mock-browser{width:92%;transform:none}.mock-webhero{padding-left:10px;padding-right:10px}.mock-orbit{width:55px;height:55px}.mock-orbit i{width:70px;left:-8px;top:12px}.design-board{width:83%;padding:13px}.app-float{display:none}}
@media(max-width:600px){.disciplines.service-previews{grid-template-columns:1fr;gap:30px;margin-top:40px}.mock-stage{height:265px}.mock-browser{max-width:325px;width:82%}.mock-phone{transform:rotate(-7deg)}.design-board{max-width:265px}.service-preview h3{margin-top:12px}.process-list li{padding:24px}.process-marker{margin-bottom:18px}}

/* Family story: the full selfie stays visible at every screen size. */
.family-section h2{max-width:880px;margin:25px 0 42px;text-wrap:balance}.family-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:clamp(28px,4vw,60px);align-items:start}.family-photo{margin:0;min-width:0}.family-photo img{display:block;width:100%;height:auto;border-radius:18px;border:1px solid #ffffff20}.family-photo figcaption{font-size:.875rem;color:#a9a1b9;margin:15px 0;line-height:1.6}.family-copy p{font-size:clamp(1rem,.9rem + .18vw,1.125rem);line-height:1.85;color:#c4bed1;margin:0 0 22px;text-align:justify;overflow-wrap:break-word}.family-copy .family-note{border-left:2px solid #baa0ed;padding-left:20px;color:#e1d6f3;margin-top:28px}.family-section{scroll-margin-top:30px}
@media(max-width:960px){.family-grid{grid-template-columns:1fr}.family-photo{max-width:760px}.family-section h2{margin-bottom:30px}.family-copy{max-width:760px}}
@media(max-width:760px){.topbar nav>a[href="#who-we-are"]{display:block;font-size:.8125rem}.family-photo img{border-radius:12px}.family-copy p{font-size:1rem;line-height:1.8}.family-section h2{font-size:clamp(30px,7vw,36px)}}

/* A viewport-bound invitation remains visible even when the hero is taller than the phone. */
.scroll-hint{position:fixed;left:50%;bottom:calc(16px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:20;display:flex;align-items:center;gap:12px;min-height:44px;padding:9px 17px;border:1px solid #c4adff55;border-radius:999px;background:#111019ed;box-shadow:0 6px 28px #0008;color:#dfd0ff;font-size:.8125rem;white-space:nowrap;backdrop-filter:blur(12px)}
.scroll-hint svg{flex-shrink:0;animation:scroll-invite 1.8s ease-in-out infinite}.scroll-hint:hover{border-color:#c4adff;background:#21182e}.scroll-hint:focus-visible{outline:2px solid #dfd0ff;outline-offset:4px}
@keyframes scroll-invite{0%,100%{transform:translateY(-3px);opacity:.65}50%{transform:translateY(3px);opacity:1}}
.motion-paused .scroll-hint svg{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.scroll-hint svg{animation:none}}
