:root{--ink:#262027;--plum:#58233f;--accent:#975373;--muted:#6e626a;--line:#e1d9de;--paper:#fff;--tint:#f5f1f4;font-family:Arial,Helvetica,sans-serif;color:var(--ink);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;background:var(--paper)}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--accent);outline-offset:6px}h1,h2,h3,p{margin:0}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.055em}em{font-weight:400;color:var(--plum)}h2{font-size:clamp(2.6rem,4.2vw,4.5rem);line-height:1.08}p{font-size:1rem;line-height:1.7}section[id]{scroll-margin-top:20px}.skip{position:absolute;top:-100px;background:white;padding:15px;z-index:99}.skip:focus{top:10px}.header{height:105px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;border-bottom:1px solid var(--line);background:white;gap:20px}.brand{display:inline-flex;flex-direction:column;width:max-content}.brand img{display:block;width:180px;max-width:100%;height:auto}footer .brand img{width:245px}.header nav{display:flex;align-items:center;gap:35px;font-size:.875rem}.nav-contact{padding:13px 22px;border:1px solid var(--plum);color:var(--plum)}.header nav a:hover,.text-link:hover{color:var(--accent)}.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:650px}.hero-copy{padding:55px 10% 55px 10%;display:flex;flex-direction:column;justify-content:center}.eyebrow{font-size:.8125rem;line-height:1.5;letter-spacing:.15em;font-weight:500}.hero h1{font-size:clamp(3.8rem,6.4vw,6.8rem);line-height:.98;margin:30px 0}.hero h1 em{display:block}.hero-description{max-width:370px;color:var(--muted);line-height:1.65}.actions{display:flex;gap:25px;align-items:center;flex-wrap:wrap;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:center;padding:17px 23px;font-size:.875rem;line-height:1.4;border:1px solid var(--plum);transition:background .2s,color .2s;min-height:48px}.primary{background:var(--plum);color:white}.primary:hover{background:#713451}.text-link{font-size:.875rem;padding-bottom:5px;border-bottom:1px solid currentColor;display:inline-block;width:max-content;max-width:100%}.hero-media{position:relative;overflow:hidden;min-height:650px;background:#d1c8bc}.hero-media video{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.hero-media:after{content:'';position:absolute;inset:65% 0 0;background:linear-gradient(transparent,rgba(20,12,18,.6));pointer-events:none}.media-caption{position:absolute;bottom:34px;left:35px;right:35px;color:white;display:flex;flex-direction:column;gap:10px;z-index:1}.media-caption span:first-child{font-size:.75rem;letter-spacing:.17em}.media-caption span:last-child{font-family:Georgia,serif;font-size:1.7rem}.video-control{position:absolute;top:22px;right:22px;z-index:2;color:white;background:rgba(30,20,25,.65);border:1px solid rgba(255,255,255,.6);font-size:.875rem;padding:10px 14px}.intro-strip{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:25px 5%;border-bottom:1px solid var(--line);font-size:.875rem;color:var(--muted)}.section{padding:90px 7%}.school{display:grid;grid-template-columns:1.05fr 1fr;gap:9%;align-items:start}.school h2{margin-top:28px}.school-text p+p{margin-top:20px}.school-text .lead{font-size:1.375rem;line-height:1.55}.school-text>p:not(.lead){color:var(--muted)}.school-text a{margin-top:25px}.degree{background:var(--tint)}.degree-top{display:flex;justify-content:space-between;align-items:center;gap:20px}.pill{border:1px solid #a27a91;color:var(--plum);font-size:.75rem;letter-spacing:.09em;padding:10px 15px;border-radius:30px}.degree-heading{display:grid;grid-template-columns:1.4fr .8fr;gap:9%;align-items:end;margin-top:35px}.degree-heading>p{color:var(--muted);max-width:360px}.facts{display:grid;grid-template-columns:.7fr 1fr 1fr .8fr;margin:45px 0 60px;border-top:1px solid #d4c8d0;border-bottom:1px solid #d4c8d0;padding:25px 0;gap:20px}.facts dt{font-size:.875rem;color:var(--muted);margin-bottom:10px}.facts dd{margin:0;font-size:1.125rem;line-height:1.5}.facts dd small{font-size:.875rem}.degree-body{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.study-visual img{width:100%;height:auto;max-width:480px;display:block;aspect-ratio:1;object-fit:cover}.study-visual p{font-size:.875rem;margin-top:18px;color:var(--muted)}.study-visual small{font-size:.75rem}.learning [role=tablist]{display:flex;margin-top:25px;border-bottom:1px solid #cec0c8}.year-tab{border:0;background:none;padding:17px 24px 17px 0;margin-right:24px;color:var(--muted);border-bottom:2px solid transparent;min-height:48px}.year-tab.active{color:var(--plum);border-color:var(--plum)}.year-panel{padding:27px 0}.year-panel h3{font-family:Georgia,serif;font-weight:400;font-size:1.875rem;letter-spacing:-.035em;margin-bottom:16px}.year-panel p{color:var(--muted)}.year-panel ul{margin:20px 0 0;padding-left:19px;line-height:1.8;font-size:.9375rem}.year-panel li{margin-bottom:6px}.method>h2{margin-top:22px}.method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6%;margin-top:50px}.method-grid article{border-top:1px solid var(--line);padding-top:20px}.number{font-family:Georgia,serif;color:var(--accent);font-size:1.5rem}.method h3{font-weight:400;font-size:1.375rem;margin:22px 0 14px}.method p:not(.eyebrow){color:var(--muted)}.courses{border-top:1px solid var(--line);padding-top:75px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:45px}.section-heading h2{margin-top:22px}.section-heading>p{color:var(--muted);max-width:300px}.course-row{display:grid;grid-template-columns:60px 1.3fr .7fr 150px;gap:25px;align-items:center;padding:30px 0;border-top:1px solid var(--line);transition:color .2s}.course-row:last-child{border-bottom:1px solid var(--line)}.course-row:hover{color:var(--accent)}.course-number{font-family:Georgia,serif;font-size:1.5rem;color:var(--muted)}.course-category{font-size:.75rem;letter-spacing:.12em;color:var(--muted)}.course-row h3{font-family:Georgia,serif;font-weight:400;font-size:clamp(1.65rem,2.5vw,2.5rem);letter-spacing:-.04em;line-height:1.12;margin-top:10px}.course-meta{display:flex;flex-direction:column;gap:9px;font-size:.875rem;color:var(--muted)}.course-cta{justify-self:end;border-bottom:1px solid currentColor;font-size:.875rem;padding-bottom:6px}.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:10%;background:var(--tint)}.faq h2{margin:25px 0}.faq>div>p:not(.eyebrow){color:var(--muted);max-width:280px}.faq-list details{border-top:1px solid #d4c8d0}.faq-list details:last-child{border-bottom:1px solid #d4c8d0}.faq-list summary{padding:23px 35px 23px 0;cursor:pointer;font-size:1rem;line-height:1.5;list-style:none;position:relative}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';position:absolute;right:0;top:19px;font-size:1.5rem;font-weight:300;color:var(--plum)}.faq-list details[open] summary:after{content:'−'}.faq-list details p{padding:0 30px 25px 0;color:var(--muted);font-size:.9375rem}.faq-list details a{margin-bottom:25px}.contact{background:var(--plum);color:white;padding-top:75px;padding-bottom:75px}.contact h2{font-size:clamp(3rem,5.7vw,6rem);margin-top:28px}.contact h2 em{color:#e6c6d9}.contact-bottom{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-top:35px}.contact-bottom p{color:#eadce5}.light{background:white;color:var(--plum);border-color:white}.light:hover{background:#ecdce6}footer{padding:45px 5% 30px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px}footer>div{display:flex;flex-direction:column;gap:12px;font-size:.875rem;color:var(--muted);padding-top:10px}footer>p{grid-column:1/-1;font-size:.75rem;color:var(--muted);border-top:1px solid var(--line);padding-top:25px;margin-top:10px}footer a:hover{color:var(--accent)}[hidden]{display:none!important}
/* Allow grid content to shrink to the available width. */
.hero > *, .school > *, .degree-heading > *, .degree-body > *,
.facts > *, .course-row > *, .faq > *, footer > * { min-width: 0; }
.button { max-width: 100%; text-align: center; }
.menu-toggle { display: none; }

@media(min-width:1700px){.hero{min-height:760px}.hero-media{min-height:760px}.hero-copy{padding-left:14%}}@media(max-width:1000px){.hero-copy{padding:45px 8%}.header nav{gap:20px}.hero h1{font-size:clamp(3.25rem,6.8vw,4.5rem)}.hero,.hero-media{min-height:610px}.section{padding:65px 6%}.school,.degree-body,.faq{gap:6%}.degree-heading{gap:5%}.course-row{grid-template-columns:40px 1.3fr .6fr 120px;gap:15px}.intro-strip{font-size:.8125rem}}
@media (max-width: 800px) {
  html { scroll-padding-top: 20px; }
  h2 { font-size: clamp(2.25rem, 9.3vw, 3.25rem); line-height: 1.12; }
  .header {
    height: auto;
    padding: 16px 6%;
    align-items: center;
    gap: 12px 16px;
    flex-wrap: wrap;
  }
  .header .brand img { width: clamp(145px, 45vw, 180px); }
  .header.menu-ready .menu-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-height: 46px;
    padding: 10px 14px;
    border: 1px solid var(--line);
    background: white;
    color: var(--plum);
    font-size: .875rem;
  }
  .menu-icon { position: relative; width: 16px; height: 12px; }
  .menu-icon::before, .menu-icon::after {
    content: '';
    position: absolute;
    left: 0;
    width: 16px;
    height: 1px;
    background: currentColor;
    transition: transform .2s;
  }
  .menu-icon::before { top: 3px; }
  .menu-icon::after { top: 9px; }
  .menu-toggle[aria-expanded=true] .menu-icon::before { transform: translateY(3px) rotate(45deg); }
  .menu-toggle[aria-expanded=true] .menu-icon::after { transform: translateY(-3px) rotate(-45deg); }
  .header nav {
    width: 100%;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding-top: 8px;
    font-size: .9375rem;
  }
  .header.menu-ready nav { display: none; }
  .header.menu-ready nav.is-open { display: flex; }
  .header nav a {
    display: flex;
    align-items: center;
    min-height: 48px;
    padding: 12px 4px;
    border-bottom: 1px solid var(--line);
  }
  .header nav .nav-contact {
    margin-top: 12px;
    padding: 12px 16px;
    justify-content: center;
    border: 1px solid var(--plum);
  }
  .hero { display: flex; flex-direction: column; min-height: 0; }
  .hero-copy { padding: 38px 6% 42px; }
  .hero h1 { font-size: clamp(3.25rem, 13.2vw, 4.75rem); line-height: 1.04; margin: 24px 0; }
  .hero-description { max-width: 440px; }
  .actions { display: grid; grid-template-columns: minmax(0, 1fr); gap: 22px; margin-top: 26px; }
  .actions .button { width: 100%; }
  .actions .text-link { justify-self: start; }
  .hero-media { width: 100%; min-height: 0; max-height: 480px; aspect-ratio: 4 / 3; flex: none; }
  .media-caption { left: 6%; right: 6%; bottom: 24px; gap: 8px; }
  .media-caption span:last-child { font-size: clamp(1.35rem, 6vw, 1.7rem); line-height: 1.2; }
  .video-control { top: 16px; right: 6%; min-height: 44px; }
  .intro-strip { display: grid; grid-template-columns: minmax(0, 1fr); padding: 24px 6%; gap: 13px; }
  .intro-strip span { border-left: 2px solid var(--accent); padding-left: 13px; }
  .section { padding: 52px 6%; }
  .school, .degree-heading, .degree-body, .faq { grid-template-columns: minmax(0, 1fr); gap: 30px; }
  .school h2 { margin-top: 22px; }
  .school-text .lead { font-size: 1.2rem; }
  .degree-top { align-items: start; flex-wrap: wrap; gap: 16px; }
  .pill { max-width: 100%; line-height: 1.5; text-align: center; }
  .degree-heading { margin-top: 25px; gap: 24px; }
  .degree-heading > p { max-width: 100%; }
  .facts { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 16px; margin: 30px 0 36px; }
  .facts dt { line-height: 1.5; margin-bottom: 8px; }
  .facts dd { font-size: 1rem; }
  .study-visual img { max-width: 100%; height: auto; }
  .learning { margin-top: 4px; }
  .learning [role=tablist] { width: 100%; gap: 12px; }
  .year-tab { flex: 1; min-width: 0; margin: 0; padding: 15px 6px; font-size: .9375rem; }
  .year-panel h3 { font-size: 1.75rem; line-height: 1.2; }
  .learning .button { width: 100%; }
  .method-grid { grid-template-columns: minmax(0, 1fr); gap: 28px; margin-top: 32px; }
  .method-grid article { display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 12px; }
  .method-grid .number { grid-row: 1 / 3; }
  .method-grid h3 { margin: 0; line-height: 1.35; }
  .method-grid p { grid-column: 2; }
  .section-heading { display: block; margin-bottom: 30px; }
  .section-heading > p { margin-top: 24px; max-width: 100%; }
  .course-row { grid-template-columns: 28px minmax(0, 1fr); gap: 12px; padding: 26px 0; }
  .course-number { align-self: start; margin-top: 2px; }
  .course-category { display: block; line-height: 1.65; letter-spacing: .09em; }
  .course-row h3 { font-size: clamp(1.65rem, 7vw, 2rem); line-height: 1.2; }
  .course-meta { grid-column: 2; flex-direction: row; flex-wrap: wrap; gap: 12px 20px; }
  .course-cta { grid-column: 2; justify-self: start; display: inline-flex; align-items: center; min-height: 44px; padding: 6px 0; }
  .faq { gap: 26px; }
  .faq > div > p:not(.eyebrow) { max-width: 100%; }
  .faq-list summary { padding-right: 28px; }
  .faq-list details p { padding-right: 0; }
  .faq-list .button { width: 100%; }
  .contact h2 { font-size: clamp(2.375rem, 9.5vw, 3.25rem); line-height: 1.12; }
  .contact-bottom { align-items: stretch; flex-direction: column; gap: 24px; }
  .contact-bottom .button { width: 100%; }
  footer { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 34px 6% 25px; gap: 24px; }
  footer .brand { grid-column: 1 / -1; }
  footer .brand img { width: 210px; }
  footer > div { font-size: .875rem; overflow-wrap: anywhere; line-height: 1.5; }
}

@media (max-width: 480px) {
  footer { grid-template-columns: minmax(0, 1fr); gap: 22px; }
  footer > div { padding-top: 0; }
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
