@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Franklin:wght@400;500;600;700&display=swap');

:root {
  --navy: #071b27;
  --navy-soft: #102d3b;
  --teal: #0f6871;
  --cyan: #7dd4d5;
  --coral: #ff7658;
  --sand: #f2eadf;
  --cream: #fbfaf6;
  --white: #ffffff;
  --ink: #10212a;
  --muted: #60717a;
  --line: rgba(16, 33, 42, .14);
  --shadow: 0 24px 60px rgba(7, 27, 39, .15);
  --sans: 'DM Sans', system-ui, sans-serif;
  --display: 'Libre Franklin', system-ui, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--cream); color: var(--ink); font-family: var(--sans); line-height: 1.55; }
body.load-error::before { content: 'Pagina nu a putut încărca fișierele de conținut.'; display: block; padding: 2rem; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
figure { margin: 0; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { font-family: var(--display); letter-spacing: -.045em; }
h1 { font-size: clamp(2.9rem, 5vw, 5.4rem); line-height: .96; }
h2 { font-size: clamp(2.3rem, 4.3vw, 4.6rem); line-height: 1.02; }
h3 { font-size: 1.35rem; line-height: 1.15; }

.container { width: min(1180px, calc(100% - 48px)); margin-inline: auto; }
.section { padding: 96px 0; }
.kicker { margin-bottom: 14px; color: var(--coral); font-size: .72rem; font-weight: 700; letter-spacing: .2em; }
.skip-link { position: fixed; left: 12px; top: -80px; z-index: 100; padding: 10px 14px; background: var(--white); border-radius: 6px; }
.skip-link:focus { top: 12px; }
