/* Villages of Avalon HOA — Color tokens
   Measured from the real logo source (assets/villages-of-avalon_color_master.png).
   Use ONLY these values — no other colors anywhere in the system. */
:root {
  /* Brand */
  --brand-green-deep: #089449;   /* true-to-logo brand green — nav/icon strokes, large fills, section bg. NOT for small solid-fill button text (3.93:1 with white) */
  --brand-green-button: #06763A; /* the ONLY fill for solid primary buttons w/ white text (5.74:1). Also usable as link-text color */
  --brand-green-bright: #3FB242; /* secondary accent — hover highlights, small icon fills on light bg only. NOT a solid button fill w/ white text (2.74:1) */
  --brand-gold-accent: #a9781f;  /* true warm gold — signature accent paired w/ dark green: date-badge fills w/ ink text (9:1), focus-ring highlight visible on canopy green. NOT a solid button fill w/ white text */
  --brand-green-canopy: #0A5530; /* deep canopy — large dark section backgrounds only (masthead, full-bleed bands); white text passes AAA (8.9:1). Never a button fill — buttons stay brand-green-button */

  /* Neutrals & text */
  --ink: #16241B;            /* primary body text — soft near-black, slight green cast */
  --logo-ink: #000000;       /* literal wordmark color when reproducing the logo asset itself — never body text */
  --reversed-white: #FFFFFF; /* text/logo on dark surfaces; card surface on cream page bg */
  --surface-cream: #FBF9F3;  /* default page background */
  --hairline-border: #DCE3DA;/* card borders, dividers, table rules */
  --muted-text: #5B6B60;     /* secondary/meta text — 5.37:1 on cream */
  --error: #B3261E;          /* form validation — 6.54:1 with white */

  /* Semantic aliases — build everything against these, not the raw values above */
  --surface-page: var(--surface-cream);
  --surface-card: var(--reversed-white);
  --text-body: var(--ink);
  --text-muted: var(--muted-text);
  --text-on-dark: var(--reversed-white);
  --border-default: var(--hairline-border);
  --color-link: var(--brand-green-button);
  --color-link-hover: var(--brand-green-deep);
  --focus-ring-color: var(--brand-gold-accent);
  --button-primary-bg: var(--brand-green-button);
  --button-primary-bg-hover: #05602F; /* brand-green-button darkened further, hover only */
}

/* Villages of Avalon HOA — Type tokens
   EB Garamond (headings) + Figtree (body/nav/buttons), both via Google Fonts.
   NOTE: no local font files were provided in this project — loaded via
   Google Fonts CDN below. See readme.md "Caveats" if you'd like these vendored. */
