/* Shared editorial refinements. */
.ceo-letter{align-self:start;background:transparent;border:0;box-shadow:none;padding:0}
.company-commitment{max-width:820px;margin:56px 0 0;padding:34px 0 0;border-top:1px solid #ffffff30;color:#d8e0e1}
.company-commitment .eyebrow{margin-bottom:18px}.company-commitment p{font-size:15px;line-height:1.85;margin:0 0 18px}
.company-commitment .company-team-statement{color:#fff;font-size:19px;line-height:1.75;margin-bottom:28px}
@media(min-width:801px){
  /* Put each heading on its own row, then align the image and copy in row two. */
  .overview-section{grid-template-areas:"overview-title overview-space" "overview-image overview-copy";grid-template-rows:auto auto;row-gap:38px;align-items:start}
  .overview-heading{display:contents}.overview-title{grid-area:overview-title}.overview-heading .about-editorial-image{grid-area:overview-image;margin-top:0}.overview-copy{grid-area:overview-copy;margin-top:0}
  .leadership{grid-template-areas:"leadership-title leadership-space" "leadership-image leadership-copy";grid-template-rows:auto auto;row-gap:38px;align-items:start}
  .leadership-heading{display:contents}.leadership-title{grid-area:leadership-title;padding-top:15px}.leadership-heading .about-editorial-image{grid-area:leadership-image;margin-top:0}.leadership .ceo-letter{grid-area:leadership-copy;margin-top:0}
}
@media(max-width:800px){
  .overview-section .overview-copy,.leadership .ceo-letter{margin-top:0}
  .overview-title,.leadership-title{display:block}
  .company-commitment{margin-top:38px}
}
.contact-actions .button:first-child{background:#102632;color:#fff}
.contact-actions .button:first-child:hover{background:#244552}
.section-intro{max-width:660px;color:var(--muted);line-height:1.8;margin:20px 0 36px}
.inline-action{display:inline-flex;align-items:center;gap:18px;min-height:44px;border-bottom:1px solid currentColor;font-size:13px;font-weight:600;line-height:1.5;padding:8px 0;margin-top:20px;text-decoration:none}
.inline-action span{white-space:nowrap}.action-row{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:28px}.action-row .inline-action{margin-top:0}
.button-outline{background:transparent;border:1px solid currentColor;color:inherit}.button-outline:hover{background:#d2a17120}
.strength-list{list-style:none;padding:0;margin:24px 0}.strength-list li{padding:17px 0;border-top:1px solid #91a8ab40}.strength-list strong,.strength-list span{display:block}.strength-list strong{font-size:17px;margin-bottom:6px}.strength-list span{font-size:15px;line-height:1.75}.pursuit-copy .strength-list span{color:#d5dfe1}
.home-page .about-photo{min-height:0}.home-page .about-photo>img{position:static;width:100%;height:auto;display:block}.home-page .about-photo figcaption{position:static}.home-page .about-grid{align-items:start}.capabilities li strong{display:block;margin-bottom:5px}.capabilities li div>span{display:block}
.flight-divider{position:relative;flex-direction:column;gap:12px;padding:35px 7%}.flight-divider svg{width:min(540px,100%);height:55px;overflow:visible}.flight-line{fill:none;stroke:#b4865f;stroke-width:1.4;stroke-dasharray:620;stroke-dashoffset:0}.flight-plane{fill:#b4865f}.flight-divider.is-visible .flight-line{animation:flight-trace 1.8s ease-out both}@keyframes flight-trace{from{stroke-dashoffset:620}to{stroke-dashoffset:0}}
.service-image{overflow:hidden}.service-image img{transition:transform .4s ease}.service-label>span{transition:transform .25s ease}@media(hover:hover){.service:hover img{transform:scale(1.035)}.service:hover .service-label>span{transform:translate(3px,-3px)}}
.refresh-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:32px}.refresh-card{border:1px solid #cbd4ce;border-top:2px solid #b4865f;background:#fffdf9;padding:30px}.card-kicker,.service-category{display:block;text-transform:uppercase;font-size:10px;letter-spacing:1.8px;line-height:1.7;margin-bottom:14px;color:#a75830}.refresh-card h3,.team-disciplines h3{font-size:23px;line-height:1.35;margin-bottom:16px;font-weight:500}.refresh-card p{font-size:15px;line-height:1.8;color:var(--muted)}.experience{background:#eeeee6}.experience h2,.project-story h2,.working-process h2{max-width:850px}
.ceo-letter .leadership-attribution{font-size:12px;letter-spacing:1px;color:var(--muted)}.letter-details{border-top:1px solid #cbd4ce;margin-top:25px}.letter-details summary{cursor:pointer;padding:22px 0;font-size:14px;font-weight:600}.letter-details summary span{float:right}.letter-full{padding-top:5px}.letter-full p{font-size:15px!important}.company-copy h3{font-size:21px;margin-bottom:12px;color:#fff}.company-copy>div{border-top:1px solid #ffffff25;padding-top:24px}.company-copy>div p{border:0;padding:0}.social-intro{text-align:center;font-size:14px;margin-bottom:20px;color:#d5dfe1}
.team-disciplines{display:grid;gap:20px;margin-top:25px}.team-disciplines article{border-top:1px solid #ffffff30;padding-top:22px}.team-disciplines h3{font-size:21px;margin-bottom:8px}.team-disciplines p{margin:0!important}.standard span{font-size:10px;display:block;letter-spacing:1px}.quality-title .standard strong{font-size:20px}.project-story{background:#f4f2ec}
.service-finder{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:24px 28px;background:#fffdf9;border:1px solid #cbd4ce;margin-bottom:40px}.service-finder label{display:block;font-weight:600;font-size:17px}.service-finder p{color:var(--muted);font-size:13px;margin-top:5px}.service-finder select{font:inherit;font-size:14px;background:#f4f2ec;border:1px solid #879a9c;color:#102632;padding:14px 38px 14px 15px;max-width:100%;width:420px;border-radius:0}.offering .service-category{color:inherit;opacity:.85;font-size:10px}.offering .enquiry-hint{border-top:1px solid #93a8ac55;padding-top:17px;margin-top:20px;font-size:13px}.enquiry-hint strong{display:block;margin-bottom:5px;color:inherit}.offering .inline-action{color:inherit;margin-top:18px}.offering-copy{display:flex;flex-direction:column}.offering-copy>.inline-action{align-self:start;margin-top:auto;padding-top:20px}.offering-copy>.enquiry-hint{margin-bottom:10px}.additional-heading h2{word-spacing:normal}.process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;list-style:none;padding:0;margin-top:36px}.process-grid li{border-top:1px solid #b4865f;padding-top:20px}.process-grid li>span{color:#a75830;font-size:12px;letter-spacing:1px}.process-grid h3{font-size:20px;line-height:1.4;margin:15px 0 10px}.process-grid p{font-size:15px;line-height:1.8;color:var(--muted)}
.contact-intro h2{font-size:clamp(34px,3.8vw,55px);line-height:1.12;letter-spacing:-1.8px}.contact-intro>p{max-width:450px;line-height:1.8}.contact-actions{align-items:stretch;flex-direction:column;max-width:300px}.contact-actions .button{justify-content:space-between}.map-link{display:inline-block;font-size:13px;border-bottom:1px solid #b4865f;margin-top:14px;padding:5px 0}.call-section{gap:35px;flex-wrap:wrap}.call-section h2{max-width:640px}.call-section .action-row{margin:0}.call-section .button{gap:22px}.contact-panel .contact-value{border:0;text-decoration:none}
.footer-details{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:40px;border-top:1px solid #ffffff25;padding:35px 0;color:#dce6e7}.footer-details .card-kicker{color:#e8bd99;margin-bottom:12px}.footer-details p,.footer-details a{font-size:13px;line-height:1.9}.footer-details>div>a{display:table;margin-top:8px}.footer-details .inline-action{border:0;padding:0;min-height:0}.footer-socials{display:flex;gap:16px;flex-wrap:wrap}.footer-details a:hover{text-decoration:underline}.footer-bottom{gap:20px}
.hero-progress{position:absolute;z-index:4;right:calc(7% + 135px);bottom:100px;display:flex;gap:0;align-items:center}.hero-progress button{width:24px;height:44px;padding:0;border:0;background:transparent;cursor:pointer;display:grid;place-items:center}.hero-progress button:after{content:'';display:block;width:15px;height:2px;background:#ffffff66}.hero-progress button[aria-current=true]:after{background:#e8bd99;height:3px}.hero-progress button:focus-visible{outline:2px solid #e8bd99;outline-offset:2px}
a:focus-visible,button:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid #b4865f;outline-offset:5px}
@media(max-width:1000px){.refresh-grid{gap:16px}.refresh-card{padding:24px}.process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.refresh-grid{grid-template-columns:1fr}.service-finder{align-items:stretch;flex-direction:column;padding:22px;gap:16px}.service-finder select{width:100%;font-size:16px}.footer-details{grid-template-columns:1fr;gap:28px}.hero-progress{left:7%;right:auto;bottom:17px;gap:0}.home-page .hero-progress{display:none}.contact-intro h2{max-width:520px}.company-copy{grid-template-columns:1fr}.refresh-card h3{font-size:23px}.call-section .action-row{align-items:stretch;flex-direction:column}.call-section .button{justify-content:space-between}.process-grid{gap:26px}.working-process .action-row{align-items:start;flex-direction:column}}
@media(max-width:480px){.process-grid{grid-template-columns:1fr}.flight-divider p{font-size:21px}.footer-socials{gap:20px}.contact-panel{padding:25px}.refresh-card{padding:25px}.contact-actions{max-width:none}.social-intro{padding:0 20px}.inline-action{max-width:100%}}
@media(prefers-reduced-motion:reduce){.flight-divider.is-visible .flight-line{animation:none}.service-image img,.service-label>span{transition:none}}

/* Indicators share the image fade and sit above the mobile control bar. */
.hero-progress button:after { height:3px; transition:background-color 2.8s ease-in-out; }
.hero-progress[hidden] { display:none; }
@media(max-width:800px) {
  .hero-progress, .home-page .hero-progress {
    display:flex; left:50%; right:auto; bottom:83px;
    transform:translateX(-50%); width:max-content;
    padding:0 8px; border-radius:24px; background:rgba(7,23,32,.65);
  }
  .hero-progress[hidden], .home-page .hero-progress[hidden] { display:none; }
}
@media(prefers-reduced-motion:reduce) {
  .hero-progress button:after { transition:none; }
}
