@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--navy:#091b31;--deep:#061323;--navylight:#142b47;--gold:#d7b56e;--goldlight:#f0d99d;--cream:#faf6ed;--ink:#172339;--muted:#637181}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--ink);font:16px/1.65 'DM Sans',system-ui,sans-serif;background:#fff}a{text-decoration:none;color:inherit}button{font:inherit}.topline{min-height:32px;background:#071626;color:#d9c59c;display:flex;align-items:center;justify-content:space-between;padding:5px clamp(20px,5vw,80px);font-size:10px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.topline a{font-size:10px;color:#e6d3a8}header{background:#0b2138;display:flex;align-items:center;justify-content:space-between;gap:26px;padding:15px clamp(20px,5vw,80px);color:white;position:sticky;top:0;z-index:20;border-bottom:1px solid #ffffff19}.identity,.footer-brand{display:flex;align-items:center;gap:12px;min-width:max-content}.identity img{width:50px;height:50px;object-fit:contain}.identity strong,.footer-brand strong{display:block;letter-spacing:.18em;font-size:15px;line-height:1.2}.identity small,.footer-brand small{display:block;color:var(--gold);letter-spacing:.43em;font-size:10px;margin-top:5px}nav{display:flex;gap:clamp(12px,1.8vw,30px);align-items:center}nav a{font-size:12px;color:#f2f2ef;white-space:nowrap}nav a:hover,.footer-links a:hover{color:var(--goldlight)}#menu-toggle{display:none;border:1px solid #ffffff45;background:transparent;color:white;padding:6px 12px;border-radius:5px}.hero{background:radial-gradient(ellipse at 85% 45%,#1a3d5d 0,#0b2138 45%,#061526 100%);color:white;min-height:570px;position:relative;overflow:hidden;display:flex;align-items:center;padding:65px clamp(24px,8vw,130px)}.hero-inner{position:relative;z-index:2;max-width:730px}.hero-mark{position:absolute;right:4%;width:min(38vw,480px);opacity:.42;filter:drop-shadow(0 15px 40px #0008)}.eyebrow,.kicker{font-size:11px;letter-spacing:.25em;font-weight:700;color:var(--gold);margin:0 0 26px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;line-height:1.03;letter-spacing:-.025em}h1{font-size:clamp(58px,7vw,108px);font-weight:500;margin-bottom:28px}h1 em,h2 em{font-weight:500;color:var(--gold);font-style:italic}h2{font-size:clamp(42px,4.7vw,70px);font-weight:600;margin-bottom:23px}.lead{max-width:600px;font-size:17px;line-height:1.8;color:#dbe0e4}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:35px}.btn{display:inline-flex;justify-content:center;align-items:center;gap:16px;padding:13px 25px;font-size:12px;font-weight:700;letter-spacing:.04em;border-radius:3px;transition:transform .2s,background .2s}.btn:hover{transform:translateY(-2px)}.btn.gold{background:var(--gold);color:#0a1d30}.btn.gold:hover{background:var(--goldlight)}.btn.outline{border:1px solid #afbdc9;color:white}.btn.navy{background:var(--navy);color:white}.hero-foot{display:flex;align-items:center;gap:18px;color:#b3bdd0;font-size:10px;letter-spacing:.2em;margin-top:64px}.rule{display:block;width:40px;height:1px;background:var(--gold)}.features{display:grid;grid-template-columns:repeat(3,1fr);background:#f5f1e7;padding:20px clamp(24px,5vw,80px);gap:14px}.feature{display:flex;gap:18px;align-items:center;padding:24px;border-right:1px solid #c7c0b4}.feature:last-child{border:0}.symbol{font-size:34px;color:#aa8540;flex:none}.feature span{display:flex;flex-direction:column}.feature strong{font-family:'Cormorant Garamond',Georgia,serif;font-size:26px;line-height:1.1}.feature small{font-size:12px;color:#737986;margin-top:6px}.feature b{margin-left:auto;color:#aa8540}.section{padding:105px clamp(24px,8vw,130px)}.two-col{display:grid;grid-template-columns:1fr .85fr;gap:clamp(35px,7vw,130px)}.section .kicker{color:#a7833d}.body-copy{font-size:16px;line-height:1.95;color:#5a6574;max-width:640px}.body-copy p{margin-bottom:22px}.fine{display:block;color:#88919b;font-size:12px;margin-top:22px}.dark-section{background:#0e253d;color:white}.dark-section .kicker{color:var(--gold)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:50px}.section-head p:last-child{max-width:400px;color:#b1c0cc;font-size:14px;line-height:1.9}.event-panel{margin-top:25px;background:#183650;border:1px solid #36546e;padding:34px;display:flex;align-items:center;gap:25px}.event-icon{font-size:58px;color:var(--gold)}.event-panel h3{font-size:32px;margin:0 0 10px}.event-panel p{max-width:570px;color:#bdcad4;font-size:14px}.side-actions{display:flex;flex-direction:column;align-items:center;gap:12px;margin-left:auto;min-width:185px}.text-link{font-size:12px;color:var(--goldlight)}.section-intro{max-width:680px;color:#5a6574;line-height:1.9}.pill-row{display:flex;gap:15px;margin-top:40px;flex-wrap:wrap}.pill-row span{border:1px solid #d7c6a4;border-radius:99px;padding:8px 23px;color:#aa8540;font-size:12px}.cream-section{background:#f5f1e7}.contact{text-align:center;background:#112b43;color:#fff}.contact h2{margin-bottom:14px}.contact p{color:#d1d9df;max-width:600px;margin:0 auto 27px}footer{background:#071626;color:white;padding:45px clamp(24px,8vw,130px);display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap}footer img{width:55px}footer>small{font-size:11px;color:#9faebb}.footer-links{display:flex;gap:20px;font-size:12px}@media(max-width:1050px){#menu-toggle{display:block}nav{display:none;position:absolute;top:100%;left:0;right:0;background:#0b2138;flex-direction:column;align-items:stretch;padding:18px 24px;gap:0}nav.open{display:flex}nav a{padding:10px;border-bottom:1px solid #ffffff20}header{position:sticky}.hero-mark{right:-10%;width:52vw;opacity:.25}.features{grid-template-columns:1fr}.feature{border-right:0;border-bottom:1px solid #c7c0b4}.feature:last-child{border:0}.section-head{display:block}.side-actions{margin-left:0}.event-panel{flex-wrap:wrap}}@media(max-width:670px){.topline{display:none}.hero{min-height:570px;padding-top:70px;padding-bottom:50px}.hero-mark{width:76vw;right:-25%;top:15%;opacity:.16}.hero-foot{margin-top:42px}.two-col{grid-template-columns:1fr}.section{padding:75px 25px}.event-panel{padding:20px}.side-actions{align-items:flex-start}.footer-links{flex-wrap:wrap}footer{align-items:flex-start}h1{font-size:60px}}

