/* A focused layer over the original portfolio visual system. */
.newsletter-action { display:block; }
.newsletter-form { grid-template-columns:minmax(0,1fr) auto; width:100%; max-width:530px; }
.newsletter-form .consent-row { grid-column:1/-1; display:flex; align-items:flex-start; gap:11px; margin:7px 0 1px; color:#effffa; font-size:.81rem; line-height:1.6; cursor:pointer; }
.newsletter-form .consent-row input { flex:none; appearance:none; width:19px; height:19px; min-width:19px; min-height:19px; margin:2px 0 0; padding:0; border:1.5px solid #d0fff7; background:#0b544c; cursor:pointer; }
.newsletter-form .consent-row input:checked { background:var(--brand-cyan); border-color:var(--brand-cyan); box-shadow:inset 0 0 0 4px #006f65; }
.newsletter-form .consent-row input:focus-visible { outline:3px solid #f4fffd; outline-offset:3px; }
.newsletter-form .newsletter-status { grid-column:1/-1; }
.newsletter-form button:disabled { opacity:.7; cursor:wait; }
.newsletter-form.is-success input, .newsletter-form.is-success .consent-row { display:none; }
.newsletter-form.is-success button { grid-column:1/-1; justify-self:start; min-width:190px; box-shadow:none; cursor:default; }

.contact-actions { display:flex; flex-wrap:wrap; gap:12px; margin:0 0 27px; }
.contact-actions a { display:inline-flex; align-items:center; justify-content:space-between; gap:35px; min-height:58px; padding:13px 19px; border:1px solid #6babb7; color:#e9fcff; background:#0c314a; text-decoration:none; font-weight:700; transition:background-color .2s,transform .2s,border-color .2s; }
.contact-actions a:first-child { background:var(--brand-cyan); border-color:var(--brand-cyan); color:var(--brand-navy-deep); }
.contact-actions a:hover { transform:translateY(-3px); background:#15526b; border-color:var(--brand-cyan); color:#eefcff; }
.contact-actions a:first-child:hover { background:#a3f4f8; color:var(--brand-navy-deep); }
.contact-actions a span:last-child { font-family:'DM Mono',monospace; font-size:1.2rem; font-weight:400; }
.contact-meta a { display:inline-flex; min-height:44px; align-items:center; }

@media(max-width:480px) {
  .newsletter-form { grid-template-columns:1fr; }
  .newsletter-form .button { width:100%; }
  .contact-actions a { width:100%; }
}
@media(prefers-reduced-motion:reduce) {
  .contact-actions a { transition:none; }
}