/* Polaroid-style feature cards with a clean frame and captions on white paper. */
.platform-v2{background:#f5f4f6;color:#242329;padding:112px 0 92px;overflow:hidden}
.platform-v2-intro{display:grid;grid-template-columns:minmax(0,1fr);align-items:end;margin-bottom:38px}
.platform-v2-intro h2{font-size:clamp(46px,4.6vw,70px);line-height:1.02;letter-spacing:-.035em;max-width:850px;text-wrap:balance}
.platform-v2-intro>p{font-size:20px;line-height:1.55;color:#625c68;max-width:350px;margin-bottom:5px}
.stamp-gallery{--stamp-width:324px;--stamp-spacing:310px;position:relative;margin-inline:auto;max-width:1100px}
.stamp-stage{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:30px;min-height:600px;touch-action:pan-y pinch-zoom}
.stamp-card{position:relative;display:block;width:100%;max-width:var(--stamp-width);padding:0;margin:auto;border:0;background:none;color:#242329;text-align:left;filter:drop-shadow(0 12px 18px #39304418);-webkit-tap-highlight-color:transparent}
.stamp-card:disabled{opacity:1;color:inherit;cursor:default}
.stamp-paper{display:block;padding:16px 16px 28px;background:#fff;border-radius:0}
.feature-visual{display:flex;flex-direction:column;gap:18px;aspect-ratio:4/5;padding:22px;background:#f1edf2;color:#302a36;overflow:hidden;font-family:Hind,sans-serif}
.feature-label{display:block;font-family:Poppins,sans-serif;font-size:11px;font-weight:500;line-height:1.5;letter-spacing:-.01em}
.feature-footnote{display:block;font-size:12px;line-height:1.4;color:#625669;margin-top:auto}
.feature-icon{display:block;width:22px;height:22px;flex-shrink:0}
.feature-portfolio-grid{display:grid;grid-template-columns:1.1fr 1fr;grid-template-rows:1.35fr 1fr;gap:6px;min-height:0;flex:1}
.feature-portfolio-grid img{width:100%;height:100%;min-height:0;object-fit:cover}
.feature-portfolio-grid .feature-portfolio-main{grid-column:1/-1;object-position:60% 45%}
.feature-portfolio-note{display:flex;align-items:center;background:#e9dde6;padding:9px 12px;font-family:"League Spartan",sans-serif;font-size:24px;line-height:1.04;letter-spacing:-.025em;white-space:pre-line}
.feature-reviews{background:#f7eaf2;gap:22px}
.feature-stars{display:flex;gap:9px;color:#ed07ac;margin-top:12px}
.feature-stars .feature-icon{width:28px;height:28px}
.feature-editorial{display:block;font-family:"League Spartan",sans-serif;font-size:37px;line-height:1.03;letter-spacing:-.03em;white-space:pre-line}
.feature-review-details{display:flex;flex-direction:column;gap:4px;margin-top:auto;padding-top:16px;border-top:1px solid #d6bccd;font-size:14px;line-height:1.35}
.feature-review-details>span:last-child{font-size:12px;color:#76526b}
.feature-profile-heading{display:flex;align-items:center;gap:13px}
.feature-avatar{width:43px;height:43px;padding:9px;background:#e0d4e3;border-radius:50%}
.feature-profile-title{font-family:"League Spartan",sans-serif;font-size:26px;letter-spacing:-.025em}
.feature-profile-fields{display:flex;flex-direction:column;gap:12px}
.feature-profile-fields>span{display:flex;flex-direction:column;gap:1px;padding-bottom:9px;border-bottom:1px solid #d8d0dc}
.feature-field-label{font-size:10px;line-height:1.4;color:#766a7c}
.feature-field-value{font-size:16px;line-height:1.4}
.feature-discovery{background:#ececf1;gap:22px}
.feature-search{display:flex;align-items:center;gap:9px;background:#fff;padding:12px 10px;font-size:13px;line-height:1.3;border-radius:8px}
.feature-search .feature-icon{width:18px;height:18px;color:#766a7c}
.feature-results{display:flex;flex-direction:column;gap:18px}
.feature-person{display:flex;align-items:center;gap:10px;min-width:0}
.feature-person>span{min-width:0}
.feature-person-icon{width:33px;height:33px;padding:7px;background:#dedbe5;border-radius:50%}
.feature-person-name{display:block;font-size:14px;line-height:1.25}
.feature-person-detail{display:block;font-size:10px;line-height:1.4;margin-top:4px;color:#766a7c}
.feature-search-filters{display:flex;gap:8px;margin-top:auto;font-size:10px;line-height:1.3}
.feature-search-filters>span{border:1px solid #c8c3d0;border-radius:30px;padding:5px 9px}
.feature-messages{background:#eee8f0;justify-content:center;gap:27px}
.feature-connection{display:flex;align-items:center;gap:7px;font-size:11px;line-height:1.3;color:#625069}
.feature-connection .feature-icon{width:17px;height:17px}
.feature-chat{display:flex;flex-direction:column;gap:17px}
.feature-chat-message{display:block;align-self:flex-start;width:86%;padding:17px 16px;background:#fff;border-radius:13px 13px 13px 3px;font-size:18px;line-height:1.35;letter-spacing:-.01em}
.feature-chat-reply{align-self:flex-end;background:#ed07ac;color:#fff;border-radius:13px 13px 3px 13px;width:78%}
.feature-messages .feature-footnote{margin-top:0}
.feature-favorites{background:#f0edf0;gap:20px}
.feature-saved-heading{display:flex;align-items:center;gap:10px}
.feature-saved-heading>.feature-icon{color:#ed07ac;width:20px;height:20px}
.feature-saved-list{display:flex;flex-direction:column;margin-top:4px}
.feature-saved-row{display:flex;align-items:center;justify-content:space-between;gap:7px;padding:17px 0;border-bottom:1px solid #d6cfd9}
.feature-saved-row:first-child{padding-top:9px}
.feature-saved-mark{width:15px;height:17px;color:#ed07ac;fill:#ed07ac15}
.feature-saved-row .feature-person-name{font-size:13px}
.stamp-caption{display:flex;flex-direction:column;gap:3px;padding:22px 6px 0}
.stamp-name{font-family:"League Spartan",sans-serif;font-size:27px;font-weight:500;line-height:1.08;letter-spacing:-.025em;min-height:0;text-wrap:balance}
.stamp-role{font-family:Hind,sans-serif;font-size:16px;line-height:1.45;color:#625c68;min-height:4.35em;margin-top:6px;text-wrap:pretty}
.stamp-gallery.is-ready .stamp-stage{display:block;height:600px;min-height:0}
.stamp-gallery.is-ready .stamp-card{position:absolute;left:50%;top:50%;width:var(--stamp-width);margin:0;transform:translate(-50%,-50%);transition:transform 650ms cubic-bezier(.22,1,.36,1),opacity 240ms ease-out,visibility 0s linear;transform-origin:50% 55%;cursor:pointer;outline-offset:10px}
.stamp-gallery.is-ready .stamp-card[data-position="active"]{z-index:3;opacity:1;transform:translate(-50%,-50%);cursor:default}
.stamp-gallery.is-ready .stamp-card[data-position="previous"]{z-index:1;opacity:1;transform:translate(calc(-50% - var(--stamp-spacing)),-48%) scale(.84) rotate(-3deg)}
.stamp-gallery.is-ready .stamp-card[data-position="next"]{z-index:2;opacity:1;transform:translate(calc(-50% + var(--stamp-spacing)),-48%) scale(.84) rotate(3deg)}
.stamp-gallery.is-ready .stamp-card[data-position="hidden"]{z-index:0;opacity:0;visibility:hidden;pointer-events:none;transform:translate(calc(-50% + var(--stamp-spacing) * 2),-46%) scale(.72) rotate(9deg);transition:transform 650ms cubic-bezier(.22,1,.36,1),opacity 240ms ease-out,visibility 0s linear 650ms}
.stamp-gallery.is-ready .stamp-card[data-position="hidden"][data-side="before"]{transform:translate(calc(-50% - var(--stamp-spacing) * 2),-46%) scale(.72) rotate(-9deg)}
.stamp-gallery[data-dragging="true"] .stamp-stage{cursor:grabbing}
.stamp-controls{display:flex;align-items:center;justify-content:center;margin-top:6px}
.stamp-controls[hidden]{display:none}
.stamp-pagination{display:flex;align-items:center;gap:0}
.stamp-pagination button{display:grid;place-items:center;width:28px;height:44px;padding:0;background:none}
.stamp-pagination button span{display:block;width:5px;height:5px;border-radius:99px;background:#bcb6c2;transition:background .3s}
.stamp-pagination button[aria-pressed="true"] span{width:18px;background:#ed07ac}
.stamp-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.platform-v2 button:focus-visible{outline:2px solid #ed07ac;outline-offset:5px}
@media(max-width:1100px){
 .platform-v2{padding:88px 0 80px}
 .platform-v2-intro{grid-template-columns:minmax(0,1fr)}
 .platform-v2-intro h2{font-size:56px}
 .platform-v2-intro>p{font-size:18px}
 .stamp-gallery{--stamp-spacing:290px;--stamp-width:310px}
}
@media(max-width:760px){
 .platform-v2{padding:72px 0 70px}
 .platform-v2-intro{display:block;margin-bottom:16px}
 .platform-v2-intro h2{font-size:clamp(42px,7.3vw,56px);max-width:590px;line-height:1.04}
 .platform-v2-intro h2 br{display:none}
 .platform-v2-intro>p{font-size:18px;line-height:1.5;max-width:450px;margin:23px 0 0}
 .stamp-gallery{--stamp-width:282px;--stamp-spacing:266px}
 .feature-visual{padding:18px;gap:16px}
 .feature-editorial{font-size:33px}
 .feature-stars{gap:7px;margin-top:5px}.feature-stars .feature-icon{width:24px;height:24px}
 .feature-profile-fields{gap:8px}.feature-profile-fields>span{padding-bottom:7px}
 .feature-chat-message{font-size:16px;padding:14px}
 .feature-saved-row{padding-block:14px}
 .stamp-gallery.is-ready .stamp-stage{height:565px}
 .stamp-stage{grid-template-columns:1fr;gap:30px;padding-block:28px}
}

@media(max-width:440px){
 .stamp-gallery{--stamp-width:248px;--stamp-spacing:240px}
 .stamp-gallery.is-ready .stamp-stage{height:495px}
 .stamp-paper{padding:14px 14px 24px}
 .feature-visual{padding:15px;gap:14px}
 .feature-label{font-size:10px}.feature-footnote{font-size:11px}
 .feature-portfolio-note{font-size:21px;padding:8px}
 .feature-editorial{font-size:30px}.feature-stars{gap:7px;margin-top:3px}.feature-stars .feature-icon{width:23px;height:23px}
 .feature-review-details{padding-top:11px;font-size:13px}.feature-review-details>span:last-child{font-size:11px}
 .feature-avatar{width:35px;height:35px;padding:7px}.feature-profile-title{font-size:23px}
 .feature-profile-fields{gap:6px}.feature-profile-fields>span{padding-bottom:5px}.feature-field-value{font-size:14px}
 .feature-search{padding:10px 8px;font-size:11px;gap:6px}
 .feature-results{gap:14px}.feature-person{gap:8px}.feature-person-name{font-size:12px}.feature-person-detail{font-size:9px}
 .feature-person-icon{width:28px;height:28px;padding:6px}
 .feature-search-filters{gap:5px;font-size:9px}.feature-search-filters>span{padding:4px 7px}
 .feature-connection{font-size:10px}.feature-chat{gap:13px}.feature-chat-message{font-size:15px;padding:12px}
 .feature-favorites{gap:10px}.feature-saved-row{padding-block:8px}.feature-saved-row .feature-person-name{font-size:12px}
 .stamp-caption{padding-top:15px}
 .stamp-name{font-size:25px}.stamp-role{font-size:14px;min-height:5.8em}
}
@media(prefers-reduced-motion:reduce){
 .stamp-gallery.is-ready .stamp-card,.stamp-gallery .stamp-stage,.stamp-pagination button span{transition:none!important}
}
