/* =========================================================
   INTERIOR PAGES — shared components
   ========================================================= */

/* Breadcrumb */
.crumb{ font-family:var(--mono); font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--bronze-lt); display:flex; gap:10px; align-items:center; }
.crumb a{ color:var(--cream-faint); } .crumb a:hover{ color:var(--cream); }
.crumb span{ color:var(--cream-faint); }

/* Generic two-col intro */
.intro-grid{ display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(36px,6vw,90px); align-items:start; }
.intro-grid h2{ font-size:clamp(30px,4vw,52px); color:var(--navy); }
@media (max-width:820px){ .intro-grid{ grid-template-columns:1fr; gap:26px; } }

/* Stat band */
.statband{ background:var(--navy); color:var(--cream); }
.statband .row{ display:grid; grid-template-columns:repeat(4,1fr); }
.statband .stat{ padding:clamp(36px,5vw,64px) clamp(20px,2.5vw,40px); border-right:1px solid var(--line-dk); }
.statband .stat:last-child{ border-right:0; }
.statband .num{ font-family:var(--serif); font-size:clamp(38px,4.6vw,58px); color:var(--cream); font-weight:600; line-height:1; }
.statband .num .amber{ color:var(--bronze-lt); }
.statband .cap{ font-family:var(--mono); font-size:11px; letter-spacing:.13em; text-transform:uppercase; color:var(--cream-faint); margin-top:14px; display:block; }
@media (max-width:760px){ .statband .row{ grid-template-columns:1fr 1fr; } .statband .stat:nth-child(2){ border-right:0; } .statband .stat:nth-child(1),.statband .stat:nth-child(2){ border-bottom:1px solid var(--line-dk); } }

