/* Hypership / Studio edition — one visual system, many distinct experiences. */
:root{--studio-paper:#e9eef0;--studio-ink:#101719;--studio-blue:#2596be;--studio-line:rgba(16,23,25,.19);--studio-muted:#576568}
.atelier-site{font-feature-settings:"palt";overflow-x:clip;background:var(--black);color:var(--paper)}
.atelier-site p{line-height:1.9}.atelier-site .wrap{padding:112px 4.5%}.atelier-site .eyebrow{font-size:10px;font-weight:600;letter-spacing:.14em}.atelier-site h2{line-height:1.3;font-weight:500}.atelier-site a,.atelier-site button{-webkit-tap-highlight-color:transparent}.atelier-site :focus-visible{outline:2px solid #2596be;outline-offset:6px}
.atelier-site .site-head{height:84px;padding:0 4.5%;background:var(--studio-paper);color:var(--studio-ink);border-bottom:1px solid var(--studio-line);display:flex;position:relative;align-items:center;justify-content:space-between;gap:28px;z-index:40;box-shadow:none;backdrop-filter:none}
.atelier-site .site-head .brand{font-size:25px;letter-spacing:-1.2px;gap:9px;display:flex;align-items:center;color:inherit}.atelier-site .site-head .brand img{width:30px;height:30px;object-fit:contain}.atelier-site .site-head nav{margin-left:auto;gap:27px;display:flex;font-size:11px;align-items:center}.atelier-site .site-head nav a{position:relative;white-space:nowrap;color:inherit}.atelier-site .site-head nav a:after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:2px;background:var(--studio-blue);transform:scaleX(0);transform-origin:left;transition:transform .3s}.atelier-site .site-head nav a:hover:after,.atelier-site .site-head nav [aria-current=page]:after{transform:scaleX(1)}
.atelier-site .head-actions{gap:16px;display:flex;align-items:center}.atelier-site .language{font-size:10px;color:inherit}.atelier-site .start-btn{border:1px solid var(--studio-ink);background:var(--studio-ink);border-radius:0;padding:11px 15px;color:var(--studio-paper);font-size:11px;display:flex;gap:24px;transition:background .25s,color .25s}.atelier-site .start-btn:hover{background:var(--studio-blue);border-color:var(--studio-blue);color:#fff}.atelier-site .mobile-menu{top:84px;background:var(--studio-paper);color:var(--studio-ink);border-bottom:1px solid var(--studio-line);z-index:39}.atelier-site .menu-toggle{color:inherit;background:none}
.atelier-hero{background:var(--studio-paper);color:var(--studio-ink);padding:0 4.5%;overflow:hidden}.atelier-topline{display:flex;justify-content:space-between;align-items:center;padding-top:25px;font-size:10px;letter-spacing:.1em}.atelier-topline .live-dot{background:var(--studio-blue);box-shadow:none;width:6px;height:6px;display:inline-block;margin-right:8px}.hero-composition{display:grid;grid-template-columns:1fr 1.12fr;position:relative;min-height:570px;align-items:center}.atelier-hero-copy{position:relative;z-index:2;padding-top:30px}.atelier-hero-copy .eyebrow{color:#487682}.atelier-hero-copy h1{font-size:clamp(50px,6.8vw,104px);letter-spacing:-.075em;line-height:1.25;margin:22px 0 26px;font-weight:500}.atelier-hero-copy h1 span{color:#287e9e}.atelier-hero-copy p{font-size:13px;line-height:2.1;margin:0 0 28px;color:#4e5d62}.atelier-link{display:inline-flex;align-items:center;gap:38px;font-size:12px;border-bottom:1px solid;padding:0 0 12px;color:inherit}.atelier-link b{font-size:24px;line-height:1;font-weight:400;transition:transform .3s}.atelier-link:hover b{transform:translate(4px,-4px)}
.atelier-object{position:relative;align-self:stretch;min-width:0;margin:0 -6% 0 -12%;pointer-events:auto}.atelier-object:after{content:"";width:53%;height:6%;position:absolute;background:#1837481c;filter:blur(18px);border-radius:50%;bottom:12%;left:26%;pointer-events:none}.atelier-object .wave-stage{position:absolute;inset:0;width:100%;height:100%;min-height:0;z-index:1;opacity:1;transform:none}.atelier-object canvas{width:100%;height:100%;display:block;cursor:grab;touch-action:pan-y}.atelier-object canvas:active{cursor:grabbing}.sculpture-fallback{position:absolute;width:82%;height:82%;top:7%;left:9%;transition:opacity .5s}.webgl-ready .sculpture-fallback{opacity:0;pointer-events:none}.object-caption{position:absolute;left:14%;right:10%;bottom:5%;display:flex;justify-content:space-between;gap:20px;font:8px/1.6 monospace;letter-spacing:.04em;color:#50656f;z-index:2;pointer-events:none}.atelier-hero-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--studio-line);padding:21px 0;font-size:10px;align-items:center}.atelier-hero-bottom>a{display:flex;gap:60px}.atelier-hero-bottom>a span{font-size:16px}.atelier-hero .wave-modes{display:flex;gap:8px;align-items:center}.atelier-hero .wave-modes>span{font-size:10px;margin-right:16px;color:var(--studio-muted)}.atelier-hero .wave-modes button{border:1px solid #b8c8ce;border-radius:50%;padding:0;width:30px;height:30px;font-size:10px;color:var(--studio-ink);background:transparent}.atelier-hero .wave-modes button[aria-pressed=true]{color:#fff;background:var(--studio-ink);border-color:var(--studio-ink)}
.hero-wordmark{position:relative;font-family:'Inter',sans-serif;font-size:15.8vw;font-weight:600;line-height:.83;letter-spacing:-.07em;white-space:nowrap;margin:14px 0 -1px;transform:translateX(-.008em);padding-bottom:.045em}.hero-wordmark>span{font-size:16px;position:absolute;top:8px;right:0;letter-spacing:0;font-weight:400}
.atelier-site .section-top{align-items:flex-end;gap:40px;margin-bottom:55px}.atelier-site .section-top h2{font-size:clamp(30px,3.5vw,54px);line-height:1.35;margin:22px 0 0}.atelier-site .section-top p{font-size:12px;color:#a8b1b7;margin:0 0 20px}.atelier-site .line-link{font-size:11px}.atelier-site .section-aside{max-width:390px}.atelier-site .selected{background:#101719}.atelier-site .selected-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 24px}.atelier-site .selected-grid .work-card{margin:0!important}.atelier-site .work-card{min-width:0}.atelier-site .work-image{aspect-ratio:16/10;background:#cbd3d6;overflow:hidden;position:relative;border-radius:1px}.atelier-site .work-image img{width:100%;height:100%;object-fit:contain;transition:transform .8s cubic-bezier(.2,.65,.2,1);background:#cbd3d6}.atelier-site .work-image:hover img{transform:scale(1.035)}.atelier-site .work-badge{left:13px;top:13px;bottom:auto;font-size:8px;max-width:calc(100% - 70px);background:#101719d9;color:#fff;border:1px solid #ffffff20;backdrop-filter:blur(8px);padding:6px 9px;border-radius:2px}.atelier-site .open-arrow{width:30px;height:30px;right:12px;bottom:12px;font-size:17px;border-radius:50%;color:#101719;background:#fff}.atelier-site .work-info{padding-top:16px;align-items:center}.atelier-site .work-info h3{font-size:25px;letter-spacing:-.04em;line-height:1.2}.atelier-site .work-info p{font-size:10px;line-height:1.6;margin-top:7px;color:#a9b6bd}.atelier-site .work-info p span{font-size:9px}.atelier-site .work-desc{font-size:11px;line-height:1.8;color:#9ba9b2;margin-top:12px;max-width:36em}.atelier-site .section-note{margin-top:44px;padding-top:22px;border-top:1px solid #ffffff26;font-size:9px;color:#a6b3b8;line-height:1.8;display:flex;justify-content:space-between;gap:20px}.atelier-site .section-note a{color:#e9eef0;white-space:nowrap}.atelier-site .cursor-orb{width:60px;height:60px;font-size:9px;background:#2596be;box-shadow:0 0 0 1px #ffffff50}
.atelier-services{background:var(--studio-paper);color:var(--studio-ink)}.atelier-services .section-top p{color:var(--studio-muted)}.service-explorer{display:grid;grid-template-columns:.9fr 1.1fr;gap:7%;align-items:start}.service-tabs{border-top:1px solid var(--studio-line)}.service-tabs>button{position:relative;width:100%;text-align:left;color:inherit;border:0;border-bottom:1px solid var(--studio-line);padding:24px 36px 27px 0;background:transparent;cursor:pointer;transition:padding .35s,background .35s}.service-tabs>button:before{content:"";position:absolute;width:3px;left:0;top:20px;bottom:20px;background:var(--studio-blue);transform:scaleY(0);transform-origin:top;transition:transform .4s}.service-tabs>button[aria-pressed=true]{padding-left:22px}.service-tabs>button[aria-pressed=true]:before{transform:scaleY(1)}.service-tabs>button>span{display:block;font-size:9px;letter-spacing:.1em;color:#5b7079}.service-tabs strong{font-weight:500;display:block;font-size:clamp(20px,2.1vw,33px);letter-spacing:-.055em;margin:12px 0}.service-tabs small{display:block;font-size:11px;color:#65757b;line-height:1.8}.service-tabs i{position:absolute;right:6px;top:57px;font-size:23px;font-style:normal;transition:transform .3s}.service-tabs button:hover i{transform:translate(3px,-3px)}.service-panel{animation:panel-enter .5s both}.service-visual{position:relative;aspect-ratio:1.45;overflow:hidden;background:#19292e}.service-visual>img{width:100%;height:100%;object-fit:cover}.web-visual{padding:35px 30px;background:#c8d1d3;display:flex;align-items:center}.web-visual img{height:auto;box-shadow:0 14px 35px #0a151b25}.web-visual>span{position:absolute;bottom:12px;left:30px;font:8px monospace;letter-spacing:.05em;color:#526267}.service-panel-foot{display:flex;align-items:center;gap:22px;justify-content:space-between;border-bottom:1px solid var(--studio-line);padding:15px 0}.service-panel-foot p{font-size:11px;color:var(--studio-muted);margin:0}.service-panel-foot a{font-size:11px;white-space:nowrap;border-bottom:1px solid #82969d;padding-bottom:6px}.service-panel .illustration-note{font-size:9px;color:#64747b}
.app-visual{display:flex;align-items:center;justify-content:center;padding:36px 26px;background:#b9cbd0;gap:15px}.mini-app{background:#f4f5f0;border:5px solid #151d20;border-radius:25px;width:52%;height:100%;padding:20px 13px;box-shadow:0 20px 40px #263b4645;transform:rotate(-6deg);font-size:9px;display:flex;flex-direction:column;justify-content:space-between}.mini-app-head{font-size:24px;letter-spacing:-1.5px;font-weight:600;display:flex;justify-content:space-between;align-items:center;gap:5px}.mini-app-head span{font-size:7px;color:#688773;letter-spacing:0;font-weight:400}.mini-app>small{font-size:9px;margin-top:12px;color:#78847d}.mini-bubble{padding:11px 9px;margin:10px 0 0;background:#fff;border-radius:2px 11px 11px;line-height:1.7}.mini-bubble time{display:block;font-size:7px;color:#778077;margin-top:5px}.mini-bubble.mine{background:#d1e8d3;margin-left:16px}.mini-input{font-size:7px;padding:10px 0 0;margin-top:18px;color:#7f8984}.mini-input b{float:right;color:#1f512a}.mini-report{width:40%;transform:rotate(5deg);background:#e7a769;color:#453125;padding:24px 18px;box-shadow:0 20px 40px #263b4625}.mini-report>span{font-size:19px;letter-spacing:-1px}.mini-report small{display:block;font-size:8px;margin-top:20px}.mini-report b{display:block;font-size:20px;font-weight:500;line-height:1.6;margin:10px 0 35px}.mini-report div{font-size:7px;border-top:1px solid #68462940;padding:9px 0}.iot-visual img{filter:brightness(.8)}.camera-tag{position:absolute;background:#0f2633dd;color:#b4efff;border:1px solid #59cdf8;padding:8px 10px;font:9px monospace}.camera-tag:before{content:"";position:absolute;width:25px;height:25px;border:1px solid #6ddefb;left:-8px;top:-8px}.tag-one{top:27%;left:16%}.tag-two{top:41%;right:10%}.iot-caption{position:absolute;left:25px;right:25px;bottom:25px;font-size:15px;color:#fff;text-shadow:0 2px 12px #000}
.atelier-play{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center;background:#162b35}.lab-art{position:relative;aspect-ratio:1.12;background:var(--studio-blue);color:#122f3d;overflow:hidden}.lab-art-grid{position:absolute;inset:0;background-image:linear-gradient(#ffffff1c 1px,transparent 1px),linear-gradient(90deg,#ffffff1c 1px,transparent 1px);background-size:12.5% 12.5%}.lab-letter{font-family:Georgia,serif;font-size:clamp(140px,21vw,320px);letter-spacing:-.09em;line-height:1;position:absolute;top:12%;left:9%;transition:transform .6s}.lab-letter span{font-family:'Noto Sans JP',sans-serif;font-size:45%;position:absolute;right:-10%;bottom:0;font-weight:500;color:#dcf3fa;mix-blend-mode:screen}.lab-art:hover .lab-letter{transform:rotate(-7deg) translateY(-5px)}.lab-swatches{position:absolute;bottom:14%;right:8%;display:flex;transform:rotate(-9deg)}.lab-swatches i{display:block;width:43px;height:57px;background:#d9e5e9;border:1px solid #16344533;box-shadow:-4px 8px 15px #16344525;transform:rotate(-12deg)}.lab-swatches i:nth-child(2){background:#143040}.lab-swatches i:nth-child(3){background:#9ac9d9}.lab-swatches i:nth-child(4){background:#e6a27a}.lab-art-caption{position:absolute;bottom:7%;left:8%;font:8px monospace;letter-spacing:.12em}.lab-invitation h2{font-size:clamp(30px,3.5vw,54px);margin:25px 0}.lab-invitation p{font-size:12px;color:#afc3cc;margin-bottom:35px}
.atelier-site .atelier-footer{padding:64px 4.5% 22px;background:var(--studio-paper);color:var(--studio-ink)}.atelier-footer .footer-top{font-size:9px;letter-spacing:.06em;color:#5c6e76;border-bottom:1px solid var(--studio-line);padding-bottom:22px;display:flex;justify-content:space-between}.atelier-footer .footer-conversation{display:flex;align-items:flex-end;justify-content:space-between;gap:45px;padding:52px 0 50px}.atelier-site .atelier-footer .footer-cta{display:block;font-size:clamp(32px,4.8vw,75px);line-height:1.35;letter-spacing:-.06em;position:relative;padding:0 90px 0 0;margin:0;width:auto;text-align:left;color:inherit;background:none;border:0;font-weight:500}.atelier-site .atelier-footer .footer-cta span{position:absolute;right:0;top:0;font-size:70px;transition:transform .3s}.atelier-footer .footer-cta:hover span{transform:translate(5px,-5px)}.footer-conversation>p{font-size:11px;color:#52656f;margin-bottom:8px}.atelier-site .atelier-footer .footer-bottom{padding:20px 0;border-top:1px solid var(--studio-line);border-bottom:0;display:flex;justify-content:space-between;align-items:center;gap:18px;color:#51646e;font-size:10px}.atelier-footer .footer-bottom>div{display:flex;flex-wrap:wrap;gap:20px;font-size:9px}.atelier-footer #motion-toggle{border:0;background:none;color:inherit;font-size:9px;white-space:nowrap}.footer-wordmark{display:block;position:relative;white-space:nowrap;font-size:15.65vw;line-height:1.05;letter-spacing:-.07em;font-weight:600;color:var(--studio-ink);margin:25px 0 2px}.footer-wordmark>span{position:absolute;font-size:18px;right:0;top:18px;letter-spacing:0;font-weight:400}.footer-colophon{display:flex;justify-content:space-between;gap:20px;font-size:8px;letter-spacing:.07em;padding-top:20px;border-top:1px solid var(--studio-line);color:#5c6e76}.atelier-site .contact-dialog{border-radius:2px;border:1px solid #638795;padding:48px;background:#121e24;color:#e9eef0}.atelier-site .contact-dialog h2{font-size:42px;margin-top:24px;line-height:1.35}.atelier-site .contact-dialog .solid-btn{border-radius:0;background:#2596be}.atelier-site .contact-dialog input,.atelier-site .contact-dialog textarea,.atelier-site .contact-dialog select{border-radius:0}
/* Service pages */
.atelier-web-hero{background:var(--studio-paper);color:var(--studio-ink);display:grid;grid-template-columns:.83fr 1.17fr;gap:7%;align-items:center;min-height:690px}.atelier-site .atelier-web-hero.wrap{padding-top:75px;padding-bottom:80px}.web-direction-copy h1{font-size:clamp(43px,5.4vw,83px);line-height:1.33;letter-spacing:-.065em;margin:26px 0}.web-direction-copy h1 span{color:#287e9e}.web-direction-copy p{font-size:12px;color:#586b74;margin-bottom:26px}.web-direction-showcase{background:#d7dcdb;padding:22px 22px 18px;transition:background .5s;min-width:0;transform:rotate(1.5deg);box-shadow:0 20px 45px #152d3710}.web-direction-showcase[data-art-direction=bold]{background:#e7d737}.web-direction-showcase[data-art-direction=playful]{background:#c3b6e0}.direction-top{display:flex;justify-content:space-between;font:8px monospace;letter-spacing:.02em;color:#4e636a;margin-bottom:20px;gap:10px}.web-direction-showcase>a{display:block;position:relative;overflow:hidden}.web-direction-showcase img{width:100%;height:auto;aspect-ratio:16/10;object-fit:contain;background:#122121;transition:opacity .25s}.direction-open{position:absolute;bottom:12px;right:12px;font-size:9px;color:#e9eef0;background:#142026e6;padding:9px 12px}.direction-caption{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:18px 0;color:#17333b}.direction-caption strong{font-size:16px;font-weight:500}.direction-caption>span{font-size:9px}.direction-controls{display:flex;border-top:1px solid #1a2d3733;border-bottom:1px solid #1a2d3733}.direction-controls button{flex:1;border:0;background:transparent;padding:15px 4px;color:#52636a;font-size:10px;cursor:pointer}.direction-controls button[aria-pressed=true]{background:#182c34;color:#f5f8f7}.direction-note{font-size:8px!important;color:#5a6f74;margin:15px 0 0;line-height:1.8!important}.atelier-site .offering{background:#dce6e9;color:#142c37}.atelier-site .offering h2{font-size:clamp(34px,4vw,64px)}.atelier-site .offering-list{gap:24px}.atelier-site .offering-list article{border-top:1px solid #6e889544;padding-top:25px}.atelier-site .offering-list h3{font-size:21px;letter-spacing:-.04em;margin:25px 0 12px}.atelier-site .offering-list p{font-size:12px;color:#5a6d75}.atelier-site .web-examples{background:#101719}.atelier-site .three-grid{gap:45px 24px}.atelier-site .plans>h2{font-size:clamp(34px,4vw,60px)}.atelier-site .plan-pair{gap:24px}.atelier-site .plan-pair article{padding:42px}.atelier-site .plan-pair h3{font-size:32px}.atelier-site .plan-pair h4{display:none}.atelier-site .plan-pair p{font-size:12px}.atelier-site .essential-plan{background:#dce8ec}
/* The application UI and field simulators keep their individual design systems. */
.atelier-app .site-head,.atelier-iot .site-head{background:#101719;color:#e9eef0;border-bottom-color:#ffffff25}.atelier-app .site-head .start-btn,.atelier-iot .site-head .start-btn{background:#dcecf1;color:#152c36;border-color:#dcecf1}.atelier-app .app-editorial{background:#101719}.atelier-app .app-hero-top{border-bottom:1px solid #ffffff1f;padding-bottom:20px}.atelier-app .app-hero-copy h1{font-size:clamp(53px,6vw,90px);letter-spacing:-.075em}.atelier-app .app-orbit{opacity:.18}.atelier-app .app-stage-word{opacity:.045}.atelier-app .app-scenes{border-color:#ffffff24}.atelier-app .app-scenes button{border-radius:0}.atelier-app .internal-apps .section-top h2,.atelier-app .consumer-apps .section-top h2{font-size:clamp(30px,3.5vw,52px)}.atelier-iot .range-hero{background:#101719}.atelier-iot .range-hero>h1{font-size:clamp(40px,5.5vw,80px);line-height:1.4;letter-spacing:-.06em}.atelier-iot .range-hero .eyebrow{color:#76b7d1}.atelier-iot .iot-range{border:1px solid #4d6c7a45}.atelier-iot .easy-iot{background:#e4ebed}.atelier-iot .iot-cost{background:#c7dce5}.atelier-iot .iot-examples .section-top h2{font-size:clamp(32px,3.8vw,55px)}
/* Collection — immediate overview, full compositions rather than random crops. */
.atelier-work .collection-intro{background:var(--studio-paper);color:var(--studio-ink);padding-top:45px;padding-bottom:42px}.collection-top{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.1em}.collection-title{display:flex;justify-content:space-between;align-items:flex-end;margin:46px 0 40px;gap:30px}.atelier-work .collection-title h1{font-size:clamp(42px,6.5vw,94px);line-height:1.25;letter-spacing:-.07em;margin:0}.collection-title h1 span{color:#287e9e}.collection-index{display:flex;align-items:flex-end;font-size:clamp(100px,16vw,225px);font-weight:400;line-height:.8;letter-spacing:-.09em;gap:25px;color:#b6cbd3}.collection-index span{font:8px/1.5 monospace;letter-spacing:.03em;color:#69818c;margin:0 0 4px}.atelier-work .intro-foot{border-top:1px solid var(--studio-line);padding-top:24px;display:flex;justify-content:space-between;gap:35px;align-items:flex-start}.atelier-work .intro-foot p{font-size:11px;color:#506670;line-height:1.8;margin:0}.atelier-work .intro-foot p span{font-size:9px;color:#6f7d83}.atelier-work .portfolio{padding-top:35px;background:#101719}.atelier-work .portfolio-toolbar{padding-bottom:22px;gap:20px}.atelier-work .filter-group{gap:7px}.atelier-work .filter-group button{font-size:12px;padding:10px 16px;border-radius:0}.atelier-work .filter-group button[aria-pressed=true]{background:#dcebf0;color:#102834}.atelier-work .style-filter{gap:9px;padding-top:16px}.atelier-work .style-filter button{border-radius:0;font-size:10px;padding:7px 10px}.atelier-work .style-filter button[aria-pressed=true]{color:#b8e7fa;border-color:#5f9aae}.atelier-work .style-filter-label{font-size:9px}.atelier-work .portfolio-status{padding:26px 0 18px;font-size:9px;color:#a4b9c3}.atelier-work .portfolio-grid{gap:46px 22px}.atelier-work .portfolio-grid .work-image{aspect-ratio:16/10}.atelier-work .compare-btn{font-size:9px;border-color:#ffffff33;padding:8px 11px;border-radius:0}.atelier-work .preview-btn{width:31px;height:31px;font-size:19px}.atelier-work .filter-right select{border-radius:0;font-size:10px}.atelier-work .compare-tray{background:#d9e9ed;color:#142d38;box-shadow:0 10px 40px #0007;border:1px solid #7398a7}.atelier-work .compare-tray .solid-btn{border-radius:0;background:#153948;color:#fff}
/* Legacy interactive tools receive the same frame without changing their controls. */
.atelier-lab .site-head,.atelier-plans .site-head{position:relative;inset:auto}.atelier-lab .playground{background:#e3ecef;color:#142c37;padding:65px 4.5% 95px}.atelier-lab .playground>.section-heading h1{font-size:clamp(34px,4.5vw,65px);line-height:1.4}.atelier-lab .section-heading>p{font-size:12px}.atelier-lab .studio-preview{border-radius:0}.atelier-lab .contact.section{background:#172f3b;padding:75px 4.5%}.atelier-lab .back-studio{display:none}.atelier-lab .atelier-footer a,.atelier-plans .atelier-footer a{text-decoration:none}.atelier-plans .plan-hero{background:#e9eef0;color:#142c37}.atelier-plans .plan-hero h1{font-size:clamp(48px,6vw,88px);line-height:1.27}.atelier-plans .plan-section-heading h2{font-size:clamp(29px,3.5vw,49px)}.atelier-plans .plan-close{background:#18313e}.atelier-plans .plan-close h2{font-size:clamp(34px,4.2vw,60px)}
@keyframes panel-enter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1700px){.atelier-site .wrap,.atelier-hero{padding-left:max(4.5%,calc((100vw - 1600px)/2));padding-right:max(4.5%,calc((100vw - 1600px)/2))}.hero-wordmark{font-size:clamp(180px,15.8vw,278px)}.hero-composition{min-height:650px}}
@media(max-width:1150px){.atelier-site .site-head{gap:20px}.atelier-site .site-head nav{gap:17px;font-size:10px}.atelier-site .head-actions{gap:10px}.atelier-site .site-head .brand{font-size:22px}.atelier-site .start-btn{padding:10px;gap:12px}.hero-composition{min-height:510px}.atelier-hero-copy p{font-size:11px}.atelier-site .wrap{padding-top:90px;padding-bottom:90px}.atelier-site .footer-bottom>div{gap:12px}.mini-report b{font-size:16px}.app-visual{padding:26px 18px}.mini-app{padding:16px 9px}.mini-bubble{font-size:8px}.atelier-web-hero{gap:5%;grid-template-columns:.8fr 1.2fr}.service-tabs strong{font-size:25px}.service-tabs small{font-size:10px}.service-panel-foot p{font-size:10px}.atelier-app .app-hero-copy h1{font-size:62px}}
@media(max-width:900px){.atelier-site .site-head nav{display:none}.atelier-site .menu-toggle{display:block}.atelier-site .site-head{height:74px}.atelier-site .mobile-menu{top:74px}.atelier-site .head-actions{margin-left:auto}.hero-composition{grid-template-columns:1fr 1fr;min-height:470px}.atelier-hero-copy h1{font-size:6.9vw}.atelier-hero-copy p{font-size:10px}.atelier-object{margin-left:-14%;margin-right:-10%}.object-caption{font-size:7px;bottom:8%;left:17%}.object-caption span:last-child{display:none}.atelier-site .selected-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.atelier-site .section-top h2{font-size:35px}.service-explorer{gap:5%;grid-template-columns:1fr 1fr}.service-tabs>button{padding-top:18px;padding-bottom:18px}.service-tabs strong{font-size:23px}.service-tabs small{font-size:9px}.service-visual{aspect-ratio:1.06}.web-visual{padding:25px 18px}.service-panel-foot{display:block}.service-panel-foot a{display:inline-block;margin-top:12px}.mini-report{display:none}.mini-app{width:78%;transform:rotate(-5deg);height:95%}.mini-bubble{font-size:9px}.atelier-play{gap:7%}.lab-invitation h2{font-size:31px}.lab-invitation p{font-size:11px}.atelier-footer .footer-conversation{align-items:flex-start}.atelier-footer .footer-conversation>p{max-width:220px;font-size:10px}.atelier-site .atelier-footer .footer-cta{padding-right:55px;font-size:4.9vw}.atelier-site .atelier-footer .footer-cta span{font-size:45px}.atelier-site .atelier-footer .footer-bottom{flex-wrap:wrap}.atelier-footer .footer-bottom>div{order:3;width:100%;gap:20px;margin-top:10px}.atelier-web-hero{grid-template-columns:.9fr 1.1fr;gap:4%}.web-direction-copy h1{font-size:43px}.web-direction-copy p{font-size:10px}.web-direction-showcase{padding:16px}.direction-caption{display:block}.direction-caption>span{display:block;margin-top:8px}.direction-top{font-size:6px}.direction-open{font-size:7px}.collection-index{font-size:140px;gap:10px}.collection-index span{display:none}.atelier-work .portfolio-toolbar{align-items:flex-start;flex-wrap:wrap}.atelier-work .portfolio-status{gap:20px}.atelier-site .plan-pair article{padding:30px}}
@media(max-width:600px){.atelier-site .site-head{height:68px;padding:0 6%}.atelier-site .site-head .brand{font-size:22px}.atelier-site .site-head .brand img{width:27px;height:27px}.atelier-site .mobile-menu{top:68px;padding:25px 6%}.atelier-site .start-btn{padding:9px 11px;font-size:10px;gap:18px}.atelier-site .language{font-size:9px}.atelier-site .head-actions{gap:13px}.atelier-site .menu-toggle{font-size:21px}.atelier-site .wrap{padding:64px 6%}.atelier-hero{padding:0 6%}.atelier-topline{padding-top:20px;font-size:8px;letter-spacing:.04em}.hero-composition{display:block;min-height:0}.atelier-hero-copy{padding-top:38px}.atelier-hero-copy .eyebrow{font-size:8px}.atelier-hero-copy h1{font-size:clamp(42px,11.7vw,67px);line-height:1.25;margin:18px 0 20px}.atelier-hero-copy p{font-size:11px;line-height:2;max-width:30em;margin-bottom:24px}.atelier-link{font-size:11px;gap:35px;padding-bottom:10px}.atelier-object{height:330px;margin:-16px -8% -12px 13%;pointer-events:auto}.atelier-object:after{bottom:14%;filter:blur(12px)}.object-caption{bottom:9%;left:9%;right:7%;font-size:6px}.object-caption span:last-child{display:block}.atelier-hero-bottom{padding:16px 0;font-size:8px;gap:12px}.atelier-hero-bottom>a{gap:16px}.atelier-hero .wave-modes{gap:5px}.atelier-hero .wave-modes>span{font-size:8px;margin-right:4px}.atelier-hero .wave-modes button{width:24px;height:24px;font-size:8px}.hero-wordmark{font-size:15.15vw;line-height:1;margin:10px 0 2px}.hero-wordmark>span{font-size:8px;top:3px;right:0}.atelier-site .section-top{display:block;margin-bottom:30px}.atelier-site .section-top h2{font-size:30px;letter-spacing:-.055em;margin-top:20px}.atelier-site .section-top p{font-size:11px;margin:20px 0 14px}.atelier-site .eyebrow{font-size:8px}.atelier-site .selected-grid{gap:30px 12px}.atelier-site .work-image{aspect-ratio:1.4}.atelier-site .work-info{padding-top:12px}.atelier-site .work-info h3{font-size:21px}.atelier-site .work-info p{font-size:8px;line-height:1.65;margin-top:5px}.atelier-site .work-info p span{display:block;font-size:7px}.atelier-site .work-desc{font-size:9px;line-height:1.8;margin-top:8px}.atelier-site .work-badge{display:none}.atelier-site .open-arrow{width:23px;height:23px;font-size:13px;bottom:7px;right:7px}.atelier-site .section-note{display:block;font-size:8px;margin-top:30px}.atelier-site .section-note a{display:inline-block;margin-top:15px;white-space:normal}.service-explorer{display:flex;flex-direction:column;gap:26px}.service-tabs{width:100%;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--studio-line);border-bottom:1px solid var(--studio-line)}.service-tabs>button,.service-tabs>button[aria-pressed=true]{padding:15px 8px 14px 0;border-bottom:0;border-right:1px solid var(--studio-line)}.service-tabs>button:last-child{border-right:0;padding-left:10px}.service-tabs>button:nth-child(2){padding-left:10px}.service-tabs>button:before{width:100%;height:2px;top:auto;bottom:-1px;transform:scaleX(0)}.service-tabs>button[aria-pressed=true]:before{transform:scaleX(1)}.service-tabs>button>span{font-size:6px;letter-spacing:0}.service-tabs strong{font-size:12px;letter-spacing:-.07em;margin:8px 0 0;white-space:nowrap}.service-tabs small,.service-tabs i{display:none}.service-panels{width:100%}.service-visual{aspect-ratio:1.3}.web-visual{padding:28px 20px}.service-panel-foot{display:flex}.service-panel-foot p{font-size:9px}.service-panel-foot a{font-size:10px;margin:0}.app-visual{padding:28px}.mini-app{width:52%;height:100%;padding:18px 10px}.mini-report{display:block;padding:22px 14px}.mini-report b{font-size:14px;margin-bottom:20px}.mini-report div{font-size:6px}.mini-app-head{font-size:20px}.mini-app-head span{font-size:5px}.mini-bubble{font-size:7px;padding:8px}.mini-input{font-size:6px}.iot-caption{font-size:12px;left:18px;bottom:18px}.camera-tag{font-size:8px;padding:6px}.atelier-play{display:flex;flex-direction:column-reverse;gap:35px}.lab-invitation{width:100%}.lab-invitation h2{font-size:32px}.lab-invitation p{font-size:11px}.lab-art{width:100%;aspect-ratio:1.3}.lab-letter{font-size:55vw;top:10%;left:10%}.lab-swatches i{width:35px;height:47px}.lab-art-caption{font-size:7px}.atelier-site .atelier-footer{padding:45px 6% 20px}.atelier-footer .footer-top{font-size:7px;gap:15px}.atelier-footer .footer-top>span:last-child{font-size:6px}.atelier-footer .footer-conversation{display:block;padding:35px 0 30px}.atelier-site .atelier-footer .footer-cta{font-size:9vw;padding-right:50px}.atelier-site .atelier-footer .footer-cta span{font-size:40px}.atelier-footer .footer-conversation>p{max-width:none;font-size:10px;margin-top:24px}.atelier-site .atelier-footer .footer-bottom{font-size:9px;gap:15px}.atelier-footer .footer-bottom>div{gap:12px;font-size:8px;line-height:1.8}.footer-wordmark{font-size:15.1vw;margin-top:25px}.footer-wordmark>span{font-size:8px;top:5px}.footer-colophon{font-size:6px;letter-spacing:0;gap:10px;padding-top:15px}.atelier-site .contact-dialog{padding:35px 23px}.atelier-site .contact-dialog h2{font-size:31px}.atelier-site .atelier-web-hero.wrap{display:block;min-height:0;padding:45px 6% 60px}.web-direction-copy h1{font-size:11vw;line-height:1.35;margin:20px 0}.web-direction-copy p{font-size:11px}.web-direction-showcase{margin-top:45px;transform:rotate(1deg);padding:16px}.direction-caption{display:flex}.direction-caption>span{margin:0}.direction-caption strong{font-size:14px}.direction-caption>span{font-size:8px}.direction-top{font-size:7px}.direction-open{font-size:8px}.direction-note{font-size:8px!important}.direction-controls button{font-size:9px}.atelier-site .offering h2{font-size:33px}.atelier-site .offering-list h3{font-size:23px}.atelier-site .offering-list p{font-size:12px}.atelier-site .three-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 12px}.atelier-site .plan-pair article{padding:27px}.atelier-site .plan-pair h3{font-size:30px}.atelier-app .app-hero-copy h1{font-size:48px}.atelier-iot .range-hero>h1{font-size:10.5vw;line-height:1.45}.atelier-work .collection-intro{padding-top:30px;padding-bottom:30px}.collection-top{font-size:7px;gap:20px}.collection-title{margin:33px 0 28px;align-items:flex-start}.atelier-work .collection-title h1{font-size:10.5vw;line-height:1.35}.collection-index{font-size:17vw;margin-top:8px}.atelier-work .intro-foot{display:block;padding-top:20px}.atelier-work .intro-foot p{font-size:10px}.atelier-work .intro-foot p+p{margin-top:14px;font-size:9px}.atelier-work .intro-foot p span{font-size:8px}.atelier-work .portfolio{padding-top:25px}.atelier-work .filter-group{gap:4px;width:100%}.atelier-work .filter-group button{font-size:10px;padding:10px 11px;flex:1}.atelier-work .filter-group button sup{font-size:8px}.atelier-work .filter-right{width:100%;justify-content:space-between}.atelier-work .style-filter{gap:7px}.atelier-work .style-filter-label{width:100%;margin-bottom:2px}.atelier-work .style-filter button{font-size:8px;padding:7px 8px}.atelier-work .portfolio-status{font-size:8px;flex-direction:column;gap:6px;padding:22px 0 18px}.atelier-work .portfolio-grid,.atelier-work .portfolio-grid[data-columns="3"]{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 12px}.atelier-work .portfolio-grid[data-columns="2"]{grid-template-columns:1fr}.atelier-work .portfolio-grid .work-image{aspect-ratio:1.4}.atelier-work .preview-btn{width:24px;height:24px;font-size:15px;flex-shrink:0}.atelier-work .work-info{gap:5px}.atelier-work .work-info h3{font-size:19px}.atelier-work .compare-btn{font-size:8px;padding:6px 8px}.atelier-work .compare-tray{width:90%;padding:13px}.atelier-work .compare-tray>div{font-size:9px}.atelier-work .compare-tray .solid-btn{font-size:10px;padding:10px}.atelier-lab .playground{padding:40px 6% 60px}.atelier-lab .playground>.section-heading h1{font-size:30px}.atelier-lab .contact.section{padding:60px 6%}.atelier-plans .plan-hero h1{font-size:12vw}.atelier-plans .plan-section-heading h2{font-size:30px}}
@media(prefers-reduced-motion:reduce){.atelier-site *, .atelier-site *:before,.atelier-site *:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.atelier-site.motion-off *,.atelier-site.motion-off *:before,.atelier-site.motion-off *:after{animation-duration:.01ms!important;transition-duration:.01ms!important}
/* Readable body copy, with compact labels reserved for secondary information. */
.atelier-hero-copy p{font-size:14px}.atelier-site .section-top p{font-size:13px}.atelier-site .work-desc{font-size:12px}.atelier-site .work-info p{font-size:11px}.service-tabs small{font-size:12px}.service-panel-foot p{font-size:12px}.lab-invitation p{font-size:13px}.web-direction-copy p{font-size:13px}.atelier-work .intro-foot p{font-size:12px}.footer-conversation>p{font-size:12px}
.atelier-iot .range-hero{padding-top:65px;padding-bottom:75px}.iot-hero-layout{display:grid;grid-template-columns:.95fr 1.05fr;gap:6%;align-items:center}.atelier-iot .range-hero .iot-hero-copy h1{font-size:clamp(43px,5.1vw,77px);line-height:1.3;letter-spacing:-.06em;margin:30px 0}.iot-hero-copy h1 span{color:#a4d5e6}.iot-hero-copy>p{font-size:12px;color:#a3b5be;line-height:2.1;margin:0 0 32px}.iot-hero-visual{background:#20323b;padding:20px;transform:rotate(-1.5deg)}.iot-visual-meta{font:8px monospace;letter-spacing:.05em;display:flex;justify-content:space-between;color:#95b3c1;margin-bottom:20px;gap:15px}.iot-hero-image{position:relative;aspect-ratio:1.15;overflow:hidden}.iot-hero-image>img{height:100%;width:100%;object-fit:cover;filter:brightness(.75)}.iot-cross{position:absolute;width:65px;height:65px;border:1px solid #9edaf5b3;box-shadow:0 0 0 5px #183e5433;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#d7f5ff;background:#173e5333;backdrop-filter:blur(1px)}.iot-cross b{font:18px monospace}.iot-cross span{font-size:10px;margin-top:5px}.cross-a{top:26%;left:12%}.cross-b{top:40%;left:49%}.cross-c{top:58%;right:7%}.iot-hero-route{display:flex;justify-content:space-between;align-items:center;padding:20px 0 16px;border-bottom:1px solid #ffffff26;font-size:11px}.iot-hero-route i{font-style:normal;color:#689fb7}.iot-hero-visual>p{font-size:8px;color:#9bb3be;margin:14px 0 0}.hero-scanline{position:absolute;top:0;left:0;right:0;height:1px;background:#a4e4ff;box-shadow:0 0 20px 3px #99d9f655;animation:hero-scan 7s ease-in-out infinite;opacity:.45;pointer-events:none}@keyframes hero-scan{0%,100%{transform:translateY(20px)}50%{transform:translateY(380px)}}
@media(max-width:900px){.atelier-hero-copy p{font-size:12px}.service-tabs small{font-size:10px}.service-panel-foot p{font-size:10px}.iot-hero-layout{gap:4%;grid-template-columns:1fr 1fr}.atelier-iot .range-hero .iot-hero-copy h1{font-size:43px}.iot-hero-copy>p{font-size:10px}.iot-hero-visual{padding:15px}.iot-cross{width:48px;height:48px}.iot-hero-route{font-size:9px}.iot-visual-meta{font-size:6px}.iot-hero-visual>p{font-size:7px}}
@media(max-width:600px){.atelier-hero-copy p{font-size:12px}.atelier-site .section-top p{font-size:12px}.atelier-site .work-desc{font-size:11px}.atelier-site .work-info p{font-size:9px}.service-panel-foot p{font-size:11px}.lab-invitation p,.web-direction-copy p{font-size:12px}.atelier-work .intro-foot p{font-size:11px}.footer-conversation>p{font-size:11px}.atelier-iot .range-hero{padding:42px 6% 55px}.iot-hero-layout{display:block}.atelier-iot .range-hero .iot-hero-copy h1{font-size:11vw;line-height:1.35;margin:23px 0}.iot-hero-copy>p{font-size:12px}.iot-hero-visual{margin-top:38px;padding:16px}.iot-hero-image{aspect-ratio:1.3}.iot-visual-meta{font-size:7px}.iot-hero-route{font-size:10px}.iot-hero-visual>p{font-size:8px}}
/* Swap the fallback instantly, so the first WebGL frame never overlaps another image. */
.webgl-ready .sculpture-fallback{display:none}
.atelier-site .atelier-footer{display:block;max-width:none;width:100%;text-align:left}.atelier-site .atelier-footer>div{min-width:0;text-align:left}.atelier-site .atelier-footer .footer-conversation{display:flex}.atelier-work .style-filter button[aria-pressed=true]{background:#b9dfea;color:#102a36;border-color:#b9dfea}
@media(max-width:600px){.atelier-site .atelier-footer .footer-conversation{display:block}.atelier-work .style-filter button{min-height:30px}}
.atelier-plans .plan-hero .plan-lead,.atelier-plans .plan-topline,.atelier-plans .plan-topline a{color:#536975}.atelier-plans .plan-hero .plan-link.light{color:#183540;border-color:#718994}.atelier-plans .plan-hero h1{font-weight:500}.atelier-plans .hero-facts{border-color:#a9bdc7}.atelier-plans .hero-facts span,.atelier-plans .hero-note{color:#607883}.atelier-iot .easy-iot .section-top p{color:#546b76}
@media(prefers-reduced-motion:reduce){.atelier-site *,.atelier-site *:before,.atelier-site *:after{animation:none!important;transition:none!important}}.atelier-site.motion-off *,.atelier-site.motion-off *:before,.atelier-site.motion-off *:after{animation:none!important;transition:none!important}
.atelier-object #wave-canvas{transition:none}

/* Keep the free consultation action on one line at phone widths. */
.atelier-site .site-head .start-btn{white-space:nowrap;flex-shrink:0}
@media(max-width:600px){.atelier-site .site-head{gap:12px}.atelier-site .head-actions{gap:8px}.atelier-site .language,.atelier-site .menu-toggle{padding-left:0;padding-right:0}.atelier-site .start-btn{gap:12px}}
@media(max-width:360px){.atelier-site .site-head{gap:8px}.atelier-site header.site-head .brand{font-size:18px;gap:6px}.atelier-site header.site-head .brand img{width:24px;height:24px}.atelier-site .start-btn{font-size:9px;padding:9px;gap:9px}.atelier-site .head-actions{gap:7px}}
