/* ==========================================================================
   theme-swiss2.css — Swiss Modernism 2.0
   ref: uistyleguide.com/style/swiss-modernism-2
   Black/white/#F5F5F5 + pure red #FF0000. Inter 700. 12-col grid,
   perfect-fourth (1.333) modular scale, mathematical spacing, asymmetric.
   ========================================================================== */

[data-theme="swiss2"] {
  --bg: #ffffff;
  --ink: #000000;
  --panel: #f5f5f5;
  --line: #e2e2e2;
  --divider: #c9c9c9;   /* muted grey for section / header dividers */
  --muted: #595959;
  --accent: #EB6A25;
}

[data-theme="swiss2"] body {
  background: var(--bg);
  color: var(--ink);
  font-family: Inter, "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: -0.011em;
}

/* --- Header ---------------------------------------------------------------- */
[data-theme="swiss2"] .site-header { background: var(--bg); border-bottom: 1px solid var(--divider); }
[data-theme="swiss2"] .brand__logo { height: 30px; }
/* Brand becomes an oversized statement, framed in a grey system panel in the hero */
[data-theme="swiss2"] .site-header .brand { display: none; }
[data-theme="swiss2"] .site-header__inner { justify-content: flex-end; }
[data-theme="swiss2"] .nav a {
  font-size: .72rem; font-weight: 600; text-transform: uppercase; letter-spacing: .08em;
  color: var(--ink);
}
[data-theme="swiss2"] .nav a:hover { color: var(--accent); }
[data-theme="swiss2"] .nav a.is-active { color: var(--accent); box-shadow: inset 0 -2px 0 var(--accent); }
[data-theme="swiss2"] .nav__cta { color: var(--accent) !important; }
[data-theme="swiss2"] .nav-toggle { color: var(--ink); }

/* --- Labels / type (modular scale, perfect fourth 1.333) ------------------- */
[data-theme="swiss2"] .eyebrow {
  font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .14em;
  color: var(--ink); align-items: center;
}
[data-theme="swiss2"] .section-no {
  background: var(--accent); color: #fff; font-weight: 700;
  padding: .1rem .45rem; margin-right: .1rem; font-variant-numeric: tabular-nums;
}
[data-theme="swiss2"] .section-title {
  font-size: clamp(1.777rem, 4vw, 3.157rem); font-weight: 700; line-height: 1.04;
  letter-spacing: -0.03em; margin: .6rem 0 1rem; max-width: 20ch;
}

/* --- Hero (asymmetric: text left, oversized logo in grey panel right) ------ */
[data-theme="swiss2"] .hero { border-bottom: 1px solid var(--divider); }
[data-theme="swiss2"] .hero__inner {
  display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
  column-gap: clamp(2rem, 6vw, 5rem); align-items: start;
}
[data-theme="swiss2"] .hero__logo {
  display: block; grid-column: 2; grid-row: 1 / span 20; align-self: center;
  width: 100%; max-width: 540px; height: auto; margin: 0;
}
[data-theme="swiss2"] .hero__title {
  font-size: clamp(2.6rem, 9vw, 5.61rem); font-weight: 700; line-height: .96;
  letter-spacing: -0.04em; margin: .4rem 0 1.4rem; max-width: 16ch;
}
[data-theme="swiss2"] .hero__lead { font-size: clamp(1.1rem, 2vw, 1.333rem); max-width: 48ch; }
[data-theme="swiss2"] .hero__text { color: var(--muted); max-width: 60ch; }

