/* Demontazh102 V4: hold compare, desktop switch, compact reviews. */
.works-section .case-compare-area{position:relative;isolation:isolate}
.works-section .case-before-layer{
 position:absolute;inset:0;z-index:2;opacity:0;visibility:hidden;pointer-events:none;
 background:#252924;transition:opacity .16s ease,visibility .16s ease
}
.works-section .case-before-layer img{display:block;width:100%;height:100%;object-fit:cover}
.works-section .case-before-layer>span{
 position:absolute;right:15px;bottom:15px;color:#fff;background:rgba(12,14,12,.86);
 font-size:13px;font-weight:750;padding:9px 12px;letter-spacing:.06em
}
.works-section .case-compare-area.show-before .case-before-layer,
.works-section .case-compare-area.hold-before .case-before-layer{opacity:1;visibility:visible}
.works-section .case-compare-switch{
 position:absolute;z-index:4;left:16px;bottom:16px;display:inline-flex;
 align-items:center;justify-content:center;min-height:46px;padding:0 17px;
 border:1px solid #e05c32;background:rgba(14,17,14,.91);color:#fff;
 font-size:13px;font-weight:800;letter-spacing:.055em;
 transition:background-color .18s ease,border-color .18s ease
}
.works-section .case-compare-switch:hover,
.works-section .case-compare-switch[aria-pressed="true"]{background:#d95b35;border-color:#d95b35}
.works-section .case-compare-switch:focus-visible{outline:3px solid #f7f6f2;outline-offset:3px}
.works-section .case-photo[data-compare-open]>span{z-index:3}
@media(max-width:730px){
 .works-section .case-compare-switch{display:none}
 .works-section .case-photo[data-compare-open]{touch-action:pan-y}
 .works-section .case-photo[data-compare-open] img{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
 .works-section .case-photo[data-compare-open]>span{bottom:12px;right:12px;font-size:13px}
}
@media(prefers-reduced-motion:reduce){.works-section .case-before-layer{transition:none}}
.reviews-section .reviews-grid{gap:12px}
.reviews-section .review{min-height:0;padding:20px 22px}
.reviews-section .review p{font-size:15px;line-height:1.5;margin:12px 0 16px}
.reviews-section .review footer{font-size:13px}
.reviews-section .review-star{font-size:13px}
.reviews-section .details-menu{margin-top:16px}
.reviews-section .more-review-grid{margin-top:14px}
.review-submission{max-width:760px;margin:26px 0 0;border-top:1px solid #b9beb6}
.review-submission summary{cursor:pointer;list-style:none;padding:18px 0;font-size:16px;font-weight:770;display:flex;align-items:center;justify-content:space-between}
.review-submission summary::-webkit-details-marker{display:none}
.review-submission summary::after{content:'+';font-size:26px;color:#d95b35;font-weight:400}
.review-submission[open] summary::after{content:'−'}
.review-form{padding:6px 0 24px;display:grid;gap:15px}
.review-form label{display:grid;gap:7px;font-size:14px;font-weight:700}
.review-form input[type=text],.review-form textarea,.review-form select{
 width:100%;max-width:100%;min-height:48px;border:1px solid #a9aea6;
 background:#fff;color:#191b19;border-radius:0;padding:12px 13px;font:inherit;
 font-size:16px;font-weight:450
}
.review-form textarea{min-height:112px;resize:vertical}
.review-form .review-privacy{display:flex;align-items:flex-start;gap:11px;font-size:13px;line-height:1.55;font-weight:450}
.review-form .review-privacy input{flex:0 0 auto;width:19px;height:19px;accent-color:#d95b35}
.review-form .review-privacy a{text-underline-offset:3px}
.review-form .review-note{font-size:13px;line-height:1.5;color:#636963;margin:0}
.review-form .review-status{min-height:20px;margin:0;font-size:14px;line-height:1.5}
.review-form .review-status.error{color:#a63525}
.review-form .review-status.success{color:#275a32}
.review-form button[type=submit]{
 border:0;max-width:340px;min-height:50px;background:#d95b35;color:#fff;
 font-size:15px;font-weight:800;padding:10px 19px
}
.review-form button[type=submit]:disabled{opacity:.65;cursor:wait}
.review-honeypot{position:absolute!important;left:-9999px!important;opacity:0!important;pointer-events:none}
@media(max-width:730px){
 .reviews-section .reviews-grid{gap:10px}
 .reviews-section .review{min-height:0;padding:17px 18px}
 .reviews-section .review p{margin:10px 0 12px;font-size:15px;line-height:1.48}
 .review-submission{margin-top:21px}
 .review-form button[type=submit]{max-width:none;width:100%}
}
/* Accent only the second lines of major headings, without decorative section captions. */
.section-head h2 .title-accent{color:var(--orange)}


/* Agent-inspired restrained field reveal.
   The h2 and its text NEVER animate; only the decorative ::before field does. */
.section-title-field{
  position:relative;
  isolation:isolate;
}
.section-title-field::before{
  content:"";
  position:absolute;
  z-index:-1;
  pointer-events:none;
  inset:-13px -16px -12px -18px;
  background:linear-gradient(102deg,
    rgba(28,31,27,.085) 0%,
    rgba(28,31,27,.028) 54%,
    rgba(28,31,27,0) 95%);
  opacity:1;
  transform:translate3d(0,0,0) scaleX(1);
  transform-origin:left center;
}
.works-section .section-title-field::before,
.quote-cta .section-title-field::before{
  background:linear-gradient(102deg,
    rgba(247,246,242,.13) 0%,
    rgba(247,246,242,.045) 55%,
    rgba(247,246,242,0) 95%);
}
@media(prefers-reduced-motion:no-preference){
  .section-fields-enhanced .section-title-field::before{
    opacity:0;
    transform:translate3d(-14px,0,0) scaleX(.97);
    transition:opacity 1.05s cubic-bezier(.22,.61,.36,1),
               transform 1.35s cubic-bezier(.22,.61,.36,1);
  }
  .section-fields-enhanced .section-title-field.is-visible::before{
    opacity:1;
    transform:translate3d(0,0,0) scaleX(1);
  }
}
@media(max-width:730px){
  .section-title-field::before{inset:-8px -10px -9px -12px}
}
@media(prefers-reduced-motion:reduce){
  .section-title-field::before{
    opacity:1!important;
    transform:none!important;
    transition:none!important;
  }
}
