/* Solutions and individual service pages share the firm's established theme. */
.solution-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:48px}
.solution-card{display:flex;flex-direction:column;align-items:flex-start;padding:35px 32px;border:1px solid var(--line-dark);min-width:0;background:#0a1a2c;transition:background .2s,border-color .2s}
.solution-featured{grid-column:span 2;background:linear-gradient(120deg,#14283d,#0a1a2c);border-color:rgba(203,181,142,.5)}
.solution-index{font-size:.75rem;letter-spacing:.12em;color:var(--gold);line-height:1.6}
.solution-card h3{font-size:1.9rem;line-height:1.17;margin:24px 0 19px;letter-spacing:-.03em}
.solution-featured h3{font-size:2.5rem}
.solution-card p{color:#bfccd9;font-size:1rem;line-height:1.75;max-width:535px;margin-bottom:30px}
.solution-more{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;padding-top:19px;margin-top:auto;border-top:1px solid var(--line-dark);font-size:.875rem;color:#e6d3b0}
.solution-more>span,.solution-actions span{font-size:1.2rem}
.solution-card-link:hover{background:#13283d;border-color:var(--gold)}
.solution-actions{display:flex;gap:32px;flex-wrap:wrap;margin-top:auto}
.solution-actions a{display:flex;gap:20px;align-items:center;color:var(--gold);border-bottom:1px solid rgba(203,181,142,.55);font-size:.95rem;padding:8px 0}
.solution-actions a:hover{color:white}
.footer-solutions{padding:35px 0 28px;display:flex;align-items:center;flex-wrap:wrap;gap:16px 25px;border-bottom:1px solid var(--line-dark);font-size:.875rem;color:#c4ced9}
.footer-solutions>span{font-size:.75rem;letter-spacing:.14em;color:var(--gold);margin-right:5px}
.footer-solutions a:hover{color:var(--gold)}
.service-hero{position:relative;background:var(--navy);color:#fff;overflow:hidden;padding:35px 0 80px}
.service-hero-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% center;opacity:.27;pointer-events:none}
.service-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--navy),rgba(6,19,34,.88) 47%,rgba(6,19,34,.35));pointer-events:none}
.service-hero>.container{position:relative;z-index:1}
.breadcrumbs{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:.8125rem;color:#aebdcc;line-height:1.5;margin-bottom:56px}
.breadcrumbs a:hover{color:var(--gold)}
.breadcrumbs span[aria-hidden]{color:var(--gold)}
.breadcrumbs span[aria-current]{color:#e0e5eb}
.service-hero-grid{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(230px,.8fr);gap:72px;align-items:center}
.service-hero h1{font-size:clamp(2.65rem,4.2vw,4rem);line-height:1.12;letter-spacing:-.035em;max-width:780px;text-wrap:balance}
.service-hero h1 em{white-space:normal}
.service-hero .eyebrow{margin-bottom:24px}
.service-lead{font-size:1.075rem;line-height:1.8;color:#c1cddb;margin-top:26px;max-width:690px}
.service-hero .hero-actions{gap:24px;margin-top:30px}
.service-hero .button{font-size:.9375rem;gap:20px}
.decision-note{border-top:1px solid var(--gold);padding-top:23px}
.decision-note>p{font-size:.75rem;color:var(--gold);letter-spacing:.16em;margin-bottom:24px}
.decision-note li{font-family:var(--serif);font-size:1.5rem;line-height:1.4;color:#e2e7ed;margin:0;padding:18px 0;border-bottom:1px solid var(--line-dark)}
.service-location{margin-top:49px;padding-top:25px;border-top:1px solid var(--line-dark);font-size:.75rem;letter-spacing:.12em;color:#bdc9d6}
.service-section{padding:85px 0}
.service-section h2{font-size:clamp(2.2rem,3.4vw,3rem)}
.service-intro-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:90px}
.service-section-intro{font-size:1rem;line-height:1.8;color:var(--body);max-width:470px;margin-top:24px}
.situations{margin:0;padding:0;list-style:none}
.situations li{padding:25px 0;display:grid;grid-template-columns:35px 1fr;gap:15px;border-top:1px solid var(--line)}
.situations li:first-child{padding-top:0;border:0}
.situations li>span{font-family:var(--serif);font-size:1.125rem;line-height:1.4;color:var(--gold-dark)}
.situations h3{font-family:var(--sans);font-size:1.075rem;font-weight:550;line-height:1.5;letter-spacing:0;margin-bottom:8px}
.situations p{font-size:1rem;color:var(--body);line-height:1.8}
.service-scope{background:var(--pale)}
.scope-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:70px;margin-bottom:38px}
.scope-heading>p{max-width:400px;font-size:1rem;color:var(--body);line-height:1.8}
.scope-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 60px}
.scope-item{border-top:1px solid #cbd2d5;padding:27px 0 32px}
.scope-item .scope-number{color:var(--gold-dark);font-size:.75rem;letter-spacing:.1em}
.scope-item h3{font-size:1.55rem;line-height:1.25;margin:13px 0 15px}
.scope-item p{font-size:1rem;line-height:1.8;color:var(--body);max-width:520px}
.scope-note{font-size:.875rem;color:var(--body);padding-top:23px;border-top:1px solid var(--line);line-height:1.8}
.faq-section{border-top:1px solid var(--line)}
.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}
.faq-list{border-top:1px solid var(--line)}
.faq-item{border-bottom:1px solid var(--line)}
.faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:22px;list-style:none;cursor:pointer;padding:22px 0;font-size:1rem;line-height:1.6;font-weight:500}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary:after{content:'+';font-size:1.5rem;color:var(--gold-dark);flex-shrink:0;font-weight:400;line-height:1}
.faq-item[open] summary:after{content:'−'}
.faq-item summary:hover{color:var(--gold-dark)}
.faq-item>p{color:var(--body);font-size:1rem;line-height:1.8;padding:0 34px 24px 0}
.related-section{padding:45px 0;background:var(--pale)}
.related-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}
.related-inner>p{font-family:var(--serif);font-size:1.5rem;line-height:1.4}
.related-links{display:flex;gap:35px;flex-wrap:wrap}
.service-contact .contact-grid{grid-template-columns:1.15fr 1fr;gap:85px}
.service-contact h2{font-size:clamp(2.25rem,3.3vw,3.1rem)}
.service-contact .contact-details>p{color:#c0ccda;font-size:1rem;line-height:1.8;margin-bottom:22px}
.service-contact .button{width:100%;font-size:.95rem;padding:19px 22px}
.service-contact .contact-email{display:inline-block;color:#ccd5df;font-size:.9375rem;margin-top:23px;border-bottom:1px solid var(--line-dark);padding-bottom:5px;overflow-wrap:anywhere}
.service-contact .contact-email:hover{color:var(--gold)}
.contact-channel{font-size:.8125rem!important;color:#aebfce!important;line-height:1.7!important;margin:18px 0 0!important}
.error-page{padding:100px 0 130px;min-height:65vh}
.error-page h1{font-size:clamp(2.6rem,5vw,4.5rem);max-width:700px;line-height:1.1}
.error-page p:not(.eyebrow){font-size:1.05rem;color:var(--body);max-width:570px;margin:28px 0}
@media(max-width:1100px){.solution-card{padding:28px 25px}.solution-card h3{font-size:1.7rem}.solution-featured h3{font-size:2.3rem}.service-hero-grid{gap:45px;grid-template-columns:1.6fr .8fr}.service-intro-grid{gap:55px}.faq-grid{gap:50px}.service-contact .contact-grid{gap:50px}}
@media(max-width:800px){.solution-grid{grid-template-columns:1fr 1fr;gap:20px}.solution-featured{grid-column:span 2}.solution-card{padding:30px}.solution-featured p{max-width:600px}.service-hero{padding-top:25px;padding-bottom:55px}.breadcrumbs{margin-bottom:38px}.service-hero-grid{grid-template-columns:1fr;gap:38px}.service-hero h1{font-size:3rem;max-width:650px}.decision-note ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.decision-note li{font-size:1.25rem;padding:0 0 15px}.decision-note>p{margin-bottom:18px}.service-location{margin-top:30px}.service-section{padding:65px 0}.service-intro-grid{grid-template-columns:1fr;gap:35px}.service-section-intro{max-width:650px}.scope-heading{align-items:flex-start;flex-direction:column;gap:24px}.scope-heading>p{max-width:650px}.scope-grid{gap:0 35px}.faq-grid{grid-template-columns:1fr;gap:35px}.related-inner{align-items:flex-start;flex-direction:column;gap:22px}.service-contact .contact-grid{grid-template-columns:1fr;gap:35px}.service-contact .contact-details{max-width:560px}.footer-solutions{gap:15px 24px}}
@media(max-width:540px){.solution-grid{grid-template-columns:1fr;margin-top:32px}.solution-featured{grid-column:auto}.solution-card{padding:27px 24px}.solution-card h3{font-size:1.9rem}.solution-featured h3{font-size:2rem}.solution-index{font-size:.75rem;letter-spacing:.08em}.solution-actions{gap:20px}.solution-actions a{font-size:.9375rem;gap:15px}.footer-solutions{display:grid;grid-template-columns:1fr 1fr;font-size:.875rem;gap:15px 18px}.footer-solutions>span{grid-column:1/-1}.service-hero h1{font-size:2.6rem;line-height:1.13}.service-hero .eyebrow{font-size:.75rem;letter-spacing:.12em}.service-lead{font-size:1rem}.service-hero .hero-actions{gap:15px}.service-hero .button{max-width:100%;font-size:.875rem;gap:15px}.breadcrumbs{font-size:.75rem;gap:9px;line-height:1.7;margin-bottom:33px}.decision-note ul{grid-template-columns:1fr;gap:0}.decision-note li{font-size:1.25rem;padding:12px 0}.decision-note>p{margin-bottom:10px}.service-location{font-size:.75rem;letter-spacing:.055em;line-height:1.8}.service-section{padding:55px 0}.service-section h2{font-size:2.2rem}.situations li{grid-template-columns:25px 1fr;gap:10px}.scope-grid{grid-template-columns:1fr;gap:0}.scope-item{padding:25px 0 28px}.scope-item h3{font-size:1.5rem}.scope-note{font-size:.875rem}.faq-item summary{gap:18px}.faq-item>p{padding-right:15px}.service-contact h2{font-size:2.25rem}.service-contact .button{font-size:.875rem;gap:20px;padding:17px 20px}.related-links{gap:17px 30px}.related-inner>p{font-size:1.45rem}}

/* Long service pages remain easy to scan without hiding the work behind tabs. */
.service-page-nav{border-bottom:1px solid var(--line);background:#fafafa}
.service-page-nav>.container{display:flex;align-items:center;flex-wrap:wrap;gap:8px 30px;padding-block:15px}
.service-page-nav span{font-size:.75rem;letter-spacing:.13em;color:var(--gold-dark);margin-right:10px}
.service-page-nav a{font-size:.875rem;line-height:1.5;padding:10px 0}
.service-page-nav a:hover{color:var(--gold-dark)}
.journey-intro{max-width:820px}
.journey-intro .service-section-intro{max-width:720px}
.service-journey{list-style:none;padding:0;margin:42px 0 0}
.journey-step{padding:32px 0;border-top:1px solid var(--line)}
.journey-step-heading{display:grid;grid-template-columns:52px minmax(0,1fr);gap:24px;align-items:start}
.journey-number{font-family:var(--serif);font-size:1.7rem;line-height:1.25;color:var(--gold-dark)}
.journey-step h3{font-size:1.7rem;line-height:1.25;max-width:850px}
.journey-phase{font-size:.75rem;letter-spacing:.1em;line-height:1.6;color:var(--gold-dark);margin:0 0 10px}
.journey-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:24px 0 0 76px}
.journey-details>div{padding:18px 0}
.journey-details dt{font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-dark);line-height:1.6;margin-bottom:10px}
.journey-details dd{font-size:1rem;line-height:1.8;color:var(--body);margin:0}
.journey-details .journey-output{background:var(--pale);border-left:2px solid var(--gold);padding:18px 22px}
.journey-output dd{color:var(--ink)}
.continuity-note{display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);gap:55px;padding:30px 0 0;border-top:1px solid var(--line);margin-top:8px}
.continuity-note h3{font-size:1.5rem;line-height:1.3}
.continuity-note p{font-size:1rem;color:var(--body);line-height:1.8}
.service-preparation{background:var(--pale)}
.preparation-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:85px;align-items:start}
.preparation-list{margin-top:25px;border-top:1px solid #cbd2d5}
.preparation-list li{position:relative;padding:17px 0 17px 22px;border-bottom:1px solid #cbd2d5;font-size:1rem;line-height:1.8;color:var(--body)}
.preparation-list li:before{content:'';position:absolute;left:0;top:31px;width:7px;height:1px;background:var(--gold-dark)}
.hiring-panel{background:#fff;padding:35px;border-top:2px solid var(--gold)}
.hiring-panel .eyebrow{margin-bottom:22px}
.hiring-panel h3{font-size:2rem;line-height:1.2;margin-bottom:25px}
.hiring-panel>p:not(.eyebrow){font-size:1rem;line-height:1.8;color:var(--body);margin-bottom:18px}
.hiring-panel .text-link{margin-top:8px}
.responsible-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr);gap:70px;align-items:center}
.responsible-profile{display:grid;grid-template-columns:180px minmax(0,1fr);gap:28px;align-items:center}
.responsible-profile>img{width:180px;height:225px;object-fit:cover}
.responsible-profile h3{font-size:1.8rem;line-height:1.3;margin-bottom:8px}
.responsible-profile p{font-size:1rem;line-height:1.8;color:var(--body)}
.responsible-profile .responsible-oab{font-size:.8125rem;letter-spacing:.04em;margin-bottom:16px}
.responsible-profile .text-link{margin-top:17px}
@media(max-width:1100px){
  .journey-details{gap:22px}
  .preparation-grid{gap:45px}
  .responsible-grid{gap:40px;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
  .responsible-profile{grid-template-columns:135px minmax(0,1fr);gap:22px}
  .responsible-profile>img{width:135px;height:auto;aspect-ratio:4/5}
}
@media(max-width:800px){
  .service-page-nav>.container{gap:0 24px}
  .service-page-nav span{flex-basis:100%;padding:7px 0}
  .journey-step-heading{grid-template-columns:38px minmax(0,1fr);gap:18px}
  .journey-details{margin-left:56px;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 28px}
  .journey-details .journey-output{grid-column:1/-1;margin-top:6px}
  .continuity-note{grid-template-columns:1fr;gap:15px}
  .preparation-grid{grid-template-columns:1fr;gap:35px}
  .responsible-grid{grid-template-columns:1fr;gap:35px}
  .responsible-profile{grid-template-columns:180px minmax(0,1fr);gap:30px;max-width:650px}
  .responsible-profile>img{width:180px;height:225px}
}
@media(max-width:540px){
  .service-page-nav>.container{gap:0 22px}
  .service-page-nav a{padding:9px 0}
  .service-journey{margin-top:32px}
  .journey-step{padding:27px 0}
  .journey-step h3{font-size:1.5rem}
  .journey-number{font-size:1.5rem}
  .journey-details{grid-template-columns:1fr;margin:17px 0 0;gap:0}
  .journey-details>div{padding:12px 0}
  .journey-details dt{margin-bottom:6px}
  .journey-details .journey-output{margin-top:12px;padding:16px 18px}
  .continuity-note{padding-top:25px}
  .hiring-panel{padding:28px 24px}
  .hiring-panel h3{font-size:1.8rem}
  .responsible-profile{grid-template-columns:1fr;gap:25px}
  .responsible-profile>img{width:160px;height:200px}
}

/* Service cards begin directly with their names. */
.solution-card h3{margin-top:0}

/* Six clear milestones, with summaries available by hover, keyboard or touch. */
.agreement-timeline{list-style:none;margin:45px 0 0;padding:0;max-width:950px}
.timeline-item{position:relative;padding-bottom:24px}
.timeline-item:not(:last-child):before{content:'';position:absolute;left:27px;top:54px;bottom:0;width:1px;background:#cbb58e}
.timeline-step summary{list-style:none;display:flex;align-items:center;gap:30px;cursor:pointer;min-height:64px;padding:5px 0}
.timeline-step summary::-webkit-details-marker{display:none}
.timeline-number{display:grid;place-items:center;width:56px;height:56px;flex-shrink:0;border:1px solid var(--gold);border-radius:50%;background:var(--navy);color:var(--gold);font-family:var(--serif);font-size:1.5rem;transition:background .2s,color .2s}
.timeline-step h3{font-size:1.65rem;line-height:1.3}
.timeline-step[open] .timeline-number,.timeline-step summary:hover .timeline-number{background:var(--gold);color:var(--navy)}
.timeline-description{margin:12px 0 4px 86px;padding:0 0 12px 22px;border-left:2px solid var(--gold)}
.timeline-description p{font-size:1rem;line-height:1.8;color:var(--body);max-width:690px}
@media(max-width:540px){.timeline-step summary{gap:20px}.timeline-step h3{font-size:1.4rem}.timeline-number{width:48px;height:48px;font-size:1.3rem}.timeline-item:not(:last-child):before{left:23px;top:53px}.timeline-description{margin-left:68px;padding-left:15px}.agreement-timeline{margin-top:32px}}
