@font-face{font-family:Offbit;src:url("assets/fonts/offbit.ttf") format("truetype");font-display:swap;font-weight:700}
@font-face{font-family:Fixedsys;src:url("assets/fonts/fixedsys.ttf") format("truetype");font-display:swap;font-weight:400}
@font-face{font-family:Departure;src:url("assets/fonts/departure.otf") format("opentype");font-display:swap;font-weight:400}

:root{
  --ink:#111217;--paper:#f1ede3;--paper-2:#e8e1d3;--blue:#0e1930;--blue-2:#13223d;
  --green:#8ee49d;--green-soft:#c9ffd0;--topbar:42px;--page-max:1440px;
  --pad:clamp(30px,4.2vw,72px);--shadow:8px 8px 0 rgba(0,0,0,.24);
  --display:Offbit,monospace;--body:Fixedsys,monospace;--ui:Fixedsys,monospace;
  --ease:cubic-bezier(.22,1,.36,1)
}
*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden;background:#000;color:var(--ink)}
body{font-family:var(--body);font-size:18px;text-rendering:geometricPrecision}button,a,input,textarea{font:inherit}a{color:inherit;text-decoration:none}button{color:inherit}img{display:block;max-width:100%}::selection{background:#2658c8;color:#fff}
@media(pointer:fine){html,body,a,button,input,textarea,[role=button]{cursor:none!important}}
.cursor{position:fixed;left:0;top:0;width:18px;height:29px;background:url("assets/images/cursor-arrow.png") center/contain no-repeat;z-index:99999;pointer-events:none;transform:translate3d(-100px,-100px,0);will-change:transform;image-rendering:pixelated;opacity:0}.cursor.ready{opacity:1}.cursor.hand{background-image:url("assets/images/cursor-hand.png");width:22px;height:28px}.cursor.wait{background-image:url("assets/images/cursor-wait.png");width:22px;height:22px}@media(pointer:coarse),(max-width:900px){.cursor{display:none}}
.scene{position:fixed;inset:0;display:none;overflow:hidden}.scene.active{display:block}.wallpaper{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.crt{position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(255,255,255,.014) 0 1px,transparent 1px 4px);mix-blend-mode:screen}
/* startup */
.power{background:#030303;color:#caffcf}.power.active{display:grid;place-items:center}.power-box{display:grid;justify-items:center;gap:16px;padding:38px 58px;background:transparent;border:0;color:#caffcf;text-align:center;animation:powerIn .72s var(--ease) both}.power-box>span{font-size:20px;letter-spacing:.04em}.power-box>b{min-width:220px;padding:18px 30px;background:#eef0e7;color:#0b0b0b;border:2px solid #eef0e7;box-shadow:5px 5px 0 #314b34;font-size:17px;letter-spacing:.05em;transition:.12s}.power-box:hover b{transform:translate(-1px,-1px);box-shadow:7px 7px 0 #314b34}.power-box:active b,.power-box.pressed b{transform:translate(4px,4px);box-shadow:1px 1px 0 #314b34}.power-box small{font-size:16px;letter-spacing:.04em}@keyframes powerIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
.boot{background:#050505;color:#caffcf}.boot.active{display:grid;place-items:center}.boot-panel{width:min(590px,calc(100vw - 44px));text-align:center}.boot-mac{width:76px;height:90px;margin:0 auto 42px;border:3px solid #caffcf;position:relative;animation:bootFloat 1.8s ease-in-out infinite alternate}.boot-mac:before{content:"";position:absolute;left:13px;top:14px;width:43px;height:34px;border:2px solid #caffcf}.boot-mac:after{content:"";position:absolute;left:21px;bottom:11px;width:33px;height:4px;background:#caffcf}.boot-mac i{position:absolute;left:29px;top:26px;width:12px;height:8px;border-bottom:2px solid #caffcf}@keyframes bootFloat{to{transform:translateY(-4px)}}.boot-status{min-height:34px;margin:0 0 28px;font-size:26px;letter-spacing:.03em}.boot-status:after{content:"_";animation:blink .65s steps(1) infinite}@keyframes blink{50%{opacity:0}}.boot-progress{height:18px;border:2px solid #caffcf;padding:2px}.boot-progress i{display:block;width:0;height:100%;background:#caffcf;transition:width .34s steps(10)}.boot-panel>small{display:block;text-align:right;margin-top:10px;font-size:17px}
/* desktop */
.system-bar,.site-bar{height:var(--topbar);display:flex;align-items:center;gap:18px;background:#efeee7;border-bottom:2px solid #111;padding:0 16px;font-size:15px;z-index:30}.system-bar{position:absolute;inset:0 0 auto}.system-bar img,.site-bar img{width:18px;height:18px;object-fit:contain}.system-bar time{margin-left:auto}.desktop-folder{position:absolute;left:50%;top:50%;transform:translate(-50%,-46%);background:transparent;border:0;display:grid;justify-items:center;gap:7px}.desktop-folder img{width:160px;image-rendering:pixelated;transition:transform .16s,filter .16s}.desktop-folder:hover img{transform:translateY(-4px)}.desktop-folder.selected img{filter:brightness(1.08) drop-shadow(0 0 0 #fff)}.desktop-folder span{color:#fff;font-size:26px;line-height:1;text-shadow:2px 2px 0 #111,0 2px 0 #111,2px 0 0 #111}.desktop-folder em{position:absolute;top:100%;margin-top:18px;background:#151631;color:#fff;padding:5px 9px;font-size:14px;opacity:0;transform:translateY(8px);transition:.2s}.desktop-folder.show-hint em{opacity:1;transform:none}.loader.active{display:grid;place-items:center}.loader-window{position:relative;width:min(520px,calc(100vw - 40px))}.loader-content{padding:38px;text-align:center;background:var(--paper)}.loader-content img{width:96px;margin:0 auto 22px}.loader-content b{display:block;font-size:18px}.loadbar{height:18px;border:2px solid #111;padding:2px;margin-top:26px}.loadbar i{display:block;height:100%;width:0;background:#2455d6;transition:width .3s steps(8)}
/* window system */
.classic-window{background:var(--paper);border:3px solid #111;box-shadow:var(--shadow)}.classic-bar{height:31px;display:flex;align-items:center;justify-content:center;position:relative;border-bottom:3px solid #111;background:repeating-linear-gradient(0deg,#111 0 2px,var(--paper) 2px 4px);font-size:14px}.classic-bar>span{background:var(--paper);padding:2px 14px;line-height:1}.classic-bar>small{position:absolute;right:12px;background:var(--paper);padding:2px 7px}.classic-bar>div{position:absolute;left:9px;display:flex;gap:5px;background:var(--paper);padding:2px 5px}.classic-bar>div i,.classic-bar>i{width:12px;height:12px;border:2px solid #111;background:var(--paper)}
/* shell */
.site.active{display:flex;flex-direction:column;background:var(--paper)}.site-bar{flex:0 0 var(--topbar);position:relative}.site-bar nav{display:flex;gap:28px;margin:auto;font-size:14px}.site-bar nav a{position:relative}.site-bar nav a:after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:2px;background:#111;transform:scaleX(0);transform-origin:left;transition:.25s}.site-bar nav a:hover:after{transform:scaleX(1)}.site-bar button{border:0;background:transparent;margin-left:auto}.site-scroll{position:relative;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;scroll-behavior:smooth;overscroll-behavior:contain}.page-grid{width:min(var(--page-max),calc(100vw - 48px));margin-inline:auto;padding-inline:var(--pad)}.viewport-slide{height:calc(100svh - var(--topbar));min-height:680px;position:relative;overflow:hidden}.slide-shell{position:relative;height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;align-content:center;padding:clamp(52px,7vh,88px) 0 28px}.chapter-bg{position:absolute;inset:-60px 0;pointer-events:none;transform:translate3d(0,var(--parallax-y,0),0);will-change:transform}
/* typography */
h1,h2,h3{font-family:var(--display);font-weight:700;margin:0;letter-spacing:-.015em}.eyebrow,.file{font-family:var(--ui);text-transform:uppercase;letter-spacing:.04em;font-size:clamp(13px,.9vw,16px);margin:0 0 16px}.lead,.section-lead,.line-reveal,.contact-copy>p,.process-copy p,.story-teaser p,.player-caption p,.faq-list p,.case-copy p,.case-copy strong,.result,.price-block p,.message-window small{font-family:var(--body)}.section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.72fr);gap:clamp(36px,5vw,88px);align-items:end;margin-bottom:clamp(30px,4vh,48px)}.spacious-head{padding-top:clamp(26px,3vh,44px)}.section-head h2{font-size:clamp(60px,5.1vw,86px);line-height:.9}.section-lead{font-size:clamp(19px,1.35vw,23px);line-height:1.42;margin:0;max-width:39rem}
/* reveal */
.reveal-item,.reveal-left,.reveal-right,.reveal-window,.reveal-visual,.line-reveal{opacity:0;will-change:transform,opacity}.reveal-item,.line-reveal{transform:translateY(16px)}.reveal-left{transform:translateX(-30px)}.reveal-right,.reveal-visual{transform:translateX(32px)}.reveal-window{transform:scale(.985) translateY(16px)}.is-visible .reveal-item,.is-visible .reveal-left,.is-visible .reveal-right,.is-visible .reveal-window,.is-visible .reveal-visual,.is-visible .line-reveal{opacity:1;transform:none;transition:opacity .5s,transform .7s var(--ease)}
/* typewriter */
.type-title{position:relative;display:block}.type-title .type-ghost{visibility:hidden;white-space:pre-line;display:block}.type-title .type-live{position:absolute;inset:0;white-space:pre-line;display:block}.type-title .type-caret{display:inline-block;width:.075em;height:.78em;margin-left:.04em;background:currentColor;vertical-align:-.04em;animation:blink .65s steps(1) infinite}.type-title.typing-done .type-caret{display:none}
/* hero */
.hero{display:grid;place-items:center;background:#69aaf0}.hero-bg{background:url("assets/images/desktop-wallpaper.jpg") center/cover no-repeat}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(255,255,255,.04),rgba(0,0,0,.04));pointer-events:none}.hero-window{position:relative;z-index:2;width:min(1500px,calc(100vw - 54px));height:min(790px,calc(100svh - var(--topbar) - 88px));display:grid;grid-template-rows:31px 58px minmax(0,1fr);overflow:hidden}.hero-nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 24px;border-bottom:2px solid #111;font-size:14px}.hero-nav>div{display:flex;gap:32px}.hero-nav .brand i{display:inline-block;width:7px;height:7px;background:#43ba68}.hero-nav .talk{justify-self:end;background:#111;color:#fff;padding:12px 18px;box-shadow:4px 4px 0 #777}.hero-grid{height:100%;display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:center;gap:clamp(30px,3vw,54px);padding-top:clamp(28px,4vh,54px);padding-bottom:clamp(32px,4vh,56px)}.hero-copy{align-self:center}.hero h1{font-size:clamp(62px,5.45vw,92px);line-height:.91;max-width:9ch}.lead{font-size:clamp(19px,1.35vw,23px);line-height:1.42;max-width:38rem;margin:30px 0 0}.actions{display:flex;align-items:center;gap:24px;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 20px;border:2px solid currentColor;box-shadow:4px 4px 0 rgba(0,0,0,.32);transition:.13s}.btn:hover{transform:translate(-1px,-1px);box-shadow:6px 6px 0 rgba(0,0,0,.32)}.btn:active{transform:translate(3px,3px);box-shadow:1px 1px 0 rgba(0,0,0,.32)}.btn-primary{background:#111;color:#fff}.link{text-decoration:underline;text-underline-offset:5px}.result{display:flex;gap:12px;align-items:flex-start;margin:24px 0 0;max-width:40rem;font-size:17px;line-height:1.35}.result i{flex:0 0 9px;width:9px;height:9px;background:#44bb68;border:2px solid #111;margin-top:4px}.hero-visual{height:100%;display:grid;place-items:center}.hero-visual img{height:min(110%,650px);width:auto;object-fit:contain;transform:translateY(-4px)}.scroll-hint{position:absolute;left:50%;bottom:15px;z-index:3;transform:translateX(-50%);font-size:13px}
/* story preview */
.story-preview{background:var(--blue);color:#f5efe5}.story-bg{background:linear-gradient(rgba(111,145,196,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(111,145,196,.13) 1px,transparent 1px),radial-gradient(circle at 70% 20%,rgba(74,109,160,.18),transparent 34%);background-size:42px 42px,42px 42px,auto}.story-preview-shell{height:100%;padding-top:clamp(68px,8vh,106px);padding-bottom:38px;display:grid;grid-template-rows:auto minmax(0,1fr) auto}.story-preview h2{font-size:clamp(58px,4.85vw,82px);line-height:.9}.story-teaser{width:min(1080px,76vw);height:min(570px,57vh);justify-self:center;align-self:center;display:grid;grid-template-rows:minmax(0,1fr) 118px;overflow:hidden}.story-teaser>img{width:100%;height:100%;object-fit:cover}.story-teaser-caption{display:grid;grid-template-columns:90px minmax(0,1fr) auto;align-items:center;gap:18px;padding:16px 20px;background:var(--paper);color:#111;border-top:3px solid #111}.story-teaser-caption>span{align-self:start;padding-top:7px}.story-teaser h3{font-size:clamp(34px,3vw,50px);line-height:.9}.story-teaser p{margin:8px 0 0;font-size:18px}.story-skip{text-align:center;margin:16px 0 0;color:#aab9d0;font-size:14px}
/* story player */
.story-player{position:absolute;inset:var(--topbar) 0 0;z-index:3000;display:none;color:#f5efe5;overflow:hidden}.story-player.open{display:grid;grid-template-rows:58px minmax(0,1fr) 92px;animation:playerIn .36s var(--ease)}@keyframes playerIn{from{opacity:0}to{opacity:1}}.story-player-bg{position:absolute;inset:0;background:rgba(5,12,24,.96);z-index:-2}.story-player-bg:after{content:"";position:absolute;inset:-20%;background:linear-gradient(rgba(111,145,196,.10) 1px,transparent 1px),linear-gradient(90deg,rgba(111,145,196,.10) 1px,transparent 1px);background-size:44px 44px;animation:gridDrift 18s linear infinite}@keyframes gridDrift{to{transform:translate3d(44px,44px,0)}}.story-player header{display:flex;align-items:center;justify-content:space-between;padding:0 28px;border-bottom:1px solid rgba(255,255,255,.18)}.story-player header button{background:none;border:0;color:#fff}.story-player-stage{position:relative;display:grid;place-items:center;min-height:0}.player-card{width:min(1160px,78vw);height:min(690px,70vh);display:grid;grid-template-rows:minmax(0,1fr) 126px;overflow:hidden;background:var(--paper);color:#111}.player-card.anim-out-left{animation:outLeft .26s ease both}.player-card.anim-out-right{animation:outRight .26s ease both}.player-card.anim-in-right{animation:inRight .34s var(--ease) both}.player-card.anim-in-left{animation:inLeft .34s var(--ease) both}@keyframes outLeft{to{opacity:0;transform:translateX(-150px) scale(.97)}}@keyframes outRight{to{opacity:0;transform:translateX(150px) scale(.97)}}@keyframes inRight{from{opacity:0;transform:translateX(150px) scale(.97)}}@keyframes inLeft{from{opacity:0;transform:translateX(-150px) scale(.97)}}.player-card img{width:100%;height:100%;object-fit:cover}.player-caption{display:grid;grid-template-columns:100px 1fr;gap:20px;align-items:center;padding:18px 24px;border-top:3px solid #111}.player-caption span{align-self:start;padding-top:8px}.player-caption h3{font-size:clamp(36px,3.2vw,54px);line-height:.9}.player-caption p{margin:8px 0 0;font-size:18px}.player-arrow{position:absolute;top:50%;transform:translateY(-50%);width:54px;height:54px;border:2px solid #fff;background:#0b1220;color:#fff;font-size:24px}.player-arrow.prev{left:28px}.player-arrow.next{right:28px}.story-player-footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 28px;border-top:1px solid rgba(255,255,255,.18)}.story-player-footer p{margin:0;color:#b7c4d6}.player-progress{display:flex;gap:10px}.player-progress i{width:44px;height:5px;background:#47566c}.player-progress i.active{background:#fff}.story-player-footer .btn{justify-self:end}.hidden{display:none!important}
/* cases */
.cases{background:#ece7da}.cases-bg{background:linear-gradient(rgba(58,69,79,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(58,69,79,.08) 1px,transparent 1px);background-size:38px 38px}.case-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;min-height:0}.case-card{position:relative;border:3px solid #111;box-shadow:7px 7px 0 #111;background:var(--paper);display:grid;grid-template-rows:44px minmax(0,1fr) 190px;overflow:hidden;transition:.25s}.case-card:hover{transform:translateY(-5px);box-shadow:10px 12px 0 #111}.case-top{display:flex;justify-content:space-between;align-items:center;padding:0 16px;border-bottom:2px solid #111;font-size:14px}.case-card>img{width:100%;height:100%;object-fit:contain;background:#83dfd2}.case-b{background:#f3d942}.case-screen{padding:26px;background:#f3d942}.case-screen img{width:100%;height:100%;object-fit:cover;border:3px solid #111}.case-copy{padding:18px 22px;background:var(--paper);border-top:2px solid #111}.case-copy h3{font-size:clamp(38px,3.2vw,54px);line-height:.9}.case-copy p{margin:10px 0 7px}.case-copy strong{display:block;line-height:1.25}.case-btn{display:inline-block;margin-top:14px;text-decoration:underline}.all-cases{text-align:center;margin-top:22px;text-decoration:underline}
/* process */
.process{height:calc((100svh - var(--topbar))*3.35);position:relative;background:#dce6f8;color:#111}.process-bg{background:linear-gradient(rgba(39,75,131,.085) 1px,transparent 1px),linear-gradient(90deg,rgba(39,75,131,.085) 1px,transparent 1px),radial-gradient(circle at 20% 30%,rgba(255,255,255,.5),transparent 32%);background-size:38px 38px,38px 38px,auto}.process-bg:before,.process-bg:after{content:"";position:absolute;border:2px solid rgba(27,62,112,.10);width:280px;height:150px}.process-bg:before{right:8%;top:18%;transform:translateY(calc(var(--parallax-y,0)*-.4))}.process-bg:after{left:7%;bottom:12%;width:210px;height:110px}.process-sticky{position:sticky;top:0;height:calc(100svh - var(--topbar));padding-top:clamp(64px,7vh,96px);display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}.process-head{margin-bottom:28px}.process-head h2{font-size:clamp(58px,4.8vw,80px);line-height:.9}.process-layout{display:grid;grid-template-columns:minmax(330px,.78fr) minmax(0,1.22fr);gap:clamp(46px,5vw,86px);align-items:center;min-height:0}.process-copy{position:relative;height:min(420px,48vh)}.process-copy article{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;opacity:0;transform:translateY(24px);pointer-events:none;transition:.46s var(--ease)}.process-copy article.active{opacity:1;transform:none;pointer-events:auto}.process-copy article.leaving{opacity:0;transform:translateY(-24px)}.process-copy article>span{font-size:16px;margin-bottom:18px}.process-copy h3{font-size:clamp(44px,3.75vw,68px);line-height:.93;max-width:9ch}.process-copy p{font-size:clamp(18px,1.25vw,21px);line-height:1.4;max-width:30rem;margin:22px 0 12px}.process-copy b{font-size:16px;line-height:1.35}.process-meter{position:absolute;left:0;bottom:12px;width:min(420px,100%);height:5px;background:#9eb3d6}.process-meter i{display:block;width:33%;height:100%;background:#245cdf;transition:width .46s var(--ease)}.process-computer{display:grid;place-items:center;min-height:0}.process-screen-stack{position:relative;width:min(730px,100%);aspect-ratio:1404/1120;filter:drop-shadow(9px 10px 0 rgba(0,0,0,.18))}.process-screen-stack>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0}.process-screen-stack>img.active{opacity:1}.screen-glitch{position:absolute;inset:7% 5%;opacity:0;pointer-events:none;overflow:hidden;background:#dbe4f1}.screen-glitch.active{animation:screenGlitch .42s steps(5)}.screen-glitch i{position:absolute;left:0;right:0;height:3px;background:#111;opacity:.5}.screen-glitch i:nth-child(1){top:23%}.screen-glitch i:nth-child(2){top:51%}.screen-glitch i:nth-child(3){top:72%}@keyframes screenGlitch{0%{opacity:0}18%{opacity:.8;transform:translateX(2px)}42%{opacity:.65;transform:translateX(-3px)}70%{opacity:.9}100%{opacity:0}}.process-result{text-align:center;margin:0 0 22px;opacity:0;transform:translateY(12px);transition:.45s}.process-result.visible{opacity:1;transform:none}
/* offer */
.offer{background:#332c29;color:#f4ede1}.offer-bg{background:linear-gradient(rgba(245,223,190,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(245,223,190,.055) 1px,transparent 1px),radial-gradient(circle at 85% 18%,rgba(137,81,58,.26),transparent 34%);background-size:48px 48px,48px 48px,auto}.offer-bg span{position:absolute;border:1px solid rgba(245,223,190,.16);padding:8px 12px;color:rgba(245,223,190,.18);font-size:14px}.offer-bg span:nth-child(1){right:8%;top:20%;transform:rotate(-6deg)}.offer-bg span:nth-child(2){left:5%;bottom:12%;transform:rotate(5deg)}.offer-bg span:nth-child(3){right:26%;bottom:7%}.offer-shell{height:100%;display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(48px,5vw,90px);align-items:center;padding-top:60px;padding-bottom:60px}.offer h2{font-size:clamp(60px,5vw,84px);line-height:.9}.offer-copy .section-lead{margin-top:26px}.offer-label{margin:30px 0 12px;text-transform:uppercase}.offer-badges{display:flex;flex-wrap:wrap;gap:9px;max-width:620px}.offer-badges span{border:1px solid rgba(255,255,255,.42);padding:8px 10px;font-size:15px}.price-block{margin-top:30px}.price-block small{display:block}.price-block strong{display:block;font-family:var(--display);font-size:clamp(52px,4.3vw,72px);line-height:.9;margin:6px 0 8px}.price-block p{margin:0;color:#d8cbbb;font-size:16px;max-width:32rem}.offer-main-cta{margin-top:24px;background:#f4ede1;color:#17120f;border-color:#f4ede1}.product-card{color:#111}.product-preview{height:min(430px,47vh);padding:20px;background:#d9d0be}.preview-nav{height:30px;border:2px solid #111;display:flex;align-items:center;gap:7px;padding:0 10px;background:var(--paper)}.preview-nav i{width:9px;height:9px;border:2px solid #111}.preview-nav b{margin-left:auto;width:30%;height:5px;background:#c5bdad}.preview-hero{height:56%;border:2px solid #111;border-top:0;background:#f7f2e8;display:grid;grid-template-columns:1fr .72fr;gap:22px;padding:24px}.preview-hero>div:first-child{display:flex;flex-direction:column;justify-content:center}.preview-hero small{font-size:12px}.preview-hero strong{font-family:var(--display);font-size:clamp(32px,2.8vw,48px);line-height:.9;max-width:8ch;margin:14px 0 18px}.preview-hero i{display:block;width:82%;height:5px;background:#d6cebf;margin-top:8px}.preview-avatar{display:grid;place-items:center;background:#b7c1d7;border-radius:50% 50% 8px 8px}.preview-avatar span{width:42%;height:52%;background:#8795b3;border-radius:50% 50% 28% 28%}.preview-sections{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-top:12px}.preview-sections span{height:52px;border:2px solid #111;background:#f7f2e8}.product-actions{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-top:3px solid #111;background:var(--paper)}.product-actions strong{font-size:21px}.btn-demo{position:relative;background:transparent;color:#111}.btn-demo small{position:absolute;right:-10px;top:-12px;background:#6d3d2c;color:#fff;padding:2px 5px;font-size:10px}.product-statuses{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;padding:12px 14px;border-top:2px solid #111;background:#e3ddcf}.product-statuses span{border:1px solid #111;padding:7px 6px;text-align:center;font-size:13px}
/* faq */
.faq{background:#020b06;color:#bdf9c6;display:grid;place-items:center}.faq-backdrop{position:absolute;inset:0;overflow:hidden;background:linear-gradient(rgba(77,221,109,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(77,221,109,.055) 1px,transparent 1px);background-size:34px 34px}.terminal-lines{position:absolute;inset:7% 5%;display:flex;flex-direction:column;justify-content:space-between;color:#70d988;opacity:.08;font-size:22px;animation:terminalDrift 24s linear infinite}@keyframes terminalDrift{50%{transform:translateY(20px)}}.wave{position:absolute;left:0;right:0;top:62%;height:70px;background:repeating-linear-gradient(90deg,transparent 0 18px,rgba(112,217,136,.08) 18px 20px);clip-path:polygon(0 50%,5% 30%,10% 62%,15% 40%,20% 70%,25% 25%,30% 55%,35% 38%,40% 67%,45% 32%,50% 58%,55% 28%,60% 62%,65% 42%,70% 72%,75% 26%,80% 58%,85% 36%,90% 68%,95% 30%,100% 50%,100% 56%,95% 37%,90% 73%,85% 44%,80% 64%,75% 32%,70% 77%,65% 48%,60% 68%,55% 34%,50% 64%,45% 38%,40% 72%,35% 44%,30% 60%,25% 31%,20% 76%,15% 46%,10% 67%,5% 36%,0 56%)}.faq-backdrop>i{position:absolute;width:7px;height:7px;background:#63e57d;opacity:.12;animation:dotBlink 3s steps(1) infinite}.faq-backdrop>i:nth-of-type(1){left:12%;top:22%}.faq-backdrop>i:nth-of-type(2){right:17%;top:34%;animation-delay:.8s}.faq-backdrop>i:nth-of-type(3){left:42%;bottom:13%;animation-delay:1.5s}@keyframes dotBlink{50%{opacity:.03}}.faq-window{position:relative;width:min(1320px,calc(100vw - 64px));height:min(720px,calc(100svh - var(--topbar) - 76px));background:#031108;border-color:#75ea8d;box-shadow:none}.faq-window .classic-bar{border-color:#75ea8d;color:#75ea8d}.faq-window .classic-bar>span{background:#031108}.faq-body{height:calc(100% - 31px);display:grid;grid-template-columns:.65fr 1.35fr;gap:62px;padding:52px 58px}.faq h2{font-size:clamp(64px,5.2vw,88px);line-height:.9}.faq .section-lead{margin-top:24px;color:#c8eed0}.faq-list article{border-bottom:1px solid rgba(112,229,136,.35);opacity:0;transform:translateY(12px)}.faq.is-visible .faq-list article{animation:faqIn .42s var(--ease) forwards}.faq.is-visible .faq-list article:nth-child(2){animation-delay:.04s}.faq.is-visible .faq-list article:nth-child(3){animation-delay:.08s}.faq.is-visible .faq-list article:nth-child(4){animation-delay:.12s}.faq.is-visible .faq-list article:nth-child(5){animation-delay:.16s}.faq.is-visible .faq-list article:nth-child(6){animation-delay:.20s}.faq.is-visible .faq-list article:nth-child(7){animation-delay:.24s}.faq.is-visible .faq-list article:nth-child(8){animation-delay:.28s}@keyframes faqIn{to{opacity:1;transform:none}}.faq-list button{width:100%;min-height:58px;padding:11px 0;background:none;border:0;color:#9be5a5;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:16px}.faq-list button b{font-weight:400}.faq-list article p{max-height:0;overflow:hidden;opacity:0;color:#c7d9c9;line-height:1.42;margin:0;font-size:16px;transition:max-height .34s ease,opacity .24s,padding .34s}.faq-list article.open p{max-height:150px;opacity:1;padding:0 0 15px}
/* contact */
.contact{background:#0c1422;color:#f4efe5;display:grid;place-items:center}.contact-backdrop{position:absolute;inset:0;background:radial-gradient(circle at 74% 22%,rgba(54,87,135,.27),transparent 34%),linear-gradient(135deg,#0b1220,#111a2a)}.contact-backdrop:after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(132,169,220,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(132,169,220,.05) 1px,transparent 1px);background-size:44px 44px}.contact-backdrop span{position:absolute;border:1px solid rgba(199,220,251,.18);padding:8px 12px;color:rgba(199,220,251,.27);font-size:13px}.contact-backdrop span:first-child{right:8%;top:12%}.contact-backdrop span:nth-child(2){left:7%;bottom:10%}.contact-backdrop i{position:absolute;background:#d7e8ff;opacity:.14;width:220px;height:120px;border:2px solid #d7e8ff}.contact-backdrop i:nth-of-type(1){left:5%;top:18%}.contact-backdrop i:nth-of-type(2){right:7%;bottom:18%;width:170px;height:90px}.contact-backdrop i:nth-of-type(3){left:46%;bottom:7%;width:90px;height:52px}.contact-shell{position:relative;width:100%;height:100%;display:grid;grid-template-rows:1fr auto;padding:clamp(54px,7vh,90px) 0 22px}.contact-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(50px,6vw,96px);align-items:center}.contact h2{font-size:clamp(58px,4.9vw,82px);line-height:.91}.contact-copy .section-lead{margin-top:28px;color:#edf3fa}.contact-status{display:flex;gap:9px;align-items:center;margin-top:24px;color:#b6d8bc}.contact-status i{width:8px;height:8px;background:#67d27b;box-shadow:0 0 0 2px rgba(103,210,123,.18)}.telegram-link{display:inline-block;margin-top:20px;text-decoration:underline}.message-window{color:#111;max-width:650px;width:100%;justify-self:end}.message-window label{display:block;padding:8px 18px 0;font-size:15px}.message-window input,.message-window textarea{display:block;width:100%;margin-top:5px;padding:8px 10px;border:2px solid #111;background:#faf7ed;font-family:var(--body);font-size:18px;outline:none}.message-window input{height:44px}.message-window textarea{min-height:62px;resize:vertical}.message-window .btn{margin:14px 18px}.message-window>small{display:block;padding:0 18px 16px;font-size:14px;line-height:1.3}.contact footer{display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.3);padding-top:14px;font-size:14px}
/* modal */
.modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.72);z-index:50000;place-items:center}.modal.open{display:grid}.modal-window{width:min(580px,calc(100vw - 40px));animation:modalIn .34s var(--ease)}@keyframes modalIn{from{opacity:0;transform:translateY(22px) scale(.97)}to{opacity:1;transform:none}}.modal-window .classic-bar{justify-content:space-between}.modal-window .classic-bar button{border:0;background:var(--paper);padding:0 8px}.modal-content{padding:34px}.modal-content h3{font-size:48px;line-height:.95}.modal-content p{font-size:20px;line-height:1.4}.modal-content>div{display:flex;gap:20px;align-items:center;margin-top:26px}.link-btn{border:0;background:none;text-decoration:underline}
/* supporting */
.cases-page,.case-page{font-family:var(--body)}.cases-page .grid,.case-page .grid{width:min(1220px,calc(100vw - 48px));margin:auto}.case-page h1,.case-page h2,.cases-page h1{font-family:var(--display)}
/* compact */
@media(max-height:850px) and (min-width:901px){:root{--topbar:38px}.site-bar,.system-bar{height:38px}.viewport-slide{height:calc(100svh - 38px);min-height:620px}.hero-window{height:calc(100svh - 116px)}.hero-grid{padding-top:24px;padding-bottom:28px}.hero h1{font-size:clamp(56px,4.9vw,76px)}.lead{margin-top:22px;font-size:18px}.actions{margin-top:20px}.result{margin-top:18px;font-size:15px}.hero-visual img{height:min(108%,540px)}.story-preview-shell{padding-top:48px}.story-teaser{height:min(530px,55vh);grid-template-rows:minmax(0,1fr) 108px}.story-teaser-caption{padding:12px 18px}.process-sticky{padding-top:44px}.process-head{margin-bottom:18px}.process-head h2{font-size:clamp(50px,4.2vw,68px)}.process-copy h3{font-size:clamp(42px,3.4vw,58px)}.offer-shell{padding-top:36px;padding-bottom:36px}.product-preview{height:min(370px,42vh)}.faq-window{height:calc(100svh - 90px)}.faq-body{padding:34px 42px}.faq-list button{min-height:50px}.contact-shell{padding-top:34px}.message-window textarea{min-height:48px}}
/* mobile */
@media(max-width:900px){html,body{overflow:auto}.scene{position:relative;min-height:100vh}.site.active{display:block}.site-bar{position:sticky;top:0}.site-bar nav{display:none}.site-scroll{overflow:visible}.viewport-slide{height:auto;min-height:100vh}.page-grid{width:100%;padding-inline:18px}.section-head,.case-grid,.process-layout,.offer-shell,.faq-body,.contact-grid{grid-template-columns:1fr}.lead{font-size:18px}.story-preview{padding:58px 0}.story-preview-shell{display:block;padding-top:0}.story-teaser{width:100%;height:auto;grid-template-rows:auto auto}.story-teaser-caption{grid-template-columns:1fr;gap:10px}.story-player{inset:0}.story-player.open{grid-template-rows:52px minmax(0,1fr) 120px}.player-card{width:calc(100vw - 26px);height:auto;grid-template-rows:auto auto}.player-arrow{display:none}.story-player-footer{grid-template-columns:1fr;justify-items:center;gap:12px;padding:12px}.story-player-footer .btn{justify-self:center}.cases,.offer,.faq,.contact{padding:60px 0}.slide-shell{display:block}.case-grid{gap:24px}.process{height:auto;padding:60px 0}.process-sticky{position:relative;height:auto;padding-top:0}.process-layout{display:block}.process-copy{height:auto}.process-copy article{position:relative;opacity:1!important;transform:none!important;margin-bottom:36px}.process-copy article:not(.active){display:none}.process-meter{display:none}.process-computer{margin-top:26px}.process-result{opacity:1;transform:none;margin-top:28px}.offer-shell{display:block}.product-card{margin-top:32px}.faq-window{height:auto;width:calc(100vw - 24px);margin:auto}.faq-body{height:auto;padding:30px 24px}.contact-shell{height:auto}.message-window{margin-top:30px;justify-self:auto}.contact footer{margin-top:34px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}.type-title .type-live{position:static}.type-title .type-ghost,.type-title .type-caret{display:none}.reveal-item,.reveal-left,.reveal-right,.reveal-window,.reveal-visual,.line-reveal{opacity:1!important;transform:none!important}}
body.story-open .site-scroll{overflow:hidden}

@media(min-width:901px){.hero h1{font-size:clamp(58px,4.8vw,76px);max-width:none}.hero h1 .type-ghost,.hero h1 .type-live{white-space:pre}.hero-grid{padding-top:32px;padding-bottom:34px}.hero-visual img{height:min(105%,600px)}.hero-copy{transform:translateY(-2px)}}

@media(min-width:901px){.hero-visual img{transform:translateY(-44px)}}

/* ===== V16 FINAL POLISH OVERRIDES ===== */
.site-bar{display:grid;grid-template-columns:1fr auto 1fr;padding:0 18px;gap:16px}
.site-bar-left{display:flex;align-items:center;gap:12px;min-width:0}
.site-bar-left button{margin:0;border:0;background:transparent;padding:0 0 0 12px;border-left:1px solid #777;font-family:var(--ui);font-size:13px}
.site-bar nav{margin:0;justify-self:center;gap:30px}
.site-contact{justify-self:end;font-family:var(--ui);font-size:14px;position:relative}
.site-contact:after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:2px;background:#111;transform:scaleX(0);transform-origin:right;transition:.22s}
.site-contact:hover:after{transform:scaleX(1)}

.hero-window{height:min(812px,calc(100svh - var(--topbar) - 68px));width:min(1520px,calc(100vw - 44px))}
.hero-grid{grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:clamp(48px,5vw,88px);padding-top:clamp(54px,7vh,90px);padding-bottom:clamp(44px,5vh,70px)}
.hero-copy{align-self:center;transform:translateY(-8px)}
.hero h1{font-size:clamp(72px,6.15vw,104px)!important;line-height:.88;max-width:8.8ch!important}
.hero .eyebrow{margin-bottom:18px}
.hero .lead{margin-top:34px;max-width:40rem;font-size:clamp(19px,1.25vw,22px)}
.hero .actions{margin-top:30px}
.hero .result{margin-top:24px;max-width:43rem}
.hero-visual img{height:min(116%,700px)!important;transform:translateY(-18px)}

.story-preview-shell{padding-top:clamp(88px,10vh,132px);padding-bottom:42px}
.story-preview .section-head{margin-bottom:clamp(34px,4vh,50px)}
.story-teaser{position:relative;width:min(1040px,70vw);height:min(560px,57vh);display:block;overflow:hidden;border:3px solid #111;box-shadow:10px 10px 0 rgba(0,0,0,.25);background:#111}
.story-teaser>img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s var(--ease),filter .45s}
.story-teaser:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(4,10,20,.72),transparent 46%);pointer-events:none}
.story-play-overlay{position:absolute;z-index:2;left:50%;bottom:28px;transform:translateX(-50%);display:grid;justify-items:center;gap:10px;width:min(520px,calc(100% - 40px));text-align:center}
.story-play-overlay>span{font-family:var(--ui);font-size:14px;color:#d8e3f5;letter-spacing:.04em;text-transform:uppercase}
.story-play-overlay .btn{min-width:260px;background:#f4efe5;color:#111;border-color:#f4efe5;box-shadow:5px 5px 0 rgba(0,0,0,.45)}
.story-play-overlay .btn i{font-style:normal;margin-right:10px}
.story-play-overlay small{font-family:var(--body);font-size:14px;color:#c9d4e4}
.story-teaser:hover>img{transform:scale(1.018);filter:brightness(.92)}
.story-skip{margin-top:18px}

.story-player.open{grid-template-rows:58px minmax(0,1fr) 96px}
.story-player-stage:before{content:"";position:absolute;inset:0;background:linear-gradient(transparent 49%,rgba(255,255,255,.035) 50%,transparent 51%);background-size:100% 5px;opacity:.32;pointer-events:none}
.player-card{width:min(1180px,79vw);height:min(700px,72vh)}
.player-card.anim-out-left{animation:outLeftV16 .24s ease both}.player-card.anim-out-right{animation:outRightV16 .24s ease both}.player-card.anim-in-right{animation:inRightV16 .42s var(--ease) both}.player-card.anim-in-left{animation:inLeftV16 .42s var(--ease) both}
@keyframes outLeftV16{to{opacity:0;transform:translate3d(-190px,0,0) scale(.955);filter:brightness(.75)}}
@keyframes outRightV16{to{opacity:0;transform:translate3d(190px,0,0) scale(.955);filter:brightness(.75)}}
@keyframes inRightV16{from{opacity:0;transform:translate3d(190px,0,0) scale(.955);filter:brightness(.75)}}
@keyframes inLeftV16{from{opacity:0;transform:translate3d(-190px,0,0) scale(.955);filter:brightness(.75)}}
.player-caption{grid-template-columns:110px 1fr;padding:18px 28px}
.player-caption h3{font-size:clamp(38px,3.15vw,56px)}
.story-player-footer p{font-family:var(--body);font-size:16px}

.process-sticky{padding-top:clamp(82px,9vh,120px)}
.process-head{margin-bottom:clamp(34px,4vh,48px)}
.process-layout{grid-template-columns:minmax(340px,.72fr) minmax(0,1.28fr);gap:clamp(60px,6.4vw,112px)}
.process-copy{height:min(430px,48vh);padding-left:8px}
.process-copy h3{font-size:clamp(46px,3.55vw,64px);max-width:8.4ch}
.process-copy p{max-width:28rem;font-size:clamp(18px,1.12vw,20px)}
.process-copy b{display:block;max-width:27rem}
.process-computer{align-self:center}
.process-screen-stack{width:min(770px,100%);filter:drop-shadow(11px 12px 0 rgba(0,0,0,.16))}
.process-screen-stack>img{transition:none}
.screen-glitch{inset:8% 6%;display:grid;place-items:center;background:#e7edf7}
.screen-glitch span{position:relative;z-index:2;font-family:var(--ui);font-size:15px;color:#111;background:#e7edf7;padding:6px 10px;border:2px solid #111;opacity:0}
.screen-glitch.active span{opacity:1}
.screen-glitch.active{animation:screenLoadV16 .52s steps(6)}
@keyframes screenLoadV16{0%{opacity:0}15%{opacity:.8}32%{opacity:1}72%{opacity:1}100%{opacity:0}}
.process-result{margin-bottom:30px}

.offer-shell{grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:clamp(64px,6vw,108px);padding-top:72px;padding-bottom:86px}
.offer-copy{max-width:650px}
.offer-copy .section-lead{max-width:36rem}
.offer-badges{gap:10px;max-width:590px}.offer-badges span{padding:8px 11px}
.price-block{margin-top:34px}.offer-main-cta{margin-top:28px}
.product-card{position:relative;transform:translateY(4px);box-shadow:12px 13px 0 rgba(0,0,0,.28)}
.package-stamp{position:absolute;right:-18px;top:-22px;z-index:5;border:2px solid rgba(255,255,255,.7);color:#fff;padding:7px 10px;font-family:var(--ui);font-size:12px;transform:rotate(3deg);background:#332c29}
.product-preview{height:min(455px,48vh)}
.product-actions{padding:16px 18px}.btn-demo{border-style:dashed;box-shadow:3px 3px 0 rgba(0,0,0,.22)}
.product-statuses{gap:10px;padding:14px 16px}.product-statuses span{background:#f1ebdf;padding:9px 7px}

@media(max-height:850px) and (min-width:901px){
  .hero h1{font-size:clamp(66px,5.35vw,86px)!important}.hero-grid{padding-top:44px;padding-bottom:38px}.hero-visual img{height:min(112%,620px)!important}
  .story-preview-shell{padding-top:64px}.story-teaser{height:min(510px,54vh)}
  .process-sticky{padding-top:58px}.offer-shell{padding-top:46px;padding-bottom:58px}.product-preview{height:min(380px,41vh)}
}

@media(max-width:900px){
  .site-bar{grid-template-columns:1fr auto}.site-bar-left button{display:none}.site-contact{display:none}
  .story-play-overlay{bottom:18px}.story-play-overlay .btn{min-width:220px}
  .story-teaser{width:100%;height:auto;aspect-ratio:16/10}.story-player-stage{padding:10px}.player-card{width:calc(100vw - 24px)}
  .package-stamp{display:none}
}
.system-toast{position:absolute;right:22px;top:calc(var(--topbar) + 18px);z-index:12000;background:#111;color:#b8f4c2;border:2px solid #b8f4c2;padding:8px 12px;font-family:var(--ui);font-size:13px;opacity:0;transform:translateY(-8px);pointer-events:none}.system-toast.show{animation:toastV16 .85s ease both}@keyframes toastV16{0%{opacity:0;transform:translateY(-8px)}15%,75%{opacity:1;transform:none}100%{opacity:0;transform:translateY(-5px)}}
.faq-list article{position:relative}.faq-list article:after{content:attr(data-status);position:absolute;right:28px;top:18px;font-family:var(--ui);font-size:11px;color:#6fe287;opacity:0}.faq-list article[data-status="reading"]:after,.faq-list article[data-status="loaded"]:after{opacity:.65}.faq-list article[data-status="loaded"]:after{content:"loaded"}

/* =====================================================
   V17 FINAL POLISH — hierarchy, uncropped story, audio pass
   ===================================================== */

/* Hero: raise only the copy, preserve Macintosh position */
.hero-copy{
  transform:translateY(-34px);
  max-width:670px;
}
.hero .eyebrow{margin-bottom:18px}
.hero h1{margin-bottom:0}
.hero .lead{margin-top:34px;max-width:39rem}
.hero .actions{margin-top:30px}
.hero .result{margin-top:26px;max-width:42rem}

/* Story preview: restore air and never crop the source image */
.story-preview-shell{
  padding-top:clamp(72px,8vh,104px)!important;
  padding-bottom:34px!important;
  grid-template-rows:auto minmax(0,1fr) auto;
}
.story-preview .section-head{
  margin-bottom:clamp(34px,4.6vh,54px)!important;
  align-items:end;
}
.story-preview .section-lead{padding-bottom:8px}
.story-teaser{
  width:min(1080px,72vw)!important;
  height:min(510px,52vh)!important;
  display:block!important;
  position:relative;
  background:#070d18;
  overflow:hidden;
}
.story-teaser>img{
  width:100%;height:100%;object-fit:contain!important;
  object-position:center center;
  background:#070d18;
}
.story-play-overlay{
  bottom:24px!important;
  padding:12px 18px;
  background:rgba(6,12,24,.72);
  border:1px solid rgba(255,255,255,.18);
  backdrop-filter:blur(2px);
}
.story-play-overlay>span{font-size:13px}
.story-play-overlay small{font-size:13px}
.story-skip{margin-top:14px}

/* Full-screen story player: preserve entire image, no left/right crop */
.player-card{
  width:min(1180px,78vw)!important;
  height:min(700px,72vh)!important;
  grid-template-rows:minmax(0,1fr) 126px;
  background:#070d18;
}
.player-card img{
  width:100%;height:100%;object-fit:contain!important;
  object-position:center center;
  background:#070d18;
}
.player-caption{background:var(--paper)}

/* Process: clear reading order, less competition between headline and Macintosh */
.process-sticky{padding-top:clamp(76px,8vh,104px)!important}
.process-head{
  margin-bottom:clamp(40px,5vh,58px)!important;
  grid-template-columns:minmax(0,.92fr) minmax(360px,.68fr);
  align-items:end;
}
.process-head h2{
  font-size:clamp(54px,4.45vw,74px)!important;
  line-height:.92!important;
  max-width:11ch;
}
.process-head .section-lead{
  font-size:clamp(17px,1.15vw,20px)!important;
  line-height:1.45;
  max-width:34rem;
  padding-bottom:4px;
}
.process-layout{
  grid-template-columns:minmax(330px,.82fr) minmax(0,1.18fr)!important;
  gap:clamp(56px,6vw,100px)!important;
  align-items:center;
}
.process-copy{height:min(390px,44vh)!important}
.process-copy h3{
  font-size:clamp(42px,3.25vw,58px)!important;
  line-height:.95!important;
  max-width:9ch!important;
}
.process-copy p{
  font-size:clamp(17px,1.06vw,19px)!important;
  max-width:27rem!important;
  margin-top:20px!important;
}
.process-copy b{font-size:15px;max-width:26rem!important}
.process-screen-stack{width:min(700px,100%)!important}
.process-meter{bottom:6px!important}

/* Offer: remove redundant label above price and improve rhythm */
.price-block small{display:none!important}
.offer-shell{
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)!important;
  gap:clamp(70px,6.4vw,112px)!important;
}
.offer-copy .section-lead{max-width:34rem!important}
.offer-label{margin-top:28px!important}
.price-block{margin-top:28px!important}
.price-block strong{margin-top:0!important}
.product-card{align-self:center}

/* More deliberate secondary-element motion */
.line-reveal,.reveal-item,.reveal-left,.reveal-right,.reveal-window,.reveal-visual{
  will-change:transform,opacity,clip-path;
}
.is-visible .line-reveal{
  animation:sublineReveal .62s var(--ease) both;
  animation-delay:var(--delay,220ms);
}
@keyframes sublineReveal{
  from{opacity:0;transform:translateY(16px);clip-path:inset(0 0 100% 0)}
  to{opacity:1;transform:none;clip-path:inset(0)}
}
.hero.is-visible .actions a:nth-child(1){animation:buttonPop .42s var(--ease) .52s both}
.hero.is-visible .actions a:nth-child(2){animation:linkSweep .48s var(--ease) .62s both}
.offer.is-visible .offer-badges span{animation:badgeIn .42s var(--ease) both}
.offer.is-visible .offer-badges span:nth-child(1){animation-delay:.36s}.offer.is-visible .offer-badges span:nth-child(2){animation-delay:.40s}.offer.is-visible .offer-badges span:nth-child(3){animation-delay:.44s}.offer.is-visible .offer-badges span:nth-child(4){animation-delay:.48s}.offer.is-visible .offer-badges span:nth-child(5){animation-delay:.52s}.offer.is-visible .offer-badges span:nth-child(6){animation-delay:.56s}.offer.is-visible .offer-badges span:nth-child(7){animation-delay:.60s}.offer.is-visible .offer-badges span:nth-child(8){animation-delay:.64s}
@keyframes buttonPop{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}
@keyframes linkSweep{from{opacity:0;transform:translateX(-14px)}to{opacity:1;transform:none}}
@keyframes badgeIn{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}

@media(max-height:940px) and (min-width:901px){
  .hero-copy{transform:translateY(-22px)}
  .hero .lead{margin-top:28px}
  .story-preview-shell{padding-top:58px!important}
  .story-preview .section-head{margin-bottom:28px!important}
  .story-teaser{height:min(470px,50vh)!important}
  .process-sticky{padding-top:54px!important}
  .process-head{margin-bottom:30px!important}
  .process-screen-stack{width:min(650px,100%)!important}
}

@media(max-width:900px){
  
  .story-teaser{width:100%!important;height:auto!important;aspect-ratio:16/10}
  .story-play-overlay{width:calc(100% - 24px);bottom:12px!important}
  .player-card{width:calc(100vw - 24px)!important;height:auto!important}
  .process-head{grid-template-columns:1fr}
}

/* =====================================================
   V18 — FINAL DESKTOP ALIGNMENT + MOBILE SYSTEM
   ===================================================== */

/* Never hide the native cursor on standalone case pages */
.no-custom-cursor,.no-custom-cursor *{cursor:auto!important}

.mobile-menu-toggle,.process-mobile-nav{display:none}

/* Hero: balance copy and object around a shared visual center */
@media(min-width:901px){
  .hero-window{
    width:min(1510px,calc(100vw - 64px))!important;
    height:min(806px,calc(100svh - var(--topbar) - 78px))!important;
  }
  .hero-grid{
    grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr)!important;
    gap:clamp(34px,3.6vw,68px)!important;
    padding:clamp(42px,5vh,66px) clamp(48px,4.8vw,78px) clamp(36px,4.4vh,58px)!important;
  }
  .hero-copy{
    transform:translateY(-14px)!important;
    max-width:710px!important;
    padding-left:clamp(0px,1vw,16px);
  }
  .hero h1{
    font-size:clamp(72px,5.95vw,100px)!important;
    line-height:.89!important;
    max-width:9.2ch!important;
  }
  .hero .lead{font-size:clamp(18px,1.2vw,21px)!important;max-width:38rem!important;margin-top:30px!important}
  .hero .actions{margin-top:26px!important}
  .hero .result{margin-top:22px!important;max-width:39rem!important}
  .hero-visual{height:100%;display:grid;place-items:center end;padding-right:clamp(4px,1vw,18px)}
  .hero-visual img{
    height:min(94%,680px)!important;
    max-width:100%;
    transform:translateY(2px)!important;
  }
}

/* Story preview: exactly two headline rows, blurred teaser, central invitation */
.story-preview-shell{
  padding-top:clamp(76px,8.2vh,108px)!important;
  padding-bottom:clamp(34px,4vh,52px)!important;
  grid-template-rows:auto minmax(0,1fr)!important;
}
.story-preview .section-head{margin-bottom:clamp(24px,3vh,38px)!important}
.story-title span{display:block;white-space:nowrap}
.story-preview h2{font-size:clamp(56px,4.55vw,78px)!important;line-height:.9!important}
.story-teaser{
  align-self:start!important;
  position:relative!important;
  width:min(1120px,73vw)!important;
  height:auto!important;
  aspect-ratio:1672/680!important;
  display:block!important;
  background:#07101f!important;
  overflow:hidden!important;
}
.story-teaser>img{
  position:absolute;inset:-10px!important;
  width:calc(100% + 20px)!important;height:calc(100% + 20px)!important;
  object-fit:cover!important;
  filter:blur(7px) brightness(.48) saturate(.78)!important;
  transform:scale(1.025)!important;
}
.story-teaser:after{background:rgba(4,10,20,.24)!important}
.story-play-overlay{
  top:50%!important;bottom:auto!important;left:50%!important;
  transform:translate(-50%,-50%)!important;
  width:min(560px,calc(100% - 56px))!important;
  min-height:210px;
  padding:26px 30px;
  border:2px solid rgba(244,239,229,.9);
  background:rgba(5,12,24,.88);
  box-shadow:8px 8px 0 rgba(0,0,0,.45);
  backdrop-filter:blur(4px);
  display:grid;justify-items:center;align-content:center;gap:12px!important;
}
.story-play-overlay>span{font-size:13px!important;color:#bfcce0!important}
.story-play-overlay>strong{font-family:var(--body);font-size:clamp(18px,1.35vw,22px);line-height:1.35;max-width:28rem;color:#fff;font-weight:400}
.story-play-overlay small{font-size:13px!important;color:#aebbd0!important}
.story-skip{display:none!important}

/* Story full player: never crop source frames */
.player-card img{object-fit:contain!important;object-position:center;background:#070d18!important}

/* Process: one framed stage, clear reading order */
.process-sticky{padding-top:clamp(66px,7vh,92px)!important}
.process-head{
  margin-bottom:clamp(24px,3vh,34px)!important;
  grid-template-columns:minmax(0,.9fr) minmax(340px,.68fr)!important;
  align-items:end!important;
}
.process-head h2{font-size:clamp(54px,4.35vw,72px)!important;line-height:.91!important;max-width:12ch!important}
.process-head .section-lead{font-size:clamp(17px,1.1vw,19px)!important;max-width:32rem!important;padding-bottom:5px}
.process-layout{
  width:min(1320px,calc(100vw - 96px))!important;
  padding:clamp(24px,2.2vw,34px) clamp(28px,2.6vw,42px)!important;
  border:2px solid rgba(17,18,23,.78);
  background:rgba(241,237,227,.72);
  box-shadow:9px 9px 0 rgba(31,52,86,.16);
  grid-template-columns:minmax(330px,.75fr) minmax(0,1.25fr)!important;
  gap:clamp(46px,4.6vw,78px)!important;
  min-height:min(500px,55vh);
  align-items:center!important;
}
.process-copy{height:min(360px,40vh)!important;padding:0!important}
.process-copy article{justify-content:center!important}
.process-copy article>span{font-family:var(--ui);margin-bottom:14px!important}
.process-copy h3{font-size:clamp(42px,3.2vw,56px)!important;line-height:.94!important;max-width:9ch!important}
.process-copy p{font-size:clamp(17px,1.02vw,19px)!important;line-height:1.42!important;max-width:27rem!important;margin:18px 0 14px!important}
.process-copy .process-note{
  display:inline-flex!important;
  align-self:flex-start;
  max-width:100%!important;
  padding:9px 12px;
  border:2px solid #111;
  background:#f4efe5;
  box-shadow:4px 4px 0 rgba(34,55,88,.17);
  font-family:var(--body);
  font-size:15px!important;
  line-height:1.3;
  font-weight:400;
}
.process-meter{bottom:0!important;width:min(380px,100%)!important}
.process-screen-stack{width:min(680px,100%)!important}
.process-result{margin:20px 0 24px!important;font-size:15px}

/* Audio-related elements should not visually jitter when activated */
.btn,.case-card,.faq-list button,.player-arrow{backface-visibility:hidden;transform:translateZ(0)}

/* Mobile navigation and complete responsive composition */
@media(max-width:900px){
  :root{--topbar:48px;--pad:18px}
  html,body{overflow:hidden}
  body{font-size:16px}
  .cursor{display:none!important}
  .site-bar{
    display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;
    height:var(--topbar);padding:0 12px!important;gap:10px!important;z-index:5000;
  }
  .site-bar-left{gap:8px!important;min-width:0}
  .site-bar-left img{width:15px;height:15px}
  .site-bar-left b{font-size:13px;white-space:nowrap}
  .site-bar-left button{display:none!important}
  .mobile-menu-toggle{display:block;border:1px solid #111!important;background:#efeee7!important;padding:6px 9px!important;font-family:var(--ui);font-size:12px;margin:0!important}
  .site-bar nav{
    position:absolute;left:8px;right:8px;top:calc(var(--topbar) - 1px);
    display:grid!important;gap:0!important;background:#efeee7;border:2px solid #111;
    box-shadow:6px 6px 0 rgba(0,0,0,.22);opacity:0;transform:translateY(-8px);pointer-events:none;
    transition:.22s var(--ease);z-index:6000;
  }
  .site-bar nav a{padding:14px 16px;border-bottom:1px solid #999;font-size:15px}
  .site-bar nav a:last-child{border-bottom:0}
  .site-bar.mobile-open nav{opacity:1;transform:none;pointer-events:auto}
  .site-contact{display:none!important}
  .site-scroll{scroll-behavior:smooth}
  .page-grid{width:100%!important;padding-inline:18px!important}
  .viewport-slide{height:auto!important;min-height:0!important;overflow:visible!important}
  .section-head{grid-template-columns:1fr!important;gap:18px!important;align-items:start!important}
  .section-lead{font-size:17px!important;line-height:1.42!important;max-width:none!important}
  .file,.eyebrow{font-size:12px!important;margin-bottom:12px!important}

  /* startup / desktop */
  .power-box{padding:24px 18px;gap:13px;width:100%}.power-box>b{min-width:210px}
  .boot-panel{width:calc(100vw - 32px)}.boot-status{font-size:20px}.boot-mac{margin-bottom:30px}
  .system-bar{gap:10px;padding:0 10px;font-size:12px}.system-bar span{display:none}
  .desktop-folder img{width:118px}.desktop-folder span{font-size:21px}.desktop-folder em{font-size:12px}

  /* hero */
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  

  /* story preview */
  .story-preview{padding:58px 0 68px;min-height:0}
  .story-preview-shell{height:auto!important;padding:0 18px!important;display:block!important}
  .story-preview .section-head{margin-bottom:28px!important}
  .story-title span{white-space:normal!important}
  .story-preview h2{font-size:clamp(42px,12vw,56px)!important;line-height:.91!important}
  .story-teaser{width:100%!important;height:300px!important;aspect-ratio:auto!important;box-shadow:6px 6px 0 rgba(0,0,0,.28)!important}
  .story-play-overlay{width:calc(100% - 28px)!important;min-height:218px!important;padding:22px 16px!important;gap:10px!important}
  .story-play-overlay>strong{font-size:17px!important}
  .story-play-overlay .btn{min-width:0!important;width:100%;min-height:50px}
  .story-play-overlay small{font-size:11px!important}

  /* story player */
  .story-player{inset:var(--topbar) 0 0!important}
  .story-player.open{grid-template-rows:50px minmax(0,1fr) 104px!important}
  .story-player header{padding:0 12px!important;font-size:12px}.story-player header button{font-size:13px}
  .story-player-stage{padding:10px 8px 58px!important;align-items:center!important}
  .player-card{width:calc(100vw - 16px)!important;height:auto!important;max-height:calc(100svh - 220px)!important;grid-template-rows:auto auto!important;box-shadow:4px 4px 0 rgba(0,0,0,.35)!important}
  .player-card img{width:100%!important;height:auto!important;aspect-ratio:1672/680!important;object-fit:contain!important}
  .player-caption{grid-template-columns:1fr!important;gap:7px!important;padding:14px 16px!important;min-height:132px}
  .player-caption span{padding:0!important;font-size:12px}.player-caption h3{font-size:34px!important;line-height:.92!important}.player-caption p{font-size:15px!important;line-height:1.35!important;margin-top:7px!important}
  .player-arrow{top:auto!important;bottom:8px!important;transform:none!important;width:46px;height:42px}.player-arrow.prev{left:12px!important}.player-arrow.next{right:12px!important}
  .story-player-footer{grid-template-columns:1fr auto!important;padding:0 12px!important;gap:12px}.story-player-footer p{font-size:12px!important}.player-progress{gap:5px}.player-progress i{width:24px;height:4px}.story-player-footer .btn{grid-column:1/-1;position:absolute;left:50%;bottom:10px;transform:translateX(-50%)}

  /* cases */
  .cases{padding:58px 0 70px}.slide-shell{height:auto!important;padding:0!important;display:block!important}
  .case-grid{grid-template-columns:1fr!important;gap:24px!important}.case-card{grid-template-rows:40px minmax(280px,52vw) auto!important;box-shadow:5px 5px 0 #111!important}
  .case-copy h3{font-size:42px!important}.all-cases{margin-top:28px!important}

  /* process mobile carousel */
  .process{height:auto!important;min-height:0!important;padding:64px 0 70px}
  .process-sticky{position:relative!important;top:auto!important;height:auto!important;padding:0!important;display:block!important;overflow:visible!important}
  .process-head{margin-bottom:28px!important;padding:0 18px!important;grid-template-columns:1fr!important;gap:18px!important}
  .process-head h2{font-size:clamp(44px,12vw,58px)!important;line-height:.91!important;max-width:10ch!important}
  .process-layout{
    width:calc(100vw - 20px)!important;margin:0 auto!important;padding:20px 16px 18px!important;
    min-height:0!important;display:grid!important;grid-template-columns:1fr!important;gap:20px!important;
    box-shadow:5px 5px 0 rgba(31,52,86,.16)!important;
  }
  .process-copy{height:300px!important;order:1}.process-copy article{justify-content:flex-start!important;padding-top:2px}
  .process-copy article>span{font-size:13px!important;margin-bottom:12px!important}
  .process-copy h3{font-size:clamp(38px,10.5vw,50px)!important;max-width:9ch!important}
  .process-copy p{font-size:16px!important;line-height:1.4!important;margin:16px 0 12px!important;max-width:none!important}
  .process-copy .process-note{font-size:14px!important;padding:8px 10px!important}
  .process-meter{bottom:0!important;width:100%!important}
  .process-computer{order:2}.process-screen-stack{width:100%!important;max-width:520px!important}
  .process-mobile-nav{display:grid;grid-template-columns:48px 1fr 48px;align-items:center;width:calc(100vw - 36px);margin:18px auto 0;gap:12px}
  .process-mobile-nav button{height:44px;border:2px solid #111;background:#f4efe5;box-shadow:3px 3px 0 rgba(0,0,0,.22);font-family:var(--ui)}
  .process-mobile-nav span{text-align:center;font-family:var(--ui);font-size:13px}
  .process-result{opacity:1!important;transform:none!important;margin:22px 18px 0!important;font-size:13px!important;line-height:1.4!important}

  /* offer */
  .offer{padding:62px 0 72px}.offer-shell{height:auto!important;display:grid!important;grid-template-columns:1fr!important;gap:34px!important;padding:0 18px!important}
  .offer h2{font-size:clamp(48px,13vw,62px)!important}.offer-copy .section-lead{font-size:16px!important;margin-top:22px!important}.offer-label{margin-top:24px!important}.offer-badges{gap:7px!important}.offer-badges span{font-size:13px!important;padding:7px 8px!important}
  .price-block strong{font-size:58px!important}.price-block p{font-size:14px!important}.offer-main-cta{width:100%;margin-top:22px!important}
  .product-card{width:100%!important;box-shadow:6px 6px 0 rgba(0,0,0,.28)!important}.product-preview{height:300px!important;padding:12px!important}.preview-hero{padding:14px!important;gap:10px!important}.preview-hero strong{font-size:32px!important}.product-actions{gap:10px}.product-actions strong{font-size:16px}.btn-demo{min-height:44px;padding:8px 10px!important}.product-statuses{grid-template-columns:1fr!important}.package-stamp{display:none!important}

  /* FAQ */
  .faq{padding:64px 0 72px;display:block!important}.faq-window{width:calc(100vw - 16px)!important;height:auto!important;margin:0 auto!important}.faq-body{height:auto!important;display:grid!important;grid-template-columns:1fr!important;gap:30px!important;padding:28px 16px 24px!important}.faq h2{font-size:54px!important}.faq .section-lead{font-size:16px!important}.faq-list button{min-height:62px!important;font-size:15px!important;padding-right:58px!important}.faq-list article:after{right:24px!important}.faq-list article p{font-size:15px!important}.faq-list article.open p{max-height:260px!important}

  /* contact */
  .contact{padding:64px 0 0;display:block!important}.contact-shell{height:auto!important}.contact-grid{height:auto!important;display:grid!important;grid-template-columns:1fr!important;gap:32px!important;padding:0 18px!important}.contact h2{font-size:clamp(48px,12vw,60px)!important}.contact-copy .section-lead{font-size:16px!important}.message-window{width:100%!important;margin:0!important;box-shadow:5px 5px 0 rgba(0,0,0,.34)!important}.message-window label{font-size:13px}.message-window input,.message-window textarea{font-size:16px;min-height:46px}.message-window textarea{min-height:88px}.message-window .btn{width:100%}.contact footer{margin-top:42px!important;padding:18px!important;font-size:12px!important}

  .modal-window{width:calc(100vw - 24px)!important}.modal-content{padding:24px 18px!important}.modal-content h3{font-size:38px!important}
  .system-toast{right:10px!important;top:calc(var(--topbar) + 10px)!important;font-size:11px!important}
}

@media(max-width:430px){
  
  
  .story-preview h2{font-size:clamp(39px,11vw,48px)!important}
  .story-teaser{height:286px!important}
  .process-copy{height:320px!important}
  .product-preview{height:270px!important}
}

/* V18 mobile containment correction: keep the app as a fixed viewport with its own scroll area */
@media(max-width:900px){
  .scene{position:fixed!important;inset:0!important;min-height:0!important}
  .site.active{display:flex!important;flex-direction:column!important}
  .site-scroll{flex:1!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior-y:contain!important}
  
  
  
  
  
  
  
}
@media(max-width:900px){
  
  
}
@media(max-width:900px){
  
  
  
}
@media(max-width:900px){}
@media(max-width:900px){
  .process-copy{height:250px!important}
  .contact-backdrop span{display:none!important}
  .contact h2{font-size:clamp(44px,11.2vw,54px)!important;line-height:.92!important}
  .cases-page,.case-page{padding:38px 0!important}
  .cases-page .grid,.case-page .grid{width:calc(100% - 28px)!important}
  .cases-page header{margin:28px 0 34px!important}
  .cases-page h1{font-size:58px!important;margin:18px 0!important}
  .cases-page header p:last-child{font-size:17px!important;line-height:1.4!important}
  .case-page .case-hero{grid-template-columns:1fr!important;gap:26px!important;min-height:0!important;padding:32px 0!important}
  .case-page .case-hero img{max-height:430px!important}
  .case-page .case-hero h1{font-size:54px!important}
  .case-page .case-hero p{font-size:17px!important}
  .case-page .case-section{padding:46px 0!important}
  .case-page .case-section h2{font-size:48px!important}
  .case-page .case-list{grid-template-columns:1fr!important}
  .case-page .site-url{padding:44px 14px!important}
  .case-page .site-url h2{font-size:34px!important;overflow-wrap:anywhere}
  .case-page .site-url a{display:block;margin:16px 0 0!important}
}

/* Typewriter must never change grid width on small screens */
.process-copy,.process-copy article,.process-copy h3,.type-title,.type-title .type-live,.type-title .type-text{min-width:0;max-width:100%}
.process-copy h3 .type-live,.process-copy h3 .type-ghost,.process-copy h3 .type-text{white-space:pre-line!important;overflow-wrap:normal;word-break:normal}
@media(max-width:900px){
  .process-copy h3{width:100%!important}
  .contact-grid{overflow:hidden}
}

/* V18 final polish */
.story-title .type-live,
.story-title .type-ghost,
.story-title .type-text{
  white-space:pre-line!important;
}
@media(min-width:901px){
  .story-preview .section-head{
    grid-template-columns:minmax(0,1.12fr) minmax(330px,.58fr)!important;
    align-items:end!important;
  }
  .story-title{
    max-width:780px!important;
  }
  .story-preview h2{
    font-size:clamp(54px,4.25vw,72px)!important;
    line-height:.91!important;
  }
  .hero-grid{
    grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr)!important;
  }
  .hero-copy{
    transform:translateY(-4px);
  }
}
@media(max-width:900px){
  .contact-backdrop i{display:none!important}
  .story-title .type-live,
  .story-title .type-ghost,
  .story-title .type-text{white-space:pre-line!important}
}


/* =====================================================
   V19 — COPY, MOBILE MACINTOSH AND PERFORMANCE POLISH
   ===================================================== */

/* Standalone pages always keep the operating-system cursor */
html.no-custom-cursor,
html.no-custom-cursor *,
body.no-custom-cursor,
body.no-custom-cursor *{cursor:auto!important}

/* Story teaser sits in the optical middle of the space between its header and slide edge */
@media(min-width:901px){
  .story-teaser{
    align-self:center!important;
    margin-top:clamp(12px,1.8vh,24px)!important;
  }
}

/* The simplified Telegram handoff needs less vertical weight */
.message-window label{padding-top:12px}
.message-window textarea[name="goal"]{min-height:92px}
.message-window button[type="submit"]{min-width:270px}

/* Keep expensive decorative layers isolated from the rest of the page */
.chapter-bg,.faq-backdrop,.contact-backdrop{contain:paint;backface-visibility:hidden}
.story-teaser>img,.player-card img,.process-screen-stack>img,.hero-visual img{backface-visibility:hidden}

/* Mobile Macintosh: keep it, but treat it as a centered object rather than a loose image */
@media(max-width:900px){
  
  
  
  .message-window button[type="submit"]{min-width:0;width:calc(100% - 36px)!important}
}

@media(max-width:430px){
  
  
}

/* =====================================================
   V20 — MOBILE HERO COMPOSITION + HONEST CASES IN PROGRESS
   ===================================================== */

/* Case section is deliberately non-clickable until the projects are complete */
.cases-in-progress .case-card{
  cursor:default!important;
  transform:none;
}
.cases-in-progress .case-card:hover{
  transform:none;
  box-shadow:7px 7px 0 #111;
}
.case-pending{
  grid-template-rows:44px minmax(0,1fr) 184px;
}
.case-media{
  position:relative;
  min-height:0;
  overflow:hidden;
  border-bottom:2px solid #111;
  isolation:isolate;
}
.case-media>img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  filter:saturate(.72) contrast(.92) brightness(.82) blur(1.6px);
  transform:scale(1.025);
}
.case-media-portrait{background:#83dfd2}
.case-media-portrait>img{object-fit:contain}
.case-media-site{background:#f3d942;padding:22px}
.case-media-site>img{border:3px solid #111;object-fit:cover}
.case-media:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(180deg,rgba(7,12,20,.12),rgba(7,12,20,.42));
  pointer-events:none;
}
.case-progress-panel{
  position:absolute;
  z-index:2;
  left:50%;
  top:50%;
  width:min(330px,76%);
  transform:translate(-50%,-50%);
  display:grid;
  justify-items:center;
  gap:9px;
  padding:20px 20px 17px;
  color:#f6f0e6;
  text-align:center;
  background:rgba(8,14,24,.91);
  border:2px solid #f6f0e6;
  box-shadow:6px 6px 0 rgba(0,0,0,.52);
  backdrop-filter:blur(2px);
}
.case-progress-panel strong{
  font-family:var(--display);
  font-size:clamp(30px,2.45vw,42px);
  line-height:.9;
  letter-spacing:0;
}
.case-progress-panel small{
  font-family:var(--body);
  font-size:14px;
  line-height:1.3;
  max-width:240px;
}
.case-loader{
  position:relative;
  width:58px;
  height:58px;
  display:block;
  animation:caseSpin .96s steps(8,end) infinite;
}
.case-loader i{
  position:absolute;
  left:25px;
  top:2px;
  width:8px;
  height:13px;
  background:#f6f0e6;
  transform-origin:4px 27px;
}
.case-loader i:nth-child(1){transform:rotate(0deg)}
.case-loader i:nth-child(2){transform:rotate(45deg)}
.case-loader i:nth-child(3){transform:rotate(90deg)}
.case-loader i:nth-child(4){transform:rotate(135deg)}
.case-loader i:nth-child(5){transform:rotate(180deg)}
.case-loader i:nth-child(6){transform:rotate(225deg)}
.case-loader i:nth-child(7){transform:rotate(270deg)}
.case-loader i:nth-child(8){transform:rotate(315deg)}
@keyframes caseSpin{to{transform:rotate(360deg)}}
.case-loading-line{
  width:100%;
  height:7px;
  overflow:hidden;
  border:1px solid rgba(246,240,230,.7);
  background:rgba(255,255,255,.06);
}
.case-loading-line i{
  display:block;
  width:34%;
  height:100%;
  background:#65d782;
  animation:caseLoading 1.6s steps(8,end) infinite;
}
@keyframes caseLoading{
  0%{transform:translateX(-110%)}
  55%{transform:translateX(115%)}
  100%{transform:translateX(300%)}
}
.case-status{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:14px;
  padding:7px 10px;
  border:2px solid #111;
  font-family:var(--ui);
  font-size:13px;
  text-transform:uppercase;
  background:#e9e4d8;
}
.case-status:before{
  content:"";
  width:8px;
  height:8px;
  background:#51bf6d;
  border:1px solid #111;
  animation:caseStatusPulse 1.25s steps(2,end) infinite;
}
@keyframes caseStatusPulse{50%{opacity:.25}}
.cases-note{
  margin:24px auto 0;
  text-align:center;
  font-family:var(--body);
  font-size:15px;
  opacity:.72;
}

/* Mobile hero: keep the Macintosh as a compact signature object, not a second full screen */
@media(max-width:900px){
  
  
  
  
  
  
  
  
  
  
  
  

  .cases-in-progress{padding-top:60px!important}
  .cases-in-progress .section-head{margin-bottom:30px!important}
  .case-pending{grid-template-rows:40px minmax(250px,60vw) auto!important}
  .case-media-site{padding:14px}
  .case-progress-panel{width:min(290px,82%);padding:17px 15px 15px;gap:7px}
  .case-progress-panel strong{font-size:34px}
  .case-progress-panel small{font-size:13px}
  .case-loader{width:48px;height:48px}
  .case-loader i{left:21px;top:1px;width:7px;height:11px;transform-origin:3.5px 23px}
  .cases-note{padding:0 20px;font-size:14px}
}

@media(max-width:430px){
  
  
  
  .case-pending{grid-template-rows:40px 252px auto!important}
}

@media(prefers-reduced-motion:reduce){
  .case-loader,.case-loading-line i,.case-status:before{animation:none!important}
}


/* =====================================================
   V21 — COMPACT MOBILE MACINTOSH + NEUTRAL CASE PLACEHOLDERS
   ===================================================== */
.hero-mobile-mac{display:none}
.hero-title-stack{display:contents}

/* Unfinished cases stay deliberately anonymous */
.case-media-empty{
  position:relative;
  padding:0!important;
  overflow:hidden;
  background-image:
    linear-gradient(rgba(17,18,23,.11) 1px,transparent 1px),
    linear-gradient(90deg,rgba(17,18,23,.11) 1px,transparent 1px);
  background-size:28px 28px;
}
.case-tone-a{background-color:#79d8cd}
.case-tone-b{background-color:#d7c7f4}
.case-wireframe{
  position:absolute;
  inset:11% 9%;
  border:3px solid rgba(17,18,23,.42);
  box-shadow:8px 8px 0 rgba(17,18,23,.12);
  opacity:.72;
}
.case-wireframe:before{
  content:"";
  position:absolute;
  left:0;right:0;top:0;
  height:34px;
  border-bottom:3px solid rgba(17,18,23,.42);
  background:repeating-linear-gradient(0deg,rgba(17,18,23,.55) 0 2px,transparent 2px 5px);
}
.case-wireframe i{
  position:absolute;
  top:62px;
  bottom:24px;
  border:2px solid rgba(17,18,23,.25);
  background:rgba(241,237,227,.22);
}
.case-wireframe i:nth-child(1){left:5%;width:42%}
.case-wireframe i:nth-child(2){right:5%;width:39%;height:44%}
.case-wireframe i:nth-child(3){right:5%;bottom:24px;width:39%;height:28%;top:auto}
.case-wireframe-alt i:nth-child(1){left:5%;width:30%}
.case-wireframe-alt i:nth-child(2){left:39%;right:auto;width:27%;height:auto}
.case-wireframe-alt i:nth-child(3){right:5%;width:25%;height:auto;top:62px;bottom:24px}
.case-media-empty:after{background:linear-gradient(180deg,rgba(7,12,20,.03),rgba(7,12,20,.24))}

@media(max-width:900px){
  /* The Macintosh becomes a small signature object beside the title, not a second screen */
  
  
  
  
  
  
  
  
  
  
  .case-media-empty{min-height:250px}
}

@media(max-width:520px){
  
  
  
  
}

@media(max-width:380px){
  
  
  
}


/* =====================================================
   V22 — SKIPPABLE INTRO + CLEAN MOBILE HERO
   ===================================================== */
.skip-intro{
  position:fixed;
  top:max(14px,env(safe-area-inset-top));
  right:max(14px,env(safe-area-inset-right));
  z-index:100000;
  border:0;
  padding:6px 8px;
  background:transparent;
  color:#d7f7d2;
  font-family:var(--ui),monospace;
  font-size:12px;
  line-height:1;
  letter-spacing:.02em;
  text-transform:lowercase;
  opacity:.38;
  cursor:pointer;
  transition:opacity .16s ease,background-color .16s ease;
}
.skip-intro:hover,.skip-intro:focus-visible{
  opacity:.92;
  background:rgba(215,247,210,.08);
  outline:1px solid rgba(215,247,210,.38);
  outline-offset:2px;
}
.skip-intro[hidden]{display:none!important}

@media(max-width:900px){
  /* Mobile hero is text-first. The desktop Macintosh stays desktop-only. */
  
  
  
  
  
  
}

@media(max-width:520px){
  .skip-intro{
    top:max(10px,env(safe-area-inset-top));
    right:max(10px,env(safe-area-inset-right));
    font-size:11px;
    padding:6px;
  }
}


/* =====================================================
   V23 SALES REBUILD — stronger meaning, calmer hierarchy
   ===================================================== */

/* Hero */
.hero-copy{
  transform:translateY(-18px)!important;
  max-width:760px!important;
}
.hero h1{
  font-size:clamp(54px,4.55vw,76px)!important;
  line-height:.93!important;
  max-width:12.5ch!important;
}
.hero .lead{
  margin-top:26px!important;
  max-width:43rem!important;
  font-size:clamp(17px,1.12vw,20px)!important;
  line-height:1.46!important;
}
.hero .actions{margin-top:24px!important}
.hero .result{
  margin-top:22px!important;
  max-width:44rem!important;
  font-size:15px!important;
  line-height:1.4!important;
}
.hero-visual img{
  height:min(108%,620px)!important;
}

/* Story preview */
.story-preview-shell{
  padding-top:clamp(64px,7vh,90px)!important;
  padding-bottom:34px!important;
}
.story-preview .section-head{
  margin-bottom:clamp(28px,3.8vh,44px)!important;
  grid-template-columns:minmax(0,1.1fr) minmax(320px,.62fr)!important;
}
.story-preview h2{
  font-size:clamp(52px,4.15vw,70px)!important;
  line-height:.93!important;
  max-width:17ch!important;
}
.story-preview .section-lead{
  font-size:clamp(17px,1.12vw,20px)!important;
  max-width:34rem!important;
}
.story-teaser{
  width:min(1160px,76vw)!important;
  height:auto!important;
  aspect-ratio:1966/800!important;
  max-height:50vh!important;
  background:#060d19!important;
  box-shadow:9px 10px 0 rgba(0,0,0,.28)!important;
}
.story-teaser>img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  filter:blur(6px) brightness(.55) saturate(.82)!important;
  transform:scale(1.035)!important;
}
.story-teaser:after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background:linear-gradient(90deg,rgba(4,10,20,.2),rgba(4,10,20,.06),rgba(4,10,20,.2))!important;
  pointer-events:none!important;
}
.story-play-overlay{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  bottom:auto!important;
  transform:translate(-50%,-50%)!important;
  width:min(520px,72%)!important;
  display:grid!important;
  justify-items:center!important;
  gap:10px!important;
  padding:22px 24px!important;
  background:rgba(5,11,22,.86)!important;
  border:2px solid rgba(255,255,255,.76)!important;
  box-shadow:7px 7px 0 rgba(0,0,0,.35)!important;
  text-align:center!important;
  z-index:2!important;
  backdrop-filter:blur(4px)!important;
}
.story-play-overlay>span{
  font-family:var(--ui)!important;
  font-size:12px!important;
  text-transform:uppercase!important;
  letter-spacing:.06em!important;
  color:#b8c7dd!important;
}
.story-play-overlay>strong{
  font-family:var(--body)!important;
  font-size:19px!important;
  line-height:1.3!important;
  color:#fff!important;
}
.story-play-overlay .btn{
  margin-top:2px!important;
  min-width:240px!important;
}
.story-play-overlay small{
  font-family:var(--body)!important;
  font-size:12px!important;
  color:#aebed3!important;
}

/* 9-frame player */
.story-player.open{
  grid-template-rows:54px minmax(0,1fr) 84px!important;
}
.story-player-stage{padding:14px 78px!important}
.player-card{
  width:min(1260px,86vw)!important;
  height:auto!important;
  max-height:calc(100svh - var(--topbar) - 170px)!important;
  display:grid!important;
  grid-template-rows:auto auto!important;
  background:#070d18!important;
}
.player-card img{
  width:100%!important;
  height:auto!important;
  aspect-ratio:1966/800!important;
  object-fit:contain!important;
  background:#070d18!important;
}
.player-caption{
  grid-template-columns:88px minmax(0,1fr)!important;
  gap:18px!important;
  padding:16px 22px 18px!important;
  background:var(--paper)!important;
  min-height:142px!important;
}
.player-caption span{
  font-family:var(--ui)!important;
  font-size:14px!important;
  padding-top:4px!important;
}
.player-caption h3{
  font-size:clamp(30px,2.35vw,42px)!important;
  line-height:.96!important;
  max-width:30ch!important;
}
.player-caption p{
  margin:8px 0 0!important;
  font-size:15px!important;
  line-height:1.35!important;
  white-space:pre-line!important;
  max-width:92ch!important;
}
.player-progress i{width:30px!important}
.player-arrow{background:#0b1220!important}

/* Single proof case */
.case-proof-shell{
  padding:clamp(58px,7vh,84px) 0 36px!important;
}
.case-proof-shell .section-head{
  margin-bottom:30px!important;
}
.case-proof{
  background:#f6f1e7;
  border:3px solid #111;
  box-shadow:8px 8px 0 #111;
  padding:0!important;
  overflow:hidden;
}
.case-proof-head{
  display:grid;
  grid-template-columns:1fr auto;
  align-items:end;
  gap:28px;
  padding:24px 28px;
  border-bottom:3px solid #111;
}
.case-proof-head h3{
  font-size:clamp(42px,3.2vw,58px);
  line-height:.94;
  margin:5px 0 8px;
}
.case-proof-head p{margin:0}
.case-kicker{
  font-family:var(--ui)!important;
  text-transform:uppercase;
  font-size:13px;
  letter-spacing:.04em;
}
.case-proof-status{
  align-self:start;
  border:2px solid #111;
  padding:8px 10px;
  font-size:13px;
  background:#d7f1dc;
}
.case-proof-flow{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  background:#fffaf0;
}
.case-proof-flow section{
  padding:26px 28px 28px;
  min-height:210px;
}
.case-proof-flow section+section{border-left:2px solid #111}
.case-proof-flow span{
  display:block;
  font-family:var(--ui);
  text-transform:uppercase;
  font-size:13px;
  margin-bottom:16px;
}
.case-proof-flow p{
  margin:0;
  font-family:var(--body);
  font-size:17px;
  line-height:1.45;
}
.case-proof-bottom{
  display:grid;
  grid-template-columns:.55fr 1fr;
  gap:34px;
  align-items:center;
  padding:20px 28px;
  background:#111;
  color:#f7f0e4;
}
.case-proof-bottom strong{
  font-family:var(--display);
  font-size:27px;
  line-height:1;
}
.case-proof-bottom p{
  margin:0;
  font-family:var(--body);
  font-size:15px;
  line-height:1.4;
}

/* Process */
.process-sticky{
  padding-top:clamp(60px,6.5vh,82px)!important;
}
.process-head{
  grid-template-columns:minmax(0,1.08fr) minmax(340px,.62fr)!important;
  margin-bottom:clamp(26px,3.5vh,42px)!important;
}
.process-head h2{
  font-size:clamp(48px,3.95vw,66px)!important;
  line-height:.94!important;
  max-width:16ch!important;
}
.process-head .section-lead{
  font-size:clamp(17px,1.08vw,19px)!important;
  line-height:1.43!important;
  max-width:34rem!important;
}
.process-layout{
  grid-template-columns:minmax(330px,.88fr) minmax(0,1.12fr)!important;
  gap:clamp(38px,4.2vw,70px)!important;
}
.process-copy{height:min(360px,41vh)!important}
.process-copy h3{
  font-size:clamp(39px,3vw,52px)!important;
  line-height:.96!important;
  max-width:11ch!important;
}
.process-copy p{
  font-size:clamp(16px,1vw,18px)!important;
  line-height:1.43!important;
  max-width:31rem!important;
  margin:18px 0 14px!important;
}
.process-copy .process-note{
  display:inline-block!important;
  width:fit-content!important;
  max-width:31rem!important;
  padding:9px 11px!important;
  background:#eef3fc!important;
  border:1px solid #7f9bc7!important;
  box-shadow:3px 3px 0 rgba(67,97,145,.18)!important;
  font-size:14px!important;
  line-height:1.34!important;
}
.process-screen-stack{width:min(650px,100%)!important}
.process-result{
  font-size:14px!important;
  margin:16px 0 20px!important;
}

/* Offer */
.offer-shell{
  grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr)!important;
  gap:clamp(42px,4.6vw,74px)!important;
  padding-top:46px!important;
  padding-bottom:42px!important;
}
.offer h2{
  font-size:clamp(50px,4.05vw,68px)!important;
  line-height:.94!important;
  max-width:15ch!important;
}
.offer-copy .section-lead{
  margin-top:20px!important;
  max-width:38rem!important;
  font-size:clamp(16px,1vw,18px)!important;
}
.offer-value{
  margin:16px 0 0!important;
  padding-left:14px;
  border-left:3px solid #f4ede1;
  max-width:37rem;
  font-family:var(--body);
  font-size:15px;
  line-height:1.38;
  color:#e7dbcd;
}
.offer-label{margin:22px 0 10px!important}
.offer-badges{gap:7px!important}
.offer-badges span{font-size:13px!important;padding:7px 9px!important}
.price-block{margin-top:22px!important}
.price-block strong{font-size:clamp(50px,3.8vw,64px)!important}
.price-block p{font-size:14px!important}
.offer-economy{
  margin-top:18px;
  padding:14px 16px;
  border:1px solid rgba(244,237,225,.42);
  background:rgba(255,255,255,.035);
  max-width:42rem;
}
.offer-economy strong{
  display:block;
  font-family:var(--ui);
  font-size:14px;
  line-height:1.3;
  margin-bottom:7px;
}
.offer-economy p{
  margin:0;
  font-family:var(--body);
  font-size:14px;
  line-height:1.38;
  color:#ded2c4;
}
.offer-main-cta{margin-top:18px!important}
.product-preview{height:min(350px,39vh)!important}
.product-card{max-width:690px;justify-self:end}
.product-actions{padding:12px 14px!important}
.product-statuses{padding:10px 12px!important}
.btn-demo{border-style:dashed!important;background:#f7f1e5!important}

/* FAQ */
.faq h2{font-size:clamp(56px,4.5vw,76px)!important}
.faq .section-lead{font-size:16px!important;max-width:28rem!important}
.faq-list button{font-size:15px!important}
.faq-list article p{font-size:15px!important}

/* Contact */
.contact-grid{
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)!important;
}
.contact h2{
  font-size:clamp(44px,3.55vw,60px)!important;
  line-height:.96!important;
  max-width:16ch!important;
}
.contact-copy .section-lead{
  font-size:17px!important;
  line-height:1.44!important;
  max-width:39rem!important;
  margin-top:24px!important;
}
.message-window label{padding-top:10px!important}
.message-window textarea{min-height:72px!important}
.message-window .btn{margin-top:16px!important}

/* Compact desktop */
@media(max-height:850px) and (min-width:901px){
  .hero h1{font-size:clamp(50px,4.2vw,66px)!important}
  .hero .lead{font-size:16px!important;margin-top:20px!important}
  .hero .result{font-size:14px!important;margin-top:16px!important}
  .story-preview-shell{padding-top:50px!important}
  .story-preview h2{font-size:clamp(46px,3.75vw,60px)!important}
  .story-teaser{max-height:46vh!important}
  .process-sticky{padding-top:42px!important}
  .process-head h2{font-size:clamp(43px,3.45vw,56px)!important}
  .process-head{margin-bottom:22px!important}
  .process-copy{height:min(330px,40vh)!important}
  .process-screen-stack{width:min(600px,100%)!important}
  .offer-shell{padding-top:30px!important;padding-bottom:28px!important}
  .offer h2{font-size:clamp(44px,3.55vw,58px)!important}
  .offer-value{margin-top:12px!important}
  .offer-label{margin-top:16px!important}
  .price-block{margin-top:16px!important}
  .offer-economy{margin-top:13px!important;padding:11px 13px!important}
  .product-preview{height:min(300px,36vh)!important}
  .contact h2{font-size:clamp(40px,3.1vw,52px)!important}
  .message-window textarea{min-height:56px!important}
}

/* Mobile: separate composition, no Macintosh in hero */
@media(max-width:900px){
  
  
  
  
  
  
  
  
  
  
  
  

  .story-preview{padding:54px 0 62px!important}
  .story-preview-shell{padding:0 16px!important}
  .story-preview .section-head{
    grid-template-columns:1fr!important;
    gap:16px!important;
    margin-bottom:26px!important;
  }
  .story-preview h2{
    font-size:clamp(37px,10.6vw,46px)!important;
    line-height:.94!important;
    max-width:12.5ch!important;
  }
  .story-preview .section-lead{font-size:15px!important;line-height:1.42!important}
  .story-teaser{
    width:100%!important;
    aspect-ratio:1966/800!important;
    max-height:none!important;
    height:auto!important;
  }
  .story-play-overlay{
    width:min(86%,380px)!important;
    padding:16px 14px!important;
    gap:8px!important;
  }
  .story-play-overlay>strong{font-size:16px!important}
  .story-play-overlay .btn{width:100%!important;min-width:0!important;min-height:46px!important}
  .story-play-overlay small{font-size:10px!important}

  .story-player.open{grid-template-rows:48px minmax(0,1fr) 92px!important}
  .story-player-stage{padding:8px 8px 52px!important}
  .player-card{
    width:calc(100vw - 16px)!important;
    max-height:calc(100svh - 178px)!important;
  }
  .player-card img{aspect-ratio:1966/800!important}
  .player-caption{
    grid-template-columns:1fr!important;
    min-height:0!important;
    padding:12px 14px 14px!important;
    gap:4px!important;
  }
  .player-caption span{font-size:11px!important}
  .player-caption h3{font-size:28px!important;line-height:.96!important}
  .player-caption p{font-size:13px!important;line-height:1.3!important;margin-top:6px!important}
  .story-player-footer p{display:none!important}
  .player-progress i{width:18px!important}

  .cases{padding:54px 0 62px!important}
  .case-proof-shell{padding:0!important}
  .case-proof-shell .section-head{padding:0 16px!important}
  .case-proof{
    width:calc(100vw - 24px)!important;
    margin:0 auto!important;
  }
  .case-proof-head{
    grid-template-columns:1fr!important;
    gap:14px!important;
    padding:20px 18px!important;
  }
  .case-proof-head h3{font-size:40px!important}
  .case-proof-status{justify-self:start!important}
  .case-proof-flow{grid-template-columns:1fr!important}
  .case-proof-flow section{min-height:0!important;padding:20px 18px!important}
  .case-proof-flow section+section{border-left:0!important;border-top:2px solid #111!important}
  .case-proof-flow p{font-size:15px!important}
  .case-proof-bottom{grid-template-columns:1fr!important;gap:10px!important;padding:18px!important}
  .case-proof-bottom strong{font-size:24px!important}
  .case-proof-bottom p{font-size:14px!important}

  .process{
    height:auto!important;
    min-height:0!important;
    padding:58px 0 64px!important;
  }
  .process-sticky{
    position:relative!important;
    height:auto!important;
    padding:0!important;
    overflow:visible!important;
  }
  .process-head{
    grid-template-columns:1fr!important;
    gap:16px!important;
    padding:0 16px!important;
    margin-bottom:24px!important;
  }
  .process-head h2{
    font-size:clamp(38px,10.4vw,48px)!important;
    line-height:.95!important;
    max-width:12.5ch!important;
  }
  .process-head .section-lead{font-size:15px!important}
  .process-layout{
    width:calc(100vw - 20px)!important;
    grid-template-columns:1fr!important;
    gap:18px!important;
    padding:18px 16px!important;
  }
  .process-copy{height:330px!important;order:1!important}
  .process-copy h3{font-size:38px!important}
  .process-copy p{font-size:15px!important;line-height:1.38!important}
  .process-copy .process-note{font-size:13px!important;max-width:100%!important}
  .process-computer{order:2!important}
  .process-screen-stack{width:100%!important;max-width:520px!important}
  .process-result{font-size:13px!important;margin:20px 16px 0!important}

  .offer{padding:58px 0 66px!important}
  .offer-shell{
    grid-template-columns:1fr!important;
    gap:30px!important;
    padding:0 16px!important;
  }
  .offer h2{
    font-size:clamp(40px,10.9vw,50px)!important;
    line-height:.95!important;
    max-width:11.5ch!important;
  }
  .offer-copy .section-lead{font-size:15px!important}
  .offer-value{font-size:14px!important}
  .offer-badges span{font-size:12px!important}
  .price-block strong{font-size:54px!important}
  .offer-economy strong{font-size:13px!important}
  .offer-economy p{font-size:13px!important}
  .product-card{justify-self:stretch!important;max-width:none!important}
  .product-preview{height:260px!important}

  .faq{padding:58px 0 64px!important}
  .faq h2{font-size:48px!important}
  .faq-body{gap:24px!important}
  .faq-list button{font-size:14px!important;line-height:1.3!important}

  .contact{padding:58px 0 0!important}
  .contact-grid{
    grid-template-columns:1fr!important;
    gap:28px!important;
    padding:0 16px!important;
  }
  .contact h2{
    font-size:clamp(37px,9.8vw,46px)!important;
    line-height:.96!important;
    max-width:13ch!important;
  }
  .contact-copy .section-lead{font-size:15px!important}
  .message-window textarea{min-height:82px!important;font-size:15px!important}
  .contact footer{padding-inline:16px!important}
}

@media(max-width:430px){
  
  .story-preview h2{font-size:clamp(35px,10.2vw,43px)!important}
  .player-caption h3{font-size:26px!important}
  .process-copy{height:350px!important}
}

@media(max-height:850px) and (min-width:901px){
  .player-card{width:min(1000px,74vw)!important}
  .player-caption{min-height:132px!important;padding:13px 18px 15px!important}
  .player-caption h3{font-size:32px!important}
  .player-caption p{font-size:13px!important;line-height:1.3!important}
}

/* =====================================================
   V24 REFINEMENT — clarity, spacing, product hierarchy
   ===================================================== */

/* Hero: updated object and calmer CTA label */
.hero-visual img{
  height:min(110%,650px)!important;
  width:auto!important;
  max-width:100%!important;
  object-fit:contain!important;
}

/* Story preview: two-line headline and explicit vertical interaction */
.story-preview .section-head{
  grid-template-columns:minmax(0,1.12fr) minmax(330px,.58fr)!important;
  align-items:end!important;
}
.story-preview h2{
  font-size:clamp(50px,4.15vw,70px)!important;
  line-height:.94!important;
  max-width:20ch!important;
}
.story-preview .section-lead{
  max-width:31rem!important;
}
.story-play-overlay small{
  padding:6px 10px!important;
  border:1px solid rgba(255,255,255,.20)!important;
  background:rgba(5,12,24,.58)!important;
  color:#dce6f5!important;
}
.story-player{touch-action:none}
.player-caption p{
  margin-top:6px!important;
  line-height:1.31!important;
}

/* Process: shorter headline, partial panel, cleaner Macintosh edge and more air below */
.process-sticky{
  padding-top:clamp(62px,6.5vh,88px)!important;
  grid-template-rows:auto minmax(0,1fr) auto!important;
}
.process-head{
  grid-template-columns:minmax(0,.9fr) minmax(360px,.72fr)!important;
  margin-bottom:clamp(28px,3.5vh,42px)!important;
}
.process-head h2{
  font-size:clamp(50px,4vw,68px)!important;
  line-height:.94!important;
  max-width:12ch!important;
}
.process-head .section-lead{
  max-width:37rem!important;
}
.process-layout{
  position:relative!important;
  width:min(1340px,calc(100vw - 92px))!important;
  padding:clamp(26px,2.3vw,36px) clamp(30px,2.7vw,44px)!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  grid-template-columns:minmax(350px,.78fr) minmax(0,1.22fr)!important;
  gap:clamp(54px,5.4vw,92px)!important;
  isolation:isolate;
}
.process-layout:before{
  content:"";
  position:absolute;
  z-index:-1;
  left:0;
  top:0;
  bottom:0;
  width:68%;
  border:2px solid rgba(17,18,23,.74);
  background:rgba(241,237,227,.76);
  box-shadow:9px 9px 0 rgba(31,52,86,.14);
  pointer-events:none;
}
.process-computer{
  transform:translateX(24px)!important;
}
.process-screen-stack{
  width:min(690px,100%)!important;
  filter:drop-shadow(8px 10px 0 rgba(59,80,116,.16))!important;
  overflow:hidden!important;
}
.process-screen-stack>img{
  inset:-1px!important;
  width:calc(100% + 2px)!important;
  height:calc(100% + 2px)!important;
  object-fit:contain!important;
  background:transparent!important;
}
.process-result{
  width:fit-content!important;
  max-width:min(760px,calc(100vw - 48px))!important;
  margin:30px auto 34px!important;
  padding:10px 16px!important;
  border:1px solid #8ca5ca!important;
  background:rgba(238,243,252,.92)!important;
  box-shadow:4px 4px 0 rgba(67,97,145,.14)!important;
  line-height:1.35!important;
}

/* Offer: price first on the left, project scope moves into the product mockup */
.offer-shell{
  grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr)!important;
  gap:clamp(58px,5.8vw,102px)!important;
}
.offer-copy{max-width:610px!important}
.offer h2{max-width:13ch!important}
.price-block{margin-top:28px!important}
.offer-value{
  margin-top:18px!important;
  max-width:39rem!important;
  padding:12px 14px!important;
  border-left:3px solid #f4ede1!important;
  background:rgba(255,255,255,.035)!important;
  color:#eee3d5!important;
}
.offer-economy{margin-top:22px!important}
.product-card{
  max-width:760px!important;
  width:100%!important;
}
.product-preview{
  height:auto!important;
  min-height:440px!important;
  display:grid!important;
  grid-template-rows:30px 1fr auto!important;
  gap:0!important;
  padding:18px!important;
}
.preview-hero{
  min-height:235px!important;
  height:auto!important;
  padding:22px!important;
  align-items:stretch!important;
}
.preview-hero strong{
  font-size:clamp(31px,2.45vw,43px)!important;
  max-width:9ch!important;
  margin:12px 0 16px!important;
}
.preview-path{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
.preview-path span{
  border:1px solid #111;
  background:#ebe4d7;
  padding:5px 7px;
  font-family:var(--ui);
  font-size:11px;
}
.product-includes{
  margin-top:12px;
  border:2px solid #111;
  background:#eee8dc;
  padding:12px;
}
.product-includes>p{
  margin:0 0 9px;
  font-family:var(--ui);
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.product-includes>div{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
}
.product-includes span{
  min-height:34px;
  display:flex;
  align-items:center;
  padding:6px 7px;
  border:1px solid #111;
  background:#f8f3e9;
  font-family:var(--ui);
  font-size:10px;
  line-height:1.15;
}
.product-actions{padding:14px 16px!important}
.product-statuses span{font-size:11px!important}

@media(max-height:850px) and (min-width:901px){
  .story-preview h2{font-size:clamp(45px,3.55vw,58px)!important}
  .process-head h2{font-size:clamp(43px,3.35vw,55px)!important}
  .process-layout{padding:20px 28px!important;min-height:min(470px,54vh)!important}
  .process-screen-stack{width:min(610px,100%)!important}
  .process-result{margin:20px auto 24px!important;padding:8px 13px!important}
  .product-preview{min-height:360px!important;padding:14px!important}
  .preview-hero{min-height:190px!important;padding:18px!important}
  .product-includes span{min-height:29px!important;font-size:9px!important}
}

@media(max-width:900px){
  .story-preview .section-head{grid-template-columns:1fr!important}
  .story-preview h2{
    font-size:clamp(35px,9.8vw,44px)!important;
    max-width:13.5ch!important;
  }
  .story-play-overlay small{font-size:10px!important;padding:5px 7px!important}

  .process-head{grid-template-columns:1fr!important}
  .process-head h2{
    font-size:clamp(37px,9.8vw,46px)!important;
    max-width:11ch!important;
  }
  .process-layout{
    width:calc(100vw - 20px)!important;
    padding:20px 16px 24px!important;
    grid-template-columns:1fr!important;
    gap:20px!important;
  }
  .process-layout:before{
    width:100%!important;
    bottom:34%!important;
  }
  .process-computer{transform:none!important}
  .process-result{
    max-width:calc(100vw - 32px)!important;
    margin:24px auto 0!important;
    font-size:13px!important;
  }

  .offer-shell{grid-template-columns:1fr!important}
  .offer-copy{max-width:none!important}
  .product-preview{min-height:0!important;padding:12px!important}
  .preview-hero{
    min-height:210px!important;
    grid-template-columns:1fr .58fr!important;
    padding:16px!important;
    gap:12px!important;
  }
  .preview-hero strong{font-size:30px!important}
  .product-includes>div{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .product-includes span{font-size:9px!important}
}

/* =====================================================
   V29 — verified desktop hero recovery + exact V24 process
   ===================================================== */

/* The mobile Macintosh is a dedicated composition element only. */
.hero-mobile-mac{display:none!important}

/* Desktop hero: keep the approved V24 layout, use the latest Macintosh,
   and never leave the first screen visually empty while reveal/type motion starts. */
@media(min-width:901px){
  .hero-grid{
    grid-template-columns:minmax(0,1.01fr) minmax(0,.99fr)!important;
  }
  .hero-visual{
    display:grid!important;
    opacity:1!important;
    transform:none!important;
    visibility:visible!important;
    padding-right:0!important;
    overflow:visible!important;
  }
  .hero-visual img{
    opacity:1!important;
    visibility:visible!important;
    height:min(112%,670px)!important;
    width:auto!important;
    max-width:none!important;
    transform:translate(26px,-18px)!important;
  }
  .hero .eyebrow,
  .hero .lead,
  .hero .actions,
  .hero .result{
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
  }
}

/* Mobile hero: one compact first screen, Macintosh beside the headline.
   The desktop visual is hidden to prevent a duplicate object below the text. */
@media(max-width:900px){
  
  
  
  
  
  
  
  
  
  
  
  
}
@media(max-width:520px){
  
  
  
}
@media(max-width:380px){
  
  
  
}

/* Story preview: preserve the requested deliberate three-line desktop headline
   and keep the preview comfortably inside the section. */
@media(min-width:901px){
  .story-preview .section-head{
    grid-template-columns:minmax(0,1.34fr) minmax(280px,.42fr)!important;
    gap:42px!important;
    align-items:end!important;
  }
  .story-preview h2{
    font-size:clamp(46px,3.7vw,62px)!important;
    line-height:.94!important;
    max-width:none!important;
  }
  .story-title .type-live,
  .story-title .type-ghost,
  .story-title .type-text{white-space:pre-line!important}
  .story-preview-shell{padding-bottom:clamp(42px,5vh,66px)!important}
}

/* Desktop hero sizing guard: avoid intrinsic Macintosh dimensions expanding the grid row. */
@media(min-width:901px){
  .hero-grid{min-height:0!important;overflow:visible!important}
  .hero-copy{align-self:center!important}
  .hero-visual{
    height:min(620px,calc(100svh - var(--topbar) - 190px))!important;
    max-height:100%!important;
    min-height:0!important;
    align-self:center!important;
    place-items:center!important;
  }
  .hero-visual img{
    height:100%!important;
    max-height:100%!important;
    width:auto!important;
  }
}

/* Final desktop Macintosh placement: full object visible, only a slight shift to the right. */
@media(min-width:901px){
  .hero-visual{
    height:min(570px,calc(100svh - var(--topbar) - 205px))!important;
    place-items:center!important;
  }
  .hero-visual img{
    height:100%!important;
    transform:translate(10px,-8px)!important;
  }
}
@media(min-width:901px){
  .hero-visual img{
    height:min(570px,calc(100svh - var(--topbar) - 205px))!important;
    width:auto!important;
    max-height:none!important;
    max-width:100%!important;
    object-fit:contain!important;
    transform:translate(10px,-8px)!important;
  }
}

/* =====================================================
   V30 — MOBILE FLOW, STORY CONTROLS, PROCESS AIR, OFFER
   ===================================================== */

/* Story player media keeps every original frame readable while the stage can fill more of the phone. */
.player-media{
  position:relative;
  min-height:0;
  overflow:hidden;
  display:grid;
  place-items:center;
  background:#070d18;
  isolation:isolate;
}
.player-media:before{
  content:"";
  position:absolute;
  inset:-22px;
  background-image:var(--story-image);
  background-position:center;
  background-size:cover;
  filter:blur(18px) brightness(.42) saturate(.8);
  transform:scale(1.08);
  opacity:0;
  z-index:-2;
}
.player-media:after{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(4,10,20,.16);
  opacity:0;
  z-index:-1;
}
.player-media>img{position:relative;z-index:1}

/* Give the desktop process room to finish before the next section enters. */
@media(min-width:901px){
  .process-sticky{
    padding-bottom:clamp(34px,4.4vh,58px)!important;
  }
  .process-layout{
    min-height:min(440px,48vh)!important;
  }
  .process-screen-stack{
    width:min(640px,100%)!important;
  }
  .process-copy .process-note{
    max-width:30rem!important;
    padding:7px 10px!important;
    font-size:13px!important;
    line-height:1.25!important;
  }
}
@media(max-height:850px) and (min-width:901px){
  .process-sticky{padding-bottom:28px!important}
  .process-layout{min-height:min(400px,46vh)!important}
  .process-screen-stack{width:min(580px,100%)!important}
}

/* The scope of work is part of the offer, not a low-priority footnote. */
.product-includes{
  background:#e4ddd1!important;
  border:3px solid #111!important;
  padding:13px!important;
  box-shadow:4px 4px 0 rgba(0,0,0,.10);
}
.product-includes>p{
  display:inline-flex;
  align-items:center;
  width:auto;
  margin:0 0 11px!important;
  padding:5px 8px;
  background:#111;
  color:#f7f1e7;
  letter-spacing:.045em!important;
}
.product-includes span{
  border:1px solid #111!important;
  font-weight:400;
}
.product-includes span:nth-child(-n/**/+3){background:#e4edf9!important}
.product-includes span:nth-child(n/**/+4):nth-child(-n/**/+6){background:#f2e5d5!important}
.product-includes span:nth-child(n/**/+7){background:#e1eee3!important}
.offer-economy{
  max-width:40rem!important;
  padding:13px 15px!important;
}
.offer-economy strong{
  font-size:15px!important;
  line-height:1.28!important;
  margin-bottom:6px!important;
}
.offer-economy p{line-height:1.34!important}

@media(max-width:900px){
  /* Opening screen now behaves as one complete mobile composition. */
  
  
  

  /* A square teaser is easier to read and gives the story proper weight on a phone. */
  .story-teaser{
    width:100%!important;
    height:auto!important;
    aspect-ratio:1/1!important;
  }
  .story-play-overlay{
    width:calc(100% - 30px)!important;
    min-height:0!important;
    padding:19px 15px!important;
    gap:9px!important;
  }
  .story-play-overlay>strong{
    max-width:18rem;
    font-size:16px!important;
    line-height:1.28!important;
  }
  .story-play-overlay .btn{
    width:100%!important;
    max-width:320px!important;
    min-height:50px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding-inline:12px!important;
  }

  /* Full-screen mobile story: explicit controls, visible gesture hint, no empty lower half. */
  .story-player.open{
    grid-template-rows:48px minmax(0,1fr) 98px!important;
  }
  .story-player-stage{
    padding:8px 8px 62px!important;
    align-items:start!important;
  }
  .player-card{
    width:calc(100vw - 16px)!important;
    height:calc(100% - 2px)!important;
    max-height:none!important;
    grid-template-rows:minmax(0,1fr) auto!important;
    align-self:start!important;
  }
  .player-media{
    height:100%!important;
    min-height:0!important;
  }
  .player-media:before,.player-media:after{opacity:1}
  .player-card img{
    width:100%!important;
    height:100%!important;
    aspect-ratio:auto!important;
    object-fit:contain!important;
    object-position:center!important;
    background:transparent!important;
  }
  .player-caption{
    padding:13px 14px 14px!important;
    gap:5px!important;
  }
  .player-caption h3{
    font-size:clamp(25px,7.2vw,31px)!important;
    line-height:.96!important;
  }
  .player-caption p{
    font-size:13px!important;
    line-height:1.3!important;
  }
  .player-arrow{
    display:grid!important;
    place-items:center!important;
    top:auto!important;
    bottom:9px!important;
    width:48px!important;
    height:44px!important;
    transform:none!important;
    z-index:5;
  }
  .player-arrow.prev{left:12px!important}
  .player-arrow.next{right:12px!important}
  .story-player-footer{
    grid-template-columns:1fr!important;
    justify-items:center!important;
    align-content:center!important;
    gap:8px!important;
    padding:8px 12px 10px!important;
  }
  .story-player-footer p{
    display:block!important;
    margin:0!important;
    text-align:center;
    font-size:11px!important;
    line-height:1.25!important;
    color:#c7d3e4!important;
  }
  .player-progress{gap:5px!important}
  .player-progress i{width:20px!important;height:4px!important}

  /* Process: natural text height raises the Macintosh; arrows live beside the active title. */
  .process-layout{
    gap:12px!important;
    padding:18px 14px 20px!important;
  }
  .process-copy{
    height:auto!important;
    min-height:0!important;
    position:relative!important;
  }
  .process-copy article{
    margin:0!important;
    padding-top:0!important;
  }
  .process-copy article>span{
    margin-bottom:10px!important;
  }
  .process-copy h3{
    max-width:calc(100% - 92px)!important;
    padding-right:0!important;
    font-size:clamp(36px,9.6vw,44px)!important;
  }
  .process-copy p{
    margin:14px 0 11px!important;
  }
  .process-copy .process-note{
    padding:7px 9px!important;
    font-size:12px!important;
    line-height:1.28!important;
  }
  .process-computer{
    margin-top:0!important;
  }
  .process-mobile-nav{
    position:absolute!important;
    top:29px!important;
    right:0!important;
    z-index:8;
    display:grid!important;
    grid-template-columns:40px 40px!important;
    gap:8px!important;
    width:auto!important;
    margin:0!important;
  }
  .process-mobile-nav span{display:none!important}
  .process-mobile-nav button{
    width:40px!important;
    height:40px!important;
    padding:0!important;
    display:grid!important;
    place-items:center!important;
    font-size:17px!important;
  }

  .product-includes{padding:11px!important}
  .product-includes>p{font-size:10px!important;margin-bottom:9px!important}
  .product-includes span{min-height:32px!important;font-size:9px!important}
  .offer-economy strong{font-size:14px!important}
}

@media(max-width:430px){
  .story-teaser{height:auto!important;aspect-ratio:1/1!important}
  .process-mobile-nav{top:27px!important}
  .process-mobile-nav button{width:38px!important;height:38px!important}
  .process-mobile-nav{grid-template-columns:38px 38px!important}
  .process-copy h3{max-width:calc(100% - 86px)!important}
}
@media(max-width:900px){
  .process-mobile-nav button:disabled{opacity:.38;box-shadow:none!important}
  .story-player-footer .btn{
    position:static!important;
    left:auto!important;
    bottom:auto!important;
    transform:none!important;
    grid-column:auto!important;
    justify-self:center!important;
    width:min(280px,100%)!important;
    min-height:42px!important;
  }
}
@media(max-width:900px){
  .story-play-overlay small{font-size:11px!important;line-height:1.25!important}
}

/* =====================================================
   V31 — broader positioning + case archive system
   ===================================================== */

/* Hero: the product is wider than referral traffic. */
@media(min-width:901px){
  .hero-copy{max-width:820px!important}
  .hero h1{
    font-size:clamp(50px,4.15vw,70px)!important;
    line-height:.92!important;
    max-width:14ch!important;
  }
  .hero .lead{max-width:45rem!important}
}

/* Main cases are a real archive preview: square, comparable, and clickable. */
.cases{
  position:relative;
  min-height:0!important;
  height:auto!important;
  padding:clamp(66px,7vh,94px) 0 clamp(76px,8vh,112px);
  overflow:hidden;
  background:#ece7da;
}
.cases-archive-shell{position:relative;z-index:2}
.cases-archive-shell .section-head{margin-bottom:34px!important}
.archive-case-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(22px,2.2vw,34px);
}
.archive-case-card{
  --case-accent:#d9d2c5;
  position:relative;
  aspect-ratio:1/1;
  min-width:0;
  display:grid;
  grid-template-rows:42px minmax(0,1fr) auto;
  overflow:hidden;
  border:3px solid #111;
  background:var(--paper);
  box-shadow:7px 7px 0 #111;
  transition:transform .22s var(--ease),box-shadow .22s var(--ease);
}
.archive-case-card:hover{transform:translateY(-4px);box-shadow:10px 11px 0 #111}
.archive-case-top{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:14px;
  align-items:center;
  padding:0 13px;
  border-bottom:2px solid #111;
  font-family:var(--ui);
  font-size:11px;
  letter-spacing:.025em;
  text-transform:uppercase;
  background:#f4efe5;
}
.archive-case-top span:last-child{text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.archive-case-media{
  position:relative;
  min-height:0;
  display:grid;
  place-items:center;
  overflow:hidden;
  background:var(--case-accent);
  border-bottom:2px solid #111;
}
.case-cover-image{width:100%;height:100%;object-fit:contain;object-position:center;display:block}
.case-cover-image.case-cover-image{background:#fff}
.case-cover-mac{
  width:84%!important;
  height:84%!important;
  object-fit:contain!important;
  background:transparent!important;
  filter:drop-shadow(7px 9px 0 rgba(0,0,0,.15));
  transform:rotate(-1deg);
}
.case-cover-geo{
  position:absolute;
  inset:0;
  overflow:hidden;
  background:
    linear-gradient(rgba(17,18,23,.13) 1px,transparent 1px),
    linear-gradient(90deg,rgba(17,18,23,.13) 1px,transparent 1px),
    var(--case-accent);
  background-size:28px 28px;
}
.case-cover-geo .geo-frame{
  position:absolute;
  border:3px solid #111;
  background:rgba(241,237,227,.18);
  box-shadow:7px 7px 0 rgba(17,18,23,.14);
}
.case-cover-geo .geo-frame-a{left:12%;top:16%;width:42%;height:58%;transform:skewY(-6deg)}
.case-cover-geo .geo-frame-b{right:12%;top:25%;width:33%;height:45%;transform:skewY(8deg)}
.case-cover-geo .geo-frame-c{left:30%;bottom:12%;width:48%;height:24%;transform:skewX(-12deg)}
.case-cover-geo b{position:absolute;left:7%;bottom:7%;font-family:var(--display);font-size:clamp(42px,4.2vw,66px);line-height:.8}
.case-cover-geo small{position:absolute;right:7%;top:7%;font-family:var(--ui);font-size:10px}
.archive-case-copy{padding:14px 16px 15px;background:#f4efe5}
.archive-case-copy h3{font-size:clamp(30px,2.7vw,44px);line-height:.9;margin:0}
.archive-case-role{margin:6px 0 9px;font-family:var(--ui);font-size:12px;line-height:1.2}
.archive-case-description{
  margin:0;
  font-family:var(--body);
  font-size:14px;
  line-height:1.32;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.archive-case-meta{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:end;
  margin-top:12px;
  padding-top:9px;
  border-top:1px solid rgba(17,18,23,.35);
  font-family:var(--ui);
  font-size:10px;
  line-height:1.15;
}
.archive-case-meta b{font-weight:400;white-space:nowrap;text-decoration:underline}
.cases-archive-actions{display:flex;justify-content:flex-end;margin-top:28px}
.cases-all-btn{min-width:210px;text-align:center}

/* Mobile hero: fill the first screen through composition, not giant empty margins. */
@media(max-width:900px){
  
  
  
  
  
  
  
  
  
  
  
  

  .cases{padding:58px 0 72px!important}
  .cases-archive-shell{padding-inline:14px!important}
  .cases-archive-shell .section-head{padding:0!important;margin-bottom:24px!important}
  .archive-case-grid{grid-template-columns:1fr!important;gap:22px!important}
  .archive-case-card{aspect-ratio:1/1!important;box-shadow:5px 5px 0 #111!important}
  .archive-case-top{height:38px;font-size:9px;padding-inline:10px}
  .archive-case-copy{padding:11px 12px 12px}
  .archive-case-copy h3{font-size:clamp(28px,8vw,36px)}
  .archive-case-role{font-size:10px;margin:5px 0 7px}
  .archive-case-description{font-size:12px;line-height:1.25;-webkit-line-clamp:2}
  .archive-case-meta{font-size:8px;margin-top:8px;padding-top:7px}
  .cases-archive-actions{justify-content:stretch;margin-top:22px}
  .cases-all-btn{width:100%}
}
@media(max-width:430px){
  
  
  
  
  
  
}
@media(max-width:380px){
  
  
  
  
  
  
  
}

/* ---------- standalone case archive ---------- */
.standalone-html,
.standalone-html body{
  min-height:100%;
  height:auto!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  background:#ebe5d9;
  color:#111217;
}
.archive-standalone{font-family:var(--body);font-size:17px}
.archive-topbar{
  position:sticky;
  top:0;
  z-index:100;
  height:48px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:0 clamp(16px,3vw,42px);
  border-bottom:2px solid #111;
  background:#efeee7;
  font-family:var(--ui);
  font-size:13px;
}
.archive-topbar>a{display:flex;align-items:center;gap:10px;font-size:15px}
.archive-topbar img{width:18px;height:18px;object-fit:contain}
.archive-topbar nav{display:flex;gap:22px}
.archive-topbar nav a{text-decoration:underline;text-underline-offset:3px}
.cases-standalone-main{width:min(1320px,calc(100vw - 48px));margin:0 auto;padding:68px 0 44px}
.cases-standalone-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.55fr);column-gap:70px;align-items:end;margin-bottom:44px}
.cases-standalone-hero>p{grid-column:1/-1;font-family:var(--ui);font-size:13px;margin:0 0 14px}
.cases-standalone-hero h1{font-family:var(--display);font-size:clamp(74px,7vw,112px);line-height:.8;margin:0}
.cases-standalone-hero>span{font-size:19px;line-height:1.4;max-width:34rem}
.archive-case-grid-page{padding-bottom:34px}
.archive-footer{
  width:min(1320px,calc(100vw - 48px));
  margin:0 auto;
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding:24px 0 36px;
  border-top:2px solid #111;
  font-family:var(--ui);
  font-size:13px;
}
.archive-footer a{text-decoration:underline;text-underline-offset:3px}

/* ---------- case detail template ---------- */
.case-detail-main{width:min(1320px,calc(100vw - 48px));margin:0 auto;padding:46px 0 0}
.case-detail-hero{
  --case-accent:#d8d0c4;
  min-height:calc(100svh - 110px);
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  gap:clamp(38px,5vw,82px);
  align-items:center;
  padding:26px 0 72px;
}
.case-detail-cover{
  position:relative;
  aspect-ratio:1/1;
  display:grid;
  place-items:center;
  overflow:hidden;
  border:3px solid #111;
  background:var(--case-accent);
  box-shadow:9px 9px 0 #111;
}
.case-detail-cover .case-cover-image{width:100%;height:100%;object-fit:contain}
.case-detail-cover .case-cover-mac{width:88%!important;height:88%!important;background:transparent!important}
.case-detail-intro{max-width:670px}
.case-detail-kicker{font-family:var(--ui);font-size:12px;letter-spacing:.04em;margin:0 0 16px;text-transform:uppercase}
.case-detail-intro h1{font-family:var(--display);font-size:clamp(62px,5.3vw,86px);line-height:.84;margin:0 0 14px}
.case-detail-intro h2{font-family:var(--ui);font-size:17px;line-height:1.25;margin:0 0 26px;font-weight:400}
.case-detail-intro>p{font-size:19px;line-height:1.45;margin:0;max-width:40rem}
.case-detail-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.case-action{
  min-height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 16px;
  border:2px solid #111;
  background:#f6f1e7;
  box-shadow:4px 4px 0 rgba(0,0,0,.2);
  font-family:var(--ui);
  font-size:13px;
}
.case-action-primary{background:#111;color:#f6f1e7}
.case-action-disabled{opacity:.5;box-shadow:none}
.case-detail-section{padding:78px 0;border-top:2px solid #111}
.case-detail-section>header{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.72fr);align-items:end;gap:42px;margin-bottom:34px}
.case-detail-section>header>p{grid-column:1/-1;margin:0 0 -18px;font-family:var(--ui);font-size:12px;text-transform:uppercase}
.case-detail-section>header h2{font-family:var(--display);font-size:clamp(50px,4.4vw,72px);line-height:.88;margin:0;max-width:14ch}
.case-detail-section>header>span{font-size:16px;line-height:1.4;max-width:32rem}
.case-before-grid,.case-solutions-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:2px solid #111;background:#f4efe5}
.case-before-grid article,.case-solutions-grid article{min-height:220px;padding:24px 25px}
.case-before-grid article+article,.case-solutions-grid article+article{border-left:2px solid #111}
.case-before-grid strong{display:block;font-family:var(--display);font-size:30px;line-height:.95;margin-bottom:16px}
.case-before-grid p,.case-solutions-grid p{margin:0;font-size:16px;line-height:1.4}
.case-value-section{background:#101b31;color:#f2eee4;margin-inline:calc((100vw - min(1320px,calc(100vw - 48px)))/-2);padding-inline:calc((100vw - min(1320px,calc(100vw - 48px)))/2)}
.case-value-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.case-value-grid article{min-height:210px;border:1px solid rgba(255,255,255,.42);padding:22px;background:rgba(255,255,255,.035)}
.case-value-grid span{font-family:var(--ui);font-size:12px;color:#a9bedf}
.case-value-grid p{font-family:var(--display);font-size:clamp(27px,2.4vw,38px);line-height:1.02;margin:38px 0 0}
.case-solutions-grid article>span{font-family:var(--ui);font-size:12px}
.case-solutions-grid h3{font-family:var(--display);font-size:34px;line-height:.92;margin:44px 0 14px}
.case-video-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.36fr);gap:24px;align-items:start}
.case-video-slot{
  display:grid;
  place-items:center;
  align-content:center;
  gap:10px;
  border:3px solid #111;
  background:
    linear-gradient(rgba(17,18,23,.09) 1px,transparent 1px),
    linear-gradient(90deg,rgba(17,18,23,.09) 1px,transparent 1px),#dfe6ee;
  background-size:28px 28px;
  box-shadow:7px 7px 0 rgba(0,0,0,.2);
  text-align:center;
  padding:24px;
}
.case-video-desktop{aspect-ratio:16/9}
.case-video-mobile{aspect-ratio:9/16;max-height:560px;justify-self:center;width:min(100%,315px)}
.case-video-slot span{font-family:var(--ui);font-size:12px}
.case-video-slot strong{font-family:var(--display);font-size:clamp(28px,2.2vw,38px);line-height:.95;max-width:12ch}
.case-video-slot small{font-size:13px;opacity:.65}
.case-shots-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:34px}
.case-shot-placeholder{
  aspect-ratio:4/3;
  position:relative;
  display:flex;
  align-items:end;
  padding:18px;
  border:2px solid #111;
  background:
    linear-gradient(rgba(17,18,23,.09) 1px,transparent 1px),
    linear-gradient(90deg,rgba(17,18,23,.09) 1px,transparent 1px),#eee8dd;
  background-size:24px 24px;
}
.case-shot-placeholder>span{position:absolute;top:14px;left:14px;font-family:var(--ui);font-size:11px}
.case-shot-placeholder>div{display:grid;gap:5px;padding:10px 12px;background:#f6f1e7;border:2px solid #111;box-shadow:4px 4px 0 rgba(0,0,0,.14)}
.case-shot-placeholder strong{font-family:var(--display);font-size:27px;line-height:.94}
.case-shot-placeholder small{font-size:12px}
.case-result-section{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1fr);gap:60px;align-items:start}
.case-result-section>header{display:block;margin:0}
.case-result-section>header>p{margin:0 0 16px}
.case-result-copy{border-left:3px solid #111;padding-left:26px}
.case-result-copy p{font-size:20px;line-height:1.45;margin:0 0 20px}
.case-testimonial{display:grid;grid-template-columns:minmax(240px,.38fr) minmax(0,1fr);gap:42px;align-items:center}
.case-testimonial-video{aspect-ratio:1/1;display:grid;place-items:center;align-content:center;border-radius:50%;border:3px solid #111;background:#dbe6f6;box-shadow:7px 7px 0 rgba(0,0,0,.18);gap:8px;text-align:center}
.case-testimonial-video span,.case-testimonial-video small{font-family:var(--ui);font-size:11px}
.case-testimonial-video b{font-family:var(--display);font-size:34px}
.case-testimonial-copy{max-width:720px}
.case-testimonial-copy blockquote{font-family:var(--display);font-size:clamp(34px,3.2vw,52px);line-height:1.02;margin:0 0 24px}
.testimonial-placeholder{font-size:18px;line-height:1.45;padding:20px;border:2px dashed #777;background:#f4efe5;margin:0 0 24px}
.case-testimonial-copy>strong,.case-testimonial-copy>span{display:block}
.case-testimonial-copy>strong{font-family:var(--ui);font-size:14px;margin-bottom:4px}
.case-testimonial-copy>span{font-size:14px}
.case-detail-cta{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.42fr);gap:54px;align-items:end;padding:76px 0 64px;border-top:3px solid #111}
.case-detail-cta>div>p{font-family:var(--ui);font-size:13px;margin:0 0 12px}
.case-detail-cta h2{font-family:var(--display);font-size:clamp(46px,4vw,66px);line-height:.9;max-width:14ch;margin:0 0 24px}
.case-next{display:grid;gap:8px;padding:20px;border:2px solid #111;background:#f4efe5;box-shadow:6px 6px 0 #111}
.case-next span{font-family:var(--ui);font-size:12px}
.case-next strong{font-family:var(--display);font-size:32px;line-height:.9}
.case-detail-footer{margin-top:0}
.case-missing{min-height:70vh;display:grid;place-content:center;text-align:center}.case-missing h1{font-family:var(--display);font-size:72px}.case-missing a{text-decoration:underline}

@media(max-width:900px){
  .archive-topbar{height:46px;padding-inline:12px}.archive-topbar nav{gap:12px}.archive-topbar nav a:first-child{display:none}
  .cases-standalone-main,.case-detail-main,.archive-footer{width:calc(100% - 28px)!important}
  .cases-standalone-main{padding-top:38px}
  .cases-standalone-hero{grid-template-columns:1fr;gap:18px;margin-bottom:28px}
  .cases-standalone-hero>p{margin-bottom:0}.cases-standalone-hero h1{font-size:66px}.cases-standalone-hero>span{font-size:16px}
  .archive-case-grid-page{grid-template-columns:1fr!important}
  .archive-footer{font-size:11px}

  .case-detail-main{padding-top:26px}
  .case-detail-hero{min-height:0;grid-template-columns:1fr;gap:28px;padding:18px 0 54px}
  .case-detail-cover{width:100%;max-width:520px;justify-self:center}
  .case-detail-intro h1{font-size:clamp(52px,14vw,68px)}
  .case-detail-intro h2{font-size:14px;margin-bottom:18px}
  .case-detail-intro>p{font-size:16px;line-height:1.42}
  .case-detail-actions{display:grid;grid-template-columns:1fr;gap:8px;margin-top:22px}.case-action{width:100%}
  .case-detail-section{padding:54px 0}
  .case-detail-section>header{grid-template-columns:1fr;gap:14px;margin-bottom:24px}
  .case-detail-section>header>p{grid-column:auto;margin:0}.case-detail-section>header h2{font-size:clamp(42px,11vw,54px)}.case-detail-section>header>span{font-size:14px}
  .case-before-grid,.case-solutions-grid,.case-value-grid{grid-template-columns:1fr}
  .case-before-grid article,.case-solutions-grid article{min-height:0;padding:20px}.case-before-grid article+article,.case-solutions-grid article+article{border-left:0;border-top:2px solid #111}
  .case-before-grid strong{font-size:28px}.case-before-grid p,.case-solutions-grid p{font-size:15px}
  .case-value-section{margin-inline:-14px;padding-inline:14px}.case-value-grid{gap:10px}.case-value-grid article{min-height:0;padding:18px}.case-value-grid p{font-size:30px;margin-top:24px}
  .case-solutions-grid h3{font-size:31px;margin:24px 0 10px}
  .case-video-grid{grid-template-columns:1fr;gap:20px}.case-video-mobile{width:min(72vw,300px)}
  .case-shots-grid{grid-template-columns:1fr;gap:14px;margin-top:26px}.case-shot-placeholder{aspect-ratio:4/3}
  .case-result-section{grid-template-columns:1fr;gap:22px}.case-result-copy{padding-left:18px}.case-result-copy p{font-size:17px}
  .case-testimonial{grid-template-columns:1fr;gap:28px}.case-testimonial-video{width:min(64vw,260px);justify-self:center}.testimonial-placeholder{font-size:15px}
  .case-detail-cta{grid-template-columns:1fr;gap:28px;padding:56px 0}.case-detail-cta h2{font-size:46px}.case-next strong{font-size:28px}
}

/* =====================================================
   V33 — release audit: mobile hero, process overlap, public case system
   ===================================================== */

/* Keep the main sales headlines calm enough to read in one glance. */
@media(min-width:901px){
  .story-preview .section-head h2{font-size:clamp(48px,3.75vw,64px)!important;line-height:.93!important}
  .cases .section-head h2{font-size:clamp(52px,4.15vw,70px)!important;line-height:.92!important}
  .process-head h2{font-size:clamp(46px,3.55vw,60px)!important;line-height:.94!important}
  .offer h2{font-size:clamp(48px,3.7vw,62px)!important;line-height:.93!important;max-width:none!important}
  .faq h2{font-size:clamp(50px,4vw,68px)!important;line-height:.92!important}
  .contact h2{font-size:clamp(48px,3.75vw,64px)!important;line-height:.93!important;max-width:13ch!important}
}

/* Process: the pale editorial panel ends underneath the Macintosh.
   The computer is deliberately pulled left so the overlap reads as one composition. */
.process-layout{isolation:isolate!important;position:relative!important}
.process-layout:before{z-index:0!important;width:59%!important}
.process-copy{position:relative!important;z-index:2!important}
.process-computer{position:relative!important;z-index:5!important}
.process-copy .process-note{position:relative!important;z-index:1!important;max-width:24rem!important}
@media(min-width:901px){
  .process-layout{
    grid-template-columns:minmax(350px,.86fr) minmax(0,1.14fr)!important;
    gap:clamp(20px,2.5vw,42px)!important;
    align-items:center!important;
  }
  .process-computer{transform:translateX(clamp(-82px,-5.5vw,-54px))!important}
  .process-screen-stack{width:min(670px,100%)!important}
  .process-sticky{padding-bottom:clamp(54px,6.2vh,82px)!important}
}

/* Mobile hero: the Macintosh window is a centered object inside the Bliss wallpaper.
   Inside the window the headline stays left and the Macintosh gets a real right-hand column. */
@media(max-width:900px){
  
  
  
  
  
  
  
  
  
  
  
  
  
  

  .section-head h2{font-size:clamp(36px,9.4vw,44px)!important;line-height:.93!important}
  .offer h2{font-size:clamp(39px,10.2vw,48px)!important;line-height:.93!important;max-width:none!important}
  .contact h2{font-size:clamp(37px,9.6vw,46px)!important;line-height:.93!important}

  /* Process gets enough internal air and keeps the arrows beside the step title. */
  .process{padding-top:76px!important;padding-bottom:92px!important}
  .process-head{margin-bottom:38px!important;padding-inline:20px!important;gap:22px!important}
  .process-layout{
    width:calc(100vw - 24px)!important;
    padding:28px 20px 36px!important;
    gap:28px!important;
  }
  .process-layout:before{width:100%!important;bottom:29%!important}
  .process-copy{height:330px!important}
  .process-copy h3{font-size:clamp(34px,9vw,42px)!important;max-width:calc(100% - 96px)!important}
  .process-copy p{margin:17px 0 16px!important;line-height:1.43!important}
  .process-copy .process-note{max-width:100%!important;padding:9px 11px!important;line-height:1.3!important}
  .process-computer{transform:none!important;margin-top:4px!important}
  .process-screen-stack{max-width:540px!important;margin-inline:auto!important}
  .process-mobile-nav{top:30px!important;right:0!important}
}
@media(max-width:430px){
  
  
  
  
  
  
  
  
  
  .process-layout{padding:26px 17px 34px!important;gap:26px!important}
  .process-copy{height:342px!important}
}
@media(max-width:360px){
  
  
  
  
}

/* ---------- V33 public case cards ---------- */
.archive-case-grid{align-items:stretch!important}
.archive-case-card{
  aspect-ratio:1/1!important;
  grid-template-rows:38px minmax(0,1fr) clamp(154px,12.5vw,176px)!important;
  background:#f4efe5!important;
}
.archive-case-top{height:38px!important;font-size:10px!important;padding-inline:13px!important}
.archive-case-media{background:var(--case-accent)!important;isolation:isolate!important}
.case-cover-image{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:contain!important;
  object-position:var(--cover-position,50% 50%)!important;
  transform:scale(var(--cover-scale,1))!important;
  transform-origin:var(--cover-position,50% 50%)!important;
  background:transparent!important;
}
.case-cover-image.case-cover-image{background:transparent!important}
.case-cover-mac{filter:drop-shadow(7px 9px 0 rgba(0,0,0,.15))!important}
.archive-case-copy{
  min-height:0!important;
  padding:13px 15px 14px!important;
  display:grid!important;
  grid-template-rows:auto auto minmax(0,1fr) auto!important;
  align-content:start!important;
}
.archive-case-copy h3{font-size:clamp(30px,2.25vw,38px)!important;line-height:.92!important;margin:0!important}
.archive-case-role{font-size:11px!important;line-height:1.2!important;margin:5px 0 8px!important}
.archive-case-description{font-size:12.5px!important;line-height:1.28!important;-webkit-line-clamp:2!important;margin:0!important}
.archive-case-meta{font-size:9px!important;margin-top:9px!important;padding-top:8px!important;align-items:center!important}
.archive-case-meta span{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}

/* ---------- V33 case detail ---------- */
.case-detail-hero{min-height:min(760px,calc(100svh - 82px))!important;padding:34px 0 70px!important}
.case-detail-cover{background:var(--case-accent)!important;isolation:isolate!important}
.case-detail-cover .case-cover-image{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:var(--cover-position,50% 50%)!important;
  transform:scale(var(--cover-scale,1))!important;
  transform-origin:var(--cover-position,50% 50%)!important;
}
.case-detail-intro h1{font-size:clamp(58px,4.8vw,78px)!important;line-height:.87!important}
.case-detail-intro>p{font-size:18px!important;line-height:1.44!important}
.case-detail-section{padding:70px 0!important}
.case-detail-section>header{margin-bottom:30px!important}
.case-detail-section>header h2{font-size:clamp(46px,3.8vw,64px)!important;line-height:.9!important}

.case-before-after{border:2px solid #111;background:#f4efe5}
.case-ba-row{display:grid;grid-template-columns:52px minmax(0,1fr) 52px minmax(0,1fr);align-items:stretch;min-height:190px}
.case-ba-row+.case-ba-row{border-top:2px solid #111}
.case-ba-number{display:grid;place-items:start center;padding-top:22px;border-right:1px solid rgba(17,18,23,.28);font-family:var(--ui);font-size:11px}
.case-ba-side{padding:22px 24px 24px}
.case-ba-side small{display:block;font-family:var(--ui);font-size:10px;letter-spacing:.06em;margin-bottom:22px}
.case-ba-side strong{display:block;font-family:var(--display);font-size:clamp(27px,2vw,34px);line-height:.96;margin-bottom:12px;max-width:18ch}
.case-ba-side p{font-size:15px;line-height:1.4;margin:0;max-width:38rem}
.case-ba-before{background:#eee8dd}
.case-ba-after{background:#eef5e9}
.case-ba-arrow{display:grid;place-items:center;border-inline:1px solid rgba(17,18,23,.28);font-family:var(--display);font-size:33px;background:#f4efe5}

.case-value-grid{gap:12px!important}
.case-value-grid article{min-height:170px!important;padding:20px!important}
.case-value-grid p{font-family:var(--body)!important;font-size:18px!important;line-height:1.38!important;margin:30px 0 0!important}
.case-solutions-grid article{min-height:190px!important;padding:22px 23px!important}
.case-solutions-grid h3{font-size:31px!important;margin:30px 0 12px!important;text-transform:uppercase}
.case-solutions-grid p{font-size:15px!important;line-height:1.4!important}

.case-video-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.34fr);gap:24px;align-items:start}
.case-video-item{overflow:hidden;border:3px solid #111;background:#0a0d12;box-shadow:7px 7px 0 rgba(0,0,0,.2)}
.case-video-item video{display:block;width:100%;height:100%;background:#0a0d12;object-fit:contain}
.case-video-desktop{aspect-ratio:16/9}
.case-video-mobile{aspect-ratio:9/16;max-height:560px;justify-self:center;width:min(100%,315px)}
.case-shots-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:32px}
.case-shot{margin:0;border:2px solid #111;background:#f4efe5;overflow:hidden}
.case-shot img{width:100%;aspect-ratio:4/3;object-fit:cover;background:#ddd}
.case-shot figcaption{display:grid;gap:4px;padding:11px 13px;border-top:2px solid #111}
.case-shot figcaption strong{font-family:var(--display);font-size:25px;line-height:.95}
.case-shot figcaption span{font-size:12px;line-height:1.3}

.case-result-copy small{display:block;margin-top:28px;padding-top:16px;border-top:1px solid rgba(17,18,23,.35);font-size:13px;line-height:1.4;opacity:.72}
.case-testimonial{grid-template-columns:minmax(220px,.34fr) minmax(0,1fr)!important}
.case-testimonial-video{width:min(100%,300px);aspect-ratio:1/1;border-radius:50%;overflow:hidden;border:3px solid #111;background:#0a0d12;box-shadow:7px 7px 0 rgba(0,0,0,.18)}
.case-testimonial-video video{width:100%;height:100%;object-fit:cover;display:block}
.case-testimonial-copy:empty{display:none}
.case-testimonial-copy blockquote{margin-bottom:22px!important}
.case-testimonial-meta strong,.case-testimonial-meta span{display:block}
.case-testimonial-meta strong{font-family:var(--ui);font-size:14px;margin-bottom:4px}
.case-testimonial-meta span{font-size:14px}

@media(max-width:900px){
  .archive-case-card{grid-template-rows:36px minmax(0,1fr) 148px!important;aspect-ratio:1/1!important}
  .archive-case-top{height:36px!important;font-size:9px!important;padding-inline:10px!important}
  .archive-case-copy{padding:10px 12px 11px!important}
  .archive-case-copy h3{font-size:clamp(27px,7.5vw,34px)!important}
  .archive-case-role{font-size:10px!important;margin:4px 0 6px!important}
  .archive-case-description{font-size:11.5px!important;line-height:1.22!important}
  .archive-case-meta{font-size:8px!important;margin-top:7px!important;padding-top:6px!important}

  .case-detail-hero{min-height:0!important;grid-template-columns:1fr!important;gap:28px!important;padding:16px 0 52px!important}
  .case-detail-cover{width:100%!important;max-width:520px!important;justify-self:center!important}
  .case-detail-intro h1{font-size:clamp(44px,11.5vw,56px)!important;line-height:.89!important}
  .case-detail-intro>p{font-size:15.5px!important;line-height:1.42!important}
  .case-detail-section{padding:50px 0!important}
  .case-detail-section>header h2{font-size:clamp(39px,10vw,50px)!important}

  .case-ba-row{grid-template-columns:42px 1fr;min-height:0}
  .case-ba-number{grid-row:1/4;padding-top:18px}
  .case-ba-side{padding:18px 17px 20px}
  .case-ba-side small{margin-bottom:14px}
  .case-ba-side strong{font-size:27px;margin-bottom:9px}
  .case-ba-side p{font-size:14px;line-height:1.38}
  .case-ba-arrow{grid-column:2;min-height:42px;border:0;border-block:1px solid rgba(17,18,23,.28);transform:none;font-size:28px}
  .case-ba-arrow{font-size:0}
  .case-ba-arrow:after{content:"↓";font-family:var(--display);font-size:28px}

  .case-value-grid article{min-height:0!important;padding:18px!important}
  .case-value-grid p{font-size:16px!important;margin-top:20px!important}
  .case-solutions-grid article{min-height:0!important;padding:19px!important}
  .case-solutions-grid h3{font-size:28px!important;margin:20px 0 9px!important}
  .case-solutions-grid p{font-size:14px!important}
  .case-video-grid{grid-template-columns:1fr;gap:20px}
  .case-video-mobile{width:min(72vw,300px)}
  .case-shots-grid{grid-template-columns:1fr;gap:14px;margin-top:24px}
  .case-result-copy small{font-size:12px}
  .case-testimonial{grid-template-columns:1fr!important;gap:26px!important}
  .case-testimonial-video{width:min(64vw,260px);justify-self:center}
}

/* V33.1 — mobile hero window hugs the content; Bliss wallpaper owns the remaining viewport. */
@media(max-width:900px){
  
  
  
}


/* ---------- V35 focused fixes: mobile hero + process composition ---------- */
/* Desktop hero intentionally stays on the V33 scale. */

@media(max-width:900px){
  /* Keep Bliss around a compact centered window instead of stretching the window into empty space. */
  
  
  
  
  
  
  
  
  
  
  
  
  
  

  /* Process: text block stays compact; Macintosh sits immediately under it and remains visible. */
  .process{padding:66px 0 72px!important}
  .process-sticky{position:relative!important;top:auto!important;height:auto!important;padding:0!important;overflow:visible!important;display:block!important}
  .process-head{
    margin-bottom:24px!important;
    padding-inline:17px!important;
    gap:15px!important;
    grid-template-columns:1fr!important;
  }
  .process-head h2{font-size:clamp(42px,10.6vw,52px)!important;line-height:.91!important;max-width:10ch!important}
  .process-head .section-lead{font-size:15px!important;line-height:1.4!important;max-width:none!important}
  .process-layout{
    width:calc(100vw - 18px)!important;
    margin:0 auto!important;
    padding:22px 16px 12px!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:0!important;
    position:relative!important;
    isolation:isolate!important;
    overflow:visible!important;
  }
  .process-layout:before{
    z-index:0!important;
    left:0!important;
    right:0!important;
    top:0!important;
    bottom:11%!important;
    width:100%!important;
    border:2px solid rgba(17,18,23,.74)!important;
    background:rgba(241,237,227,.76)!important;
    box-shadow:7px 7px 0 rgba(31,52,86,.14)!important;
  }
  .process-copy{
    order:1!important;
    position:relative!important;
    z-index:2!important;
    height:244px!important;
    min-height:0!important;
    padding:0!important;
    margin:0!important;
  }
  .process-copy article{
    position:absolute!important;
    inset:0!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:flex-start!important;
    margin:0!important;
    padding:0!important;
  }
  .process-copy article:not(.active){display:none!important}
  .process-copy article>span{font-size:13px!important;margin-bottom:10px!important}
  .process-copy h3{
    font-size:clamp(38px,9.7vw,46px)!important;
    line-height:.92!important;
    max-width:calc(100% - 96px)!important;
  }
  .process-copy p{
    font-size:15px!important;
    line-height:1.38!important;
    max-width:none!important;
    margin:13px 0 10px!important;
  }
  .process-copy .process-note{
    align-self:flex-start!important;
    max-width:calc(100% - 4px)!important;
    padding:8px 10px!important;
    font-size:12.5px!important;
    line-height:1.28!important;
    background:#edf2fd!important;
    border:2px solid #9ab3df!important;
    box-shadow:none!important;
  }
  .process-meter{display:none!important}
  .process-mobile-nav{
    position:absolute!important;
    top:31px!important;
    right:0!important;
    z-index:8!important;
    display:grid!important;
    grid-template-columns:40px 40px!important;
    gap:8px!important;
    width:auto!important;
    margin:0!important;
  }
  .process-mobile-nav span{display:none!important}
  .process-mobile-nav button{
    width:40px!important;
    height:40px!important;
    padding:0!important;
    display:grid!important;
    place-items:center!important;
    font-size:17px!important;
  }
  .process-computer{
    order:2!important;
    position:relative!important;
    z-index:5!important;
    transform:none!important;
    margin:-22px auto 0!important;
    width:100%!important;
    display:grid!important;
    place-items:center!important;
  }
  .process-screen-stack{
    display:block!important;
    width:min(100%,500px)!important;
    max-width:500px!important;
    margin:0 auto!important;
  }
  .process-screen-stack>img{display:block!important}
}

@media(max-width:430px){
  
  
  
  
  
  .process-layout{width:calc(100vw - 14px)!important;padding:20px 14px 10px!important}
  .process-copy{height:254px!important}
  .process-computer{margin-top:-20px!important}
}

@media(max-width:360px){
  
  
  
  
  .process-copy{height:270px!important}
}

@media(min-width:901px){
  /* Keep V33 desktop hero typography unchanged. Only process overlap is corrected. */
  .process-layout{
    grid-template-columns:minmax(350px,.86fr) minmax(0,1.14fr)!important;
    gap:clamp(20px,2.5vw,42px)!important;
    align-items:center!important;
    isolation:isolate!important;
    position:relative!important;
  }
  .process-layout:before{
    z-index:0!important;
    left:0!important;
    top:0!important;
    bottom:0!important;
    width:62%!important;
    border:2px solid rgba(17,18,23,.74)!important;
    background:rgba(241,237,227,.76)!important;
    box-shadow:9px 9px 0 rgba(31,52,86,.14)!important;
  }
  .process-copy{position:relative!important;z-index:2!important;padding-left:22px!important}
  .process-copy .process-note{max-width:27rem!important}
  .process-computer{
    position:relative!important;
    z-index:5!important;
    transform:translateX(clamp(-104px,-6.6vw,-68px))!important;
    display:grid!important;
    place-items:center!important;
  }
  .process-screen-stack{
    display:block!important;
    width:min(720px,100%)!important;
  }
  .process-screen-stack>img{display:block!important}
}


/* ---------- V36 final hero/process alignment ---------- */
@media(min-width:901px){
  .process-layout{grid-template-columns:minmax(360px,.84fr) minmax(0,1.16fr)!important;gap:16px!important;align-items:center!important;}
  .process-layout:before{left:0!important;top:24px!important;bottom:28px!important;width:58.5%!important;}
  .process-copy{height:min(414px,47vh)!important;padding-left:28px!important;padding-right:24px!important;margin-right:-126px!important;z-index:2!important;}
  .process-copy h3{max-width:8.1ch!important;font-size:clamp(48px,3.9vw,64px)!important;}
  .process-copy p{max-width:29rem!important;margin:18px 0 14px!important;}
  .process-copy .process-note{max-width:30rem!important;padding:10px 14px!important;}
  .process-meter{width:min(430px,100%)!important;}
  .process-computer{transform:translateX(clamp(-136px,-8.2vw,-96px)) translateY(2px)!important;z-index:5!important;}
  .process-screen-stack{width:min(760px,100%)!important;}
}
@media(max-width:900px){
  
  
  
  
  
  
  
  
  
  
  
  .process{padding:68px 0 74px!important;}
  .process-layout{width:calc(100vw - 22px)!important;padding:20px 16px 8px!important;gap:0!important;}
  .process-layout:before{top:0!important;bottom:14px!important;width:100%!important;}
  .process-copy{height:238px!important;}
  .process-copy h3{font-size:clamp(37px,9.2vw,45px)!important;max-width:calc(100% - 92px)!important;}
  .process-copy p{font-size:15px!important;line-height:1.38!important;margin:14px 0 11px!important;}
  .process-copy .process-note{max-width:100%!important;padding:8px 10px!important;font-size:12.5px!important;line-height:1.28!important;}
  .process-mobile-nav{top:26px!important;right:0!important;}
  .process-computer{margin:-8px auto 0!important;}
  .process-screen-stack{width:min(100%,492px)!important;max-width:492px!important;}
}
@media(max-width:430px){
  
  
  
  
  
  
  .process-layout{width:calc(100vw - 18px)!important;padding:18px 14px 8px!important;}
  .process-copy{height:248px!important;}
}
@media(max-width:360px){
  
  
  
  
}


/* ---------- V37 hero/process micro-adjustments ---------- */
@media(min-width:901px){
  .process-layout{grid-template-columns:minmax(380px,.88fr) minmax(0,1.12fr)!important;gap:18px!important;}
  .process-layout:before{width:57.5%!important;top:22px!important;bottom:26px!important;}
  .process-copy{margin-right:-104px!important;padding-right:28px!important;}
  .process-copy p{max-width:30rem!important;}
  .process-computer{transform:translateX(clamp(-88px,-5.6vw,-54px)) translateY(2px)!important;}
}
@media(max-width:900px){
  
  
  
  
  
}
@media(max-width:430px){
  
  
  
  
  
}
@media(max-width:360px){
  
  
  
  
  
}


/* ---------- V38 mobile hero repair: text keeps readable line lengths, Mac uses the right-side void ---------- */
@media(max-width:900px){
  
  
  
  
  
  
  
}
@media(max-width:430px){
  
  
  
  
  
}
@media(max-width:360px){
  
  
  
  
  
}


/* ---------- FINAL MOBILE HERO — single source of truth ---------- */
.hero-title-mobile{display:none}

@media(max-width:900px){
  .hero{
    min-height:calc(100svh - var(--topbar));
    height:auto;
    padding:clamp(24px,5svh,48px) 0;
    display:grid;
    place-items:center;
    background:#69aaf0;
  }
  .hero-window{
    width:min(560px,calc(100vw - 28px));
    height:auto;
    min-height:0;
    max-height:none;
    grid-template-rows:27px minmax(0,1fr);
    overflow:hidden;
  }
  .hero-window>.classic-bar{height:27px}
  .hero-window>.classic-bar small{display:none}
  .hero-nav{display:none}
  .hero-grid{
    width:100%;
    height:auto;
    min-height:0;
    display:block;
    padding:clamp(20px,4.4vw,24px) clamp(18px,5.1vw,22px) 20px;
  }
  .hero-copy{
    width:100%;
    height:auto;
    min-height:0;
    display:grid;
    grid-template-rows:auto auto auto auto;
    align-content:start;
    gap:18px;
    padding:0;
    transform:none;
  }
  .hero-mobile-row{
    position:relative;
    display:block;
    width:100%;
    min-height:clamp(288px,74vw,314px);
  }
  .hero-title-stack{
    display:block;
    position:relative;
    z-index:2;
    min-width:0;
  }
  .hero-title-desktop{display:none!important}
  .hero-title-mobile{
    display:block;
    margin:0;
    font-family:var(--display);
    font-weight:700;
    font-size:clamp(36px,9.4vw,40px);
    line-height:.90;
    letter-spacing:-.012em;
    max-width:none;
    width:100%;
  }
  .hero-title-mobile span{
    display:block;
    white-space:nowrap;
  }
  .hero-mobile-mac{
    display:block;
    position:absolute;
    z-index:3;
    right:-2px;
    top:clamp(108px,28.5vw,122px);
    width:clamp(158px,45vw,188px);
    max-width:none;
    height:auto;
    margin:0;
    object-fit:contain;
    transform:none;
    filter:drop-shadow(5px 7px 0 rgba(0,0,0,.14));
  }
  .hero-visual{display:none}
  .hero .lead{
    margin:0;
    max-width:none;
    font-size:14px;
    line-height:1.43;
  }
  .hero .actions{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    margin:0;
  }
  .hero .actions .btn{
    width:100%;
    min-height:48px;
    padding:10px 14px;
    font-size:14px;
    line-height:1.15;
  }
  .hero .actions .link{
    width:auto;
    min-height:0;
    justify-self:center;
    padding:4px 0;
    border:0;
    box-shadow:none;
    background:transparent;
    text-decoration:underline;
    text-underline-offset:5px;
    font-size:13px;
    line-height:1.2;
  }
  .hero .result{
    margin:0;
    max-width:none;
    padding:12px 0 0;
    border-top:1px solid rgba(17,18,23,.24);
    font-size:12.5px;
    line-height:1.34;
  }
  .scroll-hint{display:none}
}

@media(max-width:430px){
  .hero{
    padding:clamp(20px,4.2svh,34px) 0;
  }
  .hero-window{
    width:calc(100vw - 28px);
  }
  .hero-grid{
    padding:20px 18px 18px;
  }
  .hero-copy{gap:16px}
  .hero-mobile-row{
    min-height:clamp(288px,74vw,306px);
  }
  .hero-title-mobile{
    font-size:clamp(36px,9.4vw,40px);
  }
  .hero-mobile-mac{
    top:clamp(106px,28vw,118px);
    width:clamp(160px,44.5vw,184px);
    right:-3px;
  }
  .hero .lead{font-size:13.5px}
}

@media(max-width:375px){
  .hero-window{width:calc(100vw - 24px)}
  .hero-grid{padding:18px 14px 17px}
  .hero-mobile-row{min-height:270px}
  .hero-title-mobile{font-size:35px}
  .hero-mobile-mac{
    top:101px;
    width:158px;
    right:-4px;
  }
  .hero .lead{font-size:13px}
  .hero .result{font-size:12px}
}


/* ---------- V40 MOBILE HERO — isolated composition, no legacy selector collisions ---------- */
.hero-mobile-only{display:none}
@media(max-width:900px){
  .hero{
    min-height:calc(100svh - var(--topbar))!important;
    height:auto!important;
    padding:clamp(24px,4.5svh,40px) 0!important;
    display:grid!important;
    place-items:center!important;
  }
  .hero-window{
    width:min(560px,calc(100vw - 30px))!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    grid-template-rows:27px minmax(0,1fr)!important;
    overflow:hidden!important;
  }
  .hero-nav{display:none!important}
  .hero-grid{
    display:block!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    padding:0!important;
  }
  .hero-grid>.hero-copy,
  .hero-grid>.hero-visual{display:none!important}
  .hero-mobile-only{
    display:block!important;
    padding:clamp(20px,5vw,24px) clamp(18px,5.2vw,22px) 20px!important;
  }
  .hero-mobile-title-zone{
    position:relative!important;
    min-height:clamp(278px,74vw,304px)!important;
    width:100%!important;
  }
  .hero-mobile-final-title{
    margin:0!important;
    padding:0!important;
    font-family:var(--display)!important;
    font-weight:700!important;
    font-size:clamp(35px,9vw,38px)!important;
    line-height:.89!important;
    letter-spacing:-.012em!important;
    color:#111!important;
  }
  .hero-mobile-final-title .hero-line{
    display:block!important;
    white-space:nowrap!important;
  }
  .hero-mobile-final-title .hero-line-full{width:100%!important}
  .hero-mobile-final-title .hero-line-side{width:calc(100% - clamp(158px,44vw,188px))!important}
  .hero-mobile-mac-v40{
    display:block!important;
    position:absolute!important;
    z-index:3!important;
    right:-4px!important;
    top:clamp(94px,24.5vw,104px)!important;
    width:clamp(174px,47vw,192px)!important;
    max-width:none!important;
    height:auto!important;
    object-fit:contain!important;
    margin:0!important;
    transform:none!important;
    filter:drop-shadow(5px 7px 0 rgba(0,0,0,.14))!important;
  }
  .hero-mobile-lead{
    margin:14px 0 0!important;
    font-family:var(--body)!important;
    font-size:14px!important;
    line-height:1.43!important;
  }
  .hero-mobile-cta{
    display:flex!important;
    width:100%!important;
    min-height:48px!important;
    margin:20px 0 0!important;
    font-size:14px!important;
  }
  .hero-mobile-link{
    display:block!important;
    width:max-content!important;
    margin:15px auto 0!important;
    font-family:var(--body)!important;
    font-size:13px!important;
    text-decoration:underline!important;
    text-underline-offset:5px!important;
  }
  .hero-mobile-result{
    position:relative!important;
    margin:20px 0 0!important;
    padding:13px 0 0 22px!important;
    border-top:1px solid rgba(17,18,23,.25)!important;
    font-family:var(--body)!important;
    font-size:12.5px!important;
    line-height:1.34!important;
  }
  .hero-mobile-result i{
    position:absolute!important;
    left:0!important;
    top:16px!important;
    width:9px!important;
    height:9px!important;
    background:#44bb68!important;
    border:2px solid #111!important;
  }
}
@media(max-width:430px){
  .hero-window{width:calc(100vw - 28px)!important}
  .hero-mobile-only{padding:20px 18px 18px!important}
  .hero-mobile-title-zone{min-height:292px!important}
  .hero-mobile-final-title{font-size:clamp(35px,8.9vw,38px)!important}
  .hero-mobile-final-title .hero-line-side{width:calc(100% - 172px)!important}
  .hero-mobile-mac-v40{width:184px!important;top:98px!important;right:-5px!important}
  .hero-mobile-lead{font-size:13.5px!important}
}
@media(max-width:375px){
  .hero-window{width:calc(100vw - 24px)!important}
  .hero-mobile-only{padding:18px 15px 17px!important}
  .hero-mobile-title-zone{min-height:272px!important}
  .hero-mobile-final-title{font-size:34px!important}
  .hero-mobile-final-title .hero-line-side{width:calc(100% - 156px)!important}
  .hero-mobile-mac-v40{width:174px!important;top:92px!important;right:-4px!important}
  .hero-mobile-lead{font-size:13px!important}
  .hero-mobile-result{font-size:12px!important}
}


/* ---------- V41 mobile hero lead moved into central zone ---------- */
@media(max-width:900px){
  .hero-mobile-only{padding:clamp(20px,5vw,24px) clamp(18px,5.2vw,22px) 20px!important;}
  .hero-mobile-title-zone{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) clamp(160px,44vw,188px)!important;
    grid-template-rows:auto auto!important;
    column-gap:12px!important;
    row-gap:14px!important;
    align-items:start!important;
    min-height:0!important;
    width:100%!important;
  }
  .hero-mobile-final-title{grid-column:1 / -1!important;}
  .hero-mobile-final-title .hero-line-side{width:100%!important;}
  .hero-mobile-lead{
    grid-column:1!important;
    grid-row:2!important;
    margin:0!important;
    font-size:12.6px!important;
    line-height:1.38!important;
    max-width:none!important;
    align-self:start!important;
  }
  .hero-mobile-mac-v40{
    position:static!important;
    grid-column:2!important;
    grid-row:2!important;
    justify-self:end!important;
    align-self:start!important;
    width:100%!important;
    max-width:188px!important;
    margin:-6px 0 0 0!important;
    top:auto!important;
    right:auto!important;
  }
  .hero-mobile-cta{margin:18px 0 0!important;}
  .hero-mobile-link{margin:13px auto 0!important;}
  .hero-mobile-result{margin:18px 0 0!important;}
}
@media(max-width:430px){
  .hero-mobile-title-zone{grid-template-columns:minmax(0,1fr) 178px!important;column-gap:10px!important;row-gap:12px!important;}
  .hero-mobile-final-title{font-size:clamp(35px,8.9vw,38px)!important;}
  .hero-mobile-mac-v40{max-width:178px!important;margin-top:-4px!important;}
  .hero-mobile-lead{font-size:12.2px!important;}
}
@media(max-width:390px){
  .hero-mobile-title-zone{grid-template-columns:minmax(0,1fr) 168px!important;}
  .hero-mobile-mac-v40{max-width:168px!important;}
}
@media(max-width:375px){
  .hero-mobile-title-zone{grid-template-columns:minmax(0,1fr) 158px!important;column-gap:9px!important;row-gap:11px!important;}
  .hero-mobile-final-title{font-size:34px!important;}
  .hero-mobile-mac-v40{max-width:158px!important;margin-top:-2px!important;}
  .hero-mobile-lead{font-size:11.8px!important;line-height:1.36!important;}
  .hero-mobile-result{font-size:12px!important;}
}
@media(max-width:360px){
  .hero-mobile-title-zone{grid-template-columns:minmax(0,1fr) 150px!important;}
  .hero-mobile-mac-v40{max-width:150px!important;}
}


/* ---------- V42 mobile hero: readable lead + fuller middle zone ---------- */
@media(max-width:900px){
  .hero-mobile-title-zone{
    display:block!important;
    min-height:0!important;
  }
  .hero-mobile-final-title{width:100%!important;}
  .hero-mobile-middle{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) clamp(164px,43vw,188px)!important;
    grid-template-rows:auto auto!important;
    column-gap:14px!important;
    row-gap:10px!important;
    align-items:start!important;
    margin-top:16px!important;
    width:100%!important;
  }
  .hero-mobile-lead{
    grid-column:1!important;
    grid-row:1!important;
    margin:0!important;
    font-size:14px!important;
    line-height:1.42!important;
    max-width:none!important;
  }
  .hero-mobile-mac-v40{
    position:static!important;
    grid-column:2!important;
    grid-row:1!important;
    width:100%!important;
    max-width:188px!important;
    height:auto!important;
    justify-self:end!important;
    align-self:start!important;
    margin:-10px -4px 0 0!important;
    top:auto!important;
    right:auto!important;
  }
  .hero-mobile-lead-tail{
    grid-column:1 / -1!important;
    grid-row:2!important;
    margin:0!important;
    font-family:var(--body)!important;
    font-size:14px!important;
    line-height:1.42!important;
  }
  .hero-mobile-cta{margin:17px 0 0!important;}
  .hero-mobile-link{margin:12px auto 0!important;}
  .hero-mobile-result{margin:17px 0 0!important;}
}
@media(max-width:430px){
  .hero-mobile-middle{
    grid-template-columns:minmax(0,1fr) 176px!important;
    column-gap:12px!important;
    row-gap:9px!important;
    margin-top:15px!important;
  }
  .hero-mobile-lead,.hero-mobile-lead-tail{font-size:13.5px!important;line-height:1.4!important;}
  .hero-mobile-mac-v40{max-width:176px!important;margin-top:-8px!important;}
}
@media(max-width:390px){
  .hero-mobile-middle{grid-template-columns:minmax(0,1fr) 166px!important;column-gap:11px!important;}
  .hero-mobile-mac-v40{max-width:166px!important;}
}
@media(max-width:375px){
  .hero-mobile-middle{grid-template-columns:minmax(0,1fr) 156px!important;column-gap:10px!important;margin-top:14px!important;}
  .hero-mobile-lead,.hero-mobile-lead-tail{font-size:13px!important;line-height:1.39!important;}
  .hero-mobile-mac-v40{max-width:156px!important;margin-top:-5px!important;}
}
@media(max-width:360px){
  .hero-mobile-middle{grid-template-columns:minmax(0,1fr) 148px!important;column-gap:9px!important;}
  .hero-mobile-mac-v40{max-width:148px!important;}
  .hero-mobile-lead,.hero-mobile-lead-tail{font-size:12.7px!important;}
}


/* ---------- V43 mobile hero: one readable middle block ---------- */
@media(max-width:900px){
  .hero-mobile-middle{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) clamp(174px,45vw,194px)!important;
    grid-template-rows:auto!important;
    column-gap:16px!important;
    align-items:center!important;
    margin-top:18px!important;
    width:100%!important;
  }
  .hero-mobile-lead{
    grid-column:1!important;
    grid-row:1!important;
    margin:0!important;
    font-size:14.5px!important;
    line-height:1.42!important;
    max-width:none!important;
  }
  .hero-mobile-lead-tail{display:none!important;}
  .hero-mobile-mac-v40{
    position:static!important;
    grid-column:2!important;
    grid-row:1!important;
    width:100%!important;
    max-width:194px!important;
    height:auto!important;
    justify-self:end!important;
    align-self:center!important;
    margin:0 -4px 0 0!important;
    top:auto!important;
    right:auto!important;
  }
  .hero-mobile-cta{margin:18px 0 0!important;}
  .hero-mobile-link{margin:12px auto 0!important;}
  .hero-mobile-result{margin:18px 0 0!important;}
}
@media(max-width:430px){
  .hero-mobile-middle{
    grid-template-columns:minmax(0,1fr) 180px!important;
    column-gap:13px!important;
    margin-top:16px!important;
  }
  .hero-mobile-lead{font-size:14px!important;line-height:1.4!important;}
  .hero-mobile-mac-v40{max-width:180px!important;margin-right:-3px!important;}
}
@media(max-width:390px){
  .hero-mobile-middle{grid-template-columns:minmax(0,1fr) 170px!important;column-gap:12px!important;}
  .hero-mobile-lead{font-size:13.7px!important;}
  .hero-mobile-mac-v40{max-width:170px!important;}
}
@media(max-width:375px){
  .hero-mobile-middle{grid-template-columns:minmax(0,1fr) 160px!important;column-gap:10px!important;margin-top:15px!important;}
  .hero-mobile-lead{font-size:13.3px!important;line-height:1.38!important;}
  .hero-mobile-mac-v40{max-width:160px!important;}
}
@media(max-width:360px){
  .hero-mobile-middle{grid-template-columns:minmax(0,1fr) 152px!important;column-gap:9px!important;}
  .hero-mobile-lead{font-size:13px!important;}
  .hero-mobile-mac-v40{max-width:152px!important;}
}


/* ---------- V44 mobile hero: subhead wraps around Macintosh ---------- */
@media(max-width:900px){
  .hero-mobile-title-zone{min-height:0!important;}
  .hero-mobile-middle{
    display:block!important;
    width:100%!important;
    margin-top:8px!important;
  }
  .hero-mobile-middle::after{content:"";display:block;clear:both;}
  .hero-mobile-lead{
    display:block!important;
    margin:0!important;
    font-size:14px!important;
    line-height:1.42!important;
    max-width:none!important;
  }
  .hero-mobile-mac-v40{
    float:right!important;
    position:static!important;
    width:clamp(176px,45vw,198px)!important;
    max-width:198px!important;
    height:auto!important;
    margin:2px -4px 8px 16px!important;
    top:auto!important;
    right:auto!important;
    justify-self:auto!important;
    align-self:auto!important;
  }
  .hero-mobile-cta{margin:14px 0 0!important;clear:both!important;}
  .hero-mobile-link{margin:11px auto 0!important;}
  .hero-mobile-result{margin:16px 0 0!important;}
}
@media(max-width:430px){
  .hero-mobile-middle{margin-top:7px!important;}
  .hero-mobile-lead{font-size:13.8px!important;line-height:1.41!important;}
  .hero-mobile-mac-v40{width:184px!important;max-width:184px!important;margin:2px -3px 8px 14px!important;}
}
@media(max-width:390px){
  .hero-mobile-lead{font-size:13.5px!important;line-height:1.4!important;}
  .hero-mobile-mac-v40{width:174px!important;max-width:174px!important;margin:1px -2px 8px 12px!important;}
}
@media(max-width:375px){
  .hero-mobile-middle{margin-top:6px!important;}
  .hero-mobile-lead{font-size:13.1px!important;line-height:1.39!important;}
  .hero-mobile-mac-v40{width:165px!important;max-width:165px!important;margin:0 -2px 7px 11px!important;}
  .hero-mobile-cta{margin-top:13px!important;}
}
@media(max-width:360px){
  .hero-mobile-lead{font-size:12.9px!important;line-height:1.38!important;}
  .hero-mobile-mac-v40{width:156px!important;max-width:156px!important;margin:0 -1px 6px 10px!important;}
}


/* ---------- V45 mobile hero: dedicated middle pair block ---------- */
@media(max-width:900px){
  .hero-mobile-title-zone{min-height:0!important;}
  .hero-mobile-middle{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) clamp(178px,46vw,206px)!important;
    column-gap:14px!important;
    align-items:end!important;
    min-height:172px!important;
    margin-top:8px!important;
    width:100%!important;
  }
  .hero-mobile-lead{
    grid-column:1!important;
    align-self:end!important;
    margin:0 0 10px 0!important;
    font-size:14.2px!important;
    line-height:1.44!important;
    max-width:none!important;
  }
  .hero-mobile-mac-v40{
    float:none!important;
    display:block!important;
    position:static!important;
    grid-column:2!important;
    justify-self:end!important;
    align-self:end!important;
    width:100%!important;
    max-width:206px!important;
    height:auto!important;
    margin:0 -2px 0 0!important;
    top:auto!important;
    right:auto!important;
  }
  .hero-mobile-cta{margin:10px 0 0!important;clear:none!important;}
  .hero-mobile-link{margin:10px auto 0!important;}
  .hero-mobile-result{margin:16px 0 0!important;}
}
@media(max-width:430px){
  .hero-mobile-middle{
    grid-template-columns:minmax(0,1fr) 188px!important;
    column-gap:12px!important;
    min-height:164px!important;
    margin-top:6px!important;
  }
  .hero-mobile-lead{font-size:13.9px!important;line-height:1.42!important;margin-bottom:10px!important;}
  .hero-mobile-mac-v40{max-width:188px!important;}
}
@media(max-width:390px){
  .hero-mobile-middle{
    grid-template-columns:minmax(0,1fr) 176px!important;
    column-gap:11px!important;
    min-height:156px!important;
  }
  .hero-mobile-lead{font-size:13.5px!important;line-height:1.4!important;margin-bottom:9px!important;}
  .hero-mobile-mac-v40{max-width:176px!important;}
}
@media(max-width:375px){
  .hero-mobile-middle{
    grid-template-columns:minmax(0,1fr) 166px!important;
    column-gap:10px!important;
    min-height:148px!important;
  }
  .hero-mobile-lead{font-size:13px!important;line-height:1.38!important;margin-bottom:8px!important;}
  .hero-mobile-mac-v40{max-width:166px!important;}
}
@media(max-width:360px){
  .hero-mobile-middle{
    grid-template-columns:minmax(0,1fr) 156px!important;
    column-gap:9px!important;
    min-height:142px!important;
  }
  .hero-mobile-lead{font-size:12.7px!important;line-height:1.37!important;margin-bottom:7px!important;}
  .hero-mobile-mac-v40{max-width:156px!important;}
}


/* ---------- V46 mobile hero: subtitle placed in highlighted lower-left zone ---------- */
@media(max-width:900px){
  .hero-mobile-title-zone{min-height:0!important;}
  .hero-mobile-middle{
    position:relative!important;
    display:block!important;
    width:100%!important;
    min-height:clamp(182px,30vw,218px)!important;
    margin-top:6px!important;
  }
  .hero-mobile-lead{
    position:absolute!important;
    left:0!important;
    bottom:24px!important;
    width:calc(100% - clamp(205px,49vw,238px))!important;
    max-width:none!important;
    margin:0!important;
    font-size:15.8px!important;
    line-height:1.42!important;
    z-index:2!important;
  }
  .hero-mobile-mac-v40{
    position:absolute!important;
    right:-2px!important;
    bottom:0!important;
    display:block!important;
    width:clamp(188px,44vw,214px)!important;
    max-width:214px!important;
    height:auto!important;
    margin:0!important;
    float:none!important;
    z-index:3!important;
  }
  .hero-mobile-cta{margin:10px 0 0!important;clear:none!important;}
  .hero-mobile-link{margin:10px auto 0!important;}
  .hero-mobile-result{margin:16px 0 0!important;}
}
@media(max-width:430px){
  .hero-mobile-middle{min-height:192px!important;margin-top:5px!important;}
  .hero-mobile-lead{bottom:24px!important;width:calc(100% - 196px)!important;font-size:15px!important;line-height:1.4!important;}
  .hero-mobile-mac-v40{width:186px!important;max-width:186px!important;right:-1px!important;}
}
@media(max-width:390px){
  .hero-mobile-middle{min-height:182px!important;}
  .hero-mobile-lead{bottom:22px!important;width:calc(100% - 182px)!important;font-size:14.3px!important;line-height:1.38!important;}
  .hero-mobile-mac-v40{width:172px!important;max-width:172px!important;}
}
@media(max-width:375px){
  .hero-mobile-middle{min-height:174px!important;}
  .hero-mobile-lead{bottom:20px!important;width:calc(100% - 170px)!important;font-size:13.8px!important;line-height:1.36!important;}
  .hero-mobile-mac-v40{width:160px!important;max-width:160px!important;}
  .hero-mobile-cta{margin-top:9px!important;}
}
@media(max-width:360px){
  .hero-mobile-middle{min-height:166px!important;}
  .hero-mobile-lead{bottom:18px!important;width:calc(100% - 160px)!important;font-size:13.4px!important;line-height:1.34!important;}
  .hero-mobile-mac-v40{width:150px!important;max-width:150px!important;}
}


/* =====================================================
   V49 — process desktop composition restored from V47 baseline
   Target: approved V24-like balance, Mac right, text breathing room.
   ===================================================== */
@media(min-width:901px){
  .process-layout{
    grid-template-columns:minmax(420px,.82fr) minmax(0,1.18fr)!important;
    gap:0!important;
    align-items:center!important;
  }
  .process-layout:before{
    left:0!important;
    top:22px!important;
    bottom:24px!important;
    width:51.5%!important;
  }
  .process-copy{
    height:min(420px,47vh)!important;
    margin-right:0!important;
    padding-left:42px!important;
    padding-right:34px!important;
    z-index:2!important;
  }
  .process-copy article{
    left:42px!important;
    right:34px!important;
    top:0!important;
    bottom:0!important;
  }
  .process-copy h3{
    font-size:clamp(48px,3.8vw,64px)!important;
    max-width:8.4ch!important;
  }
  .process-copy p{
    max-width:29rem!important;
    margin:18px 0 14px!important;
    line-height:1.44!important;
  }
  .process-copy .process-note{
    max-width:29rem!important;
    padding:10px 14px!important;
  }
  .process-meter{
    left:42px!important;
    width:min(420px,calc(100% - 76px))!important;
    bottom:18px!important;
  }
  .process-computer{
    justify-self:end!important;
    transform:translateX(58px) translateY(2px)!important;
    z-index:5!important;
  }
  .process-screen-stack{
    width:min(720px,100%)!important;
  }
}

@media(min-width:901px){.process-computer{opacity:1!important;visibility:visible!important}.process-screen-stack>img.active{opacity:1!important}}


/* =====================================================
   V50 — process desktop hard fix
   Restore Macintosh visibility and approved left/right balance
   ===================================================== */
@media(min-width:901px){
  .process-layout{
    width:min(1360px,calc(100vw - 56px))!important;
    margin-inline:auto!important;
    grid-template-columns:minmax(440px,.86fr) minmax(0,1.14fr)!important;
    gap:22px!important;
    align-items:center!important;
    position:relative!important;
  }
  .process-layout:before{
    left:0!important;
    top:18px!important;
    bottom:24px!important;
    width:54.5%!important;
    background:rgba(242,239,232,.94)!important;
    border:2px solid rgba(20,24,31,.72)!important;
    box-shadow:10px 10px 0 rgba(31,52,86,.12)!important;
  }
  .process-copy{
    height:min(442px,48vh)!important;
    padding-left:30px!important;
    padding-right:20px!important;
    margin-right:-8px!important;
    z-index:2!important;
  }
  .process-copy article{
    left:30px!important;
    right:26px!important;
    top:54px!important;
    bottom:28px!important;
    justify-content:flex-start!important;
  }
  .process-copy h3{
    font-size:clamp(50px,3.95vw,66px)!important;
    line-height:.92!important;
    max-width:8.2ch!important;
  }
  .process-copy p{
    max-width:29rem!important;
    margin:18px 0 14px!important;
    line-height:1.42!important;
  }
  .process-copy .process-note{
    max-width:27rem!important;
    padding:10px 14px!important;
  }
  .process-meter{
    left:30px!important;
    width:min(430px,calc(100% - 74px))!important;
    bottom:18px!important;
  }
  .process-computer{
    position:relative!important;
    justify-self:end!important;
    align-self:center!important;
    transform:translateX(-12px) translateY(8px)!important;
    margin:0!important;
    opacity:1!important;
    visibility:visible!important;
    z-index:5!important;
    display:grid!important;
    place-items:center!important;
  }
  .process-screen-stack{
    width:min(690px,100%)!important;
    max-width:690px!important;
    display:block!important;
    filter:drop-shadow(9px 11px 0 rgba(0,0,0,.14))!important;
  }
  .process-screen-stack>img{display:block!important;opacity:0!important}
  .process-screen-stack>img.active{opacity:1!important}
}

/* =====================================================
   V51 — desktop process Macintosh width-collapse fix
   The grid item must stretch; only the Macintosh aligns right inside it.
   ===================================================== */
@media(min-width:901px){
  .process-computer{
    width:100%!important;
    min-width:0!important;
    justify-self:stretch!important;
    justify-items:end!important;
    align-items:center!important;
    opacity:1!important;
    visibility:visible!important;
  }
  .process-screen-stack{
    width:min(690px,100%)!important;
    max-width:690px!important;
    min-width:420px!important;
    justify-self:end!important;
    opacity:1!important;
    visibility:visible!important;
  }
  .process-screen-stack>img.active{
    display:block!important;
    opacity:1!important;
    visibility:visible!important;
  }
}

/* =====================================================
   V63 — public launch polish
   ===================================================== */
.archive-case-grid:has(> .archive-case-card:only-child){grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.archive-case-grid:has(> .archive-case-card:only-child)>.archive-case-card{grid-column:1}
.archive-case-card{min-height:0!important;aspect-ratio:1/1!important;grid-template-rows:38px minmax(0,1fr) 174px!important}
.archive-case-media{min-height:0!important;overflow:hidden!important}
.archive-case-card-olga-aleksandrovna .case-cover-image{width:88%!important;height:96%!important;object-fit:contain!important;object-position:50% 100%!important;transform:none!important;align-self:end!important;justify-self:center!important;filter:drop-shadow(0 12px 0 rgba(21,80,77,.08))}
.archive-case-copy h3{max-width:12ch}.archive-case-description{max-width:42rem}
.skip-intro{padding:10px 14px!important;border:2px solid #111!important;background:#efeee7!important;color:#111!important;box-shadow:4px 4px 0 #111!important;text-transform:none!important}
@media(max-width:900px){
  .archive-case-grid:has(> .archive-case-card:only-child){grid-template-columns:1fr!important}
  .archive-case-grid:has(> .archive-case-card:only-child)>.archive-case-card{grid-column:auto!important}
  .archive-case-card{width:100%!important;aspect-ratio:auto!important;grid-template-rows:36px minmax(360px,92vw) auto!important}
  .archive-case-card-olga-aleksandrovna .case-cover-image{width:86%!important;height:94%!important;object-position:50% 100%!important}
  .archive-case-copy{min-height:158px!important;padding:14px 15px 15px!important}
  .archive-case-copy h3{font-size:clamp(31px,8vw,39px)!important;max-width:11ch!important}
  .archive-case-role{font-size:11px!important}.archive-case-description{font-size:12.5px!important;line-height:1.3!important}.archive-case-meta{font-size:9px!important}
}
@media(max-width:520px){
  .hero{min-height:100svh!important;height:auto!important;padding:14px 0 28px!important;display:grid!important;place-items:start center!important;overflow:hidden!important}
  .hero-window{width:calc(100% - 22px)!important;max-width:480px!important;min-height:0!important;height:auto!important;margin:0 auto!important;overflow:hidden!important}
  .hero-window>.classic-bar{height:34px!important;min-height:34px!important}.hero-window>.classic-bar span{font-size:11px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .hero-nav,.hero-grid>.hero-copy,.hero-grid>.hero-visual{display:none!important}
  .hero-grid.page-grid{display:block!important;width:100%!important;max-width:none!important;min-height:0!important;padding:0!important}
  .hero-mobile-only{display:block!important;width:100%!important;padding:18px 16px 16px!important;overflow:hidden!important}
  .hero-mobile-title-zone{display:block!important;width:100%!important;min-height:0!important}
  .hero-mobile-final-title{display:block!important;width:100%!important;max-width:none!important;margin:0!important;font-size:clamp(30px,8vw,34px)!important;line-height:.92!important;letter-spacing:-.025em!important;overflow:visible!important}
  .hero-mobile-final-title .hero-line{display:block!important;width:100%!important;max-width:100%!important;white-space:nowrap!important;overflow:visible!important}
  .hero-mobile-middle{position:static!important;display:grid!important;grid-template-columns:minmax(0,1fr) clamp(144px,38vw,166px)!important;gap:10px!important;align-items:end!important;width:100%!important;min-height:0!important;margin:15px 0 0!important}
  .hero-mobile-lead{position:static!important;grid-column:1!important;width:auto!important;max-width:none!important;margin:0 0 5px!important;font-size:12.8px!important;line-height:1.38!important;align-self:end!important}
  .hero-mobile-mac-v40{position:static!important;grid-column:2!important;width:100%!important;max-width:166px!important;height:auto!important;margin:0!important;justify-self:end!important;align-self:end!important;transform:translate(2px,2px)!important}
  .hero-mobile-cta{display:grid!important;place-items:center!important;width:100%!important;min-height:50px!important;margin:14px 0 0!important}
  .hero-mobile-link{margin:12px auto 0!important}.hero-mobile-result{margin:16px 0 0!important;padding-top:14px!important;font-size:12px!important;line-height:1.36!important}.scroll-hint{display:none!important}
}
@media(max-width:390px){
  .hero-mobile-only{padding-inline:14px!important}.hero-mobile-final-title{font-size:31px!important}.hero-mobile-middle{grid-template-columns:minmax(0,1fr) 150px!important;gap:9px!important}.hero-mobile-mac-v40{max-width:150px!important}.hero-mobile-lead{font-size:12.3px!important;line-height:1.36!important}
}
@media(max-width:375px){
  .hero-window{width:calc(100% - 18px)!important}.hero-mobile-only{padding:16px 13px 15px!important}.hero-mobile-final-title{font-size:30px!important}.hero-mobile-middle{grid-template-columns:minmax(0,1fr) 142px!important;gap:8px!important;margin-top:13px!important}.hero-mobile-mac-v40{max-width:142px!important}.hero-mobile-lead{font-size:12px!important;line-height:1.34!important}.hero-mobile-result{font-size:11.7px!important}
}
@media(max-width:520px){
  .hero-window,.hero-grid,.hero-mobile-only,.hero-mobile-title-zone,.hero-mobile-final-title,.hero-mobile-middle,.hero-mobile-cta,.hero-mobile-result{box-sizing:border-box!important}
  .hero-mobile-only{max-width:100%!important}
  .hero-mobile-final-title,.hero-mobile-middle,.hero-mobile-cta,.hero-mobile-result{max-width:100%!important}
}
@media(max-width:520px){
  .hero-grid.page-grid,.hero-mobile-only,.hero-mobile-title-zone,.hero-mobile-final-title,.hero-mobile-middle,.hero-mobile-cta{min-width:0!important}
  .hero-grid.page-grid,.hero-mobile-only{inline-size:100%!important}
}
@media(max-width:520px){
  .hero-mobile-final-title{font-size:29px!important}
  .hero-mobile-mac-v40{position:relative!important;z-index:2!important}
}
@media(max-width:390px){.hero-mobile-final-title{font-size:27px!important}}
@media(max-width:375px){.hero-mobile-final-title{font-size:26px!important}}
@media(max-width:520px){
  .hero .hero-mobile-final-title{font-size:29px!important;line-height:.92!important;max-width:none!important}
  .hero-mobile-mac-v40{display:none!important}
  .hero-mobile-middle::after{content:"";display:block!important;grid-column:2!important;width:100%!important;aspect-ratio:1/1;background:url("assets/images/macintosh.webp") center bottom/contain no-repeat;align-self:end!important;justify-self:end!important}
}
@media(max-width:390px){.hero .hero-mobile-final-title{font-size:27px!important}}
@media(max-width:375px){.hero .hero-mobile-final-title{font-size:26px!important}}
