/* WEBVIS02: structural motion, native controls, original Continuum identity. */
/* Approved business contact details: wrap the full selectable address, never clip it. */
.contact-grid>div,.site-footer>div{min-width:0;max-width:100%}
.contact .email{max-width:100%;overflow-wrap:anywhere}
.phone{display:flex;align-items:center;width:fit-content;max-width:100%;min-height:44px;padding-block:7px;font-size:17px}
.footer-contacts{display:flex;flex-direction:column;align-items:flex-start;margin-block:12px;font-size:12px}
.footer-contacts a{display:flex;align-items:center;min-height:44px;max-width:100%;overflow-wrap:anywhere}
html{scrollbar-gutter:stable}
[hidden]{display:none!important}
.hero{grid-template-columns:1.1fr 1fr;gap:52px;align-items:center;padding-block:68px 74px}
.hero h1{font-size:clamp(48px,5.15vw,70px);line-height:1.07}
.hero-lead{font-size:19px;max-width:34ch;margin-top:26px}
.hero .eyebrow{margin-bottom:24px}
.continuum-scene{position:relative;isolation:isolate;min-height:480px;align-self:stretch;overflow:hidden;border:1px solid #3c6371;border-radius:8px;background:radial-gradient(ellipse at 70% 30%,#27464b66,transparent 68%),linear-gradient(145deg,#172b3c,#101b2d);box-shadow:inset 0 1px #9dc4c320,0 30px 70px #0003}
.continuum-scene:before{content:"";position:absolute;inset:0;opacity:.28;z-index:-1;background-image:linear-gradient(#779d9f22 1px,transparent 1px),linear-gradient(90deg,#779d9f22 1px,transparent 1px);background-size:40px 40px;mask-image:linear-gradient(130deg,#000,transparent 85%)}
.scene-heading{display:flex;justify-content:space-between;gap:16px;margin:25px 26px;color:#b1c9cc;font-size:9px;letter-spacing:.13em;text-transform:uppercase}
.scene-heading span:last-child{color:#dfb9a1}
.continuum-lines{position:absolute;inset:10px 0;width:100%;height:calc(100% - 20px);pointer-events:none}
.continuum-orbit{fill:none;stroke:#6f999d;stroke-width:1;opacity:.22;stroke-dasharray:3 8;transform-origin:center}
.orbit-inner{stroke:#9e91bb;stroke-dasharray:none;opacity:.16}
.continuum-wire{fill:none;stroke:#7dbbb7;stroke-width:1.2;opacity:.3}
.continuum-trace{fill:none;stroke:url(#connection-colour);stroke-width:2;stroke-linecap:round;stroke-dasharray:120 780;stroke-dashoffset:0;opacity:.8}
.connection-port{fill:#9edbd0;stroke:#243e49;stroke-width:5}
.continuum-node{position:absolute;display:grid;grid-template-columns:20px auto;gap:3px 10px;padding:9px 11px;background:#112537e8;border:1px solid #446673;border-radius:4px}
.continuum-node>span{grid-row:1/3;color:#d9b5a0;font-size:9px;padding-top:5px}
.continuum-node strong{font-size:15px;line-height:1.4;letter-spacing:-.02em;font-weight:500;color:#e8f1eb}
.continuum-node small{font-size:10px;line-height:1.5;color:#aac6ca}
.node-understand{left:24px;top:75px}.node-build{right:24px;top:90px}.node-improve{left:45px;bottom:102px}
.continuum-core{position:absolute;top:160px;left:34px;right:34px;padding:20px 10px;border-radius:5px;border:1px solid #bdd8ce;background:#e8eee7;box-shadow:0 16px 35px #0004,inset 0 0 0 5px #e0e9e2;z-index:1}
.continuum-core picture,.continuum-core img{display:block;width:100%;height:auto}
.scene-footer{position:absolute;left:26px;right:26px;bottom:23px;display:flex;align-items:flex-end;justify-content:space-between;gap:14px}
.scene-footer p{max-width:25ch;font-size:16px;line-height:1.4;letter-spacing:-.02em;color:#dce7e2}
.motion-toggle{flex:none;min-height:44px;max-width:122px;border:1px solid #6d9b9e;border-radius:4px;background:#142c3d;color:#c5e4de;padding:9px 12px;font:500 10px/1.5 "Segoe UI",Arial,sans-serif;cursor:pointer;white-space:nowrap}
.motion-toggle .motion-icon{font-size:11px;margin-right:5px}.motion-toggle:hover{background:#244656}.motion-toggle[aria-pressed=true]{background:#b3e1d5;color:#17343a;border-color:#b3e1d5}
.scene-footer .motion-slot{min-width:110px;min-height:44px}
.site-header nav a{position:relative}
.site-header nav a[aria-current=location]{color:#bbebe1;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:9px}
.introduction{gap:72px;padding-block:36px}
.introduction>.prose{font-size:16px}
.reading-detail{border-color:#3a5062;margin-top:20px}
.reading-detail:last-child{border-bottom-color:#3a5062}
.reading-detail summary{font-size:13px;min-height:50px;padding:12px 0;color:#b9dad8;font-weight:500;gap:18px}
.reading-detail summary span{font-size:21px;color:#8bdad6}
.reading-detail .detail-body{padding-bottom:22px}
.reading-detail p{font-size:15px;line-height:1.7}
.services{column-gap:56px}.service{padding-block:27px}.service h3{margin-bottom:17px}.service>.index{padding-top:4px}.service .reading-detail{margin-top:16px}
.career-context{font-size:12px!important;color:#b8d7d4!important;letter-spacing:.02em;margin-bottom:20px}
.process-rail{position:relative;list-style:none;margin:0;padding:0;min-height:374px}
.process-rail li{margin:0;padding:0}
.process-step,.process-step:last-child{border:0;margin:0}
.process-step>summary{width:43%;min-height:74px;display:flex;align-items:center;gap:18px;border-bottom:1px solid #344d61;padding:12px 15px 12px 0;list-style:none}
.process-step>summary::-webkit-details-marker{display:none}
.process-step>summary span{transform:none!important}
.process-step>summary .process-number{width:38px;height:38px;display:flex;align-items:center;justify-content:center;border:1px solid #55737d;border-radius:50%;font-size:11px;line-height:1;color:#b8d7d5;flex:none;background:#112336}
.process-step>summary>span:nth-child(2){flex:1;font-size:17px;line-height:1.3;letter-spacing:-.02em;color:#c5d4dd}
.process-step>summary .process-chevron{flex:none;font-size:16px;line-height:1;color:#83bab7}
.process-step[open]>summary .process-number{background:#b1dfd2;border-color:#b1dfd2;color:#18353b}
.process-step[open]>summary>span:nth-child(2){color:#ecf3ec}
.process-step[open]>summary{border-color:#8ebdb9}
.process-copy{position:absolute;inset:0 0 auto auto;width:50%;min-height:370px;padding:40px;border:1px solid #436675;border-radius:7px;background:radial-gradient(ellipse at 100% 0,#25474b55,transparent 80%),#16273b;box-shadow:0 14px 35px #0002}
.process-copy .eyebrow{margin-bottom:30px;font-size:11px}.process-copy h3{font-size:31px;max-width:20ch;line-height:1.2;margin-bottom:20px}.process-copy>p:not(.eyebrow){font-size:16px;color:#bfcdd7;line-height:1.7}.process-copy .text-link{margin-top:25px}
.approach-close{font-size:15px;margin-top:35px}
.section.is-current .section-heading>.eyebrow,.section.is-current>.container>.eyebrow{color:#b0e2d5}
.project-jumps{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:-14px 0 32px;font-size:13px}
.project-jumps a{display:inline-flex;align-items:center;gap:16px;min-height:48px;padding:10px 18px;border:1px solid #4b6879;border-radius:4px;text-decoration:none;color:#d4e4e5}
.project-jumps a>span:first-child{font-size:10px;color:#b9d4d5}.project-jumps a:hover{background:#20394a;border-color:#95bdbd}
.venture-bakehouse{border-top-color:#cfaa87}.venture-lunavoa{border-top-color:#93bfb9}
.venture-copy .capture-note{padding-top:18px;border-top:1px solid #3f5669}
.media-dialog{width:min(1220px,calc(100% - 48px));max-width:none;max-height:calc(100dvh - 48px);overflow:auto;padding:0;border:1px solid #719797;border-radius:7px;background:#101f31;color:#eaf1ee;box-shadow:0 20px 90px #0008}
.media-dialog::backdrop{background:#06101be8;backdrop-filter:blur(7px)}
.media-dialog-content{padding:20px}
.media-dialog-bar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:16px}
.media-dialog-bar h2{font-size:23px;line-height:1.3;letter-spacing:-.03em}
.media-close{min-height:44px;min-width:88px;padding:8px 14px;border:1px solid #719797;border-radius:4px;background:#1c3647;color:#e3f0eb;font:500 13px/1.4 "Segoe UI",Arial,sans-serif;cursor:pointer}
.media-close span{font-size:22px;margin-left:12px;vertical-align:-1px}.media-close:hover{background:#315565}
.media-dialog img{display:block;width:100%;height:auto;max-height:calc(100dvh - 190px);object-fit:contain;background:#0b1424}
.media-dialog p{font-size:12px;color:#b2c9cf;margin-top:16px}
html:has(.media-dialog[open]){overflow:hidden}
@media(prefers-reduced-motion:no-preference){
  .experience-ready .continuum-trace{animation:continuum-flow 12s linear infinite;animation-play-state:paused}
  .experience-ready .trace-two{animation-delay:-4s}.experience-ready .trace-three{animation-delay:-8s}
  .experience-ready [data-motion=running] .continuum-trace{animation-play-state:running}
  .process-copy{animation:process-enter 220ms ease-out both}
  .site-header nav a,.project-jumps a,.motion-toggle{transition:color 180ms ease,background-color 180ms ease,border-color 180ms ease}
}
@keyframes continuum-flow{from{stroke-dashoffset:0}to{stroke-dashoffset:-900}}
@keyframes process-enter{from{opacity:.8;transform:translateY(6px)}to{opacity:1;transform:none}}
@media(max-width:1100px){.hero{gap:32px}.continuum-scene{min-height:480px}.continuum-core{left:20px;right:20px;top:158px}.scene-heading{margin-inline:20px;font-size:8px}.node-understand{left:16px}.node-build{right:16px}.node-improve{left:30px}.scene-footer{left:20px;right:20px}.scene-footer p{font-size:15px;max-width:23ch}.motion-toggle{padding-inline:9px;font-size:9px}.process-copy{padding:32px}}
@media(max-width:800px){.hero{grid-template-columns:1fr;gap:34px;padding-block:48px 54px}.hero h1{font-size:clamp(44px,8.2vw,65px)}.hero-lead{max-width:42ch}.continuum-scene{min-height:430px}.continuum-core{left:18%;right:18%;top:125px}.node-understand{left:32px;top:65px}.node-build{right:40px;top:84px}.node-improve{left:62px;bottom:95px}.scene-footer{left:28px;right:28px}.scene-footer p{max-width:29ch;font-size:17px}.scene-heading{font-size:9px;margin:23px 28px}.continuum-lines{inset:0;height:100%}.introduction{gap:25px}.process-step>summary{width:44%;gap:12px}.process-step>summary>span:nth-child(2){font-size:16px}.process-copy{width:51%;padding:28px;min-height:390px}.process-copy h3{font-size:27px}.process-rail{min-height:400px}.process-copy>p:not(.eyebrow){font-size:15px}}
@media(max-width:620px){.hero{padding-top:36px;gap:30px}.hero h1{font-size:clamp(39px,10.5vw,54px)}.hero-lead{font-size:17px;line-height:1.6;margin-top:23px}.hero .actions{margin-top:24px}.continuum-scene{min-height:352px}.scene-heading{font-size:7px;margin:19px 18px;letter-spacing:.1em}.continuum-core{top:110px;left:16px;right:16px;padding:14px 3px}.continuum-node{gap:1px 6px;padding:6px 8px;grid-template-columns:15px auto}.continuum-node>span{font-size:8px}.continuum-node strong{font-size:12px}.continuum-node small{font-size:8px}.node-understand{left:14px;top:55px}.node-build{right:14px;top:62px}.node-improve{left:24px;bottom:80px}.scene-footer{left:18px;right:18px;bottom:16px;gap:12px;align-items:center}.scene-footer p{font-size:13px;max-width:24ch}.motion-toggle{max-width:100px;min-height:44px;padding:8px;font-size:9px}.scene-footer .motion-slot{min-width:98px}.continuum-lines{opacity:.7}.introduction{padding-block:29px}.intro-lead{font-size:21px}.services{gap:0}.service{padding-block:25px}.process-rail{min-height:0}.process-step>summary{width:100%;min-height:70px;gap:14px;padding:13px 0}.process-step>summary>span:nth-child(2){font-size:17px}.process-copy{position:static;width:100%;min-height:0;margin:14px 0 18px;padding:27px 23px}.process-copy .eyebrow{margin-bottom:17px}.process-copy h3{font-size:27px}.process-copy .text-link{margin-top:18px}.process-step[open]>summary{border-bottom:0}.approach-close{margin-top:28px}.project-jumps{gap:12px;margin-top:0}.project-jumps a{flex:1 1 100%;justify-content:space-between;font-size:12px;padding:10px 15px}.media-dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px)}.media-dialog-content{padding:14px}.media-dialog-bar{gap:12px}.media-dialog-bar h2{font-size:19px}.media-close{min-width:80px;padding:8px 11px}.media-dialog img{max-height:calc(100dvh - 170px)}}
@media(prefers-reduced-motion:reduce){.continuum-trace,.process-copy{animation:none!important;transition:none!important;transform:none!important}.continuum-trace{stroke-dasharray:none;opacity:.45}.motion-toggle{display:none!important}}
/* Keep the approved mark and labels in natural layout at every zoom level. */
.continuum-scene{display:grid;grid-template-columns:minmax(0,1fr);align-content:space-between;gap:24px;padding:25px 26px}
.scene-heading{margin:0}
.scene-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;position:relative;z-index:1}
.continuum-node{position:static;grid-template-columns:16px minmax(0,1fr);gap:2px 6px;padding:8px}
.continuum-node strong{font-size:13px}.continuum-node small{font-size:9px}
.continuum-core{position:relative;inset:auto;justify-self:center;width:100%;max-width:480px;padding:16px 10px}
.scene-footer{position:static;inset:auto;width:100%;gap:16px}
@media(max-width:800px){.continuum-scene{gap:22px;padding:24px 28px}.scene-heading{margin:0}.continuum-core{inset:auto}.continuum-node strong{font-size:15px}.continuum-node small{font-size:10px}}
@media(max-width:620px){.continuum-scene{gap:23px;padding:18px 16px}.scene-steps{gap:6px}.continuum-node{grid-template-columns:minmax(0,1fr);padding:8px 5px;text-align:center}.continuum-node>span{display:none}.continuum-node strong{font-size:11px}.continuum-node small{font-size:8px}.continuum-core{inset:auto;padding:12px 3px}.scene-footer{gap:10px}.scene-heading{margin:0;font-size:7px}}
@media print{.continuum-scene,.project-jumps,.media-dialog{display:none}.process-step>summary{width:100%}.process-copy{position:static;width:100%;min-height:0;background:white;color:black;border-color:#aaa;animation:none}.reading-detail .detail-body{color:black}}
