/* Page components · v20260801aa */

/* ——— Utilities ——— */
.page-title--sm{font-size:1.28rem;margin-bottom:0.2rem}
.page-title--md{font-size:1.35rem;margin-top:2.25rem}
.page-title--md-loose{font-size:1.35rem;margin-top:2.5rem}
.page-title--section{font-size:1.25rem;margin-bottom:0.75rem;margin-top:0.5rem}
.page-label--spaced{margin-top:1.75rem}
.quiet--tight{margin:0 0 0.25rem}
.quiet--after{margin:0 0 1.5rem}
.quiet--after-fees{margin:0.75rem 0 0}
.link-row{margin-top:0.65rem}
.link-row--flush{margin:0}
.cred-line{color:var(--muted);font-size:var(--t-sm);margin:0.25rem 0 0.4rem}
.fee-price--entry{margin-top:0.45rem!important}
.next-block--loose{margin-top:2.5rem}
.next-block--md{margin-top:2rem}
.next-block--sm{margin-top:2.25rem}
.next-lead{margin:0 0 0.85rem;color:var(--muted);font-size:var(--t-sm);line-height:1.55}
.next-lead--sm{margin:0 0 0.75rem;color:var(--muted);font-size:var(--t-sm);line-height:1.55}
.btn-gap{margin-left:0.5rem}
.mt-sm{margin-top:0.75rem}
.mt-md{margin-top:1.5rem}
.price-card h2.price-h{font-size:1.15rem}
.price-blurb{font-size:var(--t-sm);color:var(--muted);margin:0 0 0.75rem;line-height:1.55}

/* ——— Who ——— */
.pull-quote{
  margin:1.75rem 0 2.25rem;
  padding:1.35rem 0 1.4rem;
  border:none;
  border-top:1px solid var(--gold-line);
  border-bottom:1px solid var(--gold-line);
  text-align:center
}
.pull-quote p{
  margin:0;
  font-family:var(--font-serif);
  font-size:clamp(1.08rem,2.2vw,1.22rem);
  font-weight:400;
  line-height:1.55;
  color:var(--ink);
  letter-spacing:-0.01em
}
.pull-quote p + p{
  margin-top:0.45rem;
  font-style:italic;
  color:var(--muted);
  font-size:clamp(1.02rem,2vw,1.12rem)
}
.pull-quote strong{
  font-weight:500;
  color:var(--ink)
}
.chain-block{
  margin:0.5rem 0 2rem;
  padding:1.5rem 1.35rem;
  background:var(--white);
  border:1px solid var(--line);
  border-radius:10px;
  border-left:3px solid var(--gold)
}
.chain-block p{margin:0 0 0.85rem;font-size:var(--t-sm);color:var(--muted);line-height:1.65}
.chain-block p:last-child{margin-bottom:0}
.condition-note{
  margin:0.35rem 0 1rem;
  font-size:var(--t-sm);
  color:var(--muted);
  line-height:1.55
}
.condition-titles{
  list-style:none;
  padding:0;
  margin:0 0 1.75rem
}
.condition-titles li{
  padding:0.85rem 0 0.85rem 1.15rem;
  position:relative;
  border-bottom:1px solid var(--line);
  font-family:var(--font-serif);
  font-size:1.05rem;
  font-weight:500;
  color:var(--ink);
  line-height:1.4;
  letter-spacing:-0.01em
}
.condition-titles li:last-child{border-bottom:none}
.condition-titles li::before{
  content:"";
  position:absolute;
  left:0;
  top:1.2em;
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--gold)
}

