/* finesse · WeCan kinetic studio · obsidian/pearl + ultraviolet/mint · signal sculpture / editorial panels */
:root{--paper:#f6f5f1;--ink:#171d2b;--muted:#596172;--accent:#d1ae6b;--electric:#c1f58e;--violet:#b49afb;--dark:#131021;--panel:#eeede8;--panel2:#e5e5e0;--line:#d7d8d4;--ease:cubic-bezier(.19,1,.22,1);--nav-h:88px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Noto Sans TC","PingFang TC","Microsoft JhengHei",sans-serif;-webkit-font-smoothing:antialiased;line-height:1.8}button,input,textarea,select{font:inherit}button,summary{cursor:pointer}button{color:inherit}a{color:inherit;text-decoration:none}a,button{touch-action:manipulation}img{max-width:100%;height:auto;display:block}figure{margin:0}h1,h2,h3{font-weight:600;line-height:1.45;letter-spacing:-.045em;overflow-wrap:anywhere}h1{font-size:clamp(34px,4.5vw,64px);margin:0 0 24px}h2{font-size:clamp(28px,3.1vw,42px);margin:0 0 23px}h3{font-size:24px;margin:0 0 14px}p{color:var(--muted);margin:0 0 22px;max-width:72ch}small,figcaption{color:var(--muted)}:focus-visible{outline:3px solid #7957d6;outline-offset:5px}::selection{background:var(--electric);color:var(--dark)}[hidden]{display:none!important}.sr,.skip{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden}.skip:focus{position:fixed;top:12px;left:12px;clip:auto;width:auto;height:auto;padding:10px 20px;background:var(--electric);color:var(--dark);z-index:100}
header{height:var(--nav-h);position:sticky;top:0;z-index:40;background:#131021f5;color:#eeeaf7;backdrop-filter:blur(16px);padding:0 5%;display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid #ffffff16}.brand{display:inline-flex;flex-direction:column;font-size:27px;font-weight:600;line-height:1.1}.brand span{font-size:10px;letter-spacing:.04em;margin-top:8px}.wc-brand-logo{width:155px;height:auto}.desktop-nav{display:flex;align-items:center;gap:30px}.desktop-nav a{font-size:15px;position:relative;padding:16px 0}.desktop-nav a:after{content:"";position:absolute;left:0;right:0;bottom:9px;height:2px;background:var(--electric);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}.desktop-nav a:hover:after,.desktop-nav a[aria-current]:after{transform:scaleX(1)}.desktop-nav a:last-child{border:1px solid #ffffff40;border-radius:999px;padding:9px 20px}.desktop-nav a:last-child:after{display:none}.desktop-nav a:last-child:hover{background:#ffffff12}.menu-button{display:none;width:48px;height:48px;border:1px solid #ffffff40;background:var(--dark);color:#eeeaf7;border-radius:50%;padding:10px}.menu-button span{display:block;height:1px;width:20px;margin:5px auto;background:currentColor}.menu-button small{font-size:8px;color:inherit;display:block;line-height:1}
.section,.page-intro,.about-panel{max-width:1240px;margin:auto;padding:88px 5%}.eyebrow{font-size:12px!important;letter-spacing:.16em;font-weight:600;line-height:1.4;margin:0 0 20px;color:#635a7a}.page-intro{position:relative;padding-top:78px;padding-bottom:60px;border-bottom:1px solid var(--line)}.page-intro h1{max-width:930px}.page-intro>p{font-size:18px;max-width:750px}.page-intro:not(.service-visual):before{content:"";width:48px;height:6px;background:#9274df;display:block;margin-bottom:25px;border-radius:20px}
.kinetic-hero{position:relative;min-height:680px;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:18px;padding:90px 5% 125px;overflow:hidden;background:var(--dark);color:#f5f2fa;border-radius:0 0 38px 38px}.hero-copy{position:relative;z-index:2;max-width:700px;align-self:center}.hero-copy .eyebrow{color:var(--electric);margin-bottom:32px}.hero h1{font-size:clamp(36px,4.4vw,68px);line-height:1.4;letter-spacing:-.075em;font-weight:600;margin:0 0 28px}.hero h1 span{display:block}.hero h1 span:last-child{color:var(--violet)}.hero-copy>p:not(.eyebrow){color:#bdb8cc;font-size:17px;max-width:580px}.hero-art{position:relative;align-self:center;aspect-ratio:1;min-width:0;isolation:isolate}.signal-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:-1}.orb-word{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:Arial,sans-serif;font-size:clamp(55px,8vw,128px);letter-spacing:-.1em;font-weight:800;line-height:.85;color:#f4efff;transform:rotate(-11deg);text-shadow:0 4px 35px #2c1743;will-change:transform}.orb-word span:last-child{color:var(--electric)}.orbit-labels span{position:absolute;color:#d1cadf;background:#191426d9;border:1px solid #b49afb40;border-radius:999px;padding:7px 14px;font-size:12px;animation:labelFloat 5s ease-in-out infinite alternate}.orbit-labels span:nth-child(1){top:4%;left:28%;animation-delay:-1s}.orbit-labels span:nth-child(2){right:0;top:34%;animation-delay:-3s}.orbit-labels span:nth-child(3){right:12%;bottom:10%;animation-delay:-2s}.orbit-labels span:nth-child(4){left:3%;bottom:22%;animation-delay:-4s}.orbit-labels span:nth-child(5){left:0;top:18%}@keyframes labelFloat{to{transform:translateY(-10px)}}.hero-bottom{position:absolute;left:5%;right:5%;bottom:35px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #ffffff25;padding-top:20px;color:#a9a2bc;font-size:12px;letter-spacing:.08em}.hero-bottom a{color:#efecf5;display:inline-flex;gap:25px;align-items:center}.hero-bottom a span{color:var(--electric);font-size:21px;animation:exploreNudge 1.7s var(--ease) infinite}@keyframes exploreNudge{50%{transform:translateY(6px)}}.actions{display:flex;gap:28px;flex-wrap:wrap;align-items:center;margin-top:32px}.pill,.text-link{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:48px;transition:background .3s,color .3s,transform .5s var(--ease);font-weight:500}.pill{background:var(--dark);color:#f5f2fa;border:1px solid var(--dark);border-radius:999px;padding:12px 24px}.pill:hover{background:#382c52;transform:translateY(-3px)}.hero .pill{background:var(--electric);border-color:var(--electric);color:var(--dark)}.hero .pill:hover{background:#d7fbb7}.text-link{border-bottom:1px solid #9a9ca3;padding:5px 0}.text-link:hover{color:#6542b1;border-color:#6542b1}.hero .text-link{border-color:#676075;color:#f5f2fa}.hero .text-link:hover{color:var(--electric)}.arrow{width:20px;height:20px;flex-shrink:0;transition:transform .4s var(--ease)}a:hover .arrow{transform:translate(3px,-3px)}
.home-intro{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.5fr);gap:70px;align-items:center;padding-top:100px;padding-bottom:105px}.home-intro h2{max-width:680px}.home-intro p{max-width:640px}.home-intro-scene{position:relative;max-width:240px;transform:rotate(4deg);border-radius:55% 45% 40% 60%;overflow:hidden;border:8px solid #e4ddd0;box-shadow:15px 15px 0 #d2c2e2}.home-intro-scene img{width:100%;aspect-ratio:1;object-fit:cover}.section-top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 45px;margin-bottom:40px}.section-top h2{margin:0}.section-top p:not(.eyebrow){grid-column:1;margin:0;max-width:750px}.section-top>a{grid-column:2;grid-row:1/3;align-self:center}.section-top .eyebrow{margin-bottom:15px}.home-services{padding-top:12px}.service-panel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.service-panel{display:block;position:relative;min-height:300px;overflow:hidden;border-radius:22px;background:#eeedf0;isolation:isolate;transition:transform .5s var(--ease),box-shadow .5s var(--ease);border:1px solid #ffffffa8}.service-panel:hover{transform:translateY(-6px);box-shadow:0 18px 30px #33264914}.service-background{position:absolute;inset:0 0 0 auto;width:59%;height:100%;object-fit:cover;object-position:65% center;z-index:-2;transition:transform .8s var(--ease);transform:translate(var(--scene-x,0px),var(--scene-y,0px)) scale(1.04)}.service-panel:after,.service-visual:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#eeedf0 0%,#eeedf0 35%,#eeedf0ee 43%,#eeedf030 70%,transparent 85%);pointer-events:none}.service-panel-copy{position:relative;width:65%;padding:30px 26px;z-index:1}.service-number{display:block;font-size:12px;font-family:monospace;color:#785e9f;letter-spacing:.12em;margin-bottom:24px}.service-panel h3{font-size:30px;margin:0 0 14px}.service-panel p{font-size:14px;max-width:240px;color:#515469}.service-open{display:inline-flex;gap:17px;align-items:center;font-size:13px}.service-panel.service-media{grid-column:1/-1;min-height:330px;grid-row:1}.service-media .service-panel-copy{width:55%;padding:38px 42px}.service-media.service-panel h3{font-size:37px}.service-media.service-panel p{max-width:400px;font-size:16px}.service-design{background:#eae9e2}.service-design:after{background:linear-gradient(90deg,#eae9e2 0%,#eae9e2 35%,#eae9e2ee 43%,#eae9e230 70%,transparent 85%)}.service-social{background:#e7e9e6}.service-social:after{background:linear-gradient(90deg,#e7e9e6 0%,#e7e9e6 35%,#e7e9e6ee 43%,#e7e9e630 70%,transparent 85%)}
.service-visual{position:relative;isolation:isolate;overflow:hidden;border-radius:26px;background:#eeedf0;min-height:440px}.service-intro{max-width:1120px;margin:38px auto 0;padding:66px 52px;border:0}.service-visual-copy{width:58%;max-width:650px;position:relative;z-index:1}.service-visual-copy h1{font-size:clamp(32px,3.3vw,47px);line-height:1.55}.service-visual-copy p{max-width:570px;font-size:16px}.tags{font-size:13px!important;line-height:1.8;color:#656176;padding:14px 0;border-top:1px solid #aaa4b750}.service-overview{padding-top:35px;display:grid;gap:28px}.service-overview-panel{padding:44px 42px;min-height:430px}.service-overview-panel h2{font-size:38px;margin-bottom:16px}.service-overview-panel h3{font-size:19px;letter-spacing:-.02em}.service-overview-panel:nth-child(even){margin-left:5%}.service-overview-panel:nth-child(odd){margin-right:5%}.related-entry{display:flex;justify-content:space-between;align-items:center;padding-top:52px;padding-bottom:52px}.related-entry h2{font-size:26px;margin:0}
.selected{background:#e9e6f0;border-radius:32px;max-width:calc(100% - 40px);padding-left:max(4%,calc((100% - 1116px)/2));padding-right:max(4%,calc((100% - 1116px)/2));position:relative}.selected .section-top>div:before{content:"";position:absolute;width:100px;height:100px;right:15%;top:28px;border:1px solid #b09dc5;border-radius:50%;pointer-events:none}.case-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 24px}.case-card{min-width:0;scroll-margin-top:115px}.case-thumb{position:relative;aspect-ratio:16/10;background:#dedce3;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:14px;border:1px solid #ffffff50;transition:box-shadow .4s,transform .5s var(--ease)}.case-thumb img{width:auto;max-width:100%;height:auto;max-height:100%;object-fit:contain}.case-card:hover .case-thumb{transform:translateY(-4px);box-shadow:0 12px 25px #21142d17}.video-hit{display:block;position:relative}.case-thumb.video-thumb{aspect-ratio:16/10;background:var(--dark)}.video-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .65s var(--ease)}.play-control{width:54px;height:54px;display:grid;place-items:center;border-radius:50%;background:rgba(246,245,241,.62);color:rgba(19,16,33,.85);border:1px solid #ffffff66;position:absolute;left:calc(50% - 27px);top:calc(50% - 27px);transition:transform .45s var(--ease),background .3s;box-shadow:0 5px 20px #13102130}.play-control svg{width:20px;height:20px;margin-left:3px}.video-hit:hover .play-control,.video-hit:focus-visible .play-control{background:rgba(193,245,142,.78)}.video-hit:hover .play-control:after{content:"";position:absolute;inset:-9px;border:1px solid #c1f58eaa;border-radius:50%;animation:playPulse 1.4s ease-out infinite}@keyframes playPulse{to{transform:scale(1.24);opacity:0}}.duration{position:absolute;right:11px;bottom:10px;background:#131021de;color:#f5f2fa;font-size:12px;line-height:1.5;padding:3px 7px;border-radius:3px;font-variant-numeric:tabular-nums}.case-card h3{font-size:17px;margin:17px 0 6px;line-height:1.7;letter-spacing:-.01em}.case-meta{font-size:12px;color:#6b537e;margin:0 0 10px}.case-detail summary{font-size:13px;display:flex;align-items:center;min-height:44px;gap:10px;border-top:1px solid #c6c3ce;list-style:none;color:var(--muted)}summary::-webkit-details-marker{display:none}.case-detail summary .arrow{width:14px}.case-detail p{font-size:14px;padding-top:12px}.case-detail[open] summary .arrow{transform:rotate(90deg)}.case-empty{padding:40px;color:var(--muted)}.filters{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:34px}.filters button{font-size:14px;min-height:46px;padding:10px 19px;background:transparent;border:1px solid #b9bdc5;border-radius:999px;transition:background .3s,transform .3s}.filters button:hover{transform:translateY(-2px);background:#e9e4f1}.filters button[aria-pressed=true]{background:var(--dark);border-color:var(--dark);color:#f5f2fa}.work{padding-top:28px}.work-collection-heading{font-size:24px;margin-bottom:25px}.case-card:not([hidden]){animation:caseIn .6s var(--ease)}@keyframes caseIn{from{opacity:.5;transform:translateY(18px)}to{opacity:1;transform:none}}
.home-brands{max-width:none;padding:86px 0 100px;overflow:hidden}.home-brands h2{padding:0 5%;max-width:1240px;margin:0 auto 26px}.brand-carousel{position:relative;width:100%;min-width:0;margin:30px 0 0}.brand-rail{display:flex;gap:16px;overflow-x:auto;scrollbar-width:none;padding:24px 5%;cursor:grab;touch-action:pan-y;user-select:none;overscroll-behavior-x:contain}.brand-rail::-webkit-scrollbar{display:none}.brand-rail:active{cursor:grabbing}.brand-logo-card{flex:0 0 184px;min-height:150px;border:1px solid #d7d8d4;background:#fdfcf9;border-radius:16px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:13px;padding:22px 16px;transition:transform .45s var(--ease),box-shadow .4s;background-clip:padding-box}.brand-logo-card img{width:auto;max-width:146px;height:auto;max-height:65px;object-fit:contain;pointer-events:none}.brand-logo-card span{font-size:11px;color:#686777;text-align:center;line-height:1.65;pointer-events:none}.brand-logo-card:hover{transform:translateY(-10px) rotate(-2deg);box-shadow:0 12px 20px #38275214}.brand-logo-missing{font-size:19px!important;font-weight:600;color:var(--ink)!important}.brand-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:1140px;margin:17px auto 0;padding:0 5%}.brand-controls p{font-size:12px;color:#6e6c7b;margin:0}.brand-buttons{display:flex;align-items:center;gap:9px}.brand-buttons button{min-width:46px;min-height:46px;border:1px solid #aeb0b6;background:transparent;border-radius:50%;transition:background .3s}.brand-buttons button:hover{background:#e3dbea}.brand-buttons .brand-pause{border-radius:999px;padding:8px 16px;min-width:90px;font-size:12px}.about-partners{display:block;max-width:none;overflow:hidden;padding-left:0;padding-right:0}.about-partners .about-copy{max-width:1116px;padding:0 5%;margin:auto}.about-partners .all-brands{margin-top:28px}.about-panel{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:70px;align-items:center;border-bottom:1px solid var(--line)}.about-partners.about-panel{display:block}.about-hero-photo{width:min(100%,360px);margin:auto;transform:rotate(3deg);border-radius:20px;overflow:hidden;box-shadow:12px 12px 0 #e2d6eb}.about-hero-photo img{aspect-ratio:4/3;object-fit:cover}.about-page figcaption{font-size:11px;padding:10px;background:var(--paper)}.about-photo-pair{display:flex;gap:15px;align-items:center;min-width:0}.about-stage-photo{width:58%}.about-event-photo{width:42%}.about-team-art{width:min(100%,300px);aspect-ratio:1;position:relative;margin:auto;animation:teamRock 8s ease-in-out infinite alternate}.about-team-art span{position:absolute;width:60%;height:60%;border:1px solid #bbaacd;border-radius:50%}.about-team-art span:nth-child(1){left:0;top:0}.about-team-art span:nth-child(2){right:0;top:0}.about-team-art span:nth-child(3){left:0;bottom:0}.about-team-art span:nth-child(4){right:0;bottom:0;background:#e4d8ef40}.about-team-art b{position:absolute;inset:0;display:grid;place-items:center;color:#725091;font-size:68px;font-weight:300}@keyframes teamRock{to{transform:rotate(8deg)}}.about-copy p{font-size:17px}
.invitation{max-width:none;padding:85px max(5%,calc((100% - 1116px)/2));background:var(--dark);color:#f5f2fa;position:relative;overflow:hidden;border-radius:34px 34px 0 0}.invitation:after{content:"";position:absolute;right:-80px;bottom:-150px;width:430px;height:430px;border:1px solid #b49afb70;border-radius:50%;pointer-events:none;box-shadow:0 0 0 45px #b49afb08,0 0 0 90px #b49afb08}.invitation h2{max-width:850px}.invitation p{color:#bdb8cc}.big-link{font-size:clamp(23px,3vw,36px);display:inline-flex;align-items:center;gap:28px;min-height:60px;border-bottom:1px solid #777380;overflow-wrap:anywhere;position:relative;z-index:1}.invitation .big-link{color:var(--electric);border-color:var(--electric)}.contact-info{padding-top:38px}.contact-info>a{display:flex;max-width:max-content;margin-bottom:24px;font-size:23px}.contact-info .big-link{font-size:clamp(20px,3vw,32px);word-break:break-all}.inquiry{border-top:1px solid var(--line);padding-top:56px}.inquiry form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;max-width:820px}.inquiry label{display:block;font-size:14px}.inquiry input,.inquiry textarea{display:block;width:100%;background:#eeede8;border:1px solid #b8bbc2;border-radius:9px;padding:14px;color:var(--ink);margin-top:8px;min-height:52px}.inquiry textarea{min-height:150px;resize:vertical}.inquiry label:has(textarea),.wc-form-note,.wc-preview-note{grid-column:1/-1}.inquiry button{justify-self:start;padding:12px 26px;border:0;min-height:48px;border-radius:999px;background:var(--dark);color:#f5f2fa;font-weight:500}.wc-form-trap{position:absolute;left:-9999px}.wc-form-notice{padding:16px;background:var(--panel2)}.wc-form-error{color:#a22838}.wc-location iframe{width:100%;height:320px;border:0}.wc-contact-links a{overflow-wrap:anywhere}.wc-preview-note{font-size:13px;color:#6b537e;margin:0}footer{max-width:none;background:var(--dark);color:#efecf5;padding:42px max(5%,calc((100% - 1116px)/2)) 35px;display:flex;align-items:center;gap:28px;flex-wrap:wrap;border-top:1px solid #ffffff20}footer p,footer small{color:#a9a2bc;font-size:12px;margin:0}footer .text-link{margin-left:auto}footer small{width:100%}.preview-toolbar{position:fixed;bottom:18px;right:18px;z-index:45;background:#cfa963;color:#131021;border-radius:999px;padding:10px 18px;font-size:13px;font-weight:600;box-shadow:0 8px 25px #2e233b30}.preview-toolbar:hover{background:#e3c78f}
dialog#menu{inset:0;margin:0;width:100%;height:100dvh;max-width:none;max-height:none;background:var(--dark);color:#efecf5;border:0;padding:36px 7%;overflow:auto}dialog#menu::backdrop{background:var(--dark)}dialog nav{margin:50px 0 30px}dialog nav a{display:flex;align-items:center;min-height:78px;font-size:28px;border-bottom:1px solid #ffffff30}dialog nav a[aria-current]{color:var(--electric)}dialog nav a>span{font-size:12px;margin-right:20px;color:#a9a2bc}dialog nav a>b{margin-left:auto;color:var(--electric)}dialog p{color:#a9a2bc}.close{position:absolute;right:7%;top:25px;width:48px;height:48px;border:1px solid #ffffff40;background:transparent;color:inherit;border-radius:50%;font-size:26px}.wc-enter{animation:contentIn .7s var(--ease)}@keyframes contentIn{from{opacity:.6;transform:translateY(25px)}to{opacity:1;transform:none}}
@media(hover:hover) and (pointer:fine){.video-hit:hover .video-thumb img{transform:translate(var(--video-x,0px),var(--video-y,0px)) scale(1.08)}.video-hit:hover .play-control{transform:translate(var(--play-x,0px),var(--play-y,0px))}.service-panel:hover .service-background{transform:translate(var(--scene-x,0px),var(--scene-y,0px)) scale(1.1)}}
@media(min-width:1450px){.kinetic-hero{padding-left:max(5%,calc((100% - 1310px)/2));padding-right:max(5%,calc((100% - 1310px)/2))}.hero-bottom{left:max(5%,calc((100% - 1310px)/2));right:max(5%,calc((100% - 1310px)/2))}}
@media(max-width:1024px){:root{--nav-h:80px}.desktop-nav{gap:20px}.desktop-nav a{font-size:14px}.hero{padding-top:65px;min-height:620px;gap:10px}.hero h1{font-size:clamp(34px,4.5vw,46px)}.hero-copy>p:not(.eyebrow){font-size:15px}.orb-word{font-size:100px}.section,.about-panel{padding-top:65px;padding-bottom:65px}.service-panel-copy{padding:25px 22px;width:72%}.service-panel h3{font-size:26px}.service-panel p{font-size:13px}.service-intro{margin:25px 4% 0;padding:45px 35px}.service-visual-copy{width:63%}.case-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.about-panel{gap:35px}}
@media(max-width:760px){:root{--nav-h:74px}.wc-brand-logo{width:138px}.desktop-nav{display:none}.menu-button{display:block;position:fixed;top:13px;right:6%;z-index:50}.kinetic-hero{grid-template-columns:minmax(0,1fr);padding:47px 6% 85px;gap:4px;min-height:auto;border-radius:0 0 28px 28px}.hero-copy{grid-row:1}.hero h1{font-size:clamp(29px,7.8vw,50px);line-height:1.55}.hero-copy .eyebrow{font-size:10px!important;margin-bottom:24px}.hero-copy>p:not(.eyebrow){font-size:15px;line-height:1.9}.hero .actions{gap:25px;margin-top:23px}.hero .pill{font-size:14px;padding:11px 19px}.hero .text-link{font-size:14px}.hero-art{grid-row:2;width:min(100%,380px);aspect-ratio:1.1;margin:20px auto 5px}.orb-word{font-size:100px}.orbit-labels span{font-size:10px;padding:5px 10px}.hero-bottom{bottom:23px;left:6%;right:6%;padding-top:13px;font-size:9px;letter-spacing:0}.hero-bottom a{gap:10px}.hero-bottom a span{font-size:16px}.section,.page-intro,.about-panel{padding-left:6%;padding-right:6%;padding-top:52px;padding-bottom:52px}.page-intro h1{font-size:35px}.page-intro>p{font-size:16px}.home-intro{grid-template-columns:minmax(0,1fr);gap:30px}.home-intro-scene{width:175px;justify-self:end;margin-right:15px;box-shadow:9px 9px 0 #d2c2e2}.section-top{display:block;margin-bottom:30px}.section-top h2{margin-bottom:15px}.section-top p:not(.eyebrow){margin-bottom:20px}.section-top .eyebrow{font-size:10px!important}.home-services{padding-top:12px}.service-panel-grid{grid-template-columns:minmax(0,1fr);gap:18px}.service-panel{min-height:265px}.service-panel.service-media{grid-column:auto;min-height:285px}.service-media .service-panel-copy,.service-panel-copy{width:72%;padding:27px 24px}.service-media.service-panel h3{font-size:29px}.service-media.service-panel p,.service-panel p{font-size:13px;max-width:210px}.service-number{margin-bottom:18px}.service-panel:after,.service-visual:after{background:linear-gradient(90deg,#eeedf0 0%,#eeedf0 28%,#eeedf0f5 42%,#eeedf044 77%,transparent 100%)}.service-background{width:65%;object-position:60% center}.service-intro{margin:20px 4% 0;padding:36px 23px;min-height:450px}.service-visual-copy{width:94%;max-width:100%}.service-visual-copy h1{font-size:27px}.service-visual-copy p{font-size:14px}.service-visual .service-background{width:76%;opacity:.55;object-position:65% center}.service-visual:after{background:linear-gradient(90deg,#eeedf0 0%,#eeedf0 13%,#eeedf0f7 28%,#eeedf0c7 58%,#eeedf055 100%)}.service-overview{padding-top:25px;gap:20px}.service-overview-panel{padding:30px 23px;min-height:435px;margin:0!important}.service-overview-panel h2{font-size:31px}.service-overview-panel h3{font-size:17px}.service-overview-panel .service-visual-copy{width:94%}.related-entry{display:block}.related-entry h2{margin-bottom:20px}.selected{max-width:calc(100% - 20px);padding:52px 5%;border-radius:25px}.selected .section-top>div:before{display:none}.case-grid{gap:28px 18px}.home-brands{padding-left:0;padding-right:0;padding-top:60px;padding-bottom:64px}.home-brands h2{padding:0 6%}.brand-rail{padding:17px 6%;gap:12px}.brand-logo-card{flex-basis:158px;min-height:140px;padding:20px 13px}.brand-logo-card img{max-width:128px;max-height:55px}.brand-controls{padding:0 6%;gap:10px}.brand-controls p{font-size:10px;max-width:155px}.brand-buttons{gap:6px}.brand-buttons button{min-width:44px;min-height:44px}.brand-buttons .brand-pause{padding:6px 10px;min-width:72px;font-size:11px}.about-panel{grid-template-columns:minmax(0,1fr);gap:30px}.about-copy p{font-size:16px}.about-hero-photo{max-width:290px}.about-photo-pair{max-width:350px;margin:auto}.about-team-art{max-width:230px}.about-partners{padding-left:0;padding-right:0}.about-partners .about-copy{padding:0 6%}.invitation{padding:58px 6%;border-radius:25px 25px 0 0}.invitation h2{font-size:29px}.invitation:after{width:250px;height:250px;right:-100px;bottom:-100px}.big-link{font-size:25px;gap:20px}.inquiry form{grid-template-columns:minmax(0,1fr)}.inquiry label{grid-column:1}.filters{gap:8px}.filters button{font-size:12px;padding:9px 14px}.preview-toolbar{font-size:11px;right:12px;bottom:12px;padding:10px 15px}footer{padding:36px 6% 70px;gap:25px}footer p{display:none}.contact-info>a{font-size:21px}}
@media(max-width:480px){.case-grid{grid-template-columns:minmax(0,1fr)}.case-thumb{max-height:200px;aspect-ratio:16/9}.case-thumb.video-thumb{aspect-ratio:16/9}.case-card h3{font-size:17px}.brand-controls{flex-wrap:wrap}.brand-controls p{max-width:none}.brand-buttons{margin-left:auto}.hero .actions{gap:20px}.hero-copy h1{letter-spacing:-.08em}.page-intro h1{font-size:31px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.video-thumb img,.play-control,.service-background,.orb-word{transform:none!important}.brand-logo-card:hover{transform:none}.service-panel:hover,.case-card:hover .case-thumb{transform:none}}
@media print{header{position:static}.menu-button,.preview-toolbar,dialog,.signal-canvas,.brand-controls{display:none!important}body{background:#faf9f5;color:#171d2b}.brand-rail{flex-wrap:wrap;overflow:visible}.service-background{opacity:.3}.section,.about-panel{break-inside:avoid}}

/* v5: full background photos with readable foreground copy, scoped to requested sections. */
.service-overview-panel,.contact-hero{background:#211b32;color:#fbfaf7;isolation:isolate}
.service-overview-panel .service-background,.contact-hero .service-background{inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:1;z-index:-2}
.service-overview-panel:after,.contact-hero:after{background:linear-gradient(90deg,rgba(20,16,33,.94) 0%,rgba(20,16,33,.88) 35%,rgba(20,16,33,.66) 60%,rgba(20,16,33,.15) 100%)}
.service-overview-panel .service-visual-copy,.contact-hero .service-visual-copy{width:64%;max-width:650px}
.service-overview-panel h2,.service-overview-panel h3,.contact-hero h1{color:#fbfaf7}
.service-overview-panel p,.contact-hero p{color:#f0edf5;max-width:530px}
.service-overview-panel .service-number{color:#c1f58e}
.service-overview-panel .tags{border-color:#ffffff40;color:#e3dced}
.service-overview-panel .text-link{color:#c1f58e;border-color:#c1f58e85}
.service-overview-panel .text-link:focus-visible{outline:2px solid #c1f58e;outline-offset:6px}
.contact-hero{max-width:1120px;margin:38px auto 0;padding:84px 52px;min-height:390px;border:0}
.contact-hero h1{font-size:clamp(35px,4vw,54px);line-height:1.45;margin-bottom:24px}
.contact-hero p{font-size:18px;line-height:1.9}
@media(max-width:1024px){.contact-hero{margin:25px 4% 0;padding:60px 35px}.service-overview-panel .service-visual-copy,.contact-hero .service-visual-copy{width:76%}}
@media(max-width:760px){.service-overview-panel .service-visual-copy,.contact-hero .service-visual-copy{width:100%}.service-overview-panel:after,.contact-hero:after{background:linear-gradient(90deg,rgba(20,16,33,.93) 0%,rgba(20,16,33,.85) 60%,rgba(20,16,33,.7) 100%)}.service-overview-panel .service-background,.contact-hero .service-background{width:100%;opacity:1;object-position:65% center}.contact-hero{margin:20px 4% 0;padding:42px 24px;min-height:330px}.contact-hero h1{font-size:32px}.contact-hero p{font-size:16px}.service-overview-panel{min-height:420px}}
@media print{.service-overview-panel,.contact-hero{background:#fff;color:#171d2b}.service-overview-panel:after,.contact-hero:after{background:#ffffffdd}.service-overview-panel h2,.service-overview-panel h3,.service-overview-panel p,.service-overview-panel .service-number,.service-overview-panel .text-link,.contact-hero h1,.contact-hero p{color:#171d2b}}

/* v6: about-page foreground copy and integrated visual backgrounds. */
.about-page .about-visual{display:block;position:relative;max-width:1120px;margin:28px auto 0;padding:70px 52px;min-height:380px;border:0;isolation:isolate;background:#211b32;color:#fbfaf7;overflow:hidden;border-radius:26px}
.about-page .about-intro{margin-top:38px;min-height:430px}
.about-visual .about-copy{position:relative;z-index:1;width:64%;max-width:650px}
.about-visual .about-copy h1{font-size:clamp(35px,3.6vw,49px);line-height:1.5}
.about-visual .about-copy h2{font-size:clamp(30px,3vw,39px);line-height:1.5}
.about-visual .about-copy h1,.about-visual .about-copy h2{color:#fbfaf7}
.about-visual .about-copy p{color:#f0edf5;max-width:530px}
.about-visual>.service-background{inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:1;z-index:-2}
.about-visual:after{background:linear-gradient(90deg,rgba(20,16,33,.94) 0%,rgba(20,16,33,.88) 35%,rgba(20,16,33,.66) 60%,rgba(20,16,33,.18) 100%)}
.about-visual .about-scene-note,.about-scene-notes{font-size:11px!important;color:#d8c9ef!important;line-height:1.8;margin:26px 0 0}
.about-scene-notes{display:flex;flex-wrap:wrap;gap:7px 18px}
.about-background-pair{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr;z-index:-2;overflow:hidden}
.about-background-pair .service-background{position:relative;inset:auto;width:100%;height:100%;object-fit:cover;z-index:auto;object-position:center;opacity:1;min-width:0}
.about-page .about-team{background:radial-gradient(ellipse at 85% 50%,#573b79 0%,#2d2243 42%,#211b32 78%)}
.about-team .about-team-art{position:absolute;right:35px;top:50%;translate:0 -50%;width:360px;max-width:45%;z-index:0;opacity:.7;pointer-events:none}
.about-team .about-team-art span{border-color:#b49afb;background:transparent}
.about-team .about-team-art b{color:#c1f58e}
.about-team:after{background:linear-gradient(90deg,#211b32 0%,#211b3299 50%,transparent 100%)}
@media(max-width:1024px){.about-page .about-visual{margin:25px 4% 0;padding:55px 35px}.about-visual .about-copy{width:76%}}
@media(max-width:760px){.about-page .about-visual{margin:20px 4% 0;padding:40px 24px;min-height:340px}.about-page .about-intro{min-height:395px}.about-visual .about-copy{width:100%}.about-visual .about-copy h1{font-size:31px}.about-visual .about-copy h2{font-size:29px}.about-visual .about-copy p{font-size:16px}.about-visual:after{background:linear-gradient(90deg,rgba(20,16,33,.93) 0%,rgba(20,16,33,.85) 60%,rgba(20,16,33,.72) 100%)}.about-visual>.service-background{width:100%;opacity:1;object-position:60% center}.about-background-pair{grid-template-columns:55% 45%}.about-team .about-team-art{right:-15px;max-width:80%;opacity:.35}.about-team:after{background:linear-gradient(90deg,#211b32ee,#211b3280)}.about-scene-notes{display:block}.about-scene-notes span{display:block}}
@media print{.about-page .about-visual{background:#fff;color:#171d2b}.about-visual:after{background:#ffffffdd}.about-visual .about-copy h1,.about-visual .about-copy h2,.about-visual .about-copy p,.about-scene-notes{color:#171d2b!important}.about-team .about-team-art{display:none}}

/* v7: editable link to the complete YouTube collection. */
.work-youtube-more{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-top:56px;padding:32px;border:1px solid #d8d2e2;background:#eee9f4;border-radius:22px}
.work-youtube-more h2{font-size:27px;margin:0 0 10px}.work-youtube-more p{font-size:15px;max-width:580px;margin:0}.work-youtube-more .pill{flex-shrink:0;background:var(--dark);color:#f6f5f1;gap:16px}.work-youtube-more .pill:hover{background:#392b52}.work-youtube-more .pill:focus-visible{outline:3px solid #8062ba;outline-offset:5px}
@media(max-width:760px){.work-youtube-more{display:block;padding:28px 23px;margin-top:38px}.work-youtube-more h2{font-size:25px}.work-youtube-more .pill{margin-top:22px;font-size:14px;padding:12px 18px}}

/* v8: the header name shares the logo edges; desktop team photo gains room. */
.brand .wc-brand-name{display:flex;justify-content:space-between;width:100%;font-size:12px;line-height:1.4;letter-spacing:0;margin-top:5px}
.brand .wc-brand-name span{font:inherit;letter-spacing:0;margin:0}
@media(min-width:761px){.home-intro{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:60px}.home-intro-scene{width:100%;max-width:390px;justify-self:end}}
/* Larger logo stages; position original assets optically without editing the logos. */
.brand-logo-card{flex-basis:200px;min-height:164px;padding:18px 10px;gap:12px}
.brand-logo-stage{position:relative;flex:0 0 92px;width:176px;height:92px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.brand-logo-stage img{width:176px;max-width:176px;height:92px;max-height:92px;object-fit:contain}
.brand-logo-stage.logo-brand-01 img{position:absolute;width:179.60px;height:55.12px;max-width:none;max-height:none;left:-3.70px;top:17.97px}
.brand-logo-stage.logo-brand-02 img{position:absolute;width:172.00px;height:41.85px;max-width:none;max-height:none;left:2.00px;top:25.07px}
.brand-logo-stage.logo-brand-03 img{position:absolute;width:177.42px;height:81.26px;max-width:none;max-height:none;left:-0.71px;top:5.37px}
.brand-logo-stage.logo-brand-04 img{position:absolute;width:172.00px;height:42.77px;max-width:none;max-height:none;left:2.00px;top:24.61px}
.brand-logo-stage.logo-brand-05 img{position:absolute;width:173.51px;height:30.18px;max-width:none;max-height:none;left:0.99px;top:31.42px}
.brand-logo-stage.logo-brand-06 img{position:absolute;width:172.00px;height:33.83px;max-width:none;max-height:none;left:2.00px;top:28.94px}
.brand-logo-stage.logo-brand-07 img{position:absolute;width:172.58px;height:56.37px;max-width:none;max-height:none;left:1.42px;top:17.96px}
.brand-logo-stage.logo-brand-08 img{position:absolute;width:172.58px;height:52.92px;max-width:none;max-height:none;left:1.71px;top:19.54px}
.brand-logo-stage.logo-brand-09 img{position:absolute;width:172.00px;height:38.41px;max-width:none;max-height:none;left:2.00px;top:26.79px}
.brand-logo-stage.logo-brand-10 img{position:absolute;width:192.36px;height:38.67px;max-width:none;max-height:none;left:-6.14px;top:27.17px}
.brand-logo-stage.logo-brand-11 img{position:absolute;width:172.00px;height:32.76px;max-width:none;max-height:none;left:2.00px;top:29.62px}
.brand-logo-stage.logo-brand-12 img{position:absolute;width:172.00px;height:52.78px;max-width:none;max-height:none;left:2.00px;top:19.61px}
.brand-logo-stage.logo-brand-13 img{position:absolute;width:174.05px;height:30.71px;max-width:none;max-height:none;left:2.00px;top:30.64px}
.brand-logo-stage.logo-brand-14 img{position:absolute;width:174.00px;height:46.51px;max-width:none;max-height:none;left:2.00px;top:22.95px}
.brand-logo-stage.logo-brand-15 img{position:absolute;width:172.00px;height:57.33px;max-width:none;max-height:none;left:2.00px;top:17.33px}
.brand-logo-stage.logo-brand-16 img{position:absolute;width:175.72px;height:49.28px;max-width:none;max-height:none;left:0.14px;top:21.36px}
.brand-logo-stage.logo-brand-17 img{position:absolute;width:180.51px;height:180.51px;max-width:none;max-height:none;left:-4.51px;top:-49.90px}
.brand-logo-stage.logo-brand-18 img{position:absolute;width:195.31px;height:84.76px;max-width:none;max-height:none;left:0.94px;top:3.62px}
.brand-logo-stage.logo-brand-19 img{position:absolute;width:88.00px;height:88.00px;max-width:none;max-height:none;left:44.00px;top:2.00px}
.brand-logo-stage.logo-brand-20 img{position:absolute;width:189.35px;height:122.49px;max-width:none;max-height:none;left:-6.68px;top:-15.25px}
.brand-logo-stage.logo-brand-21 img{position:absolute;width:172.00px;height:62.79px;max-width:none;max-height:none;left:2.00px;top:14.60px}
.brand-logo-stage.logo-brand-22 img{position:absolute;width:75.00px;height:75.00px;max-width:none;max-height:none;left:50.50px;top:8.50px}
.brand-logo-stage.logo-brand-23 img{position:absolute;width:176.00px;height:68.57px;max-width:none;max-height:none;left:0.29px;top:12.29px}
.brand-logo-stage.logo-brand-24 img{position:absolute;width:175.72px;height:31.61px;max-width:none;max-height:none;left:0.14px;top:30.19px}
.brand-logo-stage.logo-brand-25 img{position:absolute;width:196.57px;height:196.57px;max-width:none;max-height:none;left:-11.10px;top:-52.29px}
.brand-logo-stage.logo-brand-26 img{position:absolute;width:172.55px;height:51.87px;max-width:none;max-height:none;left:2.00px;top:17.88px}
.brand-logo-stage.logo-brand-27 img{position:absolute;width:174.92px;height:46.16px;max-width:none;max-height:none;left:0.54px;top:22.68px}
.brand-logo-stage.logo-brand-28 img{position:absolute;width:148.65px;height:142.70px;max-width:none;max-height:none;left:13.38px;top:-25.95px}
.brand-logo-stage.logo-brand-29 img{position:absolute;width:172.00px;height:48.23px;max-width:none;max-height:none;left:2.00px;top:21.88px}
.brand-logo-stage.logo-brand-31 img{position:absolute;width:122.79px;height:122.79px;max-width:none;max-height:none;left:26.35px;top:-17.44px}
.brand-logo-stage.logo-brand-33 img{position:absolute;width:174.62px;height:32.30px;max-width:none;max-height:none;left:0.54px;top:30.87px}
.brand-logo-stage.logo-brand-34 img{position:absolute;width:89.12px;height:89.87px;max-width:none;max-height:none;left:44.00px;top:0.88px}
@media(max-width:760px){.brand-logo-card{flex-basis:200px;min-height:164px}}

/* Mobile intro photo and the transition to the brand carousel. */
@media(max-width:760px){
 .home-intro{padding-bottom:30px;gap:24px}
 .home-intro-scene{width:min(270px,82vw);max-width:270px;margin-top:0;margin-bottom:0}
 .home-brands{padding-top:28px}
}

.back-to-top{position:fixed;right:22px;bottom:22px;z-index:39;width:52px;height:58px;border:1px solid #cfa963;background:#131021;color:#f5f2fa;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;box-shadow:0 6px 16px #13102120}
.back-to-top svg{width:22px;height:22px}.back-to-top span{font-size:10px;letter-spacing:.08em;line-height:1.4}
.back-to-top:hover{background:#382c52}.back-to-top:focus-visible{outline:3px solid #7957d6;outline-offset:4px}
body:has(.preview-toolbar) .back-to-top{bottom:82px}
@media(max-width:760px){.back-to-top{right:16px;bottom:calc(16px + env(safe-area-inset-bottom));width:48px;height:54px}}
@media print{.back-to-top{display:none!important}}

/* v1.1.8: the About background shares the supplied particle-cloth motion. */
.about-team .about-team-art.wc-cloth-stage{inset:0 0 0 auto;translate:none;width:82%;max-width:none;height:100%;aspect-ratio:auto;animation:none;opacity:1;mask-image:linear-gradient(90deg,transparent 0%,#0002 27%,#000 57%);pointer-events:none}
.wc-cloth-stage canvas{position:absolute;inset:0;display:block;width:100%;height:100%}
.wc-cloth-stage canvas[hidden]{display:none}
.cloth-toggle{position:absolute;left:52px;right:auto;bottom:16px;z-index:2;display:grid;place-items:center;width:44px;height:44px;border:1px solid #b7a2d080;border-radius:50%;background:#211b32bf;color:#e9e2f3;transition:background .2s,border-color .2s}
.cloth-toggle[hidden]{display:none}.cloth-toggle:hover{background:#382c52;border-color:#c1f58e}.cloth-toggle:focus-visible{outline:2px solid #c1f58e;outline-offset:4px}
/* Keep a native scroll surface; the center receives depth rather than blur. */
.wc-brand-depth .brand-rail{gap:56px;position:relative;perspective:1100px;perspective-origin:50% 50%;align-items:center;padding-top:44px;padding-bottom:48px;touch-action:pan-x pan-y;min-height:256px}
.wc-brand-depth .brand-logo-card{--brand-scale:1;--brand-yaw:0deg;--brand-z:0px;--brand-lift:0;position:relative;flex-shrink:0;transform-origin:50% 50%;transform:translateZ(var(--brand-z)) rotateY(var(--brand-yaw)) scale(calc(var(--brand-scale) + var(--brand-lift)));transition:transform .22s cubic-bezier(.16,1,.3,1),box-shadow .22s;background:#fdfcf9;box-shadow:0 5px 13px #211b3208;backface-visibility:hidden}
.wc-brand-depth .brand-logo-card>span{font-size:12px;color:#383244}
@media(hover:hover) and (pointer:fine){.wc-brand-depth .brand-logo-card:hover{--brand-lift:.12;z-index:40!important;box-shadow:0 12px 22px #211b321c}}
@media(max-width:760px){.about-team .about-team-art.wc-cloth-stage{width:100%;opacity:.4;mask-image:linear-gradient(110deg,transparent 10%,#000 70%)}.cloth-toggle{left:24px;right:auto;bottom:12px}.wc-brand-depth .brand-rail{gap:40px;min-height:246px;padding-top:36px;padding-bottom:42px}}
@media(prefers-reduced-motion:reduce){.wc-brand-depth .brand-logo-card{transition:none;transform:none}.cloth-toggle{transition:none}}
@media print{.wc-brand-depth .brand-logo-card{transform:none!important;box-shadow:none}.cloth-toggle,.wc-cloth-stage{display:none!important}}
