/* ==========================================================================
   Find Instructor design system (warm paper, black ink, L-plate red accent).
   Ported from the FindInstructor design system artifact. Tokens are prefixed
   --ds- so they never clash with site.css. Fonts are the local Inter files
   (400/500/600/700/800) and Instrument Serif.
   ========================================================================== */

.site-theme{--ds-paper:#f7f5f0;--ds-surface:#ffffff;--ds-surface-sunk:#efece5;--ds-ink:#111110;--ds-ink-muted:#5f5d57;--ds-ink-faint:#6f6c64;--ds-line:#e3dfd6;--ds-line-strong:#c9c4b8;--ds-night:#111110;--ds-night-raised:#1c1c1a;--ds-night-ink:#f4f2ec;--ds-night-muted:#a8a59c;--ds-plate:#d7263d;--ds-plate-tint:#fbe4e6;--ds-go:#16794a;--ds-go-tint:#e3f3ea;--ds-whatsapp:#1faa55;--ds-amber:#b7791f;--ds-space-1:4px;--ds-space-2:8px;--ds-space-3:12px;--ds-space-4:16px;--ds-space-6:24px;--ds-space-8:32px;--ds-space-12:48px;--ds-space-24:96px;--ds-radius-sm:8px;--ds-radius-md:14px;--ds-radius-lg:22px;--ds-radius-xl:32px;--ds-radius-pill:999px;--ds-shadow-card:0 1px 2px rgba(17,17,16,0.05), 0 4px 10px -2px rgba(17,17,16,0.05), 0 18px 36px -14px rgba(17,17,16,0.16);--ds-shadow-lift:0 2px 4px rgba(17,17,16,0.05), 0 14px 28px -8px rgba(17,17,16,0.12), 0 40px 72px -20px rgba(17,17,16,0.26);--ds-shadow-float:0 2px 4px rgba(17,17,16,0.04), 0 24px 60px -20px rgba(17,17,16,0.22);--ds-font-sans:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;--ds-font-serif:"Instrument Serif",Georgia,serif;}

/* Beat Bootstrap's element margins (p, h1-h6, ul, dl, dd) inside the design. Kept before the
   component rules so their own class margins still win. */
.fi :where(h1,h2,h3,h4,h5,h6,p,ul,ol,dl,dd,figure,blockquote){margin-top:0;margin-bottom:0}
.fi :where(ul,ol){padding-left:0;list-style:none}
.fi :where(dd){margin-left:0}

.fi{--g:var(--ds-space-12);font-family:var(--ds-font-sans);color:var(--ds-ink);background:var(--ds-paper);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:clip}
.fi *{box-sizing:border-box}:where(.fi) a{color:inherit;text-decoration:none}:where(.fi) :where(h1,h2,h3,h4,p,ul,ol,dl,dd){margin:0;padding:0}:where(.fi) :where(ul,ol){list-style:none}
:where(.fi) svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}
.fi-serif{font-family:var(--ds-font-serif);font-style:italic;font-weight:400;letter-spacing:-.01em}
.fi-muted{color:var(--ds-ink-muted)}
.fi-eyebrow{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ds-ink-faint);display:flex;align-items:center;gap:10px;margin-bottom:16px}
.fi-eyebrow:before{content:"";width:18px;height:2px;border-radius:2px;background:var(--ds-plate)}
.fi-h2{font-size:clamp(36px,4.4vw,56px);line-height:1;font-weight:600;letter-spacing:-.04em}
.fi-h2 .fi-serif{font-size:1.06em}
/* buttons */
.fi-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:48px;padding:0 22px;border-radius:var(--ds-radius-pill);font:600 14px/1 var(--ds-font-sans);border:1px solid transparent;cursor:pointer;transition:transform .15s,background .15s,border-color .15s;white-space:nowrap}
.fi-btn:hover{transform:translateY(-1px)}
.fi-btn-sm{height:38px;padding:0 16px;font-size:13px}
.fi-btn-ink{background:var(--ds-ink);color:var(--ds-paper)}
.fi-btn-line{background:transparent;border-color:var(--ds-line-strong);color:var(--ds-ink)}.fi-btn-line:hover{border-color:var(--ds-ink)}
.fi-btn-paper{background:var(--ds-night-ink);color:var(--ds-night)}
.fi-btn-ghost{color:var(--ds-night-ink);border-color:rgba(244,242,236,.25)}.fi-btn-ghost:hover{border-color:var(--ds-night-ink)}
.fi-wa{fill:var(--ds-whatsapp)!important;stroke:none!important;width:15px!important;height:15px!important}
.fi-row{display:flex;gap:12px;flex-wrap:wrap}.fi-row-c{justify-content:center}
/* nav */
.fi-nav{position:relative;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:1280px;margin:0 auto;padding:20px var(--g)}
.fi-logo{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:16px;letter-spacing:-.02em}
.fi-mark{width:30px;height:30px;border-radius:var(--ds-radius-sm);background:var(--ds-surface);border:1.5px solid var(--ds-ink);color:var(--ds-plate);display:grid;place-items:center;font-weight:800;font-size:17px;line-height:1}
.fi-links{display:flex;gap:4px;padding:5px;border:1px solid var(--ds-line);border-radius:var(--ds-radius-pill);background:color-mix(in srgb,var(--ds-surface) 70%,transparent);backdrop-filter:blur(8px)}
.fi-links a{padding:7px 14px;border-radius:var(--ds-radius-pill);font-size:13px;color:var(--ds-ink-muted);font-weight:500}.fi-links a:hover{background:var(--ds-surface-sunk);color:var(--ds-ink)}
.fi-nav-cta{display:flex;align-items:center;gap:18px}.fi-textlink{font-size:13px;font-weight:600}
/* hero */
.fi-hero{position:relative;padding:72px var(--g) 0;isolation:isolate}
.fi-hero:before{content:"";position:absolute;inset:-90px 0 0;z-index:-2;background-image:radial-gradient(var(--ds-line-strong) 1px,transparent 1.2px);background-size:24px 24px;-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 35%,#000 20%,transparent 75%);mask-image:radial-gradient(ellipse 70% 60% at 50% 35%,#000 20%,transparent 75%);opacity:.7}
.fi-road{position:absolute;left:0;right:0;bottom:120px;width:100%;height:420px;z-index:-1;opacity:.9;pointer-events:none;-webkit-mask-image:linear-gradient(90deg,transparent,#000 25%,#000 75%,transparent);mask-image:linear-gradient(90deg,transparent,#000 25%,#000 75%,transparent)}
.fi-road path{fill:none;stroke-width:1.5}.fi-road-edge{stroke:var(--ds-line)}.fi-road-dash{stroke:var(--ds-line-strong);stroke-dasharray:22 18;animation:fi-drive 3s linear infinite}
@keyframes fi-drive{to{stroke-dashoffset:-80}}
@media (prefers-reduced-motion:reduce){.fi-road-dash{animation:none}}
.fi-hero-in{max-width:1120px;margin:0 auto;text-align:center;display:flex;flex-direction:column;align-items:center}
.fi-pill{display:inline-flex;align-items:center;gap:8px;padding:6px 14px 6px 10px;border:1px solid var(--ds-line);background:var(--ds-surface);border-radius:var(--ds-radius-pill);font-size:13px;font-weight:500;color:var(--ds-ink-muted)}
.fi-dot{width:8px;height:8px;border-radius:50%;background:var(--ds-go);box-shadow:0 0 0 4px var(--ds-go-tint)}
.fi-h1{margin-top:28px;font-size:clamp(46px,7vw,86px);line-height:.96;font-weight:600;letter-spacing:-.05em;max-width:none}
.fi-h1 .fi-serif{font-size:1.08em;letter-spacing:-.02em}
.fi-underline{position:relative;white-space:nowrap}
.fi-underline svg{position:absolute;left:2%;right:0;bottom:-.1em;width:96%;height:.2em;stroke:var(--ds-plate);stroke-width:3.5;fill:none}
.fi-lead{margin-top:28px;max-width:580px;font-size:19px;line-height:1.55;color:var(--ds-ink-muted)}
/* search */
.fi-search{margin-top:44px;width:100%;max-width:1000px;display:grid;grid-template-columns:1.25fr 1.35fr .9fr auto;align-items:stretch;background:var(--ds-surface);border:1px solid var(--ds-line);border-radius:var(--ds-radius-lg);box-shadow:var(--ds-shadow-float);padding:8px;text-align:left}
.fi-field{display:flex;flex-direction:column;justify-content:center;gap:4px;padding:10px 18px;border-radius:var(--ds-radius-md);position:relative;min-width:0}
.fi-field+.fi-field:before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:1px;background:var(--ds-line)}
.fi-field:hover{background:var(--ds-surface-sunk)}.fi-field:hover:before,.fi-field:hover+.fi-field:before{opacity:0}
.fi-field-k{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ds-ink-faint)}
.fi-field-v{display:flex;align-items:center;gap:8px;color:var(--ds-ink-muted)}
.fi-field input,.fi-field select{all:unset;flex:1;min-width:0;font:600 15px/1.4 var(--ds-font-sans);color:var(--ds-ink);cursor:text}
.fi-field select{cursor:pointer}.fi-field input::placeholder{color:var(--ds-ink-muted);font-weight:400}
.fi-chev{position:absolute;right:18px;bottom:16px;pointer-events:none}
.fi-seg{display:flex;gap:2px;background:var(--ds-surface-sunk);border-radius:var(--ds-radius-pill);padding:3px;width:max-content}
.fi-seg button{all:unset;cursor:pointer;padding:5px 12px;border-radius:var(--ds-radius-pill);font:600 13px/1.2 var(--ds-font-sans);color:var(--ds-ink-muted)}
.fi-seg button.on{background:var(--ds-surface);color:var(--ds-ink);box-shadow:0 1px 2px rgba(0,0,0,.08),0 0 0 1px var(--ds-line)}
.fi-search-go{height:auto;min-height:60px;border-radius:var(--ds-radius-md);padding:0 30px;font-size:15px}
.fi-search-go svg{width:18px;height:18px}
.fi-popular{margin-top:22px;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;font-size:13px}
.fi-popular span{color:var(--ds-ink-faint);margin-right:4px}
.fi-popular a{padding:5px 12px;border:1px solid var(--ds-line);border-radius:var(--ds-radius-pill);background:var(--ds-surface);color:var(--ds-ink-muted);font-weight:500}.fi-popular a:hover{border-color:var(--ds-ink);color:var(--ds-ink)}
.fi-trust{margin-top:28px;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 28px;font-size:13px;color:var(--ds-ink-muted)}
.fi-trust li{display:flex;align-items:center;gap:8px}.fi-trust svg{color:var(--ds-go)}
.fi-stats{max-width:1184px;margin:88px auto 0;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ds-line);border-bottom:1px solid var(--ds-line)}
.fi-stats div{padding:32px 24px;text-align:center;display:flex;flex-direction:column;gap:6px}
.fi-stats div+div{border-left:1px solid var(--ds-line)}
.fi-stats b{font-size:40px;line-height:1;font-weight:600;letter-spacing:-.04em}
.fi-stats span{font-size:13px;color:var(--ds-ink-muted)}
/* sections */
.fi-sec{max-width:1280px;margin:0 auto;padding:var(--ds-space-24) var(--g)}
.fi-pad-top0{padding-top:0}
.fi-head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap;margin-bottom:40px}
.fi-head-r{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.fi-tabs{display:flex;gap:4px;padding:4px;border-radius:var(--ds-radius-pill);background:var(--ds-surface-sunk)}
.fi-tabs button{all:unset;cursor:pointer;padding:7px 14px;border-radius:var(--ds-radius-pill);font:600 13px/1.2 var(--ds-font-sans);color:var(--ds-ink-muted)}
.fi-tabs button.on{background:var(--ds-surface);color:var(--ds-ink);box-shadow:0 0 0 1px var(--ds-line)}
.fi-arrowlink{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;border-bottom:1px solid var(--ds-line-strong);padding-bottom:3px}
.fi-arrowlink:hover{border-color:var(--ds-ink)}.fi-arrowlink:hover svg{transform:translateX(3px)}.fi-arrowlink svg{transition:transform .15s}
.fi-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
/* instructor card */
.fi-card{background:var(--ds-surface);border:1px solid var(--ds-line);border-radius:var(--ds-radius-lg);padding:var(--ds-space-6);display:flex;flex-direction:column;gap:16px;transition:border-color .2s,box-shadow .2s,transform .2s}
.fi-card:hover{border-color:var(--ds-line-strong);box-shadow:var(--ds-shadow-card);transform:translateY(-2px)}
.fi-card-top{display:flex;gap:14px;align-items:center}
.fi-av{width:52px;height:52px;border-radius:var(--ds-radius-md);display:grid;place-items:center;font-weight:700;font-size:16px;letter-spacing:-.02em;flex:none;background:var(--ds-surface-sunk);color:var(--ds-ink)}
.fi-av-1{background:var(--ds-plate-tint);color:var(--ds-plate)}.fi-av-2{background:var(--ds-go-tint);color:var(--ds-go)}
.fi-av-sm{width:36px;height:36px;font-size:13px;border-radius:10px}
.fi-card-id h3{font-size:16px;font-weight:600;letter-spacing:-.015em;line-height:1.3}
.fi-card-id p{display:flex;align-items:center;gap:5px;font-size:13px;color:var(--ds-ink-muted);margin-top:2px}.fi-card-id svg{width:13px;height:13px}
.fi-badges{display:flex;gap:6px;flex-wrap:wrap}
.fi-badge{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 10px;border-radius:var(--ds-radius-pill);font-size:12px;font-weight:600}
.fi-badge svg{width:13px;height:13px;stroke-width:2.2}
.fi-badge-v{background:var(--ds-ink);color:var(--ds-paper)}
.fi-badge i{width:6px;height:6px;border-radius:50%;background:currentColor}
.fi-badge-go{background:var(--ds-go-tint);color:var(--ds-go)}.fi-badge-amber{background:var(--ds-surface-sunk);color:var(--ds-amber)}
.fi-chips{display:flex;gap:6px;flex-wrap:wrap}.fi-chips span{font-size:12px;padding:4px 10px;border:1px solid var(--ds-line);border-radius:var(--ds-radius-sm);color:var(--ds-ink-muted)}
.fi-tags{font-size:13px;color:var(--ds-ink-muted)}
.fi-prices{background:var(--ds-paper);border-radius:var(--ds-radius-md);padding:4px 14px}
.fi-prices div{display:flex;justify-content:space-between;padding:9px 0;font-size:13px}.fi-prices div+div{border-top:1px dashed var(--ds-line-strong)}
.fi-prices dt{color:var(--ds-ink-muted)}.fi-prices dd{font-weight:600}
.fi-card-foot{margin-top:auto;display:flex;flex-direction:column;gap:14px;padding-top:4px}
.fi-from{display:flex;align-items:baseline;gap:6px}.fi-from span{font-size:12px;color:var(--ds-ink-muted);margin-right:auto}
.fi-from b{font-size:30px;font-weight:600;letter-spacing:-.04em;line-height:1}.fi-from small{font-size:12px;color:var(--ds-ink-muted)}
.fi-card-btns{display:grid;grid-template-columns:1fr 1fr;gap:8px}
/* band */
.fi-band{padding:0 16px}
.fi-band-in{max-width:1376px;margin:0 auto;background:var(--ds-night);color:var(--ds-night-ink);border-radius:var(--ds-radius-xl);padding:var(--ds-space-24) calc(var(--g) + 32px);position:relative;overflow:hidden}
.fi-band-in:after{content:"";position:absolute;right:-120px;top:-120px;width:420px;height:420px;border-radius:50%;border:1px solid rgba(244,242,236,.08);box-shadow:0 0 0 60px rgba(244,242,236,.02),0 0 0 120px rgba(244,242,236,.015)}
.fi-head-dark .fi-eyebrow{color:var(--ds-night-muted)}
.fi-head-note{max-width:340px;color:var(--ds-night-muted)}
.fi-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;counter-reset:s;position:relative}
.fi-steps li{background:var(--ds-night-raised);border:1px solid rgba(244,242,236,.08);border-radius:var(--ds-radius-lg);padding:32px 28px;position:relative}
.fi-num{display:block;font-family:var(--ds-font-serif);font-style:italic;font-size:64px;line-height:1;color:var(--ds-plate);margin-bottom:28px}
.fi-steps h3{font-size:18px;font-weight:600;letter-spacing:-.02em;margin-bottom:8px}
.fi-steps p{color:var(--ds-night-muted);font-size:14px}
.fi-steps li+li:before{content:"";position:absolute;left:-20px;top:62px;width:20px;border-top:2px dashed rgba(244,242,236,.2)}
/* cities */
.fi-cities{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.fi-city{display:flex;align-items:center;gap:14px;padding:16px;border:1px solid var(--ds-line);background:var(--ds-surface);border-radius:var(--ds-radius-lg);transition:border-color .2s,transform .2s}
.fi-city:hover{border-color:var(--ds-ink);transform:translateY(-2px)}.fi-city:hover svg{transform:translateX(3px);color:var(--ds-ink)}
.fi-city-i{width:44px;height:44px;border-radius:var(--ds-radius-md);background:var(--ds-surface-sunk);display:grid;place-items:center;font-family:var(--ds-font-serif);font-style:italic;font-size:20px}
.fi-city b{display:block;font-weight:600;font-size:15px;letter-spacing:-.01em}.fi-city small{font-size:12px;color:var(--ds-ink-muted)}
.fi-city svg{margin-left:auto;color:var(--ds-ink-faint);transition:transform .15s}
/* faq */
.fi-faq{display:grid;grid-template-columns:1fr 1.5fr;gap:64px;align-items:start}
.fi-faq-l p.fi-muted{margin-top:16px;max-width:300px}
.fi-faq-r{border-top:1px solid var(--ds-line)}
.fi-faq details{border-bottom:1px solid var(--ds-line)}
.fi-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 0;font-weight:600;font-size:16px;letter-spacing:-.01em}
.fi-faq summary::-webkit-details-marker{display:none}
.fi-faq summary i{width:30px;height:30px;border-radius:50%;border:1px solid var(--ds-line-strong);position:relative;flex:none;transition:transform .2s,background .2s}
.fi-faq summary i:before,.fi-faq summary i:after{content:"";position:absolute;left:50%;top:50%;width:11px;height:1.6px;background:currentColor;transform:translate(-50%,-50%)}
.fi-faq summary i:after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .2s}
.fi-faq details[open] summary i{background:var(--ds-ink);color:var(--ds-paper);border-color:var(--ds-ink)}
.fi-faq details[open] summary i:after{transform:translate(-50%,-50%) rotate(0)}
.fi-faq details p{padding:0 48px 22px 0;color:var(--ds-ink-muted)}
/* cta */
.fi-cta{background:var(--ds-night);color:var(--ds-night-ink);border-radius:var(--ds-radius-xl);padding:64px;display:grid;grid-template-columns:1.2fr 1fr;gap:56px;align-items:center;position:relative;overflow:hidden}
.fi-cta .fi-eyebrow{color:var(--ds-night-muted)}
.fi-cta-p{margin-top:18px;color:var(--ds-night-muted);max-width:460px}
.fi-checks{margin:28px 0 32px;display:grid;gap:12px}
.fi-checks li{display:flex;gap:12px;align-items:flex-start;font-size:14px}
.fi-checks li:before{content:"";flex:none;margin-top:3px;width:16px;height:16px;border-radius:50%;background:var(--ds-go) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 8.2l2.3 2.3 4.7-5' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat}
.fi-chat{background:var(--ds-night-raised);border:1px solid rgba(244,242,236,.1);border-radius:var(--ds-radius-lg);padding:20px;display:flex;flex-direction:column;gap:10px;transform:rotate(1.5deg)}
.fi-chat-top{display:flex;gap:12px;align-items:center;padding-bottom:14px;border-bottom:1px solid rgba(244,242,236,.08);margin-bottom:4px}
.fi-chat-top b{display:block;font-size:14px}.fi-chat-top small{font-size:12px;color:#3ecf8e}
.fi-chat .fi-av-sm{background:rgba(244,242,236,.1);color:var(--ds-night-ink)}
.fi-bub{max-width:85%;padding:10px 14px;border-radius:16px;font-size:13.5px;line-height:1.45}
.fi-bub-in{background:rgba(244,242,236,.08);border-bottom-left-radius:4px}
.fi-bub-out{align-self:flex-end;background:#1c5b3c;color:#eafff3;border-bottom-right-radius:4px}
/* final + footer */
.fi-final{text-align:center;padding:var(--ds-space-24) var(--g);max-width:900px;margin:0 auto}
.fi-final .fi-h2{margin-bottom:32px;font-size:clamp(40px,5.4vw,68px)}
.fi-foot{background:var(--ds-night);color:var(--ds-night-muted);padding:72px var(--g) 32px;font-size:14px}
.fi-foot-top,.fi-foot-bot{max-width:1184px;margin:0 auto}
.fi-foot-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;padding-bottom:48px;border-bottom:1px solid rgba(244,242,236,.1)}
.fi-logo-dark{color:var(--ds-night-ink)}.fi-logo-dark .fi-mark{background:var(--ds-night-ink);border-color:var(--ds-night-ink)}
.fi-foot-brand p{margin-top:16px;max-width:320px}
.fi-foot h4,.fi-foot .h4-reset{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ds-night-ink);margin-bottom:16px;font-weight:600}
.fi-foot-top a{display:block;padding:4px 0}.fi-foot-top a:hover{color:var(--ds-night-ink)}
.fi-foot-bot{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:24px;font-size:13px}
/* responsive */
@media (max-width:1040px){.fi-grid3{grid-template-columns:1fr 1fr}.fi-cities{grid-template-columns:repeat(2,1fr)}.fi-links{display:none}
.fi-search{grid-template-columns:1fr 1fr}.fi-field-loc{grid-column:1/-1}.fi-field-loc+.fi-field:before{display:none}.fi-search-go{grid-column:1/-1;min-height:52px;margin-top:4px}
.fi-cta{grid-template-columns:1fr;padding:48px}.fi-faq{grid-template-columns:1fr;gap:32px}}
@media (max-width:720px){.fi{--g:16px}.fi-hero{padding-top:40px}.fi-nav-cta .fi-textlink{display:none}
.fi-search{grid-template-columns:1fr}.fi-field:before{display:none}.fi-field{padding:12px 14px}.fi-field+.fi-field{border-top:1px solid var(--ds-line);border-radius:0}
.fi-stats{grid-template-columns:1fr 1fr;margin-top:56px}.fi-stats div:nth-child(3){border-left:0}.fi-stats div:nth-child(n+3){border-top:1px solid var(--ds-line)}.fi-stats b{font-size:32px}
.fi-grid3,.fi-steps,.fi-cities{grid-template-columns:1fr}.fi-steps li+li:before{display:none}
.fi-band{padding:0 8px}.fi-band-in{padding:64px 20px}.fi-cta{padding:36px 22px;border-radius:var(--ds-radius-lg)}
.fi-sec{padding:64px var(--g)}.fi-foot-top{grid-template-columns:1fr 1fr}.fi-foot-brand{grid-column:1/-1}.fi-road{bottom:220px}}
@media (max-width:720px){.fi-br{display:none}}
.fi-foot-top a.fi-logo{display:inline-flex;padding:0}
.fi-road{bottom:60px;height:360px}
@media (max-width:720px){.fi-lead{font-size:17px}}
/* ===== v2: elevation, cover cards, reveal ===== */
.fi-nav{position:sticky;top:0;z-index:20;max-width:none;padding:14px max(var(--g),calc((100% - 1184px)/2));transition:background .25s,box-shadow .25s,backdrop-filter .25s}
.fi-nav.is-stuck{background:color-mix(in srgb,var(--ds-paper) 82%,transparent);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);box-shadow:0 1px 0 var(--ds-line)}
.fi-glow{position:absolute;z-index:-3;left:50%;top:-40px;width:1100px;height:620px;transform:translateX(-50%);pointer-events:none;background:radial-gradient(40% 45% at 30% 40%,color-mix(in srgb,var(--ds-plate) 9%,transparent),transparent 70%),radial-gradient(38% 42% at 72% 55%,color-mix(in srgb,var(--ds-go) 8%,transparent),transparent 70%);filter:blur(10px)}
.fi-hero{padding-top:56px}
/* stats as a floating panel */
.fi-stats{background:var(--ds-surface);border:1px solid var(--ds-line);border-radius:var(--ds-radius-lg);box-shadow:var(--ds-shadow-card);margin-top:80px}
.fi-stats div{padding:30px 24px}
.fi-stats b{font-size:42px}
/* cards: always raised */
.fi-grid3{gap:28px}
.fi-card{padding:0;gap:0;overflow:hidden;position:relative;border-color:var(--ds-line);box-shadow:var(--ds-shadow-card);transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s cubic-bezier(.2,.7,.2,1),border-color .25s}
.fi-card:hover{transform:translateY(-6px);box-shadow:var(--ds-shadow-lift);border-color:var(--ds-line-strong)}
.fi-card-cover{height:88px;position:relative;background-color:var(--ds-surface-sunk);background-image:radial-gradient(color-mix(in srgb,var(--ds-ink) 13%,transparent) 1px,transparent 1.3px);background-size:14px 14px}
.fi-card-cover:after{content:"";position:absolute;left:0;right:0;bottom:22px;border-top:2px dashed color-mix(in srgb,var(--ds-ink) 14%,transparent)}
.fi-cover-1{background-color:var(--ds-plate-tint)}.fi-cover-2{background-color:var(--ds-go-tint)}
.fi-status{position:absolute;top:14px;right:14px;display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:var(--ds-radius-pill);background:var(--ds-surface);font-size:12px;font-weight:600;box-shadow:0 1px 2px rgba(0,0,0,.06),0 4px 12px -4px rgba(0,0,0,.12)}
.fi-status i{width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 0 3px color-mix(in srgb,currentColor 18%,transparent)}
.fi-status-go{color:var(--ds-go)}.fi-status-amber{color:var(--ds-amber)}
.fi-card-body{padding:0 var(--ds-space-6) var(--ds-space-6);display:flex;flex-direction:column;gap:14px;flex:1}
.fi-card-top{justify-content:space-between;align-items:flex-end;margin-top:-32px}
.fi-card .fi-av{width:64px;height:64px;font-size:19px;border-radius:18px;border:4px solid var(--ds-surface);box-shadow:0 6px 16px -6px rgba(17,17,16,.25)}

