/* Main assortment: a deliberate hierarchy, scoped away from category selection. */
.ns-main .ns-priority-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:1fr 1fr .92fr;gap:14px;height:clamp(345px,calc(100svh - 490px),510px)}
.ns-main .ns-priority-grid .ns-tile{position:relative;isolation:isolate;border-radius:21px;display:block;background:#e9ece3;border:1px solid #d4dacf;min-height:0;overflow:hidden;transform:none;transition:box-shadow .3s,border-color .3s}
.ns-main .ns-priority-grid .ns-tile:hover{box-shadow:0 10px 28px #23352222;border-color:#9da993}
.ns-main .ns-priority-grid .ns-tile-image{position:absolute;inset:0;height:100%;width:100%;z-index:-2}
.ns-main .ns-priority-grid .ns-tile-image img{height:100%;width:100%;object-fit:cover;padding:0;background:transparent;transition:transform .65s cubic-bezier(.22,1,.36,1)}
.ns-main .ns-priority-grid .ns-tile:hover img{transform:scale(1.04)}
.ns-main .ns-priority-grid .priority-copy{position:absolute;inset:auto 0 0;display:block;min-height:0;padding:19px 45px 19px 20px;color:#fff;z-index:1}
.ns-main .ns-priority-grid .ns-tile:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#13251ff2 0%,#13251f9c 38%,#13251f00 90%)}
.ns-main .ns-priority-grid h3{font-size:clamp(21px,1.8vw,29px);line-height:1.1;color:inherit;max-width:100%;text-shadow:0 1px 12px #0002}
.ns-main .ns-priority-grid .ns-tile-arrow{position:absolute;right:15px;bottom:17px;width:25px;height:25px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#ffffff24;border:1px solid #ffffff4d;font-size:18px}
.ns-main .ns-priority-grid .priority-0{grid-column:1/6;grid-row:1/3}
.ns-main .ns-priority-grid .priority-1{grid-column:6/10;grid-row:1}
.ns-main .ns-priority-grid .priority-5{grid-column:10/13;grid-row:1}
.ns-main .ns-priority-grid .priority-6{grid-column:6/10;grid-row:2}
.ns-main .ns-priority-grid .priority-7{grid-column:10/13;grid-row:2}
.ns-main .ns-priority-grid .priority-2{grid-column:1/4;grid-row:3}
.ns-main .ns-priority-grid .priority-3{grid-column:4/7;grid-row:3}
.ns-main .ns-priority-grid .priority-4{grid-column:7/9;grid-row:3}
.ns-main .ns-priority-grid .priority-8{grid-column:9/11;grid-row:3}
.ns-main .ns-priority-grid .priority-9{grid-column:11/13;grid-row:3}
.ns-main .ns-priority-grid .priority-0 .priority-copy{padding:28px}
.ns-main .ns-priority-grid .priority-0 h3{font-size:clamp(37px,3vw,48px);max-width:360px;line-height:1.04}
.ns-main .ns-priority-grid .priority-0:after{background:linear-gradient(0deg,#11281ff5,#11281fa1 45%,#11281f08 100%)}
.ns-main .ns-priority-grid .priority-0 img{object-position:55% 40%}
.priority-eyebrow{display:block;font-size:8px;font-weight:700;letter-spacing:.14em;margin-bottom:12px;color:#f4d9cb}
.priority-copy>p{font-size:11px;line-height:1.7;color:#e0e7df;margin:13px 0 17px}
.priority-discover{font-size:10px;border-bottom:1px solid #e5eece77;padding-bottom:4px;display:inline-block}
.ns-main .ns-priority-grid .priority-0 .ns-tile-arrow{width:36px;height:36px;bottom:24px;right:24px;font-size:24px;background:#c72730;border-color:#c72730}
.ns-main .ns-priority-grid .priority-6 .ns-tile-image img{object-fit:contain;object-position:100% 20%;background:#edf0e6;padding:5px}
.ns-main .ns-priority-grid .priority-6:after{background:linear-gradient(90deg,#223b2ce8,#223b2c99 60%,#223b2c08)}
.ns-main .ns-priority-grid .priority-6 h3{max-width:210px}
.ns-main .ns-priority-grid .priority-7 img{object-position:60% 42%}
.ns-main .ns-priority-grid .priority-2 .priority-copy,.ns-main .ns-priority-grid .priority-3 .priority-copy,.ns-main .ns-priority-grid .priority-4 .priority-copy,.ns-main .ns-priority-grid .priority-8 .priority-copy,.ns-main .ns-priority-grid .priority-9 .priority-copy{padding:15px 38px 15px 16px}
.ns-main .ns-priority-grid .priority-2 h3,.ns-main .ns-priority-grid .priority-3 h3,.ns-main .ns-priority-grid .priority-4 h3,.ns-main .ns-priority-grid .priority-8 h3,.ns-main .ns-priority-grid .priority-9 h3{font-size:clamp(19px,1.5vw,25px)}
.ns-main .ns-priority-grid .priority-3 img{object-fit:contain;background:#e4e7df;object-position:90% 20%}
.ns-main .ns-priority-grid .priority-3:after{background:linear-gradient(0deg,#13251ff5,#13251f6b 60%,transparent)}
@media(min-width:1100px) and (max-height:820px){.ns-main .ns-priority-grid{height:325px;gap:12px}.ns-main .ns-priority-grid .priority-copy{padding:14px 39px 14px 16px}.ns-main .ns-priority-grid .priority-0 .priority-copy{padding:23px}.ns-main .ns-priority-grid .priority-0 h3{font-size:37px}.ns-main .ns-priority-grid h3{font-size:23px}.priority-copy>p{margin:10px 0 11px;font-size:10px}.priority-eyebrow{font-size:7px;margin-bottom:10px}.ns-main .ns-priority-grid .priority-2 h3,.ns-main .ns-priority-grid .priority-3 h3,.ns-main .ns-priority-grid .priority-4 h3,.ns-main .ns-priority-grid .priority-8 h3,.ns-main .ns-priority-grid .priority-9 h3{font-size:20px}.ns-main .as-hero h1{font-size:37px}.ns-main .as-hero-inner{padding-block:13px 16px}.ns-main .as-section-head h2{font-size:27px}}
@media(min-width:1100px) and (min-width:1700px){.ns-main .as-catalog{width:min(1440px,calc(100% - 100px))}.ns-main .ns-priority-grid{height:450px}.ns-main .ns-priority-grid .priority-0 h3{font-size:52px}.ns-main .ns-priority-grid h3{font-size:30px}.priority-copy>p{font-size:13px}}
@media(min-width:700px) and (max-width:1099px){.ns-main .ns-priority-grid{grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:repeat(4,150px);height:auto}.ns-main .ns-priority-grid .priority-0{grid-column:1/4;grid-row:1/3}.ns-main .ns-priority-grid .priority-1{grid-column:4/7;grid-row:1}.ns-main .ns-priority-grid .priority-5{grid-column:4/7;grid-row:2}.ns-main .ns-priority-grid .priority-6{grid-column:1/4;grid-row:3}.ns-main .ns-priority-grid .priority-7{grid-column:4/7;grid-row:3}.ns-main .ns-priority-grid .priority-2{grid-column:1/3;grid-row:4}.ns-main .ns-priority-grid .priority-3{grid-column:3/5;grid-row:4}.ns-main .ns-priority-grid .priority-4{grid-column:5/7;grid-row:4}.ns-main .ns-priority-grid .priority-8{grid-column:1/4;grid-row:5;min-height:150px}.ns-main .ns-priority-grid .priority-9{grid-column:4/7;grid-row:5;min-height:150px}}
@media(max-width:699px){.ns-main .ns-priority-grid{height:auto;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;gap:12px}.ns-main .ns-priority-grid .ns-tile{grid-column:auto;grid-row:auto;min-height:160px;border-radius:19px}.ns-main .ns-priority-grid .priority-0{grid-column:1/-1;min-height:290px}.ns-main .ns-priority-grid .priority-0 h3{font-size:41px;max-width:280px}.ns-main .ns-priority-grid .priority-0 .priority-copy{padding:24px}.ns-main .ns-priority-grid .priority-copy{padding:16px 33px 17px 14px}.ns-main .ns-priority-grid h3,.ns-main .ns-priority-grid .priority-2 h3,.ns-main .ns-priority-grid .priority-3 h3,.ns-main .ns-priority-grid .priority-4 h3,.ns-main .ns-priority-grid .priority-8 h3,.ns-main .ns-priority-grid .priority-9 h3{font-size:22px}.ns-main .ns-priority-grid .priority-9{grid-column:1/-1;min-height:150px}.ns-main .ns-priority-grid .priority-9 .ns-tile-image img{object-position:center 40%}.ns-main .ns-priority-grid .priority-9 h3{font-size:28px}.ns-main .ns-priority-grid .ns-tile-arrow{right:10px;width:22px;height:22px;font-size:16px}.priority-copy>p{font-size:11px}.ns-main .ns-priority-grid .priority-6 h3{max-width:none}}
@media(prefers-reduced-motion:reduce){.ns-main .ns-priority-grid .ns-tile,.ns-main .ns-priority-grid .ns-tile-image img{transition:none}}

@media(min-width:1100px) and (max-width:1699px){.ns-main .ns-priority-grid{height:clamp(300px,calc(100svh - 530px),470px)}}@media(min-width:1100px) and (max-height:820px){.ns-main .ns-priority-grid{height:285px}.ns-main .ns-priority-grid .priority-0 .priority-copy{padding:20px 23px}.ns-main .ns-priority-grid .priority-0 h3{font-size:35px}.ns-main .ns-priority-grid .priority-0 .priority-eyebrow{margin-bottom:7px}.ns-main .ns-priority-grid .priority-0 .priority-copy>p{margin:8px 0;font-size:9px}.ns-main .ns-priority-grid .priority-2 .priority-copy,.ns-main .ns-priority-grid .priority-3 .priority-copy,.ns-main .ns-priority-grid .priority-4 .priority-copy,.ns-main .ns-priority-grid .priority-8 .priority-copy,.ns-main .ns-priority-grid .priority-9 .priority-copy{padding-top:12px;padding-bottom:12px}}

.ns-main .ns-priority-grid h3{overflow-wrap:anywhere;hyphens:auto}@media(max-width:699px){.ns-main .ns-priority-grid .priority-6 h3{font-size:20px}.ns-main .ns-priority-grid .priority-7 h3{font-size:21px}}

@media(max-width:360px){.ns-main .ns-priority-grid .ns-tile{min-height:200px}.ns-main .ns-priority-grid .priority-0{min-height:290px}.ns-main .ns-priority-grid h3,.ns-main .ns-priority-grid .priority-2 h3,.ns-main .ns-priority-grid .priority-3 h3,.ns-main .ns-priority-grid .priority-4 h3,.ns-main .ns-priority-grid .priority-8 h3{font-size:20px}.ns-main .ns-priority-grid .priority-0 h3{font-size:37px}.ns-main .ns-priority-grid .priority-9{min-height:150px}}

/* Editorial mosaic: larger picture planes and a deliberately staggered rhythm. */
@media(min-width:1100px){
 .ns-main .as-catalog{width:min(1640px,calc(100% - 96px));padding-top:40px;padding-bottom:25px}
 .ns-main .as-section-head{margin-bottom:26px;gap:45px}
 .ns-main .as-section-head h2{font-size:clamp(33px,2.65vw,46px);line-height:1.1}
 .ns-main .as-section-head>p{font-size:13px;line-height:1.8;max-width:420px}
 .ns-main .ns-priority-grid{grid-template-columns:repeat(24,minmax(0,1fr));grid-template-rows:repeat(6,minmax(0,1fr));gap:18px;height:clamp(460px,calc(100svh - 290px),760px)}
 .ns-main .ns-priority-grid .ns-tile{border:0;border-radius:25px;box-shadow:0 3px 10px #1c382507;transition:box-shadow .35s,transform .35s}
 .ns-main .ns-priority-grid .ns-tile:hover{box-shadow:0 14px 35px #243b2727;transform:translateY(-3px)}
 .ns-main .ns-priority-grid .priority-0{grid-column:1/11;grid-row:1/5;border-radius:34px 34px 70px 34px}
 .ns-main .ns-priority-grid .priority-1{grid-column:11/19;grid-row:1/3;border-radius:25px 45px 25px 25px}
 .ns-main .ns-priority-grid .priority-5{grid-column:19/25;grid-row:1/4;border-radius:25px 25px 58px 25px}
 .ns-main .ns-priority-grid .priority-6{grid-column:11/19;grid-row:3/5;border-radius:25px}
 .ns-main .ns-priority-grid .priority-7{grid-column:19/25;grid-row:4/6;border-radius:40px 25px 25px 25px}
 .ns-main .ns-priority-grid .priority-2{grid-column:1/7;grid-row:5/7;border-radius:25px 45px 25px 25px}
 .ns-main .ns-priority-grid .priority-3{grid-column:7/13;grid-row:5/7;border-radius:25px}
 .ns-main .ns-priority-grid .priority-4{grid-column:13/19;grid-row:5/7;border-radius:25px 25px 42px 25px}
 .ns-main .ns-priority-grid .priority-8{grid-column:19/22;grid-row:6/7;border-radius:20px}
 .ns-main .ns-priority-grid .priority-9{grid-column:22/25;grid-row:6/7;border-radius:20px}
 .ns-main .ns-priority-grid .priority-copy{padding:26px 50px 26px 25px}
 .ns-main .ns-priority-grid h3{font-size:clamp(27px,2.15vw,38px);line-height:1.08;hyphens:none}
 .ns-main .ns-priority-grid .priority-0 .priority-copy{padding:34px 38px 36px}
 .ns-main .ns-priority-grid .priority-0 h3{font-size:clamp(45px,4vw,68px);line-height:1.04;max-width:510px}
 .ns-main .ns-priority-grid .priority-0 .priority-eyebrow{font-size:9px;letter-spacing:.16em;margin-bottom:18px}
 .ns-main .ns-priority-grid .priority-0 .priority-copy>p{font-size:13px;line-height:1.8;margin:20px 0 24px}
 .ns-main .priority-discover{font-size:12px;letter-spacing:.01em;padding-bottom:6px}
 .ns-main .ns-priority-grid .priority-0 .ns-tile-arrow{right:29px;bottom:29px;width:47px;height:47px;font-size:29px}
 .ns-main .ns-priority-grid .ns-tile-arrow{right:18px;bottom:21px;width:30px;height:30px;font-size:21px}
 .ns-main .ns-priority-grid .priority-0 img{object-position:53% 50%}
 .ns-main .ns-priority-grid .priority-5 img{object-position:52% center}
 .ns-main .ns-priority-grid .priority-5:after{background:linear-gradient(0deg,#4c1118f5 0%,#39181b65 50%,#13251f00 100%)}
 .ns-main .ns-priority-grid .priority-1 img{object-position:center 38%}
 .ns-main .ns-priority-grid .priority-6{background:#e2e8d9;border:1px solid #d9dfd0}
 .ns-main .ns-priority-grid .priority-6 .ns-tile-image{left:30%;width:70%}
 .ns-main .ns-priority-grid .priority-6 img{object-fit:contain;padding:12px 0;object-position:100% center;background:transparent}
 .ns-main .ns-priority-grid .priority-6:after{background:linear-gradient(90deg,#e2e8d9 10%,#e2e8d9d9 43%,#e2e8d900 90%)}
 .ns-main .ns-priority-grid .priority-6 h3{color:#27392c;text-shadow:none;max-width:260px}
 .ns-main .ns-priority-grid .priority-6 .ns-tile-arrow{color:#8c262d;border-color:#9ba88d;background:#ffffff7a}
 .ns-main .ns-priority-grid .priority-7 img{object-position:58% 35%}
 .ns-main .ns-priority-grid .priority-3{background:#e9e5dc;border:1px solid #e1dcd0}
 .ns-main .ns-priority-grid .priority-3 img{object-fit:contain;object-position:right 5%;padding:12px 8px 35px 60px;background:transparent}
 .ns-main .ns-priority-grid .priority-3:after{background:linear-gradient(0deg,#e9e5dc 1%,#e9e5dcde 25%,#e9e5dc00 95%)}
 .ns-main .ns-priority-grid .priority-3 h3{color:#29372e;text-shadow:none;max-width:250px}
 .ns-main .ns-priority-grid .priority-3 .ns-tile-arrow{color:#8c262d;background:#ffffff8a;border-color:#b1b8a7}
 .ns-main .ns-priority-grid .priority-2 .priority-copy,.ns-main .ns-priority-grid .priority-3 .priority-copy,.ns-main .ns-priority-grid .priority-4 .priority-copy{padding:23px 47px 23px 23px}
 .ns-main .ns-priority-grid .priority-2 h3,.ns-main .ns-priority-grid .priority-3 h3,.ns-main .ns-priority-grid .priority-4 h3{font-size:clamp(26px,1.9vw,34px)}
 .ns-main .ns-priority-grid .priority-8 .priority-copy,.ns-main .ns-priority-grid .priority-9 .priority-copy{padding:15px 31px 15px 16px}
 .ns-main .ns-priority-grid .priority-8 h3,.ns-main .ns-priority-grid .priority-9 h3{font-size:clamp(18px,1.25vw,23px);line-height:1.1;hyphens:auto}
 .ns-main .ns-priority-grid .priority-8 .ns-tile-arrow,.ns-main .ns-priority-grid .priority-9 .ns-tile-arrow{width:21px;height:21px;font-size:15px;right:10px;bottom:13px}
 .ns-main .as-note{margin-top:25px;font-size:12px}
 .ns-main .as-service{margin-top:25px}
}
@media(min-width:1100px) and (max-height:820px){
 .ns-main .as-catalog{padding-top:28px}
 .ns-main .as-section-head{margin-bottom:20px}
 .ns-main .as-section-head h2{font-size:33px}
 .ns-main .ns-priority-grid{gap:14px;height:clamp(460px,calc(100svh - 290px),570px)}
 .ns-main .ns-priority-grid .priority-0 .priority-copy{padding:26px 29px}
 .ns-main .ns-priority-grid .priority-0 h3{font-size:44px}
 .ns-main .ns-priority-grid .priority-0 .priority-copy>p{font-size:11px;margin:13px 0 18px}
 .ns-main .ns-priority-grid .priority-0 .priority-eyebrow{font-size:8px;margin-bottom:14px}
 .ns-main .ns-priority-grid .priority-copy{padding:20px 42px 20px 21px}
 .ns-main .ns-priority-grid h3{font-size:27px}
 .ns-main .ns-priority-grid .priority-2 .priority-copy,.ns-main .ns-priority-grid .priority-3 .priority-copy,.ns-main .ns-priority-grid .priority-4 .priority-copy{padding:18px 42px 18px 20px}
 .ns-main .ns-priority-grid .priority-2 h3,.ns-main .ns-priority-grid .priority-3 h3,.ns-main .ns-priority-grid .priority-4 h3{font-size:25px}
 .ns-main .ns-priority-grid .priority-8 h3,.ns-main .ns-priority-grid .priority-9 h3{font-size:18px}
 .ns-main .ns-priority-grid .priority-8 .priority-copy,.ns-main .ns-priority-grid .priority-9 .priority-copy{padding-block:10px}
}
@media(prefers-reduced-motion:reduce){.ns-main .ns-priority-grid .ns-tile{transition:none}.ns-main .ns-priority-grid .ns-tile:hover{transform:none}}

@media(min-width:1100px){.ns-main .ns-priority-grid .priority-6 h3{font-size:clamp(27px,1.9vw,34px);max-width:100%;hyphens:auto}}

/* Dach and PV are full-size entrances alongside the other specialist ranges. */
@media(min-width:1100px){
 .ns-main .ns-priority-grid .priority-5{grid-column:19/25;grid-row:1/3}
 .ns-main .ns-priority-grid .priority-7{grid-column:19/25;grid-row:3/5}
 .ns-main .ns-priority-grid .priority-2{grid-column:1/6;grid-row:5/7}
 .ns-main .ns-priority-grid .priority-3{grid-column:6/11;grid-row:5/7}
 .ns-main .ns-priority-grid .priority-4{grid-column:11/15;grid-row:5/7}
 .ns-main .ns-priority-grid .priority-8{grid-column:15/20;grid-row:5/7;border-radius:25px 25px 42px 25px}
 .ns-main .ns-priority-grid .priority-9{grid-column:20/25;grid-row:5/7;border-radius:25px 42px 25px 25px}
 .ns-main .ns-priority-grid .priority-8 .priority-copy,.ns-main .ns-priority-grid .priority-9 .priority-copy{padding:23px 47px 23px 23px}
 .ns-main .ns-priority-grid .priority-8 h3,.ns-main .ns-priority-grid .priority-9 h3{font-size:clamp(26px,1.9vw,34px);line-height:1.08;hyphens:auto}
 .ns-main .ns-priority-grid .priority-8 .ns-tile-arrow,.ns-main .ns-priority-grid .priority-9 .ns-tile-arrow{right:18px;bottom:21px;width:30px;height:30px;font-size:21px}
 .ns-main .ns-priority-grid .priority-8 img{object-position:55% center}
 .ns-main .ns-priority-grid .priority-9 img{object-position:65% center}
}
@media(min-width:1100px) and (max-height:820px){
 .ns-main .ns-priority-grid .priority-8 .priority-copy,.ns-main .ns-priority-grid .priority-9 .priority-copy{padding:18px 42px 18px 20px}
 .ns-main .ns-priority-grid .priority-8 h3,.ns-main .ns-priority-grid .priority-9 h3{font-size:25px}
}

/* Mix scales around a central focal point rather than sorting by size. */
@media(min-width:1100px){
 .ns-main .ns-priority-grid .priority-0{grid-column:7/17;grid-row:1/5;border-radius:35px 35px 65px 35px}
 .ns-main .ns-priority-grid .priority-2{grid-column:1/7;grid-row:1/3}
 .ns-main .ns-priority-grid .priority-1{grid-column:17/25;grid-row:1/3}
 .ns-main .ns-priority-grid .priority-7{grid-column:1/7;grid-row:3/5}
 .ns-main .ns-priority-grid .priority-9{grid-column:17/25;grid-row:3/5;border-radius:25px 25px 48px 25px}
 .ns-main .ns-priority-grid .priority-6{grid-column:1/7;grid-row:5/7}
 .ns-main .ns-priority-grid .priority-5{grid-column:7/12;grid-row:5/7}
 .ns-main .ns-priority-grid .priority-3{grid-column:12/16;grid-row:5/7}
 .ns-main .ns-priority-grid .priority-4{grid-column:16/20;grid-row:5/7}
 .ns-main .ns-priority-grid .priority-8{grid-column:20/25;grid-row:5/7}
 .ns-main .ns-priority-grid .priority-5 h3{font-size:clamp(26px,1.9vw,34px)}
 .ns-main .ns-priority-grid .priority-6 h3{font-size:clamp(26px,1.85vw,33px)}
 .ns-main .ns-priority-grid .priority-6 .priority-copy{padding:23px 47px 23px 23px}
 .ns-main .ns-priority-grid .priority-9 h3{font-size:clamp(29px,2.2vw,39px)}
 .ns-main .ns-priority-grid .priority-9 .priority-copy{padding:26px 50px 26px 25px}
 .ns-main .ns-priority-grid .priority-9 img{object-position:center 42%}
 .ns-main .ns-priority-grid .priority-3 img{padding-left:30px}
}
@media(min-width:1100px) and (max-height:820px){
 .ns-main .ns-priority-grid .priority-5 h3,.ns-main .ns-priority-grid .priority-6 h3{font-size:25px}
 .ns-main .ns-priority-grid .priority-6 .priority-copy{padding:18px 42px 18px 20px}
 .ns-main .ns-priority-grid .priority-9 h3{font-size:28px}
}
