/* Fursa Access · Consulting · petition pages (EB-1A · EB-2 NIW · Canada EE) */
.pet-hero{padding:88px 0 64px}
.pet-hero .grid{display:grid;grid-template-columns:1.5fr 1fr;gap:64px;align-items:end}
@media(max-width:920px){.pet-hero .grid{grid-template-columns:1fr;gap:32px}}
.pet-hero .code{font-family:var(--serif);font-style:italic;font-size:clamp(20px,1.6vw,24px);color:var(--accent)}
.pet-hero h1{font-family:var(--sans);font-weight:700;font-size:clamp(50px,6.6vw,104px);line-height:.94;letter-spacing:-.03em;margin-top:14px;text-wrap:balance;max-width:14ch}
.pet-hero h1 .i{color:var(--accent)}
.pet-hero .side p{font-family:var(--serif);font-size:clamp(18px,1.45vw,22px);line-height:1.45;margin:0;color:var(--muted)}
.pet-hero .side p em{color:var(--ink)}
.pet-hero .side .ctas{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}
.pet-hero .facts{margin-top:64px}

/* Proof: built by people who filed their own */
.proof .row{display:grid;grid-template-columns:1fr 1.4fr;gap:64px;align-items:start}
@media(max-width:1100px){.proof .row{grid-template-columns:1fr;gap:32px}}
.proof .lede{font-family:var(--serif);font-size:clamp(22px,2.2vw,32px);line-height:1.25;letter-spacing:-.01em;text-wrap:balance;margin:0}
.proof .lede .i{color:var(--accent)}
.proof .note{margin-top:22px;color:var(--muted);font-size:15px;line-height:1.55;max-width:44ch}
.stories{display:grid;gap:1px;background:var(--rule);border:1px solid var(--rule);border-radius:12px;overflow:hidden}
.story{background:var(--bg);padding:28px 30px;display:grid;grid-template-columns:72px 1fr auto;gap:20px;align-items:baseline}
@media(max-width:640px){.story{grid-template-columns:72px 1fr}.story .res{grid-column:2}}
.story .yr{font-family:var(--serif);font-style:italic;color:var(--accent);font-size:18px}
.story .who{font-size:17px;font-weight:500}
.story .who small{display:block;font-weight:400;color:var(--muted);font-size:14px;margin-top:4px;line-height:1.5}
.story .res{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);white-space:nowrap}

/* Plain-English overview */
.plain .row{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
@media(max-width:920px){.plain .row{grid-template-columns:1fr;gap:28px}}
.plain p{font-family:var(--serif);font-size:19px;line-height:1.55;margin:0 0 18px;max-width:58ch}
.plain p:last-child{margin-bottom:0}
.plain strong{font-family:var(--sans);font-weight:600}
.kv{border-top:1px solid var(--rule)}
.kv div{display:grid;grid-template-columns:160px 1fr;gap:18px;padding:14px 0;border-bottom:1px solid var(--rule-soft);font-size:15px}
@media(max-width:560px){.kv div{grid-template-columns:1fr;gap:4px}}
.kv .k{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);padding-top:3px}

/* Numbered criteria */
.crit-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule);border-radius:12px;overflow:hidden}
@media(max-width:720px){.crit-grid{grid-template-columns:1fr}}
.crit{background:var(--bg);padding:28px 30px;display:grid;grid-template-columns:56px 1fr;gap:18px;align-items:start;transition:background .25s}
.crit:hover{background:color-mix(in oklab,var(--accent) 7%,var(--bg))}
.crit .n{font-family:var(--serif);font-style:italic;color:var(--accent);font-size:22px;line-height:1}
.crit h4{font-family:var(--sans);font-weight:600;font-size:17px;letter-spacing:-.01em;line-height:1.25}
.crit p{margin:8px 0 0;font-size:14.5px;color:var(--muted);line-height:1.55}
.crit .ex{margin-top:10px;font-size:13px;color:var(--faint);font-style:italic;font-family:var(--serif)}
.rule-note{margin-top:22px;display:flex;gap:14px;align-items:baseline;font-size:15px;color:var(--muted)}
.rule-note b{color:var(--ink);font-weight:600}

