:root {
  --ink: #141414;
  --muted: #666965;
  --line: #d9dbd7;
  --paper: #f7f7f4;
  --white: #fff;
  --accent: #4e9cf4;
  --max: 1360px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; }
.skip-link { position: fixed; top: 8px; left: 8px; z-index: 100; padding: .75rem 1rem; background: var(--ink); color: white; transform: translateY(-150%); }
.skip-link:focus { transform: translateY(0); }
.site-header {
  width: min(calc(100% - 64px), var(--max));
  height: 112px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--line);
}
.brand { display: block; width: 176px; line-height: 0; }
.brand img { width: 100%; height: auto; display: block; }
nav { display: flex; gap: clamp(1.5rem, 4vw, 4rem); font-size: .78rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
nav a { text-decoration: none; padding: .6rem 0; border-bottom: 1px solid transparent; }
nav a:hover, nav a:focus-visible { border-color: var(--ink); }
.hero {
  position: relative;
  width: min(calc(100% - 64px), var(--max));
  min-height: calc(100vh - 112px);
  margin: 0 auto;
  padding: clamp(4.5rem, 9vh, 8rem) 0 5rem;
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(280px, .45fr);
  grid-template-rows: auto auto 1fr auto;
  column-gap: 4rem;
}
.eyebrow { grid-column: 1 / -1; margin: 0 0 3rem; color: var(--muted); font-size: .72rem; font-weight: 650; letter-spacing: .14em; text-transform: uppercase; }
.hero h1 { grid-column: 1; margin: 0; max-width: 1050px; font-size: clamp(3.5rem, 7.25vw, 7rem); font-weight: 430; letter-spacing: -.07em; line-height: .91; }
.hero h1 span { color: var(--muted); }
.hero-copy { grid-column: 2; align-self: end; margin: 0 0 1.75rem; max-width: 390px; color: #3f423f; font-size: clamp(1rem, 1.3vw, 1.25rem); }
.text-link { grid-column: 2; display: flex; align-items: center; justify-content: space-between; padding: 1rem 0; border-top: 1px solid var(--ink); font-size: .78rem; font-weight: 650; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.text-link span { color: var(--accent); font-size: 1.2rem; transition: transform .2s ease; }
.text-link:hover span { transform: translate(3px, 3px); }
.hero-index { grid-column: 1; align-self: end; display: flex; gap: 3rem; color: var(--muted); font-size: .65rem; letter-spacing: .13em; }
.intro, .brands, .capabilities, .europe, .contact { padding: clamp(5rem, 11vw, 10rem) max(32px, calc((100vw - var(--max)) / 2)); }
.intro { min-height: 720px; display: grid; grid-template-columns: 1fr 2fr; background: var(--white); }
.section-label { display: flex; align-items: flex-start; gap: 1.25rem; color: var(--muted); font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; }
.section-label span { color: var(--accent); }
.section-label p { margin: 0; }
.intro-copy { align-self: center; max-width: 850px; }
.intro-copy h2, .brands-heading h2 { margin: 0; font-size: clamp(2.8rem, 5.2vw, 5.6rem); font-weight: 430; letter-spacing: -.055em; line-height: .98; }
.intro-copy p { max-width: 620px; margin: 3rem 0 0 auto; color: var(--muted); font-size: clamp(1.15rem, 1.8vw, 1.55rem); }
.intro-copy p + p { margin-top: 1.25rem; font-size: 1rem; }
.brands { color: var(--white); background: var(--ink); }
.section-label--light { color: #a8aaa6; }
.brands-heading { margin: 5rem 0 6rem 33.333%; display: grid; grid-template-columns: 1.4fr .6fr; gap: 4rem; align-items: end; }
.brands-heading p { margin: 0 0 .75rem; color: #a8aaa6; }
.brand-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid #3b3c39; }
.brand-grid article { min-height: 320px; padding: 1.5rem 1.5rem 2rem 0; border-right: 1px solid #3b3c39; display: flex; flex-direction: column; }
.brand-grid article + article { padding-left: 1.5rem; }
.brand-grid article:last-child { border-right: 0; }
.brand-grid article > span { color: #777a76; font-size: .65rem; }
.brand-logo { height: 104px; margin: auto 0 0; display: flex; align-items: center; justify-content: center; }
.brand-logo img { display: block; width: auto; max-width: 82%; max-height: 84px; object-fit: contain; }
.brand-logo--everfly img { max-width: 74%; }
.brand-logo--homenatur img { max-width: 92%; }
.brand-logo--torotech img, .brand-logo--deseos img { max-width: 66%; }
.brand-grid p { margin: 1.2rem 0 0; color: #92948f; font-size: .78rem; }
.capabilities { background: var(--paper); }
.capabilities-heading { margin: 6rem 0 5rem 33.333%; display: grid; grid-template-columns: 1.35fr .65fr; gap: 4rem; align-items: end; }
.capabilities-heading h2, .europe h2, .contact h2 { margin: 0; font-size: clamp(2.8rem, 5.2vw, 5.6rem); font-weight: 430; letter-spacing: -.055em; line-height: .98; }
.capabilities-heading p { margin: 0 0 .4rem; color: var(--muted); }
.capability-list { margin-left: 33.333%; border-top: 1px solid var(--line); }
.capability-list article { display: grid; grid-template-columns: 70px minmax(210px, .8fr) 1fr; gap: 2rem; padding: 2.4rem 0; border-bottom: 1px solid var(--line); }
.capability-list span { color: var(--accent); font-size: .68rem; }
.capability-list h3 { margin: 0; font-size: 1.35rem; font-weight: 520; letter-spacing: -.025em; }
.capability-list p { margin: 0; max-width: 520px; color: var(--muted); }
.europe { position: relative; min-height: 820px; overflow: hidden; color: white; background: #20211f; }
.europe-content { position: relative; z-index: 1; width: 67%; margin: 8rem 0 0 33.333%; }
.europe-kicker { color: #999c97; font-size: .68rem; letter-spacing: .13em; text-transform: uppercase; }
.europe-content > p:last-of-type { max-width: 560px; margin: 3rem 0 0 auto; color: #b7b9b4; font-size: 1.18rem; }
.europe-word { position: absolute; right: -1.8vw; bottom: -11vw; margin: 0; color: #292a28; font-size: 20vw; font-weight: 650; letter-spacing: -.09em; line-height: 1; }
.contact { min-height: 670px; display: grid; grid-template-columns: 1fr 2fr; align-items: start; background: var(--white); }
.contact-content { align-self: center; }
.contact-content p { max-width: 580px; margin: 3rem 0 0 auto; color: var(--muted); font-size: 1.15rem; }
.site-footer { padding: 3rem max(32px, calc((100vw - var(--max)) / 2)); display: grid; grid-template-columns: 1fr auto 1fr; align-items: start; gap: 2rem; color: #d3d5d0; background: var(--ink); font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; }
.site-footer p { margin: 0; }
.site-footer > p:last-child { text-align: right; }
.site-footer nav { font-size: .65rem; }
.footer-note { margin-top: .8rem !important; max-width: 260px; color: #777a76; font-size: .62rem; line-height: 1.6; }
.legal-page { background: var(--white); }
.legal-layout { width: min(calc(100% - 64px), var(--max)); min-height: 820px; margin: 0 auto; padding: clamp(5rem, 10vw, 9rem) 0; display: grid; grid-template-columns: 1fr 2fr; }
.legal-layout article { max-width: 850px; }
.legal-layout article > .eyebrow { margin-bottom: 2.5rem; }
.legal-layout h1, .error-layout h1 { margin: 0; font-size: clamp(3.8rem, 7vw, 7rem); font-weight: 430; letter-spacing: -.065em; line-height: .93; }
.legal-lead { max-width: 650px; margin: 3rem 0 5rem; color: var(--muted); font-size: clamp(1.25rem, 2vw, 1.7rem); }
.legal-layout section { display: grid; grid-template-columns: minmax(180px, .5fr) 1fr; gap: 2rem; padding: 2rem 0; border-top: 1px solid var(--line); }
.legal-layout section:last-child { border-bottom: 1px solid var(--line); }
.legal-layout section h2 { margin: 0; font-size: 1rem; font-weight: 650; }
.legal-layout section p { margin: 0; color: var(--muted); }
.legal-layout section p + p { margin-top: 1rem; }
.error-page { min-height: 100vh; background: var(--paper); }
.error-layout { width: min(calc(100% - 64px), var(--max)); min-height: calc(100vh - 112px); margin: 0 auto; padding: clamp(4rem, 10vw, 8rem) 0; display: flex; flex-direction: column; }
.error-layout .eyebrow { margin-bottom: 3rem; }
.error-layout .text-link { width: min(100%, 370px); margin: auto 0 0 auto; }

:focus-visible { outline: 3px solid var(--accent); outline-offset: 4px; }
@media (max-width: 820px) {
  .site-header, .hero { width: min(calc(100% - 40px), var(--max)); }
  .site-header { height: 88px; }
  .brand { width: 132px; }
  nav { gap: .9rem; font-size: .64rem; }
  .home-page .site-header nav a:first-child,
  .home-page .site-header nav a:nth-child(3) { display: none; }
  .hero { min-height: calc(100svh - 88px); padding: 3rem 0 2rem; display: flex; flex-direction: column; }
  .eyebrow { margin-bottom: 2.3rem; max-width: 260px; }
  .hero h1 { font-size: clamp(3.25rem, 15vw, 5.3rem); }
  .hero-copy { margin: auto 0 1.5rem; padding-top: 4rem; max-width: 520px; }
  .text-link { width: 100%; }
  .hero-index { margin-top: 3rem; }
  .intro, .brands, .capabilities, .europe, .contact { padding-left: 20px; padding-right: 20px; }
  .intro { min-height: 620px; display: block; }
  .intro-copy { margin-top: 7rem; }
  .intro-copy p { margin-left: 0; }
  .brands-heading { margin: 6rem 0 4rem; display: block; }
  .brands-heading p { margin-top: 2rem; max-width: 380px; }
  .brand-grid { grid-template-columns: 1fr 1fr; }
  .brand-grid article { min-height: 230px; border-bottom: 1px solid #3b3c39; }
  .brand-grid article:nth-child(2) { border-right: 0; }
  .brand-grid article:nth-child(3) { padding-left: 0; }
  .brand-grid article:nth-child(3), .brand-grid article:nth-child(4) { border-bottom: 0; }
  .capabilities-heading { margin: 6rem 0 4rem; display: block; }
  .capabilities-heading p { margin-top: 2rem; max-width: 520px; }
  .capability-list { margin-left: 0; }
  .capability-list article { grid-template-columns: 42px 1fr; gap: 1rem; }
  .capability-list article p { grid-column: 2; }
  .europe { min-height: 700px; }
  .europe-content { width: 100%; margin: 7rem 0 0; }
  .europe-content > p:last-of-type { margin-left: 0; }
  .europe-word { bottom: -6vw; font-size: 23vw; }
  .contact { min-height: 590px; display: block; }
  .contact-content { margin-top: 7rem; }
  .contact-content p { margin-left: 0; }
  .site-footer { padding-left: 20px; padding-right: 20px; grid-template-columns: 1fr auto; }
  .site-footer > p:last-child { grid-column: 1 / -1; text-align: left; }
  .legal-layout { width: calc(100% - 40px); display: block; }
  .legal-layout article { margin-top: 6rem; }
  .legal-layout section { grid-template-columns: 1fr; gap: 1.2rem; }
  .error-layout { width: calc(100% - 40px); min-height: calc(100svh - 88px); }
}
@media (max-width: 420px) {
  .hero h1 { font-size: 13.6vw; }
  .brand-grid { grid-template-columns: 1fr; }
  .brand-grid article, .brand-grid article:nth-child(2) { min-height: 190px; padding-left: 0; border-right: 0; border-bottom: 1px solid #3b3c39; }
  .brand-grid article:last-child { border-bottom: 0; }
  .brand-logo { height: 78px; }
  .brand-logo img { max-height: 66px; }
  .site-footer { gap: 1rem; flex-direction: column; }
  .site-footer { display: flex; }
  .site-footer > p:last-child { text-align: left; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
