/* STRAT C5M2 — SERVICE USABILITY / FAQ PRODUCT LAYER
   Prototype scope: Financial Planning, Direct Indexing, Alternative Investments.
   All financial/service copy remains client-compliance-approved source copy.
   This layer changes presentation only. */

body.sc-service-detail-v1.sc-service-product-v1{
  --sp-ink:#17283b;
  --sp-copy:#4f5b64;
  --sp-muted:#707981;
  --sp-line:rgba(23,40,59,.16);
  --sp-gold:#a87d39;
  --sp-paper:#f5f3ee;
  --sp-field:#e9ebe8;
}

/* Give the first substantive section a stronger editorial opening. */
body.sc-service-detail-v1.sc-service-product-v1
main > .section:not(.page-hero):not(.sc-reviews-v1):not(.sc-investment-depth):first-of-type{
  background:
    radial-gradient(620px 240px at 88% 0%,rgba(172,132,62,.07),transparent 72%),
    #f5f3ee;
}

body.sc-service-detail-v1.sc-service-product-v1
main > .section:not(.page-hero):not(.sc-reviews-v1):not(.sc-investment-depth)
.container{
  position:relative;
}

/* Editorial heading treatment: fewer boxes, more hierarchy. */
body.sc-service-detail-v1.sc-service-product-v1
main > .section:not(.page-hero):not(.sc-reviews-v1):not(.sc-investment-depth)
h2{
  padding-top:.15rem;
}

body.sc-service-detail-v1.sc-service-product-v1
main > .section:not(.page-hero):not(.sc-reviews-v1):not(.sc-investment-depth)
h2::before{
  content:"";
  display:block;
  width:54px;
  height:2px;
  margin-bottom:1rem;
  background:linear-gradient(90deg,var(--sp-gold),rgba(168,125,57,.15));
}

/* Long approved prose becomes more readable without changing a word. */
body.sc-service-detail-v1.sc-service-product-v1
main > .section:not(.page-hero):not(.sc-reviews-v1):not(.sc-investment-depth)
p + p{
  margin-top:1.05rem;
}

/* Approved framework paragraphs get visual priority, not rewritten copy. */
body.sc-service-detail-v1.sc-service-product-v1 .sc-service-framework-callout{
  max-width:940px!important;
  margin-top:clamp(1.3rem,2.5vw,2rem)!important;
  padding:clamp(1.25rem,2.4vw,1.8rem) clamp(1.3rem,2.8vw,2.1rem);
  border-left:3px solid rgba(168,125,57,.72);
  background:rgba(255,255,255,.52);
  box-shadow:0 10px 26px rgba(15,31,46,.035);
}

/* ============================================================
   SERVICE FAQ — PRIVATE CLIENT EDITORIAL ACCORDION
   Runtime JS only restructures existing approved words.
   ============================================================ */
body.sc-service-detail-v1.sc-service-product-v1 .sc-service-faq-v1{
  background:
    radial-gradient(600px 260px at 92% 4%,rgba(178,139,72,.08),transparent 72%),
    linear-gradient(180deg,#e6e8e7,#ecebe6)!important;
}

body.sc-service-detail-v1.sc-service-product-v1 .sc-service-faq-v1 .container{
  max-width:1060px!important;
}

body.sc-service-detail-v1.sc-service-product-v1 .sc-service-faq-v1 h2{
  max-width:760px!important;
  margin-bottom:clamp(1.45rem,3vw,2.25rem);
}

body.sc-service-detail-v1.sc-service-product-v1 .sc-service-faq-v1__list{
  border-top:1px solid var(--sp-line);
}

body.sc-service-detail-v1.sc-service-product-v1 .sc-service-faq-v1 details{
  margin:0;
  padding:0;
  border:0;
  border-bottom:1px solid var(--sp-line);
  background:transparent;
  border-radius:0;
  box-shadow:none;
}

body.sc-service-detail-v1.sc-service-product-v1 .sc-service-faq-v1 summary{
  position:relative;
  display:block;
  cursor:pointer;
  list-style:none;
  padding:clamp(1.15rem,2.3vw,1.65rem) 3.25rem clamp(1.15rem,2.3vw,1.65rem) 0;
  color:var(--sp-ink);
  font-family:inherit;
  font-size:clamp(1.05rem,1.55vw,1.22rem);
  font-weight:700;
  line-height:1.42;
}

body.sc-service-detail-v1.sc-service-product-v1 .sc-service-faq-v1 summary::-webkit-details-marker{
  display:none;
}

body.sc-service-detail-v1.sc-service-product-v1 .sc-service-faq-v1 summary::before,
body.sc-service-detail-v1.sc-service-product-v1 .sc-service-faq-v1 summary::after{
  content:"";
  position:absolute;
  top:50%;
  right:.35rem;
  width:16px;
  height:1px;
  background:var(--sp-gold);
  transform:translateY(-50%);
  transition:transform .18s ease;
}

body.sc-service-detail-v1.sc-service-product-v1 .sc-service-faq-v1 summary::after{
  transform:translateY(-50%) rotate(90deg);
}

body.sc-service-detail-v1.sc-service-product-v1 .sc-service-faq-v1 details[open] summary::after{
  transform:translateY(-50%) rotate(0deg);
}

body.sc-service-detail-v1.sc-service-product-v1 .sc-service-faq-v1 summary:hover{
  color:#294660;
}

body.sc-service-detail-v1.sc-service-product-v1 .sc-service-faq-v1 summary:focus-visible{
  outline:2px solid #315a78;
  outline-offset:5px;
  border-radius:2px;
}

body.sc-service-detail-v1.sc-service-product-v1 .sc-service-faq-v1__answer{
  max-width:820px;
  padding:0 2.75rem clamp(1.4rem,2.7vw,1.9rem) 0;
}

body.sc-service-detail-v1.sc-service-product-v1 .sc-service-faq-v1__answer > :first-child{
  margin-top:0;
}

body.sc-service-detail-v1.sc-service-product-v1 .sc-service-faq-v1__answer > :last-child{
  margin-bottom:0;
}

/* If the page already ships native details, style those without reconstruction. */
body.sc-service-detail-v1.sc-service-product-v1 .sc-service-faq-v1 details > summary + *{
  color:var(--sp-copy);
}

/* Media architecture: ready for approved photography later.
   No fake placeholder is rendered in C5M2. */
body.sc-service-detail-v1.sc-service-product-v1 .page-hero{
  --sc-service-media-image:none;
}

body.sc-service-detail-v1.sc-service-product-v1.sc-service-has-media .page-hero::before{
  content:"";
  position:absolute;
  inset:0 0 0 52%;
  background-image:
    linear-gradient(90deg,#14283c 0%,rgba(20,40,60,.72) 34%,rgba(20,40,60,.12) 100%),
    var(--sc-service-media-image);
  background-size:cover;
  background-position:center;
  opacity:.9;
  pointer-events:none;
}

@media(max-width:760px){
  body.sc-service-detail-v1.sc-service-product-v1 .sc-service-faq-v1 summary{
    padding-right:2.55rem;
  }

  body.sc-service-detail-v1.sc-service-product-v1 .sc-service-faq-v1__answer{
    padding-right:.4rem;
  }

  body.sc-service-detail-v1.sc-service-product-v1.sc-service-has-media .page-hero::before{
    inset:0;
    opacity:.34;
  }
}

@media(prefers-reduced-motion:reduce){
  body.sc-service-detail-v1.sc-service-product-v1 .sc-service-faq-v1 summary::after{
    transition:none;
  }
}