/* Portrait block (about) */
.bio-grid{ display:grid; grid-template-columns:1fr 1.2fr; gap:clamp(40px,6vw,84px); align-items:start; }
.bio-photo{ position:relative; }
.bio-photo .imgmain{ border:1px solid var(--line); }
.bio-photo .imgmain img{ width:100%; aspect-ratio:4/5; object-fit:cover; object-position:50% 26%; }
.bio-photo .vtag{ position:absolute; top:-12px; left:-12px; font-family:var(--mono); font-size:10px; letter-spacing:.12em; color:var(--bronze-dk); writing-mode:vertical-rl; transform:rotate(180deg); }
.bio-photo .photo-cap{ font-family:var(--mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:#8a929b; margin-top:16px; }
.bio-body h2{ font-size:clamp(26px,3vw,40px); color:var(--navy); margin-bottom:20px; }
.bio-body p{ color:#46505b; margin-bottom:20px; font-size:16.5px; }
.bio-body p .lead-in{ font-family:var(--serif); font-size:1.15em; color:var(--navy); font-style:italic; }
.bio-pullquote{ font-family:var(--serif); font-size:clamp(22px,2.6vw,32px); line-height:1.28; color:var(--navy); border-left:3px solid var(--bronze); padding:6px 0 6px 28px; margin:34px 0; }
@media (max-width:820px){ .bio-grid{ grid-template-columns:1fr; gap:36px; } .bio-photo{ max-width:400px; } }

/* Timeline */
.timeline{ display:grid; grid-template-columns:repeat(2,1fr); gap:0 clamp(40px,5vw,72px); }
.tl-item{ padding:30px 0; border-top:1px solid var(--line); display:grid; grid-template-columns:auto 1fr; gap:24px; align-items:start; }
.tl-year{ font-family:var(--mono); font-size:13px; color:var(--bronze-dk); letter-spacing:.08em; padding-top:4px; min-width:64px; }
.tl-c h3{ font-size:21px; color:var(--navy); margin-bottom:8px; }
.tl-c p{ color:#525c66; font-size:15px; }
@media (max-width:760px){ .timeline{ grid-template-columns:1fr; } }

/* Process steps */
.steps{ display:grid; grid-template-columns:repeat(4,1fr); gap:0; border-top:1px solid var(--line); }
.step{ padding:36px 28px 40px; border-right:1px solid var(--line); position:relative; }
.step:last-child{ border-right:0; }
.step .sn{ font-family:var(--mono); font-size:12px; color:var(--bronze-dk); letter-spacing:.1em; }
.step h3{ font-size:22px; color:var(--navy); margin:18px 0 12px; }
.step p{ color:#525c66; font-size:15px; line-height:1.55; }
@media (max-width:820px){ .steps{ grid-template-columns:1fr 1fr; } .step:nth-child(2){ border-right:0; } .step:nth-child(1),.step:nth-child(2){ border-bottom:1px solid var(--line); } }
@media (max-width:520px){ .steps{ grid-template-columns:1fr; } .step{ border-right:0; border-bottom:1px solid var(--line); } }

/* Service detail rows */
.svc-rows{ border-top:1px solid var(--line); }
.svc-row{ display:grid; grid-template-columns:64px 1fr 1.1fr auto; gap:clamp(20px,4vw,56px); align-items:center; padding:clamp(28px,3.5vw,46px) 0; border-bottom:1px solid var(--line); transition:background .35s, padding .35s; }
.svc-row:hover{ background:var(--paper); }
.svc-row .sr-n{ font-family:var(--mono); font-size:13px; color:var(--bronze-dk); }
.svc-row h3{ font-size:clamp(22px,2.4vw,30px); color:var(--navy); }
.svc-row p{ color:#525c66; font-size:15.5px; }
.svc-row .sr-go{ font-size:20px; color:var(--bronze-dk); transition:transform .35s var(--ease); }
.svc-row:hover .sr-go{ transform:translateX(6px); }
@media (max-width:880px){ .svc-row{ grid-template-columns:48px 1fr; gap:16px 24px; } .svc-row p{ grid-column:2; } .svc-row .sr-go{ display:none; } }

/* Audience cards (leadher) */
.aud-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.aud-card{ padding:38px 32px; border:1px solid var(--line); background:var(--paper); display:flex; flex-direction:column; gap:14px; transition:transform .4s var(--ease), box-shadow .4s var(--ease); }
.aud-card:hover{ transform:translateY(-5px); box-shadow:0 26px 52px -32px rgba(12,34,51,.45); }
.aud-card .ac-k{ font-family:var(--mono); font-size:11px; letter-spacing:.15em; text-transform:uppercase; color:var(--bronze-dk); }
.aud-card h3{ font-size:24px; color:var(--navy); }
.aud-card p{ color:#525c66; font-size:15px; }
@media (max-width:820px){ .aud-grid{ grid-template-columns:1fr; } }

/* Curriculum (pivot) */
.curric{ display:grid; grid-template-columns:repeat(2,1fr); gap:24px; }
.mod{ border:1px solid var(--line); padding:32px 30px; background:var(--paper); display:flex; gap:22px; align-items:flex-start; transition:border-color .35s, transform .35s var(--ease); }
.mod:hover{ border-color:rgba(181,136,75,.55); transform:translateY(-3px); }
.mod .mn{ font-family:var(--serif); font-size:34px; color:var(--bronze); font-weight:700; line-height:1; min-width:46px; }
.mod h3{ font-size:21px; color:var(--navy); margin-bottom:8px; }
.mod p{ color:#525c66; font-size:15px; }
@media (max-width:760px){ .curric{ grid-template-columns:1fr; } }

/* Agenda */
.agenda{ border-top:1px solid var(--line-dk); }
.ag-row{ display:grid; grid-template-columns:130px 1fr; gap:32px; padding:24px 0; border-bottom:1px solid var(--line-dk); }
.ag-time{ font-family:var(--mono); font-size:13px; color:var(--bronze-lt); letter-spacing:.06em; }
.ag-row h3{ font-size:20px; color:var(--cream); margin-bottom:6px; }
.ag-row p{ color:var(--cream-dim); font-size:15px; }
@media (max-width:600px){ .ag-row{ grid-template-columns:1fr; gap:8px; } }

/* FAQ */
.faq-item{ border-bottom:1px solid var(--line); }
.faq-q{ width:100%; background:none; border:0; text-align:left; cursor:pointer; padding:26px 0; display:flex; justify-content:space-between; align-items:center; gap:24px; font-family:var(--serif); font-size:clamp(19px,2vw,24px); color:var(--navy); font-weight:600; }
.faq-q .pm{ font-family:var(--sans); font-size:24px; color:var(--bronze-dk); transition:transform .35s var(--ease); flex-shrink:0; }
.faq-item.open .faq-q .pm{ transform:rotate(45deg); }
.faq-a{ max-height:0; overflow:hidden; transition:max-height .45s var(--ease); }
.faq-a p{ color:#525c66; font-size:16px; padding-bottom:26px; max-width:68ch; }

/* Forms */
.form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.field{ display:flex; flex-direction:column; gap:9px; }
.field.full{ grid-column:1 / -1; }
.field label{ font-family:var(--mono); font-size:11px; letter-spacing:.13em; text-transform:uppercase; color:var(--bronze-dk); }
.field input, .field textarea, .field select{
  font-family:var(--sans); font-size:16px; color:var(--ink); background:var(--paper);
  border:1px solid var(--line); border-radius:2px; padding:14px 16px; outline:none; transition:border-color .25s, box-shadow .25s;
}
.field input:focus, .field textarea:focus, .field select:focus{ border-color:var(--bronze); box-shadow:0 0 0 3px rgba(181,136,75,.12); }
.field textarea{ resize:vertical; min-height:130px; }
.segmented{ display:flex; flex-wrap:wrap; gap:10px; }
.segmented input{ position:absolute; opacity:0; pointer-events:none; }
.segmented label{ font-family:var(--sans); font-size:14px; letter-spacing:0; text-transform:none; color:var(--navy); border:1px solid var(--line); padding:11px 18px; border-radius:100px; cursor:pointer; transition:.25s; }
.segmented input:checked + label{ background:var(--navy); color:var(--cream); border-color:var(--navy); }
@media (max-width:640px){ .form-grid{ grid-template-columns:1fr; } }

/* Contact split */
.contact-split{ display:grid; grid-template-columns:1fr 1.3fr; gap:clamp(40px,6vw,80px); align-items:start; }
.contact-info .ci-item{ padding:22px 0; border-top:1px solid var(--line); }
.contact-info .ci-item:last-child{ border-bottom:1px solid var(--line); }
.contact-info .ci-k{ font-family:var(--mono); font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--bronze-dk); margin-bottom:7px; }
.contact-info .ci-v{ font-size:17px; color:var(--navy); }
@media (max-width:820px){ .contact-split{ grid-template-columns:1fr; gap:40px; } }

/* CTA band (interior) */
.cta-band{ background:var(--navy); color:var(--cream); position:relative; overflow:hidden; }
.cta-band .bp{ position:absolute; inset:0; opacity:.5; }
.cta-band .inner{ position:relative; text-align:center; padding-block:clamp(70px,8vw,120px); }
.cta-band h2{ font-size:clamp(32px,4.6vw,60px); color:var(--cream); }
.cta-band h2 .amber{ color:var(--bronze-lt); font-style:italic; font-weight:500; }
.cta-band p{ color:var(--cream-dim); max-width:54ch; margin:22px auto 36px; font-size:18px; }
.cta-band .btns{ display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }
