/* tokens/fonts.css */
/* Licata Financial Design — webfonts.
   Host Grotesk (display/headline) + Roboto Serif (body) are both Google-hosted.
   No local font binaries were supplied with the brand materials, so the families
   are loaded from Google Fonts, exactly as the current live site does. */
/* Google Fonts are loaded by a <link> in each page head (avoids a render-blocking @import chain). */

/* tokens/colors.css */
:root{
/* ---- Digital palette — SOURCE OF TRUTH (Global Elements sheet, matches the Black Oak mockup) ---- */
--green-500:#8DC63F;   /* primary brand green */
--green-900:#3A4303;   /* dark green / olive — CTA bars, deep fields */
--ink-900:#151414;     /* near-black text */
--orange-500:#F26322;  /* accent, used sparingly */
--stone-200:#DDDBD4;   /* alt section surface */
--white:#FFFFFF;

/* tints/shades derived from the primary green for hover + wash use only */
--green-050:#F4FAEB;
--green-100:#E8F4D8;
--green-200:#D2E9B2;
--green-600:#7AB332;
--green-700:#639026;
--stone-100:#EFEEEA;
--stone-300:#C7C4BA;
--ink-700:#3F3E3D;
--ink-500:#6E6C6A;
--ink-300:#9C9A97;

/* ---- Print palette — REFERENCE ONLY (Color Palette PDF / Pantone). Do not mix with the digital set. ---- */
--print-evoo:#89BD2E;        /* PMS 3561 CP */
--print-dark-olive:#474C21;  /* PMS 5747 CP */
--print-black:#282D27;       /* PMS Black 3 CP */
--print-orange:#E0682C;      /* PMS 165 CP */

/* ---- Semantic aliases — use these in components ---- */
--brand:var(--green-500);
--brand-deep:var(--green-900);
--accent:var(--orange-500);

--surface:var(--white);
--surface-alt:var(--stone-200);
--surface-wash:var(--green-050);
--surface-deep:var(--green-900);
--surface-card:var(--white);

--text-body:var(--ink-900);
--text-heading:var(--ink-900);
--text-muted:var(--ink-500);
--text-on-deep:var(--white);
--text-on-brand:var(--ink-900);

--link:var(--green-500);
--link-hover:var(--green-700);

--border-hairline:var(--stone-300);
--border-card:var(--stone-200);
--focus-ring:var(--green-900);

--button-bg:var(--white);
--button-text:var(--ink-900);
--button-bg-hover:var(--green-500);
--button-text-hover:var(--ink-900);
--header-bg:var(--green-500);
--cta-bar:var(--green-900);
}

/* tokens/typography.css */
:root{
--font-headline:"Host Grotesk","Helvetica Neue",Arial,sans-serif;
--font-body:"Roboto Serif",Georgia,"Times New Roman",serif;

/* display + heading scale (Host Grotesk) */
--fs-display-xl:4.5rem;   /* 72px — hero */
--fs-display-l:3.5rem;    /* 56px — section hero */
--fs-h1:2.75rem;          /* 44px */
--fs-h2:2.125rem;         /* 34px */
--fs-h3:1.5rem;           /* 24px */
--fs-h4:1.25rem;          /* 20px */

/* body scale (Roboto Serif) */
--fs-lead:1.1875rem;      /* 19px */
--fs-body:1rem;           /* 16px */
--fs-small:0.875rem;      /* 14px */
--fs-fine:0.75rem;        /* 12px — disclosures, min 9pt */

/* eyebrow / label */
--fs-eyebrow:0.8125rem;   /* 13px */
--tracking-eyebrow:0.14em; /* @kind other */
--tracking-display:-0.02em; /* @kind other */
--tracking-tight:-0.01em; /* @kind other */

--lh-display:1.04; /* @kind other */
--lh-heading:1.14; /* @kind other */
--lh-body:1.62; /* @kind other */
--lh-tight:1.35; /* @kind other */

--fw-light:300; /* @kind font */
--fw-regular:400; /* @kind font */
--fw-medium:500; /* @kind font */
--fw-semibold:600; /* @kind font */
--fw-bold:700; /* @kind font */
}

