/* Apply the company-design-advisor hierarchy: subject, explanation, then supporting motion. */
.experience{background:linear-gradient(110deg,#fbfcfd 0%,#fbfcfd 58%,#f0f4f7 100%)}
.world-stage{width:46%;right:3%;}
.scene-shell{min-height:520px}
.scene-light{background:radial-gradient(ellipse at 50% 48%,#ffffff88,transparent 62%)}
.scene-meta{top:47px;right:28px;left:28px;justify-content:center;font-size:8px;letter-spacing:.12em;color:#657884}
.live-dot{background:#7893a9;box-shadow:none;width:4px;height:4px}
.scene-no{margin-left:8px;color:#8b9aa7}
.drag-hint{display:none}
.scene-controls{right:28px;bottom:65px;gap:0}
.model-tools{position:relative;font-size:11px;color:#667a8c}
.model-tools summary{cursor:pointer;list-style:none;line-height:2;border-bottom:1px solid #cad4dc;padding:7px 0}
.model-tools summary::-webkit-details-marker{display:none}
.model-tools summary:hover{color:var(--ink)}
.model-tools summary:focus-visible{outline:2px solid var(--blue);outline-offset:5px}
.model-tools-body{display:flex;flex-direction:column;gap:8px;padding:14px;background:#fbfcfdeb;border:1px solid #dce3e9;position:absolute;right:0;bottom:46px;min-width:150px;backdrop-filter:blur(12px)}
.scene-controls button{background:transparent;border:1px solid #dae1e7;font-size:11px;padding:10px;color:#536b7c}
.scene-controls button:hover,.scene-controls button[aria-pressed=true]{background:#eff3f7;color:var(--ink);border-color:#b7c5d1}
.impact-copy{width:59%;padding-top:45px}
.impact-copy h1{font-size:clamp(66px,7.1vw,115px);line-height:1.19;letter-spacing:-.065em}
.hero-overline{font-size:16px;color:#263d51}
.hero-description{font-size:19px;line-height:1.9;color:#334b5e;margin-bottom:28px}
.hero-actions .solid-link{font-size:16px}
.hero-actions .text-link{font-size:16px}
.journey{padding-top:85px;padding-bottom:70px}
.journey-heading{max-width:59%;padding-bottom:25px}
.journey-heading h2{font-size:clamp(39px,4.7vw,70px);line-height:1.5}
.journey-heading p{font-size:20px;line-height:1.9;color:#354c5e}
.journey-step{width:56%;min-height:64svh;padding:65px 0}
.journey-step h3{font-size:clamp(42px,4.6vw,70px);line-height:1.48;letter-spacing:-.055em;margin-bottom:28px}
.journey-step p{font-size:20px;line-height:1.9;color:#334b5e;max-width:590px}
.chapter-index{color:#536f86;font-size:12px;letter-spacing:.1em}
.chapter-tags{color:#637889;font-size:11px;gap:24px}
.journey-step .text-link{font-size:16px;gap:45px}
.flow-band{padding:19px 0;background:#f4f7f9;border-color:#d6e0e7;backdrop-filter:none}
.flow-track span{font-size:clamp(45px,5.5vw,80px);color:#486b8b}
.flow-track .outline-type{-webkit-text-stroke:1px #9aafc0}
.film-copy{width:48%}
.film-copy h2{font-size:clamp(47px,5.8vw,90px)}
.brand-film:before{background:linear-gradient(90deg,#f6f9fcf5 0%,#f6f9fcc2 34%,#f6f9fc22 63%,transparent 100%)}
@media(max-width:1100px) and (min-width:761px){.world-stage{right:1%;width:43%}.hero-description{font-size:17px}.journey-heading{max-width:60%}.journey-step{width:58%}.journey-step p{font-size:18px}.scene-meta{font-size:7px;gap:7px;left:10px;right:10px}.impact-copy h1{font-size:7.3vw}}
@media(max-width:760px){.impact-copy{width:100%;padding-top:36px}.impact-copy h1{font-size:clamp(60px,15.8vw,86px);line-height:1.18}.hero-overline{font-size:13px}.hero-description{font-size:16px;line-height:1.9}.hero-actions .solid-link,.hero-actions .text-link{font-size:13px}.experience .world-stage{position:relative;right:auto;top:auto;width:100%;height:315px;margin-top:0}.scene-shell{min-height:0}.scene-meta{font-size:7px;top:12px;left:24px;right:24px;justify-content:center}.scene-controls{bottom:18px;right:24px;left:auto}.model-tools{font-size:10px}.model-tools-body{bottom:38px}.scene-controls button{font-size:11px}.journey{padding-top:50px;padding-bottom:35px}.journey-heading{max-width:100%}.journey-heading h2{font-size:35px;line-height:1.5}.journey-heading p{font-size:16px}.journey-step{width:100%;min-height:0;padding:36px 0}.journey-step h3{font-size:36px;line-height:1.5}.journey-step p{font-size:16px;line-height:1.9}.journey-step .text-link{font-size:14px}.chapter-index{font-size:10px}.chapter-tags{font-size:10px;gap:17px}.flow-track span{font-size:48px}.flow-band{padding:17px 0}.film-copy{width:100%}.film-copy h2{font-size:48px}}
@media(min-width:500px) and (max-width:760px){.experience .world-stage{position:absolute;top:140px;right:-20px;width:44%;height:390px;margin:0}.impact-hero{min-height:650px}.impact-copy{width:64%;padding-top:45px}.impact-copy h1{font-size:clamp(55px,9.2vw,70px)}.hero-overline{font-size:12px}.hero-description{font-size:16px}.scene-meta{left:10px;right:35px;font-size:6px}.scene-controls{left:auto;right:35px;bottom:20px}.model-tools{font-size:9px}.hero-actions .solid-link,.hero-actions .text-link{font-size:13px}}
@media(max-width:360px){.impact-copy h1{font-size:56px}.hero-description{font-size:15px}.hero-actions .solid-link,.hero-actions .text-link{font-size:12px}.experience .world-stage{height:285px}.journey-heading h2,.journey-step h3{font-size:32px}.journey-step p{font-size:15px}}
/* Keep the generated concept image in its own column, away from the reading area. */
.brand-film{height:72svh;min-height:560px;max-height:800px;background:#f1f5f8}
.film-image{left:53%;right:5%;top:14%;bottom:14%;height:72%;overflow:hidden}
.film-image img{object-fit:cover;object-position:70%;opacity:1}
.brand-film:before,.brand-film:after{display:none}
.film-copy{width:45%;text-shadow:none}
.film-copy p{font-size:19px;line-height:1.9;color:#334b5e}
.film-credit{right:5%;bottom:28px;color:#607789}
@media(max-width:760px){.brand-film{height:auto;min-height:0;padding:55px var(--gutter) 430px}.film-copy{width:100%;padding:0}.film-copy p{font-size:16px}.film-image{left:var(--gutter);right:var(--gutter);top:auto;bottom:75px;height:320px}.film-credit{right:var(--gutter);bottom:18px}.model-download{bottom:38px}}
.world-stage{width:42%;right:2%}.impact-copy{width:55%}.journey-heading{max-width:56%}.journey-step{width:54%}
.scene-ready .scene-fallback{display:none}
.model-tools summary{min-height:44px;display:flex;align-items:center;font-size:12px}
.scene-controls button:disabled{cursor:default;color:#6e8190;background:#f4f6f8}
@media(max-width:1100px) and (min-width:761px){.world-stage{width:43%;right:1%}.journey-step{width:54%}.journey-heading{max-width:56%}}
@media(max-width:760px){.impact-copy{width:100%}.experience .world-stage{width:100%;right:auto}.journey-heading{max-width:100%}.journey-step{width:100%}.model-tools summary{font-size:11px}}
@media(min-width:500px) and (max-width:760px){.experience .world-stage{width:42%;right:-15px}.impact-copy{width:60%}}
/* Meaningful depth: real projects, then the work behind them. */
.showcase-shell{display:flex;flex-direction:column;justify-content:center;padding:40px 18px 38px;perspective:1200px;min-height:570px}
.showcase-eyebrow{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.12em;color:#6d8396;margin:0 12px 18px}
.commerce-showcase{position:relative;height:420px;flex:none;perspective:1100px;isolation:isolate}
.showcase-plane{position:absolute;inset:8% 4% 3%;border-radius:50%;background:radial-gradient(ellipse,#d8e6f3 0%,#edf3f8 45%,transparent 72%);z-index:-1}
.showcase-view{position:absolute;inset:0;opacity:0;visibility:hidden;transform:translateY(28px) scale(.96);transition:opacity .7s,transform .9s cubic-bezier(.16,1,.3,1),visibility .7s}
.commerce-showcase[data-view="0"] .portfolio-view,.commerce-showcase[data-view="1"] .workflow-view,.commerce-showcase[data-view="2"] .ai-view{opacity:1;visibility:visible;transform:translateY(0) scale(1)}
.browser-panel{position:absolute;display:block;overflow:hidden;border-radius:9px;background:white;border:1px solid #ffffff;box-shadow:0 25px 50px -25px #19395570,0 1px 3px #32486230;text-decoration:none;transition:filter .3s;will-change:transform}
.browser-panel:hover{filter:brightness(1.06)}
.browser-bar{height:24px;display:flex;align-items:center;padding:0 10px;gap:4px;background:#fbfcfd;color:#6f7b85;border-bottom:1px solid #e9edf1;font-size:8px;letter-spacing:.05em}
.browser-bar i{width:3px;height:3px;background:#b5c5d1;border-radius:50%}.browser-bar span{margin-left:8px}.browser-bar b{margin-left:auto;font-weight:400}
.browser-panel img{width:100%;height:auto;display:block;object-fit:contain}
.panel-back{width:70%;left:24%;top:6%;transform:rotateY(-13deg) rotateX(7deg) rotateZ(5deg);animation:back-drift 9s ease-in-out infinite}
.panel-front{width:78%;left:1%;top:26%;z-index:2;transform:rotateY(10deg) rotateX(5deg) rotateZ(-4deg);animation:front-drift 8s ease-in-out infinite}
.panel-small{width:44%;right:0;bottom:1%;z-index:3;transform:rotateY(-12deg) rotateX(4deg) rotateZ(5deg);animation:small-drift 10s ease-in-out infinite}
@keyframes front-drift{50%{transform:translateY(-10px) rotateY(7deg) rotateX(3deg) rotateZ(-3deg)}}
@keyframes back-drift{50%{transform:translateY(8px) rotateY(-9deg) rotateX(4deg) rotateZ(4deg)}}
@keyframes small-drift{50%{transform:translateY(-7px) rotateY(-9deg) rotateX(6deg) rotateZ(3deg)}}
.showcase-caption{display:flex;justify-content:space-between;align-items:center;margin:22px 12px 0;position:relative}
.showcase-caption span{font-size:10px;letter-spacing:.14em;color:#315c89}.showcase-caption p{font-size:15px;color:#263e53;margin:9px 0 0;line-height:1.7}
.showcase-caption button{width:44px;height:44px;border:1px solid #cbd8e2;border-radius:50%;background:transparent;color:#45617a;cursor:pointer;flex:none}
.showcase-caption button:hover{background:white}
.showcase-navigation{display:flex;gap:24px;margin:20px 12px 0;border-top:1px solid #d4dfe8;padding-top:12px}
.showcase-navigation button{border:0;background:transparent;color:#8495a4;font-size:10px;letter-spacing:.08em;padding:6px 0;cursor:pointer;min-height:36px}.showcase-navigation button span{margin-left:9px;font-size:12px}.showcase-navigation button[aria-pressed=true]{color:#174edb}
.showcase-shell button:focus-visible,.browser-panel:focus-visible{outline:2px solid #174edb;outline-offset:4px}
.workflow-core,.ai-hub{position:absolute;inset:9% 10% 3% 5%;background:linear-gradient(140deg,#fff,#f9fbfd);border:1px solid #fff;border-radius:12px;padding:30px;box-shadow:0 30px 60px -30px #27496055;transform:rotateY(-7deg) rotateX(3deg) rotateZ(-2deg)}
.workflow-core>span,.ai-hub>span{font-size:9px;letter-spacing:.15em;color:#65839e}.workflow-core strong,.ai-hub strong{display:block;font-size:27px;line-height:1.5;margin:17px 0;color:#16334b;letter-spacing:-.04em}.workflow-line{height:1px;background:#dce7ee;margin:22px 0}.workflow-steps{display:flex;flex-direction:column;align-items:center;gap:5px;font-size:14px;color:#47657e}.workflow-steps span{width:100%;text-align:center;padding:9px;border:1px solid #dce6ee;background:#f4f8fb}.workflow-steps b{font-weight:400;color:#9fb7cc}.workflow-core small,.ai-hub small{display:block;text-align:right;color:#90a2b0;font-size:9px;margin-top:14px}
.workflow-note{position:absolute;right:0;top:3%;padding:17px 20px;background:#1d4fce;color:white;font-size:11px;line-height:1.8;letter-spacing:.13em;box-shadow:0 12px 30px #204a9820;transform:rotate(5deg);border-radius:5px}.workflow-note em{font-style:normal;color:#cbd8ff}
.ai-hub{padding:35px 26px;background:linear-gradient(150deg,#fff,#edf4fd)}.ai-orbit{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:28px;position:relative}.ai-orbit div{border:1px solid #d4e0ef;background:#ffffffc9;border-radius:6px;padding:18px 5px;text-align:center;font-size:13px;color:#416485;animation:ai-light 4s ease-in-out infinite}.ai-orbit div:nth-child(2){animation-delay:.8s}.ai-orbit div:nth-child(3){animation-delay:1.6s}.ai-orbit div:nth-child(4){animation-delay:2.4s}@keyframes ai-light{50%{border-color:#547dcd;box-shadow:0 0 18px #608fd61f;transform:translateY(-3px)}}.ai-hub p{font-size:13px;color:#5f7990;margin:26px 0 0}
.motion-paused *{animation-play-state:paused!important}.film-image{overflow:visible;height:auto;bottom:auto;top:22%;border:10px solid white;box-shadow:0 22px 60px -24px #244c6f44;transform:rotate(-3deg)}.film-image img{height:auto;object-fit:contain;object-position:center}.film-project{display:block;font-size:10px;letter-spacing:.1em;color:#607a90;background:white;padding:15px 8px}
@media(min-width:1500px){.commerce-showcase{height:480px}}
@media(max-width:1100px) and (min-width:761px){.showcase-shell{padding:25px 5px}.commerce-showcase{height:340px}.workflow-core,.ai-hub{padding:22px}.workflow-core strong,.ai-hub strong{font-size:23px}.workflow-steps{font-size:12px}.ai-orbit{gap:8px}.ai-orbit div{font-size:11px;padding:14px 5px}.showcase-caption p{font-size:13px}}
@media(max-width:760px){.experience .world-stage{position:relative;top:auto;right:auto;width:100%;height:auto;order:2;padding:0 var(--gutter) 35px}.showcase-shell{position:relative;top:auto;height:auto;min-height:0;padding:15px 0}.commerce-showcase{height:330px;max-width:430px;width:100%;margin:auto}.showcase-caption{margin-top:12px}.showcase-caption p{font-size:14px}.showcase-eyebrow{margin-bottom:12px}.showcase-navigation{margin-top:13px}.impact-copy{width:100%}.workflow-core,.ai-hub{padding:24px}.workflow-core strong,.ai-hub strong{font-size:24px}.workflow-steps span{padding:5px}.workflow-line{margin:15px 0}.ai-orbit{margin-top:20px;gap:10px}.ai-orbit div{padding:12px 4px}.ai-hub p{margin-top:17px}.brand-film{padding-bottom:330px}.film-image{top:auto;bottom:70px;height:auto;border-width:6px}.film-project{font-size:8px;padding:9px}.impact-hero{min-height:0}}
@media(prefers-reduced-motion:reduce){.showcase-shell *{animation:none!important;transition:none!important}}
.showcase-shell{pointer-events:auto}
@media(min-width:761px){.experience .flow-band{width:54%;overflow:hidden}.impact-hero-foot{width:54%}.impact-hero-foot>span{display:none}}
/* Compact journal: readable article titles without oversized display type. */
.impact-home .impact-journal{padding:44px var(--gutter) 48px}
.impact-home .impact-journal .section-meta{padding-bottom:18px}
.impact-home .impact-journal>h2{font-size:clamp(28px,2.6vw,38px);line-height:1.4;letter-spacing:-.035em;margin:0}
.impact-journal .journal-cards{margin-top:24px;gap:28px}
.impact-journal .journal-card{min-height:146px;padding:16px 0 12px;border-top-width:1px}
.impact-journal .journal-card .label{font-size:9px;letter-spacing:.1em}
.impact-journal .journal-card h3{font-size:18px;line-height:1.65;letter-spacing:-.025em;margin:12px 0 16px}
.impact-journal .journal-arrow{font-size:22px;line-height:1}
.impact-journal .journal-card:hover{transform:translateY(-3px)}
@media(max-width:760px){.impact-home .impact-journal{padding:34px var(--gutter) 38px}.impact-home .impact-journal .section-meta{padding-bottom:14px}.impact-home .impact-journal>h2{font-size:27px}.impact-journal .journal-cards{margin-top:20px;gap:0}.impact-journal .journal-card{display:grid;grid-template-columns:1fr 24px;min-height:0;padding:16px 0;gap:8px 12px}.impact-journal .journal-card .label{grid-column:1;font-size:8px}.impact-journal .journal-card h3{grid-column:1;font-size:16px;margin:0;line-height:1.6}.impact-journal .journal-arrow{grid-column:2;grid-row:1/3;align-self:center;margin:0;font-size:20px}}
/* Bring the service picker and contact area into the compact lower-page rhythm. */
.impact-home .interactive-lab{padding:46px var(--gutter) 48px}
.impact-home .interactive-lab .section-meta{padding-bottom:24px}
.impact-home .lab-layout{grid-template-columns:.85fr 1.3fr;gap:45px;align-items:start}
.impact-home .lab-layout h2{font-size:clamp(29px,2.8vw,41px);line-height:1.5;margin:0 0 16px;letter-spacing:-.035em}
.impact-home .lab-layout>div>p{font-size:15px;line-height:1.8;margin:0}
.impact-home .lab-options button{padding:14px 16px;min-height:52px;font-size:13px;line-height:1.65}
.impact-home .lab-result{padding:23px 25px;min-height:0}
.impact-home .lab-result h3{font-size:23px;line-height:1.5;margin:12px 0 14px}
.impact-home .lab-result p{font-size:15px;line-height:1.8;margin:0}
.impact-home .lab-result #lab-links{margin-top:17px;gap:8px;font-size:13px}
body:has(.impact-home) .end-cta{padding:45px var(--gutter);gap:28px}
body:has(.impact-home) .end-cta h2{font-size:clamp(30px,3vw,44px);line-height:1.4;margin:14px 0 16px;letter-spacing:-.035em}
body:has(.impact-home) .end-cta p{font-size:15px;line-height:1.8;margin:0}
body:has(.impact-home) .end-cta .round-link{width:95px;height:95px;font-size:43px;flex-shrink:0}
@media(min-width:761px){.impact-home .work-scroll{height:230svh}.impact-home .work-pin{height:calc(100svh - 98px);min-height:0}.impact-home .interactive-lab{margin-top:-70px;position:relative;z-index:2}}
@media(max-width:760px){.impact-home .interactive-lab{padding:32px var(--gutter) 36px}.impact-home .interactive-lab .section-meta{padding-bottom:18px}.impact-home .lab-layout{grid-template-columns:1fr;gap:20px}.impact-home .lab-layout h2{font-size:28px;margin-bottom:12px}.impact-home .lab-layout>div>p{font-size:14px}.impact-home .lab-options button{font-size:12px;padding:12px;min-height:52px}.impact-home .lab-result{padding:20px}.impact-home .lab-result h3{font-size:21px}.impact-home .lab-result p{font-size:14px}.impact-home .lab-result #lab-links{font-size:13px}body:has(.impact-home) .end-cta{padding:32px var(--gutter);gap:16px}body:has(.impact-home) .end-cta h2{font-size:28px;margin:12px 0}body:has(.impact-home) .end-cta p{font-size:13px}body:has(.impact-home) .end-cta .round-link{width:58px;height:58px;font-size:28px}}
body:has(.impact-home) .contact-actions{width:340px;max-width:100%;display:flex;flex-direction:column;gap:12px;flex-shrink:0}
body:has(.impact-home) .contact-action{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:56px;padding:15px 22px;font-size:16px;line-height:1.6;letter-spacing:.025em;border:1px solid #ffffffa8;text-decoration:none;transition:background .2s,transform .2s}
body:has(.impact-home) .contact-action-primary{background:white;color:#174ed8;border-color:white}
body:has(.impact-home) .contact-action-secondary{background:transparent;color:white}
body:has(.impact-home) .contact-action:hover{transform:translateY(-2px);background:#e9f1ff;color:#174ed8}
body:has(.impact-home) .contact-action span{font-size:21px}
body:has(.impact-home) .contact-detail{font-size:12px;align-self:flex-end;color:#e3edff;padding:6px 0;text-decoration:underline;text-underline-offset:4px}
body:has(.impact-home) .contact-actions a:focus-visible{outline:2px solid white;outline-offset:4px}
@media(max-width:760px){body:has(.impact-home) .end-cta{flex-direction:column;align-items:stretch;gap:24px}body:has(.impact-home) .contact-actions{width:100%}body:has(.impact-home) .contact-action{font-size:15px;min-height:52px;padding:13px 18px}}
