/* Okafor & Lin — warm, considered immigration counsel. */
html{scroll-behavior:auto}body{overflow-x:clip}h1,h2,h3,h4{text-wrap:balance}button{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}.icon{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.brand{display:inline-flex;align-items:center;gap:12px;flex-shrink:0}.brand-mark{height:44px;width:44px;display:grid;place-items:center;border:1px solid currentColor;border-radius:var(--r-sm);font-family:var(--font-display);font-size:21px;letter-spacing:-2px;padding-right:2px}.brand-name{font-family:var(--font-display);font-size:25px;font-weight:500;letter-spacing:-.8px;line-height:1.1}.brand-sub{display:block;font-family:var(--mono);font-size:9px;line-height:1.5;letter-spacing:.14em;margin-top:7px}.site-head__in{height:100px;grid-template-columns:1fr auto 1fr;gap:30px}.site-head__cta{font-size:14px}.nav-links{font-size:14px}.nav-links a{padding:9px 14px}.btn{transition-duration:.35s}.btn .icon{transition:transform .35s var(--ease)}.btn:hover .icon{transform:translateX(2px)}.hero{min-height:860px;height:min(100svh,1000px)}.hero__in{padding-top:185px;padding-bottom:180px}.hero__copy{width:min(620px,100%);gap:24px}.hero__title{max-width:620px}.hero__lead{font-size:18px;line-height:1.5;max-width:435px;margin-top:0}.hero::before{background:linear-gradient(90deg,rgba(35,17,7,.94) 0%,rgba(35,17,7,.76) 28%,rgba(35,17,7,.18) 63%,transparent 85%)}.hero::after{height:260px;background:linear-gradient(0deg,var(--dark-3),transparent)}.hero__photo img{object-position:65% 40%}.hero-text-link{display:inline-flex;align-items:center;gap:10px;font-size:16px;padding:16px 0}.hero-text-link:hover{color:var(--accent)}.hero-note{max-width:260px;padding-bottom:4px;color:var(--on-dark);display:flex;flex-direction:column;gap:20px}.hero-note p{font-size:20px;line-height:1.5}.hero-note .t-label{font-size:11px}.small-line{height:1px;width:45px;background:var(--line-hero)}.hero-index{position:absolute;bottom:0;left:50%;transform:translateX(-50%);display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;align-items:center;border-top:1px solid var(--line-hero);height:90px;gap:32px}.hero-index>.t-label{font-size:11px;color:var(--on-dark-2)}.hero-index a{display:flex;align-items:center;justify-content:space-between;font-size:16px;padding:20px 0}.hero-index a:hover{color:var(--accent)}
.firm-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:center;gap:130px}.firm-copy{display:flex;flex-direction:column;align-items:flex-start;gap:24px}.firm-copy h2{max-width:620px}.firm-copy>p:not(.eyebrow){color:var(--text-2);max-width:470px}.firm-visual{position:relative;align-self:stretch;padding-bottom:44px}.firm-photo{width:100%;height:430px;object-fit:cover;border-radius:var(--r)}.firm-visual figcaption{position:absolute;bottom:0;left:0;display:flex;align-items:center;gap:10px;font-size:14px;color:var(--text-2)}.caption-dot{width:7px;height:7px;border-radius:50%;background:var(--accent-2)}.audience-lines{display:flex;width:100%;gap:32px;margin-top:12px;padding-top:24px;border-top:1px solid var(--line)}.audience-lines p{display:flex;align-items:center;gap:14px}.audience-lines .t-label{font-size:12px;color:var(--text-2)}
.practice-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:64px}.practice-heading>p{color:var(--text-2);max-width:330px}.practice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:64px}.practice-card{border:0;position:relative;text-align:left;isolation:isolate;overflow:hidden;border-radius:var(--r);padding:24px;background:var(--dark);color:var(--on-dark);aspect-ratio:408/512;display:flex;flex-direction:column;justify-content:space-between;cursor:pointer}.practice-card img{position:absolute;inset:0;height:100%;width:100%;object-fit:cover;z-index:-2;transition:transform 1.2s var(--ease)}.practice-card::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(26,12,4,.6),transparent 28%,transparent 45%,rgba(26,12,4,.92) 100%)}.practice-card:hover img{transform:scale(1.04)}.card-top{display:flex;justify-content:space-between;align-items:center;gap:12px}.card-top .t-label{font-size:10px;letter-spacing:.03em}.card-top>.icon{width:28px;height:28px;padding:3px;border:1px solid var(--line-hero);border-radius:50%}.card-bottom{display:flex;flex-direction:column;gap:12px}.card-description{font-size:16px;line-height:1.5;color:var(--on-dark-2)}.practice-card .t-title{color:var(--on-dark)}
.path-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:100px;align-items:center}.path-photo-wrap{position:relative;overflow:hidden;border-radius:var(--r);align-self:stretch}.pathfinder-photo{width:100%;height:100%;min-height:580px;object-fit:cover}.photo-caption{position:absolute;left:24px;bottom:24px;color:var(--on-dark);padding:12px 16px;border-radius:var(--r-sm);background:var(--dark);font-size:11px}.path-content>.eyebrow{margin-bottom:24px}.path-content>h2{margin-bottom:24px}.path-content>p:not(.eyebrow){color:var(--text-2);max-width:450px}.path-tabs{display:flex;border-bottom:1px solid var(--line);gap:8px;margin-top:40px}.path-tabs button{border:0;background:transparent;border-radius:var(--r-btn) var(--r-btn) 0 0;padding:14px 16px;cursor:pointer;color:var(--text-2);font-size:16px;transition:background .35s,color .35s}.path-tabs button[aria-selected=true]{background:var(--dark);color:var(--on-dark)}.path-tabs button:hover:not([aria-selected=true]){background:var(--surface-2)}.path-answer{padding:32px 0 0;min-height:250px}.path-answer>.t-label{font-size:11px;color:var(--text-2)}.path-answer h3{margin:16px 0}.path-answer p{color:var(--text-2);max-width:450px}.text-link{background:none;border:0;padding:0;display:inline-flex;align-items:center;gap:12px;font-size:16px;font-weight:500;cursor:pointer;transition:color .35s}.text-link:hover{color:var(--accent-2-ink)}.path-answer .text-link{margin-top:24px}
.process{background:var(--surface)}.process-heading{display:flex;flex-direction:column;gap:24px}.process-heading h2{max-width:900px}.process-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.9fr);gap:100px;margin-top:64px;align-items:start}.pathway-rail{min-height:620px;gap:52px;padding-right:30px}.step{gap:28px}.step p{margin-top:12px;color:var(--text-2);max-width:390px}.process-visual{height:100%;display:flex;flex-direction:column;gap:16px}.process-photo{width:100%;height:590px;object-fit:cover;border-radius:var(--r)}.process-visual figcaption{font-size:14px;color:var(--text-2)}
.prepare{background:var(--surface-2);padding-block:88px}.prepare-layout{display:grid;grid-template-columns:1.3fr 1.15fr .65fr;gap:48px;align-items:center}.prepare h2{margin-top:24px}.prepare-list{display:flex;flex-direction:column;gap:0}.prepare-list p{padding-block:20px;display:flex;align-items:center;gap:12px;color:var(--text-2);border-bottom:1px solid var(--line-2)}.prepare-list p:last-child{border-bottom:0}.prepare-list .icon{color:var(--text)}.prepare-photo{height:220px;width:100%;object-fit:cover;border-radius:var(--r)}
.questions-layout{display:grid;grid-template-columns:.9fr 1.3fr;gap:100px}.question-intro{display:flex;flex-direction:column;align-items:flex-start;gap:24px}.question-intro h2{max-width:390px}.question-intro>p:not(.eyebrow){color:var(--text-2);max-width:320px}.question-intro .text-link{margin-top:12px}.question-list{border-top:1px solid var(--line)}.question-list details{border-bottom:1px solid var(--line);transition:background .35s}.question-list details[open]{background:var(--surface);border-radius:var(--r)}.question-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px;font-size:18px;font-weight:500}.question-list summary::-webkit-details-marker{display:none}.question-list details>p{padding:0 24px 24px;color:var(--text-2);max-width:100%}.question-list details a{color:var(--text);text-decoration:underline;text-underline-offset:3px}.faq-plus{position:relative;width:16px;height:16px;flex:none}.faq-plus::before,.faq-plus::after{content:"";position:absolute;top:7px;left:0;width:16px;height:1.5px;background:currentColor}.faq-plus::after{transform:rotate(90deg);transition:transform .35s}details[open] .faq-plus::after{transform:rotate(0deg)}
.consultation{padding-bottom:150px}.consultation-panel{display:grid;grid-template-columns:1fr 1.12fr;background:var(--dark);border-radius:var(--r-lg);overflow:hidden;color:var(--on-dark)}.consultation-visual{min-height:575px}.consultation-photo{height:100%;width:100%;object-fit:cover}.consultation-copy{padding:64px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:24px}.consultation-copy h2{color:var(--on-dark)}.consultation-copy>p:not(.eyebrow){color:var(--on-dark-2)}.consultation-copy>.btn{margin-top:8px}.planner-note{font-size:14px;line-height:1.5;margin-top:0}.site-footer{background:var(--dark);color:var(--on-dark);padding:72px 0 32px}.footer-top{display:flex;justify-content:space-between;gap:40px;align-items:flex-start}.footer-top>p{color:var(--on-dark-2);font-size:16px}.footer-top nav{display:flex;gap:24px;font-size:14px}.footer-top nav a:hover,.footer-bottom button:hover{color:var(--accent)}.footer-wordmark{display:flex;align-items:center;justify-content:space-between;font-family:var(--font-display);font-size:clamp(50px,11vw,170px);font-weight:400;letter-spacing:-.06em;line-height:1.4;margin:64px 0 36px;border-bottom:1px solid var(--line-dark);padding-bottom:36px}.footer-wordmark>span{font-size:.6em;font-weight:400;color:var(--accent)}.footer-bottom{display:flex;justify-content:space-between;gap:24px;align-items:center;font-size:12px;color:var(--on-dark-2)}.footer-bottom>div{display:flex;gap:20px}.footer-bottom button{background:none;border:0;color:inherit;padding:4px 0;cursor:pointer;font-size:12px;transition:color .35s}
.site-dialog{width:min(630px,calc(100vw - 32px));max-height:calc(100svh - 48px);border:0;border-radius:var(--r-lg);padding:48px;background:var(--bg);color:var(--text);overflow-y:auto}.site-dialog::backdrop{background:rgba(28,15,7,.7);backdrop-filter:blur(5px)}.site-dialog>.eyebrow{font-size:12px;margin-right:40px}.site-dialog h2{margin:24px 0}.site-dialog>p:not(.eyebrow),#detail-body p,#info-body p{color:var(--text-2);margin-bottom:24px}.site-dialog h3{margin-bottom:12px}.site-dialog ul{list-style:disc;margin:0 0 24px;padding-left:24px;color:var(--text-2)}.site-dialog li{margin-bottom:10px}.site-dialog a:not(.btn){text-decoration:underline;text-underline-offset:3px}.dialog-close{position:absolute;right:20px;top:20px;border:1px solid var(--line);border-radius:var(--r-sm);padding:9px;background:var(--surface);cursor:pointer}.dialog-close:hover{background:var(--surface-2)}.planner-dialog form{margin-top:24px}.planner-dialog label:not(.check-label){display:block;font-weight:500;margin-bottom:10px}.planner-dialog select{width:100%;padding:14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-btn);cursor:pointer}.planner-dialog fieldset{border:0;padding:0;margin:24px 0}.planner-dialog legend{font-weight:500;margin-bottom:12px}.check-label{display:flex;align-items:center;gap:10px;padding:9px 0;font-size:16px}.check-label input{width:18px;height:18px;accent-color:var(--dark)}#planner-result{border-top:1px solid var(--line);margin-top:24px;padding-top:24px}#planner-result[hidden]{display:none}#planner-result h3{margin-bottom:16px}#planner-result>p{margin-bottom:20px;color:var(--text-2)}#planner-result .text-link{margin-left:16px}body:has(dialog[open]){overflow:hidden}
@media(min-width:1600px){.hero__in{padding-bottom:190px}}
@media(max-width:1250px){.site-head__in{gap:16px}.site-head__cta{font-size:12px}.nav-links a{padding-inline:10px}.firm-layout,.path-layout,.questions-layout{gap:64px}.process-layout{gap:64px}.consultation-copy{padding:48px}.prepare-layout{gap:32px;grid-template-columns:1.2fr 1.1fr}.prepare-photo{display:none}.audience-lines{gap:24px}.audience-lines p{font-size:14px}.hero-note{max-width:220px}.footer-top nav{gap:16px}}
@media(max-width:1100px){.firm-layout{grid-template-columns:1.2fr 1fr;gap:48px}.firm-photo{height:460px}.hero__copy{max-width:560px}.hero-note{display:none}.path-layout{gap:48px}.path-tabs{gap:0}.path-tabs button{padding-inline:12px;font-size:14px}.process-layout{grid-template-columns:1.2fr 1fr;gap:48px}.step{gap:20px}.pathway-rail{padding-right:0}.consultation-copy{padding:32px}.consultation-visual{min-height:570px}.practice-card{padding:20px}.card-top .t-label{font-size:9px}.questions-layout{gap:48px}.footer-bottom{flex-wrap:wrap}.footer-top nav{flex-direction:column;gap:12px}.footer-wordmark{margin-top:48px}.prepare-photo{display:none}}
@media(max-width:900px){.site-head__in{height:84px;display:flex;justify-content:space-between}.site-head__cta,.nav-links{display:none}.menu-btn{display:inline-flex}.brand-name{font-size:23px}.brand-mark{width:40px;height:40px}.hero{min-height:800px;height:100svh;max-height:1000px}.hero__in{padding-top:160px;padding-bottom:180px}.hero__copy{max-width:560px}.hero__photo img{object-position:60% 40%}.hero::before{background:linear-gradient(90deg,rgba(35,17,7,.85),rgba(35,17,7,.3) 75%,rgba(35,17,7,.1))}.hero-index{grid-template-columns:repeat(3,1fr);gap:24px;height:88px}.hero-index>.t-label{display:none}.firm-layout{gap:32px}.firm-photo{height:450px}.audience-lines{flex-direction:column;gap:16px}.practice-grid{gap:16px}.practice-card{aspect-ratio:3/5;padding:20px}.card-top .t-label{font-size:9px;max-width:100px}.card-description{font-size:14px}.path-layout{grid-template-columns:1fr;gap:48px}.path-photo-wrap{height:380px}.pathfinder-photo{min-height:0;height:100%}.path-content{max-width:100%}.path-content h2{max-width:600px}.path-tabs button{padding:14px 24px;font-size:16px}.path-answer{min-height:0}.process-layout{grid-template-columns:1.2fr 1fr;gap:32px}.process-photo{height:600px}.step p{max-width:100%}.step .t-title{font-size:18px}.pathway-rail{min-height:620px;gap:40px}.prepare-layout{grid-template-columns:1fr;gap:24px}.prepare-list{max-width:100%}.prepare-list p{padding:16px 0}.questions-layout{grid-template-columns:1fr;gap:40px}.question-intro h2{max-width:650px}.question-intro>p:not(.eyebrow){max-width:500px}.consultation-panel{grid-template-columns:.9fr 1.1fr}.consultation-copy{padding:32px}.consultation-visual{min-height:550px}.footer-top{gap:32px}.footer-top>p{font-size:14px}.footer-wordmark{margin-block:40px 24px;padding-bottom:24px}}
@media(max-width:640px){:root{--gutter:20px}.brand-sub{font-size:8px}.brand-name{font-size:22px}.brand-mark{width:38px;height:38px;font-size:19px}.hero{height:850px;min-height:0;max-height:none}.hero__photo img{object-position:65% 20%}.hero::before{background:linear-gradient(0deg,rgba(35,17,7,.96),rgba(35,17,7,.83) 35%,rgba(35,17,7,.1) 75%)}.hero::after{height:210px}.hero__in{padding-top:390px;padding-bottom:130px;justify-content:flex-end}.hero__copy{gap:20px;width:100%}.hero__title{max-width:100%}.hero__copy>.eyebrow{font-size:10px;gap:8px}.hero__lead{font-size:16px;max-width:340px}.hero__copy .btn-row{gap:12px;align-items:center;margin-top:0;flex-wrap:wrap}.hero__copy .btn{padding:14px 16px;font-size:14px}.hero-text-link{font-size:14px;gap:5px;padding:10px 0}.hero-index{height:80px;gap:16px}.hero-index a{font-size:14px;gap:7px}.hero-index a .icon{width:16px;height:16px}.firm-layout{grid-template-columns:1fr;gap:40px}.firm-photo{height:350px}.firm-visual{padding-bottom:36px}.audience-lines{flex-direction:row;gap:20px}.audience-lines p{font-size:13px;gap:10px}.firm-copy{gap:20px}.practice-heading{display:block}.practice-heading>p{margin-top:24px}.practice-grid{grid-template-columns:1fr;margin-top:40px;gap:20px}.practice-card{aspect-ratio:408/450;padding:24px}.card-top .t-label{font-size:10px;max-width:none}.card-description{font-size:16px}.path-photo-wrap{height:350px}.path-layout{gap:40px}.path-tabs{margin-top:28px}.path-tabs button{padding:13px 14px;font-size:14px;flex:1;white-space:nowrap}.path-answer{padding-top:24px}.path-answer .t-h4{font-size:28px}.photo-caption{left:16px;bottom:16px;font-size:9px;padding:10px 12px}.process-layout{grid-template-columns:1fr;gap:40px;margin-top:40px}.process-heading h2 br{display:none}.pathway-rail{min-height:0;gap:32px}.step{gap:20px}.step .t-title{font-size:18px}.step p{margin-top:8px}.process-photo{height:380px}.process-visual{gap:12px}.prepare{padding-block:64px}.prepare-layout{gap:20px}.prepare h2{margin-top:20px}.prepare-list p{font-size:14px}.question-intro{gap:20px}.question-intro .text-link{margin-top:0}.question-list summary{padding:20px 0;font-size:16px;gap:20px}.question-list details[open] summary{padding-inline:20px}.question-list details>p{padding:0 20px 20px;font-size:14px}.questions-layout{gap:32px}.consultation{padding-bottom:88px}.consultation-panel{grid-template-columns:1fr}.consultation-visual{height:340px;min-height:0}.consultation-copy{padding:32px 24px;gap:20px}.consultation-copy h2{font-size:34px}.consultation-copy .eyebrow{font-size:11px}.site-footer{padding-top:48px}.footer-top{flex-wrap:wrap;gap:32px}.footer-top>.brand{width:100%}.footer-top>p{width:44%}.footer-top nav{flex:1;font-size:14px}.footer-wordmark{font-size:12vw;margin:32px 0 24px;letter-spacing:-.05em}.footer-bottom{flex-direction:column;align-items:flex-start;gap:16px}.footer-bottom>div{gap:20px}.footer-bottom>p{font-size:11px}.site-dialog{padding:32px 24px}.site-dialog>.eyebrow{font-size:10px}.site-dialog h2{font-size:34px;margin-block:24px}.site-dialog>p{font-size:14px}#planner-result .text-link{display:flex;margin:20px 0 0}.planner-dialog .btn{white-space:normal;text-align:center}}
.footer-wordmark>.footer-arrow{width:.6em;height:.6em;color:var(--accent);stroke-width:1.4}
/* Keep supporting copy readable and faces clear at every crop. */
.hero-note{background:rgba(35,17,7,.74);border-radius:var(--r);padding:20px 24px;max-width:275px}
.pathfinder-photo{object-position:65% center}
@media(max-width:640px){
 .hero__photo{height:480px;bottom:auto}
 .hero__photo img{object-position:65% 30%}
 .hero::before{background:linear-gradient(0deg,var(--dark-3) 0%,var(--dark-3) 44%,rgba(35,17,7,.22) 65%,transparent 80%)}
}
/* Compact labels stay legible; the quiet FAQ band precedes the larger photo close. */
.brand-sub,.hero-note .t-label,.hero-index>.t-label,.card-top .t-label,.photo-caption,.path-answer>.t-label,.hero__copy>.eyebrow,.consultation-copy .eyebrow,.site-dialog>.eyebrow{font-size:12px;letter-spacing:.04em}
.footer-bottom>p,.footer-bottom button{font-size:12px}
.text-link{min-height:44px}
.footer-bottom button{min-height:44px}
.question-list details>p{max-width:65ch}
@media(min-width:1101px){.questions{padding-block:88px}.question-list summary{padding:16px 24px;font-size:16px}.question-list details>p{padding-bottom:16px}}
@media(max-width:640px){.question-list details>p{font-size:16px}.brand-sub{font-size:12px;letter-spacing:.03em}.brand-name{font-size:20px}.brand-mark{width:36px;height:40px}.hero__copy>.eyebrow{font-size:12px}.photo-caption{font-size:12px}.footer-bottom>p{font-size:12px}}
.hero-text-link,.hero-index a,.footer-top nav a{transition:color .35s var(--ease),border-color .35s var(--ease)}
.hero-text-link .icon,.hero-index .icon,.footer-top nav .icon{transition:color .35s var(--ease),border-color .35s var(--ease)}
/* A full-width family-photo close gives the quiet FAQ a clear change of scale. */
.consultation{position:relative;isolation:isolate;min-height:1000px;padding:0;display:flex;align-items:flex-end;background:var(--dark)}
.consultation-panel{position:static;display:flex;justify-content:flex-start;overflow:visible;background:transparent;border-radius:0;padding-bottom:88px;color:var(--on-dark)}
.consultation-visual{position:absolute;inset:0;z-index:-1;min-height:0}
.consultation-photo{height:100%;width:100%;object-fit:cover;object-position:center 52%}
.consultation-copy{width:593px;max-width:100%;padding:48px;background:var(--dark-2);border-radius:var(--r-lg)}
@media(max-width:900px){.consultation{min-height:1000px}.consultation-copy{width:500px;padding:40px}}
@media(max-width:640px){.consultation{min-height:0;display:block}.consultation-panel{width:100%;padding-bottom:0;flex-direction:column}.consultation-visual{position:relative;inset:auto;width:100%;height:460px;z-index:auto}.consultation-photo{object-position:center 40%}.consultation-copy{width:100%;border-radius:0;padding:40px 20px}}
