/* ============================================================
   VyaparCred — Components (v2)  ·  editorial green-on-paper
   estimator · engines · cards · pipeline · feed · stats · faq · footer
   ============================================================ */

/* ---------- estimator ---------- */
.est__shell { display: grid; grid-template-columns: 1.05fr 1fr; border: 1px solid var(--line-2); border-radius: var(--r-xl); overflow: hidden; box-shadow: var(--sh-sm); background: var(--white); }
.est__inputs { padding: var(--sp-5); display: flex; flex-direction: column; gap: 16px; }
.est__note { margin-top: auto; padding-top: 16px; border-top: 1px solid var(--line); display: flex; align-items: flex-start; gap: 8px; font-family: var(--mono); font-size: .73rem; line-height: 1.5; letter-spacing: .01em; color: var(--gray); }
.est__note [data-lucide] { flex: none; width: 15px; height: 15px; color: var(--green); margin-top: 1px; }
.est__field { display: grid; gap: 8px; }
.est__field label { font-family: var(--mono); font-size: .7rem; text-transform: uppercase; letter-spacing: .08em; color: var(--gray); }
.field-input { width: 100%; padding: 12px 14px; border-radius: var(--r-sm); border: 1px solid var(--line-2); background: var(--cream); font-size: .98rem; transition: border-color .18s var(--ease), box-shadow .18s var(--ease), background .18s var(--ease); }
.field-input:focus { outline: none; border-color: var(--green); background: #fff; box-shadow: 0 0 0 3px var(--green-soft); }
select.field-input { -webkit-appearance: none; appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2336443D' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; padding-right: 40px; }
.est__cols { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.est__range { display: grid; grid-template-columns: 1fr 92px; gap: 12px; align-items: center; }
.est__range input[type=range] { -webkit-appearance: none; appearance: none; width: 100%; height: 5px; border-radius: 999px; background: var(--line-2); }
.est__range input[type=range]::-webkit-slider-thumb { -webkit-appearance: none; width: 20px; height: 20px; border-radius: 50%; background: var(--green); border: 3px solid #fff; box-shadow: var(--sh-xs); cursor: pointer; }
.est__range input[type=range]::-moz-range-thumb { width: 20px; height: 20px; border-radius: 50%; background: var(--green); border: 3px solid #fff; cursor: pointer; }
.num { text-align: center; }
.est__hint { font-size: .78rem; color: var(--gray-2); }
.est__seg { display: inline-flex; padding: 3px; gap: 3px; background: var(--cream); border-radius: var(--r-sm); border: 1px solid var(--line-2); }
.est__seg button { padding: 8px 18px; border-radius: var(--r-xs); font-weight: 500; font-size: .88rem; color: var(--gray); transition: all .18s var(--ease); }
.est__seg button.is-active { background: var(--green); color: #fff; }

.est__results { padding: var(--sp-5); background: var(--forest); color: var(--on-dark); display: grid; align-content: start; gap: 13px; background-image: radial-gradient(rgba(255,255,255,.045) 1px, transparent 1.2px); background-size: 16px 16px; }
.rlabel { font-family: var(--mono); font-size: .7rem; text-transform: uppercase; letter-spacing: .1em; color: var(--green-bright); }
.est__rgrid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.rcard { background: rgba(255,255,255,.04); border: 1px solid var(--on-dark-line); border-radius: var(--r-md); padding: 12px 13px; }
.rcard--hero { grid-column: 1 / -1; background: var(--forest-3); border-color: rgba(79,159,79,.4); }
.rl { display: flex; align-items: center; gap: 7px; font-family: var(--mono); font-size: .7rem; letter-spacing: .04em; text-transform: uppercase; color: var(--on-dark-muted); }
.rl [data-lucide] { color: var(--green-bright); }
.rv { font-size: 1.5rem; font-weight: 650; color: #fff; margin-top: 5px; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.rcard--hero .rv { font-size: 1.95rem; color: var(--green-bright); }
.rs { font-size: .78rem; color: var(--on-dark-muted); margin-top: 4px; }
.rbar { height: 7px; border-radius: 999px; background: rgba(255,255,255,.1); margin-top: 12px; overflow: hidden; }
.rbar i { display: block; height: 100%; width: 0; border-radius: 999px; background: var(--green-bright); transition: width .8s var(--ease); }
.est__disc { display: flex; gap: 10px; font-size: .78rem; color: var(--on-dark-muted); line-height: 1.5; background: rgba(0,0,0,.16); padding: 12px 14px; border-radius: var(--r-md); }
.est__disc [data-lucide] { flex: none; margin-top: 2px; color: var(--green-bright); }
.est__disc b { color: var(--on-dark); }
.est__gate { background: rgba(255,255,255,.04); border: 1px solid var(--on-dark-line); border-radius: var(--r-md); padding: 14px; display: grid; gap: 10px; }
.est__gate.is-hidden { display: none; }
.gh { font-weight: 600; font-size: .98rem; color: #fff; }
#lc-lead-form { display: grid; gap: 10px; }
.lc-field input, .lc-field select { width: 100%; padding: 11px 13px; border-radius: var(--r-sm); border: 1px solid var(--on-dark-line); background: rgba(255,255,255,.05); color: #fff; font-size: .95rem; }
.lc-field input::placeholder { color: var(--on-dark-muted); }
.lc-field input:focus, .lc-field select:focus { outline: none; border-color: var(--green-bright); background: rgba(255,255,255,.09); }
.lc-field select option { color: #111; }
.lc-err { display: block; font-size: .74rem; color: #F0A091; margin-top: 4px; min-height: 1px; }
.lc-hp { position: absolute; left: -9999px; }
.micro { font-size: .74rem; color: var(--on-dark-muted); text-align: center; }
@media (max-width: 860px){ .est__shell { grid-template-columns: 1fr; } }
@media (max-width: 480px){ .est__cols, .est__rgrid { grid-template-columns: 1fr; } }

/* ---------- engines ---------- */
.engines { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.engine { position: relative; overflow: hidden; display: flex; flex-direction: column; background: var(--white); border: 1px solid var(--line); border-radius: var(--r-lg); padding: 24px; transition: transform .15s var(--ease), box-shadow .15s var(--ease), border-color .15s var(--ease); }
.engine::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 110px; background-image: radial-gradient(rgba(46,139,87,.16) 1px, transparent 1.2px); background-size: 13px 13px; -webkit-mask-image: linear-gradient(125deg, #000 10%, transparent 60%); mask-image: linear-gradient(125deg, #000 10%, transparent 60%); pointer-events: none; }
.engine:hover { transform: translateY(-2px); box-shadow: var(--sh-sm); border-color: var(--green); }
.engine__ic { width: 42px; height: 42px; border-radius: var(--r-md); display: grid; place-items: center; background: var(--green-soft); color: var(--green); font-size: 1.2rem; margin-bottom: 14px; }
.engine h3 { margin-bottom: 6px; }
.engine > p { color: var(--gray); font-size: .95rem; margin-bottom: 8px; }
.engine ul { display: block; margin-bottom: 16px; }
.engine > .textlink { margin-top: auto; align-self: flex-start; }
.engine li { display: flex; gap: 10px; align-items: flex-start; font-size: .92rem; color: var(--ink-2); padding: 9px 0; border-bottom: 1px solid var(--line); }
.engine li:last-child { border-bottom: 0; padding-bottom: 0; }
.engine li [data-lucide] { flex: none; margin-top: 3px; color: var(--green); }
@media (max-width: 800px){ .engines { grid-template-columns: 1fr; } }

/* ---------- category grid ---------- */
.cat-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; counter-reset: cat; }
.catcard { position: relative; counter-increment: cat; background: var(--white); background-image: radial-gradient(240px 240px at 100% 0%, rgba(46,139,87,.055), transparent 70%); border: 1px solid var(--line); border-radius: var(--r-lg); padding: 20px; display: flex; flex-direction: column; transition: transform .15s var(--ease), box-shadow .15s var(--ease), border-color .15s var(--ease); }
.catcard::before { content: counter(cat, decimal-leading-zero); position: absolute; top: 20px; right: 20px; font-family: var(--mono); font-size: .68rem; letter-spacing: .1em; color: var(--gray-2); }
.catcard:hover { transform: translateY(-2px); box-shadow: var(--sh-sm); border-color: var(--green); }
.catcard:hover::before { color: var(--green); }
.catcard__ic { width: 40px; height: 40px; border-radius: var(--r-sm); display: grid; place-items: center; background: var(--green-soft); color: var(--green); font-size: 1.15rem; margin-bottom: 12px; }
.catcard h3 { font-size: 1.08rem; font-weight: 600; letter-spacing: -.02em; }
.catcard p { color: var(--gray); font-size: .9rem; margin-top: 6px; flex: 1; }
.catcard__meta { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; padding-top: 11px; border-top: 1px solid var(--line); }
.catcard__meta span { font-family: var(--mono); font-size: .68rem; letter-spacing: .02em; color: var(--gray); background: var(--cream); border: 1px solid var(--line); padding: 4px 9px; border-radius: var(--r-xs); }
.catcard__meta span b { color: var(--green-ink); font-weight: 600; }
.catcard__go { display: inline-flex; align-items: center; gap: 7px; margin-top: 12px; font-weight: 500; font-size: .88rem; color: var(--green); }
.catcard__go [data-lucide] { transition: transform .15s var(--ease); }
.catcard:hover .catcard__go [data-lucide] { transform: translateX(2px); }
.catcard--wide { grid-column: 1 / -1; flex-direction: row; align-items: center; gap: 18px; background: var(--forest); background-image: none; border-color: transparent; }
.catcard--wide::before { display: none; }
.catcard--wide .catcard__ic { background: rgba(255,255,255,.08); color: var(--green-bright); margin: 0; flex: none; }
.catcard--wide h3 { color: #fff; flex: 1; font-size: 1.04rem; font-weight: 500; }
.catcard--wide .catcard__go { color: var(--green-bright); margin: 0; }
.catcard--wide:hover { border-color: transparent; box-shadow: var(--sh-md); }
@media (max-width: 900px){ .cat-grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 560px){ .cat-grid { grid-template-columns: 1fr; } .catcard--wide { flex-direction: column; align-items: flex-start; } }

/* ---------- pipeline ---------- */
.pipe { position: relative; display: grid; grid-template-columns: repeat(4,1fr); gap: 18px; margin-top: var(--sp-4); }
.pipe__line { position: absolute; top: 21px; left: 7%; right: 7%; height: 1px; background: rgba(255,255,255,.16); z-index: 0; }
.pipe__line i { display: block; height: 100%; width: 100%; background: var(--green-bright); transform-origin: left; }
.pstep { position: relative; z-index: 1; }
.pstep__n { width: 42px; height: 42px; border-radius: var(--r-md); display: grid; place-items: center; line-height: 1; background: var(--green); color: #fff; font-size: 1.1rem; margin-bottom: 12px; }
.pstep .num { font-family: var(--mono); font-size: .68rem; letter-spacing: .14em; color: var(--green-bright); }
.pstep h3 { color: #fff; font-size: 1.04rem; font-weight: 600; margin-top: 6px; }
.pstep p { color: var(--on-dark-muted); font-size: .89rem; margin-top: 6px; }
.pstep .time { display: inline-block; margin-top: 10px; font-family: var(--mono); font-size: .72rem; letter-spacing: .03em; color: var(--green-bright); background: rgba(79,159,79,.14); padding: 4px 11px; border-radius: var(--r-xs); }
@media (max-width: 900px){ .pipe { grid-template-columns: repeat(2,1fr); } .pipe__line { display: none; } }
@media (max-width: 480px){ .pipe { grid-template-columns: 1fr; } }
/* responsive column modifiers (avoid inline grid-template that overrides the media queries above) */
.pipe--2 { grid-template-columns: repeat(2,1fr); }
.pipe--3 { grid-template-columns: repeat(3,1fr); }
@media (max-width: 860px){ .pipe--3 { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 600px){ .pipe--2, .pipe--3 { grid-template-columns: 1fr; } }

/* ---------- financing matrix ---------- */
.fmatrix { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; counter-reset: fin; }
.fcard { position: relative; counter-increment: fin; background: var(--white); background-image: radial-gradient(220px 220px at 0% 0%, rgba(46,139,87,.05), transparent 70%); border: 1px solid var(--line); border-radius: var(--r-lg); padding: 20px; display: flex; flex-direction: column; transition: transform .15s var(--ease), box-shadow .15s var(--ease), border-color .15s var(--ease); }
.fcard::before { content: "P" counter(fin); position: absolute; top: 20px; right: 20px; font-family: var(--mono); font-size: .68rem; letter-spacing: .1em; color: var(--gray-2); }
.fcard:hover { transform: translateY(-2px); box-shadow: var(--sh-sm); border-color: var(--green); }
.fcard:hover::before { color: var(--green); }
.fcard__ic { width: 40px; height: 40px; border-radius: var(--r-sm); display: grid; place-items: center; background: var(--green-soft); color: var(--green); font-size: 1.15rem; margin-bottom: 12px; }
.fcard h3 { font-size: 1.05rem; font-weight: 600; }
.fcard p { color: var(--gray); font-size: .9rem; margin-top: 6px; flex: 1; }
.fcard__terms { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; padding-top: 11px; border-top: 1px solid var(--line); }
.fcard__terms span { font-family: var(--mono); font-size: .68rem; letter-spacing: .02em; color: var(--green-ink); background: var(--green-soft); padding: 4px 9px; border-radius: var(--r-xs); }
.fcard .catcard__go { margin-top: 12px; }
@media (max-width: 900px){ .fmatrix { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 520px){ .fmatrix { grid-template-columns: 1fr; } }

/* ---------- quote feed ---------- */
.quotefeed { border: 1px solid var(--line-2); border-radius: var(--r-lg); overflow: hidden; background: var(--white); }
.quotefeed__head { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding: 14px 18px; background: var(--cream); border-bottom: 1px solid var(--line); }
.quotefeed__head .qtitle { font-weight: 600; font-size: 1.02rem; }
.quotefeed__head .meta { font-family: var(--mono); font-size: .74rem; letter-spacing: .02em; color: var(--gray-2); margin-left: auto; display: inline-flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.minitag { font-family: var(--mono); font-size: .64rem; letter-spacing: .04em; padding: 3px 7px; border-radius: var(--r-xs); }
.qrow { display: grid; grid-template-columns: 42px 1.6fr 1fr 1.1fr 1fr; gap: 12px; align-items: center; padding: 11px 18px; border-bottom: 1px solid var(--line); transition: background .3s var(--ease), box-shadow .3s var(--ease); }
.qrow.is-scan { background: var(--green-soft); box-shadow: inset 3px 0 0 var(--green); }
.qrow.is-best .qbest-tag { background: var(--green); }
.qrow:last-child { border-bottom: 0; }
.qrow:hover { background: var(--cream); }
.qrow__flag { width: 34px; height: 24px; border-radius: var(--r-xs); background: var(--forest); color: #fff; display: grid; place-items: center; font-family: var(--mono); font-size: .64rem; font-weight: 600; letter-spacing: .04em; }
.qrow__sup { display: inline-flex; align-items: center; gap: 7px; font-size: .92rem; font-weight: 500; }
.qrow__sup [data-lucide] { color: var(--green); }
.qbest-tag { font-family: var(--mono); font-size: .6rem; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; color: #fff; background: var(--green); padding: 3px 8px; border-radius: var(--r-xs); }
.qrow__price { font-family: var(--mono); font-weight: 600; font-size: 1.0rem; }
.qrow__spec { display: inline-flex; align-items: center; gap: 8px; font-size: .85rem; color: var(--gray); }
.qrow__fund { font-size: .85rem; font-weight: 600; color: var(--green-ink); text-align: right; }
@media (max-width: 760px){ .qrow { grid-template-columns: 34px 1fr auto; row-gap: 6px; } .qrow__spec, .qrow__fund { grid-column: 2 / -1; text-align: left; } .quotefeed__head .meta { margin-left: 0; width: 100%; } }

/* ---------- stats ---------- */
.statgrid { display: grid; grid-template-columns: repeat(6,1fr); gap: 14px; }
.statgrid--4 { grid-template-columns: repeat(4,1fr); max-width: 880px; margin-inline: auto; }
.statcard { background: rgba(255,255,255,.04); border: 1px solid var(--on-dark-line); border-radius: var(--r-md); padding: 16px 14px; text-align: center; }
.statcard .v { font-size: 1.85rem; font-weight: 650; letter-spacing: -.02em; color: var(--green-bright); font-variant-numeric: tabular-nums; }
.statcard .l { font-family: var(--mono); font-size: .7rem; text-transform: uppercase; letter-spacing: .04em; color: var(--on-dark-muted); margin-top: 8px; }
.stats__foot { margin-top: var(--sp-4); font-size: 1rem; color: var(--on-dark-muted); text-align: center; text-wrap: balance; }
.stats__foot b { color: #fff; }
@media (max-width: 900px){ .statgrid { grid-template-columns: repeat(3,1fr); } .statgrid--4 { grid-template-columns: repeat(2,1fr); max-width: 520px; } }
@media (max-width: 520px){ .statgrid { grid-template-columns: repeat(2,1fr); } }

/* ---------- comparison ---------- */
.compare { border: 1px solid var(--line-2); border-radius: var(--r-lg); overflow: hidden; }
.compare__head { display: grid; grid-template-columns: 1fr 1fr; font-weight: 600; }
.compare__head .old { background: var(--paper); padding: 12px 18px; color: var(--gray); font-family: var(--mono); font-size: .8rem; text-transform: uppercase; letter-spacing: .06em; }
.compare__head .new { background: var(--green); color: #fff; padding: 12px 18px; display: flex; align-items: center; gap: 8px; font-family: var(--mono); font-size: .8rem; text-transform: uppercase; letter-spacing: .06em; }
.crow { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--line); }
.crow .old, .crow .new { display: flex; gap: 10px; align-items: flex-start; padding: 11px 18px; font-size: .92rem; }
.crow .old { color: var(--gray); background: var(--white); }
.crow .old [data-lucide] { color: var(--negative); flex: none; margin-top: 3px; }
.crow .new { color: var(--ink); background: var(--green-soft); border-left: 1px solid var(--green-soft-2); }
.crow .new [data-lucide] { color: var(--green); flex: none; margin-top: 3px; }
@media (max-width: 640px){ .compare__head, .crow { grid-template-columns: 1fr; } .crow .old { border-bottom: 1px solid var(--line); } }

/* ---------- segments ---------- */
.segs { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.segcard { display: flex; flex-direction: column; background: var(--white); border: 1px solid var(--line); border-radius: var(--r-lg); overflow: hidden; transition: transform .25s var(--ease), box-shadow .25s var(--ease); }
.segcard:hover { transform: translateY(-2px); box-shadow: var(--sh-sm); border-color: var(--green); }
.segcard__media { position: relative; aspect-ratio: 16/10; overflow: hidden; }
.segcard__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s var(--ease); }
.segcard:hover .segcard__media img { transform: scale(1.05); }
.segcard__media .ic { position: absolute; left: 14px; bottom: 14px; width: 42px; height: 42px; border-radius: var(--r-sm); display: grid; place-items: center; background: rgba(246,246,244,.94); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); color: var(--green-ink); font-size: 1.2rem; }
.segcard__body { display: flex; flex-direction: column; flex: 1; padding: 20px; }
.segcard__body h3 { font-size: 1.08rem; font-weight: 600; }
.segcard__body p { color: var(--gray); font-size: .92rem; margin: 8px 0 12px; }
.segcard__body .textlink { margin-top: auto; align-self: flex-start; }
@media (max-width: 880px){ .segs { grid-template-columns: 1fr; max-width: 480px; margin-inline: auto; } }

/* ---------- logo wall ---------- */
.logowall { border: 1px solid var(--line-2); border-radius: var(--r-lg); background: var(--white); overflow: hidden; box-shadow: var(--sh-xs); }
.logowall__lane { display: grid; grid-template-columns: 218px 1fr; align-items: center; gap: 28px; padding: 20px 26px; }
.logowall__lane + .logowall__lane { border-top: 1px solid var(--line); }
.logowall__lbl { display: flex; align-items: center; gap: 8px; font-family: var(--mono); font-size: .65rem; text-transform: uppercase; letter-spacing: .07em; color: var(--gray-2); white-space: nowrap; }
.logowall__lbl::before { content: ""; width: 6px; height: 6px; border-radius: 999px; background: var(--green); flex: none; }
.logowall__row { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 30px; }
.lg { position: relative; font-weight: 600; font-size: 1.02rem; color: var(--gray); letter-spacing: -.02em; padding: 0; background: none; border: 0; transition: color .18s var(--ease); }
.lg::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -3px; height: 1.5px; background: var(--green); transition: right .22s var(--ease); }
.lg:hover { color: var(--green-ink); }
.lg:hover::after { right: 0; }
@media (max-width: 720px){
  .logowall__lane { grid-template-columns: 1fr; gap: 12px; padding: 18px 20px; }
  .lg { font-size: .96rem; }
}

/* ---------- faq ---------- */
.faq { max-width: 820px; margin-inline: auto; display: grid; gap: 8px; }
.faq__item { border: 1px solid var(--line); border-radius: var(--r-md); background: var(--white); overflow: hidden; transition: border-color .2s var(--ease); }
.faq__item.is-open { border-color: var(--green); }
.faq__q { display: flex; align-items: center; justify-content: space-between; gap: 16px; width: 100%; text-align: left; padding: 15px 18px; font-weight: 600; font-size: 1rem; letter-spacing: -.01em; }
.pm { flex: none; width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; background: var(--green-soft); color: var(--green); transition: transform .3s var(--ease), background .2s var(--ease); }
.faq__item.is-open .pm { transform: rotate(45deg); background: var(--green); color: #fff; }
.faq__a { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .3s var(--ease); }
.faq__item.is-open .faq__a { grid-template-rows: 1fr; }
.faq__a-in { overflow: hidden; padding: 0 18px; color: var(--gray); line-height: 1.6; font-size: .95rem; }
.faq__item.is-open .faq__a-in { padding-bottom: 16px; }

/* ---------- final cta ---------- */
.finalcta { position: relative; text-align: center; color: #fff; overflow: hidden; padding-block: clamp(64px, 7vw, 96px); }
.finalcta__bg { position: absolute; inset: 0; z-index: 0; }
.finalcta__bg img { width: 100%; height: 100%; object-fit: cover; }
.finalcta::after { content:""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgba(20,20,20,.86), rgba(11,61,11,.9)); }
.finalcta .wrap { position: relative; z-index: 2; max-width: 780px; }
.finalcta .h2 { color: #fff; }
.finalcta .lede { color: rgba(255,255,255,.8); margin-inline: auto; }
.finalcta__cta { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin-top: var(--sp-4); }
.finalcta__micro { margin-top: 16px; font-family: var(--mono); font-size: .8rem; letter-spacing: .02em; color: rgba(255,255,255,.66); }
.finalcta__micro .textlink { color: var(--green-bright); }

/* ---------- footer ---------- */
.footer { background: var(--forest-2); color: var(--on-dark-muted); padding-block: 52px 28px; }
.footer__grid { display: grid; grid-template-columns: 1.6fr repeat(4, 1fr); gap: var(--sp-5); }
.footer__brand .brand { color: #fff; margin-bottom: 16px; }
.footer__brand p { font-size: .92rem; line-height: 1.6; max-width: 38ch; margin-bottom: 14px; }
.footer__brand .mono { font-family: var(--mono); font-size: .8rem; letter-spacing: .03em; color: var(--green-bright); }
.footer__col h4 { font-family: var(--mono); font-size: .7rem; text-transform: uppercase; letter-spacing: .08em; color: #fff; margin-bottom: 14px; }
.footer__col a { display: block; padding: 5px 0; font-size: .9rem; color: var(--on-dark-muted); transition: color .18s var(--ease); }
.footer__col a:hover { color: var(--green-bright); }
.footer__bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; margin-top: var(--sp-5); padding-top: var(--sp-4); border-top: 1px solid var(--on-dark-line); font-size: .82rem; }
.footer__badges { display: flex; flex-wrap: wrap; gap: 18px; }
@media (max-width: 900px){ .footer__grid { grid-template-columns: 1fr 1fr; } .footer__brand { grid-column: 1 / -1; } }
@media (max-width: 520px){ .footer__grid { grid-template-columns: 1fr; } }

/* ---------- subpages ---------- */
[id] { scroll-margin-top: 96px; }
.page-hero { background: var(--cream); border-bottom: 1px solid var(--line); padding-block: clamp(40px,5vw,60px) clamp(34px,4vw,46px); }
.page-hero .h1 { font-size: clamp(2rem, 1rem + 2.3vw, 2.75rem); line-height: 1.04; letter-spacing: -.035em; font-weight: 600; text-wrap: balance; margin-top: 14px; max-width: 22ch; }
.page-hero .lede { margin-top: 12px; }
.page-hero__cta { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
.catcard:target, .engine:target { border-color: var(--green); box-shadow: var(--sh-md); }
.form-lite { display: grid; gap: 12px; }
.form-lite textarea.field-input { min-height: 140px; resize: vertical; font-family: inherit; }
.contact-grid { display: grid; grid-template-columns: 1fr 1.2fr; gap: var(--sp-6); align-items: start; }
@media (max-width: 820px){ .contact-grid { grid-template-columns: 1fr; } }

/* ---------- reveal ---------- */
@media (prefers-reduced-motion: no-preference){
  html.reveal-ready [data-reveal] { opacity: 0; transform: translateY(22px); transition: opacity .6s var(--ease), transform .6s var(--ease); }
  html.reveal-ready [data-reveal].is-in { opacity: 1; transform: none; }
}
body.is-locked { overflow: hidden; }


/* ---- category detail: spec strip + cert chips + breadcrumb ---- */
.crumbs { display:flex; align-items:center; gap:8px; font-family:var(--mono); font-size:.7rem; letter-spacing:.04em; text-transform:uppercase; color:var(--gray-2); margin-bottom:14px; }
.crumbs a:hover { color:var(--green); }
.crumbs .sep { opacity:.5; }
.specs { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.spec { background:var(--white); border:1px solid var(--line); border-radius:var(--r-lg); padding:15px 17px; }
.spec__k { display:block; font-family:var(--mono); font-size:.66rem; letter-spacing:.1em; text-transform:uppercase; color:var(--gray-2); }
.spec__v { display:block; font-family:var(--mono); font-variant-numeric:tabular-nums; font-size:1.3rem; font-weight:600; color:var(--ink); margin-top:6px; letter-spacing:-.01em; }
.certs { display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
.cert { display:inline-flex; align-items:center; gap:6px; font-family:var(--mono); font-size:.7rem; letter-spacing:.02em; color:var(--green-ink); background:var(--green-soft); border:1px solid var(--green-soft-2); padding:6px 11px; border-radius:var(--r-pill); }
.cert [data-lucide] { width:14px; height:14px; }
@media (max-width:760px){ .specs { grid-template-columns:1fr 1fr; } }
@media (max-width:420px){ .specs { grid-template-columns:1fr; } }

/* ============ Estimator v2 — "The ledger" (single dark instrument) ============ */
.estL { background: var(--forest); border-radius: var(--r-xl); padding: 30px 34px; color: var(--on-dark); box-shadow: var(--sh-md); background-image: radial-gradient(rgba(255,255,255,.045) 1px, transparent 1.2px); background-size: 16px 16px; }
.estL__inputs { display: grid; grid-template-columns: 1.35fr .75fr 1fr .95fr .9fr 1.15fr; gap: 12px; }
.estL__f label { display: block; font-family: var(--mono); font-size: .66rem; text-transform: uppercase; letter-spacing: .1em; color: var(--on-dark-muted); margin-bottom: 7px; }
.estL .field-input { background-color: rgba(255,255,255,.06); border-color: var(--on-dark-line); color: #fff; padding: 10px 12px; font-size: .92rem; }
.estL .field-input:focus { border-color: var(--green-bright); background-color: rgba(255,255,255,.1); box-shadow: 0 0 0 3px rgba(79,159,79,.22); }
.estL select.field-input { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23A6ACA7' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; }
.estL select.field-input option { color: #111; }
.estL__seg { display: flex; padding: 2px; gap: 2px; background: rgba(255,255,255,.06); border: 1px solid var(--on-dark-line); border-radius: var(--r-sm); }
.estL__seg button { flex: 1; padding: 8px 0; border-radius: var(--r-xs); font-weight: 500; font-size: .88rem; color: var(--on-dark-muted); transition: all .18s var(--ease); }
.estL__seg button.is-active { background: var(--green); color: #fff; }
.estL__hints { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 8px; font-family: var(--mono); font-size: .72rem; letter-spacing: .01em; color: var(--on-dark-muted); }
.estL__hints .sep { opacity: .45; }
.estL__hints:has(#est-corridor-note:empty) .sep { display: none; }

.estL__readout { display: grid; grid-template-columns: .85fr 1.15fr; gap: 38px; margin-top: 24px; padding-top: 22px; border-top: 1px solid var(--on-dark-line); }
.estL__hero .rlabel { color: var(--green-bright); }
.estL__pct { font-family: var(--mono); font-variant-numeric: tabular-nums; font-size: 3.3rem; font-weight: 600; letter-spacing: -.03em; line-height: 1; color: var(--green-bright); margin-top: 12px; }
.estL .rbar { height: 7px; border-radius: 999px; background: rgba(255,255,255,.12); margin-top: 14px; overflow: hidden; }
.estL .rbar i { display: block; height: 100%; width: 0; background: var(--green); border-radius: 999px; transition: width .6s var(--ease); }
.estL__sub { font-size: .85rem; color: var(--on-dark-muted); margin-top: 10px; }
.estL__rows { display: grid; align-content: center; }
.lrow { display: flex; justify-content: space-between; align-items: baseline; gap: 18px; padding: 10px 0; border-bottom: 1px solid var(--on-dark-line); font-size: .93rem; }
.lrow:first-child { padding-top: 0; }
.lrow:last-child { border-bottom: none; padding-bottom: 0; }
.lrow .k { color: var(--on-dark-muted); }
.lrow .v { text-align: right; }
.lrow .v b { font-family: var(--mono); font-variant-numeric: tabular-nums; font-weight: 600; color: #fff; font-size: 1.02rem; letter-spacing: -.01em; }
.lrow .v small { font-family: var(--mono); font-size: .72rem; color: var(--on-dark-muted); margin-left: 6px; }

.estL__gate { margin-top: 22px; padding-top: 20px; border-top: 1px solid var(--on-dark-line); }
.estL__gate.is-hidden { display: none; }
.estL__gate form { display: grid; gap: 10px; }
.estL__gaterow { display: flex; gap: 10px; align-items: flex-start; }
.estL__gaterow .btn { white-space: nowrap; }
.estL__gaterow--meta { display: grid; grid-template-columns: 1fr 1fr; }
.estL__micro { font-family: var(--mono); font-size: .7rem; letter-spacing: .01em; color: var(--on-dark-muted); }
.estL__foot { display: flex; align-items: flex-start; gap: 8px; margin-top: 14px; font-family: var(--mono); font-size: .73rem; line-height: 1.55; color: var(--gray-2); max-width: 90ch; }
.estL__foot [data-lucide] { flex: none; width: 14px; height: 14px; color: var(--green); margin-top: 2px; }
.estL__foot b { color: var(--gray); font-weight: 600; }

@media (max-width: 1000px){ .estL__inputs { grid-template-columns: 1fr 1fr 1fr; } }
@media (max-width: 860px){ .estL__readout { grid-template-columns: 1fr; gap: 22px; } .estL { padding: 24px; } }
@media (max-width: 640px){ .estL__inputs { grid-template-columns: 1fr 1fr; } .estL__gaterow { flex-direction: column; } .estL__gaterow .btn { width: 100%; } .estL__gaterow--meta { grid-template-columns: 1fr; } }
@media (max-width: 420px){ .estL__inputs { grid-template-columns: 1fr; } }

/* ---------- auth modal (Register / Log in) ---------- */
.modal { position: fixed; inset: 0; z-index: 300; display: grid; place-items: center; padding: 24px; opacity: 0; visibility: hidden; transition: opacity .2s var(--ease), visibility .2s var(--ease); }
.modal.is-open { opacity: 1; visibility: visible; }
.modal__scrim { position: absolute; inset: 0; background: rgba(11,30,15,.55); backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); }
.modal__panel { position: relative; width: min(440px, 100%); max-height: calc(100vh - 48px); overflow-y: auto; background: var(--white); border: 1px solid var(--line); border-radius: var(--r-xl); box-shadow: var(--sh-lg); padding: 30px; transform: translateY(12px) scale(.985); transition: transform .24s var(--ease); }
.modal.is-open .modal__panel { transform: none; }
.modal__close { position: absolute; top: 16px; right: 16px; width: 34px; height: 34px; display: grid; place-items: center; border: 0; border-radius: var(--r-sm); background: var(--paper); color: var(--ink-2); cursor: pointer; transition: background .15s var(--ease); }
.modal__close:hover { background: var(--line-2); }
.modal__close i { width: 18px; height: 18px; }
.modal__brand { display: inline-flex; align-items: center; gap: 9px; font-weight: 600; font-size: .95rem; color: var(--ink); margin-bottom: 18px; }
.modal__brand svg { width: 26px; height: 26px; }
.modal__title { font-size: 1.5rem; font-weight: 700; letter-spacing: -.02em; color: var(--ink); }
.modal__sub { margin-top: 6px; font-size: .96rem; color: var(--gray); }
.modal__form { display: grid; gap: 14px; margin-top: 22px; }
.modal__field { display: grid; gap: 7px; }
.modal__field label { font-family: var(--mono); font-size: .68rem; text-transform: uppercase; letter-spacing: .08em; color: var(--gray); }
.modal__row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.modal__check { display: flex; align-items: center; justify-content: space-between; gap: 12px; font-size: .9rem; color: var(--gray); }
.modal__check label { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; }
.modal__check input { accent-color: var(--green); width: 16px; height: 16px; }
.modal__check a { color: var(--green-deep); text-decoration: none; }
.modal__check a:hover { text-decoration: underline; }
.modal__form .btn { width: 100%; justify-content: center; margin-top: 4px; }
.modal__alt { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--line); text-align: center; font-size: .92rem; color: var(--gray); }
.modal__alt button { border: 0; background: none; font: inherit; color: var(--green-deep); font-weight: 600; cursor: pointer; padding: 0; }
.modal__alt button:hover { text-decoration: underline; }
.modal__fine { margin-top: 14px; font-size: .78rem; line-height: 1.5; color: var(--gray-2); text-align: center; }
.modal__fine a { color: var(--gray); }
.modal__ok { display: none; text-align: center; padding: 8px 0 4px; }
.modal__ok i { width: 44px; height: 44px; color: var(--green); margin-bottom: 10px; }
.modal__ok h3 { font-size: 1.25rem; font-weight: 700; color: var(--ink); }
.modal__ok p { margin-top: 8px; font-size: .95rem; color: var(--gray); }
.is-sent .modal__form, .is-sent .modal__alt, .is-sent .modal__fine, .is-sent .modal__title, .is-sent .modal__sub { display: none; }
.is-sent .modal__ok { display: block; }
@media (max-width: 460px){ .modal__panel { padding: 24px 20px; } .modal__row { grid-template-columns: 1fr; } }

/* ---------- auth modal — two-panel (Register / Log in) ---------- */
.modal--auth .modal__panel { width: min(940px, 100%); max-width: 940px; max-height: min(680px, 92vh); padding: 0; overflow: hidden; display: grid; grid-template-columns: minmax(0,0.9fr) minmax(0,1.1fr); }
.auth__aside { position: relative; overflow: hidden; min-height: 0; background: linear-gradient(158deg, #18402F 0%, #0E261B 52%, #0A1A12 100%); color: var(--on-dark); padding: 38px 34px; display: flex; flex-direction: column; }
.auth__aside::after { content: ""; position: absolute; right: -46px; bottom: -52px; width: 230px; height: 144px; background: url("../brand/vc-watermark.svg") no-repeat center/contain; opacity: .08; pointer-events: none; z-index: 0; }
.auth__brand { position: relative; z-index: 1; display: inline-flex; align-items: center; gap: 10px; font-weight: 600; font-size: 1.05rem; color: #fff; }
.auth__mark { width: 26px; height: 26px; }
.auth__head { position: relative; z-index: 1; margin-top: 36px; }
.auth__h { font-size: 1.72rem; font-weight: 700; letter-spacing: -.02em; line-height: 1.08; color: #fff; }
.auth__s { margin-top: 12px; font-size: .95rem; line-height: 1.55; color: rgba(255,255,255,.72); max-width: 34ch; }
.auth__list { position: relative; z-index: 1; list-style: none; margin: auto 0 22px; padding: 22px 0 0; display: grid; gap: 13px; border-top: 1px solid rgba(255,255,255,.13); }
.auth__list li { display: flex; align-items: flex-start; gap: 11px; font-size: .9rem; line-height: 1.4; color: rgba(255,255,255,.9); }
.auth__list i { width: 16px; height: 16px; flex: none; color: var(--green-bright); background: rgba(79,159,79,.18); border-radius: 5px; padding: 4px; box-sizing: content-box; }
.auth__stats { position: relative; z-index: 1; display: flex; gap: 26px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.13); }
.auth__stats b { display: block; font-size: 1.5rem; font-weight: 700; letter-spacing: -.02em; color: var(--green-bright); }
.auth__stats span { font-size: .7rem; color: rgba(255,255,255,.6); }
.auth__main { position: relative; background: var(--cream); padding: 30px 34px 34px; min-height: 0; max-height: min(680px, 92vh); overflow-y: auto; -webkit-overflow-scrolling: touch; }
.auth__main .modal__close { top: 18px; right: 18px; }
.auth__tabs { display: inline-flex; gap: 4px; background: var(--paper); border-radius: var(--r-pill); padding: 4px; margin-bottom: 22px; }
.auth__tab { border: 0; background: none; font: inherit; font-weight: 600; font-size: .9rem; color: var(--gray); padding: 8px 22px; border-radius: var(--r-pill); cursor: pointer; transition: background .15s var(--ease), color .15s var(--ease); }
.auth__tab.is-active { background: #fff; color: var(--ink); box-shadow: var(--sh-xs); }
.modal--auth .modal__title { font-size: 1.55rem; }
.modal--auth .modal__form { gap: 15px; margin-top: 18px; }
.role-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.role-card { display: flex; align-items: flex-start; gap: 12px; text-align: left; padding: 13px 14px; border: 1.5px solid var(--line-2); border-radius: var(--r-md); background: #fff; cursor: pointer; font: inherit; transition: border-color .15s var(--ease), background .15s var(--ease); }
.role-card__ic { width: 38px; height: 38px; border-radius: var(--r-sm); display: grid; place-items: center; background: var(--paper); color: var(--gray); flex: none; transition: background .15s var(--ease), color .15s var(--ease); }
.role-card__ic i { width: 19px; height: 19px; }
.role-card__t b { display: block; font-size: .94rem; color: var(--ink); }
.role-card__t small { display: block; font-size: .76rem; color: var(--gray); margin-top: 2px; }
.role-card.is-active { border-color: var(--green); background: var(--green-soft); }
.role-card.is-active .role-card__ic { background: var(--green); color: #fff; }
.modal__consent { display: flex; gap: 10px; align-items: flex-start; font-size: .82rem; color: var(--gray); line-height: 1.5; cursor: pointer; }
.modal__consent input { margin-top: 2px; width: 16px; height: 16px; flex: none; accent-color: var(--green); }
.modal__consent a { color: var(--green-deep); }
.modal__consent.is-bad span { color: var(--negative); }
@media (max-width: 820px){
  .modal--auth .modal__panel { grid-template-columns: 1fr; width: min(460px, 100%); max-height: 94vh; }
  .auth__aside { display: none; }
}
@media (max-width: 460px){ .modal--auth .modal__row, .role-grid { grid-template-columns: 1fr; } .auth__main { padding: 24px 20px; } }

/* ---------- audience tabs (Importers / Developers / EPC) ---------- */
.aud { border: 1px solid var(--line-2); border-radius: var(--r-lg); background: var(--white); overflow: hidden; box-shadow: var(--sh-xs); }
.aud__tabs { display: grid; grid-template-columns: repeat(3, 1fr); background: var(--paper); }
.aud__tab { display: flex; align-items: flex-start; gap: 14px; text-align: left; padding: 22px 26px; background: none; border: 0; border-bottom: 3px solid transparent; border-right: 1px solid var(--line); cursor: pointer; font: inherit; transition: background .18s var(--ease); }
.aud__tab:last-child { border-right: 0; }
.aud__tab.is-active { background: var(--white); border-bottom-color: var(--green); }
.aud__tab-ic { width: 46px; height: 46px; border-radius: var(--r-md); background: var(--green-soft); color: var(--green); display: grid; place-items: center; flex: none; transition: background .18s var(--ease), color .18s var(--ease); }
.aud__tab.is-active .aud__tab-ic { background: var(--green); color: #fff; }
.aud__tab-ic i { width: 22px; height: 22px; }
.aud__tab-t b { display: block; font-size: 1.08rem; font-weight: 700; letter-spacing: -.01em; color: var(--gray); }
.aud__tab.is-active .aud__tab-t b { color: var(--ink); }
.aud__tab-t span { display: block; font-family: var(--mono); font-size: .76rem; letter-spacing: .02em; color: var(--gray-2); margin-top: 3px; }
.aud__panel { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; padding: 40px; align-items: center; }
.aud__panel[hidden] { display: none; }
.aud__copy .h2 { font-size: clamp(1.5rem, 1rem + 1.6vw, 2rem); }
.aud__copy .lede { margin-top: 12px; max-width: 42ch; }
.aud__steps { list-style: none; display: grid; gap: 4px; margin-top: 26px; position: relative; }
.aud__steps li { display: flex; gap: 16px; align-items: flex-start; padding: 9px 0; }
.aud__n { width: 30px; height: 30px; border-radius: 999px; border: 1px solid var(--line-2); display: grid; place-items: center; line-height: 1; font-family: var(--mono); font-size: .82rem; color: var(--green-ink); flex: none; position: relative; z-index: 1; background: var(--white); }
.aud__steps::before { content: ""; position: absolute; left: 15px; top: 22px; bottom: 22px; width: 1px; background: var(--line); }
.aud__steps div b { display: block; font-size: .98rem; color: var(--ink); }
.aud__steps div span { display: block; font-size: .86rem; color: var(--gray); margin-top: 2px; }
.aud__cta { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 28px; }
.aud__preview { align-self: stretch; display: flex; flex-direction: column; justify-content: center; gap: 4px; background: linear-gradient(155deg, #16382a 0%, #0E261B 60%, #0A1A12 100%); color: var(--on-dark); border-radius: var(--r-lg); padding: 30px 28px; }
.aud__pv-label { font-family: var(--mono); font-size: .7rem; text-transform: uppercase; letter-spacing: .1em; color: var(--green-bright); margin-bottom: 16px; }
.aud__pv-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 0; border-bottom: 1px solid rgba(255,255,255,.1); font-size: .98rem; }
.aud__pv-row:last-child { border-bottom: 0; }
.aud__pv-row span { color: var(--on-dark-muted); }
.aud__pv-row b { font-weight: 600; color: #fff; font-variant-numeric: tabular-nums; }
.aud__pv-row b.is-accent { color: var(--green-bright); font-size: 1.08rem; }
@media (max-width: 860px){ .aud__panel { grid-template-columns: 1fr; gap: 30px; padding: 28px; } }
@media (max-width: 680px){
  .aud__tabs { grid-template-columns: 1fr; }
  .aud__tab { border-right: 0; border-bottom: 1px solid var(--line); }
  .aud__tab.is-active { border-bottom: 1px solid var(--green); }
}

/* ---------- floating "Post an RFQ" ---------- */
.fab { position: fixed; right: 22px; bottom: 22px; z-index: 150; display: inline-flex; align-items: center; gap: 10px; padding: 14px 22px; border: 0; border-radius: var(--r-pill); background: var(--forest); color: #fff; font: inherit; font-weight: 600; font-size: .95rem; cursor: pointer; box-shadow: var(--sh-md); transition: transform .18s var(--ease), background .18s var(--ease); }
.fab:hover { transform: translateY(-2px); background: var(--forest-3); }
.fab .dot { width: 9px; height: 9px; border-radius: 999px; background: var(--green-bright); box-shadow: 0 0 0 4px rgba(79,159,79,.22); }
.fab i { width: 17px; height: 17px; }
@media (max-width: 560px){ .fab { right: 14px; bottom: 14px; padding: 12px 18px; font-size: .88rem; } }
@media print { .fab { display: none; } }

/* ---------- compact the auth modal so the Register form fits with NO scroll ---------- */
.modal--auth .modal__panel { max-height: min(720px, 94vh); }
.auth__main { padding: 24px 32px 26px; max-height: min(720px, 94vh); }
.auth__tabs { margin-bottom: 16px; }
.modal--auth .modal__title { font-size: 1.4rem; }
.modal--auth .modal__sub { font-size: .92rem; margin-top: 4px; }
.modal--auth .modal__form { gap: 12px; margin-top: 14px; }
.modal--auth .modal__field { gap: 5px; }
.modal--auth .field-input { padding: 10px 13px; font-size: .95rem; }
.modal--auth .role-grid { gap: 10px; }
.modal--auth .role-card { padding: 10px 12px; gap: 11px; }
.modal--auth .role-card__ic { width: 34px; height: 34px; }
.modal--auth .role-card__t small { font-size: .74rem; margin-top: 1px; }
.modal--auth .modal__consent { font-size: .8rem; margin: 2px 0; }
.modal--auth .modal__form .btn { --pad-y: 13px; margin-top: 2px; }

/* modal form error state */
.modal__err { color: var(--negative); font-size: .86rem; line-height: 1.4; margin-top: 10px; }
.modal__err a { color: var(--negative); text-decoration: underline; }
.is-sent .modal__err { display: none; }

/* ---------- intl-tel-input (phone country selector) ---------- */
.iti { width: 100%; display: block; }
.iti input[type=tel], .iti .field-input { width: 100%; }
.modal__field .iti { margin: 0; }

/* selected-country button (flag + dial code) */
.iti__selected-country { border-radius: var(--r-md) 0 0 var(--r-md); transition: background .15s var(--ease, ease); }
.iti--separate-dial-code .iti__selected-country { background: var(--green-soft); }
.iti__selected-country:hover, .iti__selected-country:focus { background: var(--green-soft); }
.iti--separate-dial-code .iti__selected-dial-code { color: var(--green-ink); font-family: var(--mono); font-size: .9rem; letter-spacing: .01em; }
.iti__arrow { border-top-color: var(--green-deep); }
.iti__arrow--up { border-bottom-color: var(--green-deep); }

/* dropdown panel */
.iti__dropdown-content {
  z-index: 100;
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  box-shadow: var(--sh-md);
  background: var(--white);
  overflow: hidden;
  font-family: var(--font);
}
.iti__search-input {
  font-family: var(--font);
  font-size: .95rem;
  padding: 11px 14px;
  border: 0;
  border-bottom: 1px solid var(--line);
  width: 100%;
}
.iti__search-input:focus { outline: none; box-shadow: inset 0 -2px 0 var(--green); }
.iti__country-list { max-height: 230px; }
.iti__country { padding: 9px 14px; font-size: .92rem; color: var(--ink); }
.iti__country .iti__country-name { color: var(--ink); }
.iti__country .iti__dial-code { color: var(--gray); font-family: var(--mono); font-size: .85rem; }
.iti__country.iti__highlight { background: var(--green-soft); }
.iti__country:hover { background: var(--green-soft); }
.iti__divider { border-bottom: 1px solid var(--line); }

/* ---------- finance program name links (The programs) ---------- */
.engine__link {
  color: var(--green);
  font-size: inherit;      /* keep the h3 size, only change color */
  font-weight: inherit;
  text-decoration: none;
  transition: color .15s ease;
}
.engine__link:hover,
.engine__link:focus { color: var(--green-deep); text-decoration: underline; text-underline-offset: 3px; }

/* ---------- blog author card ---------- */
.authorcard {
  display: flex; gap: 20px; align-items: flex-start;
  padding: 24px; border: 1px solid var(--line); border-radius: var(--r-lg);
  background: var(--green-soft);
  margin-top: 8px;
}
.authorcard__avatar {
  flex: none; width: 64px; height: 64px; border-radius: var(--r-pill);
  background: var(--green); color: #fff;
  display: grid; place-items: center;
  font-family: var(--mono); font-weight: 700; font-size: 1.4rem; letter-spacing: .02em;
}
.authorcard__body { min-width: 0; }
.authorcard__label {
  font-family: var(--mono); font-size: .72rem; letter-spacing: .12em;
  text-transform: uppercase; color: var(--green-deep);
}
.authorcard__name { font-size: 1.2rem; margin: 4px 0 2px; color: var(--ink); }
.authorcard__role { font-size: .9rem; color: var(--green-deep); font-weight: 600; margin: 0 0 10px; }
.authorcard__bio { font-size: .95rem; color: var(--ink-2); line-height: 1.55; margin: 0 0 12px; }
.authorcard__link {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: .9rem; font-weight: 600; color: var(--green); text-decoration: none;
}
.authorcard__link:hover { color: var(--green-deep); text-decoration: underline; text-underline-offset: 3px; }
.authorcard__link [data-lucide] { width: 15px; height: 15px; }
@media (max-width: 560px){ .authorcard { flex-direction: column; gap: 14px; } }
