/* Celestial: one visual story for continuous improvement, people and delivery. */
.agents-inner{max-width:var(--max);margin-inline:auto;padding-inline:clamp(24px,5vw,76px);min-width:0}
.agents-eyebrow{display:block;margin:0 0 22px;color:#ad3d1e;font-size:.875rem;font-weight:600;letter-spacing:.11em;line-height:1.5}
.agent-coverage,.agent-portfolio{scroll-margin-top:28px}
.agent-coverage{padding-block:94px 55px;background:#fff}
.coverage-heading{display:grid;grid-template-columns:minmax(0,1fr) 218px;gap:52px;align-items:center;margin-bottom:56px}
.coverage-copy{min-width:0}
.coverage-heading h2,.portfolio-heading h2{font-family:Adelle,Georgia,serif;font-size:clamp(2.6rem,4.1vw,4.1rem);font-weight:400;line-height:1.1;letter-spacing:-.045em;margin:0;text-wrap:balance}
.coverage-heading h2 em,.portfolio-heading h2 em{font-style:normal;color:#a74022}
.coverage-copy>p:last-child{max-width:720px;margin:24px 0 0;font-size:1.125rem;line-height:1.65;color:#52616b}
.kaizen-mark{display:flex;flex-direction:column;align-items:center;justify-content:center;width:218px;aspect-ratio:1;border:1px solid #dfaa96;border-radius:50%;outline:1px solid #f1dcd3;outline-offset:10px;background:#fff9f5;flex-shrink:0}
.kaizen-kanji{font-family:"Hiragino Mincho ProN","Yu Mincho","Noto Serif CJK JP","MS Mincho",serif;font-size:5rem;line-height:1.25;font-weight:500;letter-spacing:.025em;color:#ad492a}
.kaizen-name{font-size:.875rem;letter-spacing:.24em;font-weight:600;margin-top:10px;color:#93472f}
.kaizen-meaning{font-size:.875rem;line-height:1.5;margin-top:3px;color:#6b564b}
.industry-feed{border-block:1px solid #d8e1e8;padding-top:16px;scroll-margin-top:28px;min-width:0}
.industry-feed-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}
.industry-feed-heading h3{font-size:.875rem;line-height:1.5;letter-spacing:.09em;color:#51687a;font-weight:500;margin:0}
.industry-playback{display:inline-flex;align-items:center;gap:7px;min-height:44px;border:0;background:transparent;font:inherit;font-size:.875rem;color:#52616b;padding:5px 0;cursor:pointer}
.industry-playback[hidden]{display:none}
.industry-playback>span:first-child{width:16px;text-align:center}
.industry-playback:hover{color:#a74022}
.industry-playback:focus-visible,.industry-viewport:focus-visible{outline:3px solid #527da5;outline-offset:3px}
.industry-viewport{overflow-x:auto;overscroll-behavior-x:contain;min-width:0;scrollbar-width:thin;scrollbar-color:#c2d0db transparent}
.industry-track{display:flex;width:max-content;min-width:100%}
.industry-group{display:flex;align-items:center;gap:42px;flex-shrink:0;list-style:none;margin:0;padding:15px 42px 23px 0;width:max-content}
.industry-group li{display:flex;align-items:center;gap:16px;font-family:Adelle,Georgia,serif;font-size:1.65rem;line-height:1.4;letter-spacing:-.025em;white-space:nowrap}
.industry-spark{display:block;width:10px;height:10px;border:1.5px solid #c56845;transform:rotate(45deg);flex-shrink:0}
.industry-group li:nth-child(even) .industry-spark{border-color:#6486aa;background:#e7eef7}
.business-types{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-block:27px 34px}
.business-type{display:flex;align-items:center;justify-content:center;gap:13px;padding:12px 20px;min-width:0;border-right:1px solid #d8e1e8}
.business-type:last-child{border:0}
.business-type svg{width:26px;height:26px;flex-shrink:0;color:#496e91}
.business-type:nth-child(2) svg{color:#b45433}
.business-type strong{font-size:1.125rem;font-weight:500}
.business-type>span{font-size:.875rem;color:#536572}
.approach-panel{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.6fr);border:1px solid #d3dfeb;border-radius:18px;overflow:hidden;scroll-margin-top:28px}
.approach-people{background:#263238;color:#fff;padding:33px 29px}
.approach-people .agents-eyebrow{color:#b4cce8;margin-bottom:17px}
.approach-people h3,.approach-delivery h3{font-family:Adelle,Georgia,serif;font-size:clamp(1.9rem,2.5vw,2.6rem);font-weight:400;letter-spacing:-.04em;line-height:1.15;margin:0;text-wrap:balance}
.approach-skills{display:grid;gap:23px;list-style:none;padding:0;margin:30px 0 0}
.approach-skills li{display:flex;align-items:flex-start;gap:13px;min-width:0}
.approach-skill-icon{display:grid;place-items:center;background:#354650;border:1px solid #5f7686;border-radius:9px;flex-shrink:0;width:36px;height:36px;color:#b4cce8}
.approach-skill-icon svg{width:21px;height:21px}
.approach-skills strong{display:block;font-size:1rem;font-weight:500;line-height:1.4;margin:0 0 5px}
.approach-skills li>div>span{display:block;font-size:.875rem;line-height:1.5;color:#c9d6e1}
.approach-delivery{background:#edf3fa;padding:33px 37px}
.approach-delivery .agents-eyebrow{color:#4c6b89;margin-bottom:17px}
.approach-delivery h3 em{font-style:normal;color:#a74022}
.approach-stages{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;list-style:none;margin:32px 0 0;padding:0}
.approach-stages:before{content:"";position:absolute;top:27px;left:28px;right:28px;height:1px;background:linear-gradient(90deg,#d9a88d,#8aabc9)}
.approach-stages li{min-width:0;position:relative}
.approach-stage-icon{display:grid;place-items:center;position:relative;width:56px;height:56px;border-radius:50%;border:1px solid #dca485;background:#fff5ec;color:#a75030;margin-bottom:21px}
.approach-stage-icon svg{width:26px;height:26px}
.approach-stages li:nth-child(n+3) .approach-stage-icon{background:#e4edf8;border-color:#9cb4cb;color:#456b90}
.approach-week{display:block;font-size:.875rem;line-height:1.5;color:#526575}
.approach-stages h4{display:flex;align-items:baseline;gap:8px;font-size:1.25rem;line-height:1.4;letter-spacing:-.03em;font-weight:500;margin:8px 0}
.approach-stages h4>span{font-size:.875rem;color:#58748d;font-variant-numeric:tabular-nums;letter-spacing:0}
.approach-stages p{font-size:1rem;line-height:1.5;color:#526575;margin:0}
.approach-loop{display:flex;align-items:center;gap:10px;border-top:1px solid #cddbe8;padding-top:20px;margin-top:28px;color:#3b5d7b;font-size:1rem;line-height:1.5}
.approach-loop svg{width:20px;height:20px;flex-shrink:0;color:#a74022}
.approach-timing{font-size:.875rem;line-height:1.5;color:#5a6d7c;margin:9px 0 0 30px}
.approach-portfolio-note{font-size:1rem;line-height:1.6;color:#52616b;text-align:center;margin:26px 0 0}
.agents-people{padding-top:85px;border-top:0}
.agents-people .team-heading{gap:55px;margin-bottom:45px}
.agents-people .team-heading h2{font-size:clamp(2.5rem,4vw,3.75rem)}
.agents-people .team-heading .eyebrow{font-size:.875rem;letter-spacing:.1em}
.agents-people .team-heading>p{font-size:1rem;line-height:1.65}
.person-featured img{height:auto;object-position:center top}
.person-featured img,.person-featured:hover img{filter:none}

/* A horizontal portfolio with a visible next card and a controllable rhythm. */
.agent-portfolio{background:#edf2f8;border-block:1px solid #dce5ef;padding-block:94px 65px;overflow:hidden}
.portfolio-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:40px}
.portfolio-heading h2{font-size:clamp(2.7rem,4.5vw,4.5rem)}
.portfolio-heading h2 em{color:#4a6a8b}
.portfolio-heading>div>p:last-child{font-size:1.125rem;line-height:1.6;color:#526575;margin:22px 0 0;max-width:650px}
.portfolio-controls{display:flex;align-items:center;gap:24px;flex-shrink:0;margin-bottom:3px}
.portfolio-controls[hidden]{display:none}
.portfolio-controls button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;font:inherit;color:#263238;cursor:pointer}
.portfolio-playback{background:transparent;border:0;padding:10px 0;gap:8px;font-size:.875rem!important;white-space:nowrap}
.portfolio-playback>span:first-child{width:17px;font-size:1rem;color:#486784}
.portfolio-playback:hover{color:#9c4328}
.portfolio-nav{display:flex;gap:8px}
.portfolio-nav button{width:46px;border:1px solid #9eb1c1;border-radius:50%;background:transparent;font-size:1.375rem;transition:background .2s,color .2s}
.portfolio-nav button:hover{background:#263238;color:#fff;border-color:#263238}
.portfolio-controls button:focus-visible,.portfolio-track:focus-visible{outline:3px solid #527da5;outline-offset:4px}
.portfolio-window{min-width:0}
.portfolio-track{position:relative;display:flex;gap:18px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:3px;padding:5px 3px 22px;scrollbar-width:thin;scrollbar-color:#9bb1c6 transparent;min-width:0}
.portfolio-agent{--card-accent:#748da9;--card-tint:#f1f5fa;flex:0 0 clamp(20rem,29vw,24rem);display:flex;flex-direction:column;min-width:0;min-height:432px;border:1px solid #cfdbe5;border-top:3px solid var(--card-accent);border-radius:15px;background:#fff;scroll-snap-align:start;scroll-snap-stop:normal;overflow:hidden}
.portfolio-agent[data-tone="talent"]{--card-accent:#9ebadf;--card-tint:#f1f5fb}
.portfolio-agent[data-tone="process"]{--card-accent:#b99378;--card-tint:#faf4ef}
.portfolio-agent[data-tone="finance"]{--card-accent:#758b8e;--card-tint:#f0f5f5}
.portfolio-agent[data-tone="health"]{--card-accent:#c8866d;--card-tint:#fcf1eb}
.portfolio-agent[data-tone="field"]{--card-accent:#668fa9;--card-tint:#eef5f8}
.portfolio-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:22px 23px 0;min-height:65px}
.portfolio-category{font-size:.875rem;line-height:1.4;color:#4b647b;max-width:180px}
.portfolio-status{font-size:.875rem;font-weight:500;line-height:1.4;padding:5px 9px;border:1px solid;border-radius:999px;flex-shrink:0}
.portfolio-status.is-launched{color:#276049;background:#eef7f0;border-color:#c7ded1}
.portfolio-status.is-mvp{color:#835823;background:#fff6e9;border-color:#ead7b9}
.portfolio-card-body{padding:21px 24px 26px;flex:1}
.portfolio-card-number{display:block;font-size:.875rem;font-variant-numeric:tabular-nums;color:#70818d;margin-bottom:15px}
.portfolio-card-body h3{font-family:Adelle,Georgia,serif;font-size:1.9rem;font-weight:400;line-height:1.15;letter-spacing:-.03em;margin:0 0 17px;min-height:2.3em;text-wrap:balance}
.portfolio-card-body>p{font-size:1rem;line-height:1.65;color:#556774;margin:0}
.portfolio-impact{padding:21px 24px 24px;background:var(--card-tint);border-top:1px solid #e0e7ed;min-height:138px}
.portfolio-impact>span{display:block;font-size:.75rem;letter-spacing:.08em;font-weight:500;color:#607383;margin-bottom:9px}
.portfolio-impact strong{font-size:1.125rem;line-height:1.4;font-weight:500;letter-spacing:-.02em;display:block}
.portfolio-impact p{font-size:.875rem;line-height:1.5;margin:5px 0 0;color:#586d7b}
.portfolio-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:21px;font-size:.875rem;line-height:1.5;color:#526575;flex-wrap:wrap}
.portfolio-position{display:flex;align-items:center;gap:12px;font-variant-numeric:tabular-nums}
.portfolio-position>[data-portfolio-position]{color:#263238;min-width:40px}
.portfolio-position-line{width:100px;height:2px;background:#c6d4e1}
.portfolio-position-line i{display:block;width:27.27%;height:100%;background:#527698;transition:width .3s}
.portfolio-scroll-hint>span{margin-left:8px}
.agents-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}


@media(min-width:1600px){.portfolio-agent{flex-basis:24rem}}
@media(max-width:1180px){
  .coverage-heading{grid-template-columns:minmax(0,1fr) 180px;gap:35px}
  .kaizen-mark{width:180px}
  .kaizen-kanji{font-size:4.3rem}
  .kaizen-meaning{font-size:.8125rem}
  .approach-panel{grid-template-columns:1fr}
  .approach-people{padding:30px 32px}
  .approach-people h3 br{display:none}
  .approach-skills{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:25px}
  .approach-delivery{padding:32px}
  .portfolio-heading{align-items:flex-start}
  .portfolio-controls{padding-top:38px;flex-direction:column;gap:12px}
}
@media(max-width:850px){
  .coverage-heading{grid-template-columns:1fr;gap:30px;margin-bottom:35px}
  .coverage-heading h2{font-size:clamp(2.6rem,5.4vw,3.3rem)}
  .kaizen-mark{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:17px;justify-content:start;align-items:start;width:max-content;aspect-ratio:auto;border:0;outline:0;border-radius:0;background:transparent}
  .kaizen-kanji{grid-row:1/span 2;font-size:3.6rem;line-height:1.1}
  .kaizen-name{align-self:end;margin:0}
  .kaizen-meaning{font-size:.875rem;margin-top:5px}
  .business-type{flex-wrap:wrap;gap:8px 12px;padding-inline:10px}
  .business-type>span{flex-basis:100%;text-align:center}
  .approach-stages{grid-template-columns:1fr;gap:25px;margin-top:27px}
  .approach-stages:before{left:27px;right:auto;top:27px;bottom:40px;width:1px;height:auto;background:linear-gradient(#d9a88d,#8aabc9)}
  .approach-stages li{display:grid;grid-template-columns:56px minmax(0,1fr);column-gap:20px}
  .approach-stage-icon{grid-row:1/span 3;margin-bottom:0}
  .approach-week,.approach-stages h4,.approach-stages p{grid-column:2}
  .approach-stages h4{font-size:1.3rem;margin:3px 0 5px}
  .agents-people .team-heading{gap:25px}
}
@media(max-width:620px){
  .agents-inner{padding-inline:20px}
  .agent-coverage{padding-block:62px 40px}
  .agents-eyebrow{font-size:.875rem;letter-spacing:.065em;margin-bottom:19px}
  .coverage-heading h2,.portfolio-heading h2{font-size:clamp(2.3rem,8.5vw,3rem);line-height:1.12}
  .coverage-heading h2 br{display:none}
  .coverage-copy>p:last-child{font-size:1rem;margin-top:22px}
  .industry-group{gap:26px;padding:13px 26px 20px 0}
  .industry-group li{font-size:1.4rem;gap:14px}
  .industry-feed-heading h3{font-size:.8125rem;letter-spacing:.065em}
  .business-types{grid-template-columns:1fr;margin-block:16px 24px}
  .business-type{justify-content:start;flex-wrap:nowrap;padding:14px 2px;border-right:0;border-bottom:1px solid #e1e8ee;gap:14px}
  .business-type>span{flex-basis:auto;margin-left:auto;text-align:right}
  .approach-panel{border-radius:14px}
  .approach-people,.approach-delivery{padding:28px 24px}
  .approach-people h3,.approach-delivery h3{font-size:2.15rem}
  .approach-people h3 br{display:block}
  .approach-skills{grid-template-columns:1fr;gap:22px}
  .approach-loop{align-items:flex-start;font-size:1rem}
  .approach-loop svg{margin-top:2px}
  .approach-timing{margin-left:0}
  .approach-portfolio-note{font-size:.875rem;max-width:310px;margin-inline:auto}
  .agent-portfolio{padding-block:62px 40px}
  .portfolio-heading{display:block;margin-bottom:27px}
  .portfolio-heading>div>p:last-child{font-size:1rem;margin-top:20px}
  .portfolio-controls{padding-top:24px;flex-direction:row;justify-content:space-between;gap:16px}
  .portfolio-agent{flex-basis:calc(100% - 23px);min-height:415px}
  .portfolio-track{gap:12px}
  .portfolio-card-top{padding-inline:21px}
  .portfolio-card-body{padding:19px 22px 25px}
  .portfolio-card-body h3{font-size:1.85rem}
  .portfolio-impact{padding-inline:22px}
  .portfolio-footer{gap:16px 8px;margin-top:18px}
  .portfolio-position{gap:7px}
  .portfolio-position-line{width:45px}
  .portfolio-scroll-hint{display:none}
  .agents-people{padding-top:60px;padding-bottom:72px}
  .agents-people .team-heading{margin-bottom:34px}
  .agents-people .team-heading h2{font-size:2.5rem}
}
@media(max-width:360px){
  .agents-inner{padding-inline:15px}
  .approach-people,.approach-delivery{padding-inline:20px}
  .approach-stages li{column-gap:15px}
  .portfolio-card-top{gap:8px;padding-inline:18px}
  .portfolio-status{padding:5px 7px}
  .portfolio-card-body,.portfolio-impact{padding-inline:19px}
  .portfolio-position-line{width:30px}
}
@media(prefers-reduced-motion:reduce){
  .portfolio-track,.industry-viewport{scroll-behavior:auto}
  .portfolio-nav button,.portfolio-position-line i{transition:none}
}
