/* Glass stays readable against every section; only the labels magnify. */
.site-nav {
  background: rgba(255,253,248,.83);
  border: 1px solid rgba(255,255,255,.85);
  box-shadow: 0 8px 32px rgba(32,33,61,.13), inset 0 1px 0 #fff, inset 0 -1px 0 rgba(32,33,61,.1);
  backdrop-filter: blur(24px) saturate(155%);
  -webkit-backdrop-filter: blur(24px) saturate(155%);
  overflow: visible;
}
.site-nav::before { border-radius: inherit; background: radial-gradient(130px circle at var(--glass-x,50%) 0, #fff, transparent 80%); pointer-events: none; }
.site-nav::after { border-radius: inherit; pointer-events: none; }
.site-nav .nav-links a, .site-nav .nav-cta { color: var(--dark); }
.dock-label { display:inline-block; transform-origin:50% 70%; }
.magnetic-label { display:inline-flex; align-items:center; justify-content:center; gap:inherit; }
.has-proximity .service-card, .has-proximity .related-strip__card { transition:box-shadow .3s ease; }
.has-proximity .service-card:hover { transform:none; }
.section-curve { position:absolute; bottom:-1px; left:0; height:64px; width:100%; pointer-events:none; overflow:hidden; }
.section-curve svg { display:block; width:100%; height:100%; }
/* Anchor the colour boundary after content, including in full-height sections. */
.hero:has(> .section-curve), .services:has(> .section-curve), .motion-feature:has(> .section-curve), .experience:has(> .section-curve) { position:relative; padding-bottom:104px; }
.work { background:var(--sage); }
.work::before { display:none; }
footer { background:var(--paper); color:var(--dark); overflow:hidden; }
footer .footer-line { align-items:center; padding-top:28px; padding-bottom:28px; color:var(--dark); }
.footer-top { display:inline-flex; align-items:center; min-height:44px; gap:8px; color:var(--dark); text-decoration:none; }
.footer-top:hover { text-decoration:underline; text-underline-offset:4px; }
.action-particle { position:fixed; width:7px; height:7px; border:1px solid rgba(32,33,61,.2); border-radius:50%; pointer-events:none; z-index:10000; }
@media(max-width:720px) {
  .site-nav { background:rgba(255,253,248,.95); }
  .section-curve { height:30px; }
  .hero:has(> .section-curve), .services:has(> .section-curve), .motion-feature:has(> .section-curve), .experience:has(> .section-curve) { padding-bottom:58px; }
  footer .footer-line { flex-wrap:wrap; gap:8px 20px; padding:18px 20px; font-size:.65rem; }
}
@media(prefers-reduced-motion:reduce) {
  .section-curve { height:18px; }
  .service-card:hover { transform:none; }
}
.work-item__number { color:var(--dark); }
@media(max-width:720px) {
  .site-nav .nav-links { background:rgba(255,253,248,.98); box-shadow:0 12px 26px rgba(32,33,61,.1); }
}
.services { min-height:0; }
.copy-feedback { max-width:100%; padding:6px; text-align:center; }
.site-nav::before { transform:none; filter:none; }