.fi-card-id h3{font-size:18px}
.fi-card .fi-card-foot{border-top:1px solid var(--ds-line);padding-top:16px;margin-top:auto}
.fi-card .fi-btn-ink{box-shadow:0 6px 14px -6px rgba(17,17,16,.45)}
/* cities raised */
.fi-city{box-shadow:var(--ds-shadow-card);transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s,border-color .2s}
.fi-city:hover{box-shadow:var(--ds-shadow-lift);transform:translateY(-4px);border-color:var(--ds-line-strong)}
/* reveal */
.fi-js .fi-reveal{opacity:0;translate:0 28px;transition:opacity .7s ease var(--d,0ms),translate .8s cubic-bezier(.2,.7,.2,1) var(--d,0ms)}
.fi-js .fi-reveal.in{opacity:1;translate:0 0}
@media (prefers-reduced-motion:reduce){.fi-js .fi-reveal{opacity:1;translate:none;transition:none}}
@media (max-width:720px){.fi-grid3{gap:20px}.fi-stats{margin-top:48px}.fi-nav{padding:12px var(--g)}}
.fi-card-body{position:relative;z-index:1}


/* ===== Site integration ===== */
.site-theme:not(.panel-theme){--bs-body-bg:var(--ds-paper);background:var(--ds-paper)}
.fi :focus-visible,.fi-card :focus-visible{outline:2px solid var(--ds-ink);outline-offset:3px}
.fi-reveal-d{transition-delay:var(--d,0ms)!important}

