/* NorthStar CAD Interiors · Daniel Herbert website v6.0 */
.interiors-page{--ni-green:#a5f875;--ni-green-light:#c4ff9e;--ni-line:rgba(165,248,117,.25);--ni-bg:#07100d;--ni-panel:#101a17;background:var(--ni-bg);color:#edf5ef}
.interiors-page .site-header{background:rgba(6,12,10,.93);backdrop-filter:blur(16px);border-bottom:1px solid rgba(165,248,117,.15)}
.interiors-page .primary-nav a.active{color:var(--ni-green)}
.interiors-page .primary-nav .nav-cta{background:var(--ni-green);border-color:var(--ni-green);color:#0a160e}
.interiors-page h1,.interiors-page h2,.interiors-page h3{letter-spacing:-.012em}
.interiors-page h1 em,.interiors-page h2 span{color:var(--ni-green);font-style:normal}
.ni-eyebrow{display:flex;align-items:center;gap:9px;font:700 12px/1.5 var(--body);letter-spacing:.16em;color:var(--ni-green);text-transform:uppercase;margin:0 0 24px}
.ni-live-dot{width:7px;height:7px;border-radius:50%;background:var(--ni-green);box-shadow:0 0 15px rgba(165,248,117,.7)}
.ni-hero{position:relative;overflow:hidden;background:radial-gradient(ellipse at 78% 40%,rgba(43,91,63,.30),transparent 48%),linear-gradient(160deg,#07100e,#081310 60%,#050d0b);padding:clamp(75px,8vw,132px) 0 98px}
.ni-grid-bg{position:absolute;inset:0;opacity:.3;background-image:linear-gradient(to right,rgba(157,229,167,.085) 1px,transparent 1px),linear-gradient(to bottom,rgba(157,229,167,.085) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(to left,#000,transparent 95%);pointer-events:none}
.ni-hero-inner{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(35px,4.8vw,85px);align-items:center;position:relative}
.ni-edition{font-weight:650;letter-spacing:.15em;color:#a0b2a7;font-size:12px;margin:0 0 16px}
.ni-hero h1{font-size:clamp(51px,5.2vw,90px);line-height:.97;max-width:780px}
.ni-lede{font-size:clamp(16px,1.25vw,19px);line-height:1.72;color:#b3c4bb;max-width:560px;margin:27px 0 27px}
.ni-lede strong{color:#fff;font-weight:700}
.ni-hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.ni-btn{display:inline-flex;align-items:center;justify-content:center;gap:15px;min-height:54px;padding:14px 23px;border-radius:6px;font:750 15px var(--body);transition:transform .2s,border-color .2s,background .2s}
.ni-btn:hover{transform:translateY(-2px)}
.ni-primary{background:var(--ni-green);color:#07100e}
.ni-outline{border:1px solid rgba(202,245,211,.4);color:#e8f8ed}
.ni-outline:hover{border-color:var(--ni-green)}
.ni-usage{color:#8da196;font-size:12px;line-height:1.7;margin:25px 0 0;max-width:530px}
.ni-usage strong{color:#d1e2d5}
.ni-hero-showcase{position:relative;isolation:isolate;border:1px solid rgba(165,248,117,.30);background:#0b1318;padding:0 0 1px;box-shadow:0 28px 95px rgba(0,0,0,.55),0 0 75px rgba(75,148,108,.13);border-radius:11px;transform:perspective(1700px) rotateY(-4deg) rotateX(2deg)}
.ni-hero-showcase>img{width:100%;aspect-ratio:1279/719;object-fit:cover;border-radius:0 0 11px 11px}
.ni-showcase-top{display:flex;align-items:center;justify-content:space-between;height:36px;background:#0c1612;padding:0 16px;color:#baf7b9;font:700 11px var(--body);letter-spacing:.08em;border-bottom:1px solid rgba(165,248,117,.22);border-radius:11px 11px 0 0}
.ni-showcase-top>span:first-child{display:flex;gap:5px}.ni-showcase-top b{width:7px;height:7px;border:1px solid #4d7d5a;border-radius:50%}.ni-showcase-top small{color:#e7f4e9}
.ni-showcase-overlay{position:absolute;bottom:22px;left:20px;border-left:3px solid var(--ni-green);background:rgba(4,12,9,.83);padding:10px 17px;color:#f7fff8;font-weight:800;font-size:13px;letter-spacing:.1em}
.ni-showcase-overlay small{display:block;font-size:10px;color:var(--ni-green);letter-spacing:.1em;margin-top:2px}
.ni-peek{position:absolute;bottom:-54px;right:-22px;max-width:43%;background:#07110f;padding:6px 6px 0;border:1px solid var(--ni-line);box-shadow:0 16px 40px #0009;transform:rotate(3deg);border-radius:4px}
.ni-peek img{width:100%;border-radius:2px}.ni-peek span{display:block;padding:7px;font-size:10px;letter-spacing:.12em;font-weight:700;color:var(--ni-green)}
.ni-proof{background:#0d1914;border-top:1px solid var(--ni-line);border-bottom:1px solid var(--ni-line)}
.ni-proof-grid{display:grid;grid-template-columns:repeat(5,1fr)}.ni-proof-grid>span{display:flex;flex-direction:column;gap:6px;justify-content:center;padding:26px 20px;border-right:1px solid var(--ni-line)}.ni-proof-grid>span:first-child{border-left:1px solid var(--ni-line)}.ni-proof-grid strong{font:700 clamp(17px,1.6vw,24px) var(--condensed);letter-spacing:.05em;color:#effff2}.ni-proof-grid small{color:#9db4a5;font-size:12px}
.ni-section{padding:clamp(74px,8.5vw,145px) 0}.ni-section h2{font-size:clamp(40px,4.7vw,76px);line-height:1.04}
.ni-heading-row{display:grid;grid-template-columns:1.05fr .85fr;gap:40px;align-items:end;margin-bottom:40px}.ni-heading-row>p{max-width:550px;justify-self:end;color:#aebfb5;line-height:1.8;margin:0;font-size:16px}
.ni-intro{background:#08110e}.ni-duo{display:grid;grid-template-columns:1fr 1fr;gap:22px}.ni-figure{margin:0;background:#0c1513;border:1px solid var(--ni-line);overflow:hidden;border-radius:8px}.ni-figure img{width:100%;height:auto;object-fit:cover}.ni-figure figcaption{display:flex;flex-direction:column;gap:7px;color:#b9c9bf;padding:16px 18px 20px;font-size:13px;line-height:1.55}.ni-figure figcaption span{color:var(--ni-green);font-size:11px;letter-spacing:.11em;font-weight:800}
.ni-deep{background:linear-gradient(180deg,#0b1711,#0a120f)}.ni-cap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:50px;background:rgba(165,248,117,.19);border:1px solid var(--ni-line)}.ni-cap{background:#0e1b15;padding:clamp(25px,3vw,45px);min-height:245px}.ni-cap span{color:var(--ni-green);font-size:11px;letter-spacing:.13em;font-weight:800}.ni-cap h3{font-size:clamp(22px,2vw,29px);margin:23px 0 14px;line-height:1.07}.ni-cap p{color:#aabbb0;line-height:1.72;font-size:14px;margin:0}
.ni-connect{background:#070e0c}.ni-connect-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:7%;align-items:center}.ni-connect p:not(.ni-eyebrow){color:#aebfb6;line-height:1.75;margin:24px 0}.ni-inline-link{display:inline-flex;gap:8px;color:var(--ni-green);font-weight:800;border-bottom:1px solid var(--ni-line);padding-bottom:7px}
.ni-gallery-section{background:#0b1511}.ni-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.ni-shot{display:block;appearance:none;border:1px solid var(--ni-line);background:#0e1a16;border-radius:8px;overflow:hidden;cursor:zoom-in;color:inherit;text-align:left;padding:0;transition:transform .2s,border-color .2s}.ni-shot:hover,.ni-shot:focus-visible{transform:translateY(-4px);border-color:var(--ni-green);outline-offset:3px}.ni-shot-media{display:block;position:relative;overflow:hidden}.ni-shot-media img{width:100%;aspect-ratio:1.78;object-fit:cover;transition:transform .25s}.ni-shot:hover img{transform:scale(1.025)}.ni-zoom{position:absolute;right:12px;bottom:12px;background:#a5f875;color:#09110b;width:33px;height:33px;display:grid;place-items:center;border-radius:6px;font-size:22px}.ni-shot-caption{display:flex;flex-direction:column;gap:6px;padding:17px 18px 20px}.ni-shot-caption strong{font-size:15px}.ni-shot-caption small{color:#a3b5aa;font-size:12px}
.ni-note{background:#0d1914;border-top:1px solid var(--ni-line);border-bottom:1px solid var(--ni-line)}.ni-note-inner{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.ni-note-inner p:not(.ni-eyebrow){font-size:16px;color:#b8c9be;line-height:1.85}
.ni-cta{text-align:center;padding:115px 0;background:radial-gradient(circle at center,rgba(77,150,91,.19),transparent 65%),#07100d}.ni-cta .ni-eyebrow{justify-content:center}.ni-cta h2{font-size:clamp(45px,5vw,80px)}.ni-cta p:not(.ni-eyebrow){color:#b1c4b8;max-width:690px;margin:24px auto}.ni-cta .ni-btn{margin-top:14px}
.ni-footer{background:#060b08;border-top:1px solid var(--ni-line);padding:46px 0;color:#b0c0b3}.ni-footer>.shell{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:25px}.ni-footer strong{color:#f7fff7;font-size:13px;display:block}.ni-footer span{display:block;font-size:12px;margin-top:8px}.ni-footer-links{display:flex;flex-wrap:wrap;gap:17px;font-size:13px}.ni-footer-links a:hover{color:var(--ni-green)}.ni-footer small{width:100%;border-top:1px solid var(--ni-line);padding-top:25px;color:#7b9384}
.ni-lightbox[hidden]{display:none}.ni-lightbox{position:fixed;inset:0;background:rgba(0,0,0,.96);z-index:300;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:35px}.ni-lightbox img{max-width:min(98vw,1750px);max-height:82vh;object-fit:contain;box-shadow:0 20px 60px #000}.ni-lightbox p{font-size:12px;color:#b4c6b8}.ni-close{position:absolute;top:14px;right:20px;border:1px solid var(--ni-line);background:#0c1b13;color:white;border-radius:50%;font-size:30px;width:50px;height:50px;cursor:pointer}
@media(max-width:1120px){.ni-hero-inner{grid-template-columns:1fr}.ni-hero-copy{max-width:770px}.ni-hero-showcase{max-width:920px;transform:none}.ni-peek{right:0}.ni-cap-grid{grid-template-columns:repeat(2,1fr)}.ni-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.ni-proof-grid{grid-template-columns:repeat(3,1fr)}.ni-proof-grid>span:nth-child(4){border-left:1px solid var(--ni-line)}}
@media(max-width:760px){.ni-hero{padding:75px 0 90px}.ni-hero h1{font-size:clamp(43px,10vw,66px)}.ni-hero-actions{flex-direction:column}.ni-hero-actions .ni-btn{width:100%}.ni-peek{display:none}.ni-heading-row,.ni-connect-grid,.ni-note-inner,.ni-duo{grid-template-columns:1fr;gap:25px}.ni-heading-row>p{justify-self:start}.ni-cap-grid,.ni-gallery{grid-template-columns:1fr}.ni-proof-grid{grid-template-columns:repeat(2,1fr)}.ni-proof-grid>span:nth-child(3),.ni-proof-grid>span:nth-child(5){border-left:1px solid var(--ni-line)}.ni-proof-grid>span:nth-child(4){border-left:0}.ni-proof-grid>span{padding:20px 13px}.ni-shot-media img{aspect-ratio:1.78}.ni-hero-showcase{margin:0}.ni-showcase-overlay{font-size:10px;bottom:14px;left:11px}.ni-cta{padding:85px 0}.ni-footer>.shell{flex-direction:column}}
@media(prefers-reduced-motion:reduce){.ni-btn,.ni-shot,.ni-shot img{transition:none!important}.ni-btn:hover,.ni-shot:hover{transform:none!important}}


/* v6.0.1 · Interiors small-screen layout and touch image viewing */
.ni-hero-showcase,.ni-figure,.ni-connect-grid>*{min-width:0}
.ni-lightbox{overscroll-behavior:contain}
.ni-lightbox img{width:auto;height:auto;max-width:100%;max-height:min(82vh,82dvh);object-fit:contain}
.ni-shot{touch-action:manipulation}
.ni-lightbox .ni-close{z-index:2;touch-action:manipulation}
.ni-shot:focus-visible,.ni-close:focus-visible{outline:3px solid var(--ni-green);outline-offset:3px}
.ni-btn:focus-visible{outline-color:var(--ni-green)}
@media (max-width:760px) {
 .ni-hero{padding:48px 0 65px}
 .ni-hero-inner{gap:32px}
 .ni-hero h1{font-size:clamp(42px,10.5vw,61px);line-height:1.01;overflow-wrap:anywhere}
 .ni-hero-showcase{border-radius:8px;box-shadow:0 12px 36px rgba(0,0,0,.35)}
 .ni-showcase-top{font-size:10px;padding:0 10px}
 .ni-hero-showcase>img{object-fit:contain}
 .ni-hero-actions{gap:10px}
 .ni-lede{line-height:1.6;margin:21px 0}
 .ni-proof-grid>span{min-width:0}
 .ni-proof-grid strong{font-size:clamp(15px,4.6vw,19px);overflow-wrap:anywhere}
 .ni-proof-grid small{line-height:1.35}
 .ni-section{padding:62px 0}
 .ni-section h2{font-size:clamp(36px,9.6vw,56px);overflow-wrap:anywhere}
 .ni-heading-row{gap:16px;margin-bottom:28px}
 .ni-cap-grid{margin-top:29px}
 .ni-cap{min-height:0;padding:25px 20px}
 .ni-cap h3{margin:15px 0 10px}
 .ni-shot-caption{padding:14px 16px 18px}
 .ni-shot-caption strong{line-height:1.4}
 .ni-cta{padding:65px 0}
 .ni-cta h2{font-size:clamp(36px,10vw,58px)}
 .ni-footer{padding-bottom:max(38px,env(safe-area-inset-bottom,0px))}
 .ni-footer-links a{display:inline-flex;align-items:center;min-height:44px}
 .ni-lightbox{padding:max(74px,calc(env(safe-area-inset-top,0px) + 65px)) max(10px,env(safe-area-inset-right,0px)) max(20px,env(safe-area-inset-bottom,0px)) max(10px,env(safe-area-inset-left,0px))}
 .ni-lightbox img{max-height:72dvh}
 .ni-lightbox p{line-height:1.45;text-align:center;max-width:95%;margin:12px 0}
 .ni-close{top:calc(10px + env(safe-area-inset-top,0px));right:calc(10px + env(safe-area-inset-right,0px));width:50px;height:50px}
}
@media (max-width:390px){
 .ni-hero h1{font-size:clamp(38px,10vw,47px)}
 .ni-proof-grid>span{padding:15px 10px}
 .ni-proof-grid strong{font-size:15px}
 .ni-showcase-overlay{padding:7px 10px;font-size:9px}
 .ni-section h2{font-size:clamp(34px,9vw,43px)}
}
@media (max-height:500px) and (orientation:landscape){
 .ni-lightbox{padding:15px 60px 8px}
 .ni-lightbox img{max-height:77dvh}
}
