/* 2.3.0 — Purpose-led consultation, live text and native accessible disclosures. */
.consult-portal{padding:54px 0 42px;background:linear-gradient(115deg,#faf9f6,#f2f0e9)}
.consult-portal .consult-heading{margin-bottom:32px}.consult-portal .consult-heading h2{font-size:clamp(26px,2.6vw,36px)}
.consult-destinations{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.consult-destinations>a{position:relative;display:flex;flex-direction:column;align-items:center;min-width:0;text-align:center;background:#ffffffb8;border:1px solid #b9a371;border-radius:2px;padding:32px 12px 28px;color:#0d2d43;transition:background .2s,transform .2s,box-shadow .2s}
.consult-destination-number{position:absolute;top:12px;left:16px;color:#947a3e;font:italic 24px/1.2 Georgia,serif}
.consult-destinations svg{width:46px;height:46px;color:#9a7c37;margin:5px 0 16px}
.consult-destination-en{font:10px/1.6 Georgia,serif;letter-spacing:.16em;color:#8c763f}
.consult-destinations h3{font-size:clamp(17px,1.55vw,22px);line-height:1.7;margin:8px 0 7px!important;font-weight:500}
.v2 .consult-destinations p{font-family:var(--sans);font-size:11px;line-height:1.9;color:#63717a;margin:0 0 17px}
.consult-destination-arrow{font:24px/1 Arial,sans-serif;color:#927638}
.consult-destinations>a:hover{background:#fff;transform:translateY(-4px);box-shadow:0 12px 28px #0d2d430c}
.consult-undecided{display:flex;align-items:center;justify-content:center;width:fit-content;max-width:100%;gap:22px;border-bottom:1px solid #b9a371;margin:25px auto 0;padding:4px 0 8px;font-size:13px;line-height:1.8}
.consult-undecided span{font:22px/1 Arial,sans-serif;color:#947a3e}
.consult-scope{display:grid;grid-template-columns:1fr 1.3fr;gap:25px 45px;padding-block:32px 40px;border-top:1px solid #d8d0be;margin-bottom:30px}
.consult-scope>div{padding-left:21px;border-left:2px solid #b9a371;min-width:0}.consult-scope>div>span{color:#8d773e;font:10px/1.5 Georgia,serif;letter-spacing:.16em}
.consult-scope h2{font-size:20px!important;line-height:1.7;margin:7px 0 10px!important}
.v2 .consult-scope p{font-family:var(--sans);font-size:14px;line-height:2;margin:0}
.v2 .consult-scope .consult-scope-note{grid-column:1/-1;font-size:11px;line-height:1.9;color:#66727b;border-top:1px solid #e7e3d9;padding-top:18px}
.consult-prep>p{font-size:14px;color:#5c6e7b}.consult-prep .v2-heading{margin-bottom:22px}
.consult-faq .v2-heading{margin-bottom:22px}.consult-faq details{border-bottom:1px solid #d6d7d2;line-height:2}
.consult-faq details:first-of-type{border-top:1px solid #d6d7d2}
.consult-faq summary{display:block;position:relative;list-style:none;cursor:pointer;padding:22px 48px 22px 38px;font:500 16px/1.9 var(--sans);color:#0d2d43}
.consult-faq summary::-webkit-details-marker{display:none}.consult-faq summary:before{content:"Q";position:absolute;left:0;top:20px;font:24px/1.5 Georgia,serif;color:#947b3e}
.consult-faq summary:after{content:"+";position:absolute;right:6px;top:20px;font:26px/1.4 Arial,sans-serif;color:#9c8346}.consult-faq details[open] summary:after{content:"−"}
.consult-faq summary:focus-visible{outline:2px solid #9c8346;outline-offset:4px}
.consult-answer{padding:0 48px 22px 38px}.v2 .consult-answer p{font-family:var(--sans);font-size:14px;line-height:2.1;color:#526572;margin:0}
.consult-group-lead{max-width:800px;font-size:14px;line-height:2.2}.consult-group-roles{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:35px}
.consult-group-roles article{background:#fff;padding:34px;min-width:0;border-top:2px solid #bba36b}
.consult-group-roles h3{font-size:27px;margin:0 0 20px;line-height:1.7}
.consult-group-roles p,.consult-group-roles li{font-family:var(--sans);font-size:14px;line-height:2.1}.consult-group-roles ul{padding-left:1.3em;margin:18px 0}
.consult-group-roles .consult-role-title{font-family:var(--serif);font-size:21px;line-height:1.8}
.consult-group-tags{display:flex;flex-wrap:wrap;gap:10px;margin-block:22px}.consult-group-tags span{border:1px solid #c6b58d;padding:5px 13px;font-size:12px}
.consult-group-roles .consult-own-role{background:#0d2d43;color:#fff}.consult-own-role h3{color:#fff}.consult-own-role .v2-eyebrow{color:#d4bd83}.consult-own-role .v2-note{color:#c7d4dc}.consult-own-role .v2-link{color:#fff}
.consult-parent-line{display:flex;align-items:center;gap:35px;border-block:1px solid #cfc6b4;padding-block:24px;margin-top:30px}
.consult-parent-line>span{font:11px/1.8 Georgia,serif;color:#89713b;letter-spacing:.12em;flex-shrink:0}.consult-parent-line h3{font-size:21px;margin:0 0 6px;line-height:1.8}.v2 .consult-parent-line p{font-size:12px;margin:0;line-height:1.9}
.v2 .consult-form-guide{font-size:13px;line-height:2;margin:20px 0;color:#536774}.v2 .consult-form-hint{font-family:var(--sans);font-size:12px;line-height:1.9;background:#f4f0e5;padding:12px 16px;color:#655629;margin:0 0 20px}
.mobile-consult{display:none}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1000px){.consult-destinations{gap:14px}.consult-destinations>a{padding-inline:9px}.consult-destinations h3{font-size:17px}.consult-scope{gap:25px}.consult-group-roles article{padding:27px}.consult-group-roles h3{font-size:25px}}
@media(max-width:900px){
body.v2:not(.bof-page-contact){padding-bottom:calc(63px + env(safe-area-inset-bottom,0px))}
.mobile-consult{display:grid;grid-template-columns:1fr 1fr;position:fixed;bottom:0;left:0;right:0;z-index:80;padding:8px 12px calc(8px + env(safe-area-inset-bottom,0px));gap:8px;background:#0d2d43f5;border-top:1px solid #bda76e;backdrop-filter:blur(12px);box-shadow:0 -6px 22px #0d2d4314}
.mobile-consult a{min-height:46px;display:flex;justify-content:center;align-items:center;gap:20px;border:1px solid #b9a371;color:#f9f5e9;font-size:13px;line-height:1.8;font-weight:500}
.mobile-consult a:first-child{background:#c7b17a;color:#0d2d43}.mobile-consult a span{font-size:18px}.mobile-consult a:focus-visible{outline:2px solid white;outline-offset:2px}
.bof-page-contact .mobile-consult{display:none}.v2 .to-top{bottom:calc(85px + env(safe-area-inset-bottom,0px));right:17px}
body:has(.main-nav.open) .mobile-consult{visibility:hidden}
}
@media(max-width:680px){
.consult-portal{padding:33px 0 29px}.consult-portal .consult-heading{margin-bottom:24px}.consult-portal .consult-heading h2{font-size:27px}
.consult-destinations{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.consult-destinations>a{padding:24px 10px 20px}.consult-destination-number{font-size:19px;left:11px;top:10px}
.consult-destinations svg{width:36px;height:36px;margin:8px 0 12px}.consult-destination-en{font-size:9px}.consult-destinations h3{font-size:16px;margin:8px 0 5px!important;line-height:1.8}.v2 .consult-destinations p{font-size:10px;line-height:1.8;margin-bottom:12px}.consult-destination-arrow{font-size:21px}
.consult-undecided{font-size:12px;gap:12px;margin-top:20px;flex-wrap:wrap;text-align:center}
.consult-scope{grid-template-columns:1fr;gap:23px;padding-block:25px 30px;margin-bottom:15px}.consult-scope>div{padding-left:16px}.consult-scope h2{font-size:19px!important}.v2 .consult-scope p{font-size:13px;line-height:2}.v2 .consult-scope .consult-scope-note{font-size:10px;line-height:2;padding-top:15px}
.consult-faq summary{font-size:14px;padding:19px 30px 19px 30px}.consult-faq summary:before{font-size:21px;top:18px}.consult-faq summary:after{font-size:23px;top:18px;right:0}.consult-answer{padding:0 20px 20px 30px}.v2 .consult-answer p{font-size:12px}
.consult-group-roles{grid-template-columns:1fr;gap:20px;margin-top:25px}.consult-group-roles article{padding:26px 22px}.consult-group-roles h3{font-size:25px;margin-bottom:16px}.consult-group-roles p,.consult-group-roles li{font-size:13px}.consult-group-roles .consult-role-title{font-size:20px}.consult-group-lead{font-size:13px}.consult-parent-line{display:block;padding-block:22px}.consult-parent-line>span{display:block;margin-bottom:12px}.consult-parent-line h3{font-size:19px}.v2 .consult-parent-line p{font-size:11px}
}
@media(prefers-reduced-motion:reduce){.consult-destinations>a{transition:none}.consult-destinations>a:hover{transform:none}}

/* 2.4.0 Architectural corporate refinement */
.v2{font-size:16px;color:#173345;letter-spacing:.025em}.v2 main p,.v2 main li,.v2 main td{font-family:var(--sans);color:inherit}.v2 main p{line-height:2.15}.v2 .header-inner{min-height:82px}.v2 .main-nav{font-size:13px}.v2 .brand>.brand-jp{font-size:clamp(16px,1.4vw,21px)}
.v2-eyebrow{font-size:11px;color:#89703a}.v2-note{color:#526470;font-size:12px}.v2-feature-copy>p:not(.v2-eyebrow){font-size:15px;color:#354d5b}.v2-feature-copy{padding:70px 8vw}.v2-feature-photo{min-height:400px}.v2-business-heading{padding-top:32px}.v2-purpose{padding-block:100px}.v2-home-hero:after{background:linear-gradient(90deg,#09253cb8 0%,#09253c33 48%,transparent 85%)}
.consult-portal{background:#f7f6f2;padding:38px 0 30px}.consult-portal .consult-heading{margin-bottom:25px}.consult-destinations{gap:0}.consult-destinations>a{background:transparent;border:0;border-right:1px solid #d6cfbd;border-radius:0;min-height:160px;padding:18px 15px}.consult-destinations>a:last-child{border-right:0}.consult-destination-number{font-size:15px;left:14px;top:15px}.consult-destinations svg{width:31px;height:31px;margin:0 0 10px}.consult-destination-en{display:none}.consult-destinations h3{font-size:20px}.v2 .consult-destinations p{font-size:12px;color:#4f6270;margin-bottom:10px}.consult-destination-arrow{font-size:19px}.consult-destinations>a:hover{box-shadow:none;background:white;transform:translateY(-3px)}
.network-section{display:grid;grid-template-columns:1fr 1.1fr;gap:70px;align-items:center;padding-block:95px}.network-map{background:#f7f7f3;padding:24px;display:flex;justify-content:center}.network-map svg{width:100%;max-height:510px}.network-copy h2{font-size:clamp(28px,3vw,40px);margin-bottom:24px}.network-copy>p{font-size:14px;color:#475e6b}.network-copy dl{margin:30px 0}.network-copy dl>div{display:grid;grid-template-columns:140px 1fr;padding:18px 0;border-bottom:1px solid #d8ddd9;gap:15px}.network-copy dt{font:11px/1.8 Georgia,serif;color:#8a713c;letter-spacing:.08em}.network-copy dd{margin:0;font-family:var(--serif);font-size:21px;line-height:1.5}.network-copy dd span{display:block;font:12px/2 var(--sans);margin-top:6px;color:#536774}.consult-faq summary{font-size:16px}.consult-answer p{color:#324c5b!important}.v2 .news-row{font-size:15px}.v2 .footer-directory p,.v2 .footer-column a{font-size:13px}
@media(max-width:900px){.network-section{gap:35px}.network-copy dl>div{grid-template-columns:1fr;gap:6px}.v2-feature-copy{padding:40px}}
@media(max-width:680px){.v2 .header-inner{min-height:78px}.consult-destinations{gap:0}.consult-destinations>a{border-bottom:1px solid #d6cfbd;padding:22px 10px}.consult-destinations>a:nth-child(2){border-right:0}.consult-destinations>a:nth-child(n+3){border-bottom:0}.consult-destinations h3{font-size:16px}.v2 .consult-destinations p{font-size:11px}.network-section{grid-template-columns:1fr;padding-block:50px;gap:30px}.network-map svg{max-height:370px}.network-copy dl>div{grid-template-columns:115px 1fr;gap:12px}.network-copy dd{font-size:19px}.network-copy dd span{font-size:11px}.network-copy dt{font-size:10px}.v2-purpose{padding-block:55px}.v2-feature-copy>p:not(.v2-eyebrow){font-size:14px}.consult-faq summary{font-size:14px}.v2-note{font-size:11px}}

/* 2.5.1 — restore 2.4 character; tune proportions rather than shrinking all images */
.v2-home-hero{height:min(580px,46vw);min-height:440px}.v2-home-image{inset:0;width:auto}.v2-home-hero h1{color:white}.v2 .v2-feature{align-items:center}.v2 .v2-feature-photo{min-height:0}.v2 .v2-feature-photo>.reference-photo{height:320px;min-height:0}.v2 .v2-feature-copy{padding:40px 4vw}.v2 .v2-feature-copy h2{line-height:1.65}.consult-faq .v2-heading{margin-bottom:25px}.consult-faq summary{padding-block:22px}.outcomes{padding-block:45px}.outcomes ol{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.outcomes li{border-top:1px solid #bca775;padding-top:20px;display:flex;gap:18px}.outcomes li>span{font:28px Georgia,serif;color:#a38a50}.outcomes h3{font-size:22px;line-height:1.6}.outcomes p{font-size:14px;line-height:2}
.network-map .japan-network-map{max-height:430px;width:100%}.network-map .japan-label{font-family:var(--sans)}
.office-showcase{padding-block:45px;background:#0d2d43;color:white}.office-showcase h2{font-size:36px;color:white;line-height:1.6}.office-showcase h2 br{display:none}.office-showcase .v2-eyebrow{color:#d0b980}.office-showcase-grid{display:grid;grid-template-columns:40% 1fr;gap:55px;align-items:center}.office-showcase .network-map{background:transparent;padding:0}.office-showcase .japan-land{fill:#d8e0e2;stroke:#193b50}.office-showcase .japan-label{fill:#ead7a6}.office-showcase .v2-offices{display:block}.office-showcase .v2-offices article{border:0;border-top:1px solid #ffffff30;padding:18px 0;display:grid;grid-template-columns:1fr 1fr;gap:10px 20px}.office-showcase .v2-offices span{color:#d3ba7a;grid-column:1/-1;font-size:12px}.office-showcase .v2-offices h3{color:white;font-size:27px;margin:0}.office-showcase .v2-offices p{font-size:13px;min-height:0;margin:0;grid-column:1/-1;color:#d5dfe4}.office-showcase .v2-offices a{font-size:21px;grid-column:2;grid-row:2;text-align:right}.office-disclaimer{font-size:12px;color:#d5dfe4!important;border-top:1px solid #ffffff30;padding-top:20px;margin-top:20px!important}
@media(max-width:680px){.v2-home-hero{height:490px;min-height:0}.v2 .v2-feature-photo,.v2 .v2-feature-photo>.reference-photo{height:235px!important;min-height:0}.v2 .v2-feature-copy{padding:28px 20px}.outcomes ol{grid-template-columns:1fr;gap:18px}.office-showcase h2{font-size:28px}.office-showcase-grid{grid-template-columns:1fr;gap:20px}.office-showcase .network-map svg{max-height:330px}.office-showcase .v2-offices h3{font-size:22px}.office-showcase .v2-offices a{font-size:18px}.network-map .japan-label{font-size:21px}.office-showcase .v2-offices article{grid-template-columns:1fr}.office-showcase .v2-offices a{grid-column:1;grid-row:auto;text-align:left}}
.v2 .consult-faq{padding-block:36px 50px}.v2 .consult-prep{padding-bottom:28px}.consult-faq .v2-heading{margin-bottom:26px}@media(max-width:680px){.v2 .consult-faq{padding-block:26px 35px}}

.trust-policy{padding-block:50px}.trust-policy-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-bottom:20px}.trust-policy-grid article{border-top:1px solid #c1ac77;padding-top:22px}.trust-policy-grid article>span{font:24px Georgia,serif;color:#9a7e42}.trust-policy-grid h3{font-size:24px;margin:14px 0}.trust-policy-grid p{font-size:14px;color:#425b6b}.group-directory>p{font-size:14px}.group-directory dl>div{display:grid;grid-template-columns:1.5fr 1fr 110px;gap:25px;border-bottom:1px solid #d8dbd6;padding:22px 0;align-items:center}.group-directory dt{font-family:var(--serif);font-size:21px}.group-directory dd{margin:0;font-size:14px}.group-directory dd a{border-bottom:1px solid #b59b60;padding-bottom:5px}.contact-after{padding-block:40px 55px}.contact-after ol{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;padding-left:20px}.contact-after li{padding-left:8px}.contact-after strong{font-family:var(--serif);font-size:22px;font-weight:500}.contact-after li p{font-size:14px;margin-top:15px}.important-notice{display:flex;gap:25px;padding-block:18px;border-bottom:1px solid #c7b17a}.important-notice strong{white-space:nowrap;font-size:14px}.important-notice p{font-size:14px;margin:0!important}.president-message>p{max-width:850px;font-size:15px}.message-signature{text-align:right}
@media(max-width:680px){.trust-policy{padding-block:32px}.trust-policy-grid{grid-template-columns:1fr;gap:20px}.trust-policy-grid h3{font-size:22px}.group-directory dl>div{grid-template-columns:1fr;gap:10px;padding-block:20px}.group-directory dt{font-size:19px}.group-directory dd{font-size:13px}.contact-after ol{grid-template-columns:1fr;gap:20px}.important-notice{display:block}.important-notice p{margin-top:8px!important}}
.japan-network-map{overflow:hidden!important;display:block;max-width:100%}.network-map{min-width:0;overflow:hidden}

/* 2.6.1: shared native-photo page banners; the home hero is independent. */
.v2 .v2-banner.v2-ref-banner{height:320px;min-height:0;max-height:none;aspect-ratio:auto;box-sizing:border-box}
.v2 .v2-banner.v2-ref-banner:after{background:linear-gradient(90deg,rgba(6,27,43,.72),rgba(6,27,43,.26) 58%,rgba(6,27,43,.08));pointer-events:none}
.v2 .v2-ref-banner .v2-banner-image img{width:100%;height:100%;object-fit:cover;object-position:50% 45%}
.v2 .v2-ref-company .v2-banner-image img,.v2 .v2-ref-contact .v2-banner-image img{object-position:50% 53%}
.v2 .v2-ref-utilization .v2-banner-image img{object-position:50% 58%}
.v2 .v2-banner.v2-ref-banner>.v2-container{width:min(1200px,calc(100% - 96px));padding:0 0 0 24px;border-left:2px solid #c7b17a;box-sizing:border-box}
.v2 .v2-banner.v2-ref-banner .v2-eyebrow{font:500 12px/1.6 var(--sans,sans-serif);color:#e0cb96;letter-spacing:.18em;max-width:none;margin:0 0 12px!important}
.v2 .v2-banner.v2-ref-banner .v2-eyebrow:after{display:none}
.v2 .v2-banner.v2-ref-banner h1,.v2 .v2-ref-article .v2-container>p:last-child{font-family:var(--serif);font-size:clamp(30px,3.2vw,44px);line-height:1.5;font-weight:500;color:#fff;max-width:100%;margin:0;letter-spacing:.04em;text-shadow:0 2px 15px #081b2d55}
.transaction-intro{padding-block:38px 20px;text-align:center}
.transaction-intro-title{font-family:var(--serif);font-size:clamp(24px,2.6vw,34px);line-height:1.7;color:#0d2d43;margin:0 0 24px}
.transaction-intro-links{display:flex;justify-content:center;gap:24px}
.transaction-intro-links a{display:flex;justify-content:space-between;align-items:center;gap:32px;min-width:240px;border:1px solid #b49b5c;padding:13px 24px;color:#0d2d43;background:#fff}
.transaction-intro-links a:hover{background:#f5f2e9}
.transaction-intro-links span{color:#a78c4d}
@media(max-width:680px){
.v2 .v2-banner.v2-ref-banner{height:200px;min-height:0;aspect-ratio:auto}
.v2 .v2-banner.v2-ref-banner>.v2-container{width:calc(100% - 40px);padding-left:16px}
.v2 .v2-banner.v2-ref-banner h1,.v2 .v2-ref-article .v2-container>p:last-child{font-size:clamp(23px,6.2vw,30px);line-height:1.55;max-width:100%;overflow-wrap:anywhere}
.v2 .v2-banner.v2-ref-banner .v2-eyebrow{font-size:10px;margin-bottom:9px!important;line-height:1.6}
.v2 .v2-ref-banner .v2-banner-image img{object-position:60% 45%}
.v2 .v2-ref-utilization .v2-banner-image img{object-position:60% 58%}
.transaction-intro{padding-block:24px 8px}
.transaction-intro-title{font-size:22px;margin-bottom:18px}
.transaction-intro-links{gap:12px}
.transaction-intro-links a{min-width:0;flex:1;padding:12px 10px;font-size:13px;gap:6px}
}

/* 2.7.2: horizontal map callouts keep leader lines clear of labels. */
.japan-network-map .japan-label{font-size:22px;font-weight:600;letter-spacing:0}
