html{scrollbar-gutter:stable}.project-dialog{padding:0;border:0;width:min(1180px,calc(100% - 80px));max-width:1180px;max-height:90dvh;overflow:auto;background:#f5f4ee;color:#173444}.project-dialog::backdrop{background:rgba(8,27,37,.78);backdrop-filter:blur(5px)}.preview-top{display:flex;justify-content:space-between;align-items:center;padding:20px 30px;border-bottom:1px solid #c2cbc4;background:#f5f4ee;position:sticky;top:0;z-index:2}.preview-close{border:0;background:transparent;color:inherit;font-size:12px;display:flex;gap:20px;align-items:center;min-height:44px;padding:5px 10px}.preview-close span{font-size:25px}.preview-body{display:grid;grid-template-columns:1.3fr 1fr;min-height:440px}.preview-image{background:#e6e8df;display:flex;flex-direction:column;justify-content:center;padding:24px}.preview-image img{object-fit:contain;width:100%;height:auto;max-height:490px}.preview-image figcaption{font-size:9px;color:#5d7064;margin-top:14px}.preview-copy{padding:50px 38px;align-self:center}.preview-copy h2{font-size:clamp(30px,3.2vw,48px);margin:22px 0;line-height:1.08}.preview-copy>p:not(.eyebrow){font-size:13px;line-height:1.8}.preview-copy .preview-source{font-size:11px!important;color:#52685b;margin-top:16px}.preview-copy .button{margin-top:28px;font-size:11px}.preview-contact{display:block;font-size:11px;text-decoration:underline;text-underline-offset:5px;margin-top:22px}.preview-bottom{padding:18px 30px;border-top:1px solid #c2cbc4;display:flex;align-items:center;justify-content:space-between;gap:18px}.preview-bottom button{background:transparent;border:0;color:#173444;font-size:11px;min-height:44px;padding:5px 10px}.preview-bottom span{font-size:11px;color:#5c7265}.detail-intro h1{font-size:clamp(44px,6vw,90px);max-width:1000px;margin:35px 0}.detail-intro>p{font-size:14px}.detail-image{margin:0 6.5%;background:#e6e8df}.detail-image img{max-height:750px;object-fit:contain;height:auto}.detail-copy{display:grid;grid-template-columns:1fr 2fr;gap:7%}.detail-copy h2{font-size:38px;margin-bottom:28px}.detail-copy p{font-size:14px;margin:0 0 18px}.detail-copy .text-link{display:inline-block;text-decoration:underline;margin-top:18px;font-size:12px}
@media(prefers-reduced-motion:no-preference){.project-dialog[open]{animation:dialog-enter .24s ease-out}@keyframes dialog-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}}
@media(max-width:700px){.project-dialog{width:100%;max-width:none;max-height:100dvh;height:100dvh;margin:0}.preview-top{padding:12px 20px}.preview-body{display:block;min-height:0}.preview-image{padding:22px 20px}.preview-image img{max-height:340px}.preview-copy{padding:30px 24px}.preview-copy h2{font-size:38px}.preview-copy .button{width:100%}.preview-bottom{padding:12px 14px}.detail-copy{display:block}.detail-copy>div{margin-top:30px}.detail-intro h1{font-size:46px}.detail-image{margin:0 5%}.detail-copy h2{font-size:32px}}
.consent-dialog {
  border: 1px solid #cbd3d3;
  background: #fafaf7;
  color: #172e40;
  max-width: 620px;
  width: calc(100% - 32px);
  padding: 32px;
  max-height: 85vh;
  overflow: auto;
}
.consent-dialog::backdrop {
  background: rgba(12, 34, 51, 0.6);
}
.consent-dialog h2 {
  font-size: 26px;
  margin-bottom: 18px;
}
.consent-dialog p {
  font-size: 14px;
  line-height: 1.7;
}
.consent-category {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 18px 0;
  border-bottom: 1px solid #cbd3d3;
  font-size: 14px;
}
.consent-category small {
  display: block;
  line-height: 1.7;
  margin-top: 5px;
}
.consent-category input {
  width: 22px;
  height: 22px;
  accent-color: #246395;
  flex-shrink: 0;
}
.consent-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 24px;
}
.consent-actions .button {
  min-height: 44px;
  padding: 12px 16px;
  font-size: 12px;
  background: #122c40;
  color: white;
  border: 1px solid #122c40;
}
.consent-close {
  float: right;
  border: 0;
  background: none;
  font-size: 25px;
  color: inherit;
  cursor: pointer;
}
.consent-reset {
  background: none;
  border: 0;
  text-decoration: underline;
  color: inherit;
  font: inherit;
  font-size: 13px;
  margin-top: 20px;
  cursor: pointer;
}
.project-card[hidden],
[hidden] {
  display: none !important;
}
