/* Each brand keeps its own composition. This layer owns only tactile accents. */
html[data-family-vivid]{--fv-accent:#6d28d9;--fv-wash:#eee6fa;--fv-line:#d8c9e8;--fv-ease:cubic-bezier(.22,1,.36,1);--fv-lift:-5px;--fv-shadow:#51228114;--fv-radius:24px}
html[data-family-vivid=rechtstreeks]{--fv-accent:#b95025;--fv-wash:#f6e7d6;--fv-line:#d6c9b4;--fv-lift:-4px;--fv-shadow:#30452e16;--fv-radius:20px}
html[data-family-vivid=nappy-dappy]{--fv-accent:#f89125;--fv-wash:#f5e8fb;--fv-line:#d9bde6;--fv-lift:-6px;--fv-shadow:#46007a16;--fv-radius:32px}
html[data-family-vivid=shelters-of-grace]{--fv-accent:#a47b39;--fv-wash:#edf0e5;--fv-line:#c5d0bb;--fv-lift:-3px;--fv-shadow:#173d3020;--fv-radius:20px}
[data-family-vivid] .fv-surface{min-width:0;transition:translate .55s var(--fv-ease),box-shadow .55s var(--fv-ease),border-color .35s;scroll-margin-top:110px}
[data-family-vivid] .fv-surface.ff-living-card{animation:none!important}
[data-family-vivid] .fv-surface:focus-within{border-color:var(--fv-accent)}
[data-family-vivid] .fv-button{touch-action:manipulation;transition:translate .35s var(--fv-ease),scale .25s var(--fv-ease),background-color .25s,border-color .25s,box-shadow .35s; -webkit-tap-highlight-color:transparent}
[data-family-vivid] .fv-button.fv-pressed{scale:.975;translate:0 1px}
[data-family-vivid] :is(.fv-button,.fv-menu-link):focus-visible{outline:2px solid var(--fv-accent);outline-offset:5px;box-shadow:0 0 0 7px #fff9}
[data-family-vivid] .fv-button>svg:last-child,[data-family-vivid] .fv-button>.icon:last-child,[data-family-vivid] .fv-menu-link>svg:last-child{transition:translate .4s var(--fv-ease),rotate .4s var(--fv-ease)}
[data-family-vivid] .fv-menu-link{min-height:44px;transition:background-color .3s,color .3s,translate .4s var(--fv-ease);text-decoration-thickness:1px;text-underline-offset:.3em}
[data-family-vivid] :is(.text-link,.line-link,.gl-link,.inline-link){text-underline-offset:.3em;text-decoration-thickness:1px;transition:text-underline-offset .25s,color .25s}
[data-family-vivid] :is(.text-link,.line-link,.gl-link,.inline-link):hover{text-underline-offset:.45em}
[data-family-vivid=heramind] :is(.gl-project,.hm-mobile-platform,.hm-mobile-product){border-color:#ded5e7}
[data-family-vivid=heramind] .gl-project-link{color:#6d28d9}
[data-family-vivid=rechtstreeks] .rt-card{border-color:#d7cebd;box-shadow:0 2px 0 #30452e06}
[data-family-vivid=rechtstreeks] .rt-card .rt-number{color:#a84d28;letter-spacing:.06em}
[data-family-vivid=nappy-dappy] .steps-grid>article{transform:none;border-radius:30px 30px 50px 30px}
[data-family-vivid=nappy-dappy] .steps-grid>article .mini-art{width:76px;height:76px;margin-bottom:22px}
[data-family-vivid=nappy-dappy] .steps-grid>article .mini-art .icon{width:37px;height:37px}
[data-family-vivid=nappy-dappy] :is(.home-hero,.page-intro)::before{animation:none}
[data-family-vivid=nappy-dappy] :is(.hero-sticker,.floating-note,.hero-spark){animation:none}
[data-family-vivid=shelters-of-grace] .moment-card{border-color:#c8d1bf;box-shadow:0 5px 20px #173d3007}
[data-family-vivid=shelters-of-grace] :is(.button,.nav-cta){border-radius:100px}
@media(hover:hover) and (pointer:fine){
 html[data-family-vivid]:not(.fv-motion-paused) .fv-surface:hover{translate:0 var(--fv-lift);box-shadow:0 18px 45px var(--fv-shadow);border-color:var(--fv-line)}
 html[data-family-vivid]:not(.fv-motion-paused) .fv-button:hover{translate:0 -2px}
 html[data-family-vivid]:not(.fv-motion-paused) .fv-button:hover>svg:last-child,html[data-family-vivid]:not(.fv-motion-paused) .fv-button:hover>.icon:last-child{translate:3px 0;rotate:-5deg}
 html[data-family-vivid]:not(.fv-motion-paused) .fv-menu-link:hover>svg:last-child{translate:3px -1px}
 html[data-family-vivid]:not(.fv-motion-paused) .fv-menu-link:hover{translate:3px 0}
 html[data-family-vivid=nappy-dappy]:not(.fv-motion-paused) .steps-grid>article:hover .mini-art{transform:rotate(6deg)}
 html[data-family-vivid=shelters-of-grace]:not(.fv-motion-paused) .fv-button:hover>svg:last-child{rotate:0deg}
}
/* The welcome visual is photography, with native touch scroll and user-led media. */
.nd-editorial-gallery{position:relative;min-width:0;width:100%;margin:0;align-self:center;isolation:isolate;color:#46007a}
.nd-gallery-top{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 18px;padding-inline:4px;font:650 10px/1.6 Manrope,sans-serif;letter-spacing:.14em;text-transform:uppercase}
.nd-gallery-top>span:last-child{font-variant-numeric:tabular-nums;font-size:11px;letter-spacing:.08em;white-space:nowrap}
.nd-gallery-track{display:flex;gap:18px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#c6a8d8 transparent;touch-action:pan-x pan-y;position:relative;padding:0 0 12px;border-radius:25px 25px 58px 25px;outline-offset:6px}
.nd-gallery-track:focus-visible{outline:2px solid #8c4db6}
.nd-gallery-slide{position:relative;flex:0 0 100%;min-width:0;scroll-snap-align:start;scroll-snap-stop:always;margin:0;overflow:hidden;border-radius:25px 25px 58px 25px;background:#f8f0e7;border:1px solid #d8c3dc;display:flex;flex-direction:column}
.nd-gallery-media{position:relative;aspect-ratio:4/3;overflow:hidden;background:#ead6c0}
.nd-gallery-media img,.nd-gallery-media video{display:block;width:100%;height:100%;object-fit:cover;margin:0;border:0;border-radius:0}
.nd-gallery-media [hidden]{display:none!important}
.nd-gallery-media .nd-gallery-detail{object-position:center 55%}
.nd-gallery-media video{object-fit:contain;background:#321c40}
.nd-gallery-slide figcaption{padding:22px 26px 25px;background:#fffaf2;display:flex;align-items:baseline;justify-content:space-between;gap:15px;min-height:100px}
.nd-gallery-slide figcaption strong{font:450 clamp(23px,2.6vw,34px)/1.12 NappyEditorial,Georgia,serif;letter-spacing:-.035em;max-width:19ch}
.nd-gallery-slide figcaption span{font:650 9px/1.5 Manrope,sans-serif;text-transform:uppercase;letter-spacing:.12em;color:#875425;flex-shrink:0}
.nd-gallery-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:12px;padding:0 4px}
.nd-gallery-choices{display:flex;gap:8px;align-items:center}
.nd-gallery-choice{border:0;padding:0;width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:transparent;color:#46007a;cursor:pointer}
.nd-gallery-choice::before{content:'';width:20px;height:5px;border-radius:99px;background:#c9add6;transition:width .3s var(--fv-ease),background .3s}
.nd-gallery-choice[aria-pressed=true]::before{width:30px;background:#7c349e}
.nd-gallery-arrows{display:flex;gap:8px}
.nd-gallery-arrow{display:grid;place-items:center;width:48px;height:48px;border:1px solid #c9add6;border-radius:50%;color:#46007a;background:#fffaf2;cursor:pointer;flex-shrink:0}
.nd-gallery-arrow svg{width:20px;height:20px;pointer-events:none}
.nd-gallery-arrow:disabled{opacity:.35;cursor:default;box-shadow:none;translate:none}
.nd-gallery-caption{font:400 11px/1.7 Manrope,sans-serif;margin:14px 4px 0;max-width:54ch;color:#684376}
.nd-gallery-bottom{visibility:hidden}.fv-gallery-ready .nd-gallery-bottom{visibility:visible}
.welcome-split:has(.nd-editorial-gallery){gap:clamp(34px,5vw,82px);min-height:0;padding-block:clamp(50px,7vw,100px);overflow:visible;background:linear-gradient(135deg,#f0e3f6 0%,#f7eff9 60%,#f6e6dc 100%)}
.welcome-split:has(.nd-editorial-gallery) .welcome-copy{min-width:0}
@media(max-width:900px){.nd-gallery-slide figcaption{padding:20px;min-height:92px}.nd-gallery-slide figcaption strong{font-size:28px}.welcome-split:has(.nd-editorial-gallery){grid-template-columns:minmax(0,1fr);max-width:880px;margin-inline:auto}.nd-editorial-gallery{max-width:680px;margin-inline:auto}}
@media(max-width:600px){
 .welcome-split:has(.nd-editorial-gallery){margin-inline:12px;padding:34px 18px 42px;border-radius:30px 30px 64px 30px}
 .nd-gallery-top{font-size:9px;letter-spacing:.09em;gap:12px;margin-bottom:13px}.nd-gallery-top>span:last-child{font-size:10px}
 .nd-gallery-track,.nd-gallery-slide{border-radius:20px 20px 38px 20px}.nd-gallery-slide figcaption{padding:18px;min-height:106px;align-items:flex-start;flex-direction:column;gap:9px}.nd-gallery-slide figcaption strong{font-size:27px;max-width:20ch}.nd-gallery-slide figcaption span{font-size:8px}
 .nd-gallery-media{aspect-ratio:1.05}.nd-gallery-media img:not(.nd-gallery-detail){object-fit:contain;background:#ead8c3}.nd-gallery-caption{font-size:10px}.nd-gallery-bottom{gap:10px;margin-top:5px}
 [data-family-vivid=nappy-dappy] .steps-grid>article .mini-art{width:66px;height:66px;margin-bottom:0}
 [data-family-vivid] .fv-menu-link{overflow-wrap:anywhere}
}
/* Ambient pause also stops this layer. Existing navigation pause remains its own owner. */
html.fv-motion-paused :is(.fv-surface,.fv-button,.fv-menu-link,.fv-button>svg,.fv-button>.icon,.fv-menu-link>svg),html.fv-motion-paused .nd-gallery-choice::before{transition:none!important;animation:none!important;translate:none!important;scale:1!important}
@media(prefers-reduced-motion:reduce){[data-family-vivid] :is(.fv-surface,.fv-button,.fv-menu-link,.fv-button>svg,.fv-button>.icon,.fv-menu-link>svg),[data-family-vivid] .nd-gallery-choice::before{transition:none!important;animation:none!important;translate:none!important;scale:1!important}.nd-gallery-track{scroll-behavior:auto!important}}

@font-face{font-family:FamilyChinese;src:url('/family/fonts/family-chinese-regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
html[lang^="zh"] :is(body,h1,h2,h3,h4,p,button,a,select,input,textarea,label){font-family:FamilyChinese,"Microsoft YaHei","PingFang SC","Noto Sans CJK SC",system-ui,sans-serif!important}
