/* ──────────────────────────────────────────
   VERA · HOW IT WORKS · Editorial extensions
   Loads after index.css for shared chrome
   ────────────────────────────────────────── */

/* Masthead */
.how-masthead{
  background:var(--cream);padding:80px 0 100px;position:relative;
  border-bottom:1px solid rgba(76,58,41,.12);overflow:hidden;
}
.how-masthead::before{
  content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;
  background:linear-gradient(to right,transparent,var(--gold) 50%,transparent);opacity:.7;
}
.how-masthead .grid{
  display:grid;grid-template-columns:1.3fr .9fr;gap:80px;align-items:end;
}
.how-masthead .meta{
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  font-family:var(--display);font-size:10px;letter-spacing:.32em;
  text-transform:uppercase;color:var(--sage-deep);margin-bottom:28px;
}
.how-masthead .meta .dot{width:4px;height:4px;background:var(--gold);border-radius:50%}
.how-masthead h1{
  font-family:'Cormorant Garamond', var(--display);font-weight:400;font-style:italic;
  font-size:74px;line-height:1.12;letter-spacing:-.005em;
  color:var(--ink);margin:0 0 32px;
}
.how-masthead h1 .it{font-family:'Cormorant Garamond', var(--serif);font-style:italic;font-weight:400;color:var(--sage-deep)}
.how-masthead .lede{
  font-family:var(--sans);font-size:18px;line-height:1.6;
  color:var(--ink-2);max-width:580px;font-weight:400;margin:0;
}
.how-masthead .ornament{display:flex;flex-direction:column;gap:14px;padding-bottom:8px}
.how-masthead .ornament .key{
  font-family:var(--display);font-size:11px;letter-spacing:.32em;
  text-transform:uppercase;color:var(--gold-deep);
}
.how-masthead .ornament .val{
  font-family:var(--serif);font-style:italic;font-size:24px;
  color:var(--brown);line-height:1.4;
  border-left:1px solid var(--gold);padding-left:18px;
}

/* The Process — vertical timeline */
.process-section{background:var(--cream-2);padding:130px 0;position:relative}
.process-list{
  max-width:980px;margin:60px auto 0;position:relative;padding:0 0 0 120px;
}
.process-list::before{
  content:"";position:absolute;left:48px;top:36px;bottom:36px;width:1px;
  background:linear-gradient(to bottom,transparent,var(--brown) 8%,var(--brown) 92%,transparent);
}
.process-row{
  position:relative;padding:36px 0 36px 60px;
  border-bottom:1px solid rgba(76,58,41,.18);
}
.process-row:last-child{border-bottom:none}
.process-row .marker{
  position:absolute;left:-120px;top:36px;width:96px;height:96px;
  background:var(--cream);border:1px solid var(--gold);border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--display);font-size:24px;letter-spacing:.04em;
  color:var(--gold-deep);font-weight:500;
  z-index:2;box-shadow:0 8px 24px rgba(76,58,41,.08);
}
.process-row .marker::before{
  content:"";position:absolute;inset:6px;
  border:1px solid rgba(216,182,122,.4);border-radius:50%;
}
.process-row h3{
  font-family:var(--display);font-size:28px;font-weight:500;
  color:var(--brown);letter-spacing:.02em;line-height:1.2;margin:0 0 14px;
}
.process-row h3 .it{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--brown-soft)}
.process-row p{
  font-family:var(--serif);font-size:19px;line-height:1.6;
  color:var(--brown-soft);font-weight:400;margin:0;max-width:680px;
}
.process-row p .it{font-style:italic;color:var(--brown)}
.process-row .micro{
  display:inline-block;margin-top:14px;
  font-family:var(--display);font-size:10px;letter-spacing:.32em;
  text-transform:uppercase;color:var(--gold-deep);
}

/* Reach-out pull-quote band */
.reach-quote-band{background:var(--cream);padding:100px 0;text-align:center}
.reach-quote-band blockquote{
  font-family:var(--serif);font-style:italic;font-weight:300;
  font-size:38px;line-height:1.35;color:var(--brown);
  max-width:920px;margin:0 auto;letter-spacing:.005em;
}
.reach-quote-band blockquote::before{
  content:"";display:block;width:60px;height:1px;background:var(--gold);margin:0 auto 32px;
}
.reach-quote-band .source{
  font-family:var(--display);font-size:11px;letter-spacing:.32em;
  text-transform:uppercase;color:var(--brown-soft);margin-top:32px;
}

