/* All custom components are scoped. No unqualified .row/.columns/button rules. */
.zrm-modern { --zrm-ink:#2b1824; --zrm-muted:#74656e; --zrm-berry:#de1454; --zrm-berry-deep:#ab1042; --zrm-blush:#fff1f5; --zrm-line:#ecdfe5; --zrm-surface:#fff; background:#fffaf9; color:var(--zrm-ink); margin:0; font-family:Inter,"Segoe UI",Arial,sans-serif; }
.zrm-ui,.zrm-ui * { box-sizing:border-box; }
.zrm-ui { font-family:Inter,"Segoe UI",Arial,sans-serif; color:var(--zrm-ink); font-size:15px; line-height:1.6; }
.zrm-ui :is(h1,h2,h3,p,ul,figure) { margin:0; padding:0; }
.zrm-ui :is(h1,h2,h3) { color:var(--zrm-ink); font-family:inherit; font-weight:700; text-transform:none; }
.zrm-ui a { color:inherit; text-decoration:none; }
.zrm-ui button,.zrm-ui input { font:inherit; }
.zrm-ui button { cursor:pointer; }
.zrm-ui button:disabled { cursor:not-allowed; opacity:.55; }
.zrm-ui :is(a,button,input,textarea,select):focus-visible { outline:3px solid #7625c6; outline-offset:4px; }
.zrm-ui [hidden] { display:none!important; }
.zrm-icon { width:22px; height:22px; flex:none; vertical-align:middle; }
.zrm-skip { position:fixed; top:-100px; left:16px; z-index:100001; padding:12px 20px; background:#fff; color:#92103b; }
.zrm-skip:focus { top:10px; }
.zrm-header { background:rgba(255,250,249,.97); border-bottom:1px solid var(--zrm-line); position:relative; z-index:30; }
.zrm-header-inner { max-width:1320px; margin:auto; min-height:90px; padding:0 36px; display:flex; align-items:center; justify-content:space-between; gap:28px; }
.zrm-brand { display:inline-flex; align-items:center; gap:10px; font-size:25px; font-weight:800; letter-spacing:-1px; white-space:nowrap; color:var(--zrm-berry)!important; line-height:1; }
.zrm-brand-logo { display:block; width:148px; height:auto; max-height:80px; object-fit:contain; flex:none; }
.zrm-nav { display:flex; align-items:center; gap:30px; height:90px; }
.zrm-nav a { display:flex; align-items:center; gap:7px; font-size:13px; font-weight:600; position:relative; height:100%; color:#55414c; }
.zrm-nav a .zrm-icon { width:17px; height:17px; }
.zrm-nav a:hover,.zrm-nav [aria-current] { color:var(--zrm-berry); }
.zrm-nav [aria-current]::after { content:""; height:3px; background:var(--zrm-berry); position:absolute; bottom:0; left:0; right:0; border-radius:4px 4px 0 0; }
.zrm-header-actions { display:flex; gap:10px; align-items:center; }
.zrm-avatar { display:block; width:42px; height:42px; border-radius:50%; border:3px solid white; box-shadow:0 0 0 1px var(--zrm-line); flex:none; }
.zrm-icon-btn { display:inline-flex; width:44px; height:44px; align-items:center; justify-content:center; border:1px solid var(--zrm-line); border-radius:50%; background:white; color:var(--zrm-ink); padding:0; }
.zrm-icon-btn:hover { background:var(--zrm-blush); color:var(--zrm-berry); }
.zrm-menu-toggle { display:none; }
.zrm-btn { display:inline-flex; align-items:center; justify-content:center; gap:20px; min-height:54px; padding:14px 25px; background:var(--zrm-berry); border:1px solid transparent; border-radius:99px; color:white!important; font-weight:700; font-size:14px; text-align:center; line-height:1.4; box-shadow:0 7px 18px #de14541a; transition:transform .2s,background .2s,box-shadow .2s; }
.zrm-btn:hover { transform:translateY(-2px); background:var(--zrm-berry-deep); box-shadow:0 10px 25px #de145433; }
.zrm-btn-small { min-height:44px; padding:10px 18px; gap:8px; }
.zrm-btn-quiet { background:transparent; border-color:var(--zrm-line); box-shadow:none; color:var(--zrm-ink)!important; }
.zrm-btn-quiet:hover { background:var(--zrm-blush); }
.zrm-btn-white { background:#fff; color:var(--zrm-berry)!important; box-shadow:none; }
.zrm-btn-white:hover { background:#fff0f5; }
.zrm-text-link { display:inline-flex; gap:12px; align-items:center; color:var(--zrm-berry)!important; font-weight:650; font-size:14px; min-height:44px; }
.zrm-text-link:hover { text-decoration:underline; text-underline-offset:5px; }
.zrm-main { max-width:1320px; margin:auto; padding:0 36px; }
.zrm-hero { display:grid; grid-template-columns:1.05fr 1fr; gap:32px; align-items:center; padding:52px 0 58px; }
.zrm-eyebrow { font-size:10px; letter-spacing:1.8px; font-weight:750; display:inline-flex; align-items:center; gap:10px; line-height:1.8; color:var(--zrm-berry); }
.zrm-tiny-heart { font-size:17px; }
.zrm-hero h1 { font-size:clamp(39px,4.5vw,65px); letter-spacing:-3px; line-height:1.065; margin:20px 0 25px; font-weight:750; }
.zrm-ui em { font-family:Georgia,"Times New Roman",serif; font-weight:400; color:var(--zrm-berry); letter-spacing:-.045em; }
.zrm-hero-copy>p { color:var(--zrm-muted); font-size:15px; line-height:1.85; }
.zrm-hero-buttons { display:flex; align-items:center; gap:23px; margin-top:30px; flex-wrap:wrap; }
.zrm-hero-note { display:flex; gap:9px; align-items:center; font-size:11px; color:var(--zrm-muted); margin-top:25px; }
.zrm-hero-note .zrm-icon { color:var(--zrm-berry); width:17px; height:17px; }
.zrm-hero-art { position:relative; height:520px; isolation:isolate; padding:18px 0 0 18px; }
.zrm-hero-image { width:100%; height:100%; object-fit:cover; object-position:53% center; border-radius:160px 26px 26px 26px; display:block; }
.zrm-hero-art::after { content:""; position:absolute; inset:50% 0 0 18px; border-radius:0 0 26px 26px; background:linear-gradient(transparent,#3215209e); pointer-events:none; }
.zrm-orbit { position:absolute; top:0; right:18px; bottom:17px; left:0; border:1px solid #e1a4b7; border-radius:175px 35px 35px 35px; z-index:-1; transform:rotate(-3deg); }
.zrm-art-label { position:absolute; top:76px; left:-22px; z-index:2; display:flex; align-items:center; gap:12px; padding:13px 20px 13px 13px; border:1px solid #fff8; border-radius:15px; background:#fffaf9f5; box-shadow:0 10px 40px #49223017; font-size:11px; line-height:1.6; animation:zrm-float 6s ease-in-out infinite; }
.zrm-art-label strong { font-size:12px; }
.zrm-label-icon { display:grid; place-items:center; background:#ffe6ed; color:var(--zrm-berry); width:43px; height:43px; border-radius:50%; }
.zrm-art-caption { position:absolute; bottom:33px; left:48px; z-index:2; color:#fff; font-size:24px; }
.zrm-art-caption em { color:#fff4ed; font-size:34px; }
.zrm-art-caption>span { display:block; font-size:8px; letter-spacing:2px; margin-top:5px; }
.zrm-art-spark { position:absolute; right:-12px; top:-12px; font-size:78px; line-height:1; color:var(--zrm-berry); transform:rotate(10deg); }
.zrm-values { border-top:1px solid var(--zrm-line); border-bottom:1px solid var(--zrm-line); padding:27px 0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; }
.zrm-values>div { display:flex; gap:14px; align-items:center; }
.zrm-values>div>.zrm-icon { width:27px; height:27px; color:var(--zrm-berry); }
.zrm-values h2 { font-size:14px; margin-bottom:2px; }
.zrm-values p { font-size:11px; color:var(--zrm-muted); }
.zrm-section { padding:60px 0 0; }
.zrm-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:18px; margin-bottom:28px; }
.zrm-section-heading h2 { font-size:36px; line-height:1.2; letter-spacing:-1.5px; margin-top:8px; }
.zrm-people-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; }
.zrm-person { min-width:0; border:1px solid var(--zrm-line); border-radius:20px; overflow:hidden; background:white; transition:transform .25s,box-shadow .25s; }
.zrm-person:hover { transform:translateY(-4px); box-shadow:0 12px 28px #39152512; }
.zrm-person-photo { display:block; position:relative; aspect-ratio:1/1.08; overflow:hidden; }
.zrm-person-photo img { width:100%; height:100%; object-fit:cover; display:block; }
.zrm-portrait { background-image:var(--zrm-portraits); background-repeat:no-repeat; background-size:200% 200%; }
.zrm-p0 { background-position:0 0; }.zrm-p1 { background-position:100% 0; }.zrm-p2 { background-position:0 100%; }.zrm-p3 { background-position:100% 100%; }
.zrm-online { position:absolute; top:13px; left:13px; background:#fffffff0; padding:4px 10px; border-radius:20px; font-size:10px; color:#225943; display:flex; align-items:center; gap:5px; }
.zrm-online i,.zrm-status-dot { display:inline-block; width:6px; height:6px; background:#248858; border-radius:50%; }
.zrm-person-info { padding:16px; display:flex; align-items:center; justify-content:space-between; gap:5px; }
.zrm-person-info h3 { font-size:16px; line-height:1.4; overflow-wrap:anywhere; }
.zrm-person-info p { display:flex; gap:3px; align-items:center; color:var(--zrm-muted); font-size:11px; margin-top:3px; }
.zrm-person-info p .zrm-icon { width:12px; height:12px; }
.zrm-like { display:grid; place-items:center; width:42px; height:42px; border:1px solid #f0ceda; background:#fff5f8; color:var(--zrm-berry)!important; border-radius:50%; flex:none; padding:0; }
.zrm-like:hover,.zrm-like[aria-pressed=true] { background:var(--zrm-berry); color:#fff!important; }
.zrm-like[aria-pressed=true] .zrm-icon { fill:currentColor; }
.zrm-sample-note { font-size:10px; color:var(--zrm-muted); margin-top:14px!important; }
.zrm-invitation { padding:48px 56px; margin:60px 0; border-radius:28px; background:#9d133f; color:#fff; display:grid; grid-template-columns:1.2fr 1fr; gap:25px; overflow:hidden; }
.zrm-invitation .zrm-eyebrow { color:#ffc2d4; }
.zrm-invitation h2 { font-size:42px; letter-spacing:-1.5px; line-height:1.12; color:white; margin:14px 0; }
.zrm-invitation h2 em { color:#ffd1dd; }
.zrm-invitation p { font-size:13px; color:#ffe7ef; margin-bottom:22px; }
.zrm-conversation-art { position:relative; display:flex; justify-content:center; flex-direction:column; gap:20px; padding:0 10px; }
.zrm-conversation-art>span:not(:last-child) { padding:17px 20px; background:white; border-radius:20px 20px 20px 4px; color:#3c2631; align-self:flex-start; transform:rotate(-5deg); font-size:15px; box-shadow:0 16px 40px #500b2033; }
.zrm-conversation-art>span:nth-child(2) { transform:rotate(4deg); align-self:flex-end; background:#ffcadd; border-radius:20px 20px 4px 20px; }
.zrm-conversation-heart { position:absolute; font-size:90px; right:5px; top:-25px; color:#ff8aaf; transform:rotate(15deg); }
.zrm-footer { max-width:1320px; margin:auto; display:flex; align-items:center; gap:30px; padding:12px 36px 36px; flex-wrap:wrap; }
.zrm-footer .zrm-brand { font-size:20px; }.zrm-footer .zrm-brand-mark { width:26px; height:30px; }
.zrm-footer p { font-size:12px; flex:1; color:var(--zrm-muted); }.zrm-footer>a:not(.zrm-brand),.zrm-footer>span { font-size:11px; color:var(--zrm-muted); }
.zrm-drawer { border:0; padding:22px max(22px,env(safe-area-inset-right)) max(22px,env(safe-area-inset-bottom)) 22px; margin:0 0 0 auto; height:100vh; height:100dvh; max-height:100dvh; width:min(360px,100%); max-width:100%; background:#fffaf9; overflow-y:auto; }
.zrm-drawer::backdrop,.zrm-dialog::backdrop { background:#24142099; backdrop-filter:blur(5px); }
.zrm-drawer-top { display:flex; justify-content:space-between; align-items:center; margin-bottom:25px; }
.zrm-drawer nav { display:flex; flex-direction:column; gap:8px; }
.zrm-drawer nav a { display:flex; align-items:center; gap:15px; padding:15px; border-radius:14px; background:#fff0f5; }
.zrm-drawer>p { margin-top:25px; font-family:Georgia,serif; font-style:italic; color:var(--zrm-berry); }
.zrm-modal-open { overflow:hidden; }
.zrm-toast { position:fixed; bottom:24px; left:50%; transform:translateX(-50%); width:max-content; max-width:calc(100% - 32px); background:#33202c; color:white; border-radius:14px; padding:14px 20px; z-index:10000; box-shadow:0 5px 30px #27102130; font-size:13px; }
@keyframes zrm-float { 0%,100% {transform:translateY(0)} 50% {transform:translateY(-7px)} }
@media(min-width:1500px) { .zrm-hero h1 {font-size:67px} }
@media(max-width:1100px) { .zrm-header-inner {gap:16px;padding:0 24px}.zrm-nav {gap:17px}.zrm-nav a {font-size:12px}.zrm-nav a .zrm-icon {display:none}.zrm-main {padding:0 24px}.zrm-hero {gap:24px}.zrm-hero h1 {letter-spacing:-2px}.zrm-hero-art {height:470px}.zrm-art-label {left:0;top:65px}.zrm-hero-buttons {gap:14px}.zrm-people-grid {gap:15px}.zrm-values {gap:12px}.zrm-values>div {gap:8px} }
@media(max-width:860px) { .zrm-nav {display:none}.zrm-menu-toggle {display:inline-flex}.zrm-header-inner {min-height:76px}.zrm-hero {grid-template-columns:1fr 1fr;padding-top:36px}.zrm-hero h1 {font-size:44px}.zrm-hero-art {height:450px}.zrm-hero-copy>p {font-size:14px}.zrm-hero .zrm-eyebrow {font-size:8px;letter-spacing:1px}.zrm-art-label {left:5px;top:55px;padding:9px;font-size:9px}.zrm-art-label strong {font-size:10px}.zrm-label-icon {width:33px;height:33px}.zrm-art-caption {left:35px;font-size:20px}.zrm-art-caption em {font-size:28px}.zrm-values {grid-template-columns:1fr 1fr;gap:22px;padding:24px 0}.zrm-values>div {gap:12px}.zrm-people-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.zrm-invitation {padding:32px;grid-template-columns:1fr 1fr}.zrm-invitation h2 {font-size:35px}.zrm-conversation-art>span:not(:last-child) {font-size:12px;padding:12px}.zrm-footer {padding:0 24px 30px;gap:18px}.zrm-footer p {flex-basis:45%} }
@media(max-width:600px) { .zrm-header-inner {min-height:72px;padding:0 18px}.zrm-brand {font-size:21px;gap:7px}.zrm-brand-mark {width:29px;height:33px}.zrm-header-actions {gap:7px}.zrm-header-actions>.zrm-btn span {display:none}.zrm-header-actions>.zrm-btn {width:40px;padding:0;min-height:40px}.zrm-avatar {width:37px;height:37px}.zrm-icon-btn {width:42px;height:42px}.zrm-main {padding:0 20px}.zrm-hero {display:flex;flex-direction:column;gap:27px;padding:34px 0 28px;align-items:stretch}.zrm-hero-copy {text-align:left}.zrm-hero .zrm-eyebrow {font-size:8px;letter-spacing:1.2px}.zrm-hero h1 {font-size:clamp(37px,9.6vw,54px);letter-spacing:-1.8px;margin:15px 0 18px}.zrm-hero-copy>p {font-size:13px}.zrm-desktop-break {display:none}.zrm-hero-buttons {gap:8px 20px;margin-top:22px}.zrm-btn {min-height:49px;padding:13px 20px;font-size:13px;gap:15px}.zrm-hero-note {margin-top:14px;font-size:10px}.zrm-hero-art {height:365px;padding:12px 0 0 12px;margin:0 4px 0 0}.zrm-hero-image {border-radius:110px 22px 22px 22px;object-position:55% center}.zrm-hero-art::after {left:12px;border-radius:0 0 22px 22px}.zrm-orbit {border-radius:115px 30px 30px 30px}.zrm-art-spark {font-size:61px;right:-12px;top:-7px}.zrm-art-label {top:55px;left:0;font-size:10px;gap:8px;padding:10px 14px 10px 10px}.zrm-art-label strong {font-size:11px}.zrm-art-caption {left:35px;bottom:24px}.zrm-values {gap:23px 15px}.zrm-values h2 {font-size:13px}.zrm-values p {font-size:10px;line-height:1.5}.zrm-values>div>.zrm-icon {width:23px;height:23px}.zrm-section {padding-top:35px}.zrm-section-heading {align-items:start;flex-direction:column;gap:5px;margin-bottom:20px}.zrm-section-heading .zrm-eyebrow {font-size:8px;letter-spacing:1.5px}.zrm-section-heading h2 {font-size:32px}.zrm-section-heading .zrm-text-link {font-size:12px;min-height:30px}.zrm-people-grid {gap:12px}.zrm-person {border-radius:15px}.zrm-person-photo {aspect-ratio:1/1.15}.zrm-online {font-size:8px;top:9px;left:9px;padding:3px 7px}.zrm-person-info {padding:11px 9px;gap:2px;flex-wrap:wrap}.zrm-person-info h3 {font-size:13px}.zrm-person-info p {font-size:10px}.zrm-like {width:44px;height:44px}.zrm-like .zrm-icon {width:20px;height:20px}.zrm-invitation {grid-template-columns:1fr;padding:28px;margin:35px 0;border-radius:23px;gap:35px}.zrm-invitation h2 {font-size:36px}.zrm-invitation .zrm-eyebrow {font-size:8px;letter-spacing:1px}.zrm-conversation-art {padding:10px 0 0;min-height:120px}.zrm-conversation-art>span:not(:last-child) {font-size:12px;padding:13px 15px}.zrm-conversation-heart {font-size:65px;right:15px;top:-37px}.zrm-footer {gap:16px;padding:0 20px 28px}.zrm-footer .zrm-brand {font-size:21px}.zrm-footer p {flex-basis:100%;order:1}.zrm-footer>span {margin-left:auto}.zrm-footer>a:not(.zrm-brand) {margin-left:auto}.zrm-footer>span {display:none} }
@media(max-width:360px) { .zrm-header-inner {padding:0 14px;gap:8px}.zrm-brand {font-size:18px}.zrm-brand-mark {width:26px}.zrm-main {padding:0 16px}.zrm-hero h1 {font-size:37px}.zrm-hero-art {height:320px}.zrm-header-actions {gap:5px}.zrm-hero-buttons .zrm-btn {font-size:12px;padding:12px 17px}.zrm-values>div {gap:7px}.zrm-person-info {min-height:92px}.zrm-person-info .zrm-like {margin-left:auto} }
@media(prefers-reduced-motion:reduce) { .zrm-ui *,.zrm-ui *::before,.zrm-ui *::after {animation:none!important;transition:none!important;scroll-behavior:auto!important} }
@media(max-width:600px) { .zrm-brand-logo {width:116px;max-height:62px}.zrm-footer .zrm-brand-logo {width:138px;max-height:74px} }
