@font-face{font-family:'Source Serif 4';font-style:italic;font-weight:600;font-display:swap;src:url(fonts/source-serif-4-italic-600.woff2) format('woff2')}
@font-face{font-family:'Source Serif 4';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/source-serif-4-normal-600.woff2) format('woff2')}
@font-face{font-family:'Source Serif 4';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/source-serif-4-normal-700.woff2) format('woff2')}
@font-face{font-family:'Nunito Sans';font-style:italic;font-weight:400;font-display:swap;src:url(fonts/nunito-sans-italic-400.woff2) format('woff2')}
@font-face{font-family:'Nunito Sans';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/nunito-sans-normal-400.woff2) format('woff2')}
@font-face{font-family:'Nunito Sans';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/nunito-sans-normal-600.woff2) format('woff2')}
@font-face{font-family:'Nunito Sans';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/nunito-sans-normal-700.woff2) format('woff2')}

:root{--cream:#F6F1E6;--cream2:#EBE4D4;--card:#FFFcf5;--ink:#18231A;--ink2:#4E5A50;--forest:#163526;--forest2:#0F2419;--moss:#2F6B45;--moss2:#245537;--leaf:#3F8A58;--brass:#B8923F;--brass2:#8F6E28;--sand:#E4D9C3;--line:#D9CFB8;--mint:#E5F0E7;--warn:#FFF5DF;--warnb:#E8D3A0;--r:18px;--shadow:0 1px 0 rgba(22,53,38,.04),0 22px 48px -26px rgba(22,53,38,.38)}
*{box-sizing:border-box;margin:0}
html{-webkit-text-size-adjust:100%}
body{background:var(--cream);color:var(--ink);font:400 17px/1.65 "Nunito Sans",system-ui,sans-serif}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
p a,li a,.prose a{color:var(--moss);text-decoration-thickness:1.5px;text-underline-offset:3px}
.wrap{width:min(1180px,100% - 48px);margin:0 auto}
.narrow{width:min(820px,100% - 48px);margin:0 auto}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
h1,h2,h3,.display{font-family:"Source Serif 4",Georgia,serif;font-weight:700;line-height:1.08;letter-spacing:-.02em}
h1{font-size:clamp(36px,5.2vw,64px)}
h2{font-size:clamp(28px,3.5vw,44px)}
h3{font-size:clamp(20px,2vw,26px);line-height:1.2;letter-spacing:-.01em}
h1 em,h2 em{font-style:italic;font-weight:600;color:var(--brass)}
.dark h1 em,.dark h2 em{color:#E8C878}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font:700 12px/1 "Nunito Sans",sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--moss);margin-bottom:16px}
.eyebrow:before{content:"";width:22px;height:2px;background:currentColor}
.dark .eyebrow{color:#E8C878}
.lede{font-size:clamp(17px,1.45vw,20px);color:var(--ink2);max-width:58ch;margin-top:18px}
.dark .lede{color:#D5E4DA}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:999px;padding:15px 26px;font:700 15.5px/1 "Nunito Sans",sans-serif;text-decoration:none;cursor:pointer;transition:transform .15s,background .15s,color .15s,box-shadow .15s;white-space:nowrap}
.btn:hover{transform:translateY(-2px)}
.btn-moss{background:var(--moss);color:#fff}
.btn-moss:hover{background:var(--moss2)}
.btn-forest{background:var(--forest);color:#fff}
.btn-forest:hover{background:var(--forest2)}
.btn-brass{background:var(--brass);color:#1B1406}
.btn-brass:hover{background:var(--brass2);color:#fff}
.btn-line{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink2)}
.btn-line:hover{background:var(--forest);color:#fff;box-shadow:none}
.btn-ghost{background:transparent;color:#fff;box-shadow:inset 0 0 0 2px rgba(255,255,255,.55)}
.btn-ghost:hover{background:rgba(255,255,255,.1)}
.btn-cream{background:var(--cream);color:var(--forest)}
.btn-cream:hover{background:#fff}
.btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.demo-banner{background:var(--forest);color:#E8F0EA;font-size:14px;padding:11px 0}
.demo-banner .wrap{display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap}
.demo-banner a{color:#E8C878;font-weight:700;text-decoration:none}
.demo-badge{display:inline-flex;align-items:center;gap:8px;background:var(--brass);color:#1B1406;border-radius:999px;padding:8px 14px;font:800 12px/1 "Nunito Sans",sans-serif;letter-spacing:.12em;text-transform:uppercase}
.demo-badge:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.topbar{background:var(--forest2);color:#C9D9CF;font-size:13.5px;padding:10px 0}
.topbar .wrap{display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap}
.tb-links{display:flex;gap:18px;flex-wrap:wrap}
.tb-links a{color:#E8C878;text-decoration:none;font-weight:700}
.site-head{background:rgba(246,241,230,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:40}
.head-in{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 0;min-height:78px}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none}
.logo img{width:54px;height:54px;border-radius:50%;box-shadow:0 8px 20px -12px rgba(22,53,38,.55);background:#fff}
.logo-text{display:flex;flex-direction:column;gap:2px}
.logo-text b{font:700 16px/1.1 "Source Serif 4",Georgia,serif;color:var(--forest);letter-spacing:-.01em}
.logo-text span{font-size:12.5px;color:var(--ink2);font-weight:600}
.nav{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.nav a{text-decoration:none;font-weight:700;font-size:14.5px;color:var(--ink2)}
.nav a:hover,.nav a.on{color:var(--forest)}
.nav .btn{color:#fff}
.nav .btn-brass{color:#1B1406}
.menu{display:none}
.menu summary{list-style:none;cursor:pointer;font-weight:800;display:inline-flex;align-items:center;gap:10px;padding:10px 14px;border-radius:999px;background:var(--forest);color:#fff}
.menu summary::-webkit-details-marker{display:none}
.menu summary i{width:18px;height:2px;background:currentColor;display:block;box-shadow:0 6px 0 currentColor,0 -6px 0 currentColor}
.menu-panel{position:absolute;right:24px;left:24px;margin-top:12px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:12px;box-shadow:var(--shadow);display:grid;gap:4px}
.menu-panel a{display:flex;justify-content:space-between;padding:12px 14px;text-decoration:none;border-radius:12px;font-weight:700;color:var(--ink)}
.menu-panel a:hover{background:var(--mint)}
.menu-panel .btn{justify-content:center;margin-top:8px}
.hero{position:relative;display:block;min-height:620px;color:#fff;overflow:hidden;background:var(--forest2)}
.hero-img{position:absolute;inset:0;min-height:0}
.hero-img img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 48%;filter:saturate(1.08)}
.hero .wrap{position:relative;z-index:1;display:flex;align-items:center;min-height:620px;width:min(100% - 96px,1180px);max-width:none;margin:0 auto;padding:75px 0 65px;background:transparent}
.hero .wrap:before{content:"";position:absolute;z-index:-1;top:0;bottom:0;left:calc((100vw - 100%) / -2);width:calc(100vw - 30px);background:linear-gradient(90deg,var(--forest2) 0%,rgba(22,53,38,.98) 31%,rgba(22,53,38,.90) 44%,rgba(22,53,38,.57) 57%,rgba(22,53,38,.08) 76%,transparent 89%)}
.hero-copy{max-width:570px;padding:0 48px 0 0}
.hero h1{font-size:clamp(38px,4.2vw,60px);line-height:1.2;letter-spacing:-1px;text-wrap:nowrap}
.hero h1 span{display:block}
.hero .lede{font-size:18px;line-height:1.7;max-width:44ch;text-shadow:0 1px 8px rgba(0,0,0,.22)}
.hero h1{text-shadow:0 1px 10px rgba(0,0,0,.18)}
@media(min-width:1001px) and (max-width:1150px){.hero h1{font-size:42px}.hero .lede{font-size:17px}}
.hero .eyebrow{color:#E8C878}
.hero .lede{color:#E4EDE6}
.trust{background:var(--forest);color:#D8E6DC;padding:18px 0}
.trust ul{list-style:none;display:flex;flex-wrap:wrap;gap:12px 28px;justify-content:space-between}
.trust li{font-weight:700;font-size:14.5px}
.pad{padding:72px 0}
.pad-sm{padding:48px 0}
.shead{margin-bottom:34px}
.shead.center{text-align:center;margin-left:auto;margin-right:auto}
.shead.center .lede{margin-left:auto;margin-right:auto}
.fcards{display:grid;gap:22px}
.fcards.n3{grid-template-columns:repeat(3,1fr)}
.fcards.n2{grid-template-columns:repeat(2,1fr)}
.fcards.n4{grid-template-columns:repeat(4,1fr)}
.fcard{background:var(--card);border:1px solid var(--line);border-radius:22px;overflow:hidden;text-decoration:none;box-shadow:var(--shadow);display:flex;flex-direction:column;transition:transform .15s}
.fcard:hover{transform:translateY(-4px)}
.fcard .fimg{aspect-ratio:16/11;overflow:hidden}
.fcard .fimg img{width:100%;height:100%;object-fit:cover}
.fcard h3,.fcard p,.fcard .more{padding-left:22px;padding-right:22px}
.fcard h3{margin-top:18px}
.fcard p{color:var(--ink2);font-size:15.5px;margin-top:8px;margin-bottom:18px}
.fcard .more{margin-top:auto;padding-bottom:22px;font-weight:800;color:var(--moss)}
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:42px;align-items:center}
.split.rev{grid-template-columns:.95fr 1.05fr}
.split-img{border-radius:24px;overflow:hidden;box-shadow:var(--shadow)}
.split-img img{width:100%;height:100%;object-fit:cover;aspect-ratio:5/4}
.band{background:var(--forest);color:#E8F0EA;padding:70px 0}
.band .lede{color:#C9D9CF}
.band-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:36px;align-items:center}
.callout{background:var(--warn);border:1px solid var(--warnb);border-radius:18px;padding:22px 24px;color:#5C4718}
.callout strong{display:block;margin-bottom:6px;color:#3F2F0C}
.stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:28px}
.stat{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:18px}
.stat b{display:block;font:700 28px/1 "Source Serif 4",Georgia,serif;color:#E8C878;margin-bottom:6px}
.stat span{font-size:14px;color:#C9D9CF}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:18px;background:#fff}
table{width:100%;border-collapse:collapse;min-width:560px}
th,td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--line);font-size:15px}
th{background:var(--mint);color:var(--forest);font-size:13px;letter-spacing:.04em;text-transform:uppercase}
tr:last-child td{border-bottom:0}
.hours-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.hour-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:var(--shadow)}
.hour-card h3{margin-bottom:10px}
.hour-card p{color:var(--ink2);font-size:15px}
.list-check{list-style:none;display:grid;gap:12px;margin-top:18px}
.list-check li{padding-left:28px;position:relative;color:var(--ink2)}
.list-check li:before{content:"";position:absolute;left:0;top:8px;width:14px;height:14px;border-radius:50%;background:var(--moss);box-shadow:inset 0 0 0 3px #fff,0 0 0 1px var(--moss)}
.prose p{margin-bottom:1em;color:var(--ink2)}
.prose h3{margin:1.2em 0 .5em}
.form-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:28px;box-shadow:var(--shadow)}
.form-card label{display:grid;gap:7px;font-weight:700;font-size:14px;margin-bottom:14px}
.form-card input,.form-card select,.form-card textarea{font:500 16px/1.4 "Nunito Sans",sans-serif;padding:13px 15px;border:1px solid #CDD8CF;border-radius:12px;background:#FBFCF8;width:100%}
.form-card textarea{min-height:120px;resize:vertical}
.form-card .row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-note{font-size:13.5px;color:var(--ink2);margin:8px 0 16px}
.page-hero{padding:28px 0 20px;background:linear-gradient(180deg,var(--cream2),var(--cream))}
.page-hero h1{font-size:clamp(32px,3.5vw,44px);max-width:28ch}.page-hero .lede{margin-top:12px;max-width:76ch}.page-hero .eyebrow{margin-bottom:10px}.page-hero+.pad{padding-top:28px}
.crumbs{font-size:14px;color:var(--ink2);margin-bottom:10px}
.crumbs a{color:var(--moss);font-weight:700;text-decoration:none}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.gallery figure{margin:0;border-radius:18px;overflow:hidden;background:#ddd}
.gallery img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3}
.gallery figcaption{font-size:12.5px;color:var(--ink2);padding:8px 4px 0}
.foot{background:var(--forest2);color:#C9D9CF;padding:56px 0 28px;margin-top:40px}
.foot a{color:#E8C878;text-decoration:none}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:28px}
.foot .logo img{background:transparent;box-shadow:none}
.foot .logo-text b{color:#fff}
.foot .logo-text span{color:#A9BFAF}
.foot p{margin-top:14px;max-width:36ch;font-size:15px}
.foot h4{color:#fff;font:800 13px/1 "Nunito Sans",sans-serif;letter-spacing:.12em;text-transform:uppercase;margin-bottom:14px}
.foot ul{list-style:none;display:grid;gap:8px;font-size:14.5px}
.foot-base{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.1);margin-top:36px;padding-top:18px;font-size:13.5px}
.portal-shell{background:linear-gradient(145deg,#E8F0EA,#F7F3EA 45%,#EFE6D4);min-height:70vh}
.portal-workspace{width:min(980px,100% - 40px);margin:0 auto;padding:46px 0 90px}
.portal-steps{display:flex;gap:8px;align-items:center;justify-content:center;margin-bottom:28px;flex-wrap:wrap}
.portal-step{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--ink2)}
.portal-step b{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#D5E2D7;color:var(--ink2)}
.portal-step.active{color:var(--forest)}
.portal-step.active b,.portal-step.done b{background:var(--moss);color:#fff}
.portal-step-line{width:34px;height:2px;background:#C7D6CA}
.portal-panel{background:#fff;border:1px solid var(--line);border-radius:24px;padding:38px;box-shadow:var(--shadow)}
.portal-panel-head{display:flex;justify-content:space-between;gap:24px;align-items:start;border-bottom:1px solid var(--line);padding-bottom:24px;margin-bottom:28px}
.portal-panel-head h2{font-size:clamp(28px,3vw,38px)}
.portal-panel-head p{color:var(--ink2);margin-top:8px}
.portal-kicker{font-size:12px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--brass2)}
.portal-form{display:grid;gap:18px}
.portal-form .row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.portal-form label{display:grid;gap:7px;font-weight:700;font-size:14px;color:var(--forest)}
.portal-form input,.portal-form select,.portal-form textarea{font:500 16px/1.4 "Nunito Sans",sans-serif;padding:14px 16px;border:1px solid #CCD9CF;border-radius:12px;background:#FBFCFA;color:var(--ink);width:100%}
.portal-form textarea{min-height:110px;resize:vertical}
.portal-check{display:flex;align-items:flex-start;gap:12px;background:var(--mint);border:1px solid #C7DCCB;border-radius:14px;padding:18px}
.portal-check input{width:20px;height:20px;accent-color:var(--moss);margin-top:2px}
.portal-check span{font-weight:500;color:var(--ink2);line-height:1.55}
.portal-actions{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:10px;flex-wrap:wrap}
.portal-back{font-weight:700;color:var(--ink2);text-decoration:none}
.portal-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:26px}
.portal-summary div{background:var(--cream);border-radius:14px;padding:16px}
.portal-summary small{display:block;color:var(--ink2);font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:700}
.portal-summary b{display:block;margin-top:5px;color:var(--forest)}
.demo-disclaimer{background:var(--warn);border:1px solid var(--warnb);border-radius:12px;padding:14px 16px;color:#6B5529;font-size:14px}
.portal-confirm{text-align:center}
.portal-confirm h2{font-size:clamp(34px,4vw,48px)}
.portal-confirm .lede{margin-left:auto;margin-right:auto}
.login-layout{display:grid;grid-template-columns:1fr 1fr;gap:0;overflow:hidden;padding:0}
.login-art{background:linear-gradient(145deg,var(--forest2),var(--forest));color:#fff;padding:46px;display:flex;flex-direction:column;justify-content:space-between;min-height:520px}
.login-art img{width:72px;height:72px;border-radius:50%;background:transparent}
.login-art h2{font-size:38px;margin-top:40px}
.login-art p{color:#C9D9CF;margin-top:16px}
.login-benefits{list-style:none;display:grid;gap:10px;margin-top:24px;color:#D8E6DC}
.login-benefits li:before{content:"✓ ";color:var(--brass);font-weight:800}
.login-form{padding:46px;display:flex;flex-direction:column;justify-content:center}
.login-form h3{font-size:28px;margin:8px 0 10px}
.form-intro{color:var(--ink2);margin-bottom:18px}
.demo-login-note{margin-top:14px;font-size:14px;color:var(--ink2)}
.login-secondary{margin-top:18px}
.login-secondary a{font-weight:700;color:var(--moss);text-decoration:none}
.client-shell{min-height:75vh;background:#EEF3EE}
.client-welcome{background:linear-gradient(125deg,var(--forest2),var(--forest) 68%,#2A5A3D);color:#fff;padding:46px 0 0}
.client-top{display:flex;justify-content:space-between;align-items:center;gap:30px}
.client-top h1{font-size:clamp(34px,5vw,54px);margin-top:16px;max-width:22ch}
.client-top p{color:#C9D9CF;margin-top:10px}
.client-avatar{width:74px;height:74px;display:grid;place-items:center;border-radius:50%;background:var(--brass);color:#1B1406;font:700 34px "Source Serif 4",Georgia,serif;border:5px solid rgba(255,255,255,.16)}
.client-nav{display:flex;align-items:center;gap:26px;margin-top:34px;border-top:1px solid rgba(255,255,255,.13);overflow:auto}
.client-nav a{color:#C9D9CF;text-decoration:none;font-size:14px;font-weight:700;padding:18px 0;white-space:nowrap}
.client-nav a.active{color:#fff;box-shadow:inset 0 -3px var(--brass)}
.client-nav .client-signout{margin-left:auto}
.client-content{padding:32px 0 80px}
.dashboard-hero{display:grid;grid-template-columns:1.35fr 1fr;background:var(--forest2);color:#fff;border-radius:24px;overflow:hidden;box-shadow:0 22px 50px -28px var(--forest2)}
.dashboard-property{padding:38px}
.property-label{display:flex;align-items:center;gap:9px;color:#D9E9DF;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.status-dot{width:9px;height:9px;background:#6EE7B7;border-radius:50%;box-shadow:0 0 0 5px rgba(110,231,183,.12)}
.dashboard-property h2{font-size:clamp(30px,4vw,44px);margin-top:18px}
.dashboard-property > p{color:#C9D9CF;margin-top:8px}
.property-meta{display:grid;gap:10px;margin:22px 0;font-size:14.5px;color:#D8E6DC}
.property-meta b{color:#fff;margin-right:8px}
.property-photo{position:relative;min-height:280px}
.property-photo img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.property-photo span{position:absolute;left:16px;bottom:16px;background:rgba(15,36,25,.78);color:#fff;border-radius:999px;padding:8px 12px;font-size:12.5px;font-weight:700}
.property-documents{background:#fff;border:1px solid var(--line);border-radius:22px;padding:28px;margin-top:22px;box-shadow:var(--shadow)}
.documents-heading{display:flex;justify-content:space-between;gap:18px;align-items:start;margin-bottom:22px}
.documents-heading p{color:var(--ink2);margin-top:6px}
.document-property{border:1px solid var(--line);border-radius:16px;overflow:hidden;margin-bottom:16px}
.document-property-title{display:flex;justify-content:space-between;gap:16px;padding:16px 18px;background:var(--mint);align-items:center}
.document-property-title p{color:var(--ink2);font-size:14px;margin-top:4px}
.document-count{font-size:13px;font-weight:800;color:var(--moss)}
.document-list{list-style:none}
.document-row{display:flex;align-items:center;gap:14px;padding:14px 18px;border-top:1px solid var(--line)}
.document-icon{width:42px;height:42px;border-radius:10px;background:var(--forest);color:#fff;display:grid;place-items:center;font:800 11px/1 "Nunito Sans",sans-serif;flex:none}
.document-info{flex:1}
.document-info h4{font-size:16px}
.document-info p{color:var(--ink2);font-size:13.5px;margin-top:2px}
.document-info small{color:#7A877C;font-size:12px}
.documents-note{font-size:13.5px;color:var(--ink2);margin-top:8px}
.quick-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:22px}
.quick-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;text-decoration:none;display:flex;gap:14px;align-items:center;box-shadow:var(--shadow)}
.quick-card:hover{border-color:var(--moss)}
.quick-icon{width:42px;height:42px;border-radius:12px;background:var(--mint);color:var(--forest);display:grid;place-items:center;font-weight:800;flex:none}
.quick-card h3{font-size:18px}
.quick-card p{color:var(--ink2);font-size:14px;margin-top:4px}
.quick-arrow{margin-left:auto;color:var(--moss);font-weight:800}
.dashboard-columns{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;margin-top:22px}
.dash-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:var(--shadow)}
.dash-card h3{margin-bottom:12px}
.event-list,.record-list{list-style:none;display:grid;gap:12px}
.event-list li,.record-list li{display:grid;grid-template-columns:88px 1fr auto;gap:12px;align-items:center;padding:12px;border-radius:14px;background:var(--cream)}
.event-list .when,.record-list .when{font-size:12.5px;font-weight:800;color:var(--moss);text-transform:uppercase;letter-spacing:.04em}
.event-list h4,.record-list h4{font-size:15.5px}
.event-list p,.record-list p{font-size:13.5px;color:var(--ink2)}
.tag{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;font:800 11px/1 "Nunito Sans",sans-serif;letter-spacing:.06em;text-transform:uppercase;background:var(--mint);color:var(--moss)}
.tag.warn{background:var(--warn);color:#6B5529}
.tag.ok{background:#D8F5E4;color:#176B3F}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-top:18px}
.cal-head,.cal-cell{text-align:center;font-size:13px;padding:10px 6px;border-radius:10px}
.cal-head{font-weight:800;color:var(--ink2)}
.cal-cell{background:#fff;border:1px solid var(--line);min-height:78px;display:flex;flex-direction:column;gap:4px;align-items:flex-start;text-align:left;padding:8px}
.cal-cell b{font-size:12px;color:var(--forest)}
.cal-cell span{font-size:12px;font-weight:800;line-height:1.35;color:#fff;background:var(--forest);border-radius:6px;padding:5px 7px}
.cal-cell.mute{opacity:.45}
.cal-cell.demo{box-shadow:inset 0 0 0 2px var(--brass)}
.choice-fieldset{border:0;padding:0}
.choice-fieldset legend{font-weight:800;margin-bottom:12px;color:var(--forest)}
.service-choices{display:grid;gap:10px}
.service-choice{display:block;border:1px solid var(--line);border-radius:14px;padding:14px 16px;background:#FBFCFA;cursor:pointer}
.service-choice:has(input:checked){border-color:var(--moss);background:var(--mint)}
.service-choice input{margin-right:10px}
.service-choice b{display:block}
.service-choice small{display:block;color:var(--ink2);margin-top:4px}
.service-choice em{display:inline-block;margin-top:8px;font-style:normal;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--brass2)}
.timeline{list-style:none;display:grid;gap:0;border-left:2px solid var(--line);margin-left:10px;padding-left:22px}
.timeline li{padding:0 0 22px;position:relative}
.timeline li:before{content:"";position:absolute;left:-29px;top:4px;width:12px;height:12px;border-radius:50%;background:var(--moss);border:2px solid #fff;box-shadow:0 0 0 2px var(--moss)}
.timeline h4{font-size:16px}
.timeline p{color:var(--ink2);font-size:14.5px;margin-top:4px}
@media (max-width:980px){
.nav{display:none}
.menu{display:block;position:static}
.fcards.n3,.fcards.n4,.hours-grid,.stat-row,.foot-grid,.dashboard-hero,.dashboard-columns,.login-layout,.band-grid,.split,.split.rev,.quick-grid,.portal-summary,.gallery{grid-template-columns:1fr}
.cal-grid{grid-template-columns:repeat(7,minmax(0,1fr))}
.event-list li,.record-list li{grid-template-columns:1fr;gap:6px}
.hero{min-height:0;grid-template-columns:1fr}.hero-img{order:0;min-height:0;aspect-ratio:16/10}.hero .wrap{display:block;max-width:none;width:min(100% - 48px,720px);min-height:0;margin:0 auto;padding:360px 0 64px}
.hero .wrap:before{content:none}
.hero-img img{height:320px;object-position:center 48%}
.hero-copy{max-width:680px;padding:0}
.hero h1{text-shadow:none}
.hero .lede{max-width:48ch;text-shadow:none}
.head-in{padding:12px 0}
}
@media (max-width:640px){
.wrap{width:min(1180px,100% - 28px)}
.portal-form .row,.form-card .row{grid-template-columns:1fr}
.portal-panel,.login-form,.login-art{padding:24px}
.cal-grid{grid-template-columns:repeat(7,minmax(0,1fr))}
.document-row{flex-wrap:wrap}
.client-nav{gap:18px}
}
.member-overview{display:grid;grid-template-columns:1.15fr 1fr;gap:32px;align-items:stretch}
.membership-card{position:relative;isolation:isolate;overflow:hidden;padding:30px 34px 22px;border:1px solid #426048;border-radius:22px;background:radial-gradient(ellipse at 90% 5%,#46684c 0,transparent 58%),linear-gradient(120deg,#0f2419,#234c35);color:#fff;box-shadow:0 18px 36px -24px #163526}
.membership-card:after{content:"";position:absolute;width:350px;height:350px;right:-180px;bottom:-190px;border:42px solid #ffffff08;border-radius:50%;z-index:-1;box-shadow:0 0 0 30px #ffffff04}
.member-card-top{display:flex;align-items:center;gap:14px}
.member-card-top img{width:56px;height:56px;object-fit:contain;flex:none}
.member-card-top b{display:block;font:600 23px/1.2 "Source Serif 4",Georgia,serif}
.card-eyebrow{display:block;font-size:11px;letter-spacing:.13em;text-transform:uppercase;font-weight:800;color:#d7e1d6}
.card-sample{margin-left:auto;align-self:start;border:1px solid #9dad94;border-radius:5px;padding:6px 8px;font-size:9px;font-weight:800;letter-spacing:.1em;white-space:nowrap;color:#f4dfac}
.member-card-name{margin-top:28px}
.member-card-name h2{font-size:44px;line-height:1.1;margin:8px 0}
.member-card-name p{font-size:13px;letter-spacing:.12em;color:#d9e4da}
.member-card-details{display:grid;grid-template-columns:1fr 1.25fr;gap:20px;margin:26px 0 22px}
.member-card-details dt{color:#e8cb87;font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:800}
.member-card-details dd{margin:5px 0 0;font:600 23px/1.2 "Source Serif 4",Georgia,serif}
.member-card-details small{font:500 11px/1.4 "Nunito Sans",sans-serif;display:block;color:#cfdbd0;margin-top:4px}
.member-card-foot{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #ffffff30;padding-top:14px;font-size:10px;color:#d0ddce}
.renewal-panel{padding:22px 0;align-self:center}
.renewal-panel h2{font-size:34px;max-width:15ch;margin:9px 0 12px}
.renewal-panel>p{font-size:15px;color:var(--ink2);max-width:48ch}
.renewal-details{margin:22px 0;display:grid;grid-template-columns:1.4fr 1fr;gap:18px}
.renewal-details dt{font-size:12px;font-weight:800;color:var(--ink2)}
.renewal-details dd{font-size:18px;font-weight:800;margin:4px 0 0;color:var(--forest)}
.renewal-details small{display:block;font-size:11px;font-weight:500;color:var(--ink2);margin-top:3px}
.renewal-panel .member-fine{font-size:12px;margin-top:12px}
.member-demo-note{margin:25px 0 36px;padding:14px 18px;background:#e3ebe2;border-left:3px solid #9eac96;color:#455546;font-size:12px;line-height:1.65}
.member-engagement{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:36px}
.member-main,.member-aside{min-width:0}
.member-section{margin-bottom:36px}
.member-section-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:14px}
.member-section h2,.member-essentials h2{font-size:29px;margin-top:7px}
.member-section-head>a{font-size:12px;font-weight:800;white-space:nowrap;padding-bottom:3px}
.member-section a,.staff-message a,.member-essentials a,.renewal-info a{color:var(--moss2);text-underline-offset:4px}
.section-intro{color:var(--ink2);font-size:14px;line-height:1.6;margin-bottom:20px}
.member-agenda{list-style:none;background:#fff;border:1px solid #d4ddd0;border-radius:18px;overflow:hidden}
.member-agenda li{display:grid;grid-template-columns:64px minmax(0,1fr);gap:20px;padding:24px}
.member-agenda li+li{border-top:1px solid #e3e7df}
.agenda-marker{padding-top:6px;color:var(--forest);font-weight:800;font-size:18px;text-align:center}
.agenda-marker span{display:block;font-size:10px;font-weight:600;color:var(--ink2);letter-spacing:.05em;margin-top:4px}
.member-agenda h3{font-size:24px;margin:10px 0 8px}
.member-agenda p{font-size:14px;color:var(--ink2);line-height:1.5}
.member-agenda a{display:inline-block;font-size:13px;font-weight:800;margin-top:12px}
.member-callout{margin-top:16px;padding:16px 0 0;font-size:13px;color:var(--ink2)}
.member-callout b{color:var(--forest);font-size:14px}
.member-callout p{margin-top:4px;line-height:1.65}
.member-shifts{list-style:none;border-top:1px solid #cdd8cb}
.member-shifts li{padding:20px 0;display:flex;justify-content:space-between;align-items:center;gap:18px;border-bottom:1px solid #cdd8cb}
.member-shifts h3{font-size:18px;line-height:1.25}
.member-shifts p{font-size:12px;color:var(--ink2);margin-top:7px}
.member-shifts a{font-size:12px;font-weight:800;white-space:nowrap}
.member-shifts .tag{white-space:nowrap}
.staff-message{background:var(--cream);border:1px solid var(--line);border-radius:18px;overflow:hidden}
.staff-photo{position:relative;height:145px;background:var(--forest)}
.staff-photo img{width:100%;height:100%;object-fit:cover;object-position:center 44%}
.staff-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#0f2419c9,transparent 90%)}
.staff-photo span{position:absolute;left:24px;bottom:16px;z-index:1;color:#fff;font:600 23px/1.2 "Source Serif 4",Georgia,serif}
.staff-message-body{padding:24px}
.staff-message h2{font-size:29px;margin:8px 0 14px}
.staff-message p{font-size:14px;line-height:1.7;color:var(--ink2)}
.staff-message .staff-signature{font-weight:800;font-size:12px;color:var(--forest);margin:18px 0}
.staff-signature span{display:block;font-weight:500;font-size:11px;line-height:1.6;margin-top:3px;color:var(--ink2)}
.staff-message a{font-size:12px;font-weight:800}
.member-essentials{margin-top:28px}
.member-essentials>a{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 0;border-bottom:1px solid #cdd8cb;text-decoration:none;font-size:14px}
.member-essentials small{display:block;font-weight:500;color:var(--ink2);font-size:12px;margin-top:4px;line-height:1.5}
.member-essentials h2{font-size:26px;margin-bottom:7px}
.renewal-info{background:var(--cream);border:1px solid var(--line);border-radius:14px;padding:24px;margin-bottom:26px;scroll-margin-top:28px}
.renewal-info h3{font-size:25px;margin:8px 0 12px}
.renewal-info p{font-size:14px;line-height:1.7;color:var(--ink2);margin-top:10px}
.profile-preview{display:none}
.profile-preview:target{display:block;margin-top:24px;scroll-margin-top:24px}
.portal-confirm:has(~.profile-preview:target){display:none}
.profile-preview h2{margin:14px 0}
.profile-preview p{line-height:1.7;color:var(--ink2)}
.service-choice:target{outline:2px solid var(--brass);outline-offset:3px;scroll-margin-top:28px}
#shift-form{scroll-margin-top:28px}
.client-avatar{flex:none;font-size:28px}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--brass);outline-offset:4px}
@media(max-width:1050px){.member-overview{grid-template-columns:1.15fr 1fr;gap:24px}.membership-card{padding:24px}.member-card-top{flex-wrap:wrap}.card-sample{margin-left:0}.member-card-top b{font-size:20px}.member-section-head{align-items:start;flex-direction:column;gap:12px}.member-engagement{gap:24px}}
@media(max-width:760px){.member-overview,.member-engagement{grid-template-columns:1fr}.membership-card{max-width:580px;width:100%}.member-card-top{flex-wrap:nowrap}.card-sample{margin-left:auto}.renewal-panel{padding:8px 0 0}.renewal-panel h2{max-width:none;font-size:30px}.member-demo-note{margin-bottom:28px}.member-section-head{flex-direction:row;align-items:end}.member-engagement{gap:0}.member-aside{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.member-essentials{margin-top:0}}
@media(max-width:520px){.client-welcome{padding-top:28px}.client-top{gap:14px}.client-top h1{font-size:34px}.client-top p{font-size:13px;line-height:1.6}.client-avatar{width:50px;height:50px;font-size:20px;border-width:3px}.client-top .demo-badge{font-size:10px}.member-card-top{gap:10px}.member-card-top img{width:42px;height:42px}.member-card-top b{font-size:19px}.card-eyebrow{font-size:9px}.card-sample{font-size:8px;padding:5px}.membership-card{padding:22px}.member-card-name h2{font-size:38px}.member-card-details{gap:14px}.member-card-details dd{font-size:20px}.member-card-foot{font-size:9px}.member-card-foot span{max-width:50%}.member-section-head{align-items:start;flex-direction:column}.member-section h2{font-size:28px}.member-agenda li{padding:20px 16px;gap:12px;grid-template-columns:44px minmax(0,1fr)}.agenda-marker{font-size:15px}.member-shifts li{align-items:start;flex-direction:column;gap:10px}.member-aside{grid-template-columns:1fr}.member-essentials{margin-top:4px}.renewal-details{grid-template-columns:1.3fr 1fr}.portal-panel-head,.documents-heading{flex-wrap:wrap;gap:14px}}
.portal-form .service-choice,.portal-form .portal-check{display:flex;align-items:flex-start}
.portal-form .service-choice input[type="radio"],.portal-form .portal-check input[type="checkbox"]{width:20px;height:20px;padding:0;flex:none;margin-top:3px;accent-color:var(--moss)}
@media(max-width:380px){.member-card-top{flex-wrap:wrap}.card-sample{margin-left:0}.member-card-details{grid-template-columns:1fr 1.3fr}.client-top .demo-badge{max-width:190px}}

.member-agenda,.member-shifts,.event-list,.record-list{padding:0}
.card-sample{font-size:11px}
.member-card-details dt{font-size:12px}
.member-card-details small{font-size:12px;line-height:1.5;color:#e6efe4}
.member-card-foot{font-size:12px;color:#e1eadf}
.member-shifts p,.member-agenda p,.section-intro,.member-essentials small,.staff-signature span,.agenda-marker span,.renewal-details small{color:#465344}
.member-shifts p{font-size:13px;line-height:1.6}
.tag{font-size:12px;line-height:1.2;white-space:nowrap}
.client-nav{mask-image:linear-gradient(90deg,#000 94%,transparent)}
.staff-message{margin-bottom:36px}
.portal-panel-head>.tag{white-space:nowrap}
@media(max-width:520px){.card-eyebrow,.card-sample{font-size:10px}.member-card-foot{font-size:11px}.member-card-details small{font-size:12px}}

.foot-grid ul{padding:0}
@media(max-width:520px){.staff-signature span{font-size:12px}}

#range-schedule{margin-top:28px}

.public-calendar-teaser{padding:42px 0;background:var(--forest);color:#fff}
.public-calendar-teaser .wrap{display:flex;align-items:center;justify-content:space-between;gap:32px}
.public-calendar-teaser h2{font-size:36px;margin:5px 0 10px}
.public-calendar-teaser p{font-size:17px;max-width:660px;line-height:1.6;color:#e0eade}
.public-calendar-teaser .eyebrow{color:#e8c878}
#calendar{scroll-margin-top:90px;background:var(--cream)}
.public-calendar{border:1px solid var(--line);border-radius:16px;overflow:hidden;margin-top:26px;background:#fff;box-shadow:var(--shadow)}
.public-cal-head,.public-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.public-cal-head span{padding:17px 8px;background:var(--forest2);color:#fff;font-size:17px;font-weight:800;text-align:center}
.public-cal-day{min-height:136px;padding:14px 10px;border-top:1px solid var(--line);border-left:1px solid var(--line);background:#e5f0e7;color:#203c29}
.public-cal-day:nth-child(7n+1){border-left:0}
.public-cal-day.empty,.public-cal-day.blank{background:#fbf8f0}
.public-cal-day.today{background:#f5e9c9}
.public-cal-day b{display:block;font-size:24px;line-height:1.2;margin-bottom:12px}
.public-cal-day strong{display:block;font-size:17px;line-height:1.3;margin-bottom:5px}
.public-cal-day span{display:block;font-size:14px;line-height:1.5;color:#465344}
.calendar-note{font-size:17px;line-height:1.7;color:var(--ink2);margin-top:20px;max-width:85ch}
@media(max-width:800px){.public-calendar-teaser .wrap{align-items:flex-start;flex-direction:column}.public-cal-head span{font-size:13px;padding:12px 3px}.public-cal-day{min-height:112px;padding:8px 5px}.public-cal-day b{font-size:20px;margin-bottom:8px}.public-cal-day strong{font-size:14px}.public-cal-day span{font-size:12px}}
@media(max-width:520px){.public-calendar{border-radius:10px}.public-cal-head span{font-size:11px;line-height:1.4}.public-cal-day{min-height:100px;padding:6px 3px}.public-cal-day b{font-size:18px;margin-bottom:7px}.public-cal-day strong{font-size:12px;line-height:1.3}.public-cal-day span{font-size:10px;line-height:1.4}}

.calendar-agenda{display:none}
@media(max-width:640px){.public-cal-head,.public-cal-grid{display:none}.public-calendar{border:0;background:transparent;box-shadow:none;overflow:visible}.calendar-agenda{display:block;margin-top:24px}.calendar-agenda-item{display:flex;align-items:flex-start;gap:20px;padding:22px 0;border-bottom:1px solid var(--line)}.agenda-day{flex:0 0 68px;text-align:center;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff}.agenda-day span{display:block;background:var(--forest);color:#fff;padding:6px 2px;font-size:13px;font-weight:800;letter-spacing:.07em}.agenda-day b{display:block;font-family:"Source Serif 4",Georgia,serif;font-size:38px;line-height:1.3;margin-top:5px}.agenda-day small{display:block;font-size:12px;font-weight:800;padding:0 0 8px;color:var(--ink2)}.calendar-agenda-item h3{font-size:26px;line-height:1.2;margin:3px 0 9px}.calendar-agenda-item p{font-size:17px;line-height:1.65;color:var(--ink2)}.calendar-agenda-note{font-size:17px;line-height:1.65;color:var(--ink2);padding:20px 0}.calendar-note{font-size:17px}}

.hours-intro{background:var(--forest);color:#fff;padding:36px 0 32px}
.hours-intro .crumbs{font-size:13px;margin-bottom:16px;opacity:.85}
.hours-intro .eyebrow{color:#e8c878;margin-bottom:12px}
.hours-intro h1{font-size:42px;line-height:1.1;margin:0 0 15px}
.hours-intro p{font-size:17px;line-height:1.6;max-width:880px;color:#e4ede6}
.hours-intro strong{color:#fff}
.hours-calendar{padding:28px 0 36px;scroll-margin-top:90px;background:var(--cream)}
.hours-calendar .public-calendar{margin-top:0}
.hours-calendar .calendar-agenda{margin-top:0}
.hours-details{background:var(--cream);padding:0 0 56px}
.hours-details .shead{margin-bottom:22px}
.hours-details h2{font-size:34px}
.hours-fine{font-size:16px;line-height:1.7;color:var(--ink2);max-width:1000px;margin-top:24px}
.hours-calendar .btn-moss{background:var(--forest);color:#fff;border:2px solid var(--forest);text-shadow:none}
.hours-calendar .btn-moss:hover{background:var(--moss);color:#fff}
.hours-calendar .btn-moss span{color:#fff}
@media(max-width:640px){.hours-intro{padding:26px 0 25px}.hours-intro h1{font-size:35px}.hours-intro p{font-size:16px}.hours-intro .crumbs{margin-bottom:12px}.hours-calendar{padding-top:14px}.hours-calendar .calendar-agenda{margin-top:0}}

.layout-1{padding:22px}
.layout-2{margin-top:12px}
.layout-3{margin-top:28px}
.layout-4{margin-top:22px}
.layout-5{margin-top:16px;color:var(--ink2);font-size:15px}
.layout-6{margin:14px 0 8px}
.layout-7{margin-top:16px}
.layout-8{text-align:left;margin-top:28px}
.layout-9{justify-content:center}
.layout-10{margin-top:18px}
.layout-11{margin-bottom:36px}
.layout-12{margin-top:40px}
.layout-13{border-radius:14px;margin-bottom:12px}

a.btn,button.btn{min-height:46px;white-space:normal;line-height:1.3;text-align:center;font-size:16px}
a.btn-moss,button.btn-moss{background:var(--moss);color:#fff}
a.btn-forest,button.btn-forest{background:var(--forest);color:#fff}
a.btn-brass,button.btn-brass{background:var(--brass);color:#1B1406}
a.btn-line,button.btn-line{background:transparent;color:var(--ink)}
a.btn-ghost,button.btn-ghost{background:transparent;color:#fff}
a.btn-cream,button.btn-cream{background:var(--cream);color:var(--forest)}
a.btn-moss:hover,button.btn-moss:hover{background:var(--moss2);color:#fff}
a.btn-forest:hover,button.btn-forest:hover{background:var(--forest2);color:#fff}
a.btn-brass:hover,button.btn-brass:hover{background:var(--brass2);color:#fff}
a.btn-line:hover,button.btn-line:hover{background:var(--forest);color:#fff}
a.btn-ghost:hover,button.btn-ghost:hover{background:rgba(255,255,255,.1);color:#fff}
a.btn-cream:hover,button.btn-cream:hover{background:#fff;color:var(--forest)}
.btn span{color:inherit}
.band .eyebrow,.hours-intro a{color:#E8C878}
.band .eyebrow{margin-bottom:14px}
.hours-intro p a{font-weight:800;text-underline-offset:3px}
.trust ul,.login-benefits,.list-check{padding-left:0}
.fcard>div:not(.fimg)>h3,.fcard>div:not(.fimg)>p{padding-left:0;padding-right:0}
.fcard>div:not(.fimg)>h3{margin-top:12px}
.fcard>div:not(.fimg)>p{margin-bottom:0}
.skip-link{position:absolute;z-index:100;left:12px;top:-100px;background:var(--forest);color:#fff;padding:12px 18px;border-radius:8px;font-weight:800}
.skip-link:focus{top:12px}
#main-content:focus{outline:none}
[id]{scroll-margin-top:110px}
.profile-preview:target{display:block;max-width:980px;margin:24px auto 0}
.portal-confirm:has(~.profile-preview:target){display:none}
.client-welcome-compact{padding-top:24px}
.client-welcome-compact .client-top h1{font-size:36px;margin-top:10px}
.client-welcome-compact .client-top p{font-size:15px;margin-top:6px}
.client-welcome-compact .client-nav{margin-top:20px}
.client-nav{mask-image:none}
.client-nav a{font-size:16px;min-height:48px}
.client-content{padding-bottom:48px}
.form-card label,.portal-form label{font-size:16px}
.form-note,.demo-disclaimer,.documents-note,.document-info small{font-size:15px;line-height:1.55}
.document-info small{color:var(--ink2);overflow-wrap:anywhere}
.document-info{min-width:0}
.eyebrow,.portal-kicker,.member-card-details dt{font-size:13px}
.member-section-head>a,.member-shifts a,.staff-message a,.member-agenda a{font-size:15px}
.staff-message p,.member-agenda p,.member-shifts p,.member-essentials small,.renewal-info p,.section-intro{font-size:16px}
.member-demo-note,.member-callout,.renewal-panel .member-fine{font-size:14px}
.record-list p,.event-list p,.document-info p{font-size:15px}
.fcard p,.hour-card p,td,th{font-size:16px}
.document-row{flex-wrap:wrap}
.prose{overflow-wrap:anywhere}
.login-art{min-height:380px;padding:32px}
.login-art h2{font-size:32px;margin-top:24px}
.login-form{padding:32px}
.form-card input:focus-visible,.portal-form input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--moss);outline-offset:2px}
@media(min-width:981px) and (max-width:1300px){.nav{display:none}.menu{display:block;position:static}}
@media(max-width:980px){.menu-panel{max-height:calc(100dvh - 110px);overflow-y:auto}.fcards.n2{grid-template-columns:1fr}}
@media(max-width:800px){.public-cal-head,.public-cal-grid{display:none}.calendar-agenda{display:block}.public-calendar{border:0;margin-top:0;box-shadow:none}.calendar-agenda-item{display:flex;gap:20px;align-items:flex-start;padding:20px 0;border-bottom:1px solid var(--line)}.agenda-day{flex:0 0 68px;text-align:center;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}.agenda-day span{display:block;background:var(--forest);color:#fff;font-weight:800;font-size:14px;padding:4px}.agenda-day b{display:block;font-size:30px}.agenda-day small{display:block;font-size:14px;padding-bottom:6px}.calendar-agenda-item h3{font-size:26px;margin-bottom:8px}.calendar-agenda-item p,.calendar-agenda-note{font-size:17px;line-height:1.6}.calendar-agenda-note{margin-top:20px}.cal-grid{overflow-x:auto;grid-template-columns:repeat(7,minmax(96px,1fr));padding-bottom:12px}.hero-img:after{content:"";position:absolute;inset:200px 0 auto;height:120px;background:linear-gradient(transparent,var(--forest2))}}
@media(max-width:520px){.logo-text b{font-size:15px;max-width:165px}.logo-text span{font-size:12px}.logo{gap:8px}.logo img{width:44px;height:44px}.head-in{gap:10px}.menu summary{padding:12px}.menu-panel{left:14px;right:14px}.portal-workspace{padding:24px 0 40px}.page-hero .btns{gap:10px}.client-welcome-compact .client-top h1{font-size:30px}.document-row .btn{width:100%}.member-card-details dt{font-size:13px}.client-top p{font-size:15px}}
@media(prefers-reduced-motion:reduce){.btn,.fcard{transition:none}.btn:hover,.fcard:hover{transform:none}}

.login-form h1{font-size:32px;line-height:1.15;margin:8px 0 12px}.nav{gap:12px}.fcards.n2{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:980px){.fcards.n2{grid-template-columns:1fr}}

.demo-banner{padding:7px 0;font-size:14px}.public-cal-day.empty span{font-size:14px}.shead.center .btns{justify-content:center}@media(max-width:520px){.hero h1{font-size:clamp(28px,8vw,38px)}.demo-banner{font-size:13px}.page-hero{padding-top:22px}}

body{min-height:100vh;display:flex;flex-direction:column}
body>main{flex:1;width:100%}
body>.foot{flex:none}
.list-check{margin-bottom:22px}
.prose h2{margin-top:28px}
.prose>h2:first-child{margin-top:0}
h2+p{margin-top:12px}
.page-hero+.pad{padding-top:20px}
.ranges-page .pad{padding-top:36px;padding-bottom:36px}
.waiver-checklist li{padding-left:30px}
.waiver-checklist li:before{content:"✓";width:20px;height:22px;top:1px;background:none;box-shadow:none;border-radius:0;color:var(--moss);font-weight:800;font-size:20px}
.event-list a.btn{min-width:145px}
.record-list{margin-top:20px}
.documents-heading>.demo-badge{white-space:nowrap}

.split.info-form-layout{align-items:start}

.claim-banner{display:block;padding:6px 12px;background:#1f1f1f;color:#fff;font:12px/1.4 system-ui,-apple-system,sans-serif;text-align:center}
.claim-banner a{color:inherit;text-decoration:underline}
.fw-credit{margin:0;padding:6px 12px;background:#1f1f1f;color:#fff;font:11px/1.4 system-ui,-apple-system,sans-serif;text-align:center}
.fw-credit a{color:inherit;text-decoration:underline;text-underline-offset:2px}
