.company-facts { display:flex; flex-wrap:wrap; gap:8px; margin:20px 0 25px; }
.company-facts span { font-size:12px; font-weight:700; color:#073b7a; padding:7px 11px; background:#eaf4ff; border-radius:3px; }
.header .nav-list { gap:clamp(12px,1.6vw,24px); }
.header .nav-link { white-space:nowrap; }
.header .logo-item { margin:0 8px; }
.header .img-logo { max-width:180px; object-fit:contain; }
.text-link { display:inline-block; margin-top:24px; color:#0b5ed7; font-weight:700; text-decoration:underline; text-underline-offset:5px; }
.expertise { background:#f6f9fb; }
.expertise-layout { display:grid; grid-template-columns:.85fr 1.15fr; gap:72px; align-items:start; }
.expertise-intro .section-title { font-size:clamp(2rem,2.8vw,2.9rem); line-height:1.2; margin:18px 0 22px; }
.expertise-intro p { color:#526579; line-height:1.8; }
.service-detail,.experience-group { border-top:1px solid #cfdae4; }
.service-detail:last-child,.experience-group:last-child { border-bottom:1px solid #cfdae4; }
.service-detail summary,.experience-group summary { display:flex; align-items:center; gap:20px; cursor:pointer; list-style:none; padding:24px 0; }
.service-detail summary::-webkit-details-marker,.experience-group summary::-webkit-details-marker { display:none; }
.service-detail summary h3,.experience-group summary h3 { font-size:1.1rem; line-height:1.5; margin:0; flex:1; }
.service-index { font-size:13px; color:#0b5ed7; font-weight:700; flex:0 0 28px; }
.detail-plus { color:#0b5ed7; font-size:26px; font-weight:400; transition:transform .2s; }
[open] > summary .detail-plus { transform:rotate(45deg); }
.service-detail ul { margin:0 0 25px 48px; padding:0 20px 0 18px; color:#526579; list-style:disc; }
.service-detail li { margin:0 0 10px; line-height:1.7; }
.project-cover { display:block; position:relative; width:100%; height:240px; border:0; padding:0; overflow:hidden; background:#e6edf3; cursor:pointer; }
.project-cover .project-img { height:100%; width:100%; object-fit:cover; }
.project-cover .project-tags { text-align:left; }
.project-cover .tag { background:#fff; color:#073b7a; font-size:11px; }
.project-meta { color:#627586; font-size:12px; letter-spacing:.4px; }
.project-info { display:flex; flex-direction:column; align-items:flex-start; flex:1; }
.project-title { margin:10px 0 14px; line-height:1.4; }
.project-period { color:#627586; font-size:13px; margin-bottom:16px; }
.project-more { color:#0b5ed7; background:none; padding:0; border:0; cursor:pointer; font-weight:700; font-size:14px; margin-top:auto; }
.project-card { display:flex; flex-direction:column; }
.projects-nav-btn { font-size:30px; }
.projects .section-header .section-desc { margin:16px 0 0; font-size:1rem; max-width:670px; }
.experience { background:#f4f8fb; }
.experience-heading { display:grid; grid-template-columns:1.1fr 1fr; gap:80px; align-items:end; margin-bottom:36px; }
.experience-heading .section-title { font-size:clamp(2rem,2.8vw,2.9rem); margin:16px 0 0; line-height:1.25; }
.experience-heading p { line-height:1.8; color:#526579; }
.experience-search { padding:25px 28px; background:#fff; margin:32px 0; }
.experience-search label { display:block; font-size:14px; font-weight:700; margin-bottom:10px; }
.experience-search input { width:100%; font-size:16px; padding:14px 16px; border:1px solid #c8d6e1; border-radius:3px; color:#172033; background:#fff; }
.experience-search p { margin-top:10px; font-size:12px; color:#526579; }
.reference-grid { display:grid; grid-template-columns:1fr 1fr; gap:30px; margin:0 0 30px 48px; }
.reference-item { border-left:3px solid #48cfad; padding:4px 24px 12px; }
.reference-date { color:#647c90; font-size:12px; }
.reference-item h4 { font-size:1rem; line-height:1.5; margin:9px 0; }
.reference-item p { font-size:.92rem; color:#526579; line-height:1.7; }
.source-link { font-size:13px; }
.experience-empty { padding:24px; background:white; color:#526579; }
.project-dialog { width:min(1000px,calc(100% - 32px)); max-height:90svh; margin:auto; padding:0; border:0; border-radius:10px; color:#172033; background:white; overflow:auto; overscroll-behavior:contain; box-shadow:0 30px 120px #061d4250; }
.project-dialog::backdrop { background:#061b36b8; backdrop-filter:blur(5px); }
.dialog-open { overflow:hidden; }
.dialog-close { position:sticky; float:right; top:14px; margin:14px 14px 0 0; z-index:3; border:1px solid #d2dee8; border-radius:50%; width:42px; height:42px; display:grid; place-items:center; font-size:28px; line-height:1; background:#fff; color:#073b7a; cursor:pointer; }
.dialog-content { padding:54px; clear:both; padding-top:12px; }
.eyebrow { color:#0b5ed7; font-size:11px; font-weight:800; letter-spacing:2px; }
.dialog-content h2 { font-size:clamp(1.8rem,3.4vw,2.8rem); line-height:1.2; margin:17px 0 24px; letter-spacing:-.7px; }
.project-summary { font-size:1rem; color:#526579; line-height:1.8; max-width:800px; }
.project-facts { margin:30px 0 16px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; background:#dce5ed; border:1px solid #dce5ed; }
.project-facts > div { padding:20px; background:#f7fafc; }
.project-facts dt { font-size:11px; color:#5d758a; margin-bottom:10px; }
.project-facts dd { font-size:15px; font-weight:700; line-height:1.5; margin:0; }
.source-caption { color:#65798b; font-size:12px; line-height:1.7; margin:20px 0 28px; }
.source-caption a { text-decoration:underline; color:#0b5ed7; }
.detail-gallery { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.detail-gallery img { width:100%; height:260px; object-fit:contain; background:#f2f5f7; border-radius:4px; }
.detail-gallery img:first-child { grid-column:1/-1; height:auto; max-height:570px; }
.map-directions { display:block; background:#fff; color:#073b7a; text-align:center; padding:12px; font-weight:700; font-size:14px; }
.contact .map-container { overflow:visible; margin-bottom:48px; }
.contact a[href^="tel:"] { color:inherit; }
@media (min-width:1101px) and (max-width:1280px) { .header .img-logo { height:48px; max-width:130px; } .header .nav-link { font-size:.82rem; } .header .nav-list { gap:13px; } }
@media (max-width:1024px) { .expertise-layout,.experience-heading { grid-template-columns:1fr; gap:36px; } .expertise-intro { max-width:750px; } }
@media (max-width:768px) {
 .company-facts { margin-bottom:20px; }
 .service-detail summary,.experience-group summary { gap:10px; padding:20px 0; }
 .service-detail summary h3,.experience-group summary h3 { font-size:1rem; }
 .service-detail ul { margin-left:38px; padding-right:0; }
 .reference-grid { grid-template-columns:1fr; gap:18px; margin-left:30px; }
 .reference-item { padding-left:18px; }
 .experience-search { padding:20px; }
 .dialog-content { padding:8px 22px 28px; }
 .project-dialog { max-height:94svh; width:calc(100% - 18px); }
 .project-facts { grid-template-columns:1fr 1fr; }
 .project-facts > div { padding:15px; }
 .project-facts dd { font-size:13px; }
 .detail-gallery { grid-template-columns:1fr; }
 .detail-gallery img { height:auto; }
 .source-caption { font-size:11px; }
 .header .nav-list { gap:23px; }
}
