*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-color:var(--muted) var(--paper)}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.75;word-break:keep-all;overflow-wrap:break-word;-webkit-font-smoothing:antialiased}::selection{background:var(--teal);color:var(--surface)}a{color:inherit;text-decoration:none;text-underline-offset:5px}button,input,select{font:inherit;color:inherit}input,select{caret-color:var(--teal)}a,button,input,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--teal);outline-offset:4px}img,svg{max-width:100%}img{display:block;height:auto}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.35;letter-spacing:-.035em;text-wrap:balance}h1{font-size:clamp(34px, 4.6vw, 64px);font-weight:600}h2{font-size:28px;font-weight:600}h3{font-size:21px;font-weight:600}p{margin-bottom:20px}em{font-style:normal;color:var(--teal)}.shell{width:min(var(--shell),calc(100% - 96px));margin-inline:auto}.icon{display:inline-block;width:24px;height:24px;flex:none;vertical-align:middle}.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:12px;left:12px;z-index:100;background:var(--teal);color:#fff;padding:12px 20px;transform:translateY(-200%)}.skip-link:focus{transform:none}.site-header{border-bottom:1px solid var(--line);background:var(--paper)}.header-inner{min-height:80px;display:flex;align-items:center;justify-content:space-between;gap:40px}.brand{display:inline-flex;align-items:baseline;font-size:30px;line-height:1.4;font-weight:650;letter-spacing:-.04em;white-space:nowrap}.brand span:not(.brand-dot){font-weight:350}.brand-dot{display:block;align-self:flex-end;width:5px;height:5px;background:var(--teal);border-radius:50%;margin:0 0 9px 5px}.site-nav{display:flex;align-items:center;gap:30px;font-size:14px;font-weight:500}.site-nav>a{display:flex;align-items:center;min-height:48px;position:relative;white-space:nowrap}.site-nav>a[aria-current]:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--teal)}.site-nav a:hover{color:var(--teal)}.nav-account{display:flex;gap:22px;align-items:center;margin-left:20px}.account-link{min-height:44px;display:flex;align-items:center;white-space:nowrap}.menu-toggle{display:none;border:0;background:0 0;padding:12px}.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:54px;padding:12px 23px;border:1px solid transparent;border-radius:4px;font-size:15px;font-weight:550;line-height:1.5;transition:transform .3s var(--ease),background-color .2s,color .2s}.button:active{transform:scale(.98)}.button-small{min-height:44px;padding:9px 16px;font-size:14px;gap:14px}.button-dark{background:var(--ink);color:var(--surface)}.button-dark:hover,.site-nav .button-dark:hover{background:var(--teal);color:var(--surface)}.button-teal{background:var(--teal);color:var(--surface)}.button-teal:hover{background:var(--teal-hover)}.button-outline{border-color:var(--line);background:0 0}.button-outline:hover{background:var(--teal-soft);border-color:var(--teal)}.button-full{width:100%}.text-link{display:inline-flex;align-items:center;min-height:44px;gap:16px;font-size:15px;font-weight:550}.text-link:hover{text-decoration:underline}.home-intro{position:relative;isolation:isolate;overflow:clip;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(220px,0.72fr) minmax(300px,0.92fr);gap:3.2%;padding-block:36px;align-items:center}.intro-copy{grid-column:1;position:relative;z-index:1}.home-hero-media{grid-column:2;align-self:stretch;min-height:476px;margin:0;overflow:hidden;background:#dfe5df;border:1px solid var(--line);pointer-events:none}.home-hero-photo{width:100%;height:100%;object-fit:cover;object-position:66% center;filter:saturate(.84) contrast(.97)}.intro-copy h1{font-size:clamp(46px, 4.8vw, 69px);line-height:1.3;margin-bottom:29px;letter-spacing:-.04em}.intro-description{max-width:31ch;font-size:18px;color:var(--muted);line-height:1.85;margin-bottom:34px}.intro-copy>.button{min-height:58px;padding:14px 29px}.intro-note{display:flex;gap:7px;align-items:center;font-size:12px;color:var(--muted);margin:18px 0 0}.intro-note .icon{width:15px;height:15px}.archive-directory{grid-column:3;position:relative;z-index:1;border-top:2px solid var(--ink);align-self:stretch;display:flex;flex-direction:column;padding-top:19px}.directory-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:14px;font-weight:600;padding:0 18px 20px}.directory-wordmark{font-size:11px;font-weight:450;color:var(--muted)}.directory-row{border-top:1px solid var(--line);padding:19px 18px;display:flex;justify-content:space-between;align-items:center;gap:17px;min-height:91px;transition:background-color .3s var(--ease),color .3s var(--ease)}.directory-context-icon{width:36px;height:36px;color:var(--teal);flex:none}.directory-row-copy{flex:1;min-width:0}.directory-title{display:block;font-size:23px;font-weight:550;letter-spacing:-.03em;transition:font-weight .3s var(--ease)}.directory-description{display:block;font-size:13px;color:var(--muted);margin-top:3px;transition:color .3s var(--ease)}.directory-row>.icon:not(.directory-context-icon){transition:transform .45s var(--ease)}.directory-row:hover{background:var(--surface);color:var(--teal)}.directory-row:hover .directory-title{font-weight:650}.directory-row:hover .directory-description{color:#426457}.directory-row:hover>.icon:not(.directory-context-icon){transform:translateX(7px)}.directory-row:active>.icon:not(.directory-context-icon){transform:translateX(3px)}.directory-caption{border-top:1px solid var(--line);padding:16px 18px 0;font-size:12px;color:var(--muted);margin:0}.public-guide{position:relative;border:1px solid var(--line);background:var(--teal-soft);padding:36px 48px 38px;margin-bottom:42px;display:grid;grid-template-columns:0.94fr 1.06fr;gap:10%}.guide-lead h2{font-size:36px;line-height:1.42;margin-bottom:17px}.guide-copy>p,.guide-lead p{color:#426457;max-width:48ch}.guide-copy{padding:4px 0 4px 10%;border-left:1px solid rgba(23,92,80,.18)}.membership-steps{display:flex;align-items:center;gap:15px;margin-top:31px;font-size:13px;color:var(--muted);flex-wrap:wrap}.public-guide .membership-steps{color:#426457}.membership-steps .icon{width:18px;height:18px}.membership-step{display:inline-flex;align-items:center;gap:7px;color:var(--teal);font-weight:550;white-space:nowrap}.membership-step>.icon{width:21px;height:21px}.membership-steps>.step-arrow{width:14px;height:14px;opacity:.55}.membership-steps .complete,.membership-steps strong{color:var(--teal)}.site-footer{padding-block:22px 20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:24px}.site-footer .brand{font-size:25px}.site-footer p{font-size:12px;color:var(--muted);margin:8px 0 0}.footer-meta{display:flex;gap:26px;color:var(--muted);font-size:12px;align-items:center}.footer-meta a{display:flex;align-items:center;min-height:44px}.footer-meta a:hover{text-decoration:underline}.archive-section{padding-block:0 48px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:27px}.section-heading h2{margin-bottom:8px}.section-heading p{color:var(--muted);font-size:15px;margin:0}.home-secondary{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding-block:0 56px}.home-secondary h2{font-size:25px}.home-secondary .section-heading{align-items:center}.home-secondary .section-heading h2{margin:0}.member-home{padding-block:32px 48px}.member-home-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;padding-bottom:24px;margin-bottom:28px;border-bottom:2px solid var(--ink)}.member-home-heading h1{margin:0 0 10px;font-size:clamp(31px, 3.2vw, 45px);letter-spacing:-.04em}.member-home-heading p{margin:0;color:var(--muted);font-size:16px}.member-registrations{padding-bottom:36px}.registered-seminar-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.registered-empty,.registered-seminar-card{display:flex;align-items:center;gap:18px;min-height:118px;padding:22px 24px;border:1px solid var(--line);background:var(--surface)}.registered-seminar-card{transition:border-color .2s,background-color .2s}.registered-seminar-card:hover{border-color:var(--teal);background:var(--teal-soft)}.registered-seminar-icon{display:flex;align-items:center;justify-content:center;width:50px;height:50px;flex:0 0 auto;border-radius:50%;color:var(--teal);background:var(--teal-soft)}.registered-seminar-icon .icon{width:27px;height:27px}.registered-seminar-copy{min-width:0;flex:1}.registered-seminar-copy>span{display:block;margin-bottom:3px;color:var(--teal);font-size:12px;font-weight:600}.registered-empty h3,.registered-seminar-copy h3{margin:0 0 3px;font-size:18px}.registered-empty p,.registered-seminar-copy p{margin:0;color:var(--muted);font-size:13px}.seminar-countdown{padding:4px 9px;color:var(--teal);background:var(--teal-soft);border-radius:3px;font-size:13px;white-space:nowrap}.registered-seminar-card>.icon{width:20px;height:20px;color:var(--muted)}.registered-empty{gap:16px;min-height:104px;padding-block:18px}.registered-empty>.icon{width:28px;height:28px;color:var(--teal)}.registered-empty>div{flex:1}.registered-empty .text-link{flex:0 0 auto;gap:8px;font-size:13px}.member-home-primary{padding-bottom:40px}.member-home-secondary{display:grid;grid-template-columns:minmax(0,1.45fr) repeat(2,minmax(0,0.85fr));align-items:start;gap:22px}.member-home-secondary>section{min-width:0;padding:18px;border:1px solid var(--line);background:var(--surface)}.member-home-secondary .section-heading{align-items:center;margin-bottom:18px}.member-home-secondary .section-heading h2{margin:0;font-size:23px}.member-home-secondary .text-link{gap:8px;font-size:13px;white-space:nowrap}.member-home-secondary .list-card{gap:15px;padding:20px 0}.member-home-secondary .calendar-date,.member-home-secondary .file-mark{flex:0 0 auto;transform:scale(.86);transform-origin:left center}.member-home-secondary .card-copy h2{font-size:16px}.quiet-empty{border-top:1px solid var(--line);padding-top:25px;color:var(--muted);font-size:15px}.archive-page{padding-block:36px 48px;min-height:70vh}.page-heading{margin-bottom:24px}.page-heading h1{font-size:44px;margin-bottom:12px}.page-heading p{color:var(--muted);font-size:17px;margin:0}.archive-filters{padding:16px;border:1px solid var(--line)}.search-field{display:flex;align-items:center;gap:16px;max-width:760px;background:var(--surface);border:1px solid var(--line);padding:7px 7px 7px 19px;border-radius:6px}.search-field input{flex:1;min-width:0;border:0;background:0 0;padding:9px 0;font-size:16px;outline-offset:1px}.search-field .button{min-height:44px;padding:9px 25px}.filter-controls{display:flex;flex-wrap:wrap;gap:18px;align-items:end;margin-top:20px}.filter-select{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--muted)}select{height:44px;min-width:132px;padding:8px 34px 8px 13px;border:1px solid var(--line);border-radius:4px;background:var(--surface);font-size:14px;color:var(--ink)}.filter-reset{font-size:13px;color:var(--muted);min-height:44px;display:flex;align-items:center;text-decoration:underline}.results-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:20px 0 17px;font-size:14px}.results-heading p{margin:0}.results-heading>span{font-size:12px;color:var(--muted)}.results-heading strong{font-weight:550}.content-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 24px}.video-cover{display:flex;position:relative;aspect-ratio:16/10;background:var(--teal-soft);border-radius:var(--radius);border:1px solid var(--line);overflow:hidden;color:var(--teal);padding:24px}.video-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.cover-type{font-size:10px;letter-spacing:.04em;line-height:1.4}.cover-type strong{display:block;font-size:34px;font-weight:450;letter-spacing:-.035em;line-height:1.05;margin-top:16px}.video-card:nth-child(3n+2) .video-cover{background:#eae6de;color:#625c4e}.video-card:nth-child(3n+3) .video-cover{background:#e1e6e8;color:#465964}.play-control{position:absolute;right:22px;bottom:22px;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--surface)}.play-control .icon{width:20px;height:20px;margin-left:2px}.duration{position:absolute;right:14px;top:14px;padding:2px 8px;background:var(--ink);color:var(--surface);font-size:12px;border-radius:3px;font-variant-numeric:tabular-nums}.card-copy{min-width:0}.video-card .card-copy{padding-top:18px}.card-meta{display:flex;gap:10px;align-items:center;font-size:12px;color:var(--teal);margin-bottom:8px}.content-card h2{font-size:21px;line-height:1.45;margin:0 0 8px;letter-spacing:-.025em}.content-card h2 a:hover{text-decoration:underline}.card-detail,.card-location{font-size:13px;color:var(--muted);margin:0;font-variant-numeric:tabular-nums}.card-location{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.content-list{border-top:1px solid var(--ink)}.list-card{display:flex;gap:23px;align-items:center;padding:21px 0;border-bottom:1px solid var(--line)}.list-card .card-copy{flex:1}.list-card h2{font-size:21px}.row-arrow{display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex:none}.row-arrow:hover{color:var(--teal)}.file-mark{width:50px;height:60px;color:var(--teal);background:var(--teal-soft);display:flex;align-items:center;justify-content:center;border-radius:5px}.calendar-date{display:flex;flex-direction:column;align-items:center;min-width:64px;border:1px solid var(--line);padding:5px 10px;line-height:1.4}.calendar-date span{font-size:12px;color:var(--muted)}.calendar-date strong{font-size:28px;font-weight:500;font-variant-numeric:tabular-nums}.badge{font-size:12px;font-weight:500;color:var(--teal);background:var(--teal-soft);padding:3px 9px;border-radius:4px}.pagination{margin-top:45px}.nav-links{display:flex;justify-content:center;gap:7px;flex-wrap:wrap}.page-numbers{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:5px 12px;border-radius:4px}.page-numbers.current{background:var(--teal);color:var(--surface)}a.page-numbers:hover{background:var(--teal-soft)}.empty-state{text-align:center;padding:60px 24px;border-block:1px solid var(--line);color:var(--muted)}.empty-state>.icon{margin-bottom:22px;width:30px;height:30px}.empty-state h2,.empty-state h3{color:var(--ink);font-size:23px}.empty-state p{font-size:15px}.empty-state.compact{padding:36px 20px}.detail-page{max-width:1056px;padding-block:28px 60px;min-height:65vh}.back-link{display:inline-flex;align-items:center;gap:10px;color:var(--muted);font-size:14px;min-height:44px}.reverse{transform:rotate(180deg)}.detail-heading{margin-top:29px;margin-bottom:35px}.detail-heading h1{font-size:40px;max-width:30ch;margin-bottom:20px}.detail-meta{display:flex;flex-wrap:wrap;gap:22px;color:var(--muted);font-size:13px}.video-player{position:relative;aspect-ratio:16/9;background:var(--ink);border-radius:var(--radius);overflow:hidden}.video-player iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.video-unavailable{padding:90px 25px;text-align:center;background:var(--teal-soft);border-radius:var(--radius);color:var(--teal)}.video-unavailable h2{font-size:23px;margin:20px 0 12px}.video-unavailable p{margin:0;font-size:15px}.prose{max-width:72ch;margin:40px auto;font-size:17px;line-height:1.9}.prose h2{margin-top:40px;font-size:26px}.prose h3{margin-top:30px}.prose a{text-decoration:underline;color:var(--teal)}.prose img{max-width:100%;height:auto}.prose iframe{max-width:100%}.prose table{display:block;overflow-x:auto;max-width:100%}.prose li+li{margin-top:10px}.detail-end{border-top:1px solid var(--line);margin-top:50px;padding-top:23px;display:flex;justify-content:space-between;gap:24px;align-items:center}.detail-end p{margin:0;font-size:13px;color:var(--muted)}.seminar-information{background:var(--teal-soft);padding:26px;border:1px solid var(--line);border-radius:var(--radius)}dl{margin:0}dl>div{display:grid;grid-template-columns:95px 1fr;gap:20px;margin-bottom:18px}dt{color:var(--muted);font-size:14px}dd{margin:0;overflow-wrap:anywhere}.seminar-information .form-hint{margin-top:12px}.material-viewer{border:1px solid var(--line);border-radius:var(--radius);padding:25px}.material-intro{display:flex;gap:20px;align-items:center}.material-intro>.icon{width:32px;height:32px;color:var(--teal)}.material-intro>div{flex:1}.material-intro h2{font-size:22px;margin-bottom:5px}.material-intro p{margin:0;color:var(--muted);font-size:14px}.material-status{font-size:14px;color:var(--muted);margin:15px 0 0}.document-frame{width:100%;height:70vh;border:0;margin-top:22px;background:var(--surface)}.document-frame[hidden],[hidden]{display:none!important}.material-watermark{font-size:12px;color:var(--muted);overflow-wrap:anywhere;padding:10px 0}.document-wrap{position:relative}.document-watermark{position:absolute;z-index:1;right:20px;top:45px;background:rgba(247,246,242,.88);padding:9px 13px;max-width:80%;color:#46564e;font-size:12px;pointer-events:none;user-select:none}.document-image{max-height:75vh;margin-inline:auto;object-fit:contain}.auth-layout{display:grid;grid-template-columns:1fr 1fr;gap:13%;padding-block:40px 48px;align-items:start;min-height:72vh}.auth-aside{position:relative;isolation:isolate;overflow:hidden;padding:40px 34px 30px;border:1px solid var(--line);background:#183b34;min-height:490px;display:flex;flex-direction:column;justify-content:flex-start;color:#fff}.auth-aside:after{content:"";position:absolute;z-index:-1;inset:0;background:rgba(8,28,24,.48);pointer-events:none}.auth-hero-photo{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 62%}.auth-aside h2{font-size:37px;line-height:1.5;color:#fff;margin-bottom:22px;text-shadow:0 2px 18px rgba(0,0,0,.2)}.auth-aside-copy>p{font-size:15px;color:#e5eeea;line-height:1.85}.auth-signature{margin-top:auto;padding-top:70px}.auth-signature>span{font-size:28px;letter-spacing:-.035em;color:#fff;font-weight:550}.auth-signature p{font-size:12px;color:#dce8e3;margin:5px 0 0}.auth-form-section{padding-top:12px;max-width:470px;width:100%}.auth-form-section h1{font-size:32px;margin-bottom:12px}.form-intro{font-size:15px;color:var(--muted);margin-bottom:32px}.form-grid label,.member-form>label,.verification-fields>label{display:block;font-size:14px;font-weight:550;margin:21px 0 8px}.member-form input:not([type=checkbox]),.member-form select{display:block;width:100%;min-height:50px;border:1px solid var(--line);border-radius:4px;padding:11px 14px;background:var(--surface);font-size:16px;line-height:1.5}.member-form input::placeholder{color:#70776f}.password-field{position:relative}.member-form .password-field input{padding-right:66px}.password-toggle{position:absolute;top:3px;bottom:3px;right:3px;min-width:54px;background:0 0;border:0;color:var(--teal);font-size:13px}.form-options{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:16px 0 23px;font-size:13px}.checkbox-label{display:flex;align-items:center;gap:9px;min-height:44px;font-size:14px!important;font-weight:400!important}.checkbox-label input{width:18px;height:18px;accent-color:var(--teal);flex:none;margin:0}.form-options a{display:flex;min-height:44px;align-items:center}.form-options a:hover,.form-switch a:hover{text-decoration:underline}.form-switch{text-align:center;margin-top:23px;font-size:14px;color:var(--muted)}.form-switch a{display:inline-flex;align-items:center;min-height:44px;margin-left:9px;font-weight:550;color:var(--teal)}.form-error{background:#f8eae7;color:var(--danger);padding:16px 18px;font-size:14px;border-radius:4px;margin-bottom:22px}.form-hint{font-size:12px;color:var(--muted);margin:8px 0 0;line-height:1.7}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid label{margin-top:0}.verification-fields{margin:25px 0 0;padding:0;border:0;border-top:1px solid var(--line)}.verification-fields legend{font-size:17px;font-weight:550;padding:0 14px 0 0;margin-bottom:3px}.member-form input[type=file]{padding:8px;font-size:12px;min-width:0}.member-form input[type=file]::file-selector-button{border:0;border-radius:3px;background:var(--teal-soft);color:var(--teal);font:inherit;padding:10px 13px;margin-right:12px;min-height:44px}.member-form .consent{display:flex;align-items:flex-start;font-size:13px!important;margin-block:22px}.consent input{margin-top:4px}.consent a{text-decoration:underline;color:var(--teal)}.account-layout{min-height:70vh;padding-block:40px 48px}.status-panel{text-align:center;max-width:660px;margin:auto;padding:25px 0}.status-symbol{display:inline-flex;align-items:center;justify-content:center;background:var(--teal-soft);color:var(--teal);width:72px;height:72px;border-radius:50%;margin-bottom:27px}.status-symbol .icon{width:32px;height:32px}.status-panel h1{font-size:36px;margin-bottom:20px}.status-panel>p{color:var(--muted);line-height:1.9;margin-bottom:30px}.status-panel .membership-steps{justify-content:center;margin:32px 0 37px}.status-reason{background:var(--teal-soft);padding:22px;margin-bottom:30px;text-align:left}.profile-panel{max-width:680px;margin:auto}.profile-name{display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--ink);padding-bottom:23px}.profile-name h2{margin:0}.profile-details>div{border-bottom:1px solid var(--line);padding:22px 0;margin:0}.profile-actions{display:flex;align-items:center;gap:25px;margin-top:32px}.privacy-page{margin:0 auto}.privacy-page h1{font-size:38px}.state-page{text-align:center;min-height:65vh;padding-block:48px}.state-page h1{font-size:38px}.state-page>p{color:var(--muted)}.state-page .state-code{font-size:80px;line-height:1;margin-bottom:30px;color:var(--teal);font-weight:350}.reading-page{min-height:60vh;padding-block:44px}.muted{color:var(--muted)}@media (min-width:1600px){.home-intro{padding-block:40px}}@media (max-width:1150px){.header-inner{gap:25px}.site-nav{gap:19px;font-size:13px}.nav-account{margin-left:0;gap:16px}.brand{font-size:27px}.public-guide{gap:6%}.home-intro{gap:2.8%}.auth-layout{gap:8%}.auth-aside{padding:35px 28px}.auth-aside h2{font-size:32px}.content-grid{gap:30px 22px}.home-secondary{gap:40px}}@media (max-width:900px){.shell{width:calc(100% - 56px)}.header-inner{min-height:72px;position:relative}.menu-toggle{display:flex}.site-nav{display:none;position:absolute;z-index:20;top:calc(100% + 1px);left:-28px;right:-28px;padding:16px 28px 24px;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0}.site-nav.is-open{display:flex}.site-nav>a{min-height:52px;font-size:16px}.nav-account{border-top:1px solid var(--line);padding-top:18px;margin-top:12px;justify-content:space-between}.site-nav>a[aria-current]:after{display:none}.site-nav>a[aria-current]{color:var(--teal)}.home-intro{grid-template-columns:minmax(0,1fr) minmax(240px,0.78fr);gap:32px 5%;padding-block:32px}.intro-copy{grid-column:1}.home-hero-media{grid-column:2;min-height:400px}.archive-directory{grid-column:1/-1}.intro-copy h1{font-size:43px}.intro-description{font-size:16px}.directory-title{font-size:20px}.directory-wordmark{display:none}.directory-row{padding-block:16px;min-height:83px}.intro-note{align-items:flex-start;max-width:25ch}.intro-note .icon{margin-top:3px}.public-guide{padding-block:34px}.guide-lead h2{font-size:30px}.guide-copy>p{font-size:15px}.membership-steps{gap:9px;font-size:12px}.auth-layout{gap:6%;padding-block:36px}.auth-aside{padding:30px 24px;min-height:450px}.auth-aside h2{font-size:28px}.auth-form-section h1{font-size:27px}.content-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-secondary{grid-template-columns:1fr;gap:48px}.member-home{padding-block:30px 40px}.member-home-secondary{grid-template-columns:1fr;gap:35px}.registered-seminar-grid{grid-template-columns:1fr}.footer-meta{flex-direction:column;gap:0;align-items:end}.material-intro{flex-wrap:wrap}.material-intro>div{min-width:180px}.detail-heading h1{font-size:35px}}@media (max-width:650px){.shell{width:calc(100% - 40px)}.header-inner{min-height:72px}.brand{font-size:27px}.site-nav{left:-20px;right:-20px;padding-inline:20px}.home-intro{grid-template-columns:1fr;gap:22px;padding-block:22px 24px}.archive-directory,.home-hero-media,.intro-copy{grid-column:1}.home-hero-media{min-height:0;aspect-ratio:16/10}.home-hero-photo{object-position:62% 48%}.intro-copy h1{font-size:43px;margin-bottom:21px;line-height:1.32}.intro-description{margin-bottom:25px;font-size:16px}.intro-copy>.button{min-height:52px}.intro-note{max-width:none;font-size:11px;margin-top:15px}.archive-directory{padding-top:16px}.directory-heading{padding-bottom:17px}.directory-wordmark{display:block;font-size:10px}.directory-row{padding:15px 12px;min-height:82px;gap:13px}.directory-context-icon{width:30px;height:30px}.directory-title{font-size:21px}.directory-description{font-size:12px}.directory-caption{padding-top:15px}.public-guide{grid-template-columns:1fr;gap:14px;padding:24px;margin-bottom:30px}.guide-lead h2{font-size:29px}.guide-lead p{font-size:15px;margin-bottom:0}.guide-copy>p{font-size:15px}.guide-copy{padding:20px 0 0;border-top:1px solid rgba(23,92,80,.18);border-left:0}.guide-copy .membership-steps{margin-top:21px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;align-items:start}.guide-copy .membership-step{flex-direction:column;align-items:flex-start;gap:5px;white-space:normal;font-size:11px;line-height:1.45}.guide-copy .membership-step>.icon{width:22px;height:22px}.guide-copy .step-arrow{display:none}.site-footer{padding-block:18px;flex-direction:column;align-items:start;gap:18px}.site-footer .brand{font-size:25px}.footer-meta{flex-direction:row;align-items:center;justify-content:space-between;width:100%;gap:15px;font-size:11px}.archive-page{padding-block:24px 36px}.page-heading{margin-bottom:22px}.page-heading h1{font-size:34px;margin-bottom:10px}.page-heading p{font-size:15px}.search-field{gap:10px;padding-left:12px}.search-field>.icon{width:20px;height:20px}.search-field input{font-size:15px}.search-field .button{padding-inline:15px;font-size:14px}.filter-controls{gap:12px}.filter-select{flex:1 1 43%;display:flex;justify-content:space-between;gap:8px}.filter-select select{min-width:0;flex:1;font-size:14px;padding-right:17px}.filter-controls .button{font-size:13px}.results-heading{padding-block:22px;font-size:13px;align-items:start}.results-heading>span{font-size:11px;white-space:nowrap}.content-grid{grid-template-columns:1fr;gap:31px}.video-cover{aspect-ratio:16/9;padding:25px}.cover-type strong{font-size:40px}.content-card h2{font-size:21px}.card-copy{padding-top:0}.video-card .card-copy{padding-top:14px}.list-card{gap:15px;padding-block:22px}.list-card h2{font-size:18px}.file-mark{width:39px;height:49px}.calendar-date{min-width:49px;padding:5px 7px}.calendar-date strong{font-size:25px}.row-arrow{width:34px;min-height:44px}.section-heading{align-items:center;gap:12px;margin-bottom:22px}.home-secondary h2,.section-heading h2{font-size:24px}.section-heading .text-link{font-size:13px;gap:7px;white-space:nowrap}.section-heading p{font-size:13px}.archive-section{padding-block:0 34px}.home-secondary{padding-bottom:40px;gap:32px}.member-home{padding-block:20px 32px}.member-home-heading{align-items:flex-start;flex-direction:column;gap:9px;padding-bottom:20px;margin-bottom:22px}.member-home-heading h1{font-size:30px}.member-home-heading p{font-size:14px}.member-home-primary{padding-bottom:32px}.member-registrations{padding-bottom:28px}.registered-empty,.registered-seminar-card{min-height:0;gap:12px;padding:16px}.registered-seminar-icon{width:42px;height:42px}.registered-empty h3,.registered-seminar-copy h3{font-size:16px}.registered-empty .text-link{display:none}.member-home-secondary{gap:18px}.member-home-secondary>section{padding:16px}.member-home-secondary .section-heading h2{font-size:22px}.empty-state{padding:40px 17px}.empty-state h2{font-size:21px}.detail-page{padding-block:20px 44px}.detail-heading{margin-top:20px;margin-bottom:25px}.detail-heading h1{font-size:30px}.detail-meta{gap:14px;font-size:12px}.video-unavailable{padding:55px 18px}.video-unavailable h2{font-size:21px}.video-unavailable p{font-size:13px}.prose{font-size:16px;margin-block:30px}.prose h2{font-size:24px}.detail-end{align-items:start;flex-direction:column;gap:9px;margin-top:35px}.seminar-information{padding:22px}.seminar-information dl>div{grid-template-columns:52px 1fr;gap:12px;font-size:14px}.material-viewer{padding:19px}.material-intro{gap:13px}.material-intro>.icon{width:25px;height:25px}.material-intro h2{font-size:20px}.material-intro p{font-size:12px}.material-intro>.button{width:100%;margin-top:5px}.document-watermark{font-size:10px;right:8px;padding:6px 8px}.auth-layout{grid-template-columns:1fr;gap:0;padding-block:30px 40px}.auth-aside{display:none}.auth-route-login .auth-aside{display:block;min-height:170px;margin-bottom:28px;padding:0}.auth-route-login .auth-aside-copy,.auth-route-login .auth-signature{display:none}.auth-route-login .auth-hero-photo{object-position:center 63%}.auth-form-section{padding:0;margin:auto;max-width:460px}.auth-form-section h1{font-size:30px}.form-intro{font-size:14px;margin-bottom:28px}.form-grid{gap:13px}.member-form input:not([type=checkbox]),.member-form select{font-size:16px}.form-grid label{margin-top:0}.account-layout{padding-block:26px 36px;min-height:70vh}.status-panel{padding-top:15px}.status-panel h1{font-size:28px}.status-panel>p{font-size:14px}.status-panel .membership-steps{gap:10px;font-size:12px}.profile-details>div{grid-template-columns:69px 1fr;gap:15px;font-size:14px}.profile-name h2{font-size:25px}.profile-actions{gap:18px;flex-wrap:wrap}.privacy-page h1{font-size:30px}.privacy-page h2{font-size:23px}.state-page{padding-block:40px}.state-page h1{font-size:29px}.state-page>p{font-size:14px}}@media (max-width:360px){.intro-copy h1{font-size:38px}.intro-note{font-size:10px}.auth-form-section h1{font-size:27px}.form-grid{grid-template-columns:1fr}.form-grid>div+div label{margin-top:18px}.filter-select{flex-basis:100%}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation:none!important;transition:none!important}}@media print{.back-link,.detail-end,.material-viewer,.site-footer,.site-header,.video-player{display:none}body{background:#fff;color:#000}.shell{width:100%}}.brand{align-items:center;gap:12px}.brand-mark{display:block;width:40px;height:40px;flex:none;transition:transform .35s var(--ease)}.brand-word{display:inline-flex;align-items:baseline}.brand-word strong{font-weight:650}.brand-word>span{font-weight:350}.brand-word i{display:block;align-self:flex-end;width:5px;height:5px;background:var(--teal);border-radius:50%;margin:0 0 9px 5px}.brand:hover .brand-mark{transform:rotate(-4deg)}.site-footer .brand-mark{width:34px;height:34px}@media (max-width:650px){.brand{gap:10px}.brand-mark{width:36px;height:36px}.site-footer .brand-mark{width:32px;height:32px}}@media (prefers-reduced-motion:reduce){.brand-mark{transition:none}.brand:hover .brand-mark{transform:none}}.demo-banner{background:var(--ink);color:var(--paper);padding:8px 0;border-bottom:1px solid rgba(0,0,0,.15);line-height:1.4}.demo-banner-inner{display:flex;align-items:center;justify-content:center;gap:10px;text-align:center;flex-wrap:wrap}.demo-badge{display:inline-block;padding:2px 7px;background:var(--teal);color:#fff;border-radius:3px;font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;line-height:1.3}.demo-text{color:#d7dbd4;font-size:12px}.demo-text strong{color:#fff;font-weight:600}.site-footer{flex-direction:column;gap:20px;align-items:stretch}.footer-primary{display:flex;justify-content:space-between;align-items:center;gap:24px;width:100%}.footer-demo-notice{border-top:1px dashed var(--line);padding-top:14px;width:100%}.footer-demo-notice p{margin:0;font-size:11px;line-height:1.65;color:var(--muted)}.footer-demo-notice strong{color:var(--ink);font-weight:600}@media (max-width:650px){.demo-banner{padding:4px 0}.demo-banner-inner{gap:5px 8px}.demo-text{font-size:10px;line-height:1.35}.demo-badge{font-size:9px;padding:1px 6px}.footer-primary{flex-direction:column;align-items:start;gap:18px}}@media print{.demo-banner{display:none!important}}.header-search{flex:1 1 220px;max-width:360px;min-width:0;margin:0;padding:4px 4px 4px 14px;gap:10px}.header-search>.icon{width:18px;height:18px;flex:0 0 auto;color:var(--muted)}.search-suggest-wrap{position:relative;flex:1;min-width:0}.search-suggest-wrap input{width:100%;border:0;background:0 0;padding:8px 0;font-size:15px;outline:0}.search-submit-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:0;border-radius:4px;background:var(--ink);color:var(--surface);padding:0;flex:0 0 auto}.search-submit-icon .icon{width:16px;height:16px;color:inherit}.search-suggest{position:absolute;z-index:40;left:0;right:0;top:calc(100% + 8px);margin:0;padding:6px;list-style:none;background:var(--surface);border:1px solid var(--line);border-radius:6px;box-shadow:0 12px 28px rgba(36,43,41,.08);max-height:min(320px,50vh);overflow:auto}.search-suggest[hidden]{display:none}.search-suggest li{display:flex;align-items:baseline;gap:12px;min-height:44px;padding:10px 12px;border-radius:4px;cursor:pointer}.search-suggest li.is-active,.search-suggest li:hover{background:var(--teal-soft)}.suggest-type{flex:0 0 auto;color:var(--teal);font-size:12px;font-weight:600;letter-spacing:.02em}.suggest-title{flex:1;min-width:0;color:var(--ink);font-size:14px;font-weight:500;line-height:1.4}.search-field .search-suggest-wrap{flex:1}.search-field .search-suggest-wrap>input,.search-field>.icon+.search-suggest-wrap input{flex:1;min-width:0;border:0;background:0 0;padding:9px 0;font-size:16px}@media (max-width:900px){.header-search{order:3;flex:1 1 100%;max-width:none;margin-top:4px}.header-inner{flex-wrap:wrap}.menu-toggle{margin-left:auto}}.material-compliance{margin-top:16px;max-width:62ch}.video-cover .video-thumb{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.member-material-list{border-top:1px solid var(--ink)}.member-material-row>a{display:flex;align-items:center;gap:13px;min-height:78px;padding:14px 0;border-bottom:1px solid var(--line)}.member-material-row>a:hover{color:var(--teal)}.member-material-icon{display:flex;align-items:center;justify-content:center;width:39px;height:46px;flex:0 0 auto;border-radius:4px;color:var(--teal);background:var(--teal-soft)}.member-material-icon .icon{width:23px;height:23px}.member-material-copy{min-width:0;flex:1}.member-material-copy strong{display:block;overflow:hidden;font-size:15px;font-weight:600;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.member-material-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:3px;color:var(--muted);font-size:12px;line-height:1.3;min-width:0}.member-material-file{display:inline-flex;align-items:center;gap:6px;min-width:0;max-width:100%}.member-material-filename{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.member-material-sep{opacity:.55;flex:0 0 auto}.member-material-open{flex:0 0 auto;font-size:12px;font-weight:600;white-space:nowrap}.member-material-row>a>.icon{display:none}@media (max-width:650px){.member-material-row>a{min-height:73px;gap:11px}.member-material-icon{width:35px;height:41px}.member-material-open{display:none}}.material-file-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px 26px;display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:20px;box-shadow:0 4px 16px rgba(0,0,0,.03)}.material-file-header{display:flex;align-items:center;gap:18px;min-width:0;flex:1}.material-file-icon-box{position:relative;width:52px;height:62px;background:var(--teal-soft);color:var(--teal);border-radius:6px;display:flex;align-items:center;justify-content:center;flex:0 0 auto}.material-file-icon-box .icon{width:30px;height:30px}.file-format-tag{position:absolute;bottom:-4px;right:-4px;background:var(--ink);color:#fff;font-size:10px;font-weight:700;padding:2px 6px;border-radius:3px;letter-spacing:.04em;line-height:1.2}.material-file-meta-wrap{min-width:0;flex:1}.material-filename{display:block;font-size:16px;font-weight:650;color:var(--ink);margin-bottom:5px;word-break:break-word;overflow-wrap:anywhere}.material-file-spec{display:flex;align-items:center;gap:6px 8px;font-size:13px;color:var(--muted);flex-wrap:wrap}.material-file-spec .spec-divider{opacity:.4}.spec-verified{color:var(--teal);font-weight:550}.material-actions{display:flex;gap:10px;align-items:center;flex:0 0 auto}.material-download-wrap{margin-top:14px}.material-download-ready{display:inline-flex;align-items:center;gap:8px}.material-card-icon{position:relative;width:44px;height:52px;padding:4px;box-sizing:border-box;background:var(--teal-soft);color:var(--teal);border-radius:5px;display:flex;align-items:center;justify-content:center;flex:0 0 auto}.material-card-icon.is-pdf{background:#f3e8e8;color:#b42318}.material-card-icon.is-image{background:#e8f0f8;color:#175cd3}.material-card-icon .icon{width:34px;height:34px}.material-card-icon .file-format-tag{bottom:-3px;right:-3px;font-size:9px;padding:1px 5px}.material-file-icon-box.is-pdf{background:#f3e8e8;color:#b42318}.material-file-icon-box.is-image{background:#e8f0f8;color:#175cd3}.member-material-icon.is-pdf{color:#b42318}.member-material-icon.is-image{color:#175cd3}.file-size-badge{display:inline-flex;align-items:center;flex:0 0 auto;font-size:11px;font-weight:600;line-height:1.2;color:var(--teal);background:var(--teal-soft);padding:2px 7px;border-radius:3px}.card-filename{display:flex;align-items:center;gap:8px;min-width:0;margin:0;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-filename-name{overflow:hidden;text-overflow:ellipsis;min-width:0}.card-filename-date{flex:0 0 auto;white-space:nowrap}.card-title-row{display:flex;align-items:baseline;gap:10px;min-width:0}.card-title-row>a{min-width:0;overflow:hidden;text-overflow:ellipsis}.card-title-date{flex:0 0 auto;font-size:12px;font-weight:500;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.card-bottom-row{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:6px}.material-card .card-title-row,.material-card h2{margin-bottom:0;line-height:1.25}.material-card .card-copy{gap:0}.material-card .card-bottom-row{margin-top:0}.card-download-btn{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--teal);background:var(--teal-soft);border:1px solid rgba(23,92,80,.2);padding:6px 13px;border-radius:4px;white-space:nowrap;transition:all .2s ease}.card-download-btn:hover{background:var(--teal);color:#fff;border-color:var(--teal)}.card-download-btn .icon{width:14px;height:14px}@media (max-width:768px){.material-file-card{flex-direction:column;align-items:stretch;gap:18px;padding:18px 16px}.material-actions{flex-direction:column;width:100%}.material-actions .button{width:100%}.card-bottom-row{flex-wrap:wrap;gap:8px}}.demo-login-box{background:var(--teal-soft);border:1px solid rgba(23,92,80,.25);border-radius:8px;padding:22px 24px;margin-bottom:24px;box-shadow:0 4px 16px rgba(23,92,80,.06)}.demo-login-badge-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.demo-login-badge{background:var(--teal);color:#fff;font-size:10px;font-weight:700;padding:2px 7px;border-radius:3px;letter-spacing:.05em}.demo-login-note{font-size:12px;color:var(--teal);font-weight:600}.demo-login-title{display:block;font-size:18px;font-weight:650;color:var(--ink);margin-bottom:6px;letter-spacing:-.02em}.demo-login-desc{font-size:13px;color:#426457;line-height:1.65;margin:0 0 16px}.demo-login-submit{min-height:50px;font-size:15px;font-weight:600;gap:9px}.demo-login-submit .icon{width:18px;height:18px}.demo-login-meta{margin-top:12px;font-size:12px;color:var(--muted);text-align:center}.demo-login-meta code{font-family:monospace;font-size:11px;background:rgba(0,0,0,.05);padding:2px 6px;border-radius:3px;color:var(--ink)}.auth-divider{display:flex;align-items:center;text-align:center;margin:24px 0 18px;color:var(--muted);font-size:12px}.auth-divider:after,.auth-divider:before{content:"";flex:1;border-bottom:1px solid var(--line)}.auth-divider span{padding:0 14px}.demo-banner-form{margin:0;display:inline-flex}.demo-banner-btn{display:inline-flex;align-items:center;gap:6px;background:var(--teal);color:#fff;border:0;padding:4px 12px;border-radius:4px;font-size:11px;font-weight:600;cursor:pointer;transition:background-color .2s;line-height:1.4}.demo-banner-btn:hover{background:var(--teal-hover)}.demo-banner-btn .icon{width:13px;height:13px}@media (max-width:650px){.demo-login-box{padding:18px 16px}.demo-banner-btn{width:100%;justify-content:center;padding:7px 12px;font-size:12px}}
/* Seminar Calendar View */
.page-heading-row{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;width:100%}
.page-heading-copy{flex:1;min-width:240px}
.archive-view-tabs{display:inline-flex;align-items:center;background:#e8e7e1;border:1px solid var(--line);border-radius:6px;padding:3px;gap:3px;flex:0 0 auto}
.view-tab{display:inline-flex;align-items:center;gap:7px;padding:7px 15px;font-size:13px;font-weight:600;color:var(--muted);border-radius:4px;transition:all .2s ease;line-height:1.4;text-decoration:none;min-height:38px}
.view-tab .icon{width:16px;height:16px;flex:0 0 auto}
.view-tab.is-active{background:var(--surface);color:var(--ink);box-shadow:0 2px 6px rgba(0,0,0,.06)}
.view-tab:hover{color:var(--teal)}
.seminar-calendar-wrap{margin-top:24px}
.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:18px}
.calendar-nav-controls{display:flex;align-items:center;gap:12px}
.calendar-nav-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:600;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:4px;transition:all .2s ease;text-decoration:none}
.calendar-nav-btn .icon{width:14px;height:14px;flex:0 0 auto}
.calendar-nav-btn:hover{background:var(--teal-soft);border-color:var(--teal);color:var(--teal)}
.calendar-current-month{font-size:22px;font-weight:700;margin:0 6px;letter-spacing:-.02em;min-width:130px;text-align:center}
.calendar-toolbar-meta{display:flex;align-items:center;gap:14px}
.calendar-event-count{font-size:14px;color:var(--muted)}
.calendar-event-count strong{color:var(--teal);font-weight:700}
.calendar-board{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 4px 18px rgba(0,0,0,.03);margin-bottom:36px}
.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);background:var(--paper);border-bottom:1px solid var(--line);text-align:center}
.cal-weekday{padding:11px 4px;font-size:13px;font-weight:650;color:var(--muted)}
.cal-weekday.cal-sun{color:var(--danger)}
.cal-weekday.cal-sat{color:#2b5c77}
.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);background:var(--line);gap:1px}
.cal-cell{background:var(--surface);min-height:110px;padding:8px 10px;display:flex;flex-direction:column;position:relative;transition:background-color .15s ease}
.cal-cell.cal-cell-muted{background:#fbfbfa;opacity:.55}
.cal-cell.is-past-day{background:#f9f9f7;opacity:.62}
.cal-cell.is-past-day .cell-day-num{color:#88908a}
.cal-cell.is-past-day.cal-sun .cell-day-num{color:#c47f7a}
.cal-cell.is-past-day.cal-sat .cell-day-num{color:#7692a4}
.cal-cell.is-past-day .cal-event-pill{opacity:.8;filter:grayscale(0.35)}
.cal-cell.is-past-day.has-events:hover{opacity:1;background:rgba(230,238,234,.55)}
.cal-cell.is-today{background:rgba(230,238,234,.45)}
.cal-cell.is-today .cell-day-num{font-weight:750;color:var(--teal)}
.cal-cell.has-events{cursor:pointer}
.cal-cell.has-events:hover{background:rgba(230,238,234,.6)}
.cal-cell.is-active-day{outline:2px solid var(--teal);outline-offset:-2px;z-index:2}
.cell-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.cell-day-num{font-size:14px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1}
.cal-sun .cell-day-num{color:var(--danger)}
.cal-sat .cell-day-num{color:#2b5c77}
.cell-today-pill{font-size:10px;font-weight:700;background:var(--teal);color:#fff;padding:1px 5px;border-radius:3px;line-height:1.3}
.cell-event-count-badge{font-size:11px;font-weight:700;color:var(--teal);background:var(--teal-soft);width:18px;height:18px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center}
.cell-dot-indicator{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--muted);opacity:.6;margin-top:4px}
.cell-events-list{display:flex;flex-direction:column;gap:4px;margin-top:2px}
.cal-event-pill{display:block;padding:5px 8px;border-radius:4px;font-size:11px;line-height:1.35;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease;border:1px solid transparent}
.cal-event-pill:hover{transform:translateY(-1px);box-shadow:0 2px 6px rgba(0,0,0,.08)}
.cal-event-pill.is-upcoming{background:var(--teal-soft);color:var(--teal);border-color:rgba(23,92,80,.22)}
.cal-event-pill.is-past{background:#eeedea;color:var(--muted);border-color:var(--line)}
.pill-time{font-weight:700;margin-right:4px;font-variant-numeric:tabular-nums}
.pill-title{font-weight:550;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block;max-width:100%;vertical-align:bottom}
.pill-rsvp-tag{display:inline-block;font-size:9px;font-weight:700;background:var(--teal);color:#fff;padding:0 4px;border-radius:2px;margin-left:3px;line-height:1.4;vertical-align:middle}
.cell-mobile-indicator{display:none}
.calendar-agenda-section{margin-top:28px}
.agenda-header{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:20px;padding-bottom:14px;border-bottom:2px solid var(--ink);flex-wrap:wrap}
.agenda-title{font-size:24px;font-weight:700;margin:0 0 4px;letter-spacing:-.025em}
.agenda-subtitle{font-size:14px;color:var(--muted)}
.agenda-legend{display:flex;gap:14px;align-items:center;font-size:12px;color:var(--muted)}
.legend-item{display:inline-flex;align-items:center;gap:6px}
.legend-dot{width:8px;height:8px;border-radius:50%;display:inline-block}
.legend-rsvp{background:var(--teal)}
.legend-upcoming{background:#398877}
.legend-past{background:var(--muted)}
.agenda-list{display:flex;flex-direction:column;gap:14px}
.agenda-card{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:22px 26px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);transition:all .2s ease}
.agenda-card:hover{border-color:var(--teal);background:#fdfdfc}
.agenda-card.is-selected{border-color:var(--teal);box-shadow:0 0 0 2px var(--teal),0 8px 24px rgba(23,92,80,.1)}
.agenda-date-box{display:flex;flex-direction:column;min-width:140px;flex:0 0 auto}
.agenda-date-text{font-size:13px;font-weight:600;color:var(--teal);margin-bottom:2px}
.agenda-time-text{font-size:16px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}
.agenda-content{flex:1;min-width:0}
.agenda-badge-row{display:flex;align-items:center;gap:8px;margin-bottom:6px;flex-wrap:wrap}
.badge-rsvp{background:var(--teal);color:#fff;font-size:11px;font-weight:650;padding:2px 7px;border-radius:3px}
.badge-upcoming{background:var(--teal-soft);color:var(--teal);font-size:11px;font-weight:650;padding:2px 7px;border-radius:3px}
.badge-past{background:#eeedea;color:var(--muted);font-size:11px;font-weight:650;padding:2px 7px;border-radius:3px}
.agenda-location-badge{font-size:12px;color:var(--muted);display:inline-flex;align-items:center}
.agenda-loc-tag{display:inline-block;font-size:10px;font-weight:700;color:var(--muted);background:#eae9e3;padding:1px 5px;border-radius:3px;margin-right:5px;letter-spacing:.02em;line-height:1.4}
.agenda-card-title{font-size:19px;font-weight:650;margin:0;line-height:1.4}
.agenda-card-title a:hover{color:var(--teal);text-decoration:underline}
.agenda-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.calendar-empty-month{text-align:center;padding:48px 24px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}
.empty-icon-wrap{color:var(--muted);margin-bottom:14px}
.empty-icon-wrap .icon{width:36px;height:36px}
.calendar-empty-month h4{font-size:18px;margin:0 0 8px}
.calendar-empty-month p{font-size:14px;color:var(--muted);margin:0 0 20px}
.empty-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}
@media (max-width:900px){
  .page-heading-row{flex-direction:column;align-items:flex-start;gap:16px}
  .agenda-card{flex-direction:column;align-items:flex-start;gap:16px;padding:18px 20px}
  .agenda-actions{width:100%}
  .agenda-actions .button{flex:1}
}
@media (max-width:768px){
  .cal-cell{min-height:52px;padding:6px 3px;align-items:center}
  .cell-header{width:100%;justify-content:center;margin-bottom:0}
  .cell-events-list{display:none}
  .cell-mobile-indicator{display:flex;align-items:center;gap:3px;margin-top:3px}
  .cell-mobile-dot{width:5px;height:5px;border-radius:50%;background:var(--teal)}
  .cell-mobile-text{font-size:9px;font-weight:700;color:var(--teal)}
  .calendar-toolbar{flex-direction:column;align-items:stretch;gap:14px;padding:14px 16px}
  .calendar-nav-controls{justify-content:space-between}
  .calendar-current-month{font-size:19px}
  .calendar-toolbar-meta{justify-content:space-between}
  .agenda-header{flex-direction:column;align-items:flex-start;gap:12px}
}

/* Restrained corners for primary bordered surfaces. */
.home-hero-media,
.public-guide,
.registered-empty,
.registered-seminar-card,
.member-home-secondary>section,
.archive-filters,
.auth-aside{border-radius:var(--radius)}
.member-home-secondary{align-items:stretch}
/* compact-lists */.list-card{gap:14px;padding:12px 0;align-items:center}.list-card h2,.content-card h2{font-size:17px;line-height:1.35;margin:0 0 4px}.list-card .card-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.card-meta{display:flex;flex-wrap:nowrap;align-items:center;gap:8px;margin:0 0 2px;font-size:12px;line-height:1.3;min-width:0;overflow:hidden}.card-meta>.card-detail{color:var(--muted);font-weight:400;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.card-meta>.badge,.card-meta>.file-size-badge{flex:0 0 auto}.card-meta>span:first-child{flex:0 0 auto;white-space:nowrap}.card-filename{margin:0;font-size:12px}.card-title-row{gap:8px;margin:0}.card-title-date{font-size:11px}.material-card .card-title-row,.material-card h2{margin:0;line-height:1.25}.material-card .card-copy{gap:0}.material-card .card-bottom-row{margin-top:0}.card-bottom-row{margin-top:4px;gap:10px}.file-mark{width:40px;height:48px}.calendar-date{min-width:48px;padding:3px 7px}.calendar-date strong{font-size:22px}.material-card-icon{width:42px;height:50px;padding:3px}.material-card-icon .icon{width:32px;height:32px}.content-grid{gap:22px 18px}.video-card .card-copy{padding-top:10px}.video-card .card-meta{margin-bottom:2px}.section-heading{margin-bottom:16px;gap:12px}.section-heading p{font-size:13px}.archive-page{padding-block:28px 40px}.results-heading{padding:14px 0 12px}.archive-filters{padding-bottom:16px}.member-home-secondary .list-card{gap:12px;padding:12px 0}.member-home-secondary .card-copy h2{font-size:15px}.registered-empty,.registered-seminar-card{min-height:0;padding:14px 16px;gap:12px}@media (max-width:650px){.list-card{gap:10px;padding:10px 0}.list-card h2,.content-card h2{font-size:16px}.card-meta{gap:6px;font-size:11px}.calendar-date{min-width:42px;padding:2px 5px}.calendar-date strong{font-size:20px}.content-grid{gap:18px}.archive-page{padding-block:20px 32px}.results-heading{padding-block:12px}}/* page-heading-compact */.page-heading{margin-bottom:14px}.page-heading-title{display:flex;align-items:center;gap:10px;margin:0 0 4px;min-width:0}.page-heading-title h1{margin:0;font-size:clamp(26px,3vw,34px);line-height:1.25}.page-heading-icon{display:inline-flex;align-items:center;justify-content:center;width:1.15em;height:1.15em;flex:0 0 auto;border-radius:.28em;background:var(--teal-soft);color:var(--teal);font-size:inherit}.page-heading-title .page-heading-icon{font-size:clamp(26px,3vw,34px)}.page-heading-icon .icon{width:.58em;height:.58em}.page-heading p{font-size:14px;margin:0;color:var(--muted)}.page-heading-row{align-items:center;gap:16px}.page-heading-copy{min-width:0}.member-home{padding-block:22px 36px}.member-home-heading{align-items:center;gap:16px;padding-bottom:14px;margin-bottom:18px}.member-home-greeting{display:flex;flex-direction:column;gap:2px;min-width:0}.member-home-greeting .page-heading-title h1{font-size:clamp(24px,2.8vw,32px);letter-spacing:-.035em}.member-home-greeting .page-heading-title .page-heading-icon{font-size:clamp(24px,2.8vw,32px)}.member-home-greeting>p{margin:0;font-size:13px;color:var(--muted)}@media (max-width:650px){.page-heading{margin-bottom:12px}.page-heading-title{gap:8px}.page-heading-title h1{font-size:24px}.page-heading-title .page-heading-icon{font-size:24px}.member-home{padding-block:16px 28px}.member-home-heading{padding-bottom:12px;margin-bottom:14px;gap:10px}.member-home-greeting .page-heading-title h1,.member-home-greeting .page-heading-title .page-heading-icon{font-size:22px}}
/* registered-seminar-highlights */
.calendar-my-count{font-size:12px;color:var(--teal);background:var(--teal-soft);padding:3px 9px;border-radius:4px;font-weight:600;display:inline-flex;align-items:center;gap:3px}
.calendar-my-count strong{color:var(--teal);font-weight:700}
.cal-cell.has-my-registered{background:rgba(23,92,80,.045)}
.cal-cell.has-my-registered .cell-header{border-bottom:2px solid var(--teal);padding-bottom:2px}
.cal-cell.has-my-registered .cell-event-count-badge{background:var(--teal);color:#fff}
.cal-event-pill.is-my-registered{background:#175c50;color:#fff;border-color:#0f4339;font-weight:600;box-shadow:0 1px 4px rgba(23,92,80,.25)}
.cal-event-pill.is-my-registered .pill-time{color:#d1ebe3}
.cal-event-pill.is-my-registered .pill-title{color:#fff;font-weight:600}
.cal-event-pill.is-my-registered:hover{background:#0f4339;color:#fff;border-color:#0f4339;transform:translateY(-2px);box-shadow:0 4px 10px rgba(23,92,80,.35)}
.cal-event-pill.is-my-registered:hover .pill-time,.cal-event-pill.is-my-registered:hover .pill-registered-tag{background:rgba(255,255,255,.2);color:#fff}
.pill-registered-tag{display:inline-block;font-size:9.5px;font-weight:700;background:#fff;color:#175c50;padding:0 5px;border-radius:2px;margin-left:auto;line-height:1.4;letter-spacing:-.02em;vertical-align:middle;flex-shrink:0}
.cal-cell.is-past-day .cal-event-pill.is-my-registered{opacity:.95;filter:none}
.cell-mobile-dot.dot-my-registered{background:#175c50;box-shadow:0 0 0 2px rgba(23,92,80,.3)}
.cell-mobile-text.text-my-registered{color:#175c50;font-weight:800}
.legend-dot.legend-my-registered{background:var(--teal);box-shadow:0 0 0 2px rgba(23,92,80,.25)}
.agenda-card.is-my-registered{background:#fbfdfc;border-color:rgba(23,92,80,.35);box-shadow:0 2px 12px rgba(23,92,80,.06)}
.agenda-card.is-my-registered:hover{background:#f4f9f7;border-color:var(--teal)}
.badge-my-registered{background:var(--teal);color:#fff;font-size:11px;font-weight:700;padding:3px 8px;border-radius:3px;display:inline-flex;align-items:center;gap:4px}.badge-new{background:#c2410c;color:#fff;font-size:10px;font-weight:700;letter-spacing:.04em;padding:2px 7px;border-radius:3px;line-height:1.2}mark,.search-hit{background:rgba(23,92,80,.18);color:inherit;padding:0 .12em;border-radius:2px;font-weight:700}.suggest-title mark{background:rgba(23,92,80,.22)}
.badge-my-registered .icon{width:12px;height:12px}
.registered-status-tag{display:inline-flex;align-items:center;gap:5px;font-size:13px;font-weight:650;color:var(--teal);background:var(--teal-soft);padding:6px 13px;border-radius:4px;border:1px solid rgba(23,92,80,.2)}
.registered-status-tag .icon{width:15px;height:15px}
.content-card.is-registered-seminar-card{background:#fbfdfc}
.calendar-date.is-my-registered{border-color:var(--teal);background:var(--teal-soft)}
.calendar-date.is-my-registered strong{color:var(--teal)}
.cal-date-my-tag{display:inline-block;font-size:9px;font-weight:700;background:var(--teal);color:#fff;padding:1px 4px;border-radius:2px;margin-top:2px;line-height:1.2}
.seminar-registered-banner{display:flex;align-items:center;gap:16px;padding:16px 20px;background:#eef6f3;border:1.5px solid var(--teal);border-radius:var(--radius);margin-bottom:20px;box-shadow:0 2px 10px rgba(23,92,80,.07)}
.seminar-registered-banner .banner-icon-wrap{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--teal);color:#fff;flex-shrink:0}
.seminar-registered-banner .banner-icon-wrap .icon{width:22px;height:22px}
.seminar-registered-banner .banner-copy{flex:1;min-width:0}
.seminar-registered-banner .banner-copy strong{display:block;font-size:16px;color:var(--ink);margin-bottom:2px}
.seminar-registered-banner .banner-copy p{margin:0;font-size:13px;color:#38584e;line-height:1.5}
.seminar-registered-banner .banner-badge{display:inline-flex;align-items:center;padding:4px 10px;background:var(--teal);color:#fff;font-size:12px;font-weight:700;border-radius:4px;flex-shrink:0}
.seminar-action-group{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:10px}
.seminar-action-group form{margin:0}
.seminar-action-group .btn-cancel-reg{color:var(--muted);border-color:rgba(0,0,0,.15)}
.seminar-action-group .btn-cancel-reg:hover{color:var(--danger);border-color:var(--danger);background:#fff2f0}
@media (max-width:650px){
  .seminar-registered-banner{flex-direction:column;align-items:flex-start;gap:12px;padding:14px 16px}
  .seminar-registered-banner .banner-badge{align-self:flex-start}
}

/* Compact global location trail. */
.breadcrumbs{display:flex;align-items:center;min-height:38px;padding-block:7px 6px;border-bottom:1px solid var(--line);color:var(--muted);font-size:12px;line-height:1.45}
.breadcrumbs ol{display:flex;align-items:center;min-width:0;margin:0;padding:0;list-style:none;overflow:hidden}
.breadcrumbs li{display:flex;align-items:center;min-width:0;white-space:nowrap}
.breadcrumbs li+li::before{content:"";width:6px;height:6px;margin:0 11px 0 9px;border-right:1px solid #8b928c;border-bottom:1px solid #8b928c;transform:rotate(-45deg);flex:0 0 auto}
.breadcrumbs a{display:inline-flex;align-items:center;min-height:28px;color:var(--muted)}
.breadcrumbs a:hover{color:var(--teal);text-decoration:underline}
.breadcrumbs [aria-current="page"]{min-width:0;overflow:hidden;color:var(--ink);font-weight:550;text-overflow:ellipsis}
.breadcrumbs a,.breadcrumbs [aria-current="page"]{display:inline-flex;align-items:center;gap:3px}
.breadcrumb-icon{width:10px;height:10px;flex:0 0 auto;color:var(--teal)}
.site-nav>a,.nav-account a{gap:4px}
.nav-icon{width:12px;height:12px;color:var(--muted)}
.site-nav a:hover .nav-icon,.site-nav a[aria-current] .nav-icon{color:var(--teal)}
.site-nav .button-dark .nav-icon{color:inherit}
.header-inner{gap:24px}
.header-search{max-width:440px}
.site-nav{gap:18px}
.nav-account{gap:10px;margin-left:8px}
.logout-link{width:44px;padding-inline:0}
@media (max-width:650px){
  .breadcrumbs{min-height:34px;padding-block:5px 4px;font-size:11px}
  .breadcrumbs li+li::before{margin-inline:8px 7px}
  .breadcrumbs a{min-height:26px}
  .site-nav .nav-icon{width:13px;height:13px}
  .breadcrumb-icon{width:10px;height:10px}
}

/* Content Detail Page & Bordered Prose (Left-Aligned) */
.detail-page{padding-block:16px 36px!important;min-height:auto!important}
.detail-heading{margin-top:14px!important;margin-bottom:18px!important}
.detail-heading h1{margin-bottom:10px!important;font-size:clamp(26px, 3.2vw, 36px)!important}
.detail-meta{gap:14px!important;font-size:12.5px!important}
.back-link{min-height:36px!important;font-size:13px!important}
.seminar-registered-banner{padding:12px 18px!important;margin-bottom:14px!important}
.seminar-information{padding:18px 22px!important}
.seminar-information dl>div{margin-bottom:10px!important}
.material-file-card{padding:16px 20px!important;margin-bottom:14px!important}
.material-viewer{padding:16px 20px!important}
.detail-end{margin-top:22px!important;padding-top:16px!important}

/* Bordered, Left-Aligned Body Content Area */
.prose{max-width:100%!important;margin:18px 0 20px!important;padding:26px 30px!important;border:1px solid var(--line)!important;border-radius:var(--radius)!important;background:var(--surface)!important;box-shadow:0 2px 12px rgba(0,0,0,.025)!important;text-align:left!important;font-size:16px!important;line-height:1.85!important}
.prose>:first-child{margin-top:0!important}
.prose>:last-child{margin-bottom:0!important}
.prose p{margin-bottom:14px;line-height:1.8}
.prose h2{margin-top:24px;margin-bottom:10px;font-size:22px}
.prose h3{margin-top:20px;margin-bottom:8px;font-size:18px}
.prose figure{margin:18px 0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--paper);box-shadow:0 2px 8px rgba(0,0,0,.02)}
.prose figure img{width:100%;height:auto;display:block;object-fit:cover;max-height:460px}
.prose figcaption{padding:9px 15px;font-size:12.5px;color:var(--muted);background:#fafaf8;border-top:1px solid var(--line);display:flex;align-items:center;gap:8px;line-height:1.5}
.prose figcaption::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--teal);flex-shrink:0}
.prose .content-callout{background:var(--teal-soft);border:1px solid rgba(23,92,80,.24);padding:14px 18px;border-radius:var(--radius);margin:16px 0;font-size:14.5px;line-height:1.7;color:#23443b}
.prose .content-callout strong{color:var(--ink)}
.prose .content-callout p:last-child{margin-bottom:0}
.prose .content-callout.is-warning{background:#fdf6ed;border-color:rgba(217,119,6,.3);color:#78350f}
.prose .content-callout.is-info{background:#edf5f8;border-color:rgba(43,92,119,.28);color:#164e63}
.prose table{width:100%;border-collapse:separate;border-spacing:0;margin:16px 0;font-size:13.5px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.prose th{background:#eae9e3;color:var(--ink);font-weight:650;text-align:left;padding:10px 14px;border-bottom:1px solid var(--line);white-space:nowrap}
.prose td{padding:10px 14px;border-bottom:1px solid var(--line);color:#3b4340;line-height:1.6}
.prose tr:last-child td{border-bottom:0}
.prose tr:hover td{background:#f9f9f7}
.prose ul, .prose ol{padding-left:22px;margin:14px 0}
.prose li{margin-bottom:6px;line-height:1.7}
.prose li strong{color:var(--ink)}
.prose .content-badge{display:inline-block;font-size:11px;font-weight:700;color:var(--teal);background:var(--teal-soft);padding:2px 8px;border-radius:3px;margin-right:6px;vertical-align:middle}
.prose .step-box{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:12px 16px;margin:12px 0;display:flex;align-items:flex-start;gap:12px}
.prose .step-num{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--teal);color:#fff;font-size:12px;font-weight:700;flex-shrink:0}
.prose .step-content{flex:1;min-width:0}
.prose .step-content h4{margin:0 0 3px;font-size:15px;font-weight:650;color:var(--ink)}
.prose .step-content p{margin:0;font-size:13px;color:var(--muted);line-height:1.55}

/* Overall Vertical Spacing Reduction */
.archive-page{padding-block:18px 30px!important}
.member-home{padding-block:16px 28px!important}
.site-footer{padding-block:14px 12px!important;gap:14px!important}
.site-header .header-inner{min-height:68px!important}

@media (max-width:650px){
  .detail-page{padding-block:12px 24px!important}
  .detail-heading{margin-top:10px!important;margin-bottom:14px!important}
  .detail-heading h1{font-size:24px!important}
  .prose{padding:16px 16px!important;margin:12px 0 16px!important}
  .prose figure{margin:14px 0}
  .prose figure img{max-height:260px}
  .prose figcaption{font-size:11.5px;padding:7px 10px}
  .prose .content-callout{padding:12px 14px;font-size:13.5px;margin:12px 0}
  .prose th, .prose td{padding:8px 10px;font-size:12.5px}
  .prose .step-box{padding:10px 12px;gap:10px}
  .site-footer{padding-block:12px!important}
}

/* Soft secondary actions replace visually heavy charcoal controls. */
.button-dark{background:var(--action-soft);color:var(--action-soft-ink);border-color:var(--action-soft-border)}
.button-dark:hover,.site-nav .button-dark:hover{background:var(--teal);color:var(--surface);border-color:var(--teal)}
.search-submit-icon{background:var(--action-soft);color:var(--action-soft-ink);border:1px solid var(--action-soft-border)}
.search-submit-icon:hover{background:var(--teal);color:var(--surface);border-color:var(--teal)}

/* Text-led public archive directory. */
.directory-row{min-height:79px;padding:14px 18px}
.directory-arrow{width:18px;height:18px;color:var(--muted);transition:transform .45s var(--ease),color .2s}
.directory-row:hover .directory-arrow{color:var(--teal);transform:translateX(5px)}
@media (max-width:650px){
  .directory-row{min-height:72px;padding:12px}
  .directory-arrow{width:17px;height:17px}
}

/* Demo access follows the primary sign-in flow as a quiet test option. */
.demo-login-compact{margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}
.demo-login-label{display:block;margin-bottom:9px;color:var(--muted);font-size:12px;text-align:center}
.demo-login-form{margin:0}

/* ==========================================================================
   Seminar Left Offcanvas Drawer & Backdrop
   ========================================================================== */
body.has-seminar-offcanvas-open{overflow:hidden}

.seminar-offcanvas-backdrop{
  position:fixed;
  inset:0;
  background:rgba(18,30,49,0.48);
  backdrop-filter:blur(3px);
  -webkit-backdrop-filter:blur(3px);
  z-index:1190;
  opacity:0;
  visibility:hidden;
  transition:opacity .25s ease,visibility .25s ease;
  cursor:pointer;
}
.seminar-offcanvas-backdrop.is-open{
  opacity:1;
  visibility:visible;
}

.seminar-offcanvas{
  position:fixed;
  top:0;
  left:0;
  bottom:0;
  width:min(660px, 92vw);
  height:100vh;
  background:var(--surface,#ffffff);
  color:var(--ink);
  z-index:1200;
  box-shadow:6px 0 32px rgba(18,30,49,0.18);
  display:flex;
  flex-direction:column;
  transform:translateX(-100%);
  visibility:hidden;
  transition:transform .32s cubic-bezier(0.16,1,0.3,1),visibility .32s ease;
  will-change:transform;
  outline:none;
}
.seminar-offcanvas.is-open{
  transform:translateX(0);
  visibility:visible;
}

.seminar-offcanvas-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px 20px;
  background:var(--surface-alt,#faf8f5);
  border-bottom:1px solid var(--line);
  flex-shrink:0;
  gap:12px;
}
.offcanvas-header-title-wrap{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
}
.offcanvas-kicker{
  display:inline-flex;
  align-items:center;
  gap:7px;
  font-size:13px;
  font-weight:600;
  color:var(--teal);
  letter-spacing:-0.01em;
}
.offcanvas-kicker .icon{
  width:16px;
  height:16px;
  color:var(--teal);
}
.offcanvas-header-actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex-shrink:0;
}
.offcanvas-icon-btn,
.offcanvas-close-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  border-radius:8px;
  border:1px solid var(--line);
  background:var(--surface);
  color:var(--muted);
  cursor:pointer;
  transition:all .15s ease;
  padding:0;
  text-decoration:none;
}
.offcanvas-icon-btn .icon,
.offcanvas-close-btn .icon{
  width:16px;
  height:16px;
}
.offcanvas-icon-btn:hover{
  background:var(--sand,#f0eee9);
  color:var(--ink);
  border-color:var(--border,#d1cdc7);
}
.offcanvas-close-btn:hover{
  background:#fee2e2;
  color:#b91c1c;
  border-color:#fca5a5;
}

.seminar-offcanvas-body{
  flex:1;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  padding:20px 22px 40px;
  scroll-behavior:smooth;
}
.offcanvas-content-header{
  margin-bottom:14px;
  padding-bottom:14px;
  border-bottom:1px solid var(--line);
}
.offcanvas-badge-row{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px;
  margin-bottom:8px;
}
.offcanvas-seminar-title{
  font-size:21px;
  font-weight:700;
  line-height:1.35;
  color:var(--ink);
  margin:0 0 6px;
  letter-spacing:-0.02em;
}
.offcanvas-seminar-date-meta{
  font-size:12px;
  color:var(--muted);
}
.seminar-offcanvas-body .seminar-registered-banner{
  margin-bottom:14px;
}
.seminar-offcanvas-body .seminar-information{
  margin:0 0 16px;
  padding:14px 16px;
  border-radius:10px;
}
.seminar-offcanvas-body .seminar-action-group{
  margin-top:12px;
  padding-top:12px;
  gap:8px;
}
.seminar-offcanvas-body .prose{
  max-width:100%;
  margin:16px 0 0;
  padding:18px 20px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--surface);
  text-align:left;
}
.offcanvas-permalink-btn{
  display:inline-flex;
  align-items:center;
  gap:5px;
}
.offcanvas-permalink-btn .icon{
  width:13px;
  height:13px;
}
.btn-icon-external{
  width:13px;
  height:13px;
  margin-left:2px;
}

/* Offcanvas Placeholder & Loading Spinner */
.seminar-offcanvas-placeholder{
  padding:48px 20px;
  text-align:center;
}
.seminar-offcanvas-loading{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:56px 20px;
  color:var(--muted);
  font-size:13.5px;
}
.loading-spinner{
  width:28px;
  height:28px;
  border:3px solid var(--line);
  border-top-color:var(--teal);
  border-radius:50%;
  animation:dv-spin .75s linear infinite;
}
@keyframes dv-spin{
  to{transform:rotate(360deg)}
}

/* Toast Floating Notification */
.seminar-toast{
  position:fixed;
  bottom:24px;
  left:24px;
  z-index:1300;
  background:var(--ink,#121E31);
  color:#ffffff;
  padding:11px 18px;
  border-radius:10px;
  font-size:13.5px;
  font-weight:500;
  box-shadow:0 8px 24px rgba(0,0,0,0.22);
  display:flex;
  align-items:center;
  gap:8px;
  opacity:1;
  transform:translateY(0);
  transition:transform .25s ease,opacity .25s ease;
  pointer-events:none;
}
.seminar-toast[hidden]{
  display:none!important;
}
.seminar-toast.is-hiding{
  opacity:0;
  transform:translateY(8px);
}

/* Trigger elements cursor and active feedback */
[data-seminar-open]{
  cursor:pointer;
}
.cal-event-pill[data-seminar-open]:hover{
  transform:translateY(-1px);
  box-shadow:0 2px 6px rgba(18,30,49,0.12);
}

@media (max-width:650px){
  .seminar-offcanvas{
    width:100vw;
    max-width:100vw;
  }
  .seminar-offcanvas-body{
    padding:16px 16px 36px;
  }
  .seminar-toast{
    left:16px;
    right:16px;
    bottom:16px;
    justify-content:center;
  }
}

/* Keep the mobile demo notice compact while the full notice remains in the footer. */
@media (max-width:650px){
  .demo-banner-inner{flex-wrap:nowrap}
  .demo-banner .demo-badge,.demo-banner-form{flex:0 0 auto}
  .demo-banner .demo-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .home-hero-media{aspect-ratio:2/1}
}
