@font-face{font-family:'Inter Tight';font-style:normal;font-weight:400 600;font-display:swap;src:url('assets/fonts/inter-tight-cyrillic-wght-400-600.woff2') format('woff2');unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Inter Tight';font-style:normal;font-weight:400 600;font-display:swap;src:url('assets/fonts/inter-tight-latin-wght-400-600.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--pad:clamp(22px,4vw,76px);--paper:#0b0b0b;--ink:#f2f2f2;--ease-out:cubic-bezier(.23,1,.32,1);--ease-in-out:cubic-bezier(.77,0,.175,1);font-family:'Inter Tight',Arial,sans-serif;font-synthesis:none;background:var(--paper);color:var(--ink)}*{box-sizing:border-box}html{scroll-padding-top:90px}body{margin:0;overflow-x:clip;background:var(--paper);color:var(--ink)}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-weight:400}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit;color:inherit}button{border:0;padding:0;background:none;cursor:pointer}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:disabled{opacity:.4;cursor:default}button,a{min-height:44px}textarea{resize:vertical}button:active,a:active{transform:scale(.98)}[hidden]{display:none!important}:focus-visible{outline:2px solid currentColor;outline-offset:6px}::selection{background:#888;color:#fff}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.js-only{display:none}.js .js-only{display:initial}.skip-link{position:fixed;left:24px;top:12px;padding:14px;background:white;color:black;z-index:150;transform:translateY(-180%)}.skip-link:focus{transform:none}.site-header{position:absolute;top:0;left:0;right:0;z-index:30;height:90px;padding:0 var(--pad);display:flex;justify-content:space-between;align-items:center;color:#f4f4f4;gap:35px}.brand{display:inline-flex;align-items:flex-start;font-size:36px;font-weight:500;letter-spacing:-3px;line-height:1}.brand>span{font-size:8px;letter-spacing:0;margin:2px 0 0 5px}.site-header nav{display:flex;gap:70px;font-size:12px}.site-header a,.site-header button{display:flex;align-items:center}.header-end{display:flex;align-items:center;gap:35px;font-size:12px}.replay{font-size:11px;gap:8px;align-items:center}.replay>span{font-size:18px}.header-contact{gap:30px}.header-contact>span{font-size:22px}.menu-toggle{display:none!important}#mobile-menu{display:none}.section{padding:90px var(--pad)}.section-meta{display:flex;align-items:start;justify-content:space-between;font-size:11px;line-height:1.4;margin-bottom:65px;gap:30px}.section-meta>span:last-child{opacity:.65}.hero{position:relative;min-height:860px;height:100svh;max-height:1200px;padding:130px var(--pad) 40px;overflow:clip}.hero-meta{font-size:10px;display:flex;justify-content:space-between;opacity:.7}.hero h1{position:relative;font-size:clamp(130px,15.7vw,280px);line-height:.84;letter-spacing:-.07em;z-index:3;margin-top:55px;pointer-events:none}.hero h1>span{display:block;transform-origin:left bottom;will-change:transform}.hero-first{padding-left:4.5vw}.hero-last{margin-top:65px;text-align:right;padding-right:7.5vw}.hero-stop{display:inline-block}.hero-sculpture{position:absolute;left:28%;top:12%;width:60%;height:74%;z-index:2;pointer-events:none}.hero-sculpture canvas,.sculpture-fallback{width:100%;height:100%;position:absolute;inset:0}.hero-sculpture.ready .sculpture-fallback{display:none}.hero-side{position:absolute;left:var(--pad);top:48%;z-index:4;max-width:240px;font-size:13px;line-height:1.45}.tiny-index{display:block;font-size:10px;margin-bottom:24px;opacity:.5}.hero-bottom{position:absolute;bottom:92px;left:var(--pad);right:var(--pad);z-index:4;display:grid;grid-template-columns:1fr 1fr 100px;align-items:end;gap:50px}.hero-bottom>p{font-size:15px;line-height:1.45;max-width:220px}.hero-cta{display:flex;align-items:center;justify-content:space-between;max-width:400px;font-size:29px;line-height:1.05;letter-spacing:-.035em;border-bottom:1px solid #777;padding:22px 0;transition:padding .25s var(--ease-out)}.hero-cta>i{font-size:58px;font-style:normal;font-weight:400;line-height:1;transition:transform .25s var(--ease-out)}.hero-scroll{display:flex;align-items:center;flex-direction:column;gap:25px;font-size:10px;opacity:.7}.hero-scroll>i{font-size:24px;font-style:normal}.hero-foot{position:absolute;bottom:25px;left:var(--pad);right:var(--pad);display:flex;justify-content:space-between;font-size:9px;opacity:.5}.value{padding-top:160px;padding-bottom:120px}.value-heading{font-size:clamp(54px,7.2vw,138px);line-height:1.04;letter-spacing:-.06em;font-weight:400}.value-heading em{font-style:normal;display:inline-block;margin-left:22vw}.value-under{display:grid;grid-template-columns:1fr 1.45fr 1fr;gap:70px;margin:80px 0 90px}.value-under p{font-size:26px;line-height:1.25;letter-spacing:-.025em}.value-under p:last-child{font-size:15px;line-height:1.6;letter-spacing:0;max-width:300px}.value-asterisk{font-size:100px;display:block;width:110px;line-height:1;align-self:center}.value-routes{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding-top:35px;border-top:1px solid currentColor}.value-routes a{display:flex;flex-direction:column;align-items:flex-start}.value-routes span{font-size:11px;opacity:.65}.value-routes strong{font-size:35px;font-weight:400;line-height:1.14;letter-spacing:-.04em;margin:27px 0 30px}.value-routes i{font-size:12px;font-style:normal;line-height:1.5;border-bottom:1px solid currentColor;padding-bottom:10px}.value-note{font-size:10px;line-height:1.6;opacity:.65;max-width:570px;margin-top:55px}.process{padding-top:150px;padding-bottom:140px}.process-title{font-size:clamp(66px,7.3vw,144px);line-height:.98;letter-spacing:-.06em}.process-title>span{display:block;margin-left:36vw;margin-top:15px}.process-intro{display:grid;grid-template-columns:1fr 1fr;gap:90px;margin-top:60px;padding-bottom:50px}.process-intro>span{font-size:11px;opacity:.6;align-self:end}.process-intro>p{font-size:23px;line-height:1.35;letter-spacing:-.025em;max-width:430px}.process-track{height:1px;background:color-mix(in srgb,currentColor 22%,transparent);margin-bottom:10px}.process-track>i{display:block;height:1px;width:100%;background:currentColor;transform:scaleX(.2);transform-origin:left;transition:transform .5s var(--ease-out)}.process-steps{list-style:none;margin:0;padding:0}.process-steps li{display:grid;grid-template-columns:1.3fr 1fr;gap:45px;padding:55px 0;border-bottom:1px solid color-mix(in srgb,currentColor 23%,transparent)}.step-index{font-size:55px;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.07em;opacity:.4;transition:opacity .25s}.step-caption{font-size:10px;opacity:.6;display:block;margin:0 0 20px}.process-steps h3{font-size:48px;letter-spacing:-.045em;line-height:1.05;max-width:480px;transition:transform .25s var(--ease-out)}.process-steps p{font-size:16px;line-height:1.6;max-width:340px}.process-steps small{display:block;font-size:11px;line-height:1.5;opacity:.6;margin-top:26px}.process-steps li.active .step-index{opacity:1}.process-outro{display:flex;justify-content:space-between;align-items:end;gap:40px;padding-top:50px}.process-outro>span{font-size:12px;opacity:.65}.process-outro a{font-size:30px;letter-spacing:-.04em;display:flex;gap:70px;align-items:center;padding-bottom:12px;border-bottom:1px solid currentColor}.process-outro i{font-style:normal;font-size:44px}.site-footer{padding:50px var(--pad) 30px;display:grid;grid-template-columns:1fr 1fr auto;gap:35px;border-top:1px solid #444;font-size:11px}.site-footer>div{display:flex;gap:30px;align-items:center}.site-footer>p{opacity:.6;align-self:center}.site-footer small{grid-column:1/-1;opacity:.5;font-size:10px}.site-footer .brand{font-size:30px}.reveal{transition:opacity .6s var(--ease-out),transform .7s var(--ease-out)}.js .reveal:not(.is-visible){opacity:0;transform:translateY(32px)}.js .reveal.is-visible{opacity:1;transform:none}
#fluid-cursor,#cursor-point{position:fixed;left:0;top:0;z-index:100;pointer-events:none;opacity:0}#fluid-cursor{width:144px;height:144px;margin:-72px 0 0 -72px}#fluid-cursor .cursor-surface{position:absolute;inset:0;background:#f3f3f3;border:1px solid #202020;border-radius:47% 53% 51% 49% / 50% 46% 54% 50%}#fluid-cursor .cursor-label{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:#050505;font-size:12px;white-space:nowrap;font-weight:500}#cursor-point{width:4px;height:4px;background:#fff;border:1px solid #222;border-radius:50%;margin:-2px 0 0 -2px}.custom-cursor #fluid-cursor,.custom-cursor .cursor-surface{will-change:transform}.custom-cursor,.custom-cursor a,.custom-cursor button,.custom-cursor summary,.custom-cursor label{cursor:none}.custom-cursor textarea,.custom-cursor input{cursor:text}.no-motion *{animation:none!important;transition:none!important;scroll-behavior:auto!important}.no-motion .reveal{opacity:1!important;transform:none!important}
@media(hover:hover) and (pointer:fine){.hero-cta:hover{padding-left:10px}.hero-cta:hover i{transform:translate(6px,-6px)}.process-steps li:hover h3{transform:translateX(10px)}.site-header a:hover{text-decoration:underline;text-underline-offset:5px}.value-routes a:hover i{transform:translateX(8px)}}
@media(min-width:1600px){.hero h1{margin-top:7vh}.hero-last{margin-top:50px}.hero-side{font-size:16px;top:47%}.hero-bottom{bottom:115px}}
@media(max-width:1100px) and (min-width:801px){.site-header nav{gap:30px}.header-end{gap:20px}.hero{min-height:850px}.hero h1{font-size:16.8vw;margin-top:90px}.hero-last{margin-top:80px;padding-right:1vw}.hero-side{top:47%;font-size:12px;max-width:175px}.hero-sculpture{left:23%;width:75%;top:17%;height:64%}.hero-bottom{grid-template-columns:.8fr 1fr 80px;gap:40px}.hero-cta{font-size:25px}.value-under{gap:35px}.value-under p{font-size:23px}.value-routes{gap:40px}.value-routes strong{font-size:29px}.process-steps{gap:30px}.process-steps h3{font-size:38px}.process-steps p{font-size:14px}}
@media(max-width:800px){:root{--pad:22px}html{scroll-padding-top:30px}.site-header{height:80px;gap:20px}.brand{font-size:32px}.site-header nav,.header-contact,.header-end>.replay{display:none!important}.header-end{gap:20px}.menu-toggle{display:flex!important;width:36px;min-height:44px;flex-direction:column;gap:7px;justify-content:center;align-items:center}.menu-toggle i{height:1px;width:28px;background:#fff;transition:transform .25s}.menu-toggle[aria-expanded=true] i:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] i:last-child{transform:translateY(-4px) rotate(-45deg)}.menu-open{overflow:hidden}.menu-open .site-header{position:fixed}.menu-open #mobile-menu{display:flex}#mobile-menu{position:fixed;inset:0;z-index:29;background:#0b0b0b;color:#f4f4f4;padding:105px 22px 40px;flex-direction:column;overflow:auto}#mobile-menu>a{font-size:30px;letter-spacing:-.04em;padding:22px 0;display:flex;justify-content:space-between;border-top:1px solid #444}#mobile-menu>a>span{font-size:10px;letter-spacing:0;padding-top:7px}#mobile-menu>.replay{display:flex;margin-top:25px;font-size:13px}.hero{min-height:850px;height:100svh;max-height:1050px;padding-top:110px}.hero-meta{font-size:9px}.hero-meta>span:last-child{max-width:120px;text-align:right;line-height:1.5}.hero h1{font-size:23.5vw;line-height:.88;margin-top:55px;letter-spacing:-.065em}.hero-first{padding-left:0}.hero-last{margin-top:245px;padding-right:0;text-align:right}.hero-sculpture{left:-8%;top:20%;width:116%;height:48%}.hero-side{top:36%;left:var(--pad);font-size:10px;max-width:125px}.hero-side .tiny-index{font-size:8px;margin-bottom:15px}.hero-bottom{bottom:75px;grid-template-columns:1fr 1fr;gap:30px}.hero-bottom>p{font-size:11px;line-height:1.5;max-width:130px}.hero-cta{font-size:22px;padding:15px 0;gap:20px}.hero-cta>i{font-size:38px}.hero-scroll{display:none}.hero-foot{font-size:8px;bottom:25px;gap:40px;line-height:1.5}.hero-foot>span:last-child{text-align:right}.section{padding:70px 22px}.section-meta{font-size:9px;margin-bottom:48px;gap:30px}.section-meta>span:last-child{max-width:160px;text-align:right}.value{padding-top:110px;padding-bottom:80px}.value-heading{font-size:10.5vw;line-height:1.05;letter-spacing:-.055em}.value-heading em{margin-left:14vw}.value-under{grid-template-columns:45px 1fr;gap:25px;margin:45px 0 55px}.value-asterisk{font-size:54px;width:45px;align-self:start}.value-under p{font-size:21px;line-height:1.3}.value-under p:last-child{grid-column:2;font-size:13px;line-height:1.6}.value-routes{grid-template-columns:1fr;gap:35px;padding-top:25px}.value-routes a+a{border-top:1px solid currentColor;padding-top:25px}.value-routes span{font-size:10px}.value-routes strong{font-size:28px;margin:20px 0 24px}.value-routes i{font-size:11px}.value-note{font-size:9px;line-height:1.7;margin-top:35px}.process{padding-top:100px;padding-bottom:80px}.process-title{font-size:12.3vw;line-height:1;letter-spacing:-.055em}.process-title>span{margin-left:16vw;margin-top:28px}.process-intro{grid-template-columns:1fr;gap:20px;margin-top:40px;padding-bottom:35px}.process-intro>p{font-size:18px;max-width:300px;margin-left:16vw}.process-intro>span{font-size:10px}.process-steps li{grid-template-columns:1fr;gap:22px 20px;padding:35px 0}.step-index{font-size:35px}.step-caption{font-size:9px;margin-bottom:15px}.process-steps h3{font-size:33px;line-height:1.07}.process-steps li>div:last-child{grid-column:1}.process-steps p{font-size:13px;line-height:1.6}.process-steps small{font-size:10px;margin-top:18px}.process-outro{display:block;padding-top:35px}.process-outro>span{font-size:10px}.process-outro a{font-size:26px;margin-top:25px;justify-content:space-between;gap:25px}.site-footer{padding:35px 22px 25px;grid-template-columns:1fr 1fr;font-size:10px;gap:25px}.site-footer>p{text-align:right;line-height:1.5}.site-footer>div{grid-column:1/-1;justify-content:space-between}.site-footer small{font-size:9px}}
@media(max-width:360px){.hero{min-height:820px}.hero-last{margin-top:240px}.hero-side{top:34%;font-size:9px;max-width:115px}.hero-cta{font-size:20px}.hero-bottom{gap:18px}.hero-cta>i{font-size:31px}.hero-bottom>p{font-size:10px}.value-heading{font-size:10.5vw}.value-under{gap:20px}.value-under p{font-size:19px}.process-steps h3{font-size:29px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}#fluid-cursor,#cursor-point{display:none!important}.reveal{opacity:1!important;transform:none!important}}

@media(max-width:800px){.hero-side{display:none}}

/* During a continuous luminance fade, use full-contrast ink for small copy. */
.theme-changing :is(.hero-meta,.hero-foot,.hero-scroll,.tiny-index,.section-meta>span:last-child,.value-routes span,.value-note,.process-intro>span,.step-caption,.process-steps small,.process-outro>span){opacity:1}
.theme-changing .bottom-flow{--bottom-muted:var(--ink)}
.theme-changing :is(.bottom-title>span,.bottom-contact-title>span,.brief-goal,.brief-message,.faq-question,.faq-answer,.bottom-contact-row>p){color:var(--ink)}
html:not(.js) [data-theme="light"]{background:#f3f3f3;color:#0b0b0b}

.hero-foot,.tiny-index,.site-footer small{opacity:.6}.step-index{opacity:.55}

html:not(.js) .menu-toggle{display:none!important}

.theme-changing .case-heading-row h2 em{opacity:1}

/* Reserve space beneath the large title, including wide, short desktop windows. */
@media(min-width:801px){.hero{min-height:clamp(900px,calc(43vw + 300px),1160px)}}

/* v5 typography-only hero. Load after base.css. All content participates in normal flow. */
#top.hero.hero-type{position:relative;display:flex;flex-direction:column;gap:0;height:auto;min-height:100svh;max-height:none;padding:134px var(--pad) 28px;overflow:clip;background:transparent;color:inherit}
#top .hero-type-meta{display:flex;align-items:baseline;justify-content:space-between;gap:30px;font-size:11px;line-height:1.45;opacity:1;letter-spacing:.01em}
#top h1.hero-type-title{display:grid;gap:16px;position:relative;margin:64px 0 0;padding:0;font-weight:400;font-size:clamp(148px,17.75vw,340px);line-height:.91;letter-spacing:-.065em;z-index:auto;pointer-events:auto}
#top .hero-type-line{display:grid;grid-template-columns:clamp(65px,7.2vw,138px) minmax(0,1fr);align-items:start;position:static;transform:none;will-change:auto;padding:0;min-width:0;transform-origin:initial}
#top .hero-type-who{font-size:clamp(24px,2.7vw,48px);font-weight:400;line-height:1.1;letter-spacing:-.035em;padding-top:.3em;display:block}
#top .hero-type-word{display:block;white-space:nowrap;transform:translateX(0);transition:transform .55s var(--ease-out,cubic-bezier(.23,1,.32,1));transform-origin:left center}
#top .hero-type-line-result{margin-left:14vw;margin-top:0;grid-template-columns:clamp(65px,7.2vw,138px) minmax(0,1fr)}
#top .hero-type-bottom{display:grid;grid-template-columns:.8fr 1.35fr 1fr;gap:clamp(26px,4.5vw,85px);align-items:start;margin-top:64px;position:static;min-width:0}
#top .hero-type-caption{font-size:12px;line-height:1.55;max-width:215px;padding-top:5px;margin:0}
#top .hero-type-lead{font-size:clamp(21px,2vw,33px);line-height:1.23;letter-spacing:-.035em;max-width:520px;margin:0;padding:0}
#top .hero-type-cta{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px 26px;max-width:none;width:100%;min-height:100px;margin:0;padding:0 0 17px;border-bottom:1px solid currentColor;font-size:clamp(26px,2.7vw,43px);line-height:1.05;letter-spacing:-.045em;transition:color .25s,transform .3s var(--ease-out,cubic-bezier(.23,1,.32,1))}
#top .hero-type-cta>span{display:block;transition:transform .35s var(--ease-out,cubic-bezier(.23,1,.32,1))}
#top .hero-type-cta>i{font-family:Arial,sans-serif;font-size:clamp(42px,4.1vw,69px);line-height:1;font-style:normal;font-weight:400;transform:none;transition:transform .35s var(--ease-out,cubic-bezier(.23,1,.32,1))}
#top .hero-type-cta>small{grid-column:1/-1;font-size:10px;line-height:1.4;letter-spacing:0;font-weight:400}
#top .hero-foot.hero-type-foot{position:static;inset:auto;display:flex;justify-content:space-between;align-items:center;gap:40px;border-top:1px solid color-mix(in srgb,currentColor 25%,transparent);margin-top:70px;padding-top:18px;font-size:11px;line-height:1.5;opacity:1}
#top .hero-type-next{display:inline-flex;align-items:center;gap:30px;min-height:44px;padding:6px 0;flex:none}
#top .hero-type-next>i{font-size:23px;font-style:normal;font-family:Arial,sans-serif;transition:transform .35s var(--ease-out,cubic-bezier(.23,1,.32,1))}
#top .hero-type-mobile-break{display:none}
@media(hover:hover) and (pointer:fine){#top .hero-type-line:hover .hero-type-word{transform:translateX(4px)}#top .hero-type-line-result:hover .hero-type-word{transform:translateX(-4px)}#top .hero-type-cta:hover{padding:0 0 17px}#top .hero-type-cta:hover>span{transform:translateX(4px)}#top .hero-type-cta:hover>i{transform:translate(5px,-5px)}#top .hero-type-next:hover>i{transform:translateY(4px)}}
@media(min-width:1700px){#top.hero.hero-type{padding-top:150px;padding-bottom:35px}#top h1.hero-type-title{margin-top:78px;gap:20px}#top .hero-type-bottom{margin-top:78px}#top .hero-foot.hero-type-foot{margin-top:85px}}
@media(min-width:801px) and (max-width:1100px){#top.hero.hero-type{padding-top:126px;padding-bottom:25px}#top h1.hero-type-title{font-size:17.45vw;margin-top:62px;gap:17px}#top .hero-type-line,#top .hero-type-line-result{grid-template-columns:61px minmax(0,1fr)}#top .hero-type-line-result{margin-left:12vw}#top .hero-type-who{font-size:27px}#top .hero-type-bottom{grid-template-columns:.65fr 1.3fr 1fr;gap:27px;margin-top:56px}#top .hero-type-caption{font-size:11px}#top .hero-type-lead{font-size:21px}#top .hero-type-cta{font-size:27px;gap:14px 18px;min-height:98px}#top .hero-type-cta>i{font-size:44px}#top .hero-foot.hero-type-foot{margin-top:55px;font-size:10px}}
@media(max-width:800px){#top.hero.hero-type{height:auto;min-height:100svh;max-height:none;padding:112px var(--pad) 25px}#top .hero-type-meta{font-size:9px;line-height:1.4;gap:25px}#top .hero-type-meta>span:last-child{text-align:right;max-width:120px}#top h1.hero-type-title{font-size:17.8vw;line-height:.96;letter-spacing:-.065em;margin-top:48px;gap:29px}#top .hero-type-line,#top .hero-type-line-result{display:block;grid-template-columns:none;margin:0;padding:0}#top .hero-type-who{font-size:clamp(18px,3.1vw,26px);line-height:1.1;letter-spacing:-.025em;padding:0;margin-bottom:10px}#top .hero-type-line-result{margin-left:12vw;font-size:20.8vw}#top .hero-type-bottom{grid-template-columns:1fr 1fr;align-items:start;gap:36px 28px;margin-top:48px}#top .hero-type-caption{display:none}#top .hero-type-lead{font-size:clamp(18px,2.8vw,23px);line-height:1.3;letter-spacing:-.025em;max-width:none;padding-top:3px}#top .hero-type-cta{font-size:clamp(24px,3.6vw,31px);gap:13px 14px;min-height:95px;padding-bottom:15px}#top .hero-type-cta>i{font-size:40px}#top .hero-type-cta>small{font-size:9px}#top .hero-foot.hero-type-foot{position:static;inset:auto;margin-top:49px;padding-top:14px;font-size:9px;line-height:1.6;gap:28px;align-items:center}#top .hero-type-next{font-size:10px;gap:15px;min-height:44px}#top .hero-type-next>i{font-size:21px}#top .hero-type-mobile-break{display:inline}}
@media(max-width:520px){#top.hero.hero-type{padding-top:108px;padding-bottom:22px}#top h1.hero-type-title{margin-top:52px;gap:26px}#top .hero-type-who{font-size:18px;margin-bottom:9px}#top .hero-type-bottom{grid-template-columns:1fr;gap:30px;margin-top:43px}#top .hero-type-lead{font-size:20px;line-height:1.27;max-width:305px}#top .hero-type-cta{max-width:330px;justify-self:end;width:84%;min-height:90px;font-size:29px;line-height:1.04;gap:13px 25px}#top .hero-type-cta>i{font-size:46px}#top .hero-type-cta>small{font-size:10px}#top .hero-foot.hero-type-foot{margin-top:39px;gap:18px;align-items:center}#top .hero-type-next{gap:13px;font-size:9px}#top .hero-type-next>i{font-size:20px}}
@media(max-width:350px){#top .hero-type-meta{font-size:8px;gap:16px}#top .hero-type-meta>span:last-child{max-width:110px}#top h1.hero-type-title{margin-top:47px;gap:24px}#top .hero-type-bottom{margin-top:38px;gap:28px}#top .hero-type-lead{font-size:19px}#top .hero-type-cta{width:87%;font-size:27px;gap:12px 20px}#top .hero-type-cta>i{font-size:42px}#top .hero-foot.hero-type-foot{margin-top:34px;font-size:8px;gap:12px}#top .hero-type-next{font-size:8px;gap:12px}}
@media(prefers-reduced-motion:reduce){#top.hero-type *{transition:none!important;animation:none!important}}

/* Without the decorative header row, bring the typographic composition forward. */
#top h1.hero-type-title{margin-top:30px}
@media(max-width:800px){#top h1.hero-type-title{margin-top:22px}}
/* Keep the complete opening composition in a laptop viewport. The two staggered
   lines and three lower columns stay in place; short screens reduce type and
   whitespace together. Below 801px the readable, naturally scrolling layout wins. */
@media(min-width:801px){
  #top.hero.hero-type{padding-top:clamp(102px,13.5svh,148px);padding-bottom:clamp(14px,2svh,24px)}
  #top h1.hero-type-title{font-size:clamp(110px,min(17.45vw,calc(44svh - 108px)),340px);margin-top:0;gap:clamp(16px,2svh,22px);flex-shrink:0}
  #top .hero-type-who{font-size:clamp(24px,4.2svh,48px)}
  #top .hero-type-bottom{margin-top:clamp(20px,3.4svh,40px);margin-bottom:clamp(16px,2.2svh,32px);flex-shrink:0}
  #top .hero-type-lead{font-size:clamp(20px,2.7svh,29px)}
  #top .hero-type-cta{font-size:clamp(26px,3.5svh,40px);min-height:90px;gap:8px 22px;padding-bottom:13px}
  #top .hero-type-cta>small{font-size:10px}
  #top .hero-foot.hero-type-foot{margin-top:auto;padding-top:clamp(8px,1.2svh,14px);flex-shrink:0}
}
@media(min-width:801px) and (hover:hover) and (pointer:fine){#top .hero-type-cta:hover{padding-bottom:13px}}

/* elve services: scoped, dependency-free. Typography and --pad may be supplied by the page. */
.service-section{--service-ink:#151515;--service-ease:cubic-bezier(.23,1,.32,1);background:transparent;color:var(--ink,#151515);padding:112px 0 88px;isolation:isolate}
.service-section,.service-section *{box-sizing:border-box}
.service-section h2,.service-section h3,.service-section p,.service-section dl,.service-section dd{margin:0}
.service-section button,.service-section a{-webkit-tap-highlight-color:transparent;touch-action:manipulation;font:inherit;color:inherit}
.service-section button{border:0;border-radius:0;background:none;cursor:pointer}
.service-section a{text-decoration:none}
.service-section :focus-visible{outline:2px solid var(--service-ink);outline-offset:5px}
.service-intro{display:grid;grid-template-columns:1fr 2fr;gap:40px 24px;padding:0 var(--pad,5vw) 76px}
.service-eyebrow{grid-column:1/-1;font-size:13px;line-height:1.4}
.service-intro h2{font-size:clamp(48px,6.8vw,116px);font-weight:400;line-height:.98;letter-spacing:-.065em;grid-column:1/2;white-space:nowrap}
.service-intro h2 em,.service-lead em{font-style:normal;color:inherit;opacity:.65}
.service-intro-copy{align-self:end;justify-self:end;font-size:clamp(15px,1.25vw,20px);line-height:1.5;max-width:360px;padding-bottom:5px}
.service-item{--service-accent:#f1dfb4;position:relative;background:transparent;border-top:1px solid currentColor;transition:background-color .2s var(--service-ease),color .2s var(--service-ease);color:inherit;scroll-margin-top:100px}
.service-item:last-child{border-bottom:1px solid currentColor}
.service-item.is-open{background:#e9e9e9;color:var(--service-ink)}
.service-row-heading{font-weight:400}
.service-trigger{display:grid;grid-template-columns:minmax(0,1fr) auto 42px;align-items:center;gap:24px;width:100%;padding:34px var(--pad,5vw) 30px;text-align:left;position:relative;min-height:166px}
.service-trigger:focus-visible{outline-offset:-8px}
.service-index{align-self:start;font-size:12px;font-weight:400;line-height:1;padding-top:15px;white-space:nowrap}
.service-name{font-size:clamp(48px,6.3vw,104px);font-weight:400;line-height:.97;letter-spacing:-.06em;display:block;overflow-wrap:normal;transition:transform .18s var(--service-ease);transform-origin:left center}
.service-name-long{font-size:clamp(42px,5.2vw,86px)}
.service-promise{font-size:13px;line-height:1.4;letter-spacing:0;display:block;margin-top:16px;font-weight:400}
.service-price{font-size:clamp(17px,1.7vw,28px);letter-spacing:-.035em;white-space:nowrap;font-weight:400;align-self:center}
.service-price small{font-size:.57em;letter-spacing:0;margin-right:3px}
.service-price>span{font-family:Arial,sans-serif;font-size:.87em}
.service-toggle{position:relative;width:38px;height:38px;display:block;transition:transform .16s var(--service-ease)}
.service-toggle i{position:absolute;left:8px;top:18px;width:22px;height:1px;background:currentColor;transition:transform .16s var(--service-ease);display:block}
.service-trigger:active .service-toggle{transform:scale(.94)}
.service-toggle i:last-child{transform:rotate(90deg)}
.service-item.is-open .service-toggle i:last-child{transform:rotate(0deg)}
.service-panel{overflow:hidden;overflow:clip;contain:layout;overflow-anchor:none}
.service-panel[hidden]{display:none!important}
.service-panel-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,6vw,100px);padding:12px var(--pad,5vw) 56px;align-items:start}
.service-art{position:relative;min-width:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-height:382px;padding:24px 0 2px;perspective:900px}
.service-art-caption{font-size:11px;line-height:1.4;letter-spacing:.035em}
.service-sculpture{width:100%;height:auto;overflow:visible;max-height:360px;display:block;transform:rotate(-3deg);transition:transform .28s var(--service-ease)}
.service-art-fold{transform-box:fill-box;transform-origin:center;transition:transform .28s var(--service-ease)}
.service-art-shadow{transform-box:fill-box;transform-origin:center;transition:transform .28s var(--service-ease),opacity .28s var(--service-ease)}
.service-item.is-open .service-art-fold{transform:translateY(-8px)}
.service-item.is-open .service-art-shadow{transform:scale(.94);opacity:.08}
.service-art-note{font-size:15px;line-height:1.45;padding-left:12%;position:relative;max-width:390px}
.service-art-note:before{content:'↳';position:absolute;left:0;top:-6px;font-size:30px;font-family:Arial,sans-serif}
.service-editorial{max-width:640px;padding-top:22px}
.service-lead{font-size:clamp(25px,2.7vw,44px);line-height:1.08;letter-spacing:-.045em;margin-bottom:28px!important;font-weight:400}
.service-lead em{color:inherit}
.service-facts{display:grid;gap:19px}
.service-facts>div{display:grid;grid-template-columns:95px minmax(0,1fr);gap:22px;align-items:start}
.service-facts dt{font-size:11px;line-height:1.5;font-weight:400;padding-top:3px}
.service-facts dd{font-size:clamp(14px,1.04vw,17px);line-height:1.52;max-width:455px}
.service-cta{display:flex;align-items:center;justify-content:space-between;gap:36px;border-bottom:1px solid currentColor;width:max-content;max-width:100%;min-height:48px;font-size:15px;line-height:1.3;margin-top:26px;padding:10px 0}
.service-cta span{font-size:27px;line-height:1;font-family:Arial,sans-serif;transition:transform .18s var(--service-ease)}
.service-cta:focus-visible span{transform:translate(3px,-3px)}
.service-scenarios{display:flex;gap:23px;margin:0 0 23px;flex-wrap:wrap}
.service-scenarios button{min-height:44px;padding:8px 0;border-bottom:1px solid transparent;font-size:13px;position:relative;opacity:.72;transition:opacity .16s,border-color .16s}
.service-scenarios button[aria-pressed="true"]{border-bottom-color:currentColor;opacity:1}
.service-scenarios button:before{content:'+';display:inline-block;width:15px;font-size:15px;transition:transform .18s var(--service-ease)}
.service-scenarios button[aria-pressed="true"]:before{transform:rotate(45deg)}
.service-mini-lift{transition:transform .26s var(--service-ease);transform-box:fill-box;transform-origin:center}
.service-item[data-mini-mode="personal"] .service-mini-lift{transform:translateY(-40px) rotate(-12deg)}
.service-item[data-mini-mode="personal"] .service-sculpture{transform:rotate(4deg)}
.service-price-note{display:grid;grid-template-columns:1fr 2fr;gap:40px;padding:34px var(--pad,5vw) 0;font-size:13px;line-height:1.55;max-width:1230px}
.service-price-note>span{font-size:20px;line-height:1.2;letter-spacing:-.035em}
.service-section[data-service-motion="off"] *,.service-section[data-service-motion="off"] *:before,.service-section[data-service-input="keyboard"] *,.service-section[data-service-input="keyboard"] *:before{transition:none!important;animation:none!important}
@media(hover:hover) and (pointer:fine){.service-cta:hover span{transform:translate(3px,-3px)}.service-trigger:hover .service-name{transform:translateX(7px)}.service-item.is-open:hover .service-art-fold{transform:translateY(-16px) rotate(-2deg)}.service-item.is-open:hover .service-art-shadow{transform:scale(.88);opacity:.065}.service-item.is-open:hover .service-sculpture{transform:rotate(0deg)}.service-item.is-open[data-mini-mode="personal"]:hover .service-sculpture{transform:rotate(4deg)}}
@media(min-width:1800px){.service-trigger{min-height:194px}.service-panel-inner{padding-bottom:76px}.service-art{min-height:440px}.service-sculpture{max-height:400px}}
@media(max-width:1100px){.service-intro{grid-template-columns:1.2fr 1fr}.service-trigger{grid-template-columns:minmax(0,1fr) auto 28px;gap:17px;min-height:145px}.service-name-long{font-size:4.7vw}.service-index{padding-top:8px}.service-price{font-size:19px}.service-toggle{width:28px;height:28px}.service-toggle i{left:4px;top:13px;width:20px}.service-panel-inner{gap:32px;grid-template-columns:1fr 1.13fr}.service-art{min-height:340px}.service-facts>div{grid-template-columns:1fr;gap:3px}.service-facts{gap:15px}.service-facts dt{font-size:10px}.service-facts dd{font-size:14px}.service-lead{font-size:30px}.service-art-note{font-size:14px}}
@media(max-width:760px){.service-section{padding:75px 0 60px}.service-intro{grid-template-columns:1fr;padding-bottom:48px;gap:25px}.service-intro h2{font-size:clamp(48px,10vw,76px);white-space:normal}.service-intro-copy{justify-self:start;font-size:15px}.service-trigger{grid-template-columns:minmax(0,1fr) 27px;gap:12px;padding-top:25px;padding-bottom:24px;min-height:137px;align-items:start}.service-name,.service-name-long{font-size:clamp(32px,6.3vw,48px);line-height:1.02;letter-spacing:-.055em}.service-name-long{overflow-wrap:normal}.service-promise{font-size:11px;line-height:1.4;margin-top:10px;max-width:90%;letter-spacing:0}.service-price{grid-column:1;grid-row:2;font-size:19px;margin-top:0}.service-index{padding-top:6px;font-size:10px}.service-toggle{grid-column:2;grid-row:1;margin-top:1px}.service-panel-inner{grid-template-columns:1fr;gap:25px;padding-top:4px;padding-bottom:38px}.service-art{min-height:0;padding-top:4px;max-width:520px;justify-self:center;width:100%}.service-sculpture{height:230px;max-width:100%;margin:8px auto 0}.service-art-caption{font-size:10px}.service-art-note{font-size:13px;padding-left:36px;max-width:none}.service-art-note:before{font-size:25px;top:-3px}.service-editorial{padding-top:5px;max-width:none}.service-lead{font-size:31px;margin-bottom:24px!important}.service-facts>div{grid-template-columns:80px minmax(0,1fr);gap:14px}.service-facts dt{font-size:10px}.service-facts dd{font-size:14px;line-height:1.5}.service-cta{margin-top:23px;font-size:14px;min-height:48px}.service-price-note{grid-template-columns:1fr;gap:12px;font-size:12px;padding-top:28px}.service-price-note>span{font-size:19px}.service-scenarios{margin-bottom:22px}}
@media(max-width:390px){.service-trigger{gap:9px;grid-template-columns:minmax(0,1fr) 23px}.service-name-long{font-size:30px}.service-name{font-size:38px}.service-name.service-name-long{font-size:30px}.service-promise{max-width:100%;font-size:10px}.service-toggle i{width:17px;left:2px}.service-facts>div{grid-template-columns:1fr;gap:4px}.service-lead{font-size:28px}.service-sculpture{height:210px}.service-intro h2{font-size:47px}}
@media(prefers-reduced-motion:reduce){.service-section *,.service-section *:before{transition:none!important;animation:none!important}}

/* Colour identifies the cursor and its price marker only. */
.service-sculpture{filter:grayscale(1)}
.service-price:before{content:"";display:inline-block;width:12px;height:12px;margin-right:12px;vertical-align:.04em;border-radius:50%;background:var(--service-accent);box-shadow:inset 0 0 0 1px #0002}
.custom-cursor .service-section button{cursor:none}

/* v10: a small text-only disclosure; no illustration column or fixed art height. */
.service-panel-inner{display:block;padding-top:12px;padding-bottom:48px}
.service-editorial{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:clamp(30px,6vw,100px);row-gap:22px;max-width:none;padding-top:16px}
.service-lead{grid-column:1;grid-row:1/3;margin-bottom:0!important;max-width:640px}
.service-summary{grid-column:2;grid-row:1;font-size:clamp(15px,1.15vw,18px);line-height:1.55;max-width:520px;overflow-wrap:break-word}
.service-cta{grid-column:2;grid-row:2;margin-top:0}
.service-scenarios{grid-column:1/-1;margin-bottom:0}
.service-scenarios~.service-lead{grid-row:2/4}
.service-scenarios~.service-summary{grid-row:2}
.service-scenarios~.service-cta{grid-row:3}
@media(min-width:1800px){.service-panel-inner{padding-bottom:60px}}
@media(max-width:760px){.service-panel-inner{padding-top:4px;padding-bottom:36px}.service-editorial{grid-template-columns:minmax(0,1fr);gap:20px;padding-top:5px}.service-editorial>.service-lead,.service-editorial>.service-summary,.service-editorial>.service-cta,.service-editorial>.service-scenarios{grid-column:auto;grid-row:auto}.service-summary{font-size:15px;max-width:520px}.service-cta{margin-top:0}.service-lead{font-size:31px}}

/* v19: feedback stays on the plus/minus; the full-width heading never jumps
   or shrinks under the pointer. Opening is intentional on click/tap. */
.service-trigger:active,.mobile-craft .service-trigger.is-touch-pressed{transform:none!important}
@media(hover:hover) and (pointer:fine){.service-trigger:hover .service-name{transform:none}}

/* Monochrome editorial spreads with original-colour project screenshots and small colour markers. */
.case-section{--case-ease:var(--ease-out,cubic-bezier(.23,1,.32,1));--case-ink:#111;--case-rule:#1114;background:transparent;color:var(--ink,#111);padding:110px 0 0;isolation:isolate}
.case-section,.case-section *{box-sizing:border-box}
.case-section h2,.case-section h3,.case-section p,.case-section dl,.case-section dd{margin:0}
.case-section button,.case-section a{font:inherit;color:inherit;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.case-section button{border:0;background:none;cursor:pointer}.case-section a{text-decoration:none}.case-section :focus-visible{outline:2px solid currentColor;outline-offset:5px}
.custom-cursor .case-section button{cursor:none}.case-section:not(.case-enhanced) .case-index{display:none}
.case-heading-row{display:grid;grid-template-columns:1fr 1fr;gap:38px 55px;padding:0 var(--pad,5vw) 64px}
.case-eyebrow{grid-column:1/-1;font-size:12px;line-height:1.4}
.case-heading-row h2{font-size:clamp(64px,7.1vw,120px);font-weight:400;line-height:.98;letter-spacing:-.065em}
.case-heading-row h2 em{font-style:normal;opacity:.65}
.case-heading-note{align-self:end;justify-self:end;font-size:16px;line-height:1.55;max-width:310px;padding-bottom:5px}
.case-index{display:grid;grid-template-columns:1fr 1fr 1fr;margin:0 var(--pad,5vw);border-top:1px solid currentColor}
.case-tab{display:flex;align-items:center;gap:24px;padding:23px 0 25px;text-align:left;position:relative;min-width:0;min-height:82px;font-size:clamp(20px,2.2vw,35px)!important;line-height:1.1;letter-spacing:-.035em;transition:opacity .25s var(--case-ease)}
.case-tab:not(:first-child){padding-left:30px}.case-tab-label{display:inline-flex;align-items:center;gap:12px;min-width:0}.case-color-dot{display:inline-block;width:8px;height:8px;flex:none;border-radius:50%;background:var(--case-signal,#999);box-shadow:0 0 0 1px #1112}.case-panel-top>span:first-child{display:inline-flex;align-items:center;gap:10px}.case-panel-top .case-color-dot{width:7px;height:7px}.case-tab-number{font-size:10px;line-height:1;letter-spacing:0;align-self:center}
.case-tab i{font-style:normal;margin-left:auto;padding-right:35px;opacity:.45;font-size:25px;transition:transform .35s var(--case-ease),opacity .3s}
.case-tab:last-child i{padding-right:0}.case-tab:after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .4s var(--case-ease)}
.case-tab[aria-selected="true"]:after{transform:scaleX(1)}.case-tab[aria-selected="true"] i{transform:rotate(-45deg);opacity:1}.case-tab:focus-visible{outline-offset:-5px}.case-enhanced .case-tab[aria-selected="false"]{opacity:.65}
.case-stage{position:relative;color:var(--case-ink);transition:background-color .48s var(--case-ease);--case-x:0px;--case-y:0px}
.case-panel{background:var(--case-accent);padding:32px var(--pad,5vw) 54px;position:relative;min-width:0;overflow:hidden;overflow:clip}
.case-panel+.case-panel{border-top:1px solid var(--case-rule)}.case-enhanced .case-stage{display:grid}.case-enhanced .case-panel{grid-area:1/1;background:transparent;visibility:hidden;opacity:0;pointer-events:none;border:0}
.case-enhanced .case-panel.is-active,.case-enhanced .case-panel.is-leaving{visibility:visible}.case-enhanced .case-panel.is-active{opacity:1;pointer-events:auto}
.case-panel-top{display:flex;justify-content:space-between;gap:35px;font-size:10px;line-height:1.5}.case-panel-top>span:last-child{text-align:right}
/* Each title has its own rhythm; every name remains live, selectable text. */
.case-title{position:relative;font-weight:400;letter-spacing:-.075em;line-height:.92;margin:38px 0 42px!important;min-width:0}
.case-title em{font-weight:400;font-style:italic}.case-title-mark{font-size:52px;font-weight:400;letter-spacing:0;font-family:Arial,sans-serif;line-height:1}
.case-title-young{font-size:clamp(96px,12.7vw,210px);line-height:.96;padding-bottom:.055em}
.case-name-young{display:block;width:max-content;max-width:100%;font-weight:500}
.case-name-money{display:block;width:max-content;max-width:72%;margin-left:28%;padding-right:.08em;letter-spacing:-.065em}
.case-title-young .case-title-mark{position:absolute;right:0;top:.12em;font-size:.28em}
.case-title-numeric{display:flex;align-items:flex-end;gap:clamp(30px,5vw,90px);font-size:clamp(170px,23vw,330px);line-height:.8;margin-top:34px!important;margin-bottom:47px!important}
.case-name-year{font-weight:500;font-variant-numeric:tabular-nums;letter-spacing:-.09em;flex:none}
.case-title-aside{display:block;font-size:clamp(16px,1.7vw,27px);font-weight:400;letter-spacing:-.025em;line-height:1.28;padding-bottom:.12em}
.case-title-planner{display:flex;align-items:center;justify-content:space-between;gap:32px;font-size:clamp(100px,17vw,270px);line-height:.88;margin-top:47px!important;margin-bottom:51px!important}
.case-name-planner{display:block;min-width:0;font-weight:500;white-space:nowrap}.case-name-planner em{letter-spacing:-.055em;padding-right:.06em}.case-title-planner .case-title-mark{font-size:.22em;flex:none}
.case-spread{display:grid;grid-template-columns:1.45fr 1fr;gap:clamp(42px,8vw,132px);align-items:start}
.case-visual{min-width:0;position:relative}
.case-project-image{display:block;width:100%;height:auto;object-fit:contain;object-position:top;border-radius:12px;transform:translate3d(var(--case-x),var(--case-y),0);transition:transform .45s var(--case-ease)}
.case-visual-note{font-size:10px;line-height:1.5;color:#484848;margin-top:17px!important;padding-top:12px;border-top:1px solid var(--case-rule)}
.case-facts{padding-top:0;min-width:0;max-width:530px}
.case-lead{font-size:clamp(27px,2.8vw,45px);font-weight:400;line-height:1.06;letter-spacing:-.045em;margin-bottom:32px!important}
.case-lead>span,.case-lead>em{display:block}.case-lead>em{font-style:italic;font-weight:400;margin-top:.05em}
.case-details{display:grid;gap:20px;padding-top:20px;border-top:1px solid var(--case-rule)}
.case-details>div{display:grid;grid-template-columns:74px minmax(0,1fr);gap:22px}.case-details dt{font-size:10px;font-weight:400;line-height:1.6;padding-top:2px}.case-details dd{font-size:15px;line-height:1.55}
.case-context{font-size:12px;line-height:1.6;max-width:365px;margin-top:27px!important;color:#3a3a3a}
.case-link{display:flex;align-items:center;justify-content:space-between;gap:35px;font-size:14px!important;min-height:48px;width:max-content;max-width:100%;border-bottom:1px solid currentColor;margin-top:20px;padding:8px 0}
.case-link span{font-family:Arial,sans-serif;font-size:26px;transition:transform .3s var(--case-ease)}.case-link:hover span{transform:translate(3px,-3px)}
.case-secondary-link{display:flex;align-items:center;width:max-content;max-width:100%;font-size:12px!important;min-height:44px;line-height:1.4;margin-top:8px;text-decoration:underline!important;text-underline-offset:4px}
/* The supplied screenshot stays unmodified; the frame shows only the application area. */
.case-planner-frame{position:relative;width:100%;aspect-ratio:1704/856;overflow:hidden;border-radius:12px;transform:translate3d(var(--case-x),var(--case-y),0);transition:transform .45s var(--case-ease);background:#f5f6fb}
.case-planner-frame>.case-project-image{position:absolute;width:116.4319%;max-width:none;height:auto;left:-7.7465%;top:-30.3738%;border-radius:0;transform:none;transition:none}
.case-section[data-case-motion="off"] *,.case-section[data-case-motion="off"] *:after{transition:none!important;animation:none!important}
@media(max-width:1050px){.case-heading-row{gap:30px}.case-spread{grid-template-columns:1.1fr 1fr;gap:40px}.case-tab{gap:15px;padding-top:20px;padding-bottom:22px}.case-tab:not(:first-child){padding-left:20px}.case-tab i{padding-right:20px;font-size:22px}.case-details>div{grid-template-columns:1fr;gap:5px}.case-lead{font-size:31px}.case-art{height:290px}.case-planner-copy{top:27%;font-size:6.5vw}.case-context{margin-top:21px!important}.case-title{margin-bottom:35px!important}.case-title-young{font-size:13vw}.case-title-numeric{font-size:24vw;gap:40px}.case-title-planner{font-size:17vw}}
@media(max-width:760px){.case-section{padding-top:80px}.case-heading-row{grid-template-columns:1fr;gap:24px;padding-bottom:35px}.case-eyebrow{font-size:10px}.case-heading-row h2{font-size:clamp(52px,11vw,82px)}.case-heading-note{justify-self:start;align-self:start;font-size:14px;line-height:1.45}.case-index{gap:8px;grid-template-columns:1.35fr .8fr 1fr}.case-tab{font-size:16px!important;min-height:78px;gap:6px;flex-wrap:wrap;align-content:center;padding:15px 0}.case-tab:not(:first-child){padding-left:7px}.case-tab-number{font-size:9px;width:100%;padding-bottom:4px}.case-tab-label{gap:7px}.case-tab-label .case-color-dot{width:6px;height:6px}.case-tab i{display:none}.case-panel{padding-top:25px;padding-bottom:38px}.case-panel-top{font-size:10px;gap:20px}.case-panel-top>span:last-child{max-width:145px}.case-title{margin-top:30px!important;margin-bottom:31px!important}.case-title-young{font-size:clamp(76px,21.5vw,135px);line-height:.86}.case-name-money{margin-left:18%;max-width:82%}.case-title-young .case-title-mark{font-size:.28em;top:.15em}.case-title-numeric{font-size:clamp(112px,30vw,190px);line-height:.8;gap:clamp(22px,6vw,45px);margin-top:32px!important;margin-bottom:34px!important}.case-title-aside{font-size:clamp(12px,3vw,17px);line-height:1.3}.case-title-planner{font-size:clamp(60px,17.7vw,108px);line-height:.9;gap:16px;margin-top:36px!important;margin-bottom:36px!important}.case-title-planner .case-title-mark{font-size:.28em}.case-spread{grid-template-columns:1fr;gap:34px}.case-visual{width:100%;max-width:560px}.case-facts{max-width:none}.case-lead{font-size:34px;margin-bottom:25px!important}.case-details{padding-top:18px}.case-details>div{grid-template-columns:75px minmax(0,1fr);gap:16px}.case-details dd{font-size:14px}.case-context{font-size:12px;max-width:400px}.case-link{font-size:13px!important;margin-top:18px;gap:25px}.case-visual-note{font-size:10px;margin-top:15px!important;padding-top:10px}.case-art{height:clamp(230px,56vw,340px)}.case-art-caption{font-size:10px}.case-planner-p{font-size:clamp(270px,72vw,440px);top:0;left:2%}.case-planner-copy{font-size:clamp(53px,13.2vw,82px);left:27%;top:26%}.case-planner-line{top:78%;left:28%;width:68%}}
@media(max-width:380px){.case-tab{font-size:14px!important}.case-tab:not(:first-child){padding-left:3px}.case-heading-row h2{font-size:50px}.case-panel-top{font-size:9px}.case-title-young{font-size:72px}.case-name-money{margin-left:14%;max-width:86%}.case-title-numeric{font-size:112px;gap:24px}.case-title-aside{font-size:12px}.case-title-planner{font-size:60px;gap:10px}.case-lead{font-size:30px}.case-details>div{grid-template-columns:1fr;gap:4px}.case-planner-copy{font-size:46px;left:25%;top:29%}}
@media(prefers-reduced-motion:reduce){.case-section *,.case-section *:after{animation:none!important;transition:none!important}}

/* Markers stay beside project names; duplicated top captions are removed. */
.case-title>.case-title-dot{position:absolute;right:0;top:-12px;width:8px;height:8px}

/* Enhanced cases share the same paper/ink as the adjoining process section.
   No independent background transition: one surface follows scrolling both ways. */
.case-section.case-enhanced{--case-ink:var(--ink,#111);--case-rule:color-mix(in srgb,var(--case-ink) 26%,transparent)}
.case-enhanced .case-visual-note{color:inherit;opacity:.7}
.case-enhanced .case-context{color:inherit;opacity:.76}
.theme-changing .case-enhanced :is(.case-visual-note,.case-context){opacity:1}

/* elve v4 conversion finale. All selectors are scoped; no host typography resets. */
.bottom-flow{--bottom-bg:#0a0a0a;--bottom-fg:var(--ink,#f7f7f7);--bottom-muted:#aaa;--bottom-line:#454545;--bottom-pad:clamp(22px,4.2vw,84px);--bottom-ease:cubic-bezier(.22,.75,.16,1);background:transparent;color:var(--bottom-fg);font-family:inherit;position:relative}
.bottom-flow *{box-sizing:border-box}.bottom-flow [hidden]{display:none!important}.bottom-flow button,.bottom-flow textarea,.bottom-flow input{font:inherit;color:inherit}.bottom-flow button,.bottom-flow a,.bottom-flow label,.bottom-flow summary{-webkit-tap-highlight-color:transparent;touch-action:manipulation}.bottom-flow button,.bottom-flow a{min-height:44px}.bottom-flow button{cursor:pointer}.bottom-flow button:disabled{cursor:default;opacity:.4}.bottom-flow a{color:inherit;text-decoration:none}.bottom-flow :focus-visible{outline:2px solid var(--bottom-fg);outline-offset:6px}.bottom-flow h2,.bottom-flow h3,.bottom-flow p{margin:0}.bottom-flow h2,.bottom-flow h3{font-weight:400}.bottom-section{padding:clamp(80px,8vw,140px) var(--bottom-pad);position:relative;scroll-margin-top:25px}.bottom-brief{padding-bottom:80px}.bottom-anchor{position:absolute;top:0;left:0}.bottom-eyebrow{display:flex;justify-content:space-between;gap:35px;border-top:1px solid var(--bottom-line);padding-top:20px;margin-bottom:75px;font-size:12px;line-height:1.5;color:var(--bottom-muted)}.bottom-eyebrow>span:last-child{text-align:right}.bottom-heading-row{display:grid;grid-template-columns:1.35fr 1fr;gap:8vw;align-items:end;margin-bottom:95px}.bottom-title{font-size:clamp(60px,7vw,118px);line-height:.99;letter-spacing:-.06em}.bottom-title>span{color:#999}.bottom-intro{font-size:18px;line-height:1.65;max-width:400px;padding-bottom:5px}.brief-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:9vw;align-items:start}.brief-fields{min-width:0}.brief-step{border:0;padding:0 0 70px;margin:0 0 55px;min-width:0;border-bottom:1px solid var(--bottom-line)}.brief-step legend{padding:0;display:flex;align-items:baseline;gap:18px;font-size:26px;line-height:1.2;letter-spacing:-.025em;float:left;width:100%;margin-bottom:20px}.brief-step legend+*{clear:both}.brief-step-number{font-size:11px;letter-spacing:0;color:var(--bottom-muted);width:22px;flex:none}.brief-step-note{font-size:14px;line-height:1.6;color:var(--bottom-muted);display:block;margin:0 0 30px!important;max-width:400px}.brief-goals{display:flex;flex-direction:column;gap:5px;margin-left:0}.brief-goal,.brief-format{position:relative;cursor:pointer;display:flex;align-items:center;min-height:56px}.brief-goal input,.brief-format input{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden;white-space:nowrap}.brief-goal{font-size:clamp(27px,2.6vw,43px);line-height:1.2;letter-spacing:-.04em;padding:12px 0;gap:24px;color:#999}.brief-goal>span{position:relative}.brief-goal>span:after{content:'';position:absolute;left:0;right:0;bottom:-7px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .35s var(--bottom-ease)}.brief-goal>i{font-size:25px;font-style:normal;opacity:0;transform:translate(-8px,8px);transition:opacity .25s,transform .35s var(--bottom-ease)}.brief-goal:hover,.brief-goal:has(input:checked){color:var(--bottom-fg)}.brief-goal:has(input:checked)>span:after{transform:scaleX(1)}.brief-goal:has(input:checked)>i{opacity:1;transform:none}.brief-goal:has(input:focus-visible),.brief-format:has(input:focus-visible){outline:2px solid var(--bottom-fg);outline-offset:6px}.brief-formats{margin-left:0}.brief-format{gap:20px;border-top:1px solid #333;padding:20px 0;min-height:75px;transition:color .2s,background .25s}.brief-format:last-child{border-bottom:1px solid #333}.brief-format-name{font-size:22px;letter-spacing:-.025em;line-height:1.25;flex:1;min-width:0}.brief-format-price{font-size:13px;white-space:nowrap;color:var(--bottom-muted);letter-spacing:0}.brief-format>i{width:18px;font-size:19px;font-style:normal;opacity:0;transform:translateX(-6px);transition:opacity .25s,transform .35s var(--bottom-ease)}.brief-format:has(input:checked){background:#1b1b1b;padding-left:14px;padding-right:14px;margin-left:-14px;margin-right:-14px}.brief-format:has(input:checked)>i{opacity:1;transform:none}.brief-format:hover .brief-format-name{color:#fff;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}.brief-format-unknown .brief-format-name{font-size:19px}.brief-format-unknown .brief-format-price{font-size:11px}.brief-price-note{font-size:12px;line-height:1.6;color:var(--bottom-muted);margin:24px 0 0!important;max-width:400px}.brief-thought{margin-bottom:0;border-bottom:0;padding-bottom:0}.brief-thought .brief-step-note{max-width:430px}.brief-idea{display:block;border:0;border-bottom:1px solid #777;background:transparent;color:var(--bottom-fg);font-size:clamp(25px,2.7vw,43px)!important;line-height:1.3;letter-spacing:-.035em;resize:vertical;min-height:190px;max-height:700px;margin-left:0;width:100%;padding:0 0 20px;border-radius:0}.brief-idea::placeholder{color:#808080;opacity:1}.brief-field-foot{margin:18px 0 0;display:flex;gap:20px;justify-content:space-between;align-items:start;font-size:11px;line-height:1.5;color:var(--bottom-muted)}.brief-field-foot>span{white-space:nowrap}.brief-result{position:relative;top:0;min-width:0;padding-left:36px;border-left:1px solid var(--bottom-line)}.brief-result-label{display:flex;justify-content:space-between;gap:20px;align-items:center;color:var(--bottom-muted);font-size:11px;margin-bottom:30px}.brief-result-label>span:last-child{font-size:24px;color:var(--bottom-fg)}.brief-result h3{font-size:clamp(32px,3.3vw,55px);line-height:1.08;letter-spacing:-.045em;margin-bottom:40px}.brief-only-js{display:none}.bottom-flow[data-bottom-ready="true"] .brief-only-js{display:block}.brief-message-label{font-size:10px;letter-spacing:.025em;text-transform:uppercase;color:var(--bottom-muted);margin-bottom:20px!important}.brief-message{font-size:16px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;max-height:none;overflow:visible;min-height:105px;padding:0 5px 0 0;color:#ddd;scrollbar-width:thin}.brief-message:focus-visible{outline-offset:8px}.brief-message[data-empty="true"]{color:#999}.brief-estimate{font-size:13px;line-height:1.6;margin-top:25px!important;color:var(--bottom-muted)}.brief-estimate strong{font-size:24px;font-weight:400;color:var(--bottom-fg);letter-spacing:-.02em;display:block;margin-top:6px}.brief-tools{display:flex;gap:25px;flex-wrap:wrap;margin:22px 0 35px}.brief-tool{border:0;background:none;color:var(--bottom-fg);padding:8px 0;display:inline-flex;align-items:center;gap:15px;font-size:12px!important;line-height:1.3;border-bottom:1px solid #666;min-height:44px}.brief-tool:not(:disabled):hover{border-bottom-color:#fff}.brief-tool>span{font-size:16px}.brief-telegram{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:62px!important;background:var(--bottom-fg);color:var(--bottom-bg)!important;border:1px solid var(--bottom-fg);padding:18px 22px;font-size:16px;line-height:1.3;border-radius:0;transition:background .25s,color .25s}.brief-telegram>span{font-size:26px;transition:transform .35s var(--bottom-ease)}.brief-telegram:hover{background:#ccc}.brief-telegram:hover>span{transform:translate(3px,-3px)}.brief-contact-note{font-size:12px;line-height:1.65;color:var(--bottom-muted);margin-top:18px!important}.brief-feedback{font-size:12px;line-height:1.5;min-height:36px;margin-top:15px!important;color:var(--bottom-fg)}.bottom-faq{padding-top:65px;padding-bottom:70px}.faq-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:9vw;align-items:start}.faq-title{position:sticky;top:50px;font-size:clamp(45px,5.4vw,90px)}.faq-list{min-width:0}.faq-item{border-top:1px solid var(--bottom-line)}.faq-item:last-child{border-bottom:1px solid var(--bottom-line)}.faq-question{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:28px 0;min-height:110px;font-size:clamp(25px,2.65vw,43px);line-height:1.13;letter-spacing:-.035em;color:#bbb}.faq-question::-webkit-details-marker{display:none}.faq-question>span{min-width:0}.faq-question>i{display:block;width:24px;height:24px;position:relative;flex:none;color:var(--bottom-fg);transition:transform .35s var(--bottom-ease)}.faq-question>i:before,.faq-question>i:after{content:'';position:absolute;width:20px;height:1px;background:currentColor;top:11px;left:2px}.faq-question>i:after{transform:rotate(90deg)}.faq-question:hover,.faq-item[open]>.faq-question{color:var(--bottom-fg)}.faq-item[data-faq-expanded="true"]>.faq-question>i,.faq-item:not([data-faq-expanded])[open]>.faq-question>i{transform:rotate(45deg)}.faq-panel{overflow:clip}.faq-answer{padding:0 55px 32px 0;font-size:16px;line-height:1.75;color:#bdbdbd;max-width:590px}.bottom-contact{padding-top:65px;padding-bottom:65px}.bottom-contact-title{font-size:clamp(70px,9.6vw,164px);line-height:1;letter-spacing:-.065em}.bottom-contact-title>span{color:#999}.bottom-contact-row{display:grid;grid-template-columns:.75fr 1.25fr;gap:9vw;align-items:end;margin-top:75px}.bottom-contact-row>p{font-size:18px;line-height:1.6;color:#ccc;padding-bottom:10px}.bottom-contact-link{display:flex;justify-content:space-between;gap:35px;align-items:center;border-bottom:1px solid #777;padding:0 0 25px;font-size:clamp(40px,5vw,84px);line-height:1.06;letter-spacing:-.045em}.bottom-contact-link>i{font-size:clamp(55px,7vw,110px);line-height:1;font-style:normal;transition:transform .45s var(--bottom-ease)}.bottom-contact-link:hover>i{transform:translate(8px,-8px)}.bottom-contact-link:hover{border-bottom-color:#fff}.bottom-contact-foot{display:flex;justify-content:space-between;gap:25px;margin-top:65px;padding-top:25px;border-top:1px solid var(--bottom-line);align-items:center;font-size:13px;color:var(--bottom-muted)}.bottom-contact-foot>a{display:flex;align-items:center;gap:15px}.bottom-contact-foot>a:first-child{font-size:18px;color:var(--bottom-fg)}
@media(max-width:1100px){.brief-layout{grid-template-columns:1.2fr 1fr;gap:6vw}.brief-result{padding-left:25px}.brief-format{gap:12px}.brief-format-name{font-size:20px}.brief-format-price{font-size:12px}.brief-format-unknown .brief-format-price{font-size:10px}.brief-goals,.brief-formats{margin-left:0}.brief-price-note,.brief-step-note{margin-left:0!important}.brief-idea{margin-left:0;width:100%}.brief-field-foot{margin-left:0}.faq-layout,.bottom-contact-row{gap:6vw}.brief-step legend{font-size:24px}.brief-goal{font-size:30px}.brief-tools{gap:18px}.brief-telegram{font-size:14px;padding:17px}.bottom-intro{font-size:16px}}
@media(max-width:800px){.bottom-section{padding:75px 22px}.bottom-eyebrow{font-size:10px;margin-bottom:45px;gap:30px;padding-top:17px}.bottom-eyebrow>span:last-child{max-width:150px}.bottom-heading-row{grid-template-columns:1fr;gap:28px;margin-bottom:65px}.bottom-title{font-size:clamp(48px,11.8vw,78px);line-height:1.03}.bottom-intro{font-size:16px;line-height:1.6;max-width:440px}.brief-layout{grid-template-columns:1fr;gap:60px}.brief-step{padding-bottom:40px;margin-bottom:40px}.brief-step legend{font-size:23px;gap:14px;margin-bottom:17px}.brief-step-number{font-size:10px;width:17px}.brief-step-note{font-size:13px;max-width:370px;margin-bottom:24px!important}.brief-goals{gap:5px}.brief-goal{font-size:clamp(27px,6.8vw,42px);min-height:62px;padding:13px 0;gap:16px}.brief-goal>i{font-size:22px}.brief-format{min-height:74px;padding:18px 0;gap:12px}.brief-format-name{font-size:21px}.brief-format-price{font-size:13px}.brief-format>i{width:16px;font-size:18px}.brief-format:has(input:checked){margin-left:-10px;margin-right:-10px;padding-left:10px;padding-right:10px}.brief-format-unknown .brief-format-name{font-size:19px}.brief-format-unknown .brief-format-price{font-size:10px}.brief-price-note{font-size:11px;max-width:390px;margin-top:20px!important}.brief-thought{border:0;margin-bottom:0;padding-bottom:0}.brief-idea{font-size:30px!important;min-height:180px}.brief-field-foot{font-size:10px}.brief-result{position:relative;top:0;padding:30px 0 0;border-left:0;border-top:1px solid var(--bottom-line)}.brief-result-label{margin-bottom:22px}.brief-result h3{font-size:clamp(36px,8vw,52px);margin-bottom:30px}.brief-result h3 br:last-child{display:none}.brief-message{font-size:15px;max-height:none;min-height:0}.brief-message-label{font-size:10px;margin-bottom:16px!important}.brief-tools{gap:25px;margin-bottom:28px}.brief-tool{font-size:12px!important}.brief-telegram{min-height:62px!important;padding:17px 20px;font-size:16px}.brief-contact-note{font-size:12px}.brief-feedback{font-size:12px}.bottom-faq{padding-top:35px;padding-bottom:35px}.faq-layout{grid-template-columns:1fr;gap:40px}.faq-title{position:relative;top:0;font-size:clamp(46px,11.8vw,70px)}.faq-question{font-size:clamp(25px,6.3vw,36px);min-height:105px;padding:24px 0;gap:20px}.faq-question>i{width:20px;height:20px}.faq-question>i:before,.faq-question>i:after{width:18px;left:1px;top:9px}.faq-answer{font-size:15px;line-height:1.7;padding:0 25px 28px 0;max-width:500px}.bottom-contact{padding-top:35px;padding-bottom:40px}.bottom-contact-title{font-size:clamp(49px,10.6vw,82px);line-height:1.04;letter-spacing:-.055em}.bottom-contact-row{grid-template-columns:1fr;gap:40px;margin-top:35px}.bottom-contact-row>p{font-size:16px}.bottom-contact-link{font-size:clamp(40px,10vw,65px);padding-bottom:22px;gap:20px}.bottom-contact-link>i{font-size:70px}.bottom-contact-foot{margin-top:40px;padding-top:20px;display:flex;flex-wrap:wrap;gap:12px 25px;font-size:11px}.bottom-contact-foot>a:first-child{font-size:16px}.bottom-contact-foot>a:last-child{font-size:11px}.bottom-contact-foot>a{min-height:44px}}
@media(max-width:370px){.bottom-section{padding-left:18px;padding-right:18px}.bottom-eyebrow{font-size:9px;gap:20px}.bottom-title{font-size:48px}.brief-step legend{font-size:21px}.brief-goal{font-size:26px}.brief-format{flex-wrap:wrap;gap:6px 15px;padding:17px 0}.brief-format-name{flex-basis:calc(100% - 34px);font-size:21px}.brief-format>i{position:absolute;right:0;top:20px}.brief-format:has(input:checked)>i{right:10px}.brief-format-price{font-size:12px;width:100%}.brief-format-unknown .brief-format-price{font-size:11px}.brief-idea{font-size:27px!important}.brief-tools{gap:20px}.brief-tool{font-size:11px!important;gap:10px}.brief-telegram{font-size:14px;padding:17px 15px}.brief-result h3{font-size:34px}.faq-question{font-size:25px}.faq-answer{font-size:14px;padding-right:12px}.bottom-contact-title{font-size:46px}.bottom-contact-link{font-size:39px}.bottom-contact-link>i{font-size:58px}.bottom-intro{font-size:15px}}
@media(prefers-reduced-motion:reduce){.bottom-flow *,.bottom-flow *:before,.bottom-flow *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.bottom-contact-link:hover>i,.brief-telegram:hover>span{transform:none}}
.bottom-flow[data-bottom-motion="off"] *,.bottom-flow[data-bottom-motion="off"] *:before,.bottom-flow[data-bottom-motion="off"] *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}

/* A short 2D handoff. Only opacity and transforms animate; artwork stays static. */
.intro-v14{position:fixed;inset:0;z-index:90;background:#080808;color:#f4f4f4;overflow:hidden;isolation:isolate;font-family:Arial,sans-serif}
.intro-v14[hidden]{display:none!important}
.intro-v14-shield{position:absolute;inset:0;display:grid;place-items:center}
.intro-v14-scene{display:block;width:min(640px,88vw);height:auto;max-height:65vh;overflow:visible}
.intro-v14-top,.intro-v14-bottom{position:absolute;left:var(--pad,4vw);right:var(--pad,4vw);display:flex;justify-content:space-between;align-items:center;font-size:12px;line-height:1.3}
.intro-v14-top{top:max(30px,env(safe-area-inset-top));pointer-events:none}
.intro-v14-brand{font-size:38px;line-height:1;letter-spacing:-3px;font-weight:600}
.intro-v14-top>#intro-step{max-width:250px;text-align:right;color:#aaa}
.intro-v14-bottom{bottom:max(30px,env(safe-area-inset-bottom));justify-content:flex-end;pointer-events:none}
.intro-v14 #skip-intro{font:inherit;color:inherit;border:1px solid #777;background:#080808;padding:13px 17px;min-height:44px;cursor:pointer;display:flex;gap:30px;align-items:center;pointer-events:auto}
.intro-v14 #skip-intro>span{font-size:19px;line-height:1}
.intro-v14 #skip-intro:focus-visible{outline:2px solid #fff;outline-offset:4px}
.intro-v14-screen-brand{font:400 64px Arial,sans-serif;letter-spacing:-5px;fill:#f1f1f1}
.intro-v14-product{opacity:0;transform:translateY(12px)}
.intro-v14.is-playing{animation:iv14-exit var(--intro-duration,1350ms) linear both;will-change:opacity}
.intro-v14.is-playing .intro-v14-idea{animation:iv14-idea var(--intro-duration,1350ms) cubic-bezier(.2,.7,.3,1) both;will-change:opacity,transform}
.intro-v14.is-playing .intro-v14-product{animation:iv14-product var(--intro-duration,1350ms) cubic-bezier(.2,.7,.3,1) both;will-change:opacity,transform}
@keyframes iv14-idea{0%{opacity:0;transform:translateY(6px)}14%,27%{opacity:1;transform:translateY(0)}45%,100%{opacity:0;transform:translateY(-8px)}}
@keyframes iv14-product{0%,30%{opacity:0;transform:translateY(12px)}58%,100%{opacity:1;transform:translateY(0)}}
@keyframes iv14-exit{0%,78%{opacity:1}100%{opacity:0}}
@media(hover:hover) and (pointer:fine){.intro-v14 #skip-intro:hover{background:#eee;color:#080808}}
@media(max-width:800px){.intro-v14-top{top:max(23px,env(safe-area-inset-top))}.intro-v14-brand{font-size:34px}.intro-v14-top>#intro-step{font-size:10px;max-width:165px}.intro-v14-bottom{bottom:max(22px,env(safe-area-inset-bottom))}.intro-v14 #skip-intro{font-size:11px;gap:20px;padding:12px 14px}}
@media(prefers-reduced-motion:reduce){.intro-v14{display:none!important}}

/* v15: the small screen cursor becomes the luminous handoff to the real page. */
.intro-v14{background:transparent}
.intro-backdrop{position:absolute;inset:0;background:#080808}
.intro-orb{position:absolute;left:50%;top:50%;width:24px;height:24px;margin:-12px;border-radius:50%;background:#fff;opacity:0;z-index:2;pointer-events:none}
.intro-v14-top,.intro-v14-bottom{z-index:4}
.intro-v14-idea{display:none}
.intro-v14.is-playing{animation:none}
.intro-v14.is-playing .intro-v14-product{animation:iv15-mac var(--intro-duration) ease both}
.intro-v14.is-playing .intro-backdrop{animation:iv15-backdrop var(--intro-duration) linear both}
.intro-v14.is-playing .intro-orb{animation:iv15-orb var(--intro-duration) cubic-bezier(.22,.8,.3,1) both;will-change:transform,opacity}
@keyframes iv15-mac{0%{opacity:0;transform:translateY(12px)}12%,43%{opacity:1;transform:translateY(0)}64%,100%{opacity:0;transform:translateY(-8px)}}
@keyframes iv15-backdrop{0%,48%{opacity:1}83%,100%{opacity:0}}
@keyframes iv15-orb{0%,17%{opacity:0;transform:translate(34px,26px) scale(.55)}27%{opacity:1;transform:translate(0,0) scale(1)}34%{opacity:1;transform:translate(-3px,-7px) scale(1.25,.8)}43%{opacity:1;transform:translate(0,0) scale(.9,1.12)}54%{opacity:.94;transform:scale(2)}83%{opacity:.1;transform:scale(var(--orb-expand))}100%{opacity:0;transform:scale(var(--orb-expand))}}
.intro-v14.is-playing .intro-v14-top{animation:iv15-chrome var(--intro-duration) linear both}
@keyframes iv15-chrome{0%,43%{opacity:1}59%,100%{opacity:0}}

/* Original compact SVG marks. Include after all component CSS. */
.elve-ui-icon{
  --icon-size:24px;--icon-dx:2px;--icon-dy:-2px;--icon-turn:-5deg;
  display:inline-grid!important;place-items:center;flex:0 0 auto;
  width:var(--icon-size)!important;height:var(--icon-size)!important;
  min-width:0;min-height:0;padding:0!important;line-height:0!important;
  font-size:0!important;font-style:normal;letter-spacing:0;
  vertical-align:middle;pointer-events:none;transform:none!important;
  transition:opacity 180ms ease!important;
}
.elve-ui-icon>.elve-ui-icon-svg{display:block;width:100%;height:100%;overflow:visible;transform-origin:50% 50%;pointer-events:none}
.elve-ui-icon--inline{--icon-size:20px;margin-inline-start:5px}
.elve-ui-icon--arrow-se{--icon-dx:2px;--icon-dy:2px;--icon-turn:5deg}
.elve-ui-icon--arrow-sw{--icon-dx:-2px;--icon-dy:2px;--icon-turn:-5deg}
.elve-ui-icon--arrow-nw{--icon-dx:-2px;--icon-dy:-2px;--icon-turn:5deg}
.elve-ui-icon--arrow-e{--icon-dx:3px;--icon-dy:0px;--icon-turn:-4deg}
.elve-ui-icon--arrow-w{--icon-dx:-3px;--icon-dy:0px;--icon-turn:4deg}
.elve-ui-icon--arrow-n{--icon-dx:0px;--icon-dy:-3px;--icon-turn:-4deg}
.elve-ui-icon--arrow-s,.elve-ui-icon--download{--icon-dx:0px;--icon-dy:3px;--icon-turn:0deg}
.elve-ui-icon--chat{--icon-dx:0px;--icon-dy:-1px;--icon-turn:-6deg}
.elve-ui-icon--copy{--icon-dx:1px;--icon-dy:-1px;--icon-turn:3deg}
.elve-ui-icon--replay{--icon-dx:0px;--icon-dy:0px;--icon-turn:-23deg}
.site-header .replay>.elve-ui-icon{--icon-size:22px}
.site-header .header-contact>.elve-ui-icon{--icon-size:24px}
.site-header .replay{gap:8px}.site-header .header-contact{gap:12px}
#mobile-menu .elve-ui-icon{--icon-size:24px;margin-inline-start:8px}
#top .hero-type-cta>.elve-ui-icon{--icon-size:34px;justify-self:end;align-self:center}
#top .hero-type-next>.elve-ui-icon,.hero-scroll>.elve-ui-icon{--icon-size:23px}
.value-routes a>i{display:inline-flex;align-items:center;gap:8px}
.value-routes a>i>.elve-ui-icon{--icon-size:21px;margin-inline-start:0}
.service-cta>.elve-ui-icon,.case-link>.elve-ui-icon{--icon-size:24px}
.case-tab>.elve-ui-icon{--icon-size:22px;margin-inline-start:auto;margin-inline-end:26px;opacity:.65}
.case-tab:last-child>.elve-ui-icon{margin-inline-end:8px}
.case-tab[aria-selected="true"]>.elve-ui-icon{transform:rotate(-45deg)!important;opacity:1}
.case-title>.elve-ui-icon{--icon-size:32px;align-self:start;margin-top:8px;opacity:.8}
.case-title-young>.case-title-mark.elve-ui-icon{top:8px;right:0;margin-top:0}
.process-outro a>.elve-ui-icon{--icon-size:28px}
.brief-goal>.elve-ui-icon,.brief-format>.elve-ui-icon{--icon-size:21px}
.brief-goal input:checked~.elve-ui-icon,.brief-format input:checked~.elve-ui-icon{opacity:1}
.brief-tool>.elve-ui-icon{--icon-size:20px}
.brief-result-label>.elve-ui-icon{--icon-size:22px}
.brief-telegram>.elve-ui-icon{--icon-size:24px}
.bottom-contact-link>.elve-ui-icon{--icon-size:40px;align-self:center}
.bottom-contact-foot .elve-ui-icon,.site-footer .elve-ui-icon{--icon-size:20px}
#skip-intro>.elve-ui-icon{--icon-size:22px}
@keyframes elve-icon-response{
  0%,100%{transform:translate(0,0) rotate(0)}
  42%{transform:translate(var(--icon-dx),var(--icon-dy)) rotate(var(--icon-turn))}
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  :is(a,button,label):not(:disabled):hover .elve-ui-icon>.elve-ui-icon-svg{animation:elve-icon-response 360ms cubic-bezier(.22,.75,.2,1) 1}
}
@media(prefers-reduced-motion:no-preference){
  :is(a,button):not(:disabled):focus-visible .elve-ui-icon>.elve-ui-icon-svg,
  :is(.brief-goal,.brief-format):has(input:focus-visible) .elve-ui-icon>.elve-ui-icon-svg{animation:elve-icon-response 360ms cubic-bezier(.22,.75,.2,1) 1}
}
@media(max-width:1050px){.case-tab>.elve-ui-icon{margin-inline-end:18px}}
@media(max-width:800px){
  #top .hero-type-cta>.elve-ui-icon{--icon-size:30px}
  .bottom-contact-link>.elve-ui-icon{--icon-size:32px}
  .case-title>.elve-ui-icon{--icon-size:25px;margin-top:3px}
  .case-title-young>.case-title-mark.elve-ui-icon{top:4px}
}
@media(max-width:760px){.case-tab>.elve-ui-icon{display:none!important}}
@media(prefers-reduced-motion:reduce){.elve-ui-icon,.elve-ui-icon>.elve-ui-icon-svg{animation:none!important;transition:none!important}}
.no-motion .elve-ui-icon,.no-motion .elve-ui-icon>.elve-ui-icon-svg{animation:none!important;transition:none!important}

/* Mobile craft pass. Desktop rules and layout remain the v6 baseline. */
@media (max-width:800px) {
  :root { --pad:max(22px,env(safe-area-inset-left),env(safe-area-inset-right)); }
  .site-header { height:calc(80px + env(safe-area-inset-top)); padding-top:env(safe-area-inset-top); }
  .menu-toggle { width:44px; }
  #top.hero.hero-type { padding-top:calc(108px + env(safe-area-inset-top)); }
  .section { padding-left:var(--pad); padding-right:var(--pad); }
  .bottom-flow { --bottom-pad:var(--pad); }
  #mobile-menu { padding:calc(105px + env(safe-area-inset-top)) var(--pad) max(40px,env(safe-area-inset-bottom)); min-height:100svh; }
  .site-footer { padding-left:var(--pad); padding-right:var(--pad); padding-bottom:max(25px,env(safe-area-inset-bottom)); }
  #top .hero-type-who { font-size:21px; }
  #top .hero-type-cta { min-height:96px; }
  .process-steps h3 { font-size:clamp(31px,8.8vw,42px); }
  .process-steps p { font-size:15px; line-height:1.55; }
  .process-steps small { font-size:12px; line-height:1.5; }
  .process-steps li { position:relative; }
  .process-steps li::after { content:''; position:absolute; bottom:-1px; left:0; width:100%; height:1px; background:currentColor; transform:scaleX(0); transform-origin:left; transition:transform 420ms var(--ease-out); }
  .process-steps li.active::after { transform:scaleX(1); }
  /* Line reveals preserve the full text and only run on first entry. */
  .mobile-type-ready.reveal { opacity:1!important; transform:none!important; transition:none; }
  .mobile-type-line { display:block; overflow:clip; padding-bottom:.12em; margin-bottom:-.12em; }
  .mobile-type-ink { display:block; transform:translateY(0); opacity:1; transition:transform 560ms var(--ease-out),opacity 400ms ease-out; transition-delay:var(--line-delay,0ms); }
  .mobile-type-ready:not(.is-visible) .mobile-type-ink { transform:translateY(105%); opacity:0; }
  .mobile-type-ready .mobile-type-ink em { display:block; }
  .mobile-craft .process-steps li.reveal { transition-duration:400ms,480ms; }
  .mobile-craft .process-steps li.reveal:not(.is-visible) { transform:translateY(18px); }
  .mobile-craft .process-steps li.reveal>div { transition:opacity 400ms var(--ease-out),transform 480ms var(--ease-out); }
  .mobile-craft .process-steps li.reveal>div:last-child { transition-delay:65ms; }
  .mobile-craft .process-steps li.reveal:not(.is-visible)>div { opacity:0; transform:translateY(8px); }
  /* Press feedback does not delay activation or replace native vertical scrolling. */
  :is(.hero-type-cta,.hero-type-next,.service-trigger,.service-cta,.case-tab,.case-link,.case-discuss,.case-mobile-control,.brief-tool,.brief-telegram,.brief-goal,.brief-format,.faq-question,.menu-toggle,#mobile-menu>a,.bottom-contact-link) {
    -webkit-tap-highlight-color:transparent;
    transition:transform 150ms var(--ease-out),background-color 150ms ease-out;
    transform-origin:center;
  }
  :is(.hero-type-cta,.hero-type-next,.service-trigger,.service-cta,.case-tab,.case-link,.case-discuss,.case-mobile-control,.brief-tool,.brief-telegram,.brief-goal,.brief-format,.faq-question,.menu-toggle,#mobile-menu>a,.bottom-contact-link).is-touch-pressed {
    transform:scale(.975);
  }
  :is(.service-trigger,.case-tab,.brief-format,.faq-question).is-touch-pressed { background-color:color-mix(in srgb,currentColor 7%,transparent); }
  .case-discuss { display:inline-flex; align-items:center; min-height:44px; }
  .mobile-craft.no-motion .mobile-type-ink,
  .mobile-craft.no-motion .process-steps li.reveal>div { opacity:1!important; transform:none!important; transition:none!important; }
  .mobile-craft.no-motion .is-touch-pressed { transform:none!important; }
}
@media (max-width:800px) and (prefers-reduced-motion:reduce) {
  .mobile-type-ink,.process-steps li.reveal>div { opacity:1!important; transform:none!important; transition:none!important; }
  .is-touch-pressed { transform:none!important; }
}

/* Mobile-only browsing affordances. Desktop case layout and motion are unchanged. */
@media(max-width:800px){
  [data-case-touch="ready"] .case-stage{overflow:clip;transition-duration:.28s}
  [data-case-touch="ready"] :is(.case-title,.case-visual > .case-project-image,.case-planner-frame){touch-action:pan-y pinch-zoom}
  .case-mobile-navigation{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px}
  .case-section .case-mobile-control{display:inline-flex;align-items:center;justify-content:flex-start;gap:9px;min-height:48px;min-width:80px;max-width:calc(50% - 7px);padding:4px 0;font-size:12px;line-height:1.2;letter-spacing:-.015em;text-align:left;transition:opacity .16s,transform .16s cubic-bezier(.23,1,.32,1)}
  .case-mobile-control[data-case-step="next"]{flex-direction:row-reverse;text-align:right}
  .case-mobile-arrow{display:flex;align-items:center;justify-content:center;width:34px;height:34px;flex:none;border:1px solid currentColor;border-radius:50%;transition:transform .16s cubic-bezier(.23,1,.32,1)}
  .case-mobile-arrow svg{display:block;width:19px;height:19px}
  .case-mobile-control[data-case-step="previous"] .case-mobile-arrow svg{transform:rotate(180deg)}
  .case-mobile-control:disabled{opacity:.35;cursor:default}
  .case-mobile-control:not(:disabled):active .case-mobile-arrow{transform:scale(.91)}
  .case-mobile-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
}

/* v12 motion rhythm. Final layout, type, colours and content stay unchanged. */
:root{--motion-feedback:140ms;--motion-control:200ms;--motion-reveal:380ms;--motion-out:cubic-bezier(.22,1,.36,1)}
.reveal{transition:opacity 300ms var(--motion-out),transform var(--motion-reveal) var(--motion-out)}
.js .reveal:not(.is-visible){transform:translateY(16px)}
#top .hero-type-word{transition:transform var(--motion-control) var(--motion-out)}
#top .hero-type-cta{transition:color 160ms,transform var(--motion-feedback) var(--motion-out)}
#top .hero-type-cta>span,#top .hero-type-cta>i,#top .hero-type-next>i{transition:transform var(--motion-control) var(--motion-out)}
.case-tab{transition:opacity 180ms var(--motion-out)}
.case-tab i{transition:transform 220ms var(--motion-out),opacity 160ms var(--motion-out)}
.case-tab:after{transition:transform 240ms var(--motion-out)}
.case-project-image,.case-planner-frame{transition:transform 220ms var(--motion-out)}
.case-planner-frame>.case-project-image{transition:none}
.case-link span,.brief-telegram>span{transition:transform var(--motion-control) var(--motion-out)}
.brief-goal>span:after{transition:transform 240ms var(--motion-out)}
.brief-goal>i,.brief-format>i{transition:opacity 160ms var(--motion-out),transform 220ms var(--motion-out)}
.faq-question>i{transition:transform 220ms var(--motion-out)}
.bottom-contact-link>i{transition:transform 240ms var(--motion-out)}
[data-case-input="keyboard"] .case-tab,[data-case-input="keyboard"] .case-tab:after,[data-case-input="keyboard"] .case-tab i,.faq-item[data-faq-input="keyboard"] .faq-question>i{transition:none!important}
@media(max-width:800px){
 .mobile-type-ink{transition:transform 380ms var(--motion-out),opacity 280ms var(--motion-out);transition-delay:var(--line-delay,0ms)}
 .mobile-craft .process-steps li.reveal{transition-duration:300ms,380ms}
 .mobile-craft .process-steps li.reveal:not(.is-visible){transform:translateY(16px)}
 .mobile-craft .process-steps li.reveal>div{transition:opacity 280ms var(--motion-out);transform:none!important}
 .mobile-craft .process-steps li.reveal>div:last-child{transition-delay:40ms}
 .process-steps li::after{transition:transform 280ms var(--motion-out)}
}
@media(prefers-reduced-motion:reduce){
 .reveal,.mobile-type-ink,.process-steps li.reveal>div{transition:none!important;transform:none!important;opacity:1!important}
}

/* v14: one cached backdrop crossfade replaces scroll-frame theme repainting. */
html.js{background:#0b0b0b}html.js body{background:transparent;isolation:isolate}
html.js body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:#f3f3f3;opacity:0;transition:opacity 180ms linear}
html.js.page-light body:before{opacity:1}
.no-motion body:before{transition:none!important}
@media(prefers-reduced-motion:reduce){html.js body:before{transition:none}}

/* v17: an opaque monochrome surface in EVERY visible state. Difference
   preserves letter shapes beneath it; no hollow ring or backdrop sampling. */
#fluid-cursor{width:0;height:0;margin:0;isolation:auto;mix-blend-mode:difference}
#fluid-cursor .cursor-surface{inset:auto;left:0;top:0;width:160px;height:160px;border:0;border-radius:50%;overflow:hidden;background:#fff;opacity:1;transform:translate(-50%,-50%);box-shadow:inset 0 0 0 1px #111}
.cursor-fill{display:none}
#fluid-cursor .cursor-label{font-family:Arial,sans-serif;font-size:11px;font-weight:400;line-height:1.4;color:#000;opacity:0;transition:opacity 110ms;left:0;top:0}
#fluid-cursor[data-state="text"] .cursor-surface,#fluid-cursor[data-state="type"] .cursor-surface{box-shadow:inset 0 0 0 5px #111,inset 0 0 0 7px #fff}
#fluid-cursor[data-state="view"],#fluid-cursor[data-state="image"]{mix-blend-mode:normal}
#fluid-cursor[data-state="view"] .cursor-surface{background:#0b0b0b;box-shadow:inset 0 0 0 1px #fff}
#fluid-cursor[data-state="view"] .cursor-label{opacity:1;color:#fff}
#cursor-point{width:5px;height:5px;margin:-2.5px;border:1px solid #111;background:#fff;mix-blend-mode:difference}
@media(hover:none),(pointer:coarse){#fluid-cursor,#cursor-point{display:none!important}}

.value-asterisk-mobile {
  display: none;
}

@media (max-width: 800px) {
  .value {
    padding-top: clamp(82px, 13svh, 118px);
  }

  .value-under {
    grid-template-columns: 40px minmax(0, 1fr);
    column-gap: clamp(15px, 5vw, 24px);
    row-gap: 18px;
  }

  .value-asterisk {
    width: 40px;
    font-size: 0;
    margin-top: 3px;
  }

  .value-asterisk-mobile {
    display: block;
    width: 100%;
    height: auto;
  }
}

@media (max-width: 520px) {
  #top.hero.hero-type {
    min-height: min(100svh, calc(100vw + 250px));
    padding-top: calc(clamp(82px, 12svh, 104px) + env(safe-area-inset-top));
    padding-bottom: max(16px, env(safe-area-inset-bottom));
  }

  #top h1.hero-type-title {
    font-size: 17.6vw;
    margin-top: 0;
    gap: clamp(14px, 2.8svh, 28px);
  }

  #top .hero-type-who {
    font-size: clamp(17px, 4.5vw, 21px);
    margin-bottom: 6px;
  }

  #top .hero-type-line-result {
    margin-left: 8vw;
    font-size: 19.6vw;
  }

  #top .hero-type-bottom {
    gap: clamp(16px, 3svh, 28px);
    margin-block: clamp(22px, 4.4svh, 42px) clamp(17px, 3svh, 28px);
  }

  #top .hero-type-lead {
    display: grid;
    gap: 6px;
    max-width: 28ch;
    padding: 0;
    font-size: clamp(17px, 4.65vw, 22px);
    line-height: 1.25;
  }

  #top .hero-type-lead br,
  #top .hero-type-cta > span br {
    display: none;
  }

  #top .hero-type-lead > span:last-child {
    color: #c2c2c2;
  }

  #top .hero-type-cta {
    width: 100%;
    max-width: none;
    min-height: 66px;
    padding-bottom: 10px;
    gap: 4px 12px;
    font-size: clamp(23px, 6.1vw, 31px);
  }

  #top .hero-type-cta > .elve-ui-icon {
    --icon-size: 26px;
    grid-column: 2;
    grid-row: 1 / 3;
  }

  #top .hero-type-cta > small {
    grid-column: 1;
    color: #c2c2c2;
  }

  #top .hero-foot.hero-type-foot {
    margin-top: auto;
    padding-top: 8px;
    gap: 12px;
    font-size: 10px;
  }

  #top .hero-type-next {
    gap: 8px;
    font-size: 10px;
  }
}

@media (min-width: 521px) and (max-width: 800px) and (max-height: 540px) and (orientation: landscape) {
  #top.hero.hero-type {
    padding-top: calc(72px + env(safe-area-inset-top));
  }

  #top h1.hero-type-title {
    margin-top: 0;
    gap: 10px;
    font-size: min(17.8vw, 15svh);
  }

  #top .hero-type-line-result {
    font-size: min(20.8vw, 17svh);
  }

  #top .hero-type-bottom,
  #top .hero-foot.hero-type-foot {
    margin-top: 15px;
  }
}

#top h1.hero-type-title {
  letter-spacing: -.055em;
}

#top .hero-type-lead {
  letter-spacing: -.02em;
  line-height: 1.3;
}

.value-heading,
.service-intro h2,
.case-heading-row h2,
.process-title,
.bottom-title,
.bottom-contact-title {
  letter-spacing: -.05em;
  line-height: 1.04;
}

.case-heading-note {
  text-wrap: balance;
}

@media (max-width: 760px) {
  .service-promise {
    font-size: 12px;
  }
}

.value,
.process {
  padding-block: clamp(38px, 5vw, 76px) clamp(42px, 5.5vw, 80px);
}

.value-heading {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(12px, 4vw, 64px);
  font-size: clamp(32px, 7.8vw, 112px);
  line-height: 1;
}

.value-heading > br {
  display: none;
}

.value-heading > :last-child {
  justify-self: end;
  text-align: right;
  padding-top: .2em;
}

.value-phrase,
.value-heading .value-phrase > em {
  display: block;
  margin-left: 0;
}

.value-heading .value-phrase > em {
  color: color-mix(in srgb, currentColor 74%, transparent);
}

.value-under {
  margin-block: clamp(24px, 3.8vw, 56px);
}

.value-routes {
  padding-top: clamp(18px, 2vw, 28px);
}

.value-routes strong {
  margin-block: clamp(12px, 1.6vw, 23px);
}

.value-note {
  margin-top: clamp(22px, 3vw, 42px);
}

.process {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
  column-gap: clamp(24px, 3.2vw, 52px);
}

.process-title {
  font-size: clamp(40px, 5.1vw, 96px);
  text-wrap: balance;
}

.process-title > span {
  display: inline;
  margin: 0;
}

.process-intro {
  grid-template-columns: 1fr;
  gap: 8px;
  margin: 0;
  padding: 0;
  align-self: end;
}

.process-track,
.process-steps,
.process-outro {
  grid-column: 1 / -1;
}

.process-track {
  margin-block: clamp(24px, 3vw, 44px) 0;
}

.process-steps li {
  padding-block: clamp(22px, 2.35vw, 36px);
}

.process-steps small {
  margin-top: 12px;
}

.process-outro {
  padding-top: clamp(22px, 2.7vw, 38px);
}

@media (max-width: 800px) {
  .value-heading {
    font-size: clamp(25px, 8.2vw, 62px);
  }

  .process {
    grid-template-columns: 1fr;
  }

  .process-title {
    font-size: clamp(35px, 9vw, 66px);
  }

  .process-intro {
    margin-top: 16px;
  }

  .process-intro > p {
    margin-left: 0;
  }

  .process-steps li {
    row-gap: 12px;
  }

  .process-outro a {
    margin-top: 14px;
  }
}
