:root {
  --paper: #fbf3ef;
  --ink: #2e2a27;
  --muted: #6f6862;
  --terracotta: #c9633b;
  --olive: #6f7251;
  --white: #fffdfb;
  --serif: "Cormorant Garamond", Georgia, serif;
  --sans: "Manrope", Arial, sans-serif;
}

* { box-sizing: border-box; }
html, body { min-height: 100%; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--sans); -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
.skip-link { position: fixed; left: 16px; top: -80px; z-index: 20; padding: 11px 16px; border-radius: 10px; color: white; background: var(--olive); }
.skip-link:focus { top: 16px; }

.link-page {
  min-height: 100vh;
  min-height: 100svh;
  display: grid;
  place-items: center;
  padding: 42px 20px 30px;
  background: radial-gradient(circle at 50% -12%, #fff 0, #f8e8e3 33%, var(--paper) 67%);
}
.profile-card { width: min(100%, 560px); text-align: center; }
.portrait-wrap { position: relative; width: 112px; height: 112px; margin: 0 auto 19px; overflow: hidden; border: 4px solid var(--white); border-radius: 50%; box-shadow: 0 8px 24px rgba(57, 66, 45, .12); }
.portrait { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 7%; }
h1 { margin: 0; font-family: var(--serif); font-size: clamp(2.4rem, 8vw, 3.15rem); font-weight: 600; line-height: 1; letter-spacing: -.025em; }
.instagram-handle { display: inline-block; margin-top: 11px; color: var(--muted); font-size: .86rem; line-height: 1.4; text-underline-offset: 4px; }
.instagram-handle:hover { color: var(--terracotta); text-decoration: underline; }
.instagram-handle:focus-visible, .link-button:focus-visible, footer a:focus-visible { outline: 3px solid var(--terracotta); outline-offset: 4px; }
.intro { max-width: 440px; margin: 22px auto 32px; color: var(--ink); font-size: .92rem; font-weight: 500; line-height: 1.65; }
.link-list { display: grid; gap: 14px; }
.link-button {
  min-height: 68px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 14px 24px;
  border: 1px solid rgba(46, 42, 39, .05);
  border-radius: 100px;
  background: rgba(255, 253, 251, .88);
  box-shadow: 0 5px 22px rgba(74, 52, 41, .045);
  font-size: .89rem;
  font-weight: 700;
  line-height: 1.45;
  text-align: center;
  transition: background .2s, transform .2s, box-shadow .2s;
}
.link-button:hover { transform: translateY(-2px); background: var(--white); box-shadow: 0 10px 26px rgba(74, 52, 41, .09); }
footer { display: flex; justify-content: center; gap: 10px; margin-top: 37px; color: var(--muted); font-size: .68rem; }
footer a:hover { text-decoration: underline; text-underline-offset: 3px; }

@media (max-width: 520px) {
  .link-page { place-items: start center; padding: 43px 20px 28px; }
  .portrait-wrap { width: 104px; height: 104px; margin-bottom: 19px; }
  .intro { margin: 21px auto 31px; font-size: .88rem; }
  .link-button { min-height: 64px; padding: 13px 20px; font-size: .83rem; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition: none !important; } }