/* Prongs */
.prongs{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media(max-width:920px){.prongs{grid-template-columns:1fr}}
.prong{padding:32px;border:1px solid var(--rule);border-radius:10px;display:flex;flex-direction:column;gap:12px;background:var(--paper)}
.prong .n{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}
.prong h4{font-family:var(--serif);font-style:italic;font-weight:400;font-size:28px;line-height:1.05;letter-spacing:-.02em}
.prong p{margin:0;font-size:14.5px;color:var(--muted);line-height:1.55}
.prong ul{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:6px;font-size:14px}
.prong ul li::before{content:"› ";color:var(--accent)}

/* Eligibility checker */
.checker{border:1px solid var(--rule);border-radius:14px;overflow:hidden;background:var(--paper)}
.checker .panes{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--rule)}
@media(max-width:920px){.checker .panes{grid-template-columns:1fr}}
.pane{background:var(--paper);padding:32px}
.pane.focus{background:color-mix(in oklab,var(--accent) 6%,var(--paper))}
.pane h4{font-family:var(--serif);font-style:italic;font-weight:400;font-size:26px;line-height:1;display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.pane h4 small{font-family:var(--sans);font-style:normal;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.pane .sub{margin:6px 0 18px;font-size:13.5px;color:var(--muted)}
.pane .grp{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--faint);margin:16px 0 6px}
.tick{display:grid;grid-template-columns:22px 1fr;gap:12px;align-items:start;padding:10px 0;border-top:1px solid var(--rule-soft);cursor:pointer;font-size:14.5px;line-height:1.45}
.tick input{appearance:none;width:18px;height:18px;margin:2px 0 0;border:1px solid var(--rule);border-radius:4px;background:transparent;cursor:pointer;position:relative;transition:background .2s,border-color .2s}
.tick input:checked{background:var(--accent);border-color:var(--accent)}
.tick input:checked::after{content:"";position:absolute;left:5px;top:2px;width:5px;height:9px;border:solid var(--bg);border-width:0 2px 2px 0;transform:rotate(45deg)}
.tick span em{font-family:var(--serif);color:var(--muted)}
.verdicts{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule);border-top:1px solid var(--rule)}
@media(max-width:720px){.verdicts{grid-template-columns:1fr}}
.verdict{background:var(--bg);padding:24px 28px;display:grid;gap:8px}
.verdict .k{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.verdict .v{font-family:var(--serif);font-style:italic;font-size:26px;line-height:1.05}
.verdict .v.ok{color:var(--accent)}
.verdict .d{font-size:13.5px;color:var(--muted);line-height:1.5}
.checker .foot{padding:18px 28px;border-top:1px solid var(--rule);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:center;font-size:13px;color:var(--muted)}
.checker .foot button{background:none;border:0;color:var(--muted);text-decoration:underline;text-underline-offset:3px;padding:0}

/* Route timeline */
.route-wrap{overflow-x:auto;padding-bottom:12px;-webkit-overflow-scrolling:touch}
.route{position:relative;min-width:1180px;padding:42px 0 0}
.route svg{position:absolute;left:0;top:0;width:100%;height:120px;overflow:visible}
.route svg path{fill:none;stroke:var(--rule);stroke-width:1.5}
.route svg path.ink{stroke:var(--accent);stroke-dasharray:6 6;animation:dash 24s linear infinite}
@keyframes dash{to{stroke-dashoffset:-240}}
.stations{position:relative;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:16px;padding-top:56px}
.station{position:relative;padding-top:18px}
.station::before{content:"";position:absolute;left:0;top:-22px;width:12px;height:12px;border-radius:50%;background:var(--bg);border:2px solid var(--accent)}
.station.solid::before{background:var(--accent)}
.station .t{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}
.station h5{font-family:var(--sans);font-weight:600;font-size:16px;letter-spacing:-.01em;margin:8px 0 6px;line-height:1.25}
.station p{margin:0;font-size:13.5px;color:var(--muted);line-height:1.5}
.station .who{margin-top:10px;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}
.route-legend{display:flex;gap:24px;margin-top:28px;font-size:12.5px;color:var(--muted);flex-wrap:wrap}
.route-legend span::before{content:"";display:inline-block;width:10px;height:10px;border-radius:50%;border:2px solid var(--accent);margin-right:8px;vertical-align:-1px}
.route-legend span.s::before{background:var(--accent)}

/* Comparison */
.compare{width:100%;border-collapse:collapse;font-size:14.5px}
.compare th,.compare td{padding:16px 18px;border-top:1px solid var(--rule);text-align:left;vertical-align:top;line-height:1.45}
.compare thead th{border-top:0;font-family:var(--serif);font-style:italic;font-weight:400;font-size:24px;letter-spacing:-.01em;padding-bottom:20px}
.compare thead th small{display:block;font-family:var(--sans);font-style:normal;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-top:8px}
.compare tbody th{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:500;width:18%}
.compare td.hi,.compare th.hi{background:color-mix(in oklab,var(--accent) 7%,var(--bg))}
.compare td b{font-weight:600}
@media(max-width:820px){.compare-wrap{overflow-x:auto}.compare{min-width:720px}}

/* Product ladder */
.ladder{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media(max-width:920px){.ladder{grid-template-columns:1fr}}
.rung{padding:32px;border:1px solid var(--rule);border-radius:10px;display:flex;flex-direction:column;gap:14px;background:var(--paper)}
.rung.feature{border-color:var(--accent);background:color-mix(in oklab,var(--accent) 8%,var(--bg))}
.rung .lbl{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}
.rung h3{font-family:var(--serif);font-style:italic;font-weight:400;font-size:30px;line-height:1}
.rung .price{font-family:var(--sans);font-weight:700;font-size:38px;letter-spacing:-.02em;line-height:1}
.rung .price small{display:block;font-weight:400;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-top:8px}
.rung p{margin:0;color:var(--muted);font-size:14.5px;line-height:1.55}
.rung ul{list-style:none;padding:0;margin:4px 0 0;display:grid;gap:8px;font-size:14.5px}
.rung ul li::before{content:"› ";color:var(--accent)}
.rung .go{margin-top:auto;font-weight:600;padding-top:8px}
.rung .go::after{content:" →"}
.tiers{margin-top:56px;display:grid;grid-template-columns:1fr 1fr;gap:24px}
@media(max-width:920px){.tiers{grid-template-columns:1fr}}
.tier-box{border:1px solid var(--rule);border-radius:10px;overflow:hidden}
.tier-box header{padding:22px 28px;border-bottom:1px solid var(--rule);display:flex;justify-content:space-between;align-items:baseline;gap:16px}
.tier-box header h3{font-family:var(--serif);font-style:italic;font-weight:400;font-size:26px;line-height:1}
.tier-box header span{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.tier{display:grid;grid-template-columns:1fr auto;gap:24px;padding:20px 28px;border-top:1px solid var(--rule-soft);align-items:start}
.tier:first-of-type{border-top:0}
.tier .nm{font-weight:600;font-size:16px}
.tier .ds{margin:6px 0 0;font-size:14px;color:var(--muted);line-height:1.5;max-width:52ch}
.tier .pr{font-family:var(--serif);font-style:italic;font-size:24px;white-space:nowrap}
.tier .pr small{display:block;font-family:var(--sans);font-style:normal;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:4px;text-align:right}
.addon{margin-top:24px;padding:22px 28px;border:1px dashed var(--rule);border-radius:10px;display:flex;justify-content:space-between;gap:24px;align-items:center;flex-wrap:wrap}
.addon b{font-weight:600}
.addon span{color:var(--muted);font-size:14.5px}
.addon .pr{font-family:var(--serif);font-style:italic;font-size:24px}

/* Disclaimer */
.disclaimer{padding:32px 0;border-top:1px solid var(--rule);font-size:13px;color:var(--muted);line-height:1.6}
.disclaimer .wrap{display:grid;grid-template-columns:200px 1fr;gap:32px}
@media(max-width:720px){.disclaimer .wrap{grid-template-columns:1fr;gap:8px}}
.disclaimer .k{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}

.checker .foot .scope{max-width:62ch;line-height:1.5}