/* tokens/spacing.css */
:root{
--space-1:4px;
--space-2:8px;
--space-3:12px;
--space-4:16px;
--space-5:24px;
--space-6:32px;
--space-7:48px;
--space-8:64px;
--space-9:96px;
--space-10:128px;

--section-y:96px;         /* vertical rhythm between page sections */
--section-y-tight:64px;
--container:1180px; /* @kind spacing */       /* max content width */
--container-narrow:760px; /* @kind spacing */ /* prose measure */
--gutter:24px;
}

/* tokens/effects.css */
:root{
--radius-xs:2px;
--radius-sm:4px;
--radius-md:8px;
--radius-lg:16px;
--radius-xl:24px;
--radius-photo:24px;      /* soft-cornered photography, per the mockup */
--radius-pill:999px;

--shadow-none:none;
--shadow-sm:0 1px 2px rgba(21,20,20,.06);
--shadow-card:0 2px 10px rgba(21,20,20,.07);
--shadow-raised:0 10px 30px rgba(21,20,20,.10);
--shadow-photo:0 14px 40px rgba(21,20,20,.16);

--border-1:1px solid var(--border-hairline); /* @kind other */
--border-card-1:1px solid var(--border-card); /* @kind other */

--ease-standard:cubic-bezier(.22,.61,.36,1); /* @kind other */
--dur-fast:120ms; /* @kind other */
--dur-base:200ms; /* @kind other */
--dur-slow:420ms; /* @kind other */

/* brand pattern as a background image */
--pattern-diamond:url("/assets/patterns/diamond-lattice-green.webp"); /* @kind other */
--scrim-photo:linear-gradient(90deg,rgba(21,20,20,.62) 0%,rgba(21,20,20,.34) 48%,rgba(21,20,20,0) 78%); /* @kind other */
}

