/* A consistent, tactile finish for the requested homepage sections. */
.section-line{display:none!important}
.hero-content .eyebrow{border:0;padding-left:0}
.hero-content{padding-bottom:100px}
.motion-control{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.motion-control:focus-visible{clip:auto;overflow:visible;width:auto;height:auto;left:30px;bottom:50px;z-index:10;padding:12px 18px;background:#fff;color:var(--navy);border:2px solid var(--copper);border-radius:4px}

/* Three clear service assurances, lifted from the photographic banner. */
.value-strip{background:#f4f6f7;border:0;padding:0 0 35px;position:relative;display:flow-root}
.value-strip>.container{position:relative;z-index:3;margin-top:-30px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;min-height:138px;padding:30px 28px;background:#fff;border:1px solid #e3e8ec;border-radius:9px;box-shadow:0 6px 0 #dfe5e933,0 18px 38px #15344713;align-items:center}
.value-item{display:flex;align-items:center;gap:18px;min-width:0;padding:0 25px}
.value-item+.value-item{border-left:1px solid #e3e8ec}
.value-icon{display:grid;place-items:center;flex:0 0 52px;width:52px;height:56px;color:var(--copper);background:#f9efea;border-radius:14px;box-shadow:inset 0 1px 0 #fff}
.value-icon svg{width:29px;height:29px}
.value-item strong{display:block;font-family:var(--font);font-size:15px;line-height:1.45;font-weight:650;letter-spacing:-.025em;color:var(--navy)}
.value-item p{margin:6px 0 0;font-size:12px;line-height:1.5;color:#657581}

/* Filled insignia and understated elevation give every principle its own presence. */
.approach-section{padding-block:80px 88px;background:#f3f5f7}
.approach-grid{gap:22px;align-items:stretch}
.approach-item,.approach-item:first-child,.approach-item:last-child{padding:29px 25px 28px;border:1px solid #e2e8ec!important;border-radius:10px;background:#fff;box-shadow:0 4px 0 #dce3e74d,0 10px 24px #15344707;transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}
.approach-item .item-top{float:none;display:grid;place-items:center;justify-content:center;align-content:center;width:68px;height:68px;margin:0 0 23px;border-radius:50%;color:#fff;background:var(--navy);box-shadow:0 5px 12px #17384b20,inset 0 1px 0 #ffffff30;transition:background .28s ease,box-shadow .28s ease}
.approach-item .item-top svg{width:38px;height:38px;transition:transform .3s ease}
.approach-item .item-top circle[fill]{fill:var(--navy);transition:fill .28s ease}
.approach-item h3{font-size:19px;margin-bottom:14px;min-height:0}
.approach-item p{margin:0;font-size:14px;line-height:1.85}
@media(hover:hover){
  .approach-item:hover,.js-reveal .approach-item.is-visible:hover{transform:translateY(-7px);border-color:#d6bdad!important;box-shadow:0 5px 0 #dfd7d03b,0 20px 34px #15344715}
  .approach-item:hover .item-top{background:var(--copper);box-shadow:0 7px 16px #c6552c25,inset 0 1px 0 #ffffff30}
  .approach-item:hover .item-top svg{transform:scale(1.08)}
  .approach-item:hover .item-top circle[fill]{fill:var(--copper)}
}

/* Raised accordion panels: an obvious, substantial interaction surface. */
.workflow-section{padding-block:90px;background:linear-gradient(115deg,#102d3e 0%,#1b4054 100%)}
.workflow-layout{gap:70px;grid-template-columns:.95fr 1.05fr;align-items:start}
.workflow-copy{padding-top:8px}
.workflow-copy>p{font-size:15px;line-height:1.85}
.workflow-copy>.eyebrow{color:#f2b18f}
.human-note{padding:23px 25px;margin-top:30px;background:#ffffff07;border:1px solid #ffffff18;border-radius:8px}
.human-note h3{color:#fff;font-size:17px;margin-bottom:9px}
.human-note p{font-size:14px;margin:0}
.workflow-copy>.workflow-footnote{font-size:12px;line-height:1.8;margin-top:20px;color:#b4c8d5}
.workflow-list{display:grid;gap:15px;border:0}
.workflow-step,.workflow-step:last-child{margin:0;border:1px solid #dfe7ec;border-left:4px solid transparent;border-radius:9px;background:linear-gradient(180deg,#fff,#f5f7f9);box-shadow:0 5px 0 #071b2880,0 14px 25px #061d2a30;overflow:hidden;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.workflow-step[open]{border-left-color:var(--copper);background:#fff;box-shadow:0 5px 0 #071b2880,0 18px 30px #061d2a40}
.workflow-step summary{padding:22px 23px;gap:16px;min-height:84px;align-items:center;color:var(--navy)}
.workflow-step summary:focus-visible{outline:2px solid var(--copper);outline-offset:-5px;border-radius:6px}
.workflow-step h3{font-family:var(--font);font-size:15px;font-weight:600;line-height:1.5;color:var(--navy);letter-spacing:-.02em}
.workflow-step .step-number{flex:0 0 37px;display:grid;place-items:center;width:37px;height:37px;border-radius:7px;font-family:var(--font);font-size:12px;font-weight:650;color:#8d4c30;background:#f7ebe4;border:1px solid #f1ded4;box-shadow:inset 0 1px 0 #fff}
.workflow-step[open] .step-number{color:#fff;background:var(--copper);border-color:var(--copper);box-shadow:0 3px 7px #c6552c22}
.workflow-step .step-toggle{flex:0 0 27px;display:grid;place-items:center;width:27px;height:27px;line-height:1;border-radius:50%;background:#eaf0f4;color:var(--navy);font-size:20px}
.workflow-step[open] .step-toggle{background:#f7ebe4;color:#a74422}
.workflow-step .step-body{padding:0 28px 25px 76px}
.workflow-step .step-body p{color:#536875;font-size:14px;line-height:1.85}
.workflow-step[open] .step-body{animation:panel-enter .25s ease both}
@keyframes panel-enter{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
@media(hover:hover){.workflow-step:hover{transform:translateY(-2px);box-shadow:0 6px 0 #071b2870,0 18px 28px #061d2a45}}

/* Partner services read as complete, carefully framed destinations. */
.partner-section{padding-block:95px 78px}
.partner-section .section-heading{margin-bottom:44px}
.partner-section .section-summary .text-link{border:1px solid #cbd6de;padding:11px 17px;border-radius:4px;gap:25px;background:#fff;color:var(--navy);transition:background .2s,color .2s}
.partner-section .section-summary .text-link:hover{background:var(--navy);color:#fff}
.service-grid{gap:25px;align-items:stretch}
.service-card{display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid #dce3e8;border-radius:10px;box-shadow:0 5px 0 #e0e6ea66,0 14px 28px #17384b0b;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.service-image{flex:0 0 auto;height:242px;border-radius:0;overflow:hidden}
.service-image>img{transition:transform .65s ease;object-position:center}
.service-card:first-child .service-image>img{object-position:center 39%}
.service-image .round-arrow{right:20px;bottom:20px;width:42px;height:42px;border-radius:50%;background:#fff;color:var(--navy);box-shadow:0 3px 12px #0e2a3b33;transition:transform .25s ease,background .25s ease,color .25s ease}
.service-body{position:relative;display:flex;flex:1;flex-direction:column;padding:36px 27px 27px}
.service-body>.eyebrow{position:absolute;top:-15px;left:24px;right:auto;max-width:calc(100% - 48px);padding:8px 13px;margin:0;border-radius:3px;background:#fff;color:#6b574a;box-shadow:0 2px 8px #17384b0f;font-size:9px;line-height:1.4;font-weight:600;letter-spacing:.07em}
.service-body h3{font-size:21px;line-height:1.4;margin:0 0 14px;letter-spacing:-.035em}
.service-body h3 a{transition:color .2s ease}
.service-body h3 a:hover{color:var(--copper)}
.service-body>p{font-size:14px;line-height:1.8;min-height:52px;margin:0 0 23px}
.service-links{display:flex;flex-direction:column;gap:9px;margin-top:auto;border:0}
.service-links a{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 15px;min-height:46px;border:1px solid #cfd9e1;border-radius:4px;font-size:12px;font-weight:600;color:var(--navy);transition:background .2s ease,color .2s ease,box-shadow .2s ease}
.service-links a:first-child{background:var(--navy);border-color:var(--navy);color:#fff;box-shadow:0 3px 0 #0a2333}
.service-links a:first-child span{color:#fff}
.service-links a span{font-size:16px}
.service-links a:hover{padding-left:15px;background:#edf2f5;color:var(--navy)}
.service-links a:first-child:hover{background:#28556e;color:#fff}
.partner-note{margin-top:32px;padding:22px 25px;background:#f3f5f7;border:1px solid #e4e9ed;border-radius:6px;gap:0}
.partner-note p{font-size:12px;line-height:1.85;max-width:100%;margin:0;color:#596d7b}
@media(hover:hover){
  .service-card:hover,.js-reveal .service-card.is-visible:hover{transform:translateY(-6px);box-shadow:0 5px 0 #d9e2e86b,0 22px 38px #17384b19;border-color:#b8c8d3}
  .service-card:hover .service-image>img{transform:scale(1.045)}
  .service-card:hover .round-arrow{transform:translate(2px,-2px);background:var(--copper);color:white}
}

@media(max-width:1150px){
  .value-strip>.container{padding:28px 14px}.value-item{padding-inline:16px;gap:13px}.value-item strong{font-size:13px}.value-item p{font-size:11px}.value-icon{flex-basis:44px;width:44px;height:48px}.value-icon svg{width:26px;height:26px}
  .approach-grid{gap:18px}.approach-item,.approach-item:first-child,.approach-item:last-child{padding:25px 20px}.approach-item h3{font-size:17px}.approach-item p{font-size:13px}
  .workflow-layout{gap:45px}.workflow-step summary{padding-inline:18px;gap:12px}.workflow-step h3{font-size:14px}.workflow-step .step-body{padding-left:68px;padding-right:22px}
  .service-body{padding-inline:22px}.service-body h3{font-size:19px}.service-body>.eyebrow{left:20px;max-width:calc(100% - 40px);font-size:8px}.service-image{height:220px}
}
@media(max-width:900px){
  .value-strip>.container{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;min-height:150px;padding:25px 10px}.value-item{flex-direction:column;align-items:flex-start;gap:12px;padding-inline:17px}.value-icon{flex-basis:40px;width:40px;height:40px;border-radius:10px}.value-icon svg{width:24px;height:24px}.value-item strong{font-size:12px}.value-item p{font-size:11px}
  .approach-grid{grid-template-columns:1fr 1fr;gap:23px}.approach-item,.approach-item:first-child,.approach-item:last-child{padding:28px}.approach-item h3{font-size:19px}.approach-item p{font-size:14px}
  .workflow-section{padding-block:75px}.workflow-layout{grid-template-columns:1fr;gap:32px}.workflow-copy{padding:0}.workflow-list{gap:15px}.workflow-step h3{font-size:16px}.workflow-step summary{padding:21px 24px;gap:17px}.workflow-step .step-body{padding:0 28px 25px 80px}
  .service-grid{grid-template-columns:1fr;gap:26px}.service-card{display:grid;grid-template-columns:.9fr 1.1fr}.service-image{height:100%;min-height:310px}.service-body{padding:28px}.service-body>.eyebrow{position:static;max-width:none;align-self:flex-start;padding:0;box-shadow:none;margin-bottom:14px;font-size:9px}.service-body h3{font-size:23px}.service-body>p{min-height:0}.service-links{gap:10px}.partner-section{padding-block:75px 65px}
}
@media(max-width:620px){
  .hero-content{padding-bottom:80px}.hero-content .eyebrow{padding-left:0}
  .value-strip{padding-bottom:25px}.value-strip>.container{grid-template-columns:1fr;margin-top:-24px;padding:10px 24px;border-radius:8px}.value-item{padding:19px 0;flex-direction:row;align-items:center;gap:18px}.value-item+.value-item{border-left:0;border-top:1px solid #e7ecef}.value-icon{flex:0 0 46px;height:49px;width:46px;border-radius:12px}.value-icon svg{width:27px;height:27px}.value-item strong{font-size:14px}.value-item p{font-size:12px;margin-top:4px}
  .approach-section{padding-block:55px 62px}.approach-grid{grid-template-columns:1fr;gap:19px}.approach-item,.approach-item:first-child,.approach-item:last-child{padding:25px 26px}.approach-item .item-top{width:61px;height:61px;margin-bottom:20px}.approach-item .item-top svg{width:35px;height:35px}.approach-item p{margin:0;font-size:14px}.approach-item h3{font-size:20px;margin-bottom:12px}
  .workflow-section{padding-block:60px}.workflow-copy>p{font-size:14px}.human-note{padding:20px;margin-top:25px}.human-note p{font-size:13px}.workflow-list{gap:14px}.workflow-step summary{padding:19px 15px;gap:12px;min-height:81px}.workflow-step .step-number{flex-basis:33px;width:33px;height:35px;font-size:11px}.workflow-step h3{font-size:14px}.workflow-step .step-toggle{flex-basis:25px;width:25px;height:25px}.workflow-step .step-body{padding:0 20px 22px 60px}.workflow-step .step-body p{font-size:13px}
  .partner-section{padding-block:60px}.partner-section .section-heading{margin-bottom:30px}.service-grid{gap:28px}.service-card{display:flex}.service-image{height:235px;min-height:0}.service-body{padding:34px 24px 25px}.service-body>.eyebrow{position:absolute;top:-15px;left:20px;max-width:calc(100% - 40px);padding:8px 12px;margin:0;box-shadow:0 2px 8px #17384b0f;font-size:8px}.service-body h3{font-size:22px}.service-body>p{font-size:14px}.service-links a{font-size:13px}.partner-note{padding:20px;margin-top:28px}
}
/* Keep the technology photograph and reading column on the same content grid. */
.technology-section{display:block;min-height:0;padding:80px 0;background:#f3f5f6}
.technology-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:70px;align-items:center}
.technology-section .technology-photo{position:relative;min-width:0;min-height:0;height:500px;overflow:hidden}
.technology-section .technology-photo img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:45% center}
.technology-section .technology-copy{min-width:0;padding:0;max-width:540px}
.technology-section .technology-copy>.eyebrow{font-size:10px;letter-spacing:.08em;line-height:1.6;margin:0 0 18px}
.technology-section .technology-copy h2{font-size:36px;line-height:1.23;margin:0 0 25px;letter-spacing:-.03em}
.technology-section .technology-copy>p{font-size:15px;line-height:1.85;margin:0 0 18px;color:#526570}
.technology-section .technology-copy>.technology-outcome{font-size:14px;line-height:1.85;font-weight:500;margin:24px 0 0;padding-top:21px;border-top:1px solid #d7dfe4;color:#29485b}
@media(max-width:1100px){
  .technology-section{padding-block:70px}.technology-layout{gap:42px}
  .technology-section .technology-photo{height:490px}
  .technology-section .technology-copy h2{font-size:32px}
  .technology-section .technology-copy>p{font-size:14px;line-height:1.85}
}
@media(max-width:800px){
  .technology-section{padding-block:60px}.technology-layout{grid-template-columns:minmax(0,1fr);gap:34px}
  .technology-section .technology-photo{height:auto;aspect-ratio:16/9}
  .technology-section .technology-copy{max-width:660px}
  .technology-section .technology-copy h2{font-size:33px}
  .technology-section .technology-copy>p{font-size:15px}
}
@media(max-width:620px){
  .technology-section{padding-block:50px}.technology-layout{gap:29px}
  .technology-section .technology-photo{aspect-ratio:3/2}
  .technology-section .technology-copy>.eyebrow{font-size:9px;margin-bottom:16px}
  .technology-section .technology-copy h2{font-size:30px;line-height:1.25;margin-bottom:22px}
  .technology-section .technology-copy>p{font-size:14px;line-height:1.85;margin-bottom:17px}
  .technology-section .technology-copy>.technology-outcome{font-size:13px;margin-top:22px;padding-top:19px}
}
@media(prefers-reduced-motion:reduce){
  .approach-item,.approach-item .item-top,.approach-item .item-top svg,.service-card,.service-image>img,.service-image .round-arrow,.workflow-step{transition:none!important;transform:none!important}
  .workflow-step[open] .step-body{animation:none}
}

/* Keep every operating-principle card evenly inset on smaller screens. */
@media (max-width: 900px) {
  .approach-grid > .approach-item { padding: 28px; }
}
@media (max-width: 620px) {
  .approach-grid > .approach-item { padding: 25px 26px; }
}

/* Use the shared page gutters without doubling the commitment inset. */
@media (max-width: 620px) {
  .commitment-section.container { padding-inline: 0; }
  .commitment-section h2 { font-size: 28px; text-wrap: balance; }
}