/* ——— Approach ——— */
.pillar-grid{
  display:grid;
  gap:0.85rem;
  margin:0.85rem 0 0.75rem
}
@media(min-width:640px){
  .pillar-grid{grid-template-columns:1fr 1fr 1fr;gap:1rem}
}
.pillar-card{
  background:var(--white);
  border:1px solid var(--line);
  border-radius:10px;
  border-left:3px solid var(--gold);
  padding:1.2rem 1.15rem 1.25rem;
  box-shadow:var(--shadow-sm)
}
.pillar-card h3{
  font-family:var(--font-serif);
  font-size:1.08rem;
  font-weight:500;
  margin:0 0 0.4rem;
  color:var(--ink);
  letter-spacing:-0.01em
}
.pillar-card p{
  margin:0;
  font-size:var(--t-sm);
  color:var(--muted);
  line-height:1.55
}
.logic-card{
  margin:0.85rem 0 0;
  padding:1.25rem 1.25rem 1.3rem;
  background:var(--white);
  border:1px solid var(--line);
  border-radius:10px;
  border-left:3px solid var(--gold);
  box-shadow:var(--shadow-sm)
}
.logic-card p{
  margin:0 0 0.75rem;
  font-size:var(--t-sm);
  color:var(--muted);
  line-height:1.62
}
.logic-card p:last-child{margin-bottom:0}
.method-flow{list-style:none;padding:0;margin:1rem 0 0.25rem}
.method-flow li{
  display:flex;
  gap:1rem;
  align-items:flex-start;
  padding:0 0 1.35rem;
  position:relative
}
.method-flow li:last-child{padding-bottom:0}
.method-flow li:not(:last-child)::before{
  content:"";
  position:absolute;
  left:0.85rem;
  top:2rem;
  bottom:0;
  width:1px;
  background:var(--gold-line)
}
.method-num{
  flex-shrink:0;
  width:1.75rem;
  height:1.75rem;
  border-radius:50%;
  border:1px solid var(--gold-soft);
  background:var(--white);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:var(--t-xs);
  color:var(--gold-deep);
  font-family:var(--font-serif);
  font-weight:500;
  position:relative;
  z-index:1;
  box-shadow:var(--shadow-sm)
}
.method-body h3{
  font-family:var(--font-serif);
  font-size:1.05rem;
  font-weight:500;
  margin:0.1rem 0 0.3rem;
  color:var(--ink);
  letter-spacing:-0.01em
}
.method-body p{
  margin:0;
  font-size:var(--t-sm);
  color:var(--muted);
  line-height:1.55
}
.limits-grid{
  display:grid;
  gap:1rem;
  margin:1rem 0 0;
  align-items:stretch
}
@media(min-width:640px){
  .limits-grid{grid-template-columns:1fr 1fr}
}
.limits-col{
  background:var(--white);
  border:1px solid var(--line);
  border-radius:10px;
  border-left:3px solid var(--gold);
  padding:1.15rem 1.2rem 1.2rem;
  box-shadow:var(--shadow-sm);
  height:100%
}
.not-list{
  list-style:none;
  padding:0;
  margin:0
}
.not-list li{
  padding:0.45rem 0 0.45rem 1rem;
  position:relative;
  font-size:var(--t-sm);
  color:var(--muted);
  line-height:1.5
}
.not-list li + li{border-top:1px solid var(--line)}
.not-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:0.85em;
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--gold)
}

/* ——— Programmes ——— */
.compare-wrap{overflow-x:auto;margin:1.5rem 0 2rem;-webkit-overflow-scrolling:touch}
.compare-table{width:100%;border-collapse:collapse;font-size:var(--t-sm);min-width:320px}
.compare-table th,
.compare-table td{padding:0.65rem 0.75rem;text-align:left;border-bottom:1px solid var(--line)}
.compare-table th{font-weight:500;color:var(--ink);background:var(--soft)}
.compare-table td:not(:first-child),
.compare-table th:not(:first-child){text-align:center}
.compare-table .check{color:var(--gold-deep);font-weight:500}
.note-box{
  margin:1.5rem 0;
  padding:1.15rem 1.25rem;
  background:var(--white);
  border:1px solid var(--line);
  border-radius:12px;
  border-left:3px solid var(--gold);
  box-shadow:var(--shadow-sm);
  font-size:var(--t-sm);
  color:var(--muted);
  line-height:1.55
}
.note-box strong{
  display:block;
  font-size:var(--t-xs);
  letter-spacing:0.06em;
  text-transform:uppercase;
  color:var(--gold-deep);
  margin-bottom:0.4rem;
  font-weight:500
}
.info-card{
  margin:0.85rem 0 0;
  padding:1.25rem;
  background:var(--white);
  border:1px solid var(--line);
  border-radius:12px;
  border-left:3px solid var(--gold);
  box-shadow:var(--shadow-sm);
  font-size:var(--t-sm);
  color:var(--muted);
  line-height:1.6
}
.info-card p{margin:0 0 0.75rem}
.info-card p:last-child{margin-bottom:0}
.faq-item{margin:0 0 1.25rem;padding-bottom:1.15rem;border-bottom:1px solid var(--line)}
.faq-item:last-child{border-bottom:none}
.faq-item h3{font-family:var(--font-serif);font-size:1.05rem;font-weight:500;margin:0 0 0.4rem}
.faq-item p{margin:0;font-size:var(--t-sm);color:var(--muted);line-height:1.55}
.path-thin{
  margin:1rem 0 0;
  padding:1rem 1.15rem;
  background:var(--white);
  border:1px solid var(--line);
  border-radius:12px;
  font-size:var(--t-sm);
  color:var(--muted);
  line-height:1.55
}
.path-thin strong{color:var(--ink);font-weight:500}