/* tokens/base.css */
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--surface);color:var(--text-body);font-family:var(--font-body);font-size:var(--fs-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5{font-family:var(--font-headline);color:var(--text-heading);font-weight:var(--fw-medium);letter-spacing:var(--tracking-display);line-height:var(--lh-heading);margin:0 0 var(--space-4)}
h1{font-size:var(--fs-h1)}h2{font-size:var(--fs-h2)}h3{font-size:var(--fs-h3)}h4{font-size:var(--fs-h4)}
p{margin:0 0 var(--space-4);text-wrap:pretty}
a{color:var(--link);text-decoration:none}
a:hover{color:var(--link-hover);text-decoration:underline;text-underline-offset:3px}
:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
img{max-width:100%;display:block}
@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* page styles (from source) */
summary::-webkit-details-marker{display:none;}
details[open]>summary [data-faq-mark]{transform:rotate(45deg);}
#faq-topic-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
@media (max-width:1000px){#faq-topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}}
@media (max-width:520px){#faq-topic-grid{grid-template-columns:1fr!important;}}
body{margin:0;--cream:#F6F3EC;--radius-sm:8px;--taupe:#CFC9BB;background:var(--white);color:var(--text-body);font-family:var(--font-body);line-height:var(--lh-body);}
h1,h2,h3,h4,h5{font-family:"host-grotesk","Host Grotesk","Helvetica Neue",Arial,sans-serif;font-weight:400!important;font-style:normal;}
h1,h2,h3,h4,h5,blockquote,figcaption{text-wrap:balance;}
p,li,blockquote,figcaption,label{text-wrap:pretty;hyphens:none;}
p,li{orphans:2;widows:2;}
a{color:var(--link);}
main a[href^="tel:"],main a[href^="mailto:"]{color:var(--green-900);font-weight:500;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(58,67,3,.35);}
main a[href^="tel:"]:hover,main a[href^="mailto:"]:hover{color:var(--ink-900);text-decoration-color:currentColor;}
a:hover{color:var(--link-hover);text-underline-offset:3px;}
img{max-width:100%;}
a[href^="mailto:"],a[href^="tel:"],a[href^="http"],code{overflow-wrap:anywhere;word-break:normal;}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important;}}
@media (min-width:1041px){#lfd-nav-toggle,#lfd-nav-drawer{display:none!important;}}
@media (min-width:1041px) and (max-width:1240px){header img{height:76px!important;}#lfd-nav-desktop{column-gap:13px!important;}#lfd-nav-desktop a{font-size:14px!important;}}
@media (max-width:1040px){
  #lfd-nav-desktop{display:none!important;}
  #lfd-nav-toggle{display:inline-flex!important;}
  [data-nowrap-desktop]{white-space:normal!important;}
}
@media (max-width:640px){[data-cta-touch]{width:100%;}[data-cta-touch]>button,[data-cta-touch]>a{width:100%;min-height:48px;}}
@media (max-width:760px){[data-stack-mobile]{grid-template-columns:1fr!important;}[data-span-mobile]{grid-column:span 1!important;}}
@media (max-width:1040px) and (max-height:520px){header img{height:48px!important;}}
@media (max-width:640px){body{--gutter:18px;--section-y:64px;--section-y-tight:44px;}}
@media (max-width:374px){body{--gutter:14px;}}
@media (max-width:1040px),(pointer:coarse){footer ul{row-gap:0!important;}footer li>a,main[data-screen-label="404"] li>a{display:inline-flex;align-items:center;min-height:44px;}main[data-screen-label="404"] ul{row-gap:0!important;}p a[href^="tel:"],p a[href^="mailto:"]{display:inline-flex;align-items:center;min-height:44px;}}
@media (max-width:1040px){a[data-hit]{position:relative;}a[data-hit]::after{content:"";position:absolute;left:-8px;right:-8px;top:-12px;bottom:-12px;}}
@media (max-width:640px){[data-cta-touch]>*{justify-content:center;}}

/* production export: static equivalents of authoring-time interactive states */
#lfd-nav-drawer[hidden]{display:none!important}
#lfd-form-sent[hidden]{display:none!important}
#lfd-why-modal[hidden]{display:none!important}
body.why-open{overflow:hidden}
[data-tab-panel][hidden]{display:none!important}
[data-ep-grid][hidden],[data-ep-fallback][hidden]{display:none!important}
body.nav-open{overflow:hidden}
[data-dropdown]{display:none}
#lfd-nav-desktop > [data-nav-item]:hover > [data-dropdown],#lfd-nav-desktop > [data-nav-item]:focus-within > [data-dropdown]{display:block}
[data-btn]:hover{text-decoration:none!important}
[data-btn="primary"]:hover{background:var(--green-600)!important}
[data-btn="light"]:hover{background:var(--brand)!important;border-color:var(--brand)!important}
[data-btn="deep"]:hover{background:var(--ink-900)!important}
[data-btn="outline"]:hover{background:var(--brand)!important}
[data-btn="ghost"]:hover{color:var(--link-hover)!important}
[data-btn="reversed"]:hover{background:var(--brand)!important;color:var(--ink-900)!important;border-color:var(--brand)!important}
[data-h="1"]:hover{color:var(--brand)!important}
[data-h="2"]:hover{background:var(--brand)!important;color:var(--ink-900)!important}
[data-h="3"]:hover{background:var(--white)!important}
[data-h="4"]:hover{transform:translateY(-3px)!important;box-shadow:0 16px 40px rgba(21,20,20,.14)!important}
[data-h="5"]:hover{border-color:var(--brand)!important;background:#F6FAEE!important;box-shadow:0 14px 36px rgba(21,20,20,.10)!important;transform:translateY(-3px)!important}
[data-h="6"]:hover{color:var(--brand-deep)!important}
[data-h="7"]:hover{color:var(--white)!important}
[data-h="8"]:hover{border-color:var(--brand)!important;box-shadow:0 14px 36px rgba(21,20,20,.10)!important;transform:translateY(-3px)!important}
[data-h="9"]:hover{border-color:var(--brand)!important;box-shadow:0 14px 36px rgba(21,20,20,.10)!important}
[data-h="10"]:hover{border-bottom-color:var(--brand)!important}
[data-h="11"]:hover{color:var(--green-700)!important}
[data-h="12"]:hover{color:var(--ink-900)!important}
[data-h="13"]:hover{border-color:var(--brand)!important;transform:translateY(-3px)!important;box-shadow:0 16px 40px rgba(21,20,20,.14)!important}

.featured-link{display:block;filter:grayscale(1);opacity:.62;transition:opacity .2s}.featured-link:hover,.featured-link:focus-visible{opacity:1}
