
    :root {
      --ink: #102e4a;
      --ink-2: #173e5d;
      --rust: #bd431f;
      --gold: #dfa34c;
      --cream: #f4efe5;
      --paper: #fffdf7;
      --sand: #e7dece;
      --muted: #65727c;
      --serif: Georgia, "Times New Roman", serif;
      --sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      --shadow: 0 18px 50px rgba(24, 41, 52, .12);
    }
    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body { margin: 0; background: var(--cream); color: var(--ink); font-family: var(--sans); line-height: 1.55; }
    a { color: inherit; text-decoration: none; }
    button { font: inherit; }
    .announcement { padding: 9px 20px; background: var(--ink); color: #f8f1e4; text-align: center; font-size: .76rem; letter-spacing: .14em; text-transform: uppercase; }
    .announcement strong { color: #ffc16b; font-weight: 750; }
    .site-header { position: sticky; top: 0; z-index: 20; background: rgba(244,239,229,.93); backdrop-filter: blur(15px); border-bottom: 1px solid rgba(16,46,74,.1); }
    .nav-wrap { width: min(1180px, calc(100% - 40px)); min-height: 78px; margin: auto; display: flex; align-items: center; justify-content: space-between; gap: 26px; }
    .brand { display: flex; align-items: center; gap: 11px; min-width: max-content; }
    .brand-mark { display:grid; place-items:center; width:44px; height:44px; border-radius:50%; color:#fff8e9; background:var(--ink); font: bold 1.85rem/1 var(--serif); position:relative; }
    .brand-mark:after { content:""; position:absolute; inset:4px; border:1px solid rgba(255,255,255,.42); border-radius:50%; }
    .brand-name { font: 700 1.05rem/1.03 var(--serif); letter-spacing:.03em; }
    .brand-sub { display:block; margin-top:4px; font: 700 .56rem/1.2 var(--sans); text-transform:uppercase; letter-spacing:.18em; color:var(--rust); }
    .nav-links { display:flex; align-items:center; gap:27px; font-size:.84rem; color:#425567; }
    .nav-links a:hover { color:var(--rust); }
    .nav-cta, .button { display:inline-flex; align-items:center; justify-content:center; gap:9px; padding:12px 18px; border-radius:4px; border:1px solid var(--rust); background:var(--rust); color:#fff9ec; font-size:.78rem; font-weight:750; letter-spacing:.07em; text-transform:uppercase; transition:.2s ease; }
    .nav-cta:hover, .button:hover { background:#973517; border-color:#973517; transform:translateY(-1px); }
    .button.secondary { color:var(--ink); background:transparent; border-color:rgba(16,46,74,.35); }
    .button.secondary:hover { color:white; background:var(--ink); }
    .menu-toggle { display:none; border:0; background:none; color:var(--ink); font-size:1.4rem; padding:8px; }
    .hero { position:relative; overflow:hidden; padding:64px 20px 82px; background:radial-gradient(ellipse at 83% 23%, rgba(223,163,76,.18), transparent 34%), linear-gradient(180deg,#f4efe5 0%,#f8f4eb 100%); }
    .hero:before { content:""; position:absolute; width:460px; height:460px; border:1px solid rgba(189,67,31,.14); border-radius:50%; right:-155px; top:-200px; box-shadow:0 0 0 28px rgba(189,67,31,.025),0 0 0 60px rgba(189,67,31,.025); }
    .hero-grid { width:min(1180px,100%); margin:auto; display:grid; grid-template-columns:1.04fr .96fr; align-items:center; gap:58px; position:relative; }
    .eyebrow { display:flex; align-items:center; gap:10px; color:var(--rust); text-transform:uppercase; letter-spacing:.2em; font-size:.72rem; font-weight:800; }
    .eyebrow:before { content:""; width:28px; height:2px; background:var(--gold); }
    h1,h2,h3,p { margin-top:0; }
    h1 { margin:22px 0 17px; font:500 clamp(3.4rem,7.2vw,6.4rem)/.93 var(--serif); letter-spacing:-.065em; color:var(--ink); }
    h1 .five { color:var(--rust); }
    h1 .minute { font-size:.52em; letter-spacing:.01em; text-transform:uppercase; display:block; margin-top:9px; }
    .hero-copy { max-width:570px; color:#495967; font-size:1.08rem; }
    .hero-copy strong { color:var(--ink); font-weight:650; }
    .hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
    .hero-note { margin:23px 0 0; color:#78817f; font:italic .94rem var(--serif); }
    .hero-art { min-height:440px; display:flex; align-items:center; justify-content:center; position:relative; }
    .study-card { width:min(470px,100%); min-height:385px; position:relative; padding:34px 32px; background:#fffcf4; border:1px solid #e4d8c4; box-shadow:var(--shadow); transform:rotate(1.5deg); }
    .study-card:before { content:""; position:absolute; inset:12px; border:1px solid rgba(189,67,31,.26); pointer-events:none; }
    .study-card:after { content:""; position:absolute; right:-17px; top:22px; height:95px; width:8px; background:var(--rust); transform:rotate(-3deg); }
    .card-topline { display:flex; justify-content:space-between; align-items:center; font-size:.67rem; text-transform:uppercase; letter-spacing:.18em; color:#7a746a; position:relative; }
    .seal { display:grid; place-items:center; width:43px; height:43px; border-radius:50%; border:1px solid var(--gold); color:var(--rust); font:1.15rem var(--serif); }
    .study-title { position:relative; margin:25px 0 4px; text-align:center; font:600 2.18rem/.97 var(--serif); letter-spacing:-.04em; }
    .study-title em { color:var(--rust); font-style:normal; }
    .study-caption { text-align:center; color:#68737b; font-size:.72rem; letter-spacing:.17em; text-transform:uppercase; }
    .book-illustration { display:flex; justify-content:center; align-items:end; gap:2px; height:130px; margin:14px auto 19px; position:relative; }
    .book { width:145px; height:103px; background:linear-gradient(150deg,#fcf7e8,#e8d6ae); border:1px solid #bea77f; border-radius:5px 4px 2px 4px; transform:skewY(-6deg); box-shadow:inset -9px 0 rgba(104,75,40,.09), 0 10px 12px rgba(48,39,25,.11); position:relative; }
    .book.right { transform:skewY(6deg); border-radius:4px 5px 4px 2px; background:linear-gradient(210deg,#fff9ea,#eadab9); }
    .book:before { content:""; position:absolute; inset:17px 16px; border:1px solid rgba(137,98,54,.35); border-left:0; border-right:0; }
    .book:after { content:""; position:absolute; top:28px; left:20px; right:18px; height:1px; background:rgba(137,98,54,.3); box-shadow:0 9px rgba(137,98,54,.25),0 18px rgba(137,98,54,.25),0 27px rgba(137,98,54,.2); }
    .book-spine { height:107px; width:10px; background:var(--rust); border-radius:3px; z-index:2; }
    .study-tags { display:flex; justify-content:center; flex-wrap:wrap; gap:8px; position:relative; }
    .study-tags span { padding:6px 10px; border:1px solid #e5d9c3; color:#314c60; font-size:.65rem; text-transform:uppercase; letter-spacing:.09em; background:#fffdf8; }
    .orange-stroke { position:absolute; width:160px; height:14px; bottom:32px; left:17%; background:var(--rust); clip-path:polygon(0 38%,100% 0,98% 70%,8% 100%); opacity:.94; transform:rotate(-3deg); }
    .orbit-label { position:absolute; right:0; bottom:8px; display:flex; align-items:center; gap:9px; color:var(--rust); font:italic 1.18rem var(--serif); transform:rotate(-5deg); }
    .orbit-label:before { content:""; width:32px; height:1px; background:var(--rust); }
    .trustline { padding:19px 20px; background:var(--ink); color:#f8f0e4; }
    .trustline-inner { width:min(1180px,100%); margin:auto; display:flex; justify-content:space-between; gap:20px; align-items:center; }
    .trustline-label { font-size:.68rem; color:#e8b768; text-transform:uppercase; letter-spacing:.18em; }
    .trustline-items { display:flex; flex-wrap:wrap; gap:12px; font:italic 1rem var(--serif); }
    .trustline-items span:after { content:"•"; margin-left:12px; color:#e6a34e; font-style:normal; }
    .trustline-items span:last-child:after { content:""; margin:0; }
    .section { padding:86px 20px; }
    .section-inner { width:min(1180px,100%); margin:auto; }
    .section-head { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:34px; }
    .section-head h2 { margin:13px 0 0; max-width:620px; font:500 clamp(2.5rem,5vw,4.35rem)/.98 var(--serif); letter-spacing:-.055em; }
    .section-head p { max-width:390px; margin:0; color:var(--muted); font-size:.95rem; }
    .featured { background:var(--paper); }
    .course-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
    .course-card { background:#fffdf8; border:1px solid #e6ddcf; transition:transform .22s ease,box-shadow .22s ease,border .22s ease; min-height:260px; display:flex; flex-direction:column; }
    .course-card:hover { transform:translateY(-5px); border-color:#d6b881; box-shadow:0 15px 36px rgba(16,46,74,.09); }
    .course-card button { text-align:left; background:none; border:0; cursor:pointer; color:inherit; display:flex; flex:1; flex-direction:column; padding:25px; }
    .course-meta { display:flex; justify-content:space-between; align-items:center; color:var(--rust); font-size:.68rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
    .course-icon { display:grid; place-items:center; width:38px; height:38px; border-radius:50%; background:#f5ead9; color:var(--rust); font:1.25rem var(--serif); }
    .course-card h3 { margin:22px 0 11px; font:600 1.55rem/1.08 var(--serif); letter-spacing:-.025em; }
    .course-card p { margin:0; color:#64717b; font-size:.87rem; }
    .card-link { margin-top:auto; padding-top:20px; display:flex; justify-content:space-between; align-items:center; color:var(--ink); font-size:.76rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
    .arrow { color:var(--rust); font-size:1.25rem; transition:transform .2s; }
    .course-card:hover .arrow { transform:translateX(4px); }
    .catalog { padding-top:74px; background:#f3ede2; }
    .catalog-bar { display:flex; align-items:center; justify-content:space-between; margin-bottom:24px; gap:15px; }
    .catalog-bar h3 { margin:0; font:500 1.7rem var(--serif); }
    .catalog-count { color:#77808a; font-size:.77rem; }
    .catalog-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
    .catalog-item { display:flex; align-items:center; gap:13px; padding:17px 19px; min-height:77px; background:rgba(255,253,247,.72); border:1px solid #e5dccd; cursor:pointer; color:var(--ink); text-align:left; transition:.18s; }
    .catalog-item:hover { background:white; border-color:#d9ba85; transform:translateX(2px); }
    .catalog-num { color:#bd431f; font:italic 1.05rem var(--serif); }
    .catalog-item strong { flex:1; font:600 1.03rem/1.1 var(--serif); }
    .schedule { background:var(--ink); color:#f8f2e8; position:relative; overflow:hidden; }
    .schedule:after { content:""; position:absolute; width:470px; height:470px; border-radius:50%; border:1px solid rgba(232,183,104,.19); right:-190px; bottom:-310px; box-shadow:0 0 0 30px rgba(232,183,104,.04),0 0 0 65px rgba(232,183,104,.035); }
    .schedule .eyebrow { color:#eab665; }
    .schedule-grid { display:grid; grid-template-columns:.95fr 1.05fr; gap:70px; align-items:center; position:relative; z-index:1; }
    .schedule h2 { margin:15px 0 18px; font:500 clamp(2.7rem,5vw,4.6rem)/.98 var(--serif); letter-spacing:-.05em; }
    .schedule-copy { color:#c9d2d7; max-width:470px; }
    .schedule-note { color:#eab665; font:italic 1rem var(--serif); margin-top:24px; }
    .schedule-panel { border:1px solid rgba(239,221,187,.25); background:rgba(255,255,255,.045); padding:29px; }
    .schedule-row { display:grid; grid-template-columns:48px 1fr; gap:17px; padding:18px 0; border-bottom:1px solid rgba(239,221,187,.18); }
    .schedule-row:last-child { border:0; }
    .schedule-icon { display:grid; place-items:center; width:43px; height:43px; border:1px solid #cc8b44; color:#f4bf70; font-size:1.1rem; }
    .schedule-row small { display:block; color:#d7a760; font-size:.65rem; font-weight:800; text-transform:uppercase; letter-spacing:.15em; }
    .schedule-row strong { display:block; margin-top:2px; font:500 1.22rem var(--serif); }
    .schedule-row span { display:block; margin-top:3px; color:#c5cfd3; font-size:.8rem; }
    .path { background:var(--paper); }
    .path-grid { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--sand); }
    .path-step { padding:27px; min-height:193px; border-right:1px solid var(--sand); }
    .path-step:last-child { border:0; }
    .path-num { color:var(--rust); font:italic 1rem var(--serif); }
    .path-step h3 { margin:18px 0 8px; font:600 1.45rem var(--serif); }
    .path-step p { margin:0; color:var(--muted); font-size:.86rem; }
    .instructor { background:#e9dfcf; }
    .instructor-grid { display:grid; grid-template-columns:.76fr 1.24fr; align-items:center; gap:62px; }
    .portrait-placeholder { min-height:300px; display:flex; align-items:center; justify-content:center; background:linear-gradient(145deg,#d9c8aa,#f1e8d8); border:1px solid #d0bea1; position:relative; overflow:hidden; }
    .portrait-placeholder:before { content:""; position:absolute; width:230px;height:230px;border-radius:50%; border:1px solid rgba(16,46,74,.16); box-shadow:0 0 0 24px rgba(16,46,74,.025),0 0 0 49px rgba(16,46,74,.025); }
    .portrait-initial { position:relative; display:grid; place-items:center; width:116px; height:116px; border-radius:50%; background:var(--ink); color:#fff8ea; font:3.6rem var(--serif); }
    .portrait-caption { position:absolute; bottom:19px; left:20px; right:20px; text-align:center; color:#5f6b6f; font:italic .88rem var(--serif); }
    .instructor h2 { margin:13px 0 14px; font:500 clamp(2.7rem,5vw,4.35rem)/.98 var(--serif); letter-spacing:-.05em; }
    .instructor-copy { max-width:600px; color:#4e5b61; }
    .instructor-tags { display:flex; gap:10px; flex-wrap:wrap; margin-top:24px; }
    .instructor-tags span { padding:8px 11px; border:1px solid #cdbd9e; color:var(--ink); font-size:.7rem; letter-spacing:.08em; text-transform:uppercase; }
    .closing { padding:70px 20px; background:#d8a257; text-align:center; color:var(--ink); }
    .closing .eyebrow { justify-content:center; color:#7d321a; }
    .closing h2 { max-width:760px; margin:17px auto 13px; font:500 clamp(2.7rem,5.4vw,4.7rem)/.98 var(--serif); letter-spacing:-.05em; }
    .closing p { max-width:540px; margin:0 auto 25px; color:#314b5c; }
    .closing .button { color:#fff7e8; background:var(--ink); border-color:var(--ink); }
    .closing .button:hover { background:#071c2e; }
    footer { padding:34px 20px; background:#0c263d; color:#f4eee2; }
    .footer-inner { width:min(1180px,100%); margin:auto; display:flex; justify-content:space-between; align-items:center; gap:24px; }
    .footer-brand { font:600 1.05rem var(--serif); }
    .footer-brand small { display:block; margin-top:4px; color:#d6a458; font:700 .62rem var(--sans); letter-spacing:.16em; text-transform:uppercase; }
    .footer-motto { color:#e5d8c2; font:italic 1.1rem var(--serif); }
    .footer-meta { color:#acb8c0; font-size:.7rem; text-align:right; }
    .modal-backdrop { position:fixed; inset:0; z-index:50; padding:20px; background:rgba(8,28,44,.72); display:none; align-items:center; justify-content:center; }
    .modal-backdrop.open { display:flex; }
    .modal { width:min(780px,100%); max-height:min(88vh,920px); overflow:auto; background:var(--paper); border:1px solid #ddceb5; box-shadow:0 25px 80px rgba(0,0,0,.3); position:relative; }
    .modal-head { padding:35px 36px 25px; background:#f1e8d8; border-bottom:1px solid #e1d5c2; }
    .modal-top { display:flex; align-items:center; justify-content:space-between; gap:20px; }
    .modal-kicker { color:var(--rust); text-transform:uppercase; font-size:.67rem; letter-spacing:.17em; font-weight:800; }
    .modal-close { display:grid; place-items:center; width:38px; height:38px; border:1px solid #cfc0a9; background:transparent; color:var(--ink); cursor:pointer; font-size:1.3rem; }
    .modal-close:hover { background:white; }
    .modal h2 { margin:18px 50px 12px 0; font:500 clamp(2.15rem,5vw,3.25rem)/1 var(--serif); letter-spacing:-.04em; }
    .modal-desc { max-width:630px; margin:0; color:#53616a; }
    .modal-facts { display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; }
    .modal-facts span { padding:7px 10px; background:rgba(255,255,255,.7); border:1px solid #dfd3bf; font-size:.7rem; color:#465764; }
    .modal-body { padding:27px 36px 35px; }
    .modal-body h3 { margin:0 0 13px; font:600 1.35rem var(--serif); }
    .topic-list { display:grid; grid-template-columns:1fr 1fr; gap:10px; padding:0; margin:0; list-style:none; }
    .topic-list li { padding:11px 13px; border-left:2px solid var(--gold); background:#f7f2e9; color:#485861; font-size:.83rem; }
    .resources-title { margin-top:30px !important; }
    .resource-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; }
    .resource-card { padding:14px; border:1px solid #e4dac9; min-height:104px; }
    .resource-card small { display:block; color:var(--rust); font-size:.62rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
    .resource-card p { margin:9px 0 0; color:#657078; font-size:.76rem; }
    .modal-footnote { margin:22px 0 0; color:#7a7e7c; font:italic .89rem var(--serif); }
    .demo-banner { padding:11px 14px; margin-bottom:20px; border-left:3px solid var(--gold); background:#f6efdf; color:#5e625f; font-size:.78rem; }
    .registration { background:#f3ede2; }
    .registration-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:24px; align-items:start; }
    .form-panel,.steps-panel,.profile-panel { background:var(--paper); border:1px solid #e3d8c6; padding:28px; }
    .form-panel h3,.steps-panel h3,.profile-panel h3 { margin:0 0 17px; font:600 1.55rem var(--serif); }
    .form-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
    .form-field { display:flex; flex-direction:column; gap:6px; }
    .form-field.full { grid-column:1/-1; }
    .form-field label { color:#314c60; font-size:.74rem; font-weight:750; }
    .form-field input,.form-field select { width:100%; min-height:45px; border:1px solid #d6cbb9; border-radius:2px; background:#fffefa; padding:10px 12px; color:var(--ink); font: .88rem var(--sans); }
    .form-field input:focus,.form-field select:focus { outline:2px solid rgba(189,67,31,.25); border-color:var(--rust); }
    .field-hint { color:#858780; font-size:.68rem; }
    .form-actions { margin-top:20px; display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
    .form-actions .button { cursor:pointer; }
    .form-legal { color:#737c7c; font-size:.7rem; margin:16px 0 0; }
    .steps-panel { background:var(--ink); color:#f8f2e8; }
    .steps-panel .eyebrow { color:#eab665; }
    .steps-panel h3 { margin-top:13px; font-size:1.8rem; }
    .flow-step { display:grid; grid-template-columns:34px 1fr; gap:12px; padding:15px 0; border-top:1px solid rgba(255,255,255,.14); }
    .flow-number { color:#eab665; font:italic 1rem var(--serif); }
    .flow-step strong { display:block; font:600 1.05rem var(--serif); }
    .flow-step p { margin:4px 0 0; color:#c5d0d5; font-size:.77rem; }
    .payment-panel { display:none; margin-top:20px; padding:22px; background:#f6efdf; border:1px solid #e2d3b7; }
    .payment-panel.open { display:block; }
    .payment-panel h4 { margin:0 0 7px; font:600 1.4rem var(--serif); }
    .payment-amount { font:700 1.5rem var(--serif); color:var(--rust); }
    .payment-note { margin:10px 0 17px; color:#5f6c70; font-size:.79rem; }
    .payment-form { display:flex; gap:10px; align-items:end; flex-wrap:wrap; }
    .payment-form .form-field { flex:1; min-width:190px; }
    .payment-result { display:none; margin-top:16px; padding:14px; background:#e9f0e7; border-left:3px solid #60875c; color:#35543a; font-size:.8rem; }
    .payment-result.open { display:block; }
    .profile-section { background:var(--paper); }
    .profile-heading { display:flex; justify-content:space-between; align-items:end; gap:20px; margin-bottom:28px; }
    .profile-heading h2 { margin:13px 0 0; font:500 clamp(2.4rem,5vw,4rem)/1 var(--serif); letter-spacing:-.05em; }
    .demo-chip { display:inline-flex; align-items:center; padding:7px 10px; border:1px solid #d9b777; background:#fcf4e4; color:#815220; font-size:.68rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
    .profile-grid { display:grid; grid-template-columns:.75fr 1.25fr; gap:20px; }
    .profile-summary { background:#f3ede2; border:1px solid #e3d8c6; padding:25px; }
    .profile-avatar { display:grid; place-items:center; width:62px; height:62px; margin-bottom:14px; border-radius:50%; background:var(--ink); color:#fff8e9; font:1.6rem var(--serif); }
    .profile-summary h3 { margin-bottom:4px; font:600 1.55rem var(--serif); }
    .profile-contact { color:#69747a; font-size:.78rem; overflow-wrap:anywhere; }
    .profile-status { display:inline-flex; padding:6px 9px; margin-top:8px; background:#f7ead4; color:#805721; font-size:.67rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
    .profile-metrics { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:20px; }
    .profile-metric { padding:12px; background:#fffaf1; border:1px solid #e3d8c6; }
    .profile-metric small { display:block; color:#798080; font-size:.62rem; letter-spacing:.1em; text-transform:uppercase; }
    .profile-metric strong { display:block; margin-top:4px; font:600 1rem var(--serif); }
    .enrollment-row { display:grid; grid-template-columns:1fr auto; gap:14px; align-items:center; padding:15px 0; border-top:1px solid #e6ddcf; }
    .enrollment-row:first-of-type { border-top:0; }
    .enrollment-row strong { display:block; font:600 1.08rem var(--serif); }
    .enrollment-row small { display:block; margin-top:4px; color:#718087; font-size:.72rem; }
    .enrollment-state { max-width:160px; text-align:right; color:#85561d; font-size:.68rem; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
    .profile-foot { margin:18px 0 0; padding-top:14px; border-top:1px solid #e6ddcf; color:#747d7d; font-size:.74rem; }
    .no-scroll { overflow:hidden; }
    [hidden] { display:none !important; }
    .coming-nav { display:inline-block; margin-left:4px; padding:2px 5px; border-radius:2px; background:#f2e4c9; color:#875321; font-size:.52rem; letter-spacing:.04em; text-transform:uppercase; vertical-align:middle; }
    .resources-hero { position:relative; overflow:hidden; background:radial-gradient(ellipse at 85% 12%,rgba(223,163,76,.22),transparent 37%),linear-gradient(145deg,#f5efe3,#fffaf1); }
    .resources-hero:after { content:""; position:absolute; width:300px; height:300px; right:-80px; bottom:-200px; border:1px solid rgba(189,67,31,.2); border-radius:50%; box-shadow:0 0 0 25px rgba(189,67,31,.025),0 0 0 55px rgba(189,67,31,.025); }
    .coming-badge { display:inline-flex; align-items:center; width:max-content; margin-top:18px; padding:7px 10px; background:#fff5e1; border:1px solid #e5c88e; color:#80511d; font-size:.67rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
    .coming-badge.small { margin-top:14px; font-size:.58rem; }
    .resource-category-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
    .resource-category { min-height:206px; padding:22px; background:#fffdf8; border:1px solid #e5dccd; }
    .resource-number { display:grid; place-items:center; width:36px; height:36px; border:1px solid #d9b777; border-radius:50%; color:var(--rust); font:italic .9rem var(--serif); }
    .resource-category h3 { min-height:2.3em; margin:18px 0 8px; font:600 1.2rem/1.1 var(--serif); }
    .resource-category p { margin:0; color:var(--muted); font-size:.78rem; }
    .approved-materials { margin-top:76px; }
    .approved-material-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:13px; }
    .approved-card { padding:22px; background:#fffdf8; border:1px solid #e5dccd; }
    .approved-card small { color:var(--rust); font-size:.64rem; font-weight:800; text-transform:uppercase; letter-spacing:.12em; }
    .approved-card h3 { margin:12px 0 8px; font:600 1.3rem/1.1 var(--serif); }
    .approved-card p { min-height:2.8em; color:var(--muted); font-size:.82rem; }
    .approved-card span { display:block; color:#747c7e; font-size:.72rem; }
    .approved-card a { display:inline-block; margin-top:14px; color:var(--rust); font-size:.75rem; font-weight:800; text-transform:uppercase; letter-spacing:.07em; }
    .guest-contribute { background:#e9dfcf; }
    .guest-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:56px; align-items:start; }
    .guest-grid h2,.about-grid h2 { margin:14px 0 16px; font:500 clamp(2.6rem,5vw,4rem)/.98 var(--serif); letter-spacing:-.05em; }
    .guest-grid>div>p { max-width:520px; color:#4e5b61; }
    .guest-promise { display:grid; gap:6px; margin:26px 0; padding:19px; border-left:3px solid var(--rust); background:rgba(255,253,247,.65); color:#485860; font-size:.83rem; }
    .guest-promise strong { color:var(--ink); font:600 1.18rem var(--serif); }
    .privacy-note { color:#6a7476 !important; font-size:.73rem; }
    .guest-form { padding:28px; background:var(--paper); border:1px solid #ddd0bb; }
    .guest-form h3 { margin:0 0 20px; font:600 1.6rem var(--serif); }
    .guest-form .button { margin-top:18px; cursor:pointer; }
    .newsletter { background:var(--ink); color:#f9f3e9; }
    .newsletter-grid { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:50px; }
    .newsletter .eyebrow { color:#eab665; }
    .newsletter h2 { max-width:600px; margin:14px 0; font:500 clamp(2.5rem,5vw,4rem)/.98 var(--serif); letter-spacing:-.05em; }
    .newsletter p { max-width:520px; color:#c9d2d7; }
    .subscribe-form { padding:23px; border:1px solid rgba(239,221,187,.28); background:rgba(255,255,255,.045); }
    .subscribe-form>label:first-child { display:block; margin-bottom:7px; color:#f2c179; font-size:.7rem; font-weight:750; text-transform:uppercase; letter-spacing:.1em; }
    .subscribe-row { display:flex; gap:9px; }
    .subscribe-row input { min-width:0; flex:1; min-height:46px; padding:10px 12px; border:1px solid #d6cbb9; background:#fffefa; color:var(--ink); font: .9rem var(--sans); }
    .consent-line { display:flex; align-items:flex-start; gap:8px; margin-top:13px; color:#c9d2d7; font-size:.72rem; }
    .consent-line input { margin-top:3px; accent-color:var(--rust); }
    .subscribe-form small { color:#b2c0c6; font-size:.67rem; }
    .subscribe-status { min-height:1.4em; margin:9px 0 4px; color:#efc780; font-size:.76rem; }
    .subscribe-status.admin-error { color:#ffb9a4; }
    .about-story { background:#fffdf7; }
    .about-grid { display:grid; grid-template-columns:.65fr 1.35fr; gap:60px; align-items:center; }
    .about-mark { min-height:310px; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:18px; background:#f1e8d8; border:1px solid #dfd0b6; text-align:center; }
    .about-mark span { display:grid; place-items:center; width:126px; height:126px; border-radius:50%; background:var(--ink); color:#fff8e9; font:6rem/.8 var(--serif); box-shadow:0 0 0 12px rgba(16,46,74,.05),0 0 0 24px rgba(16,46,74,.03); }
    .about-mark small { color:#677277; font:italic .9rem/1.45 var(--serif); }
    .about-copy { max-width:710px; color:#4e5b61; font:1.1rem/1.75 var(--serif); }
    .about-principles { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:25px; }
    .about-principles article { padding:15px; border-top:2px solid var(--gold); background:#f8f3ea; }
    .about-principles strong { font:600 1.1rem var(--serif); }
    .about-principles p { margin:7px 0 0; color:#657078; font-size:.75rem; }
    .about-contact { margin-left:8px; }
    .footer-meta a { color:#c9d2d7; }
    .social-links { display:flex; justify-content:flex-end; gap:9px; margin:7px 0; flex-wrap:wrap; }
    .social-links a { color:#efbd72; font-size:.68rem; font-weight:750; }
    .footer-install { margin-top:8px; padding:6px 9px; border:1px solid rgba(239,221,187,.34); background:transparent; color:#efbd72; font-size:.65rem; font-weight:750; cursor:pointer; }
    .site-notice-backdrop { position:fixed; inset:0; z-index:60; display:flex; align-items:center; justify-content:center; padding:20px; background:rgba(7,25,39,.62); }
    .site-notice { position:relative; width:min(480px,100%); padding:38px; background:#fffdf7; border:1px solid #e0cfb0; box-shadow:0 25px 80px rgba(0,0,0,.24); }
    .site-notice h2 { margin:18px 0 12px; font:500 2rem/1.05 var(--serif); }
    .site-notice p { color:#657078; }
    .notice-close { position:absolute; top:10px; right:10px; width:36px; height:36px; border:1px solid #d6cbb9; background:transparent; color:var(--ink); font-size:1.35rem; cursor:pointer; }
    .install-hint { position:fixed; z-index:80; right:18px; bottom:18px; width:min(390px,calc(100% - 36px)); padding:16px 18px; background:var(--ink); color:#fff8e9; border-left:3px solid var(--gold); box-shadow:var(--shadow); font-size:.82rem; }
    .admin-wide-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
    .admin-list { display:grid; gap:9px; }
    .admin-list-item { display:grid; grid-template-columns:1fr auto; gap:16px; padding:14px; border-top:1px solid #e6ddcf; align-items:start; }
    .admin-list-item h3 { margin:0 0 4px; font:600 1.05rem var(--serif); }
    .admin-list-item p,.admin-list-item small { display:block; margin:3px 0; color:#69747a; font-size:.76rem; overflow-wrap:anywhere; }
    .admin-list-item .admin-actions { margin-top:0; }
    .resource-explorer { display:grid; grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr); gap:16px; align-items:stretch; }
    .resource-list { display:flex; flex-direction:column; gap:7px; max-height:760px; overflow:auto; padding-right:3px; }
    .resource-option { position:relative; width:100%; min-height:72px; display:grid; grid-template-columns:1fr 20px; grid-template-rows:auto auto; align-items:center; column-gap:10px; padding:12px 15px; border:1px solid #e3d9c9; background:#fffdf8; color:var(--ink); text-align:left; cursor:pointer; transition:.18s ease; }
    .resource-option strong { grid-column:1; grid-row:1; font:600 1.03rem/1.1 var(--serif); }
    .resource-option>span:nth-child(2) { grid-column:1; grid-row:2; margin-top:4px; overflow:hidden; color:#6f797d; font-size:.69rem; line-height:1.3; white-space:nowrap; text-overflow:ellipsis; }
    .resource-option-arrow { grid-column:2; grid-row:1/3; color:var(--rust); font-size:1.2rem; text-align:center; }
    .resource-option:hover { border-color:#d9b777; transform:translateX(2px); }
    .resource-option[aria-selected="true"] { border-color:var(--ink); background:var(--ink); color:#fff8e9; box-shadow:0 8px 20px rgba(16,46,74,.13); }
    .resource-option[aria-selected="true"]>span:nth-child(2) { color:#d1dce0; }
    .resource-option[aria-selected="true"] .resource-option-arrow { color:#f2ba68; }
    .resource-option:focus-visible { outline:3px solid rgba(189,67,31,.45); outline-offset:2px; }
    .resource-detail { min-height:520px; padding:clamp(25px,4vw,42px); background:#f3ede2; border:1px solid #e1d6c5; }
    .resource-detail-top { display:flex; align-items:center; justify-content:space-between; gap:16px; color:var(--rust); font-size:.65rem; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
    .resource-detail-top .coming-badge { margin:0; }
    .resource-detail h3 { margin:28px 0 13px; font:500 clamp(2rem,4vw,3.25rem)/1 var(--serif); letter-spacing:-.04em; }
    .resource-detail-copy { max-width:650px; color:#455965; font:1.08rem/1.65 var(--serif); }
    .resource-detail-note { max-width:650px; margin:22px 0 0; padding:16px 18px; border-left:3px solid var(--gold); background:rgba(255,253,247,.72); color:#657078; font-size:.82rem; }
    .resource-items-heading { margin:32px 0 12px; font:600 1.3rem var(--serif); }
    .resource-items { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
    .resource-item { padding:16px; background:#fffdf8; border:1px solid #e4dac9; }
    .resource-item h4 { margin:0 0 7px; font:600 1.04rem/1.15 var(--serif); }
    .resource-item p { margin:0 0 9px; color:#66737a; font-size:.76rem; }
    .resource-item small { display:block; color:#7c7467; font-size:.65rem; }
    .resource-item a { display:inline-block; margin-top:11px; color:var(--rust); font-size:.7rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
    .guest-contribute .guest-grid { grid-template-columns:1fr 1fr; align-items:center; }
    @media (max-width: 900px) {
      .nav-links { gap:15px; }
      .nav-links a { font-size:.78rem; }
      .hero-grid { gap:32px; }
      .hero-art { min-height:390px; }
      .course-grid,.catalog-grid { grid-template-columns:repeat(2,1fr); }
      .resource-category-grid { grid-template-columns:repeat(2,1fr); }
      .resource-explorer { grid-template-columns:minmax(245px,.8fr) minmax(0,1.2fr); }
      .schedule-grid { gap:38px; }
      .instructor-grid { gap:35px; }
    }
    @media (max-width: 680px) {
      .announcement { font-size:.63rem; letter-spacing:.1em; }
      .nav-wrap { width:calc(100% - 28px); min-height:68px; gap:8px; }
      .brand-mark { width:39px;height:39px;font-size:1.6rem; }
  .brand-name { font-size:.88rem; }
  .brand-sub { font-size:.48rem; }
      .menu-toggle { display:block; margin-left:auto; }
      .nav-cta { padding:8px 9px; font-size:.59rem; white-space:nowrap; }
      .nav-links { display:none; position:absolute; top:68px; left:0; right:0; padding:18px 24px 22px; background:var(--cream); border-bottom:1px solid var(--sand); flex-direction:column; align-items:stretch; gap:15px; }
      .nav-links.open { display:flex; }
      .nav-links a { font-size:.9rem; }
      .hero { padding:47px 18px 59px; }
      .hero-grid { grid-template-columns:1fr; gap:9px; }
      h1 { font-size:clamp(3.7rem,16vw,5.3rem); }
      .hero-copy { font-size:1rem; }
      .hero-art { min-height:350px; margin-top:5px; }
      .study-card { min-height:340px; padding:26px 22px; }
      .study-title { font-size:1.9rem; }
      .book-illustration { height:108px; }
      .book { width:120px; height:84px; }
      .book-spine { height:88px; }
      .orange-stroke { bottom:22px; }
      .orbit-label { right:0; bottom:-6px; font-size:1rem; }
      .trustline-inner { align-items:flex-start; flex-direction:column; gap:9px; }
      .section { padding:64px 18px; }
      .section-head { display:block; margin-bottom:26px; }
      .section-head h2 { font-size:3rem; margin-bottom:14px; }
      .section-head p { font-size:.9rem; }
      .course-grid,.catalog-grid { grid-template-columns:1fr; }
      .resource-category-grid,.approved-material-grid { grid-template-columns:1fr; }
      .resource-explorer { grid-template-columns:1fr; }
      .resource-list { max-height:390px; }
      .resource-detail { min-height:360px; }
      .resource-items { grid-template-columns:1fr; }
      .guest-grid,.newsletter-grid,.about-grid { grid-template-columns:1fr; gap:28px; }
      .about-mark { min-height:240px; }
      .about-principles { grid-template-columns:1fr; }
      .subscribe-row { flex-direction:column; }
      .about-contact { margin:10px 0 0; }
      .admin-wide-grid { grid-template-columns:1fr; }
      .admin-list-item { grid-template-columns:1fr; }
      .site-notice { padding:29px 24px; }
      .course-card { min-height:230px; }
      .catalog { padding-top:55px; }
      .catalog-bar { align-items:flex-start; flex-direction:column; }
      .schedule-grid { grid-template-columns:1fr; gap:30px; }
      .schedule h2 { font-size:3.15rem; }
      .schedule-panel { padding:18px; }
      .path-grid { grid-template-columns:1fr; }
      .path-step { min-height:0; border-right:0; border-bottom:1px solid var(--sand); padding:23px; }
      .path-step:last-child { border-bottom:0; }
      .instructor-grid { grid-template-columns:1fr; gap:28px; }
      .portrait-placeholder { min-height:240px; }
      .closing { padding:58px 19px; }
      .footer-inner { align-items:flex-start; flex-direction:column; }
      .footer-meta { text-align:left; }
      .modal-backdrop { padding:8px; align-items:end; }
      .modal { max-height:92vh; }
      .modal-head { padding:27px 22px 20px; }
      .modal h2 { margin-right:20px; }
      .modal-body { padding:22px; }
      .topic-list { grid-template-columns:1fr; }
      .resource-grid { grid-template-columns:1fr; }
      .resource-card { min-height:0; }
      .registration-grid,.profile-grid { grid-template-columns:1fr; }
      .form-panel,.steps-panel,.profile-panel,.profile-summary { padding:22px; }
      .form-grid { grid-template-columns:1fr; }
      .form-field.full { grid-column:auto; }
      .profile-heading { align-items:flex-start; flex-direction:column; }
    }
    @media (prefers-reduced-motion: reduce) {
      html { scroll-behavior:auto; }
      *,*:before,*:after { transition:none !important; }
    }
  

/* Dedicated page and shared navigation styles */
.nav-links a[aria-current="page"] { color: var(--rust); font-weight: 800; }
.page-hero { padding: 56px 20px 50px; background: linear-gradient(180deg,#f4efe5 0%,#f8f4eb 100%); border-bottom: 1px solid rgba(16,46,74,.08); }
.page-hero-inner { width:min(1180px,100%); margin:auto; }
.page-hero h1 { margin:17px 0 14px; max-width:900px; font-size:clamp(2.8rem,6vw,5rem); line-height:.98; }
.page-hero p { max-width:660px; margin:0; color:#53616a; font-size:1rem; }
.page-hero .eyebrow { margin-bottom:0; }
.page-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
.page-content { min-height:48vh; }
.course-detail { padding:28px; background:var(--paper); border:1px solid #e3d8c6; }
.course-detail-top { display:flex; justify-content:space-between; align-items:center; gap:14px; color:var(--rust); font-size:.7rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.course-detail h2 { margin:20px 0 12px; font:600 clamp(2rem,4.5vw,3.2rem)/1.03 var(--serif); letter-spacing:-.04em; }
.course-detail p { color:#5d6971; }
.course-detail .modal-facts { margin:20px 0 26px; }
.sample-links { display:flex; flex-wrap:wrap; gap:10px; margin-top:20px; }
.sample-links a { font-size:.76rem; }
.inline-status { margin-top:17px; padding:13px; background:#e9f0e7; border-left:3px solid #60875c; color:#35543a; font-size:.82rem; }
.profile-access { display:flex; flex-wrap:wrap; gap:12px; margin-top:22px; }
@media (max-width:680px) {
  .page-hero { padding:42px 18px 38px; }
  .page-hero h1 { font-size:clamp(2.7rem,12vw,4rem); }
  .course-detail { padding:21px; }
  .course-detail-top { align-items:flex-start; flex-direction:column; }
  .profile-access .button { width:100%; }
}
.course-card-link { text-align:left; color:inherit; display:flex; flex:1; flex-direction:column; padding:25px; }
.course-card-link:hover .arrow { transform:translateX(4px); }
.course-card-link:focus-visible { outline:3px solid rgba(189,67,31,.45); outline-offset:3px; }

.form-field textarea { width:100%; min-height:72px; resize:vertical; border:1px solid #d6cbb9; border-radius:2px; background:#fffefa; padding:10px 12px; color:var(--ink); font: .88rem var(--sans); }
.form-field textarea:focus { outline:2px solid rgba(189,67,31,.25); border-color:var(--rust); }


/* Student access, compact course landing, and category-first resource library */
.profile-icon { width:42px; height:42px; flex:0 0 42px; display:grid; place-items:center; border:1px solid rgba(16,46,74,.3); border-radius:50%; color:var(--ink); transition:.2s ease; }
.profile-icon:hover { color:var(--rust); border-color:var(--rust); background:#fffaf1; }
.profile-icon svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.profile-title { margin:10px 0 0; font:500 clamp(2rem,4vw,3.25rem)/1 var(--serif); letter-spacing:-.045em; }
.profile-notice { margin:0 0 22px; color:var(--muted); font-size:.78rem; }
.profile-section { padding-top:44px; }
.course-intro { padding:35px 20px 32px; background:linear-gradient(135deg,#f8f4eb,#eee5d5); border-bottom:1px solid #ded2bf; }
.course-intro-inner { width:min(1180px,100%); margin:auto; display:flex; justify-content:space-between; align-items:end; gap:25px; }
.course-intro h1 { margin:11px 0 10px; font-size:clamp(2.55rem,5.2vw,4.45rem); line-height:1; }
.course-intro p { margin:0; color:#586873; font-size:.88rem; }
.course-intro .button { flex-shrink:0; }
.course-catalog { padding-top:38px; background:#e7dece; }
.course-catalog .course-grid { gap:22px; }
.course-catalog .course-card { background:#fffdf8; border:1px solid #cfc2ad; box-shadow:0 5px 16px rgba(16,46,74,.07); }
.course-catalog .course-card:hover { border-color:#b98a49; box-shadow:0 14px 30px rgba(16,46,74,.13); }
.resource-library { padding-top:42px; }
.resource-library-head { align-items:end; margin-bottom:25px; }
.resource-library-head h1 { margin:12px 0 0; font:500 clamp(2.3rem,5vw,4.2rem)/.98 var(--serif); letter-spacing:-.05em; }
.resource-library-head p { max-width:300px; }
.resource-explorer { display:flex; flex-direction:column; gap:20px; }
.resource-list { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; max-height:none; overflow:visible; padding:0 0 4px; }
.resource-option { min-height:94px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:9px; padding:14px; border-radius:8px; box-shadow:0 3px 10px rgba(16,46,74,.04); }
.resource-option strong { font:600 .98rem/1.15 var(--serif); }
.resource-option-icon { width:23px; height:23px; flex:0 0 auto; fill:none; stroke:var(--rust); stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.resource-option[aria-selected="true"] .resource-option-icon { stroke:#f2ba68; }
.resource-option:hover { transform:translateY(-2px); }
.resource-detail { min-height:0; padding:clamp(24px,4vw,38px); border-radius:8px; background:#f5efe4; }
.resource-detail h3 { margin-top:21px; }
.signin-main { min-height:calc(100vh - 230px); padding:54px 20px; display:grid; place-items:start center; background:linear-gradient(145deg,#f4efe5,#fbf8f0); }
.signin-card { width:min(590px,100%); padding:clamp(24px,5vw,42px); background:var(--paper); border:1px solid #e3d8c6; box-shadow:var(--shadow); }
.signin-card h1 { margin:14px 0 10px; font-size:clamp(2.8rem,8vw,4rem); }
.signin-card>p { color:var(--muted); }
.signin-form { display:grid; gap:10px; margin-top:23px; }
.signin-form label { margin-top:5px; color:var(--ink); font-size:.8rem; font-weight:700; }
.signin-form input { min-height:46px; padding:10px 12px; border:1px solid #d8cebd; background:#fffdf8; color:var(--ink); }
.signin-form button:disabled { opacity:.55; cursor:not-allowed; transform:none; }
.signin-register { margin:22px 0 0; font-size:.85rem; }
.signin-register a,.returning-student a { color:var(--rust); font-weight:750; }
.returning-student { margin:16px 0 0; color:var(--muted); font-size:.83rem; }
@media(max-width:900px) { .resource-list { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media(max-width:680px) {
 .nav-wrap { gap:7px; } .profile-icon { width:36px; height:36px; flex-basis:36px; }
 .course-intro { padding:30px 18px 25px; } .course-intro-inner { align-items:flex-start; flex-direction:column; gap:17px; } .course-intro h1 { font-size:clamp(2.65rem,12vw,3.7rem); } .course-catalog { padding-top:25px; }
 .resource-library { padding-top:34px; } .resource-library-head { display:block; } .resource-library-head p { margin-top:13px; }
 .resource-list { display:flex; overflow-x:auto; gap:8px; scroll-snap-type:x mandatory; padding:2px 2px 10px; } .resource-option { min-width:145px; min-height:96px; scroll-snap-align:start; }
 .resource-detail { min-height:300px; } .signin-main { padding:34px 16px; }
}


/* Header account actions and one-line resource navigation */
.nav-signin { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:42px; padding:9px 13px; border:1px solid rgba(16,46,74,.3); border-radius:4px; color:var(--ink); font-size:.76rem; font-weight:750; letter-spacing:.06em; text-transform:uppercase; white-space:nowrap; transition:.2s ease; }
.nav-signin:hover { color:var(--rust); border-color:var(--rust); background:#fffaf1; }
.nav-signin svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.resource-list { display:flex; flex-flow:row nowrap; gap:10px; overflow-x:auto; overscroll-behavior-inline:contain; scroll-snap-type:x proximity; padding:3px 3px 12px; scrollbar-color:#c6b89f #f4efe5; scrollbar-width:thin; }
.resource-option { flex:0 0 164px; min-width:164px; scroll-snap-align:start; }
@media(max-width:900px) { .resource-list { display:flex; } }
@media(max-width:680px) {
 .nav-signin { min-height:36px; width:37px; height:36px; flex:0 0 37px; padding:0; border-radius:50%; }
 .nav-signin span { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
 .nav-signin svg { width:18px; height:18px; }
 .resource-option { flex-basis:148px; min-width:148px; }
}


/* Homepage course-first layout inspired by the supplied education-site reference */
.home-featured { padding-top:48px; padding-bottom:56px; background:#eee5d6; }
.home-featured-head { margin-bottom:24px; align-items:end; }
.home-featured-head h2 { margin:10px 0 0; font:500 clamp(2.1rem,4vw,3.4rem)/1 var(--serif); letter-spacing:-.045em; }
.home-view-all { display:inline-flex; align-items:center; gap:8px; color:var(--rust); font-size:.75rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.home-view-all span { font-size:1.2rem; transition:transform .2s; }
.home-view-all:hover span { transform:translateX(4px); }
.home-featured-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.home-featured .course-card { min-height:220px; background:#fffdf8; border:1px solid #d8cbb7; box-shadow:0 5px 15px rgba(16,46,74,.06); }
.home-featured .course-card-link { padding:21px; }
.home-featured .course-card h3 { margin:15px 0 9px; font-size:1.35rem; }
.home-featured .course-card:hover { border-color:#c99b59; box-shadow:0 12px 28px rgba(16,46,74,.12); }
.schedule-grid { grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr); gap:64px; }
.schedule h2 { max-width:390px; font-size:clamp(2.45rem,4.6vw,3.8rem); }
.schedule-copy { max-width:390px; }
@media(max-width:680px) {
 .home-featured { padding:43px 18px; } .home-featured-head { display:flex; align-items:end; justify-content:space-between; gap:12px; margin-bottom:20px; } .home-featured-head h2 { font-size:2.4rem; } .home-view-all { font-size:.65rem; white-space:nowrap; } .home-featured-grid { grid-template-columns:1fr; gap:12px; } .home-featured .course-card { min-height:195px; }
 .schedule-grid { grid-template-columns:1fr; gap:35px; } .schedule h2 { max-width:330px; font-size:3rem; }
}

/* Keep Sign in and Register together in the header. */
.nav-actions { display:flex; align-items:center; justify-content:flex-end; gap:10px; flex:0 0 auto; }
@media(max-width:680px) { .nav-actions { gap:7px; } }

/* Keep account actions together and return the resource index to a left-hand list. */
.nav-actions { display:flex; align-items:center; justify-content:flex-end; gap:8px; flex:0 0 auto; white-space:nowrap; }
.resource-explorer { display:grid; grid-template-columns:minmax(230px,.66fr) minmax(0,1.34fr); gap:18px; align-items:start; }
.resource-list { display:flex; flex-direction:column; gap:7px; max-height:620px; overflow-y:auto; overflow-x:hidden; padding:2px 6px 2px 2px; }
.resource-option { flex:0 0 auto; width:100%; min-width:0; min-height:58px; display:flex; flex-direction:row; align-items:center; justify-content:flex-start; gap:12px; padding:12px 14px; border-radius:5px; box-shadow:none; }
.resource-option strong { flex:1; font:600 .98rem/1.2 var(--serif); }
.resource-option-icon { width:21px; height:21px; flex:0 0 21px; }
.resource-option:hover { transform:translateX(3px); }
.resource-detail { min-height:520px; }
@media(max-width:900px) { .resource-explorer { grid-template-columns:minmax(210px,.72fr) minmax(0,1.28fr); } .resource-list { display:flex; } }
@media(max-width:680px) {
 .nav-actions { gap:6px; }
 .resource-explorer { grid-template-columns:1fr; gap:16px; }
 .resource-list { max-height:270px; padding-right:4px; }
 .resource-option { min-height:52px; }
 .resource-detail { min-height:300px; }
}

/* Main-site navigation is a fixed vertical sidebar. */
.public-site { margin-left:260px; }
.public-site .site-header { position:fixed; inset:0 auto 0 0; width:260px; height:100vh; overflow-y:auto; background:rgba(248,244,235,.98); border-right:1px solid rgba(16,46,74,.14); border-bottom:0; backdrop-filter:blur(15px); z-index:90; }
.public-site .nav-wrap { width:100%; min-height:100vh; margin:0; padding:25px 17px 20px; display:flex; flex-direction:column; align-items:stretch; justify-content:flex-start; gap:28px; }
.public-site .brand { min-width:0; white-space:normal; }
.public-site .brand-name { font-size:.94rem; }
.public-site .nav-links { display:flex; flex-direction:column; align-items:stretch; gap:5px; color:#405365; font-size:.83rem; }
.public-site .nav-links>a,.public-site .nav-resource-row>a { display:flex; align-items:center; min-height:44px; padding:11px 12px; border-radius:5px; }
.public-site .nav-links>a:hover,.public-site .nav-resource-row>a:hover { background:#ece2d1; color:var(--rust); }
.public-site .nav-links>a[aria-current="page"],.public-site .nav-resource-row>a[aria-current="page"] { background:#e9dfcf; color:var(--rust); font-weight:800; }
.public-site .nav-resource-group { width:100%; }
.public-site .nav-resource-row { display:flex; align-items:center; gap:3px; }
.public-site .nav-resource-row>a { flex:1; min-width:0; }
.public-site .coming-nav { margin-left:auto; font-size:.55rem; }
.public-site .nav-resource-toggle { display:grid; place-items:center; width:38px; height:38px; flex:0 0 38px; border:0; border-radius:5px; background:transparent; color:var(--ink); cursor:pointer; }
.public-site .nav-resource-toggle:hover { background:#e9dfcf; color:var(--rust); }
.public-site .nav-resource-toggle svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; transition:transform .2s ease; }
.public-site .nav-resource-toggle[aria-expanded="true"] svg { transform:rotate(180deg); }
.public-site .nav-resource-subnav { display:grid; gap:2px; margin:3px 0 5px 13px; padding-left:10px; border-left:1px solid #cbb997; }
.public-site .nav-resource-link { display:block; padding:8px 9px; border-radius:4px; color:#596a76; font-size:.74rem; line-height:1.25; }
.public-site .nav-resource-link:hover { background:#eee5d6; color:var(--rust); }
.public-site .nav-actions { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:8px; margin-top:auto; }
.public-site .nav-signin,.public-site .nav-cta { width:100%; min-height:42px; padding:9px 8px; gap:6px; font-size:.65rem; letter-spacing:.04em; }
.public-site .nav-signin svg { width:16px; height:16px; }
.public-site .sidebar-menu-toggle,.public-site .sidebar-backdrop { display:none; }
@media(max-width:760px) {
 .public-site { margin-left:0; }
 .public-site .site-header { width:min(290px,86vw); transform:translateX(-105%); transition:transform .24s ease; box-shadow:8px 0 32px rgba(8,28,44,.15); }
 .public-site .site-header.open { transform:translateX(0); }
 .public-site .sidebar-menu-toggle { position:fixed; z-index:120; top:10px; left:10px; width:40px; height:40px; display:grid; place-items:center; border:1px solid rgba(16,46,74,.2); border-radius:5px; background:#fffdf7; color:var(--ink); box-shadow:0 3px 10px rgba(16,46,74,.12); font-size:1.35rem; cursor:pointer; }
 .public-site .sidebar-backdrop:not([hidden]) { position:fixed; inset:0; z-index:80; display:block; border:0; background:rgba(8,28,44,.48); }
 .public-site .announcement { padding-left:54px; }
}
@media(prefers-reduced-motion:reduce) { .public-site .site-header,.public-site .nav-resource-toggle svg { transition:none; } }
.public-site .nav-resource-subnav[hidden] { display:none !important; }

/* Icon-first desktop rail with labels revealed on hover or keyboard focus. */
@media(min-width:761px) {
 .public-site { margin-left:78px; }
 .public-site .site-header { width:78px; overflow:hidden; transition:width .22s ease,box-shadow .22s ease; }
 .public-site .site-header:hover,.public-site .site-header:focus-within { width:260px; overflow-y:auto; box-shadow:8px 0 30px rgba(16,46,74,.12); }
 .public-site .nav-wrap { width:260px; min-height:100vh; height:100vh; padding:22px 12px 18px; gap:24px; overflow:hidden; }
 .public-site .brand { justify-content:flex-start; padding:0 4px; }
 .public-site .brand-name,.public-site .brand-sub { opacity:0; width:0; overflow:hidden; white-space:nowrap; transition:opacity .18s ease,width .18s ease; }
 .public-site .site-header:hover .brand-name,.public-site .site-header:focus-within .brand-name,
 .public-site .site-header:hover .brand-sub,.public-site .site-header:focus-within .brand-sub { opacity:1; width:auto; }
 .public-site .nav-links { flex:1 1 auto; min-height:0; overflow:hidden; gap:5px; }
 .public-site .site-header:hover .nav-links,.public-site .site-header:focus-within .nav-links { overflow-y:auto; }
 .public-site .nav-links>a { width:54px; min-height:50px; justify-content:center; gap:0; padding:10px; transition:width .2s ease,background .18s ease; }
 .public-site .site-header:hover .nav-links>a,.public-site .site-header:focus-within .nav-links>a { width:100%; justify-content:flex-start; gap:12px; padding:11px 12px; }
 .public-site .nav-icon { width:22px; height:22px; flex:0 0 22px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
 .public-site .nav-label { opacity:0; width:0; overflow:hidden; white-space:nowrap; transition:opacity .16s ease,width .16s ease; }
 .public-site .site-header:hover .nav-label,.public-site .site-header:focus-within .nav-label { opacity:1; width:auto; }
 .public-site .nav-resource-row { width:54px; min-height:50px; transition:width .2s ease; }
 .public-site .site-header:hover .nav-resource-row,.public-site .site-header:focus-within .nav-resource-row { width:100%; }
 .public-site .nav-resource-row>a { width:54px; min-height:50px; flex:0 0 54px; justify-content:center; gap:0; padding:10px; transition:width .2s ease,flex-basis .2s ease; }
 .public-site .site-header:hover .nav-resource-row>a,.public-site .site-header:focus-within .nav-resource-row>a { width:auto; min-width:0; flex:1 1 auto; justify-content:flex-start; gap:12px; padding:11px 12px; }
 .public-site .nav-resource-toggle { opacity:0; width:0; flex-basis:0; overflow:hidden; padding:0; transition:opacity .16s ease,width .2s ease; }
 .public-site .site-header:hover .nav-resource-toggle,.public-site .site-header:focus-within .nav-resource-toggle { opacity:1; width:38px; flex-basis:38px; }
 .public-site .coming-nav { display:none; }
 .public-site .site-header:hover .coming-nav,.public-site .site-header:focus-within .coming-nav { display:inline-flex; }
 .public-site .nav-actions { grid-template-columns:1fr; gap:8px; }
 .public-site .nav-signin,.public-site .nav-cta { width:52px; height:48px; min-height:48px; margin:auto; padding:0; justify-content:center; overflow:hidden; font-size:0; }
 .public-site .nav-signin svg,.public-site .register-icon { width:21px; height:21px; flex:0 0 21px; }
 .public-site .site-header:hover .nav-actions,.public-site .site-header:focus-within .nav-actions { grid-template-columns:1fr 1fr; }
 .public-site .site-header:hover .nav-signin,.public-site .site-header:hover .nav-cta,.public-site .site-header:focus-within .nav-signin,.public-site .site-header:focus-within .nav-cta { width:100%; padding:9px 8px; font-size:.65rem; }
 .public-site .site-header:hover .nav-actions .nav-label,.public-site .site-header:focus-within .nav-actions .nav-label { opacity:1; width:auto; }
}
@media(max-width:760px) {
 .public-site .nav-wrap { height:100dvh; min-height:100dvh; padding:56px 18px 16px; gap:16px; overflow:hidden; }
 .public-site .nav-actions { order:2; margin-top:0; flex:0 0 auto; }
 .public-site .nav-links { order:3; flex:1 1 0; min-height:0; overflow-y:auto; overscroll-behavior:contain; padding-right:4px; }
 .public-site .nav-actions .nav-signin,.public-site .nav-actions .nav-cta { width:100%; height:auto; min-height:42px; margin:0; padding:9px 8px; font-size:.65rem; }
 .public-site .nav-actions .nav-label { opacity:1; width:auto; }
 .public-site .register-icon { width:16px; height:16px; flex-basis:16px; }
 .public-site .nav-links>a,.public-site .nav-resource-row>a { width:auto; min-height:46px; justify-content:flex-start; gap:12px; padding:11px 12px; }
 .public-site .nav-resource-row { width:100%; }
 .public-site .nav-resource-row>a { flex:1 1 auto; }
 .public-site .nav-resource-toggle { opacity:1; width:38px; flex-basis:38px; }
 .public-site .nav-label,.public-site .brand-name,.public-site .brand-sub { opacity:1; width:auto; }
 .public-site .coming-nav { display:inline-flex; }
}
@media(max-width:760px) {
 .public-site .nav-links { position:relative; top:auto; left:auto; right:auto; padding:0; background:transparent; border:0; }
 .public-site .nav-links .nav-icon { width:22px; height:22px; flex:0 0 22px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
}

/* Archaeology artwork from the supplied six image collage. Images are illustrative. */
.course-art,.hero-archaeology-photo,.resource-photo-banner,.about-photo { background-image:url('./biblical-archaeology-collage.jpeg'); background-repeat:no-repeat; background-size:300% 200%; }
.course-art { display:block; width:100%; aspect-ratio:2.05/1; margin-bottom:19px; border-radius:5px; background-color:#d8c4a4; box-shadow:inset 0 -35px 45px rgba(15,30,40,.12); }
.course-art-0 { background-position:100% 100%; }
.course-art-1 { background-position:50% 0; }
.course-art-2 { background-position:50% 100%; }
.course-art-3 { background-position:0 0; }
.course-art-4 { background-position:100% 0; }
.course-art-5 { background-position:0 100%; }
.course-card-link { padding:15px; }
.course-card .course-art + .course-meta { padding:0 10px; }
.course-card .course-art ~ h3,.course-card .course-art ~ p,.course-card .course-art ~ .card-link { margin-left:10px; margin-right:10px; }
.course-card .course-art ~ h3 { margin-top:15px; }
.home-featured .course-art { aspect-ratio:2.3/1; margin-bottom:13px; }
.hero-archaeology-photo { position:absolute; z-index:0; top:3%; right:1%; width:42%; height:29%; border:6px solid #fffdf7; border-radius:5px; background-position:100% 100%; box-shadow:0 15px 35px rgba(24,41,52,.2); transform:rotate(4deg); }
.study-card { z-index:1; }
.course-intro { position:relative; overflow:hidden; }
.course-intro:after { content:""; position:absolute; top:0; right:0; width:27%; height:100%; background-image:linear-gradient(90deg,#f8f4eb 0%,rgba(248,244,235,.1) 45%),url('./biblical-archaeology-collage.jpeg'); background-size:100% 100%,300% 200%; background-position:center,100% 100%; opacity:.72; pointer-events:none; }
.course-intro-inner { position:relative; z-index:1; }
.resource-photo-banner { display:flex; align-items:end; min-height:190px; margin:0 0 22px; padding:24px 28px; border-radius:8px; background-position:0 0; box-shadow:inset 0 -80px 100px rgba(16,46,74,.53); }
.resource-photo-banner span { color:#fff9ec; font:500 clamp(1.45rem,3vw,2.3rem)/1.05 var(--serif); text-shadow:0 2px 12px rgba(0,0,0,.45); }
.about-mark { position:relative; overflow:hidden; }
.about-photo { display:block; height:120px; margin:-10px -10px 20px; border-radius:4px; background-position:50% 100%; }
@media(max-width:680px) {
 .hero-archaeology-photo { top:2%; right:2%; width:48%; height:25%; }
 .course-intro:after { width:33%; opacity:.48; }
 .resource-photo-banner { min-height:145px; padding:18px; }
 .course-card-link { padding:12px; }
}
.course-detail-art { width:100%; height:clamp(190px,30vw,340px); margin:-4px 0 24px; border-radius:5px; background-image:url('./biblical-archaeology-collage.jpeg'); background-repeat:no-repeat; background-size:300% 200%; box-shadow:inset 0 -55px 70px rgba(16,46,74,.12); }
/* Home hero: show the online learning experience directly. */
.hero-art { min-height:0; aspect-ratio:1.18/1; overflow:hidden; border:9px solid #fffdf7; border-radius:5px; box-shadow:0 22px 55px rgba(24,41,52,.18); transform:rotate(1deg); background:#e9dfcf; }
.hero-study-photo { display:block; width:100%; height:100%; min-height:370px; object-fit:cover; object-position:center; }
.hero-archaeology-photo { display:none; }
@media(max-width:680px) { .hero-art { aspect-ratio:1.08/1; width:100%; } .hero-study-photo { min-height:300px; } }
/* Fade the home study photo into the hero background and headline area. */
.hero-art { aspect-ratio:1.45/1; overflow:visible; border:0; border-radius:0; box-shadow:none; transform:none; background:transparent; }
.hero-study-photo { width:calc(100% + 45px); height:100%; min-height:0; object-fit:cover; object-position:center; -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.12) 14%,rgba(0,0,0,.62) 32%,#000 50%); mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.12) 14%,rgba(0,0,0,.62) 32%,#000 50%); }
@media(max-width:680px) { .hero-art { aspect-ratio:1.45/1; } .hero-study-photo { width:100%; min-height:0; -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.25) 12%,#000 38%); mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.25) 12%,#000 38%); } }
/* Resources remains discoverable in navigation while the library is being prepared. */
.coming-nav { display:inline-block; margin:0 0 0 7px; padding:3px 6px; border-radius:3px; background:#f2e4c9; color:#875321; font-size:.52rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; vertical-align:middle; white-space:nowrap; }
.resources-coming-main { min-height:calc(100vh - 245px); display:grid; place-items:center; padding:55px 20px; background:radial-gradient(ellipse at 50% 20%,rgba(223,163,76,.15),transparent 48%),linear-gradient(180deg,#f4efe5,#fffdf7); }
.resources-coming { width:min(640px,100%); padding:clamp(32px,6vw,62px); text-align:center; background:rgba(255,253,247,.82); border:1px solid #e3d8c6; box-shadow:0 18px 50px rgba(24,41,52,.08); }
.resources-coming .eyebrow { justify-content:center; }
.resources-coming .eyebrow:after { content:""; width:28px; height:2px; background:var(--gold); }
.resources-coming-mark { display:grid; place-items:center; width:62px; height:62px; margin:0 auto 22px; border:1px solid #d9b777; border-radius:50%; color:var(--rust); font-size:1.55rem; }
.resources-coming h1 { margin:18px 0 14px; font-size:clamp(3rem,8vw,5.5rem); }
.resources-coming p { max-width:440px; margin:0 auto 24px; color:#586873; }
@media(max-width:680px) { .coming-nav { margin-left:4px; font-size:.48rem; } .resources-coming-main { min-height:calc(100vh - 190px); padding:28px 16px; } }
/* Course artwork uses square source panels with correct aspect and crop sizing. */
.course-art,.course-detail-art { background-image:url('./course-archaeology-grid.png'); background-size:300% 266.6667%; background-repeat:no-repeat; }
.course-art { aspect-ratio:4/3; }
.course-art-0 { background-position:0 0; }
.course-art-1 { background-position:50% 0; }
.course-art-2 { background-position:100% 0; }
.course-art-3 { background-position:0 80%; }
.course-art-4 { background-position:50% 80%; }
.course-art-5 { background-position:100% 80%; }
.home-featured .course-art { aspect-ratio:4/3; }
.course-detail-art { height:auto; aspect-ratio:4/3; background-size:300% 266.6667%; }
/* Instructor portrait supplied by Pastor Ryan. */
.instructor-portrait-frame { position:relative; overflow:hidden; width:100%; max-width:470px; margin:0 auto; aspect-ratio:3/4; border:1px solid #d0bea1; background:#fff; box-shadow:0 18px 42px rgba(24,41,52,.13); }
.instructor-portrait { display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
@media(max-width:680px) { .instructor-portrait-frame { max-width:400px; } }
