/* CJ MUNI V5 — content-led catalogue and verified project portfolio */
html {scroll-padding-top:108px}
.header{background:#101819;box-shadow:0 1px 0 rgba(255,255,255,.08)}
.header .brand img {width:194px;max-height:62px;object-fit:contain}
.desktop-nav a{color:#c5d0cc}.desktop-nav a[href="products.html"],.desktop-nav a[href="projects.html"]{font-weight:800}
.footer-bottom span:last-of-type{color:#a3b4ab}
.home-project-link{color:#fff;display:inline-flex;align-items:center;gap:12px;border-bottom:1px solid #aeb4ae;min-height:48px;font-weight:800;letter-spacing:.06em;font-size:12px}
.home-project-link:hover{color:var(--gold)}
.catalog-masthead{background:#101a1c;color:#fff;padding:112px 0 116px;position:relative;isolation:isolate;overflow:hidden}
.catalog-masthead:before{content:'';position:absolute;right:-18%;top:-80%;width:900px;height:900px;border-radius:50%;background:radial-gradient(circle,rgba(231,185,63,.075),transparent 70%);z-index:-1}
.catalog-masthead-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(330px,.8fr);gap:8%;align-items:center}
.catalog-masthead h1{font-size:clamp(65px,7.45vw,122px);line-height:.9;margin:30px 0 30px;letter-spacing:-.03em}
.catalog-masthead p{max-width:630px;color:#c7d2cd;font-size:19px;line-height:1.65}
.catalog-masthead-actions{display:flex;gap:30px;flex-wrap:wrap;align-items:center;margin-top:34px}
.catalog-secondary-link{display:inline-flex;color:#eff4ef;letter-spacing:.06em;border-bottom:1px solid #9caba5;font-size:11px;font-weight:800;padding-bottom:10px}
.catalog-secondary-link:hover{color:var(--gold)}
.catalog-brand-panel{min-width:0;padding:32px;background:#f8f8f4;color:var(--ink);box-shadow:18px 18px 0 rgba(231,185,63,.11)}
.catalog-brand-panel .micro-kicker{font-size:10px;letter-spacing:.15em;color:#6d746f;font-weight:800}
.catalog-manufacturer-logo{height:190px;background:#fff;display:flex;align-items:center;justify-content:center;margin:25px -4px;padding:28px;position:relative}
.catalog-manufacturer-logo img{width:100%;max-width:320px;height:100%;object-fit:contain}
.catalog-manufacturer-logo span{font-family:var(--display);font-weight:800;color:#04699e;font-size:70px;display:none}
.catalog-brand-panel p{color:#3b4847;font-size:15px;line-height:1.65}
.catalog-brand-foot{border-top:1px solid #c9d2ce;display:flex;align-items:center;justify-content:space-between;margin-top:24px;padding-top:18px;font-size:10px;font-weight:800;letter-spacing:.1em}
.catalog-brand-foot b{font-size:25px;color:#c28e22}
.catalog-browse{background:#f1f0eb}
.catalog-intro{display:grid;grid-template-columns:1fr 400px;gap:60px;align-items:end;margin-bottom:39px}
.catalog-intro h2{margin:17px 0 0;font-size:clamp(68px,6.6vw,103px)}.catalog-intro h2 em{color:#c09024}
.catalog-intro p{font-size:17px;line-height:1.6;margin-bottom:0}
.catalog-controls{display:flex;justify-content:space-between;gap:25px;align-items:center;flex-wrap:wrap;padding:16px 0;border-top:1px solid #bec8c1;border-bottom:1px solid #bec8c1}
.catalog-searchbox{flex:1 1 310px;min-width:0;max-width:470px;background:#fff;border:1px solid #bfc8c0;display:flex;gap:14px;align-items:center;padding:0 18px}
.catalog-searchbox>span{font-size:29px;color:#6c796f}.catalog-searchbox input{min-width:0;border:0;outline:none;background:transparent;height:49px;width:100%;font-size:14px;color:#182725}
.catalog-searchbox:focus-within{outline:2px solid #bc8925;outline-offset:2px}
.catalog-filters,.portfolio-filters{display:flex;gap:7px;flex-wrap:wrap}.catalog-filters button,.portfolio-filters button{cursor:pointer;border:1px solid #aeb8af;background:transparent;color:#25312e;padding:14px 15px;font-size:10px;font-weight:900;letter-spacing:.045em;transition:background .2s,color .2s}
.catalog-filters button span{font-size:10px;opacity:.65;margin-left:6px}.catalog-filters button.is-active,.portfolio-filters button.is-active{background:#162526;color:#fff;border-color:#162526}
.catalog-filters button:hover:not(.is-active),.portfolio-filters button:hover:not(.is-active){background:#e0dfd9}
.catalog-count{display:flex;align-items:center;gap:6px;margin:21px 0;font-size:11px;letter-spacing:.1em;font-weight:800;color:#64716b}.catalog-count button{margin-left:auto;cursor:pointer;background:none;border:0;border-bottom:1px solid #55635d;font-size:11px;font-weight:800;color:#53635a}
.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;align-items:start}
.catalog-card{min-width:0;background:#fff;border:1px solid #d8ded8;display:flex;flex-direction:column;overflow:hidden;transition:box-shadow .25s,transform .25s}
.catalog-card:hover{box-shadow:0 13px 26px rgba(18,36,34,.09);transform:translateY(-3px)}
.catalog-card[hidden],.case-study[hidden]{display:none!important}
.catalog-card-image{height:275px;position:relative;background:#e7e9e6;display:flex;justify-content:center;align-items:center;overflow:hidden}
.catalog-card-image:after{content:'';position:absolute;inset:auto 0 0 0;height:45px;background:linear-gradient(0deg,rgba(18,29,30,.13),transparent);pointer-events:none}
.catalog-card-image img{width:100%;height:100%;object-fit:contain;object-position:center;mix-blend-mode:multiply;padding:25px;filter:saturate(.9)}
.catalog-card-num{position:absolute;left:21px;top:16px;color:#576965;font-size:11px;font-weight:800;letter-spacing:.12em;z-index:1}
.catalog-image-mark{position:absolute;right:14px;bottom:14px;font-size:9px;letter-spacing:.08em;font-weight:800;color:#223133;z-index:3;background:rgba(255,255,255,.92);padding:7px 10px;border:1px solid rgba(28,41,42,.08);box-shadow:0 6px 14px rgba(13,24,26,.08)}
.catalog-card-body{padding:25px 26px 24px;display:flex;flex:1;flex-direction:column;min-width:0}
.catalog-type{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#af7e1a;font-weight:900}
.catalog-card h3{font-size:clamp(34px,3vw,45px);line-height:1;margin:12px 0;overflow-wrap:anywhere}
.catalog-card-body>p{color:#52615d;line-height:1.6;font-size:14px;margin-bottom:26px;min-height:70px}
.catalog-specs{border-top:1px solid #d4ddd5;margin-top:auto}.catalog-specs summary{display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none;cursor:pointer;padding:18px 0;font-size:11px;letter-spacing:.035em;font-weight:900}.catalog-specs summary::-webkit-details-marker{display:none}.catalog-specs summary span{font-size:21px;transition:transform .2s;color:#b78720}.catalog-specs[open] summary span{transform:rotate(45deg)}
.spec-table-scroller{max-width:100%;overflow-x:auto}.catalog-specs table{border-collapse:collapse;width:100%;font-size:12px;line-height:1.4}.catalog-specs table caption{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.catalog-specs tr{border-top:1px solid #dbe2dd}.catalog-specs th,.catalog-specs td{padding:10px 5px;text-align:left;vertical-align:top;overflow-wrap:anywhere}.catalog-specs th{width:38%;font-weight:800;color:#263734}.catalog-specs td{color:#495953}.catalog-specs small{display:block;font-size:10px;color:#67736a;line-height:1.5;padding:8px 0 14px}
.catalog-enquire{background:#142528;color:#fff;display:flex;justify-content:space-between;align-items:center;padding:15px;margin-top:7px;gap:10px;font-size:10px;letter-spacing:.045em;font-weight:900;overflow-wrap:anywhere}.catalog-enquire:hover{background:#375052}.catalog-enquire span{font-size:19px;color:var(--gold)}
.catalog-empty{padding:70px 0;text-align:center}.catalog-empty h3{font-size:48px}.catalog-empty p{margin-bottom:25px}
.reagents-band{background:#193032;color:#f3f6f0;padding:92px 0}.reagents-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:9%;align-items:center}.reagents-grid h2{font-size:clamp(60px,5.7vw,92px);margin:20px 0}.reagents-grid p{color:#c1d3cc;font-size:17px}.reagent-tags{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0 34px}.reagent-tags span{padding:8px 13px;border:1px solid #506563;font-size:11px;color:#d8dfdb}
.portfolio-hero{background:#111c1e;color:#fff;overflow:hidden}.portfolio-hero-grid{display:grid;grid-template-columns:1fr .95fr;gap:6%;min-height:690px;align-items:center}.portfolio-hero-grid>div:first-child{padding:80px 0}.portfolio-hero h1{font-size:clamp(92px,9vw,152px);line-height:.84;margin:30px 0}.portfolio-hero p{font-size:20px;line-height:1.6;color:#b6c8c0;max-width:530px;margin-bottom:30px}.portfolio-hero-visual{height:620px;position:relative;align-self:stretch}.portfolio-hero-visual img{height:100%;width:100%;object-fit:cover;filter:grayscale(.5) contrast(1.13)}.portfolio-hero-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(2,12,12,.6),transparent 45%)}.portfolio-hero-visual span{position:absolute;bottom:25px;left:26px;z-index:1;color:#e0c273;letter-spacing:.12em;font-size:11px;font-weight:800}
.portfolio-intro{background:#f0f0ec}.portfolio-head{display:grid;grid-template-columns:1fr 400px;gap:60px;align-items:end}.portfolio-head h2{font-size:clamp(78px,7vw,118px);margin:16px 0 10px}.portfolio-head h2 em{color:#bb8a27}.portfolio-head p{font-size:17px}
.portfolio-filters{border-top:1px solid #bbc3bc;border-bottom:1px solid #bbc3bc;padding:16px 0;margin:27px 0 13px}.portfolio-count{color:#5d6a62;font-size:10px;letter-spacing:.12em;font-weight:900;margin:18px 0 34px}
.case-list{display:flex;flex-direction:column;gap:24px}.case-study{display:grid;grid-template-columns:1fr 1fr;min-height:440px;align-items:stretch;background:white;border:1px solid #e1e4de;box-shadow:0 8px 26px rgba(13,24,26,.04)}
.case-study:nth-child(even) .case-visual{order:2}.case-study:nth-child(even) .case-content{order:1}
.case-visual{min-height:400px;position:relative;overflow:hidden;background:#435054}.case-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.63),transparent 47%)}.case-visual img{width:100%;height:100%;position:absolute;object-fit:cover;filter:saturate(.68);transition:transform .6s}.case-study:hover .case-visual img{transform:scale(1.025)}
.case-no,.case-category{position:absolute;z-index:1;color:#fff;font-size:10px;letter-spacing:.12em;font-weight:900}.case-no{top:23px;left:23px}.case-category{bottom:25px;left:25px;background:rgba(10,20,21,.77);padding:10px 15px}
.case-content{min-width:0;padding:52px clamp(30px,4vw,64px);display:flex;flex-direction:column;justify-content:center}.case-label{color:#9d7624;letter-spacing:.1em;font-size:11px;text-transform:uppercase;font-weight:900}.case-content h2{font-size:clamp(45px,4.35vw,77px);margin:23px 0;line-height:.98}.case-content>p{font-size:16px;line-height:1.65;margin-bottom:30px}.case-clients{border-top:1px solid #d8ded9;padding-top:16px;margin-bottom:24px}.case-clients span{display:block;color:#79857d;font-size:10px;letter-spacing:.12em;font-weight:900}.case-clients strong{display:block;color:#273836;font-weight:750;line-height:1.5;margin-top:8px;font-size:14px}.case-content .text-arrow{align-self:start;font-size:10px;gap:12px}
.portfolio-film .film-wrap video{aspect-ratio:16/9}
.home-case-section{background:#111e20;color:#f2f4ec;padding:106px 0 112px}.home-case-top{display:grid;grid-template-columns:1fr 370px;gap:50px;align-items:end;margin-bottom:40px}.home-case-top h2{font-size:clamp(82px,7vw,118px);margin:25px 0 0}.home-case-top p{font-size:16px;color:#bac9bf;max-width:340px}.home-cases{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.home-cases>a{min-width:0;padding-bottom:20px;border-bottom:1px solid #4e5e5e;display:flex;flex-direction:column}.home-case-img{height:280px;overflow:hidden;margin-bottom:22px}.home-case-img img{height:100%;width:100%;object-fit:cover;filter:saturate(.65);transition:transform .4s}.home-cases>a:hover .home-case-img img{transform:scale(1.04)}.home-cases>a>span{font-size:10px;letter-spacing:.12em;color:var(--gold);font-weight:800}.home-cases h3{font-size:36px;line-height:1;margin:11px 0 17px}.home-cases p{font-size:14px;line-height:1.55;color:#b9c8c0}.home-cases b{color:var(--gold);font-size:10px;letter-spacing:.06em;margin-top:auto;padding-top:14px}
.enquiry-context{margin-bottom:25px;background:#e7e0cf;border-left:4px solid var(--gold);padding:17px 20px}.enquiry-context span{display:block;font-size:10px;letter-spacing:.1em;font-weight:900;color:#6b716a}.enquiry-context strong{display:block;font-size:16px;color:#192a26;margin-top:6px}
@media(max-width:1050px){.catalog-masthead-grid{gap:5%;grid-template-columns:1fr 330px}.catalog-intro,.portfolio-head{grid-template-columns:1fr 330px}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-card-image{height:295px}.portfolio-hero-grid{min-height:590px}.portfolio-hero-visual{height:540px}.portfolio-hero h1{font-size:clamp(84px,9vw,122px)}.home-case-img{height:235px}.home-cases h3{font-size:31px}}
@media(max-width:760px){.header .brand img{width:164px}.catalog-masthead{padding:70px 0 83px}.catalog-masthead-grid,.reagents-grid,.portfolio-head,.portfolio-hero-grid,.home-case-top,.catalog-intro{grid-template-columns:1fr;gap:35px}.catalog-masthead h1{font-size:clamp(66px,11vw,98px)}.catalog-masthead-grid>.catalog-brand-panel{max-width:510px}.catalog-masthead p{font-size:17px}.catalog-browse.section,.portfolio-intro.section{padding:75px 0}.catalog-intro h2{font-size:clamp(64px,10vw,95px)}.catalog-card-image{height:245px}.catalog-card-body{padding:22px}.catalog-card h3{font-size:35px}.catalog-card-body>p{min-height:89px}.portfolio-hero-grid{gap:0}.portfolio-hero-grid>div:first-child{padding:75px 0 45px}.portfolio-hero h1{font-size:clamp(90px,15vw,130px)}.portfolio-hero-visual{height:370px;margin-bottom:0}.portfolio-head h2{font-size:clamp(76px,11vw,115px)}.case-study{grid-template-columns:1fr}.case-study:nth-child(even) .case-visual{order:0}.case-study:nth-child(even) .case-content{order:1}.case-visual{min-height:320px}.case-content{padding:32px}.case-content h2{font-size:clamp(48px,8vw,68px)}.home-case-section{padding:78px 0}.home-cases{grid-template-columns:1fr 1fr}.home-case-top h2{font-size:clamp(80px,11vw,110px)}.home-case-img{height:250px}}
@media(max-width:600px){.catalog-masthead h1{font-size:clamp(61px,13.5vw,87px)}.catalog-brand-panel{padding:22px;box-shadow:9px 9px 0 rgba(231,185,63,.11)}.catalog-manufacturer-logo{height:145px;margin-top:13px}.catalog-browse.section{padding:66px 0}.catalog-intro h2{font-size:clamp(63px,14vw,85px)}.catalog-intro p{font-size:15px}.catalog-controls{gap:12px}.catalog-searchbox{flex-basis:100%;max-width:none}.catalog-filters{width:100%;gap:5px}.catalog-filters button{flex:1;padding:12px 7px;font-size:9px}.catalog-grid{grid-template-columns:1fr;gap:15px}.catalog-card-image{height:260px}.catalog-card-body>p{min-height:0}.catalog-card h3{font-size:40px}.catalog-specs th,.catalog-specs td{font-size:12px}.reagents-band{padding:75px 0}.reagents-grid h2{font-size:clamp(59px,13vw,80px)}.portfolio-hero h1{font-size:clamp(82px,17vw,118px)}.portfolio-hero p{font-size:17px}.portfolio-hero-visual{height:300px}.portfolio-intro.section{padding:65px 0}.portfolio-head h2{font-size:clamp(75px,14vw,100px)}.portfolio-filters button{padding:11px 13px;font-size:9px}.case-visual{min-height:265px}.case-content{padding:30px 24px}.case-content h2{font-size:54px}.case-content>p{font-size:15px}.home-case-section{padding:70px 0}.home-case-top h2{font-size:clamp(72px,14vw,98px)}.home-cases{grid-template-columns:1fr;gap:32px}.home-case-img{height:290px}.home-cases h3{font-size:37px}}
@media(prefers-reduced-motion:reduce){.catalog-card,.case-visual img,.home-case-img img{transition:none!important;transform:none!important}}
/* Narrow-width corrections discovered in 320–768px browser QA */
.catalog-masthead-grid>*,.catalog-intro>*,.portfolio-hero-grid>*,.portfolio-head>*,.reagents-grid>*,.home-case-top>*{min-width:0}
.catalog-masthead h1,.portfolio-hero h1,.catalog-intro h2,.reagents-grid h2,.portfolio-head h2 {overflow-wrap:normal}
@media(max-width:900px){.portfolio-head,.catalog-intro{grid-template-columns:minmax(0,1fr);gap:16px}}
@media(max-width:760px){.catalog-masthead-grid,.reagents-grid,.portfolio-hero-grid,.home-case-top{grid-template-columns:minmax(0,1fr)}.catalog-brand-panel{max-width:100%}.portfolio-hero-visual{width:100%}}
@media(max-width:600px){.reagents-grid h2{font-size:clamp(42px,10.6vw,63px);letter-spacing:-.025em}.portfolio-head h2{font-size:clamp(52px,11.6vw,74px)}.catalog-intro h2{font-size:clamp(54px,12.2vw,73px)}.catalog-masthead h1{font-size:clamp(50px,12.4vw,74px)}.portfolio-hero h1{font-size:clamp(64px,16vw,99px)}.portfolio-head,.portfolio-intro,.reagents-grid{min-width:0}}
@media(max-width:360px){.reagents-grid h2{font-size:41px}.portfolio-head h2{font-size:49px}.catalog-masthead h1{font-size:49px}.portfolio-hero h1{font-size:62px}.catalog-intro h2{font-size:50px}}
@media(max-width:360px){.reagents-grid h2{font-size:39px}.portfolio-film .film-heading h2{font-size:49px}.cta-inner>div{min-width:0}.cta-inner h2{font-size:38px;overflow-wrap:anywhere}.cta-inner p{min-width:0}}
@media(max-width:900px){.case-content h2{font-size:clamp(31px,4.8vw,47px);overflow-wrap:anywhere}}
@media(max-width:360px){.case-content h2{font-size:30px}.home-cases h3{font-size:30px}.impact-teaser h2{font-size:51px}}
@media(max-width:360px){.portfolio-head h2{font-size:44px}.impact-teaser h2{font-size:40px}}
.wa-float{position:fixed;right:18px;bottom:18px;z-index:18;display:flex;align-items:center;gap:19px;padding:13px 17px;background:#f0e7cf;color:#122524;border:1px solid #c5af74;box-shadow:0 8px 22px rgba(10,22,22,.2);font-size:11px;font-weight:900;letter-spacing:.09em;transition:transform .2s}
.wa-float:hover{transform:translateY(-2px);background:#fff3d0}.wa-float span{font-size:16px}
@media(max-width:600px){.wa-float{right:12px;bottom:12px;padding:11px 13px;gap:13px;font-size:10px}}
@media(prefers-reduced-motion:reduce){.wa-float{transition:none}}

.service-note{margin:18px 0 0;font-size:14px;line-height:1.6;color:#5f6d68}
.project-support{background:#122123;color:#eef3ec}.project-support-head{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:end;margin-bottom:42px}.project-support-head h2{margin:15px 0 0}.project-support-head p{max-width:520px;color:#c0cbc7;font-size:17px;line-height:1.65}.project-support-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:28px}.project-support-grid article{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);padding:28px;min-height:240px}.project-support-grid article span{display:block;color:#e7b93f;font-size:11px;font-weight:800;letter-spacing:.12em}.project-support-grid article h3{font-size:34px;margin:14px 0 12px}.project-support-grid article p{font-size:15px;line-height:1.65;color:#c7d1cc}@media(max-width:760px){.project-support-head{grid-template-columns:1fr;gap:20px}.project-support-grid{grid-template-columns:1fr}.project-support-grid article{min-height:0}}

/* V5.2 — deliberate service hierarchy and project visual language */
.service-paths{background:#e6e5dc;border-top:1px solid #d2d8cf;border-bottom:1px solid #d2d8cf}
.service-paths-grid{display:grid;grid-template-columns:1fr 1fr;gap:0}
.service-path{padding:42px 7% 42px 0}
.service-path+.service-path{padding-left:7%;border-left:1px solid #cbd1c6}
.service-path .eyebrow{color:#a0781e}
.service-path h2{font-family:var(--display);font-size:clamp(30px,3.3vw,50px);line-height:1.08;margin:13px 0 10px}
.service-path p{font-size:14px;line-height:1.55;max-width:480px;color:#5a6761}
.service-path-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.service-path-links a{border:1px solid #aeb8ae;padding:10px 13px;font-size:11px;font-weight:800;white-space:normal;transition:background .15s}
.service-path-links a:hover{background:#132527;color:white}
.service-path-links span{color:#b78e21;margin-left:8px}
.service-note{font-size:14px;line-height:1.6;color:#596860;max-width:630px}
.service-list-kicker{background:#e6e6dc;display:flex;justify-content:space-between;gap:18px;align-items:center;padding:13px 17px;margin-top:16px;border-left:4px solid #cc9d32}
.service-list-kicker span{font-size:11px;letter-spacing:.1em;font-weight:900;color:#283a35}
.service-list-kicker small{font-size:10px;letter-spacing:.1em;color:#66716b}
.service-list .service-list-kicker:first-child{margin-top:0}
.service-products-bridge{display:flex;gap:24px;align-items:center;justify-content:space-between;padding:34px 39px;margin-top:36px;background:#17292b;color:#f0f3ed}
.service-products-bridge>div{max-width:790px}
.service-products-bridge .eyebrow{color:#e1b240}
.service-products-bridge h3{font-family:var(--display);font-size:clamp(30px,3vw,45px);line-height:1.05;margin:14px 0 12px}
.service-products-bridge p{font-size:15px;line-height:1.6;color:#c2d0c9;margin:0}
.service-products-bridge .btn-dark{background:#eac04e;color:#102125;flex-shrink:0;border:0;padding:19px 23px;font-size:11px;font-weight:900;letter-spacing:.05em;display:inline-flex;gap:14px;align-items:center}
.service-products-bridge .btn-dark:hover{background:#f8d76e}
.case-content{display:flex;flex-direction:column;justify-content:center}
.case-enquiry{display:inline-flex;align-items:center;gap:20px;width:max-content;max-width:100%;margin-top:20px;padding:13px 18px;background:#eac04e;color:#102326;font-size:11px;line-height:1.3;font-weight:900;letter-spacing:.06em}
.case-enquiry:hover{background:#f5d66e}
.case-enquiry span{font-size:16px}
.case-visual.is-graphic{background:#172728}
.case-visual.is-graphic:after{display:none}
.case-graphic{position:absolute;inset:0;overflow:hidden;padding:29px 32px;display:flex;flex-direction:column;justify-content:space-between;color:white}
.case-graphic .graphic-label{position:relative;z-index:2;font-size:11px;font-weight:800;letter-spacing:.18em;color:#eac04e}
.case-graphic .graphic-copy{position:relative;z-index:2;margin-bottom:32px}
.case-graphic .graphic-eyebrow{display:block;color:#d7e0d9;font-size:10px;font-weight:900;letter-spacing:.15em;margin-bottom:15px}
.case-graphic .graphic-copy strong{font-family:var(--display);font-size:clamp(48px,5vw,80px);line-height:.91;letter-spacing:-.016em;display:block}
.case-graphic.graphic-reagents{background:radial-gradient(circle at 80% 24%,#355155 0,transparent 45%),linear-gradient(138deg,#192c2c,#0a191b)}
.case-graphic.graphic-reagents:before{content:"";position:absolute;right:-35px;top:36px;width:280px;height:280px;border:1px solid rgba(231,185,63,.13);border-radius:50%;box-shadow:0 0 0 60px rgba(231,185,63,.028),0 0 0 125px rgba(231,185,63,.024)}
.reagent-symbol{align-self:flex-end;display:flex;gap:14px;align-items:end;margin-right:8%;margin-top:7%;opacity:.85;transform:rotate(-6deg)}
.reagent-symbol span{position:relative;display:block;width:71px;height:116px;border:2px solid #aabfba;border-radius:7px 7px 14px 14px;background:linear-gradient(100deg,rgba(248,255,250,.03),rgba(255,255,255,.12) 52%,rgba(248,255,250,.03))}
.reagent-symbol span:before{content:"";position:absolute;top:-15px;left:9px;right:9px;height:13px;border:2px solid #aabfba;border-bottom:none;border-radius:5px 5px 0 0}
.reagent-symbol span:after{content:"";position:absolute;top:38px;left:-2px;right:-2px;height:35px;border-top:1px solid rgba(234,192,78,.6);border-bottom:1px solid rgba(234,192,78,.6);background:rgba(234,192,78,.06)}
.reagent-symbol span:nth-child(2){height:152px;width:88px}
.case-graphic.graphic-logistics{background:radial-gradient(circle at 95% 0%,#2f5555 0%,transparent 45%),linear-gradient(135deg,#0f2326,#172b2b)}
.case-graphic.graphic-logistics:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent,transparent 57px,rgba(198,217,204,.05) 58px,transparent 59px),repeating-linear-gradient(0deg,transparent,transparent 57px,rgba(198,217,204,.05) 58px,transparent 59px)}
.logistics-path{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:9px;margin:18% 0 0}
.logistics-path div{display:flex;flex-direction:column;text-align:center;align-items:center;justify-content:center;border:1px solid rgba(234,192,78,.65);background:rgba(25,49,49,.75);width:100px;height:100px}
.logistics-path div strong{font-family:var(--display);font-size:33px;color:#eac04e;line-height:1}
.logistics-path div span{font-size:9px;letter-spacing:.14em;font-weight:800;margin-top:9px}
.logistics-path>b{color:#eac04e;font-size:25px;font-weight:400}
.home-reagent-graphic{width:100%;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding:25px;color:#fff;background:radial-gradient(circle at 80% 12%,#375453,transparent 45%),linear-gradient(135deg,#142728,#091719)}
.home-reagent-graphic span{font-size:10px;color:#eac04e;letter-spacing:.16em;font-weight:800;margin-bottom:auto}
.home-reagent-graphic strong{font-family:var(--display);font-size:clamp(38px,3.9vw,60px);line-height:.94}
.home-reagent-graphic i{font-style:normal;font-size:10px;letter-spacing:.14em;color:#d5dfd8;margin-top:13px}
@media(max-width:850px){.service-paths-grid{grid-template-columns:1fr}.service-path,.service-path+.service-path{padding:30px 0;border:0}.service-path+.service-path{border-top:1px solid #ccd4ca}.service-products-bridge{align-items:start;flex-direction:column}.service-products-bridge .btn-dark{flex-shrink:1}}
@media(max-width:600px){.service-path{padding:28px 0}.service-path h2{font-size:34px}.service-path p{font-size:14px}.service-path-links a{font-size:10px}.service-list-kicker{padding:11px;display:block}.service-list-kicker small{display:block;margin-top:5px}.service-products-bridge{padding:27px 22px}.service-products-bridge .btn-dark{width:100%;justify-content:space-between}.case-graphic{padding:22px}.case-graphic .graphic-copy{margin-bottom:25px}.case-graphic .graphic-copy strong{font-size:46px}.reagent-symbol{margin-top:3%;margin-right:6%;transform:scale(.8)}.logistics-path{margin-top:20%;gap:6px}.logistics-path div{width:73px;height:73px}.logistics-path div strong{font-size:27px}.logistics-path div span{font-size:7px}.case-enquiry{font-size:10px}.home-reagent-graphic strong{font-size:45px}}
@media(max-width:355px){.service-path h2{font-size:31px}.service-products-bridge h3{font-size:30px}.case-graphic .graphic-copy strong{font-size:39px}.home-reagent-graphic strong{font-size:38px}}
@media(prefers-reduced-motion:reduce){.service-path-links a{transition:none}}
/* Graphical portfolio artwork — avoid label collisions and mobile cropping */
.case-graphic .graphic-label{position:absolute;top:26px;right:26px;left:auto;max-width:56%;text-align:right;font-size:10px;line-height:1.4}
.case-visual.is-graphic .case-no{left:25px;top:24px;color:#e0e8e2}
@media(max-width:760px){
 .case-visual.is-graphic{min-height:360px}
 .case-graphic .graphic-copy{margin-bottom:32px}
 .reagent-symbol{margin-top:9%;margin-right:5%}
 .logistics-path{margin-top:26%}
}
@media(max-width:390px){
 .case-visual.is-graphic{min-height:380px}
 .case-graphic .graphic-copy strong{font-size:45px}
 .case-graphic .graphic-label{max-width:52%;font-size:9px;top:23px;right:18px}
 .case-visual.is-graphic .case-no{top:21px;left:19px}
 .reagent-symbol{margin-top:15%;transform:scale(.72);transform-origin:right top}
 .logistics-path{margin-top:33%}
}
/* Illustrations include their own category context; suppress inherited photo badges. */
.case-visual.is-graphic .case-category{display:none}

/* Quiet, linked studio credit in the site footer. */
.footer-bottom .studio-credit{font-size:inherit;letter-spacing:inherit;color:#8fa19a;text-decoration:none;font-weight:400;transition:color .2s ease}
.footer-bottom .studio-credit strong{font-weight:600;color:#c4d0c8}
.footer-bottom .studio-credit:hover,.footer-bottom .studio-credit:focus-visible,.footer-bottom .studio-credit:hover strong,.footer-bottom .studio-credit:focus-visible strong{color:#e7b93f}
.footer-bottom .studio-credit:focus-visible{outline:2px solid #e7b93f;outline-offset:4px}
.portfolio-hero-visual img{object-position:20% center;filter:saturate(.9) contrast(1.04)}
