/* DITOAXIS corporate presentation. Portfolio and dialog behavior use home.css. */
body{background:#fff}.site-header{border-bottom:1px solid #e8edf4;max-width:none;padding-left:max(2.5rem,calc((100% - 1248px)/2));padding-right:max(2.5rem,calc((100% - 1248px)/2));padding-top:1.25rem;padding-bottom:1.25rem}.site-header nav{gap:1.8rem}.site-header nav a{font-size:.875rem}.corporate-hero{padding-top:4.5rem;padding-bottom:5.5rem;gap:3rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,24rem),1fr));min-height:620px}.corporate-hero .studio-note{color:var(--teal);font-weight:650;margin-bottom:1.5rem;font-size:1rem}.corporate-hero h1{font-size:clamp(2.6rem,4.9vw,4.35rem);line-height:1.18;letter-spacing:-.065em;font-weight:750}.corporate-hero .hero-description{max-width:32em;font-size:1.0625rem;line-height:1.95;margin-top:1.8rem;margin-bottom:2rem}.hero-actions{display:flex;align-items:center;gap:1.6rem;flex-wrap:wrap}.primary-action{border-radius:7px}.text-action{display:inline-flex;align-items:center;min-height:48px;font-size:.9375rem;font-weight:600;text-decoration:none}.text-action:hover{text-decoration:underline}.brand-sculpture{width:100%;min-width:0;max-width:35rem;justify-self:center;animation:brand-arrive .65s var(--ease) both}.brand-sculpture svg{width:100%;height:auto;display:block;stroke:none}.brand-sculpture svg path{stroke-linejoin:round}.company-section{padding:5rem max(2.5rem,calc((100% - 1248px)/2));background:#f4f7fb}.company-intro{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr));gap:1.2rem 4rem;align-items:start}.company-intro>.section-context{grid-column:1/-1;margin:0}.company-intro>h2{font-size:clamp(1.85rem,3vw,2.4rem);line-height:1.4}.company-intro>p:last-child{color:var(--muted);font-size:1.0625rem;line-height:1.95;max-width:34em}.capability-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));gap:2.2rem;margin-top:3.2rem}.capability-grid article{border-top:2px solid #b9cce8;padding-top:1.4rem}.capability-grid h3{font-size:1.125rem;letter-spacing:-.035em;font-weight:650;margin-bottom:.8rem}.capability-grid p{font-size:.9375rem;line-height:1.85;color:var(--muted)}.products-section{padding:5rem max(2.5rem,calc((100% - 1248px)/2))}.products-section .section-intro{margin-bottom:2.5rem}.product-stage.hero-workspace{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr));border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:none;animation:none;overflow:visible}.product-stage .axis-scene{position:static;aspect-ratio:auto;min-height:0;width:100%;min-width:0;display:flex;flex-direction:column;padding:1.1rem;gap:.4rem;isolation:auto;border-right:1px solid var(--line)}.product-stage .scene-node{position:static;rotate:0;transform:none!important;width:100%;max-width:none;min-width:0;display:flex;align-items:center;gap:1rem;text-align:left;min-height:104px;padding:1rem;border:1px solid transparent;border-radius:8px;text-decoration:none;filter:none;transition:background .2s,border-color .2s}.product-stage .scene-node img{display:block;width:58px;height:58px;flex-shrink:0;border-radius:22%;margin:0;filter:none}.product-stage .scene-node>span{display:block;margin:0;padding:0;max-width:none;background:none!important;color:var(--ink)!important;border-radius:0;flex:1;min-width:0}.product-stage .scene-node strong{display:block;font-size:1.0625rem;line-height:1.5;font-weight:650;letter-spacing:-.03em}.product-stage .scene-node small{display:block;font-size:.875rem;font-weight:400;color:var(--muted);line-height:1.5;margin-top:.2rem}.product-stage .scene-node>svg{width:20px;height:20px;color:#6d82a0}.product-stage .scene-node[aria-current=true]{background:#eef3fd;border-color:#c6d5ee;box-shadow:inset 3px 0 0 var(--blue)}.product-stage .scene-node:hover{background:#f4f7fb}.product-stage .scene-node[aria-current=true]:hover{background:#eef3fd}.product-stage .feature-preview{background:#f7f9fd;border:0;border-radius:0 9px 9px 0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:1.7rem;padding:3rem;min-width:0;min-height:0}.feature-icon{width:106px;height:106px;border-radius:24%;box-shadow:0 12px 22px -16px #233f7455}.product-stage .feature-category{font-size:.875rem}.product-stage .feature-title{font-size:2rem;line-height:1.4;margin:.5rem 0 .8rem;letter-spacing:-.05em}.product-stage .feature-description{font-size:1.0625rem;line-height:1.9;max-width:30em}.product-stage .feature-open{flex-direction:row;gap:.75rem;min-width:0;min-height:48px;padding:.8rem 0;border:0;background:transparent;border-radius:0;font-size:.9375rem;font-weight:650;color:var(--blue);margin:0}.product-stage .feature-open:hover{text-decoration:underline;text-underline-offset:.3em}.product-stage .feature-open>svg{width:22px;height:22px}.portfolio-section{background:#f5f7fa;border-top:1px solid #e5ebf3}.portfolio-section .section-intro h2{font-size:clamp(1.8rem,3vw,2.35rem)}.project{border-radius:12px}.project:hover{box-shadow:none;border-color:#91a8c8}.project>article{padding:1.5rem}.project-category{border-radius:4px}.search{background:#fff;border-radius:7px}.filters>button{border-radius:6px}.load-more,.empty-reset{border-radius:7px;background:#fff}.portfolio-note{margin-top:.7rem}.lab-section{padding-top:3rem;padding-bottom:3.5rem;background:#f5f7fa}.lab-section .section-intro h2{font-size:1.65rem}.lab-section .section-intro{margin-bottom:1.8rem}.lab-section .section-context{color:var(--muted)}.lab-project{background:transparent}.lab-project>article{padding:1.3rem}.lab-project .project-top>img{width:52px;height:52px}.lab-project h3{font-size:1.0625rem}.lab-project .project-description{font-size:.875rem}.principles-section{max-width:1328px;margin:auto;padding:5rem 2.5rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,23rem),1fr));gap:3.5rem 6rem}.principles-list{display:flex;flex-direction:column;gap:1.7rem}.principles-list article{padding-bottom:1.7rem;border-bottom:1px solid var(--line)}.principles-list h3{font-size:1.125rem;font-weight:650;letter-spacing:-.03em;margin-bottom:.45rem}.principles-list p{font-size:1rem;color:var(--muted);line-height:1.85}.contact-section{max-width:none;margin:0;padding:3.5rem max(2.5rem,calc((100% - 1248px)/2));background:var(--ink);border:0;border-radius:0;color:#fff;gap:2rem}.contact-section .section-context{color:#bccded}.contact-section h2{font-size:clamp(1.7rem,2.8vw,2.2rem)}.contact-section p:not(.section-context){color:#d0dced;font-size:1rem}.contact-action{border:1px solid #7185a1;border-radius:8px;padding:1.1rem 1.4rem;min-width:0;flex-shrink:1}.contact-action>span:nth-child(2){color:#d0dced}.contact-action>svg{color:#d0dced}.site-footer{padding-top:2.8rem;padding-bottom:1.5rem}.service-dialog{border-radius:18px}.dialog-art{background:#eef3fb}.dialog-copy>h2{font-weight:700}.footer-brand{font-size:1.6rem}
@keyframes brand-arrive{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@container(width < 36em){.product-stage .axis-scene{border-right:0;border-bottom:1px solid var(--line)}.product-stage .scene-node{min-height:84px}.product-stage .feature-preview{padding:2rem;border-radius:0 0 9px 9px}}
@media(max-width:1020px){.site-header nav{gap:1.1rem}.product-stage.hero-workspace{grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr))}.product-stage .feature-preview{padding:2rem}.corporate-hero{padding-top:3rem;padding-bottom:4rem;gap:2rem}.contact-section{margin:0;padding-top:3rem;padding-bottom:3rem;flex-direction:column;align-items:flex-start}}
@media(max-width:760px){.site-header{padding:1rem 1.25rem;gap:.6rem 1.2rem}.site-header nav{gap:.5rem 1rem}.site-header nav a{font-size:.875rem}.corporate-hero{padding:2.8rem 1.25rem 3rem;min-height:0;grid-template-columns:1fr;gap:2rem}.corporate-hero h1{font-size:clamp(2.45rem,8.6vw,3.9rem)}.corporate-hero .hero-description{font-size:1rem;margin:1.4rem 0 1.6rem;line-height:1.9}.corporate-hero .studio-note{font-size:.875rem;margin-bottom:1.2rem}.brand-sculpture{max-width:19rem}.hero-actions{gap:1.25rem}.primary-action{font-size:.9375rem}.company-section,.products-section{padding:3.5rem 1.25rem}.company-intro{gap:1.2rem}.company-intro>p:last-child{font-size:1rem}.capability-grid{margin-top:2rem;gap:1.8rem}.product-stage.hero-workspace{grid-template-columns:1fr}.product-stage .axis-scene{border-right:0;border-bottom:1px solid var(--line);padding:.75rem;gap:.2rem}.product-stage .scene-node{padding:.8rem;min-height:86px;gap:1rem}.product-stage .scene-node img{width:52px;height:52px}.product-stage .scene-node strong{font-size:1rem}.product-stage .feature-preview{padding:1.8rem;border-radius:0 0 9px 9px;gap:1.3rem}.product-stage .feature-title{font-size:1.8rem}.product-stage .feature-description{font-size:1rem}.feature-icon{width:88px;height:88px}.product-stage .feature-open{font-size:.9375rem}.project>article{padding:1.5rem}.lab-section{padding:2.8rem 1.25rem}.principles-section{padding:3.5rem 1.5rem;gap:2rem}.principles-section h2{font-size:1.8rem}.contact-section{padding:2.8rem 1.5rem}.contact-section h2{font-size:1.7rem}.contact-action{width:100%;max-width:100%;padding:1rem;column-gap:1rem}.contact-action>span:nth-child(2){font-size:.875rem}.site-footer{padding:2rem 1.5rem 1rem}}
@media(prefers-reduced-motion:reduce){.brand-sculpture{animation:none!important;transform:none}*{scroll-behavior:auto!important}}
.product-stage .scene-node{rotate:none}
.company-section{container-type:inline-size}
.company-intro{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}
@container(width < 48em){.company-intro{grid-template-columns:1fr}}
@container(width < 24em){.product-stage .axis-scene{padding:.5rem}.product-stage .scene-node{display:grid;grid-template-columns:52px minmax(0,1fr);gap:.5rem;padding:.65rem;min-height:84px}.product-stage .scene-node>svg{display:none}.product-stage .feature-preview{padding:1.3rem}.product-stage .feature-open{max-width:100%;flex-wrap:wrap;justify-content:flex-start;text-align:left;gap:.5rem}}
@media(prefers-reduced-motion:reduce){@view-transition{navigation:none}}
/* Featured services share the portfolio's detail dialog. */
.featured-services{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-bottom:2rem;scroll-margin-top:2rem}
.featured-service{display:flex;align-items:center;gap:.65rem;min-height:64px;min-width:0;padding:.75rem;border:1px solid #bacce8;border-radius:8px;background:#eef3fd;text-decoration:none;font-weight:650;font-size:.9375rem}
.featured-service img{flex-shrink:0;border-radius:22%}
.featured-service span{flex:1;min-width:0}
.featured-service svg{width:20px;height:20px;color:var(--blue)}
.featured-service:hover{border-color:var(--blue)}
.project>article{position:relative;gap:0}
.project-icon{width:64px;height:64px;border-radius:24%;background:var(--canvas);margin-bottom:.75rem}
.project-copy{flex:1;min-width:0}
.project h3{margin-bottom:.35rem}
.project-description{line-height:1.65}
.project-category{display:inline-block;font-size:.875rem;margin-top:.65rem}
.project-bottom{margin-top:.75rem;flex-direction:row;flex-wrap:wrap;align-items:center}
.lab-project .project-icon{width:52px;height:52px}
@media(max-width:900px){.featured-services{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){
 .featured-services{grid-template-columns:1fr;gap:.5rem;margin-bottom:1.5rem}
 .featured-service{padding:.5rem .75rem;min-height:56px}
 .project-grid,.lab-grid{grid-template-columns:1fr;gap:0}
 .project,.lab-project{border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent}
 .project>article,.lab-project>article{display:grid;grid-template-columns:48px minmax(0,1fr);gap:0 .8rem;padding:1rem 2.5rem 1rem 0;align-items:start}
 .project-icon,.lab-project .project-icon{width:48px;height:48px;margin:0}
 .project-copy{grid-column:2}
 .project h3{font-size:1.0625rem;margin-bottom:.2rem}
 .project-description,.lab-project .project-description{font-size:.875rem;line-height:1.5}
 .project-category{padding:0;background:none;margin-top:.35rem;line-height:1.5}
 .project-bottom{display:contents}
 .project-platform{grid-column:2;font-size:.875rem;margin-top:.2rem}
 .project .open-service{position:absolute;inset:0;width:100%;height:100%;min-height:48px;padding:0;border-radius:4px}
 .open-service>svg{position:absolute;right:0;top:calc(50% - 10px);width:20px;height:20px}
 .open-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 .static-connection{grid-column:2;min-width:0;margin-top:.25rem}
}