/* nav: desktop pill links, mobile menu panel */
.fi-nav{flex-wrap:wrap}
.fi-links a.active{background:var(--ds-ink);color:var(--ds-paper)}
.fi-links a.active:hover{background:var(--ds-ink);color:var(--ds-paper)}
.fi-menu-btn{all:unset;display:none;width:42px;height:42px;border-radius:50%;border:1px solid var(--ds-line-strong);place-items:center;cursor:pointer;color:var(--ds-ink)}
.fi-menu-btn .bi{font-size:22px;line-height:1}
.fi-menu-btn .bi-x-lg{display:none;font-size:17px}
.fi-menu-btn[aria-expanded="true"] .bi-list{display:none}
.fi-menu-btn[aria-expanded="true"] .bi-x-lg{display:inline}
.fi-menu{flex-basis:100%}
.fi-menu-in{padding:12px 0 8px;display:flex;flex-direction:column}
.fi-menu-in>a:not(.fi-btn){padding:14px 2px;border-bottom:1px solid var(--ds-line);font-size:20px;font-weight:600;letter-spacing:-.02em}
.fi-menu-actions{display:grid;gap:10px;padding-top:18px}
.fi-menu-actions form{display:grid}
.fi-nav-cta form{margin:0}
.fi-textlink{background:none;border:0;padding:0;color:inherit;cursor:pointer}
@media (min-width:1041px){.fi-menu{display:none!important}}
@media (max-width:1040px){.fi-menu-btn{display:grid}.fi-nav-cta{margin-left:auto}}
@media (max-width:720px){.fi-nav-cta .fi-btn{display:none}}

