@font-face{font-family:Editorial;src:url(assets/cormorantgaramond.ttf);font-display:swap;font-weight:100 900}@font-face{font-family:Instrument;src:url(assets/instrumentsans.ttf);font-display:swap;font-weight:100 900}
:root{--plum:#352238;--lime:#DCEF69;--lavender:#D6CBEA;--paper:#F6F2ED;--ink:#302035;--line:#35223830}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--plum);color:var(--ink);font-family:Instrument,sans-serif;-webkit-font-smoothing:antialiased}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button,a,input,textarea{outline-offset:6px}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid currentColor}img{display:block;max-width:100%;height:auto}button{border:0}button:disabled{cursor:default}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Editorial,serif;font-weight:600;letter-spacing:-.055em}em{font-weight:500}p{line-height:1.6}.eyebrow{font-size:9px;letter-spacing:.22em;font-weight:500;line-height:1.5}.skip{position:fixed;left:20px;top:-80px;background:var(--lime);padding:15px;z-index:100}.skip:focus{top:15px}.pill{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;border-radius:40px;background:var(--lime);color:var(--plum);padding:15px 24px;font-size:12px;min-height:47px;transition:transform .25s,box-shadow .25s}.pill span{font-size:19px;transition:transform .25s}.pill:hover{transform:translateY(-3px);box-shadow:0 10px 25px #0002}.pill:hover span{transform:translate(3px,-3px)}.text-link{background:none;border:0;border-bottom:1px solid currentColor;padding:0 0 8px;display:inline-flex;gap:25px;align-items:center;font-size:11px}.text-link span{transition:transform .25s}.text-link:hover span{transform:translate(3px,-3px)}
.header{position:absolute;z-index:10;left:0;right:0;top:0;display:flex;align-items:center;justify-content:space-between;padding:32px 5%;color:var(--paper)}.brand{display:flex;align-items:center;gap:10px;flex-shrink:0;width:230px}.brand img:first-child{width:48px}.brand img:last-child{width:172px}.header nav{display:flex;align-items:center;gap:36px;font-size:12px}.header nav>a{padding:10px 0;position:relative}.header nav>a:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--lime);transform:scaleX(0);transform-origin:left;transition:transform .3s}.header nav>a:hover:after{transform:scaleX(1)}.header .pill{padding:10px 25px;min-height:40px}.menu-toggle{display:none}.mobile-nav[hidden]{display:none}
.hero{position:relative;isolation:isolate;overflow:hidden;min-height:760px;height:min(900px,58vw);color:var(--paper);background:#231825}.scene-bg{position:absolute;inset:-4%;z-index:-3;background:url(assets/scene.png) center 55%/cover no-repeat;transform:translate3d(var(--bgx,0px),var(--bgy,0px),0) scale(1.025);will-change:transform}.scene-light{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#1e1128a8 0%,#20142550 33%,transparent 67%),linear-gradient(180deg,#1b122c30,transparent 30%,#1c112129);pointer-events:none}.hero-copy{position:absolute;left:5%;top:20%;z-index:4;max-width:48%}.hero-copy .eyebrow{margin-bottom:24px;color:#e9e1ed}.hero h1{font-size:clamp(80px,7.5vw,128px);font-weight:600;line-height:.79;letter-spacing:-.062em}.hero h1>span{display:block}.lime{color:var(--lime)}.hero-description{font-size:14px;letter-spacing:.02em;line-height:1.6;margin-top:27px;max-width:330px}.hero-cta{margin-top:25px}.device-layer{position:absolute;left:34%;top:12%;width:59%;z-index:2;transform:translate3d(var(--devx,0px),var(--devy,0px),0) rotateZ(var(--devr,0deg));will-change:transform}.device-button{display:block;position:relative;width:100%;padding:0;background:none;text-align:left;border-radius:20px}.hero-device{width:100%;filter:drop-shadow(0 22px 16px #12091860);transition:filter .4s}.device-button:hover .hero-device{filter:drop-shadow(0 30px 30px #09050b99)}.device-hint{position:absolute;right:12%;bottom:9%;font-size:7px;letter-spacing:.15em;background:#231825bb;padding:10px 12px;border:1px solid #eee3;color:#f6f2ed;opacity:0;transform:translateY(8px);transition:.3s;backdrop-filter:blur(10px)}.device-hint b{margin-left:16px}.device-button:hover .device-hint,.device-button:focus-visible .device-hint{opacity:1;transform:none}.hero-note{position:absolute;right:4%;top:55%;font-size:8px;line-height:1.8;letter-spacing:.18em;z-index:3;pointer-events:none}.hero-note i{display:block;width:1px;height:50px;background:#f6f2ed60;margin-top:20px}.hero-bottom{position:absolute;bottom:25px;left:5%;right:5%;z-index:5;display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:.05em}.hero-bottom a{display:flex;align-items:center;gap:35px}.hero-bottom a span{font-size:23px}.hero-bottom button{background:#20142566;border:1px solid #f6f2ed38;border-radius:20px;color:var(--paper);font-size:9px;padding:8px 13px}.hero-bottom button span{margin-left:10px}
.section{padding:70px 5%}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:35px}.section-heading h2{font-size:clamp(65px,6.5vw,110px);line-height:.91;margin-top:7px}.section-heading>p{font-size:12px;max-width:330px;color:#675568;line-height:1.7;margin-bottom:7px}.section-heading>.text-link{margin-bottom:8px}.small-number{font:10px Instrument,sans-serif;letter-spacing:0;vertical-align:top;display:inline-block;margin:15px 0 0 18px}.works{background:var(--paper);padding-top:65px;padding-bottom:70px}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.work-card{display:block;min-width:0}.work-image{position:relative;overflow:hidden;aspect-ratio:1410/862;background:#281d2a;border-radius:3px}.work-image>img{height:100%;width:100%;object-fit:contain;transition:transform .65s cubic-bezier(.2,.7,.2,1),filter .65s}.work-card:hover .work-image>img{transform:scale(1.025);filter:brightness(.83)}.visit{position:absolute;right:20px;bottom:20px;border-radius:30px;padding:14px 20px;background:var(--lime);color:var(--plum);font-size:11px;opacity:0;transform:translateY(15px);transition:.3s}.work-card:hover .visit,.work-card:focus-visible .visit{opacity:1;transform:none}.work-caption{display:flex;gap:18px;align-items:baseline;padding-top:16px}.work-caption h3{font-size:25px;letter-spacing:-.025em}.work-caption span{font-size:9px;color:#6c596b}.work-caption b{margin-left:auto;font-weight:400;font-size:21px}
.services{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 85% 45%,#f3edf8 0,#D6CBEA 55%,#cbbddd 100%);display:grid;grid-template-columns:35% 65%;padding-top:80px;padding-bottom:65px;min-height:620px}.services:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 50%,#f6f2ed55 50.2%,transparent 65%);z-index:-1}.service-intro h2{font-size:clamp(64px,5.8vw,98px);line-height:.9;margin:23px 0 24px}.service-intro h2 em{font-style:normal}.service-intro>p:not(.eyebrow){font-size:12px;line-height:1.8;margin-bottom:28px}.service-studio{position:relative;min-height:465px;display:grid;grid-template-columns:41% 59%;align-items:center}.service-tabs{z-index:3;position:relative;display:flex;flex-direction:column;gap:15px;transform:rotate(-7deg);margin-right:-30px}.service-tab{display:flex;align-items:center;gap:14px;padding:22px 20px;background:#f6f2eded;border:1px solid #fff7;border-radius:7px;text-align:left;box-shadow:0 10px 25px #35223812;transition:transform .35s,background .35s,color .35s,box-shadow .35s;min-height:91px}.service-tab strong{font:600 28px/.95 Editorial,serif;letter-spacing:-.04em;display:block}.service-tab small{display:block;font-size:9px;margin-top:8px;line-height:1.4}.service-tab sup{margin-left:auto;align-self:flex-start;font-size:9px;opacity:.6}.service-icon{font-size:27px;width:29px;font-family:Instrument,sans-serif;font-weight:400}.service-tab.active{background:var(--plum);color:var(--paper);transform:translateX(-15px) rotate(2deg);box-shadow:0 18px 30px #35223830;border-color:#352238}.service-tab:hover{transform:translateX(-20px) rotate(2deg)}.service-preview{position:relative;min-height:450px;margin-left:25px;align-self:stretch}.service-panel[hidden]{display:none}.service-panel{position:relative;height:100%;animation:panelIn .55s both}.service-panel>img{position:relative;width:125%;max-width:none;margin-left:-7%;height:285px;object-fit:contain;filter:drop-shadow(0 20px 15px #35223825)}.service-panel>div{margin-left:30px;padding:0 0 0 30px;border-left:1px solid #35223835}.service-panel h3{font-size:43px;line-height:.95;margin:12px 0 17px}.service-panel p{font-size:11px;max-width:265px;line-height:1.7}.service-panel .eyebrow{font-size:7px}
.resources{background:var(--paper);padding-top:75px;padding-bottom:80px}.resources .section-heading{margin-bottom:35px}.resources h2{font-size:clamp(58px,5.5vw,87px)}.resource-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.resource-card{position:relative;isolation:isolate;overflow:hidden;text-align:left;min-height:460px;padding:35px;background:var(--lavender);color:var(--plum);border-radius:5px;transition:box-shadow .4s}.resource-card:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 70% 60%,#f6f2ed80,transparent 70%);z-index:-1}.resource-card>h3{font-size:clamp(43px,4vw,68px);line-height:.92;margin-top:24px;position:relative;z-index:2;max-width:80%}.themes-card h3 span{color:#778626}.apps-card{background:var(--lime)}.apps-card h3{font-size:clamp(39px,3.5vw,60px)}.resource-card>img{position:absolute;right:-7%;bottom:15%;width:65%;transform:translate(10px,20px) rotate(-8deg);filter:drop-shadow(0 20px 20px #35223825);transition:transform .65s cubic-bezier(.2,.7,.2,1);z-index:1}.apps-card>img{width:60%;right:-3%;bottom:12%;transform:translateY(20px) rotate(5deg)}.resource-card:hover>img,.resource-card:focus-visible>img{transform:translate(-10px,0) rotate(-2deg)}.resource-card:hover{box-shadow:0 20px 40px #35223820}.resource-bottom{position:absolute;left:35px;right:35px;bottom:25px;display:flex;justify-content:space-between;align-items:center;font-size:9px;z-index:3}.resource-bottom b{width:39px;height:39px;background:var(--plum);color:var(--paper);border-radius:50%;font-size:22px;font-weight:400;display:grid;place-items:center;transition:transform .3s}.resource-card:hover .resource-bottom b{transform:rotate(45deg)}
.contact{position:relative;isolation:isolate;overflow:hidden;background:#2c1c31;color:var(--paper);display:flex;justify-content:space-between;align-items:center;padding-top:75px;padding-bottom:75px;min-height:390px}.contact-light{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#352238e0,#35223880),url(assets/scene.png) center 15%/cover;opacity:.8}.contact h2{font-size:clamp(65px,7.5vw,126px);line-height:.86;margin-top:24px}.contact em{color:var(--lime);font-style:normal}.contact-action{width:28%;display:flex;align-items:center;gap:30px}.contact-action p{font-size:12px;max-width:200px}.contact-action button{flex-shrink:0;border-radius:50%;background:var(--lime);color:var(--plum);width:95px;height:95px;font-size:38px;transition:transform .3s,background .3s}.contact-action button:hover{transform:rotate(45deg);background:var(--paper)}footer{padding:30px 5%;background:#2c1c31;color:var(--paper);display:flex;align-items:center;gap:40px;position:relative}footer:before{content:"";position:absolute;left:5%;right:5%;top:0;height:1px;background:#f6f2ed33}footer .brand{width:190px}footer .brand img:first-child{width:39px}footer .brand img:last-child{width:141px}footer>span{font-size:9px;color:#d6cbea}footer>a:last-child{font-size:9px;margin-left:auto}
dialog{padding:40px;background:var(--paper);color:var(--plum);width:min(580px,calc(100% - 32px));max-height:90svh;border:1px solid #35223830;border-radius:12px}dialog::backdrop{background:#190b24b3;backdrop-filter:blur(9px)}dialog .close{float:right;background:none;font-size:28px;padding:0 6px}dialog .eyebrow{font-size:8px}dialog h2{font-size:61px;line-height:.93;margin:32px 0 25px}dialog>p{font-size:13px;line-height:1.75;margin:15px 0;color:#6b556c}dialog>.pill{margin-top:14px}dialog .form-note{padding:12px 16px;border-left:2px solid #94a533;background:#dcef6925;font-size:11px}label{font-size:11px;display:block;margin:20px 0}input,textarea{display:block;width:100%;border:1px solid #35223835;border-radius:4px;margin-top:9px;padding:12px;background:white;color:var(--plum);font:inherit;resize:vertical}#brief-result{margin-top:28px;border-top:1px solid #35223830}#brief-result p{font-size:10px;margin-top:15px}
.js .reveal{opacity:0;transform:translate3d(0,45px,0);transition:opacity .85s,transform .85s cubic-bezier(.16,1,.3,1)}.js .work-card:first-child.reveal{transform:translate3d(-45px,50px,0) rotate(-2deg)}.js .work-card:nth-child(2).reveal{transform:translate3d(45px,60px,0) rotate(2deg);transition-delay:.12s}.js .resource-card:first-child.reveal{transform:translate3d(0,70px,0) rotate(-3deg)}.js .resource-card:nth-child(2).reveal{transform:translate3d(0,90px,0) rotate(3deg);transition-delay:.12s}.js .reveal.visible{opacity:1;transform:none}.no-motion .reveal{opacity:1!important;transform:none!important;transition:none!important}.no-motion .scene-bg,.no-motion .device-layer{will-change:auto}.no-motion .service-panel{animation:none}.no-motion *{scroll-behavior:auto!important;transition:none!important}
@keyframes panelIn{from{opacity:0;transform:translate(20px,10px) rotate(2deg)}to{opacity:1;transform:none}}
@media(min-width:1700px){.hero-copy{top:19%}.device-layer{top:9%}}
@media(max-width:1150px){.hero{min-height:750px}.hero h1{font-size:8vw}.hero-copy{top:23%;max-width:50%}.hero-description{font-size:12px}.device-layer{top:20%;left:38%;width:61%}.hero-note{display:none}.section-heading>.text-link{display:none}.services{grid-template-columns:32% 68%;padding-left:4%;padding-right:4%}.service-intro h2{font-size:6vw}.service-tab{padding:18px 12px;gap:9px}.service-tab strong{font-size:25px}.service-icon{font-size:23px}.service-tab small{font-size:8px}.service-panel>div{margin-left:15px;padding-left:20px}.service-preview{margin-left:15px}.service-panel h3{font-size:37px}.resource-card{min-height:400px;padding:28px}.resource-bottom{left:28px;right:28px}.contact-action{width:35%}.contact-action button{width:75px;height:75px}}
@media(max-width:760px){html{scroll-padding-top:15px}.header{padding:24px 6%}.brand{width:181px;gap:8px}.brand img:first-child{width:36px}.brand img:last-child{width:137px}.header nav{display:none}.menu-toggle{display:flex;flex-direction:column;gap:6px;background:none;padding:12px;color:var(--paper)}.menu-toggle span{display:block;width:23px;height:1px;background:currentColor;transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.mobile-nav{position:absolute;top:78px;left:5%;right:5%;z-index:20;display:flex;flex-direction:column;background:var(--paper);color:var(--plum);padding:20px;border-radius:8px;gap:5px;box-shadow:0 12px 40px #0005}.mobile-nav a,.mobile-nav button{padding:13px;text-align:left;background:none;font-size:15px}.hero{min-height:950px;height:calc(780px + 35vw);max-height:1100px}.scene-bg{background-position:62% center;inset:-2%;background-size:auto 100%}.scene-light{background:linear-gradient(180deg,#231825bd 0,#231825bb 40%,#23182522 66%,#23182544)}.hero-copy{top:128px;left:6%;max-width:88%}.hero-copy .eyebrow{font-size:7px;margin-bottom:24px}.hero h1{font-size:clamp(64px,12.8vw,92px);line-height:.84}.hero-description{font-size:12px;margin-top:22px}.hero-cta{margin-top:22px;padding:13px 21px;font-size:11px}.device-layer{left:9%;top:auto;bottom:80px;width:91%;z-index:2}.hero-note{display:none}.device-hint{display:none}.hero-bottom{left:6%;right:6%;bottom:25px;font-size:8px}.hero-bottom button{font-size:8px}.section{padding:45px 6%}.section-heading{display:block;margin-bottom:28px}.section-heading .eyebrow{font-size:7px}.section-heading h2{font-size:65px;margin-top:13px}.section-heading>p{font-size:10px;margin-top:19px;max-width:260px}.work-grid{grid-template-columns:1fr;gap:30px}.work-caption{gap:10px}.work-caption h3{font-size:25px}.work-caption span{font-size:8px}.visit{right:12px;bottom:12px;padding:10px 14px;font-size:9px;opacity:1;transform:none}.work-image{border-radius:3px}.services{display:block;min-height:0;padding-bottom:50px}.service-intro h2{font-size:65px;margin:22px 0}.service-intro h2 br:last-child{display:none}.service-intro p:not(.eyebrow){font-size:11px}.service-intro .eyebrow{font-size:7px}.service-studio{display:block;margin-top:40px;min-height:0}.service-tabs{transform:none;margin:0;gap:8px}.service-tab{min-height:70px;padding:15px 20px}.service-tab strong{font-size:25px}.service-tab small{font-size:9px}.service-tab.active,.service-tab:hover{transform:translateX(0)}.service-icon{width:35px}.service-preview{margin:22px 0 0;min-height:0}.service-panel{display:grid;grid-template-columns:46% 54%;align-items:center;min-height:220px}.service-panel>img{height:220px;width:112%;margin-left:-10%}.service-panel>div{margin:0;padding-left:18px}.service-panel h3{font-size:33px}.service-panel p{font-size:9px}.service-panel .eyebrow{font-size:6px}.resources h2{font-size:60px}.resource-grid{grid-template-columns:1fr;gap:18px}.resource-card{min-height:370px;padding:25px}.resource-card>h3{font-size:46px;margin-top:19px}.apps-card>h3{font-size:40px}.resource-card>.eyebrow{font-size:7px}.resource-card>img{width:69%;bottom:15%;right:-5%}.resource-bottom{left:25px;right:25px;font-size:8px;bottom:19px}.resource-bottom b{width:35px;height:35px}.contact{display:block;padding-top:55px;padding-bottom:55px;min-height:0}.contact .eyebrow{font-size:7px}.contact h2{font-size:66px;margin-top:25px}.contact-action{width:100%;justify-content:space-between;margin-top:35px}.contact-action p{font-size:11px}.contact-action button{width:65px;height:65px;font-size:29px}footer{padding:25px 6%;flex-wrap:wrap;gap:20px}footer .brand{width:180px}footer .brand img:first-child{width:35px}footer .brand img:last-child{width:135px}footer>span{font-size:8px;order:3;width:100%}footer>a:last-child{font-size:8px}dialog{padding:28px}dialog h2{font-size:52px}.js .work-card:nth-child(n).reveal,.js .resource-card:nth-child(n).reveal{transform:translateY(35px);transition-delay:0}.js .reveal.visible{transform:none}}
@media(min-width:540px) and (max-width:760px){.hero{min-height:1200px}.hero-copy{max-width:80%}.device-layer{width:80%;left:15%;bottom:65px}.resource-card{min-height:440px}.resource-card>img{width:55%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js .reveal{opacity:1!important;transform:none!important}*,*:before,*:after{animation:none!important;transition:none!important}.scene-bg,.device-layer{will-change:auto}}

.js .work-card.reveal.visible,.js .resource-card.reveal.visible{opacity:1;transform:none}
.resource-card{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start}.resource-card>.eyebrow{display:block}
@media(max-width:760px){.scene-bg{background-size:auto 135%;background-position:62% top}.device-layer{top:520px;bottom:auto;left:0;width:100%}.hero h1{font-size:clamp(55px,16.4vw,92px)}}@media(min-width:540px) and (max-width:760px){.device-layer{top:620px;bottom:auto;width:90%;left:5%}}
