/* Scoped foundation replacing the mock's Tailwind preflight. */
body.corporate-home { background:#fff; margin:0; padding:0; min-width:0; }
.corporate-home *, .corporate-home *::before, .corporate-home *::after {box-sizing:border-box;}
.corporate-home main {display:block;max-width:none;margin:0;padding:0;border:0;box-shadow:none;background:transparent;}
.corporate-home h1,.corporate-home h2,.corporate-home h3,.corporate-home p {padding:0;border:0;background:transparent;box-shadow:none;}
.corporate-home a {text-decoration:none;}
.corporate-home button {font:inherit;letter-spacing:inherit;}
.corporate-home svg {display:inline-block;vertical-align:middle;}
.corporate-home img {max-width:100%;}
.corporate-home ul,.corporate-home ol {padding:0;}
.corporate-home{--background:#fff;--foreground:#152c43;--primary:#075bc4;--popover:#fff;--blue:#075bc4;--ink:#152c43;--line:#dae3eb;--soft:#f2f6f9}
.corporate-home *{box-sizing:border-box}html:has(body.corporate-home){scroll-behavior:smooth;scroll-padding-top:105px}.corporate-home{margin:0;font-family:Arial,'Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif;color:var(--ink);font-size:16px;line-height:1.85}.corporate-home a{text-decoration:none;color:inherit}.corporate-home button{font:inherit;cursor:pointer}.corporate-home a,.corporate-home button{transition:background .2s,color .2s,transform .2s}.corporate-home a:focus-visible,.corporate-home button:focus-visible{outline:3px solid #dc8b24;outline-offset:5px}.corporate-home p,.corporate-home h1,.corporate-home h2,.corporate-home h3{margin:0}.corporate-home svg{flex-shrink:0}.corporate-home img{display:block;width:100%}.corporate-home .header{height:92px;position:sticky;top:0;z-index:40;background:#ffffffed;backdrop-filter:blur(16px);border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 3.3%;gap:26px}.corporate-home .brand{font-weight:800;font-size:29px;letter-spacing:-1.5px;line-height:1.1;color:#075bc4;white-space:nowrap}.corporate-home .brand span{display:block;font-size:10px;letter-spacing:1.5px;margin-top:9px;color:var(--ink)}.corporate-home .desktop-nav{margin-left:auto;display:flex;gap:23px;align-items:center;font-weight:600;font-size:13px}.corporate-home .desktop-nav a{display:flex;align-items:center;gap:5px}.corporate-home .desktop-nav a:hover{color:var(--blue)}.corporate-home .btn{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;min-height:56px;padding:14px 25px;background:var(--blue);color:white;font-size:14px;font-weight:700;border:1px solid var(--blue);border-radius:3px}.corporate-home .btn:hover{background:#004393;transform:translateY(-2px)}.corporate-home .btn.small{min-height:45px;padding:10px 19px}.corporate-home .btn.outline{background:white;color:var(--ink);border-color:#b9c8d4}.corporate-home .btn.outline:hover{background:#edf4fb;border-color:var(--blue)}.corporate-home .hero{max-width:1600px;margin:auto;display:grid;grid-template-columns:1.03fr 1fr;min-height:640px;padding-left:6.2%;background:#fff;overflow:hidden}.corporate-home .hero-copy{padding:70px 0 50px;z-index:1}.corporate-home .eyebrow{font-size:12px;letter-spacing:2px;color:var(--blue);font-weight:700;margin-bottom:22px}.corporate-home .hero h1{font-size:clamp(28px,3vw,46px);font-weight:700;line-height:1.65;letter-spacing:-1.2px;white-space:nowrap}.corporate-home .hero em{font-style:normal;color:var(--blue)}.corporate-home .intro{margin-top:26px;font-size:15px;line-height:2.05;color:#526373}.corporate-home .actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.corporate-home .hero-locations{display:flex;gap:17px;align-items:center;margin-top:35px;font-size:11px;letter-spacing:2px;font-weight:700}.corporate-home .hero-locations b{color:#90a5b5}.corporate-home .hero-visual{position:relative;align-self:stretch;background:#f0f4f7;display:flex;align-items:center;margin-left:15px}.corporate-home .hero-visual img{width:120%;max-width:none;margin-left:-11%;mix-blend-mode:multiply}.corporate-home .visual-caption{position:absolute;top:38px;left:30px;display:flex;align-items:center;gap:9px;font-size:9px;letter-spacing:1.5px}.corporate-home .status-dot{width:6px;height:6px;background:#075bc4;border-radius:50%}.corporate-home .model-note{position:absolute;bottom:27px;left:28px;right:25px;display:flex;justify-content:space-between;font-size:10px;color:#627685}.corporate-home .hero-bottom{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:23px 6.2%;display:flex;gap:35px;align-items:center;font-size:13px}.corporate-home .hero-bottom>span:nth-child(2){color:#7c8d9d;font-size:10px;letter-spacing:2px}.corporate-home .hero-bottom a{margin-left:auto;font-size:10px;letter-spacing:2px}.corporate-home .section{padding:96px 6.2%;max-width:1500px;margin:auto}.corporate-home h2{font-size:31px;line-height:1.65;font-weight:700;letter-spacing:-.5px}.corporate-home h3{font-size:20px;font-weight:700;line-height:1.65}.corporate-home .problems{margin-top:38px;display:grid;grid-template-columns:repeat(3,1fr);gap:0 25px}.corporate-home .problems div{padding:22px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:14px;font-size:14px}.corporate-home .problems svg{color:var(--blue)}.corporate-home .solution{text-align:center;padding-top:36px;font-weight:600;color:var(--blue)}
@media(max-width:1150px){.corporate-home .desktop-nav{gap:13px;font-size:12px}.corporate-home .header{gap:18px}.corporate-home .brand{font-size:25px}.corporate-home .hero h1{font-size:32px}.corporate-home .hero{min-height:610px}.corporate-home .hero-copy{padding-top:50px}.corporate-home .btn{padding:13px 17px;gap:15px}.corporate-home .header .small{font-size:12px}}
@media(max-width:900px){.corporate-home .desktop-nav{display:none}.corporate-home .header{height:76px}.corporate-home .header>.btn{margin-left:auto}.corporate-home .hero{grid-template-columns:1fr;padding-left:0}.corporate-home .hero-copy{padding:48px 6% 35px}.corporate-home .hero h1{font-size:clamp(26px,5vw,42px)}.corporate-home .hero-visual{margin:0;min-height:320px;max-height:440px;overflow:hidden}.corporate-home .hero-visual img{width:90%;margin:auto}.corporate-home .hero-bottom>span:nth-child(2){display:none}.corporate-home .section{padding:65px 6%}.corporate-home .problems{grid-template-columns:repeat(2,1fr)}.corporate-home h2{font-size:27px}}
@media(max-width:540px){.corporate-home .brand{font-size:24px}.corporate-home .brand span{font-size:8px}.corporate-home .header{padding:0 5%;gap:12px}.corporate-home .header .small{padding:9px 12px;font-size:12px;gap:8px}.corporate-home .hero h1{font-size:26px;letter-spacing:-1px;line-height:1.75}.corporate-home .eyebrow{font-size:10px;letter-spacing:1.2px}.corporate-home .intro{font-size:14px}.corporate-home .hero .btn{font-size:12px;padding:14px 13px;gap:10px}.corporate-home .hero-locations{font-size:10px;gap:13px}.corporate-home .hero-visual{min-height:295px}.corporate-home .hero-visual img{width:110%;margin-left:-5%}.corporate-home .visual-caption{top:20px;font-size:8px}.corporate-home .model-note{font-size:8px}.corporate-home .hero-bottom{padding:20px 6%;font-size:11px}.corporate-home .hero-bottom a{display:none}.corporate-home .problems{grid-template-columns:1fr}.corporate-home .problems div{font-size:14px}.corporate-home .solution{text-align:left;font-size:15px}.corporate-home h2{font-size:25px}}
@media(prefers-reduced-motion:reduce){html:has(body.corporate-home){scroll-behavior:auto}.corporate-home *{transition:none!important;animation:none!important}}
.corporate-home .skip-link{position:fixed;top:-100px;left:20px;z-index:100;background:white;padding:12px}.corporate-home .skip-link:focus{top:10px}.corporate-home .menu-toggle{display:none;border:0;background:none;color:var(--ink);padding:10px}.corporate-home .mobile-nav[hidden]{display:none}.corporate-home .mobile-nav{position:absolute;top:100%;left:0;right:0;background:white;padding:15px 6% 25px;max-height:calc(100dvh - 76px);overflow:auto;box-shadow:0 18px 25px #142c4314}.corporate-home .mobile-nav a{padding:15px 0;display:flex;justify-content:space-between;border-bottom:1px solid var(--line);font-size:15px}.corporate-home .mega summary{display:flex;align-items:center;gap:5px;cursor:pointer;list-style:none;padding:20px 0}.corporate-home .mega summary::-webkit-details-marker{display:none}.corporate-home .mega-panel{position:absolute;top:100%;left:0;right:0;padding:35px 8%;background:white;box-shadow:0 20px 20px #12345615;display:grid;grid-template-columns:1.1fr 1fr .8fr;gap:60px;border-top:1px solid var(--line)}.corporate-home .mega-panel b{font-size:16px;display:block;margin-bottom:15px;color:var(--blue)}.corporate-home .mega-panel a{padding:10px 0;justify-content:space-between;border-bottom:1px solid var(--line);font-size:14px}.corporate-home .soft-bg{background:var(--soft)}.corporate-home .section-heading{display:flex;justify-content:space-between;gap:40px;align-items:flex-end;margin-bottom:40px}.corporate-home .section-heading>p{font-size:14px;color:#586878}.corporate-home .service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.corporate-home .service-card{background:white;padding:30px 28px 23px;border-top:3px solid #a0b7ca;scroll-margin-top:110px;transition:box-shadow .2s,transform .2s}.corporate-home .service-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px #183c6410}.corporate-home .service-card:nth-child(-n+3){border-top-color:var(--blue)}.corporate-home .service-card:first-child{background:#075bc4;color:white}.corporate-home .service-top{display:flex;align-items:center;justify-content:space-between;color:var(--blue);margin-bottom:28px}.corporate-home .service-top span{font-size:14px;letter-spacing:1px;color:#899dae}.corporate-home .service-en{font-size:10px;letter-spacing:1.5px;color:#60788d;margin-bottom:7px}.corporate-home .service-card>p:not(.service-en){font-size:14px;line-height:1.9;margin-top:14px;color:#566879;min-height:80px}.corporate-home .service-card:first-child .service-top,.corporate-home .service-card:first-child .service-en,.corporate-home .service-card:first-child>p,.corporate-home .service-card:first-child .service-top span{color:#fff}.corporate-home .modal-trigger{display:block;border:0;padding:0;background:none;color:inherit;text-align:left;width:100%}.corporate-home .detail-link{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #c6d4df;padding-top:20px;margin-top:22px;font-size:14px;font-weight:700}.corporate-home .modal-trigger:hover .detail-link{color:#0770ee}.corporate-home .service-card:first-child .modal-trigger:hover .detail-link{color:#d9edff}.corporate-home .detail-link svg{transition:transform .2s}.corporate-home .modal-trigger:hover .detail-link svg{transform:translate(3px,-3px)}.corporate-home .other-services{display:flex;gap:35px;border-top:1px solid var(--line);padding-top:25px;margin-top:35px;align-items:center;font-size:14px}.corporate-home .other-services>span{color:#65798b}.corporate-home .other-services .modal-trigger{width:auto}.corporate-home .other-services .modal-trigger>span{display:flex;gap:25px;align-items:center}.corporate-home .strength{display:grid;grid-template-columns:1fr 1.65fr;gap:95px}.corporate-home .strength-intro>p:not(.eyebrow){color:#586878;line-height:2.2;margin-top:28px;font-size:15px}.corporate-home .strength-mark{display:flex;gap:24px;align-items:center;margin-top:45px;color:#7398b8}.corporate-home .strength-mark span{font-size:11px;letter-spacing:1.5px;line-height:2}.corporate-home .strength-list article{display:flex;gap:28px;padding:28px 0;border-bottom:1px solid var(--line)}.corporate-home .strength-list article:first-child{padding-top:0}.corporate-home .strength-list article>span{font-size:23px;color:var(--blue);font-weight:400}.corporate-home .strength-list h3{font-size:19px}.corporate-home .strength-list p{font-size:14px;color:#586878;margin-top:8px}.corporate-home .project-grid,.corporate-home .article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.corporate-home .project-image{height:225px;overflow:hidden;position:relative;background:#e1e8ed}.corporate-home .project-image img{height:100%;object-fit:cover;transition:transform .6s}.corporate-home .project-card:hover .project-image img{transform:scale(1.06)}.corporate-home .project-image span{position:absolute;bottom:12px;left:13px;background:#fffdf7e8;font-size:9px;letter-spacing:1px;padding:4px 9px}.corporate-home .crop-1 img{object-position:30% 20%;transform:scale(1.35)}.corporate-home .project-card:hover .crop-1 img{transform:scale(1.4)}.corporate-home .crop-2 img{filter:grayscale(1);object-position:70% center}.corporate-home .category{font-size:12px;color:var(--blue);margin:22px 0 10px}.corporate-home .project-card h3{font-size:19px}.corporate-home .project-card>p:not(.category){font-size:14px;color:#586878;margin-top:12px}.corporate-home .fine-print{font-size:12px!important;color:#667a8c;line-height:1.8}.corporate-home .quality-note{margin-top:-18px;margin-bottom:32px}.corporate-home .flow{display:grid;grid-template-columns:repeat(5,1fr);list-style:none;margin:0;padding:0;gap:16px}.corporate-home .flow li{background:#f1f5f9;padding:24px 18px;position:relative;border-top:3px solid var(--blue)}.corporate-home .flow li>span{font-size:11px;letter-spacing:1.3px;color:var(--blue);font-weight:700}.corporate-home .flow h3{font-size:16px;margin:12px 0}.corporate-home .flow p{font-size:13px;color:#546b7e}.corporate-home .flow-arrow{position:absolute;right:-20px;top:48%;z-index:1;color:var(--blue);background:#fff;border-radius:50%;padding:3px;width:26px;height:26px}.corporate-home .quality-points{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:45px}.corporate-home .quality-points svg{color:var(--blue);margin-bottom:18px}.corporate-home .quality-points h3{font-size:18px}.corporate-home .quality-points p{font-size:14px;color:#586878;margin-top:12px}.corporate-home .team-bg{background:#122f4a;color:#fff}.corporate-home .team-bg .eyebrow{color:#83baff}.corporate-home .team-bg .section-heading>p{color:#c2d1df}.corporate-home .location-strip{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #426078;border-bottom:1px solid #426078;margin-bottom:35px}.corporate-home .location-strip>div{padding:28px 25px;border-right:1px solid #426078}.corporate-home .location-strip>div:first-child{padding-left:0}.corporate-home .location-strip>div:last-child{border:0}.corporate-home .location-strip span{font-size:11px;color:#9dc8ec;letter-spacing:1.5px;display:block}.corporate-home .location-strip strong{font-size:22px;display:block;margin:8px 0}.corporate-home .location-strip p{font-size:13px;color:#c2d1df}.corporate-home .team-photos{display:grid;grid-template-columns:1.15fr 1fr;gap:30px}.corporate-home .team-photos figure{margin:0}.corporate-home .team-photos img{height:330px;object-fit:cover;object-position:center 68%}.corporate-home .team-photos figcaption{padding:18px 0;font-size:13px;color:#c2d1df}.corporate-home .team-photos figcaption span{display:block;color:white;font-size:11px;letter-spacing:1.5px;margin-bottom:5px}.corporate-home .text-link{display:inline-flex;align-items:center;gap:25px;font-size:14px;font-weight:600;min-height:44px}.corporate-home .text-link:hover{color:#358be2}.corporate-home .team-bg .text-link{margin-top:15px}.corporate-home .technology{padding-top:75px;padding-bottom:75px}.corporate-home .technology h2{font-size:26px}.corporate-home .software{display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0}.corporate-home .software span{text-align:center;font-size:24px;letter-spacing:-1px;font-weight:600;border-right:1px solid var(--line)}.corporate-home .software span:last-child{border:0}.corporate-home .tech-tags{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.corporate-home .tech-tags span{border:1px solid var(--line);padding:3px 14px;font-size:12px;color:#63778b}.corporate-home .article{position:relative;padding-bottom:35px}.corporate-home .article-thumb{height:185px;background:#dfe8ee;overflow:hidden;position:relative}.corporate-home .article-thumb img{height:100%;object-fit:cover;transition:transform .4s}.corporate-home .article:hover img{transform:scale(1.05)}.corporate-home .article-thumb>span{position:absolute;bottom:15px;left:15px;background:white;padding:4px 10px;font-size:10px;letter-spacing:1.4px}.corporate-home .thumb-1 img{filter:grayscale(1)}.corporate-home .thumb-2 img{object-position:left;transform:scale(1.2)}.corporate-home .article-meta{display:flex;justify-content:space-between;gap:10px;margin:18px 0 10px;font-size:11px;color:#526f89}.corporate-home .article h3{font-size:17px}.corporate-home .article:hover h3{color:var(--blue)}.corporate-home .article-arrow{position:absolute;bottom:0;right:0}.corporate-home .source-note{margin-top:30px}.corporate-home .company{display:grid;grid-template-columns:1.3fr 1fr;gap:80px}.corporate-home .company-copy{font-size:29px;font-weight:600;line-height:1.8;margin:24px 0}.corporate-home .company p:last-child{font-size:14px;color:#586878}.corporate-home .company-links{align-self:center}.corporate-home .company-links a{display:flex;justify-content:space-between;align-items:center;padding:25px 0;border-bottom:1px solid var(--line);font-size:19px}.corporate-home .company-links a:first-child{border-top:1px solid var(--line)}.corporate-home .company-links a:hover{color:var(--blue)}.corporate-home .company-links small{display:block;font-size:10px;letter-spacing:1.5px;color:#6b849b;margin-bottom:5px}.corporate-home .contact{background:#132f45;color:white;padding:64px 6.2%;display:flex;align-items:center;justify-content:space-between;gap:50px}.corporate-home .contact .eyebrow{color:#bcd2e2}.corporate-home .contact h2{font-size:27px}.corporate-home .contact p:not(.eyebrow){font-size:14px;margin-top:20px;color:#d2dfe8}.corporate-home .contact-actions{min-width:245px}.corporate-home .btn.contact-white{background:white;color:#132f45;border-color:white;width:100%}.corporate-home .btn.contact-white:hover{background:#eaf1f6}.corporate-home .contact-service{display:flex;justify-content:space-between;padding:16px 20px;font-size:14px;min-height:50px}.corporate-home .footer{padding:65px 6.2% 20px;background:#f7f9fb}.corporate-home .footer-main{display:grid;grid-template-columns:1.7fr 1fr 1fr;gap:60px}.corporate-home .footer-main h3{font-size:14px;margin-bottom:18px}.corporate-home .footer-main>div>a:not(.brand){display:block;font-size:13px;line-height:2.4}.corporate-home .footer-main>div>a:hover{color:var(--blue)}.corporate-home .footer-main p{font-size:12px;color:#586878}.corporate-home .footer-company{margin-top:26px;margin-bottom:9px;font-size:14px!important;color:var(--ink)!important}.corporate-home .footer-locations{margin-top:20px;letter-spacing:1px;font-size:10px!important}.corporate-home .footer-bottom{border-top:1px solid var(--line);margin-top:45px;padding-top:20px;display:flex;justify-content:space-between;gap:25px;font-size:11px;color:#64798b}.corporate-home .footer-bottom .modal-trigger{width:auto}.corporate-home .detail-modal{max-width:620px!important;padding:40px!important;border-radius:5px!important;max-height:85dvh;overflow-y:auto;gap:20px!important;font-size:16px!important}.corporate-home .detail-modal .eyebrow{margin:0}.corporate-home .modal-title{font-size:25px!important;line-height:1.6!important;font-weight:700!important;padding-right:20px}.corporate-home .modal-description{font-size:15px!important;line-height:1.9!important;color:#586878!important}.corporate-home .modal-close{position:absolute;right:14px;top:14px;padding:8px;background:none;border:0}.corporate-home .detail-list{padding:0;list-style:none;margin:0}.corporate-home .detail-list li{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding:13px 0;font-size:15px}.corporate-home .detail-list svg{color:var(--blue)}.corporate-home .modal-image{max-height:200px;object-fit:cover}.corporate-home .reveal.is-visible{animation:rise .5s ease both}@keyframes rise{from{opacity:.35;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(min-width:901px) and (max-width:1250px){.corporate-home .desktop-nav{gap:12px;font-size:12px}.corporate-home .header{padding:0 2%;gap:16px}.corporate-home .header .brand{font-size:25px}.corporate-home .header .small{padding:10px 12px}.corporate-home .hero h1{font-size:33px}}
@media(max-width:1100px){.corporate-home .strength{gap:50px;grid-template-columns:1fr 1.6fr}.corporate-home .service-card{padding:25px 22px}.corporate-home .service-card h3{font-size:18px}.corporate-home .flow{gap:10px}.corporate-home .flow li{padding:20px 13px}.corporate-home .flow h3{font-size:14px}.corporate-home .contact h2{font-size:24px}.corporate-home .team-photos img{height:280px}}
@media(max-width:900px){.corporate-home .menu-toggle{display:block}.corporate-home .section-heading{gap:25px}.corporate-home .section-heading>p{font-size:13px}.corporate-home .service-grid{grid-template-columns:repeat(2,1fr)}.corporate-home .service-card>p:not(.service-en){min-height:55px}.corporate-home .strength{grid-template-columns:1fr;gap:35px}.corporate-home .strength-intro>p:not(.eyebrow){max-width:400px}.corporate-home .strength-mark{display:none}.corporate-home .strength h2 br{display:none}.corporate-home .strength-list article{padding:22px 0}.corporate-home .project-grid,.corporate-home .article-grid{gap:20px}.corporate-home .project-image{height:180px}.corporate-home .project-card h3{font-size:17px}.corporate-home .flow{grid-template-columns:1fr}.corporate-home .flow li{padding:18px 22px;display:grid;grid-template-columns:85px 160px 1fr;gap:15px;align-items:center;border-top:0;border-left:3px solid var(--blue)}.corporate-home .flow h3{font-size:16px;margin:0}.corporate-home .flow-arrow{display:none}.corporate-home .quality-points{gap:25px}.corporate-home .location-strip strong{font-size:18px}.corporate-home .location-strip>div{padding:22px 16px}.corporate-home .team-photos{gap:20px}.corporate-home .team-photos img{height:235px}.corporate-home .software{grid-template-columns:repeat(3,1fr);gap:20px 0}.corporate-home .software span:nth-child(3){border:0}.corporate-home .article-thumb{height:150px}.corporate-home .company{gap:35px}.corporate-home .company-copy{font-size:25px}.corporate-home .contact{gap:25px}.corporate-home .contact h2{font-size:22px}.corporate-home .contact-actions{min-width:210px}.corporate-home .footer-main{gap:30px}.corporate-home .detail-modal{width:calc(100% - 32px)!important}}
@media(max-width:650px){.corporate-home .section-heading{display:block;margin-bottom:30px}.corporate-home .section-heading>p,.corporate-home .section-heading>.text-link{margin-top:18px}.corporate-home .service-grid{gap:15px}.corporate-home .service-card{padding:23px 18px}.corporate-home .service-en{font-size:9px;letter-spacing:.7px}.corporate-home .service-card h3{font-size:17px}.corporate-home .service-card>p:not(.service-en){font-size:13px;min-height:100px}.corporate-home .service-top{margin-bottom:20px}.corporate-home .other-services{gap:14px;flex-wrap:wrap}.corporate-home .other-services>span{width:100%}.corporate-home .other-services .modal-trigger>span{gap:13px}.corporate-home .project-grid,.corporate-home .article-grid{grid-template-columns:1fr;gap:38px}.corporate-home .project-image{height:245px}.corporate-home .project-card h3{font-size:20px}.corporate-home .quality-note{margin-top:0}.corporate-home .flow li{grid-template-columns:70px 1fr;gap:8px}.corporate-home .flow p{grid-column:2}.corporate-home .quality-points{grid-template-columns:1fr;gap:27px}.corporate-home .quality-points article{border-bottom:1px solid var(--line);padding-bottom:22px}.corporate-home .quality-points svg{margin-bottom:10px}.corporate-home .location-strip{grid-template-columns:1fr}.corporate-home .location-strip>div{border-right:0;border-bottom:1px solid #426078;padding:20px 0}.corporate-home .location-strip p{margin-top:5px}.corporate-home .location-strip strong{font-size:21px}.corporate-home .team-photos{grid-template-columns:1fr}.corporate-home .team-photos img{height:280px}.corporate-home .technology h2{font-size:24px}.corporate-home .software span{font-size:21px}.corporate-home .article-thumb{height:220px}.corporate-home .article h3{font-size:18px}.corporate-home .article-meta{font-size:12px}.corporate-home .company{grid-template-columns:1fr}.corporate-home .contact{display:block;padding:48px 6%}.corporate-home .contact h2{font-size:24px}.corporate-home .contact h2 br{display:none}.corporate-home .contact-actions{margin-top:30px;max-width:350px}.corporate-home .footer{padding:50px 6% 22px}.corporate-home .footer-main{grid-template-columns:1fr 1fr;gap:35px 20px}.corporate-home .footer-main>div:first-child{grid-column:1/-1}.corporate-home .footer-bottom{flex-wrap:wrap;gap:15px;font-size:10px}.corporate-home .footer-bottom>span:last-child{width:100%}.corporate-home .detail-modal{padding:28px 23px!important}.corporate-home .detail-modal .btn{font-size:13px}.corporate-home .modal-title{font-size:23px!important}.corporate-home .hero .eyebrow{font-size:9px}.corporate-home .header .small{font-size:11px;padding:10px;gap:4px}.corporate-home .header .brand{font-size:22px}.corporate-home .header .brand span{font-size:7px}.corporate-home .header{gap:8px}.corporate-home .menu-toggle{padding:8px}}
@media(max-width:380px){.corporate-home .service-grid{grid-template-columns:1fr}.corporate-home .service-card>p:not(.service-en){min-height:0}.corporate-home .hero h1{font-size:23px}.corporate-home .header .small svg{display:none}.corporate-home .hero .btn{width:100%}.corporate-home .hero-copy{padding-top:35px}}
.corporate-home img{height:auto}
.corporate-home .project-image img,.corporate-home .article-thumb img{height:100%}
.corporate-home .team-photos img{height:330px}
@media(max-width:1100px){.corporate-home .team-photos img{height:280px}}
@media(max-width:900px){.corporate-home .team-photos img{height:235px}}
@media(max-width:650px){.corporate-home .team-photos img{height:280px}}
.corporate-home .news{display:grid;grid-template-columns:1fr 2.4fr;gap:70px;border-bottom:1px solid var(--line)}.corporate-home .news-heading>p:last-child{font-size:14px;color:#586878;margin-top:20px}.corporate-home .news-list{min-width:0}.corporate-home .news-item{border-top:1px solid var(--line)}.corporate-home .news-item:last-of-type{border-bottom:1px solid var(--line)}.corporate-home .news-row{display:grid;grid-template-columns:90px 120px 1fr 20px;gap:20px;align-items:center;padding:25px 0;min-height:90px}.corporate-home .news-row time{font-size:13px;color:#64798b;font-variant-numeric:tabular-nums}.corporate-home .news-category{font-size:12px;text-align:center;color:var(--blue);background:#eaf2fc;padding:4px 8px;white-space:nowrap}.corporate-home .news-category.media{color:#285d65;background:#eaf3f3}.corporate-home .news-title{font-size:15px;font-weight:600;line-height:1.9}.corporate-home .news-row>svg{color:var(--blue)}.corporate-home .news-item .modal-trigger:hover{color:var(--blue);background:#f7faff}.corporate-home .news-note{margin-top:20px}
@media(min-width:901px) and (max-width:1200px){.corporate-home .desktop-nav{display:none}.corporate-home .menu-toggle{display:block}.corporate-home .header>.btn{margin-left:auto}}
@media(max-width:900px){.corporate-home .news{grid-template-columns:1fr;gap:30px}.corporate-home .news-row{gap:16px}}
@media(max-width:650px){.corporate-home .news-row{grid-template-columns:90px 1fr 20px;gap:12px;padding:23px 0}.corporate-home .news-category{justify-self:start}.corporate-home .news-title{grid-column:1/3;grid-row:2}.corporate-home .news-row>svg{grid-column:3;grid-row:2}.corporate-home .news-heading>p:last-child{margin-top:15px}}

/* WordPress shell and native dialogs. */
.corporate-home main:focus,.corporate-home section:focus {outline:none;}
.corporate-home section[id] {scroll-margin-top:110px;}
.corporate-home .detail-modal {border:1px solid #dae3eb;margin:auto;color:#152c43;background:#fff;width:min(620px,calc(100% - 32px));box-shadow:0 24px 80px #112e4640;}
.corporate-home .detail-modal:not([open]) {display:none;}
.corporate-home .detail-modal[open] {display:grid;}
.corporate-home .detail-modal::backdrop {background:#102c4666;backdrop-filter:blur(3px);}
.corporate-home .modal-close {min-width:44px;min-height:44px;font-size:26px;line-height:1;cursor:pointer;color:#152c43;}
.corporate-home summary:focus-visible {outline:3px solid #dc8b24;outline-offset:5px;}
.corporate-home .header {width:100%;}
.corporate-home.admin-bar .header {top:64px;}
.corporate-home .service-top svg {width:33px;height:33px;}
.corporate-home .hero-visual img {max-width:none;}
.corporate-home .team-photos img {aspect-ratio:3/2;}
@media(max-width:782px){.corporate-home.admin-bar .header{top:92px;}}
@media(prefers-reduced-motion:reduce){.corporate-home .reveal.is-visible{animation:none!important;}}
body.corporate-home.custom-background {background:#fff;}
.corporate-home > p.copyr[data-copyr] {display:none;}

/* Corporate brand logo 20260906 */
.corporate-home .brand{display:inline-block;flex-shrink:0}.corporate-home .brand .brand-logo{display:block;width:140px;height:auto;max-width:none}.corporate-home .footer .brand .brand-logo{width:180px}@media(max-width:650px){.corporate-home .header .brand .brand-logo{width:112px}}

/* Team photos 20260907: equal 3:2 frames. Source images: 1800 x 1200 px. */
.corporate-home .team-photos{grid-template-columns:repeat(2,minmax(0,1fr))}
.corporate-home .team-photos img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;object-position:center}
@media(max-width:650px){.corporate-home .team-photos{grid-template-columns:minmax(0,1fr)}}

/* TOP service carousel. Scope prevents changes to corporate detail pages. */
.corporate-home .hero-visual.hero-carousel{display:flex;flex-direction:column;justify-content:center;align-items:stretch;min-width:0;padding:36px 0 28px;background:#132f45;color:#fff;max-height:none}
.corporate-home .hero-carousel-heading{display:flex;justify-content:space-between;padding:0 30px;margin-bottom:30px;font-size:10px;letter-spacing:2px;color:#bed4e6}
.corporate-home .hero-carousel-stage{display:grid;isolation:isolate;min-width:0}
.corporate-home .hero-slide{grid-area:1/1;min-width:0;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .8s ease,visibility .8s;display:block}
.corporate-home .hero-slide.is-active{opacity:1;visibility:visible;pointer-events:auto;z-index:1}
.corporate-home .hero-carousel .hero-slide img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;margin:0;max-width:100%;mix-blend-mode:normal;background:#e8edf0}
.corporate-home .hero-slide-caption{padding:27px 30px 20px;min-height:126px;display:flex;flex-direction:column;gap:10px}
.corporate-home .hero-slide-title{font-size:24px;line-height:1.5;font-weight:700;letter-spacing:.02em}
.corporate-home .hero-slide-detail{font-size:11px;color:#c3d8e8;display:flex;justify-content:space-between;align-items:center}
.corporate-home .hero-slide-detail>span{font-size:20px}
.corporate-home .hero-carousel-controls{display:flex;align-items:center;justify-content:center;gap:8px;padding:0 22px;margin-top:7px}
.corporate-home .hero-carousel-controls[hidden]{display:none}
.corporate-home .hero-carousel-controls button{border:1px solid #7992a8;background:transparent;color:white;padding:0;width:40px;height:40px;display:grid;place-items:center;border-radius:50%;font-size:18px;flex-shrink:0}
.corporate-home .hero-carousel-controls button:hover{background:#2e516b}
.corporate-home .hero-carousel-dots{display:flex;gap:0;align-items:center}
.corporate-home .hero-carousel-dots button{width:25px;height:40px;border:0;border-radius:0}
.corporate-home .hero-carousel-dots button span{display:block;width:5px;height:5px;border-radius:50%;background:#7890a4}
.corporate-home .hero-carousel-dots button[aria-current=true] span{background:white;width:17px;border-radius:3px}
@media(max-width:900px){.corporate-home .hero-visual.hero-carousel{margin:0;min-height:0;padding:26px 0}.corporate-home .hero-carousel-heading{margin-bottom:20px}.corporate-home .hero-slide-caption{min-height:115px;padding:22px 6% 15px}.corporate-home .hero-slide-title{font-size:22px}}
@media(prefers-reduced-motion:reduce){.corporate-home .hero-slide{transition:none}}

/* Quiet navigation: text links, restrained underlines, and a single primary CTA style.
 * Scoped to the corporate shell; AFFINGER articles retain their own design.
 */
.corporate-home a svg.lucide-arrow-right,
.corporate-home a svg.lucide-arrow-up-right,
.corporate-home .article-arrow,
.corporate-home .project-arrow{display:none}
.corporate-home .btn{justify-content:center;gap:0;min-width:160px;padding:15px 27px;border-radius:5px;letter-spacing:.02em}
.corporate-home .btn:hover{transform:none;background:#174e9f}
.corporate-home .btn.outline:hover{background:#edf3fa}
.corporate-home .header .btn.small{min-width:128px;padding:12px 23px}
.corporate-home .desktop-nav a,.corporate-home .footer a:not(.brand){text-decoration:none;text-underline-offset:6px;text-decoration-thickness:1px}
.corporate-home .desktop-nav a:hover,.corporate-home .desktop-nav a:focus-visible,
.corporate-home .footer a:not(.brand):hover,.corporate-home .footer a:not(.brand):focus-visible{text-decoration:underline}
.corporate-home .footer a{line-height:1.9}
.corporate-home .text-link,.corporate-home .contact-service{gap:0;text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:1px;padding-bottom:3px}
.corporate-home .detail-link{justify-content:flex-start;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px;gap:0}
.corporate-home .service-card{transition:background .2s,box-shadow .2s}
.corporate-home .service-compact:hover,.corporate-home .service-compact:focus-within{background:#f9fbfe;box-shadow:0 4px 18px #16364d0b}
.corporate-home .article h3,.corporate-home .company-links a{text-underline-offset:6px;text-decoration-thickness:1px}
.corporate-home .article:hover h3,.corporate-home .article:focus-visible h3,
.corporate-home .company-links a:hover{text-decoration:underline}
.corporate-home .hero-slide-detail{display:inline-block;align-self:flex-start;font-size:12px;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
.corporate-home .hero-carousel-controls{gap:18px}
.corporate-home .hero-carousel-dots button{width:32px;height:44px}
.corporate-home .hero-carousel-controls [data-hero-pause]{width:36px;height:36px;font-size:14px;border-color:#708a9e}
.corporate-home .jhr-page .btn{justify-content:center;min-width:190px}
@media(max-width:540px){.corporate-home .header .btn.small{min-width:108px;padding:11px 16px}.corporate-home .hero .btn{min-width:140px}.corporate-home .hero-carousel-controls{gap:14px}}

/* Footer social links and advisor profile */
.corporate-home .footer .joh-footer-social{display:flex;align-items:center;gap:12px;margin-top:20px}
.corporate-home .footer .joh-footer-social a{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin:0;padding:0;color:#142f46;border:1px solid #dbe5ed;border-radius:50%;transition:color .2s,background .2s}
.corporate-home .footer .joh-footer-social a:hover{color:#fff;background:#2957bd}
.corporate-home .footer .joh-footer-social a:focus-visible{outline:2px solid #2957bd;outline-offset:4px}
.corporate-home .jco-advisor-profile{grid-column:1/-1}
.corporate-home .jco-advisor-profile h4{margin:28px 0 12px;color:#142f46;font-size:18px}
.corporate-home .jco-advisor-history{display:grid;grid-template-columns:120px 1fr;gap:12px 20px}
.corporate-home .jco-advisor-history dd{margin:0}
@media(max-width:600px){.corporate-home .jco-advisor-history{grid-template-columns:1fr;gap:6px}.corporate-home .jco-advisor-history dd{margin-bottom:12px}}

/* Equal-size office photos; retain lower portion of Hanoi office. */
.corporate-home .team-photos img{object-fit:cover}
.corporate-home .team-photos figure:first-child img{object-position:center bottom}
