/* Customer revision, 9 October 2026. Uses the existing ALG design system. */
.mainnav {height:112px;grid-template-columns:1fr 126px 1fr;}
.mainnav .desktop-nav {font-size:17px;gap:28px;}
.mainnav .nav-right {gap:26px;}
.mainnav .nav-quote {font-size:15px;font-weight:600;letter-spacing:.025em;white-space:nowrap;}
.mainnav .client-brand {display:flex;flex-direction:column;align-items:center;gap:4px;}
.client-brand-mark {position:relative;display:block;width:112px;height:62px;overflow:hidden;}
.client-brand-mark img {position:absolute;width:136px;height:136px;max-width:none;left:-12px;top:-33px;object-fit:contain;}
.client-brand-name {font-size:10px;font-weight:600;letter-spacing:.14em;white-space:nowrap;}
.hero-image img {width:100%;height:100%;object-fit:cover;}
.client-hero a.hero-image {display:block;pointer-events:none;}
.client-hero a.hero-image.current {pointer-events:auto;}
.client-hero a.hero-image:focus-visible {outline:3px solid white;outline-offset:-6px;}
.client-way {padding-bottom:76px;}
.client-way>.eyebrow {margin-bottom:30px;}
.client-intro-copy {display:grid;grid-template-columns:1.08fr 1fr;gap:clamp(40px,6vw,110px);align-items:start;}
.client-intro-copy h2 {font-size:clamp(34px,3.3vw,52px);max-width:650px;}
.client-intro-copy p {font-size:17px;line-height:1.8;}
.client-process {margin-top:55px;}
.client-process>.eyebrow {margin-bottom:20px;}
.client-process ol {margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 28px;}
.client-process li {position:relative;padding:22px 14px 26px 0;border-top:1px solid var(--line);min-height:108px;transition:background .2s,color .2s;}
.client-process li>span {display:block;color:var(--blue);font-size:12px;font-weight:600;letter-spacing:.08em;margin-bottom:9px;}
.client-process h3 {font-size:17px;letter-spacing:-.015em;line-height:1.4;max-width:250px;}
.client-process li:hover {background:#edf3f6;}
.client-process-page .client-process {background:#edf2f4;padding:26px 32px 36px;box-sizing:border-box;}
.client-process-page .client-process li:hover {background:#dce8ed;}
.client-home-capabilities {background:#fff;}
.client-manufacturing {padding:100px 0;background:#edf2f4;}
.client-manufacturing-layout {display:grid;grid-template-columns:.78fr 1.4fr;gap:clamp(36px,5vw,80px);align-items:start;}
.client-manufacturing-copy .eyebrow {margin-bottom:26px;}
.client-manufacturing-copy h2 {font-size:clamp(32px,3vw,48px);line-height:1.13;}
.client-manufacturing-copy>p:not(.eyebrow) {font-size:17px;line-height:1.8;margin-top:25px;max-width:450px;}
.client-manufacturing-copy .text-link {margin-top:28px;}
.client-workshop-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
.client-workshop-grid figure {margin:0;}
.client-workshop-grid svg {display:block;width:100%;aspect-ratio:1.4;background:#dce4e7;}
.client-workshop-grid figcaption {font-size:13px;line-height:1.4;padding:10px 0 3px;color:var(--ink);font-weight:500;}
.capability-list>a h3 {font-size:clamp(18px,1.6vw,23px);line-height:1.45;}
.capability-list>a>span:last-child {font-size:22px;}
.client-about-band {width:100%;background:#f0f4f5;}
.client-about {grid-template-columns:1fr 1fr;background:#f0f4f5;align-items:stretch;}
.client-about .making-copy {background:transparent;color:var(--ink);padding:clamp(32px,3.5vw,56px);display:flex;flex-direction:column;justify-content:center;}
.client-about .making-copy .eyebrow {color:var(--muted);}
.client-about .making-copy h2 {font-size:clamp(32px,3vw,48px);max-width:600px;}
.client-about .making-copy p:not(.eyebrow) {color:var(--muted);font-size:16px;line-height:1.8;max-width:570px;}
.client-about .making-copy .text-link {color:var(--ink);align-self:flex-start;}
.client-about .making-image {min-height:620px;background:#cbd4d7;}
.client-about .making-image img {width:100%;height:100%;position:absolute;inset:0;object-position:52% 50%;filter:none;}
.client-about .making-image::before {content:'TRIAL ASSEMBLY · THE ALG TEAM';}
.client-category-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:55px 32px;}
.client-category-card img {width:100%;aspect-ratio:1.45;object-fit:cover;}
.client-category-card h2 {font-size:25px;line-height:1.3;margin:20px 0 13px;display:flex;justify-content:space-between;gap:12px;}
.client-category-card h2>span {font-size:22px;}
.client-category-card p {font-size:15px;line-height:1.75;}
.client-category-card a:hover img {filter:brightness(.95);}
.client-category-enquiry {background:#edf2f4;padding:70px 0;}
.client-category-enquiry h2 {margin:20px 0;}
.client-category-enquiry p:not(.eyebrow) {max-width:750px;font-size:17px;}
.client-category-enquiry .text-link {margin-top:25px;}
.project-grid:has(>.reveal:only-child) {grid-template-columns:1fr;}
.project-grid>.reveal:only-child .project-image {aspect-ratio:2;max-height:640px;}
.client-case-cover img {width:100%;height:min(65vw,720px);object-fit:cover;}
.client-case-story {display:grid;grid-template-columns:1fr 2fr;gap:60px;}
.client-case-story .lead {margin:24px 0 30px;}
.client-source-description {height:auto;max-height:none;overflow:visible;}
.client-source-description p {font-size:17px;line-height:1.85;margin:20px 0;max-width:780px;}
.client-source-description p.client-source-attribution {font-size:13px;color:var(--muted);line-height:1.65;}
.client-case-original-cover img {height:auto;max-width:800px;margin-inline:auto;object-fit:contain;}
.client-gallery-originals {align-items:start;}
.client-gallery-originals img {height:auto;aspect-ratio:auto;object-fit:contain;}
.client-case-gallery {padding-top:0;}
.client-gallery-grid {display:grid;grid-template-columns:1fr 1fr;gap:28px;}
.client-gallery-link {display:block;background:#e7edef;}
.client-gallery-link img {width:100%;aspect-ratio:1.4;object-fit:cover;}
.client-process-page .client-way {padding-bottom:10px;}
.client-process-next {margin-top:30px;}
.client-mobile-categories {margin:6px 0 20px;padding:0 12px;border-left:1px solid var(--line);}
.mobile-links .client-mobile-categories a {font-size:15px;line-height:1.4;padding:12px 4px;}
.client-photo-dialog {border:0;padding:0;background:#0d2633;color:white;width:min(1200px,96vw);max-width:96vw;max-height:92svh;}
.client-photo-dialog::backdrop {background:rgba(5,16,24,.88);}
.client-photo-dialog img {width:100%;max-height:85svh;object-fit:contain;}
.client-photo-dialog button {position:absolute;top:12px;right:12px;border:0;background:white;color:#132f3f;font-size:26px;line-height:1;width:44px;height:44px;}
@media(max-width:1200px){.mainnav{padding-inline:32px}.mainnav .desktop-nav{font-size:15px;gap:20px}.mainnav .nav-right{gap:20px}.mainnav .nav-quote{font-size:13px}.client-manufacturing-layout{grid-template-columns:.85fr 1.2fr;gap:35px}.client-manufacturing-copy h2{font-size:36px}.client-about .making-image{min-height:600px}}
@media(max-width:960px){.mainnav{height:94px}.mainnav .client-brand{grid-column:auto}.client-brand-mark{height:57px;width:104px}.client-brand-mark img{width:126px;height:126px;left:-11px;top:-30px}.client-brand-name{font-size:9px}.client-intro-copy{grid-template-columns:1fr;gap:26px}.client-way{padding-bottom:50px}.client-manufacturing-layout{grid-template-columns:1fr;gap:40px}.client-manufacturing-copy h2 br{display:none}.client-manufacturing-copy h2{max-width:670px}.client-manufacturing-copy>p:not(.eyebrow){max-width:650px}.client-manufacturing{padding:70px 0}.client-about .making-copy{padding:48px 32px}.client-about .making-image{min-height:540px}.client-category-grid{grid-template-columns:1fr 1fr}.client-case-story{grid-template-columns:1fr;gap:25px}.client-process ol{gap:0 18px}.client-process h3{font-size:15px}}
@media(max-width:640px){.mainnav{padding-inline:20px}.client-way>.eyebrow{margin-bottom:22px}.client-intro-copy h2{font-size:34px}.client-intro-copy p{font-size:15px}.client-process{margin-top:35px}.client-process ol{grid-template-columns:1fr 1fr;gap:0 18px}.client-process li{min-height:108px;padding-top:17px}.client-manufacturing{padding:55px 0}.client-manufacturing-copy h2{font-size:34px}.client-manufacturing-copy>p:not(.eyebrow){font-size:15px}.client-workshop-grid{grid-template-columns:1fr 1fr;gap:14px}.client-workshop-grid figcaption{font-size:12px}.client-about{grid-template-columns:1fr}.client-about .making-copy{padding:48px 24px}.client-about .making-copy h2{font-size:34px}.client-about .making-copy p:not(.eyebrow){font-size:15px}.client-about .making-image{min-height:380px}.client-about .making-image::before{font-size:9px;left:20px}.client-category-grid{grid-template-columns:1fr;gap:38px}.client-category-card h2{font-size:23px}.client-gallery-grid{grid-template-columns:1fr;gap:20px}.client-case-cover img{height:auto;max-height:550px;object-fit:contain}.client-category-enquiry{padding:50px 0}.client-case-story{gap:20px}.client-hero .hero-project{padding:4px 6px;bottom:5px;right:5px}.client-hero .hero-controls>span{font-size:10px}.client-hero .hero-controls button{width:23px;height:23px}}
@media(prefers-reduced-motion:reduce){.client-process li{transition:none}}
/* Case-detail photography: show every edge of the supplied image, not a crop.
   Project-list cards and homepage banners intentionally keep their own rules. */
#alg-original main .case-hero {width:calc(100% - 120px);max-width:1420px;margin-inline:auto;height:auto;overflow:visible;background:#edf2f4;}
#alg-original main .case-hero img,
#alg-original main .client-case-cover img {display:block;width:100%;height:auto;max-height:860px;aspect-ratio:auto;object-fit:contain;object-position:center;background:#edf2f4;}
#alg-original main .gallery-grid {grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;}
#alg-original main .gallery-item img,
#alg-original main .client-gallery-link img {display:block;width:100%;height:auto;aspect-ratio:1.4;object-fit:contain;object-position:center;background:#edf2f4;}
#alg-original main .client-gallery-originals img {aspect-ratio:auto;}
@media(max-width:1190px){#alg-original main .case-hero{width:calc(100% - 72px);}}
@media(max-width:680px){
  #alg-original main .case-hero{width:calc(100% - 40px);}
  #alg-original main .case-hero img,#alg-original main .client-case-cover img{max-height:760px;}
  #alg-original main .gallery-grid,#alg-original main .client-gallery-grid{grid-template-columns:1fr;}
  #alg-original main .gallery-item img,#alg-original main .client-gallery-link img{aspect-ratio:auto;max-height:760px;}
  #alg-original main .client-gallery-originals img{max-height:none;}
}
/* About us, 10 October 2026: the complete client copy and authentic workshop photos.
   Scoped to this page; homepage, project galleries and navigation stay unchanged. */
.client-company-page {color:var(--ink);}
.client-company-heading {padding-top:42px;padding-bottom:48px;}
.client-company-heading .breadcrumbs {margin-bottom:48px;}
.client-company-heading h1 {font-size:clamp(42px,4.6vw,70px);line-height:1.08;letter-spacing:-.045em;max-width:1050px;margin:0 0 24px;}
.client-company-heading .client-company-subtitle {font-size:clamp(24px,2.4vw,36px);line-height:1.35;letter-spacing:-.025em;max-width:960px;color:var(--ink);margin:0;}
.client-company-intro {display:grid;grid-template-columns:1fr 1.08fr;gap:clamp(38px,5vw,80px);align-items:start;padding-bottom:88px;}
.client-company-copy {min-width:0;}
.client-company-copy p {font-size:17px;line-height:1.85;color:#496170;margin:0 0 24px;max-width:none;}
.client-company-copy p:last-child {margin-bottom:0;}
.client-company-team {margin:0;min-width:0;}
.client-company-team img {display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;}
.client-company-team figcaption {font-size:12px;letter-spacing:.035em;color:#496170;margin-top:14px;line-height:1.5;}
.client-company-band {background:#edf2f4;}
.client-company-section {display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(40px,6vw,100px);padding-top:80px;padding-bottom:80px;}
.client-company-section-heading h2 {font-size:clamp(30px,2.7vw,42px);line-height:1.18;letter-spacing:-.035em;margin:0;max-width:420px;}
.client-company-drawing-photo {margin:34px 0 0;max-width:440px;background:#edf2f4;}
.client-company-drawing-photo img {display:block;width:100%;height:auto;}
.client-company-copy .text-link {margin-top:8px;color:var(--ink);}
.client-company-workshop {display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(40px,6vw,100px);padding-bottom:80px;}
.client-company-workshop>.eyebrow {margin:0;padding-top:4px;color:#496170;}
.client-company-workshop .client-workshop-grid {gap:18px;}
.client-company-copy .client-company-process {background:#142f3e;color:#fff;padding:26px 30px;font-size:17px;line-height:2;border-left:3px solid #6b96ad;}
.client-company-copy .client-company-applications {border-top:1px solid #cbd6dc;border-bottom:1px solid #cbd6dc;padding:22px 0;color:var(--ink);font-size:18px;line-height:2;}
.client-company-commitment {background:#142f3e;color:#fff;}
.client-company-commitment h2 {color:#fff;}
.client-company-commitment .client-company-copy>p {color:#d4e0e6;}
.client-company-signature {margin-top:34px;padding-top:28px;border-top:1px solid #537080;}
.client-company-signature p:first-child {color:#fff;font-size:25px;line-height:1.3;margin-bottom:12px;}
.client-company-signature p:last-child {color:#d4e0e6;font-size:16px;}
/* Embedded enquiry on every case detail. Match the shared content container. */
/* Public contact information remains visible, including on the compact mobile footer. */
#alg-original footer .footer-grid>div:has(.client-contact-email) {display:block;min-width:0;}
#alg-original .client-contact-email,#alg-original .client-contact-phone {max-width:100%;overflow-wrap:anywhere;white-space:normal;}
#alg-original .client-direct-contacts {margin:24px 0;}
#alg-original .client-direct-contacts p {margin-bottom:18px;}
@media(max-width:960px){#alg-original footer .footer-grid>div:has(.client-contact-email){grid-column:1/-1;}}
.client-contact-email:focus-visible,.client-contact-phone:focus-visible {outline:2px solid #256c91;outline-offset:4px;}
.client-case-enquiry {background:#edf2f4;padding:80px 0;}
.client-case-enquiry-layout {display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(40px,6vw,100px);align-items:start;}
.client-case-enquiry-intro .eyebrow {margin-bottom:24px;}
.client-case-enquiry-intro h2 {font-size:clamp(34px,3.3vw,50px);line-height:1.12;margin-bottom:26px;}
.client-case-enquiry-intro>p:not(.eyebrow) {font-size:16px;line-height:1.8;max-width:430px;}
.client-case-reference {margin-top:32px;border-top:1px solid #c6d2d9;padding-top:22px;}
.client-case-reference>span {display:block;font-size:10px;letter-spacing:.1em;margin-bottom:10px;}
.client-case-reference strong {font-size:19px;font-weight:500;color:var(--ink);display:block;}
.client-case-enquiry-form {min-width:0;}
.client-form-help {font-size:12px;line-height:1.6;margin:0 0 20px;}
.client-enquiry-fields {display:grid;grid-template-columns:1fr 1fr;gap:22px 24px;}
.client-enquiry-fields label {display:block;min-width:0;font-size:14px;color:var(--ink);}
.client-enquiry-fields label>span {font-size:12px;color:#496170;display:inline;}
.client-enquiry-fields input,.client-enquiry-fields textarea {display:block;margin-top:10px;width:100%;min-width:0;min-height:48px;border:1px solid #9fb3be;background:#fff;border-radius:0;padding:12px 14px;color:#173442;font:inherit;line-height:1.5;box-sizing:border-box;}
.client-enquiry-fields input::placeholder,.client-enquiry-fields textarea::placeholder {color:#607581;opacity:1;}
.client-enquiry-fields textarea {resize:vertical;min-height:150px;}
.client-enquiry-fields input:focus-visible,.client-enquiry-fields textarea:focus-visible,.client-enquiry-consent input:focus-visible {outline:2px solid #256c91;outline-offset:3px;}
.client-enquiry-fields [aria-invalid="true"] {border:2px solid #ad3535;}
.client-enquiry-full {grid-column:1/-1;}
.client-enquiry-honeypot {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);}
.client-enquiry-consent {display:flex;align-items:flex-start;gap:12px;font-size:13px;line-height:1.7;color:#496170;margin:24px 0;}
.client-enquiry-consent input {appearance:auto;width:18px;height:18px;flex:none;accent-color:#173442;margin-top:3px;}
.client-enquiry-consent a {text-decoration:underline;text-underline-offset:3px;color:var(--ink);}
.client-human-check {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 18px;align-items:end;margin:24px 0 20px;padding:18px 20px;border:1px solid #c6d2d9;background:#f7fafb;color:var(--ink);}
.client-human-check-title {grid-column:1/-1;margin:0;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;}
.client-human-check-title span {color:#a42c2c;}
.client-human-check label {display:block;font-size:14px;line-height:1.5;}
.client-human-check label span {display:block;margin-bottom:8px;}
.client-human-check input {display:block;width:110px;max-width:100%;min-height:44px;box-sizing:border-box;border:1px solid #9fb3be;border-radius:0;background:#fff;padding:8px 12px;color:#173442;font:inherit;font-size:16px;}
.client-human-check input[aria-invalid="true"] {border:2px solid #ad3535;}
.client-human-check input:focus-visible,.client-human-refresh:focus-visible {outline:2px solid #256c91;outline-offset:3px;}
.client-human-refresh {border:0;border-bottom:1px solid currentColor;background:transparent;padding:8px 0;color:#173442;font:inherit;font-size:13px;cursor:pointer;}
.client-human-refresh:disabled {opacity:.55;cursor:default;}
.client-human-check>p:last-child {grid-column:1/-1;margin:0;color:#496170;font-size:12px;line-height:1.5;}
.client-enquiry-submit {min-height:48px;cursor:pointer;}
.client-enquiry-submit:focus-visible {outline:2px solid #256c91;outline-offset:4px;}
.client-enquiry-submit:disabled {opacity:.7;cursor:default;}
.client-enquiry-status {font-size:14px;line-height:1.7;margin-top:18px;color:#496170;}
.client-enquiry-status:empty {display:none;}
.client-enquiry-status[data-state="success"] {color:#225b3e;border-left:3px solid #337e56;background:#e5eee8;padding:16px;}
.client-enquiry-status[data-state="error"] {color:#8c2727;border-left:3px solid #ad3535;background:#f6e8e6;padding:16px;}
.client-enquiry-privacy h2 {font-size:32px;margin-bottom:24px;}
.client-enquiry-privacy p {max-width:900px;font-size:16px;line-height:1.8;margin-bottom:20px;}
/* Every customer image is retained. Full photographs remain available in the lightbox. */
.client-case-all-gallery .section-heading>.text-link {flex-shrink:0;}
.client-case-all-gallery .section-heading .eyebrow {margin-bottom:18px;}
.client-customer-photo {margin:0;min-width:0;}
/* Identical 3:2 previews on desktop and mobile; only previews are cropped.
   Source-note images use contain inside the same frame so their text stays intact. */
#alg-original main .client-case-all-gallery .client-gallery-grid {grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;}
#alg-original main .client-case-all-gallery .client-customer-photo {grid-column:auto;width:100%;max-width:none;margin:0;}
#alg-original main .client-case-all-gallery .client-gallery-link {position:relative;width:100%;height:auto;aspect-ratio:3/2;overflow:hidden;background:#edf2f4;}
#alg-original main .client-case-all-gallery .client-gallery-link img {position:absolute;inset:0;display:block;width:100%;height:100%;max-height:none;aspect-ratio:auto;object-fit:cover;object-position:center;}
#alg-original main .client-case-all-gallery .client-customer-note .client-gallery-link img {object-fit:contain;}
#alg-original main .client-case-all-gallery .client-gallery-link:focus-visible {outline:3px solid #256c91;outline-offset:4px;}
@media(max-width:680px){#alg-original main .client-case-all-gallery .client-gallery-grid{grid-template-columns:minmax(0,1fr);}}
@media(max-width:680px){.client-process-page .client-process{padding:22px 20px 26px;}.client-company-drawing-photo{margin-top:26px;max-width:none;}}
.client-photo-dialog-long {overflow:auto;}
.client-photo-dialog-long img {max-height:none;object-fit:contain;}
.client-photo-dialog-long button {position:sticky;top:12px;left:auto;right:auto;z-index:2;margin-left:calc(100% - 56px);margin-bottom:-44px;display:block;}
@media(max-width:960px){
  .client-case-enquiry-layout {grid-template-columns:1fr;gap:34px;}
  .client-case-enquiry-intro>p:not(.eyebrow) {max-width:700px;}
  .client-company-heading {padding-bottom:36px;}
  .client-company-intro {grid-template-columns:1fr;gap:32px;padding-bottom:60px;}
  .client-company-team {max-width:760px;}
  .client-company-section {grid-template-columns:1fr;gap:28px;padding-block:60px;}
  .client-company-section-heading h2 {max-width:650px;}
  .client-company-workshop {grid-template-columns:1fr;gap:24px;padding-bottom:60px;}
  .client-company-workshop .client-workshop-grid {grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(max-width:680px){
  .client-case-enquiry {padding:48px 0;}
  .client-case-enquiry-intro h2 {font-size:35px;}
  .client-enquiry-fields {grid-template-columns:1fr;gap:18px;}
  .client-enquiry-fields input,.client-enquiry-fields textarea {font-size:16px;}
  .client-human-check {padding:16px;}
  .client-enquiry-submit {width:100%;justify-content:space-between;}
  .client-company-heading {padding-top:28px;padding-bottom:28px;}
  .client-company-heading .breadcrumbs {margin-bottom:32px;}
  .client-company-heading h1 {font-size:40px;margin-bottom:20px;}
  .client-company-heading .client-company-subtitle {font-size:25px;}
  .client-company-intro {gap:26px;padding-bottom:44px;}
  .client-company-copy p {font-size:16px;line-height:1.85;margin-bottom:20px;}
  .client-company-section {gap:24px;padding-block:44px;}
  .client-company-section-heading h2 {font-size:31px;}
  .client-company-workshop {padding-bottom:44px;}
  .client-company-workshop .client-workshop-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
  .client-company-copy .client-company-process {padding:20px;font-size:16px;}
  .client-company-copy .client-company-applications {font-size:16px;}
  .client-company-signature {margin-top:26px;padding-top:24px;}
}
