/*!
 * UMPA Rotions for Elementor — Design stylesheet
 * @author    7egments.at <office@7egments.at>
 * @copyright (c) 2026 7egments.at — All rights reserved.
 * @package   umpa-rotions-elementor
 * Source: approved Rotions website design (desktop build, review pass).
 */
/* ---- core ---- */
:root{--ink:#15171b;--muted:#707780;--paper:#f8f9fa;--accent:#007d8b;--cyan:#7be2e9;--line:rgba(19,28,37,.11);--max:1240px;--ease:cubic-bezier(.2,.7,.2,1);--scroll:0}
*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth;scroll-padding-top:118px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}body:has(dialog[open]){overflow:hidden}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button{border:0}h1,h2,h3,p{margin:0}svg{display:block}::selection{background:#a7e8eb;color:#0b3138}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible,canvas:focus-visible{outline:3px solid #008d9d;outline-offset:5px}button:disabled{cursor:not-allowed;opacity:.45}.wrap{width:min(var(--max),calc(100% - 112px));margin-inline:auto}.muted{color:var(--muted)}.kicker{font-size:11px;line-height:1.5;letter-spacing:.17em;font-weight:600;text-transform:uppercase}.skip-link{position:fixed;top:-80px;left:20px;z-index:100;padding:16px 22px;border-radius:12px;background:white}.skip-link:focus{top:12px}.icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}.progress-line{position:fixed;top:0;left:0;width:100%;height:2px;z-index:100;background:#16aab7;transform:scaleX(var(--scroll));transform-origin:left;pointer-events:none}
/* Quiet, floating navigation. */
.header{position:fixed;inset:20px 0 auto;z-index:40;pointer-events:none}.nav{max-width:var(--max);width:calc(100% - 80px);margin:auto;height:66px;padding:0 19px 0 25px;border:1px solid rgba(255,255,255,.8);border-radius:20px;background:rgba(253,254,255,.78);box-shadow:0 5px 30px rgba(25,38,52,.045),0 0 0 1px rgba(20,30,40,.035);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);display:flex;align-items:center;gap:38px;pointer-events:auto}.brand{display:flex;align-items:center;gap:10px;letter-spacing:-1.3px;font-size:28px;font-weight:700;line-height:1}.brand-mark{width:27px;height:29px;fill:currentColor}.brand-mark path{fill:currentColor}.navlinks{display:flex;align-items:center;gap:30px;font-size:12px;font-weight:500;margin-left:auto}.navlinks>a{padding:13px 0;color:#44494f;transition:color .2s}.navlinks>a:hover{color:#008995}.pill{display:inline-flex;align-items:center;justify-content:center;gap:13px;min-height:49px;padding:0 24px;border:1px solid transparent;border-radius:100px;font-size:13px;font-weight:500;background:var(--ink);color:#fff;transition:transform .35s var(--ease),box-shadow .35s,background .35s}.pill:hover{background:#30343a;transform:translateY(-2px);box-shadow:0 9px 24px #11242d14}.pill.nav-cta{min-height:39px;font-size:11px;padding:0 18px}.pill.white{background:#f8fafb;color:#11171c}.pill.white:hover{background:white}.pill.soft{background:#e9edef;color:#1a2229}.pill.outline{border-color:#cdd4d8;color:var(--ink);background:transparent}.text-link{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:#355a60;padding:12px 0}.text-link:hover .icon{transform:translateX(3px)}.text-link .icon{transition:transform .2s}.menu-toggle{display:none;background:transparent;padding:10px;border-radius:12px;margin-left:auto}.menu-toggle .icon{width:23px;height:23px}
.header.on-dark .nav{background:rgba(18,25,33,.78);border-color:rgba(214,241,252,.12);box-shadow:0 4px 25px #0001;color:#d8e8f0}.header.on-dark .navlinks>a{color:#98b0bf}.header.on-dark .navlinks>a:hover{color:#d9f4ff}.header.on-dark .nav-cta{background:#dbe8ef;color:#142631}.header.on-dark .nav-cta:hover{background:white}.nav{transition:background .5s,color .5s,border-color .5s}
/* Opening object study. */
.hero{position:relative;min-height:960px;height:100svh;max-height:1200px;overflow:hidden;background:radial-gradient(ellipse 45% 40% at 50% 70%,#e9f0f3 0%,transparent 100%),#f8f9fa}.hero-copy{position:relative;z-index:3;text-align:center;padding-top:145px;margin:auto;max-width:1200px;pointer-events:none;transform:translateY(var(--hero-y,0));opacity:var(--hero-opacity,1)}.hero .kicker{color:#68727c;margin-bottom:24px;font-size:10px}.hero h1{font-size:clamp(64px,6.75vw,106px);line-height:1.035;letter-spacing:-.063em;font-weight:600}.hero h1 span{display:block}.metal{color:#727a84;background:linear-gradient(115deg,#848d98 3%,#35414c 43%,#858f9d 88%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.hero-desc{margin:23px auto 0;font-size:16px;line-height:1.65;color:#7a8189;max-width:510px}.hero-scene{position:absolute;top:493px;bottom:125px;left:0;right:0;pointer-events:none}.hero-scene canvas{display:block;width:100%;height:100%}.hero-side{position:absolute;top:63%;font-size:9px;color:#707a85;line-height:1.9;letter-spacing:.1em;text-transform:uppercase}.hero-side.left{left:max(56px,calc((100vw - var(--max))/2))}.hero-side.right{right:max(56px,calc((100vw - var(--max))/2));text-align:right}.hero-side b{display:block;color:#273d49;font-size:10px;font-weight:600;letter-spacing:.08em}.hero-side:before{content:'';display:block;width:29px;height:1px;background:#a7b4bc;margin:0 0 12px}.hero-side.right:before{margin-left:auto}.hero-bottom{position:absolute;z-index:3;bottom:52px;left:0;right:0;display:flex;justify-content:center;align-items:center;gap:22px}.down-link{background:transparent;display:flex;align-items:center;gap:10px;font-size:12px;color:#67727d;padding:13px}.down-link .icon{width:16px;height:16px}.hero-caption{position:absolute;bottom:15px;left:0;right:0;text-align:center;font-size:9px;color:#929aa1;letter-spacing:.055em}.hero-line{position:absolute;left:50%;bottom:107px;height:39px;width:1px;background:linear-gradient(transparent,#a3b6bf);opacity:.7}
/* Scroll-driven digital transformation, without taking over native scrolling. */
.story{height:330svh;position:relative;background:#090c11;color:white}.story-sticky{position:sticky;top:0;height:100svh;min-height:600px;overflow:hidden;background:radial-gradient(ellipse 43% 54% at 72% 55%,#12232d 0%,#0b1016 65%,#090c11 100%)}.story-top{position:absolute;top:130px;left:0;right:0;display:flex;align-items:center;justify-content:space-between;z-index:3}.story-top .kicker{color:#798791;font-size:10px}.story-skip{font-size:10px;color:#a6b1b9;display:flex;align-items:center;gap:9px;padding:12px 0}.story-skip:hover{color:white}.story-skip .icon{width:13px;height:13px}.story-canvas{position:absolute;inset:0;display:block;width:100%;height:100%;opacity:1}.story-copy{position:absolute;inset:0;pointer-events:none}.phase{position:absolute;top:33%;left:max(56px,calc((100vw - var(--max))/2));width:440px;max-width:36%;opacity:0;transform:translateY(24px);transition:opacity .55s var(--ease),transform .7s var(--ease);pointer-events:none}.phase.active{opacity:1;transform:translateY(0)}.phase .phase-index{font-size:10px;color:#93dce4;letter-spacing:.16em;font-weight:500;display:block;margin-bottom:27px}.phase h2{font-size:clamp(44px,5.3vw,77px);line-height:1.055;letter-spacing:-.055em;font-weight:500;white-space:normal}.phase h2 .silver{color:#9caebc}.phase p{font-size:14px;color:#91a0ac;line-height:1.85;max-width:310px;margin-top:25px}.story-bottom{position:absolute;bottom:57px;left:0;right:0;z-index:3;display:flex;align-items:flex-end;justify-content:space-between;gap:36px}.chapters{display:flex;gap:12px;max-width:470px;width:43%}.chapter{flex:1;color:#84949f;background:transparent;text-align:left;padding:16px 0 3px;font-size:10px;position:relative;white-space:nowrap}.chapter:before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:#283139}.chapter:after{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:#78d9e5;transform:scaleX(var(--fill,0));transform-origin:left}.chapter.active{color:#d6edf2}.chapter b{margin-right:7px;font-weight:400;color:#7b8a92}.story-result{text-align:right;max-width:310px;font-size:10px;color:#6f828d;line-height:1.8;letter-spacing:.04em}.story-result strong{color:#b8c8d1;font-weight:400;font-size:12px;display:block;letter-spacing:0;margin-bottom:5px}.story-static{display:none}
/* Big, legible editorial type. */
.manifesto{padding:157px 0 150px;background:#fff}.manifesto .kicker{color:#687580;margin-bottom:41px}.manifesto h2{font-size:clamp(38px,4.4vw,63px);line-height:1.15;letter-spacing:-.046em;font-weight:500;max-width:1080px}.word{color:#bec4c9;transition:color .45s}.word.lit{color:#20252b}.word.accent.lit{color:#007f8e}.manifesto-bottom{display:flex;justify-content:space-between;gap:45px;align-items:flex-end;margin-top:53px}.manifesto-bottom p{font-size:14px;line-height:1.85;color:#7a828a;max-width:405px}.manifesto-rule{height:1px;background:#e9edef;flex:1;max-width:370px;align-self:center;margin-left:auto}.manifesto-small{font-size:9px!important;letter-spacing:.1em;text-transform:uppercase;max-width:200px!important}
/* Large product-style feature cards. */
.services{padding:118px 0 125px;background:#f3f5f6}.section-top{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:51px}.section-top .kicker{color:#737d87;margin-bottom:22px}.section-title{font-size:clamp(40px,4.4vw,64px);letter-spacing:-.053em;line-height:1.06;font-weight:500}.section-top>p{max-width:270px;color:#7a828b;font-size:14px;line-height:1.8}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service-card{position:relative;border:1px solid #e9edef;background:#fafcfd;border-radius:28px;overflow:hidden;min-height:492px;transition:transform .6s var(--ease),box-shadow .6s var(--ease)}.service-card:hover{transform:translateY(-7px);box-shadow:0 25px 45px #1525340b}.service-card.dark{background:#10161e;border-color:#19242e;color:#eef7ff}.card-copy{position:relative;padding:31px 28px 0;z-index:2}.card-copy .kicker{font-size:9px;letter-spacing:.12em;color:#778894;margin-bottom:19px}.service-card.dark .kicker{color:#819ba9}.card-copy h3{font-size:31px;line-height:1.08;letter-spacing:-.04em;font-weight:500;max-width:250px}.card-copy h3 span{color:#909aa2}.service-card.dark h3 span{color:#87a1b2}.card-canvas{position:absolute;top:159px;left:0;width:100%;height:272px}.card-foot{position:absolute;bottom:25px;left:28px;right:25px;display:flex;align-items:center;justify-content:space-between;gap:16px}.card-foot p{max-width:235px;font-size:11px;line-height:1.65;color:#7a858e}.service-card.dark .card-foot p{color:#95a8b7}.round{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#e7ecef;color:#33434d;flex:none;transition:transform .3s,background .3s}.round:hover{background:#d8e4e8;transform:rotate(90deg)}.dark .round{background:#28343e;color:#bdd5e2}.round .icon{width:16px;height:16px}.service-note{margin-top:23px;font-size:10px;line-height:1.7;color:#88919b;text-align:right}
/* Model studio. */
.studio{padding:142px 0 133px;background:white}.studio .section-top{margin-bottom:48px}.studio-stage{height:670px;border-radius:30px;position:relative;isolation:isolate;background:radial-gradient(ellipse at 50% 54%,#edf2f4,transparent 65%),#f4f6f7;border:1px solid #e8edef;overflow:hidden}.studio-toolbar{position:absolute;left:31px;right:31px;top:25px;display:flex;align-items:center;justify-content:space-between;gap:16px;z-index:3}.studio-title{font-size:9px;font-weight:500;letter-spacing:.14em;color:#7c8a95;line-height:1.9}.studio-title b{display:block;color:#243945;letter-spacing:.06em;font-weight:500;font-size:11px}.segments{display:flex;padding:5px;background:#e5e9ec;border:1px solid #dce2e6;border-radius:100px;gap:3px}.segments button{padding:10px 16px;font-size:11px;line-height:1.4;border-radius:100px;background:transparent;color:#6b7c87;transition:background .3s,box-shadow .3s,color .3s}.segments button[aria-pressed=true]{background:white;color:#243642;box-shadow:0 2px 7px #172b3a14}.segments button:hover{color:#1a3443}.studio-canvas{display:block;width:100%;height:100%;touch-action:pan-y;cursor:grab;outline-offset:-8px!important}.studio-canvas:active{cursor:grabbing}.studio-bottom{position:absolute;left:31px;right:31px;bottom:26px;display:flex;align-items:flex-end;justify-content:space-between;gap:25px;z-index:3;pointer-events:none}.studio-hint{font-size:10px;color:#82929b;display:flex;align-items:center;gap:8px;line-height:1.8}.studio-hint .icon{width:16px;height:16px}.rotate-tools{display:flex;gap:7px;pointer-events:auto}.rotate-tools button{height:36px;min-width:36px;border:1px solid #dce2e6;background:#ffffffb8;border-radius:50%;color:#5a7180;display:flex;align-items:center;justify-content:center}.rotate-tools button:hover{background:white;color:#153748}.rotate-tools button .icon{width:16px;height:16px}.explosion{pointer-events:auto;min-width:200px;max-width:300px;background:#ffffffc9;padding:11px 17px;border:1px solid #e0e6ea;border-radius:15px;backdrop-filter:blur(10px)}.explosion label{display:flex;justify-content:space-between;gap:20px;color:#71828e;font-size:10px;margin-bottom:5px}.explosion input{width:100%;accent-color:#037e8f;cursor:pointer;display:block}.explosion[hidden]{display:none}.studio-note{display:flex;gap:20px;justify-content:space-between;align-items:flex-start;margin:22px 5px 0;font-size:10px;line-height:1.8;color:#8c969f}.studio-note b{color:#5f727f;font-weight:400}.studio-note span:last-child{text-align:right}
/* Process and contact. */
.process{padding:118px 0 128px;background:#f5f7f8;border-top:1px solid #edf0f2}.process-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:start}.process .kicker{color:#7b8790;margin-bottom:25px}.process-copy p{max-width:320px;font-size:14px;line-height:1.85;color:#7c8790;margin-top:28px}.steps{padding-top:0}.step{border-bottom:1px solid #dfe5e9}.step:first-child{border-top:1px solid #dfe5e9}.step summary{list-style:none;display:flex;align-items:center;gap:22px;padding:28px 0;cursor:pointer;font-size:18px;letter-spacing:-.02em}.step summary::-webkit-details-marker{display:none}.step summary .num{font-size:10px;letter-spacing:.08em;color:#8497a3}.step summary .plus{font-size:21px;line-height:1;margin-left:auto;transition:transform .3s;color:#7b909c;font-weight:300}.step[open] summary .plus{transform:rotate(45deg)}.step p{padding:0 30px 28px 38px;font-size:13px;line-height:1.9;color:#74828c}.contact{background:#0b1016;color:#f4f6f8;overflow:hidden;position:relative;padding:132px 0 118px}.contact:before{content:'';position:absolute;width:720px;height:550px;right:-140px;bottom:-360px;background:radial-gradient(ellipse,#164454 0%,transparent 68%);pointer-events:none}.contact .wrap{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:flex-end;gap:80px}.contact .kicker{color:#80bdc7;margin-bottom:31px}.contact h2{font-size:clamp(58px,7.1vw,103px);line-height:1.02;letter-spacing:-.065em;font-weight:500}.contact h2 span{color:#8495a3}.contact-right{max-width:336px;padding-bottom:8px}.contact-right>p{font-size:15px;line-height:1.9;color:#98a6b1;margin-bottom:32px}.contact-right small{display:block;font-size:10px;color:#6c7f8c;margin-top:15px}.footer{background:#0b1016;color:#83929e;padding:0 0 38px}.footer-row{border-top:1px solid #232d36;padding-top:31px;display:flex;justify-content:space-between;gap:40px;align-items:flex-start}.footer .brand{font-size:26px;color:#e1e6eb;letter-spacing:-1.3px}.footer p{font-size:10px;line-height:1.9}.footer-links{display:flex;gap:23px;flex-wrap:wrap;font-size:10px;justify-content:flex-end}.footer-links button{padding:0;background:none;color:#8697a4;font-size:10px;text-decoration:underline;text-underline-offset:3px}.footer-links button:hover{color:white}.draft-controls{position:fixed;z-index:35;left:22px;bottom:19px;display:flex;gap:7px;align-items:center}.draft-tag{font-size:8px;letter-spacing:.08em;color:#506974;display:flex;align-items:center;gap:6px;padding:9px 11px;border:1px solid #fff8;border-radius:50px;background:#f2f8fad9;backdrop-filter:blur(15px);box-shadow:0 2px 18px #112b3410;pointer-events:none}.draft-tag:before{content:'';width:4px;height:4px;border-radius:50%;background:#197e88}.motion-toggle{border:1px solid #fff8;background:#f2f8fad9;color:#55707b;backdrop-filter:blur(15px);width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%}.motion-toggle .icon{width:12px;height:12px}.motion-toggle[aria-pressed=true]{background:#dbecef}
/* Dialogs keep every CTA useful without pretending to send a real request. */
dialog{border:1px solid #e3e9ed;border-radius:27px;padding:45px;width:min(620px,calc(100% - 32px));max-height:85dvh;overflow:auto;color:var(--ink);background:#fcfdfe;box-shadow:0 30px 100px #02070d30}dialog::backdrop{background:#0a101985;backdrop-filter:blur(12px)}.dialog-close{position:absolute;right:16px;top:16px;background:#eaf0f3;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center}.dialog-close .icon{width:14px;height:14px}.dialog-kicker{font-size:10px;letter-spacing:.12em;color:#607c8b;margin-bottom:20px;text-transform:uppercase}dialog h2{font-size:36px;line-height:1.1;letter-spacing:-.04em;font-weight:500;padding-right:20px;margin-bottom:22px}dialog p{color:#70828d;font-size:14px;line-height:1.9}dialog .dialog-detail{margin-top:18px;padding-top:18px;border-top:1px solid #e3e9ec;font-size:12px}dialog .pill{margin-top:27px}.form{margin-top:25px}.form fieldset{border:0;padding:0;margin:0 0 22px}.form legend{font-size:11px;margin-bottom:11px;color:#5c7180}.choices{display:flex;gap:7px;flex-wrap:wrap}.choices input{position:absolute;opacity:0;width:1px;height:1px}.choices label{display:block;font-size:10px;padding:10px 12px;border:1px solid #d6e1e7;border-radius:100px;cursor:pointer;color:#587180}.choices input:checked+label{background:#dbecef;border-color:#adcdd4;color:#175d6c}.choices input:focus-visible+label{outline:3px solid #008d9d;outline-offset:3px}.form-fields{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field{margin-bottom:16px}.field label{display:block;font-size:11px;color:#5e7482;margin-bottom:8px}.field input,.field textarea{width:100%;border:1px solid #d8e2e7;background:white;border-radius:11px;padding:12px;font-size:13px;color:#233a48;min-width:0}.field textarea{min-height:88px;resize:vertical}.form .pill{margin-top:0;min-height:44px}.form-note{font-size:10px!important;margin-top:14px!important;line-height:1.8!important}.form-message{border:1px solid #b4d6d8;background:#e2f3f3;color:#24616a;padding:15px;border-radius:12px;font-size:12px;line-height:1.8;margin-top:18px}.form-message[hidden]{display:none}
/* Progressive enhancement: all content stays visible without JavaScript. */
html.motion-ready .reveal{opacity:0;transform:translateY(35px);transition:opacity .85s var(--ease),transform 1s var(--ease)}html.motion-ready .reveal.in{opacity:1;transform:translateY(0)}html.motion-ready .reveal.delay-1{transition-delay:.1s}html.motion-ready .reveal.delay-2{transition-delay:.2s}.no-canvas{position:absolute;inset:26% 16%;display:grid;place-items:center;color:#7a8f99;border:1px solid #a5bec466;border-radius:22px;text-align:center;padding:30px;font-size:16px;line-height:1.8}
@media(min-width:1600px){.hero-scene{top:490px}.hero-copy{padding-top:174px}.hero{height:1100px;min-height:1100px}.story-canvas{max-width:1800px;left:50%;transform:translateX(-50%)}.phase{max-width:33%}}
@media(max-width:1100px){.wrap{width:calc(100% - 72px)}.hero{min-height:940px}.hero-copy{padding-top:153px}.hero h1{font-size:80px}.hero-scene{top:453px;bottom:116px}.hero-side{top:65%}.hero-side.left{left:36px}.hero-side.right{right:36px}.hero-side b{font-size:9px}.hero-side{font-size:8px}.phase{left:36px;max-width:40%;width:380px}.phase h2{font-size:60px}.phase p{font-size:13px;max-width:280px}.card-copy{padding:28px 23px 0}.card-copy h3{font-size:27px}.card-foot{left:23px;right:19px;bottom:21px}.card-foot p{font-size:10px}.service-card{min-height:465px}.card-canvas{top:149px;height:258px}.service-grid{gap:14px}.process-grid{gap:65px}.contact .wrap{gap:55px}.studio-stage{height:590px}.hero-desc{font-size:15px}.navlinks{gap:22px}.nav{gap:24px}}
@media(max-width:800px){.nav{width:calc(100% - 32px);height:61px;padding:0 13px 0 18px;border-radius:18px;gap:16px}.header{top:13px}.brand{font-size:26px}.brand-mark{width:24px;height:26px}.navlinks{gap:16px;font-size:11px}.nav-cta .icon{display:none}.nav-cta{padding:0 15px!important}.wrap{width:calc(100% - 48px)}.hero{min-height:870px;height:100svh;max-height:1000px}.hero h1{font-size:66px}.hero-copy{padding:140px 24px 0}.hero .kicker{font-size:8px}.hero-desc{font-size:14px;max-width:410px}.hero-scene{top:422px;bottom:123px}.hero-side{top:76%;line-height:1.6}.hero-side.left{left:26px}.hero-side.right{right:26px}.hero-side:before{display:none}.hero-caption{font-size:8px}.story{height:305svh}.story-top{top:108px}.story-top .kicker{font-size:8px}.story-skip{font-size:9px}.phase{left:24px;top:28%;max-width:43%}.phase .phase-index{margin-bottom:20px}.phase h2{font-size:47px}.phase p{font-size:12px;max-width:225px;line-height:1.8;margin-top:22px}.chapters{width:53%;gap:13px}.story-result{font-size:8px}.story-result strong{font-size:10px}.chapter{font-size:9px}.story-bottom{bottom:56px;gap:24px}.manifesto{padding:108px 0}.manifesto h2{font-size:45px}.manifesto-bottom{gap:20px}.manifesto-rule{display:none}.manifesto-bottom p{font-size:13px;max-width:330px}.manifesto-small{font-size:8px!important;max-width:145px!important}.services{padding:95px 0}.section-title{font-size:48px}.section-top>p{font-size:12px;max-width:210px}.section-top{gap:24px}.service-grid{grid-template-columns:1fr}.service-card{min-height:365px}.card-copy{width:50%;padding:36px 30px 0}.card-copy h3{font-size:33px}.card-canvas{left:40%;top:0;width:60%;height:100%}.card-foot{left:30px;right:auto;width:38%;bottom:31px}.card-foot p{font-size:11px;max-width:215px}.service-note{text-align:left}.studio{padding:98px 0}.studio-stage{height:580px;border-radius:24px}.studio-toolbar{top:23px;left:23px;right:23px}.studio-title{font-size:8px}.segments button{font-size:10px;padding:10px 12px}.studio-bottom{left:23px;right:23px}.process{padding:90px 0}.process-grid{gap:40px}.process .section-title{font-size:43px}.step summary{font-size:15px;gap:15px;padding:25px 0}.step p{font-size:12px;padding-left:30px;padding-right:0}.process-copy p{font-size:12px}.contact{padding:96px 0}.contact .wrap{gap:35px}.contact h2{font-size:68px}.contact-right{max-width:270px}.contact-right>p{font-size:13px}.footer-row{gap:25px}.footer p{font-size:9px}.footer-links{gap:14px}.footer-links button{font-size:9px}.draft-controls{left:13px;bottom:12px}}
@media(max-width:600px){html{scroll-padding-top:100px}.wrap{width:calc(100% - 40px)}.navlinks{position:absolute;top:72px;left:16px;right:16px;display:none;background:#f9fcfdf5;backdrop-filter:blur(24px);border:1px solid #e0e8ec;border-radius:19px;padding:15px;box-shadow:0 18px 34px #132e381a;margin:0;gap:0}.header.on-dark .navlinks{background:#141d27f5;border-color:#283a48}.navlinks.open{display:flex;flex-direction:column;align-items:stretch}.navlinks>a{padding:15px;font-size:14px;border-radius:11px}.navlinks>a:hover{background:#eaf0f3}.menu-toggle{display:flex;align-items:center;justify-content:center;margin-left:auto}.nav .nav-cta{min-height:34px;font-size:10px;padding:0 14px!important}.nav{gap:5px;padding-right:11px;height:58px}.brand{font-size:24px;gap:8px}.brand-mark{width:22px;height:24px}.hero{height:850px;min-height:850px;max-height:none}.hero-copy{padding:130px 16px 0}.hero .kicker{font-size:7px;letter-spacing:.13em;margin-bottom:25px}.hero h1{font-size:clamp(42px,10.4vw,62px);line-height:1.08;letter-spacing:-.06em}.hero-desc{font-size:12px;line-height:1.8;max-width:292px;margin-top:24px}.hero-scene{top:340px;bottom:164px}.hero-side{top:auto;bottom:126px;max-width:45%;font-size:7px;line-height:1.6;letter-spacing:.045em}.hero-side.left{left:21px}.hero-side.right{right:21px}.hero-side b{font-size:8px;letter-spacing:.02em}.hero-bottom{bottom:58px;gap:4px}.hero-bottom .pill{padding:0 18px;font-size:11px;min-height:43px;gap:12px}.hero-bottom .down-link{font-size:10px;gap:7px}.hero-caption{bottom:156px;left:20px;right:20px;font-size:7px}.hero-line{display:none}.story{height:315svh}.story-sticky{min-height:660px}.story-top{top:109px;align-items:flex-start;gap:20px}.story-top .kicker{font-size:7px;max-width:200px}.story-skip{font-size:8px;padding-top:0;white-space:nowrap}.story-skip span{display:none}.phase{left:23px;top:171px;max-width:calc(100% - 46px);width:400px}.phase .phase-index{font-size:8px;margin-bottom:16px}.phase h2{font-size:43px;line-height:1.04;max-width:340px;letter-spacing:-.05em}.phase p{font-size:11px;line-height:1.8;max-width:290px;margin-top:18px}.story-bottom{bottom:60px;display:block}.chapters{width:100%;max-width:none;gap:19px}.chapter{font-size:9px}.story-result{margin-top:16px;text-align:left;max-width:100%;font-size:8px}.story-result strong{display:none}.manifesto{padding:80px 0 82px}.manifesto .kicker{font-size:8px;margin-bottom:29px}.manifesto h2{font-size:36px;line-height:1.16;letter-spacing:-.044em}.manifesto-bottom{display:block;margin-top:34px}.manifesto-bottom p{font-size:12px;line-height:1.9;max-width:340px}.manifesto-small{max-width:100%!important;margin-top:24px}.services{padding:79px 0 73px}.section-top{display:block;margin-bottom:32px}.section-top .kicker{font-size:8px;margin-bottom:22px}.section-title{font-size:43px}.section-top>p{max-width:290px;margin-top:20px;font-size:12px;line-height:1.8}.service-card{min-height:439px;border-radius:23px}.service-grid{gap:16px}.card-copy{padding:26px 25px 0;width:100%}.card-copy .kicker{font-size:8px;margin-bottom:17px}.card-copy h3{font-size:31px}.card-canvas{top:134px;left:0;width:100%;height:250px}.card-foot{left:25px;right:22px;width:auto;bottom:22px}.card-foot p{max-width:240px;font-size:10px}.service-note{font-size:9px;line-height:1.8}.studio{padding:82px 0 75px}.studio-stage{height:595px;border-radius:23px}.studio-toolbar{left:17px;right:17px;top:20px;display:block}.studio-title{font-size:7px;letter-spacing:.1em}.studio-title b{font-size:10px}.segments{margin-top:16px;display:flex;width:max-content;max-width:100%;padding:4px;gap:2px}.segments button{font-size:9px;padding:10px 12px}.studio-bottom{left:17px;right:17px;bottom:20px;align-items:flex-end;gap:10px;flex-wrap:wrap}.studio-hint{font-size:8px;max-width:150px;line-height:1.7}.rotate-tools{gap:5px}.rotate-tools button{min-width:31px;height:31px}.explosion{order:-1;min-width:100%;max-width:100%;padding:10px 12px}.explosion label{font-size:9px}.studio-note{display:block;font-size:9px;margin-top:18px}.studio-note span{display:block}.studio-note span:last-child{text-align:left;margin-top:8px}.process{padding:77px 0}.process-grid{grid-template-columns:1fr;gap:35px}.process .kicker{font-size:8px}.process .section-title{font-size:42px}.process-copy p{max-width:320px;font-size:12px;margin-top:22px}.step summary{font-size:16px;padding:25px 0}.step p{padding-left:32px;max-width:340px}.contact{padding:80px 0 75px}.contact .wrap{display:block}.contact .kicker{font-size:8px;margin-bottom:27px}.contact h2{font-size:69px;letter-spacing:-.06em}.contact-right{margin-top:32px;max-width:310px}.contact-right>p{font-size:13px;margin-bottom:26px}.contact-right small{font-size:9px}.contact-right .pill{min-height:45px;font-size:12px}.footer{padding-bottom:76px}.footer-row{display:flex;flex-wrap:wrap;gap:24px;align-items:flex-start;padding-top:27px}.footer .brand{font-size:25px;width:100%}.footer p{max-width:55%;font-size:9px}.footer-links{margin-left:auto;max-width:42%;justify-content:flex-end;row-gap:10px;column-gap:13px}.draft-tag{font-size:7px;padding:8px 9px}.motion-toggle{height:27px;width:27px}dialog{padding:37px 25px;border-radius:23px}dialog h2{font-size:31px}dialog p{font-size:13px}.form-fields{grid-template-columns:1fr;gap:0}}
@media(max-width:360px){.hero h1{font-size:38px}.hero .kicker{font-size:6px}.nav-cta{display:none!important}.hero-desc{max-width:260px}.hero{height:800px;min-height:800px}.phase h2{font-size:38px}.phase p{max-width:260px}.studio-toolbar .segments button{padding:10px 9px}.contact h2{font-size:61px}.section-title{font-size:39px}.manifesto h2{font-size:33px}.hero-side{font-size:6px}.hero-side b{font-size:7px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.hero-copy{transform:none!important;opacity:1!important}.reveal{opacity:1!important;transform:none!important}}
html.reduce-motion{scroll-behavior:auto}html.reduce-motion .hero-copy{transform:none!important;opacity:1!important}html.reduce-motion *,html.reduce-motion *:before,html.reduce-motion *:after{transition-duration:.01ms!important;animation-duration:.01ms!important}html.reduce-motion .reveal{opacity:1!important;transform:none!important}
@media print{.header,.draft-controls,.progress-line,.hero-bottom,.story-top,.story-bottom{display:none}body{background:white}.hero{height:800px;min-height:800px}.hero-copy{opacity:1!important;transform:none!important}.story{height:auto}.story-sticky{height:auto;min-height:0;background:#fff!important;color:black}.story-canvas,.story-copy{display:none}.story-static{display:block;padding:40px}.story-static p{margin:20px 0}.reveal{opacity:1!important;transform:none!important}.contact{break-inside:avoid}.word{color:#20252b}.manifesto,.studio,.services,.process{padding:50px 0}}
@media(max-width:600px) and (max-height:740px){.story-sticky{min-height:640px}.story-top{top:96px}.phase{top:145px}.phase h2{font-size:36px}.phase p{margin-top:15px;font-size:10px;max-width:295px}.phase .phase-index{margin-bottom:12px}.story-bottom{bottom:41px}.story-result{font-size:7px;margin-top:13px}}

/* ROTIONS / Presentation 03. A local, network-isolated review build. */
.hero .kicker{font-size:11px;letter-spacing:.19em}.hero-desc{max-width:620px}.hero h1{font-size:clamp(64px,7.1vw,108px)}
.hero-caption{font-size:9px}.navlinks{gap:23px}.story-result{max-width:345px;font-size:8px}.phase p{max-width:335px}
.cloud-feature{padding:0 0 115px;background:#fff}.cloud-shell{position:relative;overflow:hidden;background:#0c141c;color:#eef8fb;border:1px solid #172934;border-radius:32px;min-height:605px;display:grid;grid-template-columns:1fr 1fr;align-items:center;isolation:isolate}
.cloud-shell:after{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse 50% 75% at 85% 60%,#153c4777,transparent)}
.cloud-copy{padding:64px 0 65px 53px;position:relative;z-index:2}.cloud-copy .kicker{color:#80b4c3;font-size:9px;letter-spacing:.15em;margin-bottom:28px}.cloud-copy h2{font-size:clamp(40px,4vw,58px);line-height:1.07;letter-spacing:-.055em;font-weight:500}.cloud-copy h2 span{color:#91b0be}.cloud-copy>p:not(.kicker){max-width:367px;color:#a1b4c0;font-size:14px;line-height:1.85;margin:25px 0 0}.cloud-tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:23px;max-width:370px}.cloud-tags span{font-size:9px;padding:8px 10px;color:#b3d2dd;border:1px solid #304952;border-radius:100px}.cloud-copy .pill{margin-top:30px;font-size:12px;min-height:46px}.cloud-object{align-self:stretch;position:relative;min-height:510px;overflow:hidden}.cloud-object canvas{width:100%;height:100%;position:absolute;inset:0}.cloud-object-caption{position:absolute;left:34px;top:33px;right:30px;z-index:2;font-size:8px;letter-spacing:.1em;color:#7299a8;display:flex;align-items:center;gap:8px}.live-dot{display:inline-block;width:5px;height:5px;background:#79d6dc;border-radius:50%;flex:none}.cloud-object-bottom{position:absolute;bottom:30px;left:34px;right:30px;display:flex;justify-content:space-between;gap:16px;color:#7394a2;font-size:8px;letter-spacing:.025em}.delivery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;padding:47px 20px 0}.delivery-index{font-size:10px;color:#037f8e;letter-spacing:.12em}.delivery-grid h3{font-size:20px;font-weight:500;letter-spacing:-.025em;margin:17px 0 12px}.delivery-grid p{font-size:12px;line-height:1.8;color:#74818b;max-width:310px}.service-card .card-copy h3{font-size:29px}.studio .section-title{max-width:610px;line-height:1.08}.studio .section-top{gap:65px}.studio .section-top>p{max-width:320px}.services{padding-top:100px}
.vr-section{padding:0 0 112px;background:#fff}.vr-panel{background:linear-gradient(125deg,#e5f0f2 0%,#f2f7f8 53%,#f6f8f9 100%);border:1px solid #e5ecef;border-radius:32px;min-height:525px;display:grid;grid-template-columns:1fr 1fr;overflow:hidden;position:relative}.vr-copy{padding:67px 54px 58px 22px;align-self:center;z-index:2}.pilot-badge{display:inline-flex;align-items:center;gap:8px;background:#e4edef;border:1px solid #cbdde2;color:#477481;border-radius:99px;font-size:8px;font-weight:500;letter-spacing:.08em;padding:9px 12px}.pilot-badge>span{height:5px;width:5px;background:#208295;border-radius:50%}.vr-copy h2{font-weight:500;letter-spacing:-.05em;line-height:1.08;font-size:clamp(38px,3.7vw,55px);margin:25px 0 20px}.vr-copy h2 span{color:#8095a0}.vr-copy p{font-size:13px;color:#71838c;line-height:1.9;max-width:410px}.vr-copy .pill{margin-top:26px;font-size:11px}.vr-copy small{display:block;font-size:9px;line-height:1.7;color:#84969e;margin-top:15px}.vr-art{position:relative;min-height:525px;overflow:hidden;isolation:isolate}.vr-visor{position:absolute;width:310px;height:160px;left:50%;top:49%;transform:translate(-50%,-50%) rotate(-11deg);border-radius:57px 57px 70px 70px;background:linear-gradient(150deg,#fff 5%,#d2e0e5 65%,#9fb4be 100%);border:1px solid #cedee4;box-shadow:0 31px 28px #314d6326,inset 1px 2px 1px #fff,inset -5px -8px 13px #93aeb970}.vr-visor:before{content:'';position:absolute;inset:14px 17px 21px;background:linear-gradient(130deg,#122c39,#163f4f 50%,#477a87);border-radius:39px 39px 51px 51px;box-shadow:inset 1px 3px 10px #051421bb;border:1px solid #5a838e}.vr-visor:after{content:'';position:absolute;left:24px;right:26px;top:20px;height:60px;border-radius:45px;background:linear-gradient(155deg,#aac9cd44,transparent 75%);transform:skew(-10deg)}.vr-lens{position:absolute;z-index:2;border:1px solid #7ab5c044;box-shadow:0 0 20px #7ad3e31c,inset 0 0 19px #84d7e91c;width:74px;height:74px;border-radius:50%;top:35px;background:radial-gradient(circle at 40% 30%,#7dd9e91f,transparent 70%)}.lens-left{left:50px}.lens-right{right:50px}.vr-bridge{position:absolute;z-index:3;bottom:13px;left:50%;transform:translateX(-50%);width:52px;height:35px;background:#b7cdd6;clip-path:polygon(0 100%,32% 0,68% 0,100% 100%);border-radius:12px}.vr-visor>span{position:absolute;font-size:8px;bottom:-58px;left:40px;right:40px;color:#7e9aa6;letter-spacing:.1em;text-align:center;transform:rotate(11deg)}.vr-orbit{border:1px solid #6a9cac25;position:absolute;top:50%;left:50%;border-radius:50%;width:460px;height:460px;transform:translate(-50%,-50%) rotateX(42deg) rotateZ(-20deg)}.orbit-b{width:350px;height:350px;border-style:dashed}.vr-grid{position:absolute;inset:65% 0 -100px;z-index:-1;background-image:linear-gradient(#8faeb614 1px,transparent 1px),linear-gradient(90deg,#8faeb614 1px,transparent 1px);background-size:35px 35px;transform:perspective(220px) rotateX(55deg);mask-image:linear-gradient(transparent,black,transparent)}.vr-art-note{position:absolute;bottom:29px;left:0;right:0;text-align:center;color:#8da3ad;font-size:7px;letter-spacing:.1em}
.faq{padding:115px 0 125px;background:#fff}.faq-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:120px}.faq .kicker{color:#7c8a94;font-size:10px;margin-bottom:24px}.faq-intro{font-size:14px;color:#7c8790;line-height:1.8;margin-top:26px}.faq-list details{border-bottom:1px solid #e2e9ed}.faq-list details:first-child{border-top:1px solid #e2e9ed}.faq-list summary{display:flex;justify-content:space-between;gap:24px;align-items:center;list-style:none;cursor:pointer;font-size:16px;letter-spacing:-.02em;padding:23px 0;line-height:1.5}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-size:21px;color:#7a8e99;transition:transform .2s}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{font-size:13px;line-height:1.9;color:#72818b;padding:0 30px 25px 0}.contact-mini{display:flex;gap:15px;flex-wrap:wrap;color:#6f9dab;font-size:9px;margin-top:27px}.contact-mini span:before{content:'+';margin-right:6px;color:#a6d4de}.review-toggle{border:1px solid #fff8;background:#f2f8fad9;color:#55707b;backdrop-filter:blur(15px);width:30px;height:30px;border-radius:50%;font-size:12px;font-family:Georgia,serif}.review-toggle:hover{background:white}.review-list{margin:15px 0 0;padding:0;list-style:none}.review-list li{padding:11px 0;border-bottom:1px solid #e5ecef;font-size:12px;line-height:1.7;color:#748590}.review-list strong{display:block;font-weight:500;color:#344b58}.footer-links{max-width:330px;row-gap:14px}
/* A real interaction flow; file selection is deliberately local until deployment. */
#contact-dialog{width:min(1010px,calc(100% - 44px));padding:0;border-radius:28px;max-height:min(880px,91dvh);border:1px solid #dfe8ed;overscroll-behavior:contain}#contact-dialog .dialog-close{z-index:8;top:17px;right:17px;background:#edf2f4;border:1px solid #e0e7eb}.enquiry-layout{display:grid;grid-template-columns:33% 67%;min-height:650px}.enquiry-aside{background:radial-gradient(ellipse at 0% 85%,#204852,#0d1822 70%);color:#eaf4f7;padding:35px 32px 30px;display:flex;flex-direction:column;justify-content:space-between;gap:36px;position:relative}.enquiry-aside .brand{font-size:29px;align-self:start}.enquiry-aside .kicker{font-size:8px;color:#76a4b4;margin-bottom:19px}.enquiry-aside h2{font-size:33px;line-height:1.09;letter-spacing:-.045em;font-weight:500;padding:0;margin:0 0 20px;color:#e3eff3}.enquiry-aside h2 span{color:#8bafbe}.enquiry-aside>div>p:not(.kicker){font-size:11px;line-height:1.9;color:#94b0bd;max-width:237px}.enquiry-progress{display:flex;flex-direction:column;gap:20px}.enquiry-progress>span{display:flex;align-items:center;gap:12px;color:#71909e;font-size:11px;transition:color .25s}.enquiry-progress>span b{width:25px;height:25px;display:grid;place-items:center;border:1px solid #36505c;border-radius:50%;font-size:9px;font-weight:400;transition:background .25s}.enquiry-progress>span[aria-current=step]{color:#e4f6f9}.enquiry-progress>span[aria-current=step] b{background:#d5edf0;border-color:#d5edf0;color:#204654}.enquiry-progress>span.done{color:#a4c8d1}.enquiry-aside-note{display:flex;align-items:center;gap:8px;font-size:8px;color:#7197a7;line-height:1.7}.enquiry-body{padding:42px 45px 30px;min-width:0}#contact-dialog .enquiry-body h2{font-size:34px;line-height:1.1;letter-spacing:-.04em;padding-right:15px;margin:0 0 13px;font-weight:500;outline:none}#contact-dialog .dialog-kicker{font-size:9px;letter-spacing:.1em;margin-bottom:17px;color:#63808e}.enquiry-intro{font-size:12px!important;line-height:1.7!important}.enquiry-body .form{margin-top:27px}.enquiry-body .form fieldset{margin-bottom:23px}.enquiry-body .form legend{color:#466573;font-size:10px}.enquiry-body .choices{gap:6px}.enquiry-body .choices label{font-size:10px;padding:10px 12px}.field label{display:flex;gap:5px;align-items:baseline}.field label small{margin-left:auto;color:#98a7af;font-size:9px;font-weight:400}.field label span{color:#007d8b}.field select{width:100%;border:1px solid #d8e2e7;background:#fff;border-radius:11px;padding:12px 26px 12px 12px;font-size:12px;color:#465f6e;min-width:0}.field input::placeholder,.field textarea::placeholder{color:#a0adb5;font-size:12px}.field input,.field textarea{font-size:13px}.field textarea{line-height:1.65;min-height:118px}.form-actions{display:flex;justify-content:flex-end;align-items:center;gap:14px;border-top:1px solid #e8edf0;padding-top:21px;margin-top:13px}.form-back{padding:12px 0;margin-right:auto;background:none;color:#607b89;font-size:12px}.form-back:hover{color:#06798a}.form-actions .pill{font-size:12px;min-height:44px;padding:0 21px;gap:13px}.form-bottom-note{border-top:1px solid #e8edf0;margin-top:20px;padding-top:14px;display:flex;align-items:flex-start;gap:17px}.form-bottom-note>span{font-size:9px;line-height:1.7;color:#95a4ad;max-width:315px}.form-bottom-note>button{margin-left:auto;flex:none;font-size:9px;color:#527b8a;text-decoration:underline;text-underline-offset:3px;background:none;padding:0;line-height:1.8}.upload-zone{border:1px dashed #bdcfd7;border-radius:17px;background:#f5f9fa;padding:29px 24px;text-align:center;transition:background .2s,border-color .2s}.upload-zone.drag-over{background:#e2f1f3;border-color:#008d9c}.upload-icon{width:42px;height:42px;margin:0 auto 14px;fill:none;stroke:#759ba8;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.upload-zone strong{display:block;font-size:17px;font-weight:500;letter-spacing:-.02em;color:#3c5968}.upload-zone>p{font-size:11px;line-height:1.8;margin:6px 0 17px}.upload-zone .pill{margin:0;font-size:10px;min-height:37px;padding:0 17px;background:#e1edef;color:#29586a}.upload-zone small{display:block;font-size:9px;color:#899da8;line-height:1.8;margin-top:14px}.file-list{list-style:none;padding:0;margin:15px 0 0;display:flex;flex-direction:column;gap:7px}.file-item{display:flex;align-items:center;gap:12px;border:1px solid #e0e9ed;background:#fff;border-radius:11px;padding:9px 11px;min-width:0}.file-thumb{width:42px;height:42px;object-fit:cover;border-radius:6px;border:1px solid #e8eef1;flex:none}.file-glyph{width:42px;height:42px;display:grid;place-items:center;background:#e9f1f4;border-radius:6px;font-size:9px;color:#5e8798;flex:none}.file-info{min-width:0;flex:1}.file-info strong{display:block;font-size:11px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;color:#3d5a6a}.file-info small{display:block;font-size:9px;color:#98a7b0;margin-top:5px}.remove-file{width:28px;height:28px;background:#f0f5f7;color:#6a8998;border-radius:50%;font-size:15px;flex:none}.remove-file:hover{background:#f6e7e5;color:#8c4d46}.upload-errors{font-size:11px;color:#964c42;background:#fcf0ed;border:1px solid #f2d7ce;border-radius:11px;padding:11px 13px;line-height:1.7;margin-top:12px}.upload-meta{display:flex;justify-content:space-between;gap:12px;font-size:9px;color:#8196a2;margin:14px 0}.local-file-note{font-size:10px!important;line-height:1.7!important;color:#98a6ae!important}.contact-preview-note{margin:14px 0 0;padding:18px 19px;background:#eef5f6;border:1px solid #deeaed;border-radius:13px}.contact-preview-note strong{font-size:12px;font-weight:500;color:#486d7b;display:block}.contact-preview-note p{font-size:11px;line-height:1.8;margin-top:8px}.privacy-preview{font-size:10px!important;line-height:1.8!important;margin-top:14px;color:#8b9da8!important}.enquiry-summary{border:1px solid #dde8ed;background:#f6f9fa;border-radius:15px;padding:6px 20px}.summary-row{padding:15px 0;border-bottom:1px solid #e1e9ed}.summary-row:last-child{border-bottom:0}.summary-row small{display:block;font-size:8px;letter-spacing:.08em;color:#8198a5;text-transform:uppercase;margin-bottom:7px}.summary-row div{font-size:12px;color:#3b5868;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}.summary-row .summary-files{display:flex;flex-wrap:wrap;gap:5px}.summary-files span{background:#e4eef2;border:1px solid #d7e4e9;border-radius:7px;padding:5px 8px;font-size:9px;max-width:100%;overflow-wrap:anywhere}.email-preview-note{margin:16px 0 0}.email-preview-note strong{font-size:11px;color:#4d7483;font-weight:500}.email-preview-note p{font-size:10px;line-height:1.8;margin-top:5px}.demo-success{text-align:center;padding:18px 4px 25px}.success-icon{width:65px;height:65px;background:#dff1ef;border:1px solid #c0e1dc;color:#2b8079;border-radius:50%;display:grid;place-items:center;font-size:29px;margin:0 auto 24px}.demo-success h3{font-size:25px;font-weight:500;letter-spacing:-.04em;color:#365462}.demo-success p{font-size:12px;margin-top:16px;line-height:1.8}.demo-success p:first-of-type{color:#3b807e}.demo-success .pill{margin-top:22px!important}.form-step{animation:formIn .24s ease-out}@keyframes formIn{from{opacity:.2;transform:translateY(6px)}to{opacity:1;transform:none}}
@media(min-width:1600px){.hero h1{font-size:108px}}
@media(max-width:1100px){.cloud-copy{padding-left:35px}.cloud-copy h2{font-size:45px}.cloud-copy>p:not(.kicker){max-width:325px;font-size:13px}.cloud-shell{min-height:550px}.cloud-object{min-height:470px}.cloud-copy .kicker{font-size:8px}.vr-copy{padding-right:35px}.vr-copy h2{font-size:41px}.vr-visor{width:275px;height:145px}.vr-lens{height:67px;width:67px;top:32px}.lens-left{left:45px}.lens-right{right:45px}.faq-grid{gap:80px}.enquiry-body{padding-left:34px;padding-right:34px}.navlinks{gap:17px}.hero h1{font-size:80px}.service-card .card-copy h3{font-size:26px}}
@media(max-width:800px){.cloud-feature{padding-bottom:80px}.cloud-shell{grid-template-columns:1fr;min-height:0;border-radius:25px}.cloud-copy{padding:39px 35px 0}.cloud-copy h2{font-size:47px}.cloud-copy>p:not(.kicker){max-width:480px}.cloud-tags{max-width:none}.cloud-object{min-height:390px}.cloud-object-caption{top:20px}.cloud-object-bottom{bottom:24px}.delivery-grid{padding:34px 5px 0;gap:25px}.delivery-grid h3{font-size:17px}.delivery-grid p{font-size:11px}.vr-section{padding-bottom:82px}.vr-panel{grid-template-columns:1fr 1fr;min-height:500px}.vr-art{min-height:500px}.vr-copy{padding:43px 26px 40px 6px}.vr-copy h2{font-size:34px}.vr-copy p{font-size:11px}.pilot-badge{font-size:7px;padding:8px 9px;letter-spacing:.035em}.vr-visor{width:220px;height:118px;border-radius:44px}.vr-visor:before{inset:11px 12px 17px;border-radius:36px}.vr-lens{width:52px;height:52px;top:25px}.lens-left{left:37px}.lens-right{right:37px}.vr-orbit{width:330px;height:330px}.orbit-b{width:250px;height:250px}.vr-bridge{width:38px;height:27px;bottom:10px}.faq{padding:85px 0}.faq-grid{gap:50px}.faq-list summary{font-size:14px}.faq-list details p{font-size:12px}.faq-intro{font-size:12px}.review-toggle{width:27px;height:27px}.enquiry-layout{grid-template-columns:29% 71%}.enquiry-aside{padding:32px 21px 26px}.enquiry-aside h2{font-size:26px}.enquiry-aside>div>p:not(.kicker){font-size:10px}.enquiry-body{padding:40px 29px 26px}.enquiry-body .choices label{font-size:9px}.enquiry-aside .kicker{font-size:7px}.enquiry-progress>span{font-size:10px;gap:9px}.enquiry-aside-note{font-size:7px}.service-card .card-copy h3{font-size:32px}.hero h1{font-size:66px}.hero .kicker{font-size:9px}.studio .section-top{gap:35px}}
@media(max-width:600px){.hero h1{font-size:clamp(44px,11.8vw,66px)}.hero .kicker{font-size:8px;letter-spacing:.14em}.hero-desc{font-size:12px;max-width:310px;line-height:1.8}.hero-desc br{display:none}.hero-copy{padding-top:137px}.hero-caption{font-size:7px}.hero-side{max-width:45%}.hero-side b{font-size:7px}.story-result{font-size:7px;line-height:1.8;max-width:300px}.phase p{max-width:300px;font-size:11px}.cloud-feature{padding-bottom:64px}.cloud-copy{padding:31px 25px 0}.cloud-copy .kicker{font-size:7px;margin-bottom:23px;line-height:1.8}.cloud-copy h2{font-size:38px}.cloud-copy>p:not(.kicker){font-size:12px;line-height:1.9;margin-top:20px}.cloud-tags{gap:6px;margin-top:18px}.cloud-tags span{font-size:8px;padding:7px 9px}.cloud-copy .pill{margin-top:23px;min-height:43px;font-size:11px}.cloud-object{min-height:305px}.cloud-object-caption{font-size:6px;top:24px;left:24px}.cloud-object-bottom{left:24px;right:24px;font-size:7px;bottom:21px}.cloud-shell{border-radius:23px}.delivery-grid{grid-template-columns:1fr;gap:22px;padding:29px 4px 0}.delivery-grid article{position:relative;padding-left:31px;border-bottom:1px solid #e7edf0;padding-bottom:23px}.delivery-grid article:last-child{border:0;padding-bottom:0}.delivery-index{position:absolute;left:0;top:2px;font-size:9px}.delivery-grid h3{font-size:19px;margin:0 0 10px}.delivery-grid p{max-width:100%;font-size:12px}.services{padding-top:75px}.service-card .card-copy h3{font-size:31px}.studio .section-top{margin-bottom:30px}.studio .section-title{font-size:44px;max-width:320px}.studio-note{font-size:9px}.vr-section{padding-bottom:69px}.vr-panel{grid-template-columns:1fr;border-radius:24px}.vr-copy{grid-row:1;padding:32px 26px 0}.vr-copy h2{font-size:38px}.vr-copy p{font-size:12px;line-height:1.9}.vr-copy .pill{font-size:11px;min-height:43px;margin-top:21px}.pilot-badge{font-size:7px;letter-spacing:.04em}.vr-art{min-height:310px}.vr-visor{width:245px;height:128px;top:45%}.vr-visor>span{font-size:7px;bottom:-43px}.vr-lens{width:58px;height:58px;top:26px}.lens-left{left:40px}.lens-right{right:40px}.vr-art-note{font-size:6px;bottom:20px}.vr-orbit{width:325px;height:325px}.orbit-b{width:258px;height:258px}.faq{padding:75px 0}.faq-grid{grid-template-columns:1fr;gap:34px}.faq .kicker{font-size:8px}.faq .section-title br{display:none}.faq .section-title{font-size:44px}.faq-intro{margin-top:20px}.faq-intro br{display:none}.faq-list summary{font-size:15px;padding:21px 0;gap:14px}.faq-list details p{font-size:12px;padding-right:16px}.contact-mini{font-size:8px;gap:11px}.footer-links{max-width:43%}.footer-links span{font-size:8px}.footer p{max-width:51%;font-size:8px}.draft-tag{font-size:6px}.review-toggle{font-size:10px}.enquiry-layout{display:block;min-height:0}.enquiry-aside{padding:22px 25px 18px;gap:19px;background:linear-gradient(125deg,#173844,#0d1924)}.enquiry-aside .brand{font-size:25px}.enquiry-aside>div:nth-of-type(1){display:none}.enquiry-aside-note{display:none}.enquiry-progress{flex-direction:row;gap:15px;justify-content:space-between}.enquiry-progress>span{font-size:8px;gap:6px;line-height:1.6}.enquiry-progress>span b{font-size:8px;width:20px;height:20px}.enquiry-body{padding:27px 23px 24px}#contact-dialog{width:calc(100% - 20px);max-height:94dvh;border-radius:21px}#contact-dialog .dialog-close{top:19px;right:18px;background:#2a424c;border-color:#496370;color:#cce1e9;width:27px;height:27px}#contact-dialog .enquiry-body h2{font-size:29px;letter-spacing:-.04em}#contact-dialog .dialog-kicker{font-size:8px;margin-bottom:13px}.enquiry-intro{font-size:11px!important}.enquiry-body .form{margin-top:23px}.enquiry-body .choices label{font-size:9px;padding:9px 10px}.enquiry-body .choices{gap:5px}.enquiry-body .form fieldset{margin-bottom:21px}.field label{font-size:10px}.field input,.field select,.field textarea{font-size:16px;padding:11px}.field input::placeholder,.field textarea::placeholder{font-size:12px}.field{margin-bottom:14px}.field textarea{min-height:117px;line-height:1.6}.field select{font-size:12px}.form-bottom-note{gap:13px}.form-bottom-note>span{font-size:8px;max-width:70%}.form-bottom-note>button{font-size:8px;max-width:26%;white-space:normal;flex:none;line-height:1.8}.form-actions{margin-top:9px;padding-top:19px}.form-actions .pill{font-size:11px;min-height:42px}.form-back{font-size:11px}.upload-zone{padding:22px 15px}.upload-zone strong{font-size:16px}.upload-zone>p{font-size:10px}.upload-zone small{font-size:8px}.local-file-note{font-size:9px!important}.file-info strong{font-size:10px}.file-info small{font-size:8px}.file-thumb,.file-glyph{width:36px;height:36px}.file-item{padding:9px;gap:9px}.summary-row div{font-size:11px}.enquiry-summary{padding:3px 15px}.contact-preview-note{padding:16px}.contact-preview-note strong{font-size:11px}.contact-preview-note p{font-size:10px}.privacy-preview{font-size:9px!important}.demo-success h3{font-size:23px}.demo-success p{font-size:11px}.form-step{animation:none}}
@media(max-width:360px){.hero h1{font-size:42px}.hero .kicker{font-size:7px}.hero-desc{max-width:270px;font-size:11px}.cloud-copy h2{font-size:33px}.cloud-copy{padding:28px 22px 0}.vr-copy{padding:28px 22px 0}.vr-copy h2{font-size:34px}.enquiry-progress{gap:9px}.enquiry-progress>span{font-size:7px;gap:5px}.enquiry-aside{padding-left:20px;padding-right:20px}.enquiry-body{padding-left:20px;padding-right:20px}.service-card .card-copy h3{font-size:29px}.draft-controls{gap:5px}.draft-tag{font-size:6px;padding:8px}}
@media(prefers-reduced-motion:reduce){.form-step{animation:none}.vr-orbit{transition:none}}
html.reduce-motion .form-step{animation:none}
@media print{.cloud-feature,.faq,.vr-section{padding:35px 0}.cloud-shell,.vr-panel{break-inside:avoid}.review-toggle,dialog{display:none}.faq-list details p{display:block}}
.process-copy .kicker{font-size:10px;line-height:1.6;margin-top:0;max-width:none}
@media(max-width:600px){.process-copy .kicker{font-size:8px}}

/* Dense capture study and project handover. */
.density-controls{position:absolute;right:25px;bottom:57px;z-index:3;display:flex;align-items:center;gap:4px;padding:4px;background:#14232ae0;border:1px solid #39556380;border-radius:100px;color:#acd0dd;font-size:9px;backdrop-filter:blur(15px)}
.density-controls>span{padding:0 8px;font-size:8px;color:#8fb0bd}.density-controls button{font-size:9px;padding:8px 12px;border-radius:99px;background:transparent;color:#a2bdc8}.density-controls button[aria-pressed=true]{background:#d6f1f5;color:#14313d}.density-controls button:hover{color:#fff}.density-controls button[aria-pressed=true]:hover{color:#14313d}
.capture-facts{padding:64px 20px 35px}.facts-heading{display:flex;justify-content:space-between;gap:25px;color:#75818b;font-size:11px;margin-bottom:43px}.facts-heading>.kicker{font-size:9px}.fact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:45px}.fact-grid article+article{border-left:1px solid #e0e7eb;padding-left:43px}.fact-number{display:block;white-space:nowrap;font-weight:500;letter-spacing:-.055em;font-size:clamp(34px,4.1vw,58px);line-height:1.12;color:#23333e}.fact-brand{letter-spacing:-.035em}.fact-dot{color:#008b9a}.fact-grid h3{font-size:13px;letter-spacing:-.015em;font-weight:500;margin:20px 0 10px}.fact-grid p{font-size:12px;line-height:1.8;color:#74818b;max-width:300px}.fact-footnote{margin-top:33px;font-size:10px;color:#81909a;line-height:1.65;max-width:940px}.delivery-grid{border-top:1px solid #e5ebef;margin-top:5px}
.project-view{padding:125px 0 130px;background:#fff}.view-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:58px;align-items:center}.view-copy .kicker{font-size:9px;color:#698591;margin-bottom:26px}.view-copy h2{font-size:clamp(38px,4vw,59px);line-height:1.065;letter-spacing:-.055em;font-weight:500}.view-copy h2 span{color:#7d919d}.view-copy>p:not(.kicker){font-size:13px;line-height:1.9;color:#72818b;margin-top:25px;max-width:440px}.view-benefits{display:flex;flex-direction:column;gap:19px;margin:29px 0 31px}.view-benefits>div{display:flex;align-items:center;gap:23px}.view-benefits strong{font-size:23px;letter-spacing:-.04em;font-weight:500;width:83px;color:#007e8e;flex-shrink:0}.view-benefits span{font-size:11px;color:#627684;line-height:1.6}.view-copy .pill{font-size:12px}.view-copy>.view-terms{font-size:10px!important;margin-top:16px!important;max-width:360px!important;line-height:1.7!important;color:#81909b!important}
.view-demo{min-width:0;background:#0d1820;border-radius:24px;border:1px solid #273640;box-shadow:0 20px 55px #2b556c19;overflow:hidden;color:#c1d6df}.view-window-bar{height:50px;padding:0 19px;display:flex;align-items:center;gap:13px;font-size:8px;letter-spacing:.12em;background:#13222c;border-bottom:1px solid #263a45}.view-window-bar>span:last-child{margin-left:auto;font-size:7px;color:#87a3b3;letter-spacing:.07em}.view-window-dots{display:flex;gap:5px}.view-window-dots i{width:5px;height:5px;background:#556d7b;border-radius:100%}.view-canvas-wrap{position:relative;height:390px;overflow:hidden;background:radial-gradient(ellipse at 53% 48%,#15323e,#0b151d 77%)}.view-canvas-wrap canvas{position:absolute;inset:0;width:100%;height:100%}.view-status{position:absolute;left:19px;top:20px;display:flex;align-items:center;gap:8px;font-size:9px;color:#a3c5d4}.view-minimap{position:absolute;right:16px;top:17px;width:105px;padding:10px;background:#0a1922e3;border:1px solid #4166756b;border-radius:11px;backdrop-filter:blur(10px)}.view-minimap>span{font-size:6px;color:#7fa5b7;letter-spacing:.15em}.mini-floor{position:relative;height:67px;margin-top:9px;border:1px solid #6382906b;background:linear-gradient(90deg,transparent 56%,#68889844 57%,transparent 58%)}.mini-floor:before{content:'';position:absolute;top:33%;left:56%;right:0;height:1px;background:#6888986b}.mini-floor button{position:absolute;padding:0;width:18px;height:18px;border-radius:50%;background:#294450;border:1px solid #739faf9c;color:#b3dbe7;font-size:8px;transition:background .2s,box-shadow .2s}.mini-floor button:nth-child(1){left:10%;top:57%}.mini-floor button:nth-child(2){right:13%;top:49%}.mini-floor button:nth-child(3){left:21%;top:12%}.mini-floor button[aria-pressed=true]{background:#89e3e6;color:#073640;border-color:#b3f2f2;box-shadow:0 0 0 4px #71cfd224}
.view-tools{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:15px 17px;border-top:1px solid #304855;background:#12232d}.view-station-buttons{display:flex;align-items:center;gap:4px}.view-station-buttons button{padding:8px 9px;border:1px solid transparent;background:transparent;border-radius:7px;font-size:10px;color:#91aebb}.view-station-buttons button[aria-pressed=true]{background:#2c4855;border-color:#577380;color:#d9f5f9}.view-station-buttons>span{font-size:8px;color:#87a4b5;padding-left:8px}.view-measure-button{display:flex;align-items:center;gap:8px;border:1px solid #405d6d;border-radius:99px;background:#172f3d;color:#b6d5e3;padding:9px 12px;font-size:9px}.view-measure-button[aria-pressed=true]{background:#d3f0f3;color:#123941;border-color:#d3f0f3}.view-measure-button .icon{width:15px;height:15px}.view-demo-note{font-size:8px;line-height:1.7;color:#88a3b3;padding:12px 17px;background:#0e1b24}.view-measure-caption{position:absolute;left:50%;bottom:32px;transform:translateX(-50%);white-space:nowrap;background:#12313cef;backdrop-filter:blur(8px);border:1px solid #629eab80;border-radius:11px;padding:12px 19px;text-align:center}.view-measure-caption strong{font-size:22px;letter-spacing:-.03em;display:block;font-weight:500;color:#c8f9fa}.view-measure-caption span{font-size:8px;color:#91c4d0;display:block;margin-top:4px}
@media(max-width:1020px){.view-layout{gap:32px}.fact-grid{gap:25px}.fact-grid article+article{padding-left:25px}.view-window-bar{padding-inline:13px;gap:10px}.view-window-bar>span:last-child{font-size:6px}.view-station-buttons>span{display:none}.view-canvas-wrap{height:390px}}
@media(max-width:760px){.capture-facts{padding:38px 4px 28px}.facts-heading{margin-bottom:25px;display:block}.facts-heading>span:last-child{display:none}.fact-grid{grid-template-columns:1fr;gap:23px}.fact-grid article{display:grid;grid-template-columns:130px 1fr;column-gap:18px;align-items:start}.fact-grid article+article{border-left:0;border-top:1px solid #e3e9ed;padding-left:0;padding-top:24px}.fact-number{font-size:31px;grid-row:1/3}.fact-grid h3{margin:1px 0 5px;font-size:11px}.fact-grid p{font-size:11px}.fact-footnote{font-size:9px;margin-top:25px}.project-view{padding:76px 0 80px}.view-layout{grid-template-columns:1fr;gap:37px}.view-copy h2{font-size:47px}.view-copy>p:not(.kicker){max-width:520px}.view-benefits{flex-direction:row;justify-content:space-between;gap:12px}.view-benefits>div{display:block;flex:1}.view-benefits strong{display:block;font-size:21px;width:auto;margin-bottom:8px}.view-benefits span{font-size:10px;line-height:1.6}.view-canvas-wrap{height:365px}.view-window-bar>span:last-child{font-size:6px}.density-controls{right:19px;bottom:53px}.view-station-buttons>span{display:inline}.view-copy .kicker{margin-bottom:20px}}
@media(max-width:400px){.fact-grid article{grid-template-columns:114px 1fr;gap:10px}.fact-number{font-size:29px}.view-copy h2{font-size:42px}.view-window-bar>span:last-child{letter-spacing:0;font-size:5px}.view-canvas-wrap{height:330px}.view-tools{padding:13px 10px}.view-station-buttons>span{display:none}.view-measure-button{padding:8px 10px;font-size:8px}.view-minimap{width:90px}.view-copy>.view-terms{max-width:300px!important}}
/* ---- rotions-company-identity ---- */
/* Company identity and personal contact */
:root{--brand-blue:#3a92f4;--accent:#1a75cc}
::selection{background:#bfdbfe;color:#0d2b50}
.brand{flex-shrink:0;line-height:0;letter-spacing:0}
.company-logo{display:block;width:145px;height:auto;max-width:100%;object-fit:contain}
.nav{height:84px;padding:9px 19px 9px 18px;gap:25px}
.nav .brand{padding:4px 8px;border-radius:10px;background:#fff;max-width:162px}
.header.on-dark .nav .brand{background:#fff}
.navlinks{gap:25px}
.navlinks>a:hover{color:#267bd5}
.progress-line{background:var(--brand-blue)}
.footer .brand{padding:10px 12px;border-radius:12px;background:white;align-self:flex-start}
.footer .company-logo{width:180px}
.footer-row{align-items:flex-start}
.footer-company p{font-size:11px;line-height:1.95;color:#a0aeba}
.footer-company p+p{margin-top:12px}
.footer-company strong{font-weight:500;color:#e5edf5}
.footer-company a:hover{color:#fff}
.footer-links{max-width:260px;line-height:1.8}
.enquiry-aside .brand{background:white;padding:10px 12px;border-radius:10px;width:max-content;max-width:100%;align-self:flex-start}
.enquiry-aside .company-logo{width:163px}
.enquiry-direct{display:grid;gap:8px;margin-top:24px;padding-top:20px;border-top:1px solid #ffffff25;font-size:11px;color:#d3e4f2}
.enquiry-direct span{color:#9db6cb;font-size:10px;margin-bottom:2px}
.enquiry-direct a{overflow-wrap:anywhere;line-height:1.4}
.enquiry-direct a:hover{color:white;text-decoration:underline}
#info-copy{white-space:pre-line}
.contact{padding:112px 0 100px}
.contact::before{background:radial-gradient(ellipse,#163858 0%,transparent 68%);bottom:-260px}
.contact .wrap.contact-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.8fr);gap:90px;align-items:center}
.contact .kicker{color:#80b4f6;margin-bottom:28px}
.contact h2{font-size:clamp(48px,5.2vw,74px);line-height:1.06;letter-spacing:-.055em;font-weight:500}
.contact h2 span{color:#8199ae}
.contact-description{font-size:15px;line-height:1.9;color:#a0adbb;max-width:475px;margin-top:27px}
.contact-person{margin-top:35px;display:grid;gap:7px}
.contact-person strong{color:#edf4fa;font-size:16px;font-weight:500;letter-spacing:-.015em}
.contact-person>span{color:#849bb0;font-size:11px}
.contact-lines{margin-top:24px;max-width:525px;border-top:1px solid #ffffff17}
.contact-channel{display:grid;grid-template-columns:64px minmax(0,1fr) 18px;gap:12px;align-items:center;padding:20px 0;border-bottom:1px solid #ffffff17;transition:color .2s}
.channel-label{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#8ea4b7}
.channel-value{font-size:clamp(12px,1.35vw,19px);font-weight:400;letter-spacing:-.02em;overflow-wrap:anywhere}
.channel-arrow{color:#70b4ff;font-size:19px;transition:transform .2s}
.contact-channel:hover{color:#8bc1ff}
.contact-channel:hover .channel-arrow{transform:translate(2px,-2px)}
.contact-actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap;margin-top:28px}
.contact-mail{font-size:12px;color:#9eb7cd;padding:10px 0}
.contact-mail:hover{color:#fff}
.contact-form-note{font-size:10px;line-height:1.7;color:#91a1b2;margin-top:16px}
.contact-portrait{position:relative;overflow:hidden;isolation:isolate;align-self:center;margin:0;border-radius:25px;background:#273339;border:1px solid #ffffff14;box-shadow:0 25px 65px #0003}
.contact-portrait img{width:100%;height:auto;aspect-ratio:4/5.4;object-fit:cover;object-position:center;display:block}
.contact-portrait:after{content:'';position:absolute;inset:48% 0 0;background:linear-gradient(0deg,#07101cf0,transparent);pointer-events:none}
.contact-portrait figcaption{position:absolute;z-index:2;left:28px;right:24px;bottom:30px}
.contact-portrait figcaption span{font-size:8px;letter-spacing:.16em;color:#c3d5e7}
.contact-portrait figcaption p{font-size:25px;line-height:1.24;letter-spacing:-.035em;color:#fff;margin-top:13px}
@media(max-width:1100px){.nav{gap:18px}.navlinks{gap:18px}.navlinks>a{font-size:11px}.nav .company-logo{width:128px}.nav .brand{padding:4px 7px}.contact .wrap.contact-layout{gap:46px;grid-template-columns:minmax(0,1.2fr) minmax(260px,.9fr)}.contact h2{font-size:54px}.channel-value{font-size:14px}.contact-channel{grid-template-columns:54px minmax(0,1fr) 18px;gap:6px}}
@media(max-width:800px){.nav{height:76px;padding:8px 12px;gap:13px}.nav .company-logo{width:121px}.navlinks{gap:15px}.contact .wrap.contact-layout{grid-template-columns:1fr;gap:46px;max-width:610px}.contact-portrait{width:min(430px,100%);justify-self:center;order:2}.contact h2{font-size:60px}.contact-description{max-width:490px}.contact-lines{max-width:100%}.channel-value{font-size:18px}.footer-row{gap:26px;flex-wrap:wrap}.footer-links{max-width:none;justify-content:flex-start}}
@media(max-width:650px){.navlinks{top:86px}.nav .brand{padding:3px 6px}.nav .company-logo{width:109px}.nav{height:69px;gap:8px;padding:6px 10px}.nav .nav-cta{padding:0 13px;font-size:10px;min-height:37px}.menu-toggle{padding:7px}.company-logo{width:124px}.contact{padding:82px 0 74px}.contact h2{font-size:clamp(42px,10vw,60px)}.contact .kicker{margin-bottom:23px}.contact-description{font-size:14px;line-height:1.8}.contact-person{margin-top:28px}.contact-person strong{font-size:16px}.contact-channel{grid-template-columns:51px minmax(0,1fr) 15px;gap:5px;padding:18px 0}.channel-value{font-size:clamp(12px,3.45vw,16px)}.channel-label{font-size:9px}.contact-actions{gap:17px}.contact-mail{font-size:11px}.contact-portrait{border-radius:20px}.contact-portrait figcaption p{font-size:25px}.enquiry-aside .company-logo{width:129px}.enquiry-direct{display:none}.footer .company-logo{width:149px}.footer-row{display:grid;grid-template-columns:1fr;gap:27px}.footer .brand{width:max-content}.footer-company p{font-size:11px}}
@media(prefers-reduced-motion:reduce){.contact-channel,.channel-arrow{transition:none}}
/* ---- core ---- */
/* Motion refinement: native scrolling, isolated composited text transitions. */
html:not(.reduce-motion) .hero-copy{will-change:transform,opacity;backface-visibility:hidden}
html.motion-ready .phase{transition:opacity .44s cubic-bezier(.22,.7,.2,1),transform .62s cubic-bezier(.22,.7,.2,1);backface-visibility:hidden}
html.motion-ready .phase:not(.active){transform:translate3d(0,18px,0)}
html.motion-ready .phase.active{transform:translate3d(0,0,0)}
html.motion-ready .reveal{transform:translate3d(0,26px,0);transition:opacity .75s cubic-bezier(.22,.7,.2,1),transform .9s cubic-bezier(.22,.7,.2,1)}
html.motion-ready .reveal.in{transform:translate3d(0,0,0)}
@media(hover:hover){.service-card:hover{transform:translate3d(0,-7px,0)}}
html.reduce-motion .hero-copy{will-change:auto}
@media(prefers-reduced-motion:reduce){.hero-copy{will-change:auto}}
/* ---- rotions-responsive-touch ---- */
/* Mobile layout: normal document flow; no viewport-pinned scenes or nested form scrollers. */
:root{--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px)}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
.mobile-only,.mobile-story-copy,.touch-hint,.no-script-contact{display:none}
.mobile-menu-scrim{position:fixed;inset:0;z-index:39;background:#04101788}
html.reduce-motion .story{height:auto}
html.reduce-motion .story-sticky{height:auto;min-height:0;display:block;padding:0}
html.reduce-motion .story-top,html.reduce-motion .story-copy,html.reduce-motion .story-canvas,html.reduce-motion .story-bottom{display:none!important}
html.reduce-motion .story-static{display:block;max-width:1000px;margin:auto;padding:64px clamp(24px,5vw,72px);color:#e4eff7}
html.reduce-motion .story-static h2{font-size:clamp(28px,5vw,48px);line-height:1.2;margin-bottom:20px}
html.reduce-motion .story-static p{font-size:15px;line-height:1.8;color:#a9bdcb}
@media(max-width:900px){
 html{scroll-padding-top:98px;scroll-behavior:auto}
 body{font-size:16px;line-height:1.5}
 main,section,.wrap,.cloud-copy,.view-copy,.card-copy,.contact-copy{min-width:0}
 .wrap{width:calc(100% - 40px);max-width:610px;margin-inline:auto}
 h1,h2,h3{overflow-wrap:normal}
 p,a{overflow-wrap:break-word}
 .header{top:calc(10px + var(--safe-top))}
 .nav{position:relative;width:calc(100% - 24px);max-width:660px;height:64px;padding:6px 8px 6px 12px;gap:6px;border-radius:18px;background:rgba(252,253,255,.96);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 6px 24px #1222300c}
 .nav .brand{order:0;flex:0 0 auto;max-width:130px;padding:2px 3px;min-width:0;background:transparent;border:0}
 .nav .company-logo{display:block;width:104px;max-width:100%;height:auto}
 .nav .nav-cta{order:1;display:inline-flex!important;margin-left:auto;min-height:44px;padding:0 15px!important;font-size:12px;white-space:nowrap}
 .nav .nav-cta .icon{display:none}
 .menu-toggle{order:2;display:flex;align-items:center;justify-content:center;flex:0 0 44px;min-width:44px;width:44px;height:44px;padding:10px;margin:0}
 .navlinks{display:none;position:absolute;top:74px;inset-inline:0;max-width:none;width:100%;margin:0;padding:10px;max-height:calc(100svh - 112px - var(--safe-top));overflow-y:auto;overscroll-behavior:contain;border:1px solid #dfe6ed;border-radius:18px;background:#fafcfe;box-shadow:0 20px 40px #09203822;gap:0}
 .navlinks.open{display:flex;flex-direction:column;align-items:stretch}
 .navlinks>a,.navlinks .mobile-only{display:flex;align-items:center;justify-content:space-between;min-height:50px;padding:12px 14px;font-size:15px!important;border-radius:10px;flex:none}
 .navlinks>a:after{content:'↗';color:#78909f;font-size:17px}
 .navlinks .mobile-contact-link{border-top:1px solid #dde7ee;margin-top:6px;border-radius:0}
 .header.on-dark .nav{background:rgba(14,23,32,.96)}
 .header.on-dark .brand{background:#fff;border-radius:9px;padding:3px 5px}
 .header.on-dark .navlinks{background:#13212e;border-color:#304657}
 .header.on-dark .navlinks>a{color:#d3e1eb}
 .header.on-dark .navlinks>a:hover{background:#233a4a}
 body.menu-open{overflow:hidden}
 .pill{min-height:48px;font-size:14px;padding:0 22px;gap:10px}
 .pill:hover,.service-card:hover{transform:none;box-shadow:none}
 .pill:active,.round:active{transform:scale(.98)}
 .hero{height:auto;min-height:0;max-height:none;display:flex;flex-direction:column;align-items:center;padding:calc(121px + var(--safe-top)) 0 38px;overflow:hidden}
 .hero-copy{position:relative;max-width:650px;padding:0 22px;opacity:1!important;transform:none!important;will-change:auto;pointer-events:auto}
 .hero .kicker{font-size:10px;line-height:1.5;letter-spacing:.12em;margin-bottom:24px;color:#607481}
 .hero h1{font-size:clamp(38px,11.3vw,64px);line-height:1.065;letter-spacing:-.064em}
 .hero-desc{font-size:15px;line-height:1.7;max-width:370px;margin:21px auto 0;color:#657680}
 .hero-desc br{display:none}
 .hero-scene{position:relative;inset:auto;width:100%;height:clamp(235px,76vw,360px);margin:16px 0 12px;flex:none}
 .hero-scene canvas{display:block;width:100%;height:100%}
 .hero-side,.hero-line{display:none}
 .hero-bottom{position:relative;inset:auto;display:flex;flex-wrap:wrap;justify-content:center;gap:12px;padding:0 20px;margin:0}
 .hero-bottom .pill{min-height:48px;font-size:13px;padding:0 20px}
 .hero-bottom .down-link{min-height:48px;font-size:13px;padding:10px 2px;gap:8px}
 .hero-caption{position:relative;inset:auto;font-size:10px;line-height:1.6;max-width:340px;text-align:center;padding:0 16px;margin:16px auto 0;color:#73828d;letter-spacing:0}
 /* A touch-controlled object story replaces the long, pinned desktop sequence. */
 .story{height:auto;background:#0a1017;padding:52px 0 40px}
 .story-sticky{position:relative;top:auto;height:auto;min-height:0;max-width:650px;margin:auto;display:flex;flex-direction:column;overflow:hidden;padding:0 20px;background:radial-gradient(ellipse at 50% 61%,#15303e,#0a1017 72%)}
 .story-top{position:relative;inset:auto;order:0;display:block;width:100%;margin:0}
 .story-top .kicker{font-size:10px;line-height:1.7;letter-spacing:.10em;max-width:290px;color:#9db3c1}
 .story-skip{display:none}
 .story-copy{position:relative;inset:auto;order:1;display:grid;flex:none;margin-top:30px}
 .phase{position:relative;inset:auto;grid-area:1/1;width:100%;max-width:none;align-self:start;transform:none!important;transition:opacity .25s;visibility:hidden}
 .phase.active{visibility:visible}
 .phase .phase-index{font-size:10px;line-height:1.5;letter-spacing:.09em;margin-bottom:16px}
 .phase h2{font-size:clamp(32px,9.3vw,48px);line-height:1.09;letter-spacing:-.045em;max-width:none}
 .phase h2 .silver br{display:none}
 .phase>p:not(.mobile-story-copy){display:none}
 .phase p.mobile-story-copy{display:block;font-size:14px;line-height:1.75;margin-top:19px;max-width:500px;color:#a3b7c5}
 .story-canvas{position:relative;inset:auto;order:2;display:block;width:calc(100% + 40px);height:clamp(245px,76vw,355px);flex:none;min-height:0;margin:10px -20px 9px;pointer-events:none}
 .story-bottom{position:relative;inset:auto;order:3;display:block;width:100%;margin:0}
 .chapters{display:grid;grid-template-columns:1fr 1fr 1fr;gap:5px;width:100%;max-width:none;padding:5px;border-radius:15px;background:#142432;border:1px solid #2c4352}
 .chapter{min-width:0;min-height:46px;padding:8px 3px;text-align:center;font-size:12px;line-height:1.4;white-space:normal;border-radius:10px;color:#9dafbd;background:transparent}
 .chapter:before,.chapter:after,.chapter b{display:none}
 .chapter.active{background:#d8edf6;color:#123a4d}
 .story-result{font-size:9px;line-height:1.65;max-width:100%;margin:17px 0 0;text-align:center;color:#90a6b4;letter-spacing:.035em}
 .story-result strong{display:none}
 .story-static{display:none}
 .manifesto{padding:70px 0}
 .manifesto .kicker,.section-top .kicker,.process .kicker,.faq .kicker{font-size:10px;line-height:1.6;letter-spacing:.11em;margin-bottom:23px}
 .manifesto h2{font-size:clamp(29px,8.4vw,43px);line-height:1.24;letter-spacing:-.038em}
 .manifesto .word{color:#27323b;transition:none}
 .manifesto .word.accent{color:var(--accent)}
 .manifesto-bottom{display:block;margin-top:30px}
 .manifesto-bottom p{max-width:none;font-size:15px;line-height:1.8}
 .manifesto-small{font-size:10px!important;max-width:none!important;margin-top:20px}
 .manifesto-rule{display:none}
 .section-top{display:block;margin-bottom:30px}
 .section-title{font-size:clamp(35px,9.8vw,51px);line-height:1.1;letter-spacing:-.046em}
 .section-top>p,.studio .section-top>p{font-size:15px;line-height:1.8;max-width:480px;margin-top:20px}
 .cloud-feature{padding:0 0 66px}
 .cloud-shell{display:flex;flex-direction:column;min-height:0;border-radius:24px;overflow:hidden}
 .cloud-copy{padding:30px 24px 0}
 .cloud-copy .kicker{font-size:10px;line-height:1.6;margin-bottom:23px}
 .cloud-copy h2{font-size:clamp(34px,9.4vw,52px);line-height:1.12;letter-spacing:-.045em}
 .cloud-copy>p:not(.kicker){font-size:14px;line-height:1.8;max-width:none;margin-top:21px}
 .cloud-tags{gap:7px;margin-top:20px;max-width:none}
 .cloud-tags span{font-size:11px;line-height:1.5;padding:7px 10px}
 .cloud-copy .pill{font-size:13px;min-height:48px;margin-top:23px}
 .cloud-object{position:relative;min-height:0;height:auto;display:flex;flex-direction:column;margin-top:27px;padding:0 0 20px}
 .cloud-object-caption{position:relative;inset:auto;margin:0 24px;font-size:9px;line-height:1.6}
 .cloud-object canvas{position:relative;inset:auto;display:block;width:100%;height:clamp(230px,68vw,320px)}
 .density-controls{position:relative;inset:auto;align-self:center;order:2;max-width:calc(100% - 28px);margin:0;border-radius:14px;gap:2px;padding:4px}
 .density-controls>span{font-size:10px;padding-inline:7px}
 .density-controls button{font-size:12px;min-height:44px;padding:8px 13px;border-radius:10px}
 .cloud-object-bottom{position:relative;inset:auto;order:3;display:flex;justify-content:space-between;gap:10px;margin:15px 24px 0;font-size:9px;line-height:1.6}
 .capture-facts{padding:37px 0 27px}
 .facts-heading{display:block;margin-bottom:26px}
 .facts-heading>span:last-child{display:none}
 .facts-heading .kicker{font-size:10px;line-height:1.7}
 .fact-grid{display:block}
 .fact-grid article{display:block;padding:0 0 25px;border:0}
 .fact-grid article+article{border:0;border-top:1px solid #e0e6eb;padding:25px 0}
 .fact-grid article:last-child{padding-bottom:0}
 .fact-number{font-size:41px;line-height:1.12;letter-spacing:-.05em}
 .fact-grid h3{font-size:15px;line-height:1.5;margin:12px 0 8px}
 .fact-grid p{font-size:14px;line-height:1.8;max-width:490px}
 .fact-footnote{font-size:11px;line-height:1.8;margin-top:25px}
 .delivery-grid{display:grid;grid-template-columns:1fr;gap:22px;padding:23px 0 0}
 .delivery-grid article{position:relative;padding:0 0 22px 34px;border-bottom:1px solid #e1e8ed}
 .delivery-index{position:absolute;left:0;top:2px;font-size:11px}
 .delivery-grid h3{font-size:21px;margin:0 0 10px}
 .delivery-grid p{font-size:14px;line-height:1.8;max-width:none}
 .services{padding:68px 0}
 .service-grid{display:grid;grid-template-columns:1fr;gap:18px}
 .service-card{min-height:0;display:flex;flex-direction:column;padding:0 0 24px;border-radius:24px}
 .card-copy{position:relative;inset:auto;width:100%;padding:27px 24px 0}
 .card-copy .kicker{font-size:10px;line-height:1.6;margin-bottom:18px}
 .service-card .card-copy h3{font-size:clamp(28px,8.1vw,36px);line-height:1.12;max-width:none}
 .card-canvas{position:relative;inset:auto;width:100%;height:240px;flex:none;margin:6px 0 0}
 .card-foot{position:relative;inset:auto;width:auto;display:flex;align-items:center;gap:16px;margin:0 24px}
 .card-foot p{font-size:13px;line-height:1.75;max-width:none;flex:1;min-width:0}
 .round{width:46px;height:46px;flex:none}
 .service-note{font-size:11px;line-height:1.8;text-align:left}
 .project-view{padding:66px 0 70px}
 .view-layout{display:grid;grid-template-columns:1fr;gap:30px}
 .view-copy .kicker{font-size:10px;line-height:1.6;margin-bottom:23px}
 .view-copy h2{font-size:clamp(35px,9.8vw,50px);line-height:1.1}
 .view-copy>p:not(.kicker){font-size:15px;line-height:1.8;max-width:none}
 .view-copy>.view-terms{font-size:11px!important;line-height:1.8!important;max-width:none!important}
 .view-benefits{display:flex;flex-direction:row;gap:18px;justify-content:space-between}
 .view-benefits>div{display:block;flex:1}
 .view-benefits strong{display:block;width:auto;font-size:26px;line-height:1.2;margin-bottom:9px}
 .view-benefits span{font-size:11px;line-height:1.7}
 .view-copy .pill{min-height:48px;font-size:13px}
 .view-demo{border-radius:22px;min-width:0}
 .view-window-bar{height:auto;min-height:46px;padding:13px 15px;gap:9px;font-size:9px;line-height:1.5}
 .view-window-bar>span:last-child{display:none}
 .view-canvas-wrap{height:290px}
 .view-status{left:16px;top:16px;font-size:10px;max-width:calc(100% - 32px)}
 .view-minimap{display:none}
 .view-tools{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:13px;gap:9px}
 .view-station-buttons{gap:6px;display:flex}
 .view-station-buttons>span{display:none}
 .view-station-buttons button{width:44px;height:44px;font-size:13px}
 .view-measure-button{min-height:44px;font-size:11px;padding:8px 12px;white-space:normal}
 .view-measure-caption{font-size:11px;left:50%;bottom:23px;max-width:calc(100% - 30px);white-space:normal;text-align:center}
 .view-demo-note{font-size:11px;line-height:1.8;margin-top:15px}
 .studio{padding:70px 0}
 .studio .section-title{font-size:clamp(35px,9.8vw,50px);line-height:1.1;max-width:none}
 .studio-stage{display:block;height:auto;min-height:0;padding:22px 16px 20px;border-radius:24px}
 .studio-toolbar{position:relative;inset:auto;display:block}
 .studio-title{font-size:9px;line-height:1.8}
 .studio-title b{font-size:11px;margin-top:3px}
 .segments{display:flex;width:100%;max-width:none;padding:4px;gap:2px;margin-top:17px;border-radius:14px}
 .segments button{flex:1;min-width:0;min-height:44px;font-size:12px;line-height:1.4;padding:8px 4px;border-radius:10px;white-space:normal}
 .studio-canvas{position:relative;inset:auto;display:block;width:calc(100% + 32px);height:clamp(260px,76vw,360px);min-height:0;margin:8px -16px;touch-action:pan-y pinch-zoom;flex:none}
 .studio-bottom{position:relative;inset:auto;display:grid;grid-template-columns:1fr;gap:15px;justify-items:center;align-items:center;margin:0;pointer-events:auto}
 .studio-hint{order:2;max-width:none;font-size:11px;line-height:1.6;text-align:center;display:block}
 .studio-hint>.icon,.desktop-hint{display:none}
 .touch-hint{display:inline}
 .rotate-tools{display:flex;order:1;gap:12px}
 .rotate-tools button{width:46px;min-width:46px;height:46px}
 .rotate-tools button .icon{width:18px;height:18px}
 .explosion{grid-column:1;grid-row:1;min-width:0;max-width:none;width:100%;padding:12px 15px;backdrop-filter:none}
 .explosion label{font-size:12px;line-height:1.6}
 .explosion input{height:32px;margin:0;touch-action:pan-y}
 .studio-note{display:block;margin:17px 0 0;font-size:11px;line-height:1.8}
 .studio-note span{display:block}
 .studio-note span:last-child{text-align:left;margin-top:8px}
 .vr-section{padding:0 0 65px}
 .vr-panel{display:flex;flex-direction:column;border-radius:24px;overflow:hidden}
 .vr-copy{order:0;padding:29px 24px 0}
 .vr-copy h2{font-size:clamp(32px,9vw,46px);line-height:1.14}
 .vr-copy p{font-size:14px;line-height:1.8}
 .vr-copy .pill{min-height:48px;font-size:13px}
 .pilot-badge{font-size:10px;line-height:1.6;letter-spacing:.025em}
 .vr-art{order:1;width:100%;height:300px;min-height:0;overflow:hidden}
 .vr-visor{width:225px;height:119px;top:45%}
 .vr-lens{width:54px;height:54px;top:24px}
 .lens-left{left:35px}.lens-right{right:35px}
 .vr-orbit{width:300px;height:300px}.orbit-b{width:245px;height:245px}
 .vr-visor>span{font-size:8px;bottom:-34px}
 .vr-art-note{font-size:9px;line-height:1.7;bottom:14px}
 .process,.faq{padding:65px 0}
 .process-grid,.faq-grid{display:grid;grid-template-columns:1fr;gap:32px}
 .process .section-title,.faq .section-title{font-size:clamp(35px,9.8vw,50px);line-height:1.1}
 .process-copy p,.faq-intro{font-size:15px;line-height:1.8;max-width:none;margin-top:20px}
 .step summary{padding:24px 0;font-size:17px;gap:16px;line-height:1.5}
 .step summary .num{font-size:11px}
 .step p{font-size:14px;line-height:1.8;padding:0 0 24px 33px;max-width:none}
 .faq-list summary{font-size:16px;line-height:1.55;padding:22px 0;gap:18px}
 .faq-list details p{font-size:14px;line-height:1.8;padding-right:8px}
 .contact{padding:67px 0 48px}
 .contact .wrap.contact-layout{display:flex;flex-direction:column;align-items:stretch;gap:33px;max-width:610px}
 .contact .kicker{font-size:10px;line-height:1.6;margin-bottom:25px}
 .contact h2{font-size:clamp(38px,10.3vw,58px);line-height:1.08;letter-spacing:-.049em}
 .contact-description{font-size:15px;line-height:1.8;max-width:none;margin-top:24px}
 .contact-person{margin-top:25px}
 .contact-person strong{font-size:17px}
 .contact-person span{font-size:12px}
 .contact-lines{max-width:none;width:100%}
 .contact-channel{display:grid;grid-template-columns:1fr auto;gap:6px 10px;padding:20px 0}
 .channel-label{grid-column:1/-1;font-size:11px;line-height:1.5}
 .channel-value{grid-column:1;font-size:clamp(14px,3.85vw,19px);line-height:1.5;min-width:0;overflow-wrap:anywhere}
 .channel-arrow{grid-column:2;grid-row:2}
 .contact-actions{gap:17px;flex-wrap:wrap}
 .contact-actions .pill{min-height:48px;font-size:13px}
 .contact-mail{font-size:13px;min-height:44px}
 .contact-form-note{font-size:11px;line-height:1.8}
 .contact-portrait{width:100%;max-width:420px;align-self:center;order:2;margin:0;border-radius:23px}
 .contact-portrait img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover}
 .contact-portrait figcaption{padding:22px}
 .contact-portrait figcaption span{font-size:10px}
 .contact-portrait figcaption p{font-size:27px;line-height:1.2}
 .footer{padding-bottom:30px}
 .footer-row{display:flex;flex-direction:column;gap:26px;align-items:flex-start;padding-top:26px}
 .footer .brand{width:auto;padding:5px 9px}
 .footer .company-logo{width:135px;height:auto}
 .footer-company{display:block}
 .footer p,.footer-company p{font-size:12px;line-height:1.9;max-width:none}
 .footer-company p+p{margin-top:14px}
 .footer-links{max-width:none;display:flex;justify-content:flex-start;margin:0;gap:4px 20px}
 .footer-links button{font-size:12px;min-height:44px}
 .footer-links span{width:100%;font-size:10px;line-height:1.8}
 .draft-controls{position:static;background:#0b1016;justify-content:center;padding:5px 16px calc(23px + var(--safe-bottom));gap:9px}
 .draft-tag{font-size:8px;padding:10px 12px;background:#162633;border-color:#2d4354;color:#bad0dd;backdrop-filter:none}
 .motion-toggle,.review-toggle{width:40px;height:40px;min-width:40px;background:#162633;color:#bad0dd;border:1px solid #2d4354;backdrop-filter:none}
 /* One scrolling surface for each form. No fixed viewport math or keyboard offsets. */
 #contact-dialog{position:fixed;inset:0;width:100%;max-width:none;height:100%;height:100dvh;max-height:none;margin:0;padding:0;border:0;border-radius:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scroll-padding-top:75px;background:#fbfdfe}
 #contact-dialog .enquiry-layout{display:block;height:auto;min-height:100%;overflow:visible}
 #contact-dialog .enquiry-aside{display:block;padding:calc(15px + var(--safe-top)) 20px 20px;min-height:0;overflow:visible}
 #contact-dialog .enquiry-aside .brand{display:inline-flex;padding:4px 7px;margin:0 0 17px;border-radius:9px;width:auto}
 #contact-dialog .enquiry-aside .company-logo{width:95px;height:auto}
 #contact-dialog .enquiry-aside>div:first-of-type,#contact-dialog .enquiry-direct,#contact-dialog .enquiry-aside-note{display:none}
 #contact-dialog .enquiry-progress{display:flex;flex-direction:row;justify-content:space-between;gap:8px;flex-wrap:wrap}
 #contact-dialog .enquiry-progress>span{font-size:10px;line-height:1.6;gap:5px}
 #contact-dialog .enquiry-progress>span b{width:23px;height:23px;font-size:9px;flex:none}
 #contact-dialog .dialog-close{position:fixed;top:calc(13px + var(--safe-top));right:15px;width:46px;height:46px;z-index:5;background:#eaf2f7;border:1px solid #c8dbe8;color:#183c50;box-shadow:0 4px 14px #122d421a}
 #contact-dialog .dialog-close .icon{width:19px;height:19px}
 #contact-dialog .enquiry-body{display:block;height:auto;min-height:0;overflow:visible;padding:27px 22px calc(26px + var(--safe-bottom))}
 #contact-dialog .dialog-kicker{font-size:10px;line-height:1.6;margin-bottom:12px}
 #contact-dialog .enquiry-body h2{font-size:32px;line-height:1.12;padding-right:0;margin-bottom:15px}
 #contact-dialog .enquiry-intro{font-size:14px!important;line-height:1.75!important}
 #project-form{display:block;height:auto;min-height:0;margin-top:26px}
 #project-form .form-step{height:auto;min-height:0;max-height:none;overflow:visible;padding:0;animation:none}
 .enquiry-body .form legend{font-size:13px;line-height:1.6;margin-bottom:12px}
 .enquiry-body .choices{gap:8px}
 .enquiry-body .choices label{display:flex;align-items:center;min-height:44px;font-size:12px;line-height:1.6;padding:10px 12px;border-radius:13px}
 .form-fields{display:grid;grid-template-columns:1fr;gap:0}
 .field{margin-bottom:20px}
 .field label{font-size:13px;line-height:1.6;margin-bottom:8px}
 .field label small{font-size:11px}
 .field input,.field select,.field textarea{font-size:16px;line-height:1.5;min-height:49px;padding:12px;border-radius:12px;max-width:100%}
 .field input::placeholder,.field textarea::placeholder{font-size:15px}
 .field textarea{min-height:130px;line-height:1.7}
 .form-actions{position:relative;inset:auto;min-height:65px;display:flex;justify-content:space-between;align-items:center;margin-top:20px;padding:16px 0 0;gap:10px}
 .form-actions .pill{font-size:14px;min-height:48px;margin-left:auto;padding:0 23px}
 .form-back{font-size:14px;min-height:48px;padding:8px 0}
 .form-bottom-note{display:flex;align-items:center;gap:16px;margin-top:18px;padding-top:15px}
 .form-bottom-note>span{font-size:10px;line-height:1.7;max-width:65%}
 .form-bottom-note>button{min-height:44px;font-size:11px;line-height:1.6;max-width:32%}
 .upload-zone{padding:26px 15px}
 .upload-zone strong{font-size:20px;line-height:1.4}
 .upload-zone>p{font-size:13px;line-height:1.7}
 .upload-zone small{font-size:11px;line-height:1.8}
 .upload-zone .pill{font-size:14px;min-height:48px}
 .local-file-note,.privacy-preview{font-size:12px!important;line-height:1.8!important}
 .file-item{padding:10px;gap:10px;min-width:0}
 .file-thumb,.file-glyph{width:42px;height:42px;flex:none}
 .file-info{min-width:0}.file-info strong{font-size:12px;overflow-wrap:anywhere}.file-info small{font-size:10px}
 .remove-file{min-width:44px;min-height:44px}
 .upload-meta{font-size:11px;line-height:1.7}
 .summary-row small{font-size:12px}.summary-row div{font-size:14px;line-height:1.8;overflow-wrap:anywhere}
 .contact-preview-note strong,.email-preview-note strong{font-size:14px;line-height:1.6}
 .contact-preview-note p,.email-preview-note p{font-size:13px;line-height:1.8}
 .demo-success h3{font-size:27px}.demo-success p{font-size:14px;line-height:1.8}
 #info-dialog{width:calc(100% - 26px);max-width:610px;max-height:calc(100svh - 40px);padding:54px 24px 28px;border-radius:21px;overflow:auto;overscroll-behavior:contain}
 #info-dialog .dialog-close{width:44px;height:44px;right:10px;top:10px}
 #info-dialog h2{font-size:30px;line-height:1.15;padding-right:0}
 #info-dialog p{font-size:14px;line-height:1.8;overflow-wrap:anywhere}
 #info-dialog .dialog-detail{font-size:12px;line-height:1.8}
 html.motion-ready .reveal{opacity:1;transform:none;transition:none}
 html.reduce-motion .story{padding:0}
 html.reduce-motion .story-sticky{padding:0}
 html.reduce-motion .story-static{padding:48px 24px}
}
@media(max-width:359px){
 .wrap{width:calc(100% - 32px)}
 .nav{padding-inline:8px;gap:3px}
 .nav .company-logo{width:90px}
 .nav .nav-cta{font-size:11px;padding-inline:11px!important}
 .hero-copy{padding-inline:16px}
 .hero .kicker{font-size:9px}
 .hero h1{font-size:37px}
 .hero-desc{font-size:14px}
 .hero-bottom{gap:8px;padding-inline:14px}
 .hero-bottom .pill{font-size:12px;padding-inline:17px}
 .hero-bottom .down-link{font-size:12px}
 .story-sticky{padding-inline:16px}
 .story-canvas{width:calc(100% + 32px);margin-inline:-16px}
 .phase h2{font-size:30px}
 .chapter{font-size:11px}
 .cloud-copy,.card-copy,.vr-copy{padding-inline:20px}
 .cloud-copy h2{font-size:32px}
 .service-card .card-copy h3{font-size:27px}
 .card-foot{margin-inline:20px}
 .segments button{font-size:11px}
 .view-tools{gap:8px;padding:10px}
 .view-station-buttons{gap:4px}
 .view-measure-button{font-size:10px;padding-inline:8px}
 #contact-dialog .enquiry-body{padding-inline:18px}
 #contact-dialog .enquiry-progress{gap:6px}
 #contact-dialog .enquiry-progress>span{font-size:9px}
 #contact-dialog .enquiry-body h2{font-size:29px}
}
@media(pointer:coarse){.field input,.field select,.field textarea{font-size:16px}.dialog-close,.round{min-width:44px;min-height:44px}}
@media(prefers-reduced-motion:reduce){.hero-copy{will-change:auto}.pill:active,.round:active{transform:none}}
/* ---- static-scene-fallbacks ---- */
#hero-canvas:not(.is-painted){background-image:url("../img/scene-hero.webp");background-position:center;background-repeat:no-repeat;background-size:contain;}#story-canvas:not(.is-painted){background-image:url("../img/scene-story.webp");background-position:center;background-repeat:no-repeat;background-size:contain;}#cloud-canvas:not(.is-painted){background-image:url("../img/scene-cloud.webp");background-position:center;background-repeat:no-repeat;background-size:contain;}#scan-card:not(.is-painted){background-image:url("../img/scene-scan-card.webp");background-position:center;background-repeat:no-repeat;background-size:contain;}#plan-card:not(.is-painted){background-image:url("../img/scene-plan-card.webp");background-position:center;background-repeat:no-repeat;background-size:contain;}#cad-card:not(.is-painted){background-image:url("../img/scene-cad-card.webp");background-position:center;background-repeat:no-repeat;background-size:contain;}#studio-canvas:not(.is-painted){background-image:url("../img/scene-studio.webp");background-position:center;background-repeat:no-repeat;background-size:contain;}#project-view-canvas:not(.is-painted){background-image:url("../img/scene-project-view.webp");background-position:center;background-repeat:no-repeat;background-size:contain;}
/* ---- rotions-mobile-cinema ---- */
/* Mobile cinematic edition. Native scrolling, no external animation libraries. */
.cinema-object{display:contents}.cinema-hud,.cinema-cue{display:none}
@media(max-width:900px){
 html.motion-ready .reveal{opacity:0;transform:translate3d(0,22px,0);transition:opacity .65s var(--ease),transform .8s var(--ease)}
 html.motion-ready .reveal.in{opacity:1;transform:translate3d(0,0,0)}
 html.motion-ready .reveal.delay-1{transition-delay:45ms}
 html.motion-ready .reveal.delay-2{transition-delay:90ms}
 html.motion-ready .manifesto .word{color:#c2cbd1;transition:color .25s ease}
 html.motion-ready .manifesto .word.lit{color:#24313d}
 html.motion-ready .manifesto .word.accent.lit{color:var(--accent)}
 .hero{padding-top:calc(114px + var(--safe-top));padding-bottom:33px}
 .hero .kicker{margin-bottom:20px}
 .hero-desc{max-width:345px}
 .hero-scene{margin-top:10px;margin-bottom:9px}
 .hero-caption{font-size:9px;color:#778792;max-width:310px}
 .hero-bottom{gap:12px}
 .cinema-object{display:block;position:relative;order:2;width:calc(100% + 40px);height:clamp(245px,76vw,355px);margin:10px -20px 9px;min-width:0;min-height:0;isolation:isolate}
 .cinema-object .story-canvas{position:absolute;inset:0;width:100%;height:100%;margin:0}
 .cinema-hud{display:block;position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden}
 .cinema-mark{position:absolute;width:14px;height:14px;opacity:.48;border-color:#72a8c3;border-style:solid}
 .cinema-mark.tl{top:16px;left:16px;border-width:1px 0 0 1px}.cinema-mark.tr{top:16px;right:16px;border-width:1px 1px 0 0}
 .cinema-mark.bl{bottom:16px;left:16px;border-width:0 0 1px 1px}.cinema-mark.br{bottom:16px;right:16px;border-width:0 1px 1px 0}
 .cinema-sweep{position:absolute;inset:12% 12% auto;height:1px;background:linear-gradient(90deg,transparent,#67c5ff66,#acdeff,transparent);opacity:0;transform:translate3d(0,0,0);box-shadow:0 0 13px #69b7ff66}
 .cinema-sweep:before{content:'';position:absolute;inset:auto 0 0;height:40px;background:linear-gradient(0deg,#53aaff13,transparent)}
 .cinema-cue{display:flex;align-items:center;gap:7px;color:#8cb5d0;font-size:8px;line-height:1.5;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}
 .cinema-cue svg{width:10px;height:14px;fill:none;stroke:currentColor;stroke-width:1.3}
 .story-top{display:flex;align-items:center;gap:12px;justify-content:space-between}
 .story-top .kicker{font-size:9px;line-height:1.6;letter-spacing:.10em;max-width:220px}
 .story-top .cinema-cue{flex:none}
 .story-result{letter-spacing:0}
 html:not(.mobile-cinema) .cinema-cue{display:none}
 .fact-grid article{position:relative}
 .fact-grid article:after{content:'';position:absolute;bottom:0;left:0;width:100%;height:1px;background:linear-gradient(90deg,#388eee,#a8d4fa,transparent);transform:scaleX(var(--fact-fill,0));transform-origin:left center;pointer-events:none}
 .contact-portrait img{transform:translate3d(0,var(--portrait-shift,0px),0) scale(var(--portrait-scale,1));transform-origin:center}
 html.reduce-motion .cinema-hud,html.reduce-motion .cinema-object{display:none!important}
 html.reduce-motion .contact-portrait img{transform:none}
 html.reduce-motion .fact-grid article:after{transform:scaleX(1)}
}
@media(max-width:900px) and (min-height:620px){
 html.mobile-cinema .story{--m-stage:100svh;--m-run:min(180svh,1650px);height:calc(var(--m-stage) + var(--m-run));padding:0;position:relative;overflow:visible;background:#080e16}
 html.mobile-cinema .story-sticky{position:sticky;top:0;height:var(--m-stage);min-height:0;max-height:none;max-width:none;width:100%;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr) auto;gap:12px;padding:calc(96px + var(--safe-top)) max(22px,calc((100vw - 610px)/2)) calc(16px + var(--safe-bottom));overflow:hidden;isolation:isolate;background:radial-gradient(ellipse 90% 63% at 50% 65%,#132c3d 0%,#0a131e 66%,#080e16 100%)}
 html.mobile-cinema .story-top{grid-row:1;order:initial;margin:0;min-width:0;width:100%;max-width:none}
 html.mobile-cinema .story-top .kicker{max-width:230px;font-size:8px;line-height:1.6;letter-spacing:.075em}
 html.mobile-cinema .story-copy{grid-row:2;order:initial;position:relative;inset:auto;display:grid;margin:0;min-width:0}
 html.mobile-cinema .phase{position:relative;grid-area:1/1;inset:auto;width:100%;max-width:none;visibility:visible;opacity:0;transition:none;transform:none!important}
 html.mobile-cinema .phase.active{opacity:var(--phase-alpha,1);transform:translate3d(0,var(--phase-shift,0px),0)!important}
 html.mobile-cinema .phase .phase-index{font-size:9px;line-height:1.5;letter-spacing:.10em;margin-bottom:11px;color:#7fbefe}
 html.mobile-cinema .phase h2{font-size:clamp(30px,8.75vw,48px);line-height:1.07;letter-spacing:-.047em;margin:0}
 html.mobile-cinema .phase h2 .silver{color:#94adbf}
 html.mobile-cinema .phase p.mobile-story-copy{font-size:12px;line-height:1.7;margin-top:12px;color:#94afc3;max-width:470px}
 html.mobile-cinema .cinema-object{grid-row:3;order:initial;width:calc(100% + 28px);height:100%;min-height:0;max-height:none;margin:0 -14px}
 html.mobile-cinema .cinema-object .story-canvas{position:absolute;inset:0;width:100%;height:100%;margin:0}
 html.mobile-cinema .story-bottom{grid-row:4;order:initial;position:relative;inset:auto;display:block;width:100%;margin:0}
 html.mobile-cinema .chapters{gap:5px;padding:4px;border-radius:14px;background:#19334b55;border-color:#78bafc33}
 html.mobile-cinema .chapter{min-height:44px;font-size:11px;padding:8px 4px;border-radius:10px;position:relative;overflow:hidden;isolation:isolate}
 html.mobile-cinema .chapter.active{color:#edf8ff;background:#3a8df524}
 html.mobile-cinema .chapter:after{display:block;inset:auto 12px 0;height:2px;border-radius:2px;background:#79baff;transform:scaleX(var(--fill,0))}
 html.mobile-cinema .story-result{font-size:8px;line-height:1.65;max-width:400px;margin:12px auto 0;color:#718ba0}
 html.mobile-cinema .service-grid{display:block;position:relative;overflow:visible;padding-bottom:0}
 html.mobile-cinema .service-card{opacity:1!important;position:sticky;top:calc(93px + var(--safe-top));margin:0 0 27px;z-index:1;transform-origin:center top;transform:scale(var(--card-scale,1))!important;transition:opacity .6s ease,box-shadow .5s ease!important;box-shadow:0 15px 42px #10283d0d}
 html.mobile-cinema .service-card:nth-child(2){top:calc(100px + var(--safe-top));z-index:2}
 html.mobile-cinema .service-card:nth-child(3){top:calc(107px + var(--safe-top));z-index:3;margin-bottom:0}
 html.mobile-cinema .service-card.dark{background:#101b27}
 html.mobile-cinema .service-card:not(.dark){background:#fafcfd}
 html.mobile-cinema .service-card .card-canvas{height:clamp(220px,60vw,260px)}
 html.mobile-cinema .service-note{margin-top:25px}
 html.mobile-cinema .studio-stage{box-shadow:0 18px 55px #10283d08}
}
@media(max-width:900px) and (max-height:730px){
 html.mobile-cinema .story-sticky{gap:9px;padding-top:calc(88px + var(--safe-top));padding-bottom:calc(12px + var(--safe-bottom))}
 html.mobile-cinema .phase h2{font-size:clamp(28px,8.05vw,40px);line-height:1.07}
 html.mobile-cinema .phase p.mobile-story-copy{font-size:11px;line-height:1.6;margin-top:9px}
 html.mobile-cinema .phase .phase-index{font-size:8px;margin-bottom:8px}
 html.mobile-cinema .story-result{font-size:7px;margin-top:8px}
 html.mobile-cinema .story-top .kicker{font-size:7px;max-width:185px}
}
@media(max-width:359px){.cinema-object{width:calc(100% + 32px);margin-inline:-16px}.hero-bottom{gap:9px}.hero h1{font-size:37px}}
@media(prefers-reduced-motion:reduce){html:not(.motion-ready) .contact-portrait img{transform:none}}
/* ---- review-refinements ---- */
/* Review pass: small laptop heights, stable mobile captions and touch safe areas. */
@media (min-width:901px) and (max-height:780px){
 .story-sticky{min-height:0}
 .story-top{top:119px}
 .phase{top:28%;width:440px;max-width:37%}
 .phase .phase-index{margin-bottom:18px}
 .phase h2{font-size:clamp(38px,min(4.5vw,8.2svh),64px);line-height:1.05}
 .phase p{font-size:13px;line-height:1.7;margin-top:18px;max-width:330px}
 .story-bottom{bottom:43px}
}
@media (min-width:901px) and (max-height:590px){
 .phase{top:148px;max-width:40%}
 .phase .phase-index{font-size:9px;margin-bottom:12px}
 .phase h2{font-size:clamp(31px,min(3.8vw,8svh),43px)}
 .phase p{font-size:12px;line-height:1.6;margin-top:12px}
 .story-top{top:115px}
 .story-bottom{bottom:32px}
}
@media (min-width:901px) and (max-height:500px){
 .phase{top:145px}
 .phase>p{display:none}
 .phase h2{font-size:31px;line-height:1.03}
 .story-bottom{bottom:25px}
 .story-result{font-size:8px;max-width:250px}
 .story-result strong{font-size:10px}
}
@media (max-width:900px){
 html.mobile-cinema .phase{transition:opacity .28s ease,transform .36s var(--ease);transform:translate3d(0,8px,0)!important}
 html.mobile-cinema .phase.active{opacity:1;transform:translate3d(0,0,0)!important}
 html.mobile-cinema .story-result{font-size:9px;line-height:1.6}
 .story-canvas,.card-canvas,#cloud-canvas,#hero-canvas{pointer-events:none}
 #contact-dialog .enquiry-body{padding-left:max(22px,env(safe-area-inset-left,0px));padding-right:max(22px,env(safe-area-inset-right,0px))}
 #contact-dialog .enquiry-aside{padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
 #contact-dialog .dialog-close{right:max(15px,env(safe-area-inset-right,0px))}
 .story-sticky,.studio-stage,.cloud-shell,.view-window{overflow-anchor:none}
}
html.reduce-motion .phase{transition:none!important;transform:none!important}
