/* Shared financial group presentation. The approved hero compositions remain intact. */
.review-site{--reading-width:68ch}
.review-site a:focus-visible,.review-site button:focus-visible,.review-site summary:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
.review-site .r-header{border-bottom:1px solid var(--line)}
.review-site #r-site-nav a{font-size:14px;font-weight:500;transition:color .2s,background-color .2s}
.review-site .text-link svg,.review-site .go svg,.review-site .u-actions svg{transition:transform .2s}
.review-site a:hover>.arrow,.review-site a:hover .go svg,.review-site .u-actions a:hover svg,.review-site .text-link:hover svg{transform:translateX(4px)}
.review-site .sec-head .en{font-size:16px;letter-spacing:var(--ls-en)}
.review-site :is(section[id],main[id]){scroll-margin-top:var(--s3)}
.review-group .group-wayfinding{display:grid;grid-template-columns:repeat(4,1fr);max-width:1328px;margin:0 auto;padding:var(--s3) var(--s5);border-bottom:1px solid var(--line)}
.review-group .group-wayfinding a{display:flex;justify-content:space-between;align-items:center;gap:var(--s2);min-height:48px;padding:var(--s1) var(--s3);font-size:15px;font-weight:500;border-right:1px solid var(--line)}
.review-group .group-wayfinding a:last-child{border:0}.review-group .group-wayfinding a:hover{background:var(--bg)}
.review-group .group-wayfinding svg{width:20px;height:20px;color:var(--gold);flex:none}
.review-group .brand-story{background:var(--white);padding-top:var(--s7);border-bottom:1px solid var(--line)}
.review-group .symbol-heading{text-align:center;margin-bottom:var(--s6)}
.review-group .symbol-heading .eyebrow{margin-bottom:var(--s2)}
.review-group .symbol-heading h2{font:500 clamp(28px,3vw,44px)/1.65 var(--serif);letter-spacing:var(--ls-jp)}
.review-group .symbol-heading:after{content:"";display:block;width:var(--s5);height:2px;background:var(--gold);margin:var(--s3) auto 0}
.review-group .brand-story-grid{grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:var(--s5);align-items:center}
.review-group .symbol-visual{margin:0;background:var(--bg)}
.review-group .symbol-visual figcaption{padding:var(--s2) var(--s3);font:500 16px/1.6 var(--en);letter-spacing:var(--ls-en);text-align:center;border-bottom:1px solid var(--gold)}
.review-group .brand-story .story-copy h3{font:500 clamp(24px,2.2vw,34px)/1.8 var(--serif);margin:0 0 var(--s4);text-wrap:balance}
.review-group .brand-story .story-copy p{font-size:17px;line-height:2.1}
.review-group .brand-story details{background:var(--bg);padding:var(--s2) var(--s3);border:1px solid var(--line)}
.review-group .brand-story summary{font-size:15px;min-height:32px;display:flex;align-items:center;justify-content:space-between;list-style:none}
.review-group .brand-story summary::-webkit-details-marker{display:none}.review-group .brand-story summary:after{content:"＋";font:24px var(--sans);color:var(--navy)}
.review-group .brand-story details[open] summary:after{content:"−"}.review-group .brand-story details[open] .story-note{padding-top:var(--s2)}










