/* Real work, real customer content, calm FAQ. Load after the preceding revisions. */
.sc-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:28px; margin:0 0 30px; }
.sc-section-copy { min-width:0; max-width:870px; }
.sc-section-heading h1,.sc-section-heading h2:not(:where(.production-h3)) { margin:0 0 14px; text-align:left!important; }
.sc-section-heading .sc-eyebrow,.sc-faq .sc-eyebrow { margin:0 0 13px; color:#80735b; font-size:12px; font-weight:650; letter-spacing:.13em; line-height:1.5; text-transform:uppercase; }
.sc-section-heading .sc-lead,.sc-faq .sc-lead { margin:0; color:#646460; font-size:17px; line-height:1.65; text-align:left!important; }
.sc-section-heading>.sc-text-link { flex:none; margin-bottom:5px; }
a.sc-text-link { display:inline-flex; align-items:center; gap:14px; width:fit-content; float:none; padding:7px 0; margin:0; border-bottom:1px solid #9c978d; color:#303135; font-size:15px; font-weight:600; line-height:1.5; text-decoration:none; }
a.sc-text-link:after { content:'↗'; display:inline; width:auto; height:auto; margin:0; background:none; font-size:19px; line-height:1; }
.sc-page-intro { padding-bottom:28px; }
.sc-page-intro .sc-section-heading { margin-bottom:0; }

/* A larger opening image gives the homepage gallery a clear starting point. */
section.sc-works-home { background:#fff; }
#modalVideo .modal .modal-content iframe { display:block; width:100%; height:auto; aspect-ratio:16/9; border:0; border-radius:10px; }
.modal-wrapper .modal .modal-header .modal-close img[src$="close-white.svg"] { filter:brightness(.25); }
section.sc-works-home .sc-section-copy { max-width:630px; }
section.sc-works-home .works-list.sc-project-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); grid-auto-rows:190px; gap:16px; margin:0; }
section.sc-works-home .works-list.sc-project-grid>img { width:100%; height:100%; min-width:0; min-height:0; aspect-ratio:auto; object-fit:cover; object-position:center; border-radius:12px; box-shadow:none; cursor:zoom-in; }
section.sc-works-home .works-list.sc-project-grid>img:first-child { grid-column:span 2; grid-row:span 2; }
.sc-gallery-more { display:flex; flex-direction:column; justify-content:space-between; align-items:flex-start; gap:18px; min-width:0; padding:27px; border:1px solid #dfd8cb; border-radius:12px; background:#f3f0e9; color:#484336; font-size:clamp(19px,2vw,25px); font-weight:550; line-height:1.25; text-decoration:none; }
.sc-gallery-more:after { content:'↗'; font-size:31px; line-height:1; }
.sc-works-page .sc-section-copy { max-width:910px; }
.sc-works-catalog .sc-gallery-note { margin:0 0 18px; color:#77746e; font-size:14px; line-height:1.5; }
.sc-works-catalog .tabs .tab-buttons,.sc-reviews .tabs .tab-buttons { display:flex; flex-wrap:wrap; gap:10px; width:100%; margin:0 0 30px; overflow:visible; justify-content:flex-start; }
.sc-works-catalog .tabs .tab-buttons>button,.sc-reviews .tabs .tab-buttons>button { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:11px 20px; border:1px solid #dedbd4; border-radius:8px; background:#fff; color:#55544f; font-size:15px; line-height:1.35; font-weight:550; }
.sc-works-catalog .tabs .tab-buttons>button.active,.sc-reviews .tabs .tab-buttons>button.active { border-color:#303135; background:#303135; color:#fff; }
.sc-works-catalog .tabs .tab-contents .img-list.sc-project-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.sc-works-catalog .tabs .tab-contents .img-list.sc-project-grid>img { width:100%; height:auto; aspect-ratio:4/3; border-radius:12px; object-fit:cover; object-position:center; box-shadow:none; cursor:zoom-in; }
.sc-works .sc-project-grid>img { transition:filter .2s ease; }
.sc-works .sc-project-grid>img:focus-visible { outline:3px solid #927346; outline-offset:4px; }

/* The published text remains complete. Author information anchors each card. */
section.sc-reviews { background:#f6f5f1; }
section.sc-reviews .sc-section-heading { margin-bottom:16px; }
section.sc-reviews .sc-section-copy { max-width:890px; }
section.sc-reviews-home .sc-section-copy { max-width:710px; }
section.sc-reviews .sc-review-sources { display:flex; flex-wrap:wrap; align-items:center; gap:14px; margin:0 0 32px; }
.sc-source-link { display:inline-flex; align-items:center; gap:9px; color:#5c584f; font-size:14px; line-height:1.4; text-decoration:underline; text-underline-offset:4px; }
.sc-source-link:before { content:''; display:block; flex:none; width:7px; height:7px; border-radius:50%; background:#bd3732; }
.sc-source-link:after { content:'↗'; color:#777169; }
section.sc-reviews .reviews-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:stretch; gap:20px; margin-bottom:0!important; }
section.sc-reviews .reviews-list .reviews-item.sc-review-card { display:flex; flex-direction:column; gap:0; min-width:0; padding:30px 30px 25px; border:1px solid #e5e2da; border-radius:14px; background:#fff; box-shadow:0 4px 18px #27251d03; }
section.sc-reviews .reviews-list .reviews-item .stars { display:flex; order:0; align-items:center; gap:4px; margin:0 0 19px; }
section.sc-reviews .reviews-list .reviews-item .stars img { display:block; width:15px; height:15px; transform:none; }
section.sc-reviews .reviews-list .reviews-item .desc.sc-review-quote { order:1; margin:0 0 26px; padding:0; border:0; color:#3a3b3d; font-size:17px; font-style:normal; font-weight:400; line-height:1.7; overflow:visible; max-height:none; }
section.sc-reviews .reviews-list .reviews-item .head { display:grid; order:2; grid-template-columns:46px minmax(0,1fr); align-items:center; gap:12px; margin-top:auto; padding-top:20px; border-top:1px solid #eeece6; }
section.sc-reviews .reviews-list .reviews-item .head img,.sc-avatar-initials { display:block; width:46px; height:46px; border:1px solid #e4e1da; border-radius:50%; object-fit:cover; }
.sc-avatar-initials { display:grid; place-items:center; background:#eeeae2; color:#74654b; font-size:15px; font-weight:600; letter-spacing:.025em; }
section.sc-reviews .reviews-list .reviews-item .head .name { color:#2d2e32; font-size:16px; font-weight:650; line-height:1.4; }
section.sc-reviews .reviews-list .reviews-item .head .status { margin-top:2px; color:#7b7972; font-size:12px; line-height:1.45; }
section.sc-reviews .sc-platform-badges { display:flex; align-items:center; flex-wrap:wrap; justify-content:flex-start; gap:20px; padding:0; margin:0 0 26px; text-align:left!important; }
section.sc-reviews .sc-platform-badges img { display:block!important; width:auto; max-width:min(220px,44%); height:50px; margin:0!important; object-fit:contain; object-position:left center; }
section.sc-reviews .sc-review-endnote { max-width:820px; margin:32px 0 0; color:#77746e; font-size:15px; line-height:1.65; text-align:left!important; }
section.sc-reviews .reviews-video-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-bottom:0!important; }
section.sc-reviews .reviews-video-list-item.sc-video-card { overflow:hidden; border:1px solid #e1ddd5; border-radius:13px; background:#fff; }
section.sc-reviews .reviews-video-list-item.sc-video-card .img-wrapper { margin:0; border-radius:0; }
section.sc-reviews .reviews-video-list-item.sc-video-card .img-wrapper>img:not(.play) { width:100%; height:auto; aspect-ratio:16/11; object-fit:cover; }
section.sc-reviews .reviews-video-list-item.sc-video-card .img-wrapper .play { width:54px; height:54px; filter:drop-shadow(0 3px 8px #0005); }
section.sc-reviews .reviews-video-list-item.sc-video-card .name { padding:18px 20px 20px; margin:0; color:#37383a; font-size:17px; font-weight:600; line-height:1.4; text-align:left; }

/* One familiar accordion for the homepage and the complete question page. */
section.sc-faq { background:#fff; }
.sc-faq-layout { display:grid; grid-template-columns:minmax(0,.77fr) minmax(0,1.5fr); align-items:start; gap:68px; }
.sc-faq-intro { position:sticky; top:32px; min-width:0; }
.sc-faq-intro h1,.sc-faq-intro h2:not(:where(.production-h3)) { margin:0 0 19px; text-align:left!important; }
.sc-faq-intro h1 { font-size:clamp(32px,3.2vw,44px); }
.sc-faq-intro>.sc-text-link { margin-top:24px; }
.sc-faq-contact { margin-top:34px; padding:23px 24px; border:1px solid #e4dfd4; border-radius:12px; background:#f7f5f0; }
.sc-faq .sc-faq-contact p { margin:0 0 12px; padding:0; color:#70695d; font-size:15px; line-height:1.6; }
.sc-faq .sc-faq-contact .sc-faq-contact-title { color:#343537; font-size:18px; font-weight:650; line-height:1.4; }
.sc-faq-contact .sc-text-link { margin-top:5px; font-size:14px; }
section.sc-faq .questions-list { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; min-width:0; margin:0; }
section.sc-faq .questions-list .questions-item { min-width:0; overflow:hidden; border:1px solid #e3e0d9; border-radius:12px; background:#fff; }
section.sc-faq .questions-list .questions-item:has(:is(h3,h2:where(.production-h3)).active) { border-color:#c7bca6; background:#fbfaf6; }
section.sc-faq .questions-list .questions-item :is(h3,h2:where(.production-h3)) { display:grid; grid-template-columns:26px minmax(0,1fr); align-items:start; gap:12px; position:relative; margin:0; padding:23px 65px 23px 23px; border-radius:0; background:transparent; box-shadow:none; color:#313236; font-family:inherit; font-size:18px; font-weight:600; letter-spacing:0; line-height:1.45; text-wrap:wrap; }
section.sc-faq .questions-list .questions-item :is(h3,h2:where(.production-h3)).active { background:transparent; }
.sc-faq-number { padding-top:3px; color:#9a8e77; font-size:12px; font-weight:500; line-height:1.6; font-variant-numeric:tabular-nums; }
section.sc-faq .questions-list .questions-item :is(h3,h2:where(.production-h3)):after { content:'+'; display:grid; place-items:center; position:absolute; float:none; top:50%; right:20px; width:28px; height:28px; margin:0; border:1px solid #ddd7ca; border-radius:50%; background:none; color:#857352; font-family:Arial,sans-serif; font-size:20px; font-weight:400; line-height:1; transform:translateY(-50%); }
section.sc-faq .questions-list .questions-item :is(h3,h2:where(.production-h3)).active:after { content:'−'; background:#efeadd; transform:translateY(-50%); }
section.sc-faq .questions-list .questions-item [data-slides-content] { transition:height .3s ease; }
section.sc-faq .questions-list .questions-item p { max-width:none; margin:0; padding:0 28px 25px 61px; border-radius:0; color:#65615a; font-size:16px; line-height:1.75; }
section.sc-faq .questions-list .questions-item :is(h3,h2:where(.production-h3)):focus-visible { outline:3px solid #947238; outline-offset:-4px; }

@media (hover:hover) {
  .sc-works .sc-project-grid>img:hover { filter:brightness(1.04); }
  .sc-works-catalog .tabs .tab-buttons>button:not(.active):hover,.sc-reviews .tabs .tab-buttons>button:not(.active):hover { background:#eeebe4; border-color:#bdb5a5; }
  section.sc-faq .questions-list .questions-item :is(h3,h2:where(.production-h3)):hover { background:#f8f7f3; }
  .sc-text-link:hover,.sc-source-link:hover { color:#937545; }
  .sc-gallery-more:hover { border-color:#b5a685; background:#eae4d8; }
}

@media (max-width:1199px) {
  section.sc-works-home .works-list.sc-project-grid { grid-auto-rows:170px; gap:14px; }
  .sc-faq-layout { grid-template-columns:minmax(0,.8fr) minmax(0,1.5fr); gap:35px; }
  .sc-faq-contact { padding:20px; }
  section.sc-reviews .reviews-list .reviews-item.sc-review-card { padding:26px; }
}
@media (max-width:991px) {
  .sc-section-heading { gap:22px; }
  .sc-section-heading>.sc-text-link { max-width:180px; }
  section.sc-works-home .works-list.sc-project-grid { grid-auto-rows:150px; gap:12px; }
  .sc-works-catalog .tabs .tab-contents .img-list.sc-project-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
  .sc-faq-layout { grid-template-columns:minmax(0,1fr); gap:30px; }
  .sc-faq-intro { position:static; max-width:720px; }
  .sc-faq-contact { display:none; }
  section.sc-reviews .reviews-video-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  section.sc-reviews .reviews-list .reviews-item .desc.sc-review-quote { font-size:16px; }
}
@media (max-width:767px) {
  .sc-section-heading { display:block; margin-bottom:23px; }
  .sc-section-heading>.sc-text-link { max-width:none; margin-top:18px; margin-bottom:0; }
  .sc-section-heading .sc-lead,.sc-faq .sc-lead { font-size:16px; line-height:1.65; }
  .sc-section-heading .sc-eyebrow,.sc-faq .sc-eyebrow { font-size:11px; margin-bottom:10px; }
  .sc-page-intro { padding-bottom:22px; }
  section.sc-works-home .works-list.sc-project-grid { grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-rows:clamp(130px,34vw,220px); gap:12px; }
  section.sc-works-home .works-list.sc-project-grid>img { border-radius:10px; }
  section.sc-works-home .works-list.sc-project-grid>img:first-child { grid-column:span 2; grid-row:span 2; }
  .sc-gallery-more { padding:20px; border-radius:10px; font-size:19px; }
  .sc-works-catalog .tabs .tab-buttons,.sc-reviews .tabs .tab-buttons { gap:8px; margin-bottom:23px; }
  .sc-works-catalog .tabs .tab-buttons>button,.sc-reviews .tabs .tab-buttons>button { min-height:44px; padding:10px 14px; font-size:14px; }
  .sc-works-catalog .tabs .tab-contents .img-list.sc-project-grid { gap:12px; }
  .sc-works-catalog .tabs .tab-contents .img-list.sc-project-grid>img { aspect-ratio:1.08; border-radius:9px; }
  section.sc-reviews .sc-review-sources { margin-bottom:25px; }
  section.sc-reviews .reviews-list { grid-template-columns:minmax(0,1fr); gap:15px; }
  section.sc-reviews .reviews-list .reviews-item.sc-review-card { padding:25px 23px 21px; }
  section.sc-reviews .reviews-list .reviews-item .desc.sc-review-quote { margin-bottom:23px; }
  section.sc-reviews .reviews-list .reviews-item .head { padding-top:18px; }
  section.sc-reviews .reviews-list .reviews-item .stars { margin-bottom:16px; }
  section.sc-reviews .reviews-video-list { gap:16px; }
  section.sc-reviews .reviews-video-list-item.sc-video-card .name { padding:15px; font-size:15px; }
  section.sc-reviews .reviews-video-list-item.sc-video-card .img-wrapper .play { width:44px; height:44px; }
  section.sc-faq .questions-list { gap:10px; }
  section.sc-faq .questions-list .questions-item :is(h3,h2:where(.production-h3)) { gap:9px; grid-template-columns:22px minmax(0,1fr); padding:20px 53px 20px 17px; font-size:17px; line-height:1.4; }
  section.sc-faq .questions-list .questions-item :is(h3,h2:where(.production-h3)):after { right:15px; width:25px; height:25px; font-size:19px; }
  section.sc-faq .questions-list .questions-item p { padding:0 21px 22px 48px; font-size:15px; line-height:1.7; }
  .sc-faq-number { padding-top:2px; font-size:11px; }
}
@media (max-width:420px) {
  section.sc-reviews .reviews-video-list { grid-template-columns:minmax(0,1fr); }
  section.sc-faq .questions-list .questions-item :is(h3,h2:where(.production-h3)) { grid-template-columns:minmax(0,1fr); }
  .sc-faq-number { display:none; }
  section.sc-faq .questions-list .questions-item p { padding-left:17px; }
}
@media (prefers-reduced-motion:reduce) {
  .sc-works .sc-project-grid>img { transition:none; }
  section.sc-faq .questions-list .questions-item [data-slides-content] { transition-duration:.01ms; }
}
