/* UgStudio — one story, six architectural environments. */
.world-page{--world-ink:#f4f0e8;--pad:clamp(24px,5.3vw,104px);background:#11171b;color:#f4f0e8}
.world-page header{position:absolute;inset:0 0 auto;height:104px;background:transparent;border:0;z-index:60;color:#f4f0e8}
.world-page header nav a{color:inherit}.world-page header .nav-contact{color:inherit;border-color:#ffffff55;background:#07101822;backdrop-filter:blur(12px)}.world-page header .nav-contact:hover{background:#f4f0e8;color:#10171c}
.world-page #mobile-nav{background:#10171c;color:#f4f0e8;z-index:70}.world-page .reading-progress{display:none}
.world-pin{position:relative;background:#11171b;color:var(--world-ink);isolation:isolate}.world-backdrops{display:none}.world-scene{position:relative;padding:100px var(--pad);color:#f4f0e8;overflow:hidden;background:#11171b}
.world-stage{display:none}.worlds-active .world-stage{display:block;position:absolute;inset:0;z-index:0;pointer-events:none}
.world-copy{position:relative;z-index:4;max-width:680px}.designer-signature,.world-overline{display:flex;align-items:center;gap:11px;margin:0;font-family:'DM Sans',sans-serif;font-size:10px;font-weight:500;line-height:1.5;letter-spacing:.13em;text-transform:uppercase;color:#e4e8e3}
.designer-signature i{width:5px;height:5px;border-radius:50%;background:#a4cec2;box-shadow:0 0 0 5px #a4cec212;flex-shrink:0}
.world-scene h1,.world-scene h2{margin:31px 0 25px;font-family:'DM Sans',sans-serif;font-size:clamp(54px,6.1vw,108px);font-weight:450;line-height:1.02;letter-spacing:-.058em;text-wrap:balance}
.world-scene h1 em,.world-scene h2 em,.offer-intro h2 em,.studio-invitation em{font-family:'Instrument Serif',serif;font-weight:400;letter-spacing:-.04em}
.world-intro h1{font-size:clamp(54px,5.6vw,100px);line-height:1.06}.world-description{max-width:402px;margin:0;color:#e1e3df;font-size:15px;line-height:1.8;letter-spacing:-.01em;text-wrap:pretty}
.world-actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap;margin-top:32px}.world-button{display:inline-flex;justify-content:space-between;align-items:center;gap:32px;padding:14px 22px;border:1px solid #fafaf3;border-radius:99px;background:#f4f2e9;color:#141c20;font-size:12px;font-weight:500;letter-spacing:-.01em;line-height:1.3;min-height:49px;transition:background .25s,transform .25s}
.world-button span{font-size:22px;line-height:1;transition:transform .25s}.world-button:hover{background:white;transform:translateY(-2px)}.world-button:hover span{transform:translate(2px,-2px)}.world-secondary{font-size:12px;color:#f3f1e9;padding:10px 0;border-bottom:1px solid #ffffff40}.world-secondary:hover{border-color:#ffffff}
.world-tags{list-style:none;display:flex;gap:8px 19px;flex-wrap:wrap;margin:24px 0 30px;padding:0}.world-tags li{font-size:10px;letter-spacing:.02em;color:#d3d9d6;white-space:nowrap}.world-tags li+li:before{content:'·';margin-right:19px;opacity:.6}
.world-bridge{font-size:11px;line-height:1.6;letter-spacing:.015em;color:#acbbb7;margin:27px 0 0}.world-bridge:before{content:'';display:inline-block;width:23px;height:1px;background:#9caaa6;vertical-align:middle;margin-right:12px}.world-proof{display:inline-block;font-size:10px;opacity:.68;margin-top:17px;border-bottom:1px solid #ffffff28;padding-bottom:5px}.world-proof:hover{opacity:1}
.intro-footer{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;margin-top:75px;font-size:12px}.intro-footer p{margin:0;line-height:1.6}.intro-footer p>span{color:#b5bfbd;font-size:10px}.intro-footer>a{display:flex;gap:18px;align-items:center;font-size:10px;letter-spacing:.025em}.intro-footer b{display:grid;place-items:center;width:43px;height:43px;border:1px solid #ffffff45;border-radius:50%;font-size:18px;font-weight:400}
.world-image-note{display:block;margin-top:32px;color:#bac4c1;font-size:9px;letter-spacing:.08em;text-transform:uppercase}.linear-world-image{display:block;width:100%;height:auto;margin-top:40px;border-radius:2px}.world-chapters,.world-progress{display:none}
.world-page a:focus-visible,.world-page button:focus-visible{outline:2px solid #b8e1ff;outline-offset:7px}
/* The architecture always remains visible under the transparent WebGL stage. */
.worlds-active .world-journey{height:950svh}.worlds-active .world-pin{position:sticky;top:0;height:100svh;overflow:hidden}
.worlds-active .world-backdrops{display:block;position:absolute;inset:0;z-index:0;background:#11171b}.worlds-active .world-art{position:absolute;inset:0;overflow:hidden;opacity:0;will-change:clip-path,opacity}.worlds-active .world-art:first-child{opacity:1}.worlds-active .world-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 61%;will-change:transform}
.universe-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:1;pointer-events:none}
.worlds-active .world-pin:after{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(0deg,#081117cc,transparent 25%)}
.worlds-active .world-scene{position:absolute;inset:0;display:flex;align-items:center;padding:0;background:transparent;color:#f4f0e8;opacity:0;pointer-events:none;z-index:4;will-change:transform,opacity}.worlds-active .world-scene.is-current{pointer-events:auto}.worlds-active .world-intro{opacity:1}
.worlds-active .world-scene:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#06101670 0%,#06101635 38%,transparent 65%)}
.worlds-active .world-copy{width:47%;max-width:700px;margin:0 var(--pad);padding-bottom:12px}.worlds-active .world-intro .world-copy{margin-top:-25px}.worlds-active .world-scene h2{font-size:clamp(56px,6.1vw,108px)}.worlds-active .world-scene .linear-world-image{display:none}
.worlds-active .intro-footer{position:absolute;left:var(--pad);right:var(--pad);bottom:122px;margin:0}.worlds-active .world-image-note{position:absolute;right:var(--pad);bottom:105px;margin:0;opacity:.8;color:#e0e5de}
.worlds-active .world-chapters{position:absolute;left:var(--pad);bottom:28px;z-index:10;display:flex;gap:28px;font-size:11px}.world-chapters a{display:flex;gap:9px;align-items:baseline;color:#edf0e9;opacity:.55;border-bottom:1px solid transparent;padding:10px 0;transition:opacity .25s}.world-chapters a>span{font-size:9px;opacity:.7}.chapter-name{font-weight:400}.world-chapters a[aria-current],.world-chapters a:hover{opacity:1}.world-chapters a[aria-current]{border-color:#e9eee3}
.worlds-active .world-progress{display:flex;position:absolute;right:var(--pad);bottom:43px;z-index:10;gap:16px;align-items:center;font-size:10px;color:#e7ebe3}.world-progress i{display:block;width:86px;height:1px;background:#ffffff35}.world-progress b{display:block;width:100%;height:1px;background:#f5f5ed;transform:scaleX(0);transform-origin:left}
/* A direct service index after the story keeps the offer concrete. */
.offer-overview{padding:130px var(--pad) 140px;display:grid;grid-template-columns:1fr 1.1fr;gap:10%;background:#f1efe7;color:#1d292e}.offer-intro .world-overline{color:#626e72}.offer-intro h2{font-family:'DM Sans',sans-serif;font-size:clamp(42px,4.2vw,72px);font-weight:450;line-height:1.05;letter-spacing:-.05em;margin:26px 0 23px}.offer-intro>p:last-of-type{max-width:340px;font-size:14px;line-height:1.8;color:#647075}.overview-link{display:inline-block;margin-top:28px;font-size:12px;border-bottom:1px solid #1d292e66;padding-bottom:8px}
.offer-list>a{display:flex;align-items:center;gap:25px;padding:31px 0;border-top:1px solid #23313d30}.offer-list>a:last-child{border-bottom:1px solid #23313d30}.offer-number{font-size:10px;color:#7c888b;align-self:flex-start;margin-top:9px}.offer-list h3{font-size:clamp(24px,2.3vw,39px);font-weight:450;letter-spacing:-.035em;margin:0 0 9px}.offer-list p{font-size:11px;line-height:1.6;color:#738085;margin:0}.offer-arrow{font-size:25px;margin-left:auto;transition:transform .25s}.offer-list>a:hover .offer-arrow{transform:translate(4px,-4px)}
.studio-invitation{padding:105px var(--pad) 120px;background:#162329;color:#f2f0e6}.studio-invitation>p{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#a9b9bc;margin:0 0 35px}.studio-invitation>a{display:block;font-family:'DM Sans',sans-serif;font-size:clamp(47px,6.8vw,115px);line-height:1.02;letter-spacing:-.055em;font-weight:450;max-width:1000px}.studio-invitation>a>span{display:inline-block;margin-left:30px;transition:transform .3s}.studio-invitation>a:hover>span{transform:translate(8px,-8px)}.studio-invitation>span{display:block;margin-top:40px;font-size:12px;color:#b4c2c2}
.world-page footer{position:relative;background:#0b1419;z-index:20}
.design-showcase{padding:0 var(--pad) 120px;background:#f1efe7;color:#1d292e}.showcase-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:35px;margin-bottom:38px}.showcase-heading h2{font:450 clamp(35px,3.5vw,60px)/1.1 'DM Sans',sans-serif;letter-spacing:-.045em;margin:0}.showcase-heading h2 em{font:400 1em 'Instrument Serif',serif;letter-spacing:-.025em}.showcase-heading>p{max-width:280px;font-size:12px;line-height:1.8;color:#647277;margin:0}.showcase-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.showcase-grid>a{min-width:0}.showcase-grid img{display:block;width:100%;height:auto;aspect-ratio:1586/992;border:1px solid #24344020;box-shadow:0 18px 45px #1930360d}.showcase-grid a>div{padding:24px 0 0}.showcase-grid h3{font:450 19px/1.4 'DM Sans',sans-serif;letter-spacing:-.025em;margin:0 0 10px}.showcase-grid a>div>span{font-size:10px;letter-spacing:.03em;color:#647277}.showcase-grid a:hover h3{text-decoration:underline;text-underline-offset:5px}
@media(min-width:1600px){.world-description{font-size:17px;max-width:445px}.world-tags li{font-size:11px}.world-bridge{font-size:12px}.world-button{font-size:13px}}
@media(max-width:1100px){.worlds-active .world-chapters{gap:17px;font-size:10px}.world-progress i{width:40px}.worlds-active .world-copy{width:52%}.world-intro h1{font-size:5.7vw}.worlds-active .world-scene h2{font-size:6.5vw}.world-description{font-size:14px;max-width:355px}.world-bridge{max-width:290px}.offer-overview{gap:6%}.world-actions{gap:16px}.world-secondary{font-size:11px}}
@media(min-width:701px) and (max-height:790px){.worlds-active .world-intro h1{font-size:5.1vw;margin:24px 0}.worlds-active .world-scene h2{font-size:5.3vw;margin:23px 0}.worlds-active .world-description{font-size:13px;line-height:1.75;max-width:370px}.worlds-active .world-tags{margin:19px 0 24px}.worlds-active .world-bridge{margin-top:20px}.worlds-active .world-proof{margin-top:12px}.worlds-active .intro-footer{bottom:102px}.worlds-active .world-copy{padding-bottom:5px}.worlds-active .world-intro .world-copy{margin-top:-32px}.world-button{min-height:44px;padding:11px 19px}.world-actions{margin-top:24px}}
@media(max-width:700px), (max-width:1000px) and (orientation:portrait){
 .design-showcase{padding:0 var(--pad) 75px}.showcase-heading{display:block;margin-bottom:30px}.showcase-heading h2{font-size:35px}.showcase-heading>p{margin-top:21px;font-size:11px;max-width:310px}.showcase-grid{grid-template-columns:1fr;gap:38px}.showcase-grid h3{font-size:19px}.showcase-grid a>div{padding-top:19px}
 .world-page header{height:85px}.world-page header nav,.world-page header .nav-contact{display:none}.world-page .menu-toggle{display:flex;align-items:center;justify-content:center;margin-left:auto;width:40px;height:40px;padding:0;font-size:0;border:1px solid #ffffff50;border-radius:50%;background:#10171b33;color:#f4f0e8}.world-page .menu-toggle span{font-size:23px}
 .world-scene{padding:80px var(--pad)}.world-intro{padding-top:138px}.world-copy{width:100%}.designer-signature{font-size:8px;letter-spacing:.1em;gap:9px}.designer-signature i{width:4px;height:4px}.world-overline{font-size:9px;letter-spacing:.07em}
 .world-scene h1,.world-scene h2{font-size:clamp(41px,10.9vw,72px);margin:22px 0}.world-intro h1{font-size:10.7vw}.world-description{font-size:14px;line-height:1.7;max-width:360px}.world-tags{gap:7px 13px}.world-tags li{font-size:9px}.world-tags li+li:before{margin-right:13px}.world-button{padding:12px 19px;min-height:44px;font-size:11px;gap:25px}.world-button span{font-size:19px}.world-actions{gap:15px;margin-top:23px}.world-secondary{font-size:10px}.world-proof{font-size:10px}.world-bridge{font-size:10px}.intro-footer{margin-top:45px;font-size:10px;gap:20px}.intro-footer p>span{font-size:9px}.intro-footer>a{font-size:9px;max-width:140px;gap:12px}.intro-footer b{width:33px;min-width:33px;height:33px;font-size:17px}.world-image-note{font-size:8px}
 .worlds-active .world-art img{height:63%;object-position:67% 65%}.worlds-active .world-art{background:#11171b}.worlds-active .world-backdrops:after{content:'';position:absolute;inset:0;z-index:8;pointer-events:none;background:linear-gradient(180deg,transparent 29%,#11171b15 38%,#11171bba 54%,#11171b 64%)}
 .worlds-active .world-scene{align-items:flex-end}.worlds-active .world-scene:before{background:linear-gradient(180deg,transparent 30%,#09141910 44%,#09141985 62%,#09141955 100%)}.worlds-active .world-copy{width:auto;max-width:none;margin:0 var(--pad);padding:0 0 95px}.worlds-active .world-intro .world-copy{margin:0 var(--pad);padding-bottom:151px}.worlds-active .world-intro h1{font-size:10.7vw;margin:19px 0}.worlds-active .world-scene h2{font-size:11vw;margin:18px 0}.worlds-active .world-description{font-size:13px;line-height:1.65;max-width:360px}.worlds-active .world-tags,.worlds-active .world-bridge,.worlds-active .world-proof{display:none}.worlds-active .world-copy>.world-button{margin-top:24px}.worlds-active .world-actions{margin-top:23px;gap:13px}.worlds-active .world-secondary{font-size:10px}.worlds-active .intro-footer{left:var(--pad);right:var(--pad);bottom:81px}.worlds-active .intro-footer p{display:none}.worlds-active .intro-footer>a{margin-left:auto}.worlds-active .world-image-note{top:105px;right:var(--pad);bottom:auto;max-width:190px;font-size:7px;letter-spacing:.05em;color:#f0f1e9;text-shadow:0 1px 8px #0009;opacity:.8}
 .worlds-active .world-chapters{left:var(--pad);right:var(--pad);bottom:18px;gap:8px;justify-content:space-between;font-size:10px}.world-chapters a{gap:0;padding:11px 0;min-height:44px;align-items:center;opacity:.7}.world-chapters a>span,.world-chapters .chapter-name{display:none}.world-chapters a:after{content:attr(data-short)}.worlds-active .world-progress{display:none}.worlds-active .world-pin:after{background:linear-gradient(0deg,#07101677,transparent 23%)}
 .offer-overview{padding:75px var(--pad);grid-template-columns:1fr;gap:42px}.offer-intro h2{font-size:43px;margin:22px 0}.offer-intro>p:last-of-type{font-size:13px}.overview-link{margin-top:15px}.offer-list>a{gap:18px;padding:25px 0}.offer-list h3{font-size:28px}.offer-list p{font-size:10px}.offer-number{font-size:9px;margin-top:7px}.offer-arrow{font-size:23px}.studio-invitation{padding:70px var(--pad) 80px}.studio-invitation>p{font-size:8px;letter-spacing:.06em;line-height:1.6;margin-bottom:27px}.studio-invitation>a{font-size:11.8vw}.studio-invitation>a>span{margin-left:8px}.studio-invitation>span{font-size:10px;max-width:270px;line-height:1.6;margin-top:30px}
}
@media(max-width:700px) and (max-height:750px), (max-width:1000px) and (orientation:portrait) and (max-height:750px){.worlds-active .world-copy{padding-bottom:82px}.worlds-active .world-intro .world-copy{padding-bottom:133px}.worlds-active .world-intro h1{font-size:10vw}.worlds-active .world-scene h2{font-size:10vw;margin:15px 0}.worlds-active .world-description{font-size:12px;line-height:1.6}.worlds-active .world-actions{margin-top:18px}.worlds-active .intro-footer{bottom:73px}.worlds-active .world-copy>.world-button{margin-top:20px}.worlds-active .world-image-note{top:95px}.worlds-active .world-chapters{font-size:10px;bottom:15px}.world-button{min-height:40px;padding:10px 16px}}
@media(prefers-reduced-motion:reduce){.world-button,.world-button span,.offer-arrow,.studio-invitation>a>span{transition:none}}

/* Keep the artwork above the reading area on portrait tablets. */
@media(min-width:701px) and (max-width:1000px) and (orientation:portrait){
 .worlds-active .world-copy{max-width:620px}
 .worlds-active .world-intro h1{font-size:clamp(54px,8.5vw,80px)}
 .worlds-active .world-scene h2{font-size:clamp(56px,9vw,86px)}
 .worlds-active .world-description{font-size:15px;max-width:520px}
 .worlds-active .world-intro .world-copy{padding-bottom:165px}
}

/* On touch screens the animated setting has its own frame. Every chapter keeps
   its natural height, so larger text, browser bars and short screens cannot hide actions. */
@media(max-width:1000px){
 .world-page{--pad:clamp(20px,5.3vw,48px)}
 .world-page .world-button,.world-page .world-secondary,.world-page .world-proof,.world-page .overview-link{min-height:44px;display:inline-flex;align-items:center}
 .world-page .world-button{padding:13px 20px;font-size:13px;line-height:1.4}
 .world-page .world-secondary,.world-page .world-proof{font-size:12px;line-height:1.5}
 .world-page .world-intro{padding-top:calc(var(--mobile-header-height,72px) + 40px)}
 .worlds-flow .world-journey{height:auto;padding-top:var(--mobile-header-height,72px)}
 .worlds-flow .world-pin{position:relative;top:auto;height:auto;overflow:visible}
 .worlds-flow .world-pin:after{display:none}
 .worlds-flow .world-stage{--world-art-height:clamp(150px,32svh,340px);--world-tabs-height:52px;position:sticky;inset:auto;top:var(--mobile-header-height,72px);height:calc(var(--world-art-height) + var(--world-tabs-height));width:100%;z-index:20;overflow:hidden;pointer-events:auto;background:#11171b;border-bottom:1px solid #50616b}
 .worlds-flow .universe-canvas{inset:0 0 auto;height:var(--world-art-height);width:100%}
 .worlds-flow .world-backdrops{bottom:var(--world-tabs-height)}
 .worlds-flow .world-backdrops:after{background:linear-gradient(0deg,#11171b33,transparent 40%)}
 .worlds-flow .world-art img{height:100%;object-position:50% 62%}
 .worlds-flow .world-chapters{inset:auto 0 0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;height:var(--world-tabs-height);padding:0 max(6px,env(safe-area-inset-right,0px)) 0 max(6px,env(safe-area-inset-left,0px));background:#12232c;font-size:11px}
 .worlds-flow .world-chapters a{justify-content:center;align-items:center;gap:0;min-width:44px;min-height:44px;padding:5px 2px;text-align:center;font-size:11px;line-height:1.2;opacity:.8;border-bottom-width:2px}
 .worlds-flow .world-chapters a>span,.worlds-flow .world-chapters .chapter-name{display:none}
 .worlds-flow .world-chapters a:after{content:attr(data-short)}
 .worlds-flow .world-chapters a[aria-current]{background:#ffffff0a;opacity:1}
 .worlds-flow .world-scene{position:relative;inset:auto;display:block;min-height:calc(100svh - var(--mobile-header-height,72px) - clamp(150px,32svh,340px) - 52px);padding:32px var(--pad) 42px;opacity:1;transform:none;pointer-events:auto;overflow:visible;background:#111c23;border-bottom:1px solid #ffffff19;will-change:auto}
 .worlds-flow .world-scene:before{display:none}
 .worlds-flow .world-copy,.worlds-flow .world-intro .world-copy{width:100%;max-width:620px;margin:0 auto;padding:0}
 .worlds-flow .designer-signature{font-size:10px;line-height:1.6;letter-spacing:.07em}
 .worlds-flow .world-overline{font-size:10px;line-height:1.6;letter-spacing:.06em}
 .worlds-flow .world-scene h1,.worlds-flow .world-scene h2{font-size:clamp(36px,9.8vw,76px);line-height:1.07;margin:20px 0 22px;letter-spacing:-.055em}
 .worlds-flow .world-description{max-width:520px;font-size:14px;line-height:1.75}
 .worlds-flow .world-tags{display:flex;gap:7px 14px;margin:22px 0}
 .worlds-flow .world-tags li{font-size:11px;white-space:normal;line-height:1.5}
 .worlds-flow .world-tags li+li:before{margin-right:14px}
 .worlds-flow .world-bridge{display:block;max-width:none;margin-top:22px;font-size:12px;line-height:1.7}
 .worlds-flow .world-proof{display:inline-flex;margin-top:8px;padding:8px 0;opacity:1;color:#d4e2df}
 .worlds-flow .world-actions{gap:8px 20px;margin-top:24px}
 .worlds-flow .world-copy>.world-button{margin-top:0;max-width:100%}
 .worlds-flow .intro-footer{position:static;max-width:620px;margin:24px auto 0;justify-content:flex-start}
 .worlds-flow .intro-footer p{display:none}
 .worlds-flow .intro-footer>a{margin:0;max-width:none;min-height:44px;font-size:11px}
 .worlds-flow .intro-footer b{width:36px;min-width:36px;height:36px}
 .worlds-flow .world-image-note{position:static;max-width:620px;margin:28px auto 0;font-size:9px;line-height:1.6;text-shadow:none;color:#bfcac9}
 .worlds-flow .world-progress{display:none}
 .world-page .world-scene{scroll-margin-top:calc(var(--mobile-header-height,72px) + 16px)}
}
@media(max-width:1000px) and (max-height:500px){
 .worlds-flow .world-stage{--world-art-height:clamp(96px,27svh,140px);--world-tabs-height:44px}
 .worlds-flow .world-scene{min-height:0;padding-top:26px;padding-bottom:34px}
 .worlds-flow .world-scene h1,.worlds-flow .world-scene h2{font-size:clamp(36px,6.5vw,58px)}
}