.review-group .companies{background:var(--white)}
.review-group .group-overview{margin:0 0 var(--s6)}
.review-group .group-overview>a{display:block;cursor:zoom-in}
.review-group .group-overview img{display:block;width:100%;height:auto;object-fit:contain}
.review-group .group-overview figcaption{display:flex;justify-content:space-between;align-items:center;gap:var(--s3);padding:var(--s3) 0;border-bottom:1px solid var(--line);font-size:16px;line-height:1.9}
.review-group .group-overview figcaption>a{white-space:nowrap;font-size:14px;text-decoration:underline;text-underline-offset:var(--s1)}
@media(max-width:760px){.review-group .group-overview{margin-bottom:var(--s4)}.review-group .group-overview figcaption{display:block;padding:var(--s2) 0;font-size:14px}.review-group .group-overview figcaption>a{display:inline-flex;align-items:center;min-height:48px;gap:var(--s1)}}
.review-group .companies .co-grid{gap:var(--s4)}
.review-group .companies .co-card{border:1px solid var(--line);border-top:3px solid var(--accent,var(--navy));border-radius:0;background:var(--white);box-shadow:none;transition:border-color .2s;transform:none}
.review-group .companies .co-card:hover{border-color:var(--accent,var(--navy));box-shadow:none;transform:none}
.review-group .companies .co-card .jp{font-size:16px;line-height:1.9;min-height:64px}
.review-group .companies .co-card p{font-size:17px;line-height:2}
.review-group .companies .go{font-size:15px;font-weight:500;border-top:1px solid var(--line);min-height:64px}
.review-group .companies .company-photo{aspect-ratio:16/9;object-fit:cover;height:auto}
.review-group .message{background:var(--bg)}
.review-group .message .msg-grid{gap:var(--s6);align-items:center}
.review-group .message .msg-title{font-size:32px!important;line-height:1.8!important;margin-bottom:var(--s4)!important}
.review-group .message .msg-body p{font-size:17px;line-height:2.1}
.review-group .message .msg-photo{background:var(--white);border-bottom:2px solid var(--gold)}
.review-group .book{background:var(--white)}
.review-group .book .book-grid{border:1px solid var(--line);padding:var(--s5);gap:var(--s6)}
.review-group .book h2{font-size:30px;line-height:1.8}.review-group .book p{font-size:16px}
.review-group .conduct{background:var(--bg)}
.review-group .conduct .cd-grid{gap:var(--s3)}
.review-group .conduct .cd-item{background:var(--white);border:1px solid var(--line);border-top:2px solid var(--gold);padding:var(--s4) var(--s3)}
.review-group .conduct .cd-item h3{font-size:22px;margin-bottom:var(--s2)}
.review-group .conduct .cd-item p{font-size:16px;line-height:1.9}
.review-group .contact{background:var(--navy);padding-block:var(--s6)}
.review-group .contact h2{font-size:36px}.review-group .contact p{font-size:17px;line-height:2}
.review-group .contact .btn{min-height:64px;font-size:16px;border:1px solid var(--white)}
.review-group footer{border-top:1px solid var(--line)}
@media(max-width:1100px){.review-group .brand-story-grid{grid-template-columns:1fr;gap:var(--s4)}.review-group .symbol-visual{max-width:760px;width:100%;margin:auto}.review-group .group-wayfinding{padding-inline:var(--s3)}.review-group .group-wayfinding a{padding-inline:var(--s2)}}
@media(max-width:760px){.review-group .group-wayfinding{grid-template-columns:1fr 1fr;padding:var(--s2);gap:0}.review-group .group-wayfinding a{font-size:13px;padding:var(--s1);border-bottom:1px solid var(--line)}.review-group .group-wayfinding a:nth-child(2n){border-right:0}.review-group .group-wayfinding a:nth-child(n+3){border-bottom:0}.review-group .symbol-heading{margin-bottom:var(--s4)}.review-group .symbol-heading h2{font-size:28px}.review-group .symbol-heading .eyebrow{font-size:12px}.review-group .brand-story .story-copy h3{font-size:24px;margin-bottom:var(--s3)}.review-group .brand-story .story-copy p{font-size:16px}.review-group .message .msg-title{font-size:26px!important}.review-group .message .msg-body p{font-size:16px}.review-group .book .book-grid{padding:var(--s3);gap:var(--s4)}.review-group .book h2{font-size:24px}.review-group .conduct .cd-grid{grid-template-columns:1fr 1fr}.review-group .conduct .cd-item{padding:var(--s3) var(--s2)}.review-group .conduct .cd-item h3{font-size:18px}.review-group .conduct .cd-item p{font-size:14px}.review-group .contact h2{font-size:28px}}
@media(prefers-reduced-motion:reduce){.review-site *, .review-site *:before,.review-site *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(max-width:760px){.review-group .group-overview figcaption>span{display:block}}
.review-group .brand-story .story-copy h3{text-wrap:wrap}.review-group .brand-story .story-phrase{display:inline-block;white-space:nowrap}

/* 2026-09-07 urgent QA: avoid one-character last lines without changing copy. */
.review-site h2,.review-site h3{text-wrap:balance}
.review-site .qa-phrase{display:inline-block;white-space:nowrap}
.review-group .brand-story .story-copy h3{text-wrap:wrap}
.review-hd .footer .fb img{width:auto;height:32px;object-fit:contain;flex:none}
.review-hd .footer .cp{overflow-wrap:anywhere}
@media(max-width:1000px){
 .review-group .conduct .cd-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .review-group .conduct .cd-item h3{font-size:18px;letter-spacing:0}
}
@media(max-width:760px){
 .review-group .conduct .cd-item h3{font-size:16px;white-space:nowrap}
 .review-group .thinking p{font-size:16px}
 .review-amrc .hero-actions .btn,.review-amrc .hero-actions .text-link{font-size:14px}
}
@media(max-width:360px){
 .review-hd .r-header-inner{padding-inline:var(--s2)}
 .review-group .conduct .cd-grid{grid-template-columns:1fr}
 .review-amrc .hero-actions{align-items:flex-start;gap:var(--s2)}
}

/* AM / AMIC: use the existing group rhythm and company accents. No new hero composition. */
html body.review-site:is(.review-am,.review-amic) section:not(#top):not(#contact) p:not(.sign){font-size:16px;line-height:2;color:var(--text)}
html body.review-am :is(.scard p,.cdpc p,.service .sv-card p){font-size:16px;line-height:2;color:var(--text)}
html body.review-am #news p{font-size:16px!important;line-height:2!important}
html body.review-am .newsx-card span:not(.tag){font-size:14px;line-height:1.9}
html body.review-am .service .sv-card p{max-width:none}
html body.review-am .service .sv-card:hover{transform:none;box-shadow:none}
html body.review-am :is(.cdpc h3,.scard h3){font-size:20px;line-height:1.7;font-weight:500;color:var(--am)}
html body.review-am .r-team{padding:var(--s7) var(--s5)!important;border-top:1px solid var(--line)}
html body.review-am .r-team h2,html body.review-am #company h2{font:500 clamp(25px,3vw,33px)/1.65 var(--serif)!important;color:var(--navy)!important;letter-spacing:var(--ls-jp)}
html body.review-am .r-team>div>div:first-child,html body.review-am #company>div>div:first-child{font:500 16px/1.6 var(--en)!important;letter-spacing:var(--ls-en)!important;color:var(--gold)!important}
html body.review-am .r-team p{font-size:16px!important;line-height:2!important;color:var(--text)!important}
html body.review-am .r-team [style*="font-size:11.5px"]{font-size:14px!important;color:var(--text)!important;line-height:1.9!important}
html body.review-am #company{padding:var(--s7) var(--s5)!important;background:var(--bg)!important}
html body.review-am #company>div{max-width:1232px!important}
html body.review-am #company h2{margin:var(--s1) 0 var(--s5)!important}
html body.review-am #company>div>div:last-child{max-width:980px!important;border:0!important;background:transparent!important}
html body.review-am #company>div>div:last-child>div{grid-template-columns:180px minmax(0,1fr)!important;gap:var(--s4);padding:var(--s3) 0;border-bottom:1px solid var(--line)!important}
html body.review-am #company>div>div:last-child>div>div{font-size:16px!important;line-height:1.9!important;color:var(--text)!important;background:transparent!important;padding:0!important;min-width:0;display:block!important}
html body.review-am #company>div>div:last-child>div>div:first-child{background:transparent!important}
html[lang=en] body.review-am .r-team h2,html[lang=en] body.review-am #company h2{font:500 clamp(32px,3.4vw,48px)/1.2 var(--en)!important;letter-spacing:0}
html body.review-amic :is(.lead-body p,.tm p,.rs p,.rk-card p){font-size:16px;line-height:2;color:var(--text)}
html body.review-amic .tm h3{font-size:20px;line-height:1.7;margin-top:0;color:var(--amic)}
html body.review-amic .tm{gap:var(--s2);grid-template-columns:var(--s5) minmax(0,1fr)}
html body.review-amic .tm-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 var(--s4)}
html body.review-amic .rs-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s4) var(--s6)}
html body.review-amic .rs{display:grid;grid-template-columns:var(--s5) minmax(0,1fr);gap:var(--s2);align-content:start}
html body.review-amic .rs .ic{grid-row:1/3;margin:0}
html body.review-amic .rs h3{margin:0;font-size:20px;color:var(--amic)}
html body.review-amic .rs p{grid-column:2;margin:0}
html body.review-amic .rk-card h3{font-size:20px;line-height:1.7;font-weight:500}
html body.review-amic .rk-note,html body.review-amic .stats-band .st-note{font-size:14px!important;line-height:1.9;color:var(--text)}
html body.review-amic .stats-band .st-note{text-wrap:balance}
html body.review-amic .stats-band .st-label{font-size:14px;line-height:1.6;letter-spacing:.03em}
html body.review-amic .company{background:var(--bg)}
html body.review-amic .cmp-wrap{max-width:1232px;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:var(--s5);align-items:start}
html body.review-amic .cmp-photo{border-radius:0;box-shadow:none;min-height:0}
html body.review-amic .cmp-photo img{height:auto;aspect-ratio:3/4;object-fit:cover}
html body.review-amic .cmp-table{background:transparent;border:0;border-radius:0;overflow:visible}
html body.review-amic .cmp-row{grid-template-columns:160px minmax(0,1fr);gap:var(--s4);padding:var(--s3) 0;border-bottom:1px solid var(--line)}
html body.review-amic .cmp-row :is(.dt,.dd){padding:0;display:block;font-size:16px;line-height:1.9;color:var(--text);background:transparent;min-width:0}
html body.review-site:is(.review-am,.review-amic) #contact{padding-block:var(--s6);text-align:center;background:var(--accent)}
html body.review-site:is(.review-am,.review-amic) #contact h2{font:500 clamp(28px,3vw,36px)/1.65 var(--serif);color:var(--white)}
html body.review-site:is(.review-am,.review-amic) #contact p{font-size:16px;line-height:2;color:var(--white);margin:var(--s3) 0 var(--s4)}
html body.review-site:is(.review-am,.review-amic) #contact a{min-height:64px;padding:var(--s2) var(--s4);font-size:16px;line-height:1.7;background:var(--white);color:var(--accent);border:1px solid var(--white);border-radius:0;box-shadow:none}
html body.review-amic #contact :is(.inner,.lead){display:block;padding-block:0}
html body.review-amic #contact :is(.ph,.wave){display:none}
html body.review-amic #contact .english-contact-note{font-size:14px;margin:var(--s3) 0 0}
/* The official symbol contains transparent uncoloured areas. Keep the paper-white backing. */
html body.review-site footer :is(.footer-logo img,.fb img){box-sizing:content-box;width:48px;height:auto;padding:var(--s1);background:var(--white);object-fit:contain;filter:none;opacity:1;mix-blend-mode:normal;flex:none}
@media(max-width:1100px){
 html body.review-amic .tm-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 html body.review-amic .cmp-wrap{grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:var(--s4)}
 html body.review-amic .cmp-row{grid-template-columns:128px minmax(0,1fr);gap:var(--s3)}
}
@media(max-width:760px){
 html body.review-am .r-team,html body.review-am #company{padding:var(--s6) var(--s3)!important}
 html body.review-am .r-team h2,html body.review-am #company h2{font-size:27px!important}
 html[lang=en] body.review-am .r-team h2,html[lang=en] body.review-am #company h2{font-size:34px!important}
 html body.review-am #company>div>div:last-child>div{grid-template-columns:minmax(0,1fr)!important;gap:var(--s1)}
 html body.review-amic .cmp-wrap{grid-template-columns:1fr;gap:var(--s4)}
 html body.review-amic .cmp-photo img{aspect-ratio:3/2}
 html body.review-amic .cmp-row{grid-template-columns:minmax(0,1fr);gap:var(--s1)}
 html body.review-amic :is(.tm-grid,.rs-grid){grid-template-columns:1fr;gap:0}
 html body.review-amic .rs{padding-block:var(--s3);padding-inline:0}
 html body.review-amic .stats-band .st-grid{flex-wrap:wrap;gap:var(--s3) 0}
 html body.review-amic .stats-band .st{flex:1 1 100%;padding:var(--s2);border:0;border-bottom:1px solid var(--line)}
 html body.review-amic .stats-band .st-num{font-size:36px}
 html body.review-site:is(.review-am,.review-amic) #contact a{max-width:100%;white-space:normal;justify-content:center}
}
@media(max-width:600px){html body.review-amic .rk-grid,html body.review-am .cd-grid{grid-template-columns:1fr;gap:var(--s3)}}

