/* People & process: photography, clear section boundaries, and quiet color. */
:root { --sage:#eaf0eb; --line:#cbd7d2; }
figure { margin:0; }
.hero { border-bottom:1px solid var(--line); }
.hero.with-image { grid-template-columns:1.08fr 1fr; min-height:520px; }
.with-image .hero-copy { padding:64px 8% 64px 11.5%; }
.hero h1 { font-size:clamp(42px,4.1vw,64px); }
.hero .eyebrow { margin-bottom:25px; }
.hero-image img { object-position:center; }
.hero .lead { font-size:18px; }
body[data-page="home"] .hero.with-image { min-height:590px; }
.eyebrow { text-transform:uppercase; }
.section-heading>.eyebrow, .solution-directory>.eyebrow,
.overview-copy>.eyebrow, .approach>.eyebrow, .vendor-section>.eyebrow {
 display:flex; align-items:center; gap:18px;
}
.section-heading>.eyebrow::after, .solution-directory>.eyebrow::after,
.overview-copy>.eyebrow::after, .approach>.eyebrow::after, .vendor-section>.eyebrow::after {
 content:""; flex:1; min-width:28px; height:1px; background:var(--teal); opacity:.5;
}
.approved-overview { background:var(--sage); padding:64px 0; border-block:1px solid var(--line); }
.overview-layout { display:grid; grid-template-columns:.85fr 1.15fr; gap:60px; align-items:stretch; }
.overview-photo { position:relative; min-height:480px; overflow:hidden; }
.overview-photo img { position:absolute; width:100%; height:100%; object-fit:cover; object-position:40% center; }
.overview-copy h2 { font-size:clamp(34px,3vw,46px); }
.overview-paragraphs { margin:25px 0 30px; }
.overview-paragraphs .lead { font-size:16px; line-height:1.75; }
.solutions, .solution-directory { padding-block:68px; }
.solution-directory .solution-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-top:35px; }
.solutions .solution-grid { gap:30px; }
.solution.photo-card { display:flex; flex-direction:column; padding:0; border:1px solid var(--line); background:#fffefa; transition:border-color .2s,box-shadow .2s; }
.solution.photo-card:hover { border-color:var(--teal); box-shadow:0 8px 24px #102d3b0b; }
.card-photo { aspect-ratio:1.7; overflow:hidden; border-bottom:1px solid var(--line); }
.card-photo img { width:100%; height:100%; object-fit:cover; display:block; }
.card-copy { display:flex; flex-direction:column; align-items:flex-start; flex:1; padding:26px; }
.card-copy .number { font-size:10px; margin-bottom:15px; }
.card-copy h3 { font-size:28px; line-height:1.13; margin-bottom:15px; }
.card-copy p { font-size:15px; line-height:1.7; margin-bottom:20px; }
.card-copy .solution-subtitle { font-size:12px!important; line-height:1.65; }
.card-copy .text-link { margin-top:auto; }
.results-link { display:flex; align-items:center; justify-content:space-between; gap:45px; border-block:1px solid var(--line); background:var(--sage); margin-top:35px; padding:28px 32px; }
.results-link .eyebrow { margin-bottom:8px; font-size:10px; }
.results-link h3 { margin-bottom:10px; font-size:27px; }
.results-link p:not(.eyebrow) { margin:0; max-width:740px; font-size:14px; color:var(--muted); }
.results-link>.text-link { flex-shrink:0; }
.story-band { display:grid; grid-template-columns:1fr 1fr; padding:0; }
.story-band>.wrap { width:auto; margin:0; padding:64px 12%; }
.story-photo { position:relative; min-height:360px; }
.story-photo img { position:absolute; height:100%; width:100%; object-fit:cover; }
.contact-strip.wrap { width:100%; padding:44px max(6%,calc((100% - 1200px)/2)); margin:0; color:#fff; background:var(--navy); border-block:1px solid #ffffff24; }
.contact-strip .eyebrow { color:#b7d6d2; margin-bottom:16px; }
.contact-strip h2 { font-size:clamp(32px,3.4vw,48px); }
.contact-strip .button { background:#337b80; border-color:#337b80; }
.contact-strip .button:hover { background:#3f8a90; }
.contact-strip .button.outline { background:transparent; border-color:#ccdddc; color:white; }
.contact-strip .button.outline:hover { background:#ffffff12; }
footer { background:#f0f1eb; color:var(--navy); }
.footer-top { margin-bottom:24px; }
.footer-top .eyebrow { color:var(--teal); }
.footer-bottom { color:var(--muted); border-color:var(--line); }
.purpose-photo { margin-top:32px; overflow:hidden; }
.purpose-photo img { width:100%; height:290px; object-fit:cover; display:block; }
.approach { border-top:1px solid var(--line); }
.approach .three-grid article { padding:28px; border:1px solid var(--line); background:var(--sage); }
.philosophy { border-top:1px solid var(--line); }
.philosophy-vision { border-left:4px solid #5caaa7; }
.detail-sections { padding-top:52px; padding-bottom:30px; }
.detail-section { gap:48px; padding:38px 30px; }
.detail-section:nth-child(odd) { background:var(--sage); }
.detail-section .lead { font-size:16px; }
.detail-section h2 { font-size:32px; }
.feature-list { font-size:15px; }
.vendor-section .three-grid article { background:#fffefa; border:1px solid var(--line); padding:28px; display:flex; flex-direction:column; }
.vendor-section .three-grid .text-link { margin-top:auto; align-self:flex-start; }
.equipment-grid { gap:24px; }
.equipment-grid>section { background:#fffefa; border:1px solid var(--line); border-top:3px solid var(--teal); padding:28px; }
.contact-choices { margin-top:48px; }
.contact-choices article { border:1px solid var(--line); border-top:3px solid var(--teal); }
.contact-choices article { display:flex; flex-direction:column; align-items:flex-start; }
.contact-choices article>.button { margin-top:auto; }
.button { min-height:56px; }
.button.small { min-height:44px; }
.actions { align-items:stretch; }
.button>span[aria-hidden="true"] { flex-shrink:0; }
.contact-layout { padding-top:15px; }
.location { border:1px solid var(--line); }
body[data-page="assessment"] .hero { background:var(--sage); padding-bottom:45px; }
.assessment-instructions { margin-top:35px; }
.enquiry { border-top:3px solid var(--teal); }
@media (max-width:1050px) and (min-width:801px) {
 .overview-layout { gap:35px; grid-template-columns:.7fr 1fr; }
 .card-copy { padding:20px; }
 .card-copy h3 { font-size:25px; }
 .contact-strip.wrap { display:flex; align-items:center; }
 .contact-strip .actions { margin-top:0; }
 .contact-strip .button { padding:12px 18px; }
}
@media (max-width:800px) {
 .hero.with-image { grid-template-columns:1fr; min-height:0; }
 body[data-page="home"] .hero.with-image { min-height:0; }
 .with-image .hero-copy { padding:44px 6%; }
 .hero h1 { font-size:clamp(39px,8.8vw,52px); }
 .hero .lead { font-size:17px; }
 .hero-image { min-height:0; aspect-ratio:1.5; }
 .hero-image img { object-position:center 45%; }
 .approved-overview { padding:35px 0 42px; }
 .overview-layout { grid-template-columns:1fr; gap:30px; }
 .overview-photo { min-height:0; aspect-ratio:1.5; }
 .overview-copy h2 { font-size:35px; }
 .overview-paragraphs .lead { font-size:16px; }
 .solution-directory .solution-grid, .solutions .solution-grid { grid-template-columns:1fr; gap:24px; }
 .solutions, .solution-directory { padding-block:45px; }
 .card-copy { padding:24px; }
 .card-copy h3 { font-size:28px; }
 .results-link { display:block; padding:26px; }
 .results-link>.text-link { margin-top:20px; }
 .story-band { grid-template-columns:1fr; }
 .story-band>.wrap { padding:45px 6%; }
 .story-photo { min-height:0; aspect-ratio:1.5; }
 .contact-strip.wrap { padding:38px 6%; display:block; }
 .contact-strip .actions { margin:25px 0 0; }
 .contact-strip .actions .button { flex:1 1 auto; }
 .split-section { padding-bottom:40px; gap:25px; }
 .purpose-photo img { height:auto; aspect-ratio:1.5; }
 .detail-sections { padding-top:30px; }
 .detail-section { padding:28px 22px; gap:0; }
 .detail-section h2 { font-size:30px; }
 .contact-choices { margin-top:35px; }
 .footer-top { gap:30px 20px; }
 .footer-phone { font-size:24px!important; }
 .footer-top .eyebrow { letter-spacing:1.5px; }
 .footer-top>div { min-width:0; }
 .footer-top>div>a { overflow-wrap:anywhere; }
}
@media (prefers-reduced-motion:reduce) { .solution.photo-card { transition:none; } }
body[data-page="document-management"] .hero h1 { font-size:clamp(40px,3.6vw,60px); }
@media(max-width:800px) { body[data-page="document-management"] .hero h1 { font-size:clamp(39px,8.8vw,52px); } }
/* Shared related links stay compact; photographs belong to their own page. */
.related-directory .related-card { border:1px solid var(--line); background:#fffefa; padding:0; display:flex; }
.related-directory .card-copy { width:100%; }
.story-band>.year { position:static; display:grid; place-items:center; padding:40px; font-size:clamp(110px,16vw,240px); color:#a6c8c4; line-height:1; opacity:.45; }
@media(max-width:800px) { .story-band>.year { padding:0 6% 40px; font-size:130px; justify-items:start; } }

/* Both form columns share row tracks so labels and controls stay aligned. */
@media(min-width:801px) {
 .assessment-layout .assessment-columns { grid-template-rows:repeat(5,auto); gap:24px 48px; }
 .assessment-columns>div { display:grid; grid-template-rows:subgrid; grid-row:1 / span 5; }
 .assessment-columns>div>label, .assessment-columns .contact-method { margin-bottom:0; align-self:start; }
 .assessment-columns .contact-method legend { margin-bottom:7px; }
 .assessment-columns .contact-method label { min-height:48px; }
}
.form-trap { display:none; }
.form-verification { margin:20px 0; }
.button:disabled { opacity:.6; cursor:not-allowed; transform:none; }
/* Preserve readable contrast in hover states and show focus on form controls. */
.contact-strip .button:hover { background:#2a666b; }
input:focus-visible,textarea:focus-visible { outline:3px solid var(--teal); outline-offset:3px; }
@media(max-width:480px) {
 .footer-top { grid-template-columns:1fr; }
 .contact-choices .button { width:100%; gap:12px; padding-inline:16px; }
}
.nav-indicator { display:none; }
@media(min-width:801px) {
 nav.sliding-navigation { position:relative; }
 nav.sliding-navigation a[aria-current] { border-bottom:0; }
 nav.sliding-navigation .nav-links>a:not(.button) { position:relative; }
 .nav-indicator { display:block; position:absolute; left:0; height:2px; width:0; background:var(--navy); pointer-events:none; opacity:0; }
 .nav-indicator.is-visible { opacity:1; }
 .nav-indicator.is-ready { transition:transform .25s cubic-bezier(.2,.7,.3,1),width .25s cubic-bezier(.2,.7,.3,1),opacity .15s ease; }
}
@media(prefers-reduced-motion:reduce) { .nav-indicator.is-ready { transition:none; } }

/* Vendor marks from the supplied original-site screenshot. */
.vendor-logo{background-image:url("/assets/vendor-logos-source.jpg");background-repeat:no-repeat;margin:0 0 1rem}
.square-nine-logo{width:155px;height:120px;background-position:-562px -96px}
.docuware-logo{width:150px;height:151px;background-position:-566px -346px}

.home-intro { padding-top: 90px; padding-bottom: 10px; }
@media (max-width: 800px) { .home-intro { padding-top: 55px; } }
.home-intro .section-heading { margin-bottom: 0; }
.home-intro + .solution-directory { padding-top: 36px; }
@media (max-width: 800px) {
 .home-intro + .solution-directory { padding-top: 24px; }
}
