/* Modules page only. Home and Platform styling remain locked. */
.m-main{max-width:1440px;margin:0 auto;color:#081e70}
.m-main *{box-sizing:border-box}
.m-main p{line-height:1.43}
.m-eyebrow{font-size:13px;font-weight:800;letter-spacing:.04em;color:#0860bf;margin:0 0 7px}
.m-hero{min-height:430px;position:relative;overflow:hidden;background:#eef9ff}
.m-hero-visual{position:absolute;inset:0 0 0 39%;overflow:hidden}
.m-hero-visual img{width:100%;height:100%;object-fit:cover;object-position:center center}
.m-hero::after{content:"";pointer-events:none;position:absolute;inset:0;background:linear-gradient(90deg,#effaff 0%,#effaff 29%,rgba(239,250,255,.96) 36%,rgba(239,250,255,.63) 44%,transparent 57%)}
.m-hero-copy{position:relative;z-index:1;padding:48px 4.5% 42px;max-width:705px}
.m-hero h1{font-size:clamp(34px,3.4vw,49px);line-height:1.08;max-width:640px;margin:0 0 18px;letter-spacing:-.035em}
.m-hero h1 sup{font-size:.3em;vertical-align:super}
.m-hero-copy>p:not(.m-eyebrow){font-size:18px;max-width:605px;margin:0 0 10px}
.m-hero-copy .m-hero-bold{font-weight:800}
.m-hero .button{margin-top:14px}
.m-package{margin:14px 4% 24px;padding:23px 30px 16px;border-radius:18px;background:#f1f9ff;border:1px solid #d9edff}
.m-package h2{font-size:29px;line-height:1.2;margin:0 0 6px}
.m-package>p:not(.m-eyebrow){font-size:15px;max-width:1190px;margin:0 0 14px}
.m-package-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}
.m-package-grid>div{display:grid;grid-template-columns:43px 1fr;column-gap:10px;align-content:center;padding:12px 13px;border:1px solid #cde2ff;border-radius:12px;background:#fff;min-height:90px}
.m-package-grid img{grid-row:span 2;width:39px;height:39px;object-fit:contain;align-self:center}
.m-package-grid strong{font-size:13px;line-height:1.2}
.m-package-grid span{font-size:12px;line-height:1.3}
.m-package .m-expand{border:1px solid #d0e4fd;border-radius:9px;margin:11px 0 0!important;padding:8px 14px;font-size:13px!important;max-width:100%!important}
.m-catalog{padding:0 3.5%}
.m-catalog-heading{margin:22px 0 18px;text-align:center}
.m-catalog-heading h2{font-size:32px;margin:0 0 5px}
.m-catalog-heading p:last-child{font-size:15px;margin:0 auto;max-width:950px}
.m-module{margin:0 0 16px;scroll-margin-top:20px}
.m-module-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.26fr) minmax(0,1fr);gap:13px;align-items:stretch}
.m-module-intro,.m-module-function{border:1px solid #d9eaff;border-radius:15px;background:#fff;padding:19px 19px 14px;min-width:0}
.m-index{display:flex;align-items:center;gap:18px;font-size:27px;margin-bottom:5px}
.m-index span{font-weight:800;color:#a6adc4;border-right:1px solid #bad1ed;padding-right:17px}
.m-index b{letter-spacing:.04em}
.m-module-intro h3{font-size:clamp(20px,2.15vw,30px);line-height:1.13;letter-spacing:-.025em;margin:0 0 9px}
.m-module-lead{font-size:14px;margin:0 0 11px}
.m-detail{padding:8px 0 1px 38px;border-top:1px solid #dbe4f7;position:relative}
.m-detail::before{content:'◎';position:absolute;left:2px;top:7px;color:#10288b;font-weight:800;font-size:23px}
.m-detail:nth-last-child(2)::before{content:'♧'}
.m-detail:last-child::before{content:'♙'}
.m-detail h4,.m-module-function h4{font-size:17px;line-height:1.2;margin:0 0 4px}
.m-detail p,.m-detail li{font-size:13px;line-height:1.35;margin:0}
.m-detail ul{padding-left:17px;margin:0}
.m-module-scene{margin:0;border-radius:14px;overflow:hidden;background:#e6f2fb;min-width:0}
.m-module-scene img{width:100%;height:100%;min-height:530px;object-fit:cover;display:block}
.m-module-function{padding:22px 18px 12px}
.m-module-function h4{font-size:24px;position:relative;padding-left:47px;min-height:40px;display:flex;align-items:center}
.m-module-function h4::before{position:absolute;left:0;font-size:32px;font-weight:600;color:#11298b;content:'⚙'}
.m-composition h4::before{content:'⬡'}
.m-module-function p{font-size:14px;margin:7px 0 17px 47px}
.m-composition{border-top:1px solid #d6e2f7;padding-top:13px}
.m-composition ul{list-style:none;padding:0 0 0 46px;margin:8px 0 0}
.m-composition li{font-size:13px;line-height:1.28;padding:6px 0 6px 32px;position:relative}
.m-composition li::before{content:'▣';position:absolute;left:0;font-size:17px;color:#11298b}
.m-innovation{display:grid;grid-template-columns:1fr 1.23fr 1.23fr;gap:0;margin-top:9px;padding:15px 18px;background:#f1f9ff;border:1px solid #d6e9ff;border-radius:14px;min-height:86px}
.m-innovation>div{padding:0 20px;border-left:1px solid #9abce7}
.m-innovation h4{font-size:19px;line-height:1.2;margin:3px 8px 0 0;white-space:nowrap}
.m-innovation h4 span{font-size:28px;vertical-align:middle;margin-right:7px}
.m-innovation strong{font-size:14px}
.m-innovation p{font-size:12px;margin:3px 0 0;line-height:1.28}
.m-design{text-align:center;margin:25px 3.5% 15px;padding:26px 24px 28px;background:#f4faff;border-radius:16px}
.m-design h2{font-size:31px;line-height:1.15;margin:2px 0 7px}
.m-design>p:not(.m-eyebrow){font-size:15px;max-width:1050px;margin:0 auto 16px}
.m-design-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:17px}
.m-design-grid>div{padding:8px 14px;border-right:1px solid #dce9f7}
.m-design-grid>div:last-child{border:0}
.m-design-grid span{font-size:35px;color:#184ed0;line-height:1.2}
.m-design-grid h3{font-size:14px;margin:4px 0}
.m-design-grid p{font-size:13px;margin:0}
.m-design-actions{display:flex;align-items:center;justify-content:center;gap:30px;font-size:14px;font-weight:700}
.m-related{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 23px;padding:14px 20px 20px;font-size:13px;font-weight:700}
.m-related a{text-decoration:none}
.m-related a:hover{text-decoration:underline}
@media(max-width:1100px){.m-module-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.04fr)}.m-module-function{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:20px}.m-composition{border-top:0;border-left:1px solid #dce9ff;padding:0 0 0 20px}.m-innovation{grid-template-columns:1fr 1fr}.m-innovation h4{grid-column:1/-1;margin:0 0 11px}.m-innovation>div:nth-child(2){border-left:0}.m-hero-copy{max-width:590px}.m-package-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.m-hero{min-height:0;display:flex;flex-direction:column}.m-hero-visual{position:relative;inset:auto;order:2;height:210px}.m-hero-visual img{object-position:50% 50%}.m-hero::after{display:none}.m-hero-copy{padding:27px 19px 22px;order:1}.m-hero h1{font-size:32px}.m-hero-copy>p:not(.m-eyebrow){font-size:15px}.m-hero .button{width:100%;max-width:360px}.m-package{margin:12px 13px 18px;padding:17px 15px}.m-package h2{font-size:22px}.m-package>p:not(.m-eyebrow){font-size:13px}.m-package-grid{gap:8px}.m-package-grid>div{grid-template-columns:1fr;text-align:center;min-height:110px;padding:9px 5px}.m-package-grid img{grid-row:auto;margin:auto;width:30px;height:30px}.m-package-grid strong{font-size:11px}.m-package-grid span{font-size:10px}.m-catalog{padding:0 13px}.m-catalog-heading h2{font-size:25px}.m-catalog-heading p:last-child{font-size:13px}.m-module{margin-bottom:18px}.m-module-grid{display:flex;flex-direction:column;gap:6px}.m-module-intro,.m-module-function{padding:15px}.m-module-intro h3{font-size:24px}.m-module-lead{font-size:14px}.m-module-scene img{min-height:0;height:auto;aspect-ratio:781/701;object-fit:cover}.m-module-function{display:block}.m-module-function h4{font-size:21px}.m-module-function p{font-size:14px}.m-composition{border-left:0;border-top:1px solid #dce9ff;padding:10px 0 0;margin:12px 0 0}.m-innovation{display:block;padding:15px}.m-innovation h4{font-size:19px;white-space:normal}.m-innovation>div{border-left:0;border-top:1px solid #c5d8ed;margin-top:9px;padding:9px 0 0}.m-design{margin:18px 13px 12px;padding:18px 14px}.m-design h2{font-size:23px}.m-design>p:not(.m-eyebrow){font-size:13px}.m-design-grid{grid-template-columns:repeat(2,1fr)}.m-design-grid>div:nth-child(even){border:0}.m-design-grid h3{font-size:12px}.m-design-grid p{font-size:12px}.m-design-actions{flex-direction:column;gap:14px}}

/* IF-R pilot only. Other modules and the Home/Platform pages stay unchanged. */
.m-pilot .m-module-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.24fr) minmax(0,1fr);gap:12px;align-items:stretch;height:585px}
.m-pilot .m-module-intro,.m-pilot .m-module-function{min-width:0;padding:18px 19px;border:1px solid #d4e9ff;border-radius:16px;background:#f1f9ff;box-shadow:0 2px 13px rgba(15,95,170,.07)}
.m-pilot .m-module-intro{display:flex;flex-direction:column;gap:0}
.m-pilot .m-index{font-size:26px;margin:0 0 8px}
.m-pilot .m-index b,.m-pilot .m-module-intro h3,.m-pilot .m-detail h4,.m-pilot .m-module-function h4,.m-pilot .m-innovation h4,.m-pilot .m-innovation strong{font-weight:800}
.m-pilot .m-module-intro h3{font-size:clamp(22px,1.85vw,29px);line-height:1.15;letter-spacing:-.03em;margin:0 0 8px}
.m-pilot .m-module-lead{font-size:14px;line-height:1.39;margin:0 0 11px}
.m-pilot .m-detail{display:grid;grid-template-columns:48px minmax(0,1fr);gap:10px;align-items:start;border:0;padding:8px 0 5px;margin:0}
.m-pilot .m-module-lead+.m-detail{border-top:1px solid #cdddf4;padding-top:12px}
.m-pilot .m-detail:before,.m-pilot .m-module-function h4:before,.m-pilot .m-composition li:before{content:none}
.m-pilot .m-detail>img{position:static;display:block;width:46px;height:46px;padding:7px;object-fit:contain;border:1px solid #add4f5;border-radius:50%;background:#d5ebff}
.m-pilot .m-detail h4{font-size:17px;line-height:1.2;margin:0 0 4px}
.m-pilot .m-detail p,.m-pilot .m-detail li,.m-pilot .m-module-function p,.m-pilot .m-composition li{font-size:14px;line-height:1.36}
.m-pilot .m-detail p,.m-pilot .m-detail li{margin:0}
.m-pilot .m-detail ul{margin:0;padding-left:19px}
.m-pilot .m-detail li::marker{color:#112b81}
.m-pilot .m-module-scene{position:relative;overflow:hidden;margin:0;border-radius:14px;min-width:0;height:100%}
.m-pilot .m-module-scene img{position:absolute;inset:0;display:block;width:100%;height:100%;min-height:0;aspect-ratio:auto;object-fit:cover;object-position:center 60%;transform:scale(1.05);transform-origin:center 72%}
.m-pilot .m-module-function{display:flex;flex-direction:column}
.m-pilot .m-module-function h4{position:static;display:flex;align-items:center;gap:10px;padding:0;min-height:46px;font-size:21px;line-height:1.2;margin:0}
.m-pilot .m-module-function h4 img,.m-pilot .m-innovation h4 img{width:46px;height:46px;flex:none;box-sizing:border-box;padding:7px;border:1px solid #add4f5;border-radius:50%;background:#d5ebff;object-fit:contain}
.m-pilot .m-how{background:transparent;padding:0}
.m-pilot .m-how p{margin:7px 0 0 56px}
.m-pilot .m-composition{display:flex;flex-direction:column;flex:1;min-height:0;border-top:1px solid #cdddf4;border-left:0;margin:11px 0 0;padding:10px 0 0}
.m-pilot .m-composition ul{flex:0;display:flex;flex-direction:column;justify-content:flex-start;gap:8px;margin:9px 0 0;padding:0 0 0 56px}
.m-pilot .m-composition li{display:grid;grid-template-columns:32px minmax(0,1fr);gap:8px;align-items:center;padding:2px 0}
.m-pilot .m-composition li img{width:30px;height:30px;box-sizing:border-box;padding:0;border:0;background:transparent;border-radius:0;object-fit:contain}
.m-pilot .m-innovation{display:grid;grid-template-columns:1fr 1.25fr 1.25fr;gap:0;align-items:center;min-height:92px;margin-top:9px}
.m-pilot .m-innovation h4{display:flex;align-items:center;gap:10px;margin:0;white-space:normal;font-size:21px;line-height:1.2}
.m-pilot .m-innovation h4 span{font-size:21px;line-height:1.2;margin:0;vertical-align:baseline}
.m-pilot .m-innovation h4 img{width:42px;height:42px}
.m-pilot .m-innovation strong{font-size:14px;line-height:1.2}
.m-pilot .m-innovation p{font-size:14px;line-height:1.3;margin:3px 0 0}
@media(max-width:1100px){
 .m-pilot .m-module-grid{grid-template-columns:1fr 1.1fr;height:auto}
 .m-pilot .m-module-scene{min-height:520px}
 .m-pilot .m-module-scene img{transform:none}
 .m-pilot .m-module-function{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:15px}
 .m-pilot .m-composition{display:block;min-height:0;margin:0;border-top:0;border-left:1px solid #cdddf4;padding:0 0 0 15px}
 .m-pilot .m-composition ul{display:block;margin-top:7px;padding-left:0}
 .m-pilot .m-composition li{padding:4px 0}
 .m-pilot .m-innovation{grid-template-columns:1fr 1fr}
 .m-pilot .m-innovation h4{grid-column:1/-1;margin-bottom:8px}
 .m-pilot .m-innovation>div:nth-child(2){border-left:0}
}
@media(max-width:700px){
 .m-pilot .m-module-grid{display:flex;flex-direction:column;gap:7px}
 .m-pilot .m-module-intro h3{font-size:24px}
 .m-pilot .m-module-scene{min-height:0;aspect-ratio:685/699}
 .m-pilot .m-module-function{display:block}
 .m-pilot .m-how p{margin-left:0}
 .m-pilot .m-composition{margin-top:12px;padding:11px 0 0;border-top:1px solid #cdddf4;border-left:0}
 .m-pilot .m-composition ul{margin:8px 0 0;padding-left:39px}
 .m-pilot .m-composition li{grid-template-columns:28px minmax(0,1fr);gap:8px;padding:3px 0}
 .m-pilot .m-composition li img{width:27px;height:27px}
 .m-pilot .m-innovation{display:block}
 .m-pilot .m-innovation h4{margin-bottom:8px}
 .m-pilot .m-innovation>div{margin-top:8px;padding-top:8px;border-top:1px solid #cdddf4;border-left:0}
}
/* Subsequent modules reuse the approved IF-R template with room for differing text lengths. */
.m-catalog-module .m-module-grid{height:auto;min-height:585px}
.m-catalog-module .m-module-scene img{transform:none;object-position:center center}
.m-design-grid img{display:block;width:52px;height:52px;margin:0 auto 8px;object-fit:contain}
@media(max-width:1100px){.m-catalog-module .m-module-grid{min-height:0}}
/* Modules hero uses the approved Platform typography. The replacement photo can be swapped independently. */
.m-hero{min-height:355px}
.m-hero-copy{width:49%;max-width:none;padding:20px 0 20px 5.5%}
.m-hero .m-eyebrow{font-size:12px;letter-spacing:1.4px;line-height:1.3;margin-bottom:5px}
.m-hero h1{font-size:31px;line-height:1.06;letter-spacing:-.03em;margin-bottom:10px}
.m-hero-copy>p:not(.m-eyebrow){font-size:15px;line-height:1.45;max-width:465px}
.m-hero .button{margin-top:10px}
/* Image frames and text spacing are tuned per module; the approved IF-R rules above are untouched. */
@media(min-width:1101px){
 .m-catalog-module .m-module-grid{height:545px;min-height:0}
 #iw-r .m-module-grid,#lm-r .m-module-grid,#sc-r .m-module-grid{height:555px}
 #ts-r .m-module-grid{height:525px}
 .m-catalog-module .m-detail{flex:1;align-items:center;min-height:0;padding:4px 0}
 .m-catalog-module .m-module-lead+.m-detail{padding-top:8px}
 .m-catalog-module .m-composition ul{flex:1;justify-content:space-between;gap:3px}
 .m-catalog-module .m-composition li{padding:1px 0}
}
@media(max-width:1100px){
 .m-hero-copy{width:58%}
 .m-catalog-module .m-module-grid{height:auto}
 .m-catalog-module .m-detail{flex:none}
}
@media(max-width:700px){
 .m-hero{min-height:0}
 .m-hero-copy{width:100%;max-width:none;padding:27px 19px 22px}
 .m-hero h1{font-size:32px}
 .m-hero-copy>p:not(.m-eyebrow){font-size:14px;max-width:none}
}

/* v14: distinct quiet-yellow framing and catalog-only photo framing. */
.m-package,.m-design{background:#fff9e5;border-color:#f1e5ad}
.m-package-grid>div{border-color:#eee5bd}
.m-package .m-expand{border-color:#eee5bd}
.m-design-grid>div{border-color:#eee5bd}
@media(min-width:1101px){
 .m-hero{display:flex;align-items:center;min-height:390px}
 .m-hero-copy{padding-top:24px;padding-bottom:24px}
 .m-hero-visual img{object-position:55% 45%}
 /* The annotated photo frames remove excess ceiling or floor, without editing the originals. */
 #iw-r .m-module-grid,#vm-r .m-module-grid{height:510px}
 #sn-r .m-module-grid{height:515px}
 #iw-r .m-module-scene img,#vm-r .m-module-scene img{transform:scale(1.075);transform-origin:center 82%}
 #sn-r .m-module-scene img{transform:scale(1.075);transform-origin:center 18%}
 #iw-r .m-detail,#vm-r .m-detail,#sn-r .m-detail{padding-top:2px;padding-bottom:2px}
 #iw-r .m-module-lead+.m-detail,#vm-r .m-module-lead+.m-detail,#sn-r .m-module-lead+.m-detail{padding-top:9px}
 #iw-r .m-composition ul,#vm-r .m-composition ul,#sn-r .m-composition ul{gap:2px}
}
@media(min-width:701px) and (max-width:1100px){.m-hero{display:flex;align-items:center;min-height:390px}}
@media(max-width:700px){.m-hero{display:flex;align-items:stretch}.m-package,.m-design{background:#fff9e5}}

/* v15: mirror the approved Platform hero; frame every catalog photo independently. */
.m-package{background:#f1f9ff;border-color:#d9edff}
.m-package .m-expand{border-color:#d0e4fd}
.m-package-grid>div{background:#fff9e5;border-color:#f1e5ad}
@media(min-width:701px){
 .m-hero{min-height:440px;display:flex;align-items:center;background:#effaff}
 .m-hero-visual{left:40%}
 .m-hero-visual img{object-position:center center}
 .m-hero::after{background:linear-gradient(90deg,#effaff 0%,#effaff 47%,rgba(239,250,255,.96) 49%,rgba(239,250,255,.67) 55%,rgba(239,250,255,0) 65%)}
 .m-hero-copy{width:57%;padding:40px 0 40px 5.5%}
 .m-hero .m-eyebrow{font-size:13px;letter-spacing:2px;line-height:1.3;font-weight:800;color:#0874f4;margin-bottom:8px}
 .m-hero h1{font-size:42px;line-height:1.15;letter-spacing:-1.3px;margin-bottom:14px}
 .m-hero-copy>p:not(.m-eyebrow){font-size:15px;line-height:1.6;max-width:490px}
 .m-hero .button{margin-top:14px}
}
@media(min-width:1101px){
 .m-catalog-module .m-module-grid{height:510px;min-height:0}
 #lm-r .m-module-grid,#sc-r .m-module-grid{height:530px}
 #mn-r .m-module-grid,#sn-r .m-module-grid{height:515px}
 #ts-r .m-module-grid{height:495px}
 .m-catalog-module .m-module-intro{justify-content:space-between}
 .m-catalog-module .m-module-lead{margin-bottom:0}
 .m-catalog-module .m-detail{flex:0 0 auto;align-items:start;padding:9px 0 6px}
 .m-catalog-module .m-module-lead+.m-detail{padding-top:12px}
 .m-catalog-module .m-how p{margin-top:9px}
 .m-catalog-module .m-composition{margin-top:21px;padding-top:14px}
 .m-catalog-module .m-composition ul{flex:1;justify-content:space-between;gap:4px;margin-top:10px}
 .m-catalog-module .m-composition li{padding:1px 0}
 .m-catalog-module .m-module-scene img{transform:scale(1.12);transform-origin:center 72%;object-position:center center}
 #iw-r .m-module-scene img,#vm-r .m-module-scene img,#bp-r .m-module-scene img{transform-origin:center 86%}
 #dm-r .m-module-scene img,#mn-r .m-module-scene img,#lm-r .m-module-scene img,#ts-r .m-module-scene img,#sc-r .m-module-scene img{transform-origin:center 72%}
 #sn-r .m-module-scene img{transform-origin:center 8%}
}
@media(min-width:701px) and (max-width:1100px){.m-hero-copy{width:63%}.m-hero h1{font-size:clamp(31px,3.5vw,42px)}}
@media(max-width:700px){
 .m-hero{min-height:0;display:flex;flex-direction:column}
 .m-hero-copy{width:100%;padding:27px 19px 22px}
 .m-hero h1{font-size:32px;line-height:1.1}
 .m-hero .m-eyebrow{font-size:12px;letter-spacing:1.5px;color:#0874f4}
 .m-package{background:#f1f9ff;border-color:#d9edff}
 .m-package-grid>div{background:#fff9e5;border-color:#f1e5ad}
}

/* v16: quick hero fade preserves the photo's embedded room labels. */
.m-package .m-expand{background:#fff9e5;border-color:#f1e5ad}
.m-design{padding:24px 24px 22px}
.m-design-grid{margin-bottom:0}
@media(min-width:701px){
 .m-hero{min-height:410px}
 .m-hero-visual img{object-position:center top}
 .m-hero::after{background:linear-gradient(90deg,#effaff 0%,#effaff 43%,rgba(239,250,255,.95) 45%,rgba(239,250,255,.42) 48%,rgba(239,250,255,0) 51%)}
 .m-hero-copy{padding-top:30px;padding-bottom:30px}
}
@media(max-width:700px){.m-design{padding:18px 14px}.m-design-grid{margin-bottom:0}}
/* v18 · 26.09.2026: platform-matched hero and catalogue review. */
.m-package[hidden]{display:none!important}
.m-catalog .m-module{padding-bottom:22px;margin-bottom:24px;border-bottom:1px solid #bfd7e9}
.m-catalog .m-module:last-child{border-bottom:0;margin-bottom:0}
.m-next-page{margin:8px 3.5% 24px;padding:17px 24px;border-radius:13px;background:#eaf6ff;border:1px solid #c9e6fb;display:flex;justify-content:center;align-items:center;gap:22px;color:#061d68;font-size:15px;font-weight:800}
.m-next-page .button{font-size:13px;padding:10px 17px}
@media(min-width:1000px){
 .m-hero{min-height:355px}
 .m-hero-copy{width:49%;padding:20px 0 20px 5.5%}
 .m-hero .m-eyebrow{font-size:12px;letter-spacing:1.4px;margin-bottom:5px}
 .m-hero h1{font-size:31px;line-height:1.06;letter-spacing:-1px;margin-bottom:8px}
 .m-hero-copy>p:not(.m-eyebrow){font-size:13px;line-height:1.45;max-width:430px;margin:0 0 10px}
 .m-hero .button{font-size:11px;padding:9px 12px;margin-top:2px}
 .m-hero-visual{left:39%;right:0}
 .m-hero-visual img{object-position:54% 28%}
 .m-hero::after{background:linear-gradient(90deg,#effaff 0%,#effaff 40%,rgba(239,250,255,.92) 43%,rgba(239,250,255,0) 52%)}
}
@media(min-width:701px) and (max-width:999px){
 .m-hero{min-height:340px}
 .m-hero-copy{width:51%;padding:20px 0 20px 5.5%}
 .m-hero .m-eyebrow{font-size:12px;letter-spacing:1.4px;margin-bottom:5px}
 .m-hero h1{font-size:30px;line-height:1.07;margin-bottom:8px}
 .m-hero-copy>p:not(.m-eyebrow){font-size:13px;line-height:1.45}
 .m-hero .button{font-size:11px;padding:9px 12px;margin-top:2px}
 .m-hero-visual{left:38%}
 .m-hero-visual img{object-position:52% 26%}
 .m-hero::after{background:linear-gradient(90deg,#effaff 0%,#effaff 38%,rgba(239,250,255,.94) 42%,transparent 55%)}
 .m-pilot .m-module-grid{grid-template-rows:auto auto}
 .m-pilot .m-module-scene{height:auto;min-height:0;align-self:stretch;overflow:hidden;border-radius:14px}
 .m-pilot .m-module-scene img{position:absolute;inset:0;width:100%;height:100%;min-height:0;object-fit:cover}
}
@media(max-width:700px){
 .m-hero .button{font-size:11px;padding:9px 12px}
 .m-hero h1{font-size:32px;line-height:1.08}
 .m-hero-visual img{object-position:50% 35%}
 .m-pilot .m-module-scene{position:relative;height:auto;aspect-ratio:685/699;overflow:hidden;border-radius:14px}
 .m-pilot .m-module-scene img{position:absolute;inset:0;width:100%;height:100%;min-height:0;aspect-ratio:auto;object-fit:cover;transform:none}
 .m-catalog .m-module{padding-bottom:18px;margin-bottom:20px}
 .m-next-page{margin:8px 13px 18px;padding:16px;flex-direction:column;text-align:center;gap:10px;font-size:14px}
}

/* v19 · 26.09.2026: content-led catalog rows and quiet onward links. */
.modules-page .desktop-nav a[aria-current="page"],
.modules-page .mobile-nav a[aria-current="page"]{font-weight:800;text-decoration:underline;text-underline-offset:9px;text-decoration-color:#167bff;text-decoration-thickness:2px}
@media(min-width:701px){
 .m-hero{min-height:390px}
 .m-hero-copy{padding-top:34px;padding-bottom:34px}
 .m-hero .m-eyebrow{margin-bottom:10px}
 .m-hero h1{margin-bottom:14px}
 .m-hero-copy>p:not(.m-eyebrow){margin-bottom:13px}
 .m-hero .button{margin-top:10px}
}
@media(min-width:1101px){
 .m-catalog-module .m-module-grid,
 #iw-r .m-module-grid,#vm-r .m-module-grid,#dm-r .m-module-grid,
 #bp-r .m-module-grid,#mn-r .m-module-grid,#lm-r .m-module-grid,
 #ts-r .m-module-grid,#sn-r .m-module-grid,#sc-r .m-module-grid{
   height:auto;min-height:510px;align-items:stretch
 }
 .m-catalog-module .m-module-intro,
 .m-catalog-module .m-module-function{min-height:0}
 .m-catalog-module .m-module-scene{position:relative;min-height:0;align-self:stretch;overflow:hidden}
 .m-catalog-module .m-module-scene img{position:absolute;inset:0;width:100%;height:100%;min-height:0;object-fit:cover}
 .m-catalog-module .m-detail{flex:0 0 auto}
 .m-catalog-module .m-composition ul{flex:0 0 auto;justify-content:flex-start;gap:8px}
}
.m-next-page{background:transparent;border:0;gap:12px;padding:12px 24px 22px;margin-top:0}
.m-next-link{display:inline-flex;align-items:center;justify-content:center;gap:12px;text-align:center;text-decoration:none;border:1px solid #b9d4e8;border-radius:999px;background:#eff7fc;color:#14417c;font-size:13px;font-weight:700;padding:10px 18px;line-height:1.3;transition:background .2s,border-color .2s}
.m-next-link:hover,.m-next-link:focus-visible{background:#e1f0fa;border-color:#6aaae0}
@media(max-width:700px){.m-next-page{padding:12px 13px 20px;gap:9px}.m-next-link{width:100%;max-width:360px}}

/* v20 · 26.09.2026: Platform-aligned Hero and navigation. */
.modules-page .desktop-nav a[aria-current="page"],.modules-page .mobile-nav a[aria-current="page"]{font-weight:800;color:#08278d;text-decoration:none;position:relative}
.modules-page .desktop-nav a[aria-current="page"]::after,.modules-page .mobile-nav a[aria-current="page"]::after{content:"";position:absolute;left:0;right:0;bottom:-9px;height:2px;background:#167bff;border-radius:2px}
@media(min-width:700px){
 .m-hero{min-height:420px}
 .m-hero h1{font-size:clamp(36px,3.4vw,42px);line-height:1.12;margin-bottom:14px}
 .m-hero-copy>p:not(.m-eyebrow){font-size:17px;line-height:1.48;max-width:490px}
 .m-hero-visual img{object-position:65% 28%}
}
@media(max-width:699px){.m-hero h1{font-size:32px}.m-hero-copy>p:not(.m-eyebrow){font-size:16px}}
.m-catalog-heading p:last-child{max-width:1100px}
.m-catalog .m-module:last-child{padding-bottom:8px}
.m-design{margin-top:10px;background:#edf8ee;border:1px solid #d4ebd5}
.m-design-grid>div{border-color:#c6dfcb}
.m-next-page{justify-content:space-between;max-width:650px;margin:2px auto 20px}
.m-next-page .button{font-size:13px;padding:10px 18px}
@media(max-width:700px){.m-next-page{margin:2px 13px 18px;align-items:stretch}.m-next-page .button{width:100%;max-width:360px;margin:auto}}

/* v21 · 26.09.2026: module scene focus and three secondary routes. */
@media(min-width:701px){#vm-r .m-module-scene img{object-position:37% center;transform:scale(1.06);transform-origin:36% center}}
.m-next-page{max-width:none;margin:2px 3.5% 22px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:12px 0}
.m-next-link{width:100%;min-height:48px;border-color:#9dcdf1;background:#e5f5ff;color:#0753a8;font-size:14px}
.m-next-link:hover,.m-next-link:focus-visible{background:#d4edff;border-color:#58a9e9}
@media(max-width:700px){.m-next-page{margin:2px 13px 18px;grid-template-columns:1fr}.m-next-link{max-width:none}}
/* Shift the building's left edge toward the end of the Hero fade; crop surplus forest on the right. */
@media(min-width:1000px){.m-hero-visual{left:45%;right:-12%}.m-hero-visual img{object-position:center 35%}}

/* v22 · 26.09.2026: small module summary, photo focus and soft green routes. */
.m-module-lead{font-size:13px;line-height:1.45}
.m-pilot .m-module-lead{font-size:13px;line-height:1.45}
@media(min-width:701px){#vm-r .m-module-scene img{object-position:9% center;transform:scale(1.06);transform-origin:9% center}}
@media(min-width:1000px){
 .m-hero::after{background:linear-gradient(90deg,#effaff 0%,#effaff 45%,rgba(239,250,255,.96) 48%,rgba(239,250,255,.60) 52%,rgba(239,250,255,0) 59%)}
}
.m-next-link{background:#edf8ee;border-color:#b8d8bf;color:#1e6642}
.m-next-link:hover,.m-next-link:focus-visible{background:#dff1e3;border-color:#85ba91}
@media(max-width:700px){.m-pilot .m-module-lead{font-size:12px}}

/* v24 · 26.09.2026: equipment navigation and paired Hero actions. */
.m-module-jump{margin:10px 0 18px;background:#eff9ff;border-radius:9px}
.m-module-jump .module-strip{margin:0;padding:12px;background:transparent}
.m-module-jump .module-card{height:100%}
.m-module-jump .module-card:hover h3,.m-module-jump .module-card:focus-visible h3{text-decoration:underline}
.m-hero-actions{display:flex;align-items:center;gap:13px;flex-wrap:wrap;margin-top:14px}
.m-hero-actions .button{margin-top:0}
.m-hero-actions .secondary{background:rgba(255,255,255,.9);border-color:#82a8dd;color:#0753a8}
@media(min-width:1000px){
 .m-hero-visual{mask-image:linear-gradient(90deg,transparent 0%,#000 10%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 10%)}
 .m-hero::after{background:linear-gradient(90deg,#effaff 0%,#effaff 43%,rgba(239,250,255,.92) 46%,rgba(239,250,255,.38) 49%,rgba(239,250,255,0) 53%)}
}
@media(max-width:700px){.m-hero-actions{display:grid;grid-template-columns:1fr;gap:10px}.m-hero-actions .button{width:100%;max-width:360px}.m-module-jump{margin:8px 0 15px}}

/* v25 · 26.09.2026: Hero buttons share the Home scale. */
.m-hero .m-hero-actions .button{font-size:14px;padding:12px 23px;min-height:44px;margin-top:0}
@media(max-width:700px){.m-hero .m-hero-actions .button{font-size:14px;padding:12px 18px}}

/* v26 · 26.09.2026: Home-matched secondary action and white module navigation. */
.m-hero .m-hero-actions .secondary{background:rgba(255,255,255,.87);border-color:#6e7faf;color:var(--b01-blue)}
.m-module-jump{background:#fff;border-radius:0}
.m-module-jump .module-strip{background:#fff}
.m-module-jump .module-card{background:#fff;border:1px solid #c9e5f5;border-radius:8px;padding:6px;box-shadow:0 2px 8px rgba(6,45,95,.06)}
@media(min-width:701px){.m-hero::after{background:linear-gradient(90deg,#effaff 0%,#effaff 49%,rgba(239,250,255,.92) 53%,rgba(239,250,255,.45) 58%,transparent 67%)}}
@media(min-width:701px) and (max-width:1199px){.m-hero::after{background:linear-gradient(90deg,#effaff 0%,#effaff 56%,rgba(239,250,255,.92) 62%,transparent 76%)}}

/* v37 – module review at laptop and desktop widths. */
@media(min-width:1000px){.m-hero-visual img{object-position:calc(50% + 10px) 35%}}
.m-module-jump{background:transparent;border-radius:0}
.m-module-jump .module-strip{background:rgba(255,255,255,.78);border-radius:7px;padding:9px 8px 8px;gap:8px}
.m-module-jump .module-card{background:transparent;border:0;border-radius:0;padding:0;box-shadow:none}
.m-next-link{background:#fff;border-color:#b9d4e8;color:#0753a8}
.m-next-link:hover,.m-next-link:focus-visible{background:#f2faff;border-color:#6aaae0}
@media(min-width:1101px){
 #if-r .m-module-grid{height:auto;min-height:585px;align-items:stretch}
 #if-r .m-module-scene{position:relative;min-height:0;height:auto;align-self:stretch}
 #if-r .m-module-scene img{position:absolute;inset:0;width:100%;height:100%;min-height:0;object-fit:cover}
}

/* v38: fine Hero framing and dark text in the onward links. */
@media(min-width:1000px){.m-hero-visual img{object-position:center 35%}}
.m-next-link{color:#061d68}

/* v39: show more of the centre plan and bring the fade closer to the text. */
@media(min-width:1000px){.m-hero-visual img{object-position:center 35%;transform:translateX(-20px) scale(1.04)}}
@media(min-width:1200px){.m-hero::after{background:linear-gradient(90deg,#effaff 0%,#effaff 38%,rgba(239,250,255,.94) 42%,rgba(239,250,255,.4) 47%,transparent 54%)}}
@media(min-width:701px) and (max-width:1199px){.m-hero::after{background:linear-gradient(90deg,#effaff 0%,#effaff 48%,rgba(239,250,255,.94) 52%,rgba(239,250,255,.4) 58%,transparent 66%)}}

/* Pending v40 review: ten pixels less blue and another 20 px left for the image. */
@media(min-width:1200px){.m-hero::after{background:linear-gradient(90deg,#effaff 0%,#effaff calc(38% - 10px),rgba(239,250,255,.94) calc(42% - 10px),rgba(239,250,255,.4) calc(47% - 10px),transparent calc(54% - 10px))}}
@media(min-width:701px) and (max-width:1199px){.m-hero::after{background:linear-gradient(90deg,#effaff 0%,#effaff calc(48% - 10px),rgba(239,250,255,.94) calc(52% - 10px),rgba(239,250,255,.4) calc(58% - 10px),transparent calc(66% - 10px))}}
@media(min-width:1000px){.m-hero-visual img{transform:translateX(-40px) scale(1.04)}}

/* v41: centre plan and heading line break at laptop width. */
.m-laptop-break{display:none}
@media(min-width:701px) and (max-width:1199px){.m-laptop-break{display:inline}.m-desktop-break{display:none}}
@media(min-width:1000px){.m-hero-visual img{transform:translateX(-20px) scale(1.04)}}

/* Approved Modules Hero: align the central Briolight cloud within the visible photograph. */
@media(min-width:701px){.m-hero-visual img{transform:translateX(-40px) scale(1.04)}}

/* Deferred review: bring the entire building into the visible Hero frame. */
@media(min-width:1000px){
 .m-hero-visual{right:0}
 .m-hero-visual img{width:calc(100% + 70px);max-width:none;transform:translateX(-65px)}
}
@media(min-width:1000px){.m-hero-visual{left:44%}}

/* Final framing pass: the right-hand building corner meets the frame edge. */
@media(min-width:1000px){.m-hero-visual img{transform:translateX(-35px)}}

/* v45: align innovation arguments to the top of their cells. */
@media(min-width:1000px){.m-pilot .m-innovation{align-items:start}.m-pilot .m-innovation>div{align-self:start}}
@media(min-width:1101px){.m-pilot .m-innovation h4{align-self:center}.m-pilot .m-innovation>div{align-self:start}}

/* v47 approved navigation hover */
.m-next-link:hover,.m-next-link:focus-visible{background:#ccecff;border-color:#2a9fe4;color:#061d68}

/* English catalog: longer labels determine row height at laptop and desktop widths. */
@media(min-width:1101px){
 html[lang="en"] .m-catalog-module .m-module-grid{height:auto;min-height:555px;grid-template-columns:minmax(0,1.05fr) minmax(0,1.18fr) minmax(0,1fr)}
 html[lang="en"] .m-catalog-module .m-module-intro{justify-content:flex-start}
 html[lang="en"] .m-catalog-module .m-detail{flex:1 1 0;min-height:max-content;align-items:center;padding:9px 0}
 html[lang="en"] .m-catalog-module .m-module-lead+.m-detail{padding-top:13px}
 html[lang="en"] .m-catalog-module .m-composition{margin-top:15px;padding-top:13px}
 html[lang="en"] .m-catalog-module .m-composition ul{justify-content:space-evenly;gap:7px}
}
@media(min-width:1101px) and (max-width:1650px){
 html[lang="en"] .m-catalog-module .m-module-intro,
 html[lang="en"] .m-catalog-module .m-module-function{padding:16px}
 html[lang="en"] .m-catalog-module .m-module-intro h3{font-size:clamp(21px,1.8vw,27px)}
}

/* v66: English module copy keeps the approved three-column layout while
   allowing translated headings and lists to set their natural height. */
@media(min-width:1101px){
 html[lang="en"] .m-catalog-module .m-module-grid{min-height:550px;grid-template-columns:minmax(0,1.03fr) minmax(0,1.18fr) minmax(0,1fr)}
 html[lang="en"] .m-catalog-module .m-module-intro{justify-content:space-between;gap:0;padding:20px 21px 17px}
 html[lang="en"] .m-catalog-module .m-index{margin-bottom:13px}
 html[lang="en"] .m-catalog-module .m-module-intro h3{font-size:clamp(24px,1.9vw,29px);line-height:1.15;margin:0 0 12px}
 html[lang="en"] .m-catalog-module .m-module-lead{font-size:14px;line-height:1.4;margin:0 0 14px}
 html[lang="en"] .m-catalog-module .m-detail{flex:0 0 auto;min-height:0;align-items:start;padding:10px 0 8px}
 html[lang="en"] .m-catalog-module .m-module-lead+.m-detail{padding-top:17px}
 html[lang="en"] .m-catalog-module .m-detail h4{font-size:17px}
 html[lang="en"] .m-catalog-module .m-detail p,
 html[lang="en"] .m-catalog-module .m-detail li{font-size:14px;line-height:1.36}
 html[lang="en"] .m-catalog-module .m-module-function{padding:20px 19px 17px}
 html[lang="en"] .m-catalog-module .m-how p{margin-bottom:16px}
 html[lang="en"] .m-catalog-module .m-composition{margin-top:18px;padding-top:16px}
 html[lang="en"] .m-catalog-module .m-composition ul{flex:1;justify-content:space-around;gap:6px}
}
@media(min-width:701px) and (max-width:1100px){
 html[lang="en"] .m-catalog-module .m-module-intro h3{font-size:clamp(22px,2.5vw,27px)}
 html[lang="en"] .m-catalog-module .m-detail{align-items:start}
 html[lang="en"] .m-catalog-module .m-index{margin-bottom:12px}
 html[lang="en"] .m-catalog-module .m-module-lead{font-size:14px}
}
@media(max-width:700px){html[lang="en"] .m-catalog-module .m-detail{align-items:start}}