/* hero search: native radios as a segmented control */
.fi-seg label{position:relative;cursor:pointer}
.fi-seg input{position:absolute;opacity:0;pointer-events:none}
.fi-seg span{display:block;padding:5px 12px;border-radius:var(--ds-radius-pill);font:600 13px/1.2 var(--ds-font-sans);color:var(--ds-ink-muted)}
.fi-seg input:checked+span{background:var(--ds-surface);color:var(--ds-ink);box-shadow:0 1px 2px rgba(0,0,0,.08),0 0 0 1px var(--ds-line)}
.fi-seg input:focus-visible+span{outline:2px solid var(--ds-ink);outline-offset:2px}
.fi-field select{padding-right:24px}

/* featured tabs */
.fi-grid3 [hidden]{display:none!important}

/* cities: all of them behind a toggle */
.fi-more{margin-top:12px}
.fi-more summary{list-style:none;display:flex;justify-content:center;margin:12px 0 0}
.fi-more summary::-webkit-details-marker{display:none}
.fi-more summary .fi-btn .bi{transition:transform .2s}
.fi-more[open] summary{order:2;margin-top:20px}
.fi-more[open] summary .bi{transform:rotate(180deg)}
.fi-more[open]{display:flex;flex-direction:column}
.fi-more .fi-more-close{display:none}.fi-more[open] .fi-more-open{display:none}.fi-more[open] .fi-more-close{display:inline}

