/* An editorial extension of the existing forest / ivory visual language. */
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.service-intro-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(36px,5vw,80px);align-items:center}
.service-intro-layout>div{min-width:0}
.service-intro-layout h1{font-size:clamp(2.5rem,4vw,3.625rem)}
.service-intro-layout p:not(.eyebrow){max-width:510px;color:var(--home-muted);margin-top:24px}
.service-material-detail{overflow:hidden;border-radius:12px;border:1px solid var(--home-rule);background:#eeeade}
.service-material-detail img{width:100%;aspect-ratio:6/5;object-fit:cover;object-position:58% center}
.service-material-detail figcaption,.service-atmosphere figcaption{padding:15px 18px;font-size:.875rem;line-height:1.65;background:var(--surface)}
.service-material-detail figcaption span,.service-atmosphere figcaption span{display:block;color:var(--home-muted);font-size:.75rem;margin-top:2px}
.service-intro-layout .portfolio-nav{gap:8px 20px;margin-top:28px}
.service-atmosphere{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);gap:clamp(32px,5vw,72px);align-items:center;margin-bottom:52px}
.service-atmosphere figure{overflow:hidden;border:1px solid var(--home-rule);border-radius:12px}
.service-atmosphere img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}
.service-atmosphere>div{min-width:0}
.service-atmosphere p:not(.eyebrow){color:var(--home-muted);margin-top:24px}
.service-atmosphere .service-atmosphere-note{font-size:.875rem;border-top:1px solid var(--home-rule);padding-top:20px}
.handover-sample{margin-top:40px;border:1px solid #cbd7c3;border-radius:12px;background:var(--surface);overflow:hidden}
.handover-sample>summary{display:flex;align-items:center;gap:18px;padding:22px 26px;min-height:66px;font-weight:500}
.handover-sample>summary>span:first-child{flex:1;min-width:0}
.handover-sample .sample-label{font-size:.75rem;color:var(--home-muted);font-weight:400}
.handover-sample>summary>span:last-child{font-size:1.5rem;line-height:1;transition:transform .2s ease}
.handover-sample[open]>summary>span:last-child{transform:rotate(45deg)}
.handover-sample>summary:focus-visible{outline-offset:-5px}
.handover-document{margin:0 26px 26px;padding:32px 40px;border:1px solid #e1e3d9;border-radius:8px;background:#fafaf6;max-width:940px}
.document-masthead{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 20px;border-bottom:1px solid #cbd6c4;padding-bottom:18px;font-size:.75rem;letter-spacing:.08em;color:#556a50}
.document-heading{padding-top:28px}
.document-heading h3{font-size:1.875rem;margin-bottom:12px}
.document-heading p{color:var(--home-muted);font-size:.9375rem}
.document-tabs{display:flex;gap:4px;border-bottom:1px solid #cfd9c8;margin:28px 0 0}
.document-tabs button{flex:1;min-width:0;min-height:48px;padding:12px 14px;border:0;border-bottom:2px solid transparent;background:none;font-size:.875rem;line-height:1.5;color:var(--home-muted);transition:background .2s,color .2s,border-color .2s}
.document-tabs button[aria-selected=true]{color:var(--forest);border-bottom-color:var(--forest);background:#eef2e8}
.document-tabs button:focus-visible{outline-offset:-4px}
.document-panels{min-height:335px}
.document-panels [role=tabpanel]{padding-top:26px}
.document-section-label{font-size:.75rem;letter-spacing:.1em;color:#5a7054;margin-bottom:18px}
.document-rows{margin:0}
.document-rows>div{display:grid;grid-template-columns:minmax(0,.5fr) minmax(0,1fr);gap:24px;padding:16px 0;border-bottom:1px solid #e0e5da}
.document-rows dt{font-size:.875rem;font-weight:500;line-height:1.65}
.document-rows dd{margin:0;color:var(--home-muted);font-size:.875rem;line-height:1.65}
.document-footnote{font-size:.8125rem;color:var(--home-muted);margin:24px 0 0;max-width:630px}
.lab-case{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);border:1px solid #d4decf;border-radius:12px;overflow:hidden;background:var(--surface);margin-bottom:32px}
.lab-story{padding:38px 42px;min-width:0}
.lab-story .eyebrow{margin-top:36px}
.lab-story h3{font-size:clamp(1.875rem,3vw,2.5rem);line-height:1.2}
.lab-lead{color:var(--home-muted);margin-top:22px}
.lab-outcomes{margin:28px 0 0}
.lab-outcomes>div{display:grid;grid-template-columns:100px minmax(0,1fr);gap:20px;border-top:1px solid var(--home-rule);padding:18px 0}
.lab-outcomes dt{font-size:.875rem;font-weight:500;color:var(--forest)}
.lab-outcomes dd{font-size:.9375rem;line-height:1.75;color:var(--home-muted);margin:0}
.lab-foundation{display:flex;flex-direction:column;background:#eef2e9;border-left:1px solid var(--home-rule);min-width:0;padding:26px}
.lab-foundation figure{background:#fff;border:1px solid #e1e7db;border-radius:8px;margin:auto 0 24px}
.lab-foundation img{width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;padding:28px}
.lab-foundation figcaption{padding:0 22px 20px;font-size:.9375rem;font-weight:500;color:var(--forest)}
.lab-foundation figcaption span{display:block;margin-top:5px;font-size:.75rem;line-height:1.6;color:var(--home-muted);font-weight:400}
.lab-hardware{padding:0 6px;margin-bottom:auto}
.lab-hardware>span{font-size:.75rem;letter-spacing:.09em;color:#607455}
.lab-hardware p{font-size:1rem;margin:10px 0 18px}
.lab-workloads{display:flex;flex-wrap:wrap;gap:8px}
.lab-workloads>span{font-size:.8125rem;padding:5px 9px;border:1px solid #cedac4;border-radius:5px;background:#f9fbf5}
.lab-details{grid-column:1/-1;border-top:1px solid var(--home-rule);background:#f5f7ef}
.lab-details summary{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:60px;padding:18px 38px;font-size:.9375rem;font-weight:500}
.lab-details summary:focus-visible{outline-offset:-5px}
.lab-details summary>span{font-size:1.375rem;line-height:1;transition:transform .2s ease}
.lab-details[open] summary>span{transform:rotate(45deg)}
.lab-details>div{padding:0 38px 26px;max-width:1000px;color:var(--home-muted);font-size:.9375rem}
.project-grid-secondary{grid-template-columns:repeat(2,minmax(0,1fr))}
.catalog-card-action{padding:0 24px 22px;margin-top:auto}
.catalog-card-action:has(button[hidden]){display:none}
.shortlist-add{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:46px;padding:10px 15px;border:1px solid #ccd8c5;border-radius:7px;background:#f5f7ef;color:var(--forest);font-size:.875rem;line-height:1.5;transition:background .2s,border-color .2s,color .2s}
.shortlist-add [data-shortlist-symbol]{width:18px;line-height:1;font-size:1.125rem}
.shortlist-add[aria-pressed=true]{background:var(--forest);color:var(--ivory);border-color:var(--forest)}
.shortlist-review{display:inline-flex;gap:8px;align-items:center;min-height:46px;padding:8px 12px;border:1px solid #c0cfb8;border-radius:7px;background:var(--surface);font-size:.875rem;margin-left:auto}
.shortlist-review>span,.shortlist-heading [data-shortlist-count]{display:inline-grid;place-items:center;min-width:25px;min-height:25px;padding:1px 6px;background:#e1e9d8;color:var(--forest);font:500 .8125rem/1.4 Inter,sans-serif;border-radius:5px;vertical-align:middle}
.catalog-type-row{flex-wrap:wrap;gap:16px}
.catalog-type-row .catalog-reset{margin-left:0}
.catalog-type-row>p{white-space:nowrap}
.project-shortlist{margin:0 0 44px;border:1px solid #bacdb0;border-radius:12px;background:#f3f6ed;padding:26px 28px;scroll-margin-top:28px}
.shortlist-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px}
.shortlist-heading>div{min-width:0}
.shortlist-heading .eyebrow{font-size:.75rem;margin-bottom:8px}
.shortlist-heading h2,.shortlist-heading h4{font-size:1.5rem;line-height:1.4;letter-spacing:-.025em}
.shortlist-heading [data-shortlist-count]{margin-left:8px}
.shortlist-clear{flex:none;border:0;background:none;color:var(--home-muted);padding:10px 0;min-height:44px;font-size:.8125rem;text-decoration:underline;text-underline-offset:4px}
.shortlist-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;list-style:none;margin:0;padding:0}
.shortlist-items li{display:grid;grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 0;border-top:1px solid #d6e0ce;min-width:0}
.shortlist-items img{width:56px;height:48px;object-fit:contain;background:#fff;border:1px solid #e5eadd;border-radius:5px;padding:4px}
.shortlist-items li>span{font-size:.875rem;line-height:1.55;overflow-wrap:anywhere}
.shortlist-items button{min-height:44px;padding:9px 4px;border:0;border-radius:4px;background:none;color:#536a4b;font-size:.8125rem;text-decoration:underline;text-underline-offset:4px}
.shortlist-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid #d6e0ce;padding-top:20px;margin-top:10px}
.shortlist-footer p{margin:0;max-width:450px;color:var(--home-muted);font-size:.8125rem;line-height:1.65}
.shortlist-footer .button{flex:none;font-size:.875rem}
.enquiry-shortlist{padding:20px;margin:0 0 28px;background:#f2f5ec}
.enquiry-shortlist .shortlist-heading{align-items:start;gap:10px}
.enquiry-shortlist .shortlist-heading h4{font-size:1.125rem}
.enquiry-shortlist .shortlist-heading{flex-wrap:wrap}
.enquiry-shortlist .shortlist-items{grid-template-columns:1fr}
.enquiry-shortlist .shortlist-items li{grid-template-columns:42px minmax(0,1fr) auto;gap:9px}
.enquiry-shortlist .shortlist-items img{width:42px;height:40px}
.enquiry-shortlist .shortlist-footer{display:block}
.enquiry-shortlist .text-link{font-size:.8125rem;margin-top:6px}
.contact-next{padding-top:24px;margin-top:30px;border-top:1px solid #cbd7c1;max-width:360px}
.contact-next .eyebrow{display:block;margin-bottom:10px}
.contact-next p{font-size:.9375rem;line-height:1.75;color:var(--home-muted)}
#form-result strong{display:block;font:500 1.25rem/1.4 Manrope,sans-serif;letter-spacing:-.025em}
#form-result .form-next-step{font-size:.875rem;color:var(--home-muted);margin-top:12px}
.form-feedback [data-icon]{margin-bottom:14px}
.reply-options label>span{min-height:44px}
.button,.nav-cta{transition:background .2s ease,box-shadow .2s ease}
@media(hover:hover) and (pointer:fine){.button:not(:disabled):hover,.nav-cta:hover{transform:none;box-shadow:0 12px 24px -18px #102c2560}.shortlist-add:not([aria-pressed=true]):hover{background:#e8efdf;border-color:#a6bf98}.shortlist-items button:hover,.shortlist-clear:hover{color:var(--forest)}.document-tabs button:hover{background:#eef2e8}}
@media(max-width:1050px){.service-intro-layout{grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:32px}.service-intro-layout h1{font-size:2.5rem}.service-atmosphere{grid-template-columns:1.1fr 1fr;gap:32px}.lab-story{padding:30px}.lab-outcomes>div{grid-template-columns:1fr;gap:5px}.lab-foundation{padding:22px}.shortlist-items{grid-template-columns:1fr}.shortlist-footer{align-items:start}.project-grid-secondary{gap:24px}}
@media(max-width:700px){
 .service-intro-layout{grid-template-columns:1fr;gap:30px}.service-intro-layout h1{font-size:2.25rem}.service-intro-layout p:not(.eyebrow){margin-top:20px}.service-material-detail img{aspect-ratio:16/9;object-position:58% 48%}.service-material-detail figcaption{padding:13px 16px}.service-intro-layout .portfolio-nav{gap:6px 18px;margin-top:22px}
 .service-atmosphere{grid-template-columns:1fr;gap:28px;margin-bottom:30px}.service-atmosphere>div{grid-row:1}.service-atmosphere h2 br{display:none}.service-atmosphere img{aspect-ratio:16/10}.service-atmosphere p:not(.eyebrow){margin-top:18px}.service-atmosphere .service-atmosphere-note{display:none}
 .handover-sample{margin-top:28px}.handover-sample>summary{padding:18px;font-size:.9375rem;gap:14px}.handover-sample .sample-label{display:none}.handover-document{margin:0 12px 12px;padding:22px 18px}.document-heading h3{font-size:1.625rem}.document-masthead{font-size:.75rem}.document-tabs{gap:2px;margin-top:22px}.document-tabs button{font-size:.8125rem;padding:10px 6px;min-height:60px}.document-rows>div{grid-template-columns:1fr;gap:6px;padding:14px 0}.document-panels{min-height:440px}.document-footnote{margin-top:20px}
 .lab-case{grid-template-columns:1fr;margin-bottom:24px}.lab-story{padding:26px 24px}.lab-story .eyebrow{margin-top:26px}.lab-story h3{font-size:1.875rem}.lab-outcomes{margin-top:22px}.lab-outcomes>div{padding:16px 0}.lab-foundation{border-left:0;border-top:1px solid var(--home-rule);padding:24px}.lab-foundation figure{margin:0 0 20px}.lab-foundation img{aspect-ratio:16/9;padding:18px 36px}.lab-details summary{padding:18px 24px;font-size:.875rem}.lab-details>div{padding:0 24px 24px}.project-grid-secondary{grid-template-columns:1fr}
 .catalog-card-action{padding:0 22px 20px}.catalog-type-row{gap:10px}.catalog-type-row>label{grid-column:1/-1}.catalog-type-row .shortlist-review{grid-column:1/-1;justify-self:start;margin:0}.catalog-type-row>p{grid-column:1}.catalog-type-row .catalog-reset{grid-column:2;grid-row:auto}
 .project-shortlist{padding:22px 18px;margin-bottom:32px}.shortlist-heading{flex-wrap:wrap;gap:10px}.shortlist-heading h2{font-size:1.25rem}.shortlist-clear{min-height:44px}.shortlist-items{gap:0}.shortlist-items li{grid-template-columns:42px minmax(0,1fr) auto;gap:10px}.shortlist-items img{width:42px;height:42px}.shortlist-items button{font-size:.75rem}.shortlist-footer{flex-direction:column;align-items:stretch;gap:18px}.shortlist-footer .button{width:100%}.enquiry-shortlist{padding:18px 14px}.contact-next{max-width:none}
}
@media(prefers-reduced-motion:reduce){.shortlist-add,.document-tabs button,.handover-sample>summary>span:last-child,.lab-details summary>span,.button,.nav-cta{transition:none}}
