:root{--navy:#07172f;--ink:#122039;--muted:#596b81;--blue:#1458ed;--pale:#f0f5fb;--line:#d3ddea;--max:1320px;--pad:clamp(24px,5.5vw,88px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:#fff;color:var(--ink);font-family:Arial,'Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif;font-size:16px;line-height:1.8;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #2c76ff;outline-offset:6px}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{line-height:1.5}em{font-style:normal;color:var(--blue)}.skip{position:fixed;z-index:200;top:10px;left:10px;transform:translateY(-180%);padding:12px 24px;background:#fff}.skip:focus{transform:none}.site-header{height:94px;padding:0 var(--pad);display:flex;align-items:center;gap:28px;background:rgba(255,255,255,.94);border-bottom:1px solid #e7edf4;position:sticky;top:0;z-index:100;backdrop-filter:blur(16px)}.brand{display:inline-flex;align-items:center;gap:12px;flex-shrink:0}.site-header .brand{margin-right:auto}.brand-mark{display:flex;gap:4px}.brand-mark i{width:12px;height:31px;background:var(--blue);transform:skewY(-27deg);border-radius:5px 1px 1px 5px}.brand-mark i+ i{transform:skewY(27deg);border-radius:1px 5px 5px 1px}.brand-copy{display:flex;flex-direction:column;line-height:1.2}.brand-copy b{font-size:22px;letter-spacing:.095em}.brand-copy small{font-size:12px;margin-top:5px;letter-spacing:.08em}.desktop-nav{display:flex;gap:24px;align-items:center}.desktop-nav a{font-size:12px;letter-spacing:.06em;font-weight:700;position:relative;padding:14px 0}.desktop-nav a:after{content:'';position:absolute;bottom:5px;left:0;width:0;height:2px;background:var(--blue);transition:width .25s}.desktop-nav a:hover:after,.desktop-nav a[aria-current]:after{width:100%}.header-cta{padding:12px 22px;background:var(--navy);color:#fff;font-size:13px;font-weight:700;border-radius:4px;transition:background .2s}.header-cta:hover{background:var(--blue)}.menu-btn,.mobile-menu{display:none}.hero{position:relative;min-height:720px;min-height:min(790px,calc(100svh - 94px));padding:85px var(--pad) 110px;background:#eef4fc;display:grid;grid-template-columns:1fr 1fr;align-items:center;isolation:isolate;overflow:hidden}.hero-grid{position:absolute;inset:0;z-index:-1;background-image:linear-gradient(#cedded55 1px,transparent 1px),linear-gradient(90deg,#cedded55 1px,transparent 1px);background-size:90px 90px;mask-image:linear-gradient(90deg,transparent,#000 80%)}.hero-copy{z-index:2;position:relative}.eyebrow{display:block;font-size:12px;font-weight:700;letter-spacing:.13em;color:var(--blue);margin-bottom:26px}.hero h1{font-size:clamp(52px,5.9vw,88px);line-height:1.35;letter-spacing:-.06em;font-weight:700}.hero-lead{font-size:clamp(18px,1.75vw,24px);font-weight:700;line-height:1.9;margin-top:24px}.hero-description{font-size:14px;line-height:2;color:var(--muted);margin-top:16px}.hero-actions{display:flex;gap:12px;margin-top:34px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:14px 27px;font-size:14px;line-height:1.65;font-weight:700;border:1px solid transparent;border-radius:4px;transition:background .25s,transform .25s,box-shadow .25s}.btn:hover{transform:translateY(-3px)}.btn.primary{background:var(--blue);color:white;box-shadow:0 8px 18px #1458ed16}.btn.primary:hover{background:#0645cb;box-shadow:0 10px 22px #1458ed25}.btn.outline{border-color:#a8b9d0;background:#ffffff45}.btn.outline:hover{background:white}.btn.light{background:white;color:var(--navy)}.hero-visual{position:absolute;width:59%;height:100%;right:-2%;top:0;z-index:1}.hero-visual canvas{width:100%;height:100%;display:block;opacity:0;transition:opacity .8s}.hero-visual.scene-ready canvas{opacity:1}.scene-fallback{position:absolute;inset:22% 10%;border:1px solid #b7cce9;border-radius:50%;background:radial-gradient(ellipse at 30% 20%,#e3ecff,#8daaf422 70%);display:grid;place-items:center;transform:rotate(-25deg)}.scene-fallback span{font-size:42px;letter-spacing:.1em;color:#1458ed;transform:rotate(25deg)}.scene-ready .scene-fallback{display:none}.scene-label{position:absolute;display:flex;align-items:center;gap:10px;padding:10px 14px;background:#eef4fcd9;backdrop-filter:blur(8px);border:1px solid transparent;box-shadow:none;border-radius:3px;transition:transform .2s}.scene-label:hover{transform:translateY(-4px);background:#e5eefb}.scene-label small{color:var(--blue);font-size:12px}.scene-label b{font-size:12px;letter-spacing:.06em}.label-1{left:23%;top:19%}.label-2{right:9%;top:37%}.label-3{left:13%;top:67%}.label-4{right:19%;top:77%}.visual-caption{position:absolute;bottom:32px;left:25%;right:10%;display:flex;justify-content:space-between;align-items:center;gap:20px;color:#536b89}.visual-caption>span{font-size:10px;line-height:1.5;letter-spacing:.16em}.visual-caption button{font-size:12px;background:transparent;color:var(--muted);border:0;border-bottom:1px solid #a8bbd4;padding:6px 0}.visual-caption button[hidden]{display:none}.hero-foot{position:absolute;bottom:32px;left:var(--pad);display:flex;gap:60px;align-items:center;color:#506a8b;font-size:10px;letter-spacing:.13em}.hero-foot a{display:flex;gap:12px;align-items:center}.hero-foot a:before{content:'';display:block;width:24px;height:1px;background:var(--blue)}.business-strip{padding:24px var(--pad);display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line)}.business-strip>span{font-size:14px;font-weight:700}.business-strip p{font-size:12px;letter-spacing:.08em;font-weight:700;color:#4f637e}.business-strip i{font-style:normal;color:#b5c5db;padding:0 18px}.section{padding:110px var(--pad)}.section>*{max-width:var(--max);margin-left:auto;margin-right:auto}.section.compact{padding-top:70px;padding-bottom:80px}.section-label{display:flex;align-items:center;gap:20px;margin-bottom:65px;font-size:12px;font-weight:700;letter-spacing:.08em}.section-label>span:first-child{color:var(--blue)}.section-label i{height:1px;background:var(--line);flex:1;margin-left:22px}.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,110px)}h2{font-size:clamp(30px,3.6vw,50px);letter-spacing:-.04em;line-height:1.65;font-weight:700}.prose p{color:var(--muted);font-size:16px;line-height:2.15;margin-bottom:22px}.prose p.large{font-size:20px;line-height:1.9;font-weight:700;color:var(--ink)}.prose h2{margin-bottom:30px}.text-link{display:inline-block;font-size:14px;font-weight:700;border-bottom:1px solid var(--ink);padding:8px 0;margin-top:5px}.text-link:hover{color:var(--blue);border-color:var(--blue)}.stats{margin-top:46px;padding-top:25px;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.stats b{display:block;font-size:30px;font-weight:500;letter-spacing:-.04em}.stats span{font-size:10px;color:var(--muted);letter-spacing:.04em;display:block;margin-top:5px}.dark{background:var(--navy);color:#fff}.dark .section-label i{background:#ffffff30}.dark .section-label>span:first-child{color:#83aaff}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:48px;margin-bottom:60px}.section-heading p{max-width:450px;color:var(--muted);font-size:16px;line-height:2}.dark .section-heading p{color:#aebed4}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.service-card{display:block;padding:36px 38px 40px;border:1px solid #ffffff26;background:#ffffff03;border-radius:4px;transition:border .3s,background .3s,transform .3s;min-width:0}.service-card:hover{background:#ffffff09;border-color:#639aff;transform:translateY(-4px)}.card-top{display:flex;justify-content:space-between;align-items:center;color:#96b9ff;font-size:12px;margin-bottom:44px}.card-indicator{color:#c8d6eb;font-size:12px;opacity:.8}.service-card h3{font-size:clamp(25px,2.8vw,38px);letter-spacing:-.02em;font-weight:500}.service-card h4{font-size:16px;font-weight:500;margin:9px 0 21px}.service-card p{color:#b0bfd4;font-size:15px;line-height:2;min-height:90px}.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:25px}.tags span{font-size:12px;padding:5px 12px;border:1px solid var(--line);border-radius:30px;color:var(--muted)}.dark .tags span{border-color:#ffffff29;color:#c8d6eb}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:42px}.feature-grid article{border-top:1px solid #b9c9dc;padding-top:22px}.feature-grid article>span{font-size:12px;color:var(--blue)}.feature-grid h3{font-size:22px;line-height:1.7;margin:27px 0 17px;letter-spacing:-.03em}.feature-grid p{font-size:16px;color:var(--muted);line-height:2}.path-panels{display:grid;grid-template-columns:1fr 1fr;padding:0 var(--pad) 100px;gap:22px}.path-panels>a{padding:48px;background:var(--pale);border-radius:4px;transition:background .25s}.path-panels>a:first-child{background:#143972;color:white}.path-panels>a:hover{background:#e2edfb}.path-panels>a:first-child:hover{background:#114799}.path-panels span{font-size:12px;letter-spacing:.1em;color:#91b7fa}.path-panels>a+ a span{color:var(--blue)}.path-panels h2{font-size:32px;margin:26px 0 18px}.path-panels p{font-size:14px;opacity:.8}.path-panels b{font-size:14px;border-bottom:1px solid currentColor;display:inline-block;padding-bottom:6px;margin-top:30px}.contact-band{padding:80px var(--pad);background:var(--blue);color:#fff;display:flex;justify-content:space-between;align-items:center;gap:50px}.contact-band h2{font-size:clamp(32px,4vw,56px);line-height:1.6}.contact-band .eyebrow{color:#c4d6ff}.contact-band p{font-size:15px;line-height:2;margin-top:22px;color:#e3ebff}.contact-band .btn{min-width:220px}.page-hero{padding:30px var(--pad) 85px;background:var(--pale);position:relative;overflow:hidden}.page-hero:after{content:'';position:absolute;width:500px;height:500px;border:1px solid #ccdcf1;border-radius:50%;right:-220px;top:-40px;pointer-events:none}.breadcrumbs{display:flex;flex-wrap:wrap;gap:16px;font-size:11px;letter-spacing:.04em;color:#687e99;margin-bottom:60px}.breadcrumbs a:hover{color:var(--blue)}.page-hero h1{font-size:clamp(38px,4.7vw,68px);letter-spacing:-.04em;line-height:1.55;position:relative;z-index:1}.page-hero p{font-size:17px;line-height:2;margin-top:27px;color:var(--muted);max-width:780px}.page-hero .eyebrow{margin-bottom:22px}.detail-intro{display:grid;grid-template-columns:1fr 1fr;gap:60px}.detail-intro h3{font-size:20px;margin-bottom:20px}.needs{list-style:none;margin:0;padding:0}.needs li{padding:17px 0 17px 23px;border-bottom:1px solid var(--line);position:relative;font-size:16px;line-height:1.9}.needs li:before{content:'';width:5px;height:5px;border:1px solid var(--blue);position:absolute;left:0;top:29px}.soft{background:var(--pale)}.section-title{margin-bottom:60px}.steps{list-style:none;margin:0;padding:0}.steps li{display:grid;grid-template-columns:45px 1fr;gap:24px;border-top:1px solid var(--line);padding:29px 0}.steps li>span{color:var(--blue);font-size:13px;padding-top:3px}.steps h3{font-size:21px;margin-bottom:12px}.steps p{font-size:16px;color:var(--muted);line-height:2}.faq details{border-bottom:1px solid #c6d5e8;padding:0}.faq details:first-child{border-top:1px solid #c6d5e8}.faq summary{cursor:pointer;list-style:none;padding:24px 30px 24px 0;font-size:16px;font-weight:700;position:relative;line-height:1.9}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';font-size:23px;position:absolute;right:0;top:20px;font-weight:400;color:var(--blue)}.faq details[open] summary:after{content:'−'}.faq p{padding:0 10px 25px 0;color:var(--muted);font-size:16px;line-height:2}.callout{border-left:3px solid var(--blue);padding:25px 40px;background:var(--pale)}.callout h2{font-size:34px}.callout p{font-size:16px;line-height:2;color:var(--muted);margin:22px 0}.callout small{display:block;font-size:12px;color:var(--muted);margin-top:10px}.related{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.related>a{padding:20px 0;border-top:1px solid var(--line)}.related span{display:block;color:var(--blue);font-size:12px;margin-bottom:10px}.related b{font-size:19px;display:block;font-weight:500}.related small{font-size:14px;color:var(--muted)}.related>a:hover b{color:var(--blue)}.oversized-word{font-size:clamp(40px,6vw,88px);font-weight:700;line-height:1.2;letter-spacing:-.05em;color:#cadcf5}.case-list>a{display:grid;grid-template-columns:55px 1fr 100px;align-items:center;gap:20px;border-top:1px solid var(--line);padding:36px 0}.case-list>a:last-child{border-bottom:1px solid var(--line)}.case-list>a>span{font-size:13px;color:var(--blue)}.case-list h2{font-size:26px;line-height:1.7}.case-list p{font-size:13px;color:var(--muted);margin-top:9px}.case-list b{font-size:13px;text-align:right;color:var(--blue)}.case-list a:hover h2{color:var(--blue)}.note{font-size:13px;line-height:1.9;color:var(--muted);margin-top:30px}.company-table{margin:0}.company-table>div{display:grid;grid-template-columns:140px 1fr;padding:23px 0;border-bottom:1px solid var(--line);gap:20px}.company-table>div:first-child{border-top:1px solid var(--line)}.company-table dt{font-size:14px;color:var(--muted)}.company-table dd{font-size:16px;line-height:2;margin:0}.company-table a{color:var(--blue)}.contact-detail{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px}.contact-detail p{font-size:15px;color:var(--muted);margin:20px 0}.phone{display:block;font-size:clamp(28px,4.2vw,62px);font-weight:500;letter-spacing:-.035em;line-height:1.5;color:var(--blue);border-bottom:1px solid var(--line);padding-bottom:20px;white-space:nowrap}.phone small{font-size:13px;letter-spacing:.08em;display:block;color:var(--muted);margin-bottom:10px}.contact-detail p.note{font-size:12px}.consult-list>div{border-top:1px solid var(--line);padding:28px 0}.consult-list span{font-size:12px;color:var(--blue)}.consult-list h3{font-size:22px;margin:15px 0}.consult-list p{color:var(--muted);line-height:2;font-size:16px}footer{padding:70px var(--pad) 28px;background:#061226;color:#fff}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:30px}.footer-top p{font-size:15px;color:#a8bbd3}.footer-links{margin-top:55px;padding-top:35px;border-top:1px solid #ffffff29;display:grid;grid-template-columns:1.3fr 1fr .8fr;gap:40px}.footer-links>div>span{font-size:11px;letter-spacing:.1em;color:#8fa6c4;display:block;margin-bottom:20px}.footer-links a{display:block;margin:12px 0;font-size:14px}.footer-links a:hover{color:#9cc0ff}.footer-links small{font-size:12px;color:#b1c2d8;display:inline-block;margin-left:12px}.footer-address p{font-size:14px;color:#b1c2d8;line-height:1.9}.footer-address a{font-size:21px}.footer-bottom{display:flex;justify-content:space-between;font-size:11px;color:#93a9c8;margin-top:45px;padding-top:22px;border-top:1px solid #ffffff20}.mobile-cta{display:none}.reveal{opacity:1;transform:none}.motion-enabled .reveal{opacity:0;transform:translateY(22px);transition:opacity .7s,transform .7s}.motion-enabled .reveal.visible{opacity:1;transform:none}
@media(min-width:1700px){.hero{padding-left:max(var(--pad),calc((100vw - 1320px)/2));min-height:800px}.hero-visual{width:55%;right:4%}.section{padding-left:max(var(--pad),calc((100vw - 1320px)/2));padding-right:max(var(--pad),calc((100vw - 1320px)/2))}}
@media(max-width:1180px){.site-header{gap:19px}.desktop-nav{gap:16px}.desktop-nav a{font-size:11px}.brand-copy b{font-size:20px}.header-cta{padding:12px 16px}.hero h1{font-size:64px}.hero{padding-top:80px;padding-bottom:100px;min-height:740px}.hero-visual{width:59%;right:-5%}.hero-copy{max-width:520px}.scene-label{padding:8px 10px}.label-2{right:10%}.hero-description{font-size:13px}.hero-actions{max-width:390px}.btn{padding:13px 20px}.section-heading{gap:35px}.section-heading p{max-width:390px}.service-card p{min-height:120px}}
@media(max-width:980px){.desktop-nav,.header-cta{display:none}.menu-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;width:48px;height:48px;gap:7px;border:1px solid var(--line);border-radius:50%;background:white}.menu-btn span{display:block;width:20px;height:1px;background:var(--ink);transition:transform .25s}.menu-btn[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-btn[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.mobile-menu:not([hidden]){display:flex;position:fixed;inset:94px 0 0;background:#fff;z-index:99;flex-direction:column;overflow:auto;padding:25px var(--pad) 80px;overscroll-behavior:contain}.mobile-menu>a{font-size:24px;border-bottom:1px solid var(--line);padding:16px 0;display:flex;justify-content:space-between;gap:20px;align-items:center}.mobile-menu small{font-size:12px;color:var(--muted)}body.menu-open{overflow:hidden}.hero{min-height:760px;display:block}.hero-copy{max-width:60%}.hero h1{font-size:60px}.hero-description br{display:none}.hero-visual{width:62%;right:-14%;top:20px}.label-2{right:24%}.label-1{left:31%}.label-3{left:18%}.label-4{right:29%}.visual-caption{left:38%;right:22%;bottom:65px}.visual-caption>span{display:none}.hero-actions{flex-direction:column;align-items:flex-start}.hero-actions .btn{min-width:250px}.business-strip{flex-direction:column;gap:8px}.business-strip p{font-size:10px}.split{gap:45px}.section{padding-top:85px;padding-bottom:85px}.section-label{margin-bottom:45px}.section-heading{display:block}.section-heading p{margin-top:25px;max-width:600px}.feature-grid{gap:24px}.feature-grid h3{font-size:20px}.feature-grid p{font-size:15px}.path-panels>a{padding:30px}.path-panels h2{font-size:27px}.service-card{padding:28px}.service-card h3{font-size:28px}.service-card p{font-size:14px}.company-table>div{grid-template-columns:95px 1fr}.footer-links{grid-template-columns:1fr 1fr}.footer-address{grid-column:1/-1}.contact-detail{gap:30px;grid-template-columns:.8fr 1.2fr}.contact-band .btn{min-width:180px}.phone{font-size:40px}}
@media(max-width:700px){:root{--pad:24px}.site-header{height:78px}.brand-copy b{font-size:20px}.brand-copy small{font-size:10px}.brand-mark i{height:27px;width:11px}.menu-btn{width:43px;height:43px}.mobile-menu:not([hidden]){top:78px}.mobile-menu>a{font-size:20px}.mobile-menu small{font-size:11px}.hero{display:flex;flex-direction:column;align-items:stretch;min-height:0;padding:42px var(--pad) 50px}.hero-copy{max-width:none}.eyebrow{font-size:10px;letter-spacing:.1em;margin-bottom:20px}.hero h1{font-size:clamp(44px,10.8vw,65px);line-height:1.4;letter-spacing:-.045em}.hero-lead{font-size:18px;margin-top:20px;line-height:1.9}.hero-description{font-size:13px;margin-top:13px;max-width:350px}.hero-actions{display:grid;grid-template-columns:1fr 1fr;max-width:none;gap:8px;margin-top:25px}.hero-actions .btn{font-size:12px;padding:12px 8px;min-width:0;width:100%;min-height:49px}.hero-visual{position:relative;right:auto;top:auto;width:calc(100% + 48px);height:350px;margin:0 -24px -5px}.scene-label{font-size:10px;padding:6px 9px;gap:7px}.scene-label b{font-size:10px}.scene-label small{font-size:10px}.label-1{left:16%;top:9%}.label-2{right:5%;top:35%}.label-3{left:7%;top:62%}.label-4{right:13%;top:77%}.visual-caption{left:auto;right:24px;bottom:0}.visual-caption button{font-size:11px}.hero-foot{left:24px;bottom:20px;font-size:9px;gap:25px}.business-strip{padding:20px 24px}.business-strip>span{font-size:13px}.business-strip p{font-size:9px;letter-spacing:0;line-height:1.8}.business-strip i{padding:0 6px}.section{padding:70px var(--pad)}.section.compact{padding:50px var(--pad)}.section-label{font-size:11px;gap:13px;margin-bottom:35px}.section-label i{margin-left:5px}.split,.detail-intro,.contact-detail{grid-template-columns:1fr;gap:35px}h2{font-size:30px;line-height:1.7;letter-spacing:-.035em}.prose p,.prose p.large{font-size:16px}.prose p.large{font-size:18px}.stats{margin-top:33px;padding-top:22px;gap:10px}.stats b{font-size:26px}.stats span{font-size:8px}.section-heading{margin-bottom:35px}.section-heading p{font-size:15px}.section-heading p br{display:none}.service-grid{grid-template-columns:1fr;gap:16px}.service-card{padding:26px}.card-top{margin-bottom:28px}.service-card h3{font-size:29px}.service-card h4{margin:7px 0 17px}.service-card p{font-size:15px;min-height:0}.tags{margin-top:20px;gap:6px}.tags span{font-size:11px;padding:5px 10px}.feature-grid{grid-template-columns:1fr;gap:35px}.feature-grid h3{font-size:22px;margin:19px 0 13px}.feature-grid p{font-size:16px}.path-panels{grid-template-columns:1fr;padding:0 var(--pad) 65px;gap:16px}.path-panels>a{padding:30px}.path-panels h2{font-size:28px;margin:19px 0 12px}.path-panels b{margin-top:23px}.contact-band{padding:60px var(--pad);display:block}.contact-band h2{font-size:32px}.contact-band p{font-size:14px}.contact-band p br{display:none}.contact-band .btn{margin-top:30px;width:100%;min-height:56px}.page-hero{padding:24px var(--pad) 50px}.breadcrumbs{font-size:10px;margin-bottom:40px}.page-hero h1{font-size:clamp(30px,8.5vw,48px);line-height:1.6;letter-spacing:-.04em}.page-hero .eyebrow{font-size:11px}.page-hero p{font-size:16px;margin-top:22px;line-height:2}.page-hero p br{display:none}.page-hero:after{right:-350px}.section-title{margin-bottom:40px}.steps li{grid-template-columns:28px 1fr;gap:17px;padding:24px 0}.steps h3{font-size:20px}.needs li{font-size:15px}.callout{padding:24px}.callout h2{font-size:27px}.callout p{font-size:15px}.callout p br{display:none}.callout .btn{font-size:12px;padding:12px 10px}.related{grid-template-columns:1fr;gap:0}.related>a{display:grid;grid-template-columns:30px 1fr;gap:0 12px;padding:20px 0}.related span{grid-row:1/3}.related b{font-size:20px}.related small{grid-column:2}.oversized-word{font-size:58px;line-height:1.15}.case-list>a{grid-template-columns:25px 1fr;gap:15px;padding:25px 0}.case-list h2{font-size:21px}.case-list b{grid-column:2;text-align:left;font-size:12px}.case-list p{font-size:12px}.company-table>div{grid-template-columns:95px 1fr;gap:12px;padding:20px 0}.company-table dt{font-size:12px}.company-table dd{font-size:14px}.phone{font-size:clamp(30px,8.8vw,45px)}.contact-detail p{font-size:14px}.contact-detail .btn{width:100%}.consult-list h3{font-size:20px}.consult-list p{font-size:15px}footer{padding:50px var(--pad) 98px}.footer-top{display:block}.footer-top p{font-size:13px;margin-top:23px}.footer-links{gap:30px 18px;margin-top:35px;padding-top:27px;grid-template-columns:1fr 1fr}.footer-links a{font-size:12px;margin:15px 0}.footer-links small{display:block;font-size:11px;margin:2px 0 0}.footer-links>div>span{font-size:10px}.footer-address p{font-size:13px}.footer-address a{font-size:22px}.footer-bottom{font-size:10px;gap:20px}.mobile-cta{position:fixed;bottom:0;left:0;right:0;display:grid;grid-template-columns:1fr 1fr;z-index:90;padding-bottom:env(safe-area-inset-bottom);background:var(--navy);box-shadow:0 -5px 20px #07172f14}.mobile-cta a{text-align:center;font-size:13px;font-weight:700;display:grid;place-items:center;min-height:56px;background:#fff;color:var(--ink)}.mobile-cta a+ a{background:var(--navy);color:#fff}.menu-open .mobile-cta{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion-enabled .reveal{opacity:1;transform:none}.btn:hover,.service-card:hover,.scene-label:hover{transform:none}}
/* Photography and job catalog */
.editorial-photo{margin:0;min-width:0}.editorial-photo img{display:block;width:100%;height:auto;object-fit:cover;background:#e2eaf4;border-radius:4px}.editorial-photo figcaption{font-size:11px;line-height:1.8;color:#60728a;margin-top:9px;font-weight:400;letter-spacing:0}.page-hero-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(32px,4vw,65px);align-items:center;position:relative;z-index:1}.page-hero-layout h1{font-size:clamp(32px,3.6vw,54px)}.page-hero-layout p{font-size:16px}.page-hero-photo img{aspect-ratio:5/4;object-fit:cover}.page-hero-layout .page-hero-photo{align-self:center}.home-photo-strip{display:grid;grid-template-columns:1.1fr 1fr 1.1fr;gap:20px;padding:0 var(--pad) 95px;max-width:1600px;margin:auto}.home-photo img{aspect-ratio:4/3;object-fit:cover}.home-photo:nth-child(2){padding-top:50px}.service-photo{margin:-36px -38px 30px;position:relative}.service-photo img{aspect-ratio:16/7;object-fit:cover;border-radius:3px 3px 0 0}.service-photo figcaption{position:absolute;right:9px;bottom:7px;font-size:10px;line-height:1.4;color:#fff;background:#07172fad;padding:3px 6px;max-width:90%;margin:0}.service-card{overflow:hidden}.service-card h3{margin-top:0}.service-card .card-top{margin-bottom:24px}.error-photo{max-width:460px;margin-top:35px}.error-photo img{aspect-ratio:16/8}.job-list-section{padding-top:65px}.job-list-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.job-list-heading p{font-size:14px;color:var(--muted)}.job-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:35px}.job-filters button{background:#fff;color:var(--ink);padding:10px 22px;border:1px solid var(--line);border-radius:40px;font-size:14px;min-height:45px}.job-filters button[aria-pressed=true]{background:var(--navy);border-color:var(--navy);color:white}.job-filters button:hover{border-color:var(--blue)}.jobs-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.job-card{border:1px solid var(--line);border-radius:5px;background:white;overflow:hidden;min-width:0;transition:transform .25s,box-shadow .25s}.job-card:hover{transform:translateY(-4px);box-shadow:0 15px 35px #1220390c}.job-card[hidden]{display:none}.job-card>a{display:block;height:100%}.job-card-photo{position:relative}.job-card-photo img{aspect-ratio:3/2;object-fit:cover;border-radius:4px 4px 0 0}.job-card-photo figcaption{position:absolute;bottom:8px;right:8px;background:#07172fb3;color:white;padding:3px 6px;margin:0;font-size:9px;max-width:90%}.job-card-body{padding:23px}.job-card-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;font-size:12px;color:#647995}.job-card-meta b{font-weight:500;background:#eef4fc;color:#164a99;padding:3px 10px;border-radius:3px}.job-location{font-size:14px;color:var(--muted);margin-bottom:7px}.job-card h3{font-size:21px;line-height:1.65;min-height:70px;letter-spacing:-.03em}.job-pay{margin-top:16px;font-size:31px;font-weight:700;line-height:1.6;color:var(--blue)}.job-pay small{font-size:13px;font-weight:500;letter-spacing:0}.job-firstyear{color:var(--muted);font-size:12px;margin-top:2px}.job-card-spec{margin:18px 0 0;padding-top:14px;border-top:1px solid #e4ebf4}.job-card-spec>div{display:grid;grid-template-columns:34px 1fr;gap:10px;font-size:12px;margin:7px 0;line-height:1.9}.job-card-spec dt{color:var(--muted)}.job-card-spec dd{margin:0}.job-details-link{display:block;font-size:13px;font-weight:700;margin-top:22px;padding-top:14px;border-top:1px solid #e4ebf4;color:var(--blue)}.application-lead{font-size:16px;line-height:2;margin:24px 0;color:var(--muted)}.job-detail-hero{padding:28px var(--pad) 65px;background:var(--pale)}.job-detail-hero .breadcrumbs{margin-bottom:40px}.job-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;max-width:var(--max);margin:auto}.job-detail-area{font-size:17px;color:var(--muted);margin-bottom:12px}.job-detail-copy h1{font-size:clamp(29px,3.1vw,45px);line-height:1.65;letter-spacing:-.04em}.job-detail-intro{font-size:16px;line-height:2;color:var(--muted);margin-top:22px}.job-detail-photo img{aspect-ratio:5/4;object-fit:cover}.job-detail-pay{display:flex;align-items:baseline;gap:9px;margin-top:24px;color:var(--blue);flex-wrap:wrap;line-height:1.5}.job-detail-pay small{font-size:15px}.job-detail-pay b{font-size:48px;letter-spacing:-.035em;font-weight:600}.job-detail-pay span{font-size:15px}.salary-detail{font-size:13px;line-height:1.9;color:var(--muted);margin:8px 0 22px}.job-benefits{display:grid;grid-template-columns:repeat(3,1fr);padding:25px var(--pad);border-bottom:1px solid var(--line);background:#fff;gap:20px}.job-benefits>span{font-size:14px;font-weight:700;text-align:center;line-height:1.8;border-right:1px solid var(--line);padding:5px 15px}.job-benefits>span:last-child{border:0}.job-information>div{grid-template-columns:120px 1fr}.job-information dd{font-size:15px}.apply-panel{background:var(--pale);padding:50px;display:grid;grid-template-columns:1fr .8fr;gap:45px;border-radius:5px;align-items:center}.apply-panel h2{font-size:35px}.apply-panel p{font-size:15px;margin-top:20px}.apply-job{font-size:13px;color:var(--muted);display:block;margin-top:12px;line-height:1.9}.apply-phone{font-size:clamp(26px,3vw,43px);font-weight:500;color:var(--blue);white-space:nowrap;line-height:1.5;display:block;margin-bottom:20px}.apply-panel .btn{width:100%;margin-bottom:10px}.apply-panel .text-link{display:block;text-align:center;border:0;text-decoration:underline;text-underline-offset:5px}.related-jobs-title{font-size:28px;margin-bottom:25px}.related-job-links{display:grid;grid-template-columns:1fr 1fr;gap:24px}.related-job-links>a{padding:25px;border:1px solid var(--line);background:white;border-radius:4px}.related-job-links span{font-size:12px;color:var(--blue)}.related-job-links h3{font-size:21px;margin:12px 0;line-height:1.7}.related-job-links p{font-size:14px;color:var(--muted)}.related-job-links small{font-size:12px;color:var(--muted)}.related-job-links>a:hover{border-color:var(--blue)}
@media(max-width:1180px){.jobs-grid{gap:18px}.job-card-body{padding:20px}.job-card h3{font-size:19px}.job-pay{font-size:29px}.job-card-spec>div{font-size:11px}.page-hero-layout h1{font-size:40px}.job-detail-grid{gap:35px}.apply-panel{padding:35px}}
@media(max-width:980px){.jobs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-photo{margin:-28px -28px 26px}.page-hero-layout{gap:30px}.page-hero-layout h1{font-size:34px}.page-hero-photo img{aspect-ratio:4/5}.job-detail-grid{grid-template-columns:1fr 1fr;gap:28px}.job-detail-copy h1{font-size:31px}.job-detail-photo img{aspect-ratio:4/5}.job-detail-pay b{font-size:42px}.job-benefits{gap:5px}.job-benefits>span{font-size:12px;padding:5px 8px}.apply-panel{grid-template-columns:1fr}.apply-phone{font-size:40px}.job-card-spec>div{font-size:12px}}
@media(max-width:700px){.page-hero-layout{grid-template-columns:1fr;gap:30px}.page-hero-layout h1{font-size:clamp(30px,8.5vw,45px)}.page-hero-layout p{font-size:16px}.page-hero-photo img{aspect-ratio:16/10}.editorial-photo figcaption{font-size:10px}.home-photo-strip{grid-template-columns:1fr 1fr;gap:14px;padding-bottom:60px}.home-photo:first-child{grid-column:1/-1}.home-photo:first-child img{aspect-ratio:16/8}.home-photo:nth-child(2){padding-top:0}.home-photo:not(:first-child) img{aspect-ratio:1}.home-photo:not(:first-child) figcaption{font-size:9px}.service-photo{margin:-26px -26px 24px}.service-photo img{aspect-ratio:16/8}.service-photo figcaption{font-size:9px}.job-list-section{padding-top:45px}.job-list-heading h2{font-size:29px}.job-list-heading p{font-size:12px}.job-filters{gap:8px}.job-filters button{font-size:12px;padding:9px 15px;min-height:42px}.jobs-grid{grid-template-columns:1fr;gap:23px}.job-card-photo img{aspect-ratio:16/9}.job-card-photo figcaption{font-size:9px}.job-card-body{padding:23px}.job-card h3{font-size:22px;min-height:0}.job-card-spec>div{font-size:13px;grid-template-columns:36px 1fr}.job-pay{font-size:32px}.job-details-link{margin-top:20px}.job-detail-hero{padding:23px var(--pad) 40px}.job-detail-hero .breadcrumbs{font-size:10px;margin-bottom:32px;gap:10px}.job-detail-grid{grid-template-columns:1fr;gap:28px}.job-detail-copy h1{font-size:30px}.job-detail-area{font-size:15px}.job-detail-intro{font-size:15px}.job-detail-pay b{font-size:44px}.job-detail-photo img{aspect-ratio:3/2}.job-detail-copy .btn{width:100%}.job-benefits{padding:22px var(--pad);grid-template-columns:1fr;gap:0}.job-benefits>span{font-size:14px;text-align:left;border:0;border-bottom:1px solid var(--line);padding:11px 0}.job-benefits>span:last-child{border:0}.job-information>div{grid-template-columns:85px 1fr;gap:14px}.job-information dd{font-size:14px}.job-information dt{font-size:12px}.apply-panel{padding:28px 23px;gap:30px}.apply-panel h2{font-size:29px}.apply-panel p{font-size:14px}.apply-phone{font-size:clamp(25px,8vw,36px)}.apply-job{font-size:12px}.related-job-links{grid-template-columns:1fr;gap:15px}.related-job-links>a{padding:22px}.related-job-links h3{font-size:20px}.related-jobs-title{font-size:26px}.application-lead{font-size:15px}}

.brand-official{display:flex;flex-direction:column;align-items:flex-start;gap:3px}.brand-logo{display:block;width:210px;height:58px;object-fit:cover;object-position:center;background:transparent}.brand-official small{font-size:11px;line-height:1.4;letter-spacing:.08em}.scene-fallback span:has(.brand-logo){transform:rotate(25deg)}@media(max-width:700px){.brand-logo{width:185px;height:51px}.brand-official small{font-size:10px}}

footer .brand-logo{filter:url(#connect-dark-logo);background:transparent}

/* Approved Japan + handshake hero artwork, November 2026. */
.japan-visual{width:54%;right:0;perspective:1100px}
.japan-object{position:absolute;inset:5% 5% 12%;display:flex;align-items:center;justify-content:center;animation:connect-japan-float 9s ease-in-out infinite;transform-origin:50% 55%;will-change:transform;pointer-events:none}
.japan-object img{display:block;width:100%;height:100%;object-fit:contain}
.object-paused .japan-object{animation-play-state:paused}
.japan-visual .scene-label{z-index:2}
.japan-visual .label-1{left:5%;top:13%}
.japan-visual .label-2{right:5%;top:32%}
.japan-visual .label-3{left:3%;top:68%}
.japan-visual .label-4{right:6%;top:77%}
@keyframes connect-japan-float{0%,100%{transform:translateY(6px) rotateX(1deg) rotateY(-5deg) rotateZ(-1deg)}50%{transform:translateY(-10px) rotateX(-2deg) rotateY(5deg) rotateZ(1deg)}}
@media(min-width:1700px){.japan-visual{width:50%;right:4%}}
@media(min-width:701px) and (max-width:980px){.japan-visual{width:50%;right:0;top:0}.japan-object{inset:12% 2% 16%}.japan-visual .scene-label{padding:6px 8px}.japan-visual .scene-label b{font-size:10px}.japan-visual .visual-caption{left:auto;right:10%;bottom:48px}}
@media(max-width:700px){.japan-visual{width:calc(100% + 48px);right:auto;top:auto;height:370px}.japan-object{inset:2% 7% 10%}.japan-visual .label-1{left:7%;top:9%}.japan-visual .label-2{right:4%;top:31%}.japan-visual .label-3{left:4%;top:66%}.japan-visual .label-4{right:5%;top:79%}}
@media(prefers-reduced-motion:reduce){.japan-object{animation:none;transform:none;will-change:auto}}
