@charset "UTF-8";
/* Refined surfaces, light and motion. Existing layout and content remain the base. */
:root{--blue:#2b5db9;--ink:#152a40}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.utility{border-bottom:1px solid #edf0f4;color:#7b8795}
.main-header{height:96px}
.nav-toggle{letter-spacing:-.4px;transition:color .2s}
.nav-toggle:hover{color:#315fa6}
.header-action{border-color:#cbd7e6;background:linear-gradient(140deg,#fff,#f6f9fd);box-shadow:inset 0 1px 0 #fff;transition:border-color .25s,box-shadow .25s}
.header-action:hover{border-color:#8fa8ce;box-shadow:0 5px 13px #244a7910}
.hero{box-shadow:0 18px 45px -30px #102b4a77,inset 0 0 0 1px #ffffff14}
.hero-shade{background:linear-gradient(90deg,#0b243ef5 0%,#102d4ae0 34%,#15344f66 70%,#102b424d),linear-gradient(0deg,#0b223cc7,transparent 62%)}
.hero-grain{background:radial-gradient(ellipse at 5% 0,#77aeec24,transparent 55%),radial-gradient(ellipse at 90% 100%,#0a263b66,transparent 60%)}
.hero h1{font-weight:500;letter-spacing:-2.9px;text-shadow:0 2px 24px #00162f20}
.hero h1 em{position:relative;display:inline-block;color:#b0d3ff}
.hero h1 em:after{content:"";position:absolute;left:1px;right:1px;bottom:-6px;height:1px;background:linear-gradient(90deg,#bad8ffbb,#bad8ff11);transform:rotate(-3deg);transform-origin:left}
.hero-eyebrow{color:#cddff3;letter-spacing:1px}
.hero-copy{color:#d8e5f1;font-weight:400}
.hero-actions .button-white{background:linear-gradient(125deg,#fff,#edf3fb);border:1px solid #ffffff;box-shadow:inset 0 1px 0 #fff,0 7px 20px #001b3c16}
.hero-actions .button-white:hover{background:white;box-shadow:0 8px 24px #000e242e}
.hero-text-link{color:#e0edff}
.hero-text-link svg,.more-link svg,.service-link svg,.text-link svg{transition:transform .25s}
.hero-text-link:hover svg,.more-link:hover svg,.service:hover .service-link svg,.text-link:hover svg{transform:translate(2px,-2px)}
.hero-event{background:linear-gradient(140deg,#eef7ff22,#d0e3ff0b);border-color:#e7f2ff4a;backdrop-filter:blur(20px) saturate(115%);box-shadow:inset 0 1px 0 #ffffff21,0 20px 45px #071b3333}
.hero-event:before{content:"";position:absolute;top:0;left:25px;right:25px;height:1px;background:linear-gradient(90deg,transparent,#edf5ff99,transparent)}
.hero-event:hover{background:linear-gradient(140deg,#eef7ff2c,#d0e3ff12);border-color:#e7f2ff77}
.hero-event strong{font-weight:400;letter-spacing:-2.6px;font-variant-numeric:tabular-nums}
.hero-event strong>span{color:#a5c7f3}
.event-arrow{color:#e2efff}
.event-arrow svg{transition:transform .25s}
.hero-event:hover .event-arrow svg{transform:translate(2px,-2px)}
.hero-page>span{background:#bfd7f433}
.hero-page>span:before{background:#c1dcff;box-shadow:0 0 5px #a4c6f155}
.deadline-strip{border-color:#e2e8f0}
.small-tag{background:linear-gradient(120deg,#edf3fd,#f5f8fe);border:1px solid #e7eef8;padding:3px 10px}
.section-heading h2{letter-spacing:-1.6px}
.eyebrow{color:#5377a5;font-weight:500}
.section-note{color:#69798a}
.news-card{background:linear-gradient(140deg,#fff,#fcfdff);border-color:#e0e7ef;box-shadow:0 4px 15px #183d6b03,inset 0 1px 0 #fff}
.news-featured{background:radial-gradient(ellipse at 100% 0,#e4edfc66,transparent 65%),linear-gradient(140deg,#f5f8fe,#edf3fb);border-color:#dde7f5}
.news-card:hover{box-shadow:0 16px 35px -18px #244b7d44,inset 0 1px 0 #fff;transform:translateY(-4px)}
.news-category{font-weight:500;letter-spacing:.1px}
.news-card h3{font-weight:500;color:#203a57}
.news-card-bottom{color:#70839a}
.news-card-bottom>span{background:#ffffff80;transition:background .25s,border-color .25s,color .25s,transform .25s}
.news-card:hover .news-card-bottom>span{color:white;background:#315d9c;border-color:#315d9c;transform:rotate(3deg)}
.news-subnav a:hover{color:var(--blue)}
.schedule-section{background:radial-gradient(ellipse at 0 0,#eaf1fb80,transparent 52%),radial-gradient(ellipse at 100% 100%,#e5eef955,transparent 55%),#f3f6fa;box-shadow:inset 0 1px 0 #e8eef6,inset 0 -1px 0 #e7edf5}
.calendar-card{border-color:#e1e8f3;background:linear-gradient(150deg,#fff,#fdfefe);box-shadow:0 18px 45px -30px #2e517f33,inset 0 1px 0 #fff}
.calendar-top h3{font-weight:400;color:#203c5e}
.calendar-controls button{background:#fff;box-shadow:0 2px 5px #16376103}
.calendar-days button{transition:background .18s,color .18s,box-shadow .18s}
.calendar-days button.is-selected{background:linear-gradient(140deg,#3b70c9,#2757a4);box-shadow:0 5px 12px #295bba26,inset 0 1px 0 #ffffff26}
.calendar-days button.is-today:not(.is-selected){background:#f8faff}
.selected-event{background:linear-gradient(125deg,#fff,#fbfdff);border-color:#dbe5f2;border-left-color:#4778ba;box-shadow:0 9px 25px -22px #1c467c4d}
.selected-event h3{font-weight:500}
.selected-event .event-info{color:#61768f}
.selected-event p{color:#73849a}
.upcoming-item{border-bottom-color:#dce5f0;transition:background .2s,padding .2s}
.upcoming-item:hover{background:#eaf0f9;padding-inline:9px;border-radius:7px}
.upcoming-day{background:#f8fbff;border-color:#d0dff2}
.service-primary{background:radial-gradient(ellipse at 100% 100%,#3d648b70,transparent 70%),linear-gradient(135deg,#132d47,#1a354e);box-shadow:inset 0 1px 0 #ffffff1c,0 12px 30px -22px #18395d66}
.service-primary .service-icon{color:#acc7e7}
.service-primary .service-link{color:#dce9f8}
.service-primary p{color:#bed0e4}
.service-secondary{background:radial-gradient(ellipse at 100% 0,#fff9,transparent 65%),linear-gradient(130deg,#eef4fd,#e7effa);border-color:#dce6f4;box-shadow:inset 0 1px 0 #fff}
.service-secondary .service-icon{color:#7898c1}
.service-secondary p{color:#667d99}
.service-small{background:linear-gradient(140deg,#fcfdff,#f6f8fb);border-color:#e0e7ef;box-shadow:inset 0 1px 0 #fff}
.service-small>span:not(.service-icon){color:#75869a}
.service-small:hover{border-color:#b8cbe4}
.journal-section{background:radial-gradient(ellipse at 75% 30%,#e4e9df60,transparent 50%),#f5f5f2;box-shadow:inset 0 1px 0 #e9ece4,inset 0 -1px 0 #e9ece4}
.journal-copy h2{color:#253d3c;letter-spacing:-1.65px}
.journal-description{color:#6b7b77}
.journal-book{background:repeating-linear-gradient(0deg,#ffffff0a 0 1px,transparent 1px 3px),linear-gradient(135deg,#e8ece6,#dce5dc);box-shadow:2px 1px 0 #ffffff,5px 3px 0 #dde2d9,8px 5px 0 #fff,10px 7px 0 #e8ece4,-7px 9px 0 #9caf9e,18px 28px 34px #263f3026;transition:transform .55s,box-shadow .55s}
.journal-book:before{content:"";position:absolute;left:0;top:0;bottom:0;width:9px;background:linear-gradient(90deg,#7d9a861c,transparent);border-right:1px solid #fff6}
.journal-book:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,#fff5,transparent 36%,transparent 65%,#6a8a7210);border-radius:inherit}
.journal-display:hover .journal-book{transform:rotate(5deg) translateY(-3px)}
.book-orbit{border-color:#bccdc160}
.paper-list{border-top-color:#d9e0d6}
.paper-list a:hover strong{color:#3f6d5d}
.gallery-image{box-shadow:0 8px 18px -14px #203b4b44;position:relative}
.gallery-image:after{content:"";position:absolute;inset:0;border:1px solid #172b3b0d;border-radius:inherit;pointer-events:none}
.gallery-image img{filter:saturate(.96) contrast(1.025);transition:transform .7s cubic-bezier(.2,.65,.3,1),filter .7s}
.gallery-item:hover img{transform:scale(1.045);filter:saturate(1.03) contrast(1.025)}
.gallery-caption h3{font-weight:500;color:#2d4655}
.gallery-navigation button{background:linear-gradient(145deg,#fff,#f5f8fc);transition:background .2s,color .2s,border-color .2s}
.gallery-navigation button:hover{background:#294f80;color:#fff;border-color:#294f80}
.join-section{border:1px solid #e2e9f1;border-radius:22px;padding:40px 43px;margin-bottom:34px;background:radial-gradient(ellipse at 100% 100%,#e3edf966,transparent 65%),linear-gradient(135deg,#fbfcff,#f4f7fb);box-shadow:inset 0 1px 0 #fff}
.join-section h2{color:#213d5d}
.button-dark{background:linear-gradient(125deg,#193650,#142c43);box-shadow:inset 0 1px 0 #ffffff14,0 5px 15px #14324e0c}
.button-dark:hover{box-shadow:0 8px 20px -12px #19365088}
.partners a{transition:color .2s}
.partners a:hover{color:#354f6f}
.site-footer{background:radial-gradient(ellipse at 0 0,#2c4d7144,transparent 65%),linear-gradient(120deg,#142d45,#11273b);box-shadow:inset 0 1px 0 #ffffff12}
.footer-top{border-color:#d3e5ff17}
.footer-contact{padding:10px 0;border-bottom:1px solid #d8e8ff3b}
.footer-contact:hover{color:#fff;border-color:#c6dcfa99}
.back-top{box-shadow:0 4px 14px #16345208;transition:background .2s,color .2s}
.back-top:hover{background:#244768;color:#fff}
@media(min-width:901px){.hero-content h1,.hero-copy,.hero-actions{animation:refined-enter .8s both}.hero-copy{animation-delay:.07s}.hero-actions{animation-delay:.14s}}
@keyframes refined-enter{from{opacity:.65;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:900px){.main-header{height:80px}.hero h1{letter-spacing:-2px}.join-section{padding:34px}}
@media(max-width:600px){.main-header{height:72px}.hero h1{letter-spacing:-1.8px}.hero-shade{background:linear-gradient(90deg,#102b45eb,#163451b0),linear-gradient(0deg,#0c2338f0,transparent 72%)}.hero-eyebrow{letter-spacing:.2px}.hero-event{background:linear-gradient(130deg,#a9c8ef22,#b7d2f712);backdrop-filter:blur(13px)}.hero h1 em:after{bottom:-4px}.news-card:hover{transform:none}.join-section{padding:27px 24px;border-radius:17px;margin-bottom:26px}.section-heading h2{letter-spacing:-1px}.small-tag{padding:3px 7px}.hero-event strong{letter-spacing:-2px}}

/* Member participation and useful contact information complete the lower main. */
.community-section{padding-block:10px 58px}
.community-section .section-heading{border-top:1px solid #e0e7ef;padding-top:48px}
.community-section h2{font-size:29px;font-weight:500}
.community-layout{display:grid;grid-template-columns:1.18fr 1fr;gap:24px}
.community-member{position:relative;isolation:isolate;overflow:hidden;border:1px solid #dbe6e1;border-radius:23px;background:radial-gradient(ellipse at 100% 0,#e0eae277,transparent 63%),linear-gradient(135deg,#f3f7f3,#e9f0eb);padding:37px 40px 29px}
.community-member:before,.community-member:after{content:"";position:absolute;z-index:-1;right:-70px;top:-75px;width:360px;height:360px;border:1px solid #a5beb226;border-radius:50%;pointer-events:none}
.community-member:after{right:-95px;top:-20px;border-color:#a5beb21f}
.community-label{display:block;font-size:11px;color:#627f73;font-weight:500;letter-spacing:.2px}
.community-member h3{font-size:31px;font-weight:500;line-height:1.55;letter-spacing:-1.3px;margin-top:16px;color:#28463e}
.community-member p{font-size:12px;color:#71877c;line-height:1.95;margin-top:17px}
.community-mark{position:absolute;top:33px;right:35px;color:#76978a80;transform:rotate(-5deg)}
.community-mark svg{width:47px;height:47px;stroke-width:.7}
.community-actions{display:flex;align-items:center;gap:27px;margin-top:26px}
.community-actions .button-dark{background:linear-gradient(125deg,#294a40,#213d35)}
.community-actions .text-link{color:#4d6c5d}
.member-qualification{display:inline-flex;align-items:center;gap:12px;border-top:1px solid #c5d7cd88;width:100%;padding-top:16px;margin-top:26px;font-size:10px;color:#7a9185}
.member-qualification svg{width:13px;margin-left:auto}
.community-contact{border:1px solid #dfe7f0;border-radius:23px;padding:35px;background:linear-gradient(140deg,#fff,#f8faff);box-shadow:inset 0 1px 0 #fff}
.contact-caption{display:flex;justify-content:space-between;align-items:center}
.contact-caption .community-label{color:#6c86a6}
.contact-icon{width:39px;height:39px;display:grid;place-items:center;border:1px solid #d8e3f0;border-radius:50%;color:#7d99b9;background:#f8fbff}
.contact-icon svg{width:18px;stroke-width:1}
.community-contact h3{font-size:24px;font-weight:500;letter-spacing:-.8px;line-height:1.65;margin-top:10px;color:#29435f}
.contact-channels{margin-top:23px}
.contact-channels a{display:flex;align-items:center;gap:24px;padding:13px 0;border-bottom:1px solid #e3eaf2}
.contact-channels a>span{font-size:10px;color:#8593a4;min-width:44px}
.contact-channels strong{font-weight:400;font-size:19px;letter-spacing:-.35px;color:#315171}
.contact-channels a:nth-child(2) strong{font-size:16px}
.contact-channels svg{width:13px;color:#9aaec5;margin-left:auto}
.contact-channels a:hover strong{color:#2b5db9}
.contact-more{display:flex;align-items:center;justify-content:space-between;margin-top:25px;font-size:11px;color:#6c839e}
.contact-more svg{width:16px}
.partners{padding-block:28px;border-top-color:#e0e7ef}
.partners>span{letter-spacing:.2px}
.site-footer{padding-block:43px 32px}
.footer-top{padding-bottom:27px}
.footer-motto{font-size:12px;line-height:1.8;color:#8da5bd;letter-spacing:-.1px;text-align:right}
.footer-directory{display:grid;grid-template-columns:repeat(5,1fr);gap:35px;padding-block:32px;border-bottom:1px solid #d3e5ff17}
.footer-directory h3{font-size:12px;font-weight:500;color:#d0deed;margin-bottom:14px;letter-spacing:.1px}
.footer-directory ul{padding:0;margin:0;list-style:none}
.footer-directory li{font-size:11px;color:#8ea4ba;margin-top:9px}
.footer-directory a{transition:color .2s}
.footer-directory a:hover{color:#eff6ff}
.footer-bottom{margin-top:23px;align-items:flex-end}
.footer-policies{display:flex;gap:22px;margin-bottom:15px;font-size:10px;color:#b5c8dd}
.footer-policies a:first-child{color:#d6e4f5}
.footer-top-link{display:flex;align-items:center;gap:20px;font-size:10px;color:#9ab1cb;border-bottom:1px solid #a4bfd741;padding-bottom:8px}
.footer-top-link svg{width:15px;transform:rotate(-90deg)}
.footer-top-link:hover{color:#fff;border-color:#d6e8ff}
@media(max-width:900px){.community-layout{gap:18px;grid-template-columns:1.1fr 1fr}.community-member{padding:29px 27px}.community-member h3{font-size:27px}.community-member p{font-size:11px}.community-contact{padding:27px}.community-contact h3{font-size:21px}.community-mark{right:25px;top:28px}.community-mark svg{width:35px;height:35px}.contact-channels a{gap:15px}.contact-channels strong{font-size:17px}.contact-channels a:nth-child(2) strong{font-size:13px}.footer-directory{gap:20px}.footer-directory li{font-size:10px}}
@media(max-width:600px){.community-section{padding-bottom:36px}.community-section .section-heading{padding-top:33px}.community-section h2{font-size:23px}.community-layout{grid-template-columns:1fr;gap:15px}.community-member{padding:29px 26px 23px;border-radius:18px}.community-member h3{font-size:28px}.community-member p{font-size:11px}.community-label{font-size:10px}.community-mark{top:28px;right:25px}.community-mark svg{width:40px;height:40px}.community-actions{gap:24px;margin-top:23px}.member-qualification{margin-top:23px;padding-top:14px;font-size:10px}.community-contact{padding:26px;border-radius:18px}.community-contact h3{font-size:22px;margin-top:6px}.contact-icon{width:35px;height:35px}.contact-channels{margin-top:16px}.contact-channels a{gap:17px;padding-block:12px}.contact-channels a>span{font-size:9px;min-width:37px}.contact-channels strong{font-size:19px}.contact-channels a:nth-child(2) strong{font-size:15px}.contact-more{font-size:10px;margin-top:22px}.site-footer{padding-block:29px 27px}.footer-top{flex-direction:row;align-items:center;gap:15px;padding-bottom:22px}.footer-brand{gap:9px}.footer-brand>span{font-size:12px}.footer-motto{font-size:9px;letter-spacing:-.2px}.footer-directory{grid-template-columns:repeat(2,1fr);gap:28px 24px;padding-block:27px}.footer-directory h3{font-size:11px;margin-bottom:10px}.footer-directory li{font-size:10px;margin-top:10px}.footer-directory>div:last-child{grid-column:span 2}.footer-directory>div:last-child ul{display:flex;gap:22px;flex-wrap:wrap}.footer-directory>div:last-child h3{margin-bottom:0}.footer-policies{font-size:9px;gap:17px;margin-bottom:16px;flex-wrap:wrap}.footer-top-link{display:none}.footer-bottom p{line-height:2}.partners{padding-block:22px}}
@media(max-width:360px){.community-member,.community-contact{padding-inline:21px}.community-member h3{font-size:25px}.community-contact h3{font-size:20px}.contact-channels a{gap:9px}.contact-channels a:nth-child(2) strong{font-size:14px}.footer-brand>span{font-size:11px}.footer-motto{font-size:8px}}
