:root{--ns-blue:#1e6fd9;--ns-blue-dark:#0b2a4a;--ns-orange:#f7931e;--ns-orange-light:#ffb347;--bg:#f7fafc;--bg-strong:#edf2f7;--surface:#ffffff;--surface-soft:#f8fafc;--ink:#111827;--ink-soft:#4b5563;--line:#d1d5db;--brand:var(--ns-blue);--brand-deep:var(--ns-blue-dark);--accent:var(--ns-orange);--shadow:0 14px 34px rgba(15,23,42,0.09)}*{box-sizing:border-box}body,html{margin:0;min-height:100%}body{color:var(--ink);font-family:Outfit,sans-serif;background:radial-gradient(circle at 8% 0,rgba(30,111,217,.12),transparent 42%),radial-gradient(circle at 92% 8%,rgba(247,147,30,.1),transparent 36%),linear-gradient(180deg,var(--bg),var(--bg-strong))}h1,h2,h3,h4{margin:0;line-height:1.06}p{margin:0}a{color:var(--brand)}.shell-header,.shell-main,.site-footer{width:min(1200px,100% - 2rem);margin:0 auto}.shell-header{padding-top:1.25rem}.site-loader{position:fixed;inset:0;z-index:220;display:grid;place-items:center;padding:1rem;background:#ffffff}.site-loader-card{width:min(760px,100%);border:none;border-radius:0;background:transparent;box-shadow:none;padding:1rem;display:grid;justify-items:center;grid-gap:.8rem;gap:.8rem}.site-loader-logo{width:min(560px,90%);height:auto;max-height:140px;object-fit:contain}.site-loader-spinner{width:34px;height:34px;border-radius:999px;border:3px solid #d6e4fb;border-top-color:#1e6fd9;animation:ns-spin .85s linear infinite}@keyframes ns-spin{to{transform:rotate(1turn)}}.masthead{border:1px solid var(--line);border-radius:12px;background:#f7fbff;box-shadow:var(--shadow);padding:1rem;display:block}.brand-block{width:100%;display:grid;justify-items:center;grid-gap:.8rem;gap:.8rem}.brand-link{display:flex;align-items:center;width:100%;text-decoration:none;color:inherit}.brand-banner{width:100%;height:auto;display:block}.header-contact{display:inline-flex;align-items:center;justify-content:center;border-radius:10px;padding:.7rem 1rem;text-decoration:none;font-weight:600;color:#fff;background:var(--ns-blue-dark)}.header-actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;width:100%}.header-quick-btn{display:inline-flex;align-items:center;justify-content:center;padding:.7rem 1rem;font:inherit;font-weight:700;cursor:pointer}.header-quick-btn,.theme-toggle{border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--ink)}.theme-toggle{width:44px;height:44px;flex:0 0 auto;display:inline-grid;place-items:center;padding:0;cursor:pointer}.theme-toggle svg{width:20px;height:20px;display:block}.modal-backdrop{position:fixed;inset:0;z-index:80;display:grid;place-items:center;background:rgba(8,17,28,.58);padding:1rem}.modal-card{width:min(860px,100%);max-height:min(92vh,920px);overflow:auto;border-radius:12px;border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);padding:1rem 1rem 1.1rem}.modal-head{display:block;margin-bottom:.35rem}.modal-brand-banner{width:100%;max-height:100px;object-fit:contain;display:block;border-radius:10px;border:1px solid var(--line);background:#fff;padding:.22rem .45rem}.modal-card h3{margin:.15rem 0 0;line-height:1.18}.modal-copy{margin-top:.35rem;margin-bottom:.5rem;color:var(--ink-soft)}.modal-divider{margin:.5rem 0 .35rem}.modal-divider,.quick-form-divider{height:1px;width:100%;background:var(--line)}.quick-form-divider{margin:.1rem 0 .25rem}.quick-form-section{margin:.25rem 0 .1rem;padding-top:.45rem;border-top:1px solid var(--line);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}.quick-form-section-first{border-top:0;padding-top:0;margin-top:.15rem}.quick-form-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.7rem;gap:.7rem;align-items:center}.top-nav{margin-top:.75rem;display:grid;grid-gap:.6rem;gap:.6rem;grid-template-columns:repeat(6,minmax(0,1fr))}.nav-home-group{display:grid;grid-template-columns:minmax(0,1fr) 44px;grid-gap:.5rem;gap:.5rem}.nav-home-group a{width:100%}.top-nav a{text-align:center;text-decoration:none;border:1px solid var(--line);background:rgba(255,255,255,.85);color:var(--ink);border-radius:10px;padding:.62rem .7rem;transition:transform .16s ease,border-color .16s ease,background-color .16s ease}.top-nav .theme-toggle{width:44px;height:44px;align-self:stretch;justify-self:stretch}.top-nav a:focus-visible,.top-nav a:hover{transform:translateY(-1px);border-color:#b6c0ad;background:#fff}.shell-main{padding-top:1rem;padding-bottom:2rem}.customer-page{display:grid;grid-gap:1rem;gap:1rem}.panel,.section-block{border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:var(--shadow);padding:clamp(1rem,2.5vw,1.7rem)}.hero-grid{display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:1.2fr .8fr;background:linear-gradient(120deg,#0b2a4a,#1e4f8f),url(/assets/img/ns-share.jpg) 50%/cover no-repeat;color:#f8fafc;border-color:rgba(255,255,255,.1)}.kicker{display:inline-flex;text-transform:uppercase;letter-spacing:.1em;font-size:.74rem;font-weight:700;border-radius:6px;padding:.28rem .62rem;border:1px solid rgba(255,255,255,.28);color:#f0dcc0;background:rgba(207,154,58,.14)}.hero-title{margin-top:.7rem;font-family:Space Grotesk,sans-serif;font-size:clamp(2rem,4.7vw,3.8rem);font-weight:700}.hero-text{margin-top:.85rem;line-height:1.68;color:inherit;opacity:.92}.hero-actions{margin-top:1rem;display:flex;flex-wrap:wrap;gap:.65rem}.btn,button{border:none;border-radius:10px;padding:.78rem 1.35rem;font:inherit;font-weight:700;line-height:1.2;letter-spacing:.01em;cursor:pointer;color:#fff;background:var(--ns-blue)}.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.btn-ghost{color:#fff;border:1px solid rgba(255,255,255,.52);background:rgba(255,255,255,.08)}.stats-stack{display:grid;grid-gap:.7rem;gap:.7rem}.stat-card{border:1px solid rgba(255,255,255,.2);border-radius:14px;background:rgba(255,255,255,.08);padding:.85rem}.stat-card p{color:#dce6f2;font-size:.82rem}.stat-card h3{margin-top:.35rem;font-size:1.15rem}.chip-row{margin-top:.8rem;display:flex;flex-wrap:wrap;gap:.56rem}.info-chip{border:1px solid #d1d8c8;background:var(--surface-soft);border-radius:8px;padding:.42rem .76rem;font-size:.86rem}.contact-layout,.form-grid-two,.process-grid,.service-grid{display:grid;grid-gap:.75rem;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.service-grid{align-items:stretch}.card,.process-card,.service-card{border:1px solid var(--line);border-radius:10px;background:#fff;padding:.95rem;text-align:left}.service-card{display:flex;flex-direction:column}.card p,.cta-band p,.form-intro,.form-status,.gallery-strip-head p,.process-card p,.service-card p{margin-top:.45rem;line-height:1.62;color:var(--ink-soft)}.service-card p{flex:1 1}.service-card .btn{margin-top:.85rem}.card ul,.service-card ul{margin:.62rem 0 0;padding-left:1.1rem;display:grid;grid-gap:.3rem;gap:.3rem;color:var(--ink-soft)}.process-card span{font-size:.76rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700;color:var(--brand)}.gallery-strip{background:linear-gradient(160deg,#fefdfa,#f3f1ea)}.gallery-strip-head{display:grid;grid-gap:.2rem;gap:.2rem}.gallery-row{margin-top:.85rem;display:grid;grid-gap:.65rem;gap:.65rem;grid-template-columns:repeat(4,minmax(0,1fr))}.gallery-thumb{display:block;border-radius:8px;overflow:hidden;border:1px solid var(--line);background:#eceee8;aspect-ratio:4/3}.gallery-card img,.gallery-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .22s ease}.gallery-thumb:focus-visible img,.gallery-thumb:hover img{transform:scale(1.05)}.gallery-thumb-button{width:100%;padding:0;cursor:zoom-in;font:inherit}.gallery-lightbox-backdrop{z-index:260;background:rgba(7,14,28,.94)}.gallery-lightbox-modal{position:relative;width:min(1100px,100%);padding:.75rem;border:none;background:transparent;box-shadow:none}.gallery-lightbox-close{position:absolute;top:.9rem;right:1rem;border:none;background:transparent;color:#f8fafc;font-size:.95rem;font-weight:700;letter-spacing:.02em;line-height:1.1;padding:.2rem .15rem;cursor:pointer;z-index:2;text-shadow:0 1px 2px rgba(0,0,0,.6);transition:opacity .14s ease,transform .14s ease}.gallery-lightbox-close:focus-visible,.gallery-lightbox-close:hover{opacity:.78;transform:scale(1.04)}.gallery-lightbox-image{display:block;border-radius:10px;overflow:hidden;border:1px solid var(--line);background:#091224;max-height:min(80dvh,900px)}.gallery-lightbox-image img{display:block;width:100%;height:auto;max-height:min(80dvh,900px);object-fit:contain}.inline-link{margin-top:.7rem;display:inline-flex;text-decoration:none;font-weight:600}.gallery-grid{display:grid;grid-gap:.75rem;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.gallery-card{margin:0}.cta-band{text-align:center;display:grid;justify-items:center;grid-gap:.7rem;gap:.7rem;background:#0b2a4a;color:#f8fafc}.cta-band a{color:#fff}.cta-band .hero-actions{justify-content:center}.cta-band h3{letter-spacing:.01em;text-wrap:balance}.cta-band p{margin:0;max-width:62ch;text-wrap:pretty}.cta-band>.btn{margin-top:.25rem}label{display:grid;grid-gap:.35rem;gap:.35rem;font-size:.9rem;color:var(--ink-soft)}input,select,textarea{border:1px solid var(--line);border-radius:8px;padding:.62rem .72rem;background:#fff;color:var(--ink);font:inherit}textarea{min-height:104px}.form-grid{display:grid;grid-gap:.78rem;gap:.78rem;margin-top:.76rem}.form-section-title{font-size:1rem}.form-status{min-height:1.2em}.contact-thanks-panel{margin-top:.76rem;border:1px solid var(--line);border-radius:12px;padding:1rem;background:var(--surface);display:grid;justify-items:center;text-align:center;grid-gap:.65rem;gap:.65rem}.contact-thanks-logo{width:min(100%,520px);height:auto;display:block;border-radius:8px}.contact-thanks-panel h3{margin:0;font-size:1.15rem}.contact-thanks-panel p{margin:0;color:var(--ink-soft)}.hp-field-wrap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.result-box{border:1px solid var(--line);border-radius:8px;padding:.8rem;background:#fff}pre{white-space:pre-wrap;word-break:break-word}.site-footer{border-top:1px solid var(--line);margin-top:1rem;margin-bottom:2rem;padding-top:1rem;display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem;color:var(--ink-soft)}.site-footer p{font-size:.88rem}.site-footer-admin-link{text-decoration:none;color:var(--ink-soft)}.site-footer-admin-link:focus-visible,.site-footer-admin-link:hover{text-decoration:underline}.admin-upload-form input[type=file]{font-size:.95rem;width:100%;max-width:100%;overflow:hidden}.admin-upload-form input[type=file]::-webkit-file-upload-button{margin-right:.55rem;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft);color:var(--ink);font:inherit;font-weight:600;padding:.46rem .65rem;cursor:pointer}.admin-upload-form input[type=file]::file-selector-button{margin-right:.55rem;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft);color:var(--ink);font:inherit;font-weight:600;padding:.46rem .65rem;cursor:pointer}.admin-gallery-manager .form-section-title{margin-bottom:.65rem}.admin-gallery-grid{margin-top:.35rem;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.admin-gallery-card{display:grid;grid-gap:.45rem;gap:.45rem}.admin-file-caption{margin-top:.2rem;font-size:.8rem;line-height:1.4;word-break:break-word}.admin-delete-btn,.admin-logout-btn{min-height:42px}.admin-login-backdrop{z-index:240;background:rgba(7,14,28,.97);-webkit-backdrop-filter:none;backdrop-filter:none;padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right));overflow-x:clip}.admin-login-modal{width:min(100%,calc(100vw - max(2rem, env(safe-area-inset-left) + env(safe-area-inset-right) + 1rem)));max-width:560px;max-height:calc(100vh - 2rem);margin:0 auto;padding:1rem;overflow-x:hidden}.admin-login-modal .form-grid{gap:.62rem;margin-top:.55rem}.admin-login-modal .form-status{margin-top:.35rem}.admin-login-modal input[type=password]{width:100%;max-width:100%;font-size:16px}.btn:hover,.header-contact:hover,button:hover{filter:brightness(1.08)}.modal-close{border:1px solid var(--line);background:var(--surface-soft);color:var(--ink);border-radius:8px;padding:.5rem .9rem}@media (max-width:980px){.top-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-grid{grid-template-columns:1fr}}@media (max-width:700px){.top-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.btn,.header-contact,.header-quick-btn,.hero-actions,button{width:100%}.theme-toggle{width:44px;min-width:44px}.nav-home-group{grid-template-columns:minmax(0,1fr) 44px}.modal-card{padding:.85rem;max-height:calc(100vh - 1.2rem)}.modal-brand-banner{max-height:82px;padding:.16rem .34rem}.quick-form-actions{grid-template-columns:1fr}.gallery-row{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-lightbox-modal{padding:.62rem}.gallery-lightbox-close{top:.72rem;right:.8rem;font-size:.93rem}.gallery-lightbox-image,.gallery-lightbox-image img{max-height:72dvh}.admin-upload-form{margin-top:.55rem;gap:.62rem}.admin-gallery-grid{grid-template-columns:1fr;gap:.62rem}.admin-gallery-card{gap:.42rem}.admin-gallery-card .gallery-thumb{aspect-ratio:16/9}.admin-file-caption{font-size:.74rem;line-height:1.28;margin-top:0}.admin-delete-btn{min-height:42px;padding:.52rem .7rem}}@media (max-aspect-ratio:9/16),(max-width:520px){.admin-login-backdrop{align-items:start;padding:max(1rem,env(safe-area-inset-top)) max(.75rem,env(safe-area-inset-right)) 1rem max(.75rem,env(safe-area-inset-left))}.admin-login-modal{width:min(100%,calc(100vw - max(1.5rem, env(safe-area-inset-left) + env(safe-area-inset-right) + .75rem)));max-height:calc(100vh - 1.2rem);padding:.82rem;border-radius:12px}.admin-login-modal h3{font-size:1.55rem;line-height:1.08}.admin-login-modal .modal-copy{margin-top:.3rem;font-size:1rem;line-height:1.45}.admin-login-modal label{font-size:.95rem}.admin-login-modal button{width:100%;min-height:46px}.admin-upload-form input[type=file]{font-size:16px}.admin-upload-form .form-intro,.admin-upload-form .form-status{font-size:.95rem}.admin-gallery-grid{grid-template-columns:1fr;gap:.58rem}.admin-delete-btn,.admin-logout-btn{width:100%;min-height:46px}}html[data-theme=dark]{--bg:#0b1220;--bg-strong:#121b2d;--surface:#101a2e;--surface-soft:#16233b;--ink:#e5ecf6;--ink-soft:#b4c1d5;--line:#25344f;--shadow:0 24px 48px rgba(0,0,0,0.35)}html[data-theme=dark] body{background:radial-gradient(circle at 12% 0,rgba(30,111,217,.28),transparent 38%),radial-gradient(circle at 88% 8%,rgba(247,147,30,.2),transparent 34%),linear-gradient(170deg,var(--bg),var(--bg-strong))}html[data-theme=dark] .card,html[data-theme=dark] .masthead,html[data-theme=dark] .panel,html[data-theme=dark] .process-card,html[data-theme=dark] .section-block,html[data-theme=dark] .service-card,html[data-theme=dark] input,html[data-theme=dark] select,html[data-theme=dark] textarea{background:var(--surface);border-color:var(--line);color:var(--ink)}html[data-theme=dark] .masthead{background:#eef3fb;color:#111827;border-color:#cfd8e8}html[data-theme=dark] .brand-text{color:#334155}html[data-theme=dark] .gallery-strip,html[data-theme=dark] .header-quick-btn,html[data-theme=dark] .info-chip,html[data-theme=dark] .modal-close,html[data-theme=dark] .theme-toggle,html[data-theme=dark] .top-nav a{background:var(--surface-soft);border-color:var(--line);color:var(--ink)}html[data-theme=dark] .brand-banner{background:transparent;border-color:transparent}html[data-theme=dark] .gallery-thumb{background:#11243b;border-color:var(--line)}html[data-theme=dark] .contact-thanks-panel{background:var(--surface);border-color:var(--line)}html[data-theme=dark] .site-footer{border-top-color:var(--line)}html[data-theme=dark] .site-loader{background:#ffffff}html[data-theme=dark] .site-loader-logo{background:transparent;border-color:transparent}@media (prefers-reduced-motion:reduce){.site-loader-spinner{animation:none}}