/* =============================================================================
   TRS AGENT PAGE
   Path: /assets/css/trs-agent.css
   Enqueued by trs-team-template-helpers.php on is_singular('our-team'),
   versioned with filemtime() so a save busts the cache.

   Scoped under .agent where possible so nothing here leaks into other
   templates. Gravity Forms overrides are at the bottom.
   ========================================================================== */

:root{
  --trs-ink:#1f1e1c;
  --trs-bark:#3b372f;
  --trs-brass:#856d47;
  --trs-brass-lt:#a98d61;
  --trs-stone:#b6a999;
  --trs-sand:#beb2a0;
  --trs-bone:#f7f4ee;
  --trs-paper:#fffdfa;
  --trs-line:rgba(59,55,47,.15);
  --trs-line-strong:rgba(59,55,47,.32);

  --trs-display:"Cinzel",Georgia,serif;
  --trs-util:"Barlow Condensed","Helvetica Neue",sans-serif;

  --trs-wrap:1180px;
  --trs-gut:clamp(20px,4vw,48px);
}

/* Body font intentionally not set here. The agent page inherits the theme's
   body face so it does not diverge from the rest of the site. Set --trs-body
   and add `font-family:var(--trs-body)` to .agent if you want it to. */

.agent *,
.agent *::before,
.agent *::after{box-sizing:border-box}

.agent img{max-width:100%;height:auto;display:block}

.agent .wrap{max-width:var(--trs-wrap);margin-inline:auto;padding-inline:var(--trs-gut)}

.agent :focus-visible,
.stickybar :focus-visible,
.review-modal :focus-visible{outline:2px solid var(--trs-brass);outline-offset:3px}

body.has-modal{overflow:hidden}


/* ---------- Shared type ---------- */
.agent .eyebrow{
  font-family:var(--trs-util);text-transform:uppercase;letter-spacing:.16em;
  font-size:.78rem;font-weight:600;color:var(--trs-brass);margin:0 0 .5rem;
}
.agent .sec-title{
  font-family:var(--trs-display);font-weight:600;
  font-size:clamp(1.35rem,2.6vw,1.85rem);letter-spacing:.03em;
  color:var(--trs-ink);margin:0;
}
.agent .sec-head{
  display:flex;align-items:baseline;gap:1rem;flex-wrap:wrap;
  border-bottom:1px solid var(--trs-line-strong);
  padding-bottom:.75rem;margin-bottom:2rem;
}
.agent .sec-head .count{
  font-family:var(--trs-util);font-size:.85rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--trs-stone);margin-left:auto;
}

.agent .slab{padding-block:clamp(52px,7vw,84px)}
.agent .slab--paper{background:var(--trs-paper)}
.agent .slab--dark{background:var(--trs-bark);color:var(--trs-sand)}
.agent .slab--dark .sec-title{color:#fff}
.agent .slab--dark .sec-head{border-color:rgba(190,178,160,.28)}
.agent .slab--dark .eyebrow{color:var(--trs-brass-lt)}


/* ---------- Buttons ----------
   Every property that matters is declared explicitly, including background.

   The sticky bar lives OUTSIDE .agent (it is a sibling of the article, so it
   can stay fixed without inheriting the hero's stacking context). That meant
   `.agent .btn--secondary { background:transparent }` never reached it, and
   the theme's own global .btn rule filled in a white background underneath
   white text. Any rule below that sets a colour also sets its background. */
.agent .btn,
.stickybar .btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  font-family:var(--trs-util);text-transform:uppercase;letter-spacing:.14em;
  font-size:.86rem;font-weight:600;line-height:1;
  text-decoration:none;text-shadow:none;
  padding:.78rem 1.5rem;border:1px solid transparent;border-radius:0;
  background:transparent;box-shadow:none;
  cursor:pointer;transition:background .18s ease,color .18s ease,border-color .18s ease;
}

