/* Product collections, engineering detail pages and PMS share one editorial rhythm. */
[data-collection-page] { overflow-x:clip; }
.inner-hero {
  padding:clamp(148px,13vw,194px) 0 clamp(68px,7vw,104px);
  color:#f5f8f5;
  background:#111b2b;
  border-bottom:1px solid #293743;
}
.inner-hero::before { background:linear-gradient(110deg,transparent 30%,rgba(128,194,111,.09) 50%,transparent 70%); }
.inner-hero .inner-grid { grid-template-columns:minmax(0,1fr) minmax(132px,.3fr);align-items:end;gap:64px; }
.inner-hero .eyebrow { color:#b3d7c5; }
.inner-grid h1 { max-width:950px;font-size:clamp(48px,5.9vw,88px);font-weight:650;line-height:1.16;letter-spacing:-.055em;overflow-wrap:anywhere;text-wrap:balance; }
.inner-grid > div:first-child > p:last-child { max-width:650px;margin-top:28px;color:#b5c3ca;font-size:17px;line-height:1.95; }
.inner-hero .inner-index { min-width:0;padding:0 0 6px 32px;border:0;border-left:1px solid #3b4b54;background:none; }
.inner-index strong { color:#b8d98f;font:500 clamp(88px,10vw,144px)/.95 "Segoe UI","PingFang SC",sans-serif;letter-spacing:-.075em;font-variant-numeric:tabular-nums; }
.inner-index span { margin-top:20px;color:#b5c3ca;font-size:12px;letter-spacing:.08em; }

.collection-section { padding-block:clamp(64px,7vw,112px);background:#f7f9f6; }
.collection-section .category-tabs { margin-bottom:36px; }
.collection-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:32px; }
.collection-card { min-width:0;min-height:44px;grid-template-columns:minmax(0,1fr);border:1px solid #dce3dc;border-radius:14px;background:#fff;box-shadow:none;transition:transform .35s var(--ease-out),border-color .3s,box-shadow .35s; }
.collection-card::after { border-radius:14px;border-color:rgba(117,177,149,.5); }
.collection-card:hover { transform:translateY(-5px);border-color:#a5b9b0;box-shadow:0 20px 40px rgba(24,44,39,.075); }
.collection-card:focus-visible { outline:3px solid #0369a1;outline-offset:5px; }
.collection-image { min-height:0;aspect-ratio:1.6;background:#edf2ee;border-bottom:1px solid #e3e9e2; }
.collection-image img { padding:clamp(20px,3vw,42px);object-fit:contain;transition:transform .65s var(--ease-out); }
.collection-card[href*="/cases/"] .collection-image img { padding:0;object-fit:cover; }
.collection-card:hover .collection-image img { transform:scale(1.025); }
.collection-image span { left:20px;top:20px;width:34px;height:34px;border:1px solid rgba(16,32,38,.15);border-radius:6px;background:#fff;color:#122026;font-weight:600;font-size:11px; }
.collection-copy { min-width:0;padding:30px 32px 28px; }
.collection-copy > p { color:#49655f;font-size:11px;line-height:1.6;letter-spacing:.1em;overflow-wrap:anywhere; }
.collection-copy h2 { max-width:100%;margin:14px 0 12px;color:#122026;font-size:clamp(24px,2.05vw,30px);font-weight:650;line-height:1.4;letter-spacing:-.025em;overflow-wrap:anywhere;text-wrap:balance; }
.collection-copy > span { color:#5e706d;font-size:15px;line-height:1.9;overflow-wrap:anywhere; }
.collection-copy > b { align-self:stretch;display:flex;align-items:center;justify-content:space-between;margin-top:28px;padding-top:18px;border-top:1px solid #e2e8e1;color:#1d5755;font-size:13px;font-weight:650; }
.collection-section .public-empty { padding:clamp(40px,8vw,100px) 24px;border:1px solid #dce3dc;border-radius:14px;color:#5e706d;background:#fff;line-height:1.9; }
.collection-section .collection-pagination { margin-top:52px;padding-top:28px;border-color:#dce3dc;gap:20px; }
.collection-pagination > a { min-height:46px;display:inline-flex;align-items:center;padding:10px 20px;border-color:#bdccc4;border-radius:7px;color:#274d49;background:#fff;font-size:14px; }
.collection-pagination > a:hover { background:#122026;color:white; }
.collection-pagination > span { color:#5e706d;font-size:13px; }
.collection-cta { padding:clamp(58px,7vw,90px) 0;background:#eaf0e8;color:#122026;border-top:1px solid #d8e2d7; }
.collection-cta .site-shell { gap:40px; }
.collection-cta p { color:#446b5e;font-size:11px;letter-spacing:.16em; }
.collection-cta h2 { max-width:800px;margin-top:12px;font-size:clamp(27px,3.1vw,44px);font-weight:650;line-height:1.35;letter-spacing:-.04em;overflow-wrap:anywhere;text-wrap:balance; }
.collection-cta .button { flex:none; }

.detail-hero { padding:clamp(136px,12vw,178px) 0 clamp(64px,7vw,100px);color:#122026;background:#f3f6f1;border-bottom:1px solid #dde4dc; }
.detail-hero-grid { grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(36px,5.5vw,84px); }
.detail-copy { min-width:0; }
.detail-back { min-height:44px;align-items:center;margin-bottom:34px;color:#4e6a62;font-size:13px;transition:color .2s; }
.detail-back:hover { color:#0369a1; }
.detail-copy > .eyebrow { color:#3b6e64;font-size:11px; }
.detail-copy h1 { font-size:clamp(38px,4.65vw,66px);font-weight:650;line-height:1.22;letter-spacing:-.045em;overflow-wrap:anywhere;text-wrap:balance; }
.detail-copy > p:not(.eyebrow) { max-width:600px;margin:25px 0 32px;color:#536963;font-size:16px;line-height:1.95;overflow-wrap:anywhere; }
.detail-hero .detail-media { padding:12px;border:1px solid #dce4dc;border-radius:18px;background:white;box-shadow:0 26px 65px rgba(20,43,35,.07); }
.detail-media .detail-gallery-stage { aspect-ratio:1.4;border-radius:10px;background:#f5f7f3; }
.detail-hero .detail-gallery-slide img { padding:20px; }
.detail-media .detail-gallery-arrow { width:46px;height:46px;border-color:rgba(255,255,255,.75);background:#122a32;box-shadow:0 6px 16px rgba(15,34,39,.1); }
.detail-media .detail-gallery-arrow:hover { background:#0369a1; }
.detail-media .detail-media-meta { left:12px;right:12px;bottom:12px;padding:9px 11px;border:1px solid #e2e8df;border-radius:5px;color:#36534a;background:rgba(255,255,255,.95);font-size:10px;letter-spacing:.1em; }
.detail-media .detail-gallery-toolbar { flex-wrap:wrap;gap:10px;margin-top:12px; }
.detail-media .detail-gallery-thumbs { flex:1 1 180px;gap:7px;scrollbar-width:thin; }
.detail-media .detail-gallery-thumb { width:70px;height:52px;border-color:#dce4da;border-radius:6px; }
.detail-media .detail-gallery-thumb.is-active { border-color:#478074;box-shadow:0 0 0 2px rgba(71,128,116,.13); }
.detail-media .detail-gallery-toggle { min-height:44px;border-color:#b8c8bd;color:#365e54;border-radius:6px; }
.detail-media .detail-gallery-toggle:hover { border-color:#122026;color:white;background:#122026; }
.detail-section { padding-block:clamp(72px,8vw,120px);background:white; }
.detail-layout { grid-template-columns:190px minmax(0,1fr);gap:clamp(40px,7vw,110px); }
.detail-layout aside { top:120px; }
.detail-layout aside > p { margin-bottom:16px;color:#65776e;font-size:12px;letter-spacing:.08em; }
.detail-layout aside > a { min-height:52px;border-color:#e1e8df;color:#294a42;font-size:14px; }
.detail-layout aside > a:hover { color:#0369a1; }
.detail-layout > article { min-width:0;max-width:900px; }
.detail-layout h2 { margin-bottom:28px;color:#122026;font-size:clamp(28px,3.25vw,44px);font-weight:650;line-height:1.35;letter-spacing:-.03em;overflow-wrap:anywhere;text-wrap:balance; }
.detail-layout .rich-text { max-width:850px;color:#53665f;font-size:17px;line-height:2.05;overflow-wrap:anywhere; }
.detail-layout article section + section { margin-top:64px;padding-top:54px;border-color:#dfe6dc; }
.detail-parameters dl { border-color:#dce4d8; }
.detail-parameters dl div { min-height:66px;grid-template-columns:170px minmax(0,1fr);gap:24px;padding:18px 0;border-color:#e3e9e0; }
.detail-parameters dt { color:#68776f;font-size:14px;overflow-wrap:anywhere; }
.detail-parameters dd { color:#29443c;font-size:15px;font-weight:600;overflow-wrap:anywhere; }
.related-section { padding-block:clamp(68px,7vw,104px);background:#f1f5ed;border-top:1px solid #e0e7da; }
.related-grid { grid-template-columns:repeat(3,minmax(0,1fr));gap:24px; }
.related-grid > a { min-width:0;padding:14px 14px 26px;border:1px solid #dce4d6;border-radius:12px;background:white;box-shadow:none;transition:transform .3s,border-color .3s; }
.related-grid > a:hover { transform:translateY(-4px);border-color:#9db7a5; }
.related-grid > a > img { height:auto;aspect-ratio:1.4;padding:16px;border-radius:7px;background:#f4f7f0; }
.related-grid > a[href*="/cases/"] > img { padding:0;object-fit:cover; }
.related-grid > a > p { margin:23px 10px 8px;color:#487063;font-size:11px;overflow-wrap:anywhere; }
.related-grid > a > h3 { margin:0 10px;color:#122026;font-size:21px;font-weight:650;line-height:1.45;overflow-wrap:anywhere; }
.related-grid > a > span { margin:21px 10px 0;color:#315f53;font-size:13px; }

.pms-hero { position:relative;padding:clamp(138px,13vw,185px) 0 clamp(72px,7vw,108px);background:#f3f7f0;border-bottom:1px solid #dfe7d9; }
.pms-hero .pms-intro-grid,.pms-teaser .pms-intro-grid { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(40px,6vw,90px); }
.pms-heading { color:#122026;font-size:clamp(36px,4.2vw,60px);font-weight:650;line-height:1.22;letter-spacing:-.045em;text-wrap:balance; }
.pms-brand { margin-bottom:15px;color:#466b5a;font-size:14px;font-weight:700;letter-spacing:.04em; }
.pms-description { max-width:600px;color:#55695e;font-size:16px;line-height:1.95;overflow-wrap:anywhere; }
.pms-tags { gap:8px;margin-block:24px 32px; }
.pms-tags > span { padding:6px 9px;border:1px solid #d5e1cd;border-radius:4px;color:#416249;background:#f6f9f1;font-size:12px; }
.pms-cover { position:relative;min-width:0;padding:22px;border:1px solid #d3dfcf;border-radius:16px;background:#fff;box-shadow:0 26px 60px rgba(30,53,32,.065); }
.pms-cover img { margin-top:18px;aspect-ratio:1.6;border-radius:7px;background:#f7f9f4; }
a.pms-cover { transition:transform .45s var(--ease-out),border-color .3s; }
a.pms-cover:hover { transform:translateY(-4px);border-color:#9bb992; }
.pms-window-label { color:#567060;font-size:10px;letter-spacing:.12em; }
.pms-window-footer { gap:16px;align-items:center;margin-top:18px;padding-top:17px;border-color:#e0e7d9;color:#4d6454;font-size:12px;line-height:1.6; }
.pms-window-footer > b { font-size:20px;font-weight:500; }
.pms-teaser { background:#f8faf5;border-block:1px solid #e5ebdf; }
.pms-overview { background:#fff; }
.pms-overview .section-heading { align-items:start; }
.pms-body { color:#55695e;font-size:16px;line-height:1.95;overflow-wrap:anywhere; }
.pms-demo { border:1px solid #d8e1d1;border-radius:16px;background:white;box-shadow:0 22px 56px rgba(32,51,33,.055); }
.pms-demo-top { padding:23px 28px;border-color:#e0e6da;background:#fbfcf9; }
.pms-demo-top strong { color:#234b3a;font-size:18px; }
.pms-demo-top > span { color:#5e705f;line-height:1.6; }
.pms-demo-layout { grid-template-columns:170px minmax(0,1fr); }
.pms-demo-layout aside { padding:26px 16px;border-right:1px solid #e1e7db;background:#f4f7ef;gap:15px; }
.pms-demo-layout aside > b { padding:0 8px;color:#38543f;font-size:13px; }
.pms-demo-layout aside span { min-height:44px;display:flex;align-items:center;color:#5c6e58;border-radius:5px; }
.pms-demo-layout aside .is-active { color:#2c573c;background:#e3edd9; }
.pms-demo-content { padding:28px; }
.pms-demo-heading h3 { color:#1f3a29;font-size:21px; }
.pms-demo-heading > span { color:#637561; }
.pms-demo-stats { gap:12px;margin-block:24px; }
.pms-demo-stats > div { min-width:0;padding:15px 16px;border:1px solid #e2e8dc;border-radius:7px;background:#f7f9f3; }
.pms-demo-stats span { color:#61755e; }
.pms-demo-stats strong { margin-top:5px;color:#223f2b;font-size:29px;font-weight:650;font-variant-numeric:tabular-nums; }
.pms-room-grid { grid-template-columns:repeat(6,minmax(0,1fr));gap:11px; }
.pms-room { min-width:0;padding:16px 11px;border-color:#c4d6dc;border-radius:7px;background:#eef5f6; }
.pms-room > strong { color:#294d53;font-size:15px; }
.pms-room > span { color:#596e71;font-size:11px;overflow-wrap:anywhere; }
.pms-room > b { color:#2a6070;font-size:11px; }
.pms-room.vacant { border-color:#c1d9c1;background:#eff7ec; }
.pms-room.vacant > b { color:#35683b; }
.pms-room.cleaning { border-color:#e1d7b8;background:#fbf7eb; }
.pms-room.cleaning > b { color:#7b6129; }
.pms-features { background:#f1f5ed;border-block:1px solid #e1e8db; }
.pms-feature-grid { grid-template-columns:repeat(3,minmax(0,1fr));gap:20px; }
.pms-feature-card { min-width:0;padding:32px;border:1px solid #dce4d4;border-radius:12px;background:#fff; }
.pms-feature-card > span { color:#416e51;font-size:12px;font-weight:600; }
.pms-feature-card h3 { margin:32px 0 13px;color:#122026;font-size:23px;font-weight:650;line-height:1.4;overflow-wrap:anywhere; }
.pms-feature-card p { color:#5b6e60;font-size:15px;line-height:1.9;overflow-wrap:anywhere; }
.pms-gallery { background:#fff; }
.pms-gallery .detail-media { max-width:1080px;padding:12px;border-color:#dbe4d5;border-radius:16px;background:#fff;box-shadow:0 24px 60px rgba(23,44,28,.06); }
.pms-gallery .detail-gallery-stage { aspect-ratio:1.7;border-radius:9px;background:#f3f7ef; }
.pms-gallery .detail-gallery-slide img { padding:14px 14px 68px; }
.pms-gallery figcaption { bottom:54px;left:20px;right:20px;color:#526c57;font-size:12px;line-height:1.5; }

@media(max-width:1100px) {
  .collection-grid { gap:22px; }
  .collection-copy { padding:26px; }
  .detail-hero-grid { gap:40px; }
  .detail-layout { grid-template-columns:160px minmax(0,1fr);gap:40px; }
  .pms-hero .pms-intro-grid,.pms-teaser .pms-intro-grid { gap:36px; }
  .pms-demo-layout { grid-template-columns:145px minmax(0,1fr); }
  .pms-demo-content { padding:22px; }
  .pms-room-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media(max-width:820px) {
  .inner-hero .inner-grid { grid-template-columns:minmax(0,1fr);gap:30px; }
  .inner-hero .inner-grid > div { min-width:0; }
  .inner-grid h1 { font-size:clamp(42px,7vw,64px); }
  .inner-hero .inner-index { display:flex;align-items:baseline;gap:14px;padding:22px 0 0;border:0;border-top:1px solid #35454d; }
  .inner-index strong { flex:none;font-size:46px;letter-spacing:-.045em; }
  .inner-index span { min-width:0;margin:0;font-size:12px;overflow-wrap:anywhere; }
  .collection-grid { gap:20px; }
  .collection-copy { padding:23px; }
  .collection-copy h2 { font-size:24px; }
  .collection-copy > span,.detail-copy > p:not(.eyebrow),.detail-parameters dt,.detail-parameters dd,.pms-description,.pms-body,.pms-feature-card p { font-size:16px; }
  .detail-hero-grid { grid-template-columns:minmax(0,1fr);gap:40px; }
  .detail-copy { max-width:760px; }
  .detail-copy h1 { max-width:760px;font-size:clamp(38px,6vw,56px); }
  .detail-hero .detail-media { width:100%;max-width:850px; }
  .detail-media .detail-gallery-stage { aspect-ratio:1.6; }
  .detail-layout { grid-template-columns:minmax(0,1fr);gap:38px; }
  .detail-layout aside { position:static;display:flex;flex-wrap:wrap;gap:0 22px;padding:14px 0;border-block:1px solid #e0e7da; }
  .detail-layout aside > p { flex-basis:100%;margin:0 0 4px; }
  .detail-layout aside > a { min-height:44px;border:0; }
  .related-grid { gap:17px; }
  .related-grid > a { padding:10px 10px 21px; }
  .related-grid > a > p,.related-grid > a > h3,.related-grid > a > span { margin-left:6px;margin-right:6px; }
  .related-grid > a > h3 { font-size:18px; }
  .pms-hero .pms-intro-grid,.pms-teaser .pms-intro-grid { grid-template-columns:minmax(0,1fr);gap:38px; }
  .pms-description { max-width:680px; }
  .pms-cover { max-width:900px; }
  .pms-feature-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:600px) {
  .inner-hero { padding:132px 0 56px; }
  .inner-grid h1 { font-size:clamp(38px,10.3vw,54px);line-height:1.2; }
  .inner-grid > div:first-child > p:last-child { margin-top:22px;font-size:16px;line-height:1.9; }
  .collection-section { padding-block:54px; }
  .collection-grid { grid-template-columns:minmax(0,1fr);gap:22px; }
  .collection-image { aspect-ratio:1.5; }
  .collection-image span { left:15px;top:15px; }
  .collection-copy { padding:25px 22px 23px; }
  .collection-copy h2 { font-size:24px; }
  .collection-copy > span { font-size:16px; }
  .collection-section .collection-pagination { gap:12px;margin-top:34px; }
  .collection-pagination > span { flex-basis:100%;order:-1;text-align:center; }
  .collection-pagination > a { flex:1;justify-content:center;min-width:0;padding-inline:12px;font-size:13px; }
  .collection-cta { padding-block:52px; }
  .collection-cta .site-shell { align-items:stretch;flex-direction:column;gap:26px; }
  .collection-cta h2 { font-size:29px;line-height:1.4; }
  .collection-cta .button { align-self:flex-start; }
  .detail-hero { padding:126px 0 52px; }
  .detail-back { margin-bottom:25px; }
  .detail-copy h1 { font-size:clamp(34px,9.2vw,48px);line-height:1.28; }
  .detail-copy > p:not(.eyebrow) { margin-block:22px 27px;font-size:16px; }
  .detail-hero .detail-media { padding:9px;border-radius:12px; }
  .detail-media .detail-gallery-stage { aspect-ratio:1.3;border-radius:7px; }
  .detail-hero .detail-gallery-slide img { padding:11px; }
  .detail-media .detail-gallery-prev { left:8px; }
  .detail-media .detail-gallery-next { right:8px; }
  .detail-media .detail-media-meta { left:8px;right:8px;bottom:8px;font-size:10px; }
  .detail-section { padding-block:54px; }
  .detail-layout h2 { font-size:29px;line-height:1.4; }
  .detail-layout .rich-text { font-size:16px;line-height:2; }
  .detail-layout article section + section { margin-top:46px;padding-top:38px; }
  .detail-parameters dl div { grid-template-columns:minmax(0,1fr);gap:7px;padding-block:16px; }
  .related-section { padding-block:54px; }
  .related-grid { grid-template-columns:minmax(0,1fr);gap:20px; }
  .related-grid > a { padding:12px 12px 25px; }
  .related-grid > a > h3 { font-size:22px; }
  .pms-hero { padding:130px 0 58px; }
  .pms-heading { font-size:clamp(34px,9.2vw,46px);line-height:1.25; }
  .pms-brand { font-size:13px; }
  .pms-description,.pms-body { font-size:16px; }
  .pms-cover { padding:16px;border-radius:12px; }
  .pms-cover img { margin-top:15px;aspect-ratio:1.45; }
  .pms-window-footer { flex-wrap:wrap;gap:8px;margin-top:14px;padding-top:13px;font-size:11px; }
  .pms-demo { border-radius:11px; }
  .pms-demo-top { align-items:flex-start;flex-direction:column;gap:8px;padding:18px; }
  .pms-demo-top strong { font-size:17px; }
  .pms-demo-layout { grid-template-columns:minmax(0,1fr); }
  .pms-demo-layout aside { display:none; }
  .pms-demo-content { padding:15px; }
  .pms-demo-heading { flex-direction:column;align-items:flex-start;gap:6px; }
  .pms-demo-heading h3 { font-size:19px; }
  .pms-demo-heading > span { font-size:11px; }
  .pms-demo-stats { grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-block:18px; }
  .pms-demo-stats > div { padding:12px; }
  .pms-demo-stats strong { font-size:25px; }
  .pms-room-grid { grid-template-columns:repeat(3,minmax(0,1fr));gap:7px; }
  .pms-room { gap:5px;padding:12px 8px; }
  .pms-room > strong { font-size:14px; }
  .pms-room > span,.pms-room > b { font-size:11px;line-height:1.5; }
  .pms-feature-grid { grid-template-columns:minmax(0,1fr);gap:15px; }
  .pms-feature-card { padding:26px; }
  .pms-feature-card h3 { margin-top:25px;font-size:22px; }
  .pms-feature-card p { font-size:16px; }
  .pms-gallery .detail-media { padding:8px;border-radius:11px; }
  .pms-gallery .detail-gallery-stage { aspect-ratio:1.15; }
  .pms-gallery .detail-gallery-slide img { padding:8px 8px 78px; }
  .pms-gallery figcaption { left:12px;right:12px;bottom:52px;font-size:11px;line-height:1.6; }
}
@media(max-width:380px) {
  .collection-copy { padding-inline:19px; }
  .collection-copy h2 { font-size:22px; }
  .detail-media .detail-gallery-toolbar { gap:8px; }
  .detail-media .detail-gallery-thumbs { flex-basis:100%; }
  .detail-media .detail-gallery-toggle { flex-basis:100%; }
  .pms-demo-content { padding:12px; }
  .pms-room-grid { gap:5px; }
  .pms-room { padding-inline:6px; }
}
@media(prefers-reduced-motion:reduce) {
  .collection-card,.collection-image img,.related-grid > a,a.pms-cover { transition:none; }
  .collection-card:hover,.related-grid > a:hover,a.pms-cover:hover { transform:none; }
}
