/* Homepage refinement and progressive enhancement. */
.hero-art figure { position:relative; }
.hero-art img { position:absolute;inset:0;object-position:50% 43%; }
.hero-grid > *, .method-grid > *, .candidate-grid > *, .identity-grid > * { min-width:0; }
.hero-grid > *, .audience-grid > *, .method-grid > *, .candidate-grid > *, .identity-grid > *, .identity-facts > *, .expertise-panel > * { margin-block-start:0; }
.article-cover{justify-content:flex-start;align-items:flex-end;background:#e5ecf2;padding:28px;border-top:0}
.article-cover span{font-size:clamp(26px,2.5vw,38px);line-height:1.15;color:var(--deep);letter-spacing:-.035em;max-width:240px}
.article-card:nth-child(2) .article-cover{background:#f1ede6;border-top-color:#bd6416}
.article-card:nth-child(3) .article-cover{background:#e6ede9;border-top-color:#315d4b}
.hero-copy h1 { text-wrap:balance; }
.hero-copy .lead { text-wrap:pretty; }
.home-hero .hero-copy { animation:twoi-arrive .65s var(--ease) both; }
.home-hero .hero-art { animation:twoi-arrive .85s var(--ease) both; }
@keyframes twoi-arrive { from{transform:translateY(12px)} to{transform:translateY(0)} }
@media(min-width:641px) and (max-width:900px) {
 .hero-grid{grid-template-columns:1fr;gap:38px}
 .hero-copy{padding-bottom:0}
 .hero-copy h1{max-width:680px;font-size:58px}
 .hero-copy .lead{max-width:580px}
 .hero-copy .wp-block-buttons{flex-direction:row}
 .hero-art,.hero-art figure,.hero-art img{height:430px;min-height:430px}
 .hero-note{max-width:310px;left:24px;bottom:24px}
}
@media(max-width:640px){.hero-note{max-width:245px;padding:18px 22px}.hero-art img{object-position:50% 35%}}
@media(prefers-reduced-motion:reduce){.home-hero .hero-copy,.home-hero .hero-art{animation:none}}
@media (max-width: 900px) {
  html:not(.js-nav) .menu-toggle {
    display: none;
  }
  html:not(.js-nav) .header-inner {
    height: auto;
    flex-wrap: wrap;
    padding-block: 16px;
  }
  html:not(.js-nav) .primary-navigation {
    display: flex;
    position: static;
    width: 100%;
    max-height: none;
    box-shadow: none;
    padding: 16px 0;
    flex-direction: column;
    align-items: stretch;
  }
  html:not(.js-nav) .site-header {
    position: relative;
  }
}
.candidate-links .resource-links {
  margin: 0;
}
.candidate-links .resource-links li {
  border: 0;
}
.candidate-links .resource-links a {
  font-size: 21px;
}
.pagination .nav-links {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.comment-form input:not([type="checkbox"]),
.comment-form textarea {
  max-width: 100%;
  padding: 12px;
  border: 1px solid var(--line);
}
.comment-form label {
  display: block;
  font-size: 15px;
}
.comment-form textarea {
  width: 100%;
}
.comment-list {
  padding: 0;
  list-style: none;
}
.comment-list .comment {
  padding: 20px 0;
  border-top: 1px solid var(--line);
}

/* Editorial system — shared spacing and alignment, varied page compositions. */
.service-hero{padding:64px 0 52px;background:#f5f7f8;border-bottom:1px solid var(--line)}
.service-hero h1{max-width:990px;font-size:clamp(40px,5.1vw,72px);line-height:1.07;letter-spacing:-.045em;color:var(--deep);font-weight:400}
.service-hero-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-top:32px}
.service-hero-bottom .lead{max-width:530px;margin:0}
.service-hero-bottom .wp-block-buttons{margin:0;flex-shrink:0}
.service-image-wrap{margin-top:48px}
.editorial-photo{margin:0;overflow:hidden;position:relative}
.editorial-photo img{display:block;width:100%;height:auto;object-fit:cover}
.service-photo{aspect-ratio:2.4;max-height:480px}
.service-photo img{height:100%;object-position:50% 42%}
.scope-layout{display:grid;grid-template-columns:.92fr 1fr;gap:100px;align-items:start}
.scope-intro{position:sticky;top:135px}
.scope-intro .lead{font-size:19px;line-height:1.7}
.scope-row{padding:0 0 34px;margin:0 0 34px;border-bottom:1px solid var(--line)}
.scope-row:last-child{margin-bottom:0}
.scope-row h3{font-size:25px;line-height:1.25;color:var(--deep);font-weight:500;letter-spacing:-.02em}
.scope-row p{margin-bottom:0;color:var(--muted)}
.brief-section{background:#f4f1eb}
.brief-sheet{padding:38px;background:#fff;border-top:3px solid var(--orange)}
.brief-list{padding:0;list-style:none;counter-reset:brief}
.brief-list li{position:relative;counter-increment:brief;padding:16px 0 16px 42px;border-bottom:1px solid var(--line);line-height:1.5}
.brief-list li:before{content:counter(brief,decimal-leading-zero);position:absolute;left:0;color:var(--blue);font-size:13px;font-weight:700;top:19px}
.faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;align-items:start}
.faq-list .wp-block-details{padding:24px 0;border-top:1px solid var(--line);margin:0}
.faq-list .wp-block-details:last-child{border-bottom:1px solid var(--line)}
.faq-list summary{font-size:20px;line-height:1.4;font-weight:500;color:var(--deep);cursor:pointer;padding-right:24px;min-height:28px}
.faq-list .wp-block-details p{margin:20px 0 0;color:var(--muted)}
.faq-list summary::marker{color:var(--blue)}
.related-expertise{padding-top:0}
.related-expertise .wp-block-buttons{gap:12px 20px}
.resource-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}
.resource-index{position:sticky;top:135px;align-self:start}
.resource-chapters{counter-reset:chapters}
.resource-chapter{counter-increment:chapters;border-top:1px solid var(--line);padding:30px 0;margin:0}
.resource-chapter:before{content:counter(chapters,decimal-leading-zero);font-size:13px;font-weight:700;color:var(--blue);display:block;margin-bottom:16px}
.resource-chapter h2{font-size:29px;line-height:1.22}
.candidate-path{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start}
.candidate-checklist{padding:40px;background:#f0f4f6;border-left:0}
.candidate-checklist h3{font-size:26px}
.requirement-note{max-width:900px;margin-left:max(24px,calc((100% - 1240px)/2));border-left:3px solid var(--orange);padding:10px 28px}
.article-service{max-width:780px;padding:32px;margin:40px auto;border-top:0;background:#f2f5f7}
.article-service h2{font-size:28px}
.article-service p:last-child{margin-bottom:0}
.article-next{background:#f4f1eb}
.footer-menu{display:flex;flex-wrap:wrap;gap:20px;list-style:none;margin:0;padding:0}
.footer-intro .custom-logo{width:67px;height:auto}
.scope-layout>*,.service-hero-bottom>*,.faq-layout>*,.resource-layout>*,.candidate-path>*{min-width:0;margin-block-start:0}

/* A quiet, light candidate chapter. Blue carries hierarchy; orange is an accent. */
.candidate-section{background:#f1eee7;color:var(--deep);border-block:1px solid #e0ddd6}
.candidate-section h2,.candidate-section .eyebrow{color:var(--blue)}
.candidate-section .lead{color:#4d5965}
.candidate-section .wp-block-button__link{background:var(--blue);border-color:var(--blue);color:white}
.candidate-section .is-style-outline .wp-block-button__link{background:transparent;border-color:var(--blue);color:var(--blue)}
.candidate-section .resource-links a{color:var(--deep);border-color:#ccd2d5}
.candidate-section .resource-links a:hover{color:var(--blue)}

/* Approved photo slots replace the graphic panel without moving its text. */
.expertise-panel__visual:before,.expertise-panel__visual:after{display:none}
.expertise-label{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:space-between;flex:1;gap:48px}
.expertise-panel__visual.has-photo{background:var(--deep);padding:32px}
.expertise-photo{position:absolute;inset:0;width:100%;height:100%;margin:0!important}
.expertise-photo img{height:100%;object-position:center}
.expertise-panel__visual.has-photo:after{display:block;position:absolute;inset:0;transform:none;width:100%;height:100%;border:0;background:linear-gradient(180deg,#071a2b60 0%,#071a2b08 42%,#071a2bba 100%);z-index:0}
.expertise-panel__visual.has-photo h3{color:white;font-size:clamp(36px,4.2vw,58px);max-width:360px}
.expertise-panel__visual.has-photo p{color:white;font-size:15px}

/* Motion remains optional: content is always visible in the initial HTML. */
.reveal-ready{opacity:1!important;transform:translateY(20px);transition:transform .75s var(--ease)}
.reveal-ready.is-visible{transform:translateY(0)}
.wp-block-details[open]>p{animation:twoi-arrive .25s var(--ease)}
.service-row h3 a,.article-card :is(h2,h3) a{transition:color .2s ease}
.partner-logo img{transition:opacity .2s ease}
@supports(animation-timeline:scroll()){
 @media(prefers-reduced-motion:no-preference){
  body.twoi-site:before{content:"";position:fixed;inset:0 auto auto 0;height:3px;width:100%;background:var(--orange);transform-origin:0 50%;z-index:1000;pointer-events:none;animation:twoi-progress linear both;animation-timeline:scroll(root)}
  @keyframes twoi-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
 }
}
@supports(animation-timeline:view()){
 @media(min-width:901px) and (prefers-reduced-motion:no-preference){
  .service-photo img{animation:twoi-photo-drift linear both;animation-timeline:view();animation-range:entry 0% exit 100%}
  @keyframes twoi-photo-drift{from{transform:scale(1.08) translateY(-1.5%)}to{transform:scale(1.08) translateY(1.5%)}}
  .hero-art img{animation:twoi-hero-frame linear both;animation-timeline:view();animation-range:exit 0% exit 100%}
  @keyframes twoi-hero-frame{from{transform:scale(1)}to{transform:scale(1.045)}}
 }
}
@media(max-width:1180px){.service-hero-bottom{align-items:flex-start;flex-direction:column;gap:20px}.scope-layout,.faq-layout,.resource-layout,.candidate-path{gap:48px}}
@media(max-width:900px){.scope-layout,.faq-layout,.resource-layout,.candidate-path{grid-template-columns:1fr;gap:36px}.scope-intro,.resource-index{position:static}.scope-intro .lead{max-width:700px}.scope-rows{display:grid;grid-template-columns:1fr;gap:0}.service-photo{aspect-ratio:1.65}.partner-heading{align-items:flex-start;flex-direction:column;gap:10px}.partner-group{gap:40px}.service-hero{padding:42px 0}.faq-list summary{font-size:19px}.article-service{margin-inline:24px}.requirement-note{margin-inline:24px}.expertise-label{gap:32px}}
@media(max-width:640px){.service-hero-bottom .wp-block-buttons{width:100%;flex-direction:column}.service-hero-bottom .wp-block-button{width:100%}.service-hero-bottom .wp-block-button__link{width:100%}.brief-sheet,.candidate-checklist{padding:24px}.scope-row h3{font-size:23px}.partner-logo{flex-basis:124px;max-width:124px;height:44px}.partner-logo img{max-height:44px}.partner-rail.is-animated .partner-group{min-width:820px;gap:36px}.motion-toggle{min-height:38px}.partner-rail{padding-bottom:44px}.expertise-panel__visual.has-photo{min-height:320px;padding:24px}.expertise-label h3{font-size:38px!important}.faq-list summary{padding-block:6px}.resource-chapter h2{font-size:27px}.service-image-wrap{margin-top:28px}}
@media(prefers-reduced-motion:reduce){.reveal-ready,.reveal-ready.is-visible{transform:none;transition:none}.partner-track{animation:none!important}.wp-block-details[open]>p{animation:none}}
@media print{.partner-group[aria-hidden],.motion-toggle{display:none!important}.partner-track{animation:none!important;transform:none!important}.scope-intro,.resource-index{position:static}.reveal-ready{transform:none}.partner-rail{overflow:visible}}

.team-section{background:#f7f8f9}.team-row{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;border-top:1px solid var(--line);padding:32px 0;margin:0}.team-row h3{font-size:27px;font-weight:400;letter-spacing:-.025em}.team-row .eyebrow{margin:12px 0 0;font-size:12px}.team-row>p{max-width:480px;color:var(--muted);margin:0}.team-row>div{margin:0}.team-list{border-bottom:1px solid var(--line)}@media(max-width:640px){.team-row{grid-template-columns:1fr;gap:16px;padding:26px 0}.team-row h3{font-size:25px}}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.form-grid>*{min-width:0}.wpcf7 label span:not(.wpcf7-form-control-wrap){font-size:13px;font-weight:400}.wpcf7 select{width:100%;max-width:100%;min-height:48px;padding:12px;border:1px solid #a7b7c4;border-radius:2px;background:#fff;color:var(--deep);font:inherit}.wpcf7 input,.wpcf7 textarea{scroll-margin-top:120px}.wpcf7 .wpcf7-not-valid-tip{color:#a22121;font-size:14px;line-height:1.5;margin-top:6px}.wpcf7 form .wpcf7-response-output{margin:24px 0;padding:16px;line-height:1.6}.wpcf7 form.sent .wpcf7-response-output{border-color:#31734c}.wpcf7 input[type=submit]:disabled{opacity:.65;cursor:wait}@media(max-width:640px){.form-grid{grid-template-columns:1fr;gap:0}}

/* Image-led chapters: desktop editorial split, deliberate mobile crops. */
.page-hero-scene{background:#f7f8f9;border-bottom:1px solid var(--line)}
.page-hero--split{display:grid;grid-template-columns:1.12fr 1fr;gap:64px;align-items:center;padding-block:60px 72px}
.page-hero--split>*{min-width:0;margin-block-start:0}
.page-hero--split h1{font-size:clamp(38px,4.4vw,62px);line-height:1.08;letter-spacing:-.04em;max-width:640px}
.page-hero--split .lead{font-size:20px;line-height:1.65;max-width:590px}
.page-hero-photo{height:460px;border-radius:2px;align-self:stretch}
.page-hero-photo img{height:100%;object-position:50% 40%}
.page-hero-copy .wp-block-buttons{margin-top:28px}
.contact-photo{height:200px;margin:0 0 28px;border-radius:2px}
.contact-photo img{height:100%}
.service-photo{aspect-ratio:2;max-height:620px}
.service-photo img{object-position:50% 25%}
.expertise-panel__visual.has-photo:after{background:linear-gradient(180deg,#061e36b3 0%,#061e3614 48%,#061e36db 100%)}
@media(max-width:1024px){.page-hero--split{gap:36px;grid-template-columns:1.05fr 1fr}.page-hero-photo{height:440px}.page-hero--split .lead{font-size:18px}}
@media(max-width:768px){.page-hero--split{grid-template-columns:1fr;gap:30px;padding-block:36px 44px}.page-hero--split h1{max-width:680px}.page-hero-photo{height:350px;max-height:none}.page-hero-photo img{object-position:50% 32%}.page-hero-copy .wp-block-buttons{margin-top:22px}.service-photo{aspect-ratio:1.6}}
@media(max-width:430px){.page-hero-photo{height:290px}.page-hero--split h1{font-size:37px}.page-hero--split .lead{font-size:17px}.service-photo{aspect-ratio:1.35}}
@media(max-width:360px){.page-hero--split h1{font-size:33px}.page-hero-photo{height:250px}}
/* Keep the logo pace independent of very wide screens and wrap the static row. */
.partner-rail.is-animated .partner-group{min-width:var(--wrap)}
.partner-rail:not(.is-animated) .partner-group{width:100%;flex:1 1 100%}
.requirement-note{max-width:calc(var(--wrap) + var(--gutter) * 2);margin-inline:auto;padding-inline:var(--gutter);border:0}
.requirement-note .lead{max-width:760px;border-left:3px solid var(--orange);padding-left:24px}
@media(max-width:640px){.partner-rail.is-animated .partner-group{min-width:820px}}

.turnaround-note{padding:24px 0;margin:28px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.turnaround-note>.eyebrow{font-size:12px;margin-bottom:18px}.turnaround-note>.eyebrow:before{display:none}
.turnaround-values{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:0 0 18px}.turnaround-values>*{margin:0;min-width:0}.turnaround-values .small{margin:0 0 8px;color:var(--muted)}.turnaround-value{font-size:clamp(24px,2.2vw,34px);line-height:1.15;letter-spacing:-.035em;color:var(--blue);font-weight:500;margin:0}.turnaround-note>.small{color:var(--muted);max-width:470px;font-size:12px;line-height:1.6}
@media(max-width:360px){.turnaround-values{grid-template-columns:1fr;gap:16px}}

/* RC2: containers own horizontal geometry; sections own vertical rhythm. */
.page-content > .wp-block-group.wrap{margin-inline:auto}
.wrap.page-hero{padding-inline:var(--gutter)}
.utility-hero{background:#f7f8f9;border-bottom:1px solid var(--line)}
.utility-hero .page-hero{padding-block:40px 48px}
.utility-hero h1{max-width:950px;font-size:clamp(34px,4.6vw,64px);font-weight:400;line-height:1.12;letter-spacing:-.035em;text-wrap:balance}
.utility-hero .lead{max-width:760px;font-size:clamp(17px,1.6vw,22px)}
.twoi-page-contact-us .page-content>.wrap:last-child{padding-block:28px 0}
.twoi-page-contact-us .page-content>.wrap:last-child .wp-block-buttons{margin-block:0}
.page-content>.requirement-note{padding-block:30px 0}
.requirement-note .lead{font-size:18px;line-height:1.6}
.contact-layout>*{min-width:0}
.contact-layout{gap:clamp(28px,5vw,80px)}
.search-form,.search-form label,.archive-tools>*{min-width:0}
.prose{overflow-wrap:anywhere}
.prose :is(img,video,iframe){max-width:100%}
.wp-block-table{overflow-x:auto}
.wp-block-button,.button{max-width:100%}
.team-section .section-heading{align-items:center}
.team-section .section-heading>.wp-block-buttons{margin-block:0;flex-shrink:0}
/* One native image + identity + bio; no hard-coded maximum team size. */
.team-row{grid-template-columns:140px minmax(190px,.85fr) minmax(0,1.15fr);gap:36px;align-items:center;padding-block:30px}
.team-portrait{width:140px;aspect-ratio:4/5;margin:0!important;position:relative;overflow:hidden;border-radius:2px;background:#e9eef2}
.team-portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.team-identity{min-width:0}
.team-role{font-size:14px;line-height:1.5;color:var(--blue);margin:12px 0 0}
.team-bio{font-size:17px;line-height:1.7;max-width:520px;min-width:0}
.team-row h3{font-size:clamp(23px,2.1vw,29px);line-height:1.25;margin:0;overflow-wrap:break-word}
@media(max-width:900px){.team-row{grid-template-columns:110px minmax(0,1fr);gap:18px 28px}.team-portrait{width:110px;grid-row:span 2;align-self:start}.team-bio{grid-column:2;max-width:none}.team-role{margin-top:8px}.team-section .section-heading{align-items:flex-start}.utility-hero .page-hero{padding-block:28px 36px}}
@media(max-width:640px){.team-row{grid-template-columns:80px minmax(0,1fr);gap:12px 20px;padding-block:24px}.team-portrait{width:80px}.team-bio{font-size:15px}.team-row h3{font-size:23px}.team-role{font-size:13px}.team-section .section-heading{flex-direction:column;gap:20px}.utility-hero h1{font-size:clamp(32px,7.5vw,42px)}.requirement-note .lead{font-size:16px;padding-left:18px}.contact-layout{padding-top:36px}.empty-state{padding:28px 20px}}

/* RC2: purpose-specific motion, all readable content visible without JS. */
.motion-ready{--motion-delay:0ms;--motion-duration:650ms}
.motion-ready[data-motion="settle"],.motion-ready[data-motion="chapter"]{transform:translateY(12px);transition:transform var(--motion-duration) var(--ease) var(--motion-delay)}
.motion-ready.is-in[data-motion="settle"],.motion-ready.is-in[data-motion="chapter"]{transform:none}
.motion-ready[data-motion="frame"] img{transform:scale(1.035);transition:transform 900ms var(--ease) var(--motion-delay)}
.motion-ready.is-in[data-motion="frame"] img{transform:scale(1)}
.motion-ready[data-motion="checklist"] li{transform:translateX(8px);transition:transform 500ms var(--ease)}
.motion-ready.is-in[data-motion="checklist"] li{transform:none}
.motion-ready[data-motion="checklist"] li:nth-child(2){transition-delay:60ms}
.motion-ready[data-motion="checklist"] li:nth-child(3){transition-delay:120ms}
.motion-ready[data-motion="checklist"] li:nth-child(4){transition-delay:180ms}
.contact-details:focus-within{outline:2px solid var(--blue);outline-offset:6px}
.wpcf7 :is(input,textarea,select):focus{outline:2px solid var(--blue);outline-offset:3px;border-color:var(--blue)}
.article-card__image img{transition:transform 700ms var(--ease)}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.article-card:hover .article-card__image img{transform:scale(1.035)}}
@media(max-width:640px){.motion-ready{--motion-duration:420ms}.motion-ready[data-motion="settle"],.motion-ready[data-motion="chapter"]{transform:translateY(6px)}.motion-ready.is-in[data-motion="settle"],.motion-ready.is-in[data-motion="chapter"]{transform:none}}
@media(prefers-reduced-motion:reduce){.motion-ready,.motion-ready *{animation:none!important;transition:none!important;transform:none!important}.motion-ready::after{display:none!important}.article-card__image img{transition:none!important;transform:none!important}}
@media print{.motion-ready,.motion-ready *{animation:none!important;transition:none!important;transform:none!important}.motion-ready::after{display:none}}
@media(min-width:901px) and (max-width:1180px){.header-inner{gap:20px}.primary-navigation{gap:22px;min-width:0}.nav-list{gap:20px}.header-cta{padding-inline:16px;gap:14px;font-size:14px}}
