/* SOURCE: styles.css */

:root{--paper:#ffffff;--ink:#202c29;--green:#1d7d63;--mint:#afcfb9;--lime:#e3f477;--yellow:#f9cb4c;--coral:#e98470;--blue:#5a7cad;--line:rgba(32,44,41,.23);--page:clamp(24px,5vw,90px);--header:106px;--sans:var(--font-site);--ease:cubic-bezier(.2,.7,.2,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:0}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.8;-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button{cursor:pointer;color:inherit}a{color:inherit;text-decoration:none}button{border:0}img{display:block;max-width:100%;height:auto}h1,h2,h3,p,figure{margin:0}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #b24a29;outline-offset:6px}::selection{background:var(--lime);color:var(--ink)}[hidden]{display:none!important}.skip-link{position:fixed;top:-80px;left:20px;z-index:100;background:var(--ink);color:#fff;padding:12px 20px}.skip-link:focus{top:10px}.section-pad{padding:90px var(--page)}.site-header{height:var(--header);padding:22px var(--page);display:flex;align-items:center;justify-content:space-between;gap:28px;position:absolute;inset:0 0 auto;z-index:30}.brand{width:183px;flex-shrink:0;display:block}.brand img{width:100%;height:auto}.brand>span{display:block;font-size:8px;letter-spacing:.2em;margin-top:7px;text-align:center}.desktop-nav{display:flex;align-items:center;gap:30px;margin-left:auto}.desktop-nav a{font-size:12px;font-weight:700;position:relative}.desktop-nav a::after{content:"";position:absolute;left:0;bottom:-6px;width:100%;height:1px;background:var(--green);transform:scaleX(0);transform-origin:left;transition:transform .25s}.desktop-nav a:hover::after{transform:scaleX(1)}.header-actions{display:flex;gap:15px;align-items:center}.header-contact{display:flex;align-items:center;gap:26px;border:1px solid var(--ink);border-radius:50px;padding:8px 9px 8px 23px;font-size:12px;font-weight:700;background:var(--paper);box-shadow:3px 3px 0 var(--ink);transition:transform .2s,box-shadow .2s}.header-contact:hover{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink)}.arrow-dot{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:var(--coral);font-size:19px}.motion-toggle{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:transparent;font-size:13px;font-weight:bold}.menu-toggle{display:none}.mobile-menu{position:fixed;inset:80px 0 0;background:var(--paper);z-index:29;padding:40px var(--page)}.mobile-menu a{display:flex;justify-content:space-between;border-bottom:0;padding:24px 0;font-weight:800;font-size:24px}.mobile-menu a span{font-size:12px}.hero{position:relative;isolation:isolate;min-height:770px;height:100svh;max-height:1080px;padding:140px var(--page) 40px;overflow:hidden}.hero-pattern{position:absolute;inset:110px -70px 0;z-index:-2;display:flex;flex-direction:column;justify-content:space-around;overflow:hidden;opacity:.6;pointer-events:none}.hero-pattern span{white-space:nowrap;color:transparent;-webkit-text-stroke:1px #e5eae7;font-size:clamp(68px,9vw,170px);font-weight:900;letter-spacing:-.045em;line-height:1;transform:rotate(-7deg)}.hero-pattern span:nth-child(2){color:#eef2ef;-webkit-text-stroke:0}.hero-topline,.hero-bottom{display:flex;justify-content:space-between;align-items:center;gap:24px;font-size:10px;letter-spacing:.12em}.hero-topline p{display:flex;align-items:center;gap:10px;font-weight:600}.status-dot{width:7px;height:7px;display:inline-block;background:var(--green);border-radius:50%;flex-shrink:0}.hero-content{display:grid;grid-template-columns:1fr 1fr;align-items:center;min-height:500px;height:calc(100% - 92px);gap:0}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.12em}.hero-copy{position:relative;z-index:3;align-self:center;padding-bottom:18px}.hero-copy .eyebrow{font-size:13px;letter-spacing:.12em;margin:12px 0 25px}.hero h1{font-size:clamp(62px,6.5vw,112px);line-height:1.28;letter-spacing:-.08em;font-weight:900}.hero h1>span{display:block}.second-line{margin-left:35px}.word-mark{position:relative;display:inline-block;color:var(--green)}.word-mark svg{position:absolute;left:0;bottom:-2px;width:100%;overflow:visible}.word-mark path{stroke:var(--coral);stroke-width:8;stroke-linecap:round;fill:none}.hero-description{font-size:13px;line-height:2.1;margin:26px 0}.hero-links{display:flex;align-items:center;gap:26px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:44px;min-height:54px;padding:13px 25px;border-radius:32px;font-size:12px;font-weight:700;transition:transform .25s var(--ease),background .25s}.button span{font-size:22px;font-weight:400}.button:hover{transform:translateY(-3px)}.dark{background:var(--ink);color:var(--paper)}.dark:hover{background:var(--green)}.text-link{background:none;display:inline-flex;align-items:center;gap:16px;font-size:12px;font-weight:700;padding:3px 0 5px;border-bottom:0}.text-link span{display:inline-block;font-size:19px;transition:transform .25s}.text-link:hover span{transform:translate(3px,-2px)}.hero-art{height:510px;position:relative;width:100%;min-width:0}.art-grid{position:absolute;inset:100px 8px 50px 26px;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:27px 27px;border:1px solid var(--line);transform:rotate(-8deg);opacity:.35}.hero-image{position:absolute;z-index:2;overflow:hidden;box-shadow:7px 7px 0 var(--ink)}.image-animation{width:52%;left:2%;top:0;transform:rotate(-13deg);border-radius:140px 140px 25px 25px;height:204px}.image-animation img{width:100%;height:100%;object-fit:cover}.image-animation figcaption{position:absolute;bottom:10px;left:16px;font-size:8px;letter-spacing:.12em;color:white;font-weight:700}.image-craft{right:0;bottom:14px;width:34%;height:173px;border-radius:50% 50% 8% 50%;transform:rotate(12deg);box-shadow:7px 7px 0 var(--yellow)}.image-craft img{height:100%;width:100%;object-fit:cover}.buddy-card{position:absolute;top:118px;left:28%;width:57%;height:306px;background:var(--mint);border:1.5px solid var(--ink);border-radius:16px;transform:rotate(7deg);box-shadow:9px 9px 0 var(--ink);overflow:hidden;z-index:4}.buddy-label{font-size:8px;display:flex;align-items:center;gap:7px;padding:12px 14px;border-bottom:1px solid rgba(32,44,41,.3);letter-spacing:.11em}.buddy-label>span:last-child{margin-left:auto}.buddy-card>strong{position:absolute;top:40px;left:18px;font-size:66px;letter-spacing:-.06em;font-weight:900;line-height:1;z-index:2}.buddy-card>strong>span{font-size:16px;position:relative;top:-32px}.buddy-portrait{position:absolute;width:205px;height:205px;border-radius:50% 50% 0 0;left:40px;bottom:0;overflow:hidden;background:#efefef}.buddy-portrait img{width:100%;height:100%;object-fit:cover}.buddy-sticker{position:absolute;top:117px;right:8px;z-index:3;transform:rotate(-12deg);padding:12px 15px;border-radius:6px;background:var(--lime);font-size:12px;line-height:1.6;font-weight:800;box-shadow:3px 3px 0 var(--ink)}.buddy-play{position:absolute;bottom:15px;left:15px;font-size:9px;font-weight:800;display:flex;align-items:center;gap:12px;padding:11px 16px;border-radius:30px;background:var(--paper);border:1px solid var(--ink);z-index:5}.buddy-play span{font-size:10px}.buddy-play:hover{background:var(--yellow)}.art-star{position:absolute;right:3%;top:20px;color:var(--coral);font-size:130px;line-height:1;transform:rotate(15deg)}.art-orbit{position:absolute;left:0;bottom:40px;width:92px;height:92px;background:var(--yellow);border-radius:50%;z-index:1}.hero-scribble{position:absolute;inset:7% -5% auto auto;width:88%;height:90%;z-index:5;pointer-events:none}.hero-scribble path{stroke:var(--green);stroke-width:6;stroke-linecap:round;stroke-linejoin:round}.art-note{position:absolute;left:12%;bottom:25px;transform:rotate(-10deg);font-family:var(--font-site);font-style:italic;line-height:1.2;font-size:22px;z-index:6}.hero-bottom{position:absolute;bottom:31px;left:var(--page);right:var(--page);border-top:0;padding-top:17px}.hero-bottom p{font-size:11px;letter-spacing:.07em}.scroll-note{font-size:9px;font-weight:700;display:flex;gap:24px}.scroll-note span{font-size:16px;line-height:1}.hero-index{font-size:10px}.color-rule{height:6px;position:absolute;inset:auto 0 0;display:flex}.color-rule i{flex:1;background:var(--green)}.color-rule i:nth-child(2){background:var(--mint)}.color-rule i:nth-child(3){background:var(--yellow)}.color-rule i:nth-child(4){background:var(--coral)}.color-rule i:nth-child(5){background:var(--blue)}
.section-kicker{display:flex;justify-content:space-between;gap:30px;align-items:center;font-size:10px;letter-spacing:.07em;border-top:0;padding-top:16px}.section-kicker>span:first-child{font-weight:700}.section-kicker>span:last-child{font-size:11px}.intro{padding-top:80px;padding-bottom:115px}.intro-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:80px;margin-top:75px;align-items:center}.jp-heading{font-size:clamp(32px,3.6vw,57px);letter-spacing:-.045em;line-height:1.6;font-weight:850}.green{color:var(--green)}.body-copy{font-size:13px;line-height:2.3;margin-top:28px}.intro .text-link{margin-top:30px}.intro-symbol{position:relative;width:300px;height:300px;justify-self:center}.symbol-disc{position:absolute;inset:15px 80px 70px 10px;background:var(--coral);border-radius:50%}.symbol-triangle{position:absolute;bottom:0;right:0;width:180px;height:230px;clip-path:polygon(50% 0,100% 100%,0 100%);background:var(--mint);transform:rotate(20deg)}.symbol-stripes{position:absolute;inset:60px 30px 60px 60px;background:repeating-linear-gradient(0deg,var(--ink) 0 7px,transparent 7px 21px);transform:rotate(-23deg);border-radius:100%}.symbol-small{position:absolute;right:0;top:-4px;background:var(--yellow);border:1px solid var(--ink);border-radius:50%;height:85px;width:110px;display:grid;place-items:center;transform:rotate(13deg);font-family:var(--font-site);font-size:24px;font-style:italic}
.products{background:var(--green);color:var(--paper);position:relative;padding:90px var(--page);scroll-margin-top:0}.product-stage{position:relative;display:grid;grid-template-columns:32% 1fr;gap:7%;isolation:isolate}.product-backword{position:absolute;bottom:0;left:-8%;width:112%;overflow:hidden;white-space:nowrap;font-size:13vw;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.13);font-weight:900;letter-spacing:-.055em;z-index:-1;pointer-events:none}.product-sidebar h2{font-size:clamp(38px,4vw,64px);line-height:1.35;letter-spacing:-.06em;margin-top:18px}.product-intro{font-size:12px;line-height:1.9;margin:20px 0 28px;opacity:.9}.product-tabs{display:grid;gap:9px}.product-tabs button{color:var(--paper);background:transparent;border:1px solid #c0d2c080;border-radius:60px;width:100%;padding:13px 20px;display:flex;gap:18px;align-items:center;text-align:left;transition:background .3s,color .3s}.product-tabs button>span{font-size:20px;font-weight:750;letter-spacing:-.03em;line-height:1.4}.product-tabs button em{font-style:normal;font-size:10px;display:block;font-weight:500;letter-spacing:0}.product-tabs button small{font-size:11px;align-self:flex-start;padding-top:4px}.product-tabs button b{margin-left:auto;font-size:22px;font-weight:400}.product-tabs button[aria-pressed="true"]{background:var(--lime);border-color:var(--lime);color:var(--ink)}.product-tabs button:hover{border-color:var(--paper)}.product-progress{display:flex;align-items:center;gap:12px;font-size:10px;margin-top:22px;max-width:220px}.progress-track{height:2px;background:#ffffff45;flex:1}.progress-track i{height:100%;width:100%;background:var(--lime);display:block;transform:scaleX(.25);transform-origin:left}.product-skip{display:inline-block;font-size:10px;border-bottom:1px solid #ffffff60;margin-top:18px;opacity:.85}.product-cards{display:grid;gap:28px}.product-card{background:var(--paper);color:var(--ink);padding:22px;border-radius:18px;box-shadow:0 6px 0 #143f3680;transform-origin:center bottom;overflow:hidden;display:flex;flex-direction:column}.card-meta{display:flex;justify-content:space-between;font-size:8px;letter-spacing:.09em;font-weight:700;margin-bottom:16px}.product-visual{height:275px;min-height:220px;position:relative;overflow:hidden;border-radius:9px;flex:1}.vuddy-visual{background:var(--mint)}.visual-word{position:absolute;left:18px;top:-5px;font-size:94px;font-weight:900;letter-spacing:-.07em;line-height:1.2;opacity:.55}.mini-player{position:absolute;width:170px;height:204px;left:39%;top:42px;background:var(--paper);border:1px solid var(--ink);box-shadow:6px 6px 0 var(--green);border-radius:9px;transform:rotate(7deg)}.mini-player-top{display:flex;gap:4px;align-items:center;padding:8px;border-bottom:1px solid var(--line)}.mini-player-top i{width:4px;height:4px;border-radius:50%;background:var(--coral)}.mini-player-top span{font-size:6px;letter-spacing:.05em;margin-left:auto}.mini-player>img{width:145px;height:147px;object-fit:cover;border-radius:50% 50% 0 0;position:absolute;bottom:0;left:12px}.visual-bubble{position:absolute;top:23px;left:-60px;padding:9px 16px;border:0;background:transparent;font-size:11px;line-height:1.5;transform:rotate(-12deg);font-weight:700}.visual-choice{position:absolute;bottom:42px;right:-55px;padding:7px 12px;background:var(--lime);border:1px solid var(--ink);font-size:9px;border-radius:15px;box-shadow:2px 2px 0 var(--ink);min-width:150px;transform:rotate(-7deg)}.visual-choice b{float:right}.visual-choice.second{bottom:7px;right:-41px;background:var(--paper)}.visual-tag{position:absolute;left:22px;bottom:30px;writing-mode:vertical-rl;font-weight:bold;font-size:12px;letter-spacing:.12em}.visual-asterisk{font-size:80px;position:absolute;right:16px;top:0;color:var(--green);line-height:1.1}.visual-caption{position:absolute;bottom:8px;right:12px;font-size:7px;opacity:.7}.card-copy{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 7px 0}.card-copy>div{flex:1}.card-copy h3{font-size:29px;line-height:1.4;letter-spacing:-.04em;font-weight:850}.card-copy p{font-size:11px;line-height:1.9;margin-top:12px}.round-arrow{border:1px solid var(--ink);border-radius:50%;background:var(--paper);width:62px;height:62px;flex-shrink:0;display:grid;place-items:center;font-size:36px;font-weight:300;transition:background .25s,transform .25s}.round-arrow:hover{background:var(--lime);transform:rotate(45deg)}.card-bottom{display:flex;gap:18px;justify-content:space-between;align-items:center;margin-top:20px;border-top:0;padding-top:11px}.card-bottom>span{font-size:8px}.card-bottom .text-link{font-size:10px;white-space:nowrap;border:0}.card-bottom .text-link span{font-size:17px}.profile-visual{background:var(--lime)}.profile-visual .visual-word{color:var(--green);font-size:90px}.profile-card{position:absolute;left:35%;top:39px;background:var(--paper);width:192px;height:229px;border:1px solid var(--ink);border-radius:10px;box-shadow:6px 6px 0 var(--ink);padding:16px;transform:rotate(-7deg)}.profile-avatar{width:45px;height:45px;overflow:hidden;border-radius:50%;float:left;margin-right:12px}.profile-hello{font-size:10px;display:block;margin-top:13px}.profile-card>strong{display:block;font-size:17px;line-height:1.5;margin-top:28px;clear:both}.profile-lines{display:grid;gap:8px;margin-top:15px}.profile-lines i{height:3px;background:#d7dad4;width:85%}.profile-lines i:last-child{width:66%}.profile-link{display:block;font-size:9px;background:var(--green);color:var(--paper);padding:8px 11px;margin-top:17px;border-radius:30px}.profile-label{position:absolute;left:16px;bottom:22px;font:italic 30px/1 var(--font-site);transform:rotate(-12deg)}.profile-circle{position:absolute;right:22px;top:60px;width:68px;height:68px;border-radius:50%;background:var(--coral);font-size:45px;display:grid;place-items:center;transform:rotate(18deg)}.guide-visual{background:#afc9db}.guide-visual .visual-word{font-size:90px;color:#32654f;opacity:.3}.flow-diagram{position:absolute;inset:50px 26px 20px;display:flex;flex-direction:column;align-items:center}.flow-start{padding:6px 30px;border:1px solid var(--ink);background:var(--paper);border-radius:9px;box-shadow:3px 3px 0 var(--ink);font-size:26px;z-index:1}.flow-diagram svg{width:85%;height:100px;stroke:var(--ink);stroke-width:2;fill:none;flex-shrink:1}.flow-choices{display:flex;justify-content:space-between;gap:20px;width:100%;margin-top:-8px}.flow-choices span{background:var(--paper);border:1px solid var(--ink);border-radius:8px;padding:10px 14px;font-size:10px;flex:1;box-shadow:3px 3px 0 var(--ink);display:flex;align-items:center;justify-content:space-between;gap:10px;white-space:nowrap}.flow-choices span:nth-child(2){background:var(--yellow)}.flow-choices span:nth-child(3){background:var(--mint)}.flow-choices b{font-size:20px}.engine-tag{position:absolute;bottom:8px;left:18px;font-size:7px;letter-spacing:.1em}
@media(min-width:901px) and (min-height:640px){.motion-enabled .products{height:460vh;min-height:3000px;padding:0 var(--page)}.motion-enabled .product-stage{position:sticky;top:0;min-height:640px;height:100vh;max-height:1100px;padding:56px 0;align-items:center}.motion-enabled .product-sidebar{padding-bottom:10px}.motion-enabled .product-cards{position:relative;height:min(660px,calc(100vh - 108px));min-height:528px;display:block}.motion-enabled .product-card{position:absolute;inset:0;will-change:transform,opacity}.motion-enabled .product-card:nth-child(1){z-index:1}.motion-enabled .product-card:nth-child(2){z-index:2;transform:translateY(120%)}.motion-enabled .product-card:nth-child(3){z-index:3;transform:translateY(120%)}.motion-enabled .product-card:nth-child(4){z-index:4;transform:translateY(120%)}.motion-enabled .product-stage{overflow:clip;overflow-clip-margin:0}}
.about-intro{padding-bottom:95px}.about-copy{display:grid;grid-template-columns:1.3fr 1fr;gap:70px;margin-top:55px;align-items:center}.about-copy .body-copy{margin:0}.collage{height:800px;background:var(--ink);position:relative;overflow:hidden;isolation:isolate}.collage-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;position:absolute;inset:-120px -45px;transform:rotate(-4deg) scale(1.03)}.collage-column{display:grid;gap:12px;grid-template-rows:320px 340px 330px;will-change:transform}.collage-column:nth-child(2n){margin-top:90px}.collage-column img{width:100%;height:100%;object-fit:cover;border-radius:10px;filter:saturate(.88)}.collage-type{padding:30px;font-size:clamp(30px,4.5vw,70px);font-weight:900;letter-spacing:-.06em;line-height:1.1;border-radius:10px;display:flex;flex-direction:column;justify-content:center;overflow:hidden}.coral-tile{background:var(--coral)}.green-tile{background:var(--green);color:var(--paper);font-size:5.5vw}.yellow-tile{background:var(--yellow)}.collage-type span{font-size:65px;line-height:1;margin-top:20px}.green-tile span{font-size:9px;letter-spacing:.05em}.collage::after{content:"";position:absolute;inset:0;background:#1236291a;z-index:1;pointer-events:none}.collage-line{position:absolute;width:100%;height:100%;inset:0;z-index:3;pointer-events:none}.collage-line path{stroke:var(--lime);stroke-width:22;stroke-linecap:round;stroke-dasharray:2100;stroke-dashoffset:0}.collage-statement{position:absolute;left:9%;top:29%;transform:rotate(-12deg);z-index:4;color:var(--lime);font-style:italic;letter-spacing:-.07em;line-height:.94;will-change:transform;text-shadow:1px 2px 0 #153f1915;pointer-events:none}.collage-statement span{font-family:var(--font-site);display:block;font-size:clamp(64px,10vw,170px);padding-left:16vw}.collage-statement strong{font-size:clamp(64px,11.8vw,200px);display:block;letter-spacing:-.07em}.collage-caption{position:absolute;bottom:25px;left:var(--page);z-index:4;background:var(--ink);color:var(--paper);padding:6px 12px;font-size:9px;letter-spacing:.1em}.works{padding-top:90px;padding-bottom:110px}.section-heading{display:flex;justify-content:space-between;gap:30px;align-items:center;margin-top:40px}.section-heading .jp-heading{font-size:clamp(30px,3vw,46px)}.works-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:45px}.work-image{aspect-ratio:1.55;position:relative;overflow:hidden;border-radius:9px;background:#ddd}.work-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}.work:hover .work-image img{transform:scale(1.06)}.work-image>span{position:absolute;bottom:12px;right:12px;width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:var(--paper);font-size:25px;transition:background .25s}.work:hover .work-image>span{background:var(--lime)}.work-meta{display:flex;justify-content:space-between;font-size:8px;letter-spacing:.06em;margin:16px 0 10px}.work h3{font-size:17px;font-weight:750;letter-spacing:-.03em}.work p{font-size:11px;margin-top:3px}.support{background:#f5f7f5;padding-bottom:100px}.support-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:80px;margin-top:55px;align-items:center}.support .jp-heading{font-size:clamp(34px,3.6vw,55px)}.support .button{margin-top:28px}.support-list details{border-bottom:1px solid var(--line)}.support-list details:first-child{border-top:1px solid var(--line)}.support-list summary{list-style:none;display:flex;align-items:center;gap:20px;padding:27px 0;cursor:pointer}.support-list summary::-webkit-details-marker{display:none}.support-list summary>span{font-size:10px}.support-list summary h3{font-size:17px;letter-spacing:-.02em}.support-list summary>b{margin-left:auto;font-size:23px;font-weight:300;transition:transform .2s}.support-list details[open] summary>b{transform:rotate(45deg)}.support-list details>p{font-size:12px;line-height:2.1;padding:0 24px 25px 33px;max-width:490px}.contact{position:relative;isolation:isolate;overflow:hidden;background:var(--lime);padding-bottom:160px}.contact .section-kicker{border-color:var(--line)}.contact-layout{display:flex;justify-content:space-between;align-items:center;gap:60px;margin-top:65px}.contact h2{font-size:clamp(32px,3.7vw,64px);line-height:1.5;letter-spacing:-.055em;font-weight:850}.contact p{font-size:12px;line-height:2;margin-top:23px}.contact-circle{width:180px;height:180px;flex-shrink:0;border:1px solid var(--ink);border-radius:50%;background:var(--ink);color:var(--lime);display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(-12deg);box-shadow:7px 7px 0 var(--coral);transition:transform .35s}.contact-circle:hover{transform:rotate(0)}.contact-circle>span{font-size:8px;letter-spacing:.07em}.contact-circle>b{font-size:65px;font-weight:300;line-height:1.3}.contact-circle>strong{font-size:11px}.contact-email{display:flex;gap:22px;align-items:center;margin-top:50px;flex-wrap:wrap}.contact-email>span:first-child{font-size:10px}.contact-email>a{font-size:18px;letter-spacing:-.02em;border-bottom:1px solid var(--ink)}.contact-email>a span{margin-left:18px}.contact-email button{background:transparent;font-size:10px;border:1px solid var(--line);padding:8px 13px;border-radius:20px}.contact-email button:hover{background:var(--paper)}.copy-status{font-size:11px}.contact-word{position:absolute;bottom:-55px;left:var(--page);font-size:clamp(80px,16vw,250px);line-height:1;letter-spacing:-.075em;font-weight:900;color:transparent;-webkit-text-stroke:1px #537f463a;white-space:nowrap;z-index:-1;pointer-events:none}.footer{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:36px var(--page)}.footer .brand{width:145px}.footer-links{display:flex;gap:20px;margin-left:auto}.footer-links a{font-size:10px}.footer small{font-size:9px;white-space:nowrap}.back-top{width:40px;height:40px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:21px}
dialog{width:min(890px,calc(100% - 32px));max-height:calc(100svh - 32px);padding:0;border:1px solid var(--ink);border-radius:16px;background:var(--paper);color:var(--ink);box-shadow:10px 10px 0 #0003;overflow:auto}dialog::backdrop{background:#142c26bd;backdrop-filter:blur(7px)}.dialog-bar{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:20px 24px;border-bottom:1px solid var(--line)}.dialog-bar h2{font-size:16px;margin-top:4px}.dialog-bar .eyebrow{font-size:8px}.dialog-close{border:1px solid var(--line);background:transparent;border-radius:50%;font-size:28px;width:40px;height:40px;flex-shrink:0;line-height:1}.demo-frame-slot{height:min(580px,65svh);background:#fff}.demo-frame-slot iframe{width:100%;height:100%;border:0;display:block}.dialog-bottom{display:flex;justify-content:space-between;gap:20px;padding:12px 24px;font-size:10px}.dialog-bottom a{text-decoration:underline}.modal-open{overflow:hidden}.motion-enabled .hero-copy{animation:rise .9s var(--ease) both}.motion-enabled .hero-art{animation:rise 1.1s .1s var(--ease) both}.motion-enabled .art-star{animation:star-turn 28s linear infinite}.motion-enabled .art-note{animation:note-float 7s ease-in-out infinite}.motion-enabled .hero-scribble path{stroke-dasharray:900;stroke-dashoffset:900;animation:draw 1.8s .5s var(--ease) forwards}.motion-enabled .reveal{transition:opacity .7s var(--ease),transform .7s var(--ease)}.motion-enabled .reveal.pending{opacity:0;transform:translateY(25px)}@keyframes rise{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}@keyframes draw{to{stroke-dashoffset:0}}@keyframes star-turn{to{transform:rotate(375deg)}}@keyframes note-float{50%{transform:translateY(-9px) rotate(-8deg)}}
@media(min-width:1500px){.hero-content{max-width:1440px;margin:auto}.hero-art{height:580px}.buddy-card{height:370px;top:145px}.buddy-card>strong{font-size:85px}.buddy-portrait{width:250px;height:250px;left:50px}.buddy-sticker{top:140px}.image-animation{height:250px}.image-craft{height:210px}.hero-copy{padding-left:20px}.product-stage{max-width:1450px;margin:auto}.intro-layout,.about-copy,.support-layout,.works-grid{max-width:1500px;margin-left:auto;margin-right:auto}}
@media(max-width:1100px){.desktop-nav{gap:18px}.site-header{gap:20px}.header-actions{gap:10px}.brand{width:155px}.header-contact{gap:16px}.hero-art{height:460px}.buddy-card{top:115px;width:61%;left:25%;height:280px}.buddy-card>strong{font-size:58px}.buddy-portrait{width:182px;height:182px;left:22px}.buddy-sticker{font-size:10px;top:110px}.image-animation{height:170px}.image-craft{height:145px}.art-star{font-size:105px}.art-note{font-size:18px;left:8%;bottom:0}.hero-links{gap:18px}.button{gap:28px;padding:12px 20px}.hero .text-link{font-size:10px}.product-stage{gap:5%;grid-template-columns:33% 1fr}.card-copy h3{font-size:26px}.product-card{padding:18px}.card-copy p{font-size:10px}.product-tabs button{padding:13px 16px;gap:14px}.product-tabs button>span{font-size:19px}.product-tabs button em{font-size:9px}.visual-word{font-size:85px}.mini-player{left:34%;width:156px;height:196px}.visual-choice{right:-43px;min-width:136px;font-size:8px}.visual-choice.second{right:-27px}.profile-card{left:31%}.flow-choices{gap:10px}.flow-choices span{padding:9px;font-size:9px}.support-layout{gap:40px}.footer{gap:20px}.footer-links{gap:14px}}
@media(max-width:900px){:root{--header:90px;--page:30px}.desktop-nav{display:none}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;width:34px;height:36px;background:transparent}.menu-toggle span{width:22px;height:1.5px;background:var(--ink);transition:transform .2s}.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(3.75px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-3.75px) rotate(-45deg)}.site-header{padding-top:20px;padding-bottom:20px}.hero{height:auto;min-height:790px;padding-top:125px;padding-bottom:95px}.hero-content{min-height:555px;gap:0}.hero h1{font-size:64px}.second-line{margin-left:15px}.hero-copy .eyebrow{font-size:11px}.hero-description{font-size:12px}.hero-art{height:480px;margin-left:-16px;width:calc(100% + 16px)}.image-animation{width:61%;top:13px;height:164px}.buddy-card{left:17%;top:156px;width:75%;height:260px}.buddy-card>strong{font-size:60px}.buddy-portrait{width:177px;height:177px;left:18%}.buddy-sticker{top:93px}.image-craft{display:none}.hero-scribble{left:0;top:10%;width:106%}.art-note{left:10%;bottom:0}.art-star{top:40px;right:-3%;font-size:95px}.hero-links{flex-wrap:wrap;gap:12px}.hero-links .text-link{padding-left:10px}.section-pad{padding:65px var(--page)}.intro-layout{gap:30px;grid-template-columns:.8fr 1.2fr;margin-top:50px}.intro-symbol{width:225px;height:225px}.symbol-disc{inset:10px 40px 40px 0}.symbol-triangle{width:140px;height:175px}.symbol-stripes{inset:35px 15px 30px 20px}.symbol-small{height:70px;width:90px;font-size:20px}.jp-heading{font-size:35px}.body-copy{font-size:12px}.products{padding:60px var(--page)}.product-stage{display:block}.product-sidebar h2{font-size:44px}.product-sidebar h2 br{display:none}.product-intro{margin:15px 0}.product-intro br{display:none}.product-tabs{grid-template-columns:repeat(3,1fr);gap:10px;margin:22px 0}.product-tabs button{padding:12px 14px;gap:9px}.product-tabs button em,.product-tabs button b{display:none}.product-tabs button>span{font-size:18px}.product-progress,.product-skip{display:none}.product-cards{margin-top:30px}.product-card{padding:26px;scroll-margin-top:25px;max-width:650px;width:100%;justify-self:center}.product-visual{height:330px;flex:none}.mini-player{height:242px;width:210px;top:55px;left:37%}.mini-player>img{width:190px;height:190px}.visual-word{font-size:120px}.visual-choice{font-size:11px;min-width:177px;bottom:53px;right:-55px}.visual-choice.second{bottom:10px;right:-35px}.visual-bubble{font-size:13px;top:35px}.buddy-label{font-size:7px}.visual-tag{font-size:14px}.card-copy{padding-top:24px}.card-copy h3{font-size:32px}.card-copy p{font-size:12px}.card-bottom>span{font-size:10px}.card-bottom .text-link{font-size:11px}.profile-card{width:230px;height:260px;left:34%;top:50px}.profile-card>strong{font-size:21px}.profile-hello{font-size:12px}.profile-link{font-size:11px}.profile-label{font-size:36px;left:25px}.profile-visual .visual-word,.guide-visual .visual-word{font-size:120px}.flow-diagram{inset:65px 35px 30px}.flow-start{font-size:35px;padding:6px 38px}.flow-diagram svg{height:135px}.flow-choices span{font-size:12px;padding:13px}.flow-choices b{font-size:27px}.about-copy{gap:35px;grid-template-columns:1fr 1fr;margin-top:35px}.collage{height:650px}.collage-grid{gap:9px;inset:-120px -80px;grid-template-columns:repeat(4,1fr)}.collage-column{gap:9px;grid-template-rows:260px 280px 280px}.collage-statement{left:5%;top:36%}.collage-statement span{font-size:12vw}.collage-statement strong{font-size:13.5vw}.collage-line path{stroke-width:28px}.works-grid{gap:16px}.work h3{font-size:14px}.work-meta{font-size:7px}.work p{font-size:10px}.support-layout{grid-template-columns:1fr 1.2fr;gap:30px}.support-list summary{gap:10px}.support-list summary h3{font-size:14px}.support-list details>p{padding-left:20px;font-size:11px}.contact h2{font-size:37px}.contact-circle{width:150px;height:150px}.contact-circle>b{font-size:50px}.contact-layout{gap:25px;margin-top:45px}.contact{padding-bottom:130px}.contact-word{bottom:-22px}.footer{flex-wrap:wrap}.footer-links{margin-left:auto}.footer small{margin-left:0}.back-top{margin-left:auto}.footer .brand{width:130px}}
@media(max-width:600px){:root{--page:22px;--header:82px}.site-header{gap:14px;padding:20px var(--page);height:82px}.brand{width:130px}.brand>span{font-size:5.6px;margin-top:4px}.header-actions{gap:10px}.header-contact{font-size:10px;padding:5px 6px 5px 13px;gap:12px;box-shadow:2px 2px 0 var(--ink)}.arrow-dot{width:25px;height:25px;font-size:17px}.motion-toggle{width:27px;height:27px;font-size:10px}.menu-toggle{width:25px;padding:0}.menu-toggle span{width:20px}.hero{padding-top:110px;min-height:1030px}.hero-topline{font-size:8px}.hero-topline>span{display:none}.hero-content{display:flex;flex-direction:column;height:auto;align-items:stretch;margin-top:23px}.hero-copy{align-self:stretch;padding:0}.hero-copy .eyebrow{font-size:11px;margin:7px 0 17px;letter-spacing:.075em}.hero h1{font-size:clamp(58px,14.2vw,84px);line-height:1.24;letter-spacing:-.075em}.second-line{margin-left:30px}.hero-description{font-size:11px;margin:20px 0;line-height:1.9}.hero-description br:first-child{display:none}.hero-links{gap:20px;flex-wrap:nowrap}.hero-links .text-link{padding-left:0;font-size:10px;gap:8px}.hero-links .button{font-size:11px;padding:12px 19px;min-height:49px;gap:25px}.hero-art{width:100%;max-width:440px;height:380px;margin:30px auto 0}.art-grid{inset:50px 15px 30px 15px}.image-animation{top:0;width:48%;height:145px;left:3%;box-shadow:5px 5px 0 var(--ink)}.buddy-card{top:76px;left:36%;width:58%;height:250px;box-shadow:6px 6px 0 var(--ink)}.buddy-card>strong{font-size:54px;left:12px;top:43px}.buddy-card>strong>span{font-size:12px;top:-28px}.buddy-portrait{width:170px;height:170px;left:12%;}.buddy-sticker{top:95px;right:3px;font-size:9px;padding:9px 12px}.buddy-label{font-size:6px;gap:4px;padding:11px 8px}.buddy-label .status-dot{width:5px;height:5px}.buddy-play{font-size:8px;bottom:10px;left:10px;padding:8px 12px}.art-star{font-size:82px;top:-3px;right:0}.art-orbit{width:70px;height:70px;left:12%;bottom:56px}.art-note{left:9%;bottom:26px;font-size:21px}.hero-scribble{left:12%;width:90%;top:0;height:105%}.hero-bottom{bottom:28px;padding-top:13px;gap:10px;border-top:0}.hero-bottom p{font-size:9px}.scroll-note{font-size:7px;gap:14px}.hero-index{display:none}.hero-pattern{inset:150px -30px 0;justify-content:space-between}.hero-pattern span{font-size:85px}.section-pad{padding:50px var(--page)}.section-kicker{font-size:8px;gap:20px;padding-top:13px;border-top:0}.section-kicker>span:last-child{font-size:9px;max-width:160px;text-align:right}.intro-layout{display:flex;flex-direction:column;gap:45px;margin-top:43px;align-items:stretch}.intro-symbol{width:195px;height:185px;align-self:center;margin-bottom:0}.symbol-disc{inset:0 65px 50px 0}.symbol-triangle{width:120px;height:170px}.symbol-stripes{inset:12px 18px 20px 0}.symbol-small{height:58px;width:77px;top:-10px;font-size:19px}.jp-heading{font-size:33px;line-height:1.65;letter-spacing:-.06em}.body-copy{font-size:11px;line-height:2.2;margin-top:24px}.intro .body-copy br:nth-of-type(5){display:none}.intro .text-link{margin-top:25px}.products{padding:46px var(--page)}.product-sidebar .eyebrow{font-size:9px}.product-sidebar h2{font-size:37px;margin-top:14px}.product-intro{font-size:11px}.product-tabs{gap:6px;margin:20px 0}.product-tabs button{padding:9px 10px;gap:6px}.product-tabs button small{font-size:8px;padding-top:2px}.product-tabs button>span{font-size:15px}.product-cards{gap:24px;margin-top:25px}.product-card{padding:15px;border-radius:13px;scroll-margin-top:16px}.card-meta{font-size:6px;margin-bottom:13px}.product-visual{height:242px;min-height:0}.visual-word{font-size:79px;top:3px;left:12px}.mini-player{width:140px;height:166px;left:36%;top:53px;box-shadow:4px 4px 0 var(--green)}.mini-player-top{padding:6px}.mini-player-top span{font-size:5px}.mini-player>img{width:122px;height:122px;left:8px}.visual-bubble{font-size:9px;left:-51px;top:16px;padding:8px 11px}.visual-choice{font-size:7px;min-width:120px;right:-25px;bottom:33px;padding:6px 8px}.visual-choice.second{bottom:4px;right:-10px}.visual-asterisk{font-size:56px;right:7px;top:16px}.visual-tag{font-size:10px;left:13px;bottom:18px}.visual-caption{font-size:6px}.card-copy{padding:18px 3px 0;gap:12px;align-items:flex-start}.card-copy h3{font-size:25px;line-height:1.5}.card-copy p{font-size:10px;line-height:1.9;margin-top:11px}.card-copy p br{display:none}.round-arrow{width:45px;height:45px;font-size:28px;margin-top:8px}.card-bottom{margin-top:15px;gap:10px;align-items:flex-start;border-top:0}.card-bottom>span{font-size:7px;max-width:145px;padding-top:6px}.card-bottom .text-link{font-size:9px;gap:7px}.profile-visual .visual-word,.guide-visual .visual-word{font-size:77px}.profile-card{width:158px;height:190px;left:36%;top:39px;padding:11px;box-shadow:4px 4px 0 var(--ink)}.profile-avatar{width:32px;height:32px;margin-right:7px}.profile-hello{font-size:7px;margin-top:9px}.profile-card>strong{font-size:14px;margin-top:20px}.profile-lines{gap:6px;margin-top:12px}.profile-link{font-size:8px;margin-top:13px;padding:6px 8px}.profile-label{font-size:23px;left:11px;bottom:32px}.profile-circle{width:45px;height:45px;font-size:30px;right:10px;top:29px}.flow-diagram{inset:50px 13px 26px}.flow-start{font-size:24px;padding:5px 26px}.flow-diagram svg{height:79px}.flow-choices{gap:9px}.flow-choices span{font-size:8px;padding:10px 7px;gap:5px}.flow-choices b{font-size:16px}.engine-tag{font-size:6px;left:11px}.product-backword{font-size:22vw;bottom:0}.about-copy{display:block;margin-top:35px}.about-copy .jp-heading{font-size:30px}.about-copy .body-copy{margin-top:28px}.collage{height:560px}.collage-grid{grid-template-columns:repeat(4,1fr);gap:7px;inset:-50px -170px -40px;transform:rotate(-5deg) scale(1.04)}.collage-column{grid-template-rows:195px 220px 180px;gap:7px}.collage-column:nth-child(2n){margin-top:55px}.collage-column img,.collage-type{border-radius:6px}.collage-type{font-size:32px;padding:14px}.collage-type span{font-size:40px}.green-tile{font-size:42px}.green-tile span{font-size:6px}.collage-statement{top:36%;left:3%;line-height:1}.collage-statement span{font-size:16vw;padding-left:5vw}.collage-statement strong{font-size:13.2vw;letter-spacing:-.065em}.collage-line{width:190%;left:-60%}.collage-line path{stroke-width:26px}.collage-caption{font-size:6px;left:16px;bottom:17px}.section-heading{display:block;margin-top:29px}.section-heading .jp-heading{font-size:28px}.section-heading>.text-link{margin-top:14px;font-size:10px}.works-grid{grid-template-columns:1fr;gap:35px;margin-top:32px}.work-image{aspect-ratio:1.65}.work h3{font-size:18px}.work p{font-size:11px}.work-meta{font-size:8px;margin-top:13px}.support-layout{display:block;margin-top:30px}.support .jp-heading{font-size:34px}.support .body-copy{font-size:12px}.support .button{font-size:11px;margin-top:25px}.support-list{margin-top:40px}.support-list summary{padding:23px 0;gap:16px}.support-list summary h3{font-size:15px}.support-list details>p{font-size:11px;padding-left:29px}.contact-layout{position:relative;display:block;margin-top:33px}.contact h2{font-size:clamp(26px,6.5vw,35px);line-height:1.6}.contact p{font-size:10px;margin-top:20px}.contact-circle{width:120px;height:120px;margin:25px 12px 0 auto;box-shadow:5px 5px 0 var(--coral)}.contact-circle>span{font-size:5.7px}.contact-circle>b{font-size:44px}.contact-circle>strong{font-size:9px}.contact-email{margin-top:27px;gap:12px}.contact-email>span:first-child{display:block;width:100%;font-size:9px}.contact-email>a{font-size:17px}.contact-email button{font-size:8px;padding:7px 10px}.contact-email>a span{margin-left:9px}.contact-word{font-size:17vw;bottom:-12px;left:12px}.contact{padding-bottom:90px}.footer{padding:30px var(--page);gap:22px}.footer .brand{width:127px}.footer-links{width:100%;order:2;margin:0;gap:24px}.footer-links a{font-size:9px}.footer small{order:3;font-size:8px}.back-top{margin-left:auto}.dialog-bar{padding:15px 17px}.dialog-bar h2{font-size:12px;max-width:245px}.dialog-close{width:34px;height:34px;font-size:24px}.dialog-bottom{font-size:8px;padding:12px 17px;gap:10px}.demo-frame-slot{height:62svh}.dialog-bottom p{max-width:180px}}
@media(max-width:370px){:root{--page:17px}.header-contact{display:none}.header-actions{margin-left:auto}.hero{min-height:995px}.hero h1{font-size:56px}.hero-links{gap:13px}.hero-links .button{gap:19px;padding:12px 15px}.hero-art{height:355px}.buddy-card{height:234px}.buddy-card>strong{font-size:49px}.buddy-portrait{width:158px;height:158px}.buddy-sticker{font-size:8px}.image-animation{height:130px}.hero-bottom p{font-size:8px}.jp-heading{font-size:30px}.product-sidebar h2{font-size:32px}.card-copy h3{font-size:23px}.round-arrow{width:37px;height:37px;font-size:24px}.visual-word{font-size:71px}.mini-player{left:34%;width:132px}.visual-choice{right:-20px}.profile-card{left:32%}.profile-visual .visual-word,.guide-visual .visual-word{font-size:69px}.profile-label{font-size:20px}.flow-choices{gap:6px}.flow-choices span{font-size:7px}}
.no-motion *{animation:none!important;transition:none!important;scroll-behavior:auto!important}.no-motion .reveal{opacity:1!important;transform:none!important}.no-motion .hero-scribble path{stroke-dashoffset:0!important}.no-motion .collage-column,.no-motion .collage-statement{will-change:auto}.no-motion .collage-statement{transform:rotate(-12deg)!important}.no-motion .collage-line path{stroke-dashoffset:0!important}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}