.agent .btn--primary,
.stickybar .btn--primary{background:var(--trs-brass);color:#fff;border-color:var(--trs-brass)}
.agent .btn--primary:hover,
.agent .btn--primary:focus-visible,
.stickybar .btn--primary:hover,
.stickybar .btn--primary:focus-visible{background:#967c50;border-color:#967c50;color:#fff}

/* Secondary on a light background */
.agent .btn--secondary{
  background:transparent;color:var(--trs-ink);border-color:var(--trs-line-strong);
}
.agent .btn--secondary:hover,
.agent .btn--secondary:focus-visible{
  background:var(--trs-ink);color:#fff;border-color:var(--trs-ink);
}

/* Secondary on a dark background: hero, dark slab, sticky bar */
.agent .hero .btn--secondary,
.agent .slab--dark .btn--secondary,
.stickybar .btn--secondary{
  background:transparent;color:#fff;border-color:rgba(255,255,255,.45);
}
.agent .hero .btn--secondary:hover,
.agent .hero .btn--secondary:focus-visible,
.agent .slab--dark .btn--secondary:hover,
.agent .slab--dark .btn--secondary:focus-visible,
.stickybar .btn--secondary:hover,
.stickybar .btn--secondary:focus-visible{
  background:rgba(255,255,255,.12);color:#fff;border-color:#fff;
}

.agent .btn--quiet{
  background:none;border:none;padding:.78rem .35rem;color:var(--trs-sand);
  text-decoration:underline;text-underline-offset:4px;
  text-decoration-color:rgba(190,178,160,.4);
}
.agent .btn--quiet:hover{color:#fff;text-decoration-color:var(--trs-brass-lt)}

.agent .ico{width:15px;height:15px;flex:none}


/* ---------- Shared horizontal scroller ---------- */
.agent .scroller{position:relative}

.agent .scroll-nav{display:flex;gap:.5rem;margin-top:1rem}
.agent .scroll-nav[hidden]{display:none}
.agent .scroll-btn{
  width:42px;height:42px;border:1px solid var(--trs-line-strong);
  background:transparent;color:var(--trs-bark);font-size:1.2rem;line-height:1;
  cursor:pointer;display:grid;place-items:center;
  transition:background .18s,color .18s,border-color .18s,opacity .18s;
}
.agent .scroll-btn:hover:not(:disabled){
  background:var(--trs-bark);color:#fff;border-color:var(--trs-bark);
}
.agent .scroll-btn:disabled{opacity:.3;cursor:default}

.agent .slab--dark .scroll-btn{border-color:rgba(190,178,160,.4);color:var(--trs-sand)}
.agent .slab--dark .scroll-btn:hover:not(:disabled){background:var(--trs-sand);color:var(--trs-bark)}


/* =============================================================================
   HERO
   ========================================================================== */
.agent .hero{position:relative;background:var(--trs-ink);isolation:isolate}

.agent .hero__field{
  position:absolute;inset:0;z-index:0;
  background-size:cover;background-position:center;
  background-color:#2b2823;
}
.agent .hero__field::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(to bottom,rgba(31,30,28,.55) 0%,rgba(31,30,28,.78) 55%,rgba(31,30,28,.94) 100%);
}

.agent .hero__inner{
  position:relative;z-index:1;
  display:grid;grid-template-columns:250px minmax(0,1fr);
  gap:clamp(24px,4vw,52px);align-items:end;
  padding-block:clamp(48px,7vw,86px) clamp(32px,4vw,44px);
}

.agent .portrait{position:relative}
.agent .portrait__frame{
  position:relative;aspect-ratio:4/5;overflow:hidden;background:#544c3f;
  box-shadow:0 22px 50px rgba(0,0,0,.45);
}
.agent .portrait__frame img{width:100%;height:100%;object-fit:cover}
.agent .portrait::before{
  content:"";position:absolute;inset:-9px;border:1px solid var(--trs-brass);
  pointer-events:none;
}
.agent .portrait__tag{
  position:absolute;left:-9px;bottom:-9px;transform:translateY(50%);
  background:var(--trs-brass);color:#fff;
  font-family:var(--trs-util);text-transform:uppercase;letter-spacing:.14em;
  font-size:.72rem;font-weight:600;padding:.35rem .8rem;white-space:nowrap;
}

.agent .hero__id{color:#fff;padding-bottom:.25rem;min-width:0}
.agent .hero__role{
  font-family:var(--trs-util);text-transform:uppercase;letter-spacing:.2em;
  font-size:.82rem;font-weight:600;color:var(--trs-sand);margin:0 0 .7rem;
}
.agent .hero__name{
  font-family:var(--trs-display);font-weight:600;
  font-size:clamp(2.1rem,6vw,3.6rem);line-height:1.02;letter-spacing:.015em;
  margin:0 0 1.1rem;color:#fff;
}

/* Licensed-state rail */
.agent .rail{
  display:flex;flex-wrap:wrap;align-items:center;gap:.55rem 1.15rem;
  border-top:1px solid rgba(190,178,160,.3);
  border-bottom:1px solid rgba(190,178,160,.3);
  padding:.7rem 0;margin:0 0 1.4rem;list-style:none;
}
.agent .rail__label{
  font-family:var(--trs-util);text-transform:uppercase;letter-spacing:.18em;
  font-size:.72rem;color:var(--trs-stone);margin-right:.2rem;
}
.agent .rail li:not(.rail__label){
  font-family:var(--trs-display);font-size:.86rem;letter-spacing:.13em;
  text-transform:uppercase;color:#fff;position:relative;
}
.agent .rail li:not(.rail__label) + li{padding-left:1.15rem}
.agent .rail li:not(.rail__label) + li::before{
  content:"";position:absolute;left:0;top:50%;width:5px;height:5px;
  transform:translateY(-50%) rotate(45deg);background:var(--trs-brass-lt);
}

.agent .actions{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem}

.agent .hero__rating{
  display:flex;align-items:center;gap:.6rem;margin:1.3rem 0 0;
  font-family:var(--trs-util);letter-spacing:.1em;font-size:.85rem;
  text-transform:uppercase;color:var(--trs-sand);
}
.agent .hero__rating a{color:var(--trs-sand);text-underline-offset:3px}
.agent .hero__rating a:hover{color:#fff}


/* ---------- Stars ---------- */
.stars{display:inline-flex;gap:2px;line-height:0}
.stars .star{width:16px;height:16px;fill:var(--trs-brass-lt)}
.stars .star--empty{fill:none;stroke:var(--trs-brass-lt);stroke-width:1.5}
.stars .star--half{fill:url(#trs-half)}
/* No SVG gradient available inline, so approximate with opacity. */
.stars .star--half{fill:var(--trs-brass-lt);opacity:.5}


/* =============================================================================
   ABOUT + CREDENTIALS
   ========================================================================== */
.agent .about{
  display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,.85fr);
  gap:clamp(32px,5vw,72px);
}

.agent .bio{max-width:64ch;font-size:1.06rem;line-height:1.68}
.agent .bio > *:first-child{margin-top:0}
.agent .bio > *:last-child{margin-bottom:0}
.agent .bio p{margin:0 0 1.15em}
.agent .bio p:first-of-type{font-size:1.2rem;line-height:1.55;color:var(--trs-ink)}
.agent .bio p:first-of-type::first-letter{
  font-family:var(--trs-display);font-size:3.1rem;line-height:.82;
  float:left;padding:.08em .12em 0 0;color:var(--trs-brass);
}
.agent .bio a{color:var(--trs-brass);text-underline-offset:3px}

/* Credentials rail */
.agent .creds{align-self:start;position:sticky;top:28px}
.agent .creds__block + .creds__block{margin-top:2.4rem}
.agent .creds__title{
  font-family:var(--trs-util);text-transform:uppercase;letter-spacing:.18em;
  font-size:.8rem;font-weight:600;color:var(--trs-brass);
  border-bottom:1px solid var(--trs-line-strong);
  padding-bottom:.5rem;margin:0 0 .3rem;
}
.agent .creds__list{list-style:none;margin:0;padding:0}
.agent .creds__list li{
  position:relative;border-bottom:1px solid var(--trs-line);
  padding:.72rem 0 .72rem 1.4rem;font-size:.97rem;line-height:1.45;
}
.agent .creds__list li::before{
  content:"";position:absolute;left:0;top:1.05em;width:6px;height:1px;
  background:var(--trs-brass);
}
.agent .creds__list .year{
  display:block;font-family:var(--trs-util);font-size:.75rem;
  letter-spacing:.14em;text-transform:uppercase;color:var(--trs-stone);
}
.agent .creds__list .issuer{color:var(--trs-stone)}
.agent .creds__list a{text-decoration:none;color:inherit;
  border-bottom:1px solid var(--trs-line-strong)}
.agent .creds__list a:hover{color:var(--trs-brass);border-color:var(--trs-brass)}


/* =============================================================================
   GALLERY

   Agent photos arrive in mixed orientations. Forcing a single aspect ratio
   with object-fit:cover center-crops portraits into landscape slivers and
   cuts the top off anything vertical.

   Instead: uniform HEIGHT, automatic width. Every photo aligns on the top and
   bottom edge so the row reads as deliberate, portraits sit narrow, landscapes
   sit wide, and nothing is cropped. This is how a justified photo row works.
   ========================================================================== */
.agent .gal{--trs-gal-h:clamp(260px,38vh,420px)}

.agent .gal__track{
  display:flex;gap:14px;align-items:flex-start;
  overflow-x:auto;scroll-snap-type:x mandatory;
  padding-bottom:.75rem;scrollbar-width:thin;
  scrollbar-color:var(--trs-stone) transparent;
}
.agent .gal__track::-webkit-scrollbar{height:5px}
.agent .gal__track::-webkit-scrollbar-thumb{background:var(--trs-stone)}

.agent .gal figure{
  flex:0 0 auto;margin:0;scroll-snap-align:center;
  max-width:min(88vw,900px);
}
.agent .gal figure img{
  height:var(--trs-gal-h);width:auto;max-width:100%;
  object-fit:contain;                    /* letterbox rather than distort an ultra-wide pano */
  background:rgba(59,55,47,.06);
}
.agent .gal figcaption{
  font-family:var(--trs-util);text-transform:uppercase;letter-spacing:.13em;
  font-size:.75rem;color:var(--trs-stone);padding-top:.6rem;
  max-width:38ch;
}


/* =============================================================================
   LISTING CARDS

   Horizontal scroll rather than a capped grid, so every active and sold
   listing is reachable without the section growing without bound.
   ========================================================================== */
.agent .cards--scroll{
  display:flex;align-items:stretch;
  gap:clamp(16px,2vw,24px);
  overflow-x:auto;scroll-snap-type:x mandatory;
  padding-bottom:.9rem;
  scrollbar-width:thin;scrollbar-color:var(--trs-stone) transparent;
}
.agent .cards--scroll::-webkit-scrollbar{height:5px}
.agent .cards--scroll::-webkit-scrollbar-thumb{background:var(--trs-stone)}
.agent .slab--dark .cards--scroll::-webkit-scrollbar-thumb{background:rgba(190,178,160,.5)}

.agent .cards--scroll > .card{
  flex:0 0 clamp(260px,30vw,340px);
  scroll-snap-align:start;
}

/* Grid variant retained for any other template that reuses .cards */
.agent .cards:not(.cards--scroll){
  display:grid;grid-template-columns:repeat(auto-fit,minmax(272px,1fr));
  gap:clamp(18px,2.4vw,30px);
}
.agent .cards--single:not(.cards--scroll){grid-template-columns:minmax(272px,380px)}

.agent .card{
  display:flex;flex-direction:column;background:var(--trs-paper);
  border:1px solid var(--trs-line);text-decoration:none;color:inherit;
  transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease;
}
.agent .card:hover{
  border-color:var(--trs-brass);transform:translateY(-3px);
  box-shadow:0 14px 34px rgba(31,30,28,.1);
}
.agent .card__media{position:relative;overflow:hidden}
.agent .card__img{width:100%;aspect-ratio:16/10;object-fit:cover}
.agent .card__img--empty{background:var(--trs-stone)}
.agent .card__chip{
  position:absolute;top:12px;left:12px;background:var(--trs-ink);color:#fff;
  font-family:var(--trs-util);text-transform:uppercase;letter-spacing:.14em;
  font-size:.7rem;font-weight:600;padding:.3rem .7rem;
}
.agent .card__chip--sold{background:var(--trs-brass)}
.agent .card--sold .card__img{filter:saturate(.55)}

.agent .card__body{display:flex;flex-direction:column;flex:1;padding:1.15rem 1.25rem 1.35rem}
.agent .card__name{
  font-family:var(--trs-display);font-size:1.06rem;font-weight:600;
  letter-spacing:.02em;line-height:1.3;color:var(--trs-ink);margin:0 0 .45rem;
}
.agent .card__facts{
  font-family:var(--trs-util);text-transform:uppercase;letter-spacing:.11em;
  font-size:.79rem;color:var(--trs-brass);margin:0 0 .6rem;
}
.agent .card__blurb{font-size:.93rem;color:#5c574c;margin:0 0 1rem;line-height:1.5}
.agent .card__price{
  margin:auto 0 0;padding-top:.8rem;border-top:1px solid var(--trs-line);
  font-family:var(--trs-display);font-size:1.05rem;letter-spacing:.04em;
  color:var(--trs-ink);
}


/* =============================================================================
   REVIEWS

   Two failure modes on high-volume agents: too many reviews turns the section
   into a wall, and a single long testimonial sets the height for its whole
   grid row. Both are handled here rather than by editing the copy.
   ========================================================================== */
.agent .revs{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(285px,1fr));
  gap:clamp(18px,2.4vw,30px);align-items:start;
}
.agent .rev{border-left:2px solid var(--trs-brass);padding:.15rem 0 .3rem 1.4rem}
.agent .rev[hidden]{display:none}
.agent .rev .stars{margin-bottom:.8rem}

.agent .rev__text{position:relative}
.agent .rev__body{font-size:1.02rem;line-height:1.62;color:#efe9df}
.agent .rev__body p{margin:0 0 .8em}
.agent .rev__body p:last-child{margin-bottom:0}

/* Clamp long testimonials to a readable block. The toggle is revealed by JS
   only when the text actually overflows, so short reviews never show it. */
.agent .rev__text[data-clamp] .rev__body{
  display:-webkit-box;-webkit-box-orient:vertical;
  -webkit-line-clamp:7;line-clamp:7;
  overflow:hidden;
}
.agent .rev__text[data-clamp]::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:3.2em;
  background:linear-gradient(to bottom,rgba(59,55,47,0),var(--trs-bark));
  pointer-events:none;
}
.agent .rev__text.is-open[data-clamp] .rev__body{
  display:block;-webkit-line-clamp:none;overflow:visible;
}
.agent .rev__text.is-open[data-clamp]::after{display:none}

.agent .rev__more{
  position:relative;z-index:1;margin-top:.7rem;
  background:none;border:none;padding:0;cursor:pointer;
  font-family:var(--trs-util);text-transform:uppercase;letter-spacing:.14em;
  font-size:.76rem;font-weight:600;color:var(--trs-brass-lt);
  text-decoration:underline;text-underline-offset:4px;
}
.agent .rev__more:hover{color:#fff}
.agent .rev__more[hidden]{display:none}

.agent .rev__who{
  font-family:var(--trs-util);text-transform:uppercase;letter-spacing:.15em;
  font-size:.76rem;color:var(--trs-stone);margin:1rem 0 0;
}

/* Show-all control for agents with a long testimonial history. */
.agent .revs__expand{
  margin-top:1.8rem;display:flex;justify-content:center;
}
.agent .revs__expand[hidden]{display:none}

.agent .revs__foot{
  margin-top:2.4rem;padding-top:1.4rem;
  border-top:1px solid rgba(190,178,160,.28);
  display:flex;flex-wrap:wrap;align-items:center;gap:1rem;
}
.agent .revs__foot p{margin:0;font-size:.97rem;color:var(--trs-stone)}

.agent .rev-empty{
  border:1px dashed rgba(190,178,160,.4);padding:1.6rem 1.8rem;
  display:flex;flex-wrap:wrap;align-items:center;gap:1.2rem;
}
.agent .rev-empty p{margin:0;flex:1 1 260px;color:#efe9df}


/* =============================================================================
   CONTACT
   ========================================================================== */
.agent .contact{
  display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:clamp(30px,5vw,64px);align-items:start;
}
.agent .contact .sec-title{margin-bottom:1rem}
.agent .contact__lede{font-size:1.12rem;max-width:38ch;line-height:1.6}
.agent .contact__direct{list-style:none;margin:1.8rem 0 0;padding:0}
.agent .contact__direct li{border-top:1px solid var(--trs-line);padding:.85rem 0}
.agent .contact__direct a{
  display:flex;align-items:center;gap:.7rem;text-decoration:none;
  font-family:var(--trs-util);letter-spacing:.1em;text-transform:uppercase;
  font-size:.9rem;color:var(--trs-ink);
}
.agent .contact__direct a:hover{color:var(--trs-brass)}
.agent .contact__direct .ico{width:16px;height:16px;color:var(--trs-brass)}

.agent .form{
  background:var(--trs-paper);border:1px solid var(--trs-line);
  padding:clamp(22px,3.2vw,34px);
}


/* =============================================================================
   STICKY BAR
   ========================================================================== */
.stickybar{
  position:fixed;left:0;right:0;bottom:0;z-index:60;
  display:flex;align-items:center;gap:1rem;
  padding:.7rem var(--trs-gut);
  background:var(--trs-ink);border-top:1px solid var(--trs-brass);
  transform:translateY(110%);transition:transform .3s ease;
}
.stickybar.is-on{transform:translateY(0)}
.stickybar__who{color:#fff;min-width:0}
.stickybar__name{
  display:block;font-family:var(--trs-display);font-size:.95rem;
  letter-spacing:.06em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.stickybar__sub{
  font-family:var(--trs-util);font-size:.72rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--trs-stone);
}
.stickybar__acts{margin-left:auto;display:flex;gap:.5rem}
.stickybar .btn{padding:.6rem 1.05rem;font-size:.8rem}


/* =============================================================================
   REVIEW MODAL
   ========================================================================== */
.review-modal[hidden]{display:none}
.review-modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px}
.review-modal__overlay{position:absolute;inset:0;background:rgba(31,30,28,.72)}
.review-modal__dialog{
  position:relative;background:var(--trs-paper);
  width:min(620px,100%);max-height:88vh;overflow-y:auto;
  padding:clamp(24px,4vw,40px);box-shadow:0 30px 70px rgba(0,0,0,.4);
}
.review-modal__title{
  font-family:var(--trs-display);font-weight:600;letter-spacing:.03em;
  font-size:clamp(1.2rem,2.4vw,1.6rem);color:var(--trs-ink);margin:0 0 1.2rem;
}
.review-modal__close{
  position:absolute;top:10px;right:12px;background:none;border:none;
  font-size:1.8rem;line-height:1;color:var(--trs-bark);cursor:pointer;padding:.2rem .5rem;
}
.review-modal__close:hover{color:var(--trs-brass)}


/* =============================================================================
   GRAVITY FORMS
   Scoped so these overrides never touch forms elsewhere on the site.
   ========================================================================== */
.agent .form .gform_wrapper,
.review-modal .gform_wrapper{margin:0}

.agent .form .gform_wrapper .gfield_label,
.review-modal .gform_wrapper .gfield_label{
  font-family:var(--trs-util);text-transform:uppercase;letter-spacing:.14em;
  font-size:.76rem;font-weight:600;color:var(--trs-brass);margin-bottom:.35rem;
}

.agent .form .gform_wrapper input:not([type=submit]):not([type=checkbox]):not([type=radio]),
.agent .form .gform_wrapper select,
.agent .form .gform_wrapper textarea,
.review-modal .gform_wrapper input:not([type=submit]):not([type=checkbox]):not([type=radio]),
.review-modal .gform_wrapper select,
.review-modal .gform_wrapper textarea{
  width:100%;background:#fff;color:var(--trs-ink);
  border:1px solid var(--trs-line-strong);border-radius:0;
  padding:.7rem .8rem;font-size:1rem;
}

.agent .form .gform_wrapper input:focus,
.agent .form .gform_wrapper select:focus,
.agent .form .gform_wrapper textarea:focus,
.review-modal .gform_wrapper input:focus,
.review-modal .gform_wrapper select:focus,
.review-modal .gform_wrapper textarea:focus{
  outline:2px solid var(--trs-brass);outline-offset:0;border-color:var(--trs-brass);
}

.agent .form .gform_wrapper .gform_footer input[type=submit],
.review-modal .gform_wrapper .gform_footer input[type=submit]{
  width:100%;background:var(--trs-brass);color:#fff;border:none;border-radius:0;
  font-family:var(--trs-util);text-transform:uppercase;letter-spacing:.14em;
  font-size:.86rem;font-weight:600;padding:.85rem 1.5rem;cursor:pointer;
  transition:background .18s ease;
}
.agent .form .gform_wrapper .gform_footer input[type=submit]:hover,
.review-modal .gform_wrapper .gform_footer input[type=submit]:hover{background:#967c50}

.agent .form .gform_wrapper .gfield_required{color:var(--trs-brass)}
.agent .form .gform_wrapper .gform_validation_errors{border-radius:0}


/* =============================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width:1000px){
  .agent .about{grid-template-columns:1fr}
  .agent .creds{position:static}
  .agent .contact{grid-template-columns:1fr}
}

@media (max-width:720px){
  .agent .hero__inner{grid-template-columns:1fr;gap:26px}
  .agent .portrait{max-width:210px}
  .agent .hero__name{margin-bottom:.9rem}
  .agent .actions .btn{flex:1 1 auto}
  .agent .actions .btn--quiet{flex-basis:100%}
  .agent .cards--single:not(.cards--scroll){grid-template-columns:1fr}
  .agent .cards--scroll > .card{flex:0 0 78vw}

  /* One photo at a time. Uniform WIDTH with auto height, the inverse of the
     desktop rule, because a fixed height on a narrow viewport would letterbox
     every landscape shot. */
  .agent .gal figure{flex:0 0 86vw;max-width:86vw}
  .agent .gal figure img{
    height:auto;width:100%;max-height:72vh;object-fit:contain;
  }

  .stickybar{flex-wrap:wrap}
  .stickybar__acts{width:100%;margin-left:0}
  .stickybar__acts .btn{flex:1}

  /* Sticky bar covers the footer edge; give the page room. */
  body.single-our-team{padding-bottom:76px}
}

@media (prefers-reduced-motion:reduce){
  .agent *,
  .stickybar,
  .review-modal *{animation:none!important;transition:none!important}
  .agent .gal__track,
  .agent .cards--scroll{scroll-behavior:auto}
}

@media print{
  .stickybar,.review-modal,.agent .scroll-nav,.agent .actions{display:none!important}
  .agent .hero__field::after{display:none}
  .agent .slab--dark{background:none;color:#000}
  /* Unroll the scrollers so everything prints */
  .agent .cards--scroll,.agent .gal__track{display:block;overflow:visible}
  .agent .rev__text[data-clamp] .rev__body{display:block;overflow:visible}
  .agent .rev--extra{display:block!important}
}