/* Lodge directory */
.directory-hero{background:linear-gradient(126deg,#07182b,#153452);color:white;padding:75px clamp(24px,8vw,130px) 65px}.directory-hero h1{font-size:clamp(60px,7vw,88px);margin-bottom:17px}.directory-hero p:not(.eyebrow){max-width:700px;color:#d1dce4}.directory-stat{display:flex;flex-wrap:wrap;gap:27px;margin-top:35px;color:#d1dce4;font-size:14px}.directory-stat strong{font-size:29px;font-weight:600;color:#e5cb90;font-family:"Cormorant Garamond",serif;margin-right:5px}.directory-main{padding:40px clamp(24px,8vw,130px) 80px;background:#faf9f6}.directory-tools{background:#fff;border:1px solid #e3dfd6;border-radius:12px;display:flex;align-items:end;gap:16px;flex-wrap:wrap;padding:20px;box-shadow:0 4px 20px #0815260a}.directory-tools label{display:flex;flex-direction:column;gap:6px;min-width:195px;font-size:12px;font-weight:700;color:#30445a}.directory-tools .directory-search-label{flex:1;min-width:230px}.directory-tools input,.directory-tools select{border:1px solid #c8d0d8;background:#fff;color:#152c43;border-radius:6px;padding:12px;font:inherit;font-size:14px;min-height:46px}.directory-tools input:focus,.directory-tools select:focus{outline:2px solid #cfa24f;outline-offset:1px}.directory-tools button{background:#153452;color:white;border:0;border-radius:6px;padding:13px 20px;min-height:46px;cursor:pointer}.directory-count{font-size:13px;color:#657488;margin:24px 0 5px}.district-group{margin-top:40px}.district-heading{display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid #d8d0c0;margin-bottom:21px;padding-bottom:12px}.district-heading h2{font-size:clamp(31px,3vw,43px);margin:0;color:#102a43}.district-heading .kicker{margin:0 0 6px}.district-heading>span{font-size:12px;color:#69798c}.lodge-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.lodge-card{background:#fff;border:1px solid #e2dfd7;border-radius:10px;overflow:hidden;box-shadow:0 4px 14px #091b3110;display:flex;flex-direction:column}.lodge-card-head{display:flex;justify-content:space-between;align-items:start;gap:7px;padding:22px 20px 13px}.lodge-number{font-size:10px;letter-spacing:.13em;color:#a07c40;font-weight:700}.lodge-card h3{font-size:27px;line-height:1.2;margin:7px 0 0;color:#172c43}.district-tag{font-size:10px;white-space:nowrap;background:#f7f0e4;color:#866b39;border-radius:30px;padding:5px 9px}.lodge-card-body{padding:0 20px 12px}.lodge-card-body p{display:flex;gap:12px;font-size:13px;line-height:1.65;margin:13px 0;color:#29394b}.lodge-icon{font-size:18px;color:#b18c52;line-height:1.3}.lodge-card-body small{color:#7a8593;font-size:12px}.lodge-card-actions{margin-top:auto;padding:14px 20px;background:#f7f5f1;border-top:1px solid #e9e4da;display:flex;flex-wrap:wrap;gap:13px;font-size:12px;font-weight:700;color:#8d6b31}.lodge-card-actions a:hover{text-decoration:underline}.directory-note{max-width:850px;margin:38px 0 0;color:#6b7787;font-size:13px;line-height:1.7}.directory-empty{border:1px dashed #bac5ce;border-radius:10px;padding:30px;color:#6b7886;text-align:center;background:#fff}.lodge-card[hidden],.district-group[hidden],.directory-empty[hidden]{display:none!important}nav a[aria-current="page"]{color:var(--goldlight);border-bottom:1px solid var(--goldlight)}@media(max-width:1200px){.lodge-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.lodge-grid{grid-template-columns:1fr}.directory-hero{padding:55px 25px}.directory-main{padding:25px 20px 65px}.directory-tools label{width:100%}.directory-tools button{width:100%}.district-heading{align-items:center}.district-heading h2{font-size:32px}}


/* Main navigation dropdowns: shared by the homepage and lodge directory. */
#main-nav{gap:clamp(9px,1.45vw,24px)}
#main-nav .nav-home,#main-nav .nav-trigger{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;font-size:12px;font-weight:600;line-height:1.5}
#main-nav .nav-home{padding:12px 6px}
#main-nav .nav-trigger{border:0;border-radius:5px;background:transparent;color:#f2f2ef;cursor:pointer;padding:12px 8px}
#main-nav .nav-trigger:hover,#main-nav .nav-trigger:focus-visible,
#main-nav .nav-group.expanded>.nav-trigger,#main-nav .nav-group:hover>.nav-trigger{color:var(--goldlight)}
#main-nav .nav-trigger:focus-visible,#main-nav a:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
#main-nav .nav-chevron{color:var(--gold);font-size:16px;line-height:.6;margin-top:-4px;transition:transform .18s ease}
#main-nav .nav-group.expanded .nav-chevron{transform:rotate(180deg)}
#main-nav .nav-group{display:flex;align-items:center;position:relative}
#main-nav .nav-submenu{display:none;position:absolute;top:100%;left:0;min-width:235px;padding:8px;background:#102c49;border:1px solid #ffffff26;border-top:2px solid var(--gold);border-radius:0 0 9px 9px;box-shadow:0 20px 32px #0005;z-index:30}
#main-nav .nav-group.expanded>.nav-submenu{display:block}
#main-nav .nav-submenu a{display:block;padding:11px 13px;border:0;border-radius:5px;color:#f3f3f0;font-weight:500;font-size:12px;line-height:1.45;white-space:nowrap}
#main-nav .nav-submenu a:hover,#main-nav .nav-submenu a:focus-visible{background:#ffffff12;color:var(--goldlight)}
#main-nav .nav-submenu a[aria-current="page"]{background:#ffffff10;border:0;color:var(--goldlight);font-weight:750}
@media (hover:hover) and (min-width:1051px){
  #main-nav .nav-group:hover>.nav-submenu{display:block}
}
@media (max-width:1050px){
  #main-nav{gap:0;max-height:calc(100dvh - 80px);overflow-y:auto;overscroll-behavior:contain;box-shadow:0 18px 28px #0004}
  #main-nav .nav-home{display:block;font-size:14px;padding:14px 11px;border-bottom:1px solid #ffffff22}
  #main-nav .nav-group{display:block;width:100%;border-bottom:1px solid #ffffff22}
  #main-nav .nav-trigger{display:flex;justify-content:space-between;width:100%;padding:14px 11px;font-size:14px;border-radius:0}
  #main-nav .nav-submenu{position:static;min-width:0;width:100%;padding:4px 8px 8px 18px;box-shadow:none;border:0;border-radius:0;background:#112e4b}
  #main-nav .nav-submenu a{font-size:13px;padding:11px 12px;border:0}
  #main-nav .nav-group:hover>.nav-trigger{color:#f2f2ef}
  #main-nav .nav-group.expanded>.nav-trigger{color:var(--goldlight)}
}
@media (prefers-reduced-motion:reduce){#main-nav .nav-chevron{transition:none}}


/* The Division IV calendar is embedded on its own Wix page. */
.calendar-hero{padding:58px clamp(24px,8vw,130px) 38px;background:linear-gradient(120deg,#07182b,#153452);color:#fff}
.calendar-hero .eyebrow{margin-bottom:16px}
.calendar-hero h1{font-size:clamp(50px,6vw,82px);margin-bottom:14px}
.calendar-hero p:not(.eyebrow){max-width:760px;color:#d5e0e9;font-size:15px;line-height:1.75;margin-bottom:0}
.calendar-main{background:#faf9f6;padding:40px clamp(24px,6vw,100px) 85px}
.calendar-container{max-width:1430px;margin:0 auto}
.calendar-intro{display:flex;align-items:end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:20px}
.calendar-intro h2{font-size:clamp(33px,3.5vw,48px);margin:0 0 7px}
.calendar-intro p{margin:0;color:#687687;font-size:13px}
.calendar-buttons{display:flex;gap:9px;flex-wrap:wrap;align-items:center}
.calendar-buttons .btn{font-size:12px;padding:11px 17px}
.calendar-embed{background:white;border:1px solid #d8dfe6;border-radius:12px;overflow:hidden;box-shadow:0 12px 35px #091b3115}
.calendar-embed iframe{display:block;width:100%;height:min(76vw,780px);min-height:640px;border:0;background:white}
.calendar-help{font-size:13px;color:#637181;margin:16px 2px 0;line-height:1.7}
.calendar-subscriptions{margin-top:32px;padding:27px 30px;background:white;border:1px solid #e2dfd7;border-radius:12px}
.calendar-subscriptions h3{font-size:30px;color:var(--navy);margin-bottom:7px}
.calendar-subscriptions p{color:#637181;font-size:14px;margin:0 0 16px}
.calendar-subscriptions .calendar-buttons a{font-size:13px;font-weight:700;color:#88692f;text-decoration:underline;text-underline-offset:3px}
.calendar-subscriptions .calendar-buttons a:hover{color:#112b43}
@media(max-width:750px){.calendar-hero{padding:45px 24px}.calendar-main{padding:24px 12px 60px}.calendar-intro{padding:0 10px}.calendar-intro h2{font-size:33px}.calendar-intro p{font-size:12px}.calendar-embed iframe{height:640px;min-height:640px}.calendar-buttons .btn{flex:1;min-width:175px;text-align:center}.calendar-subscriptions{padding:20px}.calendar-subscriptions .calendar-buttons{align-items:flex-start;flex-direction:column}}


/* Clearer mobile calendar; agenda is the initial view on phones. */
.calendar-view-controls{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin:0 0 15px}
.calendar-view-controls span{font-size:12px;color:#617084;font-weight:700;margin-right:4px}
.calendar-view-controls button{border:1px solid #c2cbd6;background:#fff;border-radius:7px;padding:9px 16px;color:#1b334b;cursor:pointer;font:600 13px 'DM Sans',sans-serif}
.calendar-view-controls button.is-active,.calendar-view-controls button[aria-pressed=true]{background:#102a43;color:white;border-color:#102a43}
.calendar-view-controls button:focus-visible{outline:3px solid #d7b56e;outline-offset:2px}
@media(max-width:750px){.calendar-view-controls{padding:0 2px}.calendar-embed iframe{min-height:540px;height:72vh;max-height:700px}}
