/* Product-detail layer. The approved Company shell remains authoritative. */
.product-story main>.product-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:64px;padding-block:34px 58px}
.product-story .product-intro{min-width:0}.product-story .product-back{font-size:12px;color:#bdcec2;display:inline-flex;gap:10px;margin-bottom:28px;padding-block:5px}.product-story .product-back:hover{color:#fff}
.product-story main>.product-hero h1{font-size:clamp(42px,4.3vw,63px);letter-spacing:-.046em;line-height:1.06;max-width:none;margin:0 0 25px}
.product-story main>.product-hero .m-kicker{font-size:10px;margin:0 0 13px;letter-spacing:.1em}.product-story .product-hero .m-product-name{font-size:19px;line-height:1.3;color:#c3e8ce;margin:0 0 20px;font-weight:400;letter-spacing:.02em}
.product-story main>.product-hero .m-lead{font-size:17px;line-height:1.65;margin:0 0 25px;max-width:590px}.product-story main>.product-hero .m-actions{gap:19px;flex-wrap:wrap;margin:0 0 23px}
.product-story main>.product-hero .m-actions a{font-size:13px;line-height:1.5}.product-story main>.product-hero .m-availability{font-size:12px;line-height:1.7;margin:0;max-width:520px;border-left:2px solid #7da98b;padding:5px 0 5px 15px;color:#c6d3c9}
.product-story .product-art{margin:0;min-width:0;align-self:center}.product-story .product-art>a{display:block;line-height:0;border:1px solid #75877a;background:#eff0e7;padding:10px;transition:transform .18s ease}.product-story .product-art>a:hover{transform:translateY(-3px)}
.product-story .product-art img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;border:0}.product-story .product-art figcaption{color:#c4d0c6;font-size:12px;line-height:1.65;margin:16px 0 0;max-width:none}.product-story .product-art figcaption a{color:#e6efe6;text-decoration:underline;text-underline-offset:4px}
.product-story .product-art.m-report{max-width:none;border:0;background:transparent;padding:0}.product-story .product-art.m-report img{max-height:none;aspect-ratio:auto}.product-story .product-art.m-report figcaption{background:transparent;padding:0}
.product-story .product-index{display:flex;align-items:center;justify-content:space-between;gap:22px;flex-wrap:wrap;background:#e7e9e0;padding:16px max(var(--company-pad),calc((100% - var(--company-width))/2));border-bottom:1px solid #cdd6cc;font-size:12px;line-height:1.5}
.product-story .product-index>span{color:#536459;text-transform:uppercase;letter-spacing:.08em;font-size:10px}.product-story .product-index>div{display:flex;gap:25px;flex-wrap:wrap}.product-story .product-index a{padding:7px 0;color:#11201b;border-bottom:1px solid #8c9c88}.product-story .product-index a:hover{color:#305c40;border-color:#305c40}
.product-story main>.product-section{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);column-gap:74px;padding:64px max(var(--company-pad),calc((100% - var(--company-width))/2));border:0;border-bottom:1px solid #d6ddd2;scroll-margin-top:28px}
.product-story .product-section>h2{font-size:clamp(29px,3.1vw,44px);font-weight:400;line-height:1.14;letter-spacing:-.04em;margin:0;max-width:20ch;align-self:start}.product-story .product-section-body{min-width:0}.product-story .product-section-body>p{font-size:17px;line-height:1.75;margin:0 0 21px;max-width:73ch;color:#435348}.product-story .product-section-body>p:last-child{margin-bottom:0}
.product-story main>.product-workflow{display:block;background:#e7e9e0}.product-story .product-workflow>h2{max-width:29ch;margin-bottom:35px}.product-story .product-workflow>.product-section-body{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.product-story .product-workflow .m-step{padding:26px 25px;margin:0;background:#f5f5ef;border:1px solid #c4cebf;min-width:0}.product-story .product-workflow .m-step h3{font-size:23px;line-height:1.3;font-weight:400;letter-spacing:-.03em;margin:0 0 19px}.product-story .product-workflow .m-step p{font-size:15px;line-height:1.75;color:#435348;margin:0 0 17px}.product-story .product-workflow .m-step p:last-child{margin-bottom:0}.product-story .product-workflow .m-step p.m-note{font-size:12px;color:#536459;border-top:1px solid #ccd4c6;padding-top:15px}
.product-story .product-section .m-step{border-color:#cdd6cc}.product-story .product-section:not(.product-workflow) .product-section-body>.m-step:first-child{padding-top:0}.product-story .product-section-body>.m-step h3{font-weight:400;font-size:24px;letter-spacing:-.02em}.product-story .product-section-body>.m-step p{font-size:16px;line-height:1.7;color:#435348}
.product-story main>.product-limits{background:#e9ede2}.product-story .product-limits .m-technical{background:#f5f5ef;border:1px solid #bdc9b7;margin:0 0 13px;padding:18px 21px}.product-story .product-limits .m-technical summary{font-size:16px;line-height:1.5;color:#11201b}.product-story .product-limits .m-technical p{font-size:15px;line-height:1.75;color:#435348;margin-top:16px}
.product-story .project-brief{color:#11201b;background:#f5f5ef;padding:35px 34px;border-top:4px solid #a1c7aa;box-shadow:0 9px 0 #284b37;transform:rotate(1deg);align-self:center}.product-story .project-brief .brief-label{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#536459;margin-bottom:18px}.product-story .project-brief h2{font:italic 35px/1.15 Georgia,serif;letter-spacing:-.03em;color:#244c38;margin:0 0 28px}.product-story .project-brief ol{list-style:none;padding:0;margin:0 0 23px;counter-reset:brief}
.product-story .project-brief li{counter-increment:brief;padding:15px 0;border-top:1px solid #cdd6cc;display:flex;gap:19px;font-size:16px;color:#11201b}.product-story .project-brief li:before{content:'0' counter(brief);font:11px/2 monospace;color:#536459}.product-story .project-brief a{color:#11201b;font-size:13px;text-decoration:underline;text-underline-offset:4px}.product-story .project-brief .brief-note{font-size:12px;color:#536459;margin:20px 0 0}
.product-story .enquiry-options{grid-template-columns:1fr;gap:18px}.product-story .enquiry-options article{padding:23px;background:#e9ede2}.product-story .enquiry-options h3{font-size:24px}.product-story .enquiry-steps{padding-left:24px;margin:0}.product-story .enquiry-steps li{padding:22px 0 22px 12px}.product-story .enquiry-steps li:first-child{padding-top:0;border-top:0}.product-story .enquiry-steps h3{font-weight:400;font-size:24px}.product-story .enquiry-steps p{font-size:16px;line-height:1.7}
.product-story .product-section .m-actions{margin-top:25px;flex-wrap:wrap}.product-story .product-section a.m-action{background:#11201b;color:#f5f5ef;border-color:#11201b;font-size:13px;padding:14px 19px}.product-story .product-section a.m-action:hover{background:#294b39;color:#fff;border-color:#294b39}.product-story .product-section .m-note{font-size:13px;line-height:1.7}
.product-story a:focus-visible,.product-story summary:focus-visible{outline:3px solid #ae4e22;outline-offset:5px}.product-story .product-hero a:focus-visible,.product-story .company-header a:focus-visible{outline-color:#ed9a62}.product-story .product-section:focus{outline:2px solid #305c40;outline-offset:-5px}
@media(max-width:1160px){.product-story main>.product-hero{gap:36px}.product-story main>.product-hero h1{font-size:47px}.product-story main>.product-hero .m-lead{font-size:16px}.product-story main>.product-section{column-gap:42px}.product-story .project-brief{padding:28px}.product-story .product-workflow>.product-section-body{gap:18px}.product-story .product-workflow .m-step{padding:23px 20px}}
@media(max-width:900px){.product-story main>.product-hero{grid-template-columns:1fr;gap:35px;padding-block:24px 42px}.product-story .product-intro{max-width:690px}.product-story main>.product-hero h1{font-size:56px;max-width:21ch}.product-story main>.product-hero .m-lead{max-width:680px;font-size:18px}.product-story .product-art{width:100%;max-width:700px;justify-self:end}.product-story .project-brief{width:100%;max-width:620px;justify-self:end}.product-story .product-workflow>.product-section-body{grid-template-columns:1fr}.product-story .product-workflow .m-step{display:grid;grid-template-columns:1fr 1.6fr;column-gap:26px}.product-story .product-workflow .m-step h3{grid-column:1;grid-row:1/5;margin:0}.product-story .product-workflow .m-step p{grid-column:2}.product-story main>.product-section{grid-template-columns:1fr;gap:26px;padding-block:46px}.product-story .product-section>h2{max-width:25ch;font-size:36px}.product-story .product-section-body{max-width:760px}}
@media(max-width:560px){.product-story main>.product-hero{padding-top:15px;padding-bottom:36px;gap:30px}.product-story .product-back{margin-bottom:20px;font-size:11px}.product-story main>.product-hero h1{font-size:clamp(36px,9.7vw,50px);line-height:1.08;margin-bottom:22px}.product-story main>.product-hero .m-kicker{font-size:9px;margin-bottom:11px}.product-story .product-hero .m-product-name{font-size:17px;margin-bottom:15px}.product-story main>.product-hero .m-lead{font-size:16px;line-height:1.65;margin-bottom:23px}.product-story main>.product-hero .m-actions{gap:17px}.product-story main>.product-hero .m-actions a{font-size:12px}.product-story main>.product-hero .m-availability{font-size:12px}.product-story .product-art>a{padding:6px}.product-story .product-art figcaption{font-size:11px;margin-top:12px}.product-story .product-index{padding-block:14px;gap:12px}.product-story .product-index>div{gap:9px 22px}.product-story .product-index a{font-size:12px}.product-story main>.product-section{padding-block:36px;gap:23px}.product-story .product-section>h2{font-size:29px}.product-story .product-section-body>p{font-size:16px;line-height:1.7}.product-story .product-workflow>.product-section-body{gap:16px}.product-story .product-workflow .m-step{display:block;padding:23px 20px}.product-story .product-workflow .m-step h3{font-size:23px;margin:0 0 18px}.product-story .product-workflow .m-step p{font-size:15px}.product-story .project-brief{transform:none;padding:25px 22px}.product-story .project-brief h2{font-size:31px}.product-story .project-brief li{font-size:15px}.product-story .product-limits .m-technical{padding:16px}.product-story .product-section .m-actions a.m-action{font-size:12px}.product-story .enquiry-options article{padding:20px}.product-story .enquiry-steps h3{font-size:23px}}
@media(prefers-reduced-motion:reduce){.product-story .product-art>a,.product-story .product-art>a:hover{transition:none;transform:none}}
/* Keep caption actions together; never leave an arrow orphaned on its own line. */
.product-story .product-art figcaption>a{display:inline-flex;gap:5px;align-items:baseline;margin-top:5px;line-height:1.5}
