@import url("https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@800;900&display=swap");
:root{--navy:#061a40;--blue:#6290c8;--sand:#e1ca96;--deep:#003559;--green:#386641;--line:#d9dfe8;--muted:#536174}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:#fff;color:var(--navy);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid var(--blue);outline-offset:6px}.wrap{max-width:1280px;margin:auto;padding-left:64px;padding-right:64px}header{height:120px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:11px;align-items:center;font-size:26px;font-weight:700;letter-spacing:-1.1px}.brand img{width:42px;height:42px;object-fit:contain}.period{color:var(--blue)}nav{display:flex;gap:38px;font-size:15px}nav a:hover{color:var(--deep)}.hero{padding-top:72px}.eyebrow{font-size:13px;letter-spacing:1.7px;font-weight:600}h1{font-size:clamp(55px,7.6vw,100px);line-height:1.05;letter-spacing:-5px;font-weight:500;margin:32px 0 44px}.hero-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:40px}.hero-bottom p{font-size:21px;line-height:1.55;max-width:565px;margin:0}.button{background:var(--navy);color:white;padding:19px 27px;font-size:15px;white-space:nowrap;transition:background .2s}.button:hover{background:#003559}.hero-foot{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);margin-top:70px;padding-bottom:23px;color:var(--muted);font-size:13px}.hero-foot span:last-child{letter-spacing:1px;font-size:12px}.work{padding-top:77px;padding-bottom:88px}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px}h2{font-size:35px;letter-spacing:-1.2px;font-weight:500;margin:0}.section-head span{font-size:12px;letter-spacing:1.5px}.project-image{display:block;background:#e9edf2;padding:44px 70px;overflow:hidden}.project-image img{display:block;width:100%;height:auto;max-height:580px;object-fit:cover;object-position:top;box-shadow:0 10px 35px #061a4017;transition:transform .4s}.project-image:hover img{transform:translateY(-5px)}.project-info{display:flex;justify-content:space-between;gap:30px;margin-top:25px}h3{font-size:24px;letter-spacing:-.5px;font-weight:500;margin:0 0 10px}p{line-height:1.65}.project-info p{margin:0;color:var(--muted);font-size:16px}.project-meta{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;gap:15px}.project-meta span{font-size:12px;letter-spacing:1.3px;color:var(--muted)}.project-meta a{font-size:15px;border-bottom:1px solid;padding-bottom:4px}.expertise{background:var(--navy);color:#fff;padding:88px 0 90px}.expertise-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.expertise .eyebrow{color:var(--sand)}.expertise h2{font-size:42px;line-height:1.18;margin-top:25px}.expertise-grid>div>p{color:var(--blue);max-width:350px;font-size:17px;margin-top:26px}.services article{display:grid;grid-template-columns:1fr;gap:0;border-top:1px solid #ffffff30;padding:25px 0 24px}.services article>span{color:var(--sand);font-size:13px;padding-top:5px}.services article p{font-size:16px;color:var(--blue);margin:0}.services h3{font-size:23px}.about{padding-top:100px;padding-bottom:105px}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;margin-top:32px}.about h2{font-size:55px;letter-spacing:-2px}.about p{font-size:17px;color:var(--muted);margin:0 0 20px}.about p.about-lead{font-size:25px;color:var(--navy);line-height:1.4}footer{border-top:1px solid var(--line);min-height:115px;display:flex;align-items:center;justify-content:space-between;gap:20px}footer .brand{font-size:21px}footer .brand img{width:32px;height:32px}footer>span{font-size:13px;color:var(--muted)}.skip{position:absolute;left:16px;top:-60px;background:white;padding:12px;z-index:10}.skip:focus{top:12px}@media(max-width:800px){.wrap{padding-left:28px;padding-right:28px}header{height:95px}nav{gap:22px}.hero{padding-top:45px}h1{letter-spacing:-2.5px;font-size:64px}.hero-bottom{align-items:flex-start;flex-direction:column;gap:28px}.hero-bottom p{font-size:19px}.hero-foot{margin-top:48px}.hero-foot span:last-child{display:none}.work{padding-top:55px;padding-bottom:60px}.project-image{padding:24px}.expertise-grid,.about-grid{grid-template-columns:1fr;gap:35px}.expertise{padding:60px 0}.expertise h2{font-size:38px}.about{padding-top:65px;padding-bottom:55px}.about h2{font-size:44px}footer{flex-wrap:wrap;padding-top:25px;padding-bottom:25px}footer>span:nth-child(2){display:none}}@media(max-width:450px){.wrap{padding-left:22px;padding-right:22px}.brand{font-size:22px;gap:5px}.brand img{width:34px;height:34px}nav{gap:15px;font-size:14px}h1{font-size:49px;letter-spacing:-2.2px}.eyebrow{font-size:12px;letter-spacing:1.2px}.hero-foot{font-size:12px}.section-head h2{font-size:30px}.project-image{padding:16px}.project-info{flex-direction:column;gap:20px}.project-meta{align-items:flex-start}.project-meta span{display:none}.expertise h2{font-size:34px}.about p.about-lead{font-size:23px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.calendar{padding-top:10px;padding-bottom:90px}.calendar>.eyebrow{border-top:1px solid var(--line);padding-top:42px;color:var(--deep)}.calendar-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;margin-top:28px}.calendar h2{font-size:44px;line-height:1.15;letter-spacing:-1.6px}.calendar p{font-size:17px;color:var(--muted);margin:0 0 20px}.calendar p.calendar-lead{margin-top:23px;max-width:340px;font-size:20px;color:var(--navy)}.calendar-steps{list-style:none;padding:0;margin:28px 0 0}.calendar-steps li{display:flex;gap:18px;border-top:1px solid var(--line);padding:16px 0;font-size:16px;line-height:1.5}.calendar-steps span{color:var(--deep);font-size:13px;padding-top:2px}@media(max-width:800px){.calendar{padding-bottom:60px}.calendar-grid{grid-template-columns:1fr;gap:20px}.calendar h2{font-size:38px}header{height:auto;min-height:95px;flex-wrap:wrap;gap:16px;padding-top:22px;padding-bottom:22px}nav{flex-wrap:wrap;gap:20px}}@media(max-width:450px){nav{gap:18px;font-size:14px}.calendar h2{font-size:34px}.calendar p.calendar-lead{font-size:19px}}

.project-feature{display:grid;grid-template-columns:280px 1fr;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:32px 0;gap:55px}.project-mark{display:flex;align-items:center;justify-content:center;background:#061a40;height:230px}.project-mark img{width:210px;height:210px;object-fit:contain;transition:transform .2s}.project-mark:hover img{transform:scale(1.04)}.project-label{font-size:12px;letter-spacing:1.4px;color:var(--muted)}.project-details h3{font-family:'Barlow Condensed',Impact,sans-serif;font-size:54px;font-weight:900;text-transform:uppercase;letter-spacing:-.8px;margin:14px 0 8px;line-height:1.1}.project-details p{font-size:17px;color:var(--muted);margin:0 0 24px}.project-link{font-size:15px;display:inline-block;border-bottom:1px solid var(--navy);padding-bottom:4px}.work{padding-bottom:65px}@media(max-width:800px){.project-feature{grid-template-columns:220px 1fr;gap:30px}.project-mark{height:210px}.project-mark img{width:190px;height:190px}.project-details h3{font-size:44px}}@media(max-width:550px){.project-feature{grid-template-columns:1fr;gap:24px;padding:24px 0}.project-mark{height:190px}.project-mark img{width:180px;height:180px}.project-details h3{font-size:42px}}

.project-mark{width:230px;height:230px;background:#fff;border:1px solid var(--line);border-radius:28px;justify-self:center}.project-mark img{width:170px;height:190px;object-fit:contain}@media(max-width:800px){.project-mark{width:210px;height:210px;border-radius:25px}.project-mark img{width:155px;height:175px}}@media(max-width:550px){.project-mark{width:190px;height:190px;justify-self:start;border-radius:23px}.project-mark img{width:140px;height:157px}}

/* Studio composition and motion */
body{background:#fff}header{height:104px}nav a{position:relative;transition:color .25s}nav a:after{content:"";position:absolute;left:0;bottom:-7px;width:100%;height:2px;background:var(--green);transform:scaleX(0);transform-origin:left;transition:transform .3s}nav a:hover:after,nav a:focus-visible:after{transform:scaleX(1)}
.hero{padding-top:40px}.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:52px;align-items:center}.hero-copy .eyebrow{display:flex;align-items:center;gap:9px;font-size:10px;letter-spacing:1.25px}.studio-dot{width:7px;height:7px;background:var(--green);border-radius:50%;flex-shrink:0}.hero h1{font-size:clamp(32px,3.6vw,47px);font-weight:500;line-height:1.16;letter-spacing:-1.8px;margin:28px 0 22px}.hero-copy>p{font-size:18px;max-width:390px;color:var(--muted);margin:0;line-height:1.65}.hero-actions{display:flex;align-items:flex-start;flex-direction:column;gap:20px;margin-top:30px}.button{display:inline-flex;gap:32px;align-items:center;background:var(--deep);transition:background .3s,transform .3s,box-shadow .3s}.button:hover{background:var(--green);transform:translateY(-3px);box-shadow:0 6px 0 var(--sand)}.button span,.text-link span,.hero-foot a span{display:inline-block;transition:transform .3s}.button:hover span{transform:translate(2px,-2px)}.text-link{font-size:13px;display:flex;gap:12px}.text-link:hover span{transform:translateX(5px)}.hero-specialties{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:10px;margin-top:34px;color:var(--deep)}.hero-specialties span+span:before{content:"/";margin-right:16px;color:var(--blue)}.hero-foot{margin-top:38px}.hero-foot a{font-size:12px;color:var(--deep)}.hero-foot a:hover span{transform:translateY(3px)}
.studio-art{height:440px;background:var(--sand);position:relative;overflow:hidden}.art-caption{position:absolute;top:24px;left:24px;font-size:9px;font-weight:700;letter-spacing:1.2px;color:var(--deep)}.design-card{position:absolute;width:190px;height:270px;border-radius:8px;padding:19px;box-shadow:0 12px 22px #061a401a;transition:transform .65s cubic-bezier(.2,.7,.2,1)}.card-index,.card-end{font-size:9px;letter-spacing:1.5px}.card-end{position:absolute;bottom:20px;left:20px}.card-back{background:var(--green);color:var(--sand);left:42px;top:97px;transform:rotate(-17deg)}.card-symbol{font-size:130px;text-align:center;line-height:1.6}.card-middle{background:var(--blue);color:var(--navy);left:139px;top:81px;transform:rotate(8deg)}.orbit-mark{position:relative;margin-top:45px;height:120px}.orbit-mark i{position:absolute;border:1px solid var(--navy);width:115px;height:115px;border-radius:50%;left:18px}.orbit-mark i:nth-child(2){transform:scaleX(.5)}.orbit-mark i:nth-child(3){transform:scaleY(.5)}.card-front{width:230px;height:278px;background:var(--navy);color:var(--sand);left:207px;top:120px;padding:0;transform:rotate(-4deg)}.mini-site-head{display:flex;align-items:center;gap:7px;padding:13px;border-bottom:1px solid var(--blue);font-size:6px;letter-spacing:.6px}.mini-site-head img{width:19px;height:19px;object-fit:contain;background:var(--sand);border-radius:50%}.mini-site-head b{margin-left:auto}.mini-site-body{padding:17px}.mini-label{font-size:7px;letter-spacing:1px}.table-art{height:98px;position:relative;display:flex;align-items:center;justify-content:center;gap:8px}.table-art:before{content:"";position:absolute;border:1px solid var(--blue);width:165px;height:70px;border-radius:50%;transform:rotate(-12deg)}.table-art span{width:27px;height:40px;background:var(--sand);border:3px solid var(--deep);transform:rotate(-14deg)}.table-art span:nth-child(2){background:var(--blue);transform:rotate(8deg) translateY(-9px)}.table-art span:nth-child(3){background:var(--green);transform:rotate(19deg)}.mini-event{background:var(--deep);padding:13px;position:relative}.mini-event>span:first-child{font-size:6px;letter-spacing:1px;display:block}.mini-event strong{display:block;font-size:24px;font-weight:500;margin-top:4px}.event-arrow{position:absolute;right:13px;bottom:15px;font-size:22px}.mini-site-foot{display:flex;justify-content:space-between;padding:0 17px;font-size:6px;letter-spacing:.5px}.art-footer{position:absolute;bottom:20px;left:24px;right:24px;display:flex;justify-content:space-between;font-size:7px;letter-spacing:.8px;color:var(--deep)}.studio-art:hover .card-back{transform:translate(-10px,-5px) rotate(-21deg)}.studio-art:hover .card-middle{transform:translateY(-14px) rotate(5deg)}.studio-art:hover .card-front{transform:translate(6px,-5px) rotate(0)}
.hero-copy{animation:arrive .7s both}.studio-art{animation:arrive .8s .12s both}.project-feature{transition:border-color .3s}.project-feature:hover{border-color:var(--blue)}.project-link{transition:color .25s,padding .25s}.project-link:hover{color:var(--green);padding-right:8px}.services article{transition:transform .3s,border-color .3s}.services article:hover{transform:translateX(5px);border-color:var(--sand)}@keyframes arrive{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1050px){.hero-grid{gap:28px}.studio-art{height:410px}.card-back{left:24px}.card-middle{left:100px}.card-front{left:150px;width:210px}.wrap{padding-left:40px;padding-right:40px}}
@media(max-width:800px){.wrap{padding-left:28px;padding-right:28px}header{height:auto}.hero-grid{grid-template-columns:1fr;gap:34px}.hero h1{font-size:42px}.hero-copy>p{max-width:480px}.hero-actions{flex-direction:row;align-items:center;flex-wrap:wrap;gap:22px}.hero-specialties{margin-top:28px}.studio-art{height:400px}.card-back{left:calc(50% - 190px);top:80px}.card-middle{left:calc(50% - 95px);top:64px}.card-front{left:calc(50% - 5px);top:97px;width:230px}.hero-foot{margin-top:28px;align-items:center}.hero-foot>span{max-width:230px}.hero{padding-top:30px}}
@media(max-width:450px){.wrap{padding-left:22px;padding-right:22px}.hero h1{font-size:35px;letter-spacing:-1.3px}.hero-copy .eyebrow{font-size:9px;letter-spacing:.7px}.hero-copy>p{font-size:17px}.hero-actions{flex-direction:column;align-items:flex-start}.studio-art{height:360px}.design-card{width:150px;height:230px}.card-back{left:calc(50% - 145px);top:72px}.card-symbol{font-size:100px}.card-middle{left:calc(50% - 75px);top:60px}.orbit-mark{margin-top:30px}.orbit-mark i{width:90px;height:90px;left:10px}.card-front{left:calc(50% - 10px);top:94px;width:175px;height:235px}.mini-site-head{font-size:5px;padding:9px}.mini-site-body{padding:12px}.table-art{height:76px}.table-art:before{width:130px;height:55px}.mini-event strong{font-size:21px}.mini-site-foot{padding:0 12px;font-size:5px}.art-caption{left:18px;top:18px;font-size:8px}.art-footer{left:18px;right:18px;font-size:6px}.hero-foot{font-size:11px;gap:15px}.hero-foot a{font-size:10px;white-space:nowrap}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}html{scroll-behavior:auto}}

/* A centered fan of game-inspired studio cards. */
.studio-art{display:flex;align-items:center;justify-content:center;height:440px}.card-group{position:relative;width:400px;height:300px;flex:none;transform:translateY(8px)}.design-card{width:180px;height:258px;padding:15px;border:1px solid var(--navy);border-radius:12px;transform-origin:50% 85%}.card-back{left:18px;top:21px;transform:rotate(-18deg);background:var(--blue);color:var(--navy)}.card-middle{left:110px;top:3px;transform:rotate(0);background:var(--green);color:var(--sand)}.card-front{left:202px;top:21px;transform:rotate(18deg);background:var(--navy);color:var(--sand)}.game-card-top{display:flex;justify-content:space-between;align-items:center;font-size:8px;font-weight:700;letter-spacing:1px;padding-bottom:10px;border-bottom:1px solid currentColor}.game-card-top>span:last-child{font-size:16px;line-height:1}.game-emblem{height:122px;position:relative;display:flex;justify-content:center;align-items:center;margin:12px 0 9px;border:1px solid currentColor;border-radius:6px}.game-card-title{font-size:23px;font-weight:700;letter-spacing:-.6px;line-height:1.1}.game-card-title>span{display:block;font-size:8px;letter-spacing:2px;margin-top:4px}.game-card-note{display:block;font-size:6px;letter-spacing:.7px;margin-top:10px}.pokemon-emblem i{width:74px;height:74px;border:3px solid var(--navy);border-radius:50%;background:var(--sand);position:relative;overflow:hidden}.pokemon-emblem i:before{content:"";position:absolute;top:0;left:0;right:0;height:34px;background:var(--deep);border-bottom:3px solid var(--navy)}.pokemon-emblem i:after{content:"";position:absolute;width:20px;height:20px;left:24px;top:24px;border-radius:50%;border:3px solid var(--navy);background:var(--sand)}.rift-emblem i{position:absolute;width:39px;height:79px;border:2px solid var(--sand);transform:rotate(35deg) skewY(-15deg)}.rift-emblem i:nth-child(2){width:19px;height:52px;background:var(--blue);border-color:var(--blue);transform:rotate(35deg) skewY(-15deg)}.rift-emblem i:nth-child(3){width:67px;height:1px;background:var(--sand);border:0;transform:rotate(-35deg)}.magic-emblem{gap:4px;align-items:flex-end;padding-bottom:28px}.magic-emblem i{display:block;width:12px;height:48px;background:var(--sand);clip-path:polygon(50% 0,100% 40%,80% 100%,20% 100%,0 40%)}.magic-emblem i:nth-child(2),.magic-emblem i:nth-child(4){height:61px;background:var(--blue)}.magic-emblem i:nth-child(3){height:78px}.studio-art:hover .card-back{transform:translateX(-7px) rotate(-23deg)}.studio-art:hover .card-middle{transform:translateY(-12px)}.studio-art:hover .card-front{transform:translateX(7px) rotate(23deg)}
@media(max-width:1050px) and (min-width:801px){.card-group{transform:translateY(8px) scale(.82)}}
@media(max-width:800px){.studio-art{height:410px}.card-group{transform:translateY(8px)}}
@media(max-width:450px){.studio-art{height:340px}.card-group{transform:translateY(5px) scale(.72)}.art-footer{font-size:6px}}

.game-emblem{overflow:hidden;padding:0}.game-emblem img{display:block;width:100%;height:100%;object-fit:cover}.pokemon-emblem{background:var(--sand)}.pokemon-emblem img{object-fit:contain;padding:4px}.rift-emblem img{object-position:50% 25%;height:190%;max-width:none;flex-shrink:0;align-self:flex-start;transform:translateY(-12%)}.magic-emblem img{height:240%;object-position:50% 20%;max-width:none;flex-shrink:0;align-self:flex-start;transform:translateY(-14%)}

.card-back{background:#306b72;color:#f4e8bd;border-color:#163e45}.pokemon-emblem{background:#e5dfbd;border-color:#163e45}.pokemon-emblem img{padding:2px}.card-front{background:#123956;color:#d6e9ee;border-color:#0c283f}.magic-emblem{border-color:#87bacb;background:#0c283f}.magic-emblem img{height:190%;transform:translateY(-7%);object-position:50% 0}

.game-card-top .card-brand-logo{display:block;width:23px;height:23px;object-fit:contain;background:#fff;border-radius:50%;padding:2px}.game-card-top{padding-bottom:7px}

/* Artwork-led palette for the card section. */
.studio-art{background:#e9e5ee}.art-caption,.art-footer{color:#514c62}.design-card{box-shadow:0 14px 26px #27203926}.card-back{background:#28565d;color:#f7edcf;border-color:#193d44}.pokemon-emblem{background:#eee6cc;border-color:#719294}.card-middle{background:#503b61;color:#fff0df;border-color:#382844}.rift-emblem{background:#ead5e7;border-color:#b793bb}.card-front{background:#203e59;color:#e6f2fa;border-color:#152b40}.magic-emblem{background:#132e45;border-color:#7395b5}.game-card-top{border-bottom-color:#ffffff40}.game-card-note{opacity:.85}.game-card-top .card-brand-logo{background:#f8f6ef}

/* A playful digital storefront, replacing the card fan. */
.store-scene{height:440px;background:#e7edf0;display:block;isolation:isolate}.scene-heading{position:absolute;left:25px;right:25px;top:23px;display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:1.3px;font-weight:700;color:#203e59}.scene-spark{font-size:26px;animation:store-spin 18s linear infinite}.store-window{position:absolute;left:50%;top:70px;transform:translateX(-50%) rotate(-3deg);width:310px;background:#fffaf0;border:2px solid #203e59;border-radius:10px;box-shadow:8px 9px 0 #6290c8;overflow:hidden;transition:transform .6s cubic-bezier(.2,.7,.2,1),box-shadow .6s}.window-toolbar{height:36px;padding:8px 12px;border-bottom:1px solid #203e59;display:flex;align-items:center;gap:5px;background:#203e59}.window-toolbar>span{width:5px;height:5px;border-radius:50%;background:#e1ca96}.window-toolbar img{height:22px;width:22px;object-fit:contain;margin-left:auto;background:#fff;border-radius:50%;padding:2px}.store-sign{padding:18px 20px 0;font-size:34px;line-height:1;letter-spacing:-1.5px;font-weight:700;color:#203e59}.store-shelf{display:flex;gap:10px;height:98px;align-items:center;padding:12px 20px 0}.shelf-art{width:78px;height:72px;border:1px solid #203e59;overflow:hidden;position:relative;transition:transform .5s}.shelf-art img{display:block;width:100%;height:100%;object-fit:cover}.shelf-pokemon{background:#d8e3d2;border-radius:50%}.shelf-pokemon img{object-fit:contain}.shelf-rift{border-radius:40px 40px 4px 4px;background:#e8d1e2;transform:rotate(6deg)}.shelf-rift img{height:190%;transform:translateY(-10%)}.shelf-magic{border-radius:4px 4px 30px 4px;transform:rotate(-6deg);background:#203e59}.shelf-magic img{height:190%;transform:translateY(-7%)}.store-events{padding:14px 20px 17px;color:#203e59}.store-events>span{font-size:7px;letter-spacing:1px}.store-events>div{border-top:1px solid #203e5933;margin-top:8px;padding-top:10px;display:flex;justify-content:space-between;align-items:center;font-size:12px}.store-events strong{font-weight:500}.store-events>div>span{font-size:20px}.open-sticker{position:absolute;right:25px;top:230px;background:#e1ca96;color:#203e59;border:2px solid #203e59;border-radius:50%;width:92px;height:92px;display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:700;line-height:1.05;transform:rotate(12deg);box-shadow:3px 4px 0 #203e59;animation:store-bob 5s ease-in-out infinite}.open-sticker>span{font-size:25px;margin-left:5px}.scene-bottom{position:absolute;bottom:23px;left:25px;right:25px;display:flex;justify-content:space-between;font-size:7px;letter-spacing:.8px;color:#203e59}.store-scene:hover .store-window{transform:translateX(-50%) rotate(0) translateY(-5px);box-shadow:10px 13px 0 #6290c8}.store-scene:hover .shelf-pokemon{transform:translateY(-4px)}.store-scene:hover .shelf-rift{transform:rotate(-4deg) translateY(-5px)}.store-scene:hover .shelf-magic{transform:rotate(4deg) translateY(-3px)}@keyframes store-bob{0%,100%{transform:rotate(12deg) translateY(0)}50%{transform:rotate(7deg) translateY(-7px)}}@keyframes store-spin{to{transform:rotate(360deg)}}
@media(max-width:1050px) and (min-width:801px){.store-window{width:280px}.open-sticker{right:12px;width:78px;height:78px;font-size:15px}.store-shelf{gap:8px}.shelf-art{width:70px}}
@media(max-width:450px){.store-scene{height:400px}.store-window{width:260px;top:64px}.store-sign{font-size:31px}.store-shelf{gap:8px;padding-left:16px;padding-right:16px}.shelf-art{width:69px}.open-sticker{right:12px;top:235px;width:77px;height:77px;font-size:14px}.scene-heading,.scene-bottom{left:18px;right:18px}.scene-bottom{font-size:6px}}
@media(prefers-reduced-motion:reduce){.scene-spark,.open-sticker{animation:none}}

.floating-cards{background:transparent;overflow:visible;display:flex;align-items:center;justify-content:center}.floating-cards .design-card{height:248px}.floating-cards .card-group{animation:cards-drift 6s ease-in-out infinite}@keyframes cards-drift{0%,100%{translate:0 0}50%{translate:0 -7px}}@media(prefers-reduced-motion:reduce){.floating-cards .card-group{animation:none}}

/* The studio in motion. */
.studio-playground{background:transparent;overflow:visible;display:flex;align-items:center;justify-content:center;height:440px}.studio-orbit{width:430px;height:370px;position:relative;flex:none}.orbit-ring{position:absolute;width:285px;height:285px;border:1px dashed #6290c866;border-radius:50%;left:72px;top:38px;animation:orbit-turn 60s linear infinite}.studio-core{position:absolute;left:157px;top:130px;width:116px;height:116px;display:flex;align-items:center;justify-content:center;border:1px solid #061a401a;border-radius:50%;background:#fff;box-shadow:0 10px 35px #061a400b}.studio-core img{width:80px;height:80px;object-fit:contain}.studio-web{position:absolute;left:13px;top:20px;width:185px;background:#fff;border:2px solid #003559;border-radius:8px;box-shadow:6px 6px 0 #6290c8;transform:rotate(-9deg);animation:studio-float 7s ease-in-out infinite}.web-chrome{height:24px;background:#003559;display:flex;gap:4px;align-items:center;padding:0 9px}.web-chrome i{width:4px;height:4px;border-radius:50%;background:#e1ca96}.web-layout{display:flex;gap:12px;padding:15px 13px 10px}.web-block{width:55px;height:48px;background:#6290c8;border-radius:4px 18px 4px 4px}.web-lines{flex:1;padding-top:4px}.web-lines i{display:block;height:5px;background:#003559;margin-bottom:8px;border-radius:2px}.web-lines i:last-child{width:65%;background:#e1ca96}.web-bottom{display:flex;gap:6px;padding:0 13px 12px}.web-bottom i{height:20px;flex:1;background:#e9eef4;border-radius:3px}.object-label{display:block;font-size:8px;font-weight:700;letter-spacing:1.5px;padding:0 13px 10px;color:#003559}.studio-palette{position:absolute;right:10px;top:39px;background:#fff;border:1px solid #061a4033;border-radius:6px;padding:10px 10px 0;transform:rotate(12deg);box-shadow:0 8px 20px #061a400d;animation:studio-float 6s 1s ease-in-out infinite}.palette-chips{display:flex;gap:5px;margin-bottom:10px}.palette-chips i{width:29px;height:58px;background:#6290c8;border-radius:3px}.palette-chips i:nth-child(2){background:#e1ca96}.palette-chips i:nth-child(3){background:#386641}.studio-palette .object-label{padding-left:0}.studio-ticket{position:absolute;right:28px;bottom:23px;width:174px;background:#e1ca96;padding:17px 18px 12px;color:#061a40;transform:rotate(8deg);box-shadow:5px 6px 0 #003559;animation:studio-float 8s .5s ease-in-out infinite;clip-path:polygon(0 0,100% 0,100% 42%,96% 46%,100% 50%,100% 100%,0 100%,0 50%,4% 46%,0 42%)}.studio-ticket>span{font-size:8px;letter-spacing:1px;font-weight:700}.studio-ticket strong{display:block;font-size:22px;line-height:1.1;letter-spacing:-.6px;margin:12px 0 17px}.ticket-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px dashed #061a4066;padding-top:8px}.ticket-bottom span{font-size:7px;letter-spacing:1px}.ticket-bottom b{font-size:20px;font-weight:400}.playground-star{position:absolute;left:45px;bottom:56px;font-size:59px;color:#386641;animation:orbit-turn 28s linear infinite}.playground-plus{position:absolute;right:82px;top:166px;font-size:24px;color:#6290c8}.studio-cursor{position:absolute;left:118px;bottom:15px;animation:cursor-wander 7s ease-in-out infinite}.studio-cursor svg{width:27px;height:33px;display:block}.studio-cursor span{display:block;font-size:9px;color:#fff;background:#386641;padding:6px 10px;border-radius:4px;margin-left:21px;margin-top:-7px}.studio-playground:hover .studio-core{transform:scale(1.08);box-shadow:0 10px 35px #6290c833}.studio-core{transition:transform .5s,box-shadow .5s}@keyframes studio-float{0%,100%{translate:0 0}50%{translate:0 -9px}}@keyframes orbit-turn{to{rotate:360deg}}@keyframes cursor-wander{0%,100%{translate:0 0}50%{translate:13px -12px}}
@media(max-width:1050px) and (min-width:801px){.studio-orbit{scale:.82}}@media(max-width:800px){.studio-playground{height:400px}}@media(max-width:450px){.studio-playground{height:320px}.studio-orbit{scale:.73}}
@media(prefers-reduced-motion:reduce){.studio-orbit *{animation:none!important}}

/* Clear section rhythm: a single boundary or a change in background. */
.hero-foot{border-bottom:0}
.work{padding-top:55px;padding-bottom:76px;border-top:1px solid var(--line)}
.project-feature{border:0;padding:20px 0 0}
.calendar{max-width:none;background:#f3f6fa;padding:74px max(64px,calc((100vw - 1152px)/2)) 78px}
.calendar>.eyebrow{border:0;padding-top:0;color:var(--deep)}
.calendar-grid{gap:80px;margin-top:27px;align-items:start}
.calendar h2{font-size:40px;line-height:1.18}
.calendar p.calendar-lead{max-width:400px;font-size:19px;margin-top:22px}
.calendar-grid>div:last-child>p{font-size:16px;margin-bottom:18px}
.calendar-steps{margin-top:26px;display:grid;gap:12px}
.calendar-steps li{border:0;padding:0 0 0 20px;position:relative;font-size:14px;color:var(--deep)}
.calendar-steps li:before{content:"";position:absolute;left:0;top:8px;width:6px;height:6px;border-radius:50%;background:var(--green)}
.expertise{padding:78px 0 82px}
.expertise-grid{gap:80px}
.expertise h2{font-size:39px;line-height:1.2}
.expertise-grid>div>p{color:#d0dced;max-width:370px;line-height:1.7}
.services{display:grid;gap:29px}
.services article{border:0;padding:0}
.services article:hover{transform:translateX(4px)}
.services h3{font-size:22px;margin-bottom:10px;color:#fff}
.services article p{color:#d0dced;font-size:16px;max-width:440px}
.about{padding-top:82px;padding-bottom:84px}
.about-grid{gap:80px;margin-top:29px;align-items:start}
.about h2{font-size:46px;letter-spacing:-1.6px}
.about p.about-lead{font-size:23px;line-height:1.45;margin-bottom:22px}
.about p{font-size:16px;max-width:490px}
footer{border-top:1px solid var(--line)}
@media(max-width:1050px){.calendar{padding-left:40px;padding-right:40px}}
@media(max-width:800px){.work{padding-top:44px;padding-bottom:54px}.calendar{padding:54px 28px 58px}.calendar-grid,.expertise-grid,.about-grid{gap:30px}.calendar h2{font-size:36px}.calendar p.calendar-lead{max-width:480px}.expertise{padding:57px 0 60px}.expertise h2{font-size:36px}.services{gap:27px}.about{padding-top:58px;padding-bottom:58px}.about h2{font-size:40px}.about-grid{margin-top:25px}.about p{max-width:600px}}
@media(max-width:450px){.calendar{padding-left:22px;padding-right:22px}.calendar h2,.expertise h2{font-size:32px}.about h2{font-size:37px}.about p.about-lead{font-size:21px}}

/* Shared layout and motion for the three editorial sections. */
.calendar{padding:78px max(64px,calc((100vw - 1152px)/2)) 82px}.expertise{padding:78px 0 82px}.about{padding-top:78px;padding-bottom:82px}
.calendar-grid,.expertise-grid,.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start;margin-top:0}
.calendar-grid .eyebrow,.expertise-grid .eyebrow,.about-grid .eyebrow{font-size:12px;line-height:1.5;letter-spacing:1.5px;margin:0;color:var(--deep)}
.expertise-grid .eyebrow{color:var(--sand)}
.calendar h2,.expertise h2,.about h2{font-size:39px;line-height:1.2;letter-spacing:-1.3px;font-weight:500;margin:25px 0 0}
.calendar p.calendar-lead,.expertise-grid>div>p{font-size:18px;line-height:1.65;margin:24px 0 0;max-width:400px}
.calendar-details,.services,.about-details{transition:transform .35s ease}
.calendar-details:hover,.services:hover,.about-details:hover{transform:translateY(-4px)}
.services article:hover{transform:none}.services article{transition:none}
.calendar-grid>div:last-child>p,.services article p,.about p{font-size:16px;line-height:1.65}
.about p.about-lead{font-size:23px;line-height:1.45;margin:0 0 22px}
@media(max-width:1050px){.calendar{padding-left:40px;padding-right:40px}}
@media(max-width:800px){.calendar{padding:58px 28px 60px}.expertise{padding:58px 0 60px}.about{padding-top:58px;padding-bottom:60px}.calendar-grid,.expertise-grid,.about-grid{grid-template-columns:1fr;gap:30px}.calendar h2,.expertise h2,.about h2{font-size:36px}.calendar p.calendar-lead,.expertise-grid>div>p{margin-top:22px}}
@media(max-width:450px){.calendar{padding-left:22px;padding-right:22px}.calendar h2,.expertise h2,.about h2{font-size:32px}.calendar-grid .eyebrow,.expertise-grid .eyebrow,.about-grid .eyebrow{font-size:11px;letter-spacing:1.2px}}
@media(hover:none),(prefers-reduced-motion:reduce){.calendar-details:hover,.services:hover,.about-details:hover{transform:none}}

/* Shared sideways hover motion, matching the original service rows. */
.calendar-details:hover,.services:hover,.about-details:hover{transform:none}
.services article,.calendar-details>p,.calendar-steps li,.about-details>p{transition:transform .3s ease}
.services article:hover,.calendar-details>p:hover,.calendar-steps li:hover,.about-details>p:hover{transform:translateX(5px)}
@media(hover:none),(prefers-reduced-motion:reduce){.services article:hover,.calendar-details>p:hover,.calendar-steps li:hover,.about-details>p:hover{transform:none}}

/* Keep the decorative hero within narrow screens. */
html,body{max-width:100%;overflow-x:clip}
.hero-grid>*{min-width:0}
.studio-playground{overflow:hidden;overflow:clip;width:100%}
@media(max-width:450px){.studio-orbit{width:430px;transform:scale(.73);scale:none}.studio-playground{height:320px}nav{max-width:100%}.hero-actions{max-width:100%}.calendar-grid>div,.expertise-grid>div,.about-grid>div{min-width:0}footer{overflow-wrap:anywhere}}
@media(max-width:350px){.studio-orbit{transform:scale(.62)}.hero h1{font-size:31px}.studio-playground{height:280px}}

/* Center the fixed-size illustration independently of flex shrinking. */
.studio-playground{position:relative;display:block}
.studio-playground .studio-orbit{position:absolute;left:50%;top:50%;margin-left:-215px;margin-top:-185px;transform-origin:center;scale:none;transform:none}
@media(max-width:1050px) and (min-width:801px){.studio-playground .studio-orbit{transform:scale(.82)}}
@media(max-width:450px){.studio-playground .studio-orbit{transform:scale(.73)}}
@media(max-width:350px){.studio-playground .studio-orbit{transform:scale(.62)}}
