/* Palladio — ink green & gold, full-screen cover, editorial serif.
   Dark cousin of Atelier (clean-pro): where that is paper & ink and centred on
   an avatar, this is cover-led, left-aligned and gold-on-green. */
body.ts2.theme-palladio{
  --ts-font-body:"Palatino Linotype","Book Antiqua",Palatino,"TeX Gyre Pagella","URW Palladio L",Georgia,serif;
  --ts-font-display:"Palatino Linotype","Book Antiqua",Palatino,"TeX Gyre Pagella","URW Palladio L",Georgia,serif;
  --ts-font-cond:"Arial Narrow","Helvetica Neue Condensed","Roboto Condensed","Liberation Sans Narrow",Arial,sans-serif;
  --ts-stage:#0E1613;
  --ts-wash-1:none; --ts-wash-2:none;
  --ts-surface:#16201B; --ts-surface-2:#1B261F; --ts-surface-3:#222E27;
  --ts-ink:#F1EEE6; --ts-ink-2:rgba(241,238,230,.86); --ts-ink-3:#A3AFA6; --ts-ink-on-brand:#16201B;
  --ts-brand:#D4AF38; --ts-brand-2:#C09F2E; --ts-brand-soft:rgba(212,175,56,.10);
  --ts-accent:#D4AF38; --ts-accent-2:#E2CD8A; --ts-accent-soft:rgba(212,175,56,.10);
  --ts-success:#7FAE8A; --ts-success-soft:rgba(127,174,138,.10);
  /* --ts-line is decorative only. Interactive boundaries ride --ts-line-strong:
     see the WCAG 1.4.11 note at the foot of this file. */
  --ts-line:rgba(212,175,56,.34); --ts-line-strong:rgba(212,175,56,.58); --ts-focus:#E2CD8A;
  --ts-banner:linear-gradient(168deg,#3C5548 0%,#243329 58%,#16201B 100%);
  --ts-banner-h:0px; --ts-banner-ink:#F1EEE6;
  --ts-shadow-card:none; --ts-shadow-btn:none;
  --ts-r-card:0px; --ts-r-lg:2px; --ts-r-md:2px; --ts-r-sm:2px; --ts-r-pill:2px;
  --ts-fs-name:34px; --ts-fw-display:400; --ts-ls-display:.005em; --ts-lh-tight:1.04;
  --ts-fs-label:10px; --ts-fs-body:14px; --ts-ls-label:.34em; --ts-lh-body:1.62;
  --ts-gutter:26px; --ts-gap:8px; --ts-section-y:30px;
  --ts-align:left; --ts-ai:flex-start; --ts-jc:flex-start; --ts-glint:0; --ts-cta-h:15px;
  /* cover */
  --ts-cover-veil:
    radial-gradient(122% 74% at 50% 30%,rgba(22,32,27,0) 0%,rgba(22,32,27,.42) 58%,rgba(22,32,27,.84) 100%),
    linear-gradient(180deg,rgba(22,32,27,.66) 0%,rgba(22,32,27,.14) 30%,rgba(22,32,27,.58) 72%,#16201B 100%);
  --ts-cover-hair:rgba(241,238,230,.12);
  --ts-cover-img-o:.5; --ts-cover-img-f:saturate(.72) contrast(1.06);
}

.theme-palladio .ts-card{max-width:430px}

/* condensed, wide-tracked micro-caps — the theme's second voice */
.theme-palladio .ts-label,
.theme-palladio .ts-cover-top,
.theme-palladio .ts-cover-eyebrow,
.theme-palladio .ts-contact-lb,
.theme-palladio .ts-cta,
.theme-palladio .ts-btn,
.theme-palladio .ts-qbtn,
.theme-palladio .ts-tile-cap,
.theme-palladio .ts-footer,
.theme-palladio .ts-openpill,
.theme-palladio .ts-callnow-s{font-family:var(--ts-font-cond)}

/* section head = label + hairline rule running to the gutter */
.theme-palladio .ts-label{gap:12px;margin-bottom:16px;color:var(--ts-ink-3)}
.theme-palladio .ts-label::after{content:"";flex:1;height:1px;background:var(--ts-line)}

/* ---------- cover ---------- */
.theme-palladio .ts-cover-name{text-shadow:0 2px 18px rgba(14,22,19,.55)}
.theme-palladio .ts-cover-role{text-shadow:0 1px 12px rgba(14,22,19,.7)}
.theme-palladio .ts-cover-img{animation:pa-drift 30s ease-in-out infinite alternate}
.theme-palladio .ts-cover-cue::before{animation:pa-bob 2.6s ease-in-out infinite}
.theme-palladio .ts-cover-top,
.theme-palladio .ts-cover-mark,
.theme-palladio .ts-cover-eyebrow,
.theme-palladio .ts-cover-name,
.theme-palladio .ts-cover-orn,
.theme-palladio .ts-cover-sub,
.theme-palladio .ts-cover-bot{animation:pa-rise .9s cubic-bezier(.22,.7,.25,1) both}
.theme-palladio .ts-cover-top{animation-delay:.10s}
.theme-palladio .ts-cover-mark{animation-delay:.20s}
.theme-palladio .ts-cover-eyebrow,
.theme-palladio .ts-cover-name{animation-delay:.30s}
.theme-palladio .ts-cover-orn,
.theme-palladio .ts-cover-sub{animation-delay:.40s}
.theme-palladio .ts-cover-bot{animation-delay:.52s}
@keyframes pa-rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes pa-drift{from{transform:scale(1.02)}to{transform:scale(1.13)}}
@keyframes pa-bob{0%,100%{transform:rotate(45deg) translate(0,0);opacity:.55}50%{transform:rotate(45deg) translate(3px,3px);opacity:1}}

/* ---------- CTAs ---------- */
.theme-palladio .ts-cta{background:var(--ts-brand);border:0;color:var(--ts-ink-on-brand);
  font-size:11px;font-weight:700;letter-spacing:.26em}
.theme-palladio .ts-cta:active{background:var(--ts-brand-2)}
.theme-palladio .ts-cta .ts-icon{color:var(--ts-ink-on-brand)}
/* Share-your-number reads as the outlined secondary against the gold primary. */
.theme-palladio .ts-cta-connect{background:transparent;border:1px solid var(--ts-line-strong);color:var(--ts-accent)}
.theme-palladio .ts-cta-connect .ts-icon{color:var(--ts-accent)}
.theme-palladio .ts-cta-connect:active{background:var(--ts-accent-soft)}

/* quick row: icon over a condensed cap, square tiles */
.theme-palladio .ts-qbtn{flex-direction:column;gap:7px;padding:13px 4px 10px;
  background:var(--ts-surface-2);color:var(--ts-ink-3);
  font-size:9px;font-weight:400;letter-spacing:.16em;text-transform:uppercase}
.theme-palladio .ts-qbtn .ts-icon{width:19px;height:19px;color:var(--ts-accent);stroke-width:1.3}
.theme-palladio .ts-qbtn.is-wa{background:var(--ts-surface-2);color:var(--ts-ink-3)}
.theme-palladio .ts-qbtn.is-wa .ts-icon{color:var(--ts-accent)}

/* ---------- contact + link rows: hairline underlines, not filled cards ----------
   The --ts-cover-hair underline is ~1.4:1 and deliberately decorative: unlike
   the noir-elite m8 case, it is NOT what identifies the control. These rows are
   a text list, not bounded cards — the affordance is the value text (14.4:1),
   the gold arrow (7.9:1) and the --ts-focus ring. Every border that IS a
   control boundary rides --ts-line-strong; see the foot of this file. */
.theme-palladio .ts-contact,
.theme-palladio .ts-links{gap:0}
.theme-palladio .ts-contact-link,
.theme-palladio .ts-linkrow{background:transparent;border:0;border-bottom:1px solid var(--ts-cover-hair);
  border-radius:0;padding:13px 0;gap:14px}
/* Contact rows are a list separated by hairlines, so the trailing rule goes.
   NOT .ts-links: those are bordered CTAs further down, and dropping their
   bottom border left the catalog button looking sliced off. */
.theme-palladio .ts-contact li:last-child .ts-contact-link{border-bottom:0}
.theme-palladio .ts-contact-ic{width:20px;height:20px;background:transparent;border-radius:0;color:var(--ts-ink-3)}
.theme-palladio .ts-contact-ic .ts-icon{width:18px;height:18px;stroke-width:1.3}
.theme-palladio .ts-contact-lb{font-size:9px;font-weight:400;letter-spacing:.24em;color:var(--ts-ink-3)}
.theme-palladio .ts-contact-vl{font-family:var(--ts-font-body);font-size:16px;font-weight:400;color:var(--ts-ink)}
.theme-palladio .ts-contact-link::after{content:"\2197";margin-left:auto;color:var(--ts-accent);
  font-size:15px;line-height:1;opacity:.75}
.theme-palladio .ts-linkrow{font-family:var(--ts-font-body);font-size:15px;font-weight:400}
.theme-palladio .ts-linkrow .arw{color:var(--ts-accent);opacity:.75}

/* The single catalog document reads as the reference's outlined CTA, not a row. */
/* Reference order: the four quick actions sit ABOVE the gold Save contact. */
.theme-palladio .ts-actions{display:flex;flex-direction:column}
.theme-palladio .ts-actions .ts-quick{order:-1}
.theme-palladio .ts-links .ts-linkrow{justify-content:center;gap:10px;padding:14px;
  border:1px solid var(--ts-line-strong);border-bottom:1px solid var(--ts-line-strong);
  color:var(--ts-accent);font-family:var(--ts-font-cond);font-size:11px;font-weight:400;
  letter-spacing:.26em;text-transform:uppercase}
.theme-palladio .ts-links .ts-linkrow .ts-icon{color:var(--ts-accent)}
.theme-palladio .ts-links .ts-linkrow .arw{display:none}

/* ---------- work grid: hairline lattice, caption below the image ---------- */
.theme-palladio .ts-grid.two{gap:1px;background:var(--ts-cover-hair);border:1px solid var(--ts-cover-hair)}
.theme-palladio .ts-grid.two .ts-tile{aspect-ratio:auto;display:flex;flex-direction:column;
  background:var(--ts-surface);border:0;border-radius:0}
.theme-palladio .ts-grid.two .ts-tile img{height:104px;flex:none}
.theme-palladio .ts-tile-cap{position:static;background:none;padding:13px 14px 15px;
  color:var(--ts-accent);font-size:9px;font-weight:400;letter-spacing:.2em;text-transform:uppercase}

/* ---------- socials, panels, footer ---------- */
.theme-palladio .ts-socials{gap:8px;margin-top:14px}
.theme-palladio .ts-social{width:46px;height:46px;background:transparent}
.theme-palladio .ts-social .ts-icon{stroke-width:1.3;opacity:.85}
.theme-palladio .ts-office,.theme-palladio .ts-pay,.theme-palladio .ts-book,
.theme-palladio .ts-rev,.theme-palladio .ts-list,.theme-palladio .ts-hours{background:transparent}
.theme-palladio .ts-row,.theme-palladio .ts-hours li{background:var(--ts-surface-2)}
.theme-palladio .ts-closing{background:#131C18;border-top:1px solid var(--ts-line)}
.theme-palladio .ts-closing-meta{font-family:var(--ts-font-cond);font-weight:400}
.theme-palladio .ts-footer{padding-top:18px;font-size:9px;font-weight:400;
  letter-spacing:.26em;text-transform:uppercase;line-height:2}
.theme-palladio .ts-footer a{color:var(--ts-accent)}

/* WCAG 1.4.11 (3:1 for non-text UI). Gold at .34 alpha on this ground lands
   ~1.5:1 — fine for a decorative rule, not for the only boundary of a control.
   Every interactive edge is raised to --ts-line-strong; see the same fix on
   theme-noir-elite.css (audit m8). */
.theme-palladio .ts-social,
.theme-palladio .ts-qbtn,
.theme-palladio .ts-btn,
.theme-palladio .ts-tile,
.theme-palladio .ts-book,
.theme-palladio .ts-pay,
.theme-palladio .ts-rev,
.theme-palladio .ts-office{border-color:var(--ts-line-strong)}
