@import url('/studio-preview-20260916/assets/fonts/fonts.css');

:root{--paper:#0d1013;--ink:#edf0f2;--muted:#a8afb6;--line:#30373c;--accent:#c8ed85;--accent-dark:#c8ed85;--panel:#191f24;--radius:8px;color-scheme:dark;font-family:Manrope,Arial,sans-serif;font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}img{display:block;max-width:100%}button:disabled{cursor:wait}h1,h2,h3,h4,p,figure{margin:0}h1,h2,h3,h4{text-wrap:balance}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--accent-dark);outline-offset:5px}::selection{background:#c8ed85;color:#101610}[v-cloak]{display:none}.container{max-width:1440px;margin:auto;padding:0 56px}.skip-link{position:fixed;left:16px;top:-80px;background:var(--ink);color:var(--paper);padding:12px;z-index:200}.skip-link:focus{top:12px}.arrow{display:inline-block;font-family:Arial,sans-serif;font-weight:400;transition:transform .25s}.text-link{display:inline-flex;align-items:center;gap:16px;font-size:14px;font-weight:650}.text-link:hover .arrow{transform:translate(3px,-3px)}.button{display:inline-flex;justify-content:center;align-items:center;gap:24px;padding:17px 24px;min-height:52px;border:1px solid var(--ink);border-radius:var(--radius);background:var(--ink);color:var(--paper);font-size:14px;font-weight:650;white-space:nowrap;transition:background .2s,transform .2s}.button:hover{background:#d8f4a8}.button:active{transform:translateY(2px)}.button--light{color:var(--ink);background:transparent;border-color:var(--line)}.button--light:hover{background:var(--panel)}.section{padding-top:120px}.section-head{margin-bottom:48px}.section-head h2{font-size:clamp(36px,4.3vw,62px);line-height:1.13;letter-spacing:-.055em;font-weight:600}.section-head p{font-size:16px;line-height:1.75;color:var(--muted);max-width:590px;margin-top:20px}.small-label{font-size:11px;letter-spacing:.13em;text-transform:uppercase;font-weight:650;color:var(--muted)}

.site-header{height:80px;position:sticky;top:0;background:rgba(13,16,19,.96);z-index:50;border-bottom:1px solid var(--line)}.header-inner{height:100%;display:flex;align-items:center;gap:36px}.brand img{width:120px;height:39px}.desktop-nav{display:flex;gap:28px;margin-left:auto}.desktop-nav a{font-size:12px;font-weight:650;color:var(--muted);padding:12px 0}.desktop-nav a:hover{color:var(--ink)}.header-contact{font-size:12px;border-bottom:1px solid var(--ink);padding-bottom:4px;margin-left:24px}.menu-toggle{display:none;border:1px solid var(--line);background:none;border-radius:8px;min-width:44px;min-height:44px;font-size:20px}.mobile-nav{position:absolute;top:79px;left:0;right:0;background:var(--paper);padding:16px 24px 24px;border-bottom:1px solid var(--line)}.mobile-nav a{display:block;padding:14px 0;font-size:18px}.admin-bar{padding:10px 24px;background:var(--ink);color:var(--paper);display:flex;justify-content:space-between;font-size:12px}

.hero{display:grid;grid-template-columns:minmax(0,1fr) 29%;column-gap:48px;align-items:center;padding-top:64px;padding-bottom:64px;min-height:604px}.hero-copy{position:relative;z-index:1}.hero .small-label{margin-bottom:32px}.hero h1{font-size:clamp(42px,4.25vw,64px);font-weight:550;line-height:1.13;letter-spacing:-.057em;margin-right:-48px}.hero h1 span{display:block}.hero h1 em{font-style:normal;color:var(--accent-dark)}.hero-intro{max-width:510px;font-size:16px;color:var(--muted);line-height:1.8;margin-top:30px}.hero-actions{display:flex;align-items:center;gap:32px;margin-top:36px}.hero-photo{height:440px;border-radius:var(--radius);overflow:hidden;align-self:center;background:#252b30}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 38%}.hero-copy{animation:enter .7s both}.hero-photo{animation:enter .8s .12s both}.expertise-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:var(--muted)}.expertise-strip strong{color:var(--ink);font-weight:650}.intro-work{display:flex;align-items:baseline;gap:20px}.work-count{color:var(--accent-dark);font-size:14px;font-weight:600}

.featured-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:76px 40px}.featured-project{grid-column:span 7;min-width:0}.featured-project:nth-child(2),.featured-project:nth-child(3){grid-column:span 5}.featured-project:nth-child(2){padding-top:100px}.featured-project:nth-child(4){padding-top:70px}.project-visual{display:flex;align-items:center;justify-content:center;aspect-ratio:1.47;background:#1c2429;border-radius:var(--radius);overflow:hidden;padding:28px;position:relative}.featured-project:nth-child(2) .project-visual{background:#202820;aspect-ratio:1.3;padding:22px}.featured-project:nth-child(3) .project-visual{background:#1b242a;aspect-ratio:1.22;padding:20px}.featured-project:nth-child(4) .project-visual{background:#27232b;aspect-ratio:1.65;padding:28px}.project-visual img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 12px 16px rgba(40,42,35,.12));transition:transform .65s cubic-bezier(.2,.8,.2,1)}.featured-project:hover .project-visual img{transform:scale(1.035)}.project-meta{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin:23px 0 12px;font-size:11px;color:var(--muted)}.project-meta strong{font-weight:600;color:var(--ink)}.project-title{display:flex;justify-content:space-between;align-items:baseline;gap:20px}.project-title h3{font-weight:600;font-size:clamp(23px,2.2vw,32px);letter-spacing:-.04em;line-height:1.2}.project-title .arrow{color:var(--accent-dark);font-size:30px;flex-shrink:0}.project-desc{margin-top:15px;font-size:14px;line-height:1.8;color:var(--muted);max-width:540px}.project-tags{display:flex;gap:8px 18px;flex-wrap:wrap;margin-top:21px;font-size:10px;color:var(--muted)}.project-tags span{border-bottom:1px solid var(--line);padding-bottom:5px}

.catalog-section{margin-top:120px;border-top:1px solid var(--line);padding-top:56px}.catalog-heading{display:flex;align-items:baseline;gap:14px;margin-bottom:30px}.catalog-heading h2{font-size:32px;font-weight:550;letter-spacing:-.045em}.catalog-heading span{font-size:13px;color:var(--muted)}.catalog-toolbar{display:flex;align-items:center;gap:24px;margin-bottom:32px}.filters{display:flex;flex-wrap:wrap;gap:7px;flex:1}.filter-button{background:transparent;border:1px solid var(--line);border-radius:6px;padding:10px 14px;font-size:11px;min-height:40px;transition:background .2s}.filter-button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.filter-button:hover:not([aria-pressed=true]){background:var(--panel)}.search-wrap{width:235px;flex-shrink:0}.search-wrap input{border:0;border-bottom:1px solid var(--line);background:none;border-radius:0;padding:12px 2px;width:100%;font-size:12px;color:var(--ink)}.search-wrap input::placeholder{color:var(--muted)}.catalog-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:38px 22px}.catalog-item{min-width:0}.catalog-image{aspect-ratio:1.55;background:var(--panel);border-radius:6px;overflow:hidden;display:flex;align-items:center;justify-content:center}.catalog-image img{height:100%;width:100%;object-fit:cover;object-position:top;transition:transform .4s}.catalog-item:hover img{transform:scale(1.04)}.catalog-item h3{margin-top:15px;font-weight:600;font-size:14px;line-height:1.5;letter-spacing:-.02em}.catalog-item p{font-size:11px;line-height:1.5;color:var(--muted);margin-top:6px}.catalog-empty,.error-state{padding:56px 20px;text-align:center;background:var(--panel);border-radius:8px}.catalog-empty h3,.error-state h2{font-size:25px;letter-spacing:-.035em}.catalog-empty p,.error-state p{margin:14px auto 24px;color:var(--muted);font-size:14px;line-height:1.7}.status-text{font-size:13px;color:var(--muted);padding:24px 0}.skeleton-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:40px}.skeleton{height:380px;background:var(--panel);border-radius:8px;animation:pulse 1.5s infinite alternate}.media-unavailable{padding:30px;font-size:13px;color:var(--muted);text-align:center}

