/* v0.3.52: shared alignment, a clear reading order and balanced laptop proportions.
   Use available space, not fixed tall panels or early flex wrapping.
   Text can always grow naturally; no clipped copy or page-scale transforms. */
:root{--page-gutter:3rem}
.wrap{padding-inline:var(--page-gutter)}
.header-inner{min-height:4.5rem;padding-block:.75rem;gap:1rem 2rem}
/* Separate site discovery from returning users and the primary contact action. */
.nav-links{display:flex;align-items:center;gap:1.5rem}
.nav-actions{display:flex;align-items:center;gap:.75rem;flex-shrink:0}
.primary-nav .nav-actions>a{display:flex;align-items:center;justify-content:center;width:auto;margin:0;min-height:44px;padding:.625rem 1.25rem;font-size:.875rem;line-height:1.4;white-space:nowrap}
.nav-actions>.language-switch>summary{height:44px;padding:.5rem .625rem}
.primary-nav .nav-actions>.nav-app{padding-inline:.25rem;color:var(--muted);border:0;transition:color 160ms}
.primary-nav .nav-actions>.nav-app:hover{color:var(--ink)}
.primary-nav .nav-actions>.nav-app[aria-disabled="true"],.primary-nav .nav-actions>.nav-app[aria-disabled="true"]:hover{color:var(--muted);opacity:.45;cursor:not-allowed;text-decoration:none}
.nav-actions>a:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
@media(max-width:900px){
 .nav-links{display:block}
 .nav-actions{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:.5rem;padding-block:.75rem .25rem}
 .primary-nav .nav-actions>a{padding-inline:.625rem}
 .nav-actions>.language-switch{align-self:center}
}
@media(prefers-reduced-motion:reduce){.nav-app{transition:none}}
.brand img{width:150px}
.section,.am-section{padding-block:clamp(3rem,7svh,5rem)}
.section-heading{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:1rem 3rem;margin-bottom:2rem}
.section-heading>.eyebrow{grid-column:1/-1}
.section-heading>h2{max-width:27ch;text-wrap:balance}
.section-heading>h2:last-child{grid-column:1/-1}
.section-heading>p:last-child:not(.eyebrow){align-self:start;max-width:42ch}
.home-hero-copy{padding:clamp(2rem,4svh,3.5rem) var(--page-gutter)}
.home-hero-copy h1{font-size:clamp(2.125rem,4vw,4rem);line-height:1.1;margin:1.25rem 0 1.5rem}
html:is(:lang(ko),:lang(ja)) .home-hero-copy h1{line-height:1.24}
.home-hero .hero-description{font-size:1.125rem;line-height:1.6}
.home-hero .button-row{margin-top:1.5rem;gap:.75rem 1.25rem}
.home-hero .button{min-height:3rem;padding:.75rem 1.25rem}
.home-hero .architecture-caption{padding:1rem;left:1.25rem;right:1.25rem;bottom:1.25rem;gap:1rem}
.home-rail a{min-height:72px;padding-block:1rem}
.home-rail-inner{grid-template-columns:repeat(3,minmax(0,1fr))}
.page-intro{padding-top:2rem;padding-bottom:3rem}
.page-intro h1{margin-bottom:1.5rem}
.solution-row{padding-block:1.25rem}
.product-film-section>.wrap{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.7fr);gap:1.25rem 2.5rem;align-items:center}
.product-film-section .section-heading{display:block;margin:0}
.product-film-section .section-heading h2{font-size:clamp(1.75rem,2.8vw,2.75rem);line-height:1.2;margin:1rem 0 1.5rem;max-width:16ch;text-wrap:balance}
html:is(:lang(ko),:lang(ja)) .product-film-section .section-heading h2{line-height:1.35}
.product-film-section .section-heading>p:not(.eyebrow){font-size:1rem;line-height:1.7;max-width:35ch}
.product-film{width:100%;max-width:none;margin:0;min-width:0}
.product-film-section .film-feedback{grid-column:2}
.film-play-button{left:1rem;bottom:1rem;padding:.75rem 1rem;min-height:52px;max-width:calc(100% - 2rem)}
.client-card{padding:1.5rem}
.card-top{margin-bottom:2rem}
.related-card p{flex:1}
.related-card>span{margin-top:1.5rem}
.dark .split-copy>p:not(.eyebrow){color:#A1A1AA}
.scenario-heading{align-items:start}
.access-health-step>.mono,.mobile-flow li>.mono,.delivery-steps li>.mono{flex:0 0 2ch;white-space:nowrap;overflow-wrap:normal}
.access-health-step>div,.mobile-flow li>div{min-width:0}
.legal-pending{display:inline;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.site-directory{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.25fr) minmax(0,.9fr);gap:3rem;padding-bottom:4rem;align-items:start}
.directory-column{display:grid;gap:2.5rem;min-width:0}
.copy-phrase{display:inline-block;max-width:100%;text-wrap:wrap}
html:lang(ja) :is(h1,h2,h3):has(.copy-phrase){text-wrap:wrap}
html:lang(ja) :is(.cta-inner h2,.am-cta h2){max-width:100%}
#capabilities .problem-heading{gap:1rem 3rem}
#capabilities .problem-heading>.eyebrow,#capabilities .problem-heading>p:not(.eyebrow){margin:0}
.client-related{padding-top:clamp(3rem,7svh,5rem)}
.inquiry-copy h1{max-width:100%;text-wrap:balance}
.inquiry-headline-line{display:block;text-wrap:balance}
html:lang(ja) .inquiry-copy h1{font-size:clamp(1.875rem,2.8vw,3rem)}

/* The directory stays complete without a single ten-item column setting its height. */
.site-footer{background:#F4F4F5;border-top:1px solid #D4D4D8}
.site-footer .footer-top{grid-template-columns:minmax(0,1fr) minmax(0,.85fr) minmax(0,2.1fr) minmax(0,.65fr);grid-template-rows:auto auto;gap:1.5rem 2rem;align-items:start}
.footer-brand,.site-footer .footer-column{display:grid;grid-row:span 2;grid-template-rows:subgrid;min-width:0;align-self:stretch}
.footer-brand>a,.site-footer .footer-heading{grid-row:1;align-self:start}
.site-footer .footer-column>.footer-heading{margin:0}
.footer-brand p,.footer-page-links{grid-row:2;align-self:start;margin:0}
.footer-brand img{width:150px}
.footer-page-links{display:grid;grid-template-columns:minmax(0,1fr);align-content:start;gap:0 1.5rem}
.footer-solution-links{grid-template-columns:repeat(2,minmax(0,1fr))}
.site-footer .footer-page-links a{align-items:flex-start;min-height:44px;padding:0 0 .625rem;line-height:1.55}
.site-footer .footer-bottom{margin-top:2.5rem}

@media(min-width:901px){
 .solution-catalog .catalog-card-grid:has(>.catalog-card:nth-child(3)){grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(min-width:761px){.card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:761px){
 .related-grid:has(>.related-card:nth-child(4):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
 .client-card .card-link{min-height:3.75rem;align-items:flex-start}
}
@media(max-width:760px){
 .card-grid,.home-rail-inner{grid-template-columns:1fr}
 .home-rail a,.home-rail a:first-child{min-height:64px;padding:1rem 0;border-right:0;border-bottom:1px solid var(--line)}
 .home-rail a:last-child{border-bottom:0}
 .related-grid{gap:0}
 .related-card{display:grid;grid-template-columns:minmax(0,1fr) 1.5rem;gap:.75rem 1rem;padding:1.5rem 0}
 .related-card h3{grid-column:1;grid-row:1;font-size:1.25rem;margin:0;text-wrap:wrap}
 .related-card p{grid-column:1;grid-row:2}
 .related-card>span{grid-column:2;grid-row:1;margin:0;align-self:start;font-size:1.25rem}
 .site-directory{grid-template-columns:1fr;gap:2.5rem}
 .directory-column{display:contents}
 .site-directory [data-directory=home]{order:0}
 .site-directory [data-directory=clients]{order:1}
 .site-directory [data-directory=solutions]{order:2}
 .site-directory [data-directory=company]{order:3}
 .site-directory [data-directory=legal]{order:4}
}
@media(max-width:1100px){
 :root{--page-gutter:2rem}
 .site-footer .footer-top{grid-template-columns:minmax(0,1fr) minmax(0,2fr) minmax(0,.8fr);grid-template-rows:auto auto auto}
 .footer-brand{grid-column:1/-1;grid-row:1;display:flex;align-items:center;gap:2rem;border-bottom:1px solid var(--line);padding-bottom:1.5rem}
 .site-footer .footer-column{grid-row:2/4}
 .site-footer .footer-heading{height:auto;min-height:44px}
 .footer-brand p{margin-top:0}
}

@media(min-width:901px){
 .outcomes-inner{grid-template-columns:repeat(3,minmax(0,1fr))}
 .breadcrumbs{padding-block:.75rem}
 .header-inner{flex-wrap:nowrap;column-gap:clamp(2rem,calc(16vw - 7rem),5rem)}
 .primary-nav{width:auto;flex:1;flex-wrap:nowrap;justify-content:space-between;gap:.5rem 2rem}
 /* Keep discovery left aligned, with breathing room after the logo and between links. */
 .nav-links{margin-inline:0;gap:clamp(1.5rem,calc(8vw - 3rem),3rem)}
 .brand{flex-shrink:0}
 /* Contact used to become full-width at 1020px while desktop nav lasted to 900px. */
 .primary-nav .nav-contact{width:auto;margin-top:0;flex-shrink:0}
 .dropdown{max-height:calc(100dvh - 4.5rem)}
 .dropdown-inner{padding-block:1.75rem;gap:2rem}
 .detail-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,4vw,3.5rem);padding-top:1rem;padding-bottom:1.5rem}
 .detail-copy h1{font-size:clamp(2.125rem,3.6vw,3.5rem);margin-bottom:1.5rem}
 .detail-art{width:100%;max-width:none;margin:0}
 .am-hero{gap:clamp(2rem,4vw,3.5rem);padding-top:1rem;padding-bottom:1.5rem}
 .am-title{font-size:clamp(2.125rem,3.6vw,3.5rem)}
 .product-preview-section>.wrap{grid-template-columns:minmax(0,.7fr) minmax(0,1.7fr);gap:1.25rem 2.5rem}
 .product-preview-section .section-heading{grid-column:1;grid-row:1/3}
 .product-preview-section .product-screen,.product-preview-section .preview-points{grid-column:2}
 .product-preview-section .preview-points{grid-template-columns:1fr;gap:0}
 .product-preview-section .preview-points>a{border-bottom:1px solid #D4D4D8;align-items:center}
 .product-preview-section .preview-points>a:last-child{border-bottom:0}
 /* Diagrams share the hero, rather than setting the entire page's scale. */
 .detail-hero [data-hero-sequence] .figure-top{padding:.75rem 1.25rem}
 .detail-hero [data-hero-sequence] .figure-body{padding:1.25rem}
 .detail-hero [data-hero-sequence] .figure-body>h2{font-size:1.5rem;margin-bottom:1.25rem}
 .detail-hero [data-hero-sequence] figcaption{padding:.75rem 1.25rem}
 .detail-hero .source-document{padding:1rem}
 .detail-hero .source-document p{font-size:1rem;margin:.625rem 0 .75rem}
 .detail-hero .evidence-chain{padding-block:.75rem}
 .detail-hero .evidence-chain>.hero-step{padding:.5rem .75rem}
 .detail-hero .figure-bottom{padding-top:.75rem}
 .detail-hero .trading-path>.hero-step{padding:.75rem 1rem;gap:.625rem 1rem}
 .detail-hero .segmented{margin-bottom:1rem}
 .detail-hero .gateway-result{padding:1rem}
 .detail-hero .decision-label{margin-bottom:.75rem}
 .detail-hero .gateway-result>p{min-height:3.1em}
 .detail-hero .compact-facts{margin-top:1rem}
 .detail-hero .compact-facts>div{padding-block:.5rem}
 .detail-hero .route-note{margin-top:.75rem}
 .detail-hero .portal-scope{padding:.75rem 1rem}
 .detail-hero .permission-row{padding:.625rem .75rem}
 .detail-hero .permission-table{margin-bottom:1rem}
 .detail-hero .map-node{padding:.75rem;gap:.25rem}
 .detail-hero .risk-map .map-connector{height:1.5rem}
 .detail-hero .risk-map+.figure-bottom{margin-top:.75rem}
 .detail-hero .recon-pair>div{padding:1rem}
 .detail-hero .recon-pair strong{margin:.625rem 0 .375rem}
 .detail-hero .recon-difference{padding:.75rem;margin-top:.75rem}
 .detail-hero .review-line{padding:.625rem 1rem}
 .detail-hero .review-note>p{font-size:1rem;margin:.625rem 0 .75rem}
 .detail-hero .access-health{gap:.625rem;margin-bottom:1rem}
 .detail-hero .access-health-step{padding:.75rem 1rem}
 .am-model-heading{padding:1rem 1.25rem}
 .am-model-content{padding:1.25rem}
 .am-model-caption{padding:.75rem 1.25rem}
}
@media(min-width:801px){
 .home-hero-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .home-hero-copy{max-width:none}
 .hero-image-slot{min-height:clamp(27rem,64svh,38rem);border-top:0;border-left:1px solid var(--line)}
}
@media(min-width:901px) and (max-width:1200px){
 .primary-nav{gap:.5rem 1rem}
 .primary-nav .nav-contact{padding-inline:1rem}
 .detail-hero [data-hero-sequence] .figure-body{padding:1rem}
 .detail-hero [data-hero-sequence] .figure-body>h2{font-size:1.375rem;margin-bottom:1rem}
 .detail-hero [data-hero-sequence] .figure-top,
 .detail-hero [data-hero-sequence] figcaption{padding:.625rem 1rem}
 .detail-hero .map-node{padding:.625rem}
 .detail-hero .risk-map .map-connector{height:1.25rem}
 .detail-hero .access-health-step{padding:.5rem .75rem}
}
@media(max-width:900px){
 .header-inner{min-height:4.5rem;padding-block:.75rem}
 .brand img{width:144px}
 .section-heading{grid-template-columns:1fr;gap:1rem}
 .section-heading>h2{max-width:27ch}
 .section-heading>p:last-child:not(.eyebrow){max-width:55ch}
 .product-film-section>.wrap{display:block}
 .product-film-section .section-heading{margin-bottom:2rem}
 .product-film-section .section-heading h2{max-width:25ch}
 .product-film-section .section-heading>p:not(.eyebrow){max-width:55ch}
 .inquiry-layout{grid-template-columns:1fr;gap:2rem}
 .inquiry-copy{padding-top:0}
 .inquiry-copy h1{max-width:100%}
 .inquiry-note{display:none}
 .inquiry-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:800px){
 .home-hero-inner{display:block}
 .home-hero-copy{padding:2.75rem var(--page-gutter)}
 .hero-image-slot{min-height:0;aspect-ratio:16/10;border-left:0;border-top:1px solid var(--line)}
}
@media(max-width:540px){
 :root{--page-gutter:1.25rem}
 .home-hero-copy{padding:2.5rem var(--page-gutter)}
 .home-hero-copy h1{margin-block:1.25rem}
 .home-hero .hero-description{font-size:1rem}
 .home-hero .architecture-caption{left:1rem;right:1rem;bottom:1rem;padding:.75rem;gap:.75rem}
 .hero-image-slot{aspect-ratio:1.25}
 .home-rail a,.home-rail a:first-child{min-height:64px}
 .solution-row{padding-block:1.25rem}
 .film-play-button{position:absolute;left:.75rem;bottom:.75rem;width:auto;max-width:calc(100% - 1.5rem);border:1px solid #52525B;min-height:44px;padding:.5rem .75rem;font-size:.75rem;gap:.625rem}
 .film-play-button .play-triangle{width:1.5rem;height:1.5rem;border:0}
 .site-footer .footer-top{grid-template-columns:1fr;grid-template-rows:none;gap:2rem}
 .footer-brand{display:grid;grid-template-columns:1fr;grid-template-rows:auto auto;gap:1rem}
 .footer-brand p{grid-column:1;grid-row:2}
 .site-footer .footer-column{display:block;grid-row:auto}
 .site-footer .footer-column>.footer-heading{margin-bottom:.5rem}
 .footer-page-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1rem}
 .site-footer .footer-column a{max-width:none}
 .footer-bottom{row-gap:1rem}
 .inquiry-fields{grid-template-columns:1fr}
 .page-intro h1 .optional-break{display:none}
 html:lang(en) .page-intro h1{font-size:2.25rem;text-wrap:pretty}
 html:lang(ja) :is(.home-hero-copy h1,.detail-copy h1,.page-intro h1){font-size:2.125rem}
 .segmented button{padding-inline:.375rem}
 .recon-pair{grid-template-columns:repeat(2,minmax(0,1fr))}
 .recon-pair>div{padding:1rem .75rem}
 .recon-pair>div+div{border-left:1px solid var(--line)}
}
@media print{
 :root{--page-gutter:1rem}
 .section,.am-section{padding-block:2rem}
 .home-hero-inner,.detail-hero{display:block}
 .hero-image-slot{min-height:20rem}
 .product-film{max-width:100%}
}
/* Solution pages share three capability columns and aligned reading rows. */
#capabilities .capabilities{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem 2rem}
#capabilities .capability{display:grid;grid-template-columns:minmax(0,1fr);grid-row:span 3;grid-template-rows:subgrid;padding:1.5rem 0 .5rem;row-gap:1rem}
#capabilities .capability-overview{display:contents}
#capabilities .capability-overview h3,#capabilities .capability-overview p,#capabilities .capability-points{margin:0}
#capabilities .capability-points{align-self:start}
#capabilities .gateway-inline{margin-top:2.5rem;padding:2.5rem 0 0;border-top:1px solid #D4D4D8}
#capabilities .gateway-inline>.section-heading{display:grid;grid-template-columns:1fr 1fr;gap:.75rem 3rem;max-width:none;margin-bottom:1.5rem}
#capabilities .gateway-inline>.section-heading>.eyebrow{grid-column:1/-1}
#capabilities .gateway-inline h3{font-size:1.5rem;line-height:1.35;letter-spacing:-.025em}
#capabilities .gateway-inline>.section-heading>p:not(.eyebrow){font-size:.9375rem;line-height:1.65;margin:0}
@media(max-width:900px){#capabilities .capabilities{grid-template-columns:1fr;gap:1rem}#capabilities .capability{padding-top:1.5rem;padding-bottom:1.5rem}#capabilities .gateway-inline>.section-heading{grid-template-columns:1fr;gap:1rem}}
