/* Incremental additions to the original LP3 design. */
.headline-line{display:block}.headline-line+.headline-line{margin-top:16px}
.hero .card,.tab-panel,.peers-wrap,.peers-scroll{min-width:0;max-width:100%}
.flow-heading{font-size:clamp(20px,2.5vw,27px);text-align:center;display:flex;align-items:center;justify-content:center;gap:10px;width:100%;max-width:960px;margin-bottom:-16px}.flow-heading svg{color:var(--brand);flex:none}
.flow-steps p small{display:block;font-family:var(--f);font-size:12px;font-weight:400;line-height:1.5;opacity:.8;margin-top:8px}.flow-steps p{max-width:27ch}
.family-photo{width:100%;aspect-ratio:1;border-radius:14px;background-image:url('./assets/community-reference.webp');background-size:355.556% 533.333%;background-position:78.8% 4.8077%;background-repeat:no-repeat}
.animal{display:inline-block;width:36px;height:36px;flex:none;background-size:contain;background-position:center;background-repeat:no-repeat;vertical-align:middle}
.animal-bear{background-image:url('./assets/avatar-bear-professional.svg')}.animal-moose{background-image:url('./assets/avatar-moose-professional.svg')}.animal-beaver{background-image:url('./assets/avatar-beaver-professional.svg')}.animal-blue-jay{background-image:url('./assets/avatar-blue-jay-professional.svg')}.animal-river-otter{background-image:url('./assets/avatar-river-otter-professional.svg')}
.peers-table .avatar-cell{padding-block:4px;text-align:center}.animal{border-radius:8px}
.community-map{padding:24px 18px 18px;margin-top:20px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.community-map>h3{font-size:21px}.community-map>p{color:var(--text2);font-size:14px;margin-top:6px}.map-canvas{position:relative;width:100%;max-width:840px;margin:8px auto 0;overflow:visible}.map-canvas>img{display:block;width:100%;height:auto}.map-label{position:absolute;z-index:1;display:flex;gap:5px;align-items:center;padding:5px 8px;background:white;border:1px solid var(--border2);border-radius:10px;box-shadow:0 4px 14px #0f25570a;font-size:11px;line-height:1.3;white-space:nowrap;pointer-events:none}.map-label b{display:block;color:var(--brand);font-size:16px}.map-label .animal{width:36px;height:36px}
/* City chips use left/top % aligned to SVG leader tips (same coords as the animal V2 map). */
.map-label--vancouver{left:1.11%;top:54.31%}.map-label--calgary{left:32.22%;top:56.03%}.map-label--toronto{left:52.22%;top:81.90%}.map-label--ottawa{left:78.33%;top:82.76%}.map-label--montreal{left:78.89%;top:60.34%}
.painline .pain-highlight{color:var(--bright)}
.advisor-layout{display:grid;grid-template-columns:220px minmax(0,1fr);align-items:center;gap:36px;max-width:960px;margin:auto}.advisor-photo{display:block;width:100%;height:auto;border-radius:14px}.advisor-layout .exptext{text-align:left;font-size:18px}
[hidden]{display:none!important}.consent a{color:var(--brand)}
@media(max-width:600px){.community-map{padding:18px 10px}.map-label{padding:3px 5px;font-size:9px;gap:2px}.map-label b{font-size:12px}.map-label .animal{display:none}.map-canvas{margin-top:18px}.advisor-layout{grid-template-columns:1fr;gap:20px}.advisor-photo{width:180px;margin:auto}.advisor-layout .exptext{text-align:center}.flow-heading{max-width:420px}.flow-heading svg{width:21px}.headline-line+.headline-line{margin-top:13px}}
body{overflow-x:clip}.peers-head-stick,.peers-head-x{min-width:0;max-width:100%}
@media(max-width:600px){.map-label .animal{display:inline-block;transform:scale(.65);margin:-6px}}

/* Shared mascot identity: exact approved family photo and golden membership key. */
.hero-photo .moose-family-photo{display:block;width:100%;height:auto;border-radius:14px}
.community-key{display:inline-block;width:28px;height:28px;object-fit:contain;flex:none;vertical-align:middle}
.community-key-cta{display:inline-flex;align-items:center;justify-content:center;gap:9px}
.top-cta .community-key{width:21px;height:21px}.flow-heading .community-key{width:36px;height:36px}
.card-tab .community-key{width:23px;height:23px}
.animal-community-group{display:block;width:min(100%,520px);height:auto;margin:18px auto 14px}
#panel-expert .card-h>b{color:#0b0f19}
@media(max-width:600px){.community-key{width:25px;height:25px}.animal-community-group{margin-block:14px}.top-cta .community-key{width:19px;height:19px}}
/* Larger family portrait; mobile headline split around the image. */
@media(min-width:921px){
 .hero-pitch{grid-template-columns:minmax(0,1fr) min(360px,40%)}
 .hero-photo{max-width:360px}
 .hero-photo .moose-family-photo{aspect-ratio:9/10;object-fit:cover;object-position:right center}
}
@media(max-width:920px){
 .hero-pitch{display:flex;flex-direction:column;align-items:center;gap:22px}
 .hero-copy,.hero-copy h1{display:contents}
 .hero-pitch .ca-tag{order:0;margin-bottom:0}
 .hero-pitch .headline-line{font-family:'Space Grotesk',var(--f);font-size:clamp(28px,6.8vw,42px);font-weight:700;letter-spacing:-.035em;line-height:1.1;text-align:center;width:100%;margin:0}
 .hero-pitch .headline-line:first-child{order:1}
 .hero-pitch .hero-photo{order:2;max-width:380px;width:100%;justify-self:auto}
 .hero-pitch .moose-family-photo{width:100%;aspect-ratio:1;object-fit:cover;object-position:right center}
 .hero-pitch .headline-line:last-child{order:3}
 .hero-pitch .hero-points{order:4;margin-top:0}
}

.hero-community-trust{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:14px 28px;width:100%;max-width:960px;margin:18px auto 0;padding:14px 18px;box-sizing:border-box;border:1px solid #dce7f6;border-radius:12px;background:#f7faff;color:var(--text2);font-family:var(--f);font-size:.9375rem;font-weight:650;line-height:1.35}.hero-community-trust>span{display:inline-flex;align-items:center;gap:8px}.hero-community-trust img{flex:none;width:32px;height:32px;object-fit:contain;display:block}@media(max-width:920px){.hero-community-trust{font-size:.875rem;gap:12px 20px;margin-top:16px;justify-content:center}.hero-community-trust img{width:28px;height:28px}}

/* Small illustrations between each step number and its description. */
.flow-steps .step-visual{display:flex;align-items:center;justify-content:center;width:46px;height:46px;flex:none;margin:0 auto}.step-rate{color:#8ebaff}.step-golden-key{display:block;width:42px;height:42px;object-fit:contain}
@media(max-width:920px){.flow-steps li{display:grid;grid-template-columns:36px 46px minmax(0,1fr);gap:12px}.flow-steps .step-visual{margin:0}.flow-steps li>.n{grid-column:1;grid-row:1}.flow-steps li>.step-visual{grid-column:2;grid-row:1}.flow-steps li>p{grid-column:3;grid-row:1}.flow-steps li:not(:last-child)::after{top:calc(100% + 2px)}}
@media(max-width:920px){.flow-steps li{grid-template-columns:46px minmax(0,1fr);grid-template-rows:36px 46px;gap:8px 14px}.flow-steps li>.n{grid-column:1;grid-row:1;justify-self:center}.flow-steps li>.step-visual{grid-column:1;grid-row:2}.flow-steps li>p{grid-column:2;grid-row:1 / 3}.flow-steps li:not(:last-child)::after{left:22px}}

.step-bear-face{display:block;width:42px;height:42px;object-fit:contain}.privacy-beaver{display:block;width:160px;height:auto;margin:-8px auto 24px}@media(max-width:600px){.privacy-beaver{width:135px}}

.hero .wrap>.community-map{width:100%;max-width:960px;margin-top:0}
.community-map .map-canvas{max-width:820px}
.exact-bear-face{clip-path:polygon(12% 6%,27% 6%,36% 15%,65% 15%,73% 6%,89% 6%,97% 20%,91% 36%,94% 61%,83% 83%,67% 94%,35% 94%,17% 82%,7% 61%,10% 36%,4% 20%)}
.privacy-avatar{display:flex;align-items:center;justify-content:center;gap:14px;color:var(--brand);margin:-4px auto 28px;min-height:60px}
.privacy-avatar .animal-beaver{transform:scale(1.6);margin:10px 12px;clip-path:ellipse(47% 43% at 50% 51%)}

.original-avatar-tile{clip-path:none!important;border-radius:8px;background-color:#fff}.privacy-avatar .original-avatar-tile{clip-path:none!important}.inline-community-flow{max-width:440px;margin:0 auto}.inline-community-flow .rates-step{width:100%}

/* Family-style faces are scoped to step 2 and privacy. Original table and map avatars retained. */
.step-bear-face{width:46px;height:46px}.privacy-beaver-face{width:76px;height:76px;object-fit:contain}
.community-voices{background:#f2f7fd;color:#0b1635}.voices-eyebrow{color:#0065ee;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin:0 0 12px}.voices-intro{max-width:650px;margin:16px auto 0;color:#526078;font-size:14px;line-height:1.6}
.community-quotes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.community-quote{margin:0;background:#fff;border:1px solid #e1e9f3;border-radius:16px;padding:23px 20px;display:flex;flex-direction:column;min-height:260px;box-shadow:0 5px 20px #122f5b05}.community-quote>.animal{width:44px;height:44px;margin-bottom:17px}.community-quote blockquote{margin:0 0 24px;font-size:15px;line-height:1.55;font-weight:500}.community-quote blockquote p{margin:0}.community-quote figcaption{margin-top:auto;display:flex;flex-direction:column;gap:6px;font-size:11px;line-height:1.5;color:#66748a}.community-quote figcaption b{color:#263b59;font-size:11px}.community-quote a{color:#0864d9;text-underline-offset:3px}.community-quote:last-child{grid-column:auto}
@media(max-width:1000px){.community-quotes{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.community-quotes{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.community-quote{padding:20px 17px;min-height:250px}.community-quote blockquote{font-size:14px}}
@media(max-width:440px){.community-quotes{grid-template-columns:1fr}.community-quote{min-height:230px}.voices-intro{font-size:13px}}

/* Three perspectives, with native swipe and scroll snapping on mobile. */
.community-quotes{grid-template-columns:repeat(3,minmax(0,1fr))}.community-quote{min-height:250px}.voices-controls{display:none}
@media(max-width:720px){.community-quotes{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:16px;padding:4px 2px 16px;scrollbar-width:none;overscroll-behavior-x:contain}.community-quotes::-webkit-scrollbar{display:none}.community-quote{flex:0 0 88%;min-width:0;min-height:245px;scroll-snap-align:start;scroll-snap-stop:always}.voices-controls{display:flex;justify-content:center;align-items:center;gap:22px;margin-top:6px}.voices-controls button{display:grid;place-items:center;width:42px;height:42px;border:1px solid #d6e3f4;border-radius:50%;background:#fff;color:#0864d9;font-size:22px;cursor:pointer}.voices-controls button:disabled{opacity:.35;cursor:default}.voices-position{font-size:12px;color:#526078}.community-quotes:focus-visible,.voices-controls button:focus-visible{outline:2px solid #0864d9;outline-offset:3px}}

.homeowner-couple-photo{display:block;width:100%;max-width:640px;height:auto;margin:0 auto 36px;border-radius:16px;aspect-ratio:3/2;object-fit:cover}@media(max-width:600px){.homeowner-couple-photo{margin-bottom:26px;border-radius:12px}}

.professional-community-group{display:flex;justify-content:center;align-items:center;gap:12px;margin:24px auto;flex-wrap:wrap}.professional-community-group img{width:58px;height:58px}.hero-photo .moose-family-photo{object-position:center!important}.community-key{filter:saturate(.7)}