/* 2026-09-08: continuous light footer; preserve the complete official lockup. */
html body.review-site:is(.review-group,.review-amrc,.review-hd) footer{background:var(--white);color:var(--navy);border-top:1px solid var(--line);padding:var(--s6) 0 var(--s4)}
html body.review-site footer :is(.footer-logo,.fb){display:block;flex:none;max-width:100%;margin:0}
html body.review-site footer img.footer-official-logo{display:block;box-sizing:border-box;width:264px;max-width:100%;height:auto;padding:0;background:transparent;filter:none;opacity:1;mix-blend-mode:normal;object-fit:contain}
html body.review-site:is(.review-group,.review-amrc) .footer-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--s6)}
html body.review-site:is(.review-group,.review-amrc) .footer-inner>div{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--s2) var(--s4)}
html body.review-site:is(.review-group,.review-amrc) footer a{color:var(--navy);font-size:14px;line-height:1.8;margin:0;padding-block:var(--s1)}
html body.review-site:is(.review-group,.review-amrc) footer a.footer-logo{padding:0}
html body.review-site:is(.review-group,.review-amrc) footer a:hover{color:var(--gold)}
html body.review-site:is(.review-group,.review-amrc) footer .copyright{max-width:1232px;margin:var(--s5) auto 0;padding:var(--s3) var(--s3) 0;border-top:1px solid var(--line);color:var(--muted);font-size:12px;text-align:left}
html body.review-hd .footer .inner{gap:var(--s4)}
html body.review-hd .footer .addr{color:var(--navy);font-size:14px}
html body.review-hd .footer .cp{border-color:var(--line);color:var(--muted);padding-top:var(--s3)}
@media(max-width:760px){
 html body.review-site:is(.review-group,.review-amrc,.review-hd) footer{padding-top:var(--s5)}
 html body.review-site:is(.review-group,.review-amrc) .footer-inner{align-items:flex-start;flex-direction:column;gap:var(--s4)}
 html body.review-site:is(.review-group,.review-amrc) .footer-inner>div{flex-direction:column;align-items:flex-start;gap:var(--s1)}
 html body.review-site footer img.footer-official-logo{width:232px}
 html body.review-site:is(.review-group,.review-amrc) footer .copyright{margin:var(--s4) var(--s3) 0;padding-inline:0}
}
