:root{--masonic-blue: #003366;--masonic-blue-light: #004a99;--masonic-blue-dark: #001a33;--masonic-gold: #c5a648;--masonic-gold-light: #d4bc6a;--masonic-gold-dark: #a68a2a;--navbar-height: 64px;font-family:Georgia,Times New Roman,serif;line-height:1.5;font-weight:400;color:#e8e0d0;background-color:var(--masonic-blue-dark);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh}h1,h2,h3,h4,h5,h6{color:var(--masonic-gold)}a{color:var(--masonic-gold-light);text-decoration:none}a:hover{color:var(--masonic-gold)}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:var(--masonic-blue-dark);padding:1rem}.login-card{background:#0369;border:1px solid var(--masonic-gold-dark);border-radius:8px;padding:3rem 2.5rem;text-align:center;max-width:400px;width:100%;box-shadow:0 4px 24px #0006}.login-card h1{font-size:1.8rem;margin:1.5rem 0 .25rem}.login-card .login-subheading{color:#e8e0d0;font-size:1rem;margin-bottom:2rem;opacity:.8}.login-form{display:flex;flex-direction:column;gap:1rem}.login-form input[type=password]{padding:.75rem 1rem;border:1px solid var(--masonic-gold-dark);border-radius:4px;background:#001a33cc;color:#e8e0d0;font-family:inherit;font-size:1rem;text-align:center}.login-form input[type=password]::placeholder{color:#e8e0d066}.login-form input[type=password]:focus{outline:none;border-color:var(--masonic-gold);box-shadow:0 0 8px #c5a6484d}.login-form button{padding:.75rem;background:var(--masonic-gold-dark);color:var(--masonic-blue-dark);border:none;border-radius:4px;font-family:inherit;font-size:1rem;font-weight:700;cursor:pointer;transition:background .2s}.login-form button:hover{background:var(--masonic-gold)}.login-error{color:#e06060;font-size:.9rem;min-height:1.4em}.navbar{position:fixed;top:0;left:0;right:0;height:var(--navbar-height);display:flex;align-items:center;justify-content:space-between;padding:0 2rem;z-index:200;background:transparent;transition:background-color .3s ease,box-shadow .3s ease}.navbar-scrolled{background-color:#001a33f2;box-shadow:0 2px 16px #0006;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.navbar-brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--masonic-gold)}.navbar-logo{flex-shrink:0}.navbar-title{font-size:1.15rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--masonic-gold)}.navbar-links{list-style:none;display:flex;align-items:center;gap:.25rem}.nav-btn,.nav-btn-link{background:none;border:none;color:#c8d6e5;font-family:inherit;font-size:.88rem;padding:.5rem .85rem;cursor:pointer;border-radius:6px;transition:color .2s ease,background-color .2s ease;text-decoration:none;display:inline-flex;align-items:center}.nav-btn:hover,.nav-btn-link:hover{color:var(--masonic-gold);background-color:#c5a6481a}.dropdown-container{position:relative}.dropdown-toggle .arrow{font-size:.65rem;margin-left:.3rem;transition:transform .25s ease;display:inline-block}.dropdown-toggle .arrow.rotated{transform:rotate(180deg)}.dropdown-menu{position:absolute;top:calc(100% + .4rem);left:50%;transform:translate(-50%);list-style:none;background-color:#001a33f5;border:1px solid rgba(197,166,72,.2);border-radius:8px;padding:.4rem 0;min-width:220px;box-shadow:0 8px 24px #0006;animation:dropdownFade .2s ease}@keyframes dropdownFade{0%{opacity:0;transform:translate(-50%) translateY(-6px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.dropdown-link{display:block;padding:.6rem 1.1rem;color:#b0c4d8;font-size:.87rem;text-decoration:none;transition:background-color .2s ease,color .2s ease}.dropdown-link:hover{color:var(--masonic-gold);background-color:#c5a6481a}.hamburger{display:none;background:none;border:none;cursor:pointer;padding:.5rem;z-index:310;flex-direction:column;gap:5px}.hamburger-bar{display:block;width:24px;height:2px;background-color:var(--masonic-gold);border-radius:2px;transition:transform .3s ease,opacity .3s ease}.hamburger.open .hamburger-bar:nth-child(1){transform:translateY(7px) rotate(45deg)}.hamburger.open .hamburger-bar:nth-child(2){opacity:0}.hamburger.open .hamburger-bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.drawer-backdrop{display:none}@media(max-width:768px){.hamburger{display:flex}.drawer-backdrop{display:block;position:fixed;inset:0;background:#00000080;z-index:290}.navbar-links{position:fixed;top:0;right:0;width:280px;height:100vh;background-color:#001428fa;flex-direction:column;align-items:stretch;gap:0;padding:calc(var(--navbar-height) + 1rem) 0 2rem;transform:translate(100%);transition:transform .3s ease;z-index:300;overflow-y:auto;box-shadow:-4px 0 24px #0006}.navbar-links.open{transform:translate(0)}.navbar-links li{width:100%}.navbar-links .nav-btn,.navbar-links .nav-btn-link{width:100%;text-align:left;padding:.9rem 1.5rem;font-size:.95rem;border-radius:0}.navbar-links .nav-btn:hover,.navbar-links .nav-btn-link:hover{background-color:#c5a64814}.dropdown-container{position:static}.dropdown-menu{position:static;transform:none;min-width:0;background-color:#000f1e99;border:none;border-radius:0;box-shadow:none;padding:0;animation:none}.dropdown-link{padding:.75rem 1.5rem .75rem 2.5rem;font-size:.9rem}}.parallax-home{overflow-x:hidden}.parallax-section{position:relative;overflow:hidden}.parallax-bg{position:absolute;inset:0;background-attachment:fixed;background-size:cover;background-position:center;z-index:0}.hero-section{min-height:100vh;display:flex;align-items:center;justify-content:center}.hero-bg{background-position:center 35%;background-attachment:fixed;background-size:cover;background-repeat:no-repeat}.hero-bg:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 40%,rgba(0,26,51,.45) 0%,transparent 70%),linear-gradient(180deg,#001a338c,#001a334d 40%,#001a33b3)}.hero-content{position:relative;z-index:1;text-align:center;padding:2rem}.hero-logo{display:block;margin:0 auto 1rem;filter:drop-shadow(0 0 20px rgba(197,166,72,.35))}.hero-title{font-size:3.2rem;color:var(--masonic-gold);letter-spacing:.1em;text-transform:uppercase;text-shadow:0 3px 12px rgba(0,0,0,.5);margin-bottom:.5rem}.hero-ornament{color:var(--masonic-gold-dark);font-size:1rem;letter-spacing:.6em;opacity:.5;margin-bottom:.75rem}.hero-subtitle{font-size:1.1rem;color:var(--masonic-gold-light);letter-spacing:.15em;opacity:.7;text-transform:uppercase}.content-section{position:relative;z-index:1;background-color:var(--masonic-blue-dark);padding:5rem 2rem}.section-inner{max-width:900px;margin:0 auto}.section-title{font-size:2rem;color:var(--masonic-gold);text-transform:uppercase;letter-spacing:.06em;margin-bottom:1.5rem;text-align:center}.section-header-row{display:flex;flex-direction:column;align-items:center;gap:.75rem;margin-bottom:1.5rem}.section-logo{filter:drop-shadow(0 0 12px rgba(197,166,72,.3))}.content-section h3{font-size:1.3rem;color:var(--masonic-gold-light);margin-top:2rem;margin-bottom:.6rem;border-bottom:1px solid rgba(197,166,72,.15);padding-bottom:.3rem}.content-section p{font-size:1.02rem;line-height:1.85;color:#c8d6e5;margin-bottom:1rem}.content-section ul,.content-section ol{padding-left:1.5rem;margin-bottom:1rem}.content-section li{font-size:.96rem;line-height:1.85;color:#b0c4d8}.content-section em{color:var(--masonic-gold-light)}.content-section strong{color:var(--masonic-gold)}.welcome-band{background:linear-gradient(180deg,var(--masonic-blue-dark) 0%,#001d3a 50%,var(--masonic-blue-dark) 100%)}.welcome-band h2{font-size:1.8rem;text-align:center;margin-bottom:1.25rem}.welcome-band>.section-inner>p{text-align:center;max-width:700px;margin:0 auto 2.5rem}.pillars-row{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:1rem}.pillar-card{background:#00336659;border:1px solid rgba(197,166,72,.15);border-radius:10px;padding:1.75rem 1.25rem;text-align:center;transition:border-color .3s ease,transform .3s ease}.pillar-card:hover{border-color:var(--masonic-gold-dark);transform:translateY(-3px)}.pillar-icon{font-size:2rem;color:var(--masonic-gold);margin-bottom:.75rem}.pillar-card h3{font-size:1.05rem;border:none;margin-top:0;margin-bottom:.6rem;padding-bottom:0}.pillar-card p{font-size:.88rem;color:#a0b4c8;line-height:1.6}.parallax-divider{height:20vh;min-height:200px;display:flex;align-items:center;justify-content:center}.divider-text{position:relative;z-index:1;font-size:1.6rem;color:var(--masonic-gold);letter-spacing:.12em;text-transform:uppercase;text-shadow:0 2px 12px rgba(0,0,0,.6)}.divider-bg-1{background:radial-gradient(ellipse at 50% 50%,rgba(197,166,72,.06) 0%,transparent 60%),linear-gradient(135deg,var(--masonic-blue) 0%,var(--masonic-blue-dark) 50%,#000d1a 100%);background-attachment:fixed}.divider-bg-2{background:radial-gradient(ellipse at 70% 30%,rgba(197,166,72,.05) 0%,transparent 55%),linear-gradient(200deg,#001833 0%,var(--masonic-blue) 50%,var(--masonic-blue-dark) 100%);background-attachment:fixed}.divider-bg-3{background:radial-gradient(ellipse at 30% 70%,rgba(197,166,72,.07) 0%,transparent 55%),linear-gradient(160deg,var(--masonic-blue-dark) 0%,#001a40 50%,var(--masonic-blue-dark) 100%);background-attachment:fixed}.parallax-footer{text-align:center;padding:2.5rem 1rem;background-color:#000d1a;border-top:1px solid rgba(197,166,72,.15)}.parallax-footer p{font-size:.85rem;color:var(--masonic-gold-light);opacity:.5;font-style:italic;letter-spacing:.1em}@media(max-width:768px){.hero-logo{width:80px;height:80px}.hero-title{font-size:1.8rem}.hero-subtitle{font-size:.85rem}.hero-content{padding:1.5rem 1rem}.pillars-row{grid-template-columns:1fr;gap:1.25rem}.content-section{padding:3rem 1rem}.section-title{font-size:1.5rem}.divider-text{font-size:1.1rem}.parallax-divider{min-height:140px}.parallax-bg,.hero-bg,.divider-bg-1,.divider-bg-2,.divider-bg-3{background-attachment:scroll}}@media(max-width:480px){.hero-title{font-size:1.4rem}.hero-subtitle{font-size:.75rem}.content-section{padding:2rem .75rem}.welcome-band h2{font-size:1.4rem}}.page{max-width:800px;margin:0 auto;padding:calc(var(--navbar-height) + 2rem) 2rem 3rem}.page-title{font-size:2.2rem;color:var(--masonic-gold);letter-spacing:.05em;text-transform:uppercase;margin-bottom:.5rem}.page-divider{height:2px;background:linear-gradient(90deg,var(--masonic-gold),transparent);margin-bottom:2rem}.page-body h2{font-size:1.4rem;color:var(--masonic-gold-light);margin-top:2rem;margin-bottom:.75rem;border-bottom:1px solid rgba(197,166,72,.15);padding-bottom:.4rem}.page-body p{font-size:1rem;line-height:1.8;color:#c8d6e5;margin-bottom:1rem}.page-body ul,.page-body ol{padding-left:1.5rem;margin-bottom:1rem}.page-body li{font-size:.95rem;line-height:1.8;color:#b0c4d8}.page-body em{color:var(--masonic-gold-light)}.page-body strong{color:var(--masonic-gold)}@media(max-width:768px){.page{padding:calc(var(--navbar-height) + 1rem) 1rem 2rem}.page-title{font-size:1.6rem}}.first-degree-page{position:relative;min-height:calc(100vh - 4rem)}.gold-bars-overlay{position:fixed;inset:0;z-index:50;pointer-events:none}.strip{position:absolute;left:0;right:0;top:var(--strip-top);height:var(--strip-height);background:linear-gradient(135deg,var(--masonic-gold-dark) 0%,var(--masonic-gold) 30%,var(--masonic-gold-light) 50%,var(--masonic-gold) 70%,var(--masonic-gold-dark) 100%);will-change:transform,opacity}.phase-squeeze .strip-top{animation:squeezeFromTop .8s ease-in-out forwards}.phase-squeeze .strip-bottom{animation:squeezeFromBottom .8s ease-in-out forwards}@keyframes squeezeFromTop{0%{transform:translateY(-100vh)}to{transform:translateY(0)}}@keyframes squeezeFromBottom{0%{transform:translateY(100vh)}to{transform:translateY(0)}}.phase-hold .strip{transform:translateY(0)}.phase-shred .strip{animation:shredFlyOut .8s ease-in var(--strip-delay) forwards}@keyframes shredFlyOut{0%{transform:translate(0);opacity:1}to{transform:translate(110vw,-110vh);opacity:0}}.first-degree-content{opacity:0;transition:opacity .6s ease}.first-degree-content.visible{opacity:1}.calendar-page{max-width:1100px;margin:0 auto;padding:calc(var(--navbar-height) + 2rem) 2rem 3rem}.calendar-controls{display:flex;gap:2rem;margin-bottom:1.5rem;flex-wrap:wrap}.filter-group{display:flex;flex-direction:column;gap:.5rem}.filter-group-label{font-size:.8rem;color:var(--masonic-gold-light);text-transform:uppercase;letter-spacing:.08em}.filter-chips{display:flex;gap:.4rem;flex-wrap:wrap}.filter-chip{background:#ffffff0d;border:1px solid rgba(197,166,72,.2);color:#89a;font-family:inherit;font-size:.82rem;padding:.35rem .75rem;border-radius:20px;cursor:pointer;transition:all .2s ease}.filter-chip:hover{border-color:#c5a64866;color:#c8d6e5}.filter-chip.active{background:#c5a64826;border-color:var(--masonic-gold);color:var(--masonic-gold)}.filter-chip .chip-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:.4rem;vertical-align:middle}.calendar-auth{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;font-size:.85rem;color:#89a}.auth-btn{background:#c5a64826;border:1px solid var(--masonic-gold-dark);color:var(--masonic-gold);font-family:inherit;font-size:.82rem;padding:.4rem 1rem;border-radius:6px;cursor:pointer;transition:background .2s ease}.auth-btn:hover{background:#c5a64840}.calendar-wrapper{background:#001a3380;border:1px solid rgba(197,166,72,.12);border-radius:10px;padding:1rem}.calendar-wrapper .fc{--fc-border-color: rgba(197, 166, 72, .12);--fc-button-bg-color: rgba(197, 166, 72, .12);--fc-button-border-color: rgba(197, 166, 72, .25);--fc-button-text-color: var(--masonic-gold-light);--fc-button-hover-bg-color: rgba(197, 166, 72, .25);--fc-button-hover-border-color: var(--masonic-gold);--fc-button-active-bg-color: rgba(197, 166, 72, .3);--fc-button-active-border-color: var(--masonic-gold);--fc-today-bg-color: rgba(197, 166, 72, .06);--fc-neutral-bg-color: transparent;--fc-page-bg-color: transparent;--fc-event-border-color: transparent;--fc-now-indicator-color: var(--masonic-gold);font-family:inherit}.calendar-wrapper .fc .fc-toolbar-title{color:var(--masonic-gold);font-size:1.3rem;letter-spacing:.03em}.calendar-wrapper .fc .fc-col-header-cell-cushion{color:var(--masonic-gold-light);font-size:.82rem;text-transform:uppercase;letter-spacing:.05em}.calendar-wrapper .fc .fc-daygrid-day-number{color:#89a;font-size:.85rem}.calendar-wrapper .fc .fc-day-today .fc-daygrid-day-number{color:var(--masonic-gold);font-weight:700}.calendar-wrapper .fc .fc-daygrid-day.fc-day-today{box-shadow:inset 0 0 0 1px #c5a6484d}.calendar-wrapper .fc .fc-event{border-radius:4px;font-size:.78rem;padding:1px 4px}.calendar-wrapper .fc .fc-event-title{font-weight:600}.calendar-wrapper .fc .fc-button{font-family:inherit;font-size:.82rem;border-radius:6px;text-transform:capitalize}.calendar-wrapper .fc .fc-button:focus{box-shadow:0 0 0 2px #c5a6484d}.calendar-wrapper .fc .fc-scrollgrid{border-color:#c5a6481f}.calendar-wrapper .fc td,.calendar-wrapper .fc th{border-color:#c5a64814}.calendar-wrapper .fc .fc-timegrid-slot-label{color:#678;font-size:.75rem}@media(max-width:768px){.calendar-page{padding-left:.75rem;padding-right:.75rem}.calendar-controls{flex-direction:column;gap:1rem}.calendar-wrapper{padding:.5rem}.calendar-wrapper .fc .fc-toolbar{flex-direction:column;gap:.5rem}.calendar-wrapper .fc .fc-toolbar-title{font-size:1.1rem}}.app-layout{min-height:100vh}.main-content{min-height:100vh;background-color:var(--masonic-blue-dark)}
