:root{--colour-navy-950:#071b2d;--colour-navy-900:#0b2741;--colour-navy-800:#123a5a;--colour-blue-700:#175f91;--colour-blue-600:#1673aa;--colour-blue-500:#258cc2;--colour-teal-700:#08766f;--colour-teal-600:#0b8f84;--colour-teal-100:#dff7f3;--colour-gold-500:#d6a63d;--colour-gold-100:#fff5d8;--colour-white:#fff;--colour-surface:#fff;--colour-surface-soft:#f5f8fb;--colour-surface-blue:#edf5fa;--colour-border:#d7e1e9;--colour-border-strong:#b8c9d6;--colour-text:#142536;--colour-text-muted:#5a6d7e;--colour-success:#137a4d;--colour-success-bg:#e6f7ef;--colour-warning:#8a5b00;--colour-warning-bg:#fff5d8;--colour-danger:#b42318;--colour-danger-dark:#8f1d15;--colour-danger-bg:#fff0ee;--colour-info:#175f91;--colour-info-bg:#eaf5fc;--shadow-xs:0 1px 2px rgb(7 27 45/7%);--shadow-sm:0 4px 14px rgb(7 27 45/8%);--shadow-md:0 12px 30px rgba(7,27,45,.11);--shadow-lg:0 24px 60px rgba(7,27,45,.16);--radius-sm:0.45rem;--radius-md:0.75rem;--radius-lg:1.15rem;--radius-xl:1.6rem;--container-width:1200px;--header-height:4.75rem;--transition:180ms ease;color-scheme:light}*,:after,:before{box-sizing:border-box}html{min-width:320px;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 1rem);text-size-adjust:100%}body{margin:0;background:var(--colour-surface-soft);color:var(--colour-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1rem;line-height:1.65;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}#__next,body{min-height:100vh}main{min-height:calc(100vh - 16rem)}img,svg,video{display:block;max-width:100%}button,input,select,textarea{margin:0;color:inherit;font:inherit}button,select{cursor:pointer}button:disabled,input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;opacity:.65}a{color:var(--colour-blue-700);text-decoration-thickness:.08em;text-underline-offset:.18em}a:hover{color:var(--colour-teal-700)}p{margin:0 0 1rem}h1,h2,h3,h4{margin:0 0 .75rem;color:var(--colour-navy-950);font-weight:750;line-height:1.17;letter-spacing:-.025em}h1{font-size:clamp(2.1rem,5vw,4.25rem)}h2{font-size:clamp(1.65rem,3vw,2.65rem)}h3{font-size:clamp(1.15rem,2vw,1.45rem)}h4{font-size:1.05rem}ol,ul{margin:0 0 1rem;padding-left:1.35rem}address{font-style:normal}hr{height:1px;margin:2rem 0;border:0;background:var(--colour-border)}::selection{background:var(--colour-teal-100);color:var(--colour-navy-950)}:focus-visible{outline:3px solid rgba(37,140,194,.45);outline-offset:3px}.skip-link,.skip-to-content{position:fixed;z-index:9999;top:.75rem;left:.75rem;padding:.7rem 1rem;border-radius:var(--radius-sm);background:var(--colour-navy-950);color:var(--colour-white);font-weight:700;transform:translateY(-160%);transition:transform var(--transition)}.skip-link:focus,.skip-to-content:focus{color:var(--colour-white);transform:translateY(0)}.container,.content-container,.footer-container,.header-container,.hero-inner,.nav-container,.page-container,.section-inner{width:min(100% - 2rem,var(--container-width));margin-inline:auto}.form-container,.narrow-container{width:min(100% - 2rem,760px);margin-inline:auto}.content-section,.page,.page-section{padding-block:clamp(2.75rem,6vw,5rem)}.page-header,.section-header{max-width:760px;margin:0 auto clamp(1.75rem,4vw,3rem);text-align:center}.hero-subtitle,.lead,.page-header p,.section-header p,.subtitle{color:var(--colour-text-muted);font-size:clamp(1.05rem,1.8vw,1.23rem);line-height:1.7}.eyebrow,.kicker,.section-label{display:inline-flex;align-items:center;gap:.45rem;margin-bottom:.75rem;color:var(--colour-teal-700);font-size:.79rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.form-help,.helper-text,.muted,.secondary-text,.text-muted{color:var(--colour-text-muted)}.small,small{font-size:.875rem}.sr-only,.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;white-space:nowrap!important;border:0!important;clip:rect(0 0 0 0)!important;-webkit-clip-path:inset(50%)!important;clip-path:inset(50%)!important}.main-header,.site-header,header[role=banner]{position:-webkit-sticky;position:sticky;z-index:100;top:0;min-height:var(--header-height);border-bottom:1px solid rgba(215,225,233,.82);background:hsla(0,0%,100%,.94);box-shadow:0 1px 0 rgb(7 27 45/3%);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}.header-container,.header-inner,.nav-container{display:flex;min-height:var(--header-height);align-items:center;justify-content:space-between;gap:1.25rem}.brand,.brand-link,.logo,.site-brand{display:inline-flex;flex:0 0 auto;align-items:center;gap:.7rem;color:var(--colour-navy-950);font-size:clamp(1.05rem,2vw,1.3rem);font-weight:850;letter-spacing:-.025em;text-decoration:none}.brand-link:hover,.brand:hover,.logo:hover,.site-brand:hover{color:var(--colour-blue-700)}.brand-mark,.logo-mark{display:grid;width:2.35rem;height:2.35rem;place-items:center;border-radius:.65rem;background:linear-gradient(135deg,var(--colour-navy-900),var(--colour-teal-600));color:var(--colour-white);box-shadow:var(--shadow-sm);font-size:.9rem;font-weight:900}.header-nav,.main-nav,.nav-links,.site-nav{display:flex;align-items:center;justify-content:flex-end;gap:.3rem}.main-nav ul,.nav-list,.site-nav ul{display:flex;align-items:center;gap:.2rem;margin:0;padding:0;list-style:none}.main-nav a,.nav-link,.nav-links>a,.site-nav a{display:inline-flex;min-height:2.65rem;align-items:center;justify-content:center;padding:.55rem .75rem;border-radius:var(--radius-sm);color:var(--colour-text);font-size:.94rem;font-weight:650;text-decoration:none;transition:color var(--transition),background var(--transition)}.main-nav a:hover,.nav-link.active,.nav-link:hover,.nav-link[aria-current=page],.site-nav a:hover{background:var(--colour-surface-blue);color:var(--colour-blue-700)}.auth-links,.header-actions,.member-nav,.nav-actions,.user-menu{display:flex;align-items:center;gap:.65rem}.member-name,.user-greeting,.welcome-text{max-width:13rem;overflow:hidden;color:var(--colour-text-muted);font-size:.88rem;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.menu-toggle,.mobile-menu-button,.nav-toggle{display:none;min-width:2.75rem;min-height:2.75rem;align-items:center;justify-content:center;padding:.5rem;border:1px solid var(--colour-border);border-radius:var(--radius-sm);background:var(--colour-white)}.btn,.button,.cta-button,.danger-button,.primary-button,.secondary-button,button[type=submit]{display:inline-flex;min-height:2.8rem;align-items:center;justify-content:center;gap:.5rem;padding:.68rem 1.05rem;border:1px solid transparent;border-radius:var(--radius-sm);font-weight:750;line-height:1.2;text-align:center;text-decoration:none;transition:transform var(--transition),box-shadow var(--transition),border-color var(--transition),background var(--transition),color var(--transition)}.btn:hover,.button:hover,.cta-button:hover,.danger-button:hover,.primary-button:hover,.secondary-button:hover,button[type=submit]:hover{transform:translateY(-1px)}.btn:active,.button:active,.cta-button:active,.danger-button:active,.primary-button:active,.secondary-button:active,button[type=submit]:active{transform:translateY(0)}.btn-primary,.button-primary,.cta-button,.primary-button,button[type=submit]{border-color:var(--colour-navy-900);background:var(--colour-navy-900);color:var(--colour-white);box-shadow:0 5px 13px rgba(11,39,65,.17)}.btn-primary:hover,.button-primary:hover,.cta-button:hover,.primary-button:hover,button[type=submit]:hover{border-color:var(--colour-blue-700);background:var(--colour-blue-700);color:var(--colour-white);box-shadow:0 8px 18px rgba(23,95,145,.22)}.btn-secondary,.button-secondary,.secondary-button{border-color:var(--colour-border-strong);background:var(--colour-white);color:var(--colour-navy-900);box-shadow:var(--shadow-xs)}.btn-secondary:hover,.button-secondary:hover,.secondary-button:hover{border-color:var(--colour-blue-600);background:var(--colour-surface-blue);color:var(--colour-blue-700)}.btn-outline,.button-outline{border-color:currentColor;background:transparent;color:var(--colour-blue-700)}.btn-danger,.button-danger,.danger-button{border-color:var(--colour-danger);background:var(--colour-danger);color:var(--colour-white)}.btn-danger:hover,.button-danger:hover,.danger-button:hover{border-color:var(--colour-danger-dark);background:var(--colour-danger-dark);color:var(--colour-white)}.btn-link,.button-link{min-height:auto;padding:0;border:0;background:transparent;color:var(--colour-blue-700);font-weight:700;text-decoration:underline;text-underline-offset:.2em}.btn-sm,.button-small{min-height:2.25rem;padding:.45rem .75rem;font-size:.875rem}.btn-lg,.button-large{min-height:3.25rem;padding:.85rem 1.4rem;font-size:1.04rem}.btn-block,.button-full,.full-width{width:100%}.loading-button,button[aria-busy=true]{cursor:wait}.hero,.home-hero{position:relative;isolation:isolate;overflow:hidden;padding-block:clamp(4.5rem,10vw,8.5rem);background:radial-gradient(circle at 85% 18%,rgba(11,143,132,.22),transparent 29rem),radial-gradient(circle at 5% 85%,rgba(37,140,194,.18),transparent 28rem),linear-gradient(135deg,var(--colour-navy-950),var(--colour-navy-800));color:var(--colour-white)}.hero:after,.home-hero:after{position:absolute;z-index:-1;right:-8rem;bottom:-15rem;width:32rem;height:32rem;border:1px solid hsla(0,0%,100%,.14);border-radius:50%;box-shadow:0 0 0 4rem hsla(0,0%,100%,.03),0 0 0 8rem hsla(0,0%,100%,.02);content:""}.hero-content{max-width:760px}.hero h1,.home-hero h1{max-width:900px;color:var(--colour-white)}.hero .hero-subtitle,.hero .lead,.hero p,.home-hero p{max-width:690px;color:hsla(0,0%,100%,.82)}.hero .eyebrow,.home-hero .eyebrow{color:#8ee1d6}.card-actions,.cta-actions,.dashboard-actions,.event-actions,.form-actions,.hero-actions,.profile-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:1.5rem}.hero .btn-primary,.hero .button-primary,.hero .primary-button{border-color:var(--colour-white);background:var(--colour-white);color:var(--colour-navy-950)}.hero .btn-primary:hover,.hero .button-primary:hover,.hero .primary-button:hover{border-color:#c9f4ee;background:#c9f4ee;color:var(--colour-navy-950)}.hero .btn-secondary,.hero .button-outline,.hero .button-secondary,.hero .secondary-button{border-color:hsla(0,0%,100%,.52);background:hsla(0,0%,100%,.07);color:var(--colour-white)}.hero .btn-secondary:hover,.hero .button-outline:hover,.hero .button-secondary:hover,.hero .secondary-button:hover{border-color:var(--colour-white);background:hsla(0,0%,100%,.14);color:var(--colour-white)}.benefits-section,.cta-section,.events-section,.features-section,.networking-section{padding-block:clamp(3.5rem,8vw,6.5rem)}.alt-section,.benefits-section,.features-section:nth-of-type(2n),.section-muted{background:var(--colour-white)}.benefits-grid,.card-grid,.dashboard-grid,.events-grid,.feature-grid,.members-grid,.shortcut-grid,.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:1.25rem;gap:1.25rem}.benefit-card,.feature-card,.info-card,.shortcut-card,.stat-card{padding:clamp(1.25rem,3vw,1.8rem);border:1px solid var(--colour-border);border-radius:var(--radius-lg);background:var(--colour-white);box-shadow:var(--shadow-sm)}.benefit-card,.feature-card,.shortcut-card{transition:transform var(--transition),box-shadow var(--transition),border-color var(--transition)}.benefit-card:hover,.feature-card:hover,.shortcut-card:hover{border-color:#b4d6e8;box-shadow:var(--shadow-md);transform:translateY(-3px)}.benefit-icon,.card-icon,.feature-icon{display:grid;width:3rem;height:3rem;margin-bottom:1rem;place-items:center;border-radius:.8rem;background:var(--colour-teal-100);color:var(--colour-teal-700);font-size:1.3rem}.callout-section,.cta-section{background:linear-gradient(125deg,var(--colour-blue-700),var(--colour-teal-700));color:var(--colour-white);text-align:center}.callout-section h2,.cta-section h2,.cta-section h3{color:var(--colour-white)}.callout-section p,.cta-section p{max-width:700px;margin-inline:auto;color:hsla(0,0%,100%,.84)}.cta-section .cta-actions{justify-content:center}.auth-card,.card,.content-card,.dashboard-card,.directory-card,.empty-state,.event-card,.form-card,.member-card,.panel,.profile-card,.registration-card{border:1px solid var(--colour-border);border-radius:var(--radius-lg);background:var(--colour-surface);box-shadow:var(--shadow-sm)}.card,.content-card,.dashboard-card,.directory-card,.empty-state,.event-card,.member-card,.panel,.profile-card,.registration-card{padding:clamp(1.15rem,3vw,1.65rem)}.card-header,.dashboard-card-header,.event-card-header,.panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.card-header h2,.card-header h3,.panel-header h2,.panel-header h3{margin-bottom:0}.card-footer,.panel-footer{padding-top:1rem;margin-top:1.25rem;border-top:1px solid var(--colour-border)}.card p:last-child,.dashboard-card p:last-child,.event-card p:last-child,.member-card p:last-child,.panel p:last-child{margin-bottom:0}.auth-page,.login-page,.profile-page,.signup-page{padding-block:clamp(2.5rem,7vw,5.5rem)}.auth-page{display:grid;min-height:calc(100vh - var(--header-height));place-items:center}.auth-container{width:min(100% - 2rem,560px);margin-inline:auto}.auth-card,.form-card{width:100%;padding:clamp(1.4rem,5vw,2.5rem);box-shadow:var(--shadow-md)}.auth-header,.form-header{margin-bottom:1.75rem;text-align:center}.auth-header h1,.form-header h1{font-size:clamp(1.8rem,5vw,2.45rem)}.auth-footer,.form-footer{padding-top:1.25rem;margin-top:1.5rem;border-top:1px solid var(--colour-border);color:var(--colour-text-muted);text-align:center}form{width:100%}.filters-grid,.form-grid,.profile-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1rem 1.15rem;gap:1rem 1.15rem}.field,.form-field,.form-group{min-width:0;margin-bottom:1.05rem}.form-grid .field,.form-grid .form-group,.profile-form-grid .field,.profile-form-grid .form-group{margin-bottom:0}.field-full,.form-group-full,.full-span{grid-column:1/-1}.form-label,label{display:inline-block;margin-bottom:.38rem;color:var(--colour-navy-900);font-size:.91rem;font-weight:720}.required,[aria-hidden=true].required-marker{color:var(--colour-danger)}input,select,textarea{width:100%;min-height:2.9rem;padding:.68rem .78rem;border:1px solid var(--colour-border-strong);border-radius:var(--radius-sm);outline:none;background:var(--colour-white);box-shadow:inset 0 1px 2px rgb(7 27 45/3%);transition:border-color var(--transition),box-shadow var(--transition),background var(--transition)}textarea{min-height:8rem;resize:vertical;line-height:1.55}select{padding-right:2.4rem}input::placeholder,textarea::placeholder{color:#8293a1;opacity:1}input:hover,select:hover,textarea:hover{border-color:#8daabc}input:focus,select:focus,textarea:focus{border-color:var(--colour-blue-600);box-shadow:0 0 0 3px rgba(37,140,194,.16)}.input-error,input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--colour-danger)}.input-error:focus,input[aria-invalid=true]:focus,select[aria-invalid=true]:focus,textarea[aria-invalid=true]:focus{box-shadow:0 0 0 3px rgba(180,35,24,.14)}.error-text,.field-error,.validation-error{display:block;margin-top:.35rem;color:var(--colour-danger);font-size:.85rem;font-weight:650}.character-count{margin-top:.3rem;color:var(--colour-text-muted);font-size:.8rem;text-align:right}.checkbox-field,.checkbox-group{display:flex;align-items:flex-start;gap:.65rem}.checkbox-field input,.checkbox-group input,input[type=checkbox],input[type=radio]{flex:0 0 auto;width:1.1rem;min-height:1.1rem;margin-top:.22rem;accent-color:var(--colour-teal-700)}.form-section{padding-bottom:1.5rem;margin-bottom:1.5rem;border-bottom:1px solid var(--colour-border)}.form-section:last-child{padding-bottom:0;margin-bottom:0;border-bottom:0}.form-section-title{margin-bottom:1rem}.alert,.error-message,.feedback,.info-message,.status-message,.success-message,.warning-message{display:flex;align-items:flex-start;gap:.65rem;padding:.85rem 1rem;margin-bottom:1rem;border:1px solid;border-radius:var(--radius-sm);font-size:.94rem;font-weight:600}.alert p,.error-message p,.feedback p,.info-message p,.status-message p,.success-message p,.warning-message p{margin:0}.alert-error,.error-message,.status-error{border-color:#f2b8b3;background:var(--colour-danger-bg);color:var(--colour-danger-dark)}.alert-success,.status-success,.success-message{border-color:#a9dfc6;background:var(--colour-success-bg);color:var(--colour-success)}.alert-info,.info-message,.status-info{border-color:#add7ed;background:var(--colour-info-bg);color:var(--colour-info)}.alert-warning,.status-warning,.warning-message{border-color:#ead18e;background:var(--colour-warning-bg);color:var(--colour-warning)}.availability-badge,.badge,.membership-badge,.role-badge,.status-badge{display:inline-flex;min-height:1.65rem;align-items:center;padding:.24rem .6rem;border-radius:999px;background:var(--colour-surface-blue);color:var(--colour-blue-700);font-size:.76rem;font-weight:800;line-height:1;letter-spacing:.025em}.badge-success,.registered-badge,.status-active{background:var(--colour-success-bg);color:var(--colour-success)}.badge-warning,.limited-badge,.status-pending{background:var(--colour-warning-bg);color:var(--colour-warning)}.badge-danger,.full-badge,.status-inactive{background:var(--colour-danger-bg);color:var(--colour-danger)}.dashboard-page,.events-page,.members-page{padding-block:clamp(2.5rem,6vw,5rem)}.dashboard-header,.directory-header,.events-header,.profile-header{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;margin-bottom:2rem}.dashboard-header p,.directory-header p,.events-header p,.profile-header p{max-width:720px;margin-bottom:0;color:var(--colour-text-muted)}.dashboard-summary,.profile-summary{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);grid-gap:1.25rem;gap:1.25rem;margin-bottom:1.5rem}.welcome-card{position:relative;overflow:hidden;border:0;background:linear-gradient(130deg,var(--colour-navy-900),var(--colour-blue-700))}.welcome-card,.welcome-card h1,.welcome-card h2,.welcome-card h3{color:var(--colour-white)}.welcome-card p{color:hsla(0,0%,100%,.82)}.stat-card{display:flex;min-height:8rem;flex-direction:column;justify-content:center}.stat-value{display:block;color:var(--colour-navy-950);font-size:clamp(1.65rem,4vw,2.25rem);font-weight:850;line-height:1.1}.stat-label{margin-top:.4rem;color:var(--colour-text-muted);font-size:.88rem;font-weight:650}.dashboard-section{margin-top:2rem}.dashboard-section-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.dashboard-section-header h2{margin:0}.shortcut-card{display:block;color:inherit;text-decoration:none}.shortcut-card:hover{color:inherit}.shortcut-card h3{color:var(--colour-navy-950)}.directory-controls,.filter-bar,.filters,.search-filters{display:grid;grid-template-columns:minmax(220px,2fr) repeat(2,minmax(160px,1fr));grid-gap:.8rem;gap:.8rem;padding:1rem;margin-bottom:1.5rem;border:1px solid var(--colour-border);border-radius:var(--radius-lg);background:var(--colour-white);box-shadow:var(--shadow-xs)}.directory-controls .form-group,.filter-bar .form-group,.filters .form-group{margin:0}.results-count,.results-summary{margin-bottom:1rem;color:var(--colour-text-muted);font-size:.91rem;font-weight:650}.member-grid,.members-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.member-card{position:relative;display:flex;min-width:0;flex-direction:column;transition:transform var(--transition),border-color var(--transition),box-shadow var(--transition)}.member-card:hover{border-color:#b4d6e8;box-shadow:var(--shadow-md);transform:translateY(-2px)}.member-card-header,.member-identity{display:flex;align-items:center;gap:.9rem;margin-bottom:1rem}.avatar,.member-avatar{display:grid;width:3.25rem;height:3.25rem;flex:0 0 auto;place-items:center;border-radius:50%;background:linear-gradient(135deg,var(--colour-navy-800),var(--colour-teal-600));color:var(--colour-white);font-size:1rem;font-weight:850}.member-name{margin-bottom:.12rem;color:var(--colour-navy-950)}.member-card .member-name{max-width:none;overflow:visible;font-size:1.15rem;text-overflow:clip;white-space:normal}.job-title,.member-role,.member-title{margin:0;color:var(--colour-text-muted);font-size:.9rem}.company-name,.member-company{color:var(--colour-navy-800);font-weight:750}.event-details,.member-details,.profile-details{display:grid;grid-gap:.55rem;gap:.55rem;margin:1rem 0}.event-detail,.member-detail,.meta-item,.profile-detail{display:flex;align-items:flex-start;gap:.55rem;color:var(--colour-text-muted);font-size:.91rem}.member-bio{display:-webkit-box;overflow:hidden;margin-top:.8rem;color:var(--colour-text-muted);-webkit-box-orient:vertical;-webkit-line-clamp:4}.member-card .card-actions{margin-top:auto;padding-top:1rem}.event-list,.events-list,.registrations-list{display:grid;grid-gap:1.15rem;gap:1.15rem}.event-card{display:grid;grid-template-columns:minmax(125px,.28fr) minmax(0,1fr) auto;align-items:center;grid-gap:clamp(1rem,3vw,1.75rem);gap:clamp(1rem,3vw,1.75rem);transition:border-color var(--transition),box-shadow var(--transition)}.event-card:hover{border-color:#b4d6e8;box-shadow:var(--shadow-md)}.date-block,.event-date{display:grid;min-height:7rem;align-content:center;justify-items:center;padding:.85rem;border-radius:var(--radius-md);background:var(--colour-surface-blue);color:var(--colour-blue-700);text-align:center}.date-day,.event-date-day{color:var(--colour-navy-950);font-size:2rem;font-weight:850;line-height:1}.date-month,.event-date-month{margin-top:.3rem;font-size:.78rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.date-year,.event-date-year{color:var(--colour-text-muted);font-size:.78rem}.event-content{min-width:0}.event-content h2,.event-content h3,.event-title{margin-bottom:.4rem}.event-meta{display:flex;flex-wrap:wrap;gap:.45rem 1rem;margin:.65rem 0;color:var(--colour-text-muted);font-size:.9rem}.event-description{margin-top:.8rem;color:var(--colour-text-muted)}.availability,.capacity-info,.event-capacity{font-size:.88rem;font-weight:700}.event-card .event-actions{min-width:9.5rem;flex-direction:column;align-items:stretch;margin-top:0}.registration-card{display:flex;align-items:center;justify-content:space-between;gap:1rem}.registration-card h3{margin-bottom:.25rem}.auth-loading,.loading,.loading-state,.page-loading{display:grid;min-height:15rem;place-items:center;color:var(--colour-text-muted);text-align:center}.loading-spinner,.spinner{width:2.25rem;height:2.25rem;margin:0 auto .8rem;border:3px solid var(--colour-border);border-top-color:var(--colour-teal-600);border-radius:50%;animation:spin .7s linear infinite}.empty-state,.error-state{padding:clamp(2rem,6vw,4rem);text-align:center}.empty-state h2,.empty-state h3,.error-state h2,.error-state h3{margin-top:.5rem}.empty-state p,.error-state p{max-width:580px;margin-inline:auto;color:var(--colour-text-muted)}.empty-state .card-actions,.error-state .card-actions{justify-content:center}@keyframes spin{to{transform:rotate(1turn)}}.main-footer,.site-footer,footer[role=contentinfo]{padding-block:2.75rem 1.5rem;border-top:1px solid hsla(0,0%,100%,.1);background:var(--colour-navy-950);color:hsla(0,0%,100%,.73)}.footer-container,.footer-inner{display:grid;grid-template-columns:minmax(230px,1.5fr) repeat(2,minmax(170px,1fr));grid-gap:2rem;gap:2rem}.main-footer h2,.main-footer h3,.main-footer h4,.site-footer h2,.site-footer h3,.site-footer h4{color:var(--colour-white)}.main-footer a,.site-footer a{color:hsla(0,0%,100%,.78)}.footer-brand,.main-footer a:hover,.site-footer a:hover{color:var(--colour-white)}.footer-brand{font-size:1.2rem;font-weight:850}.footer-links{margin:0;padding:0;list-style:none}.footer-links li+li{margin-top:.45rem}.footer-bottom,.footer-legal{width:min(100% - 2rem,var(--container-width));padding-top:1.25rem;margin:2rem auto 0;border-top:1px solid hsla(0,0%,100%,.12);color:hsla(0,0%,100%,.58);font-size:.85rem;text-align:center}.table-container,.table-responsive{width:100%;overflow-x:auto;border:1px solid var(--colour-border);border-radius:var(--radius-lg);background:var(--colour-white)}table{width:100%;border-collapse:collapse;font-size:.93rem}td,th{padding:.85rem 1rem;border-bottom:1px solid var(--colour-border);text-align:left;vertical-align:middle}th{background:var(--colour-surface-blue);color:var(--colour-navy-900);font-size:.78rem;font-weight:800;letter-spacing:.045em;text-transform:uppercase}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#f9fbfc}.stack{display:flex;flex-direction:column;gap:1rem}.cluster{flex-wrap:wrap;gap:.75rem}.cluster,.flex-between{display:flex;align-items:center}.flex-between{justify-content:space-between;gap:1rem}.text-center{text-align:center}.text-right{text-align:right}.mt-0{margin-top:0}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.hidden{display:none!important}@media (max-width:980px){:root{--header-height:4.25rem}.header-container,.header-inner,.nav-container{min-height:var(--header-height);flex-wrap:wrap;gap:.45rem 1rem;padding-block:.65rem}.header-nav,.main-nav,.nav-links,.site-nav{order:3;width:100%;justify-content:flex-start;overflow-x:auto;scrollbar-width:thin}.main-nav ul,.nav-list,.site-nav ul{width:max-content}.main-nav a,.nav-link,.nav-links>a,.site-nav a{white-space:nowrap}.benefits-grid,.card-grid,.dashboard-grid,.events-grid,.feature-grid,.member-grid,.members-grid,.shortcut-grid,.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-summary,.profile-summary{grid-template-columns:1fr}.directory-controls,.filter-bar,.filters,.search-filters{grid-template-columns:1fr 1fr}.directory-controls>:first-child,.filter-bar>:first-child,.filters>:first-child,.search-filters>:first-child{grid-column:1/-1}.event-card{grid-template-columns:110px minmax(0,1fr)}.event-card .event-actions{grid-column:2;min-width:0;flex-flow:row wrap;align-items:center}}@media (max-width:680px){body{font-size:.97rem}.container,.content-container,.footer-container,.form-container,.header-container,.hero-inner,.narrow-container,.nav-container,.page-container,.section-inner{width:min(100% - 1.25rem,var(--container-width))}.main-header,.site-header,header[role=banner]{position:relative}.brand,.brand-link,.logo,.site-brand{font-size:1rem}.brand-mark,.logo-mark{width:2.1rem;height:2.1rem}.member-name,.user-greeting,.welcome-text{display:none}.auth-links,.header-actions,.member-nav,.nav-actions,.user-menu{gap:.35rem}.auth-links .btn,.auth-links .button,.auth-links button,.header-actions .btn,.header-actions .button,.header-actions button,.nav-actions .btn,.nav-actions .button,.nav-actions button{min-height:2.35rem;padding:.48rem .65rem;font-size:.82rem}.header-nav,.main-nav,.nav-links,.site-nav{padding-top:.35rem;border-top:1px solid var(--colour-border)}.main-nav a,.nav-link,.nav-links>a,.site-nav a{min-height:2.35rem;padding:.45rem .55rem;font-size:.86rem}.hero,.home-hero{padding-block:4rem}.cta-actions,.form-actions,.hero-actions,.profile-actions{align-items:stretch;flex-direction:column}.cta-actions .btn,.cta-actions .button,.form-actions .btn,.form-actions .button,.form-actions button,.hero-actions .btn,.hero-actions .button,.profile-actions .btn,.profile-actions .button,.profile-actions button{width:100%}.benefits-grid,.card-grid,.dashboard-grid,.events-grid,.feature-grid,.filters-grid,.form-grid,.member-grid,.members-grid,.profile-form-grid,.shortcut-grid,.stats-grid{grid-template-columns:1fr}.card-header,.dashboard-header,.dashboard-section-header,.directory-header,.events-header,.panel-header,.profile-header{align-items:flex-start;flex-direction:column}.dashboard-header h1,.directory-header h1,.events-header h1,.profile-header h1{font-size:2rem}.directory-controls,.filter-bar,.filters,.search-filters{grid-template-columns:1fr}.directory-controls>:first-child,.filter-bar>:first-child,.filters>:first-child,.search-filters>:first-child{grid-column:auto}.event-card{grid-template-columns:1fr;align-items:stretch}.date-block,.event-date{min-height:auto;grid-template-columns:auto auto auto;align-items:baseline;justify-content:start;justify-items:start;gap:.35rem;text-align:left}.date-day,.event-date-day{font-size:1.45rem}.event-card .event-actions{grid-column:auto;flex-direction:row}.event-card .event-actions>*{flex:1 1 auto}.registration-card{align-items:flex-start;flex-direction:column}.footer-container,.footer-inner{grid-template-columns:1fr;gap:1.5rem}.footer-bottom,.footer-legal{width:min(100% - 1.25rem,var(--container-width));text-align:left}.flex-between{align-items:flex-start;flex-direction:column}td,th{padding:.7rem .75rem}}@media (max-width:420px){.brand .brand-text,.site-brand .brand-text{max-width:9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-card,.card,.content-card,.dashboard-card,.directory-card,.event-card,.form-card,.member-card,.panel,.profile-card,.registration-card{border-radius:var(--radius-md)}.card-actions,.event-card .event-actions{align-items:stretch;flex-direction:column}.card-actions>*,.event-card .event-actions>*{width:100%}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (prefers-contrast:more){:root{--colour-border:#8ca1b1;--colour-border-strong:#667f91;--colour-text-muted:#3f5363}.btn,.button,.card,.event-card,.member-card,.panel,input,select,textarea{border-width:2px}}@media print{.card-actions,.event-actions,.form-actions,.hero-actions,.main-footer,.main-header,.nav-actions,.site-footer,.site-header,button{display:none!important}body{background:var(--colour-white);color:#000}main{min-height:0}.card,.dashboard-card,.event-card,.member-card,.panel{page-break-inside:avoid;break-inside:avoid;border:1px solid #999;box-shadow:none}a{color:#000;text-decoration:none}}