/* NEW SUN homepage styles. Footer styles moved to footer.css (#22). */
.ns-preview .ns-global-footer-reference { width:100%; padding:0; margin:0; gap:0; }
.ns-preview .ns-global-footer-reference > .elementor-widget-shortcode { width:100%; margin:0; }
.ns-preview .ns-hero-system { --ns-navy:#0E2A47; --ns-red:#D62828; --ns-paper:#F7F9FC; width:100%; max-width:none; padding:0; gap:0; background:var(--ns-paper); border-bottom:1px solid #e5e8e6; }
.ns-preview .ns-hero-slider { width:100%; max-width:100%; min-width:0; position:relative; padding:0 0 66px; margin:0; overflow:hidden; --e-n-carousel-swiper-slides-to-display:1; --e-n-carousel-swiper-slides-gap:0px; --e-n-carousel-arrow-size:15px; --e-n-carousel-arrow-normal-color:#0E2A47; --e-n-carousel-arrow-hover-color:#D62828; }
.ns-preview .ns-hero-slider .e-n-carousel { width:100%; overflow:hidden; touch-action:pan-y; }
.ns-preview .ns-hero-slider .swiper-wrapper { align-items:stretch; }
.ns-preview .ns-hero-slider .swiper-slide { height:auto; min-width:0; flex-shrink:0; }
.ns-preview .ns-hero-slider .swiper-slide > .ns-banner-slide { height:100%; padding:46px 196px 24px 56px; width:100%; max-width:none; }
.ns-preview .ns-banner-row { display:flex; flex-direction:row; align-items:center; justify-content:space-between; gap:42px; width:100%; max-width:1200px; min-height:450px; margin:auto; }
.ns-preview .ns-banner-copy { width:49%; flex:0 1 49%; min-width:0; gap:0; container-type:inline-size; }
.ns-preview .ns-banner-eyebrow .elementor-heading-title { font:700 11px/1.6 Arial,Helvetica,sans-serif !important; letter-spacing:1.6px; color:var(--ns-red); margin:0 0 21px; }
.ns-preview .ns-banner-heading .elementor-heading-title { font-family:Cambria,Georgia,serif !important; font-size:clamp(28px,3.25vw,48px); font-weight:700; line-height:1.18; letter-spacing:-.9px; color:var(--ns-navy); margin:0 0 23px; }
.ns-preview .ns-heading-line { display:block; }
@supports (font-size:1cqw) { .ns-preview .ns-banner-heading .elementor-heading-title { font-size:clamp(24px,8.4cqw,48px); } .ns-preview .ns-heading-line { white-space:nowrap; } }
.ns-preview .ns-banner-description, .ns-preview .ns-banner-description * { font-family:Arial,Helvetica,sans-serif !important; font-size:16px; line-height:1.75; color:#53636d; }
.ns-preview .ns-banner-description p { margin:0 0 27px; }
.ns-preview .ns-banner-actions { display:flex; flex-direction:row; flex-wrap:wrap; gap:12px; width:100%; margin:0 0 19px; }
.ns-preview .ns-banner-actions .elementor-widget-button { width:auto; flex:0 0 auto; }
.ns-preview .ns-banner-actions .elementor-button { display:inline-flex; align-items:center; justify-content:center; font:700 12px/1.25 Arial,Helvetica,sans-serif !important; letter-spacing:.25px; min-height:48px; padding:15px 18px; border-radius:6px; text-decoration:none; transition:background .2s,color .2s,transform .2s,box-shadow .2s; }
.ns-preview .ns-banner-primary .elementor-button { background:var(--ns-red); color:white; border:1px solid var(--ns-red); box-shadow:0 5px 15px #D6282815; }
.ns-preview .ns-banner-primary .elementor-button:hover { background:#a91828; border-color:#a91828; transform:translateY(-2px); box-shadow:0 8px 20px #D6282820; }
.ns-preview .ns-banner-secondary .elementor-button { background:transparent; color:var(--ns-navy); border:1px solid #0E2A4759; }
.ns-preview .ns-banner-secondary .elementor-button:hover { background:var(--ns-navy); color:white; transform:translateY(-2px); }
.ns-preview .ns-banner-note, .ns-preview .ns-banner-note * { font:400 11px/1.8 Arial,Helvetica,sans-serif !important; color:#63737e; }
.ns-preview .ns-banner-note p { margin:0; }
.ns-preview .ns-banner-note span { padding:0 5px; color:#D62828; }
.ns-preview .ns-banner-visual { width:47%; flex:0 1 47%; min-width:0; max-width:570px; gap:0; }
.ns-preview .ns-banner-signature .elementor-heading-title { font:700 10px/1.6 Arial,Helvetica,sans-serif !important; letter-spacing:1.7px; text-align:right; color:#647785; margin:0 0 13px; }
.ns-preview .ns-product-scene { position:relative; isolation:isolate; display:block; width:100%; aspect-ratio:1.18; padding:0; border-radius:24px; background:linear-gradient(140deg,#f1f0eb,#e8ecee); overflow:hidden; }
.ns-preview .ns-product-scene::before { content:""; position:absolute; width:83%; height:15%; left:10%; bottom:7%; background:#0E2A470f; border-radius:50%; filter:blur(16px); }
.ns-preview .ns-scene-product { position:absolute; margin:0; padding:0; min-width:0; filter:drop-shadow(0 10px 9px #0E2A471a); }
.ns-preview .ns-scene-product img { display:block; width:100%; height:auto; object-fit:contain; }
.ns-preview .ns-scene-product .elementor-widget-container { margin:0; padding:0; }
.ns-preview .ns-banner-caption .elementor-heading-title { font:400 12px/1.6 Arial,Helvetica,sans-serif !important; color:#536974; margin:14px 0 0; text-align:center; }
.ns-preview .ns-brand-catalogue { width:68%; left:-1%; top:7%; z-index:3; transform:rotate(-4deg); }
.ns-preview .ns-brand-folder { width:37%; right:1%; top:0%; z-index:1; transform:rotate(5deg); }
.ns-preview .ns-brand-bag { width:39%; right:-1%; top:31%; z-index:4; }
.ns-preview .ns-brand-box { width:46%; left:27%; bottom:-1%; z-index:5; transform:rotate(-3deg); }
.ns-preview .ns-brand-card { width:33%; left:0%; bottom:0%; z-index:6; transform:rotate(3deg); }
.ns-preview .ns-brand-label { width:24%; right:0%; bottom:0%; z-index:6; transform:rotate(4deg); }
.ns-preview .ns-slide-catalogue .ns-product-scene { background:linear-gradient(145deg,#edf3f5,#e5ecef); }
.ns-preview .ns-cat-upright { width:35%; right:9%; top:7%; z-index:1; transform:perspective(700px) rotateY(-9deg) rotate(4deg); padding:8px; background:#95d1f1; border:1px solid #ffffffb3; border-radius:5px; box-shadow:0 12px 18px #0E2A4714; }
.ns-preview .ns-cat-upright img { aspect-ratio:3/4; object-fit:contain; }
.ns-preview .ns-cat-brochure { width:36%; left:4%; top:4%; z-index:2; transform:rotate(-7deg); }
.ns-preview .ns-cat-open { width:85%; left:-6%; bottom:-3%; z-index:4; transform:rotate(-5deg); }
.ns-preview .ns-cat-folder { width:42%; right:-1%; bottom:0%; z-index:5; transform:rotate(5deg); }
.ns-preview .ns-slide-packaging .ns-product-scene { background:linear-gradient(145deg,#f2eee6,#eae4d9); }
.ns-preview .ns-pack-bag { width:63%; right:1%; top:1%; z-index:1; transform:rotate(3deg); }
.ns-preview .ns-pack-box { width:78%; left:-7%; bottom:-4%; z-index:3; transform:rotate(-4deg); }
.ns-preview .ns-pack-label { width:34%; right:-1%; bottom:0%; z-index:4; transform:rotate(4deg); }
.ns-preview .ns-hero-slider .elementor-swiper-button { position:absolute; top:auto !important; bottom:14px; left:auto; right:auto; transform:none !important; width:38px; height:38px; display:flex; align-items:center; justify-content:center; border:1px solid #0E2A4726; border-radius:50%; background:#ffffffc9; color:#0E2A47; z-index:5; cursor:pointer; }
.ns-preview .ns-hero-slider .elementor-swiper-button-prev { left:calc(50% - 105px) !important; right:auto !important; }
.ns-preview .ns-hero-slider .elementor-swiper-button-next { left:calc(50% + 67px) !important; right:auto !important; }
.ns-preview .ns-hero-slider .elementor-swiper-button:hover { color:var(--ns-red); border-color:#D6282870; background:white; }
.ns-preview .ns-hero-slider .swiper-pagination { position:absolute; top:auto !important; bottom:22px !important; left:50% !important; right:auto; width:auto; transform:translateX(-50%) !important; display:flex; align-items:center; gap:2px; padding:0; margin:0; z-index:5; }
.ns-preview .ns-hero-slider .swiper-pagination-bullet { width:22px; height:22px; margin:0 !important; padding:7px; border-radius:50%; background:#0E2A47; background-clip:content-box; opacity:.25; cursor:pointer; }
.ns-preview .ns-hero-slider .swiper-pagination-bullet-active { background-color:var(--ns-red); opacity:1; }
.ns-preview .ns-hero-system a:focus-visible, .ns-preview .ns-hero-system [role="button"]:focus-visible { outline:3px solid #1475ae; outline-offset:4px; }
@media(min-width:1700px){
.ns-preview .ns-hero-slider .swiper-slide > .ns-banner-slide { padding-right:56px; }
}
@media(max-width:1199px){
.ns-preview .ns-hero-slider .swiper-slide > .ns-banner-slide { padding:40px 86px 20px 36px; }
.ns-preview .ns-banner-row { gap:28px; min-height:410px; }
.ns-preview .ns-banner-description, .ns-preview .ns-banner-description * { font-size:15px; }
.ns-preview .ns-banner-actions { gap:10px; }
.ns-preview .ns-banner-actions .elementor-button { font-size:11px !important; padding:14px 15px; }
}
@media(max-width:900px){
.ns-preview .ns-hero-slider .swiper-slide > .ns-banner-slide { padding:36px 78px 18px 28px; }
.ns-preview .ns-banner-row { flex-direction:column; align-items:stretch; gap:30px; min-height:0; max-width:620px; }
.ns-preview .ns-banner-copy, .ns-preview .ns-banner-visual { width:100%; max-width:none; flex:auto; }
.ns-preview .ns-banner-heading .elementor-heading-title { font-size:38px; }
.ns-preview .ns-product-scene { aspect-ratio:1.45; }
.ns-preview .ns-banner-signature .elementor-heading-title { text-align:left; }
.ns-preview .ns-banner-description, .ns-preview .ns-banner-description * { font-size:16px; }
.ns-preview .ns-banner-actions .elementor-button { font-size:12px !important; }
}
@media(max-width:600px){
.ns-preview .ns-hero-slider .swiper-slide > .ns-banner-slide { padding:30px 18px 14px; }
.ns-preview .ns-banner-row { gap:24px; }
.ns-preview .ns-banner-heading .elementor-heading-title { font-size:28px; letter-spacing:-.45px; margin-bottom:19px; }
.ns-preview .ns-banner-eyebrow .elementor-heading-title { font-size:9px !important; letter-spacing:1.05px; margin-bottom:16px; }
.ns-preview .ns-banner-description, .ns-preview .ns-banner-description * { font-size:15px; line-height:1.65; }
.ns-preview .ns-banner-description p { margin-bottom:22px; }
.ns-preview .ns-banner-actions { gap:10px; margin-bottom:17px; }
.ns-preview .ns-banner-actions .elementor-widget-button { width:100%; }
.ns-preview .ns-banner-actions .elementor-button { width:100%; min-height:46px; font-size:11px !important; }
.ns-preview .ns-banner-note, .ns-preview .ns-banner-note * { font-size:10px !important; }
.ns-preview .ns-banner-note span { padding:0 2px; }
.ns-preview .ns-product-scene { border-radius:18px; aspect-ratio:1.18; }
.ns-preview .ns-banner-caption .elementor-heading-title { font-size:10px !important; }
.ns-preview .ns-banner-signature .elementor-heading-title { font-size:9px !important; letter-spacing:1.2px; }
}
@supports (font-size:1cqw) { @media(max-width:900px) { .ns-preview .ns-banner-heading .elementor-heading-title { font-size:clamp(24px,8.4cqw,38px); } } @media(max-width:600px) { .ns-preview .ns-banner-heading .elementor-heading-title { font-size:clamp(24px,8.4cqw,30px); } } }
@media(prefers-reduced-motion:reduce){
.ns-preview .ns-hero-system .elementor-button { transition:none; }
.ns-preview .ns-hero-system .elementor-button:hover { transform:none; }
.ns-preview .ns-hero-slider .swiper-wrapper { transition-duration:0ms !important; }
}
body.ns-preview { --ns-navy:#0E2A47; --ns-blue:#0B74C4; --ns-red:#D62828; --ns-paper:#F7F9FC; --ns-line:#e3e9f0; color:var(--ns-navy); font-family:Arial,Helvetica,sans-serif; }
.ns-preview *, .ns-preview *::before, .ns-preview *::after { box-sizing:border-box; }
.ns-preview .ns-contact-rail { display:none !important; }
.ns-preview .ns-floating-wrapper { padding:0; margin:0; gap:0; height:0; min-height:0; }
.ns-preview .ns-page-header { padding:0; gap:0; width:100%; }
.ns-preview .ns-page-header .elementor-widget-shortcode { width:100%; }
.ns-preview .ns-page-header a, .ns-preview .ns-page-header .elementor-icon-list-text { font-family:Arial,Helvetica,sans-serif !important; }
.ns-preview .ns-section { width:100%; max-width:none; padding:100px 56px; gap:0; background:white; }
.ns-preview .ns-section.ns-section-light { background:var(--ns-paper); }
.ns-preview .ns-inner { width:100%; max-width:1180px; margin:0 auto; gap:0; min-width:0; }
.ns-preview .ns-section-head { gap:0; max-width:730px; margin:0 0 40px; }
.ns-preview .ns-section-head.ns-head-center { text-align:center; align-self:center; }
.ns-preview .ns-kicker .elementor-heading-title { color:var(--ns-red); font:700 11px/1.7 Arial,Helvetica,sans-serif !important; letter-spacing:1.8px; margin:0 0 14px; }
.ns-preview .ns-h2 .elementor-heading-title { color:var(--ns-navy); font:700 clamp(30px,3vw,40px)/1.2 Cambria,Georgia,serif !important; letter-spacing:-.65px; margin:0 0 18px; }
.ns-preview .ns-body, .ns-preview .ns-body * { color:#576879; font:400 16px/1.75 Arial,Helvetica,sans-serif !important; }
.ns-preview .ns-body p { margin:0; }
.ns-preview .ns-button .elementor-button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:14px 22px; border-radius:6px; font:700 12px/1.3 Arial,Helvetica,sans-serif !important; letter-spacing:.4px; background:var(--ns-red); color:white; border:1px solid var(--ns-red); box-shadow:none; transition:background .2s,transform .2s; }
.ns-preview .ns-button .elementor-button:hover { background:#b41d1d; border-color:#b41d1d; transform:translateY(-2px); }
.ns-preview .ns-button.ns-button-outline .elementor-button { color:var(--ns-navy); background:white; border-color:#c4d0dd; }
.ns-preview .ns-link .elementor-button { font:700 13px/1.4 Arial,Helvetica,sans-serif !important; padding:0; min-height:0; background:transparent; color:var(--ns-blue); border:0; box-shadow:none; }
.ns-preview .ns-link .elementor-button:hover { color:var(--ns-red); }
.ns-preview a:focus-visible, .ns-preview button:focus-visible, .ns-preview input:focus-visible, .ns-preview select:focus-visible, .ns-preview textarea:focus-visible, .ns-preview summary:focus-visible { outline:3px solid var(--ns-blue); outline-offset:4px; }
.ns-preview .ns-hero-system { --ns-navy:#0E2A47; --ns-red:#D62828; --ns-paper:#F7F9FC; }
.ns-preview .ns-hero-slider .swiper-slide > .ns-banner-slide { padding:44px 56px 24px; }
.ns-preview .ns-banner-row { max-width:1180px; min-height:500px; gap:40px; }
.ns-preview .ns-banner-visual { width:48%; flex:0 1 48%; max-width:540px; }
.ns-preview .ns-banner-copy { width:48%; flex:0 1 48%; }
.ns-preview .ns-slider-control { margin:0; min-height:0; padding:0; height:0; width:100%; position:relative; z-index:5; }
.ns-preview .ns-slider-control .elementor-widget-html { height:0; }
.ns-preview .ns-slider-pause { position:absolute; right:56px; bottom:23px; padding:4px 0; border:0; color:#64758a; background:transparent; font:400 11px/1.6 Arial,Helvetica,sans-serif; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.ns-preview .ns-quickbar { padding:26px 56px; border-bottom:1px solid var(--ns-line); background:white; width:100%; }
.ns-preview .ns-quick-links { display:grid; grid-template-columns:repeat(8,minmax(0,1fr)); gap:18px; width:100%; max-width:1180px; margin:auto; }
.ns-preview .ns-category-link .elementor-button { display:flex; align-items:center; justify-content:center; width:100%; min-height:42px; background:transparent; border:0; border-radius:5px; color:var(--ns-navy); padding:9px 0; font:600 13px/1.4 Arial,Helvetica,sans-serif !important; white-space:nowrap; }
.ns-preview .ns-category-link .elementor-button:hover { color:var(--ns-red); background:var(--ns-paper); }
.ns-preview .ns-product-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; width:100%; }
.ns-preview .ns-product-card { width:100%; min-width:0; display:flex; flex-direction:column; gap:0; border:1px solid var(--ns-line); border-radius:12px; background:white; overflow:hidden; padding:0 0 25px; transition:transform .2s,box-shadow .2s; }
.ns-preview .ns-product-card:hover { transform:translateY(-4px); box-shadow:0 14px 32px #0e2a470d; }
.ns-preview .ns-card-image { width:100%; margin:0 0 22px; background:#f4f6f8; padding:14px; }
.ns-preview .ns-card-image img { display:block; width:100%; height:190px; object-fit:contain; }
.ns-preview .ns-card-title, .ns-preview .ns-card-description, .ns-preview .ns-card-link { padding:0 22px; }
.ns-preview .ns-card-title .elementor-heading-title { margin:0 0 10px; font:700 20px/1.3 Arial,Helvetica,sans-serif !important; color:var(--ns-navy); }
.ns-preview .ns-card-description, .ns-preview .ns-card-description * { font:400 14px/1.65 Arial,Helvetica,sans-serif !important; color:#607183; }
.ns-preview .ns-card-description { margin:0 0 20px; flex:1; }
.ns-preview .ns-card-description p { margin:0; }
.ns-preview .ns-two-columns { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:74px; width:100%; align-items:center; }
.ns-preview .ns-feature-visual { width:100%; padding:0; gap:0; }
.ns-preview .ns-feature-image img { display:block; width:100%; height:520px; object-fit:cover; border-radius:15px; }
.ns-preview .ns-photo-caption, .ns-preview .ns-photo-caption * { font:400 12px/1.6 Arial,Helvetica,sans-serif !important; color:#6b7a88; }
.ns-preview .ns-photo-caption { margin-top:14px; }
.ns-preview .ns-feature-copy { gap:0; width:100%; }
.ns-preview .ns-feature-copy .ns-section-head { margin-bottom:28px; }
.ns-preview .ns-features { gap:0; width:100%; }
.ns-preview .ns-feature-step { position:relative; padding:22px 0 22px 60px; width:100%; border-bottom:1px solid var(--ns-line); gap:0; }
.ns-preview .ns-feature-step:first-child { padding-top:0; }
.ns-preview .ns-step-number { position:absolute; top:24px; left:0; }
.ns-preview .ns-feature-step:first-child .ns-step-number { top:2px; }
.ns-preview .ns-step-number .elementor-heading-title { font:700 13px/1.5 Arial,Helvetica,sans-serif !important; color:var(--ns-red); margin:0; }
.ns-preview .ns-step-title .elementor-heading-title { font:700 18px/1.4 Arial,Helvetica,sans-serif !important; margin:0 0 7px; color:var(--ns-navy); }
.ns-preview .ns-feature-step .ns-body, .ns-preview .ns-feature-step .ns-body * { font-size:14px !important; }
.ns-preview .ns-quote-section { background:var(--ns-navy); }
.ns-preview .ns-quote-section .ns-h2 .elementor-heading-title, .ns-preview .ns-final-cta .ns-h2 .elementor-heading-title { color:white; }
.ns-preview .ns-quote-section .ns-kicker .elementor-heading-title { color:#91c9f2; }
.ns-preview .ns-quote-section .ns-body, .ns-preview .ns-quote-section .ns-body * { color:#c0cddd; }
.ns-preview .ns-quote-copy { width:100%; gap:0; }
.ns-preview .ns-quote-copy .ns-section-head { margin-bottom:24px; }
.ns-preview .ns-quote-benefits .elementor-icon-list-text { font:400 14px/1.7 Arial,Helvetica,sans-serif !important; color:#e3edf7; }
.ns-preview .ns-quote-benefits .elementor-icon-list-icon i { color:#77bdec; font-size:13px; }
.ns-preview .ns-quote-benefits .elementor-icon-list-item { padding-bottom:8px; }
.ns-preview .ns-preview-form { background:white; padding:32px; border:1px solid var(--ns-line); border-radius:14px; color:var(--ns-navy); }
.ns-preview .ns-form-title { font:700 22px/1.3 Cambria,Georgia,serif; margin:0 0 8px; }
.ns-preview .ns-form-intro { font:400 12px/1.6 Arial,Helvetica,sans-serif; color:#6a7989; margin:0 0 24px; }
.ns-preview .ns-form-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 16px; }
.ns-preview .ns-form-field { display:block; min-width:0; }
.ns-preview .ns-form-field label { display:block; font:600 12px/1.5 Arial,Helvetica,sans-serif; color:var(--ns-navy); margin-bottom:7px; }
.ns-preview .ns-preview-form input, .ns-preview .ns-preview-form select, .ns-preview .ns-preview-form textarea { appearance:auto; width:100%; min-height:46px; border:1px solid #cfdae6; background:#fff; border-radius:6px; font:400 14px/1.4 Arial,Helvetica,sans-serif; color:var(--ns-navy); padding:11px 12px; }
.ns-preview .ns-preview-form input::placeholder, .ns-preview .ns-preview-form textarea::placeholder { color:#8a97a5; opacity:1; }
.ns-preview .ns-preview-form textarea { resize:vertical; min-height:88px; }
.ns-preview .ns-form-submit { width:100%; min-height:48px; border:1px solid var(--ns-red); border-radius:6px; color:white; background:var(--ns-red); padding:14px 18px; margin-top:22px; font:700 12px/1.4 Arial,Helvetica,sans-serif; cursor:pointer; }
.ns-preview .ns-form-submit:hover { background:#b41d1d; }
.ns-preview .ns-form-status { margin:14px 0 0; padding:12px; background:#edf5fb; color:#31516c; border-radius:6px; font:400 12px/1.6 Arial,Helvetica,sans-serif; }
.ns-preview .ns-portfolio-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:30px; width:100%; align-items:start; }
.ns-preview .ns-portfolio-item { width:100%; padding:0; gap:0; grid-column:span 4; }
.ns-preview .ns-portfolio-item:nth-child(1) { grid-column:span 7; }
.ns-preview .ns-portfolio-item:nth-child(2) { grid-column:span 5; padding-top:52px; }
.ns-preview .ns-portfolio-photo img { display:block; width:100%; height:280px; object-fit:cover; border-radius:12px; }
.ns-preview .ns-portfolio-item:nth-child(1) img { height:420px; }
.ns-preview .ns-portfolio-item:nth-child(2) img { height:368px; }
.ns-preview .ns-portfolio-caption .elementor-heading-title { font:400 13px/1.5 Arial,Helvetica,sans-serif !important; color:#4d6479; margin:14px 0 0; }
.ns-preview .ns-needs-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; width:100%; }
.ns-preview .ns-need-card { width:100%; padding:0; gap:0; }
.ns-preview .ns-need-image { width:100%; padding:18px; background:#eef2f7; border-radius:12px; margin-bottom:24px; }
.ns-preview .ns-need-image img { display:block; width:100%; height:230px; object-fit:contain; }
.ns-preview .ns-need-title .elementor-heading-title { font:700 24px/1.25 Cambria,Georgia,serif !important; color:var(--ns-navy); margin:0 0 12px; }
.ns-preview .ns-need-card .ns-body { margin-bottom:20px; }
.ns-preview .ns-need-card .ns-body, .ns-preview .ns-need-card .ns-body * { font-size:14px !important; }
.ns-preview .ns-process-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:28px; width:100%; position:relative; margin-top:10px; }
.ns-preview .ns-process-grid::before { content:""; position:absolute; height:1px; background:#d5dfeb; left:25px; right:25px; top:25px; }
.ns-preview .ns-process-item { width:100%; gap:0; padding:0; position:relative; }
.ns-preview .ns-process-index { width:50px; height:50px; display:flex; align-items:center; justify-content:center; border:1px solid #d5dfeb; border-radius:50%; background:white; margin-bottom:24px; z-index:1; }
.ns-preview .ns-process-index .elementor-heading-title { margin:0; color:var(--ns-red); font:700 14px/1.3 Arial,Helvetica,sans-serif !important; }
.ns-preview .ns-process-item .ns-step-title .elementor-heading-title { font-size:16px !important; }
.ns-preview .ns-process-item .ns-body, .ns-preview .ns-process-item .ns-body * { font-size:13px !important; }
.ns-preview .ns-blog-posts { width:100%; margin-bottom:36px; }
.ns-preview .ns-blog-posts .elementor-posts-container { grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.ns-preview .ns-blog-posts .elementor-post { padding:0 0 26px; background:white; border:1px solid var(--ns-line); border-radius:12px; overflow:hidden; }
.ns-preview .ns-blog-posts .elementor-post__thumbnail__link { display:block; margin:0 0 23px; }
.ns-preview .ns-blog-posts .elementor-post__thumbnail { padding-bottom:0 !important; height:210px; }
.ns-preview .ns-blog-posts .elementor-post__thumbnail img { position:static; width:100%; height:210px; object-fit:cover; transform:none; }
.ns-preview .ns-blog-posts .elementor-post__text { padding:0 22px; }
.ns-preview .ns-blog-posts .elementor-post__title, .ns-preview .ns-blog-posts .elementor-post__title a { font:700 20px/1.35 Cambria,Georgia,serif !important; color:var(--ns-navy); }
.ns-preview .ns-blog-posts .elementor-post__excerpt p { font:400 14px/1.65 Arial,Helvetica,sans-serif !important; color:#607183; }
.ns-preview .ns-blog-posts .elementor-post__read-more { font:700 12px/1.5 Arial,Helvetica,sans-serif !important; color:var(--ns-blue); }
.ns-preview .ns-blog-posts .elementor-post__meta-data { font:400 11px/1.5 Arial,Helvetica,sans-serif !important; color:#8a96a3; }
.ns-preview .ns-faq-section .ns-inner { max-width:900px; }
.ns-preview .ns-faq { width:100%; }
.ns-preview .ns-faq .e-n-accordion-item { border:0; border-bottom:1px solid var(--ns-line); background:transparent; }
.ns-preview .ns-faq .e-n-accordion-item-title { padding:23px 0; border:0; background:transparent; color:var(--ns-navy); }
.ns-preview .ns-faq .e-n-accordion-item-title-text { font:600 17px/1.5 Arial,Helvetica,sans-serif !important; }
.ns-preview .ns-faq .e-n-accordion-item-title-icon { color:var(--ns-red); }
.ns-preview .ns-faq .e-n-accordion-item > .e-con { padding:0 42px 22px 0; border:0; background:transparent; }
.ns-preview .ns-faq .ns-body, .ns-preview .ns-faq .ns-body * { font-size:14px !important; }
.ns-preview .ns-final-cta { background:var(--ns-navy); text-align:center; padding:78px 56px; }
.ns-preview .ns-final-cta .ns-inner { align-items:center; }
.ns-preview .ns-final-cta .ns-body, .ns-preview .ns-final-cta .ns-body * { color:#c3d0df; }
.ns-preview .ns-final-cta .ns-body { max-width:660px; margin-bottom:28px; }
.ns-preview .ns-final-actions { display:flex; flex-direction:row; gap:14px; justify-content:center; flex-wrap:wrap; width:100%; }
.ns-preview .ns-preview-contacts { position:fixed; top:54%; right:18px; transform:translateY(-50%); z-index:9990; display:flex; flex-direction:column; gap:10px; }
.ns-preview .ns-preview-contact { position:relative; display:flex; align-items:center; justify-content:center; width:48px; height:48px; border:1px solid #ffffff4d; border-radius:14px; color:white; box-shadow:0 5px 18px #0e2a4720; text-decoration:none; }
.ns-preview .ns-preview-contact svg { width:23px; height:23px; fill:currentColor; }
.ns-preview .ns-preview-contact-zalo { background:var(--ns-blue); }
.ns-preview .ns-preview-contact-phone { background:var(--ns-red); }
.ns-preview .ns-preview-contact-quote { background:var(--ns-navy); }
.ns-preview .ns-preview-contact-label { position:absolute; right:59px; width:max-content; padding:9px 13px; border-radius:7px; background:var(--ns-navy); color:white; font:600 12px/1.5 Arial,Helvetica,sans-serif; opacity:0; visibility:hidden; pointer-events:none; transform:translateX(4px); transition:opacity .15s,transform .15s; }
.ns-preview .ns-preview-contact:hover .ns-preview-contact-label, .ns-preview .ns-preview-contact:focus-visible .ns-preview-contact-label { opacity:1; visibility:visible; transform:none; }
@media(max-width:1199px){
.ns-preview .ns-section { padding:80px 36px; }
.ns-preview .ns-hero-slider .swiper-slide > .ns-banner-slide { padding:34px 36px 20px; }
.ns-preview .ns-banner-row { min-height:420px; gap:28px; }
.ns-preview .ns-quickbar { padding:22px 36px; }
.ns-preview .ns-two-columns { gap:44px; }
.ns-preview .ns-card-title, .ns-preview .ns-card-description, .ns-preview .ns-card-link { padding-left:18px; padding-right:18px; }
.ns-preview .ns-preview-contacts { right:10px; }
}
@media(max-width:1024px){
.ns-preview .ns-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.ns-preview .ns-card-image img { height:240px; }
.ns-preview .ns-quick-links { grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px 20px; }
.ns-preview .ns-two-columns { gap:32px; }
.ns-preview .ns-feature-image img { height:500px; }
.ns-preview .ns-preview-form { padding:26px; }
.ns-preview .ns-form-fields { gap:15px 12px; }
}
@media(max-width:900px){
.ns-preview .ns-section { padding:70px 28px; }
.ns-preview .ns-hero-slider .swiper-slide > .ns-banner-slide { padding:34px 60px 18px 28px; }
.ns-preview .ns-banner-row { min-height:0; max-width:620px; gap:26px; }
.ns-preview .ns-banner-copy, .ns-preview .ns-banner-visual { width:100%; max-width:none; flex:auto; }
.ns-preview .ns-slider-pause { right:28px; font-size:10px; }
.ns-preview .ns-two-columns { grid-template-columns:1fr; gap:38px; }
.ns-preview .ns-feature-image img { height:440px; }
.ns-preview .ns-quote-copy .ns-section-head { max-width:630px; }
.ns-preview .ns-needs-grid { gap:20px; }
.ns-preview .ns-need-title .elementor-heading-title { font-size:21px !important; }
.ns-preview .ns-need-image img { height:170px; }
.ns-preview .ns-process-grid { gap:18px; }
.ns-preview .ns-blog-posts .elementor-posts-container { gap:20px; }
.ns-preview .ns-blog-posts .elementor-post__text { padding:0 16px; }
.ns-preview .ns-blog-posts .elementor-post__thumbnail, .ns-preview .ns-blog-posts .elementor-post__thumbnail img { height:180px; }
}
@media(max-width:600px){
.ns-preview .ns-section { padding:56px 20px; }
.ns-preview .ns-section-head { margin-bottom:28px; }
.ns-preview .ns-h2 .elementor-heading-title { font-size:30px !important; }
.ns-preview .ns-body, .ns-preview .ns-body * { font-size:15px !important; }
.ns-preview .ns-hero-slider { padding-bottom:56px; }
.ns-preview .ns-hero-slider .swiper-slide > .ns-banner-slide { padding:26px 18px 10px; }
.ns-preview .ns-banner-row { gap:18px; }
.ns-preview .ns-banner-note, .ns-preview .ns-banner-signature { display:none; }
.ns-preview .ns-product-scene { aspect-ratio:1.5; }
.ns-preview .ns-banner-caption .elementor-heading-title { margin-top:10px; }
.ns-preview .ns-slider-pause { display:none; }
.ns-preview .ns-quickbar { padding:16px 0; }
.ns-preview .ns-quick-links { display:flex; gap:8px; overflow:auto; overscroll-behavior-inline:contain; scrollbar-width:thin; padding:0 20px 5px; }
.ns-preview .ns-category-link { min-width:104px; flex:0 0 auto; }
.ns-preview .ns-product-grid { grid-template-columns:1fr; gap:22px; }
.ns-preview .ns-card-image img { height:260px; }
.ns-preview .ns-card-image { padding:20px; }
.ns-preview .ns-feature-image img { height:320px; }
.ns-preview .ns-feature-step { padding-left:48px; }
.ns-preview .ns-preview-form { padding:24px 20px; }
.ns-preview .ns-form-fields { grid-template-columns:1fr; gap:16px; }
.ns-preview .ns-portfolio-grid { grid-template-columns:1fr; gap:26px; }
.ns-preview .ns-portfolio-item, .ns-preview .ns-portfolio-item:nth-child(1), .ns-preview .ns-portfolio-item:nth-child(2) { grid-column:auto; padding-top:0; }
.ns-preview .ns-portfolio-photo img, .ns-preview .ns-portfolio-item:nth-child(1) img, .ns-preview .ns-portfolio-item:nth-child(2) img { height:290px; }
.ns-preview .ns-needs-grid { grid-template-columns:1fr; gap:34px; }
.ns-preview .ns-need-image img { height:260px; }
.ns-preview .ns-process-grid { grid-template-columns:1fr; gap:28px; }
.ns-preview .ns-process-grid::before { width:1px; height:auto; top:25px; bottom:25px; left:25px; right:auto; }
.ns-preview .ns-process-item { padding-left:76px; min-height:60px; }
.ns-preview .ns-process-index { position:absolute; left:0; top:0; }
.ns-preview .ns-blog-posts .elementor-posts-container { grid-template-columns:1fr; gap:24px; }
.ns-preview .ns-blog-posts .elementor-post__thumbnail, .ns-preview .ns-blog-posts .elementor-post__thumbnail img { height:240px; }
.ns-preview .ns-faq .e-n-accordion-item-title { padding:20px 0; }
.ns-preview .ns-faq .e-n-accordion-item-title-text { font-size:15px !important; }
.ns-preview .ns-final-cta { padding:60px 20px; }
.ns-preview .ns-final-actions { flex-direction:column; gap:12px; }
.ns-preview .ns-final-actions .ns-button, .ns-preview .ns-final-actions .elementor-button { width:100%; }
.ns-preview .ns-preview-contacts { top:auto; bottom:calc(14px + env(safe-area-inset-bottom)); right:max(8px,env(safe-area-inset-right)); transform:none; gap:7px; }
.ns-preview .ns-preview-contact { width:42px; height:42px; border-radius:50%; }
.ns-preview .ns-preview-contact svg { width:20px; height:20px; }
.ns-preview .ns-preview-contact-label { display:none; }
}
@media(max-width:600px){
.ns-preview .ns-hero-slider { padding-bottom:80px; }
.ns-preview .ns-hero-slider .elementor-swiper-button { bottom:38px; }
.ns-preview .ns-hero-slider .swiper-pagination { bottom:46px !important; }
.ns-preview .ns-slider-pause { display:block; left:50%; right:auto; bottom:8px; transform:translateX(-50%); white-space:nowrap; }
.ns-preview .ns-preview-form input, .ns-preview .ns-preview-form select, .ns-preview .ns-preview-form textarea { font-size:16px; }
}
@media(prefers-reduced-motion:reduce){
.ns-preview .ns-product-card, .ns-preview .elementor-button, .ns-preview .ns-preview-contact-label { transition:none !important; }
.ns-preview .ns-product-card:hover, .ns-preview .ns-button .elementor-button:hover { transform:none; }
}
