:where(.nvi-site, .nvi-invitation) *,
:where(.nvi-site, .nvi-invitation) *::before,
:where(.nvi-site, .nvi-invitation) *::after { box-sizing: border-box; }
:where(.nvi-site, .nvi-invitation) button,
:where(.nvi-site, .nvi-invitation) input,
:where(.nvi-site, .nvi-invitation) select,
:where(.nvi-site, .nvi-invitation) textarea { font: inherit; }
:where(.nvi-site, .nvi-invitation) img { max-width: 100%; }
:where(.nvi-site, .nvi-invitation) a { color: inherit; }

.nvi-button { align-items: center; background: var(--nvi-accent, var(--nvi-site-accent, #b28354)); border: 1px solid var(--nvi-accent, var(--nvi-site-accent, #b28354)); border-radius: 999px; color: #fff; cursor: pointer; display: inline-flex; font-size: 12px; font-weight: 700; gap: 10px; justify-content: center; letter-spacing: .11em; line-height: 1; min-height: 48px; padding: 0 24px; text-decoration: none; text-transform: uppercase; transition: background .25s ease, color .25s ease, transform .25s ease, border-color .25s ease; }
.nvi-button:hover { color: #fff; filter: brightness(.95); transform: translateY(-2px); }
.nvi-button--outline { background: transparent; color: var(--nvi-ink, var(--nvi-site-dark, #10131d)); }
.nvi-button--outline:hover { background: var(--nvi-accent, var(--nvi-site-accent, #b28354)); color: #fff; }
.nvi-button--light { background: #f8f3ea; border-color: #f8f3ea; color: #181714; }
.nvi-button--light:hover { color: #181714; }
.nvi-text-link { align-items: center; display: inline-flex; font-size: 13px; font-weight: 700; gap: 10px; letter-spacing: .06em; text-decoration: none; text-transform: uppercase; }
.nvi-text-link span { font-size: 19px; transition: transform .2s; }
.nvi-text-link:hover span { transform: translateX(4px); }


.nvi-notice { background: #fff5d6; border: 1px solid #efca68; color: #523e08; padding: 16px; }

/* Marketing pages */
.nvi-site { --nvi-site-accent: #c9a86a; --nvi-site-dark: #10131d; --nvi-site-light: #f4f0e8; background: var(--nvi-site-light); color: var(--nvi-site-dark); font-family: Arial, Helvetica, sans-serif; line-height: 1.6; min-height: 100vh; overflow: hidden; width: 100%; }
.nvi-site h1, .nvi-site h2, .nvi-site h3, .nvi-site p { margin-top: 0; }
.nvi-site h1, .nvi-site h2 { font-family: Georgia, 'Times New Roman', serif; font-weight: 400; letter-spacing: -.035em; line-height: .98; }
.nvi-site h1 em, .nvi-site h2 em { color: var(--nvi-site-accent); font-weight: 400; }
.nvi-site__promo { background: #090909; color: #d8c7af; font-size: 9px; letter-spacing: .18em; padding: 7px 20px; text-align: center; text-transform: uppercase; }
.nvi-site-header { align-items: center; background: rgba(23,23,21,.94); color: #fff; display: flex; height: 86px; justify-content: space-between; padding: 0 clamp(22px,5vw,76px); position: relative; z-index: 40; }
.nvi-site-brand { display: inline-flex; flex-direction: column; line-height: 1; text-decoration: none; }
.nvi-site-brand span { font-family: Georgia, serif; font-size: 25px; letter-spacing: -.04em; }
.nvi-site-brand small { color: var(--nvi-site-accent); font-size: 7px; letter-spacing: .28em; margin-top: 7px; text-transform: uppercase; }
.nvi-site-nav { align-items: center; display: flex; gap: clamp(20px,3vw,48px); }
.nvi-site-nav a { color: rgba(255,255,255,.72); font-size: 11px; letter-spacing: .09em; position: relative; text-decoration: none; text-transform: uppercase; }
.nvi-site-nav a::after { background: var(--nvi-site-accent); bottom: -8px; content: ''; height: 1px; left: 0; position: absolute; transform: scaleX(0); transform-origin: left; transition: transform .2s; width: 100%; }
.nvi-site-nav a:hover { color: #fff; }
.nvi-site-nav a:hover::after { transform: scaleX(1); }
.nvi-site-header__cta { min-height: 40px; padding: 0 21px; }
.nvi-menu-toggle { background: none; border: 0; cursor: pointer; display: none; height: 42px; width: 42px; }
.nvi-menu-toggle i { background: #fff; display: block; height: 1px; margin: 7px auto; transition: transform .2s; width: 24px; }
.nvi-site-hero { background: var(--nvi-site-dark); color: #fff; display: grid; grid-template-columns: minmax(0,1fr) minmax(420px,.9fr); min-height: 740px; overflow: hidden; padding: 90px clamp(22px,7vw,110px); position: relative; }
.nvi-site-hero::before { background: radial-gradient(circle, rgba(199,154,98,.18), transparent 68%); content: ''; height: 720px; left: -300px; position: absolute; top: -320px; width: 720px; }
.nvi-site-hero__copy { align-self: center; max-width: 760px; position: relative; z-index: 2; }
.nvi-site-eyebrow { color: var(--nvi-site-accent); font-size: 10px; font-weight: 700; letter-spacing: .22em; margin-bottom: 25px; text-transform: uppercase; }
.nvi-site-hero h1 { font-size: clamp(54px,7vw,104px); margin-bottom: 34px; }
.nvi-site-hero__copy > p:not(.nvi-site-eyebrow) { color: rgba(255,255,255,.62); font-size: 16px; max-width: 590px; }
.nvi-site-actions { align-items: center; display: flex; gap: 28px; margin-top: 38px; }
.nvi-site-proof { border-top: 1px solid rgba(255,255,255,.12); display: flex; gap: 38px; margin-top: 62px; padding-top: 24px; }
.nvi-site-proof span { color: rgba(255,255,255,.5); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.nvi-site-proof strong { color: #fff; display: block; font-family: Georgia, serif; font-size: 25px; font-weight: 400; margin-bottom: 3px; }
.nvi-site-hero__visual { align-self: center; height: 560px; position: relative; }
.nvi-browser-mock { background: #0c0c0b; border: 1px solid rgba(255,255,255,.18); box-shadow: 0 40px 90px rgba(0,0,0,.55); height: 390px; left: 0; overflow: hidden; position: absolute; top: 48px; transform: perspective(1200px) rotateY(-9deg) rotateX(3deg); width: min(570px,42vw); z-index: 2; }
.nvi-browser-mock__bar { align-items: center; background: #252522; display: flex; gap: 5px; height: 25px; padding: 0 10px; }
.nvi-browser-mock__bar i { background: #6d6a65; border-radius: 50%; height: 5px; width: 5px; }
.nvi-browser-mock__screen { align-items: center; background: radial-gradient(circle at 70% 20%, rgba(199,154,98,.24), transparent 36%), linear-gradient(135deg,#121210,#2c2924); display: flex; flex-direction: column; height: calc(100% - 25px); justify-content: center; overflow: hidden; position: relative; }
.nvi-browser-mock__screen::before,.nvi-browser-mock__screen::after { border: 1px solid rgba(199,154,98,.22); border-radius: 50%; content: ''; height: 270px; position: absolute; width: 270px; }
.nvi-browser-mock__screen::before { left: -120px; top: -140px; }
.nvi-browser-mock__screen::after { bottom: -190px; right: -90px; }
.nvi-browser-mock__screen > * { position: relative; z-index: 1; }
.nvi-browser-mock__screen span { color: #bfa98b; font-size: 7px; letter-spacing: .3em; }
.nvi-browser-mock__screen strong { font-family: Georgia,serif; font-size: clamp(35px,4.2vw,62px); font-weight: 400; margin: 20px 0 8px; }
.nvi-browser-mock__screen strong em { color: var(--nvi-site-accent); font-weight: 400; }
.nvi-browser-mock__screen small { font-size: 8px; letter-spacing: .22em; }
.nvi-browser-mock__screen button { background: transparent; border: 1px solid rgba(255,255,255,.5); color: #fff; font-size: 6px; letter-spacing: .18em; margin-top: 32px; padding: 9px 15px; }
.nvi-phone-mock { background: #090909; border: 5px solid #292927; border-radius: 30px; bottom: 30px; box-shadow: 0 30px 60px rgba(0,0,0,.5); height: 320px; position: absolute; right: -20px; transform: rotate(8deg); width: 170px; z-index: 4; }
.nvi-phone-mock::before { background: #292927; border-radius: 0 0 8px 8px; content: ''; height: 13px; left: 50%; position: absolute; top: 0; transform: translateX(-50%); width: 55px; }
.nvi-phone-mock > div { align-items: center; background: linear-gradient(160deg,#d8c4aa,#efe6d6); border-radius: 24px; color: #332b24; display: flex; flex-direction: column; height: 100%; justify-content: center; overflow: hidden; position: relative; }
.nvi-phone-mock small { font-size: 7px; letter-spacing: .2em; text-transform: uppercase; }
.nvi-phone-mock strong { font-family: Georgia,serif; font-size: 70px; font-weight: 400; line-height: 1; }
.nvi-phone-mock span { font-size: 7px; letter-spacing: .22em; }
.nvi-phone-mock i { border: 1px solid rgba(51,43,36,.22); border-radius: 50%; height: 230px; position: absolute; width: 230px; }
.nvi-orbit { border: 1px solid rgba(199,154,98,.16); border-radius: 50%; position: absolute; }
.nvi-orbit--one { height: 430px; right: -180px; top: -50px; width: 430px; }
.nvi-orbit--two { bottom: -120px; height: 340px; left: 20px; width: 340px; }
.nvi-site-section { margin: 0 auto; max-width: 1500px; padding: 110px clamp(22px,7vw,105px); }
.nvi-site-section__head { max-width: 800px; }
.nvi-site-section__head h2 { font-size: clamp(42px,5vw,72px); margin-bottom: 25px; }
.nvi-site-section__head > .nvi-text-link { margin-top: 8px; }
.nvi-feature-grid { display: grid; gap: 1px; grid-template-columns: repeat(3,1fr); margin-top: 70px; }
.nvi-feature-card { border: 1px solid rgba(23,23,21,.12); margin: -1px 0 0 -1px; min-height: 260px; padding: 36px; position: relative; transition: background .3s, color .3s, transform .3s; }
.nvi-feature-card:hover { background: var(--nvi-site-dark); color: #fff; transform: translateY(-4px); z-index: 2; }
.nvi-feature-card > span { color: var(--nvi-site-accent); font-family: Georgia,serif; font-size: 13px; }
.nvi-feature-card h3 { font-family: Georgia,serif; font-size: 28px; font-weight: 400; margin: 55px 0 18px; }
.nvi-feature-card p { color: #706d66; font-size: 13px; margin: 0; }
.nvi-feature-card:hover p { color: rgba(255,255,255,.65); }
.nvi-catalog-preview { background: #ded5c8; max-width: none; }
.nvi-catalog-preview > * { margin-left: auto; margin-right: auto; max-width: 1290px; }
.nvi-theme-strip { display: grid; gap: 24px; grid-template-columns: repeat(5,minmax(230px,1fr)); margin-top: 60px; overflow-x: auto; padding-bottom: 18px; }
.nvi-theme-card { min-width: 230px; }
.nvi-theme-card__art,.nvi-portfolio-card__visual { align-items: center; aspect-ratio: .72; background: #b7a58f; color: #fff; display: flex; flex-direction: column; justify-content: center; overflow: hidden; position: relative; text-decoration: none; }
.nvi-theme-card__art::before,.nvi-portfolio-card__visual::before { border: 1px solid rgba(255,255,255,.34); content: ''; inset: 17px; position: absolute; }
.nvi-theme-card__art i,.nvi-portfolio-card__visual i { border: 1px solid currentColor; border-radius: 50%; height: 180px; opacity: .2; position: absolute; width: 180px; }
.nvi-theme-card__art span,.nvi-portfolio-card__visual > span { font-size: 8px; left: 31px; letter-spacing: .17em; position: absolute; top: 30px; }
.nvi-theme-card__art strong,.nvi-portfolio-card__visual strong { font-family: Georgia,serif; font-size: 37px; font-weight: 400; position: relative; }
.nvi-theme-card > div:last-child { align-items: center; display: flex; justify-content: space-between; padding-top: 17px; }
.nvi-theme-card p { font-family: Georgia,serif; font-size: 15px; margin: 0; }
.nvi-theme-card a { font-size: 10px; font-weight: 700; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.nvi-theme-card--heritage .nvi-theme-card__art,.nvi-theme-card--heritage .nvi-portfolio-card__visual,.nvi-portfolio-card.nvi-theme-card--heritage .nvi-portfolio-card__visual { background: radial-gradient(circle at 20% 15%,#b8895b,transparent 30%),#503a2d; }
.nvi-theme-card--editorial .nvi-theme-card__art,.nvi-theme-card--editorial .nvi-portfolio-card__visual,.nvi-portfolio-card.nvi-theme-card--editorial .nvi-portfolio-card__visual { background: linear-gradient(145deg,#eee9df 60%,#1a1a18 60%); color: #1a1a18; }
.nvi-theme-card--moody .nvi-theme-card__art,.nvi-theme-card--moody .nvi-portfolio-card__visual,.nvi-portfolio-card.nvi-theme-card--moody .nvi-portfolio-card__visual { background: radial-gradient(circle at 70% 20%,#714f56,transparent 45%),#20191b; }
.nvi-theme-card--watercolor .nvi-theme-card__art,.nvi-theme-card--watercolor .nvi-portfolio-card__visual,.nvi-portfolio-card.nvi-theme-card--watercolor .nvi-portfolio-card__visual { background: radial-gradient(circle at 20% 30%,rgba(240,179,169,.75),transparent 28%),radial-gradient(circle at 80% 70%,rgba(143,179,173,.7),transparent 30%),#e8e3db; color: #43483f; }
.nvi-theme-card--nusantara .nvi-theme-card__art,.nvi-theme-card--nusantara .nvi-portfolio-card__visual,.nvi-portfolio-card.nvi-theme-card--nusantara .nvi-portfolio-card__visual { background-color:#8d4c32; background-image:linear-gradient(30deg,rgba(255,255,255,.08) 12%,transparent 12.5%,transparent 87%,rgba(255,255,255,.08) 87.5%),linear-gradient(150deg,rgba(255,255,255,.08) 12%,transparent 12.5%,transparent 87%,rgba(255,255,255,.08) 87.5%); background-size:38px 66px; }
.nvi-price-grid { display: grid; gap: 22px; grid-template-columns: repeat(3,1fr); margin-top: 70px; }
.nvi-price-card { background: rgba(255,255,255,.35); border: 1px solid rgba(23,23,21,.15); padding: 45px; position: relative; }
.nvi-price-card.is-featured { background: var(--nvi-site-dark); color: #fff; transform: translateY(-16px); }
.nvi-price-card__label { background: var(--nvi-site-accent); color: #fff; font-size: 8px; letter-spacing: .15em; padding: 7px 12px; position: absolute; right: 20px; text-transform: uppercase; top: 20px; }
.nvi-price-card h3 { font-family: Georgia,serif; font-size: 31px; font-weight: 400; }
.nvi-price { align-items: flex-start; display: flex; gap: 5px; margin: 28px 0 34px; }
.nvi-price small { font-size: 11px; margin-top: 8px; }
.nvi-price strong { font-family: Georgia,serif; font-size: 47px; font-weight: 400; }
.nvi-price-card ul { border-top: 1px solid currentColor; list-style: none; margin: 0 0 35px; opacity: .74; padding: 25px 0 0; }
.nvi-price-card li { font-size: 13px; margin: 10px 0; padding-left: 19px; position: relative; }
.nvi-price-card li::before { content: '✓'; left: 0; position: absolute; }
.nvi-price-card .nvi-button { width: 100%; }
.nvi-price-card.is-featured .nvi-button { background: var(--nvi-site-accent); }
.nvi-extra-services { background: var(--nvi-site-dark); color: #fff; max-width: none; }
.nvi-extra-services > * { margin-left: auto; margin-right: auto; max-width: 1290px; }
.nvi-service-links { margin-top: 60px; }
.nvi-service-link { align-items: center; border-top: 1px solid rgba(255,255,255,.16); display: grid; gap: 30px; grid-template-columns: 50px 1fr 40px; padding: 32px 0; text-decoration: none; transition: padding .2s; }
.nvi-service-link:last-child { border-bottom: 1px solid rgba(255,255,255,.16); }
.nvi-service-link:hover { padding-left: 15px; }
.nvi-service-link > span { color: var(--nvi-site-accent); font-family: Georgia,serif; }
.nvi-service-link h3 { font-family: Georgia,serif; font-size: 29px; font-weight: 400; margin: 0 0 5px; }
.nvi-service-link p { color: rgba(255,255,255,.55); font-size: 12px; margin: 0; }
.nvi-service-link b { font-size: 23px; font-weight: 400; }
.nvi-process ol { counter-reset: steps; display: grid; grid-template-columns: repeat(4,1fr); list-style: none; margin: 65px 0 0; padding: 0; }
.nvi-process li { border-left: 1px solid rgba(23,23,21,.16); min-height: 230px; padding: 0 30px; }
.nvi-process li > span { color: var(--nvi-site-accent); font-family: Georgia,serif; }
.nvi-process li h3 { font-family: Georgia,serif; font-size: 24px; font-weight: 400; margin: 85px 0 15px; }
.nvi-process li p { color: #706d66; font-size: 12px; }
.nvi-faq { display: grid; gap: 80px; grid-template-columns: .7fr 1fr; }
.nvi-faq__list { border-top: 1px solid rgba(23,23,21,.2); }
.nvi-faq details { border-bottom: 1px solid rgba(23,23,21,.2); }
.nvi-faq summary { cursor: pointer; font-family: Georgia,serif; font-size: 20px; list-style: none; padding: 24px 40px 24px 0; position: relative; }
.nvi-faq summary::after { content: '+'; position: absolute; right: 5px; }
.nvi-faq details[open] summary::after { content: '−'; }
.nvi-faq details p { color: #6a6862; font-size: 13px; padding: 0 40px 22px 0; }
.nvi-site-cta { align-items: center; background: var(--nvi-site-dark); color: #fff; display: flex; flex-direction: column; padding: 105px 25px; text-align: center; }
.nvi-site-cta h2 { font-size: clamp(42px,5vw,72px); max-width: 800px; }
.nvi-site-footer { background: #0d0d0c; color: #fff; display: grid; gap: 50px; grid-template-columns: 1.6fr 1fr 1fr; padding: 80px clamp(22px,7vw,105px) 35px; }
.nvi-site-footer > div { align-items: flex-start; display: flex; flex-direction: column; gap: 10px; }
.nvi-site-footer p,.nvi-site-footer span,.nvi-site-footer a:not(.nvi-site-brand) { color: rgba(255,255,255,.54); font-size: 12px; text-decoration: none; }
.nvi-site-footer strong { color: var(--nvi-site-accent); font-size: 9px; letter-spacing: .18em; margin-bottom: 15px; text-transform: uppercase; }
.nvi-site-footer__copy { border-top: 1px solid rgba(255,255,255,.12); grid-column: 1/-1; margin: 25px 0 0; padding-top: 25px; }
.nvi-inner-hero { background: var(--nvi-site-dark); color: #fff; padding: 120px clamp(22px,10vw,160px); }
.nvi-inner-hero.has-background-image { background-position:center; background-size:cover; }
.nvi-inner-hero h1 { font-size: clamp(65px,9vw,130px); margin: 0 0 25px; }
.nvi-inner-hero > p:last-child { color: rgba(255,255,255,.55); max-width: 600px; }
.nvi-filter-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 50px; }
.nvi-filter-tabs button { background: transparent; border: 1px solid rgba(23,23,21,.25); border-radius: 99px; cursor: pointer; font-size: 10px; letter-spacing: .08em; padding: 11px 18px; text-transform: uppercase; }
.nvi-filter-tabs button.is-active { background: var(--nvi-site-dark); color: #fff; }
.nvi-portfolio-grid { display: grid; gap: 55px 25px; grid-template-columns: repeat(4,1fr); }
.nvi-portfolio-card.is-hidden { display: none; }
.nvi-portfolio-card__visual { aspect-ratio: .72; }
.nvi-portfolio-card__visual.has-image { background-position:center; background-repeat:no-repeat; background-size:cover; }
.nvi-portfolio-card__visual.has-image::after { background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.42)); content:''; inset:0; position:absolute; }
.nvi-portfolio-card__visual.has-image > * { position:relative; text-shadow:0 1px 12px rgba(0,0,0,.55); z-index:1; }
.nvi-portfolio-card__visual small { bottom: 28px; font-size: 7px; letter-spacing: .2em; position: absolute; text-transform: uppercase; }
.nvi-portfolio-card > div { padding-top: 16px; }
.nvi-portfolio-card h2 { font-size: 27px; margin-bottom: 6px; }
.nvi-portfolio-card p { color: #6a6862; font-size: 11px; margin: 0 0 8px; }
.nvi-portfolio-card > div a { font-size: 9px; font-weight: 700; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.nvi-service-hero { background: var(--nvi-site-dark); color: #fff; display: grid; grid-template-columns: 1fr .8fr; min-height: 610px; padding: 90px clamp(22px,9vw,145px); }
.nvi-service-hero > div:first-child { align-self: center; max-width: 720px; }
.nvi-service-hero h1 { font-size: clamp(65px,8vw,115px); }
.nvi-service-hero p:not(.nvi-site-eyebrow) { color: rgba(255,255,255,.6); max-width: 580px; }
.nvi-service-hero__visual { align-self: center; aspect-ratio: 1; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; display: grid; place-items: center; position: relative; }
.nvi-service-hero__visual.has-image { background-position:center; background-size:cover; }
.nvi-service-hero__visual::before,.nvi-service-hero__visual::after { border: 1px solid rgba(199,154,98,.24); border-radius: 50%; content: ''; inset: 13%; position: absolute; }
.nvi-service-hero__visual::after { inset: 27%; }
.nvi-service-hero__visual span { color: var(--nvi-site-accent); font-family: Georgia,serif; font-size: clamp(60px,8vw,120px); }
.nvi-service-page--mc .nvi-service-hero__visual span,.nvi-service-page--adabooth .nvi-service-hero__visual span { font-family:Arial,sans-serif; font-size:clamp(28px,4vw,60px); font-weight:700; letter-spacing:.08em; }
.nvi-service-hero__visual i,.nvi-service-hero__visual b { background: var(--nvi-site-accent); border-radius: 50%; height: 12px; position: absolute; width: 12px; }
.nvi-service-hero__visual i { left: 5%; top: 45%; }.nvi-service-hero__visual b { bottom: 15%; right: 12%; }
.nvi-service-features { display: grid; gap: 1px; grid-template-columns: repeat(3,1fr); margin-top: 60px; }
.nvi-service-features article { border: 1px solid rgba(23,23,21,.15); margin: -1px 0 0 -1px; min-height: 160px; padding: 30px; }
.nvi-service-features span { color: var(--nvi-site-accent); font-family: Georgia,serif; }.nvi-service-features h3 { font-family: Georgia,serif; font-size: 21px; font-weight: 400; margin-top: 45px; }
.nvi-checkin-flow { background: #ded5c8; max-width: none; }.nvi-checkin-flow > * { margin-left: auto; margin-right: auto; max-width: 1290px; }.nvi-checkin-flow > div:last-child { display: grid; gap: 25px; grid-template-columns: 1fr 1fr; margin-top: 50px; }.nvi-checkin-flow article { background: rgba(255,255,255,.44); padding: 45px; }.nvi-checkin-flow article > span { font-size: 37px; }.nvi-checkin-flow h3 { font-family: Georgia,serif; font-size: 30px; font-weight: 400; }
.nvi-contact-hero { background: var(--nvi-site-dark); color: #fff; display: grid; gap: 80px; grid-template-columns: 1fr 500px; padding: 100px clamp(22px,8vw,130px); }.nvi-contact-hero.has-background-image { background-position:center; background-size:cover; }.nvi-contact-hero h1 { font-size: clamp(57px,7vw,98px); }.nvi-contact-hero > div > p:not(.nvi-site-eyebrow) { color: rgba(255,255,255,.56); max-width: 620px; }.nvi-contact-details { border-top: 1px solid rgba(255,255,255,.16); display: grid; gap: 18px; margin-top: 60px; padding-top: 28px; }.nvi-contact-details > * { display: flex; flex-direction: column; text-decoration: none; }.nvi-contact-details small { color: var(--nvi-site-accent); font-size: 8px; letter-spacing: .16em; text-transform: uppercase; }.nvi-contact-details strong { font-size: 15px; font-weight: 400; }.nvi-contact-form { background: #f1ebdf; color: var(--nvi-site-dark); padding: 45px; }.nvi-contact-form label { display: block; font-size: 10px; font-weight: 700; letter-spacing: .08em; margin-bottom: 20px; text-transform: uppercase; }.nvi-contact-form input,.nvi-contact-form select,.nvi-contact-form textarea { background: transparent; border: 0; border-bottom: 1px solid rgba(23,23,21,.3); border-radius: 0; color: inherit; display: block; outline: none; padding: 11px 0; width: 100%; }.nvi-contact-form textarea { resize: vertical; }.nvi-hours-grid { display: grid; gap: 1px; grid-template-columns: repeat(3,1fr); margin-top: 50px; }.nvi-hours-grid article { border: 1px solid rgba(23,23,21,.15); display: flex; flex-direction: column; margin: -1px 0 0 -1px; padding: 35px; }.nvi-hours-grid span { color: #6a6862; font-size: 11px; }.nvi-hours-grid strong { font-family: Georgia,serif; font-size: 22px; font-weight: 400; margin-top: 22px; }

/* Invitation */
.nvi-invitation { --nvi-paper:#eee3d5; --nvi-ink:#28211b; --nvi-accent:#986c48; --nvi-soft:#d7c1a8; background: var(--nvi-paper); color: var(--nvi-ink); font-family: Arial,Helvetica,sans-serif; line-height: 1.65; min-height: 100vh; overflow: clip; position: relative; width: 100%; }
.nvi-invitation h1,.nvi-invitation h2,.nvi-invitation h3,.nvi-invitation p { margin-top: 0; }.nvi-invitation h1,.nvi-invitation h2,.nvi-invitation h3,.nvi-signature { font-family: Georgia,'Times New Roman',serif; font-weight: 400; }.nvi-invitation .nvi-kicker { color: var(--nvi-accent); font-size: 9px; font-weight: 700; letter-spacing: .24em; text-transform: uppercase; }.nvi-invitation .nvi-button { --nvi-site-dark:var(--nvi-ink); }
.nvi-preset-editorial { --nvi-paper:#f2f0ea; --nvi-ink:#161615; --nvi-accent:#a64936; --nvi-soft:#d3d0c7; }.nvi-preset-moody { --nvi-paper:#211a1d; --nvi-ink:#f1e8dc; --nvi-accent:#c79a86; --nvi-soft:#624852; }.nvi-preset-watercolor { --nvi-paper:#eef0eb; --nvi-ink:#3e4943; --nvi-accent:#ad756f; --nvi-soft:#c6d8cf; }.nvi-preset-nusantara { --nvi-paper:#ead8c2; --nvi-ink:#3c241c; --nvi-accent:#9b4e31; --nvi-soft:#c99b68; }
.nvi-preset-watercolor::before { background: radial-gradient(circle at 5% 15%,rgba(239,174,164,.32),transparent 20%),radial-gradient(circle at 95% 42%,rgba(131,177,168,.3),transparent 21%); content:''; inset:0; pointer-events:none; position:absolute; }.nvi-preset-nusantara::before { background-image:linear-gradient(30deg,rgba(155,78,49,.045) 12%,transparent 12.5%,transparent 87%,rgba(155,78,49,.045) 87.5%),linear-gradient(150deg,rgba(155,78,49,.045) 12%,transparent 12.5%,transparent 87%,rgba(155,78,49,.045) 87.5%); background-size:45px 78px; content:''; inset:0; pointer-events:none; position:absolute; }
.nvi-cover { align-items: center; background-color:#171513; background-image:linear-gradient(rgba(13,12,11,.48),rgba(13,12,11,.72)),var(--nvi-cover-image,radial-gradient(circle at 70% 20%,#604d3d,#171513 60%)); background-position:center; background-size:cover; color:#fff; display:flex; inset:0; justify-content:center; min-height:100svh; overflow:hidden; position:fixed; text-align:center; transition:transform 1s cubic-bezier(.72,0,.2,1),opacity .8s; z-index:99999; }.nvi-cover.is-open { opacity:0; pointer-events:none; transform:translateY(-105%); }.nvi-cover__veil { background:radial-gradient(circle,transparent 0,rgba(0,0,0,.25) 65%,rgba(0,0,0,.55)); inset:0; position:absolute; }.nvi-cover__ornament { border:1px solid rgba(255,255,255,.22); border-radius:50%; height:min(70vw,560px); position:absolute; width:min(70vw,560px); }.nvi-cover__ornament::before,.nvi-cover__ornament::after { border:1px solid rgba(199,154,98,.23); border-radius:50%; content:''; inset:7%; position:absolute; }.nvi-cover__ornament::after { inset:18%; }.nvi-cover__content { max-width:560px; padding:35px 24px; position:relative; z-index:2; }.nvi-cover h1 { font-size:clamp(53px,9vw,105px); line-height:.92; margin:18px 0; }.nvi-cover h1 span { color:var(--nvi-accent); display:block; font-size:.56em; font-style:italic; margin:4px; }.nvi-cover__date { font-size:10px; letter-spacing:.2em; text-transform:uppercase; }.nvi-cover__guest { border-bottom:1px solid rgba(255,255,255,.2); border-top:1px solid rgba(255,255,255,.2); display:flex; flex-direction:column; margin:34px auto 16px; max-width:320px; padding:14px; }.nvi-cover__guest small { color:rgba(255,255,255,.55); font-size:9px; }.nvi-cover__guest strong { font-family:Georgia,serif; font-size:20px; font-weight:400; }.nvi-cover__note { color:rgba(255,255,255,.58); font-size:11px; margin:0 auto 22px; max-width:360px; }.nvi-cover .nvi-button { min-width:190px; }
body.nvi-cover-active { overflow:hidden; }.nvi-music { background:var(--nvi-ink); border:1px solid rgba(255,255,255,.2); border-radius:50%; bottom:90px; color:var(--nvi-paper); cursor:pointer; height:44px; padding:5px; position:fixed; right:18px; width:44px; z-index:80; }.nvi-music__disc { align-items:center; border:1px dashed currentColor; border-radius:50%; display:flex; height:100%; justify-content:center; transition:transform 5s linear; width:100%; }.nvi-music.is-playing .nvi-music__disc { animation:nvi-spin 5s linear infinite; }@keyframes nvi-spin{to{transform:rotate(360deg)}}
.nvi-section { margin:0 auto; max-width:1180px; padding:105px clamp(20px,6vw,80px); position:relative; }.nvi-section-heading { margin:0 auto 60px; max-width:720px; text-align:center; }.nvi-section-heading h2 { font-size:clamp(43px,6vw,73px); line-height:1; margin-bottom:18px; }.nvi-section-heading > p:last-child { font-size:13px; margin-left:auto; margin-right:auto; max-width:600px; opacity:.65; }
.nvi-hero { align-items:center; display:grid; gap:70px; grid-template-columns:1fr 1fr; max-width:none; min-height:850px; padding-left:clamp(20px,8vw,130px); padding-right:clamp(20px,8vw,130px); }.nvi-hero__photo { background-color:var(--nvi-soft); background-image:linear-gradient(180deg,transparent,rgba(0,0,0,.28)),var(--nvi-hero-image,linear-gradient(145deg,var(--nvi-soft),var(--nvi-accent))); background-position:center; background-size:cover; height:min(720px,78vw); max-width:560px; position:relative; width:100%; }.nvi-hero__frame { border:1px solid var(--nvi-accent); inset:25px -25px -25px 25px; opacity:.55; position:absolute; }.nvi-hero__content { max-width:610px; }.nvi-hero h2 { font-size:clamp(64px,9vw,125px); line-height:.78; margin:25px 0; }.nvi-hero h2 em { color:var(--nvi-accent); display:block; font-size:.55em; font-weight:400; margin:20px 0; text-align:center; }.nvi-hero__date { font-size:11px; letter-spacing:.18em; text-transform:uppercase; }.nvi-hero blockquote { border-left:1px solid var(--nvi-accent); font-family:Georgia,serif; font-size:17px; font-style:italic; margin:35px 0; opacity:.75; padding-left:24px; }.nvi-countdown { display:flex; gap:9px; margin:28px 0; }.nvi-countdown > div { border:1px solid color-mix(in srgb,var(--nvi-ink) 22%,transparent); min-width:75px; padding:13px 9px; text-align:center; }.nvi-countdown strong { display:block; font-family:Georgia,serif; font-size:27px; font-weight:400; line-height:1; }.nvi-countdown span { font-size:7px; letter-spacing:.12em; text-transform:uppercase; }
.nvi-couple { max-width:1250px; }.nvi-couple__grid { align-items:center; display:grid; gap:35px; grid-template-columns:1fr 80px 1fr; }.nvi-person { text-align:center; }.nvi-person__photo { align-items:center; background:linear-gradient(145deg,var(--nvi-soft),var(--nvi-accent)); border-radius:50% 50% 8px 8px; display:flex; height:430px; justify-content:center; margin:0 auto 35px; max-width:340px; overflow:hidden; position:relative; }.nvi-person__photo::after { border:1px solid rgba(255,255,255,.45); content:''; inset:14px; position:absolute; }.nvi-person__photo.has-image { background-position:center; background-size:cover; }.nvi-person__photo.has-image span { display:none; }.nvi-person__photo span { color:rgba(255,255,255,.7); font-family:Georgia,serif; font-size:130px; }.nvi-person__role { color:var(--nvi-accent); font-size:8px; letter-spacing:.18em; text-transform:uppercase; }.nvi-person h3 { font-size:34px; margin:8px 0 13px; }.nvi-person p:not(.nvi-person__role) { font-size:12px; opacity:.65; }.nvi-person > a { color:var(--nvi-accent); font-size:10px; text-decoration:none; }.nvi-couple__amp { color:var(--nvi-accent); font-family:Georgia,serif; font-size:65px; font-style:italic; text-align:center; }
.nvi-story { max-width:980px; }.nvi-timeline { position:relative; }.nvi-timeline::before { background:color-mix(in srgb,var(--nvi-ink) 18%,transparent); content:''; left:50%; position:absolute; top:0; bottom:0; width:1px; }.nvi-timeline__item { display:grid; gap:45px; grid-template-columns:1fr 1fr; margin:0 0 55px; position:relative; }.nvi-timeline__item:nth-child(even) div { grid-column:1; grid-row:1; text-align:right; }.nvi-timeline__item:nth-child(odd) div { grid-column:2; }.nvi-timeline__number { align-items:center; background:var(--nvi-accent); border-radius:50%; color:#fff; display:flex; font-family:Georgia,serif; height:38px; justify-content:center; left:50%; position:absolute; top:0; transform:translateX(-50%); width:38px; }.nvi-timeline time { color:var(--nvi-accent); font-size:10px; font-weight:700; letter-spacing:.13em; }.nvi-timeline p { font-family:Georgia,serif; font-size:18px; margin:8px 0 0; opacity:.76; }
.nvi-event { max-width:1250px; }.nvi-event__grid { display:grid; gap:28px; grid-template-columns:1fr 1fr; }.nvi-event-card { border:1px solid color-mix(in srgb,var(--nvi-ink) 20%,transparent); padding:48px; position:relative; text-align:center; }.nvi-event-card__index { color:var(--nvi-accent); font-family:Georgia,serif; font-size:12px; }.nvi-event-card h3 { font-size:38px; margin:18px 0 12px; }.nvi-event-card__date { font-size:10px; letter-spacing:.12em; text-transform:uppercase; }.nvi-event-card > strong { font-size:13px; }.nvi-event-card hr { border:0; border-top:1px solid color-mix(in srgb,var(--nvi-ink) 15%,transparent); margin:28px 0; }.nvi-event-card h4 { font-family:Georgia,serif; font-size:20px; font-weight:400; margin:0 0 7px; }.nvi-event-card p { font-size:11px; opacity:.65; }.nvi-dress { align-items:center; background:color-mix(in srgb,var(--nvi-soft) 52%,transparent); display:grid; gap:30px; grid-template-columns:1fr auto; margin-top:30px; padding:35px 45px; }.nvi-dress h3 { font-size:28px; margin:0 0 7px; }.nvi-dress p:last-child { font-size:11px; margin:0; max-width:550px; opacity:.65; }.nvi-dress__swatches { display:flex; }.nvi-dress__swatches span { border:3px solid var(--nvi-paper); border-radius:50%; box-shadow:0 2px 8px rgba(0,0,0,.12); height:48px; margin-left:-8px; width:48px; }.nvi-action-grid { display:grid; gap:15px; grid-template-columns:repeat(3,1fr); margin-top:30px; }.nvi-action-card { align-items:center; border:1px solid color-mix(in srgb,var(--nvi-ink) 18%,transparent); display:flex; flex-direction:column; padding:30px 20px; text-align:center; text-decoration:none; transition:background .2s,color .2s,transform .2s; }.nvi-action-card:hover { background:var(--nvi-ink); color:var(--nvi-paper); transform:translateY(-4px); }.nvi-action-card > span { color:var(--nvi-accent); font-size:28px; }.nvi-action-card strong { font-family:Georgia,serif; font-size:19px; margin:9px 0 3px; }.nvi-action-card small { font-size:9px; opacity:.6; }
.nvi-qr { max-width:800px; }.nvi-ticket { background:var(--nvi-ink); box-shadow:0 25px 70px rgba(0,0,0,.22); color:var(--nvi-paper); display:grid; grid-template-columns:80px 1fr; }.nvi-ticket__aside { align-items:center; border-right:1px dashed color-mix(in srgb,var(--nvi-paper) 35%,transparent); display:flex; flex-direction:column; justify-content:center; writing-mode:vertical-rl; }.nvi-ticket__aside span { font-size:8px; letter-spacing:.2em; text-transform:uppercase; }.nvi-ticket__aside strong { color:var(--nvi-accent); font-family:Georgia,serif; letter-spacing:.13em; margin-top:20px; }.nvi-ticket__body { padding:48px; text-align:center; }.nvi-ticket h2 { font-size:40px; margin:10px 0 8px; }.nvi-ticket__meta { display:flex; font-size:9px; gap:22px; justify-content:center; letter-spacing:.08em; }.nvi-ticket hr { border:0; border-top:1px dashed color-mix(in srgb,var(--nvi-paper) 30%,transparent); margin:27px 0; }.nvi-ticket h3 { font-size:27px; margin:4px 0; }.nvi-ticket p { font-size:10px; opacity:.68; }.nvi-ticket__qr { background:#fff; display:inline-block; margin:18px auto 8px; padding:10px; }.nvi-ticket__qr canvas { display:block; max-width:180px; width:100%; }.nvi-ticket .nvi-button--outline { border-color:var(--nvi-accent); color:var(--nvi-paper); }
.nvi-ticket__actions { display:flex; flex-wrap:wrap; gap:8px; justify-content:center; }.nvi-ticket__actions .nvi-button { min-height:42px; padding:0 16px; }
.nvi-gallery { max-width:1250px; }.nvi-video { margin:0 auto 45px; max-width:850px; }.nvi-video iframe { aspect-ratio:16/9; height:auto; width:100%; }.nvi-gallery__grid { display:grid; gap:10px; grid-auto-rows:210px; grid-template-columns:repeat(4,1fr); }.nvi-gallery__item { background:var(--nvi-soft); border:0; cursor:pointer; margin:0; overflow:hidden; padding:0; position:relative; }.nvi-gallery__item--1 { grid-row:span 2; }.nvi-gallery__item--4 { grid-column:span 2; }.nvi-gallery__item img { height:100%; object-fit:cover; transition:transform .6s; width:100%; }.nvi-gallery__item:hover img { transform:scale(1.05); }.nvi-gallery__placeholder { align-items:center; background:radial-gradient(circle at 20% 20%,color-mix(in srgb,var(--nvi-accent) 60%,transparent),transparent 35%),linear-gradient(145deg,var(--nvi-soft),color-mix(in srgb,var(--nvi-accent) 40%,var(--nvi-paper))); display:flex; justify-content:center; }.nvi-gallery__placeholder span { color:color-mix(in srgb,var(--nvi-paper) 70%,transparent); font-family:Georgia,serif; font-size:45px; }.nvi-lightbox { align-items:center; background:rgba(0,0,0,.9); display:flex; inset:0; justify-content:center; padding:40px; position:fixed; z-index:100000; }.nvi-lightbox[hidden] { display:none; }.nvi-lightbox img { max-height:90vh; max-width:90vw; }.nvi-lightbox button { background:none; border:0; color:#fff; cursor:pointer; font-size:38px; position:absolute; right:20px; top:15px; }
.nvi-rsvp { max-width:1200px; }.nvi-rsvp__stats { display:flex; justify-content:center; margin:-20px 0 45px; }.nvi-rsvp__stats div { border-right:1px solid color-mix(in srgb,var(--nvi-ink) 20%,transparent); min-width:100px; padding:0 22px; text-align:center; }.nvi-rsvp__stats div:last-child { border:0; }.nvi-rsvp__stats strong { display:block; font-family:Georgia,serif; font-size:26px; font-weight:400; }.nvi-rsvp__stats span { font-size:8px; letter-spacing:.1em; text-transform:uppercase; }.nvi-rsvp__layout { display:grid; gap:30px; grid-template-columns:.9fr 1.1fr; }.nvi-form,.nvi-wishes { border:1px solid color-mix(in srgb,var(--nvi-ink) 18%,transparent); padding:40px; }.nvi-form label { display:block; font-size:9px; font-weight:700; letter-spacing:.1em; margin-bottom:20px; text-transform:uppercase; }.nvi-form input,.nvi-form select,.nvi-form textarea { background:transparent; border:0; border-bottom:1px solid color-mix(in srgb,var(--nvi-ink) 28%,transparent); border-radius:0; color:var(--nvi-ink); display:block; outline:none; padding:10px 0; width:100%; }.nvi-form textarea { resize:vertical; }.nvi-form__status { font-size:11px; margin:12px 0 0; }.nvi-honeypot { left:-9999px!important; position:absolute!important; }.nvi-wishes h3 { font-size:26px; }.nvi-wishes__list { max-height:480px; overflow:auto; padding-right:8px; }.nvi-wishes article { border-top:1px solid color-mix(in srgb,var(--nvi-ink) 15%,transparent); padding:18px 0; }.nvi-wishes article > div { align-items:center; display:flex; gap:10px; justify-content:space-between; }.nvi-wishes strong { font-family:Georgia,serif; font-size:17px; }.nvi-wishes p { font-size:12px; margin:9px 0; opacity:.75; }.nvi-wishes time { font-size:8px; opacity:.45; }.nvi-badge { background:color-mix(in srgb,var(--nvi-accent) 20%,transparent); border-radius:99px; color:var(--nvi-accent); font-size:7px; font-weight:700; letter-spacing:.08em; padding:4px 8px; text-transform:uppercase; }
.nvi-gift { max-width:1000px; text-align:center; }.nvi-gift__grid { display:grid; gap:18px; grid-template-columns:repeat(2,1fr); margin-bottom:28px; text-align:left; }.nvi-bank-card { background:var(--nvi-ink); color:var(--nvi-paper); display:flex; flex-direction:column; min-height:210px; padding:35px; position:relative; }.nvi-bank-card::after { border:1px solid color-mix(in srgb,var(--nvi-paper) 20%,transparent); content:''; inset:10px; pointer-events:none; position:absolute; }.nvi-bank-card > * { position:relative; z-index:1; }.nvi-bank-card > span { color:var(--nvi-accent); font-size:10px; font-weight:700; letter-spacing:.12em; }.nvi-bank-card > strong { font-family:Georgia,serif; font-size:28px; font-weight:400; margin-top:28px; }.nvi-bank-card > small { font-size:9px; opacity:.65; }.nvi-bank-card > button { align-self:flex-start; background:none; border:0; border-bottom:1px solid currentColor; color:inherit; cursor:pointer; font-size:8px; letter-spacing:.1em; margin-top:auto; padding:5px 0; text-transform:uppercase; }.nvi-bank-card--address p { font-family:Georgia,serif; font-size:18px; margin:22px 0; }.nvi-outro { align-items:center; display:flex; min-height:630px; text-align:center; }.nvi-outro > div { margin:auto; max-width:760px; }.nvi-outro h2 { font-size:clamp(45px,7vw,79px); }.nvi-signature { color:var(--nvi-accent); font-size:clamp(42px,6vw,67px); margin:35px 0 12px; }.nvi-signature span { font-style:italic; }.nvi-hashtag { font-size:10px; letter-spacing:.12em; }
.nvi-registry { border:1px solid color-mix(in srgb,var(--nvi-ink) 18%,transparent); margin:35px 0; padding:30px; text-align:left; }.nvi-registry__head { align-items:flex-end; display:flex; justify-content:space-between; }.nvi-registry__head h3 { font-size:30px; margin:0 0 12px; }.nvi-registry__list { display:grid; gap:1px; grid-template-columns:repeat(3,1fr); }.nvi-registry__list a { align-items:center; background:color-mix(in srgb,var(--nvi-soft) 35%,transparent); display:grid; gap:12px; grid-template-columns:38px 1fr auto; padding:16px; text-decoration:none; }.nvi-registry__list a > span { align-items:center; background:var(--nvi-accent); border-radius:50%; color:#fff; display:flex; font-family:Georgia,serif; height:38px; justify-content:center; }.nvi-registry__list strong,.nvi-registry__list small { display:block; }.nvi-registry__list strong { font-family:Georgia,serif; font-size:14px; }.nvi-registry__list small { font-size:8px; opacity:.6; }.nvi-registry__list b { font-weight:400; }
.nvi-dock { align-items:center; backdrop-filter:blur(16px); background:color-mix(in srgb,var(--nvi-ink) 92%,transparent); border:1px solid color-mix(in srgb,var(--nvi-paper) 16%,transparent); border-radius:18px; bottom:15px; color:var(--nvi-paper); display:flex; gap:3px; left:50%; padding:7px; position:fixed; transform:translateX(-50%); z-index:70; }.nvi-dock a { align-items:center; border-radius:13px; display:flex; flex-direction:column; min-width:58px; padding:6px 9px; text-decoration:none; transition:background .2s; }.nvi-dock a:hover { background:color-mix(in srgb,var(--nvi-accent) 35%,transparent); }.nvi-dock span { font-size:15px; line-height:1; }.nvi-dock small { font-size:6px; letter-spacing:.06em; margin-top:4px; text-transform:uppercase; }.nvi-toast { background:var(--nvi-ink); border-radius:99px; bottom:90px; color:var(--nvi-paper); font-size:10px; left:50%; opacity:0; padding:10px 18px; pointer-events:none; position:fixed; transform:translate(-50%,10px); transition:.25s; z-index:100001; }.nvi-toast.is-visible { opacity:1; transform:translate(-50%,0); }

/* Check-in */
.nvi-checkin-page { background:var(--nvi-site-dark); color:#fff; min-height:100vh; }.nvi-checkin-login { align-items:center; display:flex; justify-content:center; min-height:100vh; padding:30px; text-align:center; }.nvi-checkin-login > div { max-width:500px; }.nvi-checkin-login span { color:var(--nvi-site-accent); font-size:60px; }.nvi-checkin-login h1 { font-size:56px; margin:15px 0; }.nvi-checkin-login p { color:rgba(255,255,255,.58); }.nvi-checkin-console { margin:auto; max-width:1100px; min-height:100vh; padding:45px 25px; }.nvi-checkin-console header { align-items:center; border-bottom:1px solid rgba(255,255,255,.15); display:flex; justify-content:space-between; margin-bottom:35px; }.nvi-checkin-console h1 { font-size:46px; }.nvi-checkin-console header > span { color:var(--nvi-site-accent); font-family:Georgia,serif; font-size:20px; }.nvi-scanner { background:#080808; height:500px; overflow:hidden; position:relative; }.nvi-scanner video { height:100%; object-fit:cover; width:100%; }.nvi-scanner > .nvi-button { bottom:25px; left:50%; position:absolute; transform:translateX(-50%); z-index:3; }.nvi-scanner__frame { height:270px; left:50%; position:absolute; top:50%; transform:translate(-50%,-50%); width:270px; }.nvi-scanner__frame i { border-color:var(--nvi-site-accent); border-style:solid; height:45px; position:absolute; width:45px; }.nvi-scanner__frame i:nth-child(1){border-width:3px 0 0 3px;left:0;top:0}.nvi-scanner__frame i:nth-child(2){border-width:3px 3px 0 0;right:0;top:0}.nvi-scanner__frame i:nth-child(3){border-width:0 0 3px 3px;bottom:0;left:0}.nvi-scanner__frame i:nth-child(4){border-width:0 3px 3px 0;bottom:0;right:0}.nvi-manual-checkin { background:#1f1f1c; padding:25px; }.nvi-manual-checkin p { color:rgba(255,255,255,.55); font-size:11px; }.nvi-manual-checkin form { display:flex; gap:10px; }.nvi-manual-checkin input { background:#0c0c0b; border:1px solid rgba(255,255,255,.2); color:#fff; flex:1; min-width:0; padding:0 15px; }.nvi-checkin-result { align-items:center; background:#f1eadf; color:#171715; display:flex; flex-direction:column; inset:0; justify-content:center; padding:35px; position:fixed; text-align:center; z-index:100; }.nvi-checkin-result[hidden] { display:none; }.nvi-checkin-result > span { align-items:center; background:#3f7354; border-radius:50%; color:#fff; display:flex; font-size:42px; height:90px; justify-content:center; width:90px; }.nvi-checkin-result h2 { font-size:64px; margin:24px 0 8px; }.nvi-checkin-result dl { display:flex; gap:1px; margin:25px 0; }.nvi-checkin-result dl div { background:#ded5c8; min-width:130px; padding:15px; }.nvi-checkin-result dt { color:#716a61; font-size:8px; letter-spacing:.1em; text-transform:uppercase; }.nvi-checkin-result dd { font-family:Georgia,serif; margin:4px 0 0; }

@media (max-width: 1024px) {
	.nvi-site-hero { grid-template-columns:1fr; }.nvi-site-hero__visual { display:none; }.nvi-feature-grid,.nvi-service-features { grid-template-columns:repeat(2,1fr); }.nvi-theme-strip { grid-template-columns:repeat(5,230px); }.nvi-portfolio-grid { grid-template-columns:repeat(3,1fr); }.nvi-contact-hero { grid-template-columns:1fr 420px; gap:40px; }.nvi-hero { gap:45px; padding-left:45px; padding-right:45px; }.nvi-person__photo { height:360px; }.nvi-gallery__grid { grid-template-columns:repeat(3,1fr); }
}
@media (max-width: 767px) {
	.nvi-site-header { height:68px; padding:0 18px; }.nvi-site-header__cta { display:none; }.nvi-menu-toggle { display:block; margin-left:auto; }.nvi-site-nav { background:#11110f; flex-direction:column; inset:68px 0 auto; opacity:0; padding:28px; pointer-events:none; position:absolute; transform:translateY(-12px); transition:.2s; }.nvi-site-nav.is-open { opacity:1; pointer-events:auto; transform:none; }.nvi-site-nav a { font-size:13px; }.nvi-site-hero { min-height:670px; padding:75px 22px; }.nvi-site-hero h1 { font-size:55px; }.nvi-site-actions { align-items:flex-start; flex-direction:column; }.nvi-site-proof { gap:22px; }.nvi-site-section { padding:80px 20px; }.nvi-site-section__head h2 { font-size:42px; }.nvi-feature-grid,.nvi-price-grid,.nvi-service-features,.nvi-hours-grid { grid-template-columns:1fr; }.nvi-feature-card { min-height:220px; }.nvi-price-card.is-featured { transform:none; }.nvi-process ol { grid-template-columns:1fr; }.nvi-process li { min-height:0; padding:25px; }.nvi-process li h3 { margin:25px 0 10px; }.nvi-faq { gap:35px; grid-template-columns:1fr; }.nvi-site-footer { grid-template-columns:1fr; padding:65px 22px 30px; }.nvi-site-footer__copy { grid-column:auto; }.nvi-inner-hero { padding:90px 22px; }.nvi-inner-hero h1 { font-size:66px; }.nvi-portfolio-grid { grid-template-columns:repeat(2,1fr); gap:35px 12px; }.nvi-portfolio-card h2 { font-size:21px; }.nvi-service-hero { grid-template-columns:1fr; min-height:650px; padding:70px 22px; }.nvi-service-hero h1 { font-size:64px; }.nvi-service-hero__visual { display:none; }.nvi-checkin-flow > div:last-child { grid-template-columns:1fr; }.nvi-contact-hero { grid-template-columns:1fr; padding:75px 20px; }.nvi-contact-hero h1 { font-size:55px; }.nvi-contact-form { padding:30px 22px; }
	.nvi-section { padding:80px 19px; }.nvi-cover__ornament { height:85vw; width:85vw; }.nvi-cover h1 { font-size:58px; }.nvi-hero { display:block; min-height:0; padding:0 0 80px; }.nvi-hero__photo { height:72vh; max-width:none; }.nvi-hero__frame { inset:14px; }.nvi-hero__content { padding:65px 20px 0; text-align:center; }.nvi-hero h2 { font-size:67px; }.nvi-hero blockquote { text-align:left; }.nvi-countdown { justify-content:center; }.nvi-countdown > div { min-width:0; width:25%; }.nvi-couple__grid { display:block; }.nvi-person { margin-bottom:65px; }.nvi-person__photo { height:390px; }.nvi-couple__amp { margin:-40px 0 25px; }.nvi-timeline::before { left:19px; }.nvi-timeline__item { display:block; margin:0 0 45px; padding-left:60px; }.nvi-timeline__item:nth-child(even) div { text-align:left; }.nvi-timeline__number { left:19px; }.nvi-event__grid { grid-template-columns:1fr; }.nvi-event-card { padding:35px 20px; }.nvi-dress { grid-template-columns:1fr; padding:30px 22px; }.nvi-dress__swatches { padding-left:8px; }.nvi-action-grid { grid-template-columns:1fr; }.nvi-ticket { grid-template-columns:45px 1fr; }.nvi-ticket__body { padding:32px 18px; }.nvi-ticket h2 { font-size:31px; }.nvi-gallery__grid { grid-auto-rows:150px; grid-template-columns:repeat(2,1fr); }.nvi-gallery__item--4 { grid-column:span 1; }.nvi-rsvp__layout { grid-template-columns:1fr; }.nvi-form,.nvi-wishes { padding:28px 20px; }.nvi-gift__grid,.nvi-registry__list { grid-template-columns:1fr; }.nvi-dock { max-width:calc(100vw - 18px); }.nvi-dock a { min-width:52px; padding:6px; }.nvi-checkin-console { padding:25px 12px; }.nvi-checkin-console h1 { font-size:35px; }.nvi-scanner { height:60vh; }.nvi-manual-checkin form { flex-direction:column; }.nvi-manual-checkin input { min-height:48px; }.nvi-checkin-result h2 { font-size:46px; }.nvi-checkin-result dl { flex-wrap:wrap; justify-content:center; }.nvi-checkin-result dl div { min-width:105px; }
}
@media (max-width: 440px) { .nvi-portfolio-grid { grid-template-columns:1fr; }.nvi-site-proof span { font-size:8px; }.nvi-countdown span { letter-spacing:0; }.nvi-countdown strong { font-size:23px; } }
@media (prefers-reduced-motion: reduce) { .nvi-music.is-playing .nvi-music__disc { animation:none; }.nvi-cover { transition:none; } }

/* Elementor marketing blocks — editorial invitation storefront */
.nvi-attari-site { --nvi-attari-ink:#23211d; --nvi-attari-white:#fff; background:#fff; color:var(--nvi-attari-ink); font-family:Arial,Helvetica,sans-serif; }
.nvi-attari-block { min-height:0; overflow:visible; }
.nvi-attari-block--header { height:0; position:relative; z-index:9990; }
.nvi-attari-topbar { align-items:center; background:#171714; color:#fff; display:flex; font-size:9px; height:29px; justify-content:center; left:0; letter-spacing:.06em; padding:0 18px; position:fixed; right:0; text-align:center; top:0; z-index:9992; }
.nvi-attari-header { align-items:center; background:linear-gradient(to bottom,rgba(0,0,0,.42),transparent); color:#fff; display:flex; height:92px; justify-content:space-between; left:0; padding:0 clamp(28px,7.5vw,112px); position:fixed; right:0; top:29px; transition:background .35s,box-shadow .35s,height .35s; z-index:9991; }
.nvi-attari-header.is-scrolled { backdrop-filter:blur(14px); background:rgba(26,25,22,.88); box-shadow:0 8px 30px rgba(0,0,0,.12); height:76px; }
body.admin-bar .nvi-attari-topbar { top:32px; } body.admin-bar .nvi-attari-header { top:61px; }
.nvi-attari-brand { color:#fff; font-family:Georgia,'Times New Roman',serif; font-size:42px; font-weight:400; letter-spacing:-.06em; line-height:1; text-decoration:none; }.nvi-attari-brand.has-logo img { display:block; max-height:52px; max-width:210px; object-fit:contain; }
.nvi-attari-brand span { color:var(--nvi-site-accent); }
.nvi-attari-nav { align-items:center; display:flex; gap:34px; margin-left:auto; margin-right:42px; }
.nvi-attari-nav a { color:rgba(255,255,255,.76); font-size:10px; letter-spacing:.12em; text-decoration:none; text-transform:uppercase; }
.nvi-attari-nav a:hover { color:#fff; }
.nvi-attari-order { background:#171714; border:1px solid rgba(255,255,255,.12); border-radius:99px; color:#fff!important; font-size:11px; letter-spacing:.06em; min-width:88px; padding:13px 21px; text-align:center; text-decoration:none; }
.nvi-attari-menu { background:none; border:0; cursor:pointer; display:none; height:42px; width:42px; }.nvi-attari-menu i { background:#fff; display:block; height:1px; margin:7px auto; transition:.2s; width:24px; }

.nvi-attari-hero { align-items:center; color:#fff; display:flex; justify-content:center; min-height:100vh; overflow:hidden; padding:150px 24px 88px; position:relative; text-align:center; }
.nvi-attari-hero__slides,.nvi-attari-hero__slide,.nvi-attari-hero__shade { inset:0; position:absolute; }
.nvi-attari-hero__slide { background-position:center; background-size:cover; opacity:0; transform:scale(1.06); transition:opacity 1.4s ease,transform 7s linear; }
.nvi-attari-hero__slide.is-active { opacity:1; transform:scale(1); }
.nvi-attari-hero__shade { background:linear-gradient(180deg,rgba(0,0,0,.2),rgba(0,0,0,.38) 55%,rgba(0,0,0,.55)); }
.nvi-attari-hero__content { max-width:920px; position:relative; z-index:2; }
.nvi-attari-eyebrow { font-size:18px; font-weight:700; letter-spacing:.08em; margin:0 0 20px; text-transform:uppercase; }
.nvi-attari-hero h1 { font-family:Georgia,'Times New Roman',serif; font-size:clamp(55px,6.5vw,95px); font-weight:400; height:1.12em; letter-spacing:-.055em; line-height:1; margin:0; position:relative; }
.nvi-attari-hero h1 span { inset:0; opacity:0; position:absolute; transform:translateY(18px); transition:opacity .5s,transform .5s; white-space:nowrap; }.nvi-attari-hero h1 span.is-active { opacity:1; transform:none; }
.nvi-attari-hero__description { font-family:Georgia,'Times New Roman',serif; font-size:clamp(17px,1.7vw,25px); font-style:italic; line-height:1.4; margin:25px auto 0; max-width:620px; }
.nvi-attari-hero__actions { display:flex; flex-direction:column; gap:10px; margin:44px auto 0; max-width:250px; }
.nvi-attari-hero__actions a { border:1px solid rgba(255,255,255,.9); border-radius:99px; color:#fff; font-size:11px; letter-spacing:.04em; padding:14px 24px; text-decoration:none; transition:.25s; }
.nvi-attari-hero__actions a:first-child:hover { background:#fff; color:#171714; }.nvi-attari-hero__actions a:last-child:hover { background:rgba(255,255,255,.14); }
.nvi-attari-hero__bullets { bottom:28px; display:flex; gap:12px; left:50%; position:absolute; transform:translateX(-50%); z-index:3; }.nvi-attari-hero__bullets button { background:rgba(255,255,255,.42); border:0; border-radius:50%; cursor:pointer; height:11px; padding:0; width:11px; }.nvi-attari-hero__bullets button.is-active { background:#fff; box-shadow:0 0 0 3px rgba(255,255,255,.18); }

.nvi-attari-narrow { margin:auto; max-width:760px; }.nvi-attari-about { background:#fff; padding:155px 24px; text-align:center; }.nvi-attari-about.has-image { align-items:center; display:grid; gap:60px; grid-template-columns:minmax(260px,480px) minmax(0,760px); justify-content:center; text-align:left; }.nvi-attari-about__image img { aspect-ratio:4/5; display:block; object-fit:cover; width:100%; }.nvi-attari-about h2,.nvi-attari-section-head h2,.nvi-attari-why h2,.nvi-attari-cta h2 { font-family:Georgia,'Times New Roman',serif; font-size:clamp(38px,4vw,58px); font-weight:400; letter-spacing:-.04em; line-height:1.05; margin:0 0 28px; }.nvi-attari-about p { font-family:Georgia,'Times New Roman',serif; font-size:21px; font-style:italic; line-height:1.6; margin:0; }
.nvi-attari-section-head { margin:0 auto 62px; max-width:780px; text-align:center; }.nvi-attari-section-head p { font-family:Georgia,serif; font-size:18px; font-style:italic; margin:0; }

.nvi-attari-why { background:#8b8b89; color:#fff; display:grid; gap:65px; grid-template-columns:minmax(280px,.72fr) minmax(440px,1.28fr); padding:120px clamp(24px,8vw,120px); }
.nvi-attari-why__media { align-self:start; position:sticky; top:150px; text-align:center; }.nvi-attari-why__media img { aspect-ratio:1.38; display:block; height:auto; margin:0 auto 30px; max-width:450px; object-fit:cover; width:100%; }.nvi-attari-why__media h2 { margin-bottom:0; }
.nvi-attari-why__list details { border-bottom:1px solid rgba(255,255,255,.45); }.nvi-attari-why__list summary { align-items:flex-start; cursor:pointer; display:grid; font-size:17px; gap:18px; grid-template-columns:35px 1fr; list-style:none; padding:22px 0; }.nvi-attari-why__list summary::-webkit-details-marker { display:none; }.nvi-attari-why__list summary::after { content:'+'; font-size:26px; grid-column:3; line-height:.7; }.nvi-attari-why__list details[open] summary::after { content:'−'; }.nvi-attari-why__list summary span { font-family:Georgia,serif; font-size:13px; opacity:.65; }.nvi-attari-why__list p { font-family:Georgia,serif; font-size:16px; font-style:italic; margin:-6px 45px 25px 53px; opacity:.82; }

.nvi-attari-catalog { background:#fff; padding:130px clamp(22px,3.6vw,55px); }
.nvi-attari-tabs { border:2px solid #2b2925; border-radius:99px; display:grid; grid-template-columns:repeat(3,1fr); margin:0 auto 55px; max-width:720px; padding:3px; }.nvi-attari-tabs button { background:transparent; border:0; border-radius:99px; color:#77736c; cursor:pointer; font-size:12px; font-weight:700; min-height:45px; padding:9px 18px; }.nvi-attari-tabs button.is-active { background:#24221f; color:#fff; }.nvi-attari-tabs button:last-child { border:2px solid #2b2925; grid-column:1/-1; margin:12px auto -70px; min-width:360px; }
.nvi-attari-products { display:grid; gap:48px 24px; grid-template-columns:repeat(4,minmax(0,1fr)); margin-top:100px; }.nvi-attari-product.is-hidden { display:none; }.nvi-attari-product__image { background:#ded5ca; margin-bottom:22px; overflow:hidden; position:relative; }.nvi-attari-product__image img { aspect-ratio:.93; display:block; object-fit:cover; transition:transform .65s; width:100%; }.nvi-attari-product:hover img { transform:scale(1.035); }.nvi-attari-product__image span { background:#fff; border-radius:99px; font-size:9px; left:12px; padding:8px 11px; position:absolute; top:12px; }.nvi-attari-product h3 { font-size:15px; font-weight:400; margin:0 0 8px; }.nvi-attari-product__price { display:flex; font-size:14px; gap:10px; }.nvi-attari-product__price strong { color:#ef6c64; font-weight:400; }.nvi-attari-product__price del { color:#999; }.nvi-attari-product__actions { display:flex; gap:8px; margin-top:18px; }.nvi-attari-product__actions a { border:1px solid #171714; border-radius:99px; color:#171714; font-size:9px; padding:10px 18px; text-decoration:none; }.nvi-attari-product__actions a:first-child { background:#171714; color:#fff; }
.nvi-attari-feature-panel { display:grid; gap:1px; grid-template-columns:repeat(3,1fr); margin-top:100px; }.nvi-attari-feature-panel[hidden] { display:none; }.nvi-attari-feature-panel article { background:#f2f0ec; min-height:190px; padding:28px; }.nvi-attari-feature-panel span { color:var(--nvi-site-accent); font-family:Georgia,serif; }.nvi-attari-feature-panel h3 { font-family:Georgia,serif; font-size:22px; font-weight:400; margin:28px 0 10px; }.nvi-attari-feature-panel p { color:#6d6962; font-size:12px; }

.nvi-attari-services { background:#171714; color:#fff; padding:120px clamp(22px,6vw,90px); }.nvi-attari-services__grid { display:grid; gap:18px; grid-template-columns:repeat(3,1fr); }.nvi-attari-service { align-items:flex-end; background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.78)),var(--nvi-service-image) center/cover; color:#fff; display:grid; grid-template-columns:auto 1fr auto; min-height:560px; overflow:hidden; padding:35px; position:relative; text-decoration:none; }.nvi-attari-service::before { border:1px solid rgba(255,255,255,.34); content:''; inset:14px; position:absolute; transition:inset .3s; }.nvi-attari-service:hover::before { inset:20px; }.nvi-attari-service > * { position:relative; z-index:1; }.nvi-attari-service > span { font-family:Georgia,serif; font-size:13px; margin-right:20px; }.nvi-attari-service h3 { font-family:Georgia,serif; font-size:clamp(31px,3vw,49px); font-weight:400; letter-spacing:-.04em; line-height:1; margin:0 0 15px; }.nvi-attari-service p { color:rgba(255,255,255,.75); font-size:12px; margin:0; }.nvi-attari-service b { font-size:25px; font-weight:400; }

.nvi-attari-partners { background:#fff; padding:130px 24px; }.nvi-attari-partner-strip { border-bottom:1px solid #d3cfc8; border-top:1px solid #d3cfc8; display:grid; gap:0; grid-template-columns:repeat(6,1fr); margin:auto; max-width:1240px; }.nvi-attari-partner-strip span,.nvi-attari-partner-strip a { align-items:center; color:#6f6b64; display:flex; font-family:Georgia,serif; font-size:16px; justify-content:center; min-height:120px; padding:20px; text-align:center; text-decoration:none; }.nvi-attari-partner-strip img { max-height:58px; max-width:100%; object-fit:contain; }.nvi-attari-partner-strip span+span,.nvi-attari-partner-strip a+a { border-left:1px solid #d3cfc8; }

.nvi-attari-faq { background:#f7f6f3; padding:130px clamp(22px,7.5vw,110px); }.nvi-attari-faq__grid { display:grid; gap:10px 18px; grid-template-columns:1fr 1fr; }.nvi-attari-faq details { border:1px solid #3c3933; background:#fff; }.nvi-attari-faq summary { align-items:center; cursor:pointer; display:flex; font-size:14px; font-weight:700; justify-content:space-between; list-style:none; min-height:55px; padding:12px 17px; }.nvi-attari-faq summary::-webkit-details-marker { display:none; }.nvi-attari-faq summary span { font-size:23px; transition:transform .25s; }.nvi-attari-faq details[open] summary span { transform:rotate(45deg); }.nvi-attari-faq details p { border-top:1px solid #dedbd5; color:#625e57; font-family:Georgia,serif; font-size:15px; margin:0; padding:18px; }

.nvi-attari-cta { background:#8b8b89; color:#fff; padding:135px 24px; text-align:center; }.nvi-attari-cta.has-background-image { background-position:center; background-size:cover; }.nvi-attari-cta > div { margin:auto; max-width:780px; }.nvi-attari-cta > div > p { font-size:10px; letter-spacing:.2em; }.nvi-attari-cta a { border:1px solid #fff; border-radius:99px; color:#fff; display:inline-block; font-size:10px; letter-spacing:.08em; margin-top:15px; padding:15px 28px; text-decoration:none; }.nvi-attari-cta a:hover { background:#fff;color:#222; }
.nvi-attari-footer { background:#1b1b18; color:#fff; display:grid; gap:60px; grid-template-columns:1.35fr .7fr 1fr; padding:90px clamp(24px,7.5vw,110px) 35px; }.nvi-attari-footer__brand { font-size:52px; }.nvi-attari-footer h2 { font-size:17px; margin:0 0 25px; }.nvi-attari-footer p { color:rgba(255,255,255,.65); font-size:13px; margin:6px 0; }.nvi-attari-footer a { color:inherit; text-decoration:none; }.nvi-attari-footer small { border-top:1px solid rgba(255,255,255,.15); color:rgba(255,255,255,.45); grid-column:1/-1; padding-top:24px; text-align:center; }

.nvi-attari-popup { inset:0; position:fixed; z-index:100000; }.nvi-attari-popup[hidden] { display:none; }.nvi-attari-popup__backdrop { background:rgba(0,0,0,.62); inset:0; position:absolute; }.nvi-attari-popup__dialog { background:#171714; box-shadow:0 32px 90px rgba(0,0,0,.45); color:#fff; display:grid; grid-template-columns:45% 55%; left:50%; max-height:90vh; max-width:760px; overflow:auto; position:absolute; top:50%; transform:translate(-50%,-50%); width:calc(100% - 32px); }.nvi-attari-popup__dialog > button { align-items:center; background:#171714; border:1px solid rgba(255,255,255,.55); border-radius:5px; color:#fff; cursor:pointer; display:flex; font-size:28px; height:38px; justify-content:center; line-height:1; position:absolute; right:14px; top:14px; width:38px; z-index:2; }.nvi-attari-popup__dialog > img { height:100%; min-height:510px; object-fit:cover; width:100%; }.nvi-attari-popup__dialog > div { align-self:center; padding:55px 45px; text-align:center; }.nvi-attari-popup__dialog > div > p:first-child { color:var(--nvi-site-accent); font-size:10px; letter-spacing:.2em; }.nvi-attari-popup h2 { font-family:Georgia,serif; font-size:44px; font-weight:400; line-height:1; margin:18px 0; }.nvi-attari-popup__dialog > div > p { color:rgba(255,255,255,.68); font-family:Georgia,serif; font-size:16px; }.nvi-attari-popup__dialog a { border:1px solid #fff; border-radius:99px; color:#fff; display:inline-block; font-size:9px; letter-spacing:.08em; margin-top:25px; padding:13px 22px; text-decoration:none; }.nvi-attari-popup__countdown { display:flex; gap:8px; justify-content:center; margin-top:25px; }.nvi-attari-popup__countdown span { border:1px solid rgba(255,255,255,.2); display:flex; flex-direction:column; font-size:7px; min-width:58px; padding:9px 5px; text-transform:uppercase; }.nvi-attari-popup__countdown strong { font-family:Georgia,serif; font-size:21px; font-weight:400; }.nvi-popup-open { overflow:hidden!important; }
.nvi-attari-popup.is-editor-preview { min-height:620px; position:relative; z-index:1; }.nvi-attari-popup.is-editor-preview .nvi-attari-popup__dialog { max-height:none; }.nvi-attari-popup.is-editor-preview .nvi-attari-popup__backdrop { background:#777; }

@media(max-width:1024px){.nvi-attari-products{grid-template-columns:repeat(2,1fr)}.nvi-attari-services__grid{grid-template-columns:1fr}.nvi-attari-service{min-height:440px}.nvi-attari-partner-strip{grid-template-columns:repeat(3,1fr)}.nvi-attari-partner-strip span:nth-child(4){border-left:0}.nvi-attari-partner-strip span:nth-child(n+4){border-top:1px solid #d3cfc8}.nvi-attari-feature-panel{grid-template-columns:repeat(2,1fr)}}
@media(max-width:782px){body.admin-bar .nvi-attari-topbar{top:46px}body.admin-bar .nvi-attari-header{top:75px}}
@media(max-width:767px){
	.nvi-attari-topbar{font-size:7px}.nvi-attari-header{height:72px;padding:0 18px}.nvi-attari-header.is-scrolled{height:66px}.nvi-attari-brand{font-size:34px}.nvi-attari-order{display:none}.nvi-attari-menu{display:block;margin-left:auto}.nvi-attari-nav{align-items:flex-start;background:#171714;flex-direction:column;gap:22px;left:0;margin:0;opacity:0;padding:30px;pointer-events:none;position:absolute;right:0;top:72px;transform:translateY(-12px);transition:.25s}.nvi-attari-nav.is-open{opacity:1;pointer-events:auto;transform:none}.nvi-attari-nav a{font-size:13px}.nvi-attari-menu[aria-expanded="true"] i:first-child{transform:translateY(4px) rotate(45deg)}.nvi-attari-menu[aria-expanded="true"] i:last-child{transform:translateY(-4px) rotate(-45deg)}
	.nvi-attari-hero{min-height:760px;padding-top:135px}.nvi-attari-eyebrow{font-size:12px}.nvi-attari-hero h1{font-size:51px;height:1.25em}.nvi-attari-hero h1 span{white-space:normal}.nvi-attari-hero__description{font-size:18px}.nvi-attari-about{padding:95px 20px}.nvi-attari-about.has-image{grid-template-columns:1fr;text-align:center}.nvi-attari-about__image{margin:auto;max-width:420px}.nvi-attari-about p{font-size:17px}
	.nvi-attari-why{display:block;padding:85px 20px}.nvi-attari-why__media{position:static}.nvi-attari-why__list{margin-top:42px}.nvi-attari-why__list summary{font-size:14px}.nvi-attari-why__list p{margin-left:0;margin-right:0}
	.nvi-attari-catalog,.nvi-attari-partners,.nvi-attari-faq{padding:90px 16px}.nvi-attari-tabs{display:flex;flex-wrap:wrap;justify-content:center}.nvi-attari-tabs button{flex:1 1 30%}.nvi-attari-tabs button:last-child{flex:0 0 90%;grid-column:auto;margin:10px auto -65px;min-width:0}.nvi-attari-products{gap:40px 12px;grid-template-columns:repeat(2,1fr)}.nvi-attari-product h3{font-size:12px}.nvi-attari-product__price{display:block;font-size:11px}.nvi-attari-product__price del{display:block}.nvi-attari-product__actions{display:block}.nvi-attari-product__actions a{display:block;margin-top:6px;padding:9px 5px;text-align:center}.nvi-attari-feature-panel{grid-template-columns:1fr}
	.nvi-attari-services{padding:85px 16px}.nvi-attari-service{min-height:420px;padding:28px}.nvi-attari-partner-strip{grid-template-columns:repeat(2,1fr)}.nvi-attari-partner-strip span{border-top:1px solid #d3cfc8!important;min-height:95px}.nvi-attari-partner-strip span:nth-child(odd){border-left:0}.nvi-attari-faq__grid{grid-template-columns:1fr}.nvi-attari-footer{grid-template-columns:1fr;padding:70px 24px 30px}.nvi-attari-footer small{grid-column:auto}
	.nvi-attari-popup__dialog{display:block;max-width:420px}.nvi-attari-popup__dialog>img{height:240px;min-height:0}.nvi-attari-popup__dialog>div{padding:30px 22px}.nvi-attari-popup h2{font-size:35px}.nvi-attari-popup__countdown span{min-width:52px}
}
@media(max-width:430px){.nvi-attari-products{grid-template-columns:1fr}.nvi-attari-popup__countdown{display:grid;grid-template-columns:repeat(4,1fr)}.nvi-attari-popup__countdown span{min-width:0}.nvi-attari-service{min-height:380px}.nvi-attari-service h3{font-size:34px}}
@media(prefers-reduced-motion:reduce){.nvi-attari-hero__slide,.nvi-attari-hero h1 span{transition:none}.nvi-attari-service::before{transition:none}}

/* Arsyivitation navigation, demo library, and motion polish */

.nvi-nav-group { position:relative; }
.nvi-nav-group>button { align-items:center; background:transparent; border:0; color:inherit; cursor:pointer; display:flex; gap:7px; padding:0; text-transform:uppercase; }
.nvi-nav-group>button span { display:inline-block; font-size:13px; transition:transform .25s ease; }
.nvi-nav-group.is-open>button span,.nvi-nav-group:hover>button span,.nvi-nav-group:focus-within>button span { transform:rotate(180deg); }
.nvi-nav-submenu { backdrop-filter:blur(18px); background:rgba(19,19,17,.96); border:1px solid rgba(255,255,255,.12); box-shadow:0 25px 55px rgba(0,0,0,.24); display:grid; gap:2px; left:50%; min-width:220px; opacity:0; padding:10px; pointer-events:none; position:absolute; top:calc(100% + 22px); transform:translate(-50%,-8px); transition:opacity .22s ease,transform .22s ease; }
.nvi-nav-submenu::before { content:''; height:24px; left:0; position:absolute; right:0; top:-24px; }
.nvi-nav-group:hover .nvi-nav-submenu,.nvi-nav-group:focus-within .nvi-nav-submenu,.nvi-nav-group.is-open .nvi-nav-submenu { opacity:1; pointer-events:auto; transform:translate(-50%,0); }
.nvi-nav-submenu a { border-radius:4px; display:block; font-size:11px; letter-spacing:.05em!important; padding:11px 13px; text-transform:none!important; white-space:nowrap; }
.nvi-nav-submenu a::after { display:none!important; }
.nvi-nav-submenu a:hover { background:rgba(255,255,255,.08); }
.nvi-site-nav .nvi-nav-group>button { color:rgba(255,255,255,.72); font-size:11px; letter-spacing:.09em; }
.nvi-attari-nav { gap:clamp(14px,1.7vw,28px); margin-right:clamp(20px,2.5vw,38px); }
.nvi-attari-nav .nvi-nav-group>button { color:rgba(255,255,255,.76); font-size:10px; letter-spacing:.12em; }
.nvi-attari-brand { font-size:clamp(31px,3.1vw,42px); }

.nvi-demo-showcase { background:#141412; color:#fff; overflow:hidden; padding:125px clamp(20px,5vw,76px) 135px; position:relative; }
.nvi-demo-showcase::before { animation:nvi-orbit-drift 13s ease-in-out infinite alternate; background:radial-gradient(circle,rgba(199,154,98,.2),transparent 67%); content:''; height:760px; pointer-events:none; position:absolute; right:-360px; top:-360px; width:760px; }
.nvi-demo-showcase__head { align-items:end; display:grid; gap:60px; grid-template-columns:minmax(0,1fr) auto; margin:0 auto 70px; max-width:1360px; position:relative; }
.nvi-demo-showcase__head>div { max-width:850px; }
.nvi-demo-showcase__head h2 { font-family:Georgia,'Times New Roman',serif; font-size:clamp(42px,5.2vw,76px); font-weight:400; letter-spacing:-.045em; line-height:1; margin:0 0 24px; }
.nvi-demo-showcase__head h2 em { color:var(--nvi-site-accent); font-weight:400; }
.nvi-demo-showcase__head>div>p:last-child { color:rgba(255,255,255,.58); font-family:Georgia,serif; font-size:17px; margin:0; max-width:680px; }
.nvi-demo-showcase__all { align-items:center; border-bottom:1px solid rgba(255,255,255,.35); display:flex; font-size:11px; gap:18px; letter-spacing:.09em; padding:0 0 10px; text-decoration:none; text-transform:uppercase; }
.nvi-demo-showcase__all span { font-size:20px; transition:transform .25s ease; }.nvi-demo-showcase__all:hover span { transform:translate(4px,-4px); }
.nvi-demo-rail { display:grid; gap:18px; grid-template-columns:repeat(5,minmax(205px,1fr)); margin:0 auto; max-width:1360px; overflow-x:auto; overscroll-behavior-inline:contain; padding:10px 3px 28px; scrollbar-color:rgba(255,255,255,.28) transparent; scroll-snap-type:x proximity; }
.nvi-demo-card { min-width:205px; scroll-snap-align:start; }
.nvi-demo-card__inner { background:#201f1c; border:1px solid rgba(255,255,255,.12); box-shadow:0 22px 50px rgba(0,0,0,.18); overflow:hidden; transform:perspective(1100px) rotateX(var(--nvi-tilt-x,0deg)) rotateY(var(--nvi-tilt-y,0deg)) translateY(var(--nvi-lift,0px)); transform-style:preserve-3d; transition:box-shadow .28s ease,transform .2s ease; will-change:transform; }
.nvi-demo-card__inner:hover { --nvi-lift:-8px; box-shadow:0 34px 70px rgba(0,0,0,.35); }
.nvi-demo-card__visual { aspect-ratio:4/5; display:block; overflow:hidden; position:relative; }
.nvi-demo-card__visual::after { background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.72)); content:''; inset:0; position:absolute; }
.nvi-demo-card__visual img { height:100%; object-fit:cover; transition:transform 1s cubic-bezier(.2,.7,.2,1); width:100%; }
.nvi-demo-card__inner:hover .nvi-demo-card__visual img { transform:scale(1.055); }
.nvi-demo-card__visual>span { align-items:center; background:rgba(15,15,13,.58); border:1px solid rgba(255,255,255,.35); border-radius:50%; color:#fff; display:flex; font-family:Georgia,serif; font-size:11px; height:38px; justify-content:center; left:16px; position:absolute; top:16px; width:38px; z-index:2; }
.nvi-demo-card__visual>i { animation:nvi-soft-pulse 2.8s ease-in-out infinite; background:var(--nvi-demo-accent); border-radius:99px; bottom:16px; color:#171714; font-size:8px; font-style:normal; font-weight:700; letter-spacing:.12em; padding:8px 11px; position:absolute; right:16px; z-index:2; }
.nvi-demo-card__body { padding:22px 20px 24px; }
.nvi-demo-card__body small,.nvi-demo-library-card__body small { color:var(--nvi-demo-accent); font-size:8px; font-weight:700; letter-spacing:.18em; }
.nvi-demo-card__body h3 { font-family:Georgia,serif; font-size:23px; font-weight:400; line-height:1.05; margin:9px 0 6px; }
.nvi-demo-card__body p { color:rgba(255,255,255,.56); font-size:11px; margin:0 0 20px; }
.nvi-demo-card__body>a { align-items:center; color:#fff; display:flex; font-size:9px; font-weight:700; justify-content:space-between; letter-spacing:.08em; text-decoration:none; text-transform:uppercase; }
.nvi-demo-card__body>a span { font-size:16px; transition:transform .25s ease; }.nvi-demo-card__body>a:hover span { transform:translate(3px,-3px); }

.nvi-demo-library-hero { overflow:hidden; position:relative; }
.nvi-demo-library-hero::after { animation:nvi-orbit-drift 11s ease-in-out infinite alternate-reverse; border:1px solid rgba(199,154,98,.22); border-radius:50%; content:''; height:580px; position:absolute; right:-180px; top:-270px; width:580px; }
.nvi-demo-library-hero>* { position:relative; z-index:1; }
.nvi-demo-library-hero__proof { border-top:1px solid rgba(255,255,255,.16); display:flex; flex-wrap:wrap; gap:38px; margin-top:46px; max-width:720px; padding-top:24px; }
.nvi-demo-library-hero__proof span { color:rgba(255,255,255,.55); font-size:9px; letter-spacing:.1em; text-transform:uppercase; }
.nvi-demo-library-hero__proof strong { color:#fff; display:block; font-family:Georgia,serif; font-size:27px; font-weight:400; letter-spacing:0; margin-bottom:2px; }
.nvi-demo-library { background:#ece7de; padding:115px clamp(20px,7vw,105px) 130px; }
.nvi-demo-library__intro { margin:0 auto 65px; max-width:1320px; }
.nvi-demo-library__intro h2 { font-size:clamp(42px,5vw,74px); max-width:860px; }
.nvi-demo-library__grid { display:grid; gap:30px; grid-template-columns:repeat(2,minmax(0,1fr)); margin:0 auto; max-width:1320px; }
.nvi-demo-library-card:nth-child(5) { grid-column:1/-1; margin:auto; max-width:645px; width:100%; }
.nvi-demo-library-card .nvi-demo-card__inner { background:#fff; border-color:rgba(23,23,21,.12); color:var(--nvi-site-dark); display:grid; grid-template-columns:minmax(210px,.86fr) minmax(240px,1fr); min-height:485px; }
.nvi-demo-library-card .nvi-demo-card__visual { aspect-ratio:auto; min-height:485px; }
.nvi-demo-library-card__body { align-items:flex-start; display:flex; flex-direction:column; justify-content:space-between; padding:42px; }
.nvi-demo-library-card__body h2 { font-family:Georgia,serif; font-size:clamp(31px,3.1vw,48px); font-weight:400; line-height:1; margin:12px 0 8px; }
.nvi-demo-library-card__body strong { color:#777168; display:block; font-family:Georgia,serif; font-size:17px; font-weight:400; }
.nvi-demo-library-card__body p { color:#6c685f; font-size:13px; margin:24px 0; }
.nvi-demo-library-card__body .nvi-button { margin-top:30px; }

@keyframes nvi-orbit-drift { from { transform:translate3d(0,0,0) scale(1); } to { transform:translate3d(-55px,42px,0) scale(1.08); } }
@keyframes nvi-soft-pulse { 0%,100% { box-shadow:0 0 0 0 color-mix(in srgb,var(--nvi-demo-accent) 45%,transparent); } 50% { box-shadow:0 0 0 7px transparent; } }

@media(max-width:1120px){
	.nvi-attari-menu,.nvi-menu-toggle{display:block;margin-left:auto}.nvi-attari-order,.nvi-site-header__cta{display:none}
	.nvi-attari-nav,.nvi-site-nav{align-items:flex-start;background:#171714;box-shadow:0 24px 50px rgba(0,0,0,.22);flex-direction:column;gap:20px;left:0;margin:0;max-height:calc(100vh - 110px);opacity:0;overflow:auto;padding:30px clamp(22px,6vw,70px);pointer-events:none;position:absolute;right:0;top:100%;transform:translateY(-12px);transition:opacity .25s ease,transform .25s ease}
	.nvi-attari-nav.is-open,.nvi-site-nav.is-open{opacity:1;pointer-events:auto;transform:none}.nvi-attari-nav a,.nvi-site-nav a{font-size:13px}
	.nvi-nav-group{width:100%}.nvi-nav-group>button{font-size:13px;justify-content:space-between;padding:4px 0;width:100%}
	.nvi-nav-submenu{backdrop-filter:none;background:rgba(255,255,255,.045);border:0;box-shadow:none;display:none;left:auto;margin-top:12px;min-width:0;opacity:1;padding:8px;pointer-events:auto;position:static;transform:none!important;width:100%}.nvi-nav-group.is-open .nvi-nav-submenu{display:grid}.nvi-nav-submenu a{padding:10px 12px}
	.nvi-attari-footer{grid-template-columns:1.15fr 1fr 1fr}.nvi-attari-footer>div:nth-child(4){grid-column:2/4}
	.nvi-demo-rail{grid-template-columns:repeat(5,minmax(235px,1fr))}.nvi-demo-library-card .nvi-demo-card__inner{grid-template-columns:minmax(190px,.8fr) 1fr}.nvi-demo-library-card__body{padding:32px}
}
@media(max-width:767px){
	.nvi-demo-showcase{padding:90px 16px 92px}.nvi-demo-showcase__head{display:block;margin-bottom:45px}.nvi-demo-showcase__head>div>p:last-child{font-size:15px}.nvi-demo-showcase__all{margin-top:30px;width:max-content}.nvi-demo-rail{grid-template-columns:repeat(5,minmax(245px,75vw));margin-right:-16px;padding-right:16px}
	.nvi-demo-library{padding:82px 16px 95px}.nvi-demo-library__grid{grid-template-columns:1fr}.nvi-demo-library-card:nth-child(5){grid-column:auto}.nvi-demo-library-card .nvi-demo-card__inner{display:block;min-height:0}.nvi-demo-library-card .nvi-demo-card__visual{aspect-ratio:4/5;min-height:0}.nvi-demo-library-card__body{padding:28px 24px 30px}.nvi-demo-library-hero__proof{gap:24px}.nvi-demo-library-hero__proof strong{font-size:23px}
	.nvi-attari-footer{grid-template-columns:1fr}.nvi-attari-footer>div:nth-child(4){grid-column:auto}
}
@media(prefers-reduced-motion:reduce){
	.nvi-demo-showcase::before,.nvi-demo-library-hero::after,.nvi-demo-card__visual>i{animation:none}.nvi-demo-card__inner{transform:none!important;transition:none}.nvi-demo-card__visual img{transition:none}
}

/* Arsyivitation Signature — pearl, midnight, champagne, and sculptural forms */
.nvi-attari-site {
	--nvi-signature-ink:var(--nvi-site-dark,#10131d);
	--nvi-signature-pearl:var(--nvi-site-light,#f4f0e8);
	--nvi-signature-gold:var(--nvi-site-accent,#c9a86a);
	--nvi-signature-plum:#30263b;
	--nvi-signature-line:rgba(16,19,29,.14);
	background:var(--nvi-signature-pearl);
	color:var(--nvi-signature-ink);
}
.nvi-attari-topbar {
	background:var(--nvi-signature-plum);
	color:#f2e4c7;
	font-size:10px;
	font-weight:700;
	height:32px;
	letter-spacing:.15em;
}
.nvi-attari-header {
	background:linear-gradient(180deg,rgba(10,13,22,.82),rgba(10,13,22,.08));
	border-bottom:1px solid rgba(255,255,255,.13);
	height:100px;
	padding-inline:clamp(24px,5.5vw,88px);
	top:32px;
}
.nvi-attari-header.is-scrolled {
	backdrop-filter:blur(22px) saturate(125%);
	background:rgba(12,15,25,.92);
	box-shadow:0 18px 50px rgba(5,7,13,.22);
	height:80px;
}
.nvi-attari-brand { letter-spacing:-.045em; text-shadow:0 5px 22px rgba(0,0,0,.16); }
.nvi-attari-brand span { color:var(--nvi-signature-gold); }
.nvi-attari-nav a,.nvi-attari-nav .nvi-nav-group>button { font-size:11px; letter-spacing:.14em; }
.nvi-attari-order {
	background:var(--nvi-signature-gold);
	border-color:var(--nvi-signature-gold);
	box-shadow:0 12px 30px rgba(201,168,106,.18);
	color:#11131b!important;
	font-weight:800;
	letter-spacing:.11em;
	padding:14px 24px;
}
.nvi-nav-submenu { background:rgba(15,18,29,.97); border-color:rgba(201,168,106,.3); border-radius:18px; }

.nvi-attari-hero {
	background:var(--nvi-signature-ink);
	isolation:isolate;
	min-height:max(820px,100svh);
	padding:180px 24px 110px;
}
.nvi-attari-hero::before,.nvi-attari-hero::after {
	border:1px solid rgba(235,213,171,.3);
	border-radius:50%;
	content:'';
	pointer-events:none;
	position:absolute;
	z-index:1;
}
.nvi-attari-hero::before { height:clamp(410px,55vw,790px); left:50%; top:51%; transform:translate(-50%,-50%); width:clamp(410px,55vw,790px); }
.nvi-attari-hero::after { height:clamp(335px,44vw,640px); left:50%; top:51%; transform:translate(-50%,-50%); width:clamp(335px,44vw,640px); }
.nvi-attari-hero__slide { filter:saturate(.72) contrast(1.06); transform:scale(1.09); }
.nvi-attari-hero__slide.is-active { transform:scale(1.01); }
.nvi-attari-hero__shade {
	background:
		radial-gradient(circle at 50% 46%,rgba(12,15,25,.18) 0,rgba(12,15,25,.42) 43%,rgba(9,11,19,.79) 100%),
		linear-gradient(180deg,rgba(9,11,19,.18),rgba(9,11,19,.67));
}
.nvi-attari-hero__content {
	align-items:center;
	display:flex;
	flex-direction:column;
	margin-inline:auto;
	max-width:1050px;
	text-align:center;
	width:100%;
}
.nvi-attari-eyebrow {
	background:rgba(15,18,29,.34);
	border:1px solid rgba(235,213,171,.45);
	border-radius:99px;
	color:#f3dfb7;
	font-size:11px;
	letter-spacing:.24em;
	margin-bottom:30px;
	padding:10px 17px;
}
.nvi-attari-hero h1 {
	font-size:clamp(58px,7.5vw,118px);
	height:1.06em;
	letter-spacing:-.06em;
	text-align:center;
	width:100%;
}
.nvi-attari-hero h1 span {
	align-items:center;
	display:flex;
	inset:0;
	justify-content:center;
	text-align:center;
	width:100%;
}
.nvi-attari-hero__description { color:rgba(255,255,255,.76); font-size:clamp(17px,1.45vw,22px); font-style:normal; line-height:1.65; margin-top:30px; }
.nvi-attari-hero__actions { flex-direction:row; flex-wrap:wrap; justify-content:center; margin-top:42px; max-width:none; }
.nvi-attari-hero__actions a { backdrop-filter:blur(12px); border-color:rgba(255,255,255,.55); font-size:11px; font-weight:800; letter-spacing:.11em; min-width:210px; padding:16px 26px; }
.nvi-attari-hero__actions a:first-child { background:var(--nvi-signature-gold); border-color:var(--nvi-signature-gold); color:#10131d; }
.nvi-attari-hero__actions a:first-child:hover { background:#f4e5c4; color:#10131d; }
.nvi-attari-hero__bullets { bottom:35px; gap:16px; }
.nvi-attari-hero__bullets button { border-radius:99px; height:3px; transition:width .3s,background .3s; width:26px; }
.nvi-attari-hero__bullets button.is-active { background:var(--nvi-signature-gold); box-shadow:none; width:52px; }

.nvi-attari-about {
	background:
		radial-gradient(circle at 92% 8%,rgba(201,168,106,.16),transparent 27%),
		linear-gradient(135deg,#faf8f3,var(--nvi-signature-pearl));
	padding:clamp(110px,12vw,180px) clamp(24px,7vw,108px);
	position:relative;
}
.nvi-attari-about::before { background:var(--nvi-signature-gold); content:''; height:1px; left:50%; position:absolute; top:70px; transform:translateX(-50%); width:72px; }
.nvi-attari-about.has-image { gap:clamp(55px,8vw,130px); grid-template-columns:minmax(270px,430px) minmax(0,650px); text-align:left; }
.nvi-attari-about__image { filter:drop-shadow(0 36px 45px rgba(22,18,29,.2)); position:relative; }
.nvi-attari-about__image::before { border:1px solid var(--nvi-signature-gold); border-radius:230px 230px 28px 28px; content:''; inset:-15px 15px 15px -15px; position:absolute; }
.nvi-attari-about__image img { border-radius:220px 220px 24px 24px; min-height:520px; position:relative; }
.nvi-attari-about h2,.nvi-attari-section-head h2,.nvi-attari-why h2,.nvi-attari-cta h2 { font-size:clamp(48px,5.5vw,82px); letter-spacing:-.055em; }
.nvi-attari-about p { color:#4f4c56; font-size:clamp(19px,1.55vw,24px); font-style:normal; line-height:1.7; }
.nvi-attari-section-head { margin-bottom:72px; max-width:900px; }
.nvi-attari-section-head::before { color:var(--nvi-signature-gold); content:'✦'; display:block; font-size:16px; margin-bottom:19px; }
.nvi-attari-section-head p { color:#66616b; font-size:18px; font-style:normal; line-height:1.65; }

.nvi-attari-why {
	background:
		radial-gradient(circle at 10% 15%,rgba(201,168,106,.18),transparent 30%),
		linear-gradient(145deg,var(--nvi-signature-plum),var(--nvi-signature-ink));
	gap:clamp(55px,7vw,110px);
	grid-template-columns:minmax(290px,.78fr) minmax(430px,1.22fr);
	padding:clamp(105px,10vw,155px) clamp(24px,8vw,125px);
}
.nvi-attari-why__media { top:130px; }
.nvi-attari-why__media img { border:1px solid rgba(235,213,171,.34); border-radius:220px 220px 28px 28px; box-shadow:0 35px 70px rgba(0,0,0,.24); max-width:480px; padding:11px; }
.nvi-attari-why__media h2 { font-size:clamp(44px,4.7vw,72px); }
.nvi-attari-why__list { counter-reset:nvi-signature; }
.nvi-attari-why__list details { background:rgba(255,255,255,.035); border:1px solid rgba(255,255,255,.13); border-radius:20px; margin-bottom:13px; overflow:hidden; padding:0 24px; }
.nvi-attari-why__list details[open] { background:rgba(255,255,255,.075); border-color:rgba(201,168,106,.45); }
.nvi-attari-why__list summary { font-size:16px; font-weight:600; min-height:78px; padding:22px 0; }
.nvi-attari-why__list summary span { color:var(--nvi-signature-gold); font-size:14px; }
.nvi-attari-why__list p { color:rgba(255,255,255,.72); font-style:normal; line-height:1.7; }

.nvi-attari-catalog { background:var(--nvi-signature-pearl); padding:clamp(105px,10vw,150px) clamp(20px,4.5vw,70px); }
.nvi-attari-tabs { background:rgba(255,255,255,.72); border:1px solid var(--nvi-signature-line); box-shadow:0 18px 45px rgba(31,25,38,.08); max-width:820px; padding:6px; }
.nvi-attari-tabs button { color:#625e68; font-size:11px; letter-spacing:.12em; }
.nvi-attari-tabs button.is-active { background:var(--nvi-signature-ink); }
.nvi-attari-tabs button:last-child { border:1px solid var(--nvi-signature-line); }
.nvi-attari-products { gap:60px 24px; margin-inline:auto; max-width:1420px; }
.nvi-attari-product { background:rgba(255,255,255,.54); border:1px solid rgba(16,19,29,.1); border-radius:160px 160px 24px 24px; padding:12px 12px 22px; transition:box-shadow .35s,transform .35s; }
.nvi-attari-product:hover { box-shadow:0 30px 65px rgba(28,23,34,.14); transform:translateY(-8px); }
.nvi-attari-product__image { border-radius:150px 150px 18px 18px; margin-bottom:24px; }
.nvi-attari-product__image img { aspect-ratio:.82; }
.nvi-attari-product__image span { background:rgba(16,19,29,.84); color:#fff; font-size:10px; letter-spacing:.08em; }
.nvi-attari-product h3,.nvi-attari-product__price,.nvi-attari-product__actions { margin-left:10px; margin-right:10px; }
.nvi-attari-product h3 { font-family:Georgia,serif; font-size:20px; }
.nvi-attari-product__price strong { color:#8d5f42; font-weight:700; }
.nvi-attari-product__actions a { border-color:var(--nvi-signature-ink); color:var(--nvi-signature-ink); font-size:10px; font-weight:800; letter-spacing:.08em; }
.nvi-attari-product__actions a:first-child { background:var(--nvi-signature-ink); }
.nvi-attari-feature-panel { gap:14px; margin-inline:auto; max-width:1420px; }
.nvi-attari-feature-panel article { background:rgba(255,255,255,.62); border:1px solid rgba(16,19,29,.09); border-radius:22px; }

.nvi-demo-showcase,.nvi-attari-services { background:var(--nvi-signature-ink); }
.nvi-demo-showcase::before { background:radial-gradient(circle,rgba(122,75,125,.38),transparent 68%); }
.nvi-demo-card__inner { background:#181c29; border-color:rgba(235,213,171,.2); border-radius:180px 180px 24px 24px; }
.nvi-demo-card__visual { border-radius:170px 170px 0 0; }
.nvi-demo-card__body { padding:27px 23px 28px; }
.nvi-demo-card__body small,.nvi-demo-library-card__body small { font-size:10px; }
.nvi-demo-card__body p { font-size:13px; }
.nvi-demo-card__body>a { font-size:10px; }

.nvi-attari-services { padding:clamp(105px,10vw,150px) clamp(20px,6vw,96px); }
.nvi-attari-services .nvi-attari-section-head::before { color:var(--nvi-signature-gold); }
.nvi-attari-services__grid { gap:22px; margin:auto; max-width:1400px; }
.nvi-attari-service { border-radius:220px 220px 26px 26px; min-height:580px; padding:42px; }
.nvi-attari-service::before { border-color:rgba(235,213,171,.55); border-radius:210px 210px 20px 20px; inset:13px; }
.nvi-attari-service:hover::before { inset:19px; }
.nvi-attari-service:nth-child(3n+2) { transform:translateY(35px); }
.nvi-attari-service h3 { font-size:clamp(34px,3.1vw,52px); }
.nvi-attari-service p { font-size:14px; line-height:1.6; }

.nvi-attari-partners {
	background:
		radial-gradient(circle at 50% 0,rgba(201,168,106,.2),transparent 28%),
		#fbf9f5;
	padding:clamp(105px,10vw,150px) 24px;
}
.nvi-attari-partner-strip { border:0; gap:14px; grid-template-columns:repeat(3,1fr); max-width:1160px; }
.nvi-attari-partner-strip .nvi-attari-partner {
	align-items:center;
	background:rgba(255,255,255,.82);
	border:1px solid rgba(16,19,29,.11)!important;
	border-radius:22px;
	box-shadow:0 15px 38px rgba(31,25,38,.06);
	color:var(--nvi-signature-ink);
	display:flex;
	flex-direction:column;
	gap:14px;
	justify-content:center;
	min-height:155px;
	padding:26px;
	text-align:center;
	text-decoration:none;
	transition:border-color .25s,box-shadow .25s,transform .25s;
}
.nvi-attari-partner-strip a.nvi-attari-partner:hover { border-color:rgba(201,168,106,.7)!important; box-shadow:0 24px 50px rgba(31,25,38,.12); transform:translateY(-5px); }
.nvi-attari-partner-strip .nvi-attari-partner img { max-height:62px; max-width:180px; object-fit:contain; }
.nvi-attari-partner-strip .nvi-attari-partner span { color:#68636c; display:block; font-family:Arial,Helvetica,sans-serif; font-size:11px; font-weight:700; letter-spacing:.13em; min-height:0; padding:0; text-transform:uppercase; }

.nvi-attari-faq { background:var(--nvi-signature-pearl); padding:clamp(105px,10vw,150px) clamp(20px,7vw,110px); }
.nvi-attari-faq__grid { gap:14px; margin:auto; max-width:1240px; }
.nvi-attari-faq details { background:rgba(255,255,255,.72); border:1px solid rgba(16,19,29,.13); border-radius:18px; overflow:hidden; }
.nvi-attari-faq details[open] { background:#fff; border-color:rgba(201,168,106,.7); box-shadow:0 18px 40px rgba(31,25,38,.08); }
.nvi-attari-faq summary { font-size:15px; min-height:68px; padding:16px 22px; }
.nvi-attari-faq details p { border-color:rgba(16,19,29,.1); color:#66616b; font-size:16px; line-height:1.65; padding:22px; }

.nvi-attari-cta {
	background:
		radial-gradient(circle at 50% 20%,rgba(201,168,106,.25),transparent 34%),
		linear-gradient(145deg,var(--nvi-signature-plum),var(--nvi-signature-ink));
	padding:clamp(125px,13vw,195px) 24px;
	position:relative;
}
.nvi-attari-cta::before { border:1px solid rgba(235,213,171,.27); border-radius:50%; content:''; height:420px; left:50%; position:absolute; top:50%; transform:translate(-50%,-50%); width:420px; }
.nvi-attari-cta > div { position:relative; }
.nvi-attari-cta > div > p { color:#efd9ae; font-size:11px; font-weight:700; letter-spacing:.25em; }
.nvi-attari-cta a { background:var(--nvi-signature-gold); border-color:var(--nvi-signature-gold); color:var(--nvi-signature-ink); font-size:11px; font-weight:800; letter-spacing:.12em; padding:17px 30px; }
.nvi-attari-footer { background:#0b0e17; gap:70px; padding:100px clamp(24px,7vw,110px) 38px; }
.nvi-attari-footer h2 { color:#efd9ae; font-size:13px; letter-spacing:.12em; text-transform:uppercase; }
.nvi-attari-footer p { font-size:14px; }
.nvi-attari-footer a:hover { color:#efd9ae; }
.nvi-attari-popup__dialog { background:var(--nvi-signature-ink); border:1px solid rgba(235,213,171,.27); border-radius:28px; box-shadow:0 45px 120px rgba(0,0,0,.55); }
.nvi-attari-popup__dialog > img { border-radius:27px 0 0 27px; }

/* Premium treatment shared by internal pages. */
.nvi-site-fragment { min-height:0; overflow:visible; }
.nvi-site-fragment > main { display:block; }
.nvi-site-header,.nvi-site-hero,.nvi-inner-hero,.nvi-service-hero,.nvi-extra-services,.nvi-site-cta { background-color:var(--nvi-site-dark,#10131d); }
.nvi-site-header { border-bottom:1px solid rgba(255,255,255,.12); }
.nvi-site-hero::before { background:radial-gradient(circle,rgba(201,168,106,.24),transparent 68%); }
.nvi-browser-mock { border-radius:28px; }
.nvi-phone-mock { border-radius:36px; }
.nvi-inner-hero,.nvi-service-hero { background-image:radial-gradient(circle at 88% 12%,rgba(201,168,106,.18),transparent 32%); }
.nvi-feature-card,.nvi-price-card { border-radius:22px; }
.nvi-catalog-preview,.nvi-demo-library { background:var(--nvi-site-light,#f4f0e8); }
.nvi-portfolio-card__visual { border-radius:180px 180px 22px 22px; }
.nvi-demo-library-card .nvi-demo-card__inner { border-radius:28px; }
.nvi-demo-library-card .nvi-demo-card__visual { border-radius:27px 0 0 27px; }

/* Independent Elementor widgets: every item can be dragged, duplicated, or removed. */
.nvi-free-widget { background:transparent; color:var(--nvi-site-dark,#10131d); min-height:0; overflow:visible; width:100%; }
.nvi-free-copy { padding:18px; }
.nvi-free-copy__eyebrow { color:var(--nvi-site-accent,#c9a86a); font-size:11px; font-weight:800; letter-spacing:.2em; margin:0 0 18px; text-transform:uppercase; }
.nvi-free-copy__heading { color:inherit; font-family:Georgia,'Times New Roman',serif; font-size:clamp(38px,5vw,74px); font-weight:400; letter-spacing:-.045em; line-height:1.03; margin:0 0 24px; }
.nvi-free-copy__body { color:#65616a; font-size:16px; line-height:1.75; }
.nvi-free-image { margin:0; max-width:100%; }
.nvi-free-image a { display:block; }
.nvi-free-image img { box-shadow:0 28px 62px rgba(31,25,38,.14); display:block; height:auto; object-fit:cover; width:100%; }
.nvi-free-image figcaption { color:#6c6670; font-size:12px; letter-spacing:.05em; padding-top:12px; text-align:center; }
.nvi-free-action { padding:10px 0; }
.nvi-free-partner { align-items:center; background:#fff; border:1px solid rgba(16,19,29,.12); border-radius:22px; box-shadow:0 18px 42px rgba(31,25,38,.07); color:var(--nvi-site-dark,#10131d); display:flex; flex-direction:column; gap:14px; justify-content:center; min-height:160px; padding:28px; text-align:center; text-decoration:none; transition:transform .25s,box-shadow .25s; }
a.nvi-free-partner:hover { box-shadow:0 26px 55px rgba(31,25,38,.13); transform:translateY(-5px); }
.nvi-free-partner img { display:block; height:auto; max-width:min(100%,190px); object-fit:contain; }
.nvi-free-partner span { font-size:11px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }

@keyframes nvi-signature-breathe { 0%,100% { opacity:.55; transform:translate(-50%,-50%) scale(1); } 50% { opacity:.9; transform:translate(-50%,-50%) scale(1.035); } }
.nvi-attari-hero::after,.nvi-attari-cta::before { animation:nvi-signature-breathe 7s ease-in-out infinite; }
body.admin-bar .nvi-attari-topbar { top:32px; }
body.admin-bar .nvi-attari-header { top:64px; }

@media(max-width:1120px) {
	.nvi-attari-header { padding-inline:24px; }
	.nvi-attari-nav,.nvi-site-nav { background:rgba(12,15,25,.98); }
	.nvi-attari-service:nth-child(3n+2) { transform:none; }
	.nvi-attari-partner-strip { grid-template-columns:repeat(3,1fr); }
}
@media(max-width:767px) {
	.nvi-attari-topbar { font-size:8px; height:30px; letter-spacing:.1em; }
	.nvi-attari-header { height:76px; top:30px; }
	.nvi-attari-header.is-scrolled { height:70px; }
	.nvi-attari-hero { min-height:760px; padding:145px 18px 90px; }
	.nvi-attari-hero::before { height:390px; width:390px; }
	.nvi-attari-hero::after { height:315px; width:315px; }
	.nvi-attari-hero h1 { font-size:clamp(43px,13vw,62px); height:2.25em; }
	.nvi-attari-hero h1 span { line-height:1.03; padding-inline:6px; white-space:normal; }
	.nvi-attari-hero__description { font-size:16px; }
	.nvi-attari-hero__actions { align-items:stretch; flex-direction:column; width:min(100%,280px); }
	.nvi-attari-hero__actions a { min-width:0; }
	.nvi-attari-about::before { top:45px; }
	.nvi-attari-about__image img { min-height:0; }
	.nvi-attari-section-head { margin-bottom:48px; }
	.nvi-attari-why__list details { padding-inline:18px; }
	.nvi-attari-products { gap:30px 12px; }
	.nvi-attari-product { border-radius:100px 100px 18px 18px; padding:8px 8px 17px; }
	.nvi-attari-product__image { border-radius:94px 94px 13px 13px; }
	.nvi-attari-product h3 { font-size:16px; }
	.nvi-attari-product__price { font-size:13px; }
	.nvi-attari-service { border-radius:170px 170px 22px 22px; min-height:440px; }
	.nvi-attari-service::before { border-radius:160px 160px 17px 17px; }
	.nvi-attari-partner-strip { gap:10px; grid-template-columns:repeat(2,1fr); }
	.nvi-attari-partner-strip .nvi-attari-partner { border-top:1px solid rgba(16,19,29,.11)!important; min-height:125px; padding:18px 12px; }
	.nvi-attari-partner-strip .nvi-attari-partner span { border:0!important; font-size:9px; min-height:0; }
	.nvi-attari-cta::before { height:310px; width:310px; }
	.nvi-attari-popup__dialog > img { border-radius:27px 27px 0 0; }
	.nvi-demo-library-card .nvi-demo-card__visual { border-radius:27px 27px 0 0; }
}
@media(max-width:782px) {
	body.admin-bar .nvi-attari-topbar { top:46px; }
	body.admin-bar .nvi-attari-header { top:76px; }
}
@media(max-width:430px) {
	.nvi-attari-products { grid-template-columns:1fr; }
	.nvi-attari-product { border-radius:180px 180px 22px 22px; }
	.nvi-attari-product__image { border-radius:170px 170px 16px 16px; }
}
@media(prefers-reduced-motion:reduce) {
	.nvi-attari-hero::after,.nvi-attari-cta::before { animation:none; }
}

/* Five-card service showcase — digital, physical and guestbook. */
.nvi-service-showcase {
	background:
		radial-gradient(circle at 12% 10%,rgba(201,168,106,.17),transparent 30%),
		radial-gradient(circle at 90% 95%,rgba(183,123,86,.12),transparent 32%),
		var(--nvi-site-dark,#10131d);
	color:#fff;
	overflow:hidden;
	padding:clamp(76px,9vw,132px) clamp(20px,6vw,92px);
	position:relative;
}
.nvi-service-showcase::before {
	border:1px solid rgba(255,255,255,.07);
	border-radius:50%;
	content:"";
	height:520px;
	pointer-events:none;
	position:absolute;
	right:-280px;
	top:-260px;
	width:520px;
}
.nvi-service-showcase__head {
	align-items:end;
	display:grid;
	gap:34px;
	grid-template-columns:minmax(0,1.15fr) minmax(270px,.65fr);
	margin:0 auto clamp(42px,6vw,76px);
	max-width:1280px;
	position:relative;
}
.nvi-service-showcase__head h2 {
	color:#fff;
	font-family:Georgia,'Times New Roman',serif;
	font-size:clamp(38px,5vw,72px);
	font-weight:400;
	letter-spacing:-.045em;
	line-height:1.02;
	margin:0;
	max-width:820px;
}
.nvi-service-showcase__head > p {
	color:rgba(255,255,255,.63);
	font-size:15px;
	line-height:1.8;
	margin:0;
	max-width:500px;
}
.nvi-service-showcase__grid {
	display:grid;
	gap:clamp(18px,2vw,30px);
	grid-template-columns:repeat(12,minmax(0,1fr));
	margin:0 auto;
	max-width:1280px;
	position:relative;
}
.nvi-service-demo-card {
	background:#f8f5ef;
	border:1px solid rgba(255,255,255,.09);
	border-radius:26px;
	box-shadow:0 24px 60px rgba(0,0,0,.18);
	color:var(--nvi-site-dark,#10131d);
	display:flex;
	flex-direction:column;
	grid-column:span 4;
	min-width:0;
	overflow:hidden;
	transition:box-shadow .32s ease,transform .32s ease;
}
.nvi-service-demo-card:nth-child(-n+2) { grid-column:span 6; }
.nvi-service-demo-card:hover {
	box-shadow:0 34px 80px rgba(0,0,0,.3);
	transform:translateY(-8px);
}
.nvi-service-demo-card__visual {
	background:#242733;
	display:block;
	min-height:270px;
	overflow:hidden;
	position:relative;
}
.nvi-service-demo-card:nth-child(-n+2) .nvi-service-demo-card__visual { min-height:360px; }
.nvi-service-demo-card__visual::after {
	background:linear-gradient(180deg,transparent 50%,rgba(8,10,17,.5));
	content:"";
	inset:0;
	pointer-events:none;
	position:absolute;
}
.nvi-service-demo-card__visual img {
	display:block;
	height:100%;
	inset:0;
	object-fit:cover;
	position:absolute;
	transition:transform .65s cubic-bezier(.2,.75,.25,1);
	width:100%;
}
.nvi-service-demo-card:hover .nvi-service-demo-card__visual img { transform:scale(1.045); }
.nvi-service-demo-card__number,
.nvi-service-demo-card__live {
	position:absolute;
	z-index:2;
}
.nvi-service-demo-card__number {
	color:#fff;
	font-family:Georgia,'Times New Roman',serif;
	font-size:28px;
	font-style:italic;
	left:22px;
	top:18px;
}
.nvi-service-demo-card__live {
	backdrop-filter:blur(10px);
	background:rgba(12,15,25,.66);
	border:1px solid rgba(255,255,255,.2);
	border-radius:999px;
	bottom:18px;
	color:#fff;
	font-size:9px;
	font-weight:800;
	letter-spacing:.17em;
	padding:8px 11px;
	right:18px;
}
.nvi-service-demo-card__body {
	display:flex;
	flex:1;
	flex-direction:column;
	padding:clamp(24px,3vw,38px);
}
.nvi-service-demo-card__category {
	color:var(--nvi-demo-accent,var(--nvi-site-accent,#c9a86a));
	font-size:10px;
	font-weight:800;
	letter-spacing:.19em;
	margin:0 0 13px;
	text-transform:uppercase;
}
.nvi-service-demo-card__body h3 {
	color:var(--nvi-site-dark,#10131d);
	font-family:Georgia,'Times New Roman',serif;
	font-size:clamp(25px,2.4vw,38px);
	font-weight:400;
	letter-spacing:-.035em;
	line-height:1.07;
	margin:0 0 15px;
}
.nvi-service-demo-card__description {
	color:#68646b;
	font-size:14px;
	line-height:1.75;
	margin:0;
}
.nvi-service-demo-card__body ul {
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	list-style:none;
	margin:22px 0 0;
	padding:0;
}
.nvi-service-demo-card__body li {
	background:color-mix(in srgb,var(--nvi-demo-accent) 12%,#fff);
	border:1px solid color-mix(in srgb,var(--nvi-demo-accent) 24%,transparent);
	border-radius:999px;
	color:#4e4a50;
	font-size:10px;
	font-weight:700;
	letter-spacing:.04em;
	padding:7px 10px;
}
.nvi-service-demo-card__action {
	align-items:center;
	border-top:1px solid rgba(16,19,29,.1);
	color:var(--nvi-site-dark,#10131d)!important;
	display:flex;
	font-size:11px;
	font-weight:800;
	justify-content:space-between;
	letter-spacing:.1em;
	margin-top:auto;
	padding-top:23px;
	text-decoration:none!important;
	text-transform:uppercase;
}
.nvi-service-demo-card__action span {
	align-items:center;
	background:var(--nvi-demo-accent,var(--nvi-site-accent,#c9a86a));
	border-radius:50%;
	color:#fff;
	display:inline-flex;
	font-size:14px;
	height:34px;
	justify-content:center;
	transition:transform .25s ease;
	width:34px;
}
.nvi-service-demo-card:hover .nvi-service-demo-card__action span { transform:rotate(45deg); }

/* Guestbook previews stay crisp without depending on external screenshots. */
.nvi-guestbook-preview {
	background:
		radial-gradient(circle at 80% 20%,color-mix(in srgb,var(--nvi-demo-accent) 27%,transparent),transparent 35%),
		linear-gradient(145deg,#10131d,#1e2230);
	color:#fff;
	display:grid;
	grid-template-rows:auto auto 1fr auto;
	height:100%;
	inset:0;
	padding:19px;
	position:absolute;
}
.nvi-service-demo-card--pearl .nvi-guestbook-preview {
	background:linear-gradient(145deg,#f7f3eb,#ded8ce);
	color:#151722;
}
.nvi-service-demo-card--heritage .nvi-guestbook-preview { background:linear-gradient(145deg,#14251f,#23382d); }
.nvi-service-demo-card--rose .nvi-guestbook-preview { background:linear-gradient(145deg,#342029,#70404d); }
.nvi-service-demo-card--nusantara .nvi-guestbook-preview { background:linear-gradient(145deg,#161a26,#61372a); }
.nvi-guestbook-preview__bar {
	align-items:center;
	display:flex;
	gap:5px;
	opacity:.82;
}
.nvi-guestbook-preview__bar > span { background:var(--nvi-demo-accent);border-radius:50%;height:6px;width:6px; }
.nvi-guestbook-preview__bar small { font-size:8px;font-weight:800;letter-spacing:.18em;margin-left:auto; }
.nvi-guestbook-preview__status {
	align-items:center;
	display:flex;
	font-size:8px;
	font-weight:800;
	gap:6px;
	justify-self:end;
	letter-spacing:.13em;
	margin-top:18px;
	opacity:.72;
}
.nvi-guestbook-preview__status i { background:#78d5a0;border-radius:50%;box-shadow:0 0 0 4px rgba(120,213,160,.13);height:6px;width:6px; }
.nvi-guestbook-preview__welcome { align-self:center;padding:24px 8px;text-align:center; }
.nvi-guestbook-preview__welcome small { color:var(--nvi-demo-accent);display:block;font-size:9px;font-weight:800;letter-spacing:.23em;margin-bottom:14px; }
.nvi-guestbook-preview__welcome strong { display:block;font-family:Georgia,'Times New Roman',serif;font-size:clamp(25px,3.2vw,44px);font-weight:400;letter-spacing:-.035em;line-height:1.05; }
.nvi-guestbook-preview__welcome p { font-size:10px;letter-spacing:.1em;margin:10px 0 0;opacity:.66;text-transform:uppercase; }
.nvi-guestbook-preview__footer {
	align-items:center;
	background:rgba(255,255,255,.08);
	border:1px solid rgba(255,255,255,.12);
	border-radius:15px;
	display:grid;
	gap:12px;
	grid-template-columns:auto 1fr auto;
	padding:12px;
}
.nvi-service-demo-card--pearl .nvi-guestbook-preview__footer { background:rgba(255,255,255,.52);border-color:rgba(16,19,29,.11); }
.nvi-guestbook-preview__qr { align-items:center;background:#fff;border-radius:7px;color:#11131d;display:flex;font-size:8px;font-weight:900;height:38px;justify-content:center;letter-spacing:.04em;width:38px; }
.nvi-guestbook-preview__footer p { display:flex;flex-direction:column;margin:0; }
.nvi-guestbook-preview__footer strong { font-family:Georgia,'Times New Roman',serif;font-size:17px;font-weight:400; }
.nvi-guestbook-preview__footer span { font-size:8px;opacity:.64; }
.nvi-guestbook-preview__footer b { align-items:center;background:var(--nvi-demo-accent);border-radius:50%;display:flex;height:29px;justify-content:center;width:29px; }

@media(max-width:1024px) {
	.nvi-service-showcase__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.nvi-service-demo-card,
	.nvi-service-demo-card:nth-child(-n+2) { grid-column:span 1; }
	.nvi-service-demo-card:nth-child(5) { grid-column:1 / -1; }
	.nvi-service-demo-card__visual,
	.nvi-service-demo-card:nth-child(-n+2) .nvi-service-demo-card__visual { min-height:310px; }
}
@media(max-width:720px) {
	.nvi-service-showcase__head { align-items:start;grid-template-columns:1fr; }
	.nvi-service-showcase__grid { grid-template-columns:1fr; }
	.nvi-service-demo-card,
	.nvi-service-demo-card:nth-child(-n+2),
	.nvi-service-demo-card:nth-child(5) { grid-column:1; }
	.nvi-service-demo-card__visual,
	.nvi-service-demo-card:nth-child(-n+2) .nvi-service-demo-card__visual { min-height:300px; }
}
@media(prefers-reduced-motion:reduce) {
	.nvi-service-demo-card,
	.nvi-service-demo-card__visual img,
	.nvi-service-demo-card__action span { transition:none; }
}

/* v1.5.7 — compact Attari rhythm, square frames, and unified motion. */
.nvi-site {
	--nvi-frame-radius:12px;
	--nvi-control-radius:7px;
}

/* A shorter, calmer page rhythm keeps each row close to the Attari reference. */
.nvi-attari-topbar { height:28px; }
.nvi-attari-header {
	height:76px;
	padding-inline:clamp(22px,5vw,76px);
	top:28px;
}
.nvi-attari-header.is-scrolled { height:68px; }
.nvi-attari-hero {
	min-height:clamp(620px,78svh,760px);
	padding:128px 20px 72px;
}
.nvi-attari-eyebrow {
	font-size:10px;
	margin-bottom:20px;
	padding:8px 14px;
}
.nvi-attari-hero h1 {
	font-size:clamp(48px,6.2vw,88px);
	height:1.08em;
}
.nvi-attari-hero__description {
	font-size:clamp(16px,1.25vw,19px);
	line-height:1.55;
	margin-top:20px;
	max-width:590px;
}
.nvi-attari-hero__actions { margin-top:28px; }
.nvi-attari-hero__actions a {
	min-width:180px;
	padding:13px 22px;
}
.nvi-attari-hero__bullets { bottom:22px; }

.nvi-attari-about,
.nvi-attari-why,
.nvi-attari-catalog,
.nvi-demo-showcase,
.nvi-attari-services,
.nvi-attari-partners,
.nvi-attari-faq {
	padding-block:clamp(78px,7vw,108px);
}
.nvi-attari-about.has-image { gap:clamp(42px,6vw,82px); }
.nvi-attari-about__image img { min-height:420px; }
.nvi-attari-about h2,
.nvi-attari-section-head h2,
.nvi-attari-why h2,
.nvi-attari-cta h2 {
	font-size:clamp(40px,4.4vw,66px);
}
.nvi-attari-about p { font-size:clamp(17px,1.35vw,21px); }
.nvi-attari-section-head {
	margin-bottom:48px;
	max-width:820px;
}
.nvi-attari-section-head p { font-size:16px; }
.nvi-attari-why { gap:clamp(42px,6vw,78px); }
.nvi-attari-why__media { top:108px; }
.nvi-attari-why__media img { max-width:410px; }
.nvi-attari-products {
	gap:36px 20px;
	margin-top:72px;
}
.nvi-demo-showcase__head { margin-bottom:50px; }
.nvi-attari-services__grid { gap:18px; }
.nvi-attari-service {
	min-height:420px;
	padding:30px;
}
.nvi-attari-service:nth-child(3n+2) { transform:translateY(16px); }
.nvi-attari-partner-strip .nvi-attari-partner {
	min-height:132px;
	padding:22px;
}
.nvi-attari-cta { padding:clamp(88px,9vw,124px) 24px; }
.nvi-attari-footer { padding:68px clamp(24px,7vw,104px) 32px; }

.nvi-site-section { padding-block:clamp(72px,7vw,96px); }
.nvi-inner-hero { padding-block:clamp(76px,8vw,108px); }
.nvi-service-hero {
	min-height:520px;
	padding-block:70px;
}
.nvi-contact-hero {
	gap:clamp(42px,6vw,72px);
	padding-block:clamp(70px,7vw,96px);
}
.nvi-site-cta { padding-block:clamp(78px,8vw,104px); }
.nvi-site-footer { padding-top:64px; }
.nvi-service-showcase { padding-block:clamp(70px,7vw,98px); }
.nvi-service-showcase__head { margin-bottom:50px; }
.nvi-service-demo-card__visual { min-height:240px; }
.nvi-service-demo-card:nth-child(-n+2) .nvi-service-demo-card__visual { min-height:310px; }

/* Square silhouettes replace the previous domes while retaining gentle corners. */
.nvi-attari-header,
.nvi-attari-eyebrow,
.nvi-attari-order,
.nvi-attari-hero__actions a,
.nvi-attari-tabs,
.nvi-attari-tabs button,
.nvi-attari-product__image span,
.nvi-attari-product__actions a,
.nvi-attari-cta a,
.nvi-filter-tabs button,
.nvi-service-demo-card__live,
.nvi-service-demo-card__body li,
.nvi-attari-popup__dialog a,
.nvi-button {
	border-radius:var(--nvi-control-radius);
}
.nvi-attari-about__image::before,
.nvi-attari-about__image img,
.nvi-attari-why__media img,
.nvi-attari-product,
.nvi-attari-product__image,
.nvi-demo-card__inner,
.nvi-demo-card__visual,
.nvi-attari-service,
.nvi-attari-service::before,
.nvi-attari-partner-strip .nvi-attari-partner,
.nvi-attari-faq details,
.nvi-attari-popup__dialog,
.nvi-nav-submenu,
.nvi-feature-card,
.nvi-price-card,
.nvi-portfolio-card__visual,
.nvi-demo-library-card .nvi-demo-card__inner,
.nvi-free-partner,
.nvi-service-demo-card,
.nvi-service-hero__visual,
.nvi-service-hero__visual::before,
.nvi-service-hero__visual::after {
	border-radius:var(--nvi-frame-radius);
}
.nvi-demo-library-card .nvi-demo-card__visual { border-radius:var(--nvi-frame-radius) 0 0 var(--nvi-frame-radius); }
.nvi-attari-popup__dialog > img { border-radius:calc(var(--nvi-frame-radius) - 1px) 0 0 calc(var(--nvi-frame-radius) - 1px); }
.nvi-demo-card__visual > span,
.nvi-service-demo-card__action span { border-radius:6px; }
.nvi-attari-hero::before,
.nvi-attari-hero::after,
.nvi-attari-cta::before,
.nvi-service-showcase::before {
	border-radius:18px;
}

/* Reveal every important content unit with small, varied movements. */






/* Interaction motion stays subtle and never changes layout. */
.nvi-attari-product,
.nvi-attari-service,
.nvi-attari-partner,
.nvi-attari-faq details,
.nvi-feature-card,
.nvi-price-card,
.nvi-portfolio-card,
.nvi-service-demo-card {
	transition:box-shadow .32s ease,transform .32s cubic-bezier(.2,.75,.25,1),border-color .32s ease,background .32s ease,color .32s ease;
}
.nvi-attari-product:hover,
.nvi-attari-partner:hover,
.nvi-attari-faq details:hover,
.nvi-feature-card:hover,
.nvi-price-card:hover,
.nvi-portfolio-card:hover,
.nvi-service-demo-card:hover {
	box-shadow:0 24px 54px rgba(18,16,24,.14);
	transform:translateY(-6px) scale(1.008);
}
.nvi-attari-service:hover { transform:translateY(-6px) scale(1.008); }
.nvi-attari-service:nth-child(3n+2):hover { transform:translateY(10px) scale(1.008); }
.nvi-attari-why__list details[open] > p,
.nvi-attari-faq details[open] > p {
	animation:nvi-detail-open .38s cubic-bezier(.2,.7,.25,1) both;
}

.nvi-attari-order,
.nvi-attari-hero__actions a,
.nvi-attari-product__actions a,
.nvi-attari-cta a,
.nvi-button,
.nvi-mc-button {
	background-image:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.24) 50%,transparent 70%);
	background-position:150% 0;
	background-repeat:no-repeat;
	background-size:250% 100%;
	transition:background-position .6s ease,background-color .25s ease,border-color .25s ease,color .25s ease,transform .25s ease;
}
.nvi-attari-order:hover,
.nvi-attari-hero__actions a:hover,
.nvi-attari-product__actions a:hover,
.nvi-attari-cta a:hover,
.nvi-button:hover,
.nvi-mc-button:hover { background-position:-50% 0; }
.nvi-attari-section-head::before { animation:nvi-sparkle 6s ease-in-out infinite; }
.nvi-attari-hero::after,
.nvi-attari-cta::before,
.nvi-service-showcase::before { animation:nvi-square-breathe 7s ease-in-out infinite; }

@keyframes nvi-detail-open {
	from { opacity:0; transform:translateY(-8px); }
	to { opacity:1; transform:none; }
}
@keyframes nvi-sparkle {
	0%,100% { opacity:.65; transform:rotate(0deg) scale(1); }
	50% { opacity:1; transform:rotate(90deg) scale(1.14); }
}
@keyframes nvi-square-breathe {
	0%,100% { opacity:.45; transform:translate(-50%,-50%) scale(1); }
	50% { opacity:.82; transform:translate(-50%,-50%) scale(1.035); }
}
.nvi-service-showcase::before {
	animation:nvi-square-drift 8s ease-in-out infinite alternate;
	transform:translate(0,0) rotate(0deg);
}
@keyframes nvi-square-drift {
	from { opacity:.45; transform:translate(0,0) rotate(0deg); }
	to { opacity:.8; transform:translate(-34px,28px) rotate(7deg); }
}

body.admin-bar .nvi-attari-header { top:60px; }

@media(max-width:767px) {
	.nvi-attari-topbar { height:26px; }
	.nvi-attari-header {
		height:64px;
		padding-inline:16px;
		top:26px;
	}
	.nvi-attari-header.is-scrolled { height:60px; }
	.nvi-attari-hero {
		min-height:650px;
		padding:112px 16px 62px;
	}
	.nvi-attari-hero h1 {
		font-size:clamp(42px,12vw,56px);
		height:2.08em;
	}
	.nvi-attari-hero__description { font-size:15px; }
	.nvi-attari-about,
	.nvi-attari-why,
	.nvi-attari-catalog,
	.nvi-demo-showcase,
	.nvi-attari-services,
	.nvi-attari-partners,
	.nvi-attari-faq { padding-block:64px; }
	.nvi-attari-about__image img { min-height:0; }
	.nvi-attari-section-head { margin-bottom:38px; }
	.nvi-attari-products {
		gap:26px 12px;
		margin-top:58px;
	}
	.nvi-attari-service,
	.nvi-attari-service:nth-child(3n+2) {
		min-height:350px;
		transform:none;
	}
	.nvi-attari-service:nth-child(3n+2):hover { transform:translateY(-6px) scale(1.008); }
	.nvi-attari-cta { padding-block:78px; }
	.nvi-attari-footer { padding-top:58px; }
	.nvi-demo-library-card .nvi-demo-card__visual,
	.nvi-attari-popup__dialog > img {
		border-radius:calc(var(--nvi-frame-radius) - 1px) calc(var(--nvi-frame-radius) - 1px) 0 0;
	}
	.nvi-service-demo-card__visual,
	.nvi-service-demo-card:nth-child(-n+2) .nvi-service-demo-card__visual { min-height:250px; }
	body.admin-bar .nvi-attari-header { top:72px; }
}

@media(max-width:430px) {
	.nvi-attari-product,
	.nvi-attari-product__image { border-radius:var(--nvi-frame-radius); }
}

@media(prefers-reduced-motion:reduce) {
	
	.nvi-attari-product,
	.nvi-attari-service,
	.nvi-attari-partner,
	.nvi-attari-faq details,
	.nvi-feature-card,
	.nvi-price-card,
	.nvi-portfolio-card,
	.nvi-service-demo-card,
	.nvi-attari-order,
	.nvi-attari-hero__actions a,
	.nvi-attari-product__actions a,
	.nvi-attari-cta a,
	.nvi-button,
	.nvi-mc-button {
		animation:none;
		background-image:none;
		transition:none;
	}
	.nvi-attari-section-head::before,
	.nvi-attari-hero::after,
	.nvi-attari-cta::before,
	.nvi-service-showcase::before,
	.nvi-attari-why__list details[open] > p,
	.nvi-attari-faq details[open] > p { animation:none; }
}

/* v1.5.8 — full-screen hero and direct Elementor sizing controls. */
body.elementor-page { overflow-x:hidden; overflow-x:clip; }
.elementor-widget[class*="elementor-widget-nvi-"] { min-width:0; }
.elementor-widget[class*="elementor-widget-nvi-"] > .elementor-widget-container { width:100%; }
.elementor-widget.nvi-full-bleed-yes {
	align-self:stretch;
	margin-left:calc(50% - 50vw)!important;
	margin-right:calc(50% - 50vw)!important;
	max-width:100vw!important;
	width:100vw!important;
}

/* The storefront hero now occupies the complete first viewport like Attari. */
.nvi-attari-block--hero > .nvi-attari-hero {
	min-height:100vh;
	min-height:100svh;
}

.elementor-widget.nvi-section-height-screen .nvi-attari-block > section,
.elementor-widget.nvi-section-height-screen .nvi-attari-block > footer,
.elementor-widget.nvi-section-height-screen .nvi-attari-block > .nvi-attari-header,
.elementor-widget.nvi-section-height-screen .nvi-site-fragment > main,
.elementor-widget.nvi-section-height-screen .nvi-site-fragment > main > section:first-child:last-child,
.elementor-widget.nvi-section-height-screen .nvi-site:not(.nvi-attari-block):not(.nvi-site-fragment) > main,
.elementor-widget.nvi-section-height-screen .nvi-invitation > .nvi-section,
.elementor-widget.nvi-section-height-screen .nvi-invitation > .nvi-cover {
	min-height:100vh;
	min-height:100svh;
}

.elementor-widget.nvi-section-height-auto .nvi-attari-block > section,
.elementor-widget.nvi-section-height-auto .nvi-attari-block > footer,
.elementor-widget.nvi-section-height-auto .nvi-attari-block > .nvi-attari-header,
.elementor-widget.nvi-section-height-auto .nvi-site-fragment > main,
.elementor-widget.nvi-section-height-auto .nvi-site-fragment > main > section:first-child:last-child,
.elementor-widget.nvi-section-height-auto .nvi-site:not(.nvi-attari-block):not(.nvi-site-fragment) > main,
.elementor-widget.nvi-section-height-auto .nvi-invitation > .nvi-section,
.elementor-widget.nvi-section-height-auto .nvi-invitation > .nvi-cover { min-height:0; }

@supports (height:100dvh) {
	.nvi-attari-block--hero > .nvi-attari-hero,
	.elementor-widget.nvi-section-height-screen .nvi-attari-block > section,
	.elementor-widget.nvi-section-height-screen .nvi-attari-block > footer,
	.elementor-widget.nvi-section-height-screen .nvi-attari-block > .nvi-attari-header,
	.elementor-widget.nvi-section-height-screen .nvi-site-fragment > main,
	.elementor-widget.nvi-section-height-screen .nvi-site-fragment > main > section:first-child:last-child,
	.elementor-widget.nvi-section-height-screen .nvi-site:not(.nvi-attari-block):not(.nvi-site-fragment) > main,
	.elementor-widget.nvi-section-height-screen .nvi-invitation > .nvi-section,
	.elementor-widget.nvi-section-height-screen .nvi-invitation > .nvi-cover { min-height:100dvh; }
}

/* v1.5.9 — clean imagery without animated square or circle ornaments. */
.nvi-attari-hero::before,
.nvi-attari-hero::after,
.nvi-attari-cta::before,
.nvi-service-showcase::before,
.nvi-demo-showcase::before,
.nvi-demo-library-hero::after {
	animation:none!important;
	content:none!important;
	display:none!important;
}
