/* team.css — page-specific styles for team.html
   Extracted from inline <style> by tools/css-consolidate.py. */

.wr-cta h2 span{color:#fff;font-family:'Fraunces',Georgia,serif;font-variation-settings:'opsz' 144,'SOFT' 100;font-style:italic;font-weight:700;letter-spacing:-0.005em;text-shadow:0 0 24px rgba(255,255,255,0.65),0 0 48px rgba(255,255,255,0.35),0 2px 4px rgba(176,122,20,0.20)}

.wr-cta-actions .btn-primary{background:var(--green-d);color:#fbf6e7;box-shadow:0 4px 14px rgba(31,43,29,0.32)}

.wr-cta-actions .btn-primary:hover{background:var(--green);color:#fbf6e7;transform:translateY(-1px);box-shadow:0 6px 22px rgba(31,43,29,0.42)}

/* Universal Fraunces accent for h2 spans + hero h1 span */
.wr-hero h1 span,
.wr-reality h2 span,
.wr-cta h2 span{
  font-family:'Fraunces',Georgia,'Times New Roman',serif;
  font-variation-settings:'opsz' 144,'SOFT' 100;
  font-style:italic;
  font-weight:700;
  letter-spacing:-0.005em;
}

/* TEAM PROFILE BLOCKS — alternating bg with per-profile colour accent */
.tm-profile{padding:clamp(80px,11vw,140px) var(--gutter);position:relative;overflow:hidden}

.tm-profile:nth-of-type(odd){background:#fff}

.tm-profile:nth-of-type(even){background:var(--paper)}

.tm-profile::before{content:"";position:absolute;top:-40px;right:-50px;width:240px;height:240px;background:currentColor;-webkit-mask:url('../images/paw-only.svg') no-repeat center/contain;mask:url('../images/paw-only.svg') no-repeat center/contain;opacity:0.06;pointer-events:none;transform:rotate(14deg);z-index:0}

.tm-profile.tm-red{color:var(--red)}

.tm-profile.tm-gold{color:var(--gold-d)}

.tm-profile.tm-blue{color:var(--blue-d)}

.tm-profile.tm-green{color:var(--green)}

.tm-profile .container{max-width:1140px;position:relative;z-index:1}

.tm-profile-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(32px,5vw,72px);align-items:center}

@media (max-width:880px){.tm-profile-grid{grid-template-columns:1fr;gap:32px}}

.tm-profile:nth-of-type(even) .tm-photo{order:2}

@media (max-width:880px){.tm-profile:nth-of-type(even) .tm-photo{order:0}}

.tm-photo{position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:var(--r-lg);background:var(--paper-3);box-shadow:var(--shadow);margin:0}

.tm-photo > img{width:100%;height:100%;object-fit:cover;display:block}
/* Uniform sepia across all team portraits (some sources are already sepia, some
   colour). grayscale(1) first neutralises any existing tone so sepia() applies
   evenly and nothing double-processes. */
.page-team-wrap .tm-photo > img{filter:grayscale(1) sepia(0.48) contrast(1.04) brightness(1.03)}

.tm-anchor{position:absolute;top:18px;left:18px;padding:7px 14px;color:#fbf6e7;font:700 11px/1 var(--sans);letter-spacing:0.18em;text-transform:uppercase;border-radius:999px;z-index:2}

.tm-profile.tm-red .tm-anchor{background:var(--red)}

.tm-profile.tm-gold .tm-anchor{background:var(--gold-d)}

.tm-profile.tm-blue .tm-anchor{background:var(--blue-d)}

.tm-profile.tm-green .tm-anchor{background:var(--green)}

.tm-photo-caption{position:absolute;left:0;right:0;bottom:0;padding:16px 20px;background:linear-gradient(0deg,rgba(31,43,29,0.85) 0%,rgba(31,43,29,0) 100%);color:#fbf6e7;font:600 11px/1.45 var(--sans);letter-spacing:0.10em;text-transform:uppercase;text-shadow:0 1px 2px rgba(0,0,0,0.2);z-index:1}

/* Typographic portrait placeholder for missing photos */
.tm-portrait-placeholder{aspect-ratio:4/5;width:100%;height:100%;border-radius:var(--r-lg);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px;position:relative;color:#fbf6e7}

.tm-profile.tm-red .tm-portrait-placeholder{background:linear-gradient(160deg,var(--red) 0%,#4a0e14 100%)}

.tm-profile.tm-gold .tm-portrait-placeholder{background:linear-gradient(160deg,var(--gold-d) 0%,#5a3e0a 100%)}

.tm-profile.tm-blue .tm-portrait-placeholder{background:linear-gradient(160deg,var(--blue-d) 0%,#011024 100%)}

.tm-profile.tm-green .tm-portrait-placeholder{background:linear-gradient(160deg,var(--green) 0%,var(--green-d) 100%)}

.tm-portrait-placeholder .initials{font-family:var(--slab);font-weight:800;font-size:clamp(120px,16vw,220px);line-height:0.85;letter-spacing:-0.04em;color:rgba(255,255,255,0.95);margin-bottom:18px;text-shadow:0 0 32px rgba(255,255,255,0.18)}

.tm-portrait-placeholder .placeholder-note{font-family:var(--sans);font-size:12px;letter-spacing:0.20em;text-transform:uppercase;color:rgba(255,255,255,0.65);font-weight:600;line-height:1.5;max-width:20ch;border-top:1px solid rgba(255,255,255,0.20);padding-top:14px}

.tm-body .eyebrow{display:inline-flex;align-items:center;gap:10px;background:var(--paper-2);padding:9px 16px;border-radius:999px;color:var(--green-d);font:700 11px/1 var(--sans);letter-spacing:0.20em;text-transform:uppercase;margin-bottom:18px}

.tm-body .eyebrow::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor;margin-right:0}

.tm-profile.tm-red .tm-body .eyebrow::before{background:var(--red)}

.tm-profile.tm-gold .tm-body .eyebrow::before{background:var(--gold-d)}

.tm-profile.tm-blue .tm-body .eyebrow::before{background:var(--blue-d)}

.tm-profile.tm-green .tm-body .eyebrow::before{background:var(--green)}

.tm-body h2{font-family:var(--slab);font-weight:800;font-size:clamp(40px,4.8vw,68px);line-height:1.0;letter-spacing:-0.025em;margin:6px 0 6px;color:var(--green-d);text-wrap:balance}

.tm-role{font-family:var(--slab);font-weight:600;font-size:14px;letter-spacing:0.10em;text-transform:uppercase;color:currentColor;margin-bottom:26px;opacity:0.92}

.tm-body p{font-size:17px;line-height:1.75;color:var(--ink-2);margin:0 0 16px}

.tm-quote{font-family:'Fraunces',Georgia,serif;font-variation-settings:'opsz' 144,'SOFT' 100;font-style:italic;font-weight:600;font-size:clamp(18px,2vw,22px);line-height:1.5;color:var(--green-d);margin:28px 0 0;padding:26px 30px;border-radius:var(--r-md)}

.tm-quote cite{display:block;margin-top:14px;font-family:var(--sans);font-style:normal;font-weight:600;font-size:11px;letter-spacing:0.20em;text-transform:uppercase;color:currentColor;opacity:0.7}

/* Paper (cream) sections — quote sits in the next-darker cream */
.tm-profile:nth-of-type(even) .tm-quote{background:var(--paper-2);color:var(--green-d)}

.tm-profile:nth-of-type(even) .tm-quote cite{color:var(--green-d);opacity:0.7}

/* White sections — quote sits in a deep forest green with cream text */
.tm-profile:nth-of-type(odd) .tm-quote{background:var(--green-d);color:#fbf6e7}

.tm-profile:nth-of-type(odd) .tm-quote cite{color:var(--gold-l);opacity:0.9}

/* Mobile guards (<=640px) — keep team profile blocks readable on small screens */
@media (max-width:640px){
  .tm-profile-grid{gap:24px}
  .tm-photo{aspect-ratio:4/5;max-width:100%}
  .tm-portrait-placeholder{padding:24px;max-width:100%;box-sizing:border-box}
  .tm-anchor{top:12px;left:12px;padding:6px 12px;font-size:10px}
  .tm-photo-caption{padding:14px 16px;font-size:10px}
  .tm-body p{font-size:16px;line-height:1.7}
  .tm-quote{padding:20px 22px;margin:22px 0 0}
  .tm-body h2{font-size:clamp(34px,9vw,44px)}
  .tm-profile::before{width:160px;height:160px;top:-30px;right:-40px}
}


/* === PA hero mobile restructure (auto, 2026-05-31) === prefix:wr */
@media (max-width:980px){
  .wr-hero{
    display:flex; flex-direction:column;
    min-height:0 !important; height:auto !important;
    padding:0 !important; background:var(--paper);
    position:relative; overflow:hidden;
    align-items:stretch !important;
  }
  .wr-hero-bg{
    position:relative !important; inset:auto !important; z-index:auto !important;
    width:100%; aspect-ratio:4/3; height:auto !important;
    order:1; flex:0 0 auto;
  }
  .wr-hero-bg img{
    position:absolute !important; inset:0 !important;
    width:100%; height:100% !important;
    object-fit:cover; object-position:center 30%;
  }
  .wr-hero > .container,
  .wr-hero > .wr-hero-content,
  .wr-hero .wr-hero-content{
    position:static !important; inset:auto !important;
    padding:0 !important; max-width:100%; width:100%; margin:0;
    background:var(--paper); color:var(--ink);
    order:2; flex:1 1 auto;
    min-height:0 !important;
    display:block !important;
  }
  .wr-hero-eyebrow,
  .wr-hero .eyebrow{ display:none !important; }
  .wr-hero h1{
    position:absolute !important; top:37.5vw;
    left:0; right:0; transform:translateY(-50%);
    margin:0 !important; padding:0 24px; max-width:none;
    text-align:center; color:var(--paper-w);
    font-size:clamp(26px,7vw,38px); line-height:1.1;
    text-shadow:0 2px 14px rgba(0,0,0,.6), 0 1px 4px rgba(0,0,0,.5);
    z-index:3;
  }
  .wr-hero h1 .accent,
  .wr-hero h1 span{ color:var(--gold-l); }
  .wr-hero .lede,
  .wr-hero p.sub{
    margin:0 !important; padding:22px 22px 8px; max-width:none;
    background:var(--paper); color:#4a4a3d;
    font-size:14.5px; line-height:1.5; text-align:center;
  }
  .wr-hero .lede strong{ color:var(--ink); }
  .wr-hero .hero-actions,
  .wr-hero .actions,
  .wr-hero .wr-hero-actions{
    margin:0 !important; padding:0 22px 24px;
    background:var(--paper);
    display:flex; flex-direction:row; flex-wrap:wrap;
    gap:10px; align-items:center; justify-content:center; width:100%;
  }
  .wr-hero .btn-light{
    background:transparent;
    border:1.5px solid var(--green-d); color:var(--green-d);
  }
  .wr-hero .btn-light:hover{ background:var(--green-d); color:var(--paper-w); }
  .wr-hero .hero-meta,
  .wr-hero .meta,
  .wr-hero .wr-hero-meta{
    position:absolute; top:calc(75vw - 34px);
    left:50%; right:auto; bottom:auto; transform:translateX(-50%);
    margin:0 !important; padding:5px 14px;
    background:rgba(0,0,0,.34);
    backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px);
    border-radius:999px;
    font-family:'Lora',Georgia,serif; font-style:italic; font-size:11px;
    color:rgba(251,246,231,.92); z-index:3;
    display:inline-flex; gap:5px; white-space:nowrap; text-align:center;
  }
  .wr-hero .who{ color:var(--gold-l); font-weight:600; }
}


/* === PA hero mobile contrast/meta fix (auto, 2026-05-31b) === prefix:wr */
@media (max-width:980px){
  /* Lede/quote dark on the cream band (global .X-hero p.lede sets a light
     colour with element-level specificity; override with !important). */
  .wr-hero .lede, .wr-hero p.lede,
  .wr-hero p.sub, .wr-hero .sub,
  .wr-hero blockquote, .wr-hero .quote{ color:#4a4a3d !important; }
  .wr-hero .lede strong, .wr-hero p.lede strong{ color:var(--ink) !important; }
  /* Attribution / credit lines readable on cream */
  .wr-hero .attrib, .wr-hero .attribution,
  .wr-hero .credit, .wr-hero .source{ color:var(--gold-d) !important; }
  /* Hide the decorative caption pill on mobile (overflows on longer metas). */
  .wr-hero .hero-meta, .wr-hero .meta, .wr-hero .wr-hero-meta{ display:none !important; }
}
