.site-breadcrumbs { padding-block: 18px; color: var(--muted); font-size: .875rem; }
.site-breadcrumbs ol { display:flex; gap:10px; flex-wrap:wrap; list-style:none; margin:0; padding:0; }
.site-breadcrumbs li + li::before { content:'/'; margin-right:10px; color:#899096; }
.site-breadcrumbs a { text-decoration:underline; text-underline-offset:4px; }
.corporate-intro { padding-block:48px 65px; max-width:1150px; }
.corporate-intro .lead { max-width:750px; margin-bottom:28px; }
.corporate-intro-note { margin-top:24px; color:var(--muted); }
.corporate-intro-note a { text-decoration:underline; text-underline-offset:3px; }
.commercial-review { background:#fff3e8; border-left:4px solid var(--orange); padding:20px 25px; font-size:.9375rem; margin-block:16px; }
.commercial-review strong { display:block; margin-bottom:5px; }
.directory-intro { display:grid; grid-template-columns:1.1fr 1fr; align-items:end; gap:50px; padding-block:50px 38px; }
.directory-intro h1 { font-size:clamp(2.7rem,4.9vw,4.8rem); }
.directory-intro-copy { max-width:510px; color:var(--muted); }
.directory-intro-copy > p:first-child { color:var(--ink); font-size:1.25rem; font-weight:600; margin-bottom:12px; }
.directory-intro-copy .inline-link { color:var(--orange-ink); margin-top:16px; font-size:.9375rem; }
.directory-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.directory-card { position:relative; display:grid; grid-template-columns:44px 1fr; gap:18px; padding:30px; min-height:264px; border:1px solid #d9dfe1; background:#f5f6f7; transition:background .18s,border-color .18s,transform .18s; }
.directory-card::before { content:''; position:absolute; top:0; left:0; bottom:0; width:4px; background:var(--orange); }
.directory-card:hover { border-color:var(--orange-ink); background:#f9f0e8; transform:translateY(-2px); }
.directory-number { color:var(--orange-ink); font-size:.875rem; font-weight:700; padding-top:5px; }
.directory-card h2 { font-size:clamp(1.65rem,2.5vw,2.3rem); margin-bottom:15px; max-width:400px; }
.directory-card p { font-size:1rem; margin-bottom:10px; }
.directory-card small { display:block; color:var(--muted); font-size:.8125rem; }
.directory-action { grid-column:2; display:flex; gap:20px; align-items:center; justify-content:space-between; font-size:.9375rem; font-weight:700; margin-top:4px; }
.directory-action > span { display:grid; place-items:center; width:38px; height:38px; border:1px solid #a9afb4; font-size:1.4rem; }
.directory-soft { background:var(--ink); border-color:var(--ink); color:white; }
.directory-soft .directory-number,.directory-soft small { color:#ffb17a; }
.directory-soft:hover { background:#3a4146; border-color:var(--orange); }
.directory-soft .directory-action > span { border-color:#70777e; }
.directory-more { padding-block:32px 58px; }
.directory-more h2 { font-size:1.125rem; letter-spacing:0; margin-bottom:16px; }
.directory-more nav { display:flex; flex-wrap:wrap; gap:10px; }
.directory-more a { display:inline-flex; align-items:center; gap:18px; padding:11px 17px; border:1px solid var(--line); font-size:.9375rem; font-weight:600; }
.directory-more a:hover { border-color:var(--orange-ink); color:var(--orange-ink); }
.directory-more a > span { color:var(--orange-ink); }
.portal-detail-hero h1 { font-size:clamp(2.6rem,4.15vw,4.5rem); }
@media(max-width:760px) { .directory-intro { grid-template-columns:1fr; gap:20px; padding-block:30px 27px; } .directory-intro .eyebrow { font-size:.75rem; margin-bottom:15px; } .directory-intro h1 { font-size:2.75rem; } .directory-intro-copy > p:first-child { font-size:1.0625rem; } .directory-intro-copy .inline-link { margin-top:9px; } .directory-grid { grid-template-columns:1fr; gap:14px; } .directory-card { min-height:220px; grid-template-columns:28px 1fr; padding:23px 21px; gap:10px; } .directory-card h2 { font-size:1.75rem; } .directory-card p { font-size:.9375rem; } .directory-more { padding-block:28px 42px; } .directory-more a { width:100%; justify-content:space-between; } }
@media(prefers-reduced-motion:reduce) { .directory-card { transition:none; } .directory-card:hover { transform:none; } }
.portal-hero { display:grid; grid-template-columns:1.04fr 1fr; gap:60px; align-items:center; padding-block:66px 82px; }
.portal-hero h1 { font-size:clamp(2.8rem,4.85vw,5.2rem); }
.portal-hero .lead { max-width:570px; }
.portal-hero-note { margin-top:28px; max-width:390px; color:var(--muted); font-size:.9375rem; }
.portal-visual { position:relative; min-height:555px; align-self:stretch; background:var(--ink); margin-bottom:26px; }
.portal-visual img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.portal-visual-label { position:absolute; bottom:0; left:0; background:var(--ink); border-left:5px solid var(--orange); color:white; padding:24px 30px; width:70%; }
.portal-visual-label span { color:#ffb17a; font-size:.875rem; font-weight:700; letter-spacing:.07em; display:block; margin-bottom:12px; }
.portal-visual-label strong { font:700 1.75rem/1.25 var(--display); }
.portal-visual figcaption { position:absolute; top:calc(100% + 9px); font-size:.8125rem; color:var(--muted); }
.portal-strip { border-block:1px solid var(--line); background:var(--soft); }
.portal-strip .container { display:flex; gap:30px; justify-content:space-between; padding-block:25px; }
.portal-strip p { font-weight:600; font-size:.9375rem; }
.portal-strip strong { color:var(--orange-ink); margin-right:13px; }
.portal-group { padding-block:44px; border-top:1px solid var(--line); }
.portal-group:last-child { padding-bottom:0; }
.portal-group-heading { display:flex; gap:25px; margin-bottom:28px; }
.portal-index { color:var(--orange-ink); font:700 1.15rem var(--display); padding-top:4px; }
.portal-group-heading .label { margin-bottom:10px; }
.portal-group-heading h2 { font-size:clamp(1.75rem,2.55vw,2.35rem); margin-bottom:15px; }
.portal-group-heading p:not(.label) { max-width:680px; color:var(--muted); }
.portal-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.portal-service { display:flex; flex-direction:column; padding:25px 23px; border:1px solid var(--line); min-height:245px; transition:border-color .15s, background .15s; }
.portal-service:hover { border-color:var(--orange-ink); background:#fafbfc; }
.portal-service h3 { font-size:1.2rem; margin-bottom:14px; }
.portal-service p { color:var(--muted); font-size:.9375rem; }
.portal-service > span { margin-top:auto; padding-top:20px; color:var(--orange-ink); font-weight:700; font-size:.9375rem; text-decoration:underline; text-underline-offset:5px; }
.portal-process { background:var(--ink); color:white; }
.portal-process .section-heading > p { color:#d1d5d9; }
.portal-process-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; }
.portal-process-grid article { border-top:1px solid #5c6268; padding-top:24px; }
.portal-process-grid span { display:block; color:#ffb17a; font-weight:700; margin-bottom:22px; }
.portal-process-grid h3 { margin-bottom:18px; }
.portal-process-grid p { color:#d1d5d9; }
.portal-detail-hero { display:grid; grid-template-columns:1.1fr 1fr; gap:65px; align-items:center; padding-block:35px 55px; }
.portal-detail-visual img { width:100%; height:420px; object-fit:cover; }
.portal-detail-visual figcaption { color:var(--muted); font-size:.8125rem; margin-top:12px; }
.portal-scope-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid var(--line); }
.portal-scope-item { padding:32px; border-bottom:1px solid var(--line); }
.portal-scope-item:nth-child(odd) { border-right:1px solid var(--line); }
.portal-scope-item > span { display:block; color:var(--orange-ink); margin-bottom:18px; font-weight:700; }
.portal-scope-item h3 { margin-bottom:16px; }
.portal-scope-item p { color:var(--muted); }
.portal-detail-links { padding-block:40px; border-block:1px solid var(--line); }
.portal-detail-links h2 { font-size:1.5rem; margin-bottom:20px; }
.portal-detail-links .portal-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.portal-detail-links a { border:1px solid var(--line); padding:22px; font-weight:700; color:var(--orange-ink); }
@media(min-width:1041px) and (max-width:1280px) { .nav-links { gap:16px; } .nav-wrap { gap:18px; } }
@media(max-width:1040px) { .portal-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .portal-hero,.portal-detail-hero { gap:32px; } .portal-visual { min-height:500px; } .portal-visual-label { width:85%; } .portal-process-grid { gap:25px; } }
@media(max-width:760px) { .portal-hero,.portal-detail-hero { grid-template-columns:1fr; padding-block:38px 52px; gap:34px; } .portal-hero h1 { font-size:clamp(2.7rem,10vw,4rem); } .portal-visual { min-height:350px; margin-bottom:24px; } .portal-visual-label { width:70%; padding:20px 22px; } .portal-visual-label strong { font-size:1.5rem; } .portal-strip .container { flex-direction:column; gap:14px; padding-block:22px; } .portal-process-grid { grid-template-columns:1fr; } .portal-group-heading { gap:15px; } .portal-service { min-height:230px; padding:20px 16px; } .portal-service h3 { font-size:1.1rem; } .portal-detail-visual img { height:330px; } .portal-scope-grid { grid-template-columns:1fr; } .portal-scope-item { padding:26px 0; } .portal-scope-item:nth-child(odd) { border-right:0; } .portal-detail-links .portal-grid { grid-template-columns:1fr; } }
@media(max-width:380px) { .portal-grid { grid-template-columns:1fr; } .portal-service { min-height:190px; } }
