.pathway-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1050px){.pathway-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.pathway-grid{grid-template-columns:1fr}}
.ff-catalog{padding-block:2rem 5rem;color:#1b3550}
.ff-catalog *{box-sizing:border-box}
.ff-crumb{font-size:.88rem;margin-bottom:1.35rem;display:flex;gap:.55rem;align-items:center}
.ff-crumb a,.ff-filter a,.ff-price-table a{color:#17546f;text-decoration:underline;text-underline-offset:.17em}
.ff-heading{background:#215879;border-radius:14px;color:white;padding:clamp(1.4rem,3.7vw,3.6rem);margin-bottom:1.7rem}
.ff-heading h1{font-size:clamp(2rem,4.4vw,3.55rem);margin:.4rem 0 .8rem;color:#fff;line-height:1.06;letter-spacing:-.035em}
.ff-heading p{color:#fff;max-width:74ch;margin:0;line-height:1.55}
.ff-heading p:first-child,.ff-type{font-size:.78rem;font-weight:750;letter-spacing:.07em;text-transform:uppercase}
.ff-filter{display:flex;align-items:end;gap:.85rem;flex-wrap:wrap;margin:1.5rem 0 .8rem}
.ff-filter label{display:grid;gap:.35rem;font-weight:650;font-size:.87rem;flex:1 1 14rem;min-width:0}
.ff-filter input,.ff-filter select{font:inherit;background:white;width:100%;border:1px solid #b9c9d1;border-radius:6px;min-height:44px;padding:.5rem .7rem;color:#1b3550}
.ff-filter button,.ff-pages .current{font:inherit;background:#193b57;color:white;border:0;border-radius:6px;font-weight:700;padding:.6rem 1.25rem;min-height:44px;cursor:pointer}
.ff-count{font-size:.88rem;color:#536c7d;margin:1rem 0}
.ff-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2vw,1.65rem);align-items:stretch}
.ff-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid #cbd6d8;background:#edf4f4;border-radius:12px;color:#263e49;--ff-action:#08716f}
.ff-card:nth-child(3n+1){background:#f3f4f4;--ff-action:#53636b}
.ff-card:nth-child(3n){background:#edf2f7;--ff-action:#325a78}
.ff-photo{display:block;width:100%;height:auto;aspect-ratio:1.64;object-fit:cover;object-position:center}
.ff-card-body{display:flex;flex-direction:column;flex:1;padding:clamp(1rem,1.6vw,1.5rem);gap:.65rem}
.ff-type{color:#415d68;line-height:1.25;margin:0}
.ff-card h2,.ff-summary h2,.ff-cert-section h2,.ff-fees h2,.ff-plan h2{font-size:clamp(1.25rem,2.1vw,1.75rem);letter-spacing:-.026em;line-height:1.18;margin:0;color:#233c49}
.ff-card h2 a{color:inherit;text-decoration:none}.ff-card h2 a:hover{text-decoration:underline}
.ff-card h2 span{font-weight:550}
.ff-facts{margin:.3rem 0 .65rem;font-size:1rem;line-height:1.5}
.ff-facts div+div{margin-top:.25rem}.ff-facts dt,.ff-facts dd{margin:0;display:inline}.ff-facts dt{font-weight:700}.ff-facts dt::after{content:":"}
.ff-actions{margin-top:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.34rem}
.ff-actions a{display:flex;justify-content:center;align-items:center;gap:.42em;min-height:43px;padding:.4rem .32rem;border-radius:5px;text-decoration:none;font-size:.88rem;line-height:1.2;font-weight:700;color:white;text-align:center;background:var(--ff-action,#08716f)}
.ff-actions a:hover{filter:brightness(.86)}.ff-icon{width:1em;height:1em;background-color:currentColor;mask:var(--icon) center / contain no-repeat;flex:none}
.ff-icon-user{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M1 21v-3a8 8 0 0 1 16 0v3zm18-13V5h2v3h3v2h-3v3h-2v-3h-3V8z'/%3E%3C/svg%3E")}
.ff-icon-file{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M4 2h10l6 6v14H4zm9 2v5h5zM7 12v2h10v-2zm0 4v2h10v-2z'/%3E%3C/svg%3E")}
.ff-icon-info{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M12 1a11 11 0 1 0 0 22 11 11 0 0 0 0-22zM11 6h2v3h-2zm0 5h2v7h-2z'/%3E%3C/svg%3E")}
.ff-icon-compass{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M12 1a11 11 0 1 0 0 22 11 11 0 0 0 0-22zm6 5-4 8-8 4 4-8z'/%3E%3C/svg%3E")}
.ff-status,.ff-notes{font-size:.9rem;line-height:1.5;color:#3e5867}.ff-status{margin:.2rem 0 .5rem}
.ff-pages{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;margin:2rem 0}.ff-pages a,.ff-pages span{padding:.5rem .8rem;border-radius:6px}
.ff-fees{border-left:4px solid #db7549;padding:1rem 1.25rem;background:#fff7f0;margin:1.4rem 0}.ff-fees p{margin:.5rem 0 0}
.ff-cert-section,.ff-plan{margin-top:2rem}.ff-cert-section h2,.ff-plan h2{margin-bottom:1rem}
.ff-table-wrap,.ff-plan-scroll{overflow:auto;max-width:100%;overscroll-behavior-inline:contain}
.ff-price-table,.ff-plan table{width:100%;border-collapse:collapse;text-align:left}
.ff-price-table{min-width:650px}.ff-price-table th,.ff-price-table td,.ff-plan :is(th,td){padding:.75rem .65rem;border-bottom:1px solid #d6e0e2;line-height:1.4}
.ff-price-table thead,.ff-plan th{background:#eaf1f3;color:#213d4b}.ff-price-table tbody tr:nth-child(even),.ff-plan tr:nth-child(even){background:#f7f9fa}
.ff-price-table :is(th,td):not(:first-child){text-align:right}.ff-notes{margin:1.2rem 0;max-width:95ch}
.ff-summary{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:2rem}.ff-summary .ff-photo{border-radius:10px}.ff-summary .ff-actions{margin-top:1rem}
.ff-plan{max-width:100%;overflow:hidden}.ff-plan-scroll{margin-bottom:1rem}.ff-plan p{margin:1rem 0 .3rem}.ff-plan table{font-size:.87rem;min-width:620px}
.ff-catalog :is(a,button,input,select,[tabindex]):focus-visible{outline:3px solid #bf5728;outline-offset:3px}
@media(max-width:920px){.ff-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.ff-grid,.ff-summary{grid-template-columns:1fr}.ff-heading{border-radius:10px}.ff-catalog{padding-block:1rem 3rem}.ff-filter label{flex-basis:100%}}

.ff-home-borsa{padding-top:clamp(1.25rem,3.5vw,3rem)}
.ff-scholarship{margin:1.5rem 0;padding:clamp(1.25rem,3vw,2.6rem);border:1px solid #e1ceb6;border-left:6px solid #cb6333;border-radius:12px;background:#fcf5e9;color:#172f44;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.9fr);gap:clamp(1.2rem,4vw,4rem);align-items:center}
.ff-scholarship h2{font-size:clamp(1.55rem,3.1vw,2.65rem);line-height:1.12;letter-spacing:-.035em;color:#192f47;margin:0 0 .75rem}
.ff-scholarship p{font-size:1rem;line-height:1.5;margin:.55rem 0 0}
.ff-scholarship .ff-scholarship-edition{color:#754020;font-size:.78rem;letter-spacing:.055em;font-weight:750;text-transform:uppercase;margin:0 0 .7rem}
.ff-scholarship-edition span{margin:0 .3em}
.ff-scholarship-more{border-left:1px solid #dfcdb3;padding-left:clamp(1rem,2vw,2rem)}
.ff-scholarship summary{font-weight:750;cursor:pointer;padding:.55rem 0}
.ff-scholarship details[open]{margin-bottom:1rem}
.ff-scholarship-links{display:grid;gap:.7rem;margin:.8rem 0}
.ff-scholarship-links a,.ff-degree-fee a{color:#1d5365;text-decoration:underline;text-underline-offset:.18em}
.ff-scholarship-links a:first-child{font-weight:700}
.ff-degree-card-price{font-weight:700;color:#244d53;border-top:1px solid #ccd8d8;margin:.1rem 0 .6rem;padding-top:.6rem}
.ff-degree-fee{background:#f2f6f6;border:1px solid #cfdddd;border-radius:10px;padding:1rem 1.25rem;margin:1rem 0}
.ff-degree-fee h2{font-size:1.25rem;margin:0 0 .6rem}
.ff-degree-fee dl{margin:0}.ff-degree-fee dl div{display:flex;justify-content:space-between;gap:.75rem;padding:.25rem 0}
.ff-degree-fee dd{white-space:nowrap;margin:0;font-variant-numeric:tabular-nums}
.ff-degree-fee .ff-degree-total{margin-top:.45rem;border-top:1px solid #a7bbbb;padding-top:.6rem;font-weight:750}
.ff-degree-fee p{margin:.75rem 0 0;font-size:.93rem}
@media(max-width:760px){.ff-scholarship{grid-template-columns:1fr;gap:.9rem}.ff-scholarship-more{border-left:0;border-top:1px solid #dfcdb3;padding:.45rem 0 0}}
