/* Isan Real Estate · "rockstar" agent tiles. Uses Concept E tokens (css/site.css :root): drop-in for its Team page. */
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

.team-proto main { padding-top: 4.5rem; }
.team-rock { overflow: hidden; }
.team-rock-glow { position: absolute; inset: -20% -10% auto; height: 70%; pointer-events: none;
  background: radial-gradient(40% 50% at 25% 30%, rgba(221,153,51,.16), transparent 70%), radial-gradient(35% 45% at 80% 10%, rgba(240,140,40,.18), transparent 70%); }
.team-rock-head h1 { font-size: clamp(2.4rem, 5vw, 4rem); color: var(--cream); margin: 0; }
.team-rock-grid { position: relative; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 500px), 1fr)); gap: clamp(1.25rem, 2.5vw, 2.25rem); align-items: start; }

/* ---------- card shell ---------- */
.agent-card { position: relative; border-radius: 24px; color: var(--cream); isolation: isolate;
  background: linear-gradient(170deg, var(--esp-3) 0%, var(--esp-2) 45%, var(--esp) 100%);
  box-shadow: 0 40px 80px -40px rgba(0,0,0,.85), 0 18px 40px -24px rgba(240,140,40,.35);
  transition: transform .5s var(--ease), box-shadow .5s var(--ease); }
.agent-card::before { /* gold foil border */
  content: ""; position: absolute; inset: 0; border-radius: inherit; padding: 1.5px; z-index: 3; pointer-events: none;
  background: linear-gradient(140deg, var(--gold) 0%, rgba(240,140,40,.9) 30%, rgba(39,174,96,.6) 55%, var(--gold) 80%, var(--cream) 100%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; }
.agent-card:not(.agent-soon):hover { transform: translateY(-4px); box-shadow: 0 50px 90px -40px rgba(0,0,0,.9), 0 24px 50px -24px rgba(221,153,51,.4); }

/* ---------- photo + nameplate ---------- */
.ac-photo { position: relative; aspect-ratio: 4 / 5; border-radius: 24px 24px 0 0; overflow: hidden; background: var(--esp-3); }
.ac-photo img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease); }
.agent-card:hover .ac-photo picture img { transform: scale(1.025); }
.ac-photo::after { content: ""; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(180deg, rgba(8,28,12,.28) 0%, rgba(8,28,12,0) 14%, rgba(8,28,12,0) 60%, rgba(8,28,12,.55) 76%, rgba(8,28,12,.92) 92%, rgba(8,28,12,.98) 100%); }
.ac-cover-badge { position: absolute; z-index: 2; top: 1rem; left: 1rem; display: inline-flex; align-items: center; gap: .45rem; max-width: calc(100% - 9rem);
  padding: .5rem .85rem .5rem .7rem; border-radius: 999px; font: 700 .78rem/1.2 var(--sans); letter-spacing: .02em; color: var(--cream);
  background: rgba(8,28,12,.62); border: 1px solid rgba(221,153,51,.55); backdrop-filter: blur(10px) saturate(1.3); -webkit-backdrop-filter: blur(10px) saturate(1.3); }
.ac-cover-badge svg { color: var(--gold); flex: none; }
.ac-brand { position: absolute; z-index: 2; top: 1rem; right: 1rem; background: var(--cream); border-radius: 9px; padding: 3px 7px;
  box-shadow: 0 6px 18px -8px rgba(0,0,0,.6), inset 0 -2px 0 rgba(221,153,51,.35); }
