:root {
    --paper: #F5F5F5;
    --chocolate: #4B2516;
    --cocoa: #7A4A34;
    --rosa: #E9A3AB;
    --rosa-suave: #F6D9DC;
    box-sizing: border-box;
    padding-top: env(safe-area-inset-top, 0px);
    padding-bottom: env(safe-area-inset-bottom, 0px);
  }
  *, *::before, *::after { box-sizing: inherit; }
  html, body { height: 100%; margin: 0; }
  body {
    background: var(--paper);
    color: var(--chocolate);
    font-family: "Josefin Sans", "Avenir Next", "Century Gothic", system-ui, sans-serif;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    text-align: center;
  }
  main {
    width: 100%;
    max-width: 620px;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .deco {
    position: fixed;
    z-index: 0;
    pointer-events: none;
    user-select: none;
    height: auto;
  }
  .tl { top: 0; left: 0; width: min(27vw, 470px); }
  .tr { top: 0; right: 0; width: min(38vw, 675px); }
  .bl { bottom: 0; left: 0; width: min(29vw, 515px); }
  .br { bottom: 0; right: 0; width: min(22vw, 390px); }
  main { position: relative; z-index: 1; }
  .logo {
    width: 100%;
    max-width: 600px;
    height: auto;
    display: block;
    margin-bottom: 8px;
  }
  h1 {
    font-weight: 600;
    font-size: clamp(1.4rem, 4.5vw, 1.8rem);
    line-height: 1.25;
    margin: 0 0 10px;
    letter-spacing: 0.01em;
  }
  p {
    font-size: 1.05rem;
    line-height: 1.55;
    color: var(--cocoa);
    margin: 0 0 28px;
    max-width: 34ch;
  }
  .ig {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: var(--chocolate);
    color: #FFF;
    text-decoration: none;
    font-weight: 600;
    font-size: 1.05rem;
    padding: 15px 28px 13px;
    border-radius: 999px;
    box-shadow: 0 6px 0 var(--rosa);
    transition: transform .15s ease, box-shadow .15s ease;
  }
  .ig svg { width: 20px; height: 20px; margin-top: -2px; }
  .ig:hover { transform: translateY(2px); box-shadow: 0 4px 0 var(--rosa); }
  .ig:active { transform: translateY(6px); box-shadow: 0 0 0 var(--rosa); }
  .ig:focus-visible { outline: 3px solid var(--rosa); outline-offset: 4px; }
  .mail {
    margin-top: 26px;
    font-size: 0.95rem;
    color: var(--cocoa);
  }
  .mail a {
    color: var(--chocolate);
    text-decoration-color: var(--rosa);
    text-decoration-thickness: 2px;
    text-underline-offset: 4px;
  }
  .mail a:focus-visible { outline: 2px solid var(--rosa); outline-offset: 3px; border-radius: 3px; }
  @media (max-width: 600px) {
    .tl { width: 40vw; } .tr { width: 56vw; } .bl { width: 42vw; } .br { width: 32vw; }
    .deco { opacity: .85; }
    .logo { margin-top: 70px; }
  }
  @media (prefers-reduced-motion: reduce) {
    .ig { transition: none; }
  }
