:root { --ink:#eeeef0; --muted:#a7a7ad; --paper:#111113; --surface:#19191c; --line:#303035; --gold:#c9a568; --red:#e78378; font-family:Arial,Helvetica,sans-serif; color:var(--ink); background:var(--paper); }
* { box-sizing:border-box; } html { scroll-behavior:smooth; } body { margin:0; background:radial-gradient(1000px 500px at 75% -10%,#5b4b3228,transparent 60%),var(--paper); } .wrap { width:min(1180px,calc(100% - 48px)); margin:0 auto; }
.site-header,.site-footer { min-height:80px; display:flex; justify-content:space-between; align-items:center; gap:22px; border-bottom:1px solid var(--line); } .brand img { display:block; width:140px; height:auto; filter:brightness(0) invert(1); } nav { display:flex; align-items:center; gap:24px; flex-wrap:wrap; } a { color:inherit; text-underline-offset:4px; } nav a { color:var(--muted); text-decoration:none; font-size:12px; letter-spacing:.06em; text-transform:uppercase; } nav a:hover,.site-footer a:hover { color:var(--gold); }.quiet-link { color:var(--ink); }
.hero { padding:110px 0 88px; } .eyebrow { color:var(--gold); font-size:11px; font-weight:700; letter-spacing:.15em; text-transform:uppercase; margin:0 0 18px; }.hero-grid { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(260px,.7fr); gap:64px; align-items:end; } h1,h2,h3,p { margin-top:0; } h1 { max-width:820px; font-family:Georgia,serif; font-size:clamp(42px,6vw,78px); font-weight:400; line-height:.98; letter-spacing:-.045em; margin-bottom:28px; } h1 em,h2 em { color:var(--gold); font-weight:400; }.lede { max-width:600px; color:var(--muted); font-size:18px; line-height:1.55; }.actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:34px; }.button { display:inline-flex; justify-content:center; align-items:center; gap:13px; min-height:48px; padding:12px 17px; border:1px solid var(--gold); color:var(--ink); background:transparent; cursor:pointer; text-decoration:none; font:700 12px/1 Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; }.button:hover { background:#d2ad6e; color:#141311; }.button-primary { background:var(--gold); color:#16130e; }.button-primary:hover { background:#e1bf84; }.hero-note { min-height:280px; padding:26px; border:1px solid var(--line); display:flex; flex-direction:column; background:linear-gradient(145deg,#242117,#17171a); }.note-number,.steps span { color:var(--gold); font:700 12px monospace; letter-spacing:.14em; }.hero-note p { margin:48px 0 8px; color:var(--muted); font-size:12px; text-transform:uppercase; letter-spacing:.1em; }.hero-note strong { font:400 27px/1.1 Georgia,serif; }.hero-note small { color:var(--muted); line-height:1.45; margin-top:20px; }
.section { padding:84px 0; border-top:1px solid var(--line); } h2 { max-width:700px; font:400 clamp(34px,4vw,52px)/1 Georgia,serif; letter-spacing:-.04em; margin-bottom:42px; }.steps { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }.steps article { padding:25px 22px; min-height:225px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }.steps h3 { margin:38px 0 10px; font:400 25px Georgia,serif; }.steps p { color:var(--muted); font-size:14px; line-height:1.5; }.programme-grid { padding:84px 0; display:grid; grid-template-columns:1fr 1.1fr; gap:70px; border-top:1px solid var(--line); }.programme-grid h2 { margin:0; font-size:36px; }.programme-grid ul { margin:0; padding:0; list-style:none; }.programme-grid li { border-top:1px solid var(--line); padding:18px 0; display:grid; gap:7px; }.programme-grid li:last-child { border-bottom:1px solid var(--line); }.programme-grid b { font:400 23px Georgia,serif; }.programme-grid span { color:var(--muted); font-size:14px; line-height:1.45; }
.application-section { background:#eeece6; color:#191919; padding:86px 0; }.application-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:70px; position:relative; }.application-grid h2 { font-size:43px; }.application-grid > div > p:not(.eyebrow) { color:#5b5a56; line-height:1.55; }.fine-print { font-size:12px; margin-top:32px!important; }.application-form { background:#fff; padding:30px; display:grid; gap:17px; box-shadow:0 18px 55px #00000012; }.form-row { display:grid; grid-template-columns:1fr 1fr; gap:15px; } label { display:grid; gap:7px; font-size:12px; font-weight:700; letter-spacing:.04em; } input,textarea { width:100%; padding:12px; border:1px solid #c9c6bd; border-radius:0; color:#191919; background:#fff; font:16px Arial,sans-serif; } input:focus,textarea:focus { outline:2px solid #ad8b52; outline-offset:1px; }.field-note { margin:-10px 0 0; color:#66635c; font-size:12px; } fieldset { padding:14px; border:1px solid #c9c6bd; } legend { padding:0 4px; font-size:12px; font-weight:700; }.check-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }.check-grid label,.terms { display:flex; align-items:start; font-weight:400; letter-spacing:0; line-height:1.4; }.check-grid input,.terms input { width:auto; margin:2px 7px 0 0; }.application-form .button { width:max-content; border:0; }.form-message { min-height:18px; margin:0; color:#a62d26; font-size:13px; }.application-success { align-self:start; padding:40px; background:#fff; box-shadow:0 18px 55px #00000012; }.application-success h3 { font:400 37px Georgia,serif; margin-bottom:15px; }.application-success .button { margin-top:15px; }
.site-footer { min-height:90px; border-bottom:0; color:var(--muted); font:11px monospace; letter-spacing:.05em; }.site-footer a { text-decoration:none; }
@media (max-width:780px) { .wrap { width:min(100% - 32px,1180px); }.site-header { min-height:68px; }.site-header nav a:not(.quiet-link) { display:none; }.hero { padding:72px 0 58px; }.hero-grid,.programme-grid,.application-grid { grid-template-columns:1fr; gap:30px; }.steps { grid-template-columns:1fr 1fr; }.application-section { padding:58px 0; }.form-row,.check-grid { grid-template-columns:1fr; }.application-form { padding:20px; }.site-footer { align-items:flex-start; flex-direction:column; padding:22px 0; gap:12px; } }
@media (max-width:440px) { .steps { grid-template-columns:1fr; } h1 { font-size:44px; }.actions .button { width:100%; }.hero-note { min-height:230px; } }