.ac-brand img { height: 30px; width: auto; }
.ac-nameplate { position: absolute; z-index: 2; left: 0; right: 0; bottom: 0; padding: 0 1.6rem 1.4rem; }
.ac-star { display: inline-flex; align-items: center; gap: .4rem; font: 800 .7rem/1 var(--sans); letter-spacing: .2em; text-transform: uppercase; color: var(--gold); }
.ac-name { margin: .35rem 0 .2rem; font-size: clamp(3.2rem, 7vw, 4.6rem); font-weight: 900; letter-spacing: -.04em; line-height: .95;
  color: var(--cream); background: linear-gradient(100deg, #FFF6DD 0%, var(--cream) 40%, #F1C27A 75%, var(--gold) 100%);
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; text-shadow: none; filter: drop-shadow(0 3px 14px rgba(0,0,0,.55)); }
.ac-role { margin: 0; font-size: 1.12rem; font-weight: 700; color: #fff; letter-spacing: -.005em; }
.ac-base { margin: .25rem 0 0; display: inline-flex; align-items: center; gap: .3rem; font-size: .88rem; color: var(--cream-dim); }
.ac-base svg { color: var(--orange-hi); }

/* ---------- body ---------- */
.ac-body { padding: 1.3rem 1.6rem 1.7rem; display: grid; gap: 1.35rem; }
.ac-chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.ac-chip { display: inline-flex; align-items: baseline; gap: .35rem; padding: .5rem .85rem; border-radius: 12px; font-size: .9rem; line-height: 1.2;
  background: linear-gradient(180deg, rgba(252,234,188,.09), rgba(252,234,188,.04)); border: 1px solid rgba(252,234,188,.16); }
.ac-chip b { color: var(--gold); font-weight: 800; }
.ac-chip:first-child b { font-size: 1.15rem; }
.ac-chip span { color: var(--cream); font-weight: 600; }

.ac-quote { position: relative; margin: 0; padding: .2rem 0 0 2.6rem; }
.ac-quote::before { content: "\201C"; position: absolute; left: -.1rem; top: -.7rem; font: 900 4.4rem/1 var(--sans); color: var(--orange-hi); }
.ac-quote p { margin: 0; font-size: 1.28rem; line-height: 1.38; font-style: italic; font-weight: 500; color: var(--cream); letter-spacing: -.01em; }
.ac-quote footer { margin-top: .45rem; font-size: .8rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--tan); }
.ac-quote footer::before { content: "\2014\00a0"; }

.ac-values { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem .9rem; font-size: .88rem; color: var(--cream-dim); }
.ac-values-h { font-weight: 800; font-size: .7rem; letter-spacing: .18em; text-transform: uppercase; color: var(--gold); }
.ac-values ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .3rem .9rem; }
.ac-values li { display: inline-flex; align-items: center; gap: .4rem; }
.ac-values li::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--orange-hi); }

/* ---------- coverage map ---------- */
.ac-map { margin: 0; display: grid; grid-template-columns: minmax(0, 34fr) minmax(0, 66fr); gap: .9rem; align-items: end; padding: 1rem; border-radius: 16px;
  background: radial-gradient(120% 90% at 0% 0%, rgba(221,153,51,.08), transparent 60%), rgba(0,0,0,.22); border: 1px solid rgba(252,234,188,.1); }
.ac-map svg { display: block; width: 100%; height: auto; }
.ac-map-main svg { max-height: 300px; }
.ac-map-inset { position: relative; border-radius: 10px; overflow: hidden; box-shadow: 0 0 0 1px rgba(221,153,51,.45); }
.ac-inset-tag { position: absolute; top: .45rem; left: .5rem; font: 800 .62rem/1 var(--sans); letter-spacing: .16em; text-transform: uppercase; color: var(--gold);
  background: rgba(8,28,12,.7); padding: .3rem .45rem; border-radius: 6px; }