/* instructor card inside the site */
.fi-card{height:100%;font-family:var(--ds-font-sans);color:var(--ds-ink)}
.fi-card .fi-av{overflow:hidden}
.fi-card .fi-av img{width:100%;height:100%;object-fit:cover}
.fi-card-id h3 a{color:inherit;text-decoration:none}
.fi-card-id h3 a:hover{text-decoration:underline;text-underline-offset:3px}
.fi-card-id h3{overflow-wrap:anywhere}
.fi-card-id p{min-width:0}
.fi-card .fi-badges{justify-content:flex-end}
.fi-tags{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fi-prices dt{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:12px}
.fi-card .fi-btn{text-decoration:none}
.fi-card .fi-btn-ink,.fi-card .fi-btn-ink:hover{color:var(--ds-paper)}
.fi-card .fi-btn-line,.fi-card .fi-btn-line:hover{color:var(--ds-ink)}
.fi-card .fi-btn.is-disabled{pointer-events:none;opacity:.55}
.fi-card .fi-featured{position:absolute;top:14px;left:14px;display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:var(--ds-radius-pill);background:var(--ds-ink);color:var(--ds-paper);font-size:12px;font-weight:600}
.fi-card .fi-featured .bi{font-size:11px;color:#f5c451}
.fi-card .fi-status-preview{color:var(--ds-ink-muted)}

/* mobile: shorter page */
@media (max-width:720px){
  .fi-cities{grid-template-columns:1fr 1fr;gap:10px}
  .fi-city{padding:12px;gap:10px}
  .fi-city-i{width:36px;height:36px;font-size:17px}
  .fi-city svg{display:none}
  .fi-city b{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .fi-city>span:nth-child(2){min-width:0}
  .fi-featured-grid>.is-extra{display:none!important}
  .fi-head-r{width:100%;justify-content:space-between}
  .fi-tabs{overflow-x:auto;scrollbar-width:none;max-width:100%}
  .fi-tabs button{white-space:nowrap}
}
.fi-foot .h4-reset{line-height:1.2}
.fi-foot a{text-decoration:none}
.site-theme .fi-foot a:not(.fi-btn){color:var(--ds-night-muted)}.site-theme .fi-foot a:not(.fi-btn):hover{color:var(--ds-night-ink)}
.site-theme .fi-foot .fi-logo-dark{color:var(--ds-night-ink)}
.fi-nav a,.fi-final a{text-decoration:none}
.fi .fi-btn-ink,.fi .fi-btn-ink:hover{color:var(--ds-paper)}
.fi .fi-btn-line,.fi .fi-btn-line:hover{color:var(--ds-ink)}
.fi .fi-btn-paper,.fi .fi-btn-paper:hover{color:var(--ds-night)}
.fi .fi-btn-ghost,.fi .fi-btn-ghost:hover{color:var(--ds-night-ink)}
.fi-empty{padding:32px;border:1px dashed var(--ds-line-strong);border-radius:var(--ds-radius-lg);background:var(--ds-surface)}
.fi-prices dt{font-weight:400}.fi-prices dd{margin:0}
.fi :is(h1,h2,h3,h4,h5,h6){font-family:inherit;color:inherit}
.fi b{color:inherit}
.fi .fi-h1{letter-spacing:-.05em}.fi .fi-h2{letter-spacing:-.04em}.fi .fi-card-id h3{letter-spacing:-.015em}.fi .fi-steps h3{letter-spacing:-.02em}
.fi .fi-faq summary,.fi .fi-city b{letter-spacing:-.01em}
.fi .fi-stats b,.fi .fi-from b{color:var(--ds-ink)}
/* the same L mark on auth pages and panels */
.site-theme .brand-mark,.site-theme .brand.brand-light .brand-mark{background:var(--ds-surface);border:1.5px solid var(--ds-ink);color:var(--ds-plate)}
.site-theme .brand-mark .l-plate{font-family:var(--ds-font-sans);font-weight:800}
.fi-preview-bar{background:#b7791f;color:#fff;text-align:center;font:600 12px/1.4 "Inter",sans-serif;padding:6px 16px}
.site-theme .profile-hero h1,.site-theme .detail-list .value,.site-theme .breadcrumb-item{overflow-wrap:anywhere}

/* ===== Instructor profile ===== */
.fi-profile{max-width:1280px;margin:0 auto;padding:28px var(--g) var(--ds-space-24)}
.fi-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;color:var(--ds-ink-muted);margin-bottom:20px;min-width:0}
.fi-crumbs a{color:var(--ds-ink-muted);text-decoration:none}.fi-crumbs a:hover{color:var(--ds-ink)}
.fi-crumbs [aria-current]{color:var(--ds-ink);font-weight:600;overflow-wrap:anywhere}
.fi-profile-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:28px;align-items:start}
.fi-profile-main{display:grid;gap:20px;min-width:0}
.fi-profile-aside{display:grid;gap:20px;position:sticky;top:92px}
.fi-profile-card{background:var(--ds-surface);border:1px solid var(--ds-line);border-radius:var(--ds-radius-lg);box-shadow:var(--ds-shadow-card);overflow:hidden}
.fi-profile-cover{height:132px}
.fi-profile-body{position:relative;padding:0 28px 28px}
.fi-profile-av{width:96px!important;height:96px!important;font-size:28px!important;border-radius:24px!important;border:5px solid var(--ds-surface);box-shadow:0 8px 20px -8px rgba(17,17,16,.3);margin-top:-48px;overflow:hidden}
.fi-profile-av img{width:100%;height:100%;object-fit:cover}
.fi-profile-badges{position:absolute;top:16px;right:28px}
.fi-profile-name{margin-top:16px!important;font-size:clamp(28px,3.4vw,40px);line-height:1.05;font-weight:600;letter-spacing:-.035em;overflow-wrap:anywhere}
.fi-profile-meta{display:flex;align-items:center;gap:6px;margin-top:8px!important;color:var(--ds-ink-muted);font-size:14px}
.fi-profile-body .fi-chips{margin-top:18px}
.fi-profile-quick{display:none;margin-top:22px;padding-top:20px;border-top:1px solid var(--ds-line);gap:14px}
.fi-panel{background:var(--ds-surface);border:1px solid var(--ds-line);border-radius:var(--ds-radius-lg);padding:26px 28px}
.fi-panel-title{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:600;letter-spacing:-.02em;margin-bottom:14px!important}
.fi-panel-sub{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ds-ink-faint);margin:22px 0 10px!important}
.fi-count{font-size:12px;font-weight:600;background:var(--ds-surface-sunk);color:var(--ds-ink-muted);border-radius:999px;padding:2px 9px}
.fi-prose{white-space:pre-line;color:var(--ds-ink);line-height:1.7}
.fi-specialities{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));gap:10px}
.fi-specialities a{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--ds-line);border-radius:var(--ds-radius-md);font-weight:600;font-size:14px;color:var(--ds-ink);text-decoration:none;transition:border-color .2s}
.fi-specialities a:hover{border-color:var(--ds-ink)}
.fi-specialities .bi{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--ds-surface-sunk);flex:none}
.fi-service{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:14px 0;border-top:1px dashed var(--ds-line-strong)}
.fi-service:first-of-type{border-top:0;padding-top:0}
.fi-service-name{font-weight:600}
.fi-service-price{font-size:17px;white-space:nowrap}
.fi-contact{display:grid;gap:14px;border-color:var(--ds-ink);box-shadow:var(--ds-shadow-float)}
.fi-contact .fi-from b{font-size:36px}
.fi-details{display:grid}
.fi-details div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-top:1px solid var(--ds-line);font-size:14px}
.fi-details div:first-child{border-top:0;padding-top:0}
.fi-details dt{color:var(--ds-ink-muted);font-weight:400}
.fi-details dd{font-weight:600;text-align:right;overflow-wrap:anywhere;min-width:0}
@media (max-width:1040px){
  .fi-profile-grid{grid-template-columns:1fr}
  .fi-profile-aside{position:static}
  .fi-profile-aside .fi-contact{display:none}
  .fi-profile-quick{display:grid;grid-template-columns:1fr auto;align-items:center}
}
@media (max-width:720px){
  .fi-profile{padding-top:18px}
  .fi-profile-cover{height:104px}
  .fi-profile-body{padding:0 18px 20px}
  .fi-profile-badges{position:static;margin-top:14px;justify-content:flex-start}
  .fi-profile-name{margin-top:10px!important}
  .fi-profile-quick{grid-template-columns:1fr}
  .fi-profile-quick .fi-btn{width:100%}
  .fi-panel{padding:20px 18px}
}
