.projects{background:#f4f8fc;border-top:1px solid #e5edf6}
.projects-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:44px;margin-bottom:36px}
.projects-heading>p{max-width:360px;color:var(--muted);font-size:14px;line-height:1.85}
.projects-heading .eyebrow{margin-bottom:16px}
.projects-heading .serif-accent{color:#07549a}
.project-card{display:grid;grid-template-columns:minmax(0,1.23fr) minmax(0,1fr);overflow:hidden;border:1px solid #dce5f0;border-radius:18px;background:#fff;box-shadow:0 16px 45px #15385908}
.project-visual{min-width:0;margin:0;padding:30px;background:#eaf1f8;display:flex;flex-direction:column;justify-content:center;border-right:1px solid #e0e8f2}
.project-browser{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:39px;padding:11px 15px;background:#fff;border:1px solid #dce5f0;border-bottom:0;border-radius:10px 10px 0 0;font-size:10px;line-height:1.6;color:#5a7189}
.project-browser-dots{display:flex;gap:5px}
.project-browser-dots i{width:6px;height:6px;background:#d3deea;border-radius:50%}
.project-browser-dots i:first-child{background:#e7a0a8}
.project-browser-dots i:nth-child(2){background:#e6c994}
.project-browser-dots i:last-child{background:#96c8b1}
.project-browser .icon{width:12px;height:12px}
.project-image-link{display:block;position:relative;overflow:hidden;border:1px solid #dce5f0;border-radius:0 0 10px 10px;background:#f8faff;box-shadow:0 12px 30px #16385c0d}
.project-image{display:block;width:100%;height:auto;aspect-ratio:8/5;object-fit:contain;transition:transform .25s ease}
.project-image-action{position:absolute;right:12px;bottom:12px;display:flex;align-items:center;gap:7px;padding:7px 11px;background:#fff;border:1px solid #e0e8f2;border-radius:6px;box-shadow:0 3px 15px #1b3e6010;color:#16476e;font-size:10px;font-weight:600;line-height:1.5}
.project-image-action .icon{width:13px;height:13px}
.project-image-link:hover .project-image{transform:scale(1.015)}
.project-visual figcaption{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;margin-top:16px;color:#5a7088;font-size:10px;line-height:1.7}
.project-live{display:inline-flex;align-items:center;gap:6px;color:#23725a;white-space:nowrap}
.project-live>span{width:5px;height:5px;border-radius:50%;background:#338b6d}
.project-content{min-width:0;padding:34px 32px}
.project-kicker{font-size:10px;font-weight:600;line-height:1.7;letter-spacing:.08em;color:#5d748b;margin-bottom:19px}
.project-title-row{display:flex;align-items:center;gap:13px;margin-bottom:14px}
.project-title-row>img{width:48px;height:48px;object-fit:contain;flex-shrink:0;border:1px solid #e7edf4;border-radius:8px}
.project-title-row h3{font-size:32px;line-height:1.3;font-weight:700;letter-spacing:-.035em;color:#123f6a;margin:0}
.project-subtitle{font-size:18px;line-height:1.6;font-weight:600;letter-spacing:-.015em;color:#234566;margin-bottom:20px}
.project-meta{display:flex;flex-wrap:wrap;gap:18px 35px;margin:0 0 20px;padding-bottom:20px;border-bottom:1px solid #e7edf4}
.project-meta dt{font-size:10px;color:#60768b;line-height:1.7;margin-bottom:4px}
.project-meta dd{margin:0;color:#254967;font-size:12px;font-weight:500;line-height:1.7}
.project-meta dd a{display:inline-flex;align-items:center;gap:5px}
.project-meta dd a:hover{color:#07549a;text-decoration:underline}
.project-meta .icon{width:13px;height:13px}
.project-description{font-size:13px;line-height:1.85;color:var(--muted);margin-bottom:16px}
.project-tags{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:19px}
.project-tags span{font-size:10px;line-height:1.6;padding:5px 10px;border:1px solid #e1eaf5;border-radius:5px;background:#f5f8fc;color:#376286}
.project-highlight{display:flex;align-items:flex-start;gap:9px;padding:12px 13px;border-left:2px solid #1f6ba6;background:#f2f7fc;border-radius:0 6px 6px 0;color:#355a78}
.project-highlight .icon{width:15px;height:15px;margin-top:3px;color:#07549a}
.project-highlight p{font-size:11px;line-height:1.85}
.project-actions{display:flex;align-items:center;flex-wrap:wrap;gap:9px 20px;margin-top:17px}
.project-actions .text-link{font-size:11px;gap:8px}
.project-actions .text-link .icon{width:16px;height:16px}
.project-results{grid-column:1/-1;min-width:0;padding:25px 32px 22px;border-top:1px solid #e0e8f2;background:#f9fbfd}
.project-results-label{font-size:10px;font-weight:600;line-height:1.7;letter-spacing:.09em;color:#5e7690;margin-bottom:17px}
.project-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:25px;margin:0}
.project-metrics>div{min-width:0;display:flex;flex-direction:column;padding-left:25px;border-left:1px solid #dce5f0}
.project-metrics>div:first-child{padding-left:0;border-left:0}
.project-metrics dt{font-size:11px;line-height:1.8;color:#576f85;max-width:190px}
.project-metrics dd{order:-1;margin:0 0 7px;font-size:34px;line-height:1.2;font-weight:700;letter-spacing:-.025em;color:#07549a;font-variant-numeric:tabular-nums}
.project-metrics dd.project-metric-text{font-size:28px;line-height:1.46;letter-spacing:-.015em}
.project-measurement-note{font-size:10px;line-height:1.8;color:#61768b;margin-top:19px}
.project-details{grid-column:1/-1;min-width:0;border-top:1px solid #e0e8f2;background:#fff}
.project-details>summary{display:flex;align-items:center;justify-content:space-between;gap:18px;list-style:none;padding:19px 32px;cursor:pointer;font-size:12px;font-weight:600;line-height:1.7;color:#244c74}
.project-details>summary::-webkit-details-marker{display:none}
.project-details>summary .icon{width:17px;height:17px;transition:transform .2s}
.project-details[open]>summary .icon{transform:rotate(90deg)}
.project-details>summary:hover{background:#f7fafd}
.project-details-body{padding:0 32px 26px}
.project-table-wrap{overflow-x:auto;border:1px solid #dce5f0;border-radius:9px}
.project-table{border-collapse:collapse;width:100%;min-width:580px;text-align:left;font-size:12px;line-height:1.8}
.project-table th,.project-table td{padding:13px 15px;vertical-align:top;border-bottom:1px solid #e4ecf5}
.project-table thead th{background:#eef4fb;font-size:11px;font-weight:600;color:#28547d}
.project-table tbody th{width:23%;font-weight:600;color:#25486c}
.project-table td{color:var(--muted)}
.project-table td:last-child{width:29%;color:#275a82}
.project-table tr:last-child th,.project-table tr:last-child td{border-bottom:0}
@media(max-width:1100px){.project-visual{padding:24px}.project-content{padding:28px}.project-subtitle{font-size:17px}.project-meta{gap:15px 25px}.project-actions{gap:8px 15px}}
@media(max-width:900px){.projects-heading{align-items:flex-start;flex-direction:column;gap:18px}.projects-heading>p{max-width:620px}.project-card{grid-template-columns:minmax(0,1fr)}.project-visual{padding:28px;border-right:0;border-bottom:1px solid #e0e8f2}.project-content{padding:30px}.project-subtitle br{display:none}.project-description{max-width:640px}.project-meta{gap:20px 45px}.project-actions .text-link{font-size:12px}.project-metrics{gap:17px}.project-metrics>div{padding-left:17px}}
@media(max-width:600px){.projects-heading{margin-bottom:25px}.projects-heading>p{font-size:13px}.project-card{border-radius:13px}.project-visual{padding:17px}.project-browser{min-height:33px;padding:8px 11px;font-size:9px}.project-image-action{right:8px;bottom:8px;font-size:9px;padding:5px 8px}.project-visual figcaption{font-size:9px;margin-top:12px}.project-content{padding:24px}.project-kicker{font-size:9px;margin-bottom:16px}.project-title-row h3{font-size:29px}.project-subtitle{font-size:16px}.project-meta{gap:18px 30px}.project-results{padding:23px 24px}.project-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:21px 20px}.project-metrics>div{padding-left:18px}.project-metrics>div:nth-child(odd){padding-left:0;border-left:0}.project-metrics dd{font-size:30px}.project-metrics dd.project-metric-text{font-size:25px;line-height:1.44}.project-metrics dt{font-size:10px}.project-details>summary{padding:18px 24px;font-size:11px}.project-details-body{padding:0 16px 22px}}
@media(prefers-reduced-motion:reduce){.project-image,.project-details>summary .icon{transition:none}.project-image-link:hover .project-image{transform:none}}
.project-slider{min-width:0}
.project-slider-track{display:flex;align-items:flex-start;gap:24px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:thin}
.project-slider-track>.project-card{flex:0 0 100%;min-width:0;scroll-snap-align:start}
.project-slider[data-enhanced=true] .project-slider-track{scrollbar-width:none}
.project-slider[data-enhanced=true] .project-slider-track::-webkit-scrollbar{display:none}
.project-slider-track:focus-visible{outline:2px solid #3977a5;outline-offset:6px;border-radius:18px}
.project-slider-controls{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:23px}
.project-slider-controls[hidden]{display:none}
.project-slider-count{display:flex;align-items:baseline;gap:9px;font-size:12px;line-height:1.7;color:#61768b;white-space:nowrap}
.project-slider-count strong{font-size:17px;line-height:1.4;font-weight:600;color:#174c77;font-variant-numeric:tabular-nums}
.project-slider-count [data-project-total]{font-variant-numeric:tabular-nums}
.project-slider-separator{color:#96a8ba}
.project-slider-dots{display:flex;justify-content:center;flex-wrap:wrap;gap:2px;max-width:60%}
.project-slider-dot{display:grid;place-items:center;width:30px;height:40px;padding:0;border:0;background:none;border-radius:5px}
.project-slider-dot>span{display:block;width:7px;height:7px;border-radius:50%;background:#c4d5e5;transition:width .2s,background .2s}
.project-slider-dot.is-active>span{width:23px;border-radius:6px;background:#07549a}
.project-slider-dot:hover>span{background:#5b8db4}
.project-slider-arrows{display:flex;gap:9px;flex-shrink:0}
.project-slider-arrows button{width:43px;height:43px;display:grid;place-items:center;padding:0;background:#fff;border:1px solid #cfddea;border-radius:8px;color:#164b77;transition:background .2s,border-color .2s}
.project-slider-arrows button:hover:not(:disabled){background:#e8f2fb;border-color:#8bb3d4}
.project-slider-arrows button:disabled{opacity:.4;cursor:default}
.project-slider-arrows .icon{width:18px;height:18px}
.project-slider-prev .icon{transform:rotate(180deg)}
.project-slider-live{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:600px){.project-slider-controls{gap:10px;margin-top:18px}.project-slider-count{font-size:10px;gap:6px}.project-slider-count strong{font-size:15px}.project-slider-arrows{gap:7px}.project-slider-arrows button{width:39px;height:39px}.project-slider-dots{max-width:45%;gap:0}.project-slider-dot{width:24px;height:38px}.project-slider-dot.is-active>span{width:18px}}
@media(prefers-reduced-motion:reduce){.project-slider-dot>span,.project-slider-arrows button{transition:none}}
