.comments-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:28px}.comments-list{display:grid;gap:16px;margin:18px 0}.comment-card,.comment-form{border:1px solid #dce3ec;border-radius:14px;padding:24px;background:#fff;min-width:0}.comment-card h3{font-size:18px;margin:0 0 5px}.comment-card time{font-size:14px;color:#526478}.comment-message{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7;font-size:16px;margin:15px 0}.comment-private{overflow-wrap:anywhere;font-size:15px;color:#526478}.comment-form{background:#f3f6fb}.comment-form h3{margin:0 0 20px;font-size:22px}.comment-form label{display:grid;gap:7px;margin-bottom:18px;font-size:16px;font-weight:600}.comment-form input:not([type=checkbox]),.comment-form textarea{box-sizing:border-box;width:100%;border:1px solid #bdcbdc;border-radius:8px;background:#fff;padding:12px;font:inherit;color:#102540}.comment-form small{font-size:14px;font-weight:400;color:#526478}.comment-form .comment-consent{display:flex;align-items:flex-start;gap:12px;font-size:14px;font-weight:400}.comment-consent input{margin-top:5px;min-width:18px;height:18px}.comment-form .privacy-note{font-size:14px;overflow-wrap:anywhere}.comment-form a{text-decoration:underline}.owner-tabs{display:flex;gap:8px;margin:24px 0;border-bottom:1px solid #dce3ec;padding-bottom:12px}.owner-tabs button{border:1px solid #dce3ec;border-radius:8px;background:white;padding:12px 20px;font:inherit;color:#102540;cursor:pointer}.owner-tabs [aria-selected=true]{background:#102540;color:white}.admin-body [hidden]{display:none!important}#comments-panel{margin-top:24px}.comment-card .request-card-head{gap:12px;flex-wrap:wrap}.comment-card h3{overflow-wrap:anywhere}

.comment-showcase{max-width:1260px;margin:0 auto;padding:26px 34px 36px;border-top:1px solid #dce3ec;min-width:0}.comment-showcase-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}.comment-showcase h2{font-size:28px;margin:0}.comment-showcase .eyebrow{margin-bottom:7px}.carousel-controls{display:flex;gap:7px}.carousel-controls[hidden]{display:none}.carousel-controls button{border:1px solid #bdcbdc;border-radius:22px;background:white;color:#102540;padding:9px 13px;font-size:14px;min-height:44px}.comment-carousel{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x proximity;padding:16px 4px 24px;scrollbar-width:thin;overscroll-behavior-x:contain}.comment-carousel:empty{display:none}.comment-carousel .comment-bubble{position:relative;flex:0 0 350px;scroll-snap-align:start;border-radius:24px 24px 24px 5px;background:#f1f6ff;border-color:#d3e1f7;box-shadow:0 5px 15px #10254008;padding:24px;align-self:stretch}.comment-bubble:nth-child(even){background:#f0f8f7;border-color:#cfe6e3}.comment-bubble .comment-message{max-height:180px;overflow:auto;padding-right:7px;margin-bottom:0}.comment-bubble time{font-size:14px}.comment-disclosure{border:1px solid #dce3ec;border-radius:15px;padding:0 22px}.comment-disclosure>summary{display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-size:22px;font-weight:650;min-height:76px;list-style:none}.comment-disclosure>summary::-webkit-details-marker{display:none}.comment-disclosure>summary span{font-size:28px;transition:transform .2s}.comment-disclosure[open]>summary span{transform:rotate(45deg)}.comment-disclosure .comment-form{margin-bottom:22px}.comment-disclosure .comment-form>h3{display:none}.comment-disclosure:not([open])>:not(summary){display:none}.comment-disclosure>summary:focus-visible{outline:3px solid #245eea;outline-offset:4px}@media(max-width:640px){.comment-showcase{padding:24px 20px}.comment-carousel .comment-bubble{flex-basis:calc(100vw - 68px);max-width:350px;padding:20px}.comment-showcase h2{font-size:26px}.comment-disclosure{padding:0 15px}.comment-disclosure .comment-form{padding:18px}}@media(prefers-reduced-motion:reduce){.comment-carousel{scroll-behavior:auto}.comment-disclosure>summary span{transition:none}}

/* Compact editorial quote cards; author details sit below the quote. */
.portfolio-page .comment-showcase{width:min(100%,1260px);margin:0 auto;padding:32px 34px 40px;box-sizing:border-box;border-top:1px solid #dce3ec}
.portfolio-page .comment-showcase h2{font-size:26px;line-height:1.2;letter-spacing:-.025em}
.portfolio-page .comment-showcase .eyebrow{font-size:12px;margin:0 0 8px}
.portfolio-page .comment-carousel{display:flex;align-items:flex-start;gap:20px;overflow-x:auto;padding:22px 2px 20px;margin:0;scrollbar-width:none;min-width:0}
.comment-carousel::-webkit-scrollbar{display:none}
.portfolio-page .comment-carousel .comment-bubble{display:flex;flex-direction:column;flex:0 0 min(380px,85vw);max-width:100%;min-height:220px;align-self:flex-start;padding:24px 26px;border-radius:18px;background:#fff;border:1px solid #dce5f0;box-shadow:0 6px 18px #10254006;box-sizing:border-box}
.portfolio-page .comment-bubble:nth-child(even){background:#fff;border-color:#dce5f0}
.quote-mark{font-family:Georgia,serif;font-size:48px;line-height:.8;color:#245eea;height:30px;display:block}
.portfolio-page .comment-bubble .comment-message{font-size:17px;font-weight:450;line-height:1.65;letter-spacing:-.01em;color:#203751;margin:12px 0 24px;max-height:none;overflow:visible;padding:0;white-space:pre-wrap}
.portfolio-page .comment-bubble .quote-short{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}
.quote-author{display:flex;align-items:center;gap:11px;margin-top:auto;padding-top:16px;border-top:1px solid #edf1f6}
.quote-author>div{min-width:0}.quote-avatar{display:flex;align-items:center;justify-content:center;width:38px;height:38px;flex:0 0 38px;border-radius:50%;background:#eaf0ff;color:#245eea;font-size:13px;font-weight:700}
.portfolio-page .quote-author h3{font-size:15px;line-height:1.3;margin:0 0 4px;font-weight:650}.portfolio-page .quote-author time{font-size:13px;color:#6a7b90}
.quote-expand{align-self:flex-start;border:0;background:none;color:#245eea;font-size:14px;padding:0 0 18px;cursor:pointer}
.carousel-controls button{background:transparent;border-color:#dce5f0;border-radius:8px;font-size:13px;padding:7px 11px}.carousel-controls button:hover{background:#edf3ff}
#comments-status:empty{display:none}@media(max-width:640px){.portfolio-page .comment-showcase{padding:28px 20px}.portfolio-page .comment-carousel .comment-bubble{flex-basis:calc(100vw - 64px);padding:22px;min-height:210px}.portfolio-page .comment-showcase h2{font-size:24px}}

.carousel-controls button[hidden]{display:none}.carousel-controls #comments-add{background:#245eea;border-color:#245eea;color:white}.carousel-controls #comments-add:hover{background:#194dcc}