/* FAQ — editorial accordion on brown */
.faq-section{background:var(--card);color:var(--ink);padding:140px 0;position:relative;overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.faq-section::before{display:none}
.faq-section .container{position:relative;z-index:2}
.faq-section .section-head .eyebrow{color:var(--sage-deep)}
.faq-section .section-head .eyebrow.with-rules::before,
.faq-section .section-head .eyebrow.with-rules::after{background:var(--sage)}
.faq-section .section-head h2{color:var(--ink)}
.faq-section .section-head h2 .it{color:var(--sage-deep)}
.faq-section .section-head .sub{color:var(--ink-2)}

.faq-list{max-width:1080px;margin:0 auto;border-top:1px solid var(--line)}
.faq-item{
  border-bottom:1px solid var(--line);
  transition:background .3s;
}
.faq-item:hover{background:rgba(216,182,122,.05)}
.faq-item summary{
  display:grid;grid-template-columns:80px 1fr 46px;gap:32px;
  padding:36px 16px;align-items:center;
  cursor:pointer;list-style:none;
}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item .q-num{
  font-family:var(--display);font-size:14px;letter-spacing:.32em;
  color:var(--sage-deep);font-weight:500;
}
.faq-item .q-text{
  font-family:var(--serif);font-style:italic;font-weight:400;
  font-size:24px;line-height:1.3;color:var(--ink);margin:0;
}
.faq-item .toggle{
  width:46px;height:46px;border:1px solid var(--sage);
  display:flex;align-items:center;justify-content:center;
  color:var(--sage-deep);font-family:var(--display);font-size:18px;
  border-radius:50%;flex-shrink:0;transition:all .3s;
  position:relative;
}
.faq-item .toggle::before,.faq-item .toggle::after{
  content:"";position:absolute;background:var(--sage-deep);transition:transform .3s;
}
.faq-item .toggle::before{width:16px;height:1px}
.faq-item .toggle::after{width:1px;height:16px}
.faq-item[open] .toggle{background:var(--sage);color:var(--cream);border-color:var(--sage)}
.faq-item[open] .toggle::before{background:var(--cream)}
.faq-item[open] .toggle::after{transform:rotate(90deg);background:var(--cream);opacity:0}
.faq-item .a-text{
  font-family:var(--serif);font-size:18px;line-height:1.65;
  color:var(--ink-2);font-weight:300;
  padding:0 16px 36px 128px;
  max-width:980px;
  border-top:1px solid var(--line);
  margin-top:-1px;padding-top:24px;
}

/* Responsive */
@media (max-width: 1100px){
  .how-masthead h1{font-size:60px}
  .process-list{padding-left:90px}
  .process-row .marker{left:-90px;width:74px;height:74px;font-size:18px}
  .process-list::before{left:37px}
}
@media (max-width: 880px){
  .how-masthead{padding:60px 0 80px}
  .how-masthead .grid{grid-template-columns:1fr;gap:40px;align-items:start}
  .how-masthead h1{font-size:42px}
  .how-masthead .lede{font-size:19px}
  .process-section,.faq-section,.reach-quote-band{padding:80px 0}
  .process-list{padding-left:74px;margin-top:32px}
  .process-row{padding:24px 0 24px 24px}
  .process-row .marker{left:-74px;width:60px;height:60px;font-size:14px;top:24px}
  .process-list::before{left:30px;top:24px;bottom:24px}
  .process-row h3{font-size:22px}
  .process-row p{font-size:17px}
  .reach-quote-band blockquote{font-size:24px}
  .faq-item summary{grid-template-columns:60px 1fr 36px;gap:18px;padding:24px 12px}
  .faq-item .q-num{font-size:11px}
  .faq-item .q-text{font-size:19px}
  .faq-item .toggle{width:36px;height:36px}
  .faq-item .toggle::before{width:13px}
  .faq-item .toggle::after{height:13px}
  .faq-item .a-text{padding:24px 12px 28px 90px;font-size:16px}
}
@media (max-width: 540px){
  .how-masthead h1{font-size:34px}
  .process-list{padding-left:64px}
  .process-row .marker{left:-64px;width:50px;height:50px;font-size:12px}
  .process-list::before{left:25px}
  .process-row h3{font-size:19px}
  .reach-quote-band blockquote{font-size:20px}
  .faq-item summary{grid-template-columns:38px 1fr 32px;gap:12px}
  .faq-item .q-text{font-size:17px}
  .faq-item .a-text{padding-left:50px}
}