@media(min-width:901px){.hero-description,.body-copy{font-size:15px}.card-copy p{font-size:13px;line-height:1.85}.support-list details>p,.contact p{font-size:14px}.product-intro{font-size:14px}}
@media(max-width:600px){.product-sidebar h2 br{display:block}.card-copy{display:block}.card-copy .round-arrow{display:none}.card-copy h3{text-wrap:balance}}

/* Four business areas share the same scroll-driven stage. */
.business-services .product-sidebar h2{font-size:clamp(34px,3.3vw,52px)}
.business-services .product-intro{margin:14px 0 20px;font-size:12px}
.business-services .product-tabs{gap:8px}
.business-services .product-tabs button{padding:11px 16px;gap:12px;min-height:65px}
.business-services .product-tabs button>span{font-size:clamp(13px,1.2vw,18px);letter-spacing:-.035em}
.business-services .product-tabs button em{font-size:8px;letter-spacing:.07em;margin-top:3px}
.business-services .product-tabs button em.service-brand{font-size:13px;font-weight:750;letter-spacing:0}
.business-services .product-tabs button b{font-size:18px}
.business-services .product-progress{margin-top:18px}
.business-services .product-skip{margin-top:12px}
.card-copy p.service-name{margin:0 0 6px;font-size:10px;font-weight:750;letter-spacing:.035em;color:var(--green)}
.animation-visual{background:var(--coral)}
.animation-visual .visual-word{font-size:clamp(40px,5.8vw,84px);white-space:nowrap;opacity:.24}
.film-frame{position:absolute;left:10%;top:22%;width:63%;height:60%;border:1px solid var(--ink);border-radius:9px;transform:rotate(-7deg);box-shadow:6px 6px 0 var(--ink);overflow:hidden;background:var(--ink)}
.film-frame img{width:100%;height:100%;object-fit:cover}
.film-time{position:absolute;bottom:0;left:0;right:0;padding:4px 10px;background:#202c29c9;color:var(--paper);font-size:7px;letter-spacing:.09em}
.film-inset{position:absolute;right:6%;top:36%;width:25%;aspect-ratio:1;border:1px solid var(--ink);border-radius:50% 50% 8% 50%;box-shadow:4px 4px 0 var(--yellow);transform:rotate(12deg);overflow:hidden}
.film-inset img{width:100%;height:100%;object-fit:cover}
.film-note{position:absolute;right:5%;top:7%;font:italic 21px/1 var(--font-site);transform:rotate(8deg)}
.film-timeline{position:absolute;bottom:6%;left:8%;right:27%;height:14px;display:flex;gap:4px;transform:rotate(-3deg)}
.film-timeline i{flex:1;background:var(--yellow);border:1px solid var(--ink);border-radius:3px}.film-timeline i:nth-child(2){background:var(--paper);flex:2}.film-timeline i:nth-child(3){background:var(--mint)}.film-timeline span{position:absolute;right:-49px;top:-17px;font-size:43px;line-height:1;color:var(--green)}
.system-visual{background:#b9cde0}.system-visual .visual-word{opacity:.23;font-size:88px;white-space:nowrap}
.system-window{position:absolute;left:23%;top:24%;width:56%;height:60%;background:var(--paper);border:1px solid var(--ink);border-radius:9px;transform:rotate(-5deg);box-shadow:6px 6px 0 var(--blue);z-index:2;overflow:hidden}
.system-bar{height:26px;display:flex;align-items:center;gap:4px;padding:0 10px;border-bottom:1px solid var(--line)}.system-bar span{font-size:7px;letter-spacing:.08em;margin-right:auto}.system-bar i{width:4px;height:4px;border-radius:50%;background:var(--ink)}
.system-content{display:flex;height:calc(100% - 26px)}.system-menu{width:25%;border-right:1px solid var(--line);padding:19px 10px;display:flex;flex-direction:column;gap:12px}.system-menu i{height:4px;background:var(--mint)}.system-menu i:first-child{background:var(--green);width:60%}
.system-blocks{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:13px}.system-blocks>span{background:var(--yellow);border-radius:5px;font-size:32px;line-height:1;display:grid;place-items:center}.system-blocks>span:nth-child(2){background:var(--mint)}.system-blocks>span:last-child{grid-column:span 2;background:#e3e7df;display:flex;gap:8px;align-items:flex-end;padding:8px 17px}.system-blocks>span:last-child i{height:50%;width:26%;background:var(--blue)}.system-blocks>span:last-child i:nth-child(2){height:80%}.system-blocks>span:last-child i:nth-child(3){height:100%}
.system-node{position:absolute;z-index:3;border:1px solid var(--ink);border-radius:30px;padding:8px 18px;background:var(--paper);font-size:11px;font-weight:700;box-shadow:3px 3px 0 var(--ink)}.node-idea{top:32%;left:5%;transform:rotate(-8deg)}.node-design{top:15%;right:8%;background:var(--yellow);transform:rotate(9deg)}.node-build{bottom:9%;right:4%;background:var(--mint);transform:rotate(-7deg)}.system-lines{position:absolute;inset:0;width:100%;height:100%;stroke:var(--ink);stroke-width:2;fill:none}
.torudake-visual{background:var(--yellow)}.torudake-word{position:absolute;left:7%;top:25%;z-index:3;transform:rotate(-6deg)}.torudake-word small{display:block;font-size:10px;letter-spacing:.2em;font-weight:750}.torudake-word strong{display:block;font-size:clamp(40px,4.6vw,72px);font-weight:900;letter-spacing:-.08em;line-height:1.4;white-space:nowrap}.torudake-word>span{font-size:11px;font-weight:700;letter-spacing:.08em}.torudake-orbit{position:absolute;left:-10%;top:-25%;width:70%;height:150%;border:1px solid #202c293d;border-radius:50%;transform:rotate(24deg)}.torudake-star{position:absolute;right:6%;top:2%;color:var(--coral);font-size:95px;line-height:1;transform:rotate(15deg);z-index:2}.torudake-reel{position:absolute;top:-27%;right:8%;height:155%;width:28%;background:var(--ink);padding:16px 9px;display:grid;gap:9px;transform:rotate(16deg)}.torudake-reel>span{border-radius:5px;background:var(--mint);position:relative;overflow:hidden}.torudake-reel>span:before{content:"";position:absolute;width:85%;aspect-ratio:1;left:28%;top:15%;background:var(--paper);border-radius:50%}.torudake-reel>span:nth-child(2){background:var(--coral)}.torudake-reel>span:nth-child(2):before{border-radius:0;transform:rotate(45deg);background:var(--yellow)}.torudake-reel>span:nth-child(3){background:var(--blue)}.torudake-play{position:absolute;right:17%;bottom:8%;width:54px;height:54px;display:grid;place-items:center;padding-left:4px;border-radius:50%;background:var(--paper);border:1px solid var(--ink);box-shadow:3px 3px 0 var(--ink);z-index:4;font-size:22px}
@media(min-width:901px) and (min-height:640px){.motion-enabled .business-services .product-stage{padding:36px 0}.motion-enabled .business-services .product-cards{height:min(690px,calc(100vh - 72px))}.business-services .product-visual{min-height:180px}.business-services .card-copy{padding-top:15px}.business-services .card-copy h3{font-size:27px}.business-services .card-copy p:not(.service-name){font-size:12px;line-height:1.8;margin-top:10px}.business-services .card-bottom{margin-top:14px}}
@media(max-width:1100px) and (min-width:901px){.business-services .product-tabs button{gap:9px;padding:10px 12px}.business-services .product-tabs button b{display:none}.business-services .product-sidebar h2{font-size:35px}.business-services .card-copy h3{font-size:25px}.business-services .card-copy p:not(.service-name){font-size:11px}.business-services .card-copy{gap:16px}.business-services .round-arrow{width:48px;height:48px;font-size:29px}}
@media(max-width:900px){.business-services .product-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.business-services .product-tabs button{min-height:67px;border-radius:16px;padding:12px 16px}.business-services .product-tabs button>span{font-size:16px}.business-services .product-tabs button em{display:block;font-size:8px}.business-services .product-tabs button em.service-brand{font-size:13px}.business-services .product-sidebar h2{font-size:44px}.business-services .product-visual{flex:none}.animation-visual .visual-word{font-size:65px}.system-visual .visual-word{font-size:95px}.torudake-word strong{font-size:62px}.torudake-word{top:28%}}
@media(max-width:600px){.business-services .product-sidebar h2{font-size:37px}.business-services .product-tabs button{border-radius:12px;align-items:flex-start;padding:11px 10px;gap:7px;min-height:75px}.business-services .product-tabs button>span{font-size:12px}.business-services .product-tabs button small{font-size:8px;padding-top:2px}.business-services .product-tabs button em{font-size:6px;margin-top:5px}.business-services .product-tabs button em.service-brand{font-size:13px;margin-top:2px}.business-services .product-intro{font-size:11px}.business-services .product-intro br{display:none}.business-services .card-copy p.service-name{font-size:9px;margin:0 0 7px}.business-services .card-copy h3{font-size:26px}.animation-visual .visual-word{font-size:43px;left:10px;top:8px}.film-frame{top:26%;height:53%;left:8%;width:66%;box-shadow:4px 4px 0 var(--ink)}.film-inset{right:4%;top:47%}.film-note{font-size:17px;right:4%;top:23%}.film-timeline{bottom:8%;height:11px}.film-timeline span{font-size:34px;right:-39px;top:-13px}.film-time{font-size:5px;padding:3px 7px}.system-visual .visual-word{font-size:65px;top:6px}.system-window{left:22%;width:59%;height:57%;top:27%;box-shadow:4px 4px 0 var(--blue)}.system-bar{height:21px;padding:0 7px}.system-bar span{font-size:5px}.system-content{height:calc(100% - 21px)}.system-menu{padding:15px 6px;gap:9px}.system-blocks{padding:8px;gap:5px}.system-blocks>span{font-size:24px}.system-blocks>span:last-child{padding:5px 10px}.system-node{font-size:9px;padding:6px 12px}.node-idea{left:4%;top:38%}.node-design{top:18%;right:7%}.node-build{right:4%;bottom:10%}.torudake-word{left:6%;top:31%}.torudake-word strong{font-size:clamp(34px,9vw,52px)}.torudake-word small{font-size:8px}.torudake-word>span{font-size:9px;letter-spacing:0}.torudake-star{font-size:68px;top:5%;right:3%}.torudake-play{width:42px;height:42px;right:12%;bottom:11%;font-size:17px}.torudake-reel{width:28%;right:6%;padding:12px 6px;gap:6px}.business-services .card-bottom>span{max-width:50%}}
@media(max-width:370px){.business-services .product-tabs button{padding:10px 9px;gap:5px}.business-services .product-tabs button>span{font-size:11px}.business-services .product-sidebar h2{font-size:32px}.business-services .card-copy h3{font-size:24px}.animation-visual .visual-word{font-size:37px}}

.business-services .product-tabs button>span{word-break:keep-all}

/* The existing VARISTA showreel leads into a short company introduction. */
.hero-with-video .hero-content{grid-template-columns:.85fr 1.15fr;gap:4%}
.hero-with-video h1{font-size:clamp(58px,5.8vw,100px)}
.hero-with-video .hero-art{height:auto;min-height:0;width:100%;margin:0;position:relative}
.showreel-heading{display:flex;align-items:center;gap:9px;font-size:9px;letter-spacing:.11em;font-weight:700;margin:0 0 14px}
.showreel-heading>span:last-child{margin-left:auto;font-weight:400}
.showreel-shell{border:1px solid var(--ink);border-radius:16px;overflow:hidden;background:var(--ink);box-shadow:9px 9px 0 var(--mint)}
.showreel-video{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;background:#101613}
.showreel-shell figcaption{padding:11px 16px;display:flex;align-items:center;justify-content:space-between;gap:15px;background:var(--ink);color:#fff;font-size:8px;letter-spacing:.08em}
.showreel-shell figcaption>span:first-child{font-weight:750}
.showreel-shell figcaption>span:last-child{font-size:9px;letter-spacing:0}
.showreel-foot{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:27px;padding:0 6px}
.showreel-note{font:italic 21px/1.2 var(--font-site);transform:rotate(-4deg)}
.showreel-flower{font-size:55px;color:var(--coral);line-height:1;transform:rotate(10deg)}
.showreel-foot .text-link{font-size:10px}
.intro .body-copy{max-width:540px}.intro .intro-followup{margin-top:18px}
@media(max-width:1100px){.hero-with-video .hero-content{gap:3%;grid-template-columns:.9fr 1.1fr}.hero-with-video h1{font-size:clamp(50px,5.8vw,64px)}.hero-with-video .hero-copy .eyebrow{font-size:11px;letter-spacing:.05em}.showreel-note{font-size:18px}.showreel-flower{font-size:45px}.showreel-foot{gap:12px}.showreel-foot .text-link{font-size:9px;gap:9px}}
@media(max-width:900px){.hero-with-video{min-height:780px;padding-top:125px;padding-bottom:95px}.hero-with-video .hero-content{grid-template-columns:.85fr 1.15fr;min-height:500px}.hero-with-video h1{font-size:clamp(46px,6.5vw,60px)}.hero-with-video .second-line{margin-left:10px}.hero-with-video .hero-copy .eyebrow{font-size:10px;max-width:240px}.hero-with-video .hero-description{font-size:11px}.hero-with-video .hero-links{flex-wrap:wrap;gap:14px}.showreel-heading{font-size:7px}.showreel-shell{border-radius:12px;box-shadow:6px 6px 0 var(--mint)}.showreel-shell figcaption{padding:9px 11px;font-size:7px;gap:8px}.showreel-shell figcaption>span:last-child{font-size:7px}.showreel-note{font-size:16px}.showreel-flower{font-size:35px}.showreel-foot{gap:10px;margin-top:20px}.showreel-foot .text-link{font-size:8px;gap:5px}}
@media(max-width:600px){.hero-with-video{min-height:0;height:auto;padding-top:110px;padding-bottom:110px;max-height:none}.hero-with-video .hero-content{display:flex;gap:0;min-height:0;margin-top:23px}.hero-with-video h1{font-size:clamp(58px,14.2vw,84px)}.hero-with-video .second-line{margin-left:30px}.hero-with-video .hero-copy .eyebrow{font-size:11px;max-width:none;letter-spacing:.045em}.hero-with-video .hero-description{font-size:11px}.hero-with-video .hero-links{flex-wrap:nowrap;gap:20px}.hero-with-video .hero-art{max-width:none;margin:38px 0 0}.showreel-heading{font-size:7px;margin-bottom:10px}.showreel-shell{border-radius:11px;box-shadow:5px 5px 0 var(--mint)}.showreel-shell figcaption{padding:10px 11px;font-size:6px}.showreel-shell figcaption>span:last-child{font-size:7px}.showreel-foot{margin-top:20px;gap:14px;padding:0 3px}.showreel-note{font-size:17px}.showreel-flower{font-size:34px}.showreel-foot .text-link{font-size:8px}.intro .body-copy{font-size:12px;line-height:2.1}.intro .intro-followup{margin-top:15px}}
@media(max-width:370px){.hero-with-video h1{font-size:56px}.hero-with-video .hero-links{gap:13px}.showreel-note{font-size:15px}.showreel-flower{font-size:28px}.showreel-foot{gap:9px}.showreel-shell figcaption>span:last-child{font-size:6px}}

/* VARISTA's approach follows the same type, shapes, colors and offset shadows as the site. */
.company-approach{padding-bottom:80px}
.company-introduction{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center;margin:70px 0 80px}
.company-introduction .jp-heading{font-size:clamp(36px,4vw,64px);line-height:1.5}
.company-introduction .body-copy{margin:0;max-width:470px;font-size:15px;line-height:2.25}
.company-introduction .body-copy+.body-copy{margin-top:20px}
.approach{position:relative;scroll-margin-top:0;--approach-progress:1;--connect-draw:0;--deliver-draw:0;--creative-x:4%;--technology-x:-4%;--card-y:-7%;--creative-rotate:-6deg;--technology-rotate:6deg;--card-scale:.93;--card-opacity:1;--cross-scale:1;--cross-rotate:0deg;--outcome-y:0px;--outcome-opacity:1;--source-scale:1}
.approach-stage{padding:32px 0 25px;border-top:0}
.approach-heading{display:flex;align-items:center;gap:30px}
.approach-heading .eyebrow{font-size:10px;letter-spacing:.12em;margin-bottom:10px}
.approach-heading h3{font-size:clamp(28px,2.8vw,45px);font-weight:850;letter-spacing:-.06em;line-height:1.4}
.approach-heading>p{font-size:11px;margin-left:auto}

.approach-layout{display:grid;grid-template-columns:34% 1fr;gap:3%;align-items:center;padding:20px 0;min-width:0}
.approach-stories{min-width:0;position:relative;align-self:center}
.approach-story+.approach-story{margin-top:35px}
.approach-chapter{display:flex;align-items:center;gap:10px;font-size:9px;letter-spacing:.09em;color:var(--green);font-weight:700}
.approach-chapter>span{display:grid;place-items:center;border:1px solid var(--ink);border-radius:50%;background:var(--yellow);width:34px;height:34px;font-size:12px;color:var(--ink);box-shadow:2px 2px 0 var(--ink)}
.approach-story h4{font-size:clamp(23px,2.7vw,41px);line-height:1.65;font-weight:850;letter-spacing:-.06em;margin:20px 0 16px}
.approach-story>p:last-child{font-size:12px;line-height:2.15;margin:0}
.approach-scene{aspect-ratio:720/500;position:relative;width:100%;isolation:isolate;align-self:center}
.scene-grid{position:absolute;inset:16% 5% 17% 5%;z-index:-2;border:1px solid #dce6df;background-image:linear-gradient(#dce6df 1px,transparent 1px),linear-gradient(90deg,#dce6df 1px,transparent 1px);background-size:25px 25px;transform:rotate(-6deg);opacity:.52}
.scene-backword{position:absolute;left:4%;top:31%;z-index:-1;color:var(--green);opacity:.055;font-size:clamp(45px,6vw,90px);line-height:1.05;font-weight:900;letter-spacing:-.06em;transform:rotate(-6deg)}
.scene-lines{position:absolute;inset:0;width:100%;height:100%;stroke:var(--ink);stroke-width:2.1;fill:none;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
.scene-connect{stroke-dasharray:1;stroke-dashoffset:var(--connect-draw)}
.scene-deliver{stroke-dasharray:1;stroke-dashoffset:var(--deliver-draw);opacity:var(--outcome-opacity)}

.scene-source{position:absolute;left:50%;top:10%;transform:translate(-50%,-50%) scale(var(--source-scale));width:36%;padding:10px 16px 11px;background:var(--yellow);border:1.5px solid var(--ink);border-radius:10px;box-shadow:4px 4px 0 var(--ink);z-index:3}
.scene-source>small{font-size:8px;letter-spacing:.11em;display:block}.scene-source>strong{font-size:clamp(17px,1.8vw,28px);letter-spacing:.07em;line-height:1.5}
.scene-creative,.scene-technology{position:absolute;top:31%;width:36%;height:43%;border:1.5px solid var(--ink);box-shadow:6px 6px 0 var(--ink);display:flex;align-items:center;flex-direction:column;justify-content:center;opacity:var(--card-opacity);transform-origin:50% 50%}
.scene-creative{left:9%;background:var(--coral);border-radius:47% 47% 12px 12px;transform:translate(var(--creative-x),var(--card-y)) rotate(var(--creative-rotate)) scale(var(--card-scale));}
.scene-technology{left:55%;background:var(--mint);border-radius:12px;transform:translate(var(--technology-x),var(--card-y)) rotate(var(--technology-rotate)) scale(var(--card-scale));}
.scene-card-label{font-size:8px;letter-spacing:.11em;line-height:1.5;margin-top:4px;margin-bottom:10px}

.scene-creative>strong,.scene-technology>strong{display:block;font-size:clamp(20px,2.3vw,35px);font-weight:850;letter-spacing:-.045em;line-height:1.4;text-align:center;z-index:1}
.scene-creative>small,.scene-technology>small{font-size:8px;line-height:1.5;margin-top:11px;letter-spacing:-.02em;white-space:nowrap}
.scene-card-line{width:24%;height:3px;background:var(--ink);margin-top:9px;border-radius:5px}
.scene-window-bar{position:absolute;top:0;left:0;right:0;height:27px;border-bottom:1px solid var(--ink);display:flex;gap:4px;align-items:center;padding:0 9px;line-height:1}.scene-window-bar i{height:4px;width:4px;border-radius:50%;background:var(--ink)}.scene-window-bar span{font-size:7px;letter-spacing:.03em;margin-left:auto}

.scene-cross svg{display:block;width:80%;height:80%;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round}
.scene-cross{position:absolute;left:50%;top:51%;width:60px;height:60px;border-radius:50%;background:var(--yellow);border:1.5px solid var(--ink);box-shadow:3px 3px 0 var(--ink);display:grid;place-items:center;font-size:47px;font-weight:400;line-height:1;transform:translate(-50%,-50%) rotate(var(--cross-rotate)) scale(var(--cross-scale));z-index:4;opacity:var(--cross-scale)}
.scene-outcome{position:absolute;left:50%;top:80%;width:60%;padding:13px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--green);color:var(--paper);border:1.5px solid var(--ink);border-radius:12px;box-shadow:5px 5px 0 var(--mint);transform:translate(-50%,var(--outcome-y));opacity:var(--outcome-opacity);z-index:4}
.scene-outcome small{display:block;font-size:7px;letter-spacing:.11em;margin-bottom:6px;line-height:1.4}.scene-outcome strong{display:block;font-size:clamp(17px,1.7vw,26px);line-height:1.45;letter-spacing:-.02em}.scene-outcome strong br{display:none}

.approach-navigation{align-self:end;padding-top:20px}
.approach-timeline{height:3px;background:#e7ebe8;overflow:hidden;margin-bottom:18px}.approach-timeline>span{height:100%;display:block;background:var(--green);transform:scaleX(var(--approach-progress));transform-origin:left}
.approach-controls{display:none;gap:12px}
.approach-controls button{background:var(--paper);border:1px solid var(--line);border-radius:40px;padding:12px 20px;font-size:13px;font-weight:700;display:flex;align-items:center;gap:12px;flex:1;justify-content:center;transition:background .2s,color .2s}
.approach-controls button small{font-size:9px;font-weight:400}.approach-controls button[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.approach-controls button:hover{border-color:var(--green)}
.approach-footer{display:flex;align-items:center;justify-content:space-between;margin-top:17px;gap:20px;min-height:26px}.approach-scroll-hint{display:none;font-size:8px;letter-spacing:.09em}.approach-scroll-hint>span{margin-left:16px;font-size:15px}
.intro .approach-footer .text-link{font-size:10px;margin:0 0 0 auto;gap:12px}
.approach.is-scrollable{height:calc(100svh + 1500px)}
.is-scrollable .approach-stage{position:sticky;top:0;height:100svh;min-height:640px;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:var(--paper)}
.is-scrollable .approach-layout{max-height:620px;align-self:center;width:100%;height:100%}
.is-scrollable .approach-stories{min-height:270px}
.is-scrollable .approach-story{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;opacity:0;visibility:hidden;transform:translateY(16px);transition:opacity .22s,transform .22s,visibility .22s;margin:0}
.is-scrollable .approach-story.is-current{opacity:1;visibility:visible;transform:none}
.is-scrollable .approach-controls{display:flex}.is-scrollable .approach-scroll-hint{display:block}
.green-tile{font-size:clamp(27px,3.5vw,60px)}
.hero-with-video .hero-links .button{gap:20px;white-space:nowrap}.hero-with-video .hero-links>.text-link{white-space:nowrap}
@media(max-width:1100px){.company-introduction .body-copy{font-size:13px}.hero-with-video .hero-links{flex-wrap:wrap;gap:20px}.approach-story>p:last-child{font-size:11px}.scene-outcome strong br{display:block}.scene-outcome{padding:10px 16px}.scene-creative>small,.scene-technology>small{font-size:7px}.scene-source{padding:9px 12px}.scene-source>small{font-size:7px}}
@media(min-width:701px) and (max-height:800px){.is-scrollable .approach-stage{padding-top:23px;padding-bottom:17px}.approach-heading h3{font-size:30px}.approach-heading .eyebrow{font-size:9px;margin-bottom:6px}.is-scrollable .approach-layout{max-height:480px}.is-scrollable .approach-scene{max-width:min(100%,calc((100svh - 275px)*1.44));justify-self:center}.is-scrollable .approach-navigation{padding-top:12px}.approach-controls button{padding:10px 18px}.approach-footer{margin-top:10px}.approach-story h4{font-size:28px}.scene-creative>strong,.scene-technology>strong{font-size:24px}.scene-source>strong{font-size:19px}.scene-source>small{font-size:6px}.scene-window-bar{height:23px}.scene-cross{width:48px;height:48px;font-size:37px}.scene-outcome{padding:8px 12px}.scene-outcome strong{font-size:17px}.scene-outcome small{font-size:6px;margin-bottom:3px}.scene-outcome strong br{display:none}}
@media(max-width:700px){
.company-approach{padding-top:55px;padding-bottom:55px}.company-introduction{display:block;margin:42px 0 50px}.company-introduction .jp-heading{font-size:37px;line-height:1.6}.company-introduction>div{margin-top:25px}.company-introduction .body-copy{font-size:13px;line-height:2.1}.company-introduction .body-copy+.body-copy{margin-top:12px}
.approach-stage{padding:24px 0 22px;border-top:0}.approach-heading{gap:12px;position:relative;align-items:flex-start}.approach-heading h3{font-size:28px}.approach-heading .eyebrow{font-size:8px;margin-bottom:7px}.approach-heading>p{display:none}
.approach-layout{display:flex;flex-direction:column;gap:14px;padding:22px 0 15px}.approach-stories{width:100%;order:2}.approach-story h4{font-size:25px;line-height:1.5;margin:13px 0 10px}.approach-story>p:last-child{font-size:12px;line-height:1.95}.approach-story>p:last-child br{display:none}.approach-chapter{font-size:8px;gap:8px}.approach-chapter>span{width:27px;height:27px;font-size:10px;box-shadow:2px 2px 0 var(--ink)}
.approach-scene{max-width:440px;order:1;width:100%;margin:14px 0 27px}.scene-grid{background-size:17px 17px}.scene-backword{font-size:43px}
.scene-source{width:42%;padding:6px 9px;border-radius:7px;box-shadow:3px 3px 0 var(--ink)}.scene-source>small{font-size:5px}.scene-source>strong{font-size:16px}
.scene-creative,.scene-technology{width:38%;height:47%;top:29%;box-shadow:3px 3px 0 var(--ink);border-width:1px}.scene-creative{left:6%;border-radius:45% 45% 7px 7px}.scene-technology{left:56%;border-radius:7px}
.scene-card-label{font-size:5px;margin-top:4px}.scene-creative>strong,.scene-technology>strong{font-size:19px;line-height:1.4}.scene-creative>small,.scene-technology>small{font-size:5px;margin-top:5px}.scene-card-line{height:2px;margin-top:5px}.scene-window-bar{height:16px;padding:0 5px;gap:2px}.scene-window-bar i{height:2px;width:2px}.scene-window-bar span{font-size:5px;letter-spacing:0}
.scene-cross{width:37px;height:37px;font-size:29px;box-shadow:2px 2px 0 var(--ink);border-width:1px}.scene-outcome{width:66%;padding:7px 11px;border-radius:7px;box-shadow:3px 3px 0 var(--mint);border-width:1px}.scene-outcome small{font-size:5px;margin-bottom:3px}.scene-outcome strong{font-size:14px;line-height:1.5}.scene-outcome strong br{display:none}
.approach-navigation{padding-top:8px}.approach-controls{gap:6px}.approach-controls button{font-size:11px;padding:10px 7px;gap:5px;white-space:nowrap}.approach-controls button small{font-size:7px}.approach-timeline{margin-bottom:13px;height:2px}.approach-footer{margin-top:14px;gap:10px}.approach-scroll-hint{font-size:6px;letter-spacing:.04em}.approach-scroll-hint>span{margin-left:5px;font-size:13px}.intro .approach-footer .text-link{font-size:9px;gap:6px}
.approach.is-scrollable{height:calc(100svh + 1100px)}.is-scrollable .approach-stage{padding:22px 0;grid-template-rows:auto minmax(0,1fr) auto}.is-scrollable .approach-layout{justify-content:center;gap:22px;max-height:none;padding:10px 0}.is-scrollable .approach-scene{flex-shrink:0;max-width:min(100%,calc((100svh - 400px)*1.44));margin:9px 0 23px}.is-scrollable .approach-stories{min-height:155px;flex-shrink:0}.is-scrollable .approach-story{display:grid;grid-template-columns:1fr;grid-template-rows:27px auto auto;align-content:center;justify-content:initial}.is-scrollable .approach-story h4{font-size:25px;margin:10px 0 7px;line-height:1.45}.is-scrollable .approach-story h4 br{display:none}.is-scrollable .approach-story>p:last-child{max-width:380px;font-size:12px;line-height:1.85}
.green-tile{font-size:30px}.hero-with-video .hero-links{flex-wrap:wrap;gap:17px}.hero-with-video .hero-links .button{font-size:10px;gap:20px;padding-left:17px;padding-right:17px}
}
@media(max-width:370px){.company-introduction .jp-heading{font-size:33px}.company-introduction .body-copy{font-size:12px}.hero-with-video h1{font-size:clamp(46px,15vw,55px)}.hero-with-video .second-line{margin-left:18px}.approach-heading h3{font-size:25px}.scene-creative>strong,.scene-technology>strong{font-size:16px}.scene-outcome strong{font-size:12px}.scene-source>strong{font-size:14px}.is-scrollable .approach-story h4{font-size:22px}.is-scrollable .approach-story>p:last-child{font-size:11px}.approach-controls button{font-size:10px;gap:4px;padding:9px 5px}}
html:has(body.no-motion){scroll-behavior:auto}
@media(max-width:700px){.scene-outcome strong br{display:block}.is-scrollable .approach-story h4{font-size:clamp(19px,5.3vw,23px)}}
@media(max-width:700px) and (max-height:700px){.is-scrollable .approach-layout{gap:14px;padding:6px 0}.is-scrollable .approach-scene{max-width:min(100%,calc((100svh - 450px)*1.44));margin:4px 0 25px}.is-scrollable .approach-stories{min-height:145px}.scene-creative>strong,.scene-technology>strong{font-size:17px}.scene-outcome strong{font-size:12px}}


/* One outcome, three collected signals, then a new course of action. */
.approach{--base-scale:1;--outcome-top:80%;--outcome-scale:1;--feedback-layout:0;--arrow-opacity:1;--voice-pop:1;--voice-opacity:1;--voice-x:0%;--voice-y:0%;--data-pop:1;--data-opacity:1;--data-y:0%;--insight-pop:1;--insight-opacity:1;--insight-x:0%;--insight-y:0%;--improvement-opacity:1;--improvement-shift:0px;--improvement-scale:1}
.approach-scene{aspect-ratio:auto}
.scene-base,.scene-improvement{position:relative;aspect-ratio:720/500;width:100%}
.scene-base{margin-bottom:-8%}.scene-improvement{margin-top:8px;isolation:isolate;margin-bottom:50px}
.approach-scene>.scene-outcome{position:relative;left:auto;top:auto;transform:none;opacity:1;margin:0 auto;width:72%}
.is-scrollable .approach-scene{aspect-ratio:720/500}
.is-scrollable .scene-base,.is-scrollable .scene-improvement{position:absolute;inset:0;margin:0;height:100%}
.is-scrollable .scene-base{transform:scale(var(--base-scale));transform-origin:50% 88%;pointer-events:none}
.is-scrollable .scene-improvement{pointer-events:none}
.is-scrollable .approach-scene>.scene-outcome{position:absolute;left:50%;top:var(--outcome-top);width:72%;margin:0;transform:translate(-50%,var(--outcome-y)) scale(var(--outcome-scale));opacity:var(--outcome-opacity);transform-origin:50% 0;z-index:5}
.scene-deliver-arrow{opacity:var(--arrow-opacity)}
.scene-grid{opacity:calc(.4 - var(--feedback-layout)*.28)}.scene-backword{opacity:calc(.04 - var(--feedback-layout)*.04)}
.approach-heading .eyebrow,.approach-chapter{font-size:12px}.approach-heading>p{font-size:14px}.approach-story>p:last-child{font-size:14px;line-height:2}
.scene-source>small,.scene-card-label,.scene-window-bar span,.scene-outcome small{font-size:11px;letter-spacing:.06em}
.scene-creative>small,.scene-technology>small{font-size:12px;white-space:normal;text-align:center;max-width:92%;line-height:1.45}
.scene-source{width:38%}.scene-outcome{padding:14px 20px}.scene-outcome small{margin-bottom:6px}.scene-outcome strong{font-size:clamp(19px,1.8vw,27px)}
.scene-window-bar{height:30px}.scene-window-bar span{margin-left:auto}.scene-technology{padding-top:15px}
.approach-story h4.improvement-heading{font-size:clamp(36px,4.1vw,60px);letter-spacing:-.065em;line-height:1.45}
.improvement-heading>span{color:var(--green);display:inline-block;white-space:nowrap}
.response-bubble{position:absolute;width:38%;height:40%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding-top:2%;transform-origin:50% 0}
.response-shape{position:absolute;inset:0;width:100%;height:100%;overflow:visible;filter:drop-shadow(3px 4px 0 var(--ink));z-index:-1}
.response-shape path{fill:var(--bubble-fill);stroke:var(--ink);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.response-bubble>small{font-size:13px;line-height:1.2;letter-spacing:.1em;font-weight:650}
.response-bubble>strong{font-size:clamp(19px,2.1vw,30px);font-weight:800;line-height:1.4;letter-spacing:-.04em;white-space:nowrap}
.response-voice{left:0;top:23%;--bubble-fill:var(--coral);opacity:var(--voice-opacity);transform:translate(var(--voice-x),var(--voice-y)) scale(var(--voice-pop));z-index:1}
.response-use{left:31%;top:40%;--bubble-fill:var(--yellow);opacity:var(--data-opacity);transform:translateY(var(--data-y)) scale(var(--data-pop));z-index:3}
.response-use .response-shape{transform:rotate(-10deg)}
.response-insight{left:62%;top:23%;--bubble-fill:var(--mint);opacity:var(--insight-opacity);transform:translate(var(--insight-x),var(--insight-y)) scale(var(--insight-pop));z-index:2}
.response-insight .response-shape{transform:scaleX(-1)}
.improvement-card{position:absolute;left:5%;top:85%;width:95%;padding:0 0 0 20px;border-left:3px solid var(--coral);color:var(--green);transform:translateY(var(--improvement-shift));opacity:var(--improvement-opacity);z-index:4}
.improvement-card>small{display:block;font-size:12px;letter-spacing:.1em;line-height:1.4;margin-bottom:6px;color:var(--green);font-weight:650}
.improvement-card>strong{display:block;font-size:clamp(26px,2.65vw,39px);letter-spacing:-.05em;line-height:1.4;font-weight:850;white-space:nowrap}
.improvement-card>p{font-size:14px;color:var(--ink);line-height:1.65;margin:6px 0 0}
.approach.is-scrollable{height:calc(100svh + 1800px)}
.is-scrollable .approach-layout{max-height:660px;grid-template-columns:32% 1fr;gap:4%}
.is-scrollable .approach-scene{margin-bottom:40px;max-width:100%;justify-self:center}
.is-scrollable .approach-stories{min-height:310px}
@media(min-width:701px) and (max-height:800px){
.is-scrollable .approach-layout{max-height:480px}.is-scrollable .approach-scene{max-width:min(100%,calc((100svh - 310px)*1.44));margin-bottom:28px}
.approach-story h4.improvement-heading{font-size:clamp(32px,3.5vw,46px)}.approach-story>p:last-child{font-size:13px}
.scene-source>small,.scene-card-label,.scene-window-bar span,.scene-outcome small{font-size:10px}.scene-creative>small,.scene-technology>small{font-size:11px}.scene-source>strong{font-size:20px}.scene-outcome{padding:9px 14px}.scene-outcome strong{font-size:19px}
.response-bubble>small{font-size:12px}.response-bubble>strong{font-size:25px}.improvement-card>strong{font-size:30px}.improvement-card>small{font-size:11px}.improvement-card>p{font-size:13px}
}
@media(max-width:700px){
.approach-heading .eyebrow,.approach-chapter{font-size:10px}.approach-heading h3{font-size:27px}
.approach.is-scrollable{height:calc(100svh + 1350px)}.is-scrollable .approach-stories{min-height:165px}.is-scrollable .approach-layout{gap:15px;padding:7px 0;max-height:none}
.is-scrollable .approach-scene{max-width:100%;margin:6px 0 45px}
.approach-story h4.improvement-heading,.is-scrollable .approach-story h4.improvement-heading{font-size:clamp(27px,7.5vw,34px);line-height:1.35;margin:10px 0 12px}.is-scrollable .approach-story h4.improvement-heading br{display:block}
.is-scrollable .approach-story>p:last-child{font-size:13px;line-height:1.9}
.scene-source{width:47%;padding:7px 10px}.scene-source>small,.scene-card-label,.scene-window-bar span,.scene-outcome small{font-size:9px;letter-spacing:.015em}.scene-source>strong{font-size:17px}
.scene-card-label{margin-bottom:6px}.scene-window-bar{height:20px;padding:0 6px}.scene-window-bar i{display:none}.scene-window-bar span{margin:0 auto}.scene-technology{padding-top:14px}
.scene-creative>strong,.scene-technology>strong{font-size:20px}.scene-creative>small,.scene-technology>small{font-size:10px;line-height:1.35;margin-top:5px}.scene-card-line{display:none}
.approach-scene>.scene-outcome,.is-scrollable .approach-scene>.scene-outcome{width:90%;padding:6px 12px}.scene-outcome strong{font-size:16px}.scene-outcome strong br{display:none}.scene-outcome small{margin-bottom:4px}
.response-bubble{gap:6px}.response-bubble>small{font-size:10px}.response-bubble>strong{font-size:clamp(12px,3.8vw,17px)}.response-shape{filter:drop-shadow(2px 2px 0 var(--ink))}.response-shape path{stroke-width:1.2}
.improvement-card{top:84%;left:2%;width:98%;padding-left:12px;border-width:2px}.improvement-card>small{font-size:10px;margin-bottom:4px}.improvement-card>strong{font-size:clamp(21px,6.2vw,27px)}.improvement-card>p{font-size:12px;line-height:1.5;margin-top:4px}
.scene-improvement{margin-bottom:60px}
}
@media(max-width:700px) and (max-height:700px){
.is-scrollable .approach-scene{max-width:min(100%,calc((100svh - 440px)*1.44));margin-bottom:42px}.is-scrollable .approach-stories{min-height:175px}.is-scrollable .approach-layout{gap:10px;padding:4px 0}
.is-scrollable .approach-story h4.improvement-heading{font-size:27px;margin:8px 0}.is-scrollable .approach-story>p:last-child{font-size:12px;line-height:1.7}
.scene-creative>strong,.scene-technology>strong{font-size:17px}.scene-creative>small,.scene-technology>small{font-size:9px}.scene-outcome strong{font-size:14px}.scene-outcome strong br{display:none}.scene-outcome small{font-size:9px}.is-scrollable .approach-scene>.scene-outcome{padding:6px 10px}
.improvement-card>strong{font-size:21px}.improvement-card>p{font-size:11px}
}
@media(max-width:370px){.scene-source>strong{font-size:16px}.scene-source>small,.scene-card-label,.scene-window-bar span{font-size:9px}.scene-creative>strong,.scene-technology>strong{font-size:17px}.scene-creative>small,.scene-technology>small{font-size:9px}.scene-outcome strong{font-size:14px}.response-bubble>strong{font-size:12px}.response-bubble>small{font-size:10px}.is-scrollable .approach-story h4.improvement-heading{font-size:26px}}

/* Discover through questions, then end with the central brand promise. */
.approach{--question-opacity:1;--question-scale:1;--question-spread:26%;--question-x:0%;--question-rotate:0deg;--source-top:10%;--source-opacity:1;--source-width:38%;--finale-clip:0%;--finale-copy-opacity:1;--finale-copy-shift:0px}
.scene-discovery{display:grid;gap:16px;margin:12px auto 64px;width:88%;position:relative;z-index:6}
.discovery-question{display:flex;align-items:center;gap:24px;padding:19px 24px;border:1.5px solid var(--ink);border-radius:12px;background:var(--paper);box-shadow:4px 5px 0 var(--ink)}
.discovery-question>span{flex:none;width:64px;height:64px;border-radius:50%;display:grid;place-items:center;font-size:19px;font-weight:750;background:var(--yellow)}
.discovery-intent>span{background:var(--coral)}.discovery-audience>span{background:var(--mint)}
.discovery-question small{display:block;font-size:12px;letter-spacing:.09em;font-weight:650;line-height:1.3;margin-bottom:7px;color:var(--green)}
.discovery-question strong{display:block;font-size:clamp(24px,2.4vw,36px);letter-spacing:-.04em;line-height:1.3}
.is-scrollable .scene-discovery{position:absolute;inset:0;width:100%;height:100%;margin:0;display:block;pointer-events:none}
.is-scrollable .discovery-question{position:absolute;left:10%;top:51%;width:80%;height:22%;opacity:var(--question-opacity);transform-origin:50% 50%;z-index:1}
.is-scrollable .discovery-intent{top:calc(51% - var(--question-spread));transform:translate(calc(-1 * var(--question-x)),-50%) rotate(calc(-1 * var(--question-rotate))) scale(var(--question-scale))}
.is-scrollable .discovery-audience{transform:translate(var(--question-x),-50%) rotate(var(--question-rotate)) scale(var(--question-scale));z-index:2}
.is-scrollable .discovery-challenge{top:calc(51% + var(--question-spread));transform:translate(calc(-.5 * var(--question-x)),-50%) rotate(calc(-.6 * var(--question-rotate))) scale(var(--question-scale));z-index:3}
.is-scrollable .scene-source{top:var(--source-top);width:var(--source-width);opacity:var(--source-opacity)}
.scene-source>strong{letter-spacing:0;white-space:nowrap}
.scene-improvement{margin-bottom:0}.approach-layout{position:relative}
.approach-layout>.improvement-card{position:relative;inset:auto;grid-column:1/-1;order:3;width:100%;height:auto;min-height:360px;margin:35px 0 0;padding:55px 6%;border:0;border-radius:20px;background:var(--green);color:white;display:flex;align-items:center;justify-content:center;text-align:center;transform:none;opacity:1;overflow:hidden;z-index:10}
.finale-copy{width:100%}.finale-copy>small{display:block;font-size:14px;font-weight:650;letter-spacing:.16em;line-height:1.4;color:var(--mint);margin-bottom:24px}
.finale-copy>strong{display:block;font-size:clamp(58px,8vw,120px);font-weight:900;letter-spacing:-.065em;line-height:1.23;white-space:nowrap}
.finale-copy>strong>span{display:block}.finale-copy>strong>span:last-child{color:var(--yellow)}
.finale-copy>p{font-size:20px;line-height:1.7;margin:30px 0 0;color:var(--paper)}
.is-scrollable .approach-layout>.improvement-card{position:absolute;inset:0;margin:0;min-height:0;height:100%;clip-path:inset(var(--finale-clip) 0 0 0 round 20px);pointer-events:none}
.is-scrollable .finale-copy{opacity:var(--finale-copy-opacity);transform:translateY(var(--finale-copy-shift))}
.approach.is-scrollable{height:calc(100svh + 2300px)}
@media(min-width:701px) and (max-height:800px){.discovery-question{padding:12px 20px;gap:18px}.discovery-question>span{width:50px;height:50px;font-size:17px}.discovery-question strong{font-size:28px}.discovery-question small{font-size:11px;margin-bottom:5px}.finale-copy>strong{font-size:clamp(62px,7.6vw,108px)}.finale-copy>small{font-size:13px;margin-bottom:16px}.finale-copy>p{font-size:18px;margin-top:20px}}
@media(max-width:700px){
.approach.is-scrollable{height:calc(100svh + 1750px)}
.scene-discovery{width:94%;gap:12px;margin:12px auto 50px}.discovery-question{padding:12px;gap:12px;border-radius:9px;box-shadow:3px 3px 0 var(--ink)}.discovery-question>span{width:42px;height:42px;font-size:14px}.discovery-question small{font-size:10px;margin-bottom:4px}.discovery-question strong{font-size:21px}
.is-scrollable .discovery-question{left:5%;width:90%;height:25%;padding:8px 12px;gap:12px}.is-scrollable .discovery-question>span{width:36px;height:36px;font-size:13px}.is-scrollable .discovery-question strong{font-size:20px}.is-scrollable .discovery-question small{font-size:10px}
.is-scrollable .scene-source{width:calc(var(--source-width) + 10%)}
.approach-layout>.improvement-card{min-height:300px;padding:35px 6%;margin-top:28px;border-radius:14px}.is-scrollable .approach-layout>.improvement-card{margin:0;min-height:0;clip-path:inset(var(--finale-clip) 0 0 0 round 14px)}
.finale-copy>strong{font-size:clamp(38px,10.8vw,64px);line-height:1.35}.finale-copy>small{font-size:12px;margin-bottom:22px}.finale-copy>p{font-size:16px;line-height:1.8;margin-top:24px}
}
@media(max-width:370px){.discovery-question strong,.is-scrollable .discovery-question strong{font-size:18px}.discovery-question>span{width:36px;height:36px;font-size:13px}.finale-copy>p{font-size:14px}.finale-copy>strong{font-size:38px}}

/* Collected signals pop at their final position; the conclusion stays in the diagram. */
.approach{--finale-pop:1;--finale-emphasis:1}
.response-bubble{transform-origin:50% 55%;height:34%}
.response-voice{top:24%;transform:scale(var(--voice-pop))}
.response-use{top:34%;transform:scale(var(--data-pop))}
.response-insight{top:24%;transform:scale(var(--insight-pop))}
.approach-scene>.improvement-card{position:relative;inset:auto;width:100%;padding:0;margin:-16% auto 0;border:0;background:none;color:var(--green);text-align:center;transform:none;opacity:1;z-index:6;pointer-events:none}
.approach-scene .finale-copy{transform:none;opacity:1}
.approach-scene .finale-copy>small{font-size:11px;letter-spacing:.15em;color:var(--green);margin:0 0 7px}
.approach-scene .finale-copy>strong{font-size:clamp(34px,4.3vw,65px);line-height:1.24;letter-spacing:-.06em;color:var(--green)}
.approach-scene .finale-copy>strong>span:first-child{font-size:.65em;line-height:1.5;margin-bottom:7px}
.approach-scene .finale-copy>strong>span:last-child{display:inline-block;position:relative;isolation:isolate;color:var(--green);padding:0 .16em .06em;transform:scale(var(--finale-pop));transform-origin:50% 50%}
.approach-scene .finale-copy>strong>span:last-child::before{content:"";position:absolute;z-index:-1;inset:0 -.05em;background:var(--yellow);border-radius:5px;transform:rotate(-2deg) scaleX(var(--finale-emphasis));box-shadow:5px 5px 0 var(--coral)}
.approach-scene .finale-copy>p{color:var(--ink);font-size:14px;line-height:1.5;margin:17px 0 0}
.is-scrollable .approach-scene>.improvement-card{position:absolute;left:0;top:70%;margin:0;opacity:var(--finale-copy-opacity);transform:translateY(var(--finale-copy-shift))}
.is-scrollable .approach-scene{margin-bottom:100px}
@media(min-width:701px) and (max-height:800px){.is-scrollable .approach-scene{margin-bottom:65px}.approach-scene .finale-copy>strong{font-size:47px}.approach-scene .finale-copy>p{font-size:13px;margin-top:13px}}
@media(max-width:700px){
 .approach-scene>.improvement-card{margin:-18% auto 30px}.is-scrollable .approach-scene>.improvement-card{margin:0;top:74%}
 .approach-scene .finale-copy>strong{font-size:clamp(32px,10vw,48px)}.approach-scene .finale-copy>small{font-size:9px;margin-bottom:3px}.approach-scene .finale-copy>strong>span:first-child{margin-bottom:3px}.approach-scene .finale-copy>p{font-size:12px;margin-top:13px}.is-scrollable .approach-scene{margin-bottom:88px}.is-scrollable .approach-stories{min-height:165px}
}

/* Complete landscape thumbnails align along one baseline, including while scaling. */
.works{overflow:hidden;padding-bottom:110px}.work-category{display:flex;justify-content:space-between;align-items:end;gap:25px;margin:20px 0 0}.work-category h3{font-size:22px;margin:8px 0 0;font-weight:750;letter-spacing:-.03em}.work-category>span{font-size:13px}.film-showcase{position:relative}
.film-deck{--film-width:clamp(420px,54vw,800px);--film-step:clamp(100px,13.5vw,205px);--film-top:62px;position:relative;height:calc(var(--film-width)*.5625 + var(--film-top));margin:28px calc(-1*var(--page)) 0;isolation:isolate;touch-action:pan-y;overflow:hidden;border-bottom:0}
.film-backword{position:absolute;top:-10px;right:var(--page);font-size:clamp(100px,15vw,230px);letter-spacing:-.08em;line-height:1;color:#f1f5f2;font-weight:900;z-index:-1;pointer-events:none}
.film-stack{height:100%;width:100%;position:relative}
.film-work{position:absolute;width:var(--film-width);aspect-ratio:16/9;bottom:0;left:50%;transform:translateX(calc(-50% + var(--film-offset,0)*var(--film-step))) scale(calc(1 - var(--film-depth,0)*.085));transform-origin:50% 100%;z-index:var(--film-layer,1);transition:transform .85s var(--ease),filter .85s;filter:saturate(calc(1 - var(--film-depth,0)*.08));outline-offset:-7px;border-radius:14px}
.film-work:hover{filter:saturate(1.08)}.film-work[aria-current="true"]{filter:none}.film-work:focus-visible{outline:3px solid var(--yellow)}
.film-poster{position:relative;width:100%;height:100%;aspect-ratio:16/9;border:1.5px solid var(--ink);border-radius:14px;background:var(--paper);box-shadow:3px 3px 0 white,4.5px 4.5px 0 var(--ink),7px 7px 0 white,8.5px 8.5px 0 var(--ink);overflow:hidden}
.film-poster img{display:block;width:100%;height:100%;object-fit:contain;aspect-ratio:16/9;border:0;border-radius:0;margin:0}
.film-navigation{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:25px 0 0;position:relative;z-index:10;background:var(--paper)}.carousel-controls{display:flex;gap:13px;align-items:center;flex-shrink:0}.carousel-controls button{border:1px solid var(--ink);background:white;color:var(--ink);border-radius:50%;width:44px;height:44px;font-size:23px;line-height:1;display:grid;place-items:center;transition:background .2s,transform .2s}.carousel-controls button:hover{background:var(--yellow);transform:translateY(-2px)}.carousel-controls .carousel-pause{font-size:12px;width:30px;height:30px;margin-left:9px;border-color:var(--line)}.film-counter{font-size:11px;min-width:53px;text-align:center}.film-counter b{font-size:15px}.film-selected-info{text-align:left;min-width:0;flex:0 1 720px}.film-detail{font-size:14px;line-height:1.65;max-width:100%;align-items:flex-start;text-align:left}.film-detail :is(#film-selected-title,#vuddy-selected-title){font-size:clamp(19px,1.65vw,25px);transform:none;font-weight:750;letter-spacing:-.025em;min-width:0;overflow-wrap:normal}.film-detail>span[aria-hidden]{flex-shrink:0}.film-selected-info>p{font-size:12px;line-height:1.8;margin-top:10px}.film-dots{display:flex;gap:13px;justify-content:center;margin-top:25px}.film-dots button{width:9px;height:9px;border:1px solid var(--green);padding:0;border-radius:50%;background:transparent}.film-dots button[aria-pressed="true"]{background:var(--green);transform:scale(1.2)}
.no-motion .film-work{transition:none}
@media(max-width:700px){.works{padding-bottom:75px}.works .section-heading{display:block}.works .section-heading .text-link{margin-top:25px}.work-category{display:block;margin-top:40px}.work-category h3{font-size:19px}.work-category>span{display:block;margin-top:12px}.film-deck{--film-width:78vw;--film-step:21vw;--film-top:43px;margin-top:23px;border-bottom:0}.film-poster,.film-work{border-radius:9px}.film-backword{font-size:85px;top:0;right:16px}.film-navigation{flex-direction:column;gap:22px;padding-top:23px}.film-selected-info{order:-1;text-align:left;width:100%;flex-basis:auto}.film-detail{max-width:100%;font-size:12px;gap:12px}.film-detail :is(#film-selected-title,#vuddy-selected-title){font-size:19px}.film-selected-info>p{font-size:11px;margin-top:9px}.film-dots{margin-top:22px}}

/* A gently staggered row of portrait covers for interactive video. */
.vuddy-showcase{margin-top:110px;padding-top:45px;border-top:0}.vuddy-showcase .work-category p:not(.eyebrow){font-size:13px;line-height:1.9;margin:0}.vuddy-recommend{position:relative;margin-top:45px;padding:0 58px}.vuddy-orbit{position:absolute;inset:55px 10px 45px;border:1.5px solid var(--mint);border-radius:50%;transform:rotate(-5deg);pointer-events:none}.vuddy-rail{display:flex;gap:34px;padding:35px 10px 60px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;align-items:flex-start;touch-action:pan-x pan-y}.vuddy-rail::-webkit-scrollbar{display:none}.vuddy-work{flex:0 0 calc((100% - 68px)/3);min-width:230px;aspect-ratio:0.6;position:relative;isolation:isolate;overflow:hidden;scroll-snap-align:center;border:1.5px solid var(--ink);border-radius:14px;background:var(--mint);box-shadow:4px 4px 0 white,5px 5px 0 var(--ink);padding:20px;text-align:left;display:flex;flex-direction:column;transition:transform .4s var(--ease)}.vuddy-work:nth-child(3n+1){margin-top:22px;transform:rotate(-3deg)}.vuddy-work:nth-child(3n+2){transform:rotate(2deg)}.vuddy-work:nth-child(3n+3){margin-top:38px;transform:rotate(-2deg)}.vuddy-work:hover{transform:translateY(-10px) rotate(0)}.vuddy-work-label{font-size:9px;letter-spacing:.08em;font-weight:700}.vuddy-work>strong{font-size:clamp(26px,2.7vw,40px);line-height:1.4;letter-spacing:-.05em;margin:25px 0 10px;position:relative;z-index:2}.vuddy-work img{width:100%;object-fit:cover;border-radius:8px}.vuddy-cover img{position:absolute;inset:auto -9% 10%;width:115%;height:61%;object-fit:cover;object-position:center top;mix-blend-mode:multiply;z-index:-1}.vuddy-cover strong{font-size:clamp(30px,3.3vw,48px)}.vuddy-work-foot{font-size:12px;font-weight:750;margin-top:auto;padding-top:15px;display:flex;justify-content:space-between;gap:8px;align-items:center;position:relative;z-index:2}.vuddy-work-foot b{font-size:22px;font-weight:400}.vuddy-choice{background:var(--coral)}.vuddy-choice>strong{font-size:25px;margin-top:15px}.vuddy-choice img{object-fit:cover;object-position:top;width:100%;height:57%;border:1px solid var(--ink)}.vuddy-connect{background:var(--yellow)}.vuddy-connect>strong{margin-top:30%;font-size:clamp(29px,3vw,42px)}.vuddy-connect>p{font-size:14px;margin-top:15px}.vuddy-big-type{position:absolute;top:10%;left:16px;font-size:64px;font-weight:900;line-height:.95;letter-spacing:-.06em;color:#a16a1729;z-index:-1}.vuddy-prev,.vuddy-next{position:absolute;top:44%;width:44px;height:44px;border-radius:50%;border:1px solid var(--ink);background:var(--green);color:white;font-size:23px;z-index:3}.vuddy-prev{left:-5px}.vuddy-next{right:-5px}.vuddy-prev:hover,.vuddy-next:hover{background:var(--ink)}.vuddy-demo-note{font-size:11px;text-align:center;margin:6px 0 0;color:#54625d}
@media(min-width:701px){.vuddy-prev,.vuddy-next{display:none}.vuddy-recommend{padding:0 18px}.vuddy-rail{justify-content:center}}
@media(max-width:700px){.vuddy-showcase{margin-top:70px;padding-top:15px;border-top:0}.vuddy-showcase .work-category p:not(.eyebrow){margin-top:16px}.vuddy-recommend{margin:25px calc(-1*var(--page)) 0;padding:0}.vuddy-orbit{inset:70px -50px 35px}.vuddy-rail{padding:20px calc((100vw - 238px)/2) 55px;gap:25px}.vuddy-work{flex-basis:238px;min-width:238px;aspect-ratio:.59;padding:18px}.vuddy-work>strong{font-size:31px}.vuddy-choice>strong{font-size:23px}.vuddy-cover strong{font-size:36px}.vuddy-choice img{height:56%}.vuddy-prev{left:8px}.vuddy-next{right:8px}.vuddy-demo-note{font-size:10px;line-height:1.8;text-align:left}.vuddy-demo-note{margin-top:0}.vuddy-work-foot{font-size:11px}}

.art-note,.symbol-small,.film-note,.showreel-note{font-family:var(--sans)}
.vuddy-rail{position:relative;justify-content:flex-start;scroll-snap-type:x proximity}.vuddy-work{flex:0 0 255px;min-width:255px}.vuddy-work>strong{font-size:30px}.vuddy-cover strong{font-size:36px}.vuddy-choice>strong{font-size:23px}.vuddy-connect>strong{font-size:33px}.vuddy-recommend{padding:0 54px}.vuddy-prev,.vuddy-next{display:block}.vuddy-caption{display:flex;align-items:center;justify-content:space-between;gap:16px}.vuddy-motion{font-size:10px;border-bottom:1px solid var(--line);background:none;white-space:nowrap;padding:3px 0}.vuddy-demo-note{text-align:left}.no-motion .vuddy-work{transition:none}
@media(max-width:700px){.vuddy-work{flex-basis:238px;min-width:238px}.vuddy-recommend{padding:0}.vuddy-caption{display:block}.vuddy-motion{margin-top:15px}.vuddy-rail{scroll-snap-type:x mandatory}}
.collage-statement span{font-family:var(--sans)}

/* Keep the public-demo headlines readable within the existing cover design. */
.vuddy-cover strong{font-size:33px}.vuddy-choice>strong{font-size:23px;line-height:1.4;margin-top:15px}.vuddy-choice img{min-height:0;flex:1;object-fit:cover;object-position:top}.vuddy-connect>strong{font-size:29px;line-height:1.45}
@media(max-width:700px){.vuddy-cover strong{font-size:31px}.vuddy-choice>strong{font-size:22px}.vuddy-connect>strong{font-size:27px}}

/* Editorial line breaks stay fixed; complete phrases wrap on smaller screens. */
.film-detail .film-title-line{display:block;font-size:inherit;transform:none;transition:none;text-wrap:balance}.film-detail .film-title-phrase{display:inline-block;max-width:100%;font-size:inherit;transform:none;transition:none;overflow-wrap:normal;word-break:normal}

/* Use the logo emerald sparingly, within the established palette. */
.arrow-dot{background:var(--green);color:white}
.hero-links .dark{background:var(--green);color:white}
.hero-links .dark:hover{background:var(--ink)}
.approach-controls button[aria-pressed="true"]{background:var(--green);color:white;border-color:var(--green)}
.carousel-controls button:is([data-film-next],[data-vuddy-next]){background:var(--green);color:white;border-color:var(--green)}
.desktop-nav a:hover,.footer-links a:hover{color:var(--green)}

/* Round speech shapes: keep a single outline around the body and tail. */
.visual-bubble{padding:15px 22px}.visual-bubble-shape{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.visual-bubble-shape path{fill:var(--paper);stroke:var(--ink);stroke-width:1;stroke-linejoin:round;vector-effect:non-scaling-stroke}.visual-bubble>span{position:relative;z-index:1}@media(max-width:600px){.visual-bubble{padding:12px 17px}}

/* Selected-film title rule restored; surrounding section rules stay minimal. */
.film-selected-info .film-detail{border-bottom:1px solid currentColor;padding-bottom:8px}

/* Vuddy project cards use un-cropped frames from their completed films. */
/* Uncropped frames only; the selected project's caption sits outside the cards. */
.vuddy-work.vuddy-case{flex:0 0 225px;min-width:225px;aspect-ratio:9/16;padding:0;background:#fff;display:block;margin-top:var(--case-offset,0px);transform:rotate(var(--case-angle,0deg));align-self:center}
.vuddy-work.vuddy-case:hover{transform:translateY(-8px) rotate(0)}
.vuddy-case .vuddy-case-image{display:block;width:100%;height:100%;overflow:hidden}
.vuddy-case .vuddy-case-image img{display:block;width:100%;height:100%;object-fit:contain;border-radius:0;position:static;mix-blend-mode:normal}
.vuddy-work.vuddy-case.is-landscape{flex-basis:420px;min-width:420px;aspect-ratio:16/9}
.vuddy-rail{align-items:center;padding-top:24px;padding-bottom:32px}
.vuddy-navigation{margin-top:0}
.vuddy-navigation .vuddy-selection-open{background:none;border-top:0;border-right:0;border-left:0;border-radius:0;padding:0 0 8px;font-family:inherit;cursor:pointer}
.vuddy-navigation .vuddy-selection-open>span[aria-hidden] svg{width:24px;height:24px}
.vuddy-navigation .vuddy-selection-open:hover{color:var(--green)}
#demo-dialog.is-work-preview{width:min(620px,calc(100% - 32px))}
#demo-dialog.is-work-preview .demo-frame-slot{display:flex;justify-content:center;align-items:center;height:min(69svh,780px);background:#f4f4f4}
#demo-dialog.is-work-preview .demo-frame-slot img{display:block;max-width:100%;width:auto;height:100%;object-fit:contain}
#demo-dialog.is-work-preview .dialog-bar{border-bottom:0}
#demo-dialog.is-work-preview .dialog-bar h2{font-size:16px;line-height:1.5}
#demo-dialog.is-work-preview .dialog-bottom{font-size:12px;line-height:1.6;align-items:center}
@media(max-width:700px){
 .vuddy-work.vuddy-case{flex-basis:210px;min-width:210px}
 .vuddy-work.vuddy-case.is-landscape{flex-basis:310px;min-width:310px}
 #demo-dialog.is-work-preview .demo-frame-slot{height:65svh}
 #demo-dialog.is-work-preview .dialog-bar h2{font-size:14px}
 #demo-dialog.is-work-preview .dialog-bottom{font-size:11px;gap:12px}
}

#demo-dialog.is-work-preview.is-landscape-preview{width:min(1120px,calc(100% - 32px))}
#demo-dialog.is-work-preview.is-landscape-preview .demo-frame-slot{height:auto;aspect-ratio:16/9}
#demo-dialog.is-work-preview.is-landscape-preview .demo-frame-slot img{width:100%;height:100%}

/* A real, single Vuddy player opens inside the page in its native portrait ratio. */
.vuddy-navigation .vuddy-experience-action{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:48px;color:var(--green);transform:none}
.vuddy-navigation .vuddy-selection-open>span.vuddy-experience-action svg{width:32px;height:32px}
.vuddy-navigation .vuddy-experience-action>span{font-size:11px;font-weight:750;white-space:nowrap;transform:none}
#demo-dialog.is-vuddy-project{width:min(520px,calc(100% - 24px));max-height:calc(100svh - 24px);box-shadow:0 24px 90px #0004}
#demo-dialog.is-vuddy-project .dialog-bar{padding:14px 18px;border-bottom:0}
#demo-dialog.is-vuddy-project .dialog-bar h2{font-size:16px;line-height:1.5;margin-top:4px}
#demo-dialog.is-vuddy-project .demo-frame-slot{display:flex;align-items:center;justify-content:center;height:auto;background:#101412}
#demo-dialog.is-vuddy-project .demo-frame-slot iframe{flex:none;width:min(100%,calc(min(72svh,720px) * .5625));height:auto;aspect-ratio:9/16;background:#101412}
#demo-dialog.is-vuddy-project .dialog-bottom{align-items:center;padding:14px 18px;gap:12px;font-size:12px;line-height:1.5}
#demo-dialog.is-vuddy-project .dialog-bottom a{flex-shrink:0;display:inline-flex;gap:5px;align-items:center}
#demo-dialog.is-vuddy-project .dialog-bottom svg{width:16px;height:16px}
@media(max-width:700px){
 #demo-dialog.is-vuddy-project .dialog-bar h2{font-size:14px}
 #demo-dialog.is-vuddy-project .dialog-bottom{font-size:11px;padding:12px 14px}
}

/* Vuddy: the project story and the live experience have separate destinations. */
.vuddy-navigation .film-selected-info{position:relative}
.vuddy-navigation #vuddy-detail{width:100%}
.vuddy-detail-arrow{flex-shrink:0;align-self:center}
.vuddy-navigation .vuddy-selection-open{display:inline-flex;align-items:center;gap:9px;margin-top:12px;border:1px solid var(--ink);border-radius:99px;padding:7px 16px 7px 9px;background:var(--mint);color:var(--ink);font:inherit;font-size:13px;font-weight:700;cursor:pointer;transition:background .2s,transform .2s}
.vuddy-selection-open>svg{width:27px;height:27px}
.vuddy-navigation .vuddy-selection-open:hover{background:#fff;transform:translateY(-2px)}
.vuddy-all-link{font-size:13px;white-space:nowrap}
@media(max-width:700px){.vuddy-navigation .vuddy-selection-open{font-size:12px;margin-top:10px}.vuddy-all-link{margin-top:16px}}

/* SOURCE: readability.css */
/* Supporting copy should be comfortable to read beside the display headings. */
:root{--copy-size:17px;--caption-size:13px}
.hero-with-video .hero-description,
.body-copy,.intro .body-copy,.company-introduction .body-copy,.support .body-copy,
.business-services .product-intro,
.approach-story>p:last-child,.is-scrollable .approach-story>p:last-child,
.support-list details>p,.contact-layout p{font-size:var(--copy-size);line-height:1.9}
.approach-heading>p{font-size:16px}
.approach-scene .finale-copy>p{font-size:16px;line-height:1.75}
.section-kicker>span:last-child,.work-category>span,
.vuddy-showcase .work-category p:not(.eyebrow){font-size:15px;line-height:1.8}
.film-selected-info>p,.vuddy-connect>p{font-size:15px;line-height:1.85}
.vuddy-demo-note{font-size:var(--caption-size);line-height:1.8}
.vuddy-work-foot,.vuddy-motion{font-size:var(--caption-size)}
.contact-email>span:first-child,.contact-email button,.footer-links a,
.showreel-shell figcaption>span:last-child,.dialog-bottom{font-size:var(--caption-size)}

/* Use the full card width for the description, with the action beside the title. */
.business-services .card-copy{
  display:grid;grid-template-columns:minmax(0,1fr) 62px;
  column-gap:20px;row-gap:0;align-items:start;padding-top:20px;
}
.business-services .card-copy>div{display:contents}
.business-services .card-copy p.service-name{
  grid-column:1;grid-row:1;font-size:var(--caption-size);line-height:1.6;margin:0 0 6px;
}
.business-services .card-copy h3{
  grid-column:1;grid-row:2;text-wrap:wrap;font-size:27px;line-height:1.45;
}
.business-services .card-copy p:not(.service-name){
  grid-column:1/-1;grid-row:3;font-size:var(--copy-size);line-height:1.8;margin:14px 0 0;
}
.business-services .card-copy .round-arrow{grid-column:2;grid-row:1/3;align-self:center}
.business-services .card-meta{font-size:11px;line-height:1.6;gap:16px}
.business-services .card-bottom{margin-top:18px;gap:16px;flex-wrap:wrap}
.business-services .card-bottom>span{font-size:12px;line-height:1.65}
.business-services .card-bottom .text-link{font-size:14px;margin-left:auto}
.business-services .product-tabs button em:not(.service-brand){font-size:11px;letter-spacing:.035em}

@media(max-width:1100px){
  :root{--copy-size:16px}
  .business-services .card-copy{grid-template-columns:minmax(0,1fr);column-gap:0}
  .business-services .card-copy .round-arrow{display:none}
}
@media(max-width:700px){
  :root{--copy-size:15px;--caption-size:12px}
  .business-services .card-copy h3{font-size:25px;line-height:1.5}
  .business-services .card-copy{padding-top:20px}
  .business-services .card-copy p:not(.service-name){line-height:1.85;margin-top:12px}
  .business-services .card-meta{font-size:10px;gap:12px}
  .business-services .card-bottom{align-items:flex-start;gap:10px}
  .business-services .card-bottom>span{font-size:11px}
  .business-services .card-bottom .text-link{font-size:13px}
  .business-services .product-tabs button em:not(.service-brand){font-size:9px;letter-spacing:0}
  .is-scrollable .approach-stories{min-height:205px}
  .approach-scene .finale-copy>p{font-size:14px;line-height:1.6}
  .section-kicker>span:last-child,.film-selected-info>p,.work-category>span,
  .vuddy-showcase .work-category p:not(.eyebrow){font-size:14px}
  .vuddy-caption{flex-wrap:wrap}
}

/* SOURCE: cinema.css */
/* A white gallery: three walls of moving work surround the first message. */
.cinema-hero{height:100svh;min-height:780px;max-height:1200px;padding:0;background:#fff;isolation:isolate;--room-yaw:0deg;--room-pitch:0deg;--room-travel:0px}
.site-header{background:linear-gradient(#fff 65%,#ffffffed);border-bottom:0}
.room-viewport{position:absolute;z-index:0;inset:106px 0 0;perspective:1200px;perspective-origin:50% 43%;overflow:hidden;pointer-events:none}
.film-room{position:absolute;inset:0;transform-style:preserve-3d;transform:translateZ(var(--room-travel)) rotateX(var(--room-pitch)) rotateY(var(--room-yaw));will-change:transform}
.gallery-wall{position:absolute;display:grid;gap:13px;padding:16px;grid-auto-flow:dense;grid-template-columns:repeat(6,minmax(0,1fr));background:#f2f5f2;backface-visibility:hidden;box-shadow:0 0 0 1px #d5dbd5}
.wall-back{left:21%;top:-10%;width:58%;height:101%;grid-template-rows:23% 44% 26%;transform:translateZ(-150px)}
.wall-left,.wall-right{width:44%;height:113%;top:-13%;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:23% 31% 18% 25%;gap:17px;padding:20px}
.wall-left{left:-21%;transform-origin:100% 50%;transform:translateZ(-150px) rotateY(49deg)}
.wall-right{right:-21%;transform-origin:0 50%;transform:translateZ(-150px) rotateY(-49deg)}
.gallery-screen{position:relative;min-width:0;min-height:0;overflow:hidden;background:#122720;border:2px solid #263c32;box-shadow:0 10px 20px #102b2633,inset 0 0 0 1px #fff4}
.gallery-screen>img,.gallery-screen>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.gallery-screen>img{filter:none}
.gallery-screen.screen-wide{grid-column:span 2}
.wall-back>.gallery-screen:nth-child(2){grid-column:span 2}
.wall-back>.screen-tall{grid-column:span 1}
.wall-back>.screen-feature{grid-column:span 4}
.wall-back>.gallery-screen:nth-child(8){grid-column:span 2}
.gallery-youtube{position:absolute;inset:0;opacity:0;transition:opacity .8s}
.gallery-youtube.is-playing{opacity:1}
.gallery-youtube iframe{position:absolute;left:50%;top:50%;width:100%;height:100%;min-width:178%;min-height:100%;transform:translate(-50%,-50%);pointer-events:none;border:0}
.gallery-floor{position:absolute;left:-20%;width:140%;height:100%;top:87%;transform-origin:50% 0;transform:translateZ(-150px) rotateX(76deg);background:repeating-linear-gradient(90deg,transparent 0 calc(10% - 1px),#94a29a38 calc(10% - 1px) 10%),repeating-linear-gradient(0deg,#e5eae6 0 119px,#b8c2b9 120px);box-shadow:0 -4px 20px #fff8}
.gallery-light{position:absolute;z-index:1;inset:106px 0 0;pointer-events:none;background:radial-gradient(ellipse 30% 46% at 50% 48%,#fffffffa 10%,#fffffff2 47%,#ffffffb8 75%,#ffffff00 120%),linear-gradient(0deg,#fff 0%,#fffffff5 5%,#ffffff00 30%,#ffffff00 78%,#ffffff35 100%)}
.cinema-copy{position:absolute;z-index:3;left:50%;top:49%;transform:translate(-50%,-43%);width:620px;max-width:calc(100% - 40px);text-align:center}
.cinema-eyebrow{font-size:14px;letter-spacing:.12em;font-weight:600;margin-bottom:25px}
.cinema-hero h1{font-size:clamp(80px,7.5vw,124px);font-weight:900;line-height:1.14;letter-spacing:-.085em}
.cinema-hero h1>span{display:block}
.cinema-accent{color:var(--green)}
.cinema-description{font-size:17px;line-height:1.95;margin-top:28px;font-weight:500}
.cinema-discover{display:inline-flex;align-items:center;gap:28px;font-size:14px;font-weight:700;margin-top:27px;padding:0 0 8px;border-bottom:1px solid #202c2960}
.cinema-discover>span{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:var(--green);color:white;transition:transform .2s}
.cinema-discover:hover>span{transform:translateY(4px)}
.cinema-bottom{position:absolute;z-index:3;bottom:27px;left:max(290px,25%);right:var(--page);display:flex;align-items:end;justify-content:space-between;gap:30px}
.cinema-works{font-size:12px;line-height:1.7}
.cinema-works>span{display:block;font-size:14px;font-weight:700;margin-top:4px}
.showreel-open{display:flex;align-items:center;gap:17px;padding:13px 18px;border:1px solid #202c2938;background:#ffffffc7;backdrop-filter:blur(8px);border-radius:3px;text-align:left;transition:background .2s}
.showreel-open:hover{background:#e5f3ec}
.showreel-play{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;border:1px solid var(--green);color:var(--green);font-size:12px;padding-left:2px}
.showreel-open small{font-size:11px;letter-spacing:.1em;display:block}
.showreel-open strong{font-size:14px;line-height:1.6;display:block}
.showreel-open>span:last-child{font-size:24px;margin-left:20px}
#showreel-dialog{width:min(1100px,calc(100% - 40px));max-height:calc(100svh - 40px);border-radius:5px;background:#101713;box-shadow:0 20px 100px #0005;color:white}
.showreel-dialog-bar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:15px 20px}
.showreel-dialog-bar h2{font-size:12px;letter-spacing:.12em;font-weight:500}
.showreel-dialog-bar button{background:none;color:white;font-size:30px;line-height:1;width:40px;height:40px}
#showreel-dialog video{display:block;width:100%;max-height:calc(100svh - 120px);aspect-ratio:16/9;object-fit:contain}
.no-motion .film-room{will-change:auto;transform:none}
@media(min-width:1101px){
  .pop-layout-open .gallery-light::after{content:"";position:absolute;left:0;bottom:0;width:310px;height:510px;background:radial-gradient(ellipse at 20% 65%,#fff 15%,#fffffff2 55%,#ffffff00 85%)}
}
@media(min-width:701px) and (max-height:800px){
  .cinema-hero{min-height:700px}
  .cinema-copy{top:48%}
  .cinema-hero h1{font-size:clamp(72px,7.6vw,108px)}
  .cinema-eyebrow{margin-bottom:15px}
  .cinema-description{margin-top:19px;font-size:16px}
  .cinema-discover{margin-top:17px}
}
@media(max-width:1100px){
  .cinema-copy{width:540px}
  .gallery-light{background:radial-gradient(ellipse 35% 46% at 50% 48%,#fffffffc 12%,#fffffff2 47%,#ffffffa8 80%,#ffffff00 125%),linear-gradient(0deg,#fff 0%,#fffffff2 6%,#fff0 31%)}
  .cinema-bottom{left:var(--page)}
  .cinema-hero h1{font-size:88px}
}
@media(max-width:700px){
  .cinema-hero{height:100svh;min-height:880px;max-height:1000px;padding:0}
  .room-viewport{top:82px;perspective:650px}
  .wall-back{left:3%;width:94%;top:2%;height:80%;grid-template-rows:22% 45% 27%;gap:8px;padding:10px;transform:translateZ(-90px)}
  .wall-left,.wall-right{top:-4%;height:90%;width:64%;gap:10px;padding:10px}
  .wall-left{left:-57%;transform:translateZ(-90px) rotateY(38deg)}
  .wall-right{right:-57%;transform:translateZ(-90px) rotateY(-38deg)}
  .gallery-screen{border-width:3px}
  .gallery-floor{top:79%;transform:translateZ(-90px) rotateX(76deg)}
  .gallery-light{top:82px;background:radial-gradient(ellipse 70% 35% at 50% 44%,#fff 15%,#fffffff2 53%,#ffffffc9 78%,#ffffff00 120%),linear-gradient(0deg,#fff 0%,#fffffff5 12%,#ffffff00 40%)}
  .cinema-copy{top:46%;transform:translate(-50%,-38%);max-width:calc(100% - 34px)}
  .cinema-hero h1{font-size:clamp(60px,16vw,84px);line-height:1.16}
  .cinema-eyebrow{font-size:11px;letter-spacing:.045em;margin-bottom:20px}
  .cinema-description{font-size:15px;line-height:1.95;margin-top:25px}
  .cinema-discover{font-size:13px;margin-top:23px}
  .cinema-bottom{bottom:100px;left:22px;right:22px;justify-content:center}
  .cinema-works{display:none}
  .showreel-open{padding:10px 14px;gap:12px}
  .showreel-open strong{font-size:14px}
  .showreel-open>span:last-child{margin-left:12px}
}

/* The gallery is made of actual VARISTA work, with readable project labels. */
.gallery-project{pointer-events:auto;outline-offset:4px;transition:border-color .2s,box-shadow .2s}
.gallery-project:hover,.gallery-project:focus-visible{border-color:var(--green);box-shadow:0 0 0 3px var(--green),0 10px 20px #102b2633}
.gallery-caption{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:20px 12px 10px;background:linear-gradient(transparent,#071a14cc);color:#fff;text-shadow:0 1px 4px #0008;line-height:1.4}
.gallery-caption small{display:block;font-size:10px;letter-spacing:.03em;margin-bottom:3px}
.gallery-caption strong{display:block;font-size:14px;font-weight:700;letter-spacing:.02em}
.gallery-project:focus-visible .gallery-caption,.gallery-project:hover .gallery-caption{background:linear-gradient(transparent,#0c4838ed)}
.gallery-light{background:radial-gradient(ellipse 25% 43% at 50% 48%,#fffffffa 10%,#fffffff2 48%,#ffffffa6 80%,#ffffff00 130%),linear-gradient(0deg,#fff 0%,#fffffff2 5%,#ffffff00 24%)}
@media(max-width:1100px){.gallery-light{background:radial-gradient(ellipse 34% 44% at 50% 48%,#fffffffc 12%,#fffffff2 47%,#ffffffa8 80%,#ffffff00 125%),linear-gradient(0deg,#fff 0%,#fffffff2 6%,#fff0 31%)}}
@media(max-width:700px){
 .gallery-light{background:radial-gradient(ellipse 70% 35% at 50% 44%,#fff 15%,#fffffff2 53%,#ffffffc9 78%,#ffffff00 120%),linear-gradient(0deg,#fff 0%,#fffffff5 12%,#ffffff00 40%)}
 .gallery-caption{padding:13px 6px 5px}
 .gallery-caption small{display:none}
 .gallery-caption strong{font-size:9px;line-height:1.3}
 .wall-left .gallery-caption,.wall-right .gallery-caption{display:none}
}

/* A clear route to the alternate proposal from the default landing page. */
.proposal-switch{position:absolute;z-index:12;top:122px;right:var(--page);display:flex;align-items:center;gap:16px;padding:8px 12px;background:#fffffff2;border:1px solid #203f2f24;border-radius:3px;box-shadow:0 3px 14px #17352610;font-size:12px;line-height:1.5}
.proposal-switch>span{color:var(--green);font-weight:700;font-size:10px;letter-spacing:.06em}.proposal-switch>a{display:inline-flex;gap:16px;align-items:center;font-weight:700;border-bottom:1px solid var(--green);padding:3px 0}.proposal-switch>a:hover{color:var(--green)}.proposal-switch>a:focus-visible{outline:2px solid var(--green);outline-offset:4px}
@media(max-width:700px){.proposal-switch{top:94px;right:18px;padding:6px 10px;gap:12px}.proposal-switch>a{font-size:12px}}

/* SOURCE: pop-vuddy.css */
/* The floating video is independent of the existing page layout. */
.pop-vuddy{position:fixed;left:18px;bottom:18px;z-index:35;width:250px;max-width:calc(100vw - 36px)}
.pop-vuddy-panel{position:relative}
.pop-vuddy-frame{width:100%;aspect-ratio:9/16}
.pop-vuddy-frame iframe{display:block;width:100%;height:100%;border:0;background:transparent}
.pop-vuddy-close{position:absolute;right:0;top:0;z-index:1;display:grid;place-items:center;width:28px;height:28px;padding:0;border:1px solid var(--line);border-radius:50%;background:#ffffffd9;color:var(--ink);font-size:20px;line-height:1;opacity:.65}
.pop-vuddy-close:hover,.pop-vuddy-close:focus-visible{opacity:1}
.pop-vuddy-launch{display:flex;align-items:center;gap:10px;min-height:44px;padding:10px 17px;border:1px solid var(--ink);border-radius:28px;background:white;color:var(--ink);font-size:12px;font-weight:750;box-shadow:2px 2px 0 var(--ink)}
.pop-vuddy-launch>span:last-child{font-size:18px;line-height:1}
.pop-vuddy-launch:hover{background:var(--mint)}
.pop-vuddy [hidden]{display:none}
@media(max-width:1100px){.pop-vuddy{left:14px;bottom:calc(14px + env(safe-area-inset-bottom));max-width:calc(100vw - 28px)}}

/* Keep type and column geometry intact. Only the vertical composition adapts. */
@media(min-width:1101px){
  .is-scrollable .approach-stage{--approach-lift:0px;top:calc(-1 * var(--approach-lift));height:calc(100svh + var(--approach-lift))}
  .is-scrollable .approach-layout{max-height:none}
  .is-scrollable .approach-scene{aspect-ratio:auto;height:var(--scene-height);margin-top:0;margin-bottom:var(--scene-tail,80px);translate:0 var(--scene-down,0px)}
  .pop-layout-open .is-scrollable .approach-layout{padding-top:24px}
  .pop-layout-open .is-scrollable .approach-stories{align-self:start;translate:0 var(--story-down,0px)}
  .pop-layout-open .is-scrollable .approach-story{justify-content:flex-start}
  .pop-layout-open .is-scrollable .approach-navigation{margin-left:max(0px,calc(288px - var(--page)))}

  .pop-layout-open.motion-enabled .product-stage{top:calc(-1 * var(--business-lift,0px));height:calc(100svh + var(--business-lift,0px));max-height:none;padding-top:24px;padding-bottom:24px}
  .pop-layout-open.motion-enabled .product-sidebar{align-self:start;padding-bottom:0}
  .pop-layout-open.motion-enabled .product-stage:not(.has-scrolling-heading) .product-sidebar{margin-top:var(--business-down,0px)}
  .pop-layout-open.motion-enabled .has-scrolling-heading .product-tabs{translate:0 var(--business-down,0px)}
  .pop-layout-open.motion-enabled .product-sidebar h2{margin-top:4px}
  .pop-layout-open.motion-enabled .product-intro{margin-top:4px;margin-bottom:10px}
  .pop-layout-open.motion-enabled .product-tabs{gap:4px}
  .pop-layout-open.motion-enabled .product-tabs button{padding-top:6px;padding-bottom:6px;min-height:55px}
  .pop-layout-open.motion-enabled .has-scrolling-heading .product-intro{margin-bottom:32px}
  .pop-layout-open.motion-enabled .product-cards{translate:0 calc(var(--business-lift,0px) / 2 + var(--business-card-shift,0px))}
  .pop-layout-open.motion-enabled .business-align-compact .product-tabs{gap:2px}
  .pop-layout-open.motion-enabled .business-align-compact .product-tabs button{padding-top:2px;padding-bottom:2px;min-height:45px}
  .pop-layout-open.motion-enabled .product-progress{position:absolute;left:39%;bottom:24px;margin-top:0;width:220px}
  .pop-layout-open.motion-enabled .product-skip{position:absolute;right:0;bottom:24px;margin-top:0}

  /* Keep the controls and caption together, with a minimum clearance for Pop Vuddy. */
  .pop-layout-open .film-navigation{padding-left:max(0px,calc(288px - var(--page)))}

  .pop-layout-open .vuddy-prev{left:auto;right:54px;top:-12px}
  .pop-layout-open .vuddy-next{right:0;top:-12px}
}
@media(min-width:1101px) and (max-height:800px){
  .pop-layout-open.motion-enabled .product-tabs button{padding-top:2px;padding-bottom:2px;min-height:45px}
  .pop-layout-open .is-scrollable .approach-story h4{margin-top:8px;margin-bottom:8px}
}

/* A compact navigation group centered beneath the selected film. */
@media(min-width:701px){
  .film-navigation{justify-content:center;gap:40px}
}

/* Keep both work-carousels' controls clear of the collapsed mobile guide. */
@media(max-width:700px){
 .film-navigation .carousel-controls{align-self:flex-end}
}
@media(max-width:360px){
 .film-navigation .carousel-controls{gap:10px}
 .film-navigation .carousel-controls button{width:40px;height:40px}
 .film-navigation .film-counter{min-width:40px}
}

/* SOURCE: story.css */
/* B: an expanding body of work becomes a participatory screen. */
.story-hero{position:relative;height:310svh;background:#fff;isolation:isolate}
.story-stage{position:sticky;top:0;height:100svh;min-height:620px;overflow:hidden;isolation:isolate}
.story-grid{position:absolute;inset:0;background-image:radial-gradient(#19392c26 .75px,transparent .75px);background-size:24px 24px;mask-image:linear-gradient(transparent 12%,black 35%,black 80%,transparent);opacity:.42;pointer-events:none}


.story-opening{position:absolute;z-index:5;top:18%;left:0;width:100%;text-align:center;pointer-events:none}
.story-eyebrow{font-size:12px;letter-spacing:.14em;font-weight:700;color:var(--green);margin-bottom:16px}
.story-opening h1{font-size:clamp(60px,6.2vw,105px);font-weight:900;line-height:1.3;letter-spacing:-.065em}
.story-opening h1>span{color:var(--green)}
.story-opening>p:last-child{font-size:18px;line-height:1.8;margin-top:14px}
.mobile-break{display:none}
.story-work-field{position:absolute;inset:0;pointer-events:none}
.story-work{position:absolute;left:0;top:0;width:20%;aspect-ratio:16/9;overflow:hidden;border-radius:4px;box-shadow:0 16px 35px #11291e20;border:1px solid #172f2529;will-change:transform;pointer-events:auto;background:#eef2ef}
.story-work img{width:100%;height:100%;object-fit:cover}
.story-work>span{position:absolute;inset:auto 0 0;padding:25px 14px 11px;background:linear-gradient(transparent,#0a1d17d9);color:white;line-height:1.5;text-shadow:0 1px 3px #0006}
.story-work small{display:block;font-size:10px}.story-work strong{font-size:13px;font-weight:700}.story-work:hover{outline:2px solid var(--green);outline-offset:4px}
.story-player{position:absolute;z-index:6;left:59%;top:64%;width:40%;aspect-ratio:16/9;transform:translate(-50%,-50%);border-radius:5px;background:#183b2c;box-shadow:0 26px 75px #17352628;will-change:width,left,top}
.story-player-label{position:absolute;bottom:100%;height:32px;left:0;right:0;display:flex;align-items:center;gap:8px;color:var(--ink);font-size:10px;font-weight:700;letter-spacing:.08em;white-space:nowrap}
.story-live-dot{width:6px;height:6px;background:var(--green);border-radius:50%}
.story-reel-reset{margin-left:auto;background:white;font-size:11px;padding:3px 8px;border:1px solid var(--line);border-radius:12px;letter-spacing:0}
.story-screen{position:absolute;inset:0;border-radius:5px;overflow:hidden;border:1px solid #203f2f24;background:#14211c}
.story-reel{width:100%;height:100%;object-fit:cover;display:block}
.story-selected-film{position:absolute;inset:0;background:#132b20}
.story-selected-film iframe{width:100%;height:100%;border:0;display:block}
.story-film-caption{position:absolute;inset:auto 0 0;padding:55px 24px 24px;background:linear-gradient(transparent,#07130cbb);color:white;pointer-events:none}
.story-film-caption span{font-size:10px;letter-spacing:.14em;display:block;margin-bottom:6px}.story-film-caption strong{font-size:clamp(20px,2.2vw,34px);line-height:1.5;font-weight:800}
.story-step-copy{position:absolute;left:var(--page);top:12.5%;width:29%;z-index:8;opacity:0;pointer-events:none}
.story-step-copy h2{font-size:clamp(36px,3.3vw,53px);line-height:1.45;letter-spacing:-.055em;font-weight:900}
.story-step-copy h2 span{color:var(--green)}
.story-step-copy>p:last-child{font-size:16px;line-height:1.9;margin-top:18px}
.story-choices{position:absolute;top:calc(100% + 18px);left:0;width:100%;opacity:0;pointer-events:none}
.story-choices>p{display:flex;align-items:baseline;gap:16px;line-height:1.5;margin-bottom:10px}.story-choices>p strong{font-size:20px}.story-choices>p span{font-size:12px;color:#53675c}
.story-choice-buttons{display:flex;gap:9px;flex-wrap:wrap}
.story-choice-buttons button{border:1px solid #263b31;background:white;border-radius:30px;padding:10px 17px;font-size:14px;font-weight:700;display:flex;gap:10px;align-items:center;transition:background .2s,color .2s,transform .2s;min-height:44px;line-height:1.4}
.story-choice-buttons button span{font-size:11px;color:var(--green)}
.story-choice-buttons button:hover{transform:translateY(-3px);background:#edf7f1}
.story-choice-buttons button[aria-pressed=true]{background:var(--green);color:white;border-color:var(--green)}
.story-choice-buttons button[aria-pressed=true] span{color:white}
.story-choice-buttons .story-real-demo{border-color:transparent;margin-left:auto;padding-right:0;border-radius:0;border-bottom:1px solid var(--green)}
.story-choices>small{display:block;font-size:10px;color:#647168;margin-top:10px;line-height:1.6}
.story-response{position:absolute;top:calc(100% + 24px);left:0;width:100%;display:grid;grid-template-columns:1fr 1.3fr;gap:12px 22px;align-items:center;opacity:0;pointer-events:none}
.story-response small{display:block;font-size:10px;letter-spacing:.12em;color:var(--green);margin-bottom:5px;font-weight:700}
.story-insight{font-size:15px;line-height:1.6}
.story-next-action{border-left:3px solid var(--green);padding-left:18px}
.story-next-action strong{font-size:clamp(16px,1.35vw,22px);line-height:1.6;font-weight:800;white-space:normal}
.story-response>a{grid-column:1/-1;justify-self:end;font-size:12px;font-weight:700;line-height:1.7;border-bottom:1px solid var(--green)}
.story-analytics{position:absolute;inset:0;z-index:4;padding:clamp(16px,1.6vw,25px);display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:15px;background:#fff;color:var(--ink);opacity:0;pointer-events:none;overflow:hidden;--chart-progress:0}
.analytics-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.analytics-heading small{display:block;font-size:10px;letter-spacing:.12em;color:var(--green);font-weight:800;margin-bottom:4px}
.analytics-heading h3{font-size:20px;font-weight:800;line-height:1.4}
.analytics-heading>span{font-size:9px;letter-spacing:.08em;border:1px solid #cbdcd3;border-radius:20px;padding:5px 9px;color:var(--green);white-space:nowrap}
.analytics-metrics{display:grid;grid-template-columns:repeat(3,1fr);padding:11px 0;border-top:1px solid #dfe8e2;border-bottom:1px solid #dfe8e2}
.analytics-metrics>div{padding-left:18px;border-left:1px solid #dfe8e2}.analytics-metrics>div:first-child{padding-left:0;border:0}
.analytics-metrics>div>span{font-size:13px;display:block;line-height:1.5}
.analytics-metrics strong{display:flex;align-items:baseline;gap:5px;line-height:1.25;margin-top:3px;color:var(--green)}
.analytics-metrics b{font-size:clamp(28px,2.7vw,42px);font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.04em}.analytics-metrics small{font-size:13px}
.analytics-charts{display:grid;grid-template-columns:1.1fr 1fr;gap:24px;min-height:0}
.analytics-charts h4{margin:0;font-size:14px;font-weight:700;line-height:1.5}.analytics-charts p{font-size:10px;color:#617168;line-height:1.6;margin-top:2px}
.analytics-retention{display:flex;flex-direction:column;min-height:0}
.analytics-retention svg{display:block;width:100%;min-height:35px;flex:1;margin-top:7px;overflow:visible}
.analytics-grid{fill:none;stroke:#dbe6df;stroke-width:1;stroke-dasharray:3 5}
.analytics-area{fill:#4b997c18;clip-path:inset(0 calc((1 - var(--chart-progress))*100%) 0 0)}
.analytics-line{fill:none;stroke:var(--green);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--chart-progress))}
.analytics-axis{display:flex;justify-content:space-between;font-size:9px;color:#65766c;margin-top:5px}
.analytics-branches{min-height:0}.analytics-branch{margin-top:11px}.analytics-branch>div:first-child{display:flex;justify-content:space-between;gap:5px;align-items:baseline;font-size:12px;line-height:1.4}.analytics-branch strong{font-size:16px;color:var(--green);font-weight:700}.analytics-branch strong small{font-size:10px;margin-left:2px}
.analytics-track{height:8px;background:#eef3ef;border-radius:5px;overflow:hidden;margin-top:5px}.analytics-track i{display:block;width:100%;height:100%;background:var(--green);border-radius:5px;transform-origin:left;transform:scaleX(calc(var(--share)*var(--chart-progress)))}
.analytics-branch:nth-of-type(2) .analytics-track i{opacity:.6}.analytics-demo-note{display:block;margin-top:12px;font-size:9px;color:#6c7b72}
.story-chapters{position:absolute;z-index:15;bottom:18px;left:max(305px,21vw);right:var(--page);display:flex;gap:30px;padding:15px 0 12px;align-items:center;background:#fffffff2;backdrop-filter:blur(8px)}
.story-chapters button{background:none;display:flex;gap:10px;align-items:center;padding:0 0 7px;font-size:13px;font-weight:700;color:#768279;line-height:1.4}
.story-chapters button small{font-size:10px;font-weight:400}.story-chapters button[aria-current=step]{color:var(--green)}
.story-chapters button:hover{color:var(--ink)}
.story-scroll-note{margin-left:auto;display:flex;gap:18px;font-size:9px;letter-spacing:.12em;font-weight:600;white-space:nowrap}
.story-progress{position:absolute;inset:auto 0 0;height:2px;background:#e1e8e2;overflow:hidden}.story-progress i{display:block;width:100%;height:100%;background:var(--green);transform-origin:left;transform:scaleX(0)}
.story-selection-status{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden}
.story-stage[data-phase="1"] .story-choices,.story-stage[data-phase="2"] .story-response{pointer-events:auto}
.story-stage[data-phase="1"] .story-film-caption{display:none}
.story-stage[data-phase="2"] .story-player-label{visibility:hidden}
.story-stage[data-phase="2"] .story-film-caption strong{font-size:28px}
.concept-b .site-header{position:absolute}
.no-motion .story-hero{height:auto}.no-motion .story-stage{position:relative;height:900px}.no-motion .story-player,.no-motion .story-work{will-change:auto}
@media(min-width:901px) and (max-height:780px){
 .story-opening{top:19%}.story-opening h1{font-size:70px}.story-opening>p:last-child{font-size:16px}
 .story-stage[data-phase="0"] .story-player-label{height:20px}

 .story-step-copy{left:max(300px,22vw);top:104px;width:calc(100% - max(300px,22vw) - var(--page))}
 .story-step-copy .story-eyebrow{margin-bottom:6px;font-size:10px}.story-step-copy h2{font-size:39px;line-height:1.3}.story-step-copy h2 br{display:none}
 .story-step-copy>p:last-child{font-size:14px;line-height:1.6;margin-top:7px}.story-step-copy>p:last-child br{display:none}
 .story-chapters{bottom:12px;padding-top:8px;gap:20px}
 .story-choices{top:calc(100% + 10px)}.story-choices>p strong{font-size:16px}.story-choices>p{margin-bottom:6px}.story-choice-buttons button{font-size:12px;padding:8px 13px;min-height:38px}.story-choices>small{font-size:9px;margin-top:5px}
 .story-response{top:calc(100% + 16px);gap:8px 15px}.story-insight{font-size:13px}.story-next-action strong{font-size:17px}.story-response>a{font-size:11px}
 .story-analytics{padding:16px;gap:10px}.analytics-heading h3{font-size:18px}.analytics-metrics{padding:8px 0}.analytics-metrics b{font-size:32px}.analytics-charts{gap:20px}.analytics-branch{margin-top:8px}.analytics-demo-note{margin-top:8px}
}
@media(max-width:1100px){.story-chapters{left:var(--page);bottom:74px}.story-scroll-note{display:none}.story-step-copy>p:last-child{font-size:15px}.story-choice-buttons button{font-size:12px;padding:9px 12px}.story-choice-buttons .story-real-demo{margin-left:0}.story-choices>p span{display:none}}
@media(max-width:900px){
 .story-stage{min-height:650px}.story-hero{height:280svh}
 .story-opening{top:18%}.story-opening h1{font-size:clamp(38px,7vw,68px)}.story-opening>p:last-child{font-size:16px;line-height:1.8}
 .story-eyebrow{font-size:10px;margin-bottom:12px}
 .story-step-copy{top:136px;left:24px;width:calc(100% - 48px);text-align:center}.story-step-copy h2{font-size:38px;line-height:1.3}.story-step-copy h2 br{display:none}.story-step-copy>p:last-child{font-size:15px;margin-top:13px}
 .story-player-label{font-size:8px}.story-reel-reset{font-size:9px}
 .story-film-caption{padding:30px 16px 14px}.story-film-caption strong{font-size:24px}
 .story-chapters{justify-content:space-between;gap:12px}.story-chapters button{gap:7px;font-size:12px}
}
@media(max-width:600px){
 .story-hero{height:290svh}.story-stage{min-height:680px}

 .story-opening{top:18%;padding:0 15px}.story-opening h1{font-size:clamp(34px,9.5vw,52px);line-height:1.4;letter-spacing:-.075em}.story-opening>p:last-child{font-size:14px;line-height:1.9;margin-top:17px}.mobile-break{display:block}
 .story-work{border-radius:3px}.story-work>span{padding:22px 7px 6px}.story-work small{display:none}.story-work strong{font-size:9px;line-height:1.3;display:block}
 .story-player-label{height:25px;letter-spacing:.04em}.story-live-dot{width:5px;height:5px}
 .story-step-copy{top:139px;left:15px;width:calc(100% - 30px)}.story-step-copy h2{font-size:33px}.story-step-copy h2 br{display:block}.story-step-copy>p:last-child{font-size:14px;line-height:1.85;margin-top:12px}.story-step-copy .story-eyebrow{font-size:9px;margin-bottom:9px}
 .story-film-caption{padding:30px 14px 14px}.story-film-caption strong{font-size:20px}.story-film-caption span{font-size:8px}
 .story-choices{top:calc(100% + 15px)}.story-choices>p{justify-content:center;margin-bottom:10px}.story-choices>p strong{font-size:18px}
 .story-choice-buttons{gap:7px;justify-content:center}.story-choice-buttons button{font-size:12px;padding:10px 13px;gap:7px}.story-choice-buttons .story-real-demo{font-size:12px;padding:3px 0;min-height:34px;margin:0 10px}
 .story-choices>small{font-size:9px;line-height:1.5;text-align:center;margin-top:5px}
 .story-response{top:calc(100% + 12px);display:block}.story-insight,.story-response>a{display:none}.story-next-action{padding-left:12px}.story-next-action strong{font-size:16px}.story-response small{font-size:9px;margin-bottom:3px}
 .story-analytics{padding:12px;gap:9px}.analytics-heading h3{font-size:16px}.analytics-heading small{font-size:8px;margin-bottom:2px}.analytics-heading>span{font-size:7px;padding:3px 6px}.analytics-metrics{padding:6px 0}.analytics-metrics>div{padding-left:9px}.analytics-metrics>div>span{font-size:10px}.analytics-metrics b{font-size:27px}.analytics-metrics small{font-size:10px}.analytics-charts{gap:12px;grid-template-columns:1fr 1fr}.analytics-charts h4{font-size:11px}.analytics-charts p{font-size:8px}.analytics-branch{margin-top:7px}.analytics-branch>div:first-child{font-size:10px}.analytics-branch strong{font-size:13px}.analytics-branch strong small{font-size:8px}.analytics-track{height:6px;margin-top:4px}.analytics-demo-note,.analytics-axis{font-size:7px}.analytics-demo-note{margin-top:8px}
 .story-stage[data-phase="2"] .story-film-caption strong{font-size:21px}
 .story-chapters{left:18px;right:18px;bottom:76px;gap:8px;padding:12px 0}.story-chapters button{font-size:11px;gap:5px}.story-chapters button small{font-size:9px}
 .no-motion .story-stage{height:850px}
}

.concept-b.story-in-view .site-header{position:fixed}

@media(max-width:600px) and (max-height:760px){
 .story-step-copy{top:110px}.story-step-copy h2{font-size:27px;line-height:1.3}.story-step-copy h2 br{display:none}.story-step-copy .story-eyebrow{margin-bottom:7px}.story-step-copy>p:last-child{font-size:13px;line-height:1.7;margin-top:10px}
 .story-choices{top:calc(100% + 12px)}.story-choices>p{margin-bottom:6px}.story-choices>p strong{font-size:16px}.story-choice-buttons button{min-height:38px;padding:8px 10px;font-size:11px}.story-choice-buttons .story-real-demo{min-height:28px;font-size:11px}.story-choices>small{font-size:8px;line-height:1.5;margin-top:4px}
}
/* The motion-off view keeps every chapter control in the viewport. */
.no-motion .story-stage{height:100svh}
@media(max-width:600px) and (max-height:760px){
 .story-opening{top:16%}.story-opening h1{font-size:35px;line-height:1.3}.story-opening>p:last-child{font-size:13px;line-height:1.8;margin-top:10px}
}

/* All surrounding films keep the complete widescreen frame. */
.story-work-extra{display:none;pointer-events:none}
.story-work-nitech{pointer-events:auto}
.story-work-motion{position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity .6s}
.story-work-motion.is-playing{opacity:1}
.story-work-motion iframe{display:block;position:absolute;left:0;top:0;width:480px;height:270px;border:0;transform:scale(var(--preview-scale,1));transform-origin:0 0;pointer-events:none}
.story-work-motion video{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none}
.story-work>span{z-index:1}
@media(min-width:901px){
 .story-work-field{z-index:1}.story-work{z-index:1}.story-work-extra{z-index:0}
 .story-work-extra{display:block;aspect-ratio:16/9;box-shadow:0 14px 30px #11291e18}
 .story-work{border-radius:4px;box-shadow:0 12px 24px #11291e16}
 .story-work>span{padding:22px 10px 7px}.story-work strong{font-size:12px}.story-work small{font-size:9px}

}

@media(min-width:901px){.story-work-extra:nth-child(10),.story-work-extra:nth-child(11),.story-work-extra:nth-child(12),.story-work-extra:nth-child(13){z-index:2}}

/* Lighter edges keep the overlapping film collage calm. */
@media(min-width:901px){
 .story-work,.story-work-extra{box-shadow:0 7px 18px #11291e12;border-color:#172f2518}
 .story-work>span{padding:18px 10px 7px;background:linear-gradient(transparent,#0a1d1799)}
 .story-work small{display:none}
 .story-stage[data-phase="0"] .story-player-label{z-index:7;left:12px;right:auto;top:12px;bottom:auto;height:25px;padding:0 10px;border-radius:20px;background:#fffffff0;box-shadow:0 1px 8px #11291e0d;font-size:9px}
}

/* Bring the opening closer to the header now that the proposal selector is gone. */
@media(min-width:901px){
 .story-opening{top:calc(var(--header) + 18px)}
 .story-opening h1{font-size:clamp(44px,4vw,64px);line-height:1.3}
 .story-opening .story-eyebrow{font-size:11px;margin-bottom:10px}
 .story-opening>p:last-child{font-size:16px;margin-top:10px}
}

/* Connect aggregate demo data to the visitor's actual choice. */
.analytics-branch.is-selected>div:first-child{color:var(--green);font-weight:700}
.analytics-branch em{flex-shrink:0;font-style:normal;font-size:8px;line-height:1.4;padding:2px 4px;border-radius:3px;background:#e9f4ee;color:var(--green);white-space:nowrap}
.analytics-demo-note{line-height:1.5}
.story-response{display:block;top:calc(100% + 15px)}
.recommendation-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;line-height:1.5;margin-bottom:8px}
.recommendation-heading>div{display:flex;align-items:baseline;gap:10px;min-width:0}
.recommendation-heading small{font-size:9px;letter-spacing:.1em;margin:0;white-space:nowrap}
.recommendation-heading strong{font-size:13px;font-weight:700}
.recommendation-heading button{padding:1px 0;background:none;border-bottom:1px solid var(--green);font-size:11px;line-height:1.5;white-space:nowrap}
.recommendation-empty{font-size:13px;line-height:1.7;color:#52685c}
.story-recommendation{width:100%;display:flex;align-items:center;gap:13px;padding:8px;border:1px solid #c9d9d0;border-radius:8px;background:white;text-align:left;transition:border-color .2s,background .2s}
.story-recommendation:hover{border-color:var(--green);background:#f6faf7}
.story-recommendation img{display:block;flex:0 0 96px;width:96px;aspect-ratio:16/9;object-fit:cover;border-radius:4px}
.recommendation-copy{min-width:0;flex:1;line-height:1.4}
.recommendation-copy small{font-size:10px;letter-spacing:0;font-weight:500;margin:0 0 2px}
.recommendation-copy strong{display:block;font-size:16px;font-weight:800}
.recommendation-copy>span{display:block;font-size:11px;color:#5a6b60;margin-top:2px}
.recommendation-play{flex-shrink:0;display:flex;align-items:center;gap:6px;font-size:11px;padding-right:8px;color:var(--green)}
.recommendation-play>span{display:grid;place-items:center;border:1px solid #b5d1c2;border-radius:50%;width:28px;height:28px;font-size:10px;padding-left:2px}
@media(max-width:600px) and (min-height:761px) and (max-height:800px){
 .story-stage[data-phase="2"] .story-step-copy{top:110px}
 .story-stage[data-phase="2"] .story-step-copy h2{font-size:27px;line-height:1.3}
 .story-stage[data-phase="2"] .story-step-copy h2 br{display:none}
 .story-stage[data-phase="2"] .story-step-copy .story-eyebrow{font-size:9px;margin-bottom:7px}
 .story-stage[data-phase="2"] .story-step-copy>p:last-child{font-size:13px;line-height:1.7;margin-top:10px}
}
@media(max-width:600px){
 .story-response{top:calc(100% + 12px)}
 .story-analytics{grid-template-rows:auto minmax(0,1fr)}
 .story-analytics .analytics-metrics,.story-analytics .analytics-retention{display:none}
 .analytics-charts{grid-template-columns:1fr}
 .analytics-charts h4{font-size:12px}.analytics-charts p{font-size:9px}
 .analytics-branch{margin-top:10px}.analytics-branch>div:first-child{font-size:12px}.analytics-branch strong{font-size:15px}
 .analytics-demo-note{font-size:8px;margin-top:10px}
 .recommendation-heading{margin-bottom:6px;gap:6px}.recommendation-heading>div{gap:6px}.recommendation-heading small{font-size:8px}.recommendation-heading strong{font-size:11px}.recommendation-heading button{font-size:10px}
 .recommendation-empty{font-size:12px}.story-recommendation{gap:9px;padding:7px}
 .story-recommendation img{flex-basis:78px;width:78px}.recommendation-copy small{font-size:9px}.recommendation-copy strong{font-size:14px}.recommendation-copy>span{font-size:9px}
 .recommendation-play{font-size:9px;padding-right:0;gap:4px}.recommendation-play>span{width:24px;height:24px;font-size:9px}
}

/* SOURCE: responsive.css */
/* Content owns its space: translated/animated layers must not size text rows. */
.approach-heading h3.eyebrow{font-size:12px;line-height:1.6;letter-spacing:.12em;margin:0}
.product-card,.card-copy,.card-copy>div,.contact-layout>div{min-width:0}
.card-meta>span{min-width:0}
.story-player-label [data-player-label]{min-width:0;white-space:normal;line-height:1.35}
.story-reel-reset{flex-shrink:0}

@media(max-width:900px){
  .concept-b.story-in-view .site-header{position:absolute}
  .story-stage{height:var(--mobile-stage-height,850px);min-height:0;top:min(0px,calc(100svh - var(--mobile-stage-height,850px)))}
  .no-motion .story-stage{height:var(--mobile-stage-height,850px)}
  .story-opening{top:110px}
  .story-step-copy,.story-stage[data-phase="2"] .story-step-copy{top:100px;left:18px;width:calc(100% - 36px)}
  .story-step-copy h2,.story-stage[data-phase="2"] .story-step-copy h2{font-size:clamp(26px,6.8vw,38px);line-height:1.4}
  .story-step-copy h2 br{display:none}
  .story-step-copy .story-eyebrow{font-size:10px;margin-bottom:8px}
  .story-step-copy>p:last-child{font-size:14px;line-height:1.8;margin-top:12px}
  .story-step-copy>p:last-child br{display:none}
  .story-choices,.story-response{left:50%;width:min(560px,calc(100vw - 36px));transform:translateX(-50%);top:calc(100% + 16px)}
  .story-choice-buttons{justify-content:center;gap:8px}
  .story-choice-buttons .story-real-demo{margin:0 15px}
  .story-choices>p{justify-content:center}
  .story-choices>small{font-size:10px;line-height:1.6}
  .story-chapters{left:18px;right:18px;bottom:76px;gap:8px}
  .story-chapters button{font-size:11px;gap:5px;min-height:40px}
  .story-chapters button small{font-size:9px}
  .story-analytics{grid-template-rows:auto minmax(0,1fr);padding:14px;gap:12px}
  .story-analytics .analytics-metrics,.story-analytics .analytics-retention{display:none}
  .analytics-charts{grid-template-columns:1fr}
  .analytics-heading h3{font-size:17px}
  .analytics-heading>span{font-size:8px}
  .analytics-charts h4{font-size:13px}.analytics-charts p{font-size:10px}
  .analytics-branch{margin-top:12px}.analytics-branch>div:first-child{font-size:12px}
  .analytics-branch strong{font-size:16px}.analytics-demo-note{font-size:9px;line-height:1.6;margin-top:12px}
  .recommendation-heading>div{flex-wrap:wrap;gap:2px 8px}
  .recommendation-copy>span{font-size:11px;line-height:1.5}

  .is-scrollable .approach-stage{height:auto;min-height:100svh;display:flex;flex-direction:column;gap:18px;padding:24px 0 78px;top:min(0px,calc(100svh - var(--approach-content-height,100svh)))}
  .is-scrollable .approach-layout{display:flex;flex-direction:column;height:auto;max-height:none;gap:24px;padding:10px 0 0;flex:1;justify-content:center}
  .is-scrollable .approach-scene{width:100%;max-width:440px;height:auto;aspect-ratio:720/500;order:1;margin:0 0 var(--mobile-scene-tail,95px);flex:none;translate:none}
  .is-scrollable .approach-stories{order:2;display:grid;width:100%;min-height:0;align-self:stretch}
  .is-scrollable .approach-story{grid-area:1/1;position:relative;inset:auto;display:block;align-content:initial;margin:0;min-height:0}
  .is-scrollable .approach-story h4,.is-scrollable .approach-story h4.improvement-heading{font-size:clamp(25px,6.7vw,32px);line-height:1.4;margin:12px 0}
  .is-scrollable .approach-story h4 br,.is-scrollable .approach-story h4.improvement-heading br{display:none}
  .is-scrollable .approach-story>p:last-child{font-size:15px;line-height:1.85;max-width:none}
  .is-scrollable .approach-story>p:last-child br{display:none}
  .is-scrollable .approach-navigation{width:100%;padding:0;flex:none;margin:0}
  .approach-controls button{padding:10px 6px;gap:5px;font-size:11px;min-height:44px}
  .approach-controls button small{font-size:9px}
  .approach-footer{margin-top:12px}
  .approach-scroll-hint{font-size:8px}
  .intro .approach-footer .text-link{font-size:11px}
  .is-scrollable .discovery-question{height:23%;padding:6px 10px;gap:10px}
  .is-scrollable .discovery-question strong{font-size:clamp(17px,5vw,22px)}
  .is-scrollable .discovery-question small{font-size:9px;margin-bottom:2px}
  .is-scrollable .discovery-question>span{width:34px;height:34px;font-size:12px}
  .scene-creative>small,.scene-technology>small{font-size:10px;line-height:1.4}
  .scene-card-label,.scene-window-bar span{font-size:9px}
  .scene-creative>strong,.scene-technology>strong{font-size:clamp(17px,4.8vw,24px)}
  .scene-creative{padding:12px 2px 4px}.scene-technology{padding:27px 2px 4px}
  .scene-card-label{margin:0 0 4px}.scene-card-line{display:none}
  .scene-outcome strong{font-size:clamp(14px,3.9vw,19px)}
  .response-bubble>strong{font-size:clamp(12px,3.6vw,17px)}
  .response-bubble>small{font-size:10px}
  .approach-scene .finale-copy>p{font-size:14px;line-height:1.6}
  .section-kicker{flex-wrap:wrap;gap:12px}
  .product-tabs button>span{min-width:0}
  .business-services .product-card{height:auto;min-height:0}
  .business-services .product-visual{flex:none;height:240px;min-height:0}
  .business-services .card-copy h3{font-size:clamp(23px,6vw,29px)}
  .business-services .card-copy p:not(.service-name){font-size:16px;line-height:1.85}
  .business-services .card-meta{flex-wrap:wrap;gap:4px 16px}
  .business-services .card-bottom{flex-wrap:wrap}
  .support-list summary h3{min-width:0;line-height:1.5}
  .contact-email{flex-wrap:wrap;gap:16px}
  .contact-email>a{overflow-wrap:anywhere;max-width:100%}
  .footer{padding-bottom:90px}
}
@media(max-width:370px){
  .site-header{gap:8px;padding-left:16px;padding-right:16px}
  .site-header .brand{width:112px;flex-shrink:1}
  .story-opening h1{font-size:31px}
  .story-opening>p:last-child{font-size:13px}
  .story-chapters button{flex-direction:column;gap:1px;font-size:10px;align-items:flex-start}
  .story-choice-buttons button{font-size:11px;padding:9px 10px}
  .recommendation-play{font-size:0}.recommendation-play>span{font-size:9px}
  .story-recommendation img{width:64px;flex-basis:64px}
  .story-film-caption strong{font-size:18px}
  .approach-controls{gap:5px}.approach-controls button{font-size:10px;gap:3px}
  .business-services .product-tabs button{padding:10px;gap:6px}
  .business-services .product-tabs button>span{font-size:13px}
  .business-services .card-copy{padding-left:0;padding-right:0}
  .contact-layout h2{font-size:26px}
}
@media(max-width:900px){
  .story-stage{top:0}
  .story-step-copy,.story-stage[data-phase="2"] .story-step-copy{top:24px}
  .story-compact.story-hero{height:auto}
  .story-compact .story-stage{position:relative}
  .story-compact .story-step-copy{top:100px}
  .story-compact:has(.story-stage:not([data-phase="0"])) .site-header{position:absolute}
}
@media(max-width:900px){
  .is-scrollable .approach-stage{gap:12px;padding:20px 0 68px}
  .is-scrollable .approach-layout{gap:20px;padding-top:10px}
  .is-scrollable .approach-scene{height:210px;max-width:350px;aspect-ratio:auto}
  .is-scrollable .approach-footer{display:none}
  .is-scrollable .approach-navigation{padding-top:0}
  .is-scrollable .approach-timeline{margin-bottom:10px}
  .scene-creative,.scene-technology{height:50%}
  .scene-creative>strong,.scene-technology>strong{font-size:18px;line-height:1.25}
  .scene-creative>small,.scene-technology>small{font-size:9px;margin-top:4px}
  .scene-window-bar{height:20px}
  .scene-technology{padding-top:23px}
  .scene-creative{padding-top:6px}
  .scene-card-label{font-size:8px}
}

@media(max-width:900px){
  .story-step-copy,.story-stage[data-phase="2"] .story-step-copy,.story-compact .story-step-copy{top:var(--mobile-copy-top,24px)}
}
@media(max-width:900px){
  .approach-scene>.scene-outcome,.is-scrollable .approach-scene>.scene-outcome{width:90%;padding:6px 12px;border-radius:7px}
  .scene-outcome strong br{display:none}
  .scene-outcome small{font-size:9px;margin-bottom:4px}
  .scene-source>strong{font-size:17px}
  .scene-source>small{font-size:9px}
  .scene-cross{width:37px;height:37px}
  .is-scrollable .approach-scene>.improvement-card{top:74%}
  .approach-scene .finale-copy>strong{font-size:clamp(32px,10vw,42px)}
  .approach-scene .finale-copy>small{font-size:9px;margin-bottom:3px}
  .approach-scene .finale-copy>strong>span:first-child{margin-bottom:3px}
  .is-scrollable .approach-layout{flex:0;margin:auto 0}
}
@media(max-width:900px) and (max-height:740px){
  .is-scrollable .approach-stage{padding:16px 0 64px;gap:10px}
  .is-scrollable .approach-layout{gap:12px}
  .is-scrollable .approach-scene{height:200px}
  .is-scrollable .approach-story h4,.is-scrollable .approach-story h4.improvement-heading{margin:10px 0}
  .approach-scene .finale-copy>p{margin-top:10px}
}

/* Keep the existing label row as empty space above the closing statement. */
.finale-copy>.finale-label-space{visibility:hidden}
.is-scrollable .response-voice,.is-scrollable .response-insight{top:max(24%,calc(var(--outcome-height,60px) + 14px))}
.is-scrollable .response-use{top:calc(max(24%,calc(var(--outcome-height,60px) + 14px)) + 10%)}
@media(max-width:900px){
  .is-scrollable .response-bubble{height:30%}
}
@media(min-width:901px){
  .story-step-copy{left:var(--desktop-copy-left,var(--page));top:var(--desktop-copy-top,150px);width:var(--desktop-copy-width,29%)}
  .story-step-copy h2 br,.story-step-copy>p:last-child br{display:block}
  .story-choices,.story-response{width:var(--desktop-player-width,100%)}
}

@media(min-width:901px){
  .concept-b.story-in-view:has(.story-stage[data-phase="1"]) .site-header,
  .concept-b.story-in-view:has(.story-stage[data-phase="2"]) .site-header{position:absolute}
}

/* The question leads the choice; the resulting works lead the next scene. */
.story-choices>p{gap:8px 18px;flex-wrap:wrap;margin-bottom:12px}
.story-choices>p strong{font-size:clamp(24px,2.1vw,32px);font-weight:900;letter-spacing:-.03em;line-height:1.35;color:var(--green)}
.story-choices>p span{font-size:13px;line-height:1.6}
.story-choice-buttons button[data-story-film]{font-size:15px;padding:11px 20px;border-width:1.5px}
.story-choices>small{font-size:11px;margin-top:8px}
.story-discover{position:absolute;inset:0;z-index:4;opacity:0;pointer-events:none;background:#fff;color:var(--ink);--recommendation-reveal:0}
.recommendation-content{padding:22px;display:grid;gap:22px}
.discover-heading>small{font-size:10px;font-weight:800;letter-spacing:.14em;color:var(--green);display:block;margin-bottom:8px}
.discover-heading h3{font-size:clamp(22px,1.75vw,28px);line-height:1.5;font-weight:900;letter-spacing:-.035em;overflow-wrap:anywhere}
.discover-heading p{font-size:14px;line-height:1.7;margin-top:8px}
.personalized-works{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.personalized-work{display:block;min-width:0;padding:0;margin:0;align-self:start;text-align:left;background:white;color:var(--ink);opacity:var(--recommendation-reveal);transform:translateY(calc((1 - var(--recommendation-reveal))*18px))}
.personalized-work:nth-child(2){transform:translateY(calc((1 - var(--recommendation-reveal))*30px))}
.personalized-work-image{display:block;position:relative;aspect-ratio:16/9;overflow:hidden;border:1px solid #1b3b2926;border-radius:5px}
.personalized-work-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s}
.personalized-work-play{position:absolute;right:10px;bottom:10px;padding:7px 12px;border-radius:20px;background:#fffffff2;color:var(--green);font-size:11px;font-weight:700;line-height:1.4;box-shadow:0 1px 8px #0001}
.personalized-work:hover img{transform:scale(1.035)}
.personalized-work:hover .personalized-work-copy strong{color:var(--green)}
.personalized-work-copy{display:block;padding-top:12px}
.personalized-work-copy small{font-size:12px;line-height:1.5;color:#53675c;display:block}
.personalized-work-copy strong{font-size:23px;line-height:1.4;font-weight:800;display:block;margin-top:4px}
.story-stage[data-phase="2"] .story-discover{pointer-events:auto}
.story-stage[data-phase="2"] .story-player{background:#fff;box-shadow:0 12px 40px #1735260d}
.story-stage[data-phase="2"] .story-screen{border-color:#203f2f24}
.story-response{top:calc(100% + 16px)}
.recommendation-heading{margin-bottom:5px;gap:10px}
.recommendation-heading>div{gap:8px;align-items:center}
.recommendation-heading small{font-size:11px;font-weight:500;letter-spacing:0}
.recommendation-heading strong{font-size:13px;background:#e9f4ee;color:var(--green);padding:4px 9px;border-radius:4px;line-height:1.5}
.recommendation-heading button{font-size:12px;min-height:32px}
.recommendation-data-note{font-size:11px;line-height:1.6;color:#53675c}
@media(max-width:900px){
 .story-choices>p{display:block;text-align:center;margin-bottom:10px}
 .story-choices>p strong{font-size:26px;line-height:1.4}
 .story-choices>p span{display:block;font-size:12px;margin-top:3px}
 .story-choice-buttons button[data-story-film]{font-size:12px;padding:10px 12px;min-height:42px}
 .story-choices>small{font-size:10px;margin-top:6px}
 .recommendation-content{padding:16px;gap:18px}
 .discover-heading>small{font-size:9px;margin-bottom:6px}
 .discover-heading h3{font-size:22px;line-height:1.45}
 .discover-heading p{font-size:12px;line-height:1.7;margin-top:6px}
 .personalized-works{gap:12px}
 .personalized-work-copy{padding-top:9px}
 .personalized-work-copy small{font-size:10px}
 .personalized-work-copy strong{font-size:17px;line-height:1.5;margin-top:4px}
 .personalized-work-play{font-size:9px;padding:5px 8px;right:6px;bottom:6px}
 .story-response{top:calc(100% + 14px)}
 .recommendation-heading>div{flex-wrap:wrap;gap:3px 6px}
 .recommendation-heading strong{font-size:11px;padding:3px 6px}
 .recommendation-heading small{font-size:10px}
 .recommendation-heading button{font-size:11px}
 .recommendation-data-note{font-size:10px;line-height:1.7}
}
@media(max-width:370px){
 .story-choices>p strong{font-size:24px}
 .story-choice-buttons button[data-story-film]{font-size:11px;padding:9px 10px}
 .recommendation-content{padding:13px;gap:14px}
 .discover-heading h3{font-size:20px}
 .personalized-works{gap:9px}
 .personalized-work-copy strong{font-size:15px}
 .personalized-work-play{font-size:8px;padding:4px 6px}
}

/* Retain the choice-rate graph as context below the recommended works. */
.choice-analysis{border-top:1px solid #dfe8e2;padding-top:14px}
.choice-analysis-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:10px}
.choice-analysis-heading h4{margin:0;font-size:13px;font-weight:700;line-height:1.5}
.choice-analysis-heading>small{font-size:10px;line-height:1.5;color:#66766d}
.choice-analysis-bars{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.choice-analysis-branch>div:first-child{display:flex;align-items:baseline;flex-wrap:wrap;gap:3px 7px;font-size:11px;line-height:1.6;min-height:22px}
.choice-analysis-branch strong{margin-left:auto;font-size:17px;line-height:1.3;font-weight:700}
.choice-analysis-branch strong small{font-size:10px;margin-left:2px}
.choice-analysis-branch em{font-style:normal;font-size:9px;background:#e9f4ee;color:var(--green);padding:1px 5px;border-radius:3px}
.choice-analysis-track{height:7px;background:#edf1ee;border-radius:5px;overflow:hidden;margin-top:5px}
.choice-analysis-track i{display:block;width:calc(var(--share)*100%);height:100%;background:#b7c8be;transform:scaleX(var(--recommendation-reveal));transform-origin:left;border-radius:5px}
.choice-analysis-branch.is-selected{color:var(--green)}
.choice-analysis-branch.is-selected .choice-analysis-track i{background:var(--green)}
@media(max-width:900px){
 .choice-analysis{padding-top:12px}
 .choice-analysis-heading{margin-bottom:8px}
 .choice-analysis-heading h4{font-size:12px}
 .choice-analysis-heading>small{font-size:9px}
 .choice-analysis-bars{grid-template-columns:1fr;gap:8px}
 .choice-analysis-branch>div:first-child{font-size:10px;min-height:18px;gap:3px 5px}
 .choice-analysis-branch strong{font-size:15px}
 .choice-analysis-branch em{font-size:8px;padding:1px 4px}
 .choice-analysis-track{height:5px;margin-top:3px}
}

/* Make the effect of the viewer's choice a visible part of the experience. */
.story-choices>.story-choice-impact{display:block;font-size:18px;font-weight:800;line-height:1.7;letter-spacing:-.02em;color:var(--green);margin:13px 0 0;text-align:left}
.story-choices>.story-choice-impact>span{display:inline-block;font:inherit;letter-spacing:inherit;color:inherit;white-space:nowrap;margin:0}
@media(max-width:900px){
 .story-choices>.story-choice-impact{font-size:15px;line-height:1.7;text-align:center;margin-top:11px}
}

/* SOURCE: business.css */
/* Give the business navigation a readable hierarchy and room to breathe. */
.business-services .product-tabs,
.pop-layout-open.motion-enabled .business-services .product-tabs{gap:16px}
.business-services .product-tabs button,
.pop-layout-open.motion-enabled .business-services .product-tabs button{min-height:100px;padding:16px 24px;gap:14px}
.business-services .product-tabs .service-tab-copy{display:block;min-width:0}
.business-services .product-tabs .service-tab-category{display:block;font-size:13px;line-height:1.5;letter-spacing:.035em;font-weight:650;margin-bottom:7px}
.business-services .product-tabs .service-tab-title{display:block;font-size:22px;line-height:1.5;letter-spacing:-.035em;word-break:normal;overflow-wrap:anywhere}
.business-services .product-tabs .service-tab-phrase{display:inline-block;white-space:nowrap}
.business-services .product-tabs button small{font-size:12px;padding-top:3px}
.business-services .product-tabs button b{font-size:24px}
@media(max-width:1100px){
 .business-services .product-tabs button{padding:16px 20px;gap:12px}
 .business-services .product-tabs .service-tab-title{font-size:20px}
 .business-services .product-tabs .service-tab-category{font-size:12px}
}
@media(max-width:600px){
 .business-services .product-tabs{grid-template-columns:1fr;gap:14px;margin:28px 0 0}
 .business-services .product-tabs button{padding:18px 20px;min-height:100px;border-radius:22px;gap:12px;align-items:center}
 .business-services .product-tabs .service-tab-title{font-size:20px;line-height:1.55}
 .business-services .product-tabs .service-tab-category{font-size:12px;margin-bottom:8px}
 .business-services .product-tabs button small{font-size:11px;padding-top:3px}
}
/* The menu owns its vertical scroll; scrolling the page still drives the service cards. */
@media(min-width:901px) and (min-height:640px){
 .motion-enabled .business-services .product-tabs{
  position:relative;grid-auto-rows:max-content;align-content:start;
  max-height:var(--business-nav-height,calc(100svh - 380px));
  overflow-y:auto;overflow-x:hidden;scrollbar-width:auto;scrollbar-color:auto;
  scrollbar-gutter:stable;padding:2px 10px 2px 2px;
 }
 .motion-enabled .business-services .product-tabs::-webkit-scrollbar{width:5px}
 .motion-enabled .business-services .product-tabs::-webkit-scrollbar-track{background:rgba(255,255,255,.15);border-radius:10px}
 .motion-enabled .business-services .product-tabs::-webkit-scrollbar-thumb{background:rgba(255,255,255,.75);border-radius:10px}
 .motion-enabled .business-services .product-tabs:focus-visible{outline:2px solid var(--lime);outline-offset:5px}
}

/* Preserve the top-left heading and right-hand cards; give the navigation more width. */
.business-section-heading{grid-column:1/-1}
.business-section-heading h2{font-size:clamp(34px,3.3vw,52px);line-height:1.35;letter-spacing:-.06em;margin-top:18px}
.business-section-heading .product-intro{font-size:17px;line-height:1.9;margin:20px 0 28px}
@media(min-width:901px) and (min-height:640px){
 .motion-enabled .business-services .product-stage,
 .pop-layout-open.motion-enabled .business-services .product-stage{
  --business-video-gap:24px;top:0;height:100svh;max-height:none;
  padding:36px 0 64px;grid-template-columns:minmax(0,1.04fr) minmax(0,1fr);
  grid-template-rows:auto minmax(0,1fr);column-gap:clamp(32px,3.5vw,56px);row-gap:32px;align-items:start;
 }
 .motion-enabled .business-section-heading{grid-column:1;grid-row:1;display:block;min-width:0}
 .motion-enabled .business-section-heading .eyebrow{font-size:13px;line-height:1.5;margin:0}
 .motion-enabled .business-section-heading h2{font-size:clamp(32px,2.8vw,44px);line-height:1.35;letter-spacing:-.055em;white-space:nowrap;margin:12px 0 0}
 .motion-enabled .business-section-heading h2 br,
 .motion-enabled .business-section-heading .product-intro br{display:none}
 .motion-enabled .business-services .business-section-heading .product-intro{font-size:17px;line-height:1.9;margin:16px 0 0}
 .motion-enabled .business-services .product-sidebar,
 .pop-layout-open.motion-enabled .business-services .product-stage .product-sidebar{grid-column:1;grid-row:2;align-self:start;margin:0;padding:0;min-width:0}
 .motion-enabled .business-services .product-tabs{margin:0;translate:none;max-height:var(--business-nav-height,calc(100svh - 270px))}
 .motion-enabled .business-services .product-cards,
 .pop-layout-open.motion-enabled .business-services .product-cards{grid-column:2;grid-row:1/3;align-self:start;translate:none;height:100%;max-height:none;min-height:0;min-width:0}
 .motion-enabled .business-services .product-visual{min-height:180px}
 .motion-enabled .business-services .product-card{overflow-y:auto}
 .motion-enabled .business-services .product-progress{position:absolute;left:calc((100% - clamp(32px,3.5vw,56px)) / 2.04 * 1.04 + clamp(32px,3.5vw,56px));bottom:24px;margin:0;width:220px}
 .motion-enabled .business-services .product-skip{position:absolute;right:0;bottom:24px;margin:0}
}
@media(min-width:1101px) and (min-height:640px){
 .pop-layout-open.motion-enabled .business-services .product-stage{grid-template-columns:minmax(600px,1.04fr) minmax(0,1fr)}
 .pop-layout-open.motion-enabled .business-services .product-stage .product-sidebar{padding-left:max(0px,calc(292px - var(--page)))}
 .pop-layout-open.motion-enabled .business-services .product-progress{left:auto;right:calc((100% - clamp(32px,3.5vw,56px) - max(600px,(100% - clamp(32px,3.5vw,56px)) / 2.04 * 1.04)) - 220px)}
}
@media(min-width:1101px) and (max-width:1299px) and (min-height:640px){
 .business-services .product-tabs button,
 .pop-layout-open.motion-enabled .business-services .product-tabs button{padding:16px 20px;gap:10px}
 .business-services .product-tabs .service-tab-title{font-size:20px}
 .business-services .product-tabs .service-tab-category{font-size:12px}
 .business-services .card-copy{grid-template-columns:minmax(0,1fr);column-gap:0}
 .business-services .card-copy .round-arrow{display:none}
 .motion-enabled .business-services .product-visual{min-height:90px}
}
@media(max-width:900px){
 .business-section-heading h2{font-size:44px}
 .business-section-heading .product-intro{font-size:16px;margin-bottom:0}
}
@media(max-width:600px){
 .business-section-heading h2{font-size:37px;margin-top:14px}
 .business-section-heading .product-intro{font-size:16px;line-height:1.9}
 .business-section-heading .product-intro br{display:block}
}

/* SOURCE: journal.css */
/* An editorial pause between the work and the invitation to talk. */
.journal{background:var(--paper);padding-top:100px;padding-bottom:110px;scroll-margin-top:20px;overflow:clip}
.journal-inner{max-width:1450px;margin:0 auto}
.journal .section-kicker{border-top:0;padding-top:22px}
.journal-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin:34px 0}
.journal-heading h2{font-size:clamp(38px,4.4vw,68px);line-height:1.35;letter-spacing:-.065em;font-weight:850}
.journal-heading h2 span{color:var(--green)}
.journal-heading p{font-size:17px;line-height:1.9;max-width:330px;padding-bottom:6px}
.journal-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:42px}
.journal-filters{display:flex;gap:8px;flex-wrap:wrap}
.journal-filter{border:1px solid var(--line);background:white;border-radius:30px;min-height:44px;padding:9px 19px;font-size:14px;font-weight:650;transition:background .25s,color .25s}
.journal-filter small{font-size:11px;margin-left:8px;opacity:.65}
.journal-filter[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:white}
.journal-filter:hover{border-color:var(--green)}
.journal-hint{font-size:13px;color:var(--green);display:flex;align-items:center;gap:9px}
.journal-hint::before{content:"";width:20px;height:24px;border:1px solid currentColor;border-radius:2px;transform:rotate(-9deg);box-shadow:3px 3px 0 white,4px 4px 0 currentColor}
.journal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.journal-card{min-width:0;position:relative}
.journal-card-link{display:block;border-radius:4px}
.journal-book{position:relative;isolation:isolate;perspective:1000px;padding-bottom:18px}
.journal-page{position:absolute;inset:8px 0 0 8px;background:#fff;border:1px solid var(--line);border-radius:5px;box-shadow:3px 4px 0 #e8ece9;display:flex;align-items:flex-end;justify-content:flex-end;padding:11px 18px;font-size:12px;color:var(--green)}
.journal-cover{position:relative;aspect-ratio:1.26;overflow:hidden;border:1px solid var(--ink);border-radius:5px;background:var(--cover);transform-origin:left center;transition:transform .6s var(--ease),box-shadow .6s var(--ease);padding:19px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 3px 0 #202c2912}
.journal-cover::before{content:"";position:absolute;left:9px;top:0;bottom:0;border-left:1px solid #202c292b;pointer-events:none}
.journal-cover-line{font-size:10px;letter-spacing:.08em;display:flex;justify-content:space-between;padding-left:7px;position:relative;z-index:2}
.journal-cover-foot{position:relative;z-index:2;font-size:11px;padding-left:7px;display:flex;justify-content:space-between}
.journal-cover-title{position:absolute;z-index:2;top:17%;left:26px;right:16px;font-size:clamp(26px,2.15vw,34px);letter-spacing:-.065em;font-weight:850;line-height:1.12}
.journal-cover-art{position:absolute;inset:0;pointer-events:none}
.journal-cover-film{--cover:#eed0c5}
.journal-film-strip{position:absolute;width:111%;height:26%;left:-4%;top:49%;display:flex;gap:7px;padding:10px 0;border-top:5px dotted var(--ink);border-bottom:5px dotted var(--ink);transform:rotate(-6deg);background:var(--ink)}
.journal-film-strip img{width:35%;height:100%;object-fit:cover;flex-shrink:0}
.journal-film-strip img:nth-child(2){object-position:70% center}
.journal-cover-interactive{--cover:#dcebe5}
.journal-choice-disc{position:absolute;width:37%;aspect-ratio:1;border:1px solid var(--green);border-radius:50%;left:52%;top:34%;display:grid;place-items:center;color:var(--green);font-size:clamp(44px,5vw,72px);font-weight:850;letter-spacing:-.07em;background:#ffffff80}
.journal-choice-disc::after{content:"";position:absolute;inset:15px;border:1px solid var(--green);border-radius:50%;opacity:.3}
.journal-choice-label{position:absolute;border:1px solid var(--green);background:white;padding:9px 18px;border-radius:50px;font-size:13px;font-weight:750;color:var(--green);top:62%;left:8%;transform:rotate(-9deg)}
.journal-choice-label.second{top:70%;left:auto;right:5%;transform:rotate(8deg);background:var(--green);color:white}
.journal-cover-process{--cover:#d7e0ef}
.journal-edit-sheet{position:absolute;top:49%;left:23%;width:66%;height:30%;border:1px solid var(--ink);border-radius:4px;background:white;transform:rotate(7deg);padding:13px;display:grid;grid-template-columns:31% 1fr;gap:8px;box-shadow:5px 5px 0 #202c2926}
.journal-edit-sheet span{border-radius:2px;background:var(--blue);opacity:.7}
.journal-edit-sheet span:nth-child(2){background:#e5bc9f}.journal-edit-sheet span:nth-child(3){grid-column:1/-1;background:repeating-linear-gradient(90deg,var(--green) 0 25%,transparent 25% 27%);height:15px;align-self:end}
.journal-edit-label{position:absolute;bottom:17%;left:5%;transform:rotate(-6deg);border:1px solid var(--ink);border-radius:30px;background:var(--yellow);padding:5px 16px;font-size:14px;font-weight:750}
.journal-card-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:18px 0 10px;font-size:12px}
.journal-card-meta span:first-child{color:var(--green);font-weight:750}
.journal-draft{font-size:11px;color:#65736c;border:1px solid #d7dfda;padding:2px 7px;border-radius:3px;white-space:nowrap}
.journal-card-excerpt{font-size:15px;line-height:1.85;margin-top:12px;color:#52645b}
.journal-card-link:focus-visible .journal-cover{transform:rotateY(-13deg) rotate(-2deg) translateY(-8px);box-shadow:12px 10px 16px #202c2914}
@media(hover:hover){.motion-enabled .journal-card-link:hover .journal-cover{transform:rotateY(-13deg) rotate(-2deg) translateY(-8px);box-shadow:12px 10px 16px #202c2914}}
.journal-preview-note{font-size:12px;color:#65736c;margin-top:25px}
.journal-news{margin-top:58px;display:grid;grid-template-columns:160px minmax(0,1fr);gap:32px;align-items:start}
.journal-news-heading{font-size:23px;line-height:1.5;letter-spacing:-.03em;padding-top:20px}
.journal-news-heading span{display:block;font-size:11px;letter-spacing:.12em;color:var(--green);margin-bottom:5px}
.journal-news-list{border-top:1px solid var(--ink)}
.journal-news-link{display:grid;grid-template-columns:105px 80px minmax(0,1fr) auto;gap:18px;align-items:center;padding:28px 0;border-bottom:1px solid var(--line)}
.journal-news-link time{font-size:13px}.journal-news-type{font-size:11px;color:var(--green);border:1px solid #a9c7ba;border-radius:20px;padding:3px 10px;text-align:center}
.journal-news-link h4{font-size:19px;line-height:1.65;margin:0;font-weight:700}
.journal-news-open{font-size:12px;white-space:nowrap;border-bottom:1px solid var(--line)}
.journal-news-link:hover h4{color:var(--green)}
.journal[data-filter="news"] .journal-news{margin-top:6px}
.journal-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
#journal-dialog{width:min(760px,calc(100% - 32px));border-radius:10px;box-shadow:8px 8px 0 #173b3026;max-height:calc(100svh - 40px)}
.journal-reader-bar{position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:17px 26px;background:white;border-bottom:1px solid var(--line);z-index:1}
.journal-reader-bar p{font-size:12px;color:var(--green);font-weight:700;letter-spacing:.07em}
.journal-reader-close{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:white;font-size:26px;line-height:1}
.journal-reader{padding:35px 48px 46px}
.journal-reader .journal-draft{display:inline-block;margin-bottom:20px}
.journal-reader h2{font-size:34px;line-height:1.5;letter-spacing:-.05em;margin-bottom:24px;text-wrap:balance}
.journal-reader p{font-size:17px;line-height:2;margin:18px 0}
.journal-reader h3{font-size:21px;line-height:1.6;margin-top:30px;text-wrap:balance}
.journal-reader .journal-reader-note{font-size:13px;color:#62756b;border-top:0;padding-top:23px;margin-top:32px}
body:has(#journal-dialog[open]){overflow:hidden}
@media(min-width:1101px){.pop-layout-open .journal{padding-left:max(var(--page),292px)}}
@media(max-width:1200px){.journal-grid{gap:32px 24px;grid-template-columns:repeat(2,minmax(0,1fr))}.journal-heading{display:block}.journal-heading p{max-width:none;margin-top:18px}.journal-cover{padding:15px}.journal-cover-title{font-size:29px}.journal-news{grid-template-columns:1fr;gap:12px}.journal-news-heading{padding-top:0}.journal-news-heading span{display:inline;margin-right:12px}.journal-news-link{gap:12px;grid-template-columns:100px 70px minmax(0,1fr) auto}}
@media(max-width:850px){.journal-heading h2{font-size:48px}.journal-grid{gap:18px}.journal-cover{padding:12px}.journal-cover-title{font-size:29px}.journal-cover-line{font-size:8px}.journal-cover-foot{font-size:9px}.journal-choice-label{font-size:10px;padding:7px 10px}.journal-card-excerpt{font-size:14px}.journal-card-meta{align-items:flex-start;flex-direction:column;gap:6px}.journal-news-open{font-size:11px}}
@media(max-width:700px){.journal{padding-top:65px;padding-bottom:75px}.journal-heading{margin:26px 0}.journal-heading h2{font-size:clamp(31px,8.5vw,44px)}.journal-heading p{font-size:15px;line-height:1.9}.journal-toolbar{display:block;margin-bottom:30px}.journal-filter{padding:8px 14px;font-size:13px}.journal-hint{margin-top:22px;font-size:12px}.journal-grid{grid-template-columns:1fr;gap:38px}.journal-cover{aspect-ratio:1.45;padding:20px}.journal-cover-title{font-size:31px}.journal-cover-line{font-size:10px}.journal-cover-foot{font-size:11px}.journal-choice-disc{width:32%;left:55%;top:36%;font-size:52px}.journal-choice-label{font-size:13px;padding:8px 16px;left:10%}.journal-choice-label.second{right:10%;top:68%}.journal-edit-sheet{left:26%;width:60%;height:29%}.journal-card-meta{flex-direction:row;align-items:center;margin-top:15px}.journal-card-excerpt{font-size:15px}.journal-news{margin-top:38px}.journal-news-link{grid-template-columns:100px 1fr;gap:10px;padding:23px 0}.journal-news-type{justify-self:start}.journal-news-link h4{grid-column:1/-1;font-size:19px}.journal-news-open{grid-column:1/-1;justify-self:end;font-size:12px}.journal-reader-bar{padding:12px 18px}.journal-reader{padding:24px}.journal-reader h2{font-size:27px}.journal-reader p{font-size:16px}.journal-reader h3{font-size:20px}.journal .section-kicker>span:last-child{display:none}}
@media(prefers-reduced-motion:reduce){.journal-cover,.journal-filter{transition:none}.journal-card-link:focus-visible .journal-cover{transform:none}}
body:not(.motion-enabled) .journal-cover{transition:none;transform:none!important}
.journal-card-title{display:block;font-size:clamp(20px,1.8vw,27px);line-height:1.55;letter-spacing:-.04em;font-weight:800;text-wrap:pretty}
@media(hover:hover){.journal-card-link:hover .journal-card-title{color:var(--green)}}
@media(max-width:850px){.journal-card-title{font-size:21px}}
@media(max-width:700px){.journal-card-title{font-size:25px}}

.journal-cover-interactive .journal-cover-foot>span:last-child{visibility:hidden}

/* Article artwork is a replaceable 1920 × 1080 image. */
.journal-cover.is-image-cover{display:block;aspect-ratio:16/9;padding:0;background:#edf4f0;isolation:isolate}
.journal-cover.is-image-cover::before{display:none}
.journal-cover.is-image-cover>img{display:block;position:static;inset:auto;width:100%;height:100%;margin:0;border:0;border-radius:0;object-fit:cover;transform:none;align-self:auto}

/* SOURCE: content-refinement.css */
/* Keep the established composition while removing repeated section furniture. */
.company-approach>.section-kicker{border:0;padding-top:0}
.company-approach>.section-kicker>span{display:block;font-size:13px;max-width:none;text-align:left}
.about-intro .about-copy{margin-top:0}
.works-heading h2{font-size:13px;line-height:1.6;letter-spacing:.07em;font-weight:750;margin:0}
.works-heading .text-link{font-size:14px}
.works .film-showcase{margin-top:26px}
.vuddy-showcase .work-category h3{margin-top:0}

/* The numbers are part of the navigation, not fine print. */
.business-services .product-tabs button small{font-size:18px;font-weight:750;line-height:1.4;align-self:center;padding:0;min-width:22px;flex-shrink:0;color:inherit;opacity:1}
.business-services .product-tabs button,
.pop-layout-open.motion-enabled .business-services .product-tabs button{column-gap:10px}

/* Give the chart a readable hierarchy and a stable position for percentages. */
.choice-analysis-heading h4{font-size:18px;font-weight:750;line-height:1.5}
.choice-analysis-heading{margin-bottom:12px}
.choice-analysis-branch>div:first-child{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:3px 12px;min-height:54px;font-size:16px;line-height:1.55;font-weight:650;color:var(--ink)}
.choice-analysis-branch>div:first-child>span{grid-column:1;grid-row:1}
.choice-analysis-branch strong{grid-column:2;grid-row:1/3;margin:0;font-size:27px;font-weight:800;white-space:nowrap;letter-spacing:-.03em}
.choice-analysis-branch strong small{font-size:16px;font-weight:650;margin-left:3px}
.choice-analysis-branch em{grid-column:1;grid-row:2;justify-self:start;font-size:12px;line-height:1.5;padding:2px 8px}
.choice-analysis-track{height:10px;margin-top:7px;background:#e4ebe7}
.choice-analysis-track i{background:#7d9f8e}
.choice-analysis-branch.is-selected>div:first-child{color:var(--green)}

/* Blog genres filter only the articles. News remains a separate, visible section. */
.journal .section-kicker>span:only-child{display:block;font-size:13px;max-width:none;text-align:left}
.journal-blog-title{font-size:25px;font-weight:750;letter-spacing:-.03em;margin:0 0 20px}
.journal-toolbar{margin-bottom:32px}
.journal-filters{gap:10px}
.journal-filter{font-size:14px}
.journal-news{border-top:0;padding-top:36px;margin-top:48px}
.journal-news-list{border-top:0}
.journal-news-heading{padding-top:20px}
@media(max-width:900px){
 .choice-analysis-heading h4{font-size:17px}
 .choice-analysis-bars{gap:14px}
 .choice-analysis-branch>div:first-child{font-size:14px;min-height:44px;gap:3px 10px}
 .choice-analysis-branch strong{font-size:25px}
 .choice-analysis-branch strong small{font-size:14px}
 .choice-analysis-branch em{font-size:11px;padding:2px 7px}
 .choice-analysis-track{height:8px;margin-top:5px}
}
@media(max-width:600px){
 .business-services .product-tabs button small{font-size:17px;min-width:20px}
 .journal-blog-title{font-size:23px;margin-bottom:16px}
 .journal-filter{font-size:13px;padding:8px 13px}
 .journal-filters{gap:8px}
 .journal-news{padding-top:24px;margin-top:34px;border-top:0}
 .journal-news-heading{padding-top:0}
}


/* Emerald chapter markers match the site's existing brand accent. */
.approach-chapter>span{background:var(--green);color:#fff}

/* SOURCE: mission-mobile.css */
/* A diagonal gallery opening gives the Mission its own graphic rhythm. */
.about{position:relative;background:#fff;isolation:isolate;padding:0}
.about-stage{position:relative;isolation:isolate;overflow:hidden;height:max(104svh,780px);padding:0;background:#101613;--mission-cut:clamp(44px,5vw,86px);clip-path:polygon(0 var(--mission-cut),100% 0,100% calc(100% - var(--mission-cut)),0 100%)}
.about-stage::after{content:"";position:absolute;inset:0;z-index:5;background:linear-gradient(177deg,#030b083d 0%,transparent 24%,transparent 76%,#030b084d 100%);pointer-events:none}
.about-intro{position:relative;margin:0;padding:86px var(--page) 90px;background:#fff;border:0;border-radius:0;box-shadow:none}
.about-intro .about-copy{display:grid;grid-template-columns:1.4fr 1fr;align-items:center;gap:clamp(40px,5vw,80px);max-width:1440px;margin:0 auto}
.about-intro .solution-title{font-size:clamp(42px,4.55vw,70px);font-weight:850;line-height:1.45;letter-spacing:-.055em}
.solution-title-line{display:block;white-space:nowrap}
.solution-title-line+.solution-title-line{margin-top:4px;padding-left:.55em}
.solution-title-line.green{color:var(--green)}
.about-intro .solution-detail{max-width:31em;margin:8px 0 0;font-size:18px;line-height:2;letter-spacing:.015em;text-wrap:pretty}
.about .collage{position:absolute;inset:0;height:100%;width:100%;margin:0;z-index:0;scroll-margin-top:0}
.mission-gallery{position:absolute;inset:-72px -4%;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(4,minmax(0,1fr));gap:22px;transform:translateY(var(--gallery-lift,0px)) perspective(1800px) rotateX(4deg) rotateY(-4deg) rotate(-6deg) scale(1.14);transform-style:preserve-3d;transform-origin:50% 50%;pointer-events:none}
.mission-gallery-row{position:relative;left:50%;translate:calc(-50% + var(--gallery-offset,0px)) 0;display:flex;gap:22px;width:max-content;height:100%;min-height:0;transform:translate3d(var(--gallery-shift,0px),0,var(--gallery-depth,0px));will-change:transform}
.mission-gallery-row:nth-child(1){--gallery-offset:-130px;--gallery-depth:-80px}
.mission-gallery-row:nth-child(2){--gallery-offset:100px;--gallery-depth:-25px}
.mission-gallery-row:nth-child(3){--gallery-offset:-30px;--gallery-depth:15px}
.mission-gallery-row:nth-child(4){--gallery-offset:170px;--gallery-depth:-55px}
.mission-gallery-row img{display:block;width:auto;height:100%;aspect-ratio:16/9;flex:none;object-fit:contain;border-radius:4px;background:var(--ink);filter:saturate(.9);box-shadow:0 20px 32px -14px #000a}
.about .collage::after{background:radial-gradient(ellipse at 54% 50%,#08120e00 24%,#08120e1a 58%,#050a0859 100%),linear-gradient(180deg,#07100c35 0%,#07100c14 30%,#07100c24 70%,#07100c59 100%)}
.about .mission-gallery-row:nth-child(1) img,.about .mission-gallery-row:nth-child(4) img{filter:brightness(.86)}
.collage-mission{position:absolute;left:20%;right:6%;top:50%;bottom:auto;z-index:4;color:var(--lime);text-align:left;transform:translateY(-50%) rotate(-5deg);transform-origin:50% 50%;pointer-events:none}
.collage-mission::before{content:"";position:absolute;inset:4% -5% -4%;z-index:-1;background:radial-gradient(ellipse closest-side at 50% 50%,#040c1224 0%,#040c1214 56%,#040c1200 100%);filter:blur(16px);pointer-events:none}
.collage-mission>p{margin:0 0 14px 3%;font-size:13px;font-weight:750;letter-spacing:.15em;color:#fff}
.mission-handwriting{display:block;width:100%;max-width:1000px;height:auto;overflow:visible;filter:drop-shadow(0 2px 1px #02080680) drop-shadow(0 16px 14px #02080699)}
.mission-ink{stroke-dasharray:1;stroke-dashoffset:0}
.mission-accessible-copy{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap}
.pop-layout-open .collage-mission{left:max(300px,20%)}
@media(max-width:1100px){
 .about-intro{padding-top:62px;padding-bottom:66px}
 .about-intro .about-copy{gap:36px;grid-template-columns:1.25fr 1fr}
 .about-intro .solution-title{font-size:clamp(38px,4.5vw,50px)}
 .about-intro .solution-detail{font-size:16px;line-height:1.95}
 .collage-mission{left:10%;right:8%}
 .about-stage{height:max(100svh,720px)}
}
@media(max-width:700px){
 .about{--mission-space:clamp(340px,106vw,480px)}
 .about-stage{height:var(--mission-space);padding:0;--mission-cut:24px}
 .about-intro{padding:50px var(--page) 52px}
 .about-intro .about-copy{display:block}
 .about-intro .solution-title{font-size:clamp(30px,7.7vw,48px);line-height:1.5}
 .solution-title-line+.solution-title-line{margin-top:3px;padding-left:.55em}
 .about-intro .solution-detail{max-width:36em;margin:24px 0 0;font-size:15px;line-height:1.95}
 .mission-gallery{inset:-28px -4%;grid-template-rows:repeat(3,minmax(0,1fr));gap:10px;transform:translateY(var(--gallery-lift,0px)) perspective(1200px) rotateX(3deg) rotateY(-3deg) rotate(-4deg) scale(1.1)}
 .mission-gallery-row:nth-child(4){display:none}
 .mission-gallery-row{gap:10px}
 .mission-gallery-row:nth-child(1){--gallery-offset:18px;--gallery-depth:-35px}
 .mission-gallery-row:nth-child(2){--gallery-offset:-24px;--gallery-depth:0px}
 .mission-gallery-row:nth-child(3){--gallery-offset:28px;--gallery-depth:15px}
 .mission-gallery-row img{border-radius:3px}
 .collage-mission,.pop-layout-open .collage-mission{left:6%;right:6%;top:auto;bottom:calc(var(--mission-space)/2);transform:translateY(50%) rotate(-5deg)}
 .collage-mission>p{font-size:11px;margin-bottom:18px}
 .about .collage::after{background:radial-gradient(ellipse at 50% 50%,#08120e0a 20%,#08120e1a 65%,#050a0859 100%)}
 .mission-handwriting{filter:drop-shadow(0 1px 1px #02080680) drop-shadow(0 6px 6px #02080699)}
}
.no-motion .mission-gallery-row{will-change:auto}
.no-motion .mission-ink{stroke-dashoffset:0!important;visibility:visible!important}
.no-motion .mission-letter-complete{opacity:1!important}

/* SOURCE: contact-play.css */
/* The last scene opens a conversation. */
.contact-play{background:#fff;padding:54px var(--page) 36px;border-top:0;overflow:clip}
.contact-inner{max-width:1320px;margin-inline:auto}
.contact-opening{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:13px;font-weight:650;letter-spacing:.08em}
.contact-opening>span:last-child{font-size:15px;letter-spacing:.02em}
.contact-studio{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);gap:clamp(40px,5vw,84px);margin-top:34px;align-items:start}
.contact-play h2{font-size:clamp(62px,5vw,78px);line-height:1.19;letter-spacing:-.07em;font-weight:900}
.contact-play h2>span{display:block;white-space:nowrap}
.contact-you{color:var(--green);padding-left:.28em}
.contact-play .contact-intro{font-size:17px;line-height:1.95;margin-top:25px}
.contact-topics{margin:34px 0 0;padding:0;border:0;min-width:0;display:grid;gap:10px}
.contact-topics legend{float:left;width:100%;font-size:14px;font-weight:650;margin:0 0 15px;padding:0}
.contact-topics button{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:53px;padding:12px 20px;border:1px solid var(--line);border-radius:32px;background:#fff;text-align:left;font-size:17px;font-weight:650;transition:background .25s,border-color .25s,transform .3s var(--ease);width:100%}
.contact-topics button:hover{border-color:var(--green);transform:translateX(5px)}
.contact-topics button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff;transform:translateX(8px)}
.contact-choice-mark{width:10px;height:10px;border:1px solid currentColor;border-radius:50%;flex-shrink:0;transition:background .25s}
.contact-topics button[aria-pressed=true] .contact-choice-mark{background:#36ce97;border-color:#36ce97}
.contact-art{position:relative;isolation:isolate;aspect-ratio:1.95;overflow:hidden;background:#f1f5f3;border-radius:46% 46% 14px 14px;border:1px solid #d6dfda;transition:border-radius .6s var(--ease),background .6s}
.contact-art-grid{position:absolute;inset:0;background-image:linear-gradient(#dce5df 1px,transparent 1px),linear-gradient(90deg,#dce5df 1px,transparent 1px);background-size:42px 42px;opacity:.55;mask-image:linear-gradient(transparent,#000)}
.contact-art-label{position:absolute;z-index:5;top:11%;left:0;width:100%;text-align:center;font-size:10px;font-weight:650;letter-spacing:.17em;color:var(--green)}
.contact-frame{position:absolute;overflow:hidden;aspect-ratio:16/9;border:1px solid var(--ink);border-radius:8px;background:white;box-shadow:3px 3px 0 #fff,4px 4px 0 var(--ink);transition:transform .7s var(--ease),top .7s var(--ease),left .7s var(--ease),width .7s var(--ease),opacity .35s}
.contact-frame img{width:100%;height:100%;object-fit:cover}
.contact-frame-main{z-index:3;width:64%;left:18%;top:25%;transform:rotate(-5deg)}
.contact-frame-back{z-index:1;width:47%;left:-4%;top:43%;transform:rotate(-15deg)}
.contact-frame-side{z-index:2;width:47%;left:62%;top:39%;transform:rotate(13deg)}
.contact-film-line{position:absolute;inset:auto 0 0;display:flex;gap:4px;background:var(--ink);padding:5px 8px;opacity:0;transition:opacity .3s}
.contact-film-line i{height:3px;flex:1;background:#fff9}.contact-film-line i:nth-child(2){background:#36ce97}
.contact-art-note{position:absolute;z-index:6;bottom:8%;left:50%;transform:translateX(-50%) rotate(-4deg);background:#fff;border:1px solid var(--ink);border-radius:50%;padding:10px 22px;font-size:clamp(13px,1.25vw,18px);font-weight:750;white-space:nowrap}
.contact-branch{position:absolute;z-index:5;opacity:0;transform:scale(.8);padding:9px 16px;border:1px solid var(--ink);border-radius:22px;background:#fff;font-size:clamp(10px,1.1vw,15px);font-weight:650;transition:opacity .35s,transform .55s var(--ease)}
.contact-branch-one{left:6%;top:50%}.contact-branch-two{right:5%;top:65%;background:var(--green);color:#fff}
.contact-system{position:absolute;inset:16% 3% 13%;opacity:0;transform:translateY(20px);transition:opacity .4s,transform .6s var(--ease)}
.contact-system svg{position:absolute;inset:0;width:100%;height:100%;stroke:var(--green);stroke-width:2;vector-effect:non-scaling-stroke}
.contact-node{position:absolute;display:grid;place-items:center;width:29%;height:27%;border:1.5px solid var(--ink);border-radius:12px;background:#fff;font-size:clamp(12px,1.25vw,18px);font-weight:750;box-shadow:3px 3px 0 #c7dbd0}
.contact-node-one{left:6%;top:17%}.contact-node-two{right:5%;top:17%;background:var(--ink);color:#fff}.contact-node-three{right:5%;bottom:24%;background:var(--green);color:#fff}
.contact-flow-dot{position:absolute;top:28%;left:49%;width:10px;height:10px;border-radius:50%;background:var(--green)}
.contact-play[data-contact-scene=movie] .contact-art{border-radius:14px}
.contact-play[data-contact-scene=movie] .contact-frame-main{width:73%;left:13.5%;top:20%;transform:rotate(0)}
.contact-play[data-contact-scene=movie] .contact-frame-back{transform:translateX(-30px) rotate(-12deg);opacity:.25}
.contact-play[data-contact-scene=movie] .contact-frame-side{transform:translateX(30px) rotate(12deg);opacity:.25}
.contact-play[data-contact-scene=movie] .contact-film-line{opacity:1}
.contact-play[data-contact-scene=interactive] .contact-art{border-radius:22% 22% 22% 4%}
.contact-play[data-contact-scene=interactive] .contact-frame-main{width:66%;left:17%;top:23%;transform:rotate(2deg);background:#c5e4d7}
.contact-play[data-contact-scene=interactive] .contact-frame-main img{opacity:0}
.contact-play[data-contact-scene=interactive] .contact-frame-main::before{content:"Vuddy";position:absolute;inset:17% 0 auto;text-align:center;font-size:clamp(40px,4vw,62px);font-weight:900;letter-spacing:-.06em;line-height:1.2}
.contact-play[data-contact-scene=interactive] .contact-frame-main::after{content:"INTERACTIVE VIDEO";position:absolute;inset:60% 0 auto;text-align:center;font-size:10px;letter-spacing:.15em;font-weight:650}
.contact-play[data-contact-scene=interactive] .contact-frame-back,.contact-play[data-contact-scene=interactive] .contact-frame-side{opacity:0;transform:scale(.8)}
.contact-play[data-contact-scene=interactive] .contact-branch{opacity:1;transform:scale(1) rotate(-5deg)}
.contact-play[data-contact-scene=interactive] .contact-branch-two{transform:scale(1) rotate(4deg);transition-delay:.1s}
.contact-play[data-contact-scene=system] .contact-art{border-radius:14px 60px 14px 14px;background:#f7f8f7}
.contact-play[data-contact-scene=system] .contact-frame{opacity:0;transform:scale(.7)}
.contact-play[data-contact-scene=system] .contact-system{opacity:1;transform:none}
.contact-play[data-contact-scene=idea] .contact-frame-main{transform:rotate(5deg);left:20%;top:23%}
.contact-play[data-contact-scene=idea] .contact-frame-back{transform:rotate(-8deg);left:-2%;top:33%}
.contact-play[data-contact-scene=idea] .contact-frame-side{transform:rotate(15deg);left:60%;top:45%}
.contact-reply{margin-top:20px;min-height:175px}
.contact-reply-label{display:block;font-size:12px;letter-spacing:.06em;color:var(--green);font-weight:650;margin-bottom:9px}
.contact-play .contact-reply h3{font-size:clamp(27px,2.2vw,33px);line-height:1.48;letter-spacing:-.04em;font-weight:850;margin:0}
.contact-play .contact-reply p{font-size:16px;line-height:1.85;margin-top:13px}
.contact-actions{display:flex;flex-direction:column;align-items:flex-start;gap:13px;margin-top:12px}
.contact-send{display:flex;width:100%;justify-content:space-between;gap:16px;align-items:center;font-size:19px;font-weight:750;padding:12px 0;border-top:0;border-bottom:0}
.contact-send-icon{display:grid;place-items:center;width:40px;height:40px;background:var(--green);color:#fff;border-radius:50%;transition:transform .3s,background .3s;flex-shrink:0}
.contact-send-icon svg{width:25px;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.contact-send:hover .contact-send-icon{transform:rotate(45deg);background:var(--ink)}
.contact-form-link{font-size:14px;border-bottom:1px solid var(--line);padding-bottom:2px}.contact-form-link span{margin-left:14px}
.contact-play .contact-email{margin-top:40px;gap:16px;min-height:44px}
.contact-play .contact-email>a{font-size:16px}.contact-play .contact-email button{font-size:12px;border-color:var(--line);min-height:40px}
.footer-play{display:block;padding:48px var(--page) 30px;background:#fff;overflow:clip}
.footer-signature{overflow:hidden;max-width:1540px;margin-inline:auto}
.footer-signature img{width:100%;height:auto;transform-origin:50% 100%}
.footer-bottom{display:grid;grid-template-columns:auto 1fr;gap:26px 40px;align-items:center;padding-top:32px;border-top:0;margin-top:24px}
.footer-home{font-size:16px;font-weight:650}
.footer-play .footer-links{margin-left:0;justify-content:flex-end;flex-wrap:wrap;gap:15px 27px}
.footer-play .footer-links a{font-size:13px;white-space:nowrap}
.footer-play small{font-size:11px;order:0}
.footer-play .back-top{width:auto;height:auto;min-height:44px;display:flex;align-items:center;gap:15px;border:0;border-radius:0;justify-self:end;margin:0;font-size:13px}
.footer-play .back-top>span:first-child{font-size:24px;transition:transform .25s}
.footer-play .back-top:hover>span:first-child{transform:translateY(-5px)}
.contact-play.contact-arrived .contact-frame-main{animation:contact-arrive .8s var(--ease) backwards}
.contact-play.contact-changed .contact-reply{animation:contact-response .45s var(--ease) both}
.footer-play.footer-arrived .footer-signature img{animation:contact-signature .9s var(--ease) both}
@keyframes contact-arrive{from{opacity:0;translate:0 26px}to{opacity:1;translate:0 0}}
@keyframes contact-response{from{opacity:.2;translate:0 8px}to{opacity:1;translate:0 0}}
@keyframes contact-signature{from{clip-path:inset(100% 0 0);transform:translateY(18%)}to{clip-path:inset(0);transform:translateY(0)}}
@media(min-width:1101px){.pop-layout-open .contact-play,.pop-layout-open .footer-bottom{padding-left:max(var(--page),300px)}.pop-layout-open .footer-bottom{margin-left:calc(-1 * var(--page))}.contact-studio{gap:clamp(36px,4vw,66px)}}
@media(max-width:1100px){.contact-play{padding-top:60px;border-top:0}.contact-play h2{font-size:clamp(57px,8vw,78px)}.contact-studio{gap:38px}.contact-play .contact-intro{font-size:16px}.contact-topics button{font-size:16px;padding-inline:17px}.contact-topics legend{font-size:13px}.contact-reply{min-height:197px}.contact-play .contact-reply h3{font-size:29px}.contact-play .contact-reply p{font-size:15px}.contact-send{font-size:17px;border-top:0;border-bottom:0}.footer-bottom{gap:24px;border-top:0}}
@media(max-width:700px){.contact-play{padding:44px var(--page) 8px;border-top:0}.contact-opening{font-size:11px}.contact-opening>span:last-child{font-size:12px}.contact-studio{display:block;margin-top:34px}.contact-play h2{font-size:clamp(52px,15.6vw,84px);line-height:1.12}.contact-play .contact-intro{font-size:15px;margin-top:23px}.contact-topics{margin-top:27px;gap:9px}.contact-topics legend{font-size:13px;margin-bottom:13px}.contact-topics button{min-height:51px;font-size:16px}.contact-topics button[aria-pressed=true]{transform:none}.contact-topics button:hover{transform:none}.contact-answer{margin-top:32px;scroll-margin-top:24px;border-top:0}.contact-art{aspect-ratio:1.65;max-width:510px;margin-inline:auto}.contact-art-label{font-size:9px}.contact-art-note{font-size:13px;padding:7px 18px}.contact-branch{font-size:11px;padding:7px 12px}.contact-node{font-size:13px}.contact-reply{min-height:0;margin-top:25px}.contact-play .contact-reply h3{font-size:29px}.contact-play .contact-reply p{font-size:15px;margin-top:12px}.contact-actions{margin-top:24px;gap:16px}.contact-send{font-size:18px;border-top:0;border-bottom:0}.contact-play .contact-email{margin-top:30px;gap:10px}.contact-play .contact-email>a{font-size:15px}.contact-play .contact-email button{font-size:11px;padding:7px 10px}.contact-play .copy-status{width:100%;min-height:0}.contact-play .copy-status:empty{display:none}.footer-play{padding:35px var(--page) 86px}.footer-bottom{grid-template-columns:1fr;gap:18px;margin-top:24px;padding-top:24px;border-top:0}.footer-home{font-size:14px}.footer-play .footer-links{order:0;width:auto;justify-content:flex-start;gap:14px 22px}.footer-play .footer-links a{font-size:12px}.footer-play small{order:0;font-size:10px}.footer-play .back-top{justify-self:end;margin-top:-52px;font-size:11px;gap:10px}.footer-play .back-top>span:first-child{font-size:22px}}
@media(prefers-reduced-motion:reduce){.contact-play *,.footer-play *{animation:none!important;transition:none!important}}

.contact-send>span:first-child{min-width:0;line-height:1.6}

.contact-play[data-contact-scene=interactive] .contact-art-note{bottom:2%}

/* Embedded inquiry: topic-led guidance stays beside the fields. */
.contact-invitation .contact-art{margin-top:32px;aspect-ratio:2.05}
.contact-answer>.contact-reply{margin-top:0;min-height:0;padding-bottom:25px;border-bottom:1px solid var(--line)}
.contact-inline-form{margin-top:25px;min-width:0}
.contact-form-theme{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:25px}
.contact-form-theme>span{font-size:12px;color:#52685e}
.contact-form-theme strong{font-size:14px;font-weight:650;line-height:1.6;padding:6px 13px;background:#edf6f1;color:var(--green);border-radius:20px}
.contact-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px 20px}
.contact-field{display:flex;flex-direction:column;gap:10px;min-width:0;font-size:15px;font-weight:650;line-height:1.6}
.contact-field-wide{grid-column:1/-1}
.contact-field>span{display:flex;align-items:center;gap:9px}
.contact-field small{font-size:10px;font-weight:500;color:var(--green);letter-spacing:.02em;flex-shrink:0}
.contact-field small.optional{color:#6d7973}
.contact-field input,.contact-field textarea{width:100%;min-width:0;border:1px solid #cbd5ce;border-radius:9px;padding:14px 15px;background:#fafcfb;color:var(--ink);font:400 16px/1.65 var(--sans);transition:border-color .2s,box-shadow .2s}
.contact-field input{min-height:54px}
.contact-field textarea{min-height:164px;resize:vertical}
.contact-field input::placeholder,.contact-field textarea::placeholder{color:#7a847e;font-weight:400}
.contact-field input:focus,.contact-field textarea:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px #20876518;background:#fff}
.contact-play .contact-message-hint{font-size:13px;line-height:1.8;color:#5d6d64;margin-top:10px}
.contact-form-review{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:27px;padding:16px 22px;border-radius:10px;background:var(--green);color:#fff;font-size:17px;font-weight:650;text-align:left;transition:background .2s}
.contact-form-review:hover{background:var(--ink)}
.contact-form-review>span:last-child{font-size:24px;font-weight:400}
.contact-play .contact-form-preview-note{font-size:12px;line-height:1.8;color:#64736b;margin-top:11px}
.contact-form-confirmation{margin-top:26px;padding:24px;background:#f3f7f5;border:1px solid #cbd5ce;border-radius:12px;scroll-margin-top:25px}
.contact-form-confirmation h4{font-size:20px;margin:0 0 20px}
.contact-form-confirmation dl{margin:0;overflow-wrap:anywhere}
.contact-form-confirmation dt{font-size:12px;color:#5d6d64;margin-top:17px}
.contact-form-confirmation dd{font-size:16px;line-height:1.8;margin:3px 0 0;white-space:pre-wrap}
.contact-play .contact-form-confirmation p{font-size:13px;line-height:1.8;margin:24px 0 16px}
.contact-form-edit{background:transparent;border-bottom:1px solid var(--ink);font-size:14px;padding:4px 0}
.contact-confirm-actions{display:flex;align-items:center;justify-content:space-between;gap:22px;flex-wrap:wrap;margin-top:28px}
.contact-form-send{display:flex;align-items:center;justify-content:space-between;gap:22px;min-height:60px;padding:15px 24px;border:1.5px solid var(--ink);border-radius:40px;background:var(--green);color:#fff;box-shadow:3px 3px 0 var(--ink);font:700 17px/1.5 var(--font-site);cursor:pointer}
.contact-form-send svg{width:25px;height:25px;flex:none}
.contact-form-send:focus-visible{outline:3px solid var(--green);outline-offset:5px}
.contact-form-send:disabled{cursor:default;box-shadow:none;opacity:.75}
@media(max-width:600px){.contact-confirm-actions{flex-direction:column-reverse;align-items:stretch}.contact-form-edit{align-self:center}.contact-form-send{width:100%;font-size:16px}}
@media(min-width:701px) and (max-width:1100px){.contact-field-grid{grid-template-columns:1fr}.contact-studio{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:28px}.contact-play .contact-reply h3{font-size:27px}}
@media(max-width:700px){.contact-invitation .contact-art{display:none}.contact-answer{margin-top:36px;padding-top:28px;border-top:0}.contact-answer>.contact-reply{padding-bottom:22px}.contact-form-theme{margin-bottom:24px}.contact-field-grid{grid-template-columns:1fr;gap:23px}.contact-field{font-size:15px}.contact-play .contact-reply p br{display:none}.contact-field textarea{min-height:180px}.contact-form-review{padding:15px 18px}.contact-form-confirmation{padding:20px}.contact-play .contact-message-hint{font-size:13px}}

/* SOURCE: crisp-theme.css */
/* Clear colour fields and ink contours. Keep VARISTA's emerald unchanged. */
:root{
  --paper:#fff;
  --ink:#161616;
  --green:#1d7d63;
  --mint:#60d6aa;
  --lime:#d8f238;
  --yellow:#ffd037;
  --coral:#ff784b;
  --blue:#4168f0;
  --pink:#ed68a2;
  --line:#16161670;
}

/* Black type on white, with emerald reserved for the brand and active states. */
body{color:var(--ink)}
.section-kicker,.contact-opening,.works-heading h2{font-weight:800}
.desktop-nav a,.brand>span{color:var(--ink)}
.motion-toggle,.header-contact,.mobile-menu a{border-color:var(--ink)}
.header-contact{box-shadow:3px 3px 0 var(--ink)}
.arrow-dot{background:var(--green);color:#fff}
:where(button,a,summary,input,textarea):focus-visible{outline-color:var(--blue)}
.story-eyebrow,.story-opening>p:last-child{font-weight:650}
.story-grid{background-image:radial-gradient(#16161655 .75px,transparent .75px);opacity:.35}
.story-work,.story-work-extra{border-color:var(--ink);box-shadow:3px 4px 0 #161616}
.story-player{box-shadow:5px 6px 0 var(--ink)}
.story-screen{border-color:var(--ink)}
.story-stage[data-phase="0"] .story-player-label{background:#fff;border:1px solid var(--ink);box-shadow:2px 2px 0 var(--ink)}
.story-stage[data-phase="2"] .story-player{box-shadow:4px 5px 0 var(--ink)}
.story-stage[data-phase="2"] .story-screen{border-color:var(--ink)}
.story-chapters{background:#fff;backdrop-filter:none}
.story-chapters button{color:#4b4b4b}
.story-chapters button[aria-current=step]{color:var(--green)}
.story-progress,.approach-timeline{background:#d7d7d7}
.story-choice-buttons button{border-color:var(--ink);box-shadow:2px 3px 0 var(--ink)}
.story-choice-buttons button:hover{background:var(--yellow)}
.story-choice-buttons button[aria-pressed=true]{background:var(--green);color:#fff;border-color:var(--ink)}
.personalized-work-image{border-color:var(--ink)}
.personalized-work-play{background:#fff;color:var(--ink);box-shadow:2px 2px 0 var(--ink)}
.personalized-work-copy small,.recommendation-data-note,.choice-analysis-heading>small{color:#484848}
.recommendation-heading strong,.choice-analysis-branch em{background:var(--yellow);color:var(--ink)}
.choice-analysis-track{background:#e6e6e6}
.choice-analysis-track i{background:var(--blue)}
.choice-analysis-branch.is-selected .choice-analysis-track i{background:var(--green)}

/* Illustration colours share the same small, saturated palette. */
.discovery-intent>span{background:var(--coral)}
.discovery-audience>span{background:var(--mint)}
.discovery-challenge>span{background:var(--yellow)}
.scene-grid{border-color:#16161633;background-image:linear-gradient(#16161633 1px,transparent 1px),linear-gradient(90deg,#16161633 1px,transparent 1px);opacity:.45}
.scene-outcome{box-shadow:4px 4px 0 var(--ink)}
.response-voice{--bubble-fill:var(--coral)}
.response-use{--bubble-fill:var(--mint)}
.response-insight{--bubble-fill:var(--yellow)}
.approach-controls button{border-color:var(--ink)}
.approach-controls button[aria-pressed=true]{border-color:var(--ink);background:var(--green);box-shadow:2px 2px 0 var(--ink)}
.approach-scene .finale-copy>strong>span:last-child{color:var(--ink)}
.approach-scene .finale-copy>strong>span:last-child::before{background:var(--yellow);box-shadow:4px 4px 0 var(--ink)}

/* The existing emerald business section holds clear, white cards. */
.business-services .product-tabs button{border-color:#ffffffb3}
.business-services .product-tabs button[aria-pressed=true]{background:#fff;color:var(--ink);border-color:var(--ink);box-shadow:3px 3px 0 var(--ink)}
.business-services .product-tabs button[aria-pressed=true] small{color:var(--green)}
.product-card{box-shadow:0 5px 0 var(--ink);outline:1px solid var(--ink);outline-offset:-1px}
.product-visual{box-shadow:inset 0 0 0 1px var(--ink)}
.animation-visual{background:var(--coral)}
.vuddy-visual{background:var(--mint)}
.system-visual{background:var(--blue)}
.system-visual .visual-word,.system-visual .visual-caption{color:#fff;opacity:1}
.system-window{box-shadow:4px 4px 0 var(--ink)}
.system-blocks>span:last-child{background:#fff}
.system-menu i{background:var(--blue)}
.system-menu i:first-child{background:var(--green)}
.torudake-visual{background:var(--yellow)}
.round-arrow{border-color:var(--ink)}

/* Photographs keep their natural colour; frames supply the graphic contrast. */
.mission-gallery-row img{filter:none}
.film-work{filter:none}
.film-work:hover{filter:none}
.carousel-controls button,.vuddy-prev,.vuddy-next{border-color:var(--ink);box-shadow:2px 2px 0 var(--ink)}
.carousel-controls button[data-film-next]{border-color:var(--ink)}
.vuddy-orbit{border-color:var(--ink)}
.vuddy-cover{background:var(--mint)}
.vuddy-choice{background:var(--pink)}
.vuddy-connect{background:var(--yellow)}
.vuddy-big-type{color:#16161630}
.vuddy-work{box-shadow:4px 5px 0 var(--ink)}

/* Covers carry colour; surrounding article text stays calm and high contrast. */
.journal-cover-film{--cover:var(--yellow)}
.journal-cover-interactive{--cover:var(--pink)}
.journal-cover-process{--cover:var(--blue);color:#fff}
.journal-cover{box-shadow:3px 4px 0 var(--ink)}
.journal-cover::before{border-color:var(--ink)}
.journal-page{border-color:var(--ink);box-shadow:3px 4px 0 var(--ink);color:var(--ink)}
.journal-choice-disc{background:var(--yellow);color:var(--ink);border-color:var(--ink)}
.journal-choice-disc::after{border-color:var(--ink);opacity:1}
.journal-choice-label{border-color:var(--ink);color:var(--ink);box-shadow:2px 2px 0 var(--ink)}
.journal-choice-label.second{background:var(--green);color:#fff}
.journal-edit-sheet{box-shadow:4px 4px 0 var(--ink)}
.journal-edit-sheet span{opacity:1;background:var(--blue)}
.journal-edit-sheet span:nth-child(2){background:var(--coral)}
.journal-edit-label{color:var(--ink)}
.journal-filter{border-color:var(--ink)}
.journal-filter[aria-pressed=true]{background:var(--green);border-color:var(--ink);box-shadow:2px 2px 0 var(--ink)}
.journal-draft{color:#4c4c4c;border-color:#777;background:#fff}
.journal-card-excerpt,.journal-preview-note{color:#484848}
.journal-news-type{color:var(--ink);background:var(--yellow);border-color:var(--ink)}
.support{background:#fff}
.support-list details{border-color:var(--ink)}
.support-list details:first-child{border-color:var(--ink)}
.support-list summary>span{color:var(--green)}

/* The contact form uses a white field, a black edge and an emerald action. */
.contact-topics button{border-color:var(--ink);background:#fff}
.contact-topics button[aria-pressed=true]{background:var(--green);border-color:var(--ink);box-shadow:3px 3px 0 var(--ink)}
.contact-topics button[aria-pressed=true] .contact-choice-mark{background:#fff;border-color:#fff}
.contact-art{background:var(--yellow);border-color:var(--ink)}
.contact-art-grid{background-image:linear-gradient(#16161626 1px,transparent 1px),linear-gradient(90deg,#16161626 1px,transparent 1px);opacity:.6}
.contact-art-label{color:var(--ink)}
.contact-play[data-contact-scene=movie] .contact-art{background:var(--coral)}
.contact-play[data-contact-scene=interactive] .contact-art{background:var(--pink)}
.contact-play[data-contact-scene=interactive] .contact-frame-main{background:var(--mint)}
.contact-play[data-contact-scene=system] .contact-art{background:var(--blue)}
.contact-play[data-contact-scene=system] .contact-art-label{color:#fff}
.contact-play[data-contact-scene=system] .contact-system svg{stroke:#fff}
.contact-play[data-contact-scene=system] .contact-flow-dot{background:var(--yellow)}
.contact-node{box-shadow:3px 3px 0 var(--ink)}
.contact-art-note,.contact-branch{box-shadow:2px 2px 0 var(--ink)}
.contact-form-theme strong{background:var(--yellow);color:var(--ink)}
.contact-form-theme>span{color:#454545}
.contact-field input,.contact-field textarea{background:#fff;border-color:#16161699}
.contact-field input::placeholder,.contact-field textarea::placeholder{color:#686868}
.contact-field input:focus,.contact-field textarea:focus{background:#fff;box-shadow:0 0 0 3px #1d7d6324}
.contact-form-review{box-shadow:3px 4px 0 var(--ink)}
.contact-play .contact-message-hint,.contact-play .contact-form-preview-note{color:#515151}
.contact-form-confirmation{background:#fff;border-color:var(--ink);box-shadow:3px 4px 0 var(--ink)}
.contact-form-confirmation dt{color:#4b4b4b}

@media(max-width:700px){
 .story-work,.story-work-extra{box-shadow:2px 2px 0 var(--ink)}
 .story-player,.story-stage[data-phase="2"] .story-player{box-shadow:3px 3px 0 var(--ink)}
 .journal-cover,.journal-page,.vuddy-work{box-shadow:3px 3px 0 var(--ink)}
}

/* SOURCE: story-choice-panel.css */
/* A single readable choice panel, entirely within the film frame. */
.story-player .story-choices{inset:0;z-index:3;width:100%;height:100%;padding:20px;display:grid;place-items:center;transform:none;background:#091b1433;opacity:0;pointer-events:none}
.story-stage .story-choices[inert]{pointer-events:none}
.story-choice-panel{width:min(620px,100%);padding:24px 26px 22px;border:1.5px solid var(--ink);border-radius:16px;background:#fff;color:var(--ink);box-shadow:4px 5px 0 var(--ink);text-align:center}
.story-choice-panel .story-question{position:static;margin:0 0 20px;padding:0;border:0;background:none;box-shadow:none;color:var(--green);line-height:1.3}
.story-choice-panel .story-question strong{font-size:clamp(26px,2.6vw,38px);font-weight:900;letter-spacing:-.035em}
.story-choice-panel .story-choice-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.story-choice-panel .story-choice-buttons button[data-story-film]{position:relative;min-width:0;min-height:64px;justify-content:center;gap:10px;padding:12px 14px;border:1.5px solid var(--ink);border-radius:10px;background:var(--green);color:#fff;font-size:18px;line-height:1.4;box-shadow:2px 3px 0 var(--ink);text-align:center}
.story-choice-panel .story-choice-buttons button .story-choice-letter{display:grid;place-items:center;flex-shrink:0;width:26px;height:26px;border:1px solid #ffffff80;border-radius:50%;font-size:12px;font-weight:800;color:#fff;line-height:1}
.story-choice-panel .story-choice-buttons button .story-choice-name{color:inherit;font:inherit;letter-spacing:-.025em;word-break:keep-all;overflow-wrap:normal}
.story-choice-panel .story-choice-buttons button:hover{background:#145e4a;transform:translateY(-2px)}
.story-choice-panel .story-choice-buttons button:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
.story-choice-panel .story-choice-impact{margin:16px 0 0;font-size:16px;font-weight:800;line-height:1.65;color:var(--green);letter-spacing:-.02em}
.story-choice-panel .story-choice-impact span{display:inline-block;color:inherit;font:inherit;white-space:nowrap}
/* A persistent, high-contrast return to the viewing choices. */
.story-stage[data-phase="1"] .story-player-label{height:48px;bottom:calc(100% + 8px);gap:12px}
.story-stage[data-phase="1"] .story-player-label [data-player-label]{flex:1}
.story-player-label .story-reel-reset{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;margin-left:auto;padding:10px 19px;border:1.5px solid var(--ink);border-radius:999px;background:var(--green);color:#fff;font-size:16px;font-weight:800;line-height:1.3;letter-spacing:0;white-space:nowrap;box-shadow:3px 3px 0 var(--ink);cursor:pointer;transition:background .18s,transform .18s,box-shadow .18s}
.story-player-label .story-reel-reset[hidden]{display:none}
.story-reel-reset svg{width:21px;height:21px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.story-player-label .story-reel-reset:hover{background:#145e4a;transform:translateY(-2px);box-shadow:3px 5px 0 var(--ink)}
.story-player-label .story-reel-reset:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink)}
.story-player-label .story-reel-reset:focus-visible{outline:3px solid var(--blue);outline-offset:5px}
@media(max-width:600px){.story-player-label .story-reel-reset{min-height:44px;padding:9px 13px;gap:7px;font-size:14px}.story-reel-reset svg{width:19px;height:19px}.story-stage[data-phase="1"] .story-player-label{height:44px;gap:8px}.story-stage[data-phase="1"] .story-player-label [data-player-label]{font-size:9px;letter-spacing:0}}
@media(max-width:1100px) and (min-width:901px){
 .story-choice-panel{padding:18px}
 .story-choice-panel .story-question{margin-bottom:14px}
 .story-choice-panel .story-choice-buttons button[data-story-film]{font-size:15px;min-height:58px;padding:10px;gap:7px}
 .story-choice-panel .story-choice-impact{font-size:14px;margin-top:12px}
}
@media(max-width:600px){
 .story-player .story-choices{padding:10px}
 .story-choice-panel{padding:10px 12px;border-radius:11px;box-shadow:2px 3px 0 var(--ink)}
 .story-choice-panel .story-question{margin-bottom:8px}
 .story-choice-panel .story-question strong{font-size:24px}
 .story-choice-panel .story-choice-buttons{gap:9px}
 .story-choice-panel .story-choice-buttons button[data-story-film]{min-height:54px;padding:6px;border-radius:8px;font-size:14px;line-height:1.25;box-shadow:1px 2px 0 var(--ink)}
 .story-choice-panel .story-choice-buttons button .story-choice-letter{position:absolute;top:5px;left:7px;width:auto;height:auto;border:0;font-size:10px}
 .story-choice-panel .story-choice-impact{font-size:13px;line-height:1.4;margin-top:9px}
}
@media(max-width:370px){
 .story-player .story-choices{padding:7px}
 .story-choice-panel{padding:6px 8px;border-radius:9px}
 .story-choice-panel .story-question{margin-bottom:6px}
 .story-choice-panel .story-question strong{font-size:22px}
 .story-choice-panel .story-choice-buttons{gap:7px}
 .story-choice-panel .story-choice-buttons button[data-story-film]{min-height:50px;padding:4px;font-size:13px}
 .story-choice-panel .story-choice-impact{font-size:12px;line-height:1.4;margin-top:6px}
}

/* SOURCE: finale.css */
/* A shared closing scene. Navigation stays clear of the fixed Pop Vuddy. */
.varista-finale{--finale-ink:#161616;position:relative;isolation:isolate;overflow:hidden;background:var(--finale-ink);color:#f4f4f4;padding:66px var(--page) 28px;font-family:var(--font-site);border-radius:36px 36px 0 0;margin-top:32px}
.finale-inner{max-width:1540px;margin:auto}
.finale-upper{position:relative;display:grid;grid-template-columns:1.08fr .95fr .9fr;gap:38px;align-items:start;min-height:330px}
.finale-eyebrow{display:flex;align-items:center;gap:10px;font:700 10px/1.6 var(--font-site);letter-spacing:.13em;margin:0 0 23px;color:#b9c7bf}
.finale-eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:#60d6aa}
.varista-finale h2{font-size:clamp(34px,3.3vw,52px);font-weight:900;line-height:1.5;letter-spacing:-.05em;margin:0;color:inherit}
.varista-finale h2 span{display:block;white-space:nowrap}
.finale-contact{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;min-height:58px;margin-top:26px;border-radius:999px;padding:9px 11px 9px 26px;background:#1d7d63;color:white;font-size:16px;font-weight:750;transition:background .2s,transform .2s}
.finale-contact svg{display:block;width:38px;height:38px;padding:10px;border-radius:50%;background:white;color:#1d7d63;fill:none;stroke:currentColor;stroke-width:1.8;transition:transform .2s}
.finale-contact:hover{background:#239474;transform:translateY(-3px)}
.finale-contact:hover svg{transform:rotate(45deg)}
.finale-nav{display:grid;gap:36px;padding-top:3px;position:relative;z-index:3;border-top:0}
.finale-nav-group{display:grid;align-content:start;row-gap:4px}
.finale-nav-label{font:700 9px/1.5 var(--font-site);letter-spacing:.13em;color:#a6b3ac;margin:0 0 16px}
.varista-finale .finale-nav a{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:48px;padding:11px 0;color:#f4f4f4;font-size:15px;line-height:1.5;border-bottom:0;transition:color .2s,padding .2s}
.finale-nav a::after{content:"";width:17px;height:17px;flex-shrink:0;background:currentColor;color:#60d6aa;mask:url("/assets/icons/arrow-ne.svg") center/contain no-repeat;-webkit-mask:url("/assets/icons/arrow-ne.svg") center/contain no-repeat;transition:transform .2s}
.varista-finale .finale-nav a:hover,.varista-finale .finale-nav a:focus-visible{color:#60d6aa;padding-left:6px}
.finale-nav a:hover::after{transform:translate(2px,-2px)}
.finale-nav-secondary{grid-template-columns:1fr 1fr;column-gap:22px}
.finale-nav-secondary .finale-nav-label{grid-column:1/-1}
.varista-finale .finale-nav-secondary a{font-size:12px;min-height:36px}
.finale-buddy{position:relative;align-self:end;min-width:0;padding-top:70px;z-index:2}
.finale-buddy::before{content:"";position:absolute;inset:14% 0 4%;border:1px solid #60d6aa65;border-radius:49% 51% 45% 55%;transform:rotate(-15deg);background:radial-gradient(ellipse at 50% 65%,#1d7d633b,transparent 70%)}
.finale-buddy-button{display:block;position:relative;width:100%;padding:0;border:0;background:transparent;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}
.finale-buddy-portrait{display:block;width:100%;height:auto;max-height:300px;overflow:hidden;transform-origin:50% 85%;transition:transform .45s cubic-bezier(.2,.8,.2,1);mask-image:linear-gradient(#000 89%,transparent 100%)}
.finale-buddy-button:hover .finale-buddy-portrait,.finale-buddy-button:focus-visible .finale-buddy-portrait{transform:rotate(-4deg) translateY(-7px)}
.finale-speech{--speech-fill:#f4f4f4;position:absolute;z-index:2;top:-75px;left:50%;width:max-content;max-width:118%;min-height:76px;display:grid;place-items:center;padding:20px 30px;color:#161616;font-size:17px;font-weight:800;line-height:1.4;transform:translateX(-50%) rotate(6deg)}
.finale-speech-shape{position:absolute;inset:0;width:100%;height:100%;overflow:visible;filter:drop-shadow(4px 4px 0 #60d6aa);pointer-events:none}
.finale-speech-shape path{fill:var(--speech-fill);stroke:var(--finale-ink);stroke-width:1.5;stroke-linejoin:round;vector-effect:non-scaling-stroke;transition:fill .2s}
.finale-speech>span{position:relative;z-index:1;white-space:nowrap}
.finale-buddy-cue{position:absolute;right:0;bottom:8%;font:700 9px/1.5 var(--font-site);letter-spacing:.1em;color:#a6b3ac;writing-mode:vertical-rl}
.varista-finale[data-tone=animation] .finale-speech{--speech-fill:#ffd037}
.varista-finale[data-tone=vuddy] .finale-speech{--speech-fill:#ed68a2}
.varista-finale[data-tone=system] .finale-speech{--speech-fill:#60d6aa}
.varista-finale[data-tone=torudake] .finale-speech{--speech-fill:#fff}
.finale-wordmark{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:baseline;margin:32px -3px -5px;overflow:hidden;font:900 clamp(80px,18.9vw,322px)/.83 var(--font-site);letter-spacing:-.065em;user-select:none}
.finale-wordmark span{display:block;transform-origin:50% 100%;padding:8px 0 4px;transition:color .25s}
.finale-wordmark span:nth-child(4){color:#60d6aa}
.finale-wordmark:hover span:nth-child(4){color:#f4f4f4}
.finale-wordmark span:hover{color:#60d6aa}
.finale-base{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:25px;border-top:0;margin-top:24px}
.finale-base small{font:400 10px/1.6 var(--font-site);color:#b9c7bf;white-space:nowrap}
.finale-social{display:flex;align-items:center;gap:24px;margin-left:auto}
.finale-social a{font:700 12px/1.7 var(--font-site);color:#f4f4f4;min-height:44px;display:inline-flex;align-items:center}
.finale-top{display:inline-flex;align-items:center;gap:12px;min-height:44px;margin-left:22px;color:#f4f4f4;font-size:11px;font-weight:700}
.finale-top svg{width:42px;height:42px;padding:12px;border:1px solid #ffffff60;border-radius:50%;fill:none;stroke:currentColor;stroke-width:1.6;transition:background .2s,transform .2s}
.finale-top:hover svg{background:#1d7d63;transform:translateY(-4px)}
.varista-finale a:focus-visible,.varista-finale button:focus-visible{outline:3px solid #60d6aa;outline-offset:6px;border-radius:6px}
.finale-enhanced.is-seen .finale-wordmark span{animation:finale-letter .8s cubic-bezier(.18,.8,.2,1) both;animation-delay:calc(var(--letter)*55ms)}
.finale-enhanced.is-seen .finale-buddy{animation:finale-arrive .9s cubic-bezier(.2,.8,.2,1) both}
.finale-buddy.is-speaking .finale-buddy-portrait{animation:finale-greeting .55s ease-out}
@keyframes finale-letter{from{transform:translateY(110%) rotate(7deg)}to{transform:none}}
@keyframes finale-arrive{from{opacity:0;transform:translateY(45px) rotate(5deg)}to{opacity:1;transform:none}}
@keyframes finale-greeting{0%,100%{transform:rotate(0)}35%{transform:rotate(-5deg) translateY(-8px)}70%{transform:rotate(3deg)}}
@media(min-width:1101px){.pop-layout-open .varista-finale .finale-upper,.pop-layout-open .varista-finale .finale-base{margin-left:max(0px,calc(300px - var(--page)))}.pop-layout-open .finale-upper{grid-template-columns:1.05fr 1fr .9fr;gap:30px}.pop-layout-open .varista-finale h2{font-size:clamp(32px,3vw,48px)}}
@media(max-width:1100px) and (min-width:701px){.varista-finale{padding-top:50px}.finale-upper{grid-template-columns:1fr 1fr .85fr;gap:25px;min-height:300px}.varista-finale h2{font-size:32px}.finale-contact{padding-left:20px;gap:20px;font-size:14px}.varista-finale .finale-nav a{font-size:13px;border-bottom:0}.varista-finale .finale-nav-secondary a{font-size:11px}.finale-speech{font-size:14px;padding:18px 26px;min-height:66px;top:-65px}.finale-nav-secondary{column-gap:14px}}
@media(max-width:700px){.varista-finale{padding:38px var(--page) 90px;border-radius:24px 24px 0 0;margin-top:28px}.finale-upper{grid-template-columns:1.08fr .92fr;gap:36px 12px;min-height:0;align-items:center}.finale-eyebrow{font-size:8px;letter-spacing:.07em;gap:6px;margin-bottom:18px}.finale-eyebrow::before{width:5px;height:5px}.varista-finale h2{font-size:clamp(25px,7vw,43px);line-height:1.5;letter-spacing:-.06em}.finale-contact{font-size:12px;min-height:46px;gap:14px;padding:6px 7px 6px 17px;margin-top:20px}.finale-contact svg{width:32px;height:32px;padding:9px}.finale-buddy{grid-column:2;grid-row:1;padding-top:54px;align-self:center}.finale-buddy-portrait{max-height:255px}.finale-speech{font-size:11px;padding:15px 22px;min-height:56px;max-width:118%;top:-55px}.finale-speech-shape{filter:drop-shadow(3px 3px 0 #60d6aa)}.finale-buddy-cue{font-size:7px;right:-8px}.finale-nav{grid-column:1/-1;grid-row:2;grid-template-columns:1.15fr 1fr;gap:26px;padding-top:22px;border-top:0}.finale-nav-label{font-size:8px;margin-bottom:16px}.finale-nav-secondary{display:flex;flex-direction:column;gap:4px}.varista-finale .finale-nav a,.varista-finale .finale-nav-secondary a{font-size:13px;font-weight:600;min-height:48px;padding:12px 0;gap:8px}.finale-nav a::after{font-size:13px}.finale-wordmark{margin-top:48px;font-size:18.5vw;line-height:.9;letter-spacing:-.07em}.finale-base{display:grid;grid-template-columns:1fr auto;gap:20px 12px;padding-top:18px;margin-top:15px;border-top:0}.finale-base small{grid-row:2;font-size:9px}.finale-social{grid-row:1;grid-column:1;margin:0;gap:23px}.finale-social a{font-size:11px;min-height:32px}.finale-top{grid-row:1/3;grid-column:2;align-self:center;margin:0;gap:8px;font-size:10px}.finale-top svg{width:36px;height:36px;padding:10px}}
@media(max-width:359px){.finale-upper{grid-template-columns:1.1fr .9fr;column-gap:8px}.varista-finale h2{font-size:25px}.finale-speech{font-size:10px;padding:11px 10px}.finale-contact{gap:9px;padding-left:13px}.finale-nav{gap:17px;border-top:0}.varista-finale .finale-nav a,.varista-finale .finale-nav-secondary a{font-size:12px}.finale-eyebrow{font-size:7px}}
.no-motion .varista-finale *{animation:none!important;transition:none!important}
@media(prefers-reduced-motion:reduce){.varista-finale *{animation:none!important;transition:none!important}}

/* The existing Pop Vuddy text remains readable against the dark closing scene. */
.finale-in-view .pop-vuddy-panel{background:#fff;border-radius:16px;box-shadow:0 8px 32px #0003}

.finale-keep{white-space:nowrap}
.finale-wordmark{container-type:inline-size}
.finale-wordmark span{font-size:20.9cqw}
@media(min-width:1101px){.pop-layout-open .varista-finale .finale-wordmark{margin-left:max(0px,calc(300px - var(--page)))}}

/* A continuous reveal of the whole closing scene, underneath the previous page. */
.finale-preceding-section{position:relative;z-index:2;border-radius:0 0 32px 32px}
.varista-finale.finale-scroll-scene{border-radius:0;margin-top:-32px;padding-top:98px}
.finale-scroll-scene .finale-inner{transform:translate3d(0,var(--finale-scene-y,0px),0) scale(var(--finale-scene-scale,1));transform-origin:50% 0}
.finale-scroll-scene::after{content:"";position:absolute;z-index:5;inset:0;pointer-events:none;background:#000;opacity:var(--finale-scene-shade,0)}
.finale-scroll-scene.finale-enhanced.is-seen .finale-wordmark span,
.finale-scroll-scene.finale-enhanced.is-seen .finale-buddy{animation:none}
.finale-scroll-scene:focus-within .finale-inner{transform:none}
.finale-scroll-scene:focus-within::after{opacity:0}
.no-motion .finale-scroll-scene .finale-inner{transform:none}
.no-motion .finale-scroll-scene::after{opacity:0}
@media(max-width:1100px) and (min-width:701px){.varista-finale.finale-scroll-scene{padding-top:98px}}
@media(max-width:700px){
  .finale-preceding-section{border-radius:0 0 24px 24px}
  .varista-finale.finale-scroll-scene{margin-top:-24px;padding-top:74px}
}
@media(prefers-reduced-motion:reduce){.finale-scroll-scene .finale-inner{transform:none}.finale-scroll-scene::after{opacity:0}}

/* SOURCE: circle-bubbles.css */
/* Circular content balloons; the footer keeps its original oval balloon. */




.visual-bubble{display:grid;place-items:center;width:116px;height:116px;aspect-ratio:1;padding:0;text-align:center;top:8px;left:-70px}
.visual-bubble>span{max-width:80%;line-height:1.6}
.response-bubble,.is-scrollable .response-bubble{width:25%;height:auto;aspect-ratio:1;padding:0;gap:8px}
.response-bubble>strong{max-width:88%;white-space:normal;text-align:center;text-wrap:balance;line-height:1.35}
.response-voice{left:14%}.response-use{left:37.5%}.response-insight{left:61%}
.contact-art-note{display:grid;place-items:center;width:132px;height:132px;aspect-ratio:1;padding:20px;text-align:center;white-space:normal;text-wrap:balance;line-height:1.6;left:auto;right:2%;bottom:4%;transform:rotate(-4deg)}
.contact-play[data-contact-scene=interactive] .contact-art-note{bottom:2%}
.v-choice-note,.v-use-tag,.v-hello-sticker,.t-editor-sticker{box-sizing:border-box;display:grid;place-items:center;aspect-ratio:1;padding:0;text-align:center;line-height:1.6}
.v-choice-note{width:146px;height:146px;right:-12px;top:-38px}
.v-choice-note>span{max-width:80%}
.v-use-tag{width:126px;height:126px;padding:20px;right:-12px;bottom:10px;text-wrap:balance}
.v-hello-sticker{width:166px;height:166px;padding:20px}
.t-editor-sticker{width:152px;height:152px;top:-28px;right:-5px}

@media(max-width:700px){


 .visual-bubble{width:94px;height:94px;top:3px;left:-50px;padding:0}
 .response-bubble,.is-scrollable .response-bubble{width:29%;height:auto;gap:5px}.response-voice{left:5%}.response-use{left:35.5%}.response-insight{left:66%}
 .contact-art-note{width:104px;height:104px;padding:16px;font-size:12px}
 .v-choice-note{width:114px;height:114px;top:-27px;right:-4px;font-size:10px}
 .v-use-tag{width:104px;height:104px;padding:17px;right:0;font-size:11px}
 .v-hello-sticker{width:132px;height:132px;padding:16px}
 .t-editor-sticker{width:122px;height:122px;top:-18px;right:-3px;font-size:11px}
}
@media(max-width:359px){.v-choice-note{width:104px;height:104px;font-size:9px}}



.is-scrollable .response-use{top:calc(max(24%,calc(var(--outcome-height,60px) + 14px)) + 4%)}

.v-use-illustration{padding-bottom:154px}
@media(max-width:700px){.v-use-illustration{padding-bottom:132px}}

@media(max-width:700px){.is-scrollable .response-use{top:calc(max(24%,calc(var(--outcome-height,60px) + 14px)) + 2%)}}

/* Only DATA points straight up. Keep the closing copy tied to the circle row. */
.response-use .response-shape{transform:none}
.is-scrollable .approach-scene>.improvement-card{top:calc(var(--feedback-end,70%) - 12px)}

/* SOURCE: loader.css */
/* A short opening scene. The page remains available if JavaScript cannot run. */
html.intro-loading{overflow:hidden}
.site-loader[hidden]{display:none!important}
html.intro-loading .site-loader{display:grid!important}
.site-loader{position:fixed;inset:0;z-index:10000;place-items:center;overflow:hidden;background:#fff;color:#161616;isolation:isolate;transition:transform .65s cubic-bezier(.76,0,.24,1);font-family:var(--font-site)}
.site-loader::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:#1d7d63}
.loader-scene{width:min(62vw,470px);position:relative;transform:translateY(-18px)}
.loader-frames{position:relative;aspect-ratio:16/9;isolation:isolate}
.loader-frame{position:absolute;inset:0;border:1.5px solid #161616;border-radius:12px;background:#fff;transition:transform .42s cubic-bezier(.2,.8,.2,1),box-shadow .42s}
.loader-frame-back{transform:translate(-24px,-10px) rotate(-9deg);border-color:#1d7d63;background:#f1f8f5;animation:loader-drift-back 2.4s ease-in-out infinite}
.loader-frame-mid{transform:translate(22px,7px) rotate(7deg);border-color:#1d7d63;background:#fff;animation:loader-drift-mid 2.4s ease-in-out infinite}
.loader-frame-front{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;box-shadow:7px 7px 0 #1d7d63;transform:rotate(-2deg);padding:30px}
.loader-logo{display:block;width:77%;height:auto;aspect-ratio:1301/338;object-fit:contain}
.loader-signature{font:500 9px/1.5 var(--font-site);letter-spacing:.22em;white-space:nowrap;color:#1d7d63}
.loader-bottom{width:80%;margin:42px auto 0}
.loader-track{height:3px;overflow:hidden;background:#e9eeec;position:relative;border-radius:5px}
.loader-track i{position:absolute;inset:0;background:#1d7d63;transform:translateX(-100%);animation:loader-progress 1.25s ease-in-out infinite}
.loader-status{display:flex;align-items:center;justify-content:space-between;margin-top:12px;font:700 9px/1.5 var(--font-site);letter-spacing:.17em;color:#1d7d63}
.loader-status span:last-child{display:flex;gap:4px}
.loader-status b{display:block;width:4px;height:4px;border-radius:50%;background:currentColor;animation:loader-dot 1.1s ease-in-out infinite}
.loader-status b:nth-child(2){animation-delay:.12s}.loader-status b:nth-child(3){animation-delay:.24s}
.loader-skip{position:absolute;right:max(28px,env(safe-area-inset-right));bottom:max(25px,env(safe-area-inset-bottom));min-height:44px;padding:10px 2px;border:0;border-bottom:1px solid #1d7d6355;border-radius:0;background:none;color:#1d7d63;font:600 12px/1.5 var(--font-site);cursor:pointer}
.loader-skip:focus-visible{outline:2px solid #1d7d63;outline-offset:5px}
.site-loader.is-ready .loader-frame{animation:none;transform:none;box-shadow:none}
.site-loader.is-ready .loader-track i{animation:none;transform:none}
.site-loader.is-ready .loader-status b{animation:none}
.site-loader.is-leaving{transform:translateY(-101%);pointer-events:none}
/* The stacked logo becomes the real lead player as the surrounding works spread. */
.site-loader.is-scattering{background:transparent;transform:none;transition:none}
.site-loader.is-scattering .loader-scene{visibility:hidden}
.site-loader.is-scattering::after{display:none}
.intro-player-cover{position:absolute;inset:0;z-index:20;display:flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box;background:#fff;border:1.5px solid #161616;border-radius:inherit;color:#161616;box-shadow:5px 5px 0 #1d7d63;pointer-events:none}
.intro-player-cover .loader-logo{max-width:none}
html.intro-loading .pop-vuddy{visibility:hidden}
html.intro-scattering .story-work,html.intro-scattering .story-player{pointer-events:none}
@keyframes loader-drift-back{50%{transform:translate(-18px,-14px) rotate(-7deg)}}
@keyframes loader-drift-mid{50%{transform:translate(26px,3px) rotate(9deg)}}
@keyframes loader-progress{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}
@keyframes loader-dot{0%,70%,100%{opacity:.25}35%{opacity:1}}
@media(max-width:700px){.loader-scene{width:min(70vw,350px);transform:translateY(-10px)}.loader-frame{border-radius:8px}.loader-frame-front{gap:12px;padding:20px;box-shadow:5px 5px 0 #1d7d63}.loader-signature{font-size:7px;letter-spacing:.13em}.loader-bottom{margin-top:35px;width:88%}.loader-skip{right:24px;bottom:max(24px,env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){.site-loader,.site-loader *{animation:none!important;transition:none!important}}

/* SOURCE: typography.css */
/* Use the supplied Medium/Bold outlines instead of thin body text or stroke effects. */
body{font-weight:500;-webkit-font-smoothing:auto}
.body-copy,.company-introduction .body-copy,
.story-step-copy>p:last-child,.discover-heading p,
.approach-story>p:last-child,.business-services .product-intro,
.business-services .card-copy p,.support-list details>p,
.journal-heading p,.journal-card-excerpt,.journal-preview-note,
.contact-play p,.contact-field input,.contact-field textarea{font-weight:500}
.brand>span,.story-chapters button small,.approach-controls button small,
.film-counter,.film-selected-info>p,.personalized-work-copy small,
.recommendation-heading small,.recommendation-data-note,
.journal-card-meta,.journal-news-link time,.contact-field small,
.contact-form-theme>span,.footer-finale small{font-weight:700}

/* Supporting copy stays dark and readable without competing with the main titles. */
.company-introduction .body-copy,.about-intro .solution-detail,
.support .body-copy,.journal-heading p,.journal-card-excerpt,
.support-list details>p{color:#242424;font-size:18px;line-height:1.95;letter-spacing:.015em}
.story-step-copy>p:last-child,.is-scrollable .approach-story>p:last-child{
  font-size:17px;line-height:1.9;color:#242424;
}
.discover-heading p{font-size:15px;line-height:1.8}
.personalized-work-copy small,.recommendation-data-note{font-size:13px;line-height:1.7;color:#3d4b44}
.recommendation-heading small{font-size:13px;color:#3d4b44}
.film-selected-info>p{font-size:15px;line-height:1.8;color:#353535}
.journal-card-meta,.journal-preview-note,.journal-news-link time{font-size:13px;line-height:1.7}
.journal-preview-note{color:#454545}
.section-kicker,.company-approach>.section-kicker>span,
.journal .section-kicker>span:only-child{font-size:14px;font-weight:700;letter-spacing:.08em}
.story-eyebrow,.approach-chapter{font-weight:700}
.story-chapters button:not([aria-current=step]){color:#46544c}
.story-chapters button small,.approach-controls button small{font-size:11px}
.business-services .card-meta{font-size:12px;font-weight:700}
.business-services .card-bottom>span{font-size:13px;font-weight:500}
.contact-play .contact-intro,.contact-play .contact-reply p{font-size:17px;line-height:1.9}
.contact-play .contact-message-hint,.contact-play .contact-form-preview-note{font-size:13px;line-height:1.75;color:#454545}

/* Keep headings above their explanations, with matching left edges. */
.company-introduction{
  display:flex;flex-direction:column;align-items:stretch;gap:28px;
  margin:48px auto 64px;text-align:left;max-width:900px;
}
.company-introduction .jp-heading{font-size:clamp(38px,4vw,60px);line-height:1.4;margin:0;text-wrap:balance}
.company-introduction>div{width:100%;max-width:760px;margin:0}
.company-introduction .body-copy{max-width:none;margin:0;text-wrap:balance}
.company-introduction .body-copy+.body-copy{margin-top:16px}
.copy-term{display:inline-block}
.about-intro .about-copy{
  display:flex;flex-direction:column;align-items:stretch;gap:28px;
  max-width:900px;margin:0 auto;text-align:left;
}
.about-intro .solution-title{font-size:clamp(38px,4vw,60px);line-height:1.4}
.solution-title-line+.solution-title-line{padding-left:0}
.about-intro .solution-detail{width:100%;max-width:38em;margin:0;text-wrap:pretty}
.journal-heading{display:flex;flex-direction:column;align-items:stretch;gap:24px;margin:36px 0 44px;text-align:left}
.journal-heading p{max-width:38em;margin:0;padding:0;text-wrap:pretty}
.support-layout{grid-template-columns:minmax(0,1fr);gap:40px;max-width:900px;margin-top:42px}
.support-introduction{text-align:left}
.support .support-introduction .jp-heading{font-size:clamp(36px,3.8vw,56px);line-height:1.45;text-wrap:balance}
.support .support-introduction .body-copy{max-width:38em;margin:24px 0 0}
.support-introduction .button{margin-top:28px}
.support-list{margin-top:0}
.support-list details>p{padding-bottom:24px}
.contact-invitation>h2,.contact-invitation>.contact-intro{text-align:left}
.contact-invitation>.contact-intro{max-width:34em;margin-inline:0}
.contact-you{padding-left:0}

@media(max-width:900px){
  .company-introduction .body-copy,.about-intro .solution-detail,
  .support .body-copy,.journal-heading p,.journal-card-excerpt,
  .support-list details>p{font-size:16px;line-height:1.9}
  .story-step-copy>p:last-child,.is-scrollable .approach-story>p:last-child{font-size:15px;line-height:1.85}
  .discover-heading p{font-size:13px}
  .personalized-work-copy small,.recommendation-data-note,.recommendation-heading small{font-size:12px}
  .story-chapters button small,.approach-controls button small{font-size:10px}
  .company-introduction{gap:24px;margin:36px auto 48px}
  .company-introduction>div{margin:0}
  .company-introduction .jp-heading,.about-intro .solution-title{font-size:clamp(33px,6.7vw,48px)}
  .about-intro .about-copy{gap:24px}
  .about-intro .solution-detail{text-align:left}
  .company-introduction .body-copy br,.solution-detail .desktop-break{display:none}
  .journal-heading{gap:18px;margin:30px 0 36px}
  .support-layout{display:grid;gap:30px;margin-top:32px}
  .support .support-introduction .jp-heading{font-size:clamp(27px,6.5vw,42px)}
  .support-list summary h3{font-size:17px}
  .support-list details>p{padding-left:0}
  .contact-play .contact-intro,.contact-play .contact-reply p{font-size:16px}
}
@media(max-width:370px){
  .story-step-copy>p:last-child{font-size:14px}
  .personalized-work-copy small,.recommendation-data-note{font-size:11px}
  .story-chapters button small{font-size:9px}
}

/* Keep longer invitations legible; close up the Japanese quotation marks. */
.contact-play #contact-title{font-size:clamp(32px,3.8vw,58px);line-height:1.4;letter-spacing:-.045em}
.vuddy-experience-title{text-wrap:balance}
.vuddy-title-name{display:inline-block;white-space:nowrap}
.vuddy-title-bracket{display:inline-block;margin-inline:-.16em}
@media(max-width:700px){
  .contact-play #contact-title{font-size:clamp(28px,8vw,44px);line-height:1.45}
}

/* SOURCE: ui-icons.css */
/* Same line construction as the footer CTA, independent of emoji fonts. */
svg.ui-arrow {
  display: inline-block;
  width: 1em;
  height: 1em;
  flex-shrink: 0;
  vertical-align: -.125em;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  overflow: visible;
  pointer-events: none;
}

/* SOURCE: navigation-targets.css */
/* Whole-card navigation uses real links, with independent secondary controls. */
.product-card{position:relative}
.product-card .product-card-link{
  display:block;position:absolute;inset:0;z-index:5;border-radius:inherit;
  color:inherit;background:transparent;cursor:pointer
}
.product-card-link>svg{display:none}
.product-card .card-bottom :is(a,button){position:relative;z-index:6}
.product-card .card-bottom .text-link::before{content:"";position:absolute;inset:-12px -8px}
.product-card-link:focus-visible{outline:3px solid var(--green,#1d7d63);outline-offset:-5px}
@media(hover:hover){
  .product-card:has(.product-card-link:hover) h3{color:var(--green,#1d7d63)}
}

/* Service overview: picture, copy and surrounding space form one destination. */
.p-service-row{cursor:pointer}
.p-service-row:focus-visible{outline:3px solid var(--green);outline-offset:8px;border-radius:12px}
.p-service-row:hover .p-button{transform:translate(2px,2px);box-shadow:1px 2px 0 var(--ink)}
.p-service-picture{transition:box-shadow .2s}
.p-service-row:hover .p-service-picture{box-shadow:5px 6px 0 var(--green)}

/* A project opens from the whole card; the small player control is separate. */
.s-work{position:relative;isolation:isolate}
.s-work-media{position:relative}
.s-work-detail::after{content:"";position:absolute;inset:0;z-index:1;border-radius:12px}
.s-work-detail:focus-visible{outline:none}
.s-work-detail:focus-visible::after{outline:3px solid var(--green);outline-offset:6px}
.s-work .s-work-preview{
  position:absolute;z-index:2;right:12px;bottom:12px;width:auto;min-width:44px;min-height:44px;
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  border:1px solid var(--ink);border-radius:99px;padding:9px 13px;
  background:#fff;color:var(--ink);font-family:inherit;font-size:12px;font-weight:700;line-height:1.4;text-align:center;
  box-shadow:2px 2px 0 var(--ink);cursor:pointer
}
.s-work-preview svg{width:13px;height:13px;fill:currentColor;flex-shrink:0}
.s-work-preview:focus-visible{outline:3px solid var(--green);outline-offset:3px}
.s-work-preview:hover{background:var(--mint,#82d7b5)}
.s-work:has(.s-work-detail:hover) .s-work-image{box-shadow:5px 6px 0 var(--ink)}
.s-work:has(.s-work-detail:hover) h3{color:var(--green)}

/* Already linked cards also include the gaps between their image and copy. */
:is(.p-work,.p-blog-card)>a,.v-recommended-work{display:block}
:is(.p-work,.p-blog-card)>a:focus-visible,.v-recommended-work:focus-visible{
  outline:3px solid var(--green);outline-offset:7px;border-radius:10px
}
.p-case-pagination>a{
  align-self:stretch;min-height:64px;display:flex;flex-direction:column;
  justify-content:center;padding:12px
}
.p-case-pagination>a:focus-visible{outline:3px solid var(--green);outline-offset:3px}
.p-case-pagination>a:hover{background:#1d7d630a;border-radius:8px}

.p-demo-callout{position:relative;--callout-end-space:0px}
.p-demo-callout:last-child{--callout-end-space:96px}
.p-demo-callout .p-button{position:static;transform:none}
.p-demo-callout .p-button::after{
  content:"";position:absolute;inset:0 0 var(--callout-end-space);z-index:1;border-radius:12px
}
.p-demo-callout .p-button:focus-visible::after{outline:3px solid var(--green);outline-offset:6px}
:is(.s-inline-link,.v-text-link,.p-link,.v-back-home){
  min-height:44px;display:inline-flex;align-items:center;
  padding:10px 12px;margin-inline:-12px
}
.s-work-detail{display:flex;width:100%;margin-inline:0;padding-inline:0}
.v-back-home{margin-inline:auto}
:is(.s-inline-link,.v-text-link,.p-link,.v-back-home):focus-visible{
  outline:3px solid var(--green);outline-offset:3px;border-radius:6px
}
@media(max-width:600px){
  .p-demo-callout:last-child{--callout-end-space:72px}
  .p-case-pagination>.p-link{justify-self:stretch;text-align:center;align-items:center}
}
@media(prefers-reduced-motion:reduce){
  .p-service-picture,.p-service-row .p-button{transition:none}
}

/* SOURCE: global-navigation.css */
/* Shared navigation. Content keeps its existing layout; only the compact menu floats. */
.gn-header,.gn-dialog,.gn-toggle{--gn-ink:#161a18;--gn-green:var(--green,#1d7d63);box-sizing:border-box;color:var(--gn-ink);font-family:inherit}
.gn-header{position:relative;z-index:90;display:flex;align-items:center;justify-content:space-between;gap:24px;height:104px;padding:22px var(--page,4vw);background:#fff}
.gn-header.site-header{position:absolute;inset:0 0 auto;height:var(--header,104px)}
.gn-brand{display:block;flex:0 0 176px;text-decoration:none}
.gn-brand img{display:block;width:100%;height:auto}
.gn-brand>span{display:block;margin-top:7px;font:700 8px/1.3 var(--font-site);text-align:center;letter-spacing:.19em}
.gn-desktop{display:flex;align-items:center;gap:26px;margin-left:auto;white-space:nowrap;font-size:14px;font-weight:700;line-height:1.5}
.gn-desktop>a{display:flex;align-items:center;min-height:44px;text-decoration:none}
.gn-desktop>a:hover,.gn-desktop>a[aria-current],.gn-business-trigger:hover,.gn-business-trigger.is-current{color:var(--gn-green)}
.gn-business{position:relative}
.gn-business-trigger{display:flex;align-items:center;gap:6px;min-height:44px;border:0;padding:0;background:none;color:inherit;font:inherit;cursor:pointer}
.gn-business-trigger>svg{width:18px;height:18px;transition:transform .2s}
.gn-business-trigger[aria-expanded=true]>svg{transform:rotate(180deg)}
.gn-dropdown{position:absolute;top:calc(100% + 15px);left:-26px;width:580px;padding:26px;background:#fff;border:1px solid #161a181a;border-radius:18px;box-shadow:0 18px 50px #161a1824;white-space:normal;animation:gn-appear .2s ease-out}
.gn-dropdown::before{content:"";position:absolute;left:0;right:0;top:-20px;height:20px}
.gn-dropdown-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}
.gn-dropdown-heading>span{font:700 11px/1.4 var(--font-site);letter-spacing:.1em;color:var(--gn-green)}
.gn-dropdown-heading>a{display:flex;align-items:center;gap:8px;min-height:32px;font-size:13px}
.gn-dropdown-heading svg{width:20px;height:20px}
.gn-services{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.gn-service{display:grid;grid-template-columns:22px minmax(0,1fr) 20px;align-items:center;gap:9px;min-height:104px;padding:17px 13px;background:#f4f5f4;border-radius:10px;text-decoration:none;transition:background .18s}
.gn-service:hover,.gn-service[aria-current]{background:#ddf6ed}
.gn-service-number{align-self:start;padding-top:3px;font:700 11px/1.3 var(--font-site);color:var(--gn-green)}
.gn-service small{display:block;margin-bottom:6px;font:700 9px/1.4 var(--font-site);letter-spacing:.025em;color:#58645e}
.gn-service strong{display:block;font-size:15px;font-weight:700;line-height:1.65;overflow-wrap:anywhere}
.gn-service strong>span{display:inline-block;white-space:nowrap}
.gn-service>svg{width:20px;height:20px;color:var(--gn-green);transition:transform .2s}
.gn-service:hover>svg{transform:translateX(3px)}
.gn-actions{display:flex;align-items:center;gap:14px;flex-shrink:0}
.gn-header .gn-motion{display:grid;place-items:center;width:36px;height:36px;min-height:0;padding:0;border:1px solid #161a18;border-radius:50%;background:#fff;font:700 12px/1 var(--font-site);box-shadow:none;flex-shrink:0}
.gn-contact{display:flex;align-items:center;gap:20px;min-height:44px;padding:6px 7px 6px 19px;border:1px solid #161a18;border-radius:50px;font-size:13px;font-weight:700;line-height:1.4;text-decoration:none;box-shadow:2px 2px 0 #161a18}
.gn-contact>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--gn-green);color:#fff}
.gn-contact svg{width:20px;height:20px}
.gn-toggle,.gn-close{display:flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:10px 16px;border:1.5px solid #161a18;border-radius:50px;background:#fff;font:700 12px/1 var(--font-site);letter-spacing:.04em;cursor:pointer}
.gn-toggle svg,.gn-close svg{width:24px;height:24px;flex-shrink:0}
.gn-header .gn-toggle,.gn-dialog .gn-close,button.gn-floating-toggle{border-radius:50px}
.gn-header-toggle{display:none}
.gn-floating-toggle{position:fixed;z-index:95;top:max(20px,env(safe-area-inset-top));right:max(24px,env(safe-area-inset-right));box-shadow:0 4px 16px #161a181a;animation:gn-appear .2s ease-out}
.gn-toggle:hover,.gn-close:hover{background:#ddf6ed}
.gn-header a:focus-visible,.gn-header button:focus-visible,.gn-dialog a:focus-visible,.gn-dialog button:focus-visible,.gn-toggle:focus-visible{outline:3px solid var(--green,#1d7d63);outline-offset:4px}
.gn-dropdown[hidden],.gn-toggle[hidden]{display:none!important}
html.gn-menu-open{overflow:hidden}
.gn-dialog{position:fixed;inset:0 0 0 auto;width:min(680px,100%);max-width:100%;height:100%;height:100dvh;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:#fff;box-shadow:-20px 0 70px #0002;overflow-y:auto;overscroll-behavior:contain;font-size:16px;line-height:1.6}
.gn-dialog:not([open]){display:none}
.gn-dialog[open]{animation:gn-drawer-in .24s ease-out}
.gn-dialog::backdrop{background:#14221c66;backdrop-filter:blur(4px)}
.gn-dialog-top{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 36px 18px;background:#fff}
.gn-dialog-top>span{font:700 13px/1.4 var(--font-site);letter-spacing:.12em;color:var(--gn-green)}
.gn-close{padding:8px 13px;min-height:44px;border:0}
.gn-dialog-nav{padding:0 36px 36px}
.gn-section-link{display:flex;align-items:center;justify-content:space-between;min-height:50px;margin-bottom:10px;font-size:22px;font-weight:700}
.gn-section-link svg{width:25px;height:25px}
.gn-dialog .gn-services{gap:12px}
.gn-dialog .gn-service{min-height:108px}
.gn-main-links{display:grid;grid-template-columns:1fr 1fr;gap:6px 24px;margin-top:24px}
.gn-main-links>a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:58px;font-size:18px;font-weight:700;text-decoration:none}
.gn-main-links svg{width:20px;height:20px}
.gn-main-links>a:hover,.gn-extra-links>a:hover{color:var(--gn-green)}
.gn-extra-links{display:flex;flex-wrap:wrap;gap:6px 24px;margin-top:14px}
.gn-extra-links>a{display:flex;align-items:center;min-height:44px;font-size:14px;font-weight:700}
.gn-dialog-contact{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:72px;margin-top:24px;padding:18px 24px;border-radius:12px;background:var(--gn-green);color:white;font-size:22px;font-weight:700;text-decoration:none}
.gn-dialog-contact svg{width:28px;height:28px}
.gn-dialog-contact:hover{background:#008c66}
@keyframes gn-appear{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
@keyframes gn-drawer-in{from{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}
@media(min-width:1101px) and (max-width:1250px){.gn-desktop{gap:18px;font-size:13px}.gn-header{gap:20px}.gn-brand{flex-basis:155px}.gn-actions{gap:10px}.gn-contact{gap:12px}.gn-dropdown{left:-65px;width:560px}}
@media(max-width:1100px){.gn-desktop{display:none}.gn-header-toggle{display:flex}.gn-actions{margin-left:auto}}
@media(max-width:600px){
 .gn-header,.gn-header.site-header{height:82px;padding:17px var(--page,22px);gap:12px}
 .gn-brand{flex-basis:120px}.gn-brand>span{font-size:6px;margin-top:5px}
 .gn-actions{gap:10px}.gn-header .gn-motion{width:32px;height:32px}.gn-contact{display:none}
 .gn-toggle{gap:7px;padding:9px 12px;font-size:11px;min-height:44px}.gn-toggle svg{width:21px;height:21px}
 .gn-floating-toggle{top:max(14px,env(safe-area-inset-top));right:16px}
 .gn-dialog-top{padding:16px 22px 10px}.gn-dialog-nav{padding:0 22px max(28px,env(safe-area-inset-bottom))}
 .gn-section-link{font-size:21px;min-height:44px;margin-bottom:12px}
 .gn-dialog .gn-services{grid-template-columns:1fr;gap:8px}
 .gn-dialog .gn-service{min-height:78px;padding:14px 15px;grid-template-columns:24px minmax(0,1fr) 22px;gap:12px}
 .gn-service small{font-size:9px;margin-bottom:3px}.gn-service strong{font-size:16px;line-height:1.5}
 .gn-main-links{gap:0 15px;margin-top:20px}.gn-main-links>a{font-size:15px;min-height:52px}
 .gn-extra-links{margin-top:6px;gap:6px 20px}.gn-extra-links>a{font-size:13px}
 .gn-dialog-contact{font-size:21px;min-height:65px;margin-top:18px;padding:15px 20px}
}
@media(prefers-reduced-motion:reduce){.gn-dropdown,.gn-floating-toggle,.gn-dialog[open]{animation:none}.gn-service,.gn-service>svg,.gn-business-trigger>svg{transition:none}}

/* The desktop links gather toward the same corner as the compact menu. */
.gn-header .gn-desktop,.gn-header .gn-actions{transition:opacity .24s ease,transform .45s cubic-bezier(.22,1,.36,1),visibility 0s;transform-origin:right center}
.gn-header.is-condensed .gn-desktop,.gn-header.is-condensed .gn-actions{opacity:0;transform:translate(16px,-8px) scale(.94);pointer-events:none;visibility:hidden;transition-delay:0s,0s,.24s}
.gn-floating-toggle{animation:none;width:52px;overflow:hidden;opacity:0;visibility:hidden;pointer-events:none;transform:translate(18px,-8px) scale(.76);transform-origin:100% 50%;transition:width .48s cubic-bezier(.22,1,.36,1),transform .48s cubic-bezier(.22,1,.36,1),opacity .25s ease,visibility 0s .48s}
.gn-floating-toggle>span{display:block;overflow:hidden;max-width:0;opacity:0;white-space:nowrap;transform:translateX(8px);transition:max-width .4s cubic-bezier(.22,1,.36,1),opacity .2s ease,transform .4s cubic-bezier(.22,1,.36,1)}
.gn-floating-toggle>svg{transform:rotate(-30deg) scale(.7);transition:transform .48s cubic-bezier(.22,1,.36,1)}
.gn-floating-toggle.is-visible{width:108px;opacity:1;visibility:visible;pointer-events:auto;transform:translate(0,0) scale(1);transition-delay:.04s,.04s,.04s,0s}
.gn-floating-toggle.is-visible>span{max-width:44px;opacity:1;transform:translateX(0);transition-delay:.1s}
.gn-floating-toggle.is-visible>svg{transform:rotate(0) scale(1)}
@media(max-width:600px){.gn-floating-toggle.is-visible{width:94px}}
@media(prefers-reduced-motion:reduce){.gn-header .gn-desktop,.gn-header .gn-actions,.gn-floating-toggle,.gn-floating-toggle>span,.gn-floating-toggle>svg{transition:none}}
body.no-motion .gn-header .gn-desktop,body.no-motion .gn-header .gn-actions,body.no-motion .gn-floating-toggle,body.no-motion .gn-floating-toggle>span,body.no-motion .gn-floating-toggle>svg{transition:none}