/* ——— Steps ——— */
.path-strip{
  display:flex;flex-wrap:wrap;gap:0.4rem 0.2rem;align-items:center;
  margin:1.35rem 0 2rem;font-size:var(--t-sm);color:var(--muted)
}
.path-strip span{
  background:var(--white);border:1px solid var(--line);border-radius:8px;
  padding:0.4rem 0.7rem;line-height:1.35
}
.path-strip .arrow{border:none;background:transparent;color:var(--gold);padding:0 0.1rem;font-size:0.85rem}
.horizon{
  margin:0 0 2.5rem;padding:1.25rem 1.3rem;background:var(--white);
  border:1px solid var(--line);border-radius:10px;border-left:3px solid var(--gold);
  box-shadow:var(--shadow-sm)
}
.horizon-label{
  font-size:var(--t-xs);letter-spacing:0.12em;text-transform:uppercase;
  color:var(--gold-deep);font-weight:500;margin:0 0 0.65rem
}
.horizon-grid{display:grid;gap:0.75rem}
@media(min-width:560px){.horizon-grid{grid-template-columns:1fr 1fr;gap:0.85rem 1.25rem}}
.horizon-item{margin:0;font-size:var(--t-sm);color:var(--muted);line-height:1.5}
.horizon-item strong{
  display:block;font-family:var(--font-serif);font-weight:500;color:var(--ink);
  font-size:0.98rem;margin-bottom:0.15rem
}
.phase{
  margin:0 0 1.35rem;padding:1.4rem 1.3rem 1.45rem;background:var(--surface);
  border:1px solid var(--line);border-radius:10px;border-left:3px solid var(--gold);
  box-shadow:var(--shadow-sm)
}
.phase-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:0.35rem 0.75rem;margin:0 0 0.75rem}
.phase-num{font-family:var(--font-serif);font-size:1.05rem;color:var(--gold-deep);font-weight:500}
.phase h2{
  font-family:var(--font-serif);font-size:1.28rem;font-weight:500;margin:0;
  letter-spacing:-0.01em;line-height:1.3;color:var(--ink)
}
.phase-meta{width:100%;font-size:var(--t-xs);letter-spacing:0.04em;color:var(--gold-deep);margin:0.15rem 0 0}
.phase p{margin:0 0 0.6rem;font-size:var(--t-sm);color:var(--muted);line-height:1.6}
.phase p:last-child{margin-bottom:0}
.phase-split{display:grid;gap:0.75rem;margin:0.85rem 0 0}
@media(min-width:560px){.phase-split{grid-template-columns:1fr 1fr}}
.phase-box{
  padding:0.85rem 1rem;background:var(--paper);border:1px solid var(--line);
  border-radius:8px;font-size:var(--t-sm);color:var(--muted);line-height:1.5
}
.phase-box strong{
  display:block;font-size:var(--t-xs);letter-spacing:0.1em;text-transform:uppercase;
  color:var(--gold-deep);margin-bottom:0.3rem;font-weight:500
}
.fork-grid{display:grid;gap:0.75rem;margin:0.85rem 0 0.35rem}
@media(min-width:560px){.fork-grid{grid-template-columns:1fr 1fr}}
.fork-card{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:1rem 1.05rem}
.fork-card-primary{border-color:var(--gold-soft);border-left:3px solid var(--gold);background:var(--surface)}
.fork-card h3{font-family:var(--font-serif);font-size:1.05rem;font-weight:500;margin:0 0 0.35rem;color:var(--ink)}
.fork-card p{margin:0;font-size:var(--t-sm);color:var(--muted);line-height:1.5}
.soft-note{
  margin:2rem 0 0;padding:1.35rem 1.4rem;background:var(--soft);
  border:1px solid var(--line);border-radius:10px;font-size:var(--t-sm);
  color:var(--muted);line-height:1.65
}
.soft-note strong{
  display:block;font-family:var(--font-serif);font-size:1.05rem;font-weight:500;
  color:var(--ink);margin-bottom:0.45rem
}
.price-inline{font-family:var(--font-serif);color:var(--gold-deep);font-weight:500}

/* ——— Clickable fee cards (Home) ——— */
a.fee-card{
  color:inherit;
  text-decoration:none;
  transition:border-color .2s,box-shadow .2s,background .2s;
  cursor:pointer
}
a.fee-card:hover{
  border-color:var(--gold-soft);
  box-shadow:var(--shadow-md)
}
a.fee-card-primary:hover{
  border-color:var(--gold);
  box-shadow:var(--shadow-lg)
}
.fee-cards:has(> :only-child){
  grid-template-columns:1fr
}
.page-home .sig-lead strong{
  font-weight:600;
  color:var(--ink)
}
