/* Shared brand, paper, navigation, banner and CTAs remain in the interior styles. */
.faq-wrap { max-width:900px; }
.faq-intro { text-align:center; margin:0 auto 42px; }
.faq-interaction-hint { display:none; font:25px/1.5 var(--serif); color:var(--teal); }
.faq-interaction-hint span { font:15px/1.7 var(--sans); color:var(--ink); }
.faq-deck { display:grid; gap:22px; overflow-anchor:none; }
.faq-card { position:relative; scroll-margin-top:calc(var(--header) + 24px); }
.faq-front,.faq-close { display:none; }
.faq-answer-inner { padding:32px 38px; }
.faq-back { background:var(--paper-texture),linear-gradient(125deg,#fcf9f1,#f1e9d9); border:1px solid #cabd9e; border-radius:12px; box-shadow:0 9px 25px #214e5610; }
.faq-answer-label { display:flex; gap:15px; align-items:center; color:#96672c; font:14px/1.5 var(--sans); margin-bottom:17px; }
.faq-answer-label span { font-size:11px; text-transform:uppercase; letter-spacing:.16em; }
.faq-back h2 { font:30px/1.25 var(--serif); letter-spacing:-.025em; margin:0 0 24px; text-wrap:pretty; }
.faq-answer-copy { max-width:740px; }
.faq-answer-copy p { font-size:17px; line-height:1.8; margin:0 0 20px; }
.faq-answer-copy p:last-child { margin-bottom:0; }
.faq-answer-copy a { text-decoration-color:#a64f2d; font-weight:600; }
.faq-enhanced .faq-interaction-hint { display:block; }
.faq-enhanced .faq-card { perspective:1500px; height:var(--faq-height); transition:height 480ms cubic-bezier(.25,.7,.25,1); }
.faq-enhanced .faq-turn { position:relative; height:100%; transform-style:preserve-3d; transition:transform 480ms cubic-bezier(.25,.7,.25,1); }
.faq-enhanced .faq-face { position:absolute; top:0; left:0; width:100%; backface-visibility:hidden; -webkit-backface-visibility:hidden; }
.faq-enhanced .faq-front { display:block; transform:rotateX(0deg); }
.faq-enhanced .faq-back { transform:rotateX(180deg); cursor:pointer; }
.faq-enhanced .is-open .faq-turn { transform:rotateX(-180deg); }
.faq-front h2 { font:26px/1.35 var(--serif); margin:0; letter-spacing:-.025em; }
.faq-question { width:100%; min-height:116px; padding:26px 30px; display:grid; grid-template-columns:34px minmax(0,1fr) 38px; align-items:center; gap:20px; text-align:left; cursor:pointer; font:inherit; color:var(--teal); border:1px solid #b6c6bd; border-left:3px solid var(--glass); border-radius:12px; background:var(--paper-texture),linear-gradient(115deg,#faf8f0,#eef1e9); box-shadow:0 3px 0 #214e560a,0 7px 18px #214e560d; transition:box-shadow 200ms ease,transform 200ms ease,border-color 200ms ease; }
.faq-number { color:#677d73; font:13px/1.5 var(--sans); letter-spacing:.08em; }
.faq-cue { display:flex; flex-direction:column; align-items:center; gap:6px; font:11px/1.4 var(--sans); letter-spacing:0; }
.faq-cue svg { width:29px; height:29px; padding:3px; border:1px solid #aebfb3; border-radius:50%; }
.faq-cue svg,.faq-close svg { fill:none; stroke:currentColor; stroke-width:1.4; stroke-linecap:round; stroke-linejoin:round; }
.faq-enhanced .faq-close { display:flex; align-items:center; justify-content:center; cursor:pointer; color:var(--teal); background:transparent; border:1px solid #cbbd9d; border-radius:50%; padding:10px; margin:20px 0 0 auto; width:44px; height:44px; }
.faq-close svg { width:23px; height:23px; transform:scaleX(-1); }
.faq-close:hover { color:#a64f2d; }
.faq-question:focus-visible { outline:3px solid #a64f2d; outline-offset:5px; border-radius:12px; }
.faq-back h2:focus { outline:none; }
.faq-back h2:focus-visible { outline:2px solid #a64f2d; outline-offset:7px; border-radius:3px; }
.faq-enhanced .is-open .faq-back { box-shadow:0 4px 0 #c7b99540,0 14px 32px #214e561c; }
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
  .faq-question:hover { transform:translateY(-3px); border-color:#819f98; box-shadow:0 6px 0 #214e5608,0 15px 26px #214e561c; }
  .faq-question:hover .faq-cue svg { transform:rotate(-12deg); }
  .faq-cue svg { transition:transform 200ms ease; }
}
@media(max-width:760px) {
  .faq-deck { gap:18px; }
  .faq-intro { margin-bottom:30px; }
  .faq-interaction-hint { font-size:22px; }
  .faq-question { grid-template-columns:minmax(0,1fr) 38px; gap:14px; padding:24px 20px; min-height:112px; }
  .faq-number { display:none; }
  .faq-cue span { display:none; }
  .faq-front h2 { font-size:23px; }
  .faq-answer-inner { padding:25px 23px; }
  .faq-back h2 { font-size:25px; }
  .faq-answer-copy p { font-size:16px; }
  .faq-enhanced .faq-card { perspective:2000px; }
}
@media(prefers-reduced-motion:reduce) {
  .faq-enhanced .faq-turn,.faq-enhanced .faq-front,.faq-enhanced .faq-back,.faq-enhanced .is-open .faq-turn { transform:none; }
  .faq-enhanced .faq-back { visibility:hidden; }
  .faq-enhanced .is-open .faq-front { visibility:hidden; }
  .faq-enhanced .is-open .faq-back { visibility:visible; }
}

/* Trial invitation: shared launch CTA beside the answer, stacked on small screens. */
.faq-trial { display:grid; grid-template-columns:minmax(0,1fr) 220px; gap:30px; align-items:center; max-width:none; }
.faq-trial-action .launch-button { width:100%; font-size:18px; padding:18px 20px; min-height:60px; }
@media(max-width:760px) {
  .faq-trial { grid-template-columns:1fr; gap:24px; }
  .faq-trial-action .launch-button { width:auto; }
}
