/* Design Ledger Learning Center: one type and space system on the golden ratio.
   Type steps are 16px × √φ (φ = 1.618): 13 · 16 · 20 · 26 · 33 · 42 · 53 · 68 · 86 · 110.
   Space steps follow the same series: 8 · 13 · 16 · 21 · 26 · 34 · 42 · 55 · 68 · 89 · 110 · 144.
   Layout splits use 1 : 1.618. Loaded last, so it governs the template tokens. */

:root,body,.body{
  --phi:1.618;
  /* type */
  --_typescale---typescale-h1--size:5.375rem!important;            /* 86 */
  --_typescale---typescale-h1--line-height:.95!important;
  --_typescale---typescale-h1--letter-space:-.01em!important;
  --_typescale---typescale-h2--size:2.0625rem!important;           /* 33 */
  --_typescale---typescale-h2--line-height:1!important;
  --_typescale---typescale-h2--letter-space:0px!important;
  --_typescale---typescale-h3--size-large:1.625rem!important;      /* 26 */
  --_typescale---typescale-h3--line-height-large:1.12!important;
  --_typescale---typescale-subhead--size:1.625rem!important;       /* 26 */
  --_typescale---typescale-subhead--line-height:1.236!important;
  --_typescale---typescale-h3--size:1.625rem!important;            /* 26 */
  --_typescale---typescale-h3--line-height:1.236!important;
  --_typescale---typescale-h4--size:1.25rem!important;             /* 20 */
  --_typescale---typescale-h4--line-height:1.3!important;
  --_typescale---typescale-h5--size:1rem!important;
  --_typescale---typescale-h5--line-height:1.5!important;
  --_typescale---typescale-paragraph-1--size:1.25rem!important;    /* 20 */
  --_typescale---typescale-paragraph-1--line-height:1.5!important;
  --_typescale---typescale-paragraph-2--size:1rem!important;       /* 16 */
  --_typescale---typescale-paragraph-2--line-height:1.618!important;
  --_typescale---typescale-paragraph-3--size:.8125rem!important;   /* 13 */
  --_typescale---typescale-paragraph-3--line-height:1.618!important;
  --_typescale---typescale-caption--size:.8125rem!important;
  --_typescale---typescale-caption--line-height:1.3!important;
  --_typescale---typescale-button--size:1rem!important;            /* 16 */
  --_typescale---typescale-button--line-height:1.625rem!important;
  --_typescale---typescale-numbers-1--size:6.875rem!important;     /* 110 */
  --_typescale---typescale-numbers-2--size:2.625rem!important;     /* 42 */
  /* space */
  --_spacing---section--edge:.5rem!important;
  --_spacing---section--5xsmall:.5rem!important;                   /* 8 */
  --_spacing---section--4xsmall:.8125rem!important;                /* 13 */
  --_spacing---section--3xsmall:1rem!important;                    /* 16 */
  --_spacing---section--2xsmall:1.625rem!important;                /* 26 */
  --_spacing---section--xsmall:2.125rem!important;                 /* 34 */
  --_spacing---section--small:3.4375rem!important;                 /* 55 */
  --_spacing---section--medium:3.4375rem!important;                /* 55 */
  --_spacing---section--large:4.25rem!important;                   /* 68 */
  --_spacing---section--xlarge:4.25rem!important;                  /* 68 */
  --_spacing---section--2xlarge:5.5625rem!important;               /* 89 */
  --_spacing---section--3xlarge:6.875rem!important;                /* 110 */
  --_spacing---section--page-padding:3.4375rem!important;          /* 55 */
  --_spacing---section--page-gap:1rem!important;
  --_spacing---section--grid-gap:1rem!important;
  --_spacing---section--grid-gap-small:.5rem!important;
  --_paddings---small:1.625rem!important;                          /* 26 */
  --_paddings---medium:2.125rem!important;                         /* 34 */
  --_paddings---large:3.4375rem!important;                         /* 55 */
}
@media (max-width:991px){:root,body,.body{
  --_typescale---typescale-h1--size:4.25rem!important;             /* 68 */
  --_typescale---typescale-h2--size:1.625rem!important;            /* 26 */
  --_typescale---typescale-subhead--size:1.25rem!important;        /* 20 */
  --_typescale---typescale-h3--size-large:1.25rem!important;
  --_typescale---typescale-h3--size:1.375rem!important;            /* 22 */
  --_typescale---typescale-numbers-1--size:5.375rem!important;
  --_spacing---section--3xlarge:5.5625rem!important;               /* 89 */
  --_spacing---section--2xlarge:4.25rem!important;                 /* 68 */
  --_spacing---section--xlarge:3.4375rem!important;                /* 55 */
  --_spacing---section--large:2.625rem!important;                  /* 42 */
  --_spacing---section--page-padding:1.3125rem!important;          /* 21 */
}}
@media (max-width:767px){:root,body,.body{
  --_typescale---typescale-h1--size:2.625rem!important;            /* 42 */
  --_typescale---typescale-h2--size:1.625rem!important;            /* 26 */
  --_typescale---typescale-subhead--size:1.25rem!important;        /* 20 */
  --_typescale---typescale-h3--size-large:1.375rem!important;
  --_typescale---typescale-h3--size:1.25rem!important;             /* 20 */
  --_typescale---typescale-h4--size:1.0625rem!important;
  --_typescale---typescale-paragraph-1--size:1.0625rem!important;
  --_typescale---typescale-numbers-1--size:4.25rem!important;
  --_typescale---typescale-numbers-2--size:2.0625rem!important;
  --_spacing---section--3xlarge:4.25rem!important;                 /* 68 */
  --_spacing---section--2xlarge:3.4375rem!important;               /* 55 */
  --_spacing---section--xlarge:2.625rem!important;
  --_spacing---section--large:2.125rem!important;
  --_spacing---section--small:2.125rem!important;
  --_spacing---section--medium:2.125rem!important;
  --_spacing---section--page-padding:.8125rem!important;           /* 13 */
  --_paddings---small:1rem!important;--_paddings---medium:1.3125rem!important;--_paddings---large:1.625rem!important;
}}