/* cyrillic-ext */
@font-face {
  font-family: 'Cormorant';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("../assets/fonts/de45dc6c-e9bd-484f-9e11-c362fd7e4a1d.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Cormorant';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("../assets/fonts/70e52fff-f923-436b-906e-389a3d17c1ea.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("../assets/fonts/044c7f81-a87b-4852-8078-302a15d2f72c.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("../assets/fonts/ea03c784-0870-4186-a0f7-6c9781065ec2.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cormorant';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("../assets/fonts/97f40687-6977-4f48-a95f-2d420365889d.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Cormorant';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url("../assets/fonts/de45dc6c-e9bd-484f-9e11-c362fd7e4a1d.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Cormorant';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url("../assets/fonts/70e52fff-f923-436b-906e-389a3d17c1ea.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url("../assets/fonts/044c7f81-a87b-4852-8078-302a15d2f72c.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url("../assets/fonts/ea03c784-0870-4186-a0f7-6c9781065ec2.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cormorant';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url("../assets/fonts/97f40687-6977-4f48-a95f-2d420365889d.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Cormorant';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../assets/fonts/71440c73-6295-4d39-9d4d-bae28dc12881.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Cormorant';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../assets/fonts/fead7c56-3998-41e0-8397-1acdb2d4dbd1.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../assets/fonts/603e865f-5a7b-4790-8965-bfc03a6ea44b.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../assets/fonts/dce8e83a-ab02-4d18-8ef1-bd8a72675cd0.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cormorant';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../assets/fonts/e50e11b2-adca-4ed9-a68d-13aeaa12dbf7.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Cormorant';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../assets/fonts/71440c73-6295-4d39-9d4d-bae28dc12881.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Cormorant';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../assets/fonts/fead7c56-3998-41e0-8397-1acdb2d4dbd1.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../assets/fonts/603e865f-5a7b-4790-8965-bfc03a6ea44b.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../assets/fonts/dce8e83a-ab02-4d18-8ef1-bd8a72675cd0.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cormorant';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../assets/fonts/e50e11b2-adca-4ed9-a68d-13aeaa12dbf7.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Cormorant';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../assets/fonts/71440c73-6295-4d39-9d4d-bae28dc12881.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Cormorant';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../assets/fonts/fead7c56-3998-41e0-8397-1acdb2d4dbd1.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../assets/fonts/603e865f-5a7b-4790-8965-bfc03a6ea44b.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../assets/fonts/dce8e83a-ab02-4d18-8ef1-bd8a72675cd0.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cormorant';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../assets/fonts/e50e11b2-adca-4ed9-a68d-13aeaa12dbf7.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Cormorant';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../assets/fonts/71440c73-6295-4d39-9d4d-bae28dc12881.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Cormorant';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../assets/fonts/fead7c56-3998-41e0-8397-1acdb2d4dbd1.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../assets/fonts/603e865f-5a7b-4790-8965-bfc03a6ea44b.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../assets/fonts/dce8e83a-ab02-4d18-8ef1-bd8a72675cd0.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cormorant';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../assets/fonts/e50e11b2-adca-4ed9-a68d-13aeaa12dbf7.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../assets/fonts/807c55d0-2c03-4e2d-a708-c03af793f410.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../assets/fonts/e01aef1c-a6da-427a-a106-fa97621a1688.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../assets/fonts/807c55d0-2c03-4e2d-a708-c03af793f410.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../assets/fonts/e01aef1c-a6da-427a-a106-fa97621a1688.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../assets/fonts/807c55d0-2c03-4e2d-a708-c03af793f410.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../assets/fonts/e01aef1c-a6da-427a-a106-fa97621a1688.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../assets/fonts/807c55d0-2c03-4e2d-a708-c03af793f410.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../assets/fonts/e01aef1c-a6da-427a-a106-fa97621a1688.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


:root {
  --font-display: 'Cormorant', 'Cormorant Garamond', Garamond, Georgia, serif;
  --font-body: 'Figtree', 'Helvetica Neue', Arial, sans-serif;

  --h1-size: 56px; --h1-weight: 600; --h1-lh: 1.1; /* @kind other */
  --h2-size: 40px; --h2-weight: 600; --h2-lh: 1.15; /* @kind other */
  --h3-size: 28px; --h3-weight: 600; --h3-lh: 1.2; /* @kind other */
  --h4-size: 22px; --h4-weight: 600; --h4-lh: 1.25; /* @kind other */
  --body-lead-size: 19px; --body-lead-weight: 400; --body-lead-lh: 1.6; /* @kind other */
  --body-size: 17px; --body-weight: 400; --body-lh: 1.6; /* @kind other */
  --small-size: 14px; --small-weight: 500; --small-lh: 1.4; /* @kind other */
}
@media (max-width: 640px) {
  :root {
    --h1-size: 34px;
    --h2-size: 28px;
    --h3-size: 22px;
    --h4-size: 19px;
    --body-lead-size: 17px;
    --body-size: 16px;
    --small-size: 13px;
  }
}

/* Villages of Avalon HOA — Spacing & layout tokens */
:root {
  --space-4: 4px;
  --space-8: 8px;
  --space-12: 12px;
  --space-16: 16px;
  --space-24: 24px;
  --space-32: 32px;
  --space-48: 48px;
  --space-64: 64px;
  --space-96: 96px;

  --section-padding-desktop: 96px; /* always symmetric — equal top/bottom */
  --section-padding-mobile: 56px;
  --container-width: 1200px;
}

/* Villages of Avalon HOA — Radius & shadow tokens. Nothing else is allowed. */
:root {
  --radius-button: 6px;
  --radius-card: 12px;
  --radius-field: 6px;
  --radius-photo: 4px;

  --shadow-card-rest: 0 1px 3px rgba(12,36,20,0.08), 0 1px 2px rgba(12,36,20,0.06);
  --shadow-card-hover: 0 8px 20px rgba(12,36,20,0.12);
}

/* Villages of Avalon HOA — base reset built on the tokens above */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--surface-page);
  color: var(--text-body);
  font-family: var(--font-body);
  font-weight: var(--body-weight);
  font-size: var(--body-size);
  line-height: var(--body-lh);
  -webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4 { font-family: var(--font-display); font-optical-sizing: auto; margin: 0; color: var(--ink); }
h1 { font-size: var(--h1-size); font-weight: var(--h1-weight); line-height: var(--h1-lh); }
h2 { font-size: var(--h2-size); font-weight: var(--h2-weight); line-height: var(--h2-lh); }
h3 { font-size: var(--h3-size); font-weight: var(--h3-weight); line-height: var(--h3-lh); }
h4 { font-size: var(--h4-size); font-weight: var(--h4-weight); line-height: var(--h4-lh); }
p { margin: 0; }
a { color: var(--color-link); text-decoration: none; }
a:hover { color: var(--color-link-hover); text-decoration: underline; }
img { max-width: 100%; display: block; }


/* ============ base additions ============ */
:root{--brand-green-canopy:#073F24;--brand-gold-accent:#a9781f;--h1-weight:700;--h2-weight:700;--h3-weight:700;--h4-weight:700}
body{background:var(--surface-cream)}
a{color:var(--color-link);text-decoration:none}
a:hover{color:var(--color-link-hover);text-decoration:underline}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--brand-gold-accent);outline-offset:2px;border-radius:3px}
.site{min-height:100vh;display:flex;flex-direction:column;overflow-x:clip}
.main{flex:1 0 auto}
.container{max-width:var(--container-width);margin:0 auto;padding:0 32px}
.sec{padding:var(--section-padding-desktop) 0}
.sec-sm{padding:64px 0}
.bg-white{background:var(--surface-card)}
.bg-cream{background:var(--surface-cream)}
.bg-canopy{background:var(--brand-green-canopy);color:var(--reversed-white)}
.bg-canopy h1,.bg-canopy h2,.bg-canopy h3,.bg-canopy h4{color:var(--reversed-white)}
.bg-canopy p{color:rgba(255,255,255,.9)}
.bg-canopy .eyebrow{color:var(--brand-gold-accent)}
.bg-canopy a{color:#fff}
.muted{color:var(--muted-text)}
.lead{font-size:var(--body-lead-size);line-height:var(--body-lead-lh)}
.ta-c{text-align:center}
.mw-60{max-width:60ch}.mw-52{max-width:52ch}.mw-40{max-width:40ch}
.mx-auto{margin-left:auto;margin-right:auto}
.stack-sm > * + *{margin-top:12px}
.divider{height:1px;background:var(--hairline-border);border:none;margin:0}
/* ============ icons ============ */
.ic{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ic-sm{width:16px;height:16px}
.ic-lg{width:26px;height:26px}
.ic-xl{width:32px;height:32px;stroke-width:1.7}
/* ============ signature ============ */
.eyebrow{font-family:var(--font-body);font-weight:600;font-size:var(--small-size);letter-spacing:.09em;text-transform:uppercase;color:var(--brand-green-button)}
.rule{width:52px;height:2px;background:var(--brand-gold-accent);border:none;margin:0 0 18px}
.rule.c{margin-left:auto;margin-right:auto}
.leaf-div{display:flex;align-items:center;justify-content:center;gap:16px;color:var(--muted-text);margin:8px 0}
.leaf-div::before,.leaf-div::after{content:"";flex:1;height:1px;background:var(--hairline-border);max-width:120px}
.leaf-div .ic{color:var(--brand-green-button)}
.sec-head{margin-bottom:48px;max-width:760px}
.sec-head.c{margin-left:auto;margin-right:auto;text-align:center}
.sec-head h2{margin-top:12px}
.sec-head .sub{margin-top:16px;color:var(--muted-text);font-size:var(--body-size);line-height:var(--body-lh)}
/* ============ buttons ============ */
.btn{font-family:var(--font-body);font-weight:600;font-size:var(--body-size);border-radius:var(--radius-button);padding:13px 24px;cursor:pointer;border:none;display:inline-flex;align-items:center;justify-content:center;gap:9px;transition:background .15s,box-shadow .15s,transform .05s,border-color .15s;text-decoration:none;line-height:1.1;white-space:nowrap}
.btn:hover{text-decoration:none}
.btn-primary{background:var(--button-primary-bg);color:var(--reversed-white)}
.btn-primary:hover{background:var(--button-primary-bg-hover);color:var(--reversed-white)}
.btn-primary:active{transform:scale(.98)}
.btn-secondary{background:transparent;color:var(--button-primary-bg);border:1.5px solid var(--button-primary-bg)}
.btn-secondary:hover{background:rgba(8,148,73,.08);color:var(--button-primary-bg)}
.btn-secondary.on-dark{color:var(--reversed-white);border-color:rgba(255,255,255,.75)}
.btn-secondary.on-dark:hover{background:rgba(255,255,255,.14);color:#fff}
.btn-lg{padding:16px 30px;font-size:18px}
.btn-block{width:100%}
.btn-row{display:flex;gap:14px;flex-wrap:wrap}
.btn-ghost{background:none;border:none;color:var(--brand-green-button);font-weight:600;padding:0;cursor:pointer;font-family:var(--font-body);font-size:var(--body-size);display:inline-flex;align-items:center;gap:7px}
.btn-ghost:hover{color:var(--brand-green-deep);text-decoration:underline}
.linkarrow{display:inline-flex;align-items:center;gap:7px;font-weight:600;color:var(--brand-green-button)}
/* ============ header ============ */
.hdr{background:var(--surface-cream);border-bottom:1px solid var(--hairline-border);z-index:60}
.hdr.sticky{position:sticky;top:0}
.hdr-in{display:flex;align-items:center;justify-content:space-between;gap:20px;height:78px}
.brand{display:flex;align-items:center;gap:13px;flex:none;text-decoration:none}
.brand:hover{text-decoration:none}
.brand-logo{height:54px;width:auto;display:block}
.ftr-logo{height:76px;width:auto;display:block}
.brand-mark{width:44px;height:44px;border-radius:50%;background:var(--brand-green-canopy);display:flex;align-items:center;justify-content:center;color:var(--brand-gold-accent);flex:none}
.brand-mark .ic{width:24px;height:24px;stroke-width:1.8}
.brand-name{font-family:var(--font-display);font-optical-sizing:auto;font-weight:700;font-size:22px;color:var(--ink);line-height:1.05;white-space:nowrap}
.brand-sub{font-family:var(--font-body);font-size:11px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--muted-text)}
.nav{display:flex;align-items:center;gap:2px}
.nav-item{position:relative}
.nav-link{display:inline-flex;align-items:center;gap:5px;padding:9px 13px;font-family:var(--font-body);font-weight:500;font-size:16px;color:var(--ink);border-radius:6px;background:none;border:none;cursor:pointer;text-decoration:none;border-bottom:2px solid transparent;line-height:1}
.nav-link:hover{color:var(--brand-green-button);text-decoration:none}
.nav-link.active{color:var(--brand-green-button);border-bottom-color:var(--brand-gold-accent);border-radius:0}
.nav-caret{transition:transform .15s}
.nav-item:hover .nav-caret{transform:rotate(180deg)}
.nav-menu{position:absolute;top:calc(100% + 6px);left:0;min-width:248px;background:var(--surface-card);border:1px solid var(--hairline-border);border-radius:var(--radius-card);box-shadow:var(--shadow-card-hover);padding:8px;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .15s,transform .15s;z-index:70}
.nav-menu::before{content:"";position:absolute;top:-10px;left:0;right:0;height:10px}
.nav-item:hover .nav-menu,.nav-item:focus-within .nav-menu{opacity:1;visibility:visible;transform:translateY(0)}
.nav-menu a{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:6px;color:var(--ink);text-decoration:none}
.nav-menu a:hover{background:rgba(8,148,73,.08);text-decoration:none}
.nav-menu .mi-t{font-weight:600;font-size:15px;color:var(--ink)}
.nav-menu .mi-d{font-size:13px;color:var(--muted-text)}
.hdr-actions{display:flex;align-items:center;gap:10px;flex:none}
.icon-btn{width:44px;height:44px;border-radius:8px;border:1px solid var(--hairline-border);background:var(--surface-card);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ink)}
.icon-btn:hover{background:rgba(8,148,73,.06);color:var(--brand-green-button);border-color:var(--brand-green-bright)}
.burger{display:none}
/* announcement bar */
.annbar{background:var(--brand-green-canopy);color:#fff;font-size:14.5px;border-bottom:2px solid var(--brand-gold-accent)}
.annbar-in{display:flex;align-items:center;gap:14px;padding:11px 0;min-height:44px}
.annbar .ic{color:var(--brand-gold-accent)}
.annbar .txt{flex:1}
.annbar a{color:#fff;font-weight:700;text-decoration:underline;white-space:nowrap}
.annbar .x{background:none;border:none;color:rgba(255,255,255,.8);cursor:pointer;padding:4px;display:flex;flex:none}
.annbar .x:hover{color:#fff}
/* ============ drawer + overlays ============ */
.scrim{position:fixed;inset:0;background:rgba(12,36,20,.55);z-index:90}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(90vw,400px);background:var(--surface-cream);z-index:100;display:flex;flex-direction:column;box-shadow:-10px 0 40px rgba(0,0,0,.25);overflow-y:auto}
.drawer-top{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:2px solid var(--brand-green-canopy);position:sticky;top:0;background:var(--surface-cream)}
.drawer-body{padding:8px 0 24px}
.d-link{display:flex;align-items:center;justify-content:space-between;width:100%;padding:15px 22px;font-family:var(--font-body);font-weight:600;font-size:17px;color:var(--ink);border:none;background:none;border-bottom:1px solid var(--hairline-border);text-decoration:none;cursor:pointer;text-align:left}
.d-link:hover{background:rgba(8,148,73,.05);color:var(--brand-green-button);text-decoration:none}
.d-link.active{color:var(--brand-green-button)}
.d-link .ic{transition:transform .2s;color:var(--muted-text)}
.d-group.open .d-link .nav-caret{transform:rotate(180deg)}
.d-sub{max-height:0;overflow:hidden;transition:max-height .25s ease;background:var(--surface-card)}
.d-group.open .d-sub{max-height:320px}
.d-sub a{display:block;padding:13px 22px 13px 40px;font-size:15px;font-weight:500;color:var(--ink);border-bottom:1px solid var(--hairline-border);text-decoration:none}
.d-sub a:hover{background:rgba(8,148,73,.05);color:var(--brand-green-button)}
.drawer-cta{padding:20px 22px}
/* search overlay */
.search-panel{position:fixed;top:0;left:0;right:0;background:var(--surface-cream);z-index:100;box-shadow:0 12px 40px rgba(12,36,20,.18);border-bottom:2px solid var(--brand-green-canopy);max-height:88vh;overflow-y:auto}
.search-top{display:flex;align-items:center;gap:14px;padding:20px 0}
.search-inputwrap{flex:1;display:flex;align-items:center;gap:12px;background:var(--surface-card);border:1px solid var(--hairline-border);border-radius:var(--radius-field);padding:0 16px}
.search-inputwrap .ic{color:var(--brand-green-button)}
.search-inputwrap input{flex:1;border:none;background:none;padding:16px 0;font-family:var(--font-body);font-size:19px;color:var(--ink)}
.search-inputwrap input:focus{outline:none}
.search-close{background:none;border:none;color:var(--muted-text);cursor:pointer;font-weight:600;display:flex;align-items:center;gap:6px;padding:8px;font-family:var(--font-body)}
.search-close:hover{color:var(--ink)}
.search-body{padding:0 0 32px}
.search-label{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted-text);margin:8px 0 12px}
.search-hit{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:var(--radius-field);text-decoration:none;color:var(--ink)}
.search-hit:hover{background:rgba(8,148,73,.06);text-decoration:none}
.search-hit .ic{color:var(--brand-green-button);flex:none}
.search-hit .sh-t{font-weight:600}
.search-hit .sh-s{font-size:13px;color:var(--muted-text)}
.search-hits{display:grid;grid-template-columns:1fr 1fr;gap:2px}
.search-empty{padding:40px 16px;text-align:center;color:var(--muted-text)}
.search-empty h3{color:var(--ink);margin-bottom:8px}
/* modal */
.modal-wrap{position:fixed;inset:0;background:rgba(12,36,20,.6);z-index:110;display:flex;align-items:center;justify-content:center;padding:24px}
.modal{background:var(--surface-card);border-radius:var(--radius-card);max-width:480px;width:100%;padding:34px;box-shadow:var(--shadow-card-hover)}
.modal-ic{width:56px;height:56px;border-radius:12px;background:rgba(8,148,73,.1);color:var(--brand-green-button);display:flex;align-items:center;justify-content:center;margin-bottom:20px}
.modal h3{margin-bottom:10px}
.modal p{color:var(--muted-text);line-height:1.6;margin-bottom:14px}
.modal .btn-row{margin-top:22px}
.modal-note{font-size:13px;color:var(--muted-text);background:var(--surface-cream);border:1px solid var(--hairline-border);border-radius:8px;padding:12px 14px;display:flex;gap:10px;align-items:flex-start}
/* ============ footer ============ */
.ftr{background:var(--brand-green-canopy);color:var(--reversed-white);padding:72px 0 0;margin-top:auto}
.ftr-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.1fr;gap:44px}
.ftr-brand .brand-mark{background:rgba(255,255,255,.12)}
.ftr-brand .brand-name{color:#fff}
.ftr-blurb{color:rgba(255,255,255,.82);font-size:15px;margin-top:16px;max-width:34ch;line-height:1.6}
.ftr-h{font-family:var(--font-body);font-weight:700;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--brand-gold-accent);margin-bottom:16px}
.ftr-links{display:flex;flex-direction:column;gap:11px}
.ftr-links a{color:rgba(255,255,255,.9);font-size:15px;text-decoration:none}
.ftr-links a:hover{color:#fff;text-decoration:underline}
.ftr-contact{color:rgba(255,255,255,.9);font-size:15px;line-height:1.7;font-style:normal}
.ftr-contact a{color:#fff}
.ftr-note{display:flex;gap:12px;align-items:flex-start;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);border-radius:var(--radius-card);padding:16px 18px;margin-top:20px;font-size:14px;color:rgba(255,255,255,.85);line-height:1.55}
.ftr-note .ic{color:var(--brand-gold-accent);flex:none;margin-top:1px}
.ftr-bottom{border-top:1px solid rgba(255,255,255,.16);margin-top:56px;padding:22px 0;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13px;color:rgba(255,255,255,.6)}
.ftr-bottom a{color:rgba(255,255,255,.6)}
.ftr-bottom a:hover{color:#fff}
.ftr-legal{display:flex;gap:20px;flex-wrap:wrap}
/* ============ cards / generic ============ */
.card{background:var(--surface-card);border:1px solid var(--hairline-border);border-radius:var(--radius-card);padding:26px;box-shadow:var(--shadow-card-rest)}
.card.hoverable{transition:box-shadow .15s}
.card.hoverable:hover{box-shadow:var(--shadow-card-hover)}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
/* hero */
.hero-sec{padding:76px 0 84px}
.hero{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:end}
.hero h1{margin:16px 0 20px;max-width:18ch}
.hero .lede{color:var(--muted-text);max-width:50ch;margin-bottom:30px}
.hero-photo{aspect-ratio:5/4;border-radius:var(--radius-card);overflow:hidden;box-shadow:var(--shadow-card-rest);border:1px solid var(--hairline-border)}
/* page hero (inner) */
.page-hero{background:var(--brand-green-canopy);color:#fff;padding:76px 0}
.page-hero .eyebrow{color:var(--brand-gold-accent)}
.page-hero h1{color:#fff;max-width:20ch}
.page-hero p{color:rgba(255,255,255,.85);max-width:62ch;margin:18px 0 0;font-size:var(--body-lead-size);line-height:1.55}
.page-hero .btn-row{margin-top:30px}
/* quick actions */
.qa-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.qa-card{display:flex;flex-direction:column;gap:14px;padding:28px;background:var(--surface-card);border:1px solid var(--hairline-border);border-radius:var(--radius-card);box-shadow:var(--shadow-card-rest);text-decoration:none;color:var(--ink);transition:box-shadow .15s,border-color .15s}
.qa-card:hover{box-shadow:var(--shadow-card-hover);text-decoration:none;border-color:var(--brand-green-bright)}
.qa-ic{width:52px;height:52px;border-radius:12px;background:rgba(8,148,73,.1);display:flex;align-items:center;justify-content:center;color:var(--brand-green-button)}
.qa-card h3{font-size:22px}
.qa-card p{color:var(--muted-text);font-size:15px;line-height:1.55;flex:1}
.qa-cta{color:var(--brand-green-button);font-weight:600;font-size:15px;display:inline-flex;align-items:center;gap:7px}
.qa-card:hover .qa-cta{color:var(--brand-green-deep)}
.qa-card:hover .qa-cta .ic{transform:translateX(3px);transition:transform .15s}
/* steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}
.step-n{font-family:var(--font-display);font-optical-sizing:auto;font-size:46px;font-weight:600;color:var(--brand-green-canopy);line-height:1}
.step h3{margin-bottom:10px;font-size:24px}
.step p{color:var(--muted-text)}
.step .rule{margin:14px 0 16px}
.bg-canopy .step-n{color:var(--brand-gold-accent)}
.bg-canopy .step p{color:rgba(255,255,255,.8)}
/* split feature */
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.split.rev .split-media{order:-1}
.photo-frame{border-radius:var(--radius-card);overflow:hidden;box-shadow:var(--shadow-card-rest);aspect-ratio:4/3;border:1px solid var(--hairline-border)}
.stat-row{display:flex;gap:36px;flex-wrap:wrap;margin-top:28px}
.stat .n{font-family:var(--font-display);font-optical-sizing:auto;font-size:34px;font-weight:600;color:var(--brand-green-canopy);line-height:1}
.stat .l{font-size:14px;color:var(--muted-text);margin-top:4px}
.bg-canopy .stat .n{color:#fff}
.bg-canopy .stat .l{color:rgba(255,255,255,.75)}
/* amenities */
.amen{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.18);border-radius:var(--radius-card);padding:26px}
.amen .ic{color:var(--brand-gold-accent)}
.amen h3{color:#fff;margin:16px 0 8px;font-size:22px}
.amen p{color:rgba(255,255,255,.8);font-size:15px;line-height:1.55}
/* board / person */
.board-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:30px 24px}
.person{text-align:center}
.person-photo{width:132px;height:132px;border-radius:50%;overflow:hidden;margin:0 auto 16px;border:1px solid var(--hairline-border);background:var(--surface-cream)}
.person h3{font-size:22px}
.person .role{color:var(--brand-green-button);font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.05em;margin:5px 0 10px}
.person p{color:var(--muted-text);font-size:14.5px;line-height:1.55}
/* notices */
.notice-list{border:1px solid var(--hairline-border);border-radius:var(--radius-card);overflow:hidden;background:var(--surface-card)}
.notice{display:flex;gap:15px;padding:20px;border-bottom:1px solid var(--hairline-border);align-items:flex-start}
.notice:last-child{border-bottom:none}
.notice-ic{width:40px;height:40px;border-radius:8px;background:rgba(8,148,73,.1);color:var(--brand-green-button);display:flex;align-items:center;justify-content:center;flex:none}
.notice-main{flex:1}
.notice h4{font-size:18px}
.notice .notice-meta{font-size:13px;color:var(--muted-text);margin:3px 0 6px;font-weight:600}
.notice p{color:var(--muted-text);font-size:14.5px;line-height:1.5}
/* updates / featured / dates */
.update-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.update{display:flex;flex-direction:column;gap:11px;padding:24px;background:var(--surface-card);border:1px solid var(--hairline-border);border-radius:var(--radius-card);box-shadow:var(--shadow-card-rest);transition:box-shadow .15s}
.update.hoverable:hover{box-shadow:var(--shadow-card-hover)}
.cat-tag{align-self:flex-start;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--brand-green-button);background:rgba(8,148,73,.1);padding:4px 10px;border-radius:6px}
.update h4{font-size:19px}
.update .when{font-size:13px;color:var(--muted-text);font-weight:600}
.update p{color:var(--muted-text);font-size:14.5px;line-height:1.55;flex:1}
.featured{display:grid;grid-template-columns:1fr 1fr;background:var(--surface-card);border:1px solid var(--hairline-border);border-radius:var(--radius-card);overflow:hidden;box-shadow:var(--shadow-card-rest)}
.featured-media{min-height:300px;position:relative}
.featured-body{padding:40px}
.featured-body h3{font-size:28px;margin:12px 0 14px}
.featured-body p{color:var(--muted-text);line-height:1.6;margin-bottom:20px}
.dates{display:flex;flex-direction:column}
.date-row{display:flex;gap:18px;align-items:center;padding:16px 0;border-bottom:1px solid var(--hairline-border)}
.date-row:last-child{border-bottom:none}
.date-row .dr-title{font-weight:600;flex:1}
.date-row .dr-meta{font-size:14px;color:var(--muted-text)}
/* date badge */
.date-badge{flex:none;width:62px;height:62px;background:var(--brand-gold-accent);color:var(--ink);border-radius:var(--radius-field);display:flex;flex-direction:column;align-items:center;justify-content:center}
.date-badge .mon{font-size:12px;font-weight:700;text-transform:uppercase;line-height:1;letter-spacing:.04em}
.date-badge .day{font-size:23px;font-weight:700;font-family:var(--font-display);font-optical-sizing:auto;line-height:1.1}
/* doc rows */
.doc-list{border:1px solid var(--hairline-border);border-radius:var(--radius-card);overflow:hidden;background:var(--surface-card)}
.doc-row{display:flex;align-items:center;gap:16px;padding:17px 20px;border-bottom:1px solid var(--hairline-border);text-decoration:none;color:var(--ink)}
.doc-row:last-child{border-bottom:none}
.doc-row:hover{background:rgba(8,148,73,.05);text-decoration:none}
.doc-ic{width:40px;height:40px;border-radius:8px;background:rgba(8,148,73,.09);color:var(--brand-green-button);display:flex;align-items:center;justify-content:center;flex:none}
.doc-main{flex:1;min-width:0}
.doc-title{font-weight:600}
.doc-meta{font-size:13px;color:var(--muted-text);margin-top:3px;display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.doc-tag{font-size:12px;font-weight:600;background:rgba(8,148,73,.1);color:var(--brand-green-button);padding:4px 10px;border-radius:6px;white-space:nowrap}
.filetype{font-size:11px;font-weight:700;letter-spacing:.05em;color:var(--muted-text);border:1px solid var(--hairline-border);padding:3px 7px;border-radius:4px}
.doc-dl{color:var(--muted-text);flex:none}
.doc-cat{display:flex;align-items:center;gap:12px;width:100%;text-align:left;cursor:pointer;padding:18px 20px;background:var(--surface-card);border:1px solid var(--hairline-border);border-radius:var(--radius-card);font-family:var(--font-body);font-size:16px;font-weight:600;color:var(--ink);box-shadow:var(--shadow-card-rest);transition:box-shadow .15s,border-color .15s}
.doc-cat:hover{box-shadow:var(--shadow-card-hover);border-color:var(--brand-green-bright)}
.doc-cat span{flex:1}
.doc-cat .ic{color:var(--brand-green-button)}
.doc-tool{display:flex;flex-direction:column;gap:16px}
.doc-filters{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:680px){.doc-filters{grid-template-columns:1fr}}
.doc-row:hover .doc-dl{color:var(--brand-green-button)}
/* meeting rows */
.meeting-list{border-top:1px solid var(--hairline-border)}
.meeting-row{display:flex;gap:20px;padding:18px 4px;border-bottom:1px solid var(--hairline-border);align-items:center;flex-wrap:wrap}
.meeting-date{width:160px;flex:none;font-weight:700;color:var(--brand-green-button);font-size:14px}
.meeting-title{flex:1;min-width:200px;font-weight:600}
.meeting-links{display:flex;gap:18px}
.meeting-links a{font-size:14px;font-weight:600}
/* faq */
.faq{max-width:800px}
.faq-item{border-bottom:1px solid var(--hairline-border)}
.faq-q{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:22px 0;cursor:pointer;font-weight:600;font-size:18px;background:none;border:none;width:100%;text-align:left;font-family:var(--font-body);color:var(--ink)}
.faq-q .ic{color:var(--brand-green-button);transition:transform .2s;flex:none}
.faq-item.open .faq-q .ic{transform:rotate(180deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .45s cubic-bezier(.4,0,.2,1)}
.faq-item.open .faq-a{max-height:500px}
.faq-a p{opacity:0;transform:translateY(-6px);transition:opacity .3s ease,transform .35s ease}
.faq-item.open .faq-a p{opacity:1;transform:none;transition-delay:.1s}
.faq-a p{color:var(--muted-text);padding-bottom:22px;line-height:1.65;max-width:70ch}
/* tabs / chips */
.tabs{display:inline-flex;background:var(--surface-card);border:1px solid var(--hairline-border);border-radius:9px;padding:4px;gap:4px}
.tab{padding:9px 18px;border-radius:6px;border:none;background:none;cursor:pointer;font-weight:600;font-size:14px;color:var(--muted-text);font-family:var(--font-body);display:inline-flex;align-items:center;gap:7px}
.tab.active{background:var(--brand-green-button);color:#fff}
.chips{display:flex;gap:10px;flex-wrap:wrap}
.chip{padding:9px 16px;border-radius:999px;border:1px solid var(--hairline-border);background:var(--surface-card);cursor:pointer;font-weight:500;font-size:14px;color:var(--ink);font-family:var(--font-body)}
.chip:hover{border-color:var(--brand-green-bright);color:var(--brand-green-button)}
.chip.active{background:var(--brand-green-button);color:#fff;border-color:var(--brand-green-button)}
.controls-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:28px}
/* callouts */
.callout{display:flex;gap:14px;padding:18px 20px;border-radius:var(--radius-card);border:1px solid var(--hairline-border);background:var(--surface-card);font-size:15px;color:var(--ink);line-height:1.55}
.callout .ic{color:var(--brand-green-button);flex:none;margin-top:2px}
.callout.info{background:rgba(8,148,73,.06);border-color:rgba(8,148,73,.28)}
.callout.warn{background:rgba(227,178,60,.12);border-color:rgba(227,178,60,.55)}
.callout.warn .ic{color:#a9781f}
.callout b{color:var(--ink)}
.prodnote{border:1.5px dashed #bd8f30;background:rgba(227,178,60,.09);border-radius:var(--radius-card);padding:16px 20px;font-size:14px;color:var(--ink);line-height:1.55;display:flex;gap:12px}
.prodnote .ic{color:#a9781f;flex:none;margin-top:1px}
.prodnote b{color:#8a6714;text-transform:uppercase;letter-spacing:.05em;font-size:12px}
.sample{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted-text);background:var(--surface-cream);border:1px dashed #c3ccbf;padding:3px 8px;border-radius:4px}
/* forms */
.form-card{background:var(--surface-card);border:1px solid var(--hairline-border);border-radius:var(--radius-card);padding:36px;box-shadow:var(--shadow-card-rest)}
.field{display:flex;flex-direction:column;gap:7px;margin-bottom:20px}
.field label{font-size:14px;font-weight:600;color:var(--ink)}
.req{color:var(--error);margin-left:3px}
.field .hint{font-size:13px;color:var(--muted-text);margin-top:-1px}
.field input,.field textarea,.field select{font-family:var(--font-body);font-size:16px;padding:12px 14px;border:1px solid var(--hairline-border);border-radius:var(--radius-field);background:var(--reversed-white);color:var(--ink);width:100%}
.field textarea{min-height:130px;resize:vertical}
.field input::placeholder,.field textarea::placeholder{color:#9aa89e}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--button-primary-bg);box-shadow:0 0 0 3px rgba(6,118,58,.15)}
.field.err input,.field.err textarea,.field.err select{border-color:var(--error)}
.field .errmsg{font-size:13px;color:var(--error);display:flex;align-items:center;gap:5px;font-weight:600}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}
.form-full{grid-column:1/-1}
.upload{border:1.5px dashed var(--hairline-border);border-radius:var(--radius-field);padding:18px;display:flex;align-items:center;gap:14px;background:var(--surface-cream);cursor:pointer;color:var(--muted-text);width:100%;text-align:left;font-family:var(--font-body);font-size:15px}
.upload:hover{border-color:var(--brand-green-bright);background:rgba(8,148,73,.04);color:var(--brand-green-button)}
.upload .ic{color:var(--brand-green-button);flex:none}
.upload.filled{border-style:solid;border-color:var(--brand-green-bright);color:var(--ink);background:rgba(8,148,73,.05)}
.upload.err{border-color:var(--error)}
.check{display:flex;gap:12px;align-items:flex-start;font-size:15px;color:var(--ink);cursor:pointer;line-height:1.5}
.check input{width:20px;height:20px;margin-top:2px;flex:none;accent-color:var(--brand-green-button)}
.check.err{color:var(--error)}
.fieldset-h{font-size:13px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted-text);margin:8px 0 16px;padding-bottom:10px;border-bottom:1px solid var(--hairline-border)}
/* confirmation */
.confirm{text-align:center;max-width:600px;margin:0 auto;padding:52px 36px;background:var(--surface-card);border:1px solid var(--hairline-border);border-radius:var(--radius-card);box-shadow:var(--shadow-card-rest)}
.confirm-ic{width:72px;height:72px;border-radius:50%;background:rgba(8,148,73,.12);color:var(--brand-green-button);display:flex;align-items:center;justify-content:center;margin:0 auto 22px}
.confirm h2{margin-bottom:14px}
.confirm p{color:var(--muted-text);line-height:1.6;margin-bottom:12px}
/* legend + calendar */
.legend{display:flex;gap:22px;flex-wrap:wrap;font-size:14px}
.legend span{display:flex;align-items:center;gap:8px;color:var(--ink);font-weight:500}
.dot{width:15px;height:15px;border-radius:4px;flex:none;border:1px solid var(--hairline-border)}
.dot.avail{background:rgba(8,148,73,.16);border-color:var(--brand-green-bright)}
.dot.unavail{background:rgba(179,38,30,.13);border-color:var(--error)}
.dot.pending{background:rgba(227,178,60,.28);border-color:var(--brand-gold-accent)}
.cal{background:var(--surface-card);border:1px solid var(--hairline-border);border-radius:var(--radius-card);overflow:hidden}
.cal-head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--hairline-border)}
.cal-head h3{font-size:24px}
.cal-nav{display:flex;gap:8px}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr)}
.cal-dow{padding:11px 8px;text-align:center;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted-text);border-bottom:1px solid var(--hairline-border);background:var(--surface-cream)}
.cal-cell{min-height:104px;border-right:1px solid var(--hairline-border);border-bottom:1px solid var(--hairline-border);padding:8px;font-size:13px;position:relative;display:flex;flex-direction:column;gap:4px}
.cal-cell:nth-child(7n){border-right:none}
.cal-cell.empty{background:var(--surface-cream)}
.cal-daynum{font-weight:600;color:var(--ink);font-size:13px}
.cal-cell.today .cal-daynum{background:var(--brand-green-button);color:#fff;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center}
.cal-ev{font-size:11px;font-weight:600;padding:3px 6px;border-radius:4px;background:rgba(8,148,73,.12);color:var(--brand-green-button);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:default}
.cal-ev.board{background:rgba(10,85,48,.14);color:var(--brand-green-canopy)}
.cal-ev.social{background:rgba(227,178,60,.22);color:#7a5a12}
.cal-ev.maint{background:rgba(91,107,96,.16);color:var(--muted-text)}
.cal-cell.avail{background:rgba(8,148,73,.07)}
.cal-cell.unavail{background:rgba(179,38,30,.07)}
.cal-cell.pending{background:rgba(227,178,60,.14)}
.cal-state{margin-top:auto;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em}
.cal-cell.avail .cal-state{color:var(--brand-green-button)}
.cal-cell.unavail .cal-state{color:var(--error)}
.cal-cell.pending .cal-state{color:#a9781f}
.cal-cell.selectable{cursor:pointer}
.cal-cell.selectable:hover{box-shadow:inset 0 0 0 2px var(--brand-green-bright)}
.cal-cell.selected{box-shadow:inset 0 0 0 2px var(--brand-green-button)}
/* misc */
.pagenav{display:flex;flex-direction:column;gap:6px}
.toc a{display:block;padding:10px 14px;border-radius:8px;color:var(--ink);font-size:15px;text-decoration:none;border-left:2px solid transparent}
.toc a:hover{background:rgba(8,148,73,.06);color:var(--brand-green-button);border-left-color:var(--brand-green-bright)}
.legal-body h3{font-size:26px;margin:40px 0 12px}
.legal-body h4{font-size:18px;margin:24px 0 8px}
.legal-body p{color:var(--ink);line-height:1.7;margin-bottom:14px;max-width:72ch}
.legal-body ul{color:var(--ink);line-height:1.7;margin:0 0 14px;padding-left:22px;max-width:72ch}
.legal-body li{margin-bottom:6px}
.crumbs{display:flex;gap:8px;align-items:center;font-size:13px;color:rgba(255,255,255,.7);margin-bottom:18px}
.crumbs a{color:rgba(255,255,255,.85)}
.crumbs .ic{width:14px;height:14px}
.event-list{display:flex;flex-direction:column;gap:16px}
.event-card{background:var(--surface-card);border:1px solid var(--hairline-border);border-radius:var(--radius-card);overflow:hidden;box-shadow:var(--shadow-card-rest);transition:box-shadow .15s}
.event-card:hover{box-shadow:var(--shadow-card-hover)}
.event-in{display:flex;gap:18px;padding:22px}
.event-body{flex:1}
.event-body h3{font-size:22px}
.event-meta{display:flex;gap:16px;flex-wrap:wrap;color:var(--muted-text);font-size:14px;font-weight:600;margin:6px 0 10px}
.event-meta span{display:flex;align-items:center;gap:6px}
.event-body p{color:var(--muted-text);line-height:1.55;font-size:15px}
.event-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.pill{font-size:12px;font-weight:600;padding:4px 11px;border-radius:999px;background:var(--surface-cream);border:1px solid var(--hairline-border);color:var(--ink)}
.pill.cost{background:rgba(8,148,73,.1);border-color:transparent;color:var(--brand-green-button)}
.empty{text-align:center;padding:56px 32px;border:1.5px dashed var(--hairline-border);border-radius:var(--radius-card);background:var(--surface-card)}
.empty-ic{width:60px;height:60px;border-radius:50%;background:var(--surface-cream);color:var(--muted-text);display:flex;align-items:center;justify-content:center;margin:0 auto 18px}
.empty h3{margin-bottom:10px}
.empty p{color:var(--muted-text);max-width:46ch;margin:0 auto 18px}
.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.info-tile{background:var(--surface-card);border:1px solid var(--hairline-border);border-radius:var(--radius-card);padding:26px}
.info-tile .ic-wrap{width:48px;height:48px;border-radius:12px;background:rgba(8,148,73,.1);color:var(--brand-green-button);display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.info-tile h3{font-size:22px;margin-bottom:8px}
.info-tile p{color:var(--muted-text);font-size:15px;line-height:1.55;margin-bottom:16px}
.pricetiles{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.price-tile{background:var(--surface-card);border:1px solid var(--hairline-border);border-radius:var(--radius-card);padding:28px;text-align:center}
.price-tile .amt{font-family:var(--font-display);font-optical-sizing:auto;font-size:44px;font-weight:600;color:var(--brand-green-canopy);line-height:1}
.price-tile .plabel{font-weight:700;margin:10px 0 8px;font-size:17px}
.price-tile p{color:var(--muted-text);font-size:14px;line-height:1.5}
.steps5{grid-template-columns:repeat(5,1fr)}
.steplist{margin:12px 0 0;padding-left:18px;color:var(--muted-text);font-size:14px;line-height:1.7}
.steplist li{margin-bottom:2px}
.paycard{background:var(--surface-card);border:1px solid var(--hairline-border);border-radius:var(--radius-card);box-shadow:var(--shadow-card-rest);overflow:hidden}
.paycard-h{background:var(--brand-green-canopy);color:#fff;font-weight:700;font-size:14px;letter-spacing:.03em;padding:16px 22px;display:flex;align-items:center;gap:9px}
.paycard-h .ic{color:var(--brand-gold-accent)}
.payrow{display:flex;justify-content:space-between;padding:15px 22px;border-bottom:1px solid var(--hairline-border);font-size:16px;color:var(--ink)}
.payrow span:last-child{font-weight:600}
.payrow.total{font-weight:700;background:rgba(8,148,73,.05)}
.payrow.total span:last-child{color:var(--brand-green-button);font-family:var(--font-display);font-optical-sizing:auto;font-size:24px;font-weight:700}
.paynote{display:flex;gap:10px;align-items:flex-start;padding:16px 22px;font-size:13.5px;color:var(--muted-text);line-height:1.5}
.paynote .ic{color:var(--brand-green-button);flex:none;margin-top:1px}
/* ============ responsive ============ */
@media(max-width:1080px){
.nav{display:none}
.burger{display:inline-flex}
.hero{grid-template-columns:1fr;gap:40px}
.hero-photo{max-width:560px}
.featured{grid-template-columns:1fr}
.ftr-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:900px){
.sec{padding:var(--section-padding-mobile) 0}
.qa-grid,.grid-3,.grid-4,.update-grid,.pricetiles{grid-template-columns:1fr 1fr}
.steps,.steps5{grid-template-columns:1fr;gap:28px}
.split{grid-template-columns:1fr;gap:36px}
.split.rev .split-media{order:0}
.info-grid,.grid-2{grid-template-columns:1fr}
.hdr-hidesm{display:none}
}
@media(max-width:680px){
.container{padding:0 20px}
.qa-grid,.grid-3,.grid-4,.update-grid,.board-grid,.pricetiles,.info-grid{grid-template-columns:1fr}
.ftr-grid{grid-template-columns:1fr}
.search-hits{grid-template-columns:1fr}
.cal-cell{min-height:64px;padding:5px}
.cal-ev{display:none}
.cal-cell.hasev::after{content:"";width:6px;height:6px;border-radius:50%;background:var(--brand-green-button);display:block}
.brand-sub{display:none}
.event-in{flex-direction:column}
.form-grid{grid-template-columns:1fr}
.hero-sec{padding:48px 0 56px}
}

/* --- Finalize additions (Cowork, Phase 6) --- */
[hidden]{display:none !important;}
.wf-reveal{opacity:0;transform:translateY(20px);transition:opacity .6s cubic-bezier(.22,1,.36,1),transform .6s cubic-bezier(.22,1,.36,1);}
.wf-reveal.is-visible{opacity:1;transform:none;}
/* Photo placeholders — awaiting the board's real community images */
image-slot{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:200px;
  background:repeating-linear-gradient(135deg,#efeadd,#efeadd 14px,#eae4d4 14px,#eae4d4 28px);
  border:1px solid var(--hairline-border);border-radius:14px;color:var(--muted-text);
  font:500 12.5px/1.45 var(--font-body,system-ui,sans-serif);letter-spacing:.02em;text-align:center;padding:22px;overflow:hidden;}
image-slot::after{content:attr(placeholder);max-width:24ch;opacity:.8;}
.nav-item.open .nav-menu{opacity:1;visibility:visible;pointer-events:auto;transform:none;}
.search-hit{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border-radius:10px;text-decoration:none;color:var(--ink);}
.search-hit:hover{background:var(--surface-cream);}
.search-hit .sh-t{font-weight:600;}
.search-hit .sh-s{font-size:12.5px;color:var(--muted-text);}
