@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700&family=Instrument+Serif:ital@0;1&display=swap');

:root { --ink: #16252c; --paper: #f7f7f4; --cloud: #ecf1ef; --blue: #3765ed; --line: #d9dfdc; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--paper); }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: "DM Sans", sans-serif; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
button { font: inherit; cursor: pointer; }
.minimal-site { overflow: hidden; }
.minimal-nav { height: 78px; padding: 0 clamp(20px, 6vw, 88px); display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); background: rgba(247,247,244,.95); position: sticky; top: 0; z-index: 10; backdrop-filter: blur(12px); }
.minimal-brand { display: flex; align-items: center; gap: 9px; font-size: 15px; font-weight: 700; letter-spacing: -.04em; }.minimal-brand span { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; color: white; background: var(--blue); }.minimal-brand em { margin-left: 4px; color: var(--blue); font: italic 19px "Instrument Serif", Georgia, serif; letter-spacing: -.03em; }.minimal-nav__links { display: flex; gap: 30px; }.minimal-nav__links a { padding: 10px 0; font-size: 12px; font-weight: 700; }.minimal-nav__links a:hover { color: var(--blue); }.minimal-menu, .minimal-mobile-links { display: none; }
.minimal-hero { min-height: min(690px, calc(100vh - 78px)); display: grid; grid-template-columns: 50% 50%; background: var(--cloud); }.minimal-hero__copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(55px, 9vw, 126px); }.micro-label { margin: 0; color: #637070; font: 500 10px "DM Mono", monospace; letter-spacing: .1em; text-transform: uppercase; }.micro-label:before { content: ""; display: inline-block; width: 7px; height: 7px; margin-right: 8px; border-radius: 50%; background: #eb7a69; }.minimal-hero h1, .courses-minimal h1, .contact-minimal h1 { margin: 25px 0 17px; font: 400 clamp(62px, 7vw, 112px)/.82 "Instrument Serif", Georgia, serif; letter-spacing: -.06em; }.minimal-hero h1 i { color: var(--blue); }.minimal-hero__intro { margin: 0; color: #4f5f60; font-size: clamp(16px, 1.4vw, 20px); }.minimal-button { width: fit-content; display: flex; align-items: center; gap: 11px; margin-top: 36px; padding: 14px 19px; border-radius: 99px; color: white; background: var(--ink); font-size: 12px; font-weight: 700; transition: transform .18s ease, background .18s ease; }.minimal-button:hover { transform: translateY(-2px); background: var(--blue); }.minimal-button:active { transform: scale(.97); }.minimal-hero__photo { position: relative; min-height: 480px; background: #bdd4cf; overflow: hidden; }.minimal-hero__photo:after { content: ""; pointer-events: none; position: absolute; inset: 0; background: linear-gradient(135deg, rgba(255,255,255,.18), transparent 35%); }.minimal-hero__photo img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center; filter: contrast(1.03) saturate(.96); }
.courses-minimal { padding: clamp(76px, 10vw, 144px) max(6vw, calc((100vw - 1320px)/2)); }.courses-minimal__heading { margin-bottom: 47px; }.courses-minimal h1 { margin-bottom: 0; font-size: clamp(55px, 5.3vw, 82px); }.courses-minimal__grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }.course-tile { min-height: 290px; padding: 18px; display: flex; flex-direction: column; justify-content: space-between; border-bottom: 1px solid var(--line); border-right: 1px solid var(--line); background: var(--paper); transition: background .2s ease, transform .2s ease; }.course-tile:hover { background: white; transform: translateY(-3px); }.course-icon { height: 120px; position: relative; display: grid; place-items: center; overflow: hidden; }.course-icon:before, .course-icon:after { content: ""; position: absolute; border-radius: 50%; }.course-icon:before { width: 142px; height: 142px; background: rgba(255,255,255,.42); top: -61px; right: -42px; }.course-icon:after { width: 94px; height: 94px; background: rgba(16,33,40,.1); bottom: -42px; left: -25px; }.course-icon > span { position: absolute; top: 11px; left: 12px; font: 500 9px "DM Mono", monospace; color: rgba(20,38,44,.65); }.course-icon svg { position: relative; z-index: 1; width: 58px; height: 58px; color: rgba(19,40,46,.77); }.course-icon--mint { background: #bee0d6; }.course-icon--sky { background: #bfdae4; }.course-icon--blue { background: #adc3ee; }.course-icon--violet { background: #c3b8e9; }.course-icon--peach { background: #edc6a9; }.course-icon--slate { background: #b8cccf; }.course-icon--rose { background: #e8b0ae; }.course-icon--lilac { background: #d5c6e7; }.course-icon--sun { background: #e9d97c; }.course-icon--aqua { background: #aed9d5; }.course-icon--coral { background: #eaa28c; }.course-icon--ink { background: #98aeb5; }.course-icon--teal { background: #a8d2c8; }.course-icon--gold { background: #dbc78e; }.course-icon--leaf { background: #b8d3ab; }.course-icon--lavender { background: #cfcaec; }.course-tile__copy { padding: 18px 2px 0; }.course-tile__copy p { margin: 0 0 8px; color: #657273; font: 500 9px "DM Mono", monospace; letter-spacing: .07em; text-transform: uppercase; }.course-tile__copy h2 { margin: 0; font-size: 16px; line-height: 1.17; letter-spacing: -.033em; }
.contact-minimal { padding: clamp(65px, 9vw, 122px) max(6vw, calc((100vw - 1320px)/2)); display: grid; grid-template-columns: .83fr 1.35fr; gap: clamp(45px, 9vw, 130px); color: white; background: var(--ink); }.micro-label--light { color: #afc4c0; }.contact-minimal h1 { font-size: clamp(54px, 5vw, 76px); margin-bottom: 0; }.contact-minimal__links { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid #46565a; border-left: 1px solid #46565a; }.contact-minimal__links a { min-height: 90px; display: flex; align-items: center; gap: 14px; padding: 16px; border-right: 1px solid #46565a; border-bottom: 1px solid #46565a; transition: color .18s ease, background .18s ease; }.contact-minimal__links a:hover { color: #bce3d5; background: #20343a; }.contact-minimal__links span { min-width: 0; font-size: 13px; font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.contact-minimal__links small { display: block; margin-bottom: 5px; color: #a5b7b4; font: 500 9px "DM Mono", monospace; letter-spacing: .07em; text-transform: uppercase; }.minimal-footer { min-height: 82px; padding: 0 max(6vw, calc((100vw - 1320px)/2)); display: flex; justify-content: space-between; align-items: center; color: #92a4a2; background: #102027; }.minimal-footer p { margin: 0; font: 500 9px "DM Mono", monospace; }.minimal-footer div { display: flex; gap: 11px; }.minimal-footer a { display: grid; place-items: center; height: 28px; width: 28px; border: 1px solid #405158; border-radius: 50%; transition: background .18s ease, color .18s ease; }.minimal-footer a:hover { color: var(--ink); background: #c4e4d8; }
@media (max-width: 900px) { .courses-minimal__grid { grid-template-columns: repeat(3, 1fr); }.minimal-hero { grid-template-columns: 47% 53%; }.minimal-hero__copy { padding: 55px; }.contact-minimal { grid-template-columns: 1fr; }.contact-minimal__links { max-width: 650px; } }
@media (max-width: 640px) { .minimal-nav { height: 66px; padding: 0 20px; }.minimal-brand { font-size: 13px; }.minimal-brand em { font-size: 17px; }.minimal-nav__links { display: none; }.minimal-menu { display: grid; place-items: center; color: var(--ink); border: 0; background: transparent; }.minimal-mobile-links { position: fixed; z-index: 9; top: 66px; left: 0; right: 0; display: grid; background: var(--ink); }.minimal-mobile-links a { padding: 15px 20px; color: white; font-size: 13px; font-weight: 700; border-bottom: 1px solid #405158; }.minimal-hero { display: flex; min-height: 0; flex-direction: column; }.minimal-hero__copy { padding: 68px 23px 56px; }.minimal-hero h1 { font-size: 67px; }.minimal-hero__photo { min-height: 390px; }.minimal-hero__photo img { object-position: 51% 44%; }.courses-minimal { padding: 76px 20px; }.courses-minimal__heading { margin-bottom: 38px; }.courses-minimal h1 { font-size: 64px; }.courses-minimal__grid { grid-template-columns: repeat(2, 1fr); }.course-tile { min-height: 230px; padding: 11px; }.course-icon { height: 105px; }.course-tile__copy { padding-top: 13px; }.course-tile__copy h2 { font-size: 14px; }.contact-minimal { padding: 70px 20px; gap: 40px; }.contact-minimal h1 { font-size: 59px; }.contact-minimal__links { grid-template-columns: 1fr; }.contact-minimal__links a { min-height: 76px; }.minimal-footer { min-height: 105px; padding: 22px 20px; } }


/* Static hosting polish */
img { max-width: 100%; }
:focus-visible { outline: 3px solid rgba(55,101,237,.45); outline-offset: 3px; }
.icon { width: 1em; height: 1em; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.course-icon .icon { width: 58px; height: 58px; }
.contact-minimal__links .icon { width: 18px; height: 18px; flex: 0 0 auto; }
.minimal-brand .icon { width: 18px; height: 18px; }
.minimal-button .icon { width: 17px; height: 17px; }
.minimal-menu .icon { width: 22px; height: 22px; }
.minimal-footer .icon { width: 16px; height: 16px; }
.minimal-mobile-links[hidden] { display: none !important; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; } }

/* Dynamic article experience */
.articles-minimal { padding: clamp(76px,10vw,144px) max(6vw,calc((100vw - 1320px)/2)); background:#eef2f0; border-top:1px solid var(--line); }
.articles-heading { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:48px; }
.articles-heading h1 { margin:24px 0 0; max-width:850px; font:400 clamp(48px,5vw,76px)/.92 "Instrument Serif",Georgia,serif; letter-spacing:-.045em; }
.articles-heading>a { flex:0 0 auto; font-size:12px; font-weight:700; padding-bottom:8px; border-bottom:1px solid currentColor; }
.article-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
.article-card { min-width:0; background:var(--paper); display:flex; flex-direction:column; }
.article-card__image { display:block; aspect-ratio:16/10; overflow:hidden; background:#c9d8d2; }
.article-card__image img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.article-card:hover .article-card__image img { transform:scale(1.025); }
.article-card__image--placeholder { display:grid; place-items:center; background:linear-gradient(135deg,#bbded2,#b9ccec); }
.article-card__image--placeholder .icon { width:56px; height:56px; color:rgba(22,37,44,.62); }
.article-card__copy { padding:26px 24px 28px; display:flex; flex-direction:column; flex:1; }
.article-meta { display:flex; justify-content:space-between; gap:15px; color:#6c7979; font:500 9px "DM Mono",monospace; letter-spacing:.06em; text-transform:uppercase; }
.article-card h2 { margin:20px 0 12px; font:400 29px/1 "Instrument Serif",Georgia,serif; letter-spacing:-.035em; }
.article-card h2 a:hover { color:var(--blue); }
.article-card__copy>p { margin:0 0 24px; color:#5d6969; font-size:13px; line-height:1.65; }
.read-link { margin-top:auto; width:fit-content; font-size:11px; font-weight:700; }
.read-link:hover { color:var(--blue); }
.articles-archive { padding:clamp(80px,10vw,145px) max(6vw,calc((100vw - 1320px)/2)); min-height:75vh; }
.articles-archive>header { max-width:760px; margin-bottom:58px; }
.articles-archive>header h1 { margin:22px 0 16px; font:400 clamp(64px,8vw,112px)/.84 "Instrument Serif",Georgia,serif; letter-spacing:-.06em; }
.articles-archive>header>p:last-child { color:#657273; font-size:18px; }
.archive-empty { padding:55px; border:1px solid var(--line); color:#687474; background:white; }
.article-page { padding:clamp(72px,8vw,120px) 20px 120px; }
.article-page>article { max-width:940px; margin:0 auto; }
.article-hero { max-width:820px; margin:0 auto 52px; }
.article-back { display:inline-block; margin-bottom:55px; color:#5e6b6c; font-size:11px; font-weight:700; }
.article-back:hover { color:var(--blue); }
.article-kicker { display:flex; gap:14px; color:#6d7979; font:500 9px "DM Mono",monospace; text-transform:uppercase; letter-spacing:.08em; }
.article-kicker span:after { content:"·"; margin-left:14px; }
.article-hero h1 { margin:24px 0 22px; font:400 clamp(52px,7vw,94px)/.9 "Instrument Serif",Georgia,serif; letter-spacing:-.055em; }
.article-deck { max-width:720px; margin:0; color:#536162; font-size:clamp(18px,2vw,23px); line-height:1.45; }
.article-byline { margin:28px 0 0; font-size:11px; font-weight:700; }
.article-cover { margin:0 0 62px; padding:0; aspect-ratio:16/9; overflow:hidden; background:#dce5e2; }
.article-cover img { width:100%; height:100%; display:block; object-fit:cover; }
.article-body { max-width:720px; margin:0 auto; color:#29383d; font-size:18px; line-height:1.82; }
.article-body p { margin:0 0 1.55em; }
.article-end { max-width:720px; margin:65px auto 0; padding-top:28px; display:flex; align-items:center; gap:14px; border-top:1px solid var(--line); color:#637071; font-size:12px; }
.article-end span { width:34px; height:34px; display:grid; place-items:center; border-radius:50%; background:var(--blue); color:white; }
.article-end p { margin:0; }
.not-found { min-height:70vh; padding:clamp(90px,12vw,170px) max(6vw,calc((100vw - 1000px)/2)); }
.not-found h1 { max-width:700px; margin:24px 0 16px; font:400 clamp(55px,8vw,100px)/.88 "Instrument Serif",Georgia,serif; letter-spacing:-.055em; }
.not-found>p:not(.micro-label) { color:#607071; }
@media(max-width:900px){.article-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.articles-minimal{padding:76px 20px}.articles-heading{align-items:start;flex-direction:column}.article-grid{grid-template-columns:1fr}.article-card h2{font-size:31px}.articles-archive{padding:78px 20px}.article-page{padding:58px 20px 90px}.article-back{margin-bottom:40px}.article-cover{margin-left:-20px;margin-right:-20px;aspect-ratio:4/3}.article-body{font-size:17px}.article-hero h1{font-size:55px}}
