
/* resources grid — mirrors ae/index.html .res-grid */
/* BEGIN GENERATED consult CSS — tools/build-consult.py — do not edit */
      .svc-fields select { width:100%;padding:12px 14px;border:1px solid var(--line-soft);border-radius:10px;background:rgba(255,255,255,.02);color:var(--text);font-family:inherit;font-size:14.5px;line-height:1.55;appearance:none;-webkit-appearance:none;cursor:pointer }
      .svc-fields select:focus-visible { outline:1px solid var(--mineral);outline-offset:-1px }
      /* Consultation intake — component-owned layout (2026-09-06). Two columns on desktop: copy (row 1) and the
         optional photograph (row 2) on the left, the intake card spanning both rows on the right; align-items:end
         puts the card's bottom edge on the photograph's bottom edge with no offsets. Stacks copy → card → photo.
         2026-09-18 (owner): row 2 is 1fr and the photograph STRETCHES to fill it, so a taller card (corporate.html adds a
         Country select) grows the photograph instead of opening a gap under the copy; 21/9 was the old fixed ratio. */
      :root .consult .consult-grid { display:grid;grid-template-columns:minmax(0,1fr) minmax(390px,430px);grid-template-rows:auto 1fr;column-gap:clamp(40px,4vw,48px);row-gap:28px;align-items:end }
      :root .consult .consult-copy { grid-column:1;grid-row:1;align-self:start }
      :root .consult .consult-media { grid-column:1;grid-row:2;align-self:stretch;position:relative;overflow:hidden;isolation:isolate;margin:0;min-height:240px;border:1px solid var(--line);border-radius:14px;background:var(--bg-2) }
      :root .consult .consult-card { grid-column:2;grid-row:1/3;align-self:end;box-sizing:border-box;width:100%;max-width:430px;min-height:412px;display:flex;flex-direction:column;padding:32px 28px 34px }
      :root .consult .consult-card .svc-fields { flex:1;align-content:start;gap:16px }
      :root .consult .consult-card h3 + .svc-fields { margin-top:18px }   /* 2026-09-18 (owner): a card with no SLA line and no sub-copy had the fields 6px under the heading; match the 20px the sub-copy leaves */
      :root .consult .consult-card .svc-fields textarea { min-height:82px;resize:vertical }
      :root .consult .consult-card .svc-fields .btn { min-height:44px }
      /* Intake-form legibility (2026-09-06). Labels: same 12px, tracking eased from .06em to .04em (no giant caps).
         Controls keep 14.5px on desktop and go to 16px under 520px so iOS Safari does not zoom. Placeholders use the
         theme's faint token at full opacity — subordinate, never clipped. The phone control gets the whole row (the
         catalogue marks `phone` and `company` wide), the selector is a fixed segment and the number takes the rest. */
      :root .consult .consult-card .svc-fields .fld span { font-size:12px;letter-spacing:.04em;line-height:1.3 }
      :root .consult .consult-card .svc-fields :is(input,textarea,select)::placeholder { color:var(--faint);opacity:1 }
      :root .consult .consult-card .svc-fields .pi-wrap { grid-template-columns:max-content minmax(0,1fr) }
      :root .consult .consult-card .svc-fields .pi-wrap > .pi-cc { padding:0 12px }
      :root .consult .consult-card .svc-fields .pi-wrap > input[type="tel"] { min-width:0;width:100%;max-width:none;padding-left:12px;padding-right:12px;text-overflow:clip;overflow:visible }
      @media (max-width:520px) {
        :root .consult .consult-card .svc-fields :is(input,textarea,select) { font-size:16px }
        :root .consult .consult-card .svc-fields .pi-wrap { --pi-font-size:16px }
      }
      .consult-media-img { position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;object-position:center center;filter:saturate(.66) contrast(.92) brightness(.72) }
      .consult-media--top .consult-media-img { object-position:center 30% }
      .consult-media--bottom .consult-media-img { object-position:center 70% }
      :root[data-theme="light"] .consult-media-img { filter:saturate(.82) contrast(.94) brightness(1.01) }
      @media (max-width:900px) {
        :root .consult .consult-grid { grid-template-columns:1fr;grid-template-rows:none;row-gap:24px;align-items:start }
        :root .consult .consult-copy, :root .consult .consult-card, :root .consult .consult-media { grid-column:1;grid-row:auto }
        :root .consult .consult-card { max-width:none;min-height:0;padding:26px 22px 28px }
        :root .consult .consult-media { aspect-ratio:16/9 }
      }
      /* END GENERATED consult CSS */
    