[data-theme="swiss2"] .btn { border-radius: 0; font-weight: 600; letter-spacing: .01em; }
[data-theme="swiss2"] .btn--primary { background: var(--ink); color: #fff; }
[data-theme="swiss2"] .btn--primary:hover { background: var(--accent); }
[data-theme="swiss2"] .btn--ghost { border: 1px solid var(--ink); }
[data-theme="swiss2"] .btn--ghost:hover { background: var(--ink); color: #fff; }

[data-theme="swiss2"] .spectrum { display: none; }

/* --- About — strict grid, grey panel for photo ----------------------------- */
[data-theme="swiss2"] .about { border-bottom: 1px solid var(--line); }
[data-theme="swiss2"] .about__inner {
  display: grid; grid-template-columns: 5fr 7fr; gap: clamp(2rem, 6vw, 5rem); align-items: start;
}
[data-theme="swiss2"] .about__figure { margin: 0; background: var(--panel); padding: 1rem; }
[data-theme="swiss2"] .about__figure img { width: 100%; }
[data-theme="swiss2"] .about__figure figcaption {
  font-size: .78rem; color: var(--muted); padding-top: .6rem; margin-top: .6rem;
  border-top: 1px solid var(--line);
}
[data-theme="swiss2"] .about__since { margin-top: 2rem; padding-top: 1rem; border-top: 2px solid var(--accent); font-weight: 700; }
[data-theme="swiss2"] .about__since span { display: block; font-size: .72rem; text-transform: uppercase; letter-spacing: .12em; color: var(--muted); }

/* --- Services — 12-col bordered grid --------------------------------------- */
[data-theme="swiss2"] .section-head { margin-bottom: 3rem; }
[data-theme="swiss2"] .section-intro { color: var(--muted); max-width: 52ch; }
[data-theme="swiss2"] .cards-label {
  font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .12em;
  margin-top: 2rem;
}
[data-theme="swiss2"] .cards {
  list-style: none; margin: 1rem 0 0; padding: 0;
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px;
  background: var(--line); border: 1px solid var(--line);
}
[data-theme="swiss2"] .card { background: var(--bg); padding: 1.6rem 1.4rem 2.4rem; }
[data-theme="swiss2"] .card__no {
  color: #fff; background: var(--accent); display: inline-block;
  padding: .05rem .4rem; font-weight: 700; font-variant-numeric: tabular-nums;
}
[data-theme="swiss2"] .card__title { font-size: 1.1rem; margin: .9rem 0 .5rem; letter-spacing: -0.01em; }
[data-theme="swiss2"] .card p { color: var(--muted); font-size: .9rem; margin: 0; }

/* --- Estate ---------------------------------------------------------------- */
[data-theme="swiss2"] .estate { border-top: 1px solid var(--line); }
[data-theme="swiss2"] .estate__inner { display: grid; grid-template-columns: 6fr 6fr; gap: clamp(2rem,6vw,5rem); align-items: start; }
[data-theme="swiss2"] .estate__list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--ink); }
[data-theme="swiss2"] .estate__list li {
  padding: 1rem 0; border-bottom: 1px solid var(--line);
  display: flex; align-items: baseline; gap: 1rem; font-size: 1.05rem;
}
[data-theme="swiss2"] .estate__list li::before { content: "—"; color: var(--accent); font-weight: 700; }

/* --- Contact — grey panel -------------------------------------------------- */
[data-theme="swiss2"] .contact { border-top: 1px solid var(--divider); background: var(--panel); }
[data-theme="swiss2"] .contact__inner { display: grid; grid-template-columns: 5fr 7fr; gap: clamp(2rem,6vw,5rem); }
[data-theme="swiss2"] .contact__address { font-style: normal; font-size: 1.1rem; line-height: 1.9; }
[data-theme="swiss2"] .contact__address a { color: var(--accent); text-decoration: none; }
[data-theme="swiss2"] .field input, [data-theme="swiss2"] .field textarea { border-radius: 0; border-color: #cccccc; background: #fff; }

[data-theme="swiss2"] .site-footer { border-top: 1px solid var(--divider); }

@media (max-width: 820px) {
  /* mobile: logo lives in the header (left), no oversized hero logo */
  [data-theme="swiss2"] .site-header .brand { display: block; }
  [data-theme="swiss2"] .site-header__inner { justify-content: space-between; }
  [data-theme="swiss2"] .hero__inner { grid-template-columns: 1fr; }
  [data-theme="swiss2"] .hero__logo { display: none; }
  [data-theme="swiss2"] .about__inner,
  [data-theme="swiss2"] .estate__inner,
  [data-theme="swiss2"] .contact__inner { grid-template-columns: 1fr; }
  [data-theme="swiss2"] .cards { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 520px) {
  [data-theme="swiss2"] .cards { grid-template-columns: 1fr; }
}
