:root { --earth:#0e3a1c; --bark:#175e2b; --hay:#4bae32; --hay-light:#cfe9c4; --cream:#f7faf2; --fog:#ecf3e5; --text:#14261a; --muted:#46594b; }
    * { margin:0; padding:0; box-sizing:border-box; }
    html { scroll-behavior:smooth; }
    body { font-family:'Lato',system-ui,sans-serif; background:var(--earth); color:var(--text); }
    :focus-visible { outline:3px solid var(--hay); outline-offset:2px; }

  /* Playfair Display */
  @font-face {
    font-family: 'Playfair Display';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url('fonts/Playfair_144pt-Regular.ttf') format('ttf');
  }
  @font-face {
    font-family: 'Playfair Display';
    font-style: italic;
    font-weight: 400;
    font-display: swap;
    src: url('fonts/Playfair_9pt-Italic.ttf') format('ttf');
  }

  /* Lato */
  @font-face {
    font-family: 'Lato';
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url('fonts/Lato-Light.ttf') format('ttf');
  }
  @font-face {
    font-family: 'Lato';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('fonts/Lato-Regular.ttf') format('ttf');
  }
  @font-face {
    font-family: 'Lato';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('fonts/Lato-Bold.ttf') format('ttf');
}
    .stage { position:relative; min-height:100svh; display:flex; flex-direction:column; overflow:hidden; }
    .stage-bg { position:absolute; inset:0; }
    .stage-bg img { width:100%; height:100%; object-fit:cover; object-position:center 40%; display:block; animation:zoom 14s ease-out forwards; }
    .stage::before { content:''; position:absolute; inset:0; z-index:1; background:linear-gradient(to bottom, rgba(6,28,14,.35) 0%, rgba(6,28,14,.55) 35%, rgba(6,28,14,.88) 70%); }
    @keyframes zoom { from { transform:scale(1.08); } to { transform:scale(1); } }

    header { position:relative; z-index:2; padding:1.2rem 1rem 0; display:flex; justify-content:center; }
    .logo-card { background:rgba(255,255,255,.96); border-radius:0px; padding:.6rem 1rem; box-shadow:0 6px 28px rgba(0,0,0,.28); }
    .logo-card img { width:190px; height:auto; display:block; }

    main { position:relative; z-index:2; flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:2.2rem 1.25rem 2rem; animation:fadeUp 1.1s ease-out both; }
    @keyframes fadeUp { from { opacity:0; transform:translateY(26px); } to { opacity:1; transform:none; } }
    .badge { display:inline-block; background:var(--hay); color:var(--earth); font-size:.7rem; font-weight:700; letter-spacing:.15em; text-transform:uppercase; padding:.4rem .95rem; border-radius:2px; margin-bottom:1.1rem; }
    h1 { font-family:'Playfair Display',serif; font-weight:600; color:#fff; font-size:clamp(2.1rem,8vw,4.2rem); line-height:1.12; max-width:15em; }
    h1 em { color:var(--hay-light); font-weight:400; }
    .lead { color:rgba(255,255,255,.9); font-weight:300; font-size:1.05rem; line-height:1.75; max-width:36rem; margin:1.2rem auto 0; }
    .divider { width:48px; height:3px; background:var(--hay); margin:1.6rem auto; }

    .contact { width:100%; max-width:920px; display:grid; grid-template-columns:1fr; gap:.8rem; text-align:left; }
    .c-card { background:rgba(247,250,242,.96); border-left:4px solid var(--hay); border-radius:2px; padding:1rem 1.2rem; }
    .c-card h2 { font-size:.7rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--bark); margin-bottom:.3rem; }
    .c-card p, .c-card a { font-size:1rem; line-height:1.55; color:var(--text); text-decoration:none; }
    .c-card a { font-weight:700; display:inline-block; min-height:24px; }
    .c-card a:hover { color:var(--bark); text-decoration:underline; }
    @media(min-width:640px){ .contact { grid-template-columns:repeat(2,1fr); } }
    @media(min-width:960px){ .contact { grid-template-columns:repeat(4,1fr); } .logo-card img { width:230px; } }

    .actions { display:flex; flex-wrap:wrap; justify-content:center; gap:.8rem; margin-top:1.6rem; }
    .btn { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:.85rem 1.8rem; font-weight:700; font-size:.85rem; letter-spacing:.08em; text-transform:uppercase; text-decoration:none; border-radius:2px; transition:all .2s; }
    .btn-wa { background:#25D366; color:#fff; } .btn-wa:hover { background:#1db85a; transform:translateY(-2px); }
    .btn-line { border:2px solid rgba(255,255,255,.65); color:#fff; } .btn-line:hover { background:rgba(255,255,255,.15); }

    .bioland { margin-top:1.8rem; background:#fff; border-radius:8px; padding:.7rem 1.1rem; display:inline-flex; align-items:center; gap:1rem; text-align:left; }
    .bioland img { width:130px; height:auto; display:block; }
    .bioland span { font-size:.8rem; color:var(--muted); line-height:1.4; max-width:11rem; }

    footer { position:relative; z-index:2; background:var(--earth); padding:1.4rem 1rem; text-align:center; font-size:.8rem; color:rgba(255,255,255,.65); }
    footer a { color:rgba(255,255,255,.8); text-decoration:none; margin:0 .6rem; display:inline-block; min-height:32px; line-height:32px; }
    footer a:hover { color:#fff; text-decoration:underline; }
    footer p { margin-top:.2rem; }
    @media(prefers-reduced-motion:reduce){ *,*::before,*::after { animation:none !important; transition:none !important; } }