/* ---- tawa (Tawa — Durban curry house & roti counter 203) -------------------
   THE STRUCTURAL MOVE: the printed menu card. `#team` is not a team block — it
   is a two-up price list on a lifted ink panel, and every row is a three-track
   grid: dish name hard left, a dotted leader stretched across the gap by the
   row's own ::before, and the rand price hard right, with one greyed line
   tucked underneath. The two rows that carry no description are the column
   heads, which is why the leader hangs off :has(span) rather than off the row
   itself. Nothing else on the page is a card, a tile or a border, and the
   coriander green is spent on exactly three things — the leaders, the prices
   and the two buttons. `#team-2` is the ordinary team grid, used for four
   portrait quotes with the words lifted above the name. -------------------- */
body.t-tawa.ws-body {
  --bg: #14100d; --fg: #a09384; --heading: #f2e9dd; --text: #a09384; --muted: #8d8172;
  --tw-panel: #1c1611; --tw-green: #5f8a4a; --tw-serif: 'Fraunces', Georgia, 'Times New Roman', serif;
  --hero-a: rgba(10, 7, 4, .38); --hero-b: rgba(10, 7, 4, .70);
}
body.t-tawa { background: var(--bg); }

/* the platform bar, kept plain — wordmark hard left, five links right */
body.t-tawa .ws-brand { color: var(--heading); font-family: var(--tw-serif); font-size: 22px; font-weight: 500; letter-spacing: .04em; }
body.t-tawa .ws-nav-links a { color: var(--heading); opacity: .7; text-transform: uppercase; letter-spacing: .16em; font-size: 10.5px; font-weight: 600; }

/* four stills cross-fading behind one centred stack, a whole viewport tall */
body.t-tawa .ws-hero { min-height: 100vh; }
body.t-tawa .ws-hero h1 { font-family: var(--tw-serif); font-size: clamp(38px, 6.4vw, 78px); font-weight: 500; letter-spacing: -.02em; line-height: 1.04; text-shadow: none; }

/* green 1 and 2 of 2 — flat slabs, and no border anywhere on the page */
body.t-tawa.ws-body .btn.brand, body.t-tawa.ws-body .ws-hero-cta.btn.brand { background: var(--tw-green); color: #101a0c; border: 0; border-radius: 0; box-shadow: none; text-transform: uppercase; letter-spacing: .18em; font-size: 10.5px; font-weight: 700; padding: 17px 34px; }

/* one ink ground the whole way down — no zebra tint under any heading */
body.t-tawa.ws-body .ws-section, body.t-tawa.ws-body .ws-section:nth-child(even):not(.ws-cta):not(.ws-shoplink) { background: none; padding: 88px 0; }
body.t-tawa .ws-h2, body.t-tawa .ws-title-h { color: var(--heading); font-family: var(--tw-serif); font-size: clamp(26px, 3.4vw, 40px); font-weight: 500; letter-spacing: -.015em; margin: 0 0 12px; }
body.t-tawa .ws-sub, body.t-tawa .ws-title-sub, body.t-tawa .ws-feature p, body.t-tawa .ws-member p { color: var(--muted); font-size: 14px; line-height: 1.7; }
body.t-tawa .ws-feature h3, body.t-tawa #team .ws-member:not(:has(p)) strong { color: var(--heading); font-family: inherit; text-transform: uppercase; letter-spacing: .18em; font-size: 11.5px; font-weight: 700; margin: 0 0 8px; }

/* THE CARD — two printed columns on a lifted panel, four dishes in each */
body.t-tawa.ws-body #team { background: var(--tw-panel); padding: 60px 0 72px; }
body.t-tawa #team .ws-team-grid { grid-template-columns: 1fr 1fr; column-gap: 76px; row-gap: 24px; max-width: 960px; margin: 0 auto; }
body.t-tawa #team .ws-member { display: grid; grid-template-columns: auto 1fr auto; align-items: baseline; text-align: left; }
body.t-tawa #team .ws-member-photo { display: none; }
body.t-tawa #team .ws-member strong { grid-column: 1; font-family: var(--tw-serif); font-size: 17px; font-weight: 500; color: var(--heading); }
body.t-tawa #team .ws-member:has(span)::before { content: ''; grid-column: 2; height: 0; margin: 0 12px 4px; border-bottom: 1px dotted rgba(95, 138, 74, .7); }
body.t-tawa #team .ws-member span { grid-column: 3; color: var(--tw-green); font-size: 15px; font-weight: 600; }
body.t-tawa #team .ws-member p { grid-column: 1 / -1; font-size: 13px; margin: 5px 0 0; }

/* four quotes in one row — the portrait, then the words, then who said them */
body.t-tawa #team-2 .ws-member { display: flex; flex-direction: column; align-items: center; }
body.t-tawa #team-2 .ws-member p { font-family: var(--tw-serif); color: var(--heading); font-size: 15.5px; line-height: 1.7; margin: 0 0 16px; }
body.t-tawa #team-2 .ws-member strong, body.t-tawa #team-2 .ws-member span { order: 2; color: var(--heading); font-size: 11.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .14em; }
body.t-tawa .ws-member-photo img { width: 66px; height: 66px; margin-bottom: 18px; }

/* the one full-bleed break below the stage — the room, with the film in it */
body.t-tawa.ws-body #video { padding: 108px 0; background-image: linear-gradient(rgba(10, 7, 4, .70), rgba(10, 7, 4, .86)), url("/media/samples/twa_video_still.jpg"); background-size: cover; background-position: center; }
body.t-tawa .ws-video-frame { max-width: 320px; margin: 26px auto 0; border-radius: 0; box-shadow: none; }
body.t-tawa .ws-video-caption { color: #d3c7b7; font-size: 15px; line-height: 1.75; max-width: 60ch; margin: 24px auto 0; }

/* six squares, gapless, welded to the floor of the page */
body.t-tawa.ws-body #photos { padding: 0; }
body.t-tawa .ws-photogrid-grid { gap: 0; }

/* stacked fields ruled rather than boxed; the submit runs the full width */
body.t-tawa .ws-field input, body.t-tawa .ws-field select, body.t-tawa .ws-field textarea { background: transparent; border: 0; border-bottom: 1px solid #2f261d; border-radius: 0; color: var(--heading); padding: 12px 2px; }
body.t-tawa .ws-footer { border-top-color: #2a221a; }

@media (max-width: 760px) { body.t-tawa #team .ws-team-grid { grid-template-columns: 1fr; } }

/* night — the same room after closing, every value one stop deeper */
html[data-theme="dark"] body.t-tawa.ws-body {
  --bg: #0b0906; --fg: #94887a; --heading: #f6f0e7; --text: #94887a; --muted: #7e7365;
  --tw-panel: #141009; --tw-green: #74a35a;
  --hero-a: rgba(5, 3, 2, .44); --hero-b: rgba(5, 3, 2, .76);
}
html[data-theme="dark"] body.t-tawa { background: var(--bg); }
html[data-theme="dark"] body.t-tawa #team .ws-member:has(span)::before { border-bottom-color: rgba(116, 163, 90, .65); }
html[data-theme="dark"] body.t-tawa.ws-body #video { background-image: linear-gradient(rgba(4, 3, 2, .78), rgba(4, 3, 2, .90)), url("/media/samples/twa_video_still.jpg"); }
html[data-theme="dark"] body.t-tawa .ws-field input, html[data-theme="dark"] body.t-tawa .ws-field select, html[data-theme="dark"] body.t-tawa .ws-field textarea { border-bottom-color: #241d15; }
