@font-face{font-family:Manrope;src:url('assets/manrope-variable.ttf') format('truetype');font-weight:200 800;font-display:swap}
:root{--navy:#0A2540;--cyan:#00D9C3;--green:#16A34A;--white:#fff;--surface:#F4F6F8;--graphite:#374151;--ink:#0b1744;--muted:#405489;--font:Manrope,Arial,sans-serif;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:auto;scrollbar-gutter:stable}body{margin:0;background:#f4f6f8;color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}svg{display:block}p,h1,h2,h3{margin:0}button{border:0}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #007e89;outline-offset:5px}button:hover,a:hover{outline-offset:5px}[hidden]{display:none!important}.svg-library{position:absolute;overflow:hidden}.site{width:100%;max-width:1440px;margin:0 auto;container-type:inline-size;background:#fff;--u:calc(100cqw / 941)}main{display:block}section{position:relative}h1,h2{font-weight:750;letter-spacing:-.065em}i{display:block;font-style:normal}.icon{width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.arrow{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;flex-shrink:0}.brand{width:100%;height:auto}.brand-mark{width:40px;height:32px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:calc(12 * var(--u));height:calc(38 * var(--u));padding:0 calc(19 * var(--u));font-size:calc(12.5 * var(--u));font-weight:650;border:1px solid transparent;border-radius:calc(4 * var(--u));line-height:1.2;white-space:nowrap;transition:background-color .2s,border-color .2s,color .2s}.button .arrow{width:calc(18 * var(--u));height:calc(18 * var(--u))}.button.green{background:#009e63;color:white}.button.green:hover{background:#007e51}.button.cyan{background:#00dce8;color:#001f37}.button.cyan:hover{background:#00c7d7}.button.outline{background:rgba(255,255,255,.45);color:#009c89;border-color:#00a999}.button.outline:hover{background:#e8fff9}.button.light{color:white;border-color:#a8e6d6;background:transparent}.button.light:hover{background:#ffffff12}.eyebrow{font-size:calc(10 * var(--u));font-weight:650;letter-spacing:.22em;color:#465b95;line-height:1.5;display:flex;align-items:center;gap:calc(12 * var(--u))}.eyebrow i,.section-brand i{width:calc(31 * var(--u));height:1px;background:#04bca8}.section-brand{display:flex;align-items:center;gap:calc(10 * var(--u));font-size:calc(10 * var(--u));letter-spacing:.15em;font-weight:650;color:#51649a}.section-brand .brand-mark{width:calc(31 * var(--u));height:calc(28 * var(--u))}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.skip-link{position:fixed;top:8px;left:12px;z-index:100;background:white;padding:12px 20px;transform:translateY(-150%);border:1px solid #008b82;border-radius:5px}.skip-link:focus{transform:none}
/* Reference geometry: every desktop coordinate is normalized to the 941 px artwork. */
.hero{height:calc(365 * var(--u));isolation:isolate;overflow:hidden}.hero-visual{position:absolute;inset:0;perspective:1100px;pointer-events:none;z-index:-1}.hero-visual>svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.hero-piece{transform-origin:65% 60%;backface-visibility:hidden}.header{position:absolute;left:calc(49 * var(--u));right:calc(39 * var(--u));top:calc(13 * var(--u));height:calc(34 * var(--u));display:flex;align-items:flex-start;z-index:10}.home-link{width:calc(151 * var(--u));display:block}.desktop-nav{display:flex;position:absolute;left:calc(207 * var(--u));top:calc(8 * var(--u));gap:calc(27 * var(--u));font-size:calc(10 * var(--u));font-weight:550;align-items:center;white-space:nowrap}.desktop-nav a:hover,.footer nav a:hover{color:#009f8c}.header-contact.button{margin-left:auto;height:calc(32 * var(--u));width:calc(141 * var(--u));padding:0 calc(16 * var(--u));font-size:calc(9.5 * var(--u));color:#223767}.header-contact .arrow{width:calc(14 * var(--u));height:calc(14 * var(--u));color:#00a992}.menu-button,.mobile-nav{display:none}.hero-copy{position:absolute;left:calc(51 * var(--u));top:calc(81 * var(--u));z-index:2}.hero-copy .eyebrow i{background:#667da7}.hero h1{font-size:calc(36.5 * var(--u));line-height:1.18;margin-top:calc(9 * var(--u));letter-spacing:-.064em;font-weight:780}.reveal-mask{display:block;overflow:hidden;padding-bottom:.18em;margin-bottom:-.18em}.reveal-mask>span{display:block}.green-text{color:#009d64}.hero-description{margin-top:calc(10 * var(--u));font-size:calc(18 * var(--u));line-height:1.15;letter-spacing:-.034em}.hero-cta{margin-top:calc(14 * var(--u));width:calc(213 * var(--u));font-size:calc(13 * var(--u))}
.ecosystem{height:calc(556 * var(--u));background:linear-gradient(120deg,#fff,#f7fbff);isolation:isolate}
.ecosystem-scenery,.eco-connections{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.ecosystem-scenery{z-index:-1;opacity:.75;top:auto;bottom:0;height:auto;aspect-ratio:941/504}
.eco-copy{position:absolute;left:calc(51 * var(--u));top:calc(51 * var(--u));text-align:left}.eco-copy .eyebrow{justify-content:flex-start}
.eco-copy h2{font-size:calc(36 * var(--u));line-height:1.05;letter-spacing:-.059em;margin-top:calc(15 * var(--u))}
.eco-copy br{display:block}.eco-copy>p:last-child{font-size:calc(19 * var(--u));line-height:1.18;letter-spacing:-.035em;margin-top:calc(11 * var(--u))}
.eco-controls{position:absolute;left:calc(53 * var(--u));top:calc(244 * var(--u));width:calc(223 * var(--u));height:calc(39 * var(--u));display:flex;align-items:stretch;border:1px solid #cbdff0;border-radius:100px;background:#f0f7fd;padding:2px}
.eco-controls button{font-size:calc(8.3 * var(--u));padding:0 calc(9 * var(--u));flex:1;border-radius:100px;background:transparent;white-space:nowrap;color:#354e85;transition:color .25s,background .25s}
.eco-controls button[aria-pressed=true]{color:white;background:#0A2540;box-shadow:inset 0 0 0 2px #ffffff10}
.eco-focus-description{position:absolute;left:calc(55 * var(--u));top:calc(294 * var(--u));width:calc(220 * var(--u));text-align:left;color:var(--muted);font-size:calc(11 * var(--u));line-height:1.5}
.eco-map{position:absolute;left:calc(288 * var(--u));top:calc(28 * var(--u));width:calc(600 * var(--u));height:calc(478 * var(--u))}
.eco-mother{position:absolute;left:calc(180 * var(--u));top:0;width:calc(240 * var(--u));text-align:center}
.eco-mother .brand{height:calc(49 * var(--u))}.eco-mother p{font-size:calc(11.5 * var(--u));line-height:1.3;margin-top:calc(5 * var(--u));color:#354c86;letter-spacing:-.025em;white-space:nowrap}
.eco-line{transition:opacity .35s,stroke-width .35s}.line-templum{stroke:#16A34A}.line-strategy{stroke:#00D9C3}.node-templum{fill:#16A34A}.node-strategy{fill:#00D9C3}
.eco-cards{position:absolute;left:0;top:calc(146 * var(--u));width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:calc(24 * var(--u))}
.ecosystem-card{position:relative;display:flex;flex-direction:column;min-width:0;height:calc(258 * var(--u));border:1px solid #bdebe0;border-radius:calc(10 * var(--u));background:linear-gradient(130deg,#fff,#edfcf8);box-shadow:0 8px 25px #029e6f12;padding:calc(12 * var(--u));transform-style:preserve-3d;transform-origin:50% 50%;transition:border-color .35s,box-shadow .35s;backface-visibility:hidden}
.strategy-card{border-color:#bdeaf0;background:linear-gradient(135deg,#fff,#f0fbfe);box-shadow:0 8px 25px #00a8c315}
.card-brand{text-align:center}.card-brand .brand-mark{width:calc(53 * var(--u));height:calc(42 * var(--u));margin:0 auto}
.card-brand h3{font-size:calc(16 * var(--u));letter-spacing:.14em;font-weight:800;margin:calc(1 * var(--u)) 0 calc(2 * var(--u))}.strategy-card h3{letter-spacing:.073em;white-space:nowrap}
.card-brand p{font-size:calc(10.2 * var(--u));line-height:1.6;color:#3e568b;white-space:nowrap}
.service-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:calc(6 * var(--u));margin-top:calc(10 * var(--u));height:calc(83 * var(--u))}
.service-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:calc(7 * var(--u));background:#fff;border-radius:calc(6 * var(--u));box-shadow:0 3px 9px #17386506}
.service-tile .icon{width:calc(33 * var(--u));height:calc(33 * var(--u));color:#16A34A;stroke-width:1.6}.service-tile span{text-align:center;font-size:calc(8.5 * var(--u));line-height:1.3;font-weight:800;letter-spacing:-.03em}
.strategy-card .service-tile .icon{color:#00D9C3}
.card-cta,.strategy-card .card-cta{width:100%;font-size:calc(9.3 * var(--u));padding:0 calc(13 * var(--u));height:calc(36 * var(--u));margin-top:auto;font-weight:750;gap:calc(5 * var(--u));flex-shrink:0}
.strategy-card .card-cta{background:#00bfd2;color:#fff}
.product-note{font-size:calc(7 * var(--u));letter-spacing:-.02em;white-space:nowrap;color:#50699c;margin-top:calc(6 * var(--u));text-align:center}
.ecosystem-help{position:absolute;left:calc(175 * var(--u));top:calc(433 * var(--u));width:calc(250 * var(--u));height:calc(45 * var(--u));background:#ffffffef;border:1px solid #c4eaf0;border-radius:calc(5 * var(--u));display:flex;align-items:center;justify-content:center;gap:calc(16 * var(--u));box-shadow:0 3px 12px #039caa0c;z-index:5}
.ecosystem-help>.icon{color:#009e9b;width:calc(26 * var(--u));height:calc(26 * var(--u))}.ecosystem-help span{font-size:calc(9.2 * var(--u));letter-spacing:.025em;font-weight:750;line-height:1.6}
.ecosystem-help strong{font-size:calc(9 * var(--u));letter-spacing:.15em;color:#00a08d;display:flex;align-items:center;justify-content:center;gap:calc(8 * var(--u))}.ecosystem-help .arrow{width:calc(15 * var(--u));height:calc(15 * var(--u))}
.ecosystem[data-focus=templum] .strategy-card,.ecosystem[data-focus=strategy] .templum-card{box-shadow:none;border-color:#dde6eb}
.ecosystem[data-focus=templum] .templum-card{border-color:#16A34A;box-shadow:0 8px 28px #16a34a26}.ecosystem[data-focus=strategy] .strategy-card{border-color:#00D9C3;box-shadow:0 8px 28px #00d9c326}
.ecosystem[data-focus=templum] .line-strategy,.ecosystem[data-focus=strategy] .line-templum{opacity:.18}.ecosystem[data-focus=templum] .line-templum,.ecosystem[data-focus=strategy] .line-strategy{stroke-width:2.6}
.templum{height:calc(260 * var(--u));margin-top:calc(-47 * var(--u));clip-path:polygon(0 0,38.257% 0,45.378% 18.077%,100% 18.077%,100% 100%,0 100%);background:#172823;isolation:isolate}.monitor-scene,.monitor-scene-inner,.monitor-photograph{position:absolute;inset:0;width:100%;height:100%}.monitor-scene{overflow:hidden;z-index:-2}.monitor-screen{position:absolute;width:500px;height:300px;left:0;top:0;transform-origin:0 0;opacity:0;overflow:hidden;pointer-events:none}.monitor-screen svg{width:100%;height:100%}.monitor-screen[data-stage=project] .floor-front,.monitor-screen[data-stage=project] .floor-side,.monitor-screen[data-stage=project] .floor-roof{fill:#0a2937;fill-opacity:.68}.monitor-screen[data-stage=planning] .floor-front{fill:#08796c}.monitor-screen[data-stage=planning] .floor-side{fill:#13a994}.monitor-screen[data-stage=planning] .floor-roof{fill:#59dbbc}.monitor-screen[data-stage=planning] .floor-1 .floor-front{fill:#217b99}.monitor-screen[data-stage=planning] .floor-1 .floor-side{fill:#348cac}.monitor-screen[data-stage=planning] .floor-0 .floor-roof{fill:#f1cb72}.templum-plane{position:absolute;inset:0;clip-path:polygon(0 0,100% 0,57.5% 18%,46.65% 100%,0 100%);background:radial-gradient(ellipse at 43% 80%,#00563830,transparent 55%),linear-gradient(125deg,#001d1a,#003321 54%,#00502e);z-index:-1}.templum-plane:after{content:'';position:absolute;left:15%;right:35%;bottom:-35%;height:80%;opacity:.12;background:repeating-linear-gradient(0deg,transparent 0 21px,#54c0a5 21px 22px),repeating-linear-gradient(90deg,transparent 0 30px,#54c0a5 30px 31px);transform:skew(-48deg) rotate(-15deg)}.templum-copy{position:absolute;left:calc(51 * var(--u));top:calc(28 * var(--u));color:#fff}.templum-copy .section-brand{color:#fff;font-size:calc(13 * var(--u));letter-spacing:.23em;gap:calc(10 * var(--u))}.templum-copy h2{font-size:calc(39 * var(--u));line-height:.96;margin-top:calc(13 * var(--u));font-weight:750;letter-spacing:-.047em}.templum-copy>p:not(.section-brand){font-size:calc(14 * var(--u));line-height:1.18;margin-top:calc(13 * var(--u));letter-spacing:-.035em}.templum-copy .button{margin-top:calc(16 * var(--u));height:calc(35 * var(--u));width:calc(189 * var(--u));font-size:calc(12 * var(--u))}.templum-steps{position:absolute;left:calc(280 * var(--u));top:calc(75 * var(--u));display:flex;height:calc(109 * var(--u));width:calc(233 * var(--u))}.templum-steps [data-stage]{flex:1;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:calc(9 * var(--u));background:transparent;border-left:1px solid #0ec49a80;color:white;padding:0;font-size:calc(11 * var(--u));letter-spacing:-.04em}.templum-steps .icon{color:#25e4b8;width:calc(28 * var(--u));height:calc(28 * var(--u))}.templum-steps i{height:1px;width:calc(25 * var(--u));background:#40ddbc;transform:scaleX(.45);transition:transform .3s,background .3s}.templum-steps [data-stage][data-selected=true] i,.templum-steps [data-stage]:hover i{transform:scaleX(1);background:#a6ffe5}.templum-steps [data-stage][data-selected=true] .icon{color:#72ffd5}.templum-aside{position:absolute;left:calc(828 * var(--u));top:calc(82 * var(--u));color:#fff;font-size:calc(9.6 * var(--u));font-weight:650;letter-spacing:.11em;line-height:1.45}
.strategy{height:calc(266 * var(--u));background:#fff}.strategy-copy{position:absolute;left:calc(51 * var(--u));top:calc(23 * var(--u))}.strategy-copy .section-brand{gap:calc(9 * var(--u))}.strategy-copy .section-brand .brand-mark{width:calc(33 * var(--u));height:calc(28 * var(--u))}.strategy-copy h2{font-size:calc(33 * var(--u));line-height:1.02;margin-top:calc(18 * var(--u));letter-spacing:-.062em}.strategy-copy>p:not(.section-brand){font-size:calc(15.3 * var(--u));line-height:1.3;margin-top:calc(11 * var(--u));color:#42578e;letter-spacing:-.025em}.strategy-copy .button{height:calc(36 * var(--u));margin-top:calc(16 * var(--u));font-size:calc(12 * var(--u));width:calc(233 * var(--u));padding:0 calc(18 * var(--u))}.intelligence-diagram{position:absolute;left:calc(326 * var(--u));top:calc(39 * var(--u));width:calc(450 * var(--u));height:calc(210 * var(--u))}.intelligence-art{width:100%;height:100%;position:absolute;inset:0;pointer-events:none;overflow:visible}.intelligence-inputs{position:absolute;left:0;top:calc(32 * var(--u));display:flex;flex-direction:column;gap:calc(14 * var(--u));z-index:2}.intelligence-topic{display:flex;align-items:center;padding:0 calc(6 * var(--u));gap:calc(9 * var(--u));height:calc(29 * var(--u));color:#00D9C3;background:transparent;transition:color .25s}.intelligence-topic .icon{width:calc(25 * var(--u));height:calc(25 * var(--u));stroke-width:2}.intelligence-topic span{font-size:calc(8.5 * var(--u));font-weight:650;color:#425993}.intelligence-topic:hover,.intelligence-topic.is-active{color:#00D9C3}.intelligence-topic.is-active span{color:#0A2540}.intelligence-layer{transform-box:fill-box;transform-origin:center;opacity:.76;transition:opacity .3s}.layer-plane{transition:stroke .3s,stroke-width .3s}.intelligence-layer.is-active{opacity:1}.intelligence-layer.is-active .layer-plane{stroke:#fff;stroke-width:1.7}.intelligence-layer.is-muted{opacity:.27}.input-pulse,.output-pulse{stroke-dasharray:.12 .88;stroke-dashoffset:1;opacity:0}.intelligence-outputs{position:absolute;left:calc(326 * var(--u));top:calc(39 * var(--u));width:calc(126 * var(--u));display:flex;flex-direction:column;gap:calc(28 * var(--u))}.intelligence-outputs>div{display:flex;align-items:center;gap:calc(10 * var(--u));color:#00718b;min-height:calc(29 * var(--u));transition:color .3s}.intelligence-outputs>div:last-child{color:#102254}.intelligence-outputs .icon{width:calc(27 * var(--u));height:calc(27 * var(--u));flex-shrink:0}.intelligence-outputs span{font-size:calc(8.5 * var(--u));line-height:1.35;font-weight:700;color:#4b6197;letter-spacing:.02em}.intelligence-outputs .is-active{color:#00b491}.intelligence-status{position:absolute;left:calc(97 * var(--u));bottom:calc(-3 * var(--u));width:calc(223 * var(--u));font-size:calc(7.4 * var(--u));text-align:center;color:#277d80;line-height:1.2}.obria{position:absolute;left:calc(790 * var(--u));top:calc(46 * var(--u));width:calc(132 * var(--u));height:calc(199 * var(--u));border-left:1px solid #20c0b9;padding:calc(20 * var(--u)) 0 0 calc(22 * var(--u))}.obria>svg{width:calc(41 * var(--u));height:calc(41 * var(--u))}.obria h3{font-size:calc(13 * var(--u));letter-spacing:.12em;margin-top:calc(4 * var(--u))}.obria p{font-size:calc(9 * var(--u));color:#526ba3;line-height:1.45;white-space:nowrap}.obria small{font-size:calc(7 * var(--u));color:#6079a6;display:block;margin-top:calc(1 * var(--u))}.obria i{height:1px;width:calc(29 * var(--u));background:#0ab4ad;margin:calc(15 * var(--u)) 0 calc(17 * var(--u))}.obria .obria-caption{font-size:calc(9.5 * var(--u));letter-spacing:.07em;font-weight:550}
.contact-banner{height:calc(182 * var(--u));background:linear-gradient(117deg,#103f5a,#00243c 59%,#063953);color:white;overflow:hidden;isolation:isolate}.contact-scenery{position:absolute;inset:0;width:100%;height:100%;z-index:-2}.contact-shade{position:absolute;inset:0;background:linear-gradient(90deg,#072a4100 40%,#02192788 54%,transparent 59%);z-index:-1}.contact-copy{position:absolute;left:calc(60 * var(--u));top:calc(21 * var(--u))}.contact-copy .eyebrow{color:#00d9c3;font-size:calc(10 * var(--u));letter-spacing:.17em}.contact-copy h2{font-size:calc(34 * var(--u));line-height:.98;letter-spacing:-.04em;margin-top:calc(10 * var(--u));font-weight:750}.contact-copy>p:last-child{font-size:calc(13.6 * var(--u));letter-spacing:-.038em;margin-top:calc(11 * var(--u))}.contact-banner aside{position:absolute;left:calc(808 * var(--u));top:calc(43 * var(--u));font-size:calc(9.5 * var(--u));line-height:1.55;letter-spacing:.095em}.contact-banner aside:before{content:'';position:absolute;left:calc(-18 * var(--u));height:calc(58 * var(--u));width:1px;background:#00c7bb70}.magnetic-wrap{position:absolute;left:calc(618 * var(--u));top:calc(116 * var(--u));width:calc(220 * var(--u));height:calc(38 * var(--u))}.magnetic-button{width:100%;font-size:calc(12 * var(--u));padding:0 calc(25 * var(--u));font-weight:750}
.footer{height:calc(142 * var(--u));position:relative;background:linear-gradient(120deg,#fff,#f7fbff)}.footer-brand{position:absolute;left:calc(49 * var(--u));top:calc(19 * var(--u));width:calc(151 * var(--u))}.footer nav{position:absolute;left:calc(262 * var(--u));top:calc(28 * var(--u));display:flex;gap:calc(27 * var(--u));font-size:calc(10 * var(--u));font-weight:600}.linkedin{position:absolute;left:calc(681 * var(--u));top:calc(24 * var(--u));width:calc(27 * var(--u));height:calc(27 * var(--u));padding:calc(3 * var(--u));background:transparent;color:#051d46}.linkedin svg{width:100%;height:100%}.footer-tagline{position:absolute;left:calc(732 * var(--u));top:calc(20 * var(--u));font-size:calc(10.5 * var(--u));line-height:1.5;border-left:1px solid #5d79a2;padding-left:calc(30 * var(--u));height:calc(32 * var(--u));letter-spacing:-.02em;color:#3b5286}.footer-bottom{position:absolute;left:calc(51 * var(--u));right:calc(51 * var(--u));top:calc(74 * var(--u));border-top:1px solid #dbe5f1;padding-top:calc(17 * var(--u));display:flex;align-items:center;justify-content:space-between;font-size:calc(10.2 * var(--u));color:#476093}.footer-bottom>div{display:flex;gap:calc(32 * var(--u))}.footer-bottom button{padding:0;background:transparent;font-size:inherit;color:inherit}.footer-bottom .motion-toggle{font-size:calc(8.3 * var(--u));color:#477482}.footer-bottom button:hover{color:#008c7f}
/* Dialogs stay outside the pinned composition, so keyboard and focus remain predictable. */
dialog{width:min(560px,calc(100% - 32px));max-height:calc(100dvh - 48px);border:1px solid #b3dcd8;border-radius:12px;padding:38px;background:#fff;color:var(--ink);box-shadow:0 20px 80px #001b4033;overflow:auto}dialog::backdrop{background:#051d40b8}body:has(dialog[open]){overflow:hidden}dialog .eyebrow{font-size:10px;margin-bottom:14px}dialog h2{font-size:32px;letter-spacing:-.04em;line-height:1.15;padding-right:10px}dialog>p:not(.eyebrow),.detail-list p{font-size:14px;line-height:1.65;color:#4c5b73;margin-top:16px}.dialog-close{position:absolute;right:12px;top:12px;width:30px;height:30px;background:#eff8f6;border-radius:50%;padding:6px}.dialog-close .icon{width:100%;height:100%}dialog form{margin-top:22px;display:grid;gap:14px}dialog label{display:grid;gap:7px;font-size:12px;font-weight:650}dialog input,dialog select,dialog textarea{width:100%;padding:11px 12px;border:1px solid #cedde3;border-radius:4px;background:#fcfefe;color:var(--navy);font-size:14px}dialog textarea{resize:vertical;min-height:85px}.form-note{font-size:11px;line-height:1.55;color:#607084}dialog .button{height:42px;padding:0 18px;gap:16px;font-size:13px;border-radius:4px}dialog .button .arrow{width:18px;height:18px}.detail-list{margin:24px 0}.detail-list h3{font-size:15px;color:#007f79;margin-top:20px}.detail-list p{margin-top:6px}#message-result{margin-top:24px}#message-preview{font:13px/1.6 var(--font);white-space:pre-wrap;overflow-wrap:anywhere;padding:18px;background:#f2f8f7;border-radius:5px}#copy-status{font-size:12px;margin-top:10px}.noscript-note{text-align:center;padding:20px;font-size:13px;background:#e8fbf6}
@media(min-width:761px) and (max-width:1050px){.eco-controls button{padding:0 calc(7 * var(--u))}}
/* Mobile keeps the same order, photographs and controls; the diagram remains readable. */
@media(max-width:760px){
 .site{--u:1px;max-width:none}.button{height:44px;padding:0 19px;font-size:12px;border-radius:4px;gap:12px}.button .arrow{width:18px;height:18px}.eyebrow{font-size:9px;letter-spacing:.15em;gap:10px}.eyebrow i,.section-brand i{width:26px}.section-brand{font-size:10px;gap:10px}.section-brand .brand-mark{width:31px;height:28px}
 .hero{height:720px;background:#f4faff}.header{left:24px;right:24px;top:22px;height:40px;align-items:center}.home-link{width:147px}.desktop-nav,.header-contact.button{display:none}.menu-button{display:block;margin-left:auto;background:transparent;width:40px;height:40px;padding:8px;color:var(--navy)}.menu-button .icon{width:24px;height:24px}.mobile-nav{position:absolute;top:52px;left:0;right:0;background:#fff;border:1px solid #d2e8e9;border-radius:7px;display:grid;padding:12px;box-shadow:0 10px 24px #183c4515}.mobile-nav a{padding:13px;font-size:13px}.hero-copy{left:24px;right:20px;top:106px}.hero h1{font-size:clamp(25px,7.25vw,42px);line-height:1.18;margin-top:15px;letter-spacing:-.06em}.hero-description{font-size:16px;line-height:1.4;margin-top:15px;letter-spacing:-.03em}.hero-cta{width:216px;margin-top:19px;font-size:13px}.hero-visual{top:auto;bottom:30px;height:330px;overflow:hidden;z-index:0}.hero-visual>svg{width:850px;height:330px;left:calc(50% - 540px);top:0}
 .ecosystem{height:auto;padding:38px 24px 36px;display:flex;flex-direction:column;align-items:center;gap:0}.ecosystem-scenery{opacity:.6;z-index:-1}
 .eco-copy{position:relative;left:auto;top:auto;width:100%;max-width:520px}.eco-copy h2{font-size:clamp(29px,7.2vw,36px);line-height:1.18;margin-top:14px}.eco-copy h2 br{display:block}.eco-copy>p:last-child{font-size:16px;margin-top:12px;line-height:1.45}
 .eco-controls{position:relative;left:auto;top:auto;width:100%;max-width:520px;height:44px;margin-top:22px;flex-shrink:0}.eco-controls button{font-size:10px;padding:0 10px}.eco-focus-description{position:static;max-width:520px;width:100%;font-size:11px;line-height:1.45;min-height:32px;margin-top:9px}
 .eco-map{position:relative;left:auto;top:auto;width:100%;height:auto;max-width:420px;margin-top:15px;display:flex;flex-direction:column;align-items:center;gap:26px}
 .eco-mother{position:relative;top:auto;left:auto;width:246px;margin:0 0 6px}.eco-mother .brand{height:53px}.eco-mother p{font-size:12px;line-height:1.4;margin-top:8px}.eco-connections{display:none}.eco-mother:after{content:'';display:block;width:1px;height:26px;background:linear-gradient(#00D9C3,#16A34A);position:absolute;left:50%;top:calc(100% + 6px)}
 .eco-cards{position:static;display:grid;grid-template-columns:1fr;gap:18px;width:100%}.ecosystem-card{width:100%;height:292px;padding:15px;border-radius:10px;flex-shrink:0}
 .card-brand .brand-mark{width:53px;height:42px}.card-brand h3,.strategy-card h3{font-size:18px;margin:2px 0;letter-spacing:.1em}.card-brand p{font-size:11px;line-height:1.6}
 .service-tiles{height:90px;gap:7px;margin-top:13px}.service-tile{gap:9px;border-radius:6px}.service-tile .icon{width:33px;height:33px}.service-tile span{font-size:9px}.card-cta,.strategy-card .card-cta{height:41px;margin-top:auto;font-size:10px;padding:0 15px}
 .product-note{font-size:8px;white-space:normal;line-height:1.4;margin-top:8px}.ecosystem-help{position:relative;left:auto;top:auto;width:min(100%,300px);height:58px;border-radius:5px;gap:16px;margin:0}.ecosystem-help>.icon{width:26px;height:26px}.ecosystem-help span,.ecosystem-help strong{font-size:10px}.ecosystem-help strong{gap:8px}.ecosystem-help .arrow{width:15px;height:15px}
 .templum{height:615px;margin-top:0;clip-path:polygon(0 0,65% 0,76% 18px,100% 18px,100% 100%,0 100%);background:#00261f}.templum-copy{left:24px;top:36px}.templum-copy .section-brand{font-size:13px;gap:10px;letter-spacing:.23em}.templum-copy h2{font-size:38px;line-height:1;margin-top:16px}.templum-copy>p:not(.section-brand){font-size:15px;line-height:1.35;margin-top:14px}.templum-copy .button{margin-top:18px;width:190px;height:42px;font-size:12px}.templum-plane{clip-path:none;height:360px;background:linear-gradient(130deg,#001e1a,#00432c)}.templum-steps{left:24px;right:24px;top:291px;width:auto;height:68px;z-index:2}.templum-steps [data-stage]{font-size:11px;gap:5px}.templum-steps .icon{width:25px;height:25px}.templum-steps i{width:25px}.templum-aside{display:none}.monitor-scene{top:auto;bottom:0;height:auto;aspect-ratio:506/255;width:100%;z-index:0}.monitor-scene-inner{width:185.9684%;height:101.9608%;left:-85.9684%;top:-18.4314%}.monitor-photograph{width:100%;height:100%}.strategy{height:auto;min-height:770px;padding:37px 24px 27px;display:flex;flex-direction:column;gap:24px}.strategy-copy{position:relative;left:auto;top:auto}.strategy-copy .section-brand{gap:9px}.strategy-copy .section-brand .brand-mark{width:33px;height:28px}.strategy-copy h2{font-size:33px;line-height:1.05;margin-top:18px}.strategy-copy>p:not(.section-brand){font-size:16px;line-height:1.4;margin-top:13px}.strategy-copy .button{width:248px;height:43px;margin-top:19px;font-size:12px;padding:0 18px}.intelligence-diagram{position:relative;left:auto;top:auto;width:100%;height:auto;aspect-ratio:450/235;container-type:inline-size;--u:calc(100cqw / 450);margin:12px 0 4px}.intelligence-art{height:auto;aspect-ratio:450/210}.intelligence-inputs{top:calc(32 * var(--u));gap:calc(14 * var(--u))}.intelligence-topic span{font-size:calc(10 * var(--u))}.intelligence-topic{gap:calc(7 * var(--u));height:calc(29 * var(--u))}.intelligence-topic .icon{width:calc(25 * var(--u));height:calc(25 * var(--u))}.intelligence-outputs{left:calc(326 * var(--u));top:calc(39 * var(--u));width:calc(124 * var(--u));gap:calc(28 * var(--u))}.intelligence-outputs span{font-size:calc(9.5 * var(--u))}.intelligence-status{font-size:calc(11 * var(--u));bottom:0}.obria{position:relative;left:auto;top:auto;width:100%;height:auto;min-height:105px;padding:0 0 0 22px;display:grid;grid-template-columns:60px 1fr;align-content:center;column-gap:16px}.obria>svg{width:47px;height:47px;grid-row:1/5;align-self:center}.obria h3{font-size:14px;letter-spacing:.12em;margin:0}.obria p{font-size:11px}.obria small{font-size:9px;margin-top:2px}.obria i{display:none}.obria .obria-caption{font-size:10px;margin-top:10px;letter-spacing:.07em}.obria .obria-caption br{display:none}
 .contact-banner{height:335px}.contact-scenery{width:1732px;height:335px;left:calc(50% - 1060px);opacity:.4}.contact-shade{background:linear-gradient(90deg,#05283fe6,transparent)}.contact-copy{left:24px;right:24px;top:35px}.contact-copy .eyebrow{font-size:10px}.contact-copy h2{font-size:32px;line-height:1.06;margin-top:17px}.contact-copy>p:last-child{font-size:14px;line-height:1.6;margin-top:16px;max-width:300px}.contact-banner aside{display:none}.magnetic-wrap{left:24px;top:auto;bottom:33px;width:240px;height:44px}.magnetic-button{font-size:12px;padding:0 23px}.footer{height:auto;min-height:325px;padding:30px 24px}.footer-brand{position:static;width:151px;display:block}.footer nav{position:static;display:flex;flex-wrap:wrap;gap:16px 22px;font-size:11px;margin-top:28px;padding-right:35px}.linkedin{left:auto;right:24px;top:32px;width:27px;height:27px;padding:3px}.footer-tagline{position:static;font-size:11px;height:auto;border-left:none;padding:0;margin-top:22px;line-height:1.5}.footer-bottom{position:static;display:flex;align-items:flex-start;flex-wrap:wrap;gap:16px;margin-top:24px;padding-top:20px;font-size:10px}.footer-bottom>p{width:100%}.footer-bottom>div{gap:22px;margin-left:auto}.footer-bottom .motion-toggle{font-size:9px}dialog{padding:32px 24px}dialog h2{font-size:27px}
}
@media(min-width:500px) and (max-width:760px){.hero{height:760px}.hero-copy{left:40px}.hero-visual{height:365px}.hero-visual>svg{width:941px;height:365px;left:calc(50% - 586px)}.templum{height:670px}.templum-copy{left:40px}.monitor-scene{height:320px;aspect-ratio:auto}.strategy{min-height:790px}.intelligence-diagram{max-width:530px;align-self:center}.eco-map{max-width:520px}.obria{margin-top:12px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.reduced-motion *{scroll-behavior:auto!important;animation:none!important;transition:none!important}
@media(max-width:760px){
 .hero{height:710px}.hero-visual{height:300px}.hero-visual>svg{top:-30px}
 .monitor-scene{aspect-ratio:506/213}.monitor-scene-inner{height:122.0657%;top:-22.0657%}
 .templum-aside{display:block;left:77.67%;top:auto;bottom:calc(116 * 100cqw / 506);font-size:calc(9 * 100cqw / 506);line-height:1.45;letter-spacing:.06em}
 .strategy{min-height:0}.intelligence-topic span{font-size:calc(12 * var(--u))}.intelligence-outputs span{font-size:calc(11.5 * var(--u))}
 .intelligence-topic{position:relative}.intelligence-topic:before{content:'';position:absolute;inset:-6px 0}
}
@media(min-width:500px) and (max-width:760px){.hero{height:800px}.hero-visual{height:335px}.monitor-scene{height:auto;aspect-ratio:506/213}}
html,body{overflow-x:clip}
main:focus,section:focus{outline:none}
.ecosystem-card{transition:transform .3s ease-out,border-color .35s,box-shadow .35s}
/* Native artwork and independent animation layers. No screenshot crops or blur filters. */
.hero-object-perspective,.hero-object-tilt,.hero-float{position:absolute;inset:0;width:100%;height:100%;transform-origin:65% 55%}
.hero-object-perspective{transform-style:preserve-3d}
.hero-object-tilt{transition:transform .3s cubic-bezier(.16,1,.3,1);transform-style:preserve-3d}
.hero-part,.hero-piece-scroll{position:absolute;inset:0;width:100%;height:100%;transform-origin:65% 55%}
.hero-part{animation:logo-assemble 1.2s cubic-bezier(.16,1,.3,1) both;will-change:transform,opacity}
.part-blue{--entry-x:-4.5%;--entry-y:-10%;--entry-angle:-5deg}
.part-cyan{--entry-x:4%;--entry-y:-9%;--entry-angle:5deg}
.part-green{--entry-x:3%;--entry-y:11%;--entry-angle:-4deg}
.hero-piece-scroll{will-change:transform}
.hero-piece-scroll>svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
@keyframes logo-assemble{from{opacity:0;transform:translate3d(var(--entry-x),var(--entry-y),0) rotate(var(--entry-angle))}to{opacity:1;transform:translate3d(0,0,0) rotate(0deg)}}
.hero-edge{fill:none;stroke:#fff;stroke-width:1.6;stroke-dasharray:.12 .88;stroke-dashoffset:1;opacity:.6}
.motion-on .hero-edge{animation:edge-shine 5s linear infinite}
.reduced-motion .hero-part{animation:none}
.reduced-motion .hero-edge{stroke-dasharray:none;opacity:.4}
@media(prefers-reduced-motion:reduce){.hero-part{animation:none}}
.intelligence-topic span{line-height:1.15;text-align:left}
.hero-float>svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}

.motion-on .hero-float{animation:hero-breathe 6.5s ease-in-out infinite}
@keyframes hero-breathe{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes edge-shine{0%{stroke-dashoffset:1;opacity:0}15%,80%{opacity:.85}100%{stroke-dashoffset:-1;opacity:0}}
.monitor-frame{position:absolute;inset:0;width:100%;height:100%}.monitor-screen{opacity:1;--scan-duration:6s}
.bim-surface{fill:url(#bim-glass);stroke:#9de6dc;stroke-width:1.15;transition:fill-opacity .25s,stroke .25s}
.bim-grid{stroke:#77c9c7;stroke-width:.65;opacity:.85}.bim-face.is-roof .bim-surface{fill:url(#bim-roof)}
.bim-face.is-plaza .bim-surface{fill:#1a4757;stroke:#418594;stroke-width:.7}
.bim-face.level-3:not(.is-roof) .bim-surface{fill:#217889}
.monitor-screen[data-stage=project] .bim-surface{fill:#051c2b;fill-opacity:.12;stroke:#25E4B8;stroke-width:.9}
.monitor-screen[data-stage=project] .bim-grid{stroke:#79ffe1;opacity:.85}
.monitor-screen[data-stage=express]{--scan-duration:1.15s}
.monitor-screen[data-stage=express] .bim-surface{fill:#086c65;stroke:#25E4B8}
.monitor-screen[data-stage=express] .is-roof .bim-surface{fill:#46c7a9}
.model-scanner{opacity:.85;pointer-events:none;transform:translateY(75px)}
.motion-on .model-scanner{animation:bim-scan var(--scan-duration) ease-in-out infinite}
@keyframes bim-scan{0%,100%{transform:translateY(-12px)}50%{transform:translateY(163px)}}
.templum-steps [data-stage] span{min-height:calc(25 * var(--u));display:flex;align-items:center;justify-content:center;line-height:1.15;text-align:center}
.templum-steps [data-stage]:last-child span{max-width:calc(68 * var(--u));font-size:calc(10.5 * var(--u))}
.templum-steps [data-stage][data-stage=express] .icon{color:#25E4B8;fill:#25e4b817;stroke-width:1.8}
.templum-steps [data-stage].is-preview i{transform:scaleX(1);background:#25E4B8}
.templum-steps [data-stage].is-preview{color:#b9ffeb}
.layer-breath{transform-box:fill-box;transform-origin:center}
.motion-on .layer-breath{animation:layer-breathe 5.6s ease-in-out infinite;animation-delay:var(--breath-delay,0s)}
@keyframes layer-breathe{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
.ambient-pulse{stroke-dasharray:.12 .88;stroke-dashoffset:1;opacity:0}
.motion-on .ambient-pulse{animation:connection-flow 3.8s linear infinite;animation-delay:var(--pulse-delay,0s)}
@keyframes connection-flow{0%{stroke-dashoffset:1;opacity:0}8%,80%{opacity:.75}100%{stroke-dashoffset:-.12;opacity:0}}
.obria>svg{transform-box:fill-box;transform-origin:center}
.motion-on .obria>svg{animation:obria-orbit 22s linear infinite,obria-pulse 4.8s ease-in-out infinite}
@keyframes obria-orbit{to{transform:rotate(360deg)}}
@keyframes obria-pulse{0%,100%{opacity:.8}50%{opacity:1}}
.motion-on .is-offscreen .hero-float,.motion-on .is-offscreen .hero-edge,.motion-on .is-offscreen .model-scanner,.motion-on .is-offscreen .layer-breath,.motion-on .is-offscreen .ambient-pulse,.motion-on .is-offscreen .obria>svg{animation-play-state:paused}
.page-hidden *{animation-play-state:paused!important}
/* Precise pointer translation is deliberately separate from halo scaling. */
#premium-cursor{position:fixed;left:0;top:0;width:0;height:0;z-index:2147483646;pointer-events:none;opacity:0;transition:none!important;will-change:transform}
.cursor-halo{position:absolute;left:-12px;top:-12px;width:24px;height:24px;border:1px solid #00d9c3a6;border-radius:50%;background:radial-gradient(circle at 30% 25%,#8bfff736,#00d9c31f 45%,#0879b31c);transform:scale(1);transition:transform .18s ease-out,opacity .18s ease-out;opacity:.8}
.cursor-point{position:absolute;left:-1.5px;top:-1.5px;width:3px;height:3px;border-radius:50%;background:#007c8f;box-shadow:0 0 0 1px #c3fff6;transition:opacity .15s}
.cursor-brand{position:absolute;inset:3px 1px;opacity:0;transition:opacity .16s}.cursor-brand .brand-mark{width:100%;height:100%}
#premium-cursor.is-hover .cursor-halo{transform:scale(1.9);opacity:1}
#premium-cursor.is-brand .cursor-halo{border-color:transparent;background:transparent}
#premium-cursor.is-brand .cursor-brand{opacity:1}#premium-cursor.is-brand .cursor-point{opacity:0}
@media(hover:hover) and (pointer:fine) and (min-width:761px){.cursor-active,.cursor-active *{cursor:none!important}.cursor-active #premium-cursor{opacity:1}}
@media(hover:none),(pointer:coarse),(max-width:760px){#premium-cursor{display:none!important}}
/* Button highlights never affect the pointer coordinates or the text layout. */
.button,.ecosystem-help{position:relative;isolation:isolate;overflow:hidden}
.ecosystem-help{position:absolute}
.button:before,.ecosystem-help:before{content:'';position:absolute;left:-45%;top:-20%;width:35%;height:140%;background:linear-gradient(100deg,transparent,#ffffff55,transparent);transform:skewX(-25deg);opacity:0;pointer-events:none;transition:transform .6s ease,opacity .2s}
.button:hover:before,.ecosystem-help:hover:before{transform:translateX(460%) skewX(-25deg);opacity:1}
.button .arrow,.ecosystem-help .arrow{transition:transform .2s ease-out}
.button:hover .arrow,.ecosystem-help:hover .arrow{transform:translateX(4px)}
.footer{height:calc(208 * var(--u))}
.social-instagram{position:absolute;left:calc(680 * var(--u));top:calc(21 * var(--u));width:calc(28 * var(--u));height:calc(28 * var(--u));color:#0A2540;display:flex;align-items:center;justify-content:center}
.social-instagram>.icon{width:calc(23 * var(--u));height:calc(23 * var(--u));stroke-width:2}
.social-instagram span{position:absolute;top:calc(30 * var(--u));left:50%;transform:translateX(-50%);font-size:calc(8.5 * var(--u));white-space:nowrap;color:#007f89;opacity:0;transition:opacity .2s}
.social-instagram:hover span,.social-instagram:focus-visible span{opacity:1}
.footer-contacts{position:absolute;top:calc(79 * var(--u));left:calc(51 * var(--u));right:calc(51 * var(--u));display:grid;grid-template-columns:1fr 1.15fr 1.7fr;gap:calc(24 * var(--u));font-style:normal;color:#334f72}
.footer-contacts>a,.footer-contacts>div{display:flex;gap:calc(9 * var(--u));align-items:center;line-height:1.5;font-size:calc(10.5 * var(--u))}
.footer-contacts .icon{width:calc(19 * var(--u));height:calc(19 * var(--u));color:#008c8e;flex-shrink:0;stroke-width:1.6}
.footer-contacts small{display:block;letter-spacing:.1em;font-size:calc(6.7 * var(--u));font-weight:750;color:#58758d;margin-bottom:calc(2 * var(--u))}
.footer-contacts a:hover{color:#008b7f}.footer-bottom{top:calc(143 * var(--u))}.footer-bottom a:hover{color:#008b7f}
@media(max-width:760px){
 .hero-object-perspective{width:850px;height:330px;left:calc(50% - 540px);top:-30px}
 .templum-steps [data-stage] span{min-height:23px}.templum-steps [data-stage]:last-child span{font-size:11px;max-width:100%}
 .ecosystem-help{position:relative}
 .footer{height:auto;min-height:480px}.social-instagram{left:auto;right:24px;top:30px;width:28px;height:28px}
 .social-instagram>.icon{width:24px;height:24px}.social-instagram span{right:0;left:auto;top:31px;transform:none;font-size:10px;opacity:1}
 .footer-contacts{position:static;display:grid;grid-template-columns:1fr;gap:18px;margin-top:27px}
 .footer-contacts>a,.footer-contacts>div{font-size:12px;gap:12px;align-items:flex-start}.footer-contacts .icon{width:21px;height:21px;margin-top:3px}
 .footer-contacts small{font-size:8px;margin-bottom:3px}.footer-bottom{position:static}
}
@media(min-width:500px) and (max-width:760px){.hero-object-perspective{width:941px;height:365px;left:calc(50% - 586px)}}
@media(max-width:760px){.templum{height:calc(360px + 213 * 100cqw / 506)}}
/* Photographic planes stay stationary; only the content inside the screen is animated. */
.monitor-photograph{position:absolute;inset:0;width:100%;height:100%}
.monitor-scene-inner:after{content:'';position:absolute;left:87.5%;right:0;top:18%;bottom:0;background:linear-gradient(90deg,transparent,#001b25b8);pointer-events:none}
.hero-float,.layer-breath,.model-scanner{will-change:transform}
@media(max-width:760px){
 .ecosystem-scenery{opacity:.7}
 .contact-scenery{opacity:1}
 .contact-shade{background:linear-gradient(90deg,#05283ff2,#05283f80)}
}
