:root{--ink:#172b3a;--soft:#f7f8f7;--muted:#6f7d84;--line:#dfe5e3;--green:#1d5a5a;--lime:#d1e769}*{box-sizing:border-box}body{margin:0;color:var(--ink);font:16px 'DM Sans',sans-serif;background:var(--soft)}header{height:81px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 7vw;gap:38px}.brand{font:700 26px 'Playfair Display';letter-spacing:-2px;text-decoration:none;color:var(--ink)}.brand span{color:#79a874}nav{display:flex;gap:25px;margin-left:auto}nav a{font-size:13px;color:var(--ink);text-decoration:none}.selected{font-weight:700}.lattes{font-size:12px;font-weight:700;text-decoration:none;color:var(--ink);border:1px solid #b8c7c3;padding:10px 14px;border-radius:24px}.intro{max-width:1100px;margin:auto;padding:64px 0 36px}.intro p{color:#728d89;font-size:10px;font-weight:700;letter-spacing:2.5px;margin:0 0 16px}.intro h1{font:600 clamp(42px,5.2vw,73px)/1.02 'Playfair Display';letter-spacing:-2.5px;margin:0;max-width:900px}.intro em{font-style:italic;color:#588872}.intro>div{font-size:16px;line-height:1.7;color:var(--muted);max-width:580px;margin-top:22px}.featured{display:block;width:calc(100% - 40px);height:420px;max-width:1100px;margin:0 auto 54px;position:relative;border-radius:15px;overflow:hidden;color:#fff;text-decoration:none;background:#122d39}.featured>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 52%}.cover{position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,27,35,.96) 0%,rgba(11,27,35,.76) 46%,rgba(11,27,35,.14) 78%)}.featured-copy{position:absolute;inset:0;padding:44px 48px;max-width:660px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.featured-copy span{background:var(--lime);color:var(--ink);font-size:10px;font-weight:bold;letter-spacing:1.2px;padding:7px 12px}.featured-copy small{font-size:10px;letter-spacing:1.5px;margin:13px 0 0}.featured h2{font:600 clamp(30px,3.3vw,46px)/1.06 'Playfair Display';letter-spacing:-1.5px;margin:15px 0 11px;max-width:610px}.featured p{font-size:14px;line-height:1.55;max-width:540px;color:#e7eeee;margin:0}.meta{font-size:10px;letter-spacing:1px;color:#bfcfce;margin:17px 0 13px}.featured a{color:var(--lime);font-size:11px;letter-spacing:1.5px;font-weight:bold;text-decoration:none}.catalog{max-width:1100px;margin:auto;padding-bottom:110px}.filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:32px}.filters button{background:transparent;border:1px solid #d5ddda;border-radius:22px;padding:10px 15px;color:#64747a;font:700 10px 'DM Sans';letter-spacing:1.1px;text-transform:uppercase;cursor:pointer}.filters button.on,.filters button:hover{background:var(--ink);color:#fff;border-color:var(--ink)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:34px 22px}.card{background:#fff;border-radius:12px;overflow:hidden;border:1px solid #edf0ef;transition:transform .25s,box-shadow .25s}.card:hover{transform:translateY(-5px);box-shadow:0 16px 35px #17324018}.card img{width:100%;height:185px;object-fit:cover}.card-body{padding:20px}.tag{font-size:10px;letter-spacing:1.2px;font-weight:bold;color:#649086}.card h3{font:600 25px/1.12 'Playfair Display';letter-spacing:-.8px;margin:11px 0}.card p{font-size:13px;color:var(--muted);line-height:1.55;margin:0 0 18px}.card a{font-size:11px;font-weight:bold;letter-spacing:1.2px;text-decoration:none;color:var(--green)}footer{background:#112d3a;color:#d8e1e1;padding:44px 7vw;display:flex;justify-content:space-between;align-items:end;font-size:12px;line-height:1.6}footer .brand{color:#fff}@media(max-width:800px){header{padding:0 7vw;gap:15px}header nav{display:none}.lattes{margin-left:auto}.intro{padding:48px 7vw 30px}.featured{width:86%;margin:0 7vw 38px;height:430px}.featured-copy{padding:28px}.featured h2{margin-top:15px}.catalog{padding:0 7vw 75px}.cards{grid-template-columns:1fr}.card img{height:210px}footer{display:block;padding:35px 7vw}footer p{margin-top:18px}}
@media(max-width:480px){header{height:68px!important;padding:0 6vw!important}.brand{font-size:24px!important}.lattes{font-size:10px!important;padding:9px 10px!important}.intro{padding:40px 7vw 26px!important}.intro h1{font-size:40px!important;letter-spacing:-1.5px!important}.intro>div{font-size:15px!important;line-height:1.6!important}.featured{width:90%!important;height:410px!important;margin:0 5vw 30px!important;border-radius:12px!important}.featured>img{object-position:58% center!important}.featured-copy{padding:23px!important;justify-content:flex-end!important}.featured h2{font-size:31px!important;line-height:1.05!important}.featured p{font-size:13px!important;line-height:1.5!important}.featured-copy small{display:block;margin:12px 0 0!important}.meta{margin:13px 0 10px!important}.catalog{padding:0 5vw 65px!important}.filters{flex-wrap:nowrap!important;overflow-x:auto!important;padding-bottom:6px!important;margin-bottom:23px!important}.filters button{white-space:nowrap!important;min-height:42px!important}.cards{gap:18px!important}.card{display:block!important;color:var(--ink)!important;text-decoration:none!important}.card img{height:190px!important}.card-body{padding:18px!important}.card h3{font-size:24px!important}.card p{font-size:14px!important}}
.course-promo{grid-column:1/-1;background:#17313c;color:#fff;padding:38px;display:grid;grid-template-columns:1.2fr 1fr;gap:30px;align-items:end}.course-promo span{font-size:10px;letter-spacing:1.5px;color:var(--lime);font-weight:bold}.course-promo h2{font:600 38px/1.06 'Playfair Display';letter-spacing:-1.3px;margin:11px 0}.course-promo p{font-size:14px;line-height:1.6;color:#c9d7d6;margin:0}.course-promo>div:last-child{display:grid;gap:10px}.course-promo a{background:#fff;color:var(--ink);text-decoration:none;padding:15px;font-size:13px;font-weight:bold}.course-promo a:hover{background:var(--lime)}@media(max-width:480px){.course-promo{display:block;padding:28px!important}.course-promo h2{font-size:31px!important}.course-promo>div:last-child{margin-top:24px!important}}
.catalog-head{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:24px;margin-bottom:20px}.catalog-head p{margin:0;font-size:10px;font-weight:700;letter-spacing:2px;color:#688680}.catalog-head span{font-size:12px;color:var(--muted)}.card{display:block;color:var(--ink);text-decoration:none}.card-image{height:185px;position:relative;overflow:hidden}.card-image img{height:100%}.card-image>span{position:absolute;right:12px;top:12px;background:#fff;color:var(--ink);width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-size:10px;font-weight:700}.card:nth-child(4n+2) .card-image>span{background:var(--lime)}.card:nth-child(4n+3) .card-image>span{background:#17313c;color:#fff}.card-body>b{font-size:11px;letter-spacing:1.2px;color:var(--green)}.filters{max-height:130px;overflow:auto;padding-bottom:8px}.card h3{min-height:84px}.card p{min-height:62px}@media(max-width:800px){.card h3,.card p{min-height:0}.filters{max-height:none;overflow-x:auto;flex-wrap:nowrap}.filters button{white-space:nowrap}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.search-box{height:58px;margin-bottom:18px;background:#fff;border:1px solid #d7e0dd;border-radius:12px;display:grid;grid-template-columns:48px 1fr 48px;align-items:center;transition:border-color .2s,box-shadow .2s}.search-box:focus-within{border-color:#6e9990;box-shadow:0 0 0 4px rgba(110,153,144,.12)}.search-box>span{font:30px 'Playfair Display';color:#5f7d78;text-align:center;transform:rotate(-20deg)}.search-box input{width:100%;height:100%;border:0;outline:0;background:transparent;color:var(--ink);font:500 16px 'DM Sans';padding:0}.search-box input::placeholder{color:#84938f}.search-box button{border:0;background:transparent;color:#647a75;font-size:25px;cursor:pointer}.search-box button[hidden]{display:none}.empty-search{grid-column:1/-1;text-align:center;border:1px dashed #cdd9d5;border-radius:14px;padding:60px 24px;background:#fff}.empty-search strong{font:600 30px 'Playfair Display'}.empty-search p{color:var(--muted);margin:10px 0 22px}.empty-search button{border:0;background:var(--ink);color:#fff;padding:13px 18px;border-radius:24px;font:700 11px 'DM Sans';letter-spacing:1px;cursor:pointer}@media(max-width:480px){.search-box{height:54px;grid-template-columns:43px 1fr 43px}.search-box input{font-size:15px}.empty-search{padding:45px 20px}.empty-search strong{font-size:26px}}