/* Measure: running text never runs wider than 68ch */
.paragraph-1,.subhead,.dl-prog__about p{max-width:42em}
.paragraph-2{max-width:68ch}

/* ---------- course hero: image holds 1.618 of the width whatever the title ---------- */
.w-layout-grid.page-gap:has(> .dl-hero-col){grid-template-columns:minmax(0,1fr) minmax(0,1.618fr)!important;gap:var(--_spacing---section--xsmall)!important;align-items:stretch}
.dl-hero-col{container-type:inline-size;min-width:0;padding:var(--_spacing---section--xsmall) 0}
.dl-hero-col h1{font-size:min(11cqi,5.375rem)!important;line-height:.95!important;margin:0;overflow-wrap:normal}
.dl-hero-col .margin-top-2xsmall{margin-top:var(--_spacing---section--xsmall)}
.page-gap:has(> .dl-hero-col)>.image-wrapper{min-width:0;aspect-ratio:4/3;align-self:center}
.page-gap:has(> .dl-hero-col)>.image-wrapper img{width:100%;height:100%;object-fit:cover}
.dl-hero-actions{gap:var(--_spacing---section--4xsmall);flex-wrap:nowrap}
.dl-hero-actions .button-content{padding:.8125rem 1.625rem!important;white-space:nowrap}
@media (max-width:420px){.dl-hero-actions{flex-wrap:wrap}}
.dl-author{gap:var(--_spacing---section--4xsmall)}
.dl-author img{width:55px;height:55px;flex:0 0 55px}
@media (max-width:1199px){.w-layout-grid.page-gap:has(> .dl-hero-col){grid-template-columns:1fr!important}.dl-hero-col h1{font-size:min(11cqi,4.25rem)!important}}

/* hero stats: four equal cells, one rhythm */
.banner-columns{gap:var(--_spacing---section--4xsmall)!important;margin-top:var(--_spacing---section--4xsmall)}
.number-wrap{padding:var(--_paddings---small)!important}
.number-wrap .heading-3{margin:0 0 .25rem}

/* ---------- course program: 1 : 1.618 ---------- */
.dl-prog{grid-template-columns:minmax(0,1.618fr) minmax(0,1fr)!important;gap:var(--_spacing---section--small)!important}
.dl-prog h2{margin:0 0 var(--_spacing---section--2xsmall)!important}
.dl-prog__about{margin:0 0 var(--_spacing---section--small)!important}
.dl-prog__about p{margin:0 0 var(--_spacing---section--2xsmall)!important}
.dl-prog__bul li{margin:0 0 .5rem!important}
.dl-prog__group{margin:var(--_spacing---section--xsmall) 0 var(--_spacing---section--4xsmall)!important}
.dl-prog__list{gap:.5rem!important}
.dl-prog__row{padding:1rem 1.3125rem!important;gap:1rem!important;border-radius:var(--_borders-radius---xsmall,1rem)!important}
.dl-prog__card{padding:var(--_paddings---medium)!important;border-radius:var(--_borders-radius---medium,2rem)!important}
.dl-prog__card h3{margin:0 0 .8125rem!important}
.dl-prog__items{gap:.8125rem!important;margin:0 0 var(--_spacing---section--2xsmall)!important}
.dl-prog__btn{height:3.4375rem!important;font-size:1rem!important}
@media (max-width:991px){.dl-prog{grid-template-columns:1fr!important}}


/* ---------- enrol banner ---------- */
.dl-prog__cta{padding:var(--_spacing---section--small)!important;gap:var(--_spacing---section--xsmall)!important;border-radius:var(--_borders-radius---large,3rem)!important}
.dl-prog__cta h2{font-size:var(--_typescale---typescale-h2--size)!important;line-height:1.05!important;max-width:16em!important;letter-spacing:-.01em!important}
.dl-cta-pad{padding:var(--_spacing---section--xsmall) 0!important}

/* ---------- interaction: one feel everywhere ---------- */
.button-wrap,.dl-prog__btn,.dl-mega__arrow,.dl-top__pill{transition:transform .16s cubic-bezier(.23,1,.32,1),background-color .2s,border-color .2s,color .2s}
.button-wrap:active,.dl-prog__btn:active,.dl-top__pill:active{transform:scale(.97)}
.dl-prog__row{transition:background-color .2s,transform .2s cubic-bezier(.23,1,.32,1)}
.dl-prog__row:hover{background:#e5e8ef;transform:translateX(3px)}
a:focus-visible,button:focus-visible{outline:2px solid #8b5cf6;outline-offset:3px}
::selection{background:#ede8fb;color:#1d1538}
@media (prefers-reduced-motion:reduce){.button-wrap,.dl-prog__btn,.dl-prog__row{transition:none}.dl-prog__row:hover{transform:none}}

/* small labels on one step */
.tag-text{font-size:.8125rem!important;line-height:1.3!important;letter-spacing:.04em!important}
/* one alignment: every section title starts on the same left edge */
.dl-main .layout-center{justify-content:flex-start!important;text-align:left!important}
.dl-main .layout-center .align-center,.dl-main .align-center{text-align:left!important;margin-left:0!important}
.dl-main .layout-center{display:block!important;width:100%!important;max-width:none!important;padding-left:0!important;margin-left:0!important}
.dl-main .layout-center .align-center{max-width:none!important;padding:0!important;margin:0!important}
