/* Schildersbedrijf Kwaststreek — clean white, ink black and cobalt. Syne for the voice, Inter Tight for the rest.
   Signature: a fan of colour swatches, and a thick brush stroke under the headline. */
@font-face { font-family: "Syne"; src: url("../../fonts/syne/syne-latin-wght-normal.woff2") format("woff2"); font-weight: 400 800; font-display: swap; }
@font-face { font-family: "Inter Tight"; src: url("../../fonts/inter-tight/inter-tight-latin-wght-normal.woff2") format("woff2"); font-weight: 100 900; font-display: swap; }
:root {
  --bg: #FAFAF7; --paper: #FFFFFF; --ink: #161616; --muted: #565656; --line: #E2E2DC; --cobalt: #2546D0;
  --btn: var(--cobalt); --on-btn: #FFFFFF; --btn-hover: #1A34A8; --focus: var(--ink);
  --display: "Syne", ui-sans-serif, system-ui, sans-serif; --text: "Inter Tight", ui-sans-serif, system-ui, sans-serif;
  --display-weight: 700; --display-track: -0.035em; --radius: 0.75rem; --field-radius: 0.5rem; --btn-radius: 0.5rem;
  --menu-font: 700 1.4rem var(--display);
  --k-bg: #FFFFFF; --k-soft: #F3F3EF; --k-ink: var(--ink); --k-muted: var(--muted); --k-line: var(--line);
  --k-accent: var(--cobalt); --k-on-accent: #FFFFFF; --k-radius: 0.75rem; --k-font: var(--text);
}
h2 span { color: var(--cobalt); }
.dx-logo { display: inline-flex; align-items: baseline; gap: 0.45rem; font: 800 1.45rem/1 var(--display); letter-spacing: -0.04em; }
.dx-logo small { font: 600 0.65rem var(--text); letter-spacing: 0.18em; text-transform: uppercase; color: var(--cobalt); }

.kw-hero { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr); gap: clamp(2.5rem, 6vw, 6rem); align-items: center; padding-block: clamp(3.5rem, 8vw, 6.5rem); }
.kw-hero h1 { margin-top: 1rem; font-size: clamp(2.9rem, 6.6vw, 5.8rem); line-height: 0.98; }
.kw-stroke { position: relative; display: inline-block; color: #FFFFFF; padding: 0 0.15em; z-index: 0; }
.kw-stroke::before { content: ""; position: absolute; inset: 0.08em -0.1em 0.02em; z-index: -1; background: var(--cobalt); border-radius: 0.3em 0.6em 0.4em 0.8em / 0.6em 0.3em 0.7em 0.4em; transform: rotate(-1.2deg); }
.kw-hero__art img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--radius); }
@media (max-width: 960px) { .kw-hero { grid-template-columns: 1fr; } .kw-hero__art { max-width: 30rem; } }

.kw-fan { background: var(--paper); overflow: hidden; }
.kw-swatches { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 0.75rem; }
.kw-sw { display: grid; gap: 0.35rem; padding-bottom: 0.5rem; transform-origin: 50% 120%; transition: transform 0.5s var(--dx-ease); }
.kw-sw span { display: block; aspect-ratio: 1 / 2.1; border-radius: 0.6rem; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.08); }
.kw-sw b { margin-top: 0.4rem; font-size: 0.95rem; }
.kw-sw small { color: var(--muted); font-variant-numeric: tabular-nums; }
.kw-sw--1 span { background: #2546D0; } .kw-sw--2 span { background: #E8E2D2; } .kw-sw--3 span { background: #2F4A3A; }
.kw-sw--4 span { background: #B55A3C; } .kw-sw--5 span { background: #D8C27A; } .kw-sw--6 span { background: #1E1E24; }
.kw-sw--1 { transform: rotate(-6deg); } .kw-sw--2 { transform: rotate(-3.5deg); } .kw-sw--3 { transform: rotate(-1deg); }
.kw-sw--4 { transform: rotate(1deg); } .kw-sw--5 { transform: rotate(3.5deg); } .kw-sw--6 { transform: rotate(6deg); }
.kw-sw:hover { transform: rotate(0) translateY(-0.6rem); }
@media (max-width: 1024px) { .kw-sw { transform: none !important; } }
@media (max-width: 760px) { .kw-swatches { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 1.5rem; } }

.kw-work { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 1rem; }
.kw-work img { width: 100%; height: clamp(16rem, 30vw, 26rem); object-fit: cover; border-radius: var(--radius); }
.kw-work figcaption { margin-top: 0.6rem; font-size: 0.9rem; color: var(--muted); }
@media (max-width: 760px) { .kw-work { grid-template-columns: 1fr; } }

.kw-ask { background: var(--paper); }
.kw-ask input[type=file] { padding-top: 0.7rem; }
.kw-plan { display: grid; grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); gap: clamp(2.5rem, 6vw, 5rem); align-items: center; }
.kw-plan address { margin-top: 2rem; font-size: 1.1rem; line-height: 1.5; }
@media (max-width: 960px) { .kw-plan { grid-template-columns: 1fr; } }