.plugins-layout{display:grid;grid-template-columns:1fr 1.6fr;gap:100px}.plugins-layout .section-head h2{font-size:44px}.plugins-layout .section-head p{font-size:14px;max-width:320px}.plugin-stats{font-size:12px;color:var(--muted);margin-top:32px}.plugin-stats strong{color:var(--ink);font-size:25px;letter-spacing:-.05em;margin-right:7px}.plugin-list{border-top:1px solid var(--line)}.plugin-row{display:grid;grid-template-columns:40px 1fr 24px;align-items:center;gap:20px;padding:23px 0;border-bottom:1px solid var(--line)}.plugin-icon{width:40px;height:40px;object-fit:contain;border-radius:8px}.plugin-row h3{font-size:15px;font-weight:600;letter-spacing:-.015em}.plugin-row p{font-size:12px;color:var(--muted);line-height:1.7;margin-top:6px;max-width:460px}.plugin-row .arrow{font-size:23px}.plugin-row:hover .arrow{transform:translate(3px,-3px)}.plugin-more{margin-top:22px;background:none;border:0;border-bottom:1px solid var(--ink);padding:8px 0;font-size:12px}

.about-section{margin-top:128px;background:var(--panel);border-radius:8px;padding:64px;display:grid;grid-template-columns:240px 1fr;gap:72px}.about-identity img{width:180px;height:220px;object-fit:cover;object-position:center 32%;border-radius:8px}.about-identity h3{font-size:20px;font-weight:600;margin-top:22px;letter-spacing:-.04em}.about-identity p{font-size:12px;color:var(--muted);margin-top:7px;line-height:1.7}.about-content h2{font-size:clamp(30px,3.2vw,46px);font-weight:550;line-height:1.18;letter-spacing:-.05em;max-width:650px}.about-content>p{font-size:15px;line-height:1.9;color:var(--muted);margin-top:26px;max-width:640px}.approach-list{margin-top:36px;display:grid;grid-template-columns:1fr 1fr;gap:26px 34px}.approach-list h3{font-size:14px;font-weight:650;margin-bottom:7px}.approach-list p{font-size:12px;line-height:1.8;color:var(--muted)}.about-links{display:flex;flex-wrap:wrap;gap:24px;margin-top:34px}.about-links a{font-size:11px;border-bottom:1px solid var(--line);padding-bottom:5px}