.ac-map figcaption { grid-column: 1 / -1; display: flex; align-items: center; gap: .5rem; font-size: .84rem; color: var(--cream-dim); }
.ac-legend { width: 12px; height: 12px; border-radius: 3px; background: var(--orange-hi); box-shadow: 0 0 0 1.5px var(--gold); flex: none; }
.ac-map .prov { fill: rgba(252,234,188,.09); stroke: rgba(252,234,188,.28); stroke-width: .35; stroke-linejoin: round; }
.ac-map .prov.hi { fill: var(--orange-hi); stroke: #FFD27A; stroke-width: .6; }
.ac-map .outline { fill: none; stroke: rgba(252,234,188,.65); stroke-width: .8; stroke-linejoin: round; }
.ac-map .inset-box { fill: none; stroke: var(--gold); stroke-width: 1.4; }
.ac-map .ref circle { fill: var(--cream); stroke: var(--esp); stroke-width: 1; }
.ac-map .ref text { font: 700 19px var(--sans); fill: var(--cream-dim); }
.ac-map .pin-dot { fill: #fff; stroke: var(--esp); stroke-width: .8; }
.map-inset .sea { fill: #1A2B30; }
.map-inset .prov { fill: #3A2A20; stroke: rgba(252,234,188,.35); stroke-width: .8; }
.map-inset .prov.hi { fill: rgba(240,140,40,.88); stroke: #FFD27A; stroke-width: 1.2; }
.map-inset .plabel { font: 800 11px var(--sans); letter-spacing: .14em; fill: rgba(255,255,255,.88); }
.map-inset .sealabel { font: italic 600 11.5px var(--sans); fill: rgba(170,205,210,.8); letter-spacing: .04em; }
.map-inset .pin path { fill: var(--gold); stroke: var(--esp); stroke-width: 1.2; }
.map-inset .pin .pin-eye { fill: var(--esp); }
.map-inset .pin text { font: 800 14px var(--sans); fill: #fff; paint-order: stroke; stroke: rgba(8,28,12,.85); stroke-width: 3.5px; stroke-linejoin: round; }

/* ---------- story ---------- */
.ac-story { border-radius: 14px; border: 1px solid rgba(252,234,188,.18); background: rgba(252,234,188,.03); }
.ac-story summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  padding: .95rem 1.15rem; font-weight: 700; font-size: 1rem; color: var(--cream); border-radius: 14px; }
.ac-story summary::-webkit-details-marker { display: none; }
.ac-story summary:hover { background: rgba(252,234,188,.06); }
.ac-story summary:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
.ac-story .chev { color: var(--gold); transition: transform .3s var(--ease); flex: none; }
.ac-story[open] .chev { transform: rotate(180deg); }
.ac-story-body { padding: .2rem 1.15rem 1.2rem; font-size: 1rem; line-height: 1.72; color: rgba(252,234,188,.86); }
.ac-story-body p { margin: 0 0 .95em; max-width: 62ch; }
.ac-story-body p:last-child { margin-bottom: 0; color: var(--cream); font-weight: 600; }
.ac-story-lead { font-size: 1.35rem; font-weight: 800; color: var(--cream) !important; letter-spacing: -.015em; }
.ac-story[open] .ac-story-body { animation: acFade .45s var(--ease); }
@keyframes acFade { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }

/* ---------- CTA ---------- */
.ac-cta { display: flex; flex-wrap: wrap; align-items: center; gap: .8rem 1.1rem; }
.ac-cta .btn { padding: 1rem 1.7rem; font-size: 1rem; }
.ac-placeholder { margin: 0; flex: 1 1 220px; font-size: .78rem; line-height: 1.45; color: var(--cream-dim); }
.ac-ph-tag { display: inline-block; margin-right: .3rem; padding: .12rem .45rem; border-radius: 5px; border: 1px dashed var(--gold); color: var(--gold);
  font-weight: 800; font-size: .64rem; letter-spacing: .14em; text-transform: uppercase; vertical-align: 1px; }

/* ---------- coming-soon slots (ghost of the real tile) ---------- */
.agent-soon { align-self: stretch; background: linear-gradient(170deg, var(--esp-2), var(--esp)); box-shadow: none; }
.agent-soon::before { background: rgba(252,234,188,.2); }
.soon-photo { position: relative; aspect-ratio: 4 / 5; border-radius: 24px 24px 0 0; overflow: hidden; display: flex; align-items: flex-end; justify-content: center;
  background: repeating-linear-gradient(135deg, rgba(252,234,188,.03) 0 14px, transparent 14px 28px), radial-gradient(70% 60% at 50% 40%, rgba(221,153,51,.10), transparent 70%), var(--esp-3); }
.soon-sil { width: 62%; height: auto; fill: rgba(252,234,188,.09); }
.soon-plate { position: absolute; left: 0; right: 0; bottom: 0; padding: 0 1.6rem 1.4rem; background: linear-gradient(180deg, transparent, rgba(8,28,12,.9) 60%); }
.agent-soon h3 { margin: .35rem 0 .2rem; font-size: clamp(2rem, 4vw, 2.6rem); font-weight: 900; letter-spacing: -.03em; color: var(--cream); }
.agent-soon p { margin: 0; color: var(--cream-dim); font-size: .95rem; }
.soon-lines { padding: 1.4rem 1.6rem 1.8rem; display: grid; gap: .7rem; }
.soon-lines i { display: block; height: 12px; border-radius: 6px; background: rgba(252,234,188,.07); }
.soon-lines i:nth-child(1) { width: 70%; } .soon-lines i:nth-child(2) { width: 92%; } .soon-lines i:nth-child(3) { width: 55%; }

.team-proto-footer { padding: 2.2rem 0; }
.team-proto-footer .footer-bottom { align-items: center; flex-wrap: wrap; gap: 1rem; }
.team-proto-footer .brand-plate img { height: 34px; }

@media (max-width: 640px) {
  .ac-body { padding: 1.1rem 1.15rem 1.4rem; gap: 1.15rem; }
  .ac-nameplate { padding: 0 1.15rem 1.1rem; }
  .ac-cover-badge { top: .75rem; left: .75rem; font-size: .72rem; max-width: calc(100% - 7.5rem); }
  .ac-brand { top: .75rem; right: .75rem; } .ac-brand img { height: 24px; }
  .ac-quote p { font-size: 1.15rem; }
  .ac-map { padding: .75rem; gap: .65rem; }
  .ac-cta .btn { width: 100%; }
  .agent-soon .soon-photo { aspect-ratio: 16 / 10; }
  .soon-sil { width: 38%; }
}
@media (prefers-reduced-motion: reduce) {
  .agent-card, .ac-photo img, .ac-story .chev { transition: none; }
  .agent-card:hover, .agent-card:hover .ac-photo picture img { transform: none; }
  .ac-story[open] .ac-story-body { animation: none; }
}

/* ---------- Isan green + orange palette (2026-10-07, docs/brand/isan-green-palette/PALETTE.md; matches agent-promotions promo.css) ---------- */
.agent-card { --esp: #0E3A0A; --esp-2: #14500C; --esp-3: #247533; --gold: #F08C28; --orange-hi: #F26B0F; --tan: #27AE60; --cream: #F7F4EA; --cream-dim: rgba(247,244,234,.82);
  box-shadow: 0 40px 80px -40px rgba(0,0,0,.6), 0 18px 40px -24px rgba(240,140,40,.35); }
.ac-photo::after { background: linear-gradient(180deg, rgba(14,58,10,.25) 0%, rgba(14,58,10,0) 14%, rgba(14,58,10,0) 60%, rgba(14,58,10,.55) 76%, rgba(14,58,10,.92) 92%, rgba(14,58,10,.98) 100%) !important; }
.map-inset .sea { fill: #1D3F4A; } .map-inset .prov { fill: #1E5A22; } .map-inset .prov.hi { fill: rgba(242,107,15,.9); }

/* ---------- light-palette adaptation for the Sawasdee preview (2026-10-07) ---------- */
.agents-section{background:#F2F9F4}
.agents-section .team-rock-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,460px),1fr))}
.agent-card{--cream:#1B2A1E;--cream-dim:#3A4B3E;--gold:#C96A10;--orange-hi:#F08C28;--tan:#247533;--esp:#FFFFFF;--esp-2:#F7FBF8;--esp-3:#EEF7F0;
  color:#1B2A1E;background:#FFFFFF;box-shadow:0 30px 60px -36px rgba(20,80,12,.35),0 10px 24px -18px rgba(240,140,40,.25)}
.agent-card::before{background:linear-gradient(140deg,#27AE60 0%,#F08C28 35%,#DCEFE1 60%,#247533 100%)}
.agent-card:not(.agent-soon):hover{box-shadow:0 40px 70px -36px rgba(20,80,12,.4),0 14px 30px -18px rgba(240,140,40,.3)}
/* photo area stays dark-on-photo for readability */
.ac-photo{--cream:#F7F4EA;--cream-dim:rgba(247,244,234,.88);--gold:#F5A04A;--orange-hi:#F08C28;background:#DCEFE1}
.ac-photo::after{background:linear-gradient(180deg,rgba(14,58,10,.22) 0%,rgba(14,58,10,0) 14%,rgba(14,58,10,0) 58%,rgba(14,58,10,.5) 76%,rgba(14,58,10,.9) 92%,rgba(14,58,10,.97) 100%)!important}
.ac-cover-badge{background:rgba(14,58,10,.6);border-color:rgba(245,160,74,.6)}
.ac-brand{background:rgba(255,255,255,.92);box-shadow:0 6px 18px -8px rgba(0,0,0,.4)}
.ac-name{background:linear-gradient(100deg,#FFFFFF 0%,#F7F4EA 50%,#F5C58A 100%);-webkit-background-clip:text;background-clip:text}
.ac-chip{background:#F2F9F4;border-color:#DCEFE1}
.ac-chip b{color:#247533}
.ac-quote p{color:#1B2A1E}
.ac-values-h{color:#247533}
.ac-map{background:#F7FBF8;border-color:#E1EBE3}
.ac-map .prov{fill:#E3F1E6;stroke:#9CC8A8}
.ac-map .prov.hi{fill:#F08C28;stroke:#C96A10}
.ac-map .outline{stroke:#5E8F69}
.ac-map .ref circle{fill:#247533;stroke:#fff}
.ac-map .ref text{fill:#3A4B3E}
.ac-map .pin-dot{fill:#fff;stroke:#14500C}
.map-inset .sea{fill:#D6EAF0}.map-inset .prov{fill:#E3F1E6;stroke:#9CC8A8}.map-inset .prov.hi{fill:rgba(240,140,40,.9);stroke:#C96A10}
.map-inset .plabel{fill:#14500C}.map-inset .sealabel{fill:#3F7A8C}
.map-inset .pin path{fill:#F08C28;stroke:#14500C}.map-inset .pin .pin-eye{fill:#14500C}
.map-inset .pin text{fill:#14500C;stroke:rgba(255,255,255,.9)}
.ac-inset-tag{background:rgba(255,255,255,.9);color:#14500C}
.ac-story{border-color:#DCEFE1;background:#F7FBF8}
.ac-story summary{color:#1B2A1E}.ac-story summary:hover{background:#EEF7F0}
.ac-story-body{color:#3A4B3E}.ac-story-body p:last-child,.ac-story-lead{color:#1B2A1E!important}
.ac-placeholder{color:#56655A}
/* equal-height agent cards per row (2026-10-07) */
.agents-section .team-rock-grid{align-items:stretch}
.agents-section .agent-card{display:flex;flex-direction:column;height:100%}
.agents-section .ac-photo{aspect-ratio:4/5;flex:none}
.agents-section .ac-body{flex:1 1 auto;display:flex;flex-direction:column;gap:1.35rem}
.agents-section .ac-cta{margin-top:auto}
@media (max-width:640px){.agents-section .ac-body{gap:1.15rem}}
.agents-section .team-rock-grid{grid-auto-rows:1fr}
/* team page hero: bright, airy, pale mint wash (2026-10-07) */
.page-hero .bg-video{filter:brightness(1.3) saturate(.88)}
.page-hero .shade-page{background:linear-gradient(90deg,rgba(255,255,255,.72) 0%,rgba(238,247,240,.5) 40%,rgba(238,247,240,.18) 75%,rgba(238,247,240,.08) 100%),linear-gradient(0deg,rgba(238,247,240,.55),rgba(238,247,240,0) 45%)}
.page-hero{--cream:#14500C;--cream-dim:#1B2A1E}
.page-hero h1{color:#14500C;text-shadow:0 1px 14px rgba(255,255,255,.7)}
.page-hero .lede{color:#1B2A1E;font-weight:500;text-shadow:0 1px 10px rgba(255,255,255,.8)}
.page-hero .eyebrow{color:#1D6B2C;text-shadow:none}
.page-hero .media-caption,.page-hero .media-caption a{color:#1B2A1E}
/* coverage map lightbox */
.ac-map-zoom{cursor:zoom-in;position:relative}
.ac-map-zoom:focus-visible{outline:2px solid #F08C28;outline-offset:3px}
.ac-map-hint{margin-left:auto;font-size:.72rem;font-weight:700;color:#1D6B2C;background:#fff;border:1px solid #DCEFE1;border-radius:999px;padding:.15rem .55rem;white-space:nowrap}
.mlb{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:1rem}
.mlb[hidden]{display:none}
.mlb-backdrop{position:absolute;inset:0;background:rgba(14,40,18,.55);backdrop-filter:blur(3px)}
.mlb-inner{position:relative;width:min(1100px,96vw);max-height:92vh;overflow:auto;background:#F7FBF8;border-radius:18px;padding:3rem 1.2rem 1.2rem;box-shadow:0 30px 80px -20px rgba(0,0,0,.5);outline:none}
.mlb-body .ac-map{cursor:default;grid-template-columns:minmax(0,34fr) minmax(0,66fr)}
.mlb-body .ac-map-main svg{max-height:70vh}
.mlb-body .ac-map figcaption{font-size:1rem}
.mlb-close{position:absolute;top:.6rem;right:.7rem;width:42px;height:42px;border-radius:50%;border:1px solid #C9DDCF;background:#fff;color:#14500C;font-size:1.6rem;line-height:1;cursor:pointer}
.mlb-close:focus-visible{outline:2px solid #F08C28;outline-offset:2px}
@media (max-width:640px){.mlb{padding:.4rem}.mlb-body .ac-map{grid-template-columns:1fr}.mlb-body .ac-map-main svg{max-height:50vh;margin:0 auto}}
body.mlb-lock{overflow:hidden}
.mlb{--cream:#1B2A1E;--cream-dim:#3A4B3E;--gold:#C96A10;--orange-hi:#F08C28;--esp:#FFFFFF;--tan:#247533;color:#1B2A1E}
.ac-email{margin:.6rem 0 0;font-weight:600}.ac-email a{color:#14500C;text-decoration:underline;text-underline-offset:3px;word-break:break-all}

/* phone: stack the Thailand map above the close-up so both are larger (Jeff, 2026-10-08) */
@media (max-width:640px){.agent-card .ac-map{grid-template-columns:1fr;justify-items:center}.agent-card .ac-map-main{width:48%;max-width:170px}.agent-card .ac-map-main svg{width:100%;max-height:none}.agent-card .ac-map-inset{width:100%}}
