@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{--black:#171c1c;--ink:#202626;--lime:#d9e98b;--fog:#e7eae7;--line:#b6bdb8;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--fog);color:var(--ink);font-family:'Space Grotesk',Arial,sans-serif}a{color:inherit;text-decoration:none}button{cursor:pointer;font:inherit}button:focus-visible,a:focus-visible{outline:2px solid #899d41;outline-offset:3px}[hidden]{display:none!important}::selection{background:var(--lime);color:var(--black)}.nl-micro{font:500 11px 'IBM Plex Mono',monospace;letter-spacing:.045em}.nl-status{display:flex;justify-content:space-between;background:var(--lime);color:var(--black);padding:8px 4%;gap:20px;font:10px 'IBM Plex Mono',monospace;letter-spacing:.04em}.nl-status a{text-decoration:underline;text-underline-offset:3px;margin-left:16px}.nl-header{background:var(--black);color:white;height:95px;display:flex;align-items:center;justify-content:space-between;padding:0 4%;gap:25px}.nl-logo{font-weight:700;font-size:32px;letter-spacing:-.09em;white-space:nowrap}.nl-logo-dot{font-size:12px;color:var(--lime);vertical-align:top;margin-left:3px}.nl-header nav{display:flex;gap:42px;margin-left:auto}.nl-header nav a{font:12px 'IBM Plex Mono',monospace;text-transform:uppercase;color:#bcc5c0}.nl-header nav a:hover,.nl-header nav a.selected{color:var(--lime)}.nl-bag-button{background:transparent;border:1px solid #66716d;color:white;padding:14px 20px;font:12px 'IBM Plex Mono',monospace;white-space:nowrap}.nl-bag-button>span:last-child{color:var(--lime);margin-left:25px}.nl-bag-button:hover{border-color:var(--lime)}
/* Home */
.nl-home-hero{position:relative;min-height:760px;height:min(75vw,850px);background:#1b1f20;color:white;overflow:hidden}.nl-hero-photo{position:absolute;inset:0;background:url('/assets/northline-hero.png') center 44%/cover}.nl-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,#101515db,#10151535 85%),linear-gradient(0deg,#1015157d,transparent 45%)}.nl-hero-content{position:absolute;left:4%;right:4%;top:10%;bottom:12%;display:flex;flex-direction:column;justify-content:space-between}.nl-stamp{display:flex;justify-content:space-between;max-width:350px;font:12px 'IBM Plex Mono',monospace}.nl-stamp span{color:var(--lime)}.nl-hero-content h1{font-size:clamp(89px,12.7vw,215px);line-height:.79;letter-spacing:-.115em;margin:0;font-weight:700;max-width:1250px}.nl-hero-content h1 em{font-style:normal;color:var(--lime)}.nl-hero-bottom{display:flex;gap:80px;align-items:end}.nl-hero-bottom p{font-size:17px;max-width:400px;line-height:1.5}.nl-arrow-link{background:var(--lime);color:var(--black);padding:19px 25px;display:flex;gap:60px;align-items:center;white-space:nowrap;font:600 12px 'IBM Plex Mono',monospace;text-transform:uppercase}.nl-arrow-link:hover{background:white}.nl-hero-corner{position:absolute;right:4%;bottom:28px;font:10px 'IBM Plex Mono',monospace;color:#c6cec7}.nl-ticker{background:var(--lime);height:65px;display:flex;justify-content:space-around;align-items:center;gap:25px;overflow:hidden;white-space:nowrap;font:12px 'IBM Plex Mono',monospace}.nl-ticker b{font-size:22px}.nl-home-intro{padding:115px 5%;display:grid;grid-template-columns:1.35fr 1fr auto;gap:7%;align-items:end}.nl-home-intro h2{font-size:clamp(78px,9vw,145px);line-height:.82;letter-spacing:-.095em;margin:23px 0 0}.nl-home-intro h2 em{font-style:normal;color:#7c8c4d}.nl-home-intro p{max-width:390px;line-height:1.65;color:#59625e;font-size:17px}.nl-home-intro>a{font:11px 'IBM Plex Mono',monospace;border-bottom:1px solid;padding-bottom:9px;white-space:nowrap}.nl-featured{background:var(--black);display:grid;grid-template-columns:55% 45%;color:white;min-height:740px}.nl-feature-visual{position:relative;background:#909a9c}.nl-feature-image{position:absolute;inset:0;background:url('/assets/northline-products.png') 0 0/300% 200%}.nl-feature-num{position:absolute;bottom:28px;left:35px;background:var(--lime);color:var(--black);padding:10px 13px;font:11px 'IBM Plex Mono',monospace}.nl-feature-copy{padding:75px 9%;display:flex;flex-direction:column;justify-content:center}.nl-feature-copy>.nl-micro{color:var(--lime)}.nl-feature-copy h2{font-size:clamp(58px,5.8vw,97px);letter-spacing:-.08em;line-height:.9;margin:28px 0}.nl-feature-copy p{line-height:1.6;color:#afbab4;max-width:390px;margin:0 0 33px}.nl-feature-spec{border-top:1px solid #4b5752;padding:16px 0;display:flex;justify-content:space-between;gap:10px;font:11px 'IBM Plex Mono',monospace}.nl-feature-spec span{color:#9aa5a0}.nl-feature-spec b{font-weight:500}.nl-feature-cta{display:flex;align-items:center;justify-content:space-between;margin-top:30px;gap:15px}.nl-feature-cta strong{font-size:30px}.nl-feature-cta a{background:var(--lime);color:var(--black);padding:16px 18px;font:11px 'IBM Plex Mono',monospace;text-transform:uppercase}.nl-categories{padding:115px 5% 140px}.nl-categories-title{display:flex;align-items:end;justify-content:space-between;margin-bottom:48px;gap:20px}.nl-categories-title h2{font-size:clamp(80px,9vw,150px);letter-spacing:-.1em;line-height:.8;margin:0 auto 0 0}.nl-categories-title>a{font:12px 'IBM Plex Mono',monospace;border-bottom:1px solid;padding-bottom:7px;white-space:nowrap}.nl-categories>a{display:grid;grid-template-columns:90px 1fr 60px;align-items:center;gap:10px;padding:22px 0;border-top:1px solid #89938e}.nl-categories>a:last-child{border-bottom:1px solid #89938e}.nl-categories>a span{font:12px 'IBM Plex Mono',monospace}.nl-categories>a strong{font-size:clamp(55px,7vw,115px);line-height:1;letter-spacing:-.09em}.nl-categories>a em{font-size:37px;font-style:normal;font-weight:400}.nl-categories>a:hover strong{color:#7b8d44}
/* Catalog */
.nl-catalog-head{padding:95px 5% 55px;background:var(--lime);min-height:530px;display:flex;flex-direction:column;justify-content:space-between}.nl-catalog-head h1{font-size:clamp(110px,16vw,250px);letter-spacing:-.13em;line-height:.74;margin:50px 0;font-weight:700}.nl-catalog-head h1 span{color:white}.nl-catalog-bottom{display:flex;justify-content:space-between;align-items:end;font:11px 'IBM Plex Mono',monospace}.nl-catalog-bottom p{font:16px/1.5 'Space Grotesk',sans-serif;margin:0}.nl-catalog{padding:45px 5% 120px}.nl-catalog-controls{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:30px;font:11px 'IBM Plex Mono',monospace}.nl-filters{display:flex;gap:8px}.nl-filters button{border:1px solid #b3bdb5;background:none;padding:12px 20px;font:11px 'IBM Plex Mono',monospace}.nl-filters button.active,.nl-filters button:hover{background:var(--black);color:var(--lime)}.nl-product-row{display:grid;grid-template-columns:70px 200px minmax(200px,1fr) 165px;align-items:center;gap:35px;border-top:1px solid #a6aea9;padding:26px 0}.nl-product-row:last-child{border-bottom:1px solid #a6aea9}.nl-product-number{align-self:start;font:12px 'IBM Plex Mono',monospace}.nl-product-visual{width:200px;aspect-ratio:1;background-image:url('/assets/northline-products.png');background-size:300% 200%}.nl-product-main small{font:11px 'IBM Plex Mono',monospace;color:#6c7870}.nl-product-main h2{font-size:clamp(38px,4vw,68px);letter-spacing:-.075em;line-height:1;margin:20px 0 10px}.nl-product-main p{margin:0;color:#6d7972}.nl-product-action{display:grid;justify-items:end;gap:15px}.nl-product-action strong{font-size:26px}.nl-product-action a{font:10px 'IBM Plex Mono',monospace;border-bottom:1px solid;padding-bottom:5px}.nl-product-action button{background:var(--black);color:white;border:0;padding:13px 17px;font:10px 'IBM Plex Mono',monospace;white-space:nowrap}.nl-product-action button:hover{background:#697a3c}
/* Individual product detail */
.nl-breadcrumb{background:#d4dad5;padding:18px 5%;font:10px 'IBM Plex Mono',monospace;letter-spacing:.06em}.nl-breadcrumb a{text-decoration:underline;text-underline-offset:3px}.nl-detail{display:grid;grid-template-columns:53% 47%;min-height:800px}.nl-detail-gallery{background:#bcc4c2;position:relative;min-height:760px}.nl-detail-main-image{position:absolute;inset:0;background:url('/assets/northline-products.png') 0 0/300% 200%}.nl-detail-gallery-foot{position:absolute;bottom:22px;left:28px;right:28px;display:flex;justify-content:space-between;font:11px 'IBM Plex Mono',monospace}.nl-detail-info{padding:65px 10%;background:#f0f2ef}.nl-detail-info h1{font-size:clamp(64px,6vw,112px);letter-spacing:-.085em;line-height:.84;margin:30px 0}.nl-detail-info>p{line-height:1.6;color:#68746b;max-width:450px}.nl-detail-price{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:35px;font-weight:600;margin:36px 0}.nl-detail-price small{font:10px 'IBM Plex Mono',monospace;color:#78837b}.nl-detail-add{display:flex;align-items:center;justify-content:space-between;width:100%;padding:20px 24px;background:var(--lime);color:var(--black);border:0;font:12px 'IBM Plex Mono',monospace}.nl-spec-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 30px;margin:40px 0}.nl-spec-grid div{border-top:1px solid #a9b0aa;padding-top:13px;display:grid;gap:8px}.nl-spec-grid span{font:10px 'IBM Plex Mono',monospace;color:#758077}.nl-spec-grid b{font:12px 'IBM Plex Mono',monospace}.nl-accordion{border-top:1px solid #b3bbb4}.nl-accordion:last-child{border-bottom:1px solid #b3bbb4}.nl-accordion button{padding:22px 0;width:100%;border:0;background:none;display:flex;justify-content:space-between;font:11px 'IBM Plex Mono',monospace}.nl-accordion button span{font-size:17px}.nl-accordion p{color:#758077;line-height:1.6;font-size:13px;padding-bottom:17px}.nl-detail-next{padding:100px 5%;background:var(--black);color:white;display:flex;justify-content:space-between;align-items:end;gap:25px}.nl-detail-next h2{font-size:clamp(70px,8vw,125px);letter-spacing:-.09em;line-height:.85;margin:20px 0 0}.nl-detail-next a{font:12px 'IBM Plex Mono',monospace;color:var(--lime);border-bottom:1px solid;padding-bottom:8px;white-space:nowrap}
/* Design story page */
.nl-design-hero{min-height:760px;background:var(--lime);padding:70px 5%;display:flex;flex-direction:column;align-items:start;justify-content:space-between}.nl-design-hero h1{font-size:clamp(110px,15vw,250px);letter-spacing:-.135em;line-height:.76;margin:30px 0}.nl-design-hero h1 em{font-style:normal;color:#f8faf5}.nl-design-hero p{font-size:18px;max-width:500px;line-height:1.5}.nl-design-hero>span{font:11px 'IBM Plex Mono',monospace;margin-left:auto}.nl-design-intro{padding:130px 5%;display:grid;grid-template-columns:25% 40% 1fr;gap:5%;align-items:end}.nl-design-intro h2{font-size:clamp(85px,9vw,150px);line-height:.8;letter-spacing:-.1em;margin:0}.nl-design-intro p{font-size:17px;line-height:1.7;color:#6c766e;margin:0}.nl-principles{display:grid;grid-template-columns:repeat(3,1fr);background:#202626;color:white}.nl-principles div{padding:70px 8%;border-right:1px solid #4e5852}.nl-principles div:last-child{border:0}.nl-principles span{font:11px 'IBM Plex Mono',monospace;color:var(--lime)}.nl-principles h3{font-size:clamp(50px,6vw,95px);letter-spacing:-.085em;margin:80px 0 20px}.nl-principles p{color:#b5c0ba}.nl-design-end{display:grid;grid-template-columns:1fr 1fr;min-height:600px}.nl-design-image{background:url('/assets/northline-hero.png') center/cover}.nl-design-end>div:last-child{padding:80px 8%;display:flex;flex-direction:column;justify-content:center;align-items:start;background:#cdd4cc}.nl-design-end h2{font-size:clamp(80px,7vw,120px);line-height:.84;letter-spacing:-.095em;margin:40px 0}.nl-design-end a{font:12px 'IBM Plex Mono',monospace;border-bottom:1px solid;padding-bottom:7px}
/* Footer + bag */
.nl-footer{background:#151919;color:#ecf1ec;padding:90px 5% 30px;display:grid;grid-template-columns:1fr auto;gap:60px}.nl-footer-logo{font-size:clamp(75px,10vw,165px);line-height:.8;font-weight:700;letter-spacing:-.1em}.nl-footer-logo span{font-size:.25em;color:var(--lime);vertical-align:top}.nl-footer p{font:12px 'IBM Plex Mono',monospace;color:#9ca8a1}.nl-footer nav{display:grid;align-content:start;gap:21px;font:12px 'IBM Plex Mono',monospace}.nl-footer nav a:hover{color:var(--lime)}.nl-footer-base{grid-column:1/-1;display:flex;justify-content:space-between;border-top:1px solid #4c5850;padding-top:20px;font:10px 'IBM Plex Mono',monospace;color:#9ca8a1}.nl-cover{position:fixed;inset:0;z-index:50;background:#0d1111bb;opacity:0;pointer-events:none;transition:.25s}.nl-drawer{position:fixed;right:0;top:0;bottom:0;width:min(470px,100vw);background:#ecf0eb;color:var(--ink);z-index:51;transform:translateX(101%);transition:.3s;display:flex;flex-direction:column}.nl-bag-open .nl-cover{opacity:1;pointer-events:auto}.nl-bag-open .nl-drawer{transform:none}.nl-drawer-head{display:flex;justify-content:space-between;align-items:center;padding:25px;border-bottom:1px solid #b9c2b9;font:16px 'IBM Plex Mono',monospace}.nl-drawer-head button{border:0;background:none;font-size:30px}.nl-cart-items{flex:1;overflow:auto;padding:10px 25px}.nl-empty{margin-top:90px;font:14px/1.8 'IBM Plex Mono',monospace;color:#708073}.nl-cart-row{display:flex;align-items:start;gap:12px;padding:25px 0;border-bottom:1px solid #b7c1b7}.nl-mini-photo{width:92px;aspect-ratio:1;background-image:url('/assets/northline-products.png');background-size:300% 200%;flex:none}.nl-cart-row>div:nth-child(2){flex:1;display:grid;gap:8px}.nl-cart-row b{font-size:15px}.nl-cart-row small{font:10px 'IBM Plex Mono',monospace;color:#7a887f}.nl-cart-row strong{font-size:12px}.nl-qty{display:flex;align-items:center;gap:10px;font-size:12px}.nl-qty button{border:1px solid #b7c1b7;background:transparent;width:25px;height:25px}.nl-drawer-foot{padding:30px 25px;border-top:1px solid #b7c1b7}.nl-drawer-foot>div{display:flex;justify-content:space-between;font:13px 'IBM Plex Mono',monospace;margin-bottom:20px}.nl-drawer-foot>button{width:100%;background:var(--black);color:var(--lime);border:0;padding:17px;font:12px 'IBM Plex Mono',monospace}.nl-drawer-foot p{text-align:center;color:#7a887f;font-size:11px}.nl-toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,30px);background:var(--lime);color:var(--black);font:12px 'IBM Plex Mono',monospace;padding:15px 20px;z-index:70;opacity:0;transition:.2s;pointer-events:none}.nl-toast.visible{opacity:1;transform:translate(-50%,0)}
@media(max-width:900px){.nl-header nav{gap:18px}.nl-hero-content h1{font-size:12vw}.nl-home-hero{min-height:660px}.nl-home-intro{grid-template-columns:1fr 1fr}.nl-home-intro>a{grid-column:2}.nl-feature-copy{padding:50px 6%}.nl-feature-copy h2{font-size:60px}.nl-catalog-head h1,.nl-design-hero h1{font-size:15vw}.nl-product-row{grid-template-columns:35px 140px 1fr 125px;gap:18px}.nl-product-visual{width:140px}.nl-product-main h2{font-size:40px}.nl-detail-info{padding:60px 6%}.nl-detail-info h1{font-size:65px}.nl-design-intro{grid-template-columns:1fr 1fr}.nl-design-intro .nl-micro{grid-column:1/-1}}
@media(max-width:600px){.nl-status{font-size:8px;padding:8px 3%}.nl-status span:first-child{display:none}.nl-header{height:auto;padding:22px 5%;flex-wrap:wrap}.nl-logo{font-size:29px}.nl-header nav{order:3;flex:0 0 100%;justify-content:space-between}.nl-header nav a{font-size:10px}.nl-bag-button{padding:10px 13px}.nl-home-hero{height:650px;min-height:0}.nl-hero-photo{background-position:62% center}.nl-hero-content{top:9%;bottom:8%}.nl-hero-content h1{font-size:17vw;line-height:.82}.nl-hero-bottom{display:block}.nl-hero-bottom p{font-size:14px;max-width:300px;margin-bottom:25px}.nl-arrow-link{display:inline-flex;gap:35px}.nl-hero-corner{display:none}.nl-ticker{height:54px;font-size:9px}.nl-home-intro{padding:80px 5%;grid-template-columns:1fr}.nl-home-intro h2{font-size:90px}.nl-home-intro>a{grid-column:1}.nl-featured{grid-template-columns:1fr}.nl-feature-visual{min-height:480px}.nl-feature-copy{padding:65px 7%}.nl-feature-copy h2{font-size:65px}.nl-categories{padding:80px 5%}.nl-categories-title{display:block}.nl-categories-title h2{font-size:85px;margin:20px 0}.nl-categories>a{grid-template-columns:35px 1fr 25px}.nl-categories>a strong{font-size:56px}.nl-catalog-head{min-height:380px;padding:70px 5% 40px}.nl-catalog-head h1{font-size:20vw}.nl-catalog-bottom{display:block}.nl-catalog-bottom>span{display:none}.nl-catalog-controls{display:block}.nl-filters{margin-top:25px;gap:5px;flex-wrap:wrap}.nl-filters button{padding:10px;font-size:10px}.nl-product-row{grid-template-columns:90px 1fr;gap:12px;padding:23px 0}.nl-product-number{grid-column:1/-1}.nl-product-visual{width:90px;grid-row:span 2}.nl-product-main h2{font-size:31px;margin:10px 0}.nl-product-action{grid-column:2;display:flex;align-items:center;justify-content:space-between;gap:7px}.nl-product-action strong{font-size:20px}.nl-product-action button{padding:10px;font-size:9px}.nl-product-action a{display:none}.nl-detail{grid-template-columns:1fr}.nl-detail-gallery{min-height:470px}.nl-detail-info{padding:65px 6%}.nl-detail-info h1{font-size:78px}.nl-detail-next{display:block}.nl-detail-next h2{font-size:80px;margin-bottom:35px}.nl-design-hero{min-height:640px;padding:65px 5%}.nl-design-hero h1{font-size:18vw}.nl-design-intro{padding:90px 5%;grid-template-columns:1fr}.nl-design-intro h2{font-size:95px}.nl-principles{grid-template-columns:1fr}.nl-principles div{padding:55px 7%;border-right:0;border-bottom:1px solid #4e5852}.nl-principles h3{margin:35px 0 15px}.nl-design-end{grid-template-columns:1fr}.nl-design-image{min-height:370px}.nl-design-end h2{font-size:75px}.nl-footer{display:block}.nl-footer-logo{font-size:80px}.nl-footer nav{margin:55px 0}.nl-footer-base{display:block;line-height:2}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