.journal-list{display:grid;grid-template-columns:1fr 1fr 1fr;gap:36px}.journal-article{border-top:1px solid var(--line);padding-top:23px;display:flex;flex-direction:column;align-items:flex-start}.journal-article>span{font-size:11px;color:var(--muted)}.journal-article h3{font-weight:550;font-size:24px;letter-spacing:-.035em;line-height:1.35;margin-top:18px}.journal-article p{font-size:13px;color:var(--muted);line-height:1.85;margin-top:14px;margin-bottom:23px}.journal-article .text-link{margin-top:auto;font-size:11px}.journal-channel{display:inline-flex;margin-top:36px;border-bottom:1px solid var(--ink);padding-bottom:6px;font-size:13px}.contact-section{margin-top:124px;border-top:1px solid var(--line);padding:74px 0 80px}.contact-section p{font-size:14px;color:var(--muted);max-width:530px;line-height:1.8;margin-top:24px}.contact-link{font-size:clamp(40px,6.5vw,94px);font-weight:550;letter-spacing:-.06em;line-height:1.1;display:flex;justify-content:space-between;align-items:center;gap:32px}.contact-link .arrow{color:var(--accent-dark);font-size:1.25em}.contact-link:hover .arrow{transform:translate(6px,-6px)}.site-footer{border-top:1px solid var(--line);padding:26px 0 34px}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:10px;color:var(--muted)}.footer-links{display:flex;gap:26px}.cookie-banner{position:fixed;bottom:20px;left:20px;z-index:100;width:330px;background:var(--paper);border:1px solid var(--line);box-shadow:0 8px 30px #24242112;border-radius:8px;padding:20px}.cookie-banner p{font-size:12px;color:var(--muted);line-height:1.7}.cookie-banner a{text-decoration:underline}.cookie-banner button{margin-top:15px;padding:10px 18px;min-height:40px;font-size:12px;width:100%}

.case-breadcrumb{padding:26px 0;display:flex;align-items:center;gap:20px;font-size:11px;color:var(--muted)}.case-breadcrumb a{color:var(--ink)}.case-heading{max-width:1000px;padding:48px 0}.case-heading .small-label{margin-bottom:22px}.case-heading h1{font-size:clamp(38px,5.3vw,76px);font-weight:550;letter-spacing:-.057em;line-height:1.12}.case-heading .case-description{font-size:18px;line-height:1.8;color:var(--muted);max-width:780px;margin-top:26px}.case-meta{display:flex;gap:50px;margin-top:32px}.case-meta div{display:flex;flex-direction:column;gap:7px;font-size:12px}.case-meta dt{font-size:10px;color:var(--muted)}.case-meta dd{margin:0}.case-cover{background:var(--panel);padding:40px;border-radius:8px}.case-cover img{width:100%;max-height:760px;object-fit:contain}.case-cover iframe{border:0;width:100%;aspect-ratio:16/9;background:var(--paper)}.case-summary{display:grid;grid-template-columns:1fr 1fr 1fr;gap:40px;padding:60px 0;border-bottom:1px solid var(--line)}.case-summary h2{font-size:18px;font-weight:600;letter-spacing:-.03em;margin-bottom:18px}.case-summary p{font-size:14px;line-height:1.85;color:var(--muted)}.case-body{max-width:1120px;margin:80px auto 0}.cms-block{margin:0 0 44px}.cms-block.block-text{max-width:820px;margin-left:auto;margin-right:auto}.prose{font-size:16px;line-height:1.95;color:var(--muted);overflow-wrap:anywhere}.prose p{margin:0 0 24px}.prose h1,.prose h2,.prose h3{font-size:28px;line-height:1.3;font-weight:600;letter-spacing:-.04em;color:var(--ink);margin:36px 0 20px}.prose ul,.prose ol{padding-left:22px}.prose li{margin-bottom:10px}.prose a{color:var(--accent-dark);text-decoration:underline}.prose strong{color:var(--ink);font-weight:650}.prose img{height:auto;max-width:100%;margin:28px auto;border-radius:8px}.prose pre{overflow:auto;background:var(--panel);padding:20px;border-radius:8px;font-size:13px;max-width:100%}.prose table{display:block;overflow:auto;border-collapse:collapse}.prose th,.prose td{padding:12px;border:1px solid var(--line)}.block-heading{max-width:820px;margin-left:auto;margin-right:auto}.block-heading h2{font-size:36px;letter-spacing:-.045em;font-weight:550;line-height:1.25}.block-heading h3{font-size:28px;letter-spacing:-.04em;font-weight:550}.block-image figure,.slider-stage{background:var(--panel);padding:24px;border-radius:8px}.block-image img{max-height:850px;width:100%;object-fit:contain}.image-caption{font-size:12px;color:var(--muted);margin-top:14px;line-height:1.6}.slider-stage{min-height:240px;display:flex;align-items:center;justify-content:center}.slider-stage img{width:100%;max-height:740px;object-fit:contain}.slider-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:16px}.slider-controls{display:flex;align-items:center;gap:16px;font-size:11px;white-space:nowrap;color:var(--muted)}.slider-controls button{width:44px;height:44px;border:1px solid var(--line);background:none;border-radius:6px;font-size:20px;color:var(--ink)}.slider-controls button:hover{background:var(--panel)}.block-card{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;padding:36px;background:var(--panel);border-radius:8px}.block-card.no-image{grid-template-columns:1fr}.block-card img{width:100%;max-height:480px;object-fit:contain;border-radius:8px}.block-card h3{font-size:28px;font-weight:550;letter-spacing:-.04em;margin-bottom:18px}.block-card p{font-size:15px;line-height:1.8;color:var(--muted);margin-bottom:22px}.block-quote{border-left:3px solid var(--accent);padding:10px 0 10px 30px;max-width:800px;margin:60px auto}.block-quote blockquote{font-size:24px;line-height:1.6;letter-spacing:-.02em;margin:0}.block-quote cite{display:block;font-size:13px;color:var(--muted);font-style:normal;margin-top:20px}.block-warning{padding:28px;background:#272c24;border-left:3px solid var(--accent);border-radius:0 8px 8px 0;font-size:14px;line-height:1.8}.block-related h3{font-size:30px;letter-spacing:-.04em;margin-bottom:28px}.related-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.related-grid img{width:100%;aspect-ratio:1.7;object-fit:cover;object-position:top;border-radius:8px}.related-grid h4{font-size:17px;font-weight:600;margin-top:16px}.case-end{margin-top:70px;padding-top:36px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:24px}.detail-loading{padding:50px 0}.detail-loading .skeleton{height:480px}

.reveal{opacity:1;transform:none}.reveal.is-waiting{opacity:0;transform:translateY(22px)}.reveal.is-visible{opacity:1;transform:none;transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1)}@keyframes enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes pulse{from{opacity:.5}to{opacity:1}}
@media(min-width:1600px){.hero h1{font-size:64px}.hero{min-height:670px}.hero-photo{height:490px}}
@media(max-width:1200px){.container{padding:0 36px}.hero{gap:30px;min-height:540px;padding-top:48px;padding-bottom:48px;grid-template-columns:minmax(0,1fr) 27%}.hero h1{font-size:4.1vw;margin-right:-25px}.hero-photo{height:380px}.hero-intro{font-size:14px;max-width:450px}.desktop-nav{gap:20px}.header-contact{margin-left:0}.featured-grid{gap:58px 28px}.plugins-layout{gap:60px}.about-section{padding:48px;gap:40px;grid-template-columns:200px 1fr}.hero-actions{gap:24px}}
@media(max-width:1023px){.desktop-nav,.header-contact{display:none}.menu-toggle{display:block;margin-left:auto}.container{padding:0 28px}.hero{grid-template-columns:minmax(0,1fr) 27%;gap:22px;min-height:500px}.hero h1{font-size:4.1vw}.hero-photo{height:340px}.hero .small-label{font-size:9px;letter-spacing:.08em}.hero-actions{gap:20px}.hero-actions .button{padding:15px 18px;font-size:12px}.hero-actions .text-link{font-size:12px}.section{padding-top:88px}.featured-grid{gap:54px 24px}.project-meta{flex-direction:column;gap:5px}.project-visual{padding:18px}.project-title h3{font-size:24px}.catalog-toolbar{flex-direction:column;align-items:stretch}.search-wrap{width:100%}.catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.plugins-layout{grid-template-columns:1fr;gap:14px}.plugins-layout .section-head p{max-width:500px}.about-section{padding:38px;grid-template-columns:150px 1fr;gap:30px}.about-identity img{height:190px}.approach-list{grid-template-columns:1fr}.journal-list{gap:24px}.journal-article h3{font-size:21px}.case-summary{gap:24px}.case-cover{padding:24px}}
@media(max-width:767px){.container{padding:0 20px}.site-header{height:68px}.brand img{width:105px;height:34px}.mobile-nav{top:67px}.hero{display:flex;flex-direction:column;align-items:stretch;padding-top:38px;padding-bottom:32px;min-height:auto;gap:32px}.hero .small-label{font-size:10px;margin-bottom:25px;letter-spacing:.07em}.hero h1{font-size:clamp(29px,6.75vw,49px);line-height:1.18;letter-spacing:-.055em;margin:0}.hero-intro{font-size:14px;line-height:1.85;margin-top:22px;max-width:450px}.hero-actions{gap:24px;margin-top:26px;flex-wrap:wrap}.hero-actions .button{font-size:12px;padding:15px 18px}.hero-photo{width:100%;height:390px;align-self:stretch}.hero-photo img{object-position:50% 35%}.expertise-strip{display:grid;grid-template-columns:1fr 1fr;padding:20px 0;gap:16px;font-size:10px}.section{padding-top:68px}.section-head{margin-bottom:30px}.section-head h2{font-size:38px;line-height:1.16}.section-head p{font-size:14px;margin-top:16px}.featured-grid{display:flex;flex-direction:column;gap:44px}.featured-project:nth-child(n){padding:0}.featured-project:nth-child(n) .project-visual{aspect-ratio:1.4;padding:18px}.project-meta{flex-direction:row;margin-top:19px;font-size:10px}.project-title h3{font-size:26px}.project-desc{font-size:13px;line-height:1.85;margin-top:12px}.project-tags{font-size:9px;margin-top:15px}.catalog-section{margin-top:70px;padding-top:32px}.catalog-heading{margin-bottom:20px}.catalog-heading h2{font-size:28px}.filter-button{font-size:10px;padding:9px 12px}.catalog-grid{grid-template-columns:1fr 1fr;gap:27px 14px}.catalog-item h3{font-size:12px;margin-top:10px}.catalog-item p{font-size:10px}.catalog-toolbar{gap:16px}.catalog-image{aspect-ratio:1.35}.plugins-layout .section-head h2{font-size:36px}.plugin-row{grid-template-columns:36px 1fr 20px;gap:14px}.plugin-icon{width:36px;height:36px}.plugin-row h3{font-size:14px}.plugin-row p{font-size:11px}.plugin-stats{margin-top:22px}.about-section{margin-top:72px;padding:28px 24px;display:flex;flex-direction:column;gap:30px}.about-identity{display:grid;grid-template-columns:80px 1fr;column-gap:18px;align-items:center}.about-identity img{grid-row:span 2;width:80px;height:100px}.about-identity h3{margin:0;font-size:19px;align-self:end}.about-identity p{margin-top:5px;align-self:start}.about-content h2{font-size:32px}.about-content>p{font-size:13px;margin-top:20px}.approach-list{margin-top:28px;gap:22px}.about-links{gap:18px}.journal-list{grid-template-columns:1fr;gap:30px}.journal-article h3{font-size:24px;max-width:320px;margin-top:14px}.journal-article p{margin-top:12px}.journal-article{padding-top:20px}.contact-section{margin-top:74px;padding:44px 0 50px}.contact-link{font-size:41px;gap:20px}.contact-section p{font-size:13px}.footer-inner{align-items:flex-start;flex-direction:column;gap:20px}.footer-links{gap:14px;flex-wrap:wrap}.cookie-banner{left:12px;bottom:12px;width:calc(100% - 24px);padding:16px}.case-heading{padding:28px 0 34px}.case-heading h1{font-size:40px}.case-heading .case-description{font-size:15px;line-height:1.8;margin-top:22px}.case-heading .small-label{font-size:10px;line-height:1.7}.case-meta{gap:24px;flex-wrap:wrap;margin-top:26px}.case-meta div{font-size:11px}.case-cover{padding:14px}.case-summary{grid-template-columns:1fr;gap:28px;padding:36px 0}.case-summary h2{margin-bottom:10px}.case-summary p{font-size:13px}.case-body{margin-top:44px}.prose{font-size:14px;line-height:1.9}.cms-block{margin-bottom:32px}.block-heading h2{font-size:29px}.block-image figure,.slider-stage{padding:12px}.slider-stage{min-height:180px}.slider-stage img{max-height:600px}.slider-bottom{align-items:flex-start;gap:12px}.slider-bottom .image-caption{margin:0;font-size:11px}.slider-controls{gap:8px}.slider-controls button{width:40px;height:40px}.block-card{grid-template-columns:1fr;gap:24px;padding:24px}.block-card h3{font-size:25px}.block-card p{font-size:13px}.block-quote blockquote{font-size:20px}.block-quote{padding-left:22px}.related-grid{gap:16px}.related-grid h4{font-size:13px}.case-end{flex-direction:column;gap:22px}.case-breadcrumb{font-size:10px;gap:12px}.skeleton-grid{grid-template-columns:1fr}.skeleton{height:280px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reveal.is-waiting{opacity:1;transform:none}}

/* Studio direction: dark editorial canvas with an interactive project stage.
   Screenshot surfaces keep their real project colors; the surrounding UI has one theme. */
:root { --radius: 4px; }
body { background: var(--paper); }
.container { max-width: 1600px; padding-inline: 64px; }
.brand img { filter: invert(1) brightness(1.16); }
.site-header { border-bottom: 0; height: 88px; }
.header-inner { gap: 44px; }
.desktop-nav { gap: 30px; }
.desktop-nav a { font-size: 13px; font-weight: 500; }
.header-contact { font-size: 13px; padding: 11px 0; border-color: var(--accent); }
.button { background: var(--accent); color: #17200e; border-color: var(--accent); border-radius: 4px; min-height: 56px; padding: 17px 26px; font-weight: 650; }
.button:hover { background: #dcf8ad; }
.button--light { color: var(--ink); background: transparent; border-color: var(--line); }
.button--light:hover { background: var(--panel); }
.text-link { font-size: 14px; font-weight: 500; border-bottom: 1px solid var(--line); padding-block: 8px; }
.text-link:hover { color: var(--accent); border-color: var(--accent); }
.section-head h2 { font-size: clamp(40px, 4.8vw, 72px); line-height: 1.12; font-weight: 500; letter-spacing: -.055em; }
.section-head h2 em, .about-content h2 em { font-style: normal; color: var(--accent); }
.section-head p { font-size: 17px; line-height: 1.8; max-width: 690px; }
.hero { grid-template-columns: 1fr 1.04fr; gap: 52px; min-height: 710px; padding-top: 48px; padding-bottom: 74px; align-items: center; }
.hero-copy { min-width: 0; }
.hero-person { display: flex; align-items: center; gap: 14px; margin-bottom: 30px; }
.hero-person img { width: 44px; height: 54px; object-fit: cover; object-position: center 30%; border-radius: 3px; }
.hero-person p { font-size: 13px; line-height: 1.7; color: var(--ink); }
.hero-person p span { display: block; color: var(--muted); font-size: 11px; }
.hero h1 { font-size: clamp(42px, 4vw, 62px); letter-spacing: -.062em; line-height: 1.04; font-weight: 500; margin: 0; max-width: 760px; text-wrap: initial; }
.hero h1 em { color: var(--accent); }
.hero-intro { font-size: 16px; line-height: 1.8; max-width: 520px; margin-top: 26px; }
.hero-actions { margin-top: 30px; gap: 28px; }
.hero-stage { min-width: 0; width: 100%; align-self: center; transform: none; }
.stage-tabs { display: flex; align-items: stretch; gap: 22px; border-bottom: 1px solid var(--line); }
.stage-tab { background: transparent; color: var(--muted); font-size: 12px; border: 0; border-bottom: 2px solid transparent; padding: 18px 0; min-height: 48px; text-align: left; margin-bottom: -1px; }
.stage-tab[aria-selected=true] { color: var(--accent); border-bottom-color: var(--accent); }
.stage-tab:hover { color: var(--ink); }
.stage-canvas { margin-top: 22px; height: 390px; display: flex; align-items: center; justify-content: center;  overflow: hidden; background: #161c21; }
.stage-canvas > img { width: 100%; height: 100%; max-height: none; object-fit: contain; transform: none; }
.stage-canvas:hover > img { transform: none; }
.stage-bottom { display: flex; align-items: center; gap: 18px; justify-content: space-between; padding-top: 18px; }
.stage-bottom p { font-size: 11px; color: var(--muted); max-width: 45%; }
.stage-mode { color: var(--accent); font-size: 12px; border: 1px solid var(--line); padding: 12px 15px; min-height: 44px; background: none; border-radius: 3px; }
.stage-mode:hover { background: var(--panel); }
.stage-logic { padding: 36px; width: 100%; }
.stage-logic h2 { font-size: 28px; font-weight: 500; letter-spacing: -.04em; margin-bottom: 22px; }
.stage-logic p { font-size: 17px; line-height: 1.8; color: var(--muted); }
.stage-logic a { margin-top: 22px; color: var(--accent); }
.stage-change-enter-active, .stage-change-leave-active { transition: opacity .18s; }
.stage-change-enter-from, .stage-change-leave-to { opacity: 0; }
.stage-placeholder { height: 466px; background: var(--panel); display: grid; place-items: center; color: var(--muted); font-size: 50px; letter-spacing: -.06em; }
.expertise-strip { padding-block: 28px; font-size: 13px; border-color: var(--line); }
.expertise-strip strong { font-weight: 500; }
.section { padding-top: 132px; }
.featured-grid { grid-template-columns: repeat(12,minmax(0,1fr)); gap: 100px 50px; }
.featured-project { grid-column: 1 / -1; display: grid; grid-template-columns: 1.25fr 1fr; gap: 58px; align-items: center; }
.featured-project:nth-child(2) { grid-column: span 7; display: flex; flex-direction: column; align-items: stretch; gap: 0; padding-top: 0; }
.featured-project:nth-child(3) { grid-column: span 5; display: flex; flex-direction: column; align-items: stretch; gap: 0; padding-top: 112px; }
.featured-project:nth-child(4) { grid-column: 1 / -1; padding-top: 0; grid-template-columns: 1fr 1.3fr; }
.featured-project:nth-child(4) .project-copy { order: -1; }
.project-copy { min-width: 0; }
.project-visual-link { min-width: 0; width: 100%; }
.featured-project:nth-child(n) .project-visual { border-radius: 4px; aspect-ratio: 1.35; padding: 30px; }
.featured-project:nth-child(2) .project-visual { aspect-ratio: 1.6; }
.featured-project:nth-child(3) .project-visual { aspect-ratio: 1.35; padding: 20px; }
.featured-project:nth-child(4) .project-visual { aspect-ratio: 1.45; }
.project-meta { display: flex; flex-direction: column; gap: 7px; font-size: 12px; margin-top: 0; margin-bottom: 24px; }
.project-meta strong { font-size: 14px; color: var(--accent); font-weight: 500; }
.featured-project:nth-child(2) .project-meta, .featured-project:nth-child(3) .project-meta { margin-top: 28px; }
.project-title h3 { font-size: clamp(28px, 3vw, 43px); font-weight: 500; line-height: 1.19; letter-spacing: -.047em; text-wrap: initial; }
.featured-project:nth-child(2) .project-title h3, .featured-project:nth-child(3) .project-title h3 { font-size: clamp(27px, 2.5vw, 37px); }
.project-desc { font-size: 16px; line-height: 1.85; margin-top: 24px; max-width: 600px; }
.project-tags { color: var(--muted); gap: 8px 18px; font-size: 11px; line-height: 1.5; margin-top: 24px; }
.project-tags span { border: 0; padding: 0; }
.project-read { display: inline-flex; margin-top: 28px; color: var(--ink); border-bottom: 1px solid var(--accent); padding-bottom: 7px; font-size: 13px; }
.project-read:hover { color: var(--accent); }
.catalog-heading h2 { font-size: 40px; }
.catalog-heading span { color: var(--accent); }
.catalog-toolbar { gap: 28px; }
.filter-button { border-radius: 3px; font-size: 12px; }
.filter-button[aria-pressed=true] { background: var(--accent); border-color: var(--accent); color: #17200e; }
.catalog-item h3 { font-size: 15px; font-weight: 500; }
.catalog-item p { font-size: 11px; color: var(--muted); }
.catalog-image { border-radius: 3px; }
.search-wrap input { font-size: 13px; }
.plugins-layout .section-head h2 { font-size: 48px; }
.plugins-layout .section-head p { font-size: 16px; max-width: 410px; }
.plugin-row { grid-template-columns: 42px 1fr; gap: 22px; padding-block: 26px; }
.plugin-row h3 { font-size: 17px; font-weight: 500; }
.plugin-row p { font-size: 13px; }
.plugin-icon { border-radius: 4px; }
.store-link { display: inline-block; font-size: 13px; color: var(--accent); border-bottom: 1px solid var(--accent); padding-bottom: 6px; margin-top: 28px; }
.plugin-stats { font-size: 13px; }
.plugin-stats strong { color: var(--accent); }
.about-section { grid-template-columns: 300px 1fr; gap: 72px; padding: 64px; background: #181e23; border-radius: 4px; margin-top: 132px; }
.about-identity img { width: 100%; height: 340px; border-radius: 3px; }
.about-identity h3 { font-size: 24px; }
.about-identity p { font-size: 13px; }
.about-content h2 { font-size: clamp(36px, 3.8vw, 54px); font-weight: 500; }
.about-content>p { font-size: 16px; }
.approach-list h3 { font-weight: 500; font-size: 16px; }
.approach-list p { font-size: 14px; }
.about-links a { font-size: 12px; }
.journal-article h3 { font-size: 28px; line-height: 1.3; font-weight: 500; }
.journal-article p { font-size: 15px; line-height: 1.85; }
.journal-article>span { font-size: 12px; }
.journal-article .text-link { font-size: 13px; }
.journal-channel { color: var(--accent); border-color: var(--accent); font-size: 14px; }
.contact-section { padding-block: 80px 100px; }
.contact-link { font-size: clamp(50px, 7.5vw, 112px); color: var(--accent); line-height: 1.05; letter-spacing: -.06em; }
.contact-link:hover { color: #e0f6bc; }
.contact-section p { font-size: 17px; max-width: 660px; margin-top: 32px; }
.footer-inner { font-size: 12px; }
.cookie-banner { background: #20272c; border-color: #414a51; border-radius: 4px; }
.cookie-banner p { color: #ced3d7; font-size: 13px; }
.cookie-banner button { color: #15200d; background: var(--accent); }
.case-heading .small-label { font-size: 13px; text-transform: none; letter-spacing: 0; color: var(--accent); }
.case-heading h1 { font-size: clamp(38px, 5vw, 74px); font-weight: 500; }
.case-meta { margin-top: 34px; }
.case-meta div { font-size: 13px; }
.case-meta dt { font-size: 12px; }
.case-cover { border-radius: 4px; background: #192126; }
.case-summary { gap: 42px; }
.case-summary h2 { color: var(--accent); font-size: 21px; font-weight: 500; }
.case-summary p { font-size: 16px; }
.prose { color: var(--muted); }
.prose h1, .prose h2, .prose h3 { font-weight: 500; }
.slider-stage { border-radius: 4px; }
.slider-controls button { width: auto; padding: 0 14px; border-radius: 3px; font-size: 12px; min-height: 44px; }
.slider-controls { font-size: 12px; }
.block-related h3 { font-weight: 500; }
.case-breadcrumb { font-size: 12px; }
.case-end { font-size: 14px; }
@media (min-width: 1600px) {
 .hero h1 { font-size: 62px; }
 .hero { min-height: 750px; }
 .stage-canvas { height: 430px; }
}
@media (max-width: 1200px) {
 .container { padding-inline: 40px; }
 .hero { gap: 34px; min-height: 660px; }
 .hero h1 { font-size: 53px; }
 .hero-intro { font-size: 15px; }
 .hero-actions { gap: 22px; }
 .stage-canvas { height: 345px; }
 .stage-tabs { gap: 16px; }
 .stage-tab { font-size: 10px; }
 .stage-logic { padding: 28px; }
 .stage-logic p { font-size: 15px; }
 .stage-logic h2 { font-size: 25px; }
 .featured-project { gap: 38px; }
 .project-title h3 { font-size: 34px; }
 .project-desc { font-size: 15px; }
 .about-section { grid-template-columns: 240px 1fr; gap: 44px; padding: 44px; }
 .about-identity img { height: 300px; }
 .about-content>p { font-size: 15px; }
 .about-content h2 { font-size: 40px; }
}
@media (max-width: 1023px) {
 .hero { grid-template-columns: 1fr 1fr; gap: 28px; min-height: 620px; }
 .hero h1 { font-size: 43px; }
 .hero-actions { align-items: flex-start; gap: 14px; flex-direction: column; }
 .stage-canvas { height: 325px; }
 .stage-tabs { flex-wrap: wrap; gap: 0 14px; }
 .stage-tab { padding-block: 12px; }
 .stage-bottom { align-items: flex-start; flex-direction: column; gap: 12px; }
 .stage-bottom p { max-width: 100%; }
 .stage-logic { padding: 24px; }
 .stage-logic h2 { font-size: 24px; margin-bottom: 12px; }
 .stage-logic p { font-size: 14px; }
 .stage-logic a { font-size: 12px; margin-top: 12px; }
 .expertise-strip { font-size: 11px; }
 .featured-grid { gap: 68px 30px; }
 .featured-project { grid-template-columns: 1.05fr 1fr; gap: 28px; }
 .project-title h3 { font-size: 29px; }
 .project-meta { margin-bottom: 18px; }
 .project-desc { font-size: 14px; margin-top: 18px; }
 .project-tags { font-size: 10px; }
 .featured-project:nth-child(3) { padding-top: 65px; }
 .featured-project:nth-child(2) .project-title h3, .featured-project:nth-child(3) .project-title h3 { font-size: 28px; }
 .featured-project:nth-child(n) .project-visual { padding: 20px; }
 .section { padding-top: 100px; }
 .about-section { grid-template-columns: 180px 1fr; padding: 32px; gap: 30px; }
 .about-identity img { height: 250px; }
 .about-content h2 { font-size: 35px; }
 .case-summary p { font-size: 14px; }
 .footer-inner { font-size: 10px; }
}
@media (max-width: 767px) {
 .container { padding-inline: 22px; }
 .site-header { height: 72px; }
 .mobile-nav { top: 71px; }
 .hero { display: flex; flex-direction: column; gap: 32px; padding-block: 30px 44px; min-height: auto; }
 .hero-person { margin-bottom: 24px; gap: 12px; }
 .hero-person img { width: 38px; height: 46px; }
 .hero-person p { font-size: 12px; }
 .hero-person p span { font-size: 10px; }
 .hero h1 { font-size: clamp(37px, 10.2vw, 66px); line-height: 1.06; letter-spacing: -.058em; }
 .hero-intro { font-size: 15px; line-height: 1.8; margin-top: 24px; }
 .hero-actions { flex-direction: row; align-items: center; flex-wrap: wrap; gap: 18px; margin-top: 26px; }
 .hero-actions .button { font-size: 12px; padding: 15px 18px; min-height: 50px; }
 .hero-actions .text-link { font-size: 12px; }
 .hero-stage { transform: none; }
 .stage-tabs { gap: 16px; flex-wrap: nowrap; }
 .stage-tab { font-size: 10px; line-height: 1.5; padding-block: 13px; }
 .stage-canvas { height: 280px; margin-top: 16px; }
 .stage-bottom { flex-direction: row; align-items: center; gap: 14px; }
 .stage-bottom p { font-size: 10px; max-width: 44%; }
 .stage-mode { font-size: 11px; padding: 11px 13px; }
 .stage-logic { padding: 24px; }
 .stage-logic h2 { font-size: 23px; }
 .stage-logic p { font-size: 13px; line-height: 1.8; }
 .stage-logic a { font-size: 11px; }
 .expertise-strip { font-size: 11px; gap: 18px 14px; padding-block: 24px; }
 .section { padding-top: 76px; }
 .section-head h2 { font-size: 41px; }
 .section-head p { font-size: 15px; }
 .featured-grid { display: flex; flex-direction: column; gap: 58px; }
 .featured-project:nth-child(n) { display: flex; flex-direction: column; gap: 0; padding-top: 0; align-items: stretch; }
 .featured-project:nth-child(n) .project-copy { order: 0; }
 .featured-project:nth-child(n) .project-visual { aspect-ratio: 1.38; padding: 18px; }
 .featured-project:nth-child(n) .project-meta { margin-top: 24px; margin-bottom: 16px; font-size: 11px; }
 .project-meta strong { font-size: 13px; }
 .featured-project:nth-child(n) .project-title h3 { font-size: 29px; line-height: 1.22; }
 .project-desc { font-size: 15px; line-height: 1.8; }
 .project-tags { font-size: 11px; margin-top: 20px; gap: 8px 16px; }
 .project-read { font-size: 13px; margin-top: 22px; }
 .catalog-heading h2 { font-size: 34px; }
 .filter-button { font-size: 11px; min-height: 42px; }
 .catalog-grid { gap: 28px 14px; }
 .catalog-item h3 { font-size: 13px; line-height: 1.6; }
 .catalog-item p { font-size: 10px; }
 .plugins-layout .section-head h2 { font-size: 40px; }
 .plugins-layout .section-head p { font-size: 15px; }
 .plugin-row { grid-template-columns: 38px 1fr; gap: 16px; }
 .plugin-row h3 { font-size: 16px; }
 .plugin-row p { font-size: 12px; line-height: 1.8; }
 .about-section { margin-top: 80px; padding: 28px 24px; gap: 34px; }
 .about-identity { display: block; }
 .about-identity img { width: 100%; height: 320px; object-position: center 35%; }
 .about-identity h3 { margin-top: 20px; font-size: 23px; }
 .about-identity p { font-size: 12px; }
 .about-content h2 { font-size: 36px; }
 .about-content>p { font-size: 15px; line-height: 1.85; }
 .approach-list p { font-size: 13px; }
 .journal-article h3 { font-size: 28px; max-width: none; }
 .journal-article p { font-size: 15px; }
 .contact-section { padding-block: 54px 62px; }
 .contact-link { font-size: 48px; }
 .contact-section p { font-size: 15px; }
 .footer-inner { font-size: 11px; }
 .footer-links { flex-direction: column; gap: 14px; }
 .case-heading h1 { font-size: 39px; line-height: 1.15; }
 .case-heading .case-description { font-size: 16px; }
 .case-meta div { font-size: 12px; }
 .case-summary p { font-size: 15px; }
 .case-summary h2 { font-size: 23px; }
 .prose { font-size: 15px; }
 .case-breadcrumb { font-size: 11px; }
 .slider-bottom { flex-direction: column; }
 .slider-controls { align-self: flex-end; }
 .cookie-banner { padding: 16px; }
 .cookie-banner p { font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) {
 .stage-canvas > img, .stage-canvas:hover > img { transform: none; }
}

.plugin-users { display: inline-block; margin-top: 12px; color: var(--accent); font-size: 12px; font-variant-numeric: tabular-nums; }
.contact-section>p a { color: var(--accent); text-decoration: underline; text-underline-offset: 5px; }
.save-contact { display: flex; align-items: center; justify-content: space-between; gap: 40px; padding-top: 38px; margin-top: 38px; border-top: 1px solid var(--line); }
.save-contact h3 { font-size: 23px; font-weight: 500; letter-spacing: -.03em; }
.save-contact p { font-size: 15px; max-width: 670px; line-height: 1.85; margin-top: 12px; }
.demo-label { color: var(--accent)!important; font-size: 13px!important; margin-bottom: 24px; }
.automation-workbench { background: #141b1d; border: 1px solid #34433a; border-radius: 6px; overflow: hidden; }
.automation-controls { padding: 24px 28px; display: flex; align-items: center; justify-content: space-between; gap: 28px; border-bottom: 1px solid #34433a; }
.scenario-options { display: flex; flex-wrap: wrap; gap: 8px; }
.scenario-options button { background: transparent; border: 1px solid transparent; border-radius: 3px; padding: 12px 14px; min-height: 44px; color: var(--muted); font-size: 12px; text-align: left; }
.scenario-options button[aria-pressed=true] { color: var(--accent); background: #263327; border-color: #455c39; }
.scenario-options button:hover:not(:disabled) { color: var(--ink); }
.demo-status { color: var(--muted); font-size: 11px; min-width: 155px; text-align: right; }
.automation-map { position: relative; min-height: 480px; display: grid; grid-template-columns: 23% 28% 24%; column-gap: 12.5%; align-items: center; padding: 50px 34px; }
.automation-wires { position: absolute; inset: 50px 34px; width: calc(100% - 68px); height: calc(100% - 100px); overflow: visible; pointer-events: none; }
.automation-wires path { fill: none; stroke: #435341; stroke-width: 1; vector-effect: non-scaling-stroke; }
.automation-wires .wire-active { stroke: var(--accent); stroke-width: 2; stroke-dasharray: 500; stroke-dashoffset: 500; transition: stroke-dashoffset .5s ease; }
.automation-wires .wire-ready { stroke-dashoffset: 0; }
.automation-source,.automation-engine,.automation-output { position: relative; background: #171f21; border: 1px solid #3a4546; border-radius: 4px; transition: border-color .3s, background .3s, box-shadow .3s; }
.automation-source { padding: 26px 22px; min-height: 170px; }
.automation-source>span { font-size: 12px; color: var(--muted); }
.automation-source h3 { font-size: 22px; line-height: 1.3; font-weight: 500; letter-spacing: -.03em; margin: 18px 0; }
.automation-source>p { font-size: 11px; color: var(--muted); }
.automation-engine { padding: 28px 26px; background: #1c2921; }
.engine-heading { color: var(--accent); font-size: 12px; margin-bottom: 22px; }
.automation-engine h3 { font-size: 25px; font-weight: 500; letter-spacing: -.035em; line-height: 1.3; }
.automation-engine>p { color: #bdc7c0; font-size: 13px; line-height: 1.8; margin-top: 16px; }
.engine-state { border-top: 1px solid #3a4d3c; margin-top: 24px; padding-top: 15px; font-size: 11px; color: var(--muted); }
.automation-outputs { display: flex; flex-direction: column; gap: 16px; }
.automation-output { padding: 17px 20px; min-height: 110px; }
.automation-output>span { font-size: 10px; color: var(--muted); }
.automation-output h3 { font-size: 16px; font-weight: 500; margin-top: 8px; }
.automation-output p { font-size: 11px; line-height: 1.65; color: var(--muted); margin-top: 7px; }
.automation-map .node-active { border-color: #a4cd70; background: #203025; }
.automation-map .node-active>span,.node-active .engine-state { color: var(--accent); }
.automation-map.is-running .node-active { box-shadow: 0 0 36px #b2ec6120; }
.automation-map.is-duplicate .automation-engine { background: #283025; border-color: var(--accent); }
.automation-bottom { border-top: 1px solid #34433a; padding: 28px; }
.automation-actions { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.automation-actions .button { font-size: 13px; }
.automation-actions .button:disabled { opacity: .45; cursor: default; }
.demo-reset { border: 0; background: transparent; color: var(--muted); font-size: 12px; padding: 12px; min-height: 44px; }
.automation-result { font-size: 14px; color: var(--muted); line-height: 1.8; margin-top: 20px; min-height: 26px; }
.automation-explanation { margin-top: 22px; display: flex; justify-content: space-between; align-items: flex-start; gap: 40px; }
.automation-explanation>p { font-size: 12px; color: var(--muted); line-height: 1.8; max-width: 610px; }
.automation-explanation>a { font-size: 12px; flex-shrink: 0; max-width: 40%; }
@media (max-width: 1200px) {
 .automation-controls { align-items: flex-start; flex-direction: column; gap: 16px; }
 .demo-status { text-align: left; }
 .automation-map { column-gap: 8%; grid-template-columns: 25% 30% 29%; padding-inline: 24px; }
 .automation-wires { inset-inline: 24px; width: calc(100% - 48px); }
 .automation-source { padding: 22px 18px; }
 .automation-source h3 { font-size: 20px; }
 .automation-engine { padding: 24px 20px; }
 .automation-engine h3 { font-size: 22px; }
 .automation-output { padding: 16px; }
}
@media (max-width: 767px) {
 .save-contact { flex-direction: column; align-items: flex-start; gap: 24px; }
 .save-contact h3 { font-size: 22px; }
 .save-contact p { font-size: 14px; }
 .automation-controls { padding: 20px; gap: 18px; }
 .scenario-options { gap: 7px; flex-direction: column; width: 100%; }
 .scenario-options button { padding: 12px 10px; font-size: 12px; }
 .automation-map { display: flex; flex-direction: column; align-items: stretch; gap: 30px; padding: 28px 20px; }
 .automation-wires { display: none; }
 .automation-source,.automation-engine { min-height: auto; }
 .automation-source { padding: 22px; }
 .automation-source h3 { font-size: 22px; margin: 12px 0; }
 .automation-engine { padding: 24px; }
 .automation-engine:before,.automation-outputs:before { content: ''; position: absolute; height: 31px; width: 1px; left: 50%; top: -31px; background: #526549; }
 .automation-engine.node-active:before,.is-complete:not(.is-duplicate) .automation-outputs:before { background: var(--accent); }
 .automation-outputs { position: relative; gap: 12px; }
 .automation-output { padding: 20px 22px; }
 .automation-output h3 { font-size: 18px; }
 .automation-output p { font-size: 12px; }
 .automation-bottom { padding: 22px 20px; }
 .automation-actions { gap: 12px; }
 .automation-actions .button { width: 100%; font-size: 12px; padding-inline: 12px; }
 .automation-result { font-size: 13px; }
 .automation-explanation { flex-direction: column; gap: 14px; }
 .automation-explanation>a { max-width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
 .automation-wires .wire-active { transition: none; }
 .automation-map.is-running .node-active { box-shadow: none; }
}

/* Full-page FIT SPO capture keeps its original proportions and readable width. */
.slider-stage.full-height img { max-height: none; height: auto; }

/* Aligned project viewer: the artwork sets the composition, not a tilted frame. */
.hero-stage { border: 1px solid #303b40; border-radius: 12px; overflow: hidden; background: #131a1e; }
.stage-tabs { gap: 0; border-bottom: 1px solid #303b40; padding: 6px; }
.stage-tab { flex: 1; text-align: center; padding: 12px 8px; border: 0; margin: 0; border-radius: 6px; line-height: 1.4; }
.stage-tab[aria-selected=true] { background: #25312b; color: #d1efaa; }
.stage-canvas { height: auto; aspect-ratio: 4 / 3; margin: 0; background: #10171b; }
.stage-bottom { padding: 16px 18px; border-top: 1px solid #303b40; }
.stage-canvas.show-logic { aspect-ratio: auto; min-height: 380px; }
@media (max-width: 767px) {
 .hero-stage { border-radius: 9px; }
 .stage-tabs { padding: 5px; gap: 3px; }
 .stage-tab { font-size: 11px; min-height: 48px; padding: 8px 5px; }
 .stage-canvas { height: auto; margin: 0; aspect-ratio: 4 / 3; }
 .stage-bottom { padding: 12px; gap: 10px; }
 .stage-bottom p { font-size: 11px; }
 .stage-mode { font-size: 11px; padding: 10px; }
 .stage-canvas.show-logic { min-height: 310px; }
}

/* Процесс в кейсе читается сверху вниз, а не листанием карусели:
   каждый экран стоит отдельным шагом со своей подписью. Ширина колонки
   и высота кадра подогнаны к текстовой колонке: в ленте из семи экранов
   кадр во всю ширину подавлял подпись, ради которой шаг и существует. */
.block-steps{display:flex;flex-direction:column;gap:52px;max-width:820px;margin-left:auto;margin-right:auto}
.step-shot{margin:0}
.step-shot .slider-stage{padding:18px}
.step-shot .slider-stage img{max-height:none}
.step-shot .slider-stage.full-height img{max-height:none}
.step-shot .image-caption{display:flex;gap:14px;align-items:baseline;margin:0 0 16px;
 font-size:18px;line-height:1.65;font-weight:500;letter-spacing:-.01em;color:var(--ink)}
.step-num{flex:0 0 auto;min-width:22px;font-size:15px;color:var(--accent-dark);
 font-variant-numeric:tabular-nums}
@media(max-width:767px){
 .block-steps{gap:30px}
 .step-shot .slider-stage{padding:12px}
 .step-shot .slider-stage img{max-height:none}
 .step-shot .image-caption{gap:10px;margin:0 0 12px;font-size:15px;line-height:1.65}
 .step-num{font-size:13px;min-width:18px}
}

/* Обложка внутри кейса перестала быть вторым героем: на десктопе она стоит
   справа от заголовка небольшим кадром, ведёт заголовок. Интерактивное
   превью (iframe) остаётся во всю ширину, его мелким не сделать. */
.case-top{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:56px;align-items:start}
.case-top .case-heading{max-width:none;padding-bottom:0}
.case-top .case-cover{padding:14px;margin-top:62px;align-self:start}
.case-top .case-cover img{max-height:210px}
.case-top-wide{display:block}
.case-top-wide .case-cover{padding:40px;margin-top:0}
.case-top-wide .case-cover img{max-height:760px}
@media(max-width:900px){
 .case-top{display:block}
 .case-top .case-cover{margin-top:0;padding:14px}
 .case-top .case-cover img{max-height:340px}
}

/* Services follow featured projects and precede the remaining case catalog. */
.services-section{margin-top:100px;padding-top:72px;border-top:1px solid var(--line);scroll-margin-top:100px}
.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.service-card{display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:30px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}
.service-number{font-size:12px;color:var(--accent);font-variant-numeric:tabular-nums;margin-bottom:24px}
.service-card h3{font-size:25px;font-weight:500;line-height:1.25;letter-spacing:-.025em;margin:0 0 18px}
.service-card>p{font-size:15px;line-height:1.8;color:var(--muted);margin:0 0 26px}
.service-card>.text-link{margin-top:auto;line-height:1.5}
.service-card--consultation{border-color:var(--accent);background:#1c2821}
.service-card>.service-price{font-size:30px;font-weight:550;line-height:1.3;color:var(--accent);white-space:nowrap}
.service-price span{font-size:15px;font-weight:400;color:var(--muted)}
.services-footer{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:30px}
.services-footer p{font-size:14px;line-height:1.7;color:var(--muted)}
@media(max-width:1100px){.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.services-section{margin-top:64px;padding-top:44px;scroll-margin-top:88px}.services-grid{grid-template-columns:1fr;gap:14px}.service-card{padding:24px}.service-number{margin-bottom:18px}.service-card h3{font-size:24px}.service-card>p{font-size:14px;margin-bottom:20px}.services-footer{align-items:flex-start;flex-direction:column;gap:18px;margin-top:24px}}

/* Keep controls and long copy inside narrow screens. */
.hero-note{margin-top:14px;font-size:12px;line-height:1.6;color:var(--muted)}
.services-footer p{max-width:660px}
.plugin-row>div,.save-contact>div{min-width:0}
.case-breadcrumb{flex-wrap:wrap;overflow-wrap:anywhere}
.case-heading h1,.service-card h3,.about-content h2{overflow-wrap:break-word}
.mobile-nav{max-height:calc(100dvh - 72px);overflow-y:auto}
@media(max-width:767px){
 .save-contact{flex-direction:column;align-items:flex-start;gap:22px}
 .save-contact .button{max-width:100%;white-space:normal;text-align:center}
 .stage-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
 .stage-tab{min-width:0;font-size:12px;min-height:44px}
 .stage-bottom{flex-wrap:wrap}
 .stage-bottom p{flex:1 1 110px;max-width:none}
 .stage-mode{min-height:44px;max-width:100%;white-space:normal}
 .search-wrap input{font-size:16px}
 .services-footer .button{max-width:100%;white-space:normal;text-align:center}
 .hero-note{margin-top:12px}
}
@media(max-width:374px){
 .container{padding-inline:16px}
 .hero h1{font-size:34px}
 .section-head h2{font-size:36px}
 .contact-link{font-size:39px}
 .project-meta{flex-wrap:wrap;gap:6px}
 .case-heading h1{font-size:34px}
 .about-section{padding:24px 18px}
 .cookie-banner{flex-wrap:wrap}
}

/* Responsive picture wrappers preserve the existing image layout. */
.media-picture{display:block;max-width:100%;width:100%;min-width:0}
.media-picture>img{display:block;max-width:100%;height:auto}
.project-visual>.media-picture,.catalog-image>.media-picture{display:flex;width:100%;height:100%;align-items:center;justify-content:center}
.project-visual .media-picture>img{width:100%;height:100%;object-fit:contain}
.catalog-image .media-picture>img{width:100%;height:100%;object-fit:cover}
.stage-canvas:not(.show-logic){position:relative}
.stage-canvas>.media-picture{position:absolute;inset:0;width:100%;height:100%}
.stage-canvas>.media-picture>img{width:100%;height:100%;object-fit:contain;max-height:none}
.hero-person>.media-picture{flex:0 0 44px;width:44px;height:54px}
.hero-person>.media-picture>img{width:100%;height:100%;object-fit:cover}
.plugin-icon.media-picture{width:48px;height:48px}
.plugin-icon.media-picture>img{width:100%;height:100%;object-fit:contain}
.about-identity .media-picture>img{width:100%;height:340px;object-fit:cover}
@media(max-width:1023px){.about-identity .media-picture>img{height:250px}}
@media(max-width:767px){
 .hero-person>.media-picture{flex-basis:38px;width:38px;height:46px}
 .plugin-icon.media-picture{width:38px;height:38px}
 .about-identity .media-picture>img{height:320px}
}

.block-video video{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;border-radius:4px;background:#000}
