:root{--bg:#151515;--dark:#1d1d1d;--ink:#202020;--white:#fff;--paper:#f5f5f3;--lime:#ddf160;--violet:#9f8be7;--line:#383838;--muted:#999;--pad:clamp(22px,4.5vw,84px);--ease:cubic-bezier(.2,.75,.25,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg)}body{margin:0;background:var(--bg);color:#fff;font:400 16px/1.5 "Funnel Display",sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}.eyebrow{font:500 .7rem "DM Mono",monospace;text-transform:uppercase;letter-spacing:.08em}.reveal{opacity:0;transform:translateY(30px);transition:opacity .85s var(--ease),transform .85s var(--ease)}.reveal.is-visible{opacity:1;transform:none}
.page-loader{position:fixed;inset:0;z-index:2000;display:grid;place-content:center;gap:22px;background:var(--lime);color:var(--ink);text-align:center;transition:transform .8s var(--ease) .1s}.page-loader strong{font-size:clamp(2rem,5vw,4rem);letter-spacing:-.07em}.page-loader i{width:150px;height:2px;background:#b8c94b;overflow:hidden}.page-loader i:after{content:"";display:block;width:100%;height:100%;background:var(--ink);animation:load 1s var(--ease);transform-origin:left}@keyframes load{from{transform:scaleX(0)}to{transform:scaleX(1)}}body.is-loaded .page-loader{transform:translateY(-105%)}
.cursor{position:fixed;z-index:1000;width:14px;height:14px;border:1px solid #fff;border-radius:50%;pointer-events:none;mix-blend-mode:difference;transform:translate(-50%,-50%);transition:width .2s,height .2s;display:none}.cursor.is-big{width:50px;height:50px}.scroll-progress{position:fixed;z-index:110;right:17px;bottom:20px;display:flex;align-items:center;gap:8px;color:#fff;mix-blend-mode:difference;font:500 .62rem "DM Mono",monospace;pointer-events:none}.scroll-progress>i{width:2px;height:52px;background:#555;position:relative}.scroll-progress>i:after{content:"";position:absolute;inset:0;background:#fff;transform:scaleY(var(--scroll-progress,0));transform-origin:bottom}
.site-header{position:fixed;z-index:100;inset:0 0 auto;height:104px;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;transition:transform .4s var(--ease),background .3s}.site-header.is-hidden{transform:translateY(-100%)}.logo{font-size:1.5rem;font-weight:600;letter-spacing:-.065em}.logo span{color:var(--lime)}.desktop-nav{position:absolute;left:50%;transform:translateX(-50%);display:flex;gap:42px;padding:21px 38px;border-radius:20px;background:rgba(29,29,29,.88);backdrop-filter:blur(16px)}.desktop-nav a{font-size:.76rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase}.desktop-nav a:after{content:"";display:block;height:1px;background:var(--lime);transform:scaleX(0);transform-origin:left;transition:.3s}.desktop-nav a:hover:after{transform:scaleX(1)}.nav-cta{width:52px;height:52px;border:1px solid #484848;border-radius:50%;display:grid;place-items:center;font-size:1.05rem}.nav-cta:hover{background:var(--lime);border-color:var(--lime);color:var(--ink)}.menu-toggle{display:none;width:44px;height:44px;border:0;background:none;color:#fff}.menu-toggle i{display:block;width:24px;height:1px;margin:7px auto;background:currentColor}
.neo-hero{position:relative;min-height:100svh;padding:145px var(--pad) 42px;display:grid;place-items:center;overflow:hidden}.neo-hero:after{content:"";position:absolute;z-index:1;left:0;right:0;bottom:-1px;height:16vh;min-height:110px;background:linear-gradient(to bottom,transparent,var(--bg) 94%);pointer-events:none}.hero-media{position:absolute;z-index:0;inset:-10% -3% -16%;overflow:hidden;opacity:.92;mask-image:linear-gradient(to bottom,#000 0%,#000 54%,rgba(0,0,0,.84) 65%,transparent 86%);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 54%,rgba(0,0,0,.84) 65%,transparent 86%)}.hero-media img{width:100%;height:100%;display:block;object-fit:cover;object-position:center top;transform:translate3d(0,var(--hero-parallax,0px),0) scale(1.1);will-change:transform}.hero-media:after{content:"";position:absolute;left:-3%;right:-3%;bottom:12%;height:36%;background:linear-gradient(to bottom,transparent 0%,rgba(21,21,21,.55) 46%,var(--bg) 96%);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);mask-image:linear-gradient(to bottom,transparent,#000 38%);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 38%)}.hero-grid{z-index:1;position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:8.33vw 8.33vw;mask-image:radial-gradient(circle at center,#000,transparent 76%)}.hero-glow{position:absolute;border-radius:50%;filter:blur(12px);will-change:translate}.hero-glow--one{width:42vw;height:42vw;left:29%;top:20%;background:radial-gradient(circle,rgba(221,241,96,.16),rgba(221,241,96,0) 68%)}.hero-glow--two{width:25vw;height:25vw;right:10%;bottom:3%;background:radial-gradient(circle,rgba(159,139,231,.17),rgba(159,139,231,0) 70%)}.hero-ring{position:absolute;width:min(62vw,950px);aspect-ratio:1;border:1px solid #303030;border-radius:50%;display:grid;place-items:center;will-change:translate;animation:slowSpin 28s linear infinite}.hero-ring:before,.hero-ring:after,.hero-ring i{content:"";position:absolute;border:1px solid #292929;border-radius:50%}.hero-ring:before{inset:11%}.hero-ring:after{inset:24%}.hero-ring i:nth-child(1){width:10px;height:10px;top:5%;background:var(--lime);border:0}.hero-ring i:nth-child(2){width:6px;height:6px;right:12%;bottom:18%;background:var(--violet);border:0}.hero-ring i:nth-child(3){inset:37%;border-color:#343434}@keyframes slowSpin{to{transform:rotate(360deg)}}.hero-meta{position:absolute;top:128px;left:var(--pad);right:var(--pad);display:flex;justify-content:space-between;padding-top:18px;border-top:1px solid #333;color:#858585;font:500 .65rem "DM Mono",monospace;text-transform:uppercase;letter-spacing:.07em}.hero-meta b{display:inline-block;width:7px;height:7px;margin-right:9px;border-radius:50%;background:var(--lime)}.hero-center{position:relative;z-index:2;width:100%;text-align:center}.hero-code{font:500 .64rem "DM Mono",monospace;color:#7e7e7e;letter-spacing:.09em}.hero-center h1{margin:45px auto 34px;font-size:clamp(4.4rem,9.2vw,11rem);font-weight:400;line-height:.72;letter-spacing:-.075em}.hero-center h1 span{display:block;overflow:hidden}.hero-center h1 .accent{color:var(--lime)}.hero-center p{max-width:560px;margin:0 auto;color:#aaa;font-size:clamp(1rem,1.2vw,1.25rem)}.hero-link{width:260px;margin:40px auto 0;padding:13px 0;display:flex;justify-content:space-between;border-bottom:1px solid #707070;font-size:.84rem}.hero-foot{position:absolute;left:var(--pad);right:var(--pad);bottom:34px;display:grid;grid-template-columns:repeat(4,1fr);padding-top:18px;border-top:1px solid #333;color:#777;font:500 .64rem "DM Mono",monospace;text-transform:uppercase}.hero-foot span{text-align:center}.hero-foot span:first-child{text-align:left}.hero-foot span:last-child{text-align:right}
.statement{min-height:90vh;padding:15vh var(--pad);display:grid;place-content:center;text-align:center}.statement .eyebrow{color:#777}.statement h2,.section-heading h2,.contact-heading h2{margin:35px 0;font-size:clamp(3.5rem,7vw,8rem);font-weight:400;line-height:.88;letter-spacing:-.07em}.statement h2 em,.section-heading h2 em,.contact-heading h2 em{color:var(--lime);font-style:normal}.statement p{max-width:650px;margin:0 auto;color:#999;font-size:1.1rem}
.showcase{padding:0 24px 18vh;display:flex;flex-direction:column;gap:24px}.showcase-panel{position:relative;min-height:min(86vh,880px);padding:clamp(44px,5vw,88px);border-radius:34px;overflow:hidden;color:var(--ink)}.showcase-panel--lime{background:var(--lime)}.showcase-panel--white{background:var(--paper)}.showcase-panel--violet{background:var(--violet)}.panel-no{position:relative;z-index:5;text-align:center;font:500 .68rem "DM Mono",monospace}.panel-copy{position:relative;z-index:4;max-width:680px;margin:9vh auto 0;text-align:center}.panel-copy h2{margin:0;font-size:clamp(4rem,7vw,8.2rem);font-weight:400;line-height:.78;letter-spacing:-.075em}.panel-copy p{max-width:540px;margin:38px auto 0;color:#4f4f4f;font-size:1.05rem}.panel-stage,.brand-stage,.motion-stage{position:absolute;inset:15% 12% 8%;will-change:translate}.browser-frame{position:absolute;left:50%;bottom:-16%;width:min(56vw,950px);height:58%;transform:translateX(-50%) perspective(1000px) rotateX(7deg);border:1px solid rgba(0,0,0,.2);background:#f7f7f5;box-shadow:0 30px 80px rgba(55,65,20,.25)}.browser-top{height:42px;padding:0 16px;display:flex;align-items:center;gap:7px;border-bottom:1px solid #ddd}.browser-top i{width:7px;height:7px;border:1px solid #999;border-radius:50%}.browser-top span{margin:auto;color:#777;font:500 .55rem "DM Mono",monospace}.browser-body{height:calc(100% - 42px);padding:5% 7%;position:relative;overflow:hidden;color:#171717}.browser-body small{font:500 .55rem "DM Mono",monospace}.browser-body strong{display:block;margin-top:16px;font-size:clamp(2rem,4vw,5rem);line-height:.86;letter-spacing:-.07em}.browser-chart{position:absolute;right:6%;bottom:8%;width:38%;height:45%;display:flex;gap:8%;align-items:end;border-bottom:1px solid #bbb}.browser-chart i{flex:1;background:#171717;height:45%}.browser-chart i:nth-child(2){height:68%}.browser-chart i:nth-child(3){height:52%}.browser-chart i:nth-child(4){height:84%}.browser-chart i:nth-child(5){height:100%;background:var(--violet)}.brand-stage{display:flex;align-items:center;justify-content:center;gap:0;opacity:.98}.brand-stage span{font-size:clamp(13rem,27vw,34rem);font-weight:600;line-height:.7;letter-spacing:-.18em;color:transparent;-webkit-text-stroke:1px #c9c9c6}.brand-stage span+span{color:#191919;-webkit-text-stroke:0}.brand-stage i{position:absolute;right:19%;bottom:8%;font:500 .68rem "DM Mono",monospace;color:#777}.motion-stage{display:grid;place-items:center}.motion-stage>strong{position:relative;z-index:2;font-size:clamp(10rem,23vw,29rem);font-weight:600;line-height:.7;letter-spacing:-.12em;color:#7f6bc9}.motion-orbit{position:absolute;width:min(48vw,700px);aspect-ratio:1;border:1px solid rgba(31,31,31,.22);border-radius:50%;animation:slowSpin 18s linear infinite}.motion-orbit:before,.motion-orbit:after{content:"";position:absolute;border:1px solid rgba(31,31,31,.18);border-radius:50%}.motion-orbit:before{inset:14%}.motion-orbit:after{inset:29%}.motion-orbit i{position:absolute;width:18px;height:18px;border-radius:50%;background:var(--lime)}.motion-orbit i:nth-child(1){top:9%;left:23%}.motion-orbit i:nth-child(2){right:5%;top:45%;background:#fff}.motion-orbit i:nth-child(3){bottom:3%;left:47%;background:var(--ink)}.panel-bottom{position:absolute;z-index:5;left:clamp(44px,5vw,88px);right:clamp(44px,5vw,88px);bottom:34px;display:grid;grid-template-columns:repeat(3,1fr) 2fr;padding-top:16px;border-top:1px solid rgba(31,31,31,.25);font:500 .63rem "DM Mono",monospace;text-transform:uppercase}.panel-bottom b{text-align:right}
.services{padding:clamp(140px,17vw,270px) var(--pad)}.section-heading{text-align:center;max-width:1500px;margin:0 auto 12vh}.section-heading .eyebrow{color:#777}.section-heading p{max-width:560px;margin:0 auto;color:#999;font-size:1.05rem}.service-list{border-top:1px solid var(--line)}.service-row{border-bottom:1px solid var(--line)}.service-toggle{width:100%;min-height:180px;padding:34px 0;display:grid;grid-template-columns:10% 35% 1fr 46px;gap:3vw;align-items:center;background:transparent;border:0;color:#fff;text-align:left}.service-no{color:#777;font:500 .7rem "DM Mono",monospace}.service-toggle h3{margin:0;font-size:clamp(2rem,3.8vw,4.4rem);font-weight:400;letter-spacing:-.055em}.service-toggle>p{max-width:500px;margin:0;color:#999;font-size:1rem}.service-arrow{position:relative;width:44px;height:44px;border:1px solid #555;border-radius:50%}.service-arrow i{position:absolute;left:13px;right:13px;top:21px;height:1px;background:#fff;transition:.3s}.service-arrow i+i{transform:rotate(90deg)}.service-row:hover .service-toggle h3{color:var(--lime)}.service-row.is-open{border-color:var(--lime)}.service-row.is-open .service-arrow{background:var(--lime);border-color:var(--lime)}.service-row.is-open .service-arrow i{background:var(--ink)}.service-row.is-open .service-arrow i+i{transform:rotate(0)}.service-panel{display:grid;grid-template-columns:1.2fr 1fr .7fr;gap:5vw;max-height:0;padding:0 5% 0 10%;overflow:hidden;opacity:0;background:#1b1b1b;transition:max-height .55s var(--ease),padding .55s var(--ease),opacity .35s}.service-panel[hidden]{display:grid}.service-row.is-open .service-panel{max-height:520px;padding:42px 5% 48px 10%;opacity:1}.service-panel>div>span{display:block;margin-bottom:16px;color:#777;font:500 .65rem "DM Mono",monospace;text-transform:uppercase}.service-panel ul{list-style:none;margin:0;padding:0}.service-panel li{margin:7px 0;color:#c4c4c4}.service-panel li:before{content:"—";margin-right:9px;color:var(--lime)}.service-panel p{margin:0;color:#c4c4c4}.service-panel strong{display:block;font-size:1.45rem}.service-panel a{display:inline-block;margin-top:27px;padding-bottom:5px;border-bottom:1px solid #666;font-size:.82rem}
.process{position:relative;min-height:100svh;padding:clamp(120px,14vw,230px) var(--pad);overflow:hidden;background:var(--paper);color:var(--ink)}.process .section-heading{position:relative;z-index:3;margin-bottom:10vw}.process .section-heading .eyebrow{color:#777}.process .section-heading h2 em{color:#7866bd}.process-orbit{position:absolute;left:50%;top:43%;width:min(50vw,760px);aspect-ratio:1;translate:-50% -50%;border:1px solid #d5d5d1;border-radius:50%;display:grid;place-items:center;will-change:translate}.process-orbit i{position:absolute;inset:17%;border:1px solid #d8d8d4;border-radius:50%}.process-orbit b{font-size:clamp(7rem,14vw,17rem);letter-spacing:-.12em;color:#e5e5e1}.process ol{position:relative;z-index:4;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid #c7c7c2}.process li{min-height:330px;padding:28px;display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid #c7c7c2;background:rgba(245,245,243,.72);backdrop-filter:blur(4px)}.process li:last-child{border:0}.process li>span{font:500 .68rem "DM Mono",monospace;color:#777}.process h3{margin:0 0 10px;font-size:1.6rem}.process p{margin:0;color:#666}
.contact{min-height:100svh;padding:clamp(140px,17vw,270px) var(--pad);display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:center}.contact-heading h2 em{color:var(--lime)}.contact-heading p{max-width:470px;color:#999;font-size:1.05rem}.contact-heading>a{display:inline-block;margin-top:28px;padding-bottom:7px;border-bottom:1px solid #666;font-weight:600}.contact-form>label{display:block;margin-bottom:30px}.contact-form label>span,.contact-form legend{display:block;margin-bottom:8px;color:#999;font:500 .65rem "DM Mono",monospace;text-transform:uppercase;letter-spacing:.08em}.contact-form input[type=text],.contact-form input[type=email],.contact-form textarea{width:100%;padding:11px 0;border:0;border-bottom:1px solid #555;border-radius:0;outline:0;background:transparent;color:#fff}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--lime)}.contact-form textarea{resize:vertical}.contact-form fieldset{margin:0 0 32px;padding:0;border:0}.choices{display:flex;gap:8px;flex-wrap:wrap}.choices label input{position:absolute;opacity:0}.choices label span{display:block!important;margin:0!important;padding:8px 13px;border:1px solid #555;border-radius:999px;color:#aaa!important;cursor:pointer;font-family:"Funnel Display",sans-serif!important;font-size:.75rem!important;text-transform:none!important;letter-spacing:0!important}.choices label input:checked+span{background:var(--lime);border-color:var(--lime);color:var(--ink)!important}.form-bottom{display:flex;justify-content:space-between;gap:20px;align-items:end}.form-bottom p{max-width:180px;margin:0;color:#777;font-size:.7rem}.submit-btn{display:flex;justify-content:space-between;gap:42px;padding:17px 20px;border:0;background:var(--lime);color:var(--ink);font-weight:600}.submit-btn:disabled{opacity:.5}.form-status{min-height:1.2em;margin-top:15px;font-size:.78rem}.form-status.error{color:#ff8c75}.hp{position:absolute!important;left:-9999px!important}footer{padding:48px var(--pad);display:grid;grid-template-columns:1fr 1fr 1fr;align-items:end;border-top:1px solid #282828;background:#0a0a0a}footer p{margin:0;color:#777;text-align:center;font-size:.7rem}footer>div{display:flex;justify-content:flex-end;gap:20px;font-size:.7rem}footer a:hover{color:var(--lime)}
@media(hover:hover) and (pointer:fine){.cursor{display:block}}
@media(max-width:950px){.desktop-nav{display:none}.nav-cta{display:none}.menu-toggle{display:block}.site-header.menu-open{background:#111}.site-header.menu-open .desktop-nav{position:fixed;display:flex;inset:104px 0 auto;height:calc(100svh - 104px);transform:none;border-radius:0;flex-direction:column;align-items:center;justify-content:center;background:#111}.site-header.menu-open .desktop-nav a{font-size:1.8rem}.hero-ring{width:85vw}.showcase-panel{min-height:780px}.browser-frame{width:78vw}.service-toggle{grid-template-columns:10% 40% 1fr 44px}.service-panel{padding-left:0}.service-row.is-open .service-panel{padding-left:0}.process ol{grid-template-columns:1fr 1fr}.process li:nth-child(2){border-right:0}.process li:nth-child(-n+2){border-bottom:1px solid #c7c7c2}.contact{grid-template-columns:1fr}footer{grid-template-columns:1fr;gap:20px}footer p{text-align:left}footer>div{justify-content:flex-start}}
@media(max-width:650px){.site-header{height:78px}.neo-hero{min-height:900px;padding:112px 22px 30px}.hero-meta{top:92px;left:22px;right:22px}.hero-meta span:last-child{display:none}.hero-ring{width:130vw}.hero-center h1{font-size:clamp(3.8rem,17vw,5.8rem);line-height:.78}.hero-center p{max-width:90%}.hero-foot{left:22px;right:22px;grid-template-columns:1fr 1fr;gap:8px}.hero-foot span,.hero-foot span:first-child,.hero-foot span:last-child{text-align:center}.statement{padding-inline:22px}.statement h2,.section-heading h2,.contact-heading h2{font-size:3.55rem}.showcase{padding-inline:8px;gap:8px}.showcase-panel{min-height:760px;padding:36px 22px;border-radius:24px}.panel-copy{margin-top:9vh}.panel-copy h2{font-size:3.8rem}.panel-copy p{font-size:.98rem}.panel-stage,.brand-stage,.motion-stage{inset:28% 2% 10%}.browser-frame{width:92vw;height:43%;bottom:7%}.brand-stage span{font-size:49vw}.motion-stage>strong{font-size:39vw}.motion-orbit{width:88vw}.panel-bottom{left:22px;right:22px;grid-template-columns:1fr 1fr;gap:7px}.panel-bottom b{text-align:left}.services{padding-inline:22px}.service-toggle{min-height:280px;grid-template-columns:1fr 42px;grid-template-rows:auto auto auto;gap:18px;padding:36px 0}.service-no{grid-column:1}.service-toggle h3{grid-column:1/3;font-size:2.8rem}.service-toggle>p{grid-column:1/3}.service-arrow{grid-column:2;grid-row:1}.service-panel{grid-template-columns:1fr}.service-row.is-open .service-panel{max-height:1000px;padding:30px 0 40px}.process{padding-inline:22px}.process-orbit{width:120vw}.process ol{grid-template-columns:1fr}.process li{min-height:250px;border-right:0;border-bottom:1px solid #c7c7c2}.contact{padding-inline:22px}.form-bottom{display:block}.submit-btn{width:100%;margin-top:22px}.scroll-progress{display:none}footer{padding-inline:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.hero-ring,.motion-orbit{animation:none}.page-loader i:after{animation:none}}

/* Clean art direction: sticky scenes, visible depth, no decorative noise */
.neo-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 20%,rgba(221,241,96,.055) 48%,transparent 74%);transform:translateX(-35%);animation:heroSweep 8s var(--ease) infinite alternate;pointer-events:none}
@keyframes heroSweep{to{transform:translateX(35%)}}
.hero-grid{opacity:.62;mask-image:linear-gradient(to bottom,black,transparent 88%)}
.hero-center h1{margin-top:0}.hero-center p{font-size:clamp(1.05rem,1.35vw,1.35rem)}

.showcase{position:relative;display:block;padding-bottom:24vh}
.showcase-panel{position:sticky;top:96px;height:calc(100svh - 116px);min-height:680px;margin-bottom:22vh;transform-origin:center top;box-shadow:0 -24px 65px rgba(0,0,0,.18)}
.showcase-panel:nth-child(1){z-index:1}.showcase-panel:nth-child(2){z-index:2}.showcase-panel:nth-child(3){z-index:3;margin-bottom:0}
.showcase:after{content:"";display:block;height:calc(100svh - 116px)}
.panel-copy{margin-top:5vh}.panel-copy p{font-size:clamp(1.08rem,1.4vw,1.4rem);max-width:600px}
.panel-stage,.brand-stage,.motion-stage{inset:24% 8% 2%}
.browser-frame{bottom:-6%;height:57%}
.browser-body{height:100%;padding-top:6%}
.brand-stage span{font-size:clamp(14rem,29vw,36rem)}
.motion-stage{display:grid;place-items:center}
.motion-sheets{position:relative;width:min(62vw,1050px);height:min(42vw,600px);perspective:1200px}
.motion-sheets i{position:absolute;inset:8% 12%;display:block;border:1px solid rgba(31,31,31,.22);background:rgba(255,255,255,.14);backdrop-filter:blur(4px);transform:rotateX(58deg) rotateZ(-12deg);box-shadow:0 35px 70px rgba(74,57,137,.18)}
.motion-sheets i:nth-child(2){transform:translateY(14%) rotateX(58deg) rotateZ(-12deg);background:rgba(221,241,96,.82)}
.motion-sheets i:nth-child(3){transform:translateY(28%) rotateX(58deg) rotateZ(-12deg);background:#202020}
.process:before{content:"MBR";position:absolute;left:50%;top:46%;translate:-50% -50%;font-size:clamp(10rem,25vw,30rem);font-weight:600;letter-spacing:-.13em;color:#e5e5e1;pointer-events:none}

@media(max-width:650px){.showcase{padding-inline:8px}.showcase:after{height:calc(100svh - 90px)}.showcase-panel{top:78px;height:calc(100svh - 90px);min-height:680px;margin-bottom:16vh}.panel-copy{margin-top:3vh}.panel-stage,.brand-stage,.motion-stage{inset:30% 0 1%}.motion-sheets{width:95vw;height:72vw}.process:before{top:51%}}

/* General capabilities — editorial, not an offer calculator */
.service-stories{border-top:1px solid var(--line)}
.service-story{min-height:620px;padding:70px 0;display:grid;grid-template-columns:8% 27% 34% 1fr;grid-template-rows:auto 1fr;gap:0 3vw;border-bottom:1px solid var(--line);align-items:start}
.story-no{grid-column:1;color:#7c7e87;font:500 .72rem "DM Mono",monospace}
.service-story h3{grid-column:2;grid-row:1/3;align-self:end;margin:0;font-size:clamp(2.8rem,4.4vw,5.2rem);font-weight:500;line-height:.92;letter-spacing:-.06em}
.story-visual{grid-column:3;grid-row:1/3;align-self:center;height:430px;position:relative;overflow:hidden;border-radius:60px;background:#202020;will-change:translate}
.story-copy{grid-column:4;grid-row:1/3;min-height:430px;display:flex;flex-direction:column;justify-content:space-between;padding:4px 0}
.story-copy p{margin:0;font-size:clamp(1.35rem,1.75vw,2rem);line-height:1.22;color:#858792}.story-copy p strong{color:#fff;font-weight:600}
.story-copy>div{display:grid;grid-template-columns:1fr 1fr;gap:12px}.story-copy span{color:#858792;font:500 .7rem "DM Mono",monospace;text-transform:uppercase}
.story-visual--strategy{display:flex;align-items:center;justify-content:center;gap:8%}.story-visual--strategy i{display:block;width:17%;height:64%;background:var(--lime)}.story-visual--strategy i:nth-child(2){height:42%;background:#fff}.story-visual--strategy i:nth-child(3){height:78%;background:var(--violet)}
.story-visual--digital{padding:11%;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:12px;background:#ececea}.story-visual--digital i{display:block;background:#191919}.story-visual--digital i:first-child{grid-column:1/3}.story-visual--digital i:nth-child(2){background:var(--lime)}.story-visual--digital i:nth-child(3){background:var(--violet)}
.story-visual--brand{display:grid;place-items:center;background:#fff;color:#1f1f1f}.story-visual--brand b{font-size:clamp(6rem,10vw,12rem);font-weight:600;letter-spacing:-.12em;transform:rotate(-6deg)}
.story-visual--content{background:var(--violet);perspective:800px}.story-visual--content i{position:absolute;left:16%;right:16%;height:47%;top:10%;border:1px solid rgba(31,31,31,.22);background:rgba(255,255,255,.38);transform:rotateX(58deg) rotateZ(-10deg)}.story-visual--content i:nth-child(2){top:27%;background:var(--lime)}.story-visual--content i:nth-child(3){top:44%;background:#1f1f1f}
.story-visual--development{padding:13%;display:flex;flex-direction:column;justify-content:center;gap:10%;background:#111}.story-visual--development i{display:block;height:7px;background:#555}.story-visual--development i:nth-child(1){width:72%;background:var(--lime)}.story-visual--development i:nth-child(2){width:46%}.story-visual--development i:nth-child(3){width:84%;background:var(--violet)}.story-visual--development i:nth-child(4){width:58%}
.story-visual--ecommerce{padding:10%;display:grid;grid-template-columns:1fr 1fr;gap:12px;background:var(--lime)}.story-visual--ecommerce i{background:#fff}.story-visual--ecommerce i:nth-child(2),.story-visual--ecommerce i:nth-child(3){background:#202020}.story-visual--ecommerce i:nth-child(4){background:var(--violet)}
.story-visual--graphic{padding:9%;display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:1fr 1fr;gap:12px;background:#e6e6e3}.story-visual--graphic i{background:#202020}.story-visual--graphic i:first-child{grid-row:1/3;background:var(--violet)}.story-visual--graphic i:last-child{background:var(--lime)}
.story-visual--print{background:#202020;perspective:900px}.story-visual--print i{position:absolute;display:block;width:46%;height:62%;left:27%;top:18%;background:#fff;box-shadow:0 30px 55px rgba(0,0,0,.32);transform:rotateY(-18deg) rotateZ(-5deg)}.story-visual--print i:nth-child(2){background:var(--lime);transform:translate(12%,-5%) rotateY(-18deg) rotateZ(1deg)}.story-visual--print i:nth-child(3){background:var(--violet);transform:translate(24%,-10%) rotateY(-18deg) rotateZ(7deg)}
.story-visual--support{padding:12%;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:10px;background:#151515}.story-visual--support i{display:block;border:1px solid #505050;background:#202020}.story-visual--support i:first-child{grid-column:1/3;background:linear-gradient(90deg,var(--lime) 72%,#2a2a2a 72%)}.story-visual--support i:nth-child(2){background:var(--violet)}.story-visual--support i:nth-child(4){background:#fff}

@media(max-width:1000px){.service-story{grid-template-columns:8% 34% 1fr;grid-template-rows:auto auto;min-height:700px}.service-story h3{grid-column:2;grid-row:1}.story-visual{grid-column:2;grid-row:2;height:360px;margin-top:40px}.story-copy{grid-column:3;grid-row:1/3;min-height:520px}}
@media(max-width:650px){.service-story{display:grid;grid-template-columns:1fr;min-height:0;padding:50px 0;gap:24px}.story-no,.service-story h3,.story-visual,.story-copy{grid-column:1;grid-row:auto}.service-story h3{font-size:3rem}.story-visual{height:310px;margin:0}.story-copy{min-height:0;gap:45px}.story-copy p{font-size:1.3rem}}

/* Continuous sticky stack: no gaps and no dead-scroll between scenes */
.showcase{padding-bottom:0}
.showcase-panel,.showcase-panel:nth-child(3){margin-bottom:0}
.showcase:after{height:calc(100svh - 116px)}
@media(max-width:650px){.showcase-panel{margin-bottom:0}.showcase:after{height:calc(100svh - 90px)}}

/* The final scene covers the stack, then leaves with the document — no frozen scroll */
.showcase:after{content:none;display:none}
.showcase-panel:nth-child(3){position:relative;top:auto;margin-bottom:0}

/* Clean showcase cards: message only, without decorative mockups */
.showcase-panel{display:grid;place-items:center}
.showcase-panel .panel-copy{margin:0 auto;max-width:min(1180px,90%)}
.showcase-panel .panel-copy h2{line-height:.86}

/* The incoming showcase card gently pushes the previous one into the background. */
.showcase-panel{
  --stack-progress:0;
  --stack-blur-progress:0;
  transform:translateY(calc(var(--stack-progress) * 14px)) scale(calc(1 - var(--stack-progress) * .055));
  filter:blur(calc(var(--stack-blur-progress) * 3.5px)) brightness(calc(1 - var(--stack-blur-progress) * .08));
  opacity:calc(1 - var(--stack-progress) * .04);
  will-change:transform,filter,opacity;
}
@media(prefers-reduced-motion:reduce){.showcase-panel{transform:none;filter:none;opacity:1}}

/* Compact service index */
.services{padding-top:clamp(105px,11vw,175px);padding-bottom:clamp(105px,11vw,175px)}
.services .section-heading{margin-bottom:8vh}
.service-story{min-height:420px;padding:44px 0;grid-template-columns:6% 27% 31% 1fr;gap:0 2.5vw}
.service-story h3{font-size:clamp(2.35rem,3.45vw,4rem);max-width:300px}
.story-visual{height:290px}
.story-copy{min-height:290px}
.story-copy p{font-size:clamp(1.08rem,1.35vw,1.5rem);line-height:1.25}
.story-copy>div{gap:8px 20px}.story-copy span{font-size:.64rem}
@media(max-width:1000px){.service-story{min-height:500px;grid-template-columns:7% 35% 1fr;padding:42px 0}.story-visual{height:270px;margin-top:28px}.story-copy{min-height:400px}.service-story h3{font-size:clamp(2.25rem,4.5vw,3.4rem)}}
@media(max-width:650px){.services{padding-top:90px;padding-bottom:90px}.services .section-heading{margin-bottom:55px}.service-story{padding:38px 0;gap:18px}.service-story h3{font-size:2.7rem}.story-visual{height:240px}.story-copy{gap:30px}.story-copy p{font-size:1.12rem}}

/* Left-aligned service rows with explicit asset placeholders */
.service-story{position:relative;grid-template-columns:28% 33% 1fr;grid-template-rows:1fr;gap:0 3vw;align-items:start}
.story-no{position:absolute;left:0;top:46px}
.service-story h3{grid-column:1;grid-row:1;align-self:start;padding-top:46px;margin:0;max-width:330px}
.story-visual{grid-column:2;grid-row:1;align-self:start;margin:0}
.story-copy{grid-column:3;grid-row:1;min-height:290px;align-self:start}
.story-placeholder{display:grid;place-items:center;padding:30px;background:#1c1c1c!important;border:1px dashed #565656;color:#8d8d8d;text-align:center}
.story-placeholder:before{content:"PLACEHOLDER";position:absolute;left:18px;top:16px;color:#666;font:500 .58rem "DM Mono",monospace;letter-spacing:.08em}
.story-placeholder>span{font:500 .7rem/1.65 "DM Mono",monospace;text-transform:uppercase;letter-spacing:.04em}.story-placeholder b{color:#d1d1d1;font-weight:500}
.story-placeholder--video:after{content:"▶";position:absolute;right:18px;bottom:14px;color:var(--lime);font-size:1rem}
@media(max-width:1000px){.service-story{grid-template-columns:27% 32% 1fr;grid-template-rows:1fr;min-height:420px}.story-no{top:42px}.service-story h3{grid-column:1;grid-row:1;padding-top:42px}.story-visual{grid-column:2;grid-row:1;height:270px;margin:0}.story-copy{grid-column:3;grid-row:1;min-height:270px}}
@media(max-width:650px){.service-story{grid-template-columns:1fr;grid-template-rows:auto;min-height:0}.story-no{position:static;grid-column:1;grid-row:auto}.service-story h3{grid-column:1;grid-row:auto;padding-top:0}.story-visual{grid-column:1;grid-row:auto;height:240px}.story-copy{grid-column:1;grid-row:auto;min-height:0}}

/* Services — large editorial chapters inspired by the supplied reference */
.services{padding-inline:var(--pad)}
.services .section-heading{max-width:none;margin:0 0 clamp(90px,12vh,150px);text-align:left}
.services .section-heading p{margin:0;max-width:620px}
.service-story{position:relative;display:grid;grid-template-columns:minmax(0,.92fr) minmax(520px,1.08fr);grid-template-rows:auto auto 1fr;column-gap:clamp(54px,6vw,118px);min-height:clamp(680px,82vh,860px);padding:clamp(68px,6.5vw,112px) 0;align-items:start}
.story-no{position:static;grid-column:1;grid-row:1;margin:0 0 clamp(30px,4vh,50px);color:#858792;font-size:.72rem;letter-spacing:.06em}
.story-no:after{content:" / SERVICES"}
.service-story h3{grid-column:1;grid-row:2;align-self:start;max-width:none;padding:0;margin:0;font-size:clamp(4rem,6.4vw,7.5rem);font-weight:500;line-height:.84;letter-spacing:-.065em}
.story-visual{grid-column:2;grid-row:1/4;align-self:stretch;width:100%;height:auto;min-height:clamp(510px,64vh,690px);margin:0}
.story-visual img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.story-copy{grid-column:1;grid-row:3;align-self:stretch;min-height:0;padding:clamp(42px,5vh,68px) 0 0;display:grid;grid-template-rows:auto 1fr}
.story-copy>div{grid-row:1;align-self:start;width:min(520px,100%);display:grid;grid-template-columns:1fr 1fr;gap:10px 34px}
.story-copy p{grid-row:2;align-self:end;max-width:760px;margin:clamp(55px,8vh,95px) 0 0;font-size:clamp(1.25rem,1.55vw,1.72rem);line-height:1.28}
.story-copy p strong{font-weight:600}
.story-copy span{font-size:.7rem;line-height:1.5;letter-spacing:.06em}
.story-placeholder{min-height:clamp(510px,64vh,690px);border-style:solid;background:#111!important}

@media(max-width:1100px){
  .service-story{grid-template-columns:minmax(0,.9fr) minmax(410px,1.1fr);column-gap:40px;min-height:650px;padding:64px 0}
  .service-story h3{font-size:clamp(3.8rem,7vw,5.6rem)}
  .story-visual,.story-placeholder{min-height:500px;height:auto}
  .story-copy{padding-top:38px}
  .story-copy p{font-size:1.2rem;margin-top:52px}
}
@media(max-width:760px){
  .services{padding-inline:22px}
  .services .section-heading{margin-bottom:72px}
  .service-story{grid-template-columns:1fr;grid-template-rows:auto auto auto auto;min-height:0;padding:52px 0;gap:0}
  .story-no{grid-column:1;grid-row:1;margin-bottom:26px}
  .service-story h3{grid-column:1;grid-row:2;font-size:clamp(3.15rem,15vw,5rem);margin-bottom:34px}
  .story-visual,.story-placeholder{grid-column:1;grid-row:3;height:70vw;min-height:320px;max-height:480px;margin:0}
  .story-copy{grid-column:1;grid-row:4;display:grid;grid-template-rows:auto auto;padding-top:34px}
  .story-copy>div{grid-row:1}
  .story-copy p{grid-row:2;margin-top:44px;font-size:1.18rem}
}

/* Preserve complete Polish glyphs and punctuation in the hero headline */
.hero-center h1{line-height:.86}

/* Platform logos — quiet, monochrome and integrated with the editorial rhythm. */
.platforms{padding:clamp(110px,14vw,220px) var(--pad);background:var(--bg);color:#fff}
.platforms-heading{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:4vw;align-items:end;margin-bottom:clamp(72px,8vw,120px)}
.platforms-heading .eyebrow{grid-column:1/-1;color:#777}
.platforms-heading h2{max-width:880px;margin:0;font-size:clamp(3.2rem,6.3vw,7.2rem);font-weight:400;line-height:.9;letter-spacing:-.067em}
.platforms-heading p{max-width:520px;margin:0 0 .55em;color:#999;font-size:clamp(1rem,1.2vw,1.18rem);line-height:1.5}
.platform-list{list-style:none;margin:0;padding:clamp(46px,5.4vw,82px) 0 0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:clamp(34px,4vw,72px) clamp(20px,3vw,54px);border-top:1px solid var(--line)}
.platform-item{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:20px;color:#b8b8b8;text-align:center;transition:color .3s var(--ease),opacity .3s var(--ease)}
.platform-logo{display:block;width:clamp(44px,4vw,58px);height:58px;overflow:visible;color:inherit}
.platform-logo--wide{width:clamp(104px,9vw,138px)}
.platform-logo--wix{width:clamp(120px,10vw,152px)}
.platform-item>span{color:#858792;font:500 .68rem "DM Mono",monospace;letter-spacing:.045em}
@media(hover:hover) and (pointer:fine){.platform-item:hover{color:#fff;opacity:.82}}
@media(max-width:1050px){.platform-list{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:760px){
  .platforms{padding:105px 22px 112px}
  .platforms-heading{grid-template-columns:1fr;gap:28px;margin-bottom:64px}
  .platforms-heading h2{font-size:clamp(3rem,13vw,4.35rem)}
  .platforms-heading p{max-width:390px;margin:0;font-size:1rem}
  .platform-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:52px 20px;padding-top:48px}
  .platform-logo{width:46px;height:52px}
  .platform-logo--wide{width:100px}
  .platform-logo--wix{width:108px}
  .platform-item{gap:15px}
}
@media(max-width:480px){.platform-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 24px}.platform-logo--wix{width:118px}}

/* Compact language selector shared by desktop and mobile navigation. */
.header-actions{display:flex;align-items:center;gap:14px}
.lang-toggle{display:flex;align-items:center;gap:7px;padding:10px 13px;border:1px solid #484848;border-radius:999px;background:rgba(29,29,29,.88);color:#777;font:500 .65rem "DM Mono",monospace;letter-spacing:.06em;transition:border-color .3s var(--ease),color .3s var(--ease)}
.lang-toggle:hover{border-color:#777;color:#aaa}
.lang-option{transition:color .3s var(--ease)}
html[data-lang="en"] .lang-option--en,html[data-lang="pl"] .lang-option--pl{color:var(--lime)}
@media(max-width:950px){.header-actions{gap:7px}.lang-toggle{padding:9px 11px}.header-actions .menu-toggle{display:block}}

.hero-center h1 span{overflow:visible}
@media(max-width:650px){.hero-center h1{line-height:.88}}

/* Frameless editorial chapters: content dissolves while the next service takes over. */
@media(min-width:761px){
  .service-stories{
    position:relative;
    border-top:0;
  }
  .service-story{
    --service-entry:0;
    --service-exit:0;
    position:sticky;
    top:96px;
    z-index:var(--service-index,1);
    width:100%;
    height:calc(100svh - 116px);
    min-height:680px;
    padding:clamp(52px,5vw,82px) 0;
    overflow:clip;
    border:0;
    border-radius:0;
    background:var(--bg);
    box-shadow:none;
  }
  .service-story>*{
    opacity:calc(.48 + var(--service-entry) * .52 - var(--service-exit) * .62);
    transform:
      translateY(calc((1 - var(--service-entry)) * 48px - var(--service-exit) * 24px))
      scale(calc(.985 + var(--service-entry) * .015 - var(--service-exit) * .075));
    filter:blur(calc(var(--service-blur-exit,0) * 4px));
    transform-origin:center;
    will-change:transform,filter,opacity;
  }
  .service-story .story-visual{
    transform:
      translateY(calc((1 - var(--service-entry)) * 70px - var(--service-exit) * 18px))
      scale(calc(.96 + var(--service-entry) * .04 - var(--service-exit) * .085));
  }
}
@media(prefers-reduced-motion:reduce){
  .service-story>*{transform:none;filter:none;opacity:1}
}

/* A restrained text entrance that does not disturb the surrounding layout. */
.soft-text-reveal{
  opacity:0;
  translate:0 12px;
  transition:
    opacity .72s var(--ease) var(--text-delay,0ms),
    translate .82s var(--ease) var(--text-delay,0ms);
  will-change:opacity,translate;
}
.soft-text-reveal.is-text-visible{opacity:1;translate:0 0}
@media(prefers-reduced-motion:reduce){
  .soft-text-reveal{opacity:1;translate:none;transition:none}
}

/* Direct contact — one clear action instead of a form. */
.contact{position:relative;overflow:hidden}
.contact:before{content:"";position:absolute;width:min(62vw,900px);aspect-ratio:1;right:-18%;bottom:-42%;border-radius:50%;background:radial-gradient(circle,rgba(221,241,96,.14),transparent 67%);pointer-events:none}
.contact-heading,.contact-direct{position:relative;z-index:1}
.contact-direct{align-self:center;padding:46px 0;border-block:1px solid #3b3b3b}
.contact-direct__mail{display:grid;grid-template-columns:minmax(0,1fr) 72px;gap:24px;align-items:center}
.contact-direct__mail strong{min-width:0;font-size:clamp(1.45rem,2.15vw,2.65rem);font-weight:400;line-height:1;letter-spacing:-.055em;white-space:nowrap}
.contact-direct__mail i{width:72px;aspect-ratio:1;display:grid;place-items:center;border-radius:50%;background:var(--lime);color:var(--ink);font-style:normal;font-size:1.35rem;transition:transform .35s var(--ease),background .35s var(--ease)}
.contact-direct__mail:hover i{transform:rotate(45deg);background:#fff}

/* Final mobile art direction — one coherent rhythm instead of desktop fallbacks. */
@media(max-width:760px){
  :root{--pad:20px}
  html{scroll-padding-top:0}
  body{font-size:15px;-webkit-text-size-adjust:100%}
  body.menu-is-open{overflow:hidden}

  .site-header{
    height:76px;
    padding:env(safe-area-inset-top) 20px 0;
    background:linear-gradient(to bottom,rgba(21,21,21,.94),rgba(21,21,21,.68) 72%,transparent);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
  }
  .site-header.is-hidden{transform:none}
  .logo{font-size:1.22rem}
  .menu-toggle{display:block;position:relative;z-index:2;width:48px;height:48px;margin-right:-12px}
  .menu-toggle i{transition:transform .35s var(--ease),translate .35s var(--ease)}
  .site-header.menu-open{background:#111}
  .site-header.menu-open .menu-toggle i:first-child{translate:0 4px;transform:rotate(45deg)}
  .site-header.menu-open .menu-toggle i:last-child{translate:0 -4px;transform:rotate(-45deg)}
  .site-header.menu-open .desktop-nav{
    inset:76px 0 0;
    width:100%;
    height:calc(100svh - 76px);
    padding:30px 20px calc(30px + env(safe-area-inset-bottom));
    gap:8px;
    border-radius:0;
    background:#111;
  }
  .site-header.menu-open .desktop-nav a{
    width:100%;
    padding:16px 0;
    border-bottom:1px solid #303030;
    font-size:clamp(2rem,10vw,3rem);
    font-weight:400;
    letter-spacing:-.045em;
    text-align:left;
  }

  .neo-hero{
    min-height:100svh;
    padding:106px 20px calc(42px + env(safe-area-inset-bottom));
    grid-template-columns:minmax(0,1fr);
    place-items:center;
  }
  .hero-media{inset:-4% -28% -10%;opacity:.88;mask-image:linear-gradient(to bottom,#000 0 54%,rgba(0,0,0,.82) 68%,transparent 92%);-webkit-mask-image:linear-gradient(to bottom,#000 0 54%,rgba(0,0,0,.82) 68%,transparent 92%)}
  .hero-media img{object-position:60% top;transform:translate3d(0,var(--hero-parallax,0),0) scale(1.08)}
  .hero-media:after{bottom:6%;height:42%;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
  .hero-grid{background-size:25vw 25vw;opacity:.42}
  .hero-center{align-self:center;min-width:0;max-width:100%}
  .hero-center h1{max-width:100%;margin:0 auto 28px;font-size:clamp(3.45rem,15vw,4.65rem);line-height:.84;letter-spacing:-.078em}
  .hero-center h1 span{max-width:100%;white-space:nowrap}
  .hero-center p{max-width:340px;font-size:1rem;line-height:1.42;color:#b5b5b5}
  .hero-link{width:min(100%,310px);margin-top:34px;padding:15px 0;font-size:.82rem}

  .statement{min-height:auto;padding:112px 20px 118px}
  .statement .eyebrow{font-size:.62rem}
  .statement h2,.section-heading h2,.contact-heading h2{margin:24px 0;font-size:clamp(3.05rem,14vw,4.25rem);line-height:.91}
  .statement p{max-width:340px;font-size:1rem;line-height:1.5}

  .showcase{padding:0 6px;gap:0}
  .showcase-panel{
    top:76px;
    width:100%;
    height:calc(100svh - 86px);
    min-height:610px;
    padding:34px 18px;
    border-radius:30px;
  }
  .showcase-panel .panel-copy{max-width:100%}
  .showcase-panel .panel-copy h2{font-size:clamp(2.75rem,12.8vw,4.05rem);line-height:.91;letter-spacing:-.068em}
  .showcase-panel .panel-copy p{max-width:320px;margin-top:25px;font-size:.95rem;line-height:1.44}

  .services{padding:108px 20px 100px}
  .services .section-heading{margin-bottom:60px}
  .services .section-heading .eyebrow{font-size:.62rem}
  .services .section-heading h2{max-width:350px;margin:22px 0 20px}
  .services .section-heading p{font-size:.95rem}
  .service-stories{border-top:1px solid var(--line)}
  .service-story{
    display:grid;
    grid-template-columns:1fr;
    grid-template-rows:auto auto auto auto;
    min-height:0;
    padding:62px 0 68px;
    gap:0;
    border-bottom:1px solid var(--line);
  }
  .story-no{grid-column:1;grid-row:1;margin:0 0 23px;font-size:.64rem}
  .service-story h3{grid-column:1;grid-row:2;margin:0 0 30px;font-size:clamp(3rem,15vw,4.5rem);line-height:.88}
  .story-visual,.story-placeholder{
    grid-column:1;
    grid-row:3;
    width:100%;
    height:min(78vw,380px);
    min-height:0;
    max-height:none;
    margin:0;
    border-radius:60px;
  }
  .story-copy{grid-column:1;grid-row:4;display:block;min-height:0;padding-top:28px}
  .story-copy p{margin:0;font-size:1.08rem;line-height:1.38}

  .process{min-height:0;padding:108px 20px 92px}
  .process:before{top:34%;font-size:52vw;opacity:.2}
  .process .section-heading{margin-bottom:46px;text-align:left}
  .process .section-heading h2{font-size:clamp(3rem,13.6vw,4.2rem)}
  .process ol{display:block;border-top:1px solid #c7c7c2;border-bottom:0}
  .process li{
    min-height:0;
    padding:28px 0 30px;
    gap:52px;
    border-right:0;
    border-bottom:1px solid #c7c7c2;
    background:transparent;
    backdrop-filter:none;
  }
  .process h3{font-size:1.5rem}
  .process p{max-width:330px;font-size:.98rem;line-height:1.48}

  .contact{display:block;min-height:0;padding:108px 20px 94px}
  .contact-heading h2{font-size:clamp(3.35rem,15.5vw,4.8rem)}
  .contact-heading p{max-width:340px;font-size:1rem;line-height:1.5}
  .contact:before{width:130vw;right:-72%;bottom:-25%;opacity:.75}
  .contact-direct{margin-top:64px;padding:30px 0}
  .contact-direct__mail{grid-template-columns:minmax(0,1fr) 54px;gap:12px}
  .contact-direct__mail strong{font-size:clamp(1.08rem,5.2vw,1.45rem);letter-spacing:-.035em}
  .contact-direct__mail i{width:54px;font-size:1.05rem}

  footer{padding:38px 20px calc(42px + env(safe-area-inset-bottom));gap:14px}
  footer .logo{font-size:1.3rem}
  footer>div{gap:18px;flex-wrap:wrap}

  .reveal{transform:translateY(16px);transition-duration:.68s}
  .soft-text-reveal{translate:0 8px;transition-duration:.62s,.7s}
}

@media(max-width:380px){
  .hero-center h1{font-size:3.4rem}
  .showcase-panel .panel-copy h2{font-size:2.72rem}
  .service-story h3{font-size:3rem}
  .story-visual,.story-placeholder{border-radius:48px}
}

@media(max-width:760px) and (orientation:landscape){
  .neo-hero{min-height:680px}
  .showcase-panel{position:relative;top:auto;height:auto;min-height:560px}
}

/* Compact desktop: keep every service chapter readable on short laptop screens. */
@media(min-width:761px) and (max-height:820px){
  .service-story{
    top:78px;
    height:calc(100svh - 90px);
    min-height:0;
    padding:clamp(28px,4vh,42px) 0;
  }
  .service-story__inner{
    grid-template-columns:minmax(0,.88fr) minmax(390px,1.12fr);
    column-gap:clamp(38px,5vw,78px);
  }
  .service-story h3{font-size:clamp(3.1rem,5vw,5.35rem);line-height:.86}
  .story-content .story-copy{margin-top:clamp(22px,4vh,38px)}
  .story-copy p{font-size:clamp(1rem,1.3vw,1.25rem);line-height:1.24}
}

/* Services behave as one scene: copy and image enter, shrink and fade together. */
@media(min-width:761px){
  .service-story{display:block}
  .service-story__inner{
    display:grid;
    grid-template-columns:minmax(0,.92fr) minmax(520px,1.08fr);
    column-gap:clamp(54px,6vw,118px);
    align-items:stretch;
    width:100%;
    height:100%;
  }
  .story-content{
    position:relative;
    display:flex;
    flex-direction:column;
    justify-content:center;
    min-width:0;
    height:100%;
    padding-top:30px;
  }
  .story-content .story-no{
    position:absolute;
    top:0;
    left:0;
    margin:0;
  }
  .story-content h3{
    grid-column:auto;
    grid-row:auto;
    align-self:auto;
  }
  .story-content .story-copy{
    grid-column:auto;
    grid-row:auto;
    align-self:auto;
    display:block;
    min-height:0;
    margin-top:clamp(34px,5vh,58px);
    padding:0;
  }
  .story-content .story-copy p{
    margin:0;
  }
  .service-story__inner>.story-visual,
  .service-story__inner>.story-placeholder{
    grid-column:2;
    grid-row:1;
    align-self:stretch;
    width:100%;
    height:100%;
    min-height:0;
    max-height:none;
    margin:0;
    opacity:1!important;
    filter:none!important;
    transform:none!important;
    translate:none!important;
    will-change:auto;
  }
}

@media(min-width:761px) and (max-width:1100px){
  .service-story__inner{
    grid-template-columns:minmax(0,.9fr) minmax(410px,1.1fr);
    column-gap:40px;
  }
}

@media(min-width:761px) and (max-height:820px){
  .service-story__inner{
    grid-template-columns:minmax(0,.88fr) minmax(390px,1.12fr);
    column-gap:clamp(38px,5vw,78px);
  }
  .story-content .story-copy{margin-top:clamp(22px,4vh,38px)}
}

@media(max-width:760px){
  .service-story{display:block}
  .service-story__inner{
    display:grid;
    grid-template-columns:1fr;
    grid-template-rows:auto auto auto auto;
    width:100%;
  }
  .story-content{display:contents}
  .story-content .story-no{grid-column:1;grid-row:1}
  .story-content h3{grid-column:1;grid-row:2}
  .service-story__inner>.story-visual,
  .service-story__inner>.story-placeholder{
    grid-column:1;
    grid-row:3;
    width:100%;
    height:min(78vw,380px);
    min-height:320px;
    max-height:none;
    margin:0;
    transform:none!important;
    translate:none!important;
  }
  .story-content .story-copy{
    grid-column:1;
    grid-row:4;
    display:block;
    min-height:0;
    padding-top:28px;
  }
  .story-content .story-copy p{margin:0}
}
