/* Anuchin revision: focused overrides keep the approved design intact. */
.brand-lockup{display:block;flex:none;text-decoration:none;line-height:0}
.brand-lockup img{width:244px;height:auto;max-width:100%}
.studio-header{height:116px}
.nav-anchor{width:auto;height:64px}
.header-nav{position:relative;left:auto;top:auto;bottom:auto;transform:none;max-width:none;box-shadow:none;will-change:auto;background:transparent;border:0}
.docked-nav{top:auto!important;left:50%!important;bottom:18px}
.docked-nav[data-placement=header]{visibility:hidden;opacity:0;pointer-events:none}
.docked-nav[data-placement=header][data-exiting=true]{visibility:visible;opacity:1}
.hero-visual>img{object-position:50% 46%}
.case-shortcut h2{font-size:clamp(32px,3.2vw,46px)}
.code-comment{font-family:'Cascadia Code','JetBrains Mono',Consolas,monospace!important;font-size:17px!important;font-weight:500;line-height:1.65!important;color:#3563a4!important;letter-spacing:-.025em;max-width:390px}
.code-comment::before{content:'/* ';color:#597bb2}.code-comment::after{content:' */';color:#597bb2}
.section-head{align-items:flex-end;align-items:last baseline}.section-head>.code-comment{align-self:auto;align-self:last baseline;margin-bottom:0}
.platform-labels>span,.case-shortcut .platform-labels>span,.mobile-card .platform-labels>span,.web-card .platform-labels>span{background:#6040d6;border:0;color:#fff;font-weight:800;font-size:14px;box-shadow:none}
.service-grid{grid-template-columns:repeat(12,minmax(0,1fr))}
.service-card{padding:28px;gap:16px;min-height:0}
.software-card,.web-card{grid-column:span 6;min-height:0}
.service-card h3,.web-card h3{font-size:40px;line-height:1.08}
.service-card p,.web-card p{font-size:18px;line-height:1.55}
.service-number{font-size:100px;line-height:.85;letter-spacing:-.06em;font-weight:900;color:#7357b7}.service-icon{width:46px;height:46px;border-radius:15px}.service-icon .icon{width:29px;height:29px}
.service-top{justify-content:flex-end;margin-bottom:0;min-height:78px}.service-heading{display:flex;align-items:center;gap:15px;max-width:100%;min-width:0}.service-heading h3{min-width:0;text-wrap:initial}.service-heading .service-icon{flex:none}
.software-card>.service-top,.web-card>.service-top{position:absolute;right:28px;top:28px;width:auto;min-height:0;pointer-events:none}.software-card>.service-heading,.web-copy>.service-heading{padding-right:104px;min-height:86px;align-items:center;width:100%}
.service-card .platform-labels{margin-top:auto;padding-top:4px;width:100%}
.code-visual{margin-top:0;gap:8px;font-size:15px}.code-visual>span{padding:9px 11px}
.software-card .code-visual{width:100%;min-height:140px;flex:1;padding:20px 18px;border-radius:20px;background:#e9e5f2;justify-content:space-between;font-size:18px;margin:2px 0}
.software-card .code-visual>span{background:#fff;padding:14px 16px;border-radius:14px}.software-card .code-visual>.icon{width:25px;height:25px}
.web-content{width:100%;display:grid;gap:18px}.web-copy{display:grid;gap:18px}
.web-visual-frame{height:auto;width:min(100%,450px);aspect-ratio:3/2;max-height:none;overflow:hidden;border-radius:20px;background:#ded8f0;display:block;justify-self:start}
.web-product-visual{height:auto;width:100%;max-width:100%;max-height:none;margin:0;aspect-ratio:3/2;object-fit:contain;object-position:center;border-radius:0}
.software-visual{width:100%;height:300px;padding:20px;border-radius:20px;background:#e9e5f2;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:20px;color:#252132}.software-route{display:grid;grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr) 20px minmax(0,1fr);align-items:center;gap:8px}.software-route>.icon{width:20px;height:20px;color:#7357b7}.software-node{background:#fff;border-radius:16px;padding:18px 8px;display:flex;align-items:center;flex-direction:column;gap:10px;min-width:0;text-align:center}.software-node>.icon{width:32px;height:32px;color:#6040d6}.software-node strong{font-size:21px;line-height:1.2}.software-node span{font-size:13px;line-height:1.45}.software-core{background:#6040d6;color:#fff}.software-core>.icon{color:#fff}.software-capabilities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.software-capabilities>div{background:#fff9;border-radius:14px;padding:14px 6px;display:flex;align-items:center;flex-direction:column;gap:9px;text-align:center;min-width:0}.software-capabilities .icon{width:23px;height:23px;color:#6040d6}.software-capabilities strong{font-size:13px;line-height:1.4;overflow-wrap:anywhere}
.solutions-cta{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:32px}.solutions-cta h3{font-size:clamp(40px,4vw,58px)}.solutions-cta p{max-width:660px;margin-top:18px}.solutions-cta .button{width:auto;margin:0;min-height:72px;font-size:20px;padding:22px 28px;flex-shrink:0}
.contact-links a{justify-content:flex-start;transition:color .18s}.contact-links a:hover,.contact-links a:focus-visible{color:var(--lav)}
.case-intro{margin-bottom:28px}.case-category{display:flex;gap:14px;align-items:center;font-size:20px;font-weight:800;color:#685295;margin-bottom:26px}.case-category .icon{width:31px;height:31px}
.case-intro .section-head{margin:0}.case-intro h2{font-size:clamp(42px,4.7vw,68px);line-height:1.08;max-width:810px}
.case-panel{grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:20px;align-items:stretch;min-height:0;padding:24px}
.case-summary{margin:0;padding:28px;display:flex;flex-direction:column;justify-content:center}
.case-summary>h3{font-size:38px;line-height:1.12;margin-bottom:26px;letter-spacing:-.025em}
.case-summary .screen-note{font-size:17px;margin-top:22px}.case-summary .screen-row p,.case-summary .screen-card p{font-size:16px}
.case-interface{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:18px;border-radius:24px;background:#fff}
.interface-caption{display:flex;align-items:center;gap:10px;color:#756a82;font-size:15px;font-weight:700;line-height:1.45;margin-top:15px}.interface-caption .icon{width:20px;height:20px;color:#7a60ac}
.interface-crop{position:relative;overflow:hidden;width:100%;aspect-ratio:var(--crop-ratio);border-radius:var(--crop-radius,0);background:#fff;min-width:0}
.interface-crop img{position:absolute;max-width:none;display:block;width:var(--crop-scale);height:auto;left:var(--crop-left);top:var(--crop-top);opacity:1;filter:contrast(1.06)}
.case-interface .image-error{padding:30px 20px;background:#f4f2f8;border-radius:16px;color:#675c79;font-size:17px}
.case-dialog{width:min(1280px,calc(100vw - 24px))}.case-dialog .dialog-content{display:grid;gap:18px}
.case-dialog .interface-crop{max-width:1060px;margin:auto}.case-dialog .interface-caption{font-size:17px}
.process-grid article{padding:26px 22px}.process-grid h3{font-size:30px;overflow-wrap:normal}
.studio-footer{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:28px;padding:38px 10px;align-items:center}
.studio-footer .footer-comment{font-size:15px!important;margin:0;max-width:290px;color:#96b4e2!important}
.footer-comment:before,.footer-comment:after{color:#7795c1}
.footer-brand{display:flex;align-items:flex-end;justify-content:center;gap:16px;margin:0}.footer-brand .brand-lockup img{width:206px}.footer-year{font-size:14px;white-space:nowrap;line-height:1;margin-bottom:2px}
.privacy-link{justify-self:end;font-size:15px;gap:10px;line-height:1.5;text-align:right}.privacy-link .icon{width:23px;height:23px;flex:none;color:var(--lav)}
@media(max-width:1180px){
  .service-card:not(.software-card):not(.web-card){grid-column:span 6}.service-card:last-child{grid-column:span 12!important}
  .brand-lockup img{width:222px}.floating-nav a{padding:12px 13px;font-size:13px}
  .service-card{padding:24px}.service-card h3,.web-card h3{font-size:36px}.service-card p,.web-card p{font-size:17px}
  .service-number{font-size:88px}.service-icon{width:42px;height:42px}.web-visual-frame{height:auto}
  .software-card>.service-top,.web-card>.service-top{right:24px;top:24px}.software-card>.service-heading,.web-copy>.service-heading{padding-right:92px;min-height:78px}
  .case-panel{grid-template-columns:1fr 1fr;padding:20px;gap:14px}.case-summary{padding:22px}.case-summary>h3{font-size:32px}.case-summary .role-overview{grid-template-columns:1fr}.case-summary .role-overview>div{display:grid;grid-template-columns:33px 1fr}.case-summary .role-overview .icon{grid-row:span 2;margin:0}.case-summary .role-overview h4{margin:0}
  .studio-footer{gap:20px}.footer-brand{gap:12px}.footer-brand .brand-lockup img{width:185px}.privacy-link{font-size:14px}
}
@media(min-width:901px) and (max-width:1180px){
  .software-card>.service-heading,.web-copy>.service-heading{padding-right:88px;gap:12px}.software-card h3,.web-card h3{font-size:32px}.software-card .service-icon,.web-card .service-icon{width:36px;height:36px}
  .software-visual{padding:14px}.software-route{grid-template-columns:minmax(0,1fr) 14px minmax(0,1fr) 14px minmax(0,1fr);gap:5px}.software-route>.icon{width:14px;height:14px}.software-node{padding:16px 4px}.software-node strong{font-size:17px}
}
@media(max-width:900px){
  .studio-header{height:100px}.header-nav,.nav-anchor{display:none}.brand-lockup img{width:234px}
  .docked-nav{bottom:calc(12px + env(safe-area-inset-bottom))}.floating-nav a{padding:9px 7px;font-size:12px}
  .code-comment{font-size:16px!important;max-width:620px}.section-head>.code-comment{margin-top:24px}
  .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-card,.software-card,.web-card,.service-card:last-child{grid-column:auto;grid-row:auto;min-height:0}
  .software-card,.web-card{grid-column:span 2}.web-content{grid-template-columns:1fr;align-items:center}.web-visual-frame{height:auto;max-height:none}
  .service-card h3,.web-card h3{font-size:32px}.service-card p,.web-card p{font-size:18px}
  .service-card:not(.software-card):not(.web-card){grid-column:auto}.service-card:last-child{grid-column:span 2!important}
  .service-card:last-child{grid-column:span 2}.case-panel{grid-template-columns:1fr}.case-summary>h3{font-size:38px}.case-interface{max-width:100%;padding:20px}.case-summary .role-overview{grid-template-columns:1fr}
  .process-grid h3{font-size:34px}.studio-footer{grid-template-columns:1fr;justify-items:center;text-align:center;gap:28px}.studio-footer .footer-comment{max-width:none}.footer-brand{grid-row:1}.privacy-link{justify-self:center;text-align:center}.footer-brand .brand-lockup img{width:215px}
  .solutions-cta{align-items:flex-start}.solutions-cta h3{font-size:46px}.solutions-cta .button{width:auto;margin:0;font-size:17px;min-height:62px;padding:18px 20px}
}
@media(max-width:600px){
  .case-shortcut h2{font-size:clamp(30px,8.8vw,42px)}
  .studio-header{height:94px;padding:17px 16px}.brand-lockup img{width:216px}
  .hero-visual{min-height:320px;aspect-ratio:1.08}.hero-visual>img{object-position:50% 50%}.visual-label{font-size:29px}
  .service-grid{grid-template-columns:1fr}.service-card,.software-card,.web-card,.service-card:last-child{grid-column:auto;padding:24px;gap:18px}
  .service-card:last-child{grid-column:auto!important}
  .service-top{margin:0;min-height:70px}.service-number{font-size:90px}.service-card h3,.web-card h3{font-size:36px}.service-card p,.web-card p{font-size:18px;line-height:1.55}.service-heading{gap:12px}.service-heading .service-icon{width:36px;height:36px;border-radius:12px}.service-heading .service-icon .icon{width:25px;height:25px}
  .software-card>.service-top,.web-card>.service-top{position:relative;right:auto;top:auto;min-height:42px;width:100%;margin-bottom:-6px}.software-card>.service-top .service-number,.web-card>.service-top .service-number{font-size:56px}.software-card>.service-heading,.web-copy>.service-heading{padding-right:0;min-height:0}
  .service-card .platform-labels{margin-top:0;padding-top:6px}.platform-labels>span,.case-shortcut .platform-labels>span{font-size:14px;padding:9px 12px}
  .web-content{grid-template-columns:1fr}.web-visual-frame{height:auto;max-height:none}.web-copy{gap:18px}.web-product-visual{height:auto;width:100%;margin:0;max-height:none}
  .software-visual{height:auto;min-height:0;padding:12px;gap:12px}.software-route{grid-template-columns:minmax(0,1fr);gap:5px}.software-route>.icon{width:14px;height:14px;transform:rotate(90deg);justify-self:center}.software-node{flex-direction:row;display:grid;grid-template-columns:24px minmax(0,1fr);text-align:left;padding:8px 10px;gap:2px 10px}.software-node>.icon{grid-row:span 2;width:24px;height:24px}.software-node strong{font-size:18px}.software-node span{font-size:13px}.software-capabilities{display:flex;flex-wrap:wrap;gap:8px}.software-capabilities>div{flex-direction:row;text-align:left;padding:8px 9px;gap:7px}.software-capabilities>div:nth-child(2){order:3}.software-capabilities>div:nth-child(3){order:2}.software-capabilities .icon{width:18px;height:18px}.software-capabilities strong{font-size:13px}
  .code-visual{gap:7px;font-size:14px}.code-visual>span{padding:9px 10px}
  .software-card .code-visual{font-size:15px;min-height:82px;padding:15px 8px;gap:5px;flex-wrap:nowrap}.software-card .code-visual>span{padding:10px 0;background:transparent;white-space:nowrap}.software-card .code-visual>.icon{width:17px;height:17px}
  .code-comment{font-size:15px!important;line-height:1.7!important}.case-category{font-size:17px;gap:10px;align-items:flex-start;line-height:1.5;margin-bottom:20px}.case-category .icon{width:26px;height:26px}
  .case-intro h2{font-size:40px}.case-panel{padding:16px;gap:12px}.case-summary{padding:22px 18px}.case-summary>h3{font-size:32px;line-height:1.12;margin-bottom:24px}.case-summary .screen-note{font-size:16px}.case-interface{padding:12px}.interface-caption{font-size:14px;margin-top:12px}
  .case-summary .screen-header strong{font-size:24px}.case-summary .ai-flow strong{font-size:24px}.case-controls{padding:16px}
  .case-dialog{padding:20px 14px}.case-dialog h3{font-size:27px}.case-dialog .interface-caption{font-size:15px}
  .process-grid h3{font-size:34px}.process-grid article{padding:26px}
  .footer-brand{flex-direction:row;align-items:flex-end;gap:12px}.footer-brand .brand-lockup img{width:clamp(165px,52vw,218px)}.studio-footer{padding:32px 18px}.privacy-link{font-size:15px}.solutions-cta{display:block;padding:26px}.solutions-cta h3{font-size:41px}.solutions-cta .button{width:auto;max-width:100%;margin-top:26px;font-size:17px;padding:18px 22px}
}
@media(max-width:360px){.service-card{padding:22px}.service-card h3,.web-card h3{font-size:29px}.service-heading{gap:9px}.service-heading .service-icon{width:30px;height:30px}.service-heading .service-icon .icon{width:23px;height:23px}.case-intro h2{font-size:35px}.case-summary>h3{font-size:29px}.process-grid h3{font-size:32px}.floating-nav a{font-size:11px;padding:9px 5px}.software-card .code-visual{font-size:13px;gap:3px}.software-card .code-visual>.icon{width:14px;height:14px}}
@media(prefers-reduced-motion:reduce){.docked-nav{will-change:auto}}
