* { box-sizing: border-box; }

:root {
  --bg: #0d0d0f;
  --surface: #18181d;
  --surface-soft: #211a28;
  --text: #f6f1eb;
  --muted: #c9c2ca;
  --purple: #8b4dcc;
  --pink: #d84d8c;
  --yellow: #f1bd3c;
  --border: rgba(255,255,255,.13);
  --radius: 28px;
  --shadow: 0 25px 70px rgba(0,0,0,.36);
}

html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--text);
  background:
    radial-gradient(circle at 8% 18%, rgba(139,77,204,.19), transparent 28rem),
    radial-gradient(circle at 92% 48%, rgba(216,77,140,.12), transparent 25rem),
    var(--bg);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.65;
}

img { display: block; width: 100%; }
a { color: inherit; }
.shell { width: min(1180px, 92vw); margin-inline: auto; }
.breadcrumbs { padding: 26px 0 8px; color: var(--muted); font-size: .9rem; }
.breadcrumbs ol { display: flex; gap: 9px; margin: 0; padding: 0; list-style: none; }
.breadcrumbs li + li::before { content: "›"; margin-right: 9px; }
.breadcrumbs a { text-decoration: none; }
.eyebrow {
  margin: 0 0 16px;
  color: var(--yellow);
  font-size: .84rem;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { line-height: 1.02; letter-spacing: -.045em; }
h1 { margin-bottom: 24px; font-size: clamp(4rem, 10vw, 8rem); }
h2 { margin-bottom: 22px; font-size: clamp(2.25rem, 5vw, 4.4rem); }
h3 { margin-bottom: 12px; font-size: 1.35rem; }

.hero { padding: 24px 0 76px; }
.hero-grid { display: grid; grid-template-columns: .82fr 1.18fr; gap: clamp(25px, 5vw, 65px); align-items: stretch; }
.hero-copy { padding: clamp(28px, 5vw, 58px); border: 1px solid var(--border); border-radius: var(--radius); background: linear-gradient(145deg, rgba(139,77,204,.2), rgba(255,255,255,.035)); }
.hero-lead { max-width: 30ch; margin-bottom: 28px; color: #eee7ef; font-size: clamp(1.15rem, 2vw, 1.45rem); }
.hero-tags { display: flex; flex-wrap: wrap; gap: 10px; }
.hero-tags span { padding: 8px 13px; border: 1px solid var(--border); border-radius: 999px; color: var(--muted); background: rgba(255,255,255,.045); font-size: .9rem; font-weight: 750; }
.hero-photo { height: 100%; margin: 0; overflow: hidden; border-radius: var(--radius); box-shadow: var(--shadow); }
.hero-photo picture { display: block; height: 100%; }
.hero-photo img { height: 100%; object-fit: cover; filter: saturate(1.08) contrast(1.04); }

.intro, .experience, .features, .cta { padding: 86px 0; }
.intro-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(35px, 8vw, 100px); }
.intro-copy { max-width: 68ch; }
.intro-copy p { color: var(--muted); font-size: 1.08rem; }
.intro-copy p:last-child { margin-bottom: 0; }

.experience { padding-top: 24px; }
.experience-grid { display: grid; grid-template-columns: .78fr 1.22fr; gap: clamp(35px, 8vw, 100px); align-items: center; }
.experience-photo { margin: 0; overflow: hidden; border-radius: var(--radius); box-shadow: var(--shadow); }
.experience-photo img { aspect-ratio: 4 / 5; object-fit: cover; object-position: center 72%; }
.experience-copy { max-width: 650px; }
.experience-copy p:not(.eyebrow) { color: var(--muted); font-size: 1.08rem; }

.features { background: rgba(255,255,255,.025); border-block: 1px solid rgba(255,255,255,.07); }
.section-heading { max-width: 760px; margin-bottom: 42px; }
.feature-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 16px; }
.feature-grid article { grid-column: span 2; padding: 26px; border: 1px solid var(--border); border-radius: 22px; background: rgba(255,255,255,.045); }
.feature-grid article:nth-child(4), .feature-grid article:nth-child(5) { grid-column: span 3; }
.feature-grid article > span { display: block; margin-bottom: 30px; color: var(--pink); font-size: .9rem; font-weight: 900; }
.feature-grid p { margin-bottom: 0; color: var(--muted); }
.catalog-complement { display: grid; grid-template-columns: .7fr 1.3fr; gap: 28px; align-items: center; margin-top: 22px; padding: 26px 28px; border: 1px solid var(--border); border-radius: 22px; background: linear-gradient(135deg, rgba(241,189,60,.12), transparent 42%), var(--surface); }
.catalog-complement strong { color: var(--yellow); font-size: 1.05rem; }
.catalog-complement p { margin: 0; color: var(--muted); }

.cta-box { padding: clamp(34px, 6vw, 72px); border: 1px solid var(--border); border-radius: var(--radius); background: radial-gradient(circle at 90% 15%, rgba(241,189,60,.18), transparent 18rem), linear-gradient(135deg, rgba(139,77,204,.3), rgba(216,77,140,.12)), var(--surface); box-shadow: var(--shadow); }
.cta-box > p:not(.eyebrow) { max-width: 58ch; margin-bottom: 30px; color: var(--muted); font-size: 1.08rem; }
footer { padding: 10px 0 40px; color: var(--muted); font-size: .9rem; }
:focus-visible { outline: 3px solid var(--yellow); outline-offset: 4px; }

@media (max-width: 900px) {
  .hero-grid, .intro-grid, .experience-grid { grid-template-columns: 1fr; }
  .hero-copy { order: 1; }
  .hero-photo { order: 2; height: auto; }
  .hero-photo picture { height: auto; }
  .hero-photo img { height: auto; aspect-ratio: 4 / 3; }
  .experience-photo { max-width: 680px; }
}

@media (max-width: 680px) {
  body, p, a, button, span, strong, li, footer, .eyebrow, .breadcrumbs, .hero-tags span {
    font-size: 18px !important;
  }
  .hero { padding-bottom: 46px; }
  .hero-copy { padding: 28px; }
  h1 { font-size: clamp(3.7rem, 20vw, 5.2rem); }
  .intro, .experience, .features, .cta { padding: 58px 0; }
  .experience { padding-top: 10px; }
  .experience-photo img { aspect-ratio: auto; }
  .feature-grid { grid-template-columns: 1fr; }
  .feature-grid article,
  .feature-grid article:nth-child(4),
  .feature-grid article:nth-child(5) { grid-column: auto; }
  .catalog-complement { grid-template-columns: 1fr; }
}
