/* Meet Annie — meet.css
   Loaded only by meet-annie.php.
   Relies on /css/style.css for tokens (--navy, --green, --blue, fonts, --radius-card).
   Everything here is prefixed .mt- or scoped inside a .mt- block, so nothing can
   leak into another page. */

/* ---------- hero ---------- */
.mt-hero{padding:78px 0 84px;background:#fff}
.mt-hero .mt-wrap{display:grid;grid-template-columns:1.12fr .88fr;gap:64px;align-items:center}
.mt-eyebrow{margin:0 0 20px;display:flex;align-items:center;gap:10px;color:var(--blue);font-family:var(--font-headline),sans-serif;font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.mt-eyebrow i{width:28px;height:3px;border-radius:20px;background:var(--green);flex:0 0 auto}
.mt-hero h1{margin:0;color:var(--navy);font-size:clamp(3rem,7vw,5.6rem);line-height:.94;letter-spacing:-.05em}
.mt-role{max-width:34ch;margin:20px 0 0;color:var(--blue);font-size:1.2rem;line-height:1.45;font-weight:700}
.mt-intro{max-width:56ch;margin:22px 0 0;color:var(--dark-gray);font-size:1.05rem;line-height:1.8}
.mt-portrait{position:relative;overflow:hidden;border-radius:36px 36px 36px 8px;border:1px solid #d8e6ef;background:linear-gradient(145deg,#edf5fb,#f9fcfe 60%,#e6f7e9)}
.mt-portrait img{width:100%;height:100%;min-height:505px;display:block;object-fit:contain;padding:24px 24px 108px}
.mt-plate{position:absolute;left:24px;right:24px;bottom:24px;display:flex;align-items:center;gap:12px;padding:15px 17px;border-radius:14px;background:rgba(255,255,255,.94);box-shadow:0 12px 40px rgba(20,38,63,.12)}
.mt-dot{width:11px;height:11px;border-radius:50%;background:var(--green);box-shadow:0 0 0 5px rgba(65,201,74,.13);flex:0 0 auto}
.mt-plate strong{display:block;color:var(--navy);font-size:.94rem}
.mt-plate small{display:block;margin-top:3px;color:var(--dark-gray);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase}

/* our own outline button — do not depend on a .btn-outline that may not exist
   in style.css, and .btn-outline-white is invisible on this page's white hero */
.mt-btn2{background:#fff;border:1px solid var(--medium-gray);color:var(--navy)}
.mt-btn2:hover{border-color:var(--navy)}

/* ---------- about ---------- */
.mt-about{padding:88px 0;background:var(--soft-white);border-top:1px solid #e8eff4;border-bottom:1px solid #e8eff4}
.mt-split{display:grid;grid-template-columns:.34fr 1.66fr;gap:48px}
.mt-label{padding-top:8px;color:var(--blue);font-family:var(--font-headline),sans-serif;font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.mt-about h2,.mt-staff h2{margin:0;color:var(--navy);font-size:clamp(2rem,4vw,3.1rem);line-height:1.1;letter-spacing:-.035em}
.mt-prose{margin-top:32px;display:grid;grid-template-columns:1fr 1fr;gap:38px}
.mt-prose p{margin:0;color:var(--dark-gray);font-size:1rem;line-height:1.85}

/* ---------- how she leads ---------- */
.mt-lead{padding:88px 0;background:var(--navy);color:#fff}
.mt-lead-head{display:flex;align-items:flex-end;justify-content:space-between;gap:56px}
.mt-lead-head h2{max-width:20ch;margin:0;color:#fff;font-size:clamp(2rem,4vw,3.1rem);line-height:1.1;letter-spacing:-.035em}
.mt-lead-head>p{max-width:36ch;margin:0;color:#b9c6d6;font-size:.95rem;line-height:1.75}
.mt-lead .mt-eyebrow{color:var(--green)}
.mt-lead .mt-eyebrow i{background:var(--green)}
.mt-cards{margin-top:48px;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.mt-c{min-height:250px;padding:26px;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:rgba(255,255,255,.045);display:flex;flex-direction:column}
.mt-c .num{color:var(--green);font-family:var(--font-headline),sans-serif;font-size:.72rem;font-weight:800;letter-spacing:.13em}
.mt-c h3{margin:auto 0 13px;color:#fff;font-size:1.2rem;line-height:1.3}
.mt-c p{margin:0;color:#b9c6d6;font-size:.88rem;line-height:1.75}

/* ---------- principle ---------- */
.mt-principle{max-width:960px;margin:0 auto;padding:96px 24px;text-align:center}
.mt-principle .mt-eyebrow{justify-content:center}
.mt-principle blockquote{margin:22px auto 26px;color:var(--navy);font-family:var(--font-headline),sans-serif;font-size:clamp(1.9rem,4.4vw,3.3rem);line-height:1.18;letter-spacing:-.04em;font-weight:800}
.mt-principle>p:last-child{max-width:70ch;margin:0 auto;color:var(--dark-gray);font-size:1rem;line-height:1.85}

/* ---------- staff ---------- */
.mt-staff{padding:88px 0;background:#f8fafc;border-top:1px solid var(--medium-gray)}
.mt-staff-head{display:grid;grid-template-columns:1.1fr .9fr;align-items:end;gap:64px}
.mt-staff-head p{margin:0;color:var(--dark-gray);font-size:.95rem;line-height:1.8}
.mt-grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:44px}
.mt-pcard{background:#fff;border:1px solid var(--medium-gray);border-radius:var(--radius-card);
overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .18s,border-color .18s}
.mt-pcard:hover{border-color:rgba(31,120,232,.32);box-shadow:0 12px 34px rgba(20,38,63,.09)}
.mt-pcard img{width:100%;display:block;aspect-ratio:4/5;object-fit:cover;object-position:center top;
background:linear-gradient(160deg,#eef5fb,#f7fbfd)}
.mt-pbody{padding:19px 20px 22px;display:flex;flex-direction:column;flex:1}
.mt-pcard h3{margin:0;color:var(--navy);font-size:1.12rem;line-height:1.2}
.mt-pcard .mt-title{display:block;margin:6px 0 11px;color:var(--green-hover);
font-family:var(--font-headline),sans-serif;font-size:.7rem;font-weight:700;letter-spacing:.07em;
text-transform:uppercase;line-height:1.35}
.mt-pcard p{margin:0 0 14px;color:var(--dark-gray);font-size:.86rem;line-height:1.7}
a.mt-pcard{text-decoration:none}
.mt-more{margin-top:auto;color:var(--blue);font-family:var(--font-headline),sans-serif;
font-size:.82rem;font-weight:700}
a.mt-pcard:hover .mt-more{text-decoration:underline}
.mt-reports{margin-top:24px;padding:18px 21px;border-radius:14px;background:#fff;
border:1px solid var(--medium-gray);border-left:4px solid var(--green);color:#44506B;
font-size:.9rem;line-height:1.7}
.mt-reports strong{color:var(--navy)}

/* ---------- what the agency does ---------- */
.mt-work{padding:88px 0;background:#fff;border-top:1px solid var(--medium-gray)}
.mt-work-intro{display:grid;grid-template-columns:1.1fr .9fr;align-items:end;gap:64px}
.mt-work-intro h2{margin:0;color:var(--navy);font-size:clamp(2rem,4vw,3.1rem);line-height:1.1;letter-spacing:-.035em}
.mt-work-intro>p{margin:0;color:var(--dark-gray);font-size:.95rem;line-height:1.8}
.mt-panel{margin-top:48px;padding:30px;border:1px solid var(--medium-gray);border-top:5px solid var(--green);border-radius:18px;background:#fbfcfd}
.mt-panel-head{display:flex;align-items:center;justify-content:space-between;gap:24px}
.mt-panel-head h3{margin:0;color:var(--navy);font-size:1.6rem;letter-spacing:-.02em}
.mt-kicker{margin:0 0 6px;color:var(--blue);font-family:var(--font-headline),sans-serif;font-size:.63rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.mt-panel-head>p{max-width:34ch;margin:0;color:var(--dark-gray);font-size:.8rem;line-height:1.65;text-align:right}
.mt-cats{margin-top:26px;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.mt-cat{padding:20px;border-radius:12px;background:#fff;border:1px solid #e5ebf0}
.mt-cat h4{margin:0 0 6px;color:var(--navy);font-size:.9rem;line-height:1.35}
.mt-cat .mt-owner{display:block;margin:0 0 11px;color:var(--dark-gray);font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.mt-cat ul{margin:0;padding:0;list-style:none}
.mt-cat li{position:relative;padding:8px 0 8px 19px;border-top:1px solid #edf1f4;color:var(--dark-gray);font-size:.76rem;line-height:1.45}
.mt-cat li:before{content:"";position:absolute;left:0;top:14px;width:7px;height:7px;border-radius:50%;background:var(--green)}

/* ---------- faq + note ---------- */
.mt-faq{padding:88px 0;background:var(--soft-white);border-top:1px solid var(--medium-gray)}
.mt-narrow{max-width:820px;margin:0 auto}
.mt-faq h2{margin:0 0 24px;color:var(--navy);font-size:clamp(1.8rem,3.4vw,2.5rem);letter-spacing:-.03em}
.mt-faq details{background:#fff;border:1px solid var(--medium-gray);border-radius:12px;padding:16px 19px;margin-bottom:10px}
.mt-faq details[open]{border-color:var(--green)}
.mt-faq summary{font-family:var(--font-headline),sans-serif;font-weight:600;color:var(--navy);cursor:pointer;font-size:.99rem}
.mt-faq details p{font-size:.93rem;color:#44506B;margin:12px 0 0;line-height:1.7}
.mt-note{margin-top:26px;background:var(--light-gray);border-radius:var(--radius-card);padding:27px;font-size:.9rem;color:#44506B;line-height:1.7}
.mt-note h3{margin:0 0 8px;color:var(--navy);font-size:1.02rem}
.mt-note p{margin:0 0 .85em}
.mt-note p:last-child{margin-bottom:0}

/* ---------- cta ---------- */
.mt-cta{padding:0 0 88px;background:var(--soft-white)}
.mt-cta .box{background:var(--navy);border-radius:var(--radius-card);padding:56px;text-align:center;color:#fff}
.mt-cta h2{margin:0 0 12px;color:#fff;font-size:clamp(1.8rem,3.4vw,2.5rem);letter-spacing:-.03em}
.mt-cta p{max-width:60ch;margin:0 auto 26px;color:#b9c6d6;font-size:1rem;line-height:1.75}

/* ---------- responsive ---------- */
@media(max-width:980px){
  .mt-hero .mt-wrap{grid-template-columns:1fr;gap:44px}
  .mt-split{grid-template-columns:1fr;gap:30px}
  .mt-prose{grid-template-columns:1fr;gap:22px}
  .mt-cards{grid-template-columns:1fr 1fr}
  .mt-lead-head{display:block}
  .mt-lead-head>p{margin-top:22px}
  .mt-work-intro{grid-template-columns:1fr;gap:30px}
  .mt-staff-head{grid-template-columns:1fr;gap:24px}
  .mt-grid4{grid-template-columns:repeat(2,1fr)}
  .mt-cats{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .mt-hero{padding:48px 0 60px}
  .mt-portrait img{min-height:360px}
  .mt-about,.mt-lead,.mt-staff,.mt-work,.mt-faq{padding:64px 0}
  .mt-principle{padding:70px 20px}
  .mt-cards,.mt-cats,.mt-grid4{grid-template-columns:1fr}
  .mt-c{min-height:0}
  .mt-c h3{margin-top:28px}
  .mt-panel,.mt-cta .box{padding:22px}
  .mt-panel-head{display:block}
  .mt-panel-head>p{display:none}
}

/* ---------- Annie + staff, as embedded in about.php ---------- */
/* No portrait here on purpose — the existing "Meet Annie" block further down the
   About page carries her picture at a sensible size. A second, larger one at the
   top of the section was overwhelming. */
.mt-annie{padding:76px 0;background:var(--soft-white);border-top:1px solid #e8eff4;border-bottom:1px solid #e8eff4}
.mt-anniewrap h2{margin:0 0 26px;color:var(--navy);font-size:clamp(1.9rem,3.8vw,2.9rem);line-height:1.12;letter-spacing:-.035em;max-width:22ch}
.mt-anniecols{display:grid;grid-template-columns:1fr 1fr;gap:38px}
.mt-anniecols p{margin:0;color:var(--dark-gray);font-size:1rem;line-height:1.85}
@media(max-width:900px){
  .mt-annie{padding:56px 0}
  .mt-anniecols{grid-template-columns:1fr;gap:20px}
}
