/* Reading hierarchy and image inspection. Brand assets remain unchanged. */
.home-hero-copy>.eyebrow{max-width:32rem;letter-spacing:.075em}
.home-hero .hero-description{max-width:36rem}
.home-hero .button-row{gap:1rem 1.5rem}
.client-changes{border-top:1px solid var(--line);margin-top:2rem}
.change-row{display:grid;grid-template-columns:2.5rem minmax(0,1fr) 2rem minmax(0,1.2fr);gap:2rem;padding-block:2rem;border-bottom:1px solid var(--line);align-items:start}
.change-row>.mono{font-size:.75rem;color:#71717A;padding-top:.25rem}
.change-label{font-size:.75rem;color:#71717A;margin-bottom:.625rem}
.change-row h3{font-family:Pretendard,Arial,sans-serif;font-size:1.25rem;font-weight:400;line-height:1.4;letter-spacing:-.015em;text-wrap:initial}
.change-row>div>p:last-child{font-size:1.125rem;line-height:1.55}
.change-arrow{align-self:center;color:#71717A}
.section-navigation{border-block:1px solid var(--line);background:#FAFAFA}
.section-navigation>.wrap{display:flex;align-items:center;gap:1rem 2.5rem;padding-block:.5rem;flex-wrap:wrap}
.section-navigation span{font-size:.75rem;color:#71717A;margin-right:auto}
.section-navigation a{display:flex;align-items:center;min-height:44px;font-size:.875rem;border-bottom:1px solid transparent}
.section-navigation a:hover{border-color:currentColor}
.capability{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:start;gap:2.5rem}
.capability-overview{min-width:0}
.capability .capability-points{display:block;margin:0;padding:0}
.capability-points li{padding:.875rem 0;border-top:1px solid var(--line);font-size:.9375rem;line-height:1.6}
.capability-points li:first-child{border-top:0;padding-top:0}
.scope-note{margin-top:2rem;padding:1.5rem;background:#F4F4F5;border-top:1px solid var(--line)}
.scope-note h3{font-family:Pretendard,Arial,sans-serif;font-size:1rem;line-height:1.5;font-weight:500;letter-spacing:0;margin-bottom:.75rem}
.scope-note p{font-size:.9375rem;line-height:1.65;color:var(--muted)}
.architecture-controls{display:none}
.js .architecture-controls{display:flex}
.architecture-mobile{display:none}

.review-document>h2:first-of-type{border-top:0;margin-top:2rem}
.review-document>h2:first-of-type+.table-scroll{background:#F4F4F5;border:1px solid var(--line)}
@media(max-width:900px){
 .change-row{gap:1.25rem;grid-template-columns:1.5rem minmax(0,1fr) 1.5rem minmax(0,1.2fr)}
 .section-navigation>.wrap{gap:.5rem 1.5rem}
}
@media(max-width:640px){
 .capability{grid-template-columns:minmax(0,1fr);gap:1.25rem}
 .capability .capability-points{border-left:2px solid var(--line);padding-left:1rem}
 .scope-note{padding:1.25rem}
 .change-row{grid-template-columns:1.5rem minmax(0,1fr);gap:.625rem 1rem;padding-block:1.5rem}
 .change-row>.mono{grid-row:1/4}
 .change-row>div{grid-column:2}
 .change-row h3{font-size:1.125rem}
 .change-row>div>p:last-child{font-size:1rem}
 .change-arrow{display:none}
 .change-row>div:last-child{border-left:2px solid #A1A1AA;padding-left:1rem;margin-top:.375rem}
 .section-navigation>.wrap{display:grid;grid-template-columns:1fr 1fr;gap:.25rem 1rem;padding-block:.75rem}
 .section-navigation span{grid-column:1/-1}
 .section-navigation a{font-size:.875rem}
 .architecture-desktop{display:none}
 .architecture-mobile{display:block;padding:1.25rem}
 .architecture-mobile>[data-architecture-layer]{border:1px solid #D4D4D8;background:#FFF;padding:1.25rem;margin-bottom:.75rem}
 .architecture-mobile>[data-layer-active]{box-shadow:inset 2px 0 #71717A}
 .architecture-mobile h3{font-family:Pretendard,Arial,sans-serif;font-size:1.125rem;line-height:1.4;letter-spacing:-.01em;font-weight:500;margin:.5rem 0}
 .architecture-mobile p{font-size:.875rem;line-height:1.6}
 .architecture-mobile .eyebrow{font-size:.625rem;letter-spacing:.06em}
 .mobile-entities{border-top:1px solid #A1A1AA;margin-top:1rem;padding-top:.75rem}
 .mobile-access{background:#18181B;color:#FAFAFA;padding:1.25rem}
 .mobile-access p{color:#D4D4D8}
 .mobile-flow ol{padding:0;margin:0;list-style:none}
 .mobile-flow li{display:flex;gap:1rem;border-bottom:1px solid #A1A1AA;padding:1rem 0}
 .mobile-flow li:first-child{padding-top:0}
 .mobile-flow li .mono{font-size:.75rem;color:#71717A;padding-top:.75rem}
 .mobile-flow .flow-return{padding-top:1rem}
 .loop-figure .mobile-flow li{border-color:#52525B}
 .loop-figure .mobile-flow p,.loop-figure .mobile-flow .mono{color:#D4D4D8}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{
 .section-navigation{display:none!important}
 .architecture-desktop{display:block}.architecture-mobile{display:none}
 .change-row{break-inside:avoid}
}

/* Consistent number column: the indices never shrink or wrap independently. */
.delivery-steps > li{display:grid;grid-template-columns:2.25rem minmax(0,1fr);gap:1.25rem;align-items:start}
.delivery-steps > li > .delivery-step-index{white-space:nowrap;word-break:normal;overflow-wrap:normal;min-width:2.25rem;line-height:1.5;padding-top:.25rem}
.delivery-step-content{min-width:0}

.client-card .card-link>span{transition:transform 160ms ease}
.client-card:hover .card-link>span,.client-card:focus-visible .card-link>span{transform:translate(2px,-2px)}
.card-top>span:last-child{text-align:right;line-height:1.4}
@media(max-width:540px){.delivery-steps > li{gap:.75rem;grid-template-columns:2rem minmax(0,1fr)}.delivery-steps > li > .delivery-step-index{min-width:2rem}.card-top{gap:1rem}}
@media(prefers-reduced-motion:reduce){.client-card .card-link>span{transition:none;transform:none}}

.home-hero h1{font-size:clamp(2.125rem,4.4vw,4.5rem);line-height:1.08}

/* Keep the keyboard skip link hidden until focus, including scrolled captures. */
.skip-link:not(:focus){clip-path:inset(50%)}

/* A compact extension of the solution catalog. */
.solution-extension p{max-width:42rem}.solution-extension strong{display:block;color:var(--on-dark,#FAFAFA);font-weight:500;font-size:1rem;margin-bottom:.5rem}.solution-extension p>span{display:block;font-size:.9375rem;line-height:1.6}

.solutions-tailoring .split-copy>p.muted{color:#A1A1AA}

/* Direct contact action and a complete solution directory. */
.primary-nav .nav-contact{background:#18181B;color:#FAFAFA;justify-content:center;min-height:44px;padding:.625rem 1.25rem;border:1px solid #18181B;transition:background 160ms}.primary-nav .nav-contact:hover{background:#3F3F46;border-color:#3F3F46}
.site-footer .footer-top{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr) minmax(0,1.35fr) minmax(0,.8fr);gap:2rem 3rem;align-items:start}.site-footer .footer-column>a{line-height:1.45;max-width:30ch}.site-footer .footer-column>p{margin-bottom:1.5rem}.site-footer .footer-bottom{margin-top:4rem}
@media(max-width:1020px){.primary-nav .nav-contact{width:100%;margin-top:.5rem}.site-footer .footer-top{grid-template-columns:repeat(2,minmax(0,1fr));gap:3rem 2rem}}
@media(max-width:540px){.site-footer .footer-top{grid-template-columns:minmax(0,1fr);gap:2.5rem}.site-footer .footer-column>p{margin-bottom:1rem}.site-footer .footer-bottom{margin-top:2.5rem}}

/* The foundation belongs in the solution directory, alongside the work it supports. */
.dropdown-card{min-width:0;border-bottom:1px solid var(--line);padding-block:.25rem}
.dropdown-grid .dropdown-card>a{border:0;min-height:44px}
.dropdown-grid .dropdown-card>a:hover strong .interaction-label,.dropdown-grid .dropdown-card>a[aria-current=page] strong .interaction-label{text-decoration:underline;text-underline-offset:4px}

.solutions-dropdown-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.375rem 2rem;align-items:stretch}
.dropdown-grid .dropdown-companion{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.375rem 0;font-size:.75rem;line-height:1.5;color:var(--muted)}
.dropdown-companion .interaction-label{text-decoration:underline;text-underline-offset:3px}
.dropdown-grid .dropdown-companion:hover,.dropdown-grid .dropdown-companion[aria-current=page]{color:var(--ink)}
.dropdown-card>a small{max-width:38ch}
@media(min-width:901px){.dropdown{max-height:calc(100dvh - 5rem);overflow-y:auto;overscroll-behavior:contain}.dropdown-inner{align-items:start}}
@media(max-width:640px){.solutions-dropdown-grid{grid-template-columns:minmax(0,1fr)}}
