/* Proof sequence: TV count, videos, photos, reviews. All rules scoped to .proof-*
   so the mobile hero, quiz, and existing portfolio grid are untouched. */

.proof-count{background:#f5f4ef;border-bottom:1px solid #e4e2da}
.proof-videos{background:#fff}
.proof-photos{background:#fff;border-top:1px solid #ecece4}
.proof-reviews{background:#f5f4ef;border-block:1px solid #e4e2da}

.proof-head{display:flex;align-items:flex-end;justify-content:space-between;gap:60px;margin-bottom:32px}
.proof-head h2{font-weight:650;font-size:44px;line-height:1.08;letter-spacing:-.04em}
.proof-head .eyebrow{margin-bottom:16px}
.proof-head>p{max-width:360px;font-size:15px;line-height:1.65;color:#5e615b;margin-bottom:4px}

/* 1 / COUNT */
.proof-count-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.proof-count-card{display:grid;justify-items:center;align-content:center;gap:10px;min-height:188px;padding:24px 18px;background:#fff;border:1px solid #dfdfd7;border-radius:12px;cursor:pointer;transition:border-color .2s,box-shadow .2s,transform .2s}
.proof-count-card:hover,.proof-count-card:focus-visible{border-color:#d29b14;box-shadow:0 3px 18px #191d1410;transform:translateY(-2px)}
.proof-count-screens{display:flex;align-items:flex-end;justify-content:center;gap:6px;height:46px}
.proof-tv{display:block;width:46px;aspect-ratio:16/9;border:2px solid #23271f;border-radius:4px;box-shadow:inset 0 0 0 3px #fff;background:linear-gradient(145deg,#33392e,#81896e)}
.proof-screens-2 .proof-tv{width:38px}.proof-screens-3 .proof-tv{width:31px}.proof-screens-4 .proof-tv{width:25px}
.proof-count-number{font-size:40px;line-height:1;font-weight:700;letter-spacing:-.05em}
.proof-count-label{font-size:21px;font-weight:600;color:#23271f}
.proof-count-image{width:100%;max-width:220px;height:130px;object-fit:contain}
.proof-count-note{margin-top:18px;max-width:720px;font-size:13px;line-height:1.65;color:#676962}
.proof-count-note strong{font-weight:650;color:#3e423a}

/* 2 / VIDEOS */
.proof-video-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.proof-video-card{position:relative;display:block;width:100%;height:380px;padding:0;border:1px solid #dfdfd7;border-radius:12px;overflow:hidden;background:#d8d9d2;cursor:pointer;isolation:isolate;min-height:44px}
.proof-video-card img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s}
.proof-video-card:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#11171100 15%,#111711bf);pointer-events:none}
.proof-video-card:hover img,.proof-video-card:focus-visible img{transform:scale(1.02)}
.proof-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1;display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#ffba14;box-shadow:0 4px 18px #1917114d}
.proof-play svg{width:30px;height:30px;fill:#191d17}
.proof-video-meta{position:absolute;left:20px;right:20px;bottom:16px;z-index:1;display:grid;gap:4px;color:#fff;text-align:left}
.proof-video-meta strong{font-size:18px;line-height:1.2;letter-spacing:-.02em;font-weight:600}
.proof-video-meta small{font-size:11px;letter-spacing:.1em;font-weight:600;color:#ffd87a;text-transform:uppercase}
.proof-scroll-cue{display:none}

/* Video dialog */
.proof-video-dialog{width:min(920px,calc(100vw - 32px));padding:18px;border:0;border-radius:14px;background:#191d17;color:#fff}
.proof-video-dialog::backdrop{background:rgba(13,16,12,.84)}
.proof-video-dialog .dialog-close{position:absolute;top:10px;right:12px;min-width:44px;min-height:44px;border:0;border-radius:50%;background:transparent;color:#fff;font-size:26px;line-height:1;cursor:pointer}
.proof-video-dialog .dialog-close:hover{background:#ffffff1f}
.proof-video-dialog-title{margin:4px 54px 12px 6px;font-size:16px;font-weight:600;letter-spacing:-.01em}
.proof-video-dialog video{display:block;width:100%;max-height:72vh;aspect-ratio:16/9;background:#000;border-radius:8px}
.proof-video-fallback{margin:12px 6px 2px;font-size:13px;line-height:1.6;color:#d4d6cf}
.proof-video-fallback a{color:#ffba14}

/* 3 / PHOTOS — own grid, no inheritance from .portfolio-grid */
.proof-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.proof-photo{position:relative;display:block;width:100%;padding:0;border:1px solid #e1e1d9;border-radius:12px;overflow:hidden;background:#f1f0ea;cursor:pointer;isolation:isolate}
.proof-photo-lead{grid-column:1/-1}
.proof-photo img{display:block;width:100%;height:auto;object-fit:contain}
.proof-photo-lead img{aspect-ratio:1200/707}
.proof-photo:not(.proof-photo-lead) img{height:300px;object-fit:cover;object-position:50% 42%}
.proof-photo:after{content:"";position:absolute;inset:auto 0 0;height:46%;background:linear-gradient(transparent,#111711ad);pointer-events:none}
.proof-photo-caption{position:absolute;left:20px;right:20px;bottom:16px;z-index:1;display:flex;align-items:flex-end;justify-content:space-between;gap:16px;color:#fff;text-align:left}
.proof-photo-caption strong{font-size:19px;line-height:1.2;letter-spacing:-.02em;font-weight:550}
.proof-photo-lead .proof-photo-caption strong{font-size:23px}
.proof-photo-open{display:grid;place-items:center;flex:none;width:35px;height:35px;border:1px solid #ffffff91;border-radius:50%;font-size:20px}
.proof-photo-note{margin-top:14px;font-size:12px;color:#6b6e66}

/* 4 / REVIEWS */
.proof-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:0;padding:0;list-style:none}
.proof-review{display:flex;flex-direction:column;gap:18px;padding:26px;background:#fff;border:1px solid #dfdfd7;border-radius:12px}
.proof-review blockquote{margin:0;font-size:20px;line-height:1.4;letter-spacing:-.02em;font-weight:500;flex:1}
.proof-review-by{display:flex;align-items:center;gap:13px}
.proof-initials{display:grid;place-items:center;flex:none;width:42px;height:42px;border-radius:50%;background:#ffba14;color:#191d17;font-size:14px;font-weight:700;letter-spacing:.02em}
.proof-review-by>span:last-child{display:grid;gap:3px}
.proof-review-by strong{font-size:14px;font-weight:650}
.proof-review-by small{font-size:12px;color:#676962}
.proof-review>a{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;min-height:44px;font-size:12px;color:#3e423a;border-bottom:1px solid #c3c6bc}
.proof-review>a:hover{color:#735100;border-color:#d29b14}

/* Tablet */
@media(min-width:768px) and (max-width:1100px){
 .proof-head{gap:32px;margin-bottom:26px}
 .proof-head h2{font-size:37px}
 .proof-head>p{font-size:14px;max-width:290px}
 .proof-count-grid{gap:12px}
 .proof-count-card{min-height:166px;padding:20px 12px}
 .proof-count-number{font-size:34px}
 .proof-tv{width:38px}.proof-screens-2 .proof-tv{width:31px}.proof-screens-3 .proof-tv{width:25px}.proof-screens-4 .proof-tv{width:20px}
 .proof-video-row{gap:12px}
 .proof-video-card{height:310px}
 .proof-video-meta strong{font-size:15px}
 .proof-play{width:50px;height:50px}
 .proof-photo:not(.proof-photo-lead) img{height:235px}
 .proof-photo-lead .proof-photo-caption strong{font-size:20px}
 .proof-photo-caption strong{font-size:16px}
 .proof-review{padding:20px}
 .proof-review blockquote{font-size:17px}
}

/* Mobile */
@media(max-width:767px){
 .proof-head{display:block;margin-bottom:24px}
 .proof-head h2{font-size:34px;line-height:1.1}
 .proof-head .eyebrow{font-size:9px;margin-bottom:12px}
 .proof-head>p{max-width:none;margin-top:15px;font-size:14px}
 .proof-count-grid{grid-template-columns:1fr 1fr;gap:10px}
 .proof-count-card{min-height:142px;padding:18px 12px;gap:8px}
 .proof-count-screens{height:34px;gap:4px}
 .proof-tv{width:34px}.proof-screens-2 .proof-tv{width:28px}.proof-screens-3 .proof-tv{width:22px}.proof-screens-4 .proof-tv{width:18px}
 .proof-count-number{font-size:31px}
 .proof-count-label{font-size:18px}
 .proof-count-image{height:95px}
 .proof-count-note{font-size:13px;margin-top:14px}
 /* Horizontal rail keeps posters a sensible size instead of stacking three tall cards. */
 .proof-video-row{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:4px;margin-inline:-20px;padding-inline:20px}
 .proof-video-card{flex:0 0 78%;height:320px;scroll-snap-align:start}
 .proof-video-meta{left:16px;right:16px;bottom:14px}
 .proof-video-meta strong{font-size:16px}
 .proof-play{width:50px;height:50px}
 .proof-scroll-cue{display:block;margin-top:12px;font-size:12px;color:#6b6e66}
 .proof-video-dialog{padding:14px;width:calc(100vw - 20px)}
 .proof-video-dialog video{max-height:60vh}
 .proof-photo-grid{grid-template-columns:1fr;gap:12px}
 .proof-photo:not(.proof-photo-lead) img{height:240px}
 .proof-photo-caption{left:16px;right:16px;bottom:14px}
 .proof-photo-caption strong,.proof-photo-lead .proof-photo-caption strong{font-size:18px}
 .proof-review-grid{grid-template-columns:1fr;gap:10px}
 .proof-review{padding:20px;gap:15px}
 .proof-review blockquote{font-size:18px}
}

@media(max-width:350px){
 .proof-video-row{margin-inline:-16px;padding-inline:16px}
 .proof-head h2{font-size:30px}
 .proof-count-card{min-height:132px}
 .proof-count-number{font-size:28px}
 .proof-video-card{flex-basis:86%}
 .proof-photo:not(.proof-photo-lead) img{height:210px}
}

@media(prefers-reduced-motion:reduce){
 .proof-count-card,.proof-video-card img{transition:none}
 .proof-count-card:hover{transform:none}
 .proof-video-card:hover img{transform:none}
 .proof-video-row{scroll-behavior:auto}
}

/* Keep the people prominent without turning the gallery into a second hero. */
@media(min-width:768px){
 .proof-photo-grid{grid-template-columns:1.4fr 1fr;grid-template-rows:250px 250px}
 .proof-photo-lead{grid-column:1;grid-row:1/3}
 .proof-photo-lead img{height:100%;aspect-ratio:auto;object-fit:cover;object-position:50% 45%}
 .proof-photo:not(.proof-photo-lead) img{height:100%}
 .journey-layout{display:block}.journey-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
}
.proof-video-card:nth-child(-n+2) img{object-position:50% 35%}
.proof-video-dialog{width:min(560px,calc(100vw - 32px));max-height:calc(100dvh - 24px)}
.proof-video-dialog video{height:72dvh;max-height:72dvh;aspect-ratio:auto;object-fit:contain}
@media(max-width:767px){.proof-video-dialog video{height:68dvh;max-height:68dvh}}
