/* appwtcrm.com public site, one stylesheet for every public page (public-site-lib.php). G.R.A.C.E. 2026-11-06,
   key grace-crm-public-1106. ONE THEME, LIGHT, FORCED: no prefers-color-scheme rule anywhere in this file.
   AppWT brand: Pearl #FAFAFA ground, Charcoal #1A1A1A ink, Base Black #0A0A0A header band, Champagne Gold #C4A052 as
   the single accent (buttons, rules, marks; never body text on pearl, where it is too faint to read). */
:root{color-scheme:light;
  --p-bg:#FAFAFA;--p-card:#F3F1EB;--p-card2:#ECE8DD;--p-ink:#1A1A1A;--p-ink2:#3B3B3B;--p-mut:#575757;--p-line:#DED9CC;
  --p-gold:#C4A052;--p-gold-dk:#7D6020;--p-black:#0A0A0A;--p-char:#1A1A1A;--p-char2:#222222;--p-pearl:#FAFAFA;--p-warm:#A3B5CC;
  /* the widget rail reads these names (public-widgets-lib.php) */
  --bg:#FAFAFA;--panel:#F3F1EB;--ink:#1A1A1A;--mut:#575757;--gold:#C4A052}
html,body{max-width:100%;overflow-x:hidden}
*,*::before,*::after{box-sizing:border-box}
html{background:#FAFAFA;-webkit-text-size-adjust:100%}
body.pub{margin:0;background:#FAFAFA;color:#1A1A1A;font:16px/1.65 -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif}
img,video{max-width:100%;height:auto}
a{color:#7D6020;text-underline-offset:2px;overflow-wrap:anywhere}
a:hover{color:#1A1A1A}
:focus-visible{outline:3px solid #C4A052;outline-offset:2px}
.pub-wrap{max-width:1160px;margin:0 auto;padding:0 20px}
.pub-skip{position:absolute;left:-9999px;top:8px;z-index:100000;background:#0A0A0A;color:#FAFAFA;padding:12px 18px;border-radius:6px}
.pub-skip:focus{left:12px}

/* ---- header ---- */
.pub-top{background:#0A0A0A;border-bottom:2px solid #C4A052;position:relative;z-index:50}
.pub-top__in{display:flex;align-items:center;gap:18px;min-height:68px}
.pub-brand{color:#FAFAFA;text-decoration:none;font-weight:800;font-size:20px;letter-spacing:.01em;white-space:nowrap;display:inline-flex;align-items:center;gap:.28em;min-height:44px}
.pub-brand span{color:#C4A052}
.pub-brand:hover{color:#FAFAFA}
.pub-nav{display:flex;gap:4px;flex-wrap:nowrap;margin-left:6px}
.pub-nav a{color:#FAFAFA;text-decoration:none;font-weight:600;font-size:15px;padding:10px 10px;border-radius:6px;display:inline-flex;align-items:center;min-height:44px;white-space:nowrap}
.pub-nav a:hover{background:#222222;color:#FAFAFA}
.pub-nav a[aria-current="page"]{color:#C4A052;box-shadow:inset 0 -2px 0 #C4A052}
.pub-acct{display:flex;gap:8px;margin-left:auto}
.pub-menu{display:none;margin-left:auto;position:static}
.pub-menu>summary{list-style:none;cursor:pointer;color:#FAFAFA;font-weight:700;display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:8px 14px;border:1px solid #3A3A3A;border-radius:8px}
.pub-menu>summary::-webkit-details-marker{display:none}
.pub-menu__bars,.pub-menu__bars::before,.pub-menu__bars::after{display:block;width:18px;height:2px;background:#FAFAFA;position:relative;content:""}
.pub-menu__bars::before{position:absolute;top:-6px}.pub-menu__bars::after{position:absolute;top:6px}
.pub-menu__panel{position:absolute;left:0;right:0;top:100%;background:#0A0A0A;border-bottom:2px solid #C4A052;padding:10px 20px 18px;display:flex;flex-direction:column;gap:2px;max-height:calc(100vh - 70px);overflow-y:auto}
.pub-menu__panel a{color:#FAFAFA;text-decoration:none;font-weight:600;font-size:17px;padding:10px 6px;min-height:44px;display:flex;align-items:center;border-bottom:1px solid #222222}
.pub-menu__panel a[aria-current="page"]{color:#C4A052}
.pub-menu__acct{display:flex;gap:10px;flex-wrap:wrap;padding-top:12px}
.pub-menu__acct a{border-bottom:0}
@media (max-width:1179px){.pub-nav,.pub-acct{display:none}.pub-menu{display:block}}

/* ---- buttons ---- */
.pub-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 24px;border-radius:8px;font-weight:700;font-size:16px;text-decoration:none;background:#C4A052;color:#0A0A0A;border:2px solid #C4A052;line-height:1.2;text-align:center}
.pub-btn:hover{background:#B08F3F;border-color:#B08F3F;color:#0A0A0A}
.pub-btn--sm{min-height:44px;padding:8px 16px;font-size:15px}
.pub-btn--ghost{background:transparent;color:#FAFAFA;border-color:#5A5A5A}
.pub-btn--ghost:hover{background:#222222;border-color:#C4A052;color:#FAFAFA}
.pub-btn--light{background:transparent;color:#FAFAFA;border-color:#FAFAFA}
.pub-btn--light:hover{background:#FAFAFA;color:#0A0A0A;border-color:#FAFAFA}
.pub-btn--dark{background:#1A1A1A;color:#FAFAFA;border-color:#1A1A1A}
.pub-btn--dark:hover{background:#0A0A0A;color:#FAFAFA;border-color:#0A0A0A}
.pub-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}

/* ---- hero (one treatment, every page; copy differs per page) ---- */
.pub-hero{background:#0A0A0A linear-gradient(160deg,#0A0A0A 0%,#1A1A1A 62%,#222222 100%);color:#FAFAFA;padding:58px 0 54px;border-bottom:1px solid #2A2A2A}
.pub-hero--home{padding:84px 0 78px}
.pub-hero h1{font-size:clamp(31px,4.6vw,52px);line-height:1.12;margin:0 0 16px;letter-spacing:-.015em;max-width:900px;color:#FAFAFA}
.pub-hero h1 span{color:#C4A052}
.pub-lede{font-size:clamp(17px,1.7vw,20px);color:#E2E6EC;max-width:760px;margin:0}
.pub-kicker{display:inline-block;margin:0 0 16px;padding:6px 14px;border:1px solid #6B5A2F;border-radius:999px;color:#C4A052;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
/* Breadcrumb balance (Tony 2026-11-06 "the breadcrumb is not balanced", key grace-crm-breadcrumb-1106): the items share ONE text
   baseline. Was the flex default (stretch): the 32px Home link centered its text while "/" and the current page sat at the top of
   the row, 4.5px higher. The last item takes the rest of the row, so a long title wraps under itself instead of jumping a line. */
.pub-crumbs ol{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;font-size:14px;color:#C9CFD8}
.pub-crumbs li{display:flex;align-items:baseline;min-width:0}
.pub-crumbs li:last-child{flex:1 1 10em}   /* "/" and the label are separate boxes: a wrapped label hangs under its own first word */
.pub-crumbs li+li::before{content:"/";margin-right:6px;color:#8C8C8C}
.pub-crumbs a{color:#E2E6EC;display:inline-flex;align-items:center;min-height:32px}
.pub-crumbs--doc ol{color:#575757}
.pub-crumbs--doc a{color:#7D6020}
.pub-crumbs--doc li+li::before{color:#8C8C8C}
.pub-facts{display:flex;flex-wrap:wrap;gap:12px 34px;margin:34px 0 0;padding:0;list-style:none}
.pub-facts li{color:#C9CFD8;font-size:14px;max-width:220px}
.pub-facts b{display:block;color:#FAFAFA;font-size:22px;font-weight:800;line-height:1.2}

/* ---- main content ---- */
.pub-main{padding:46px 0 30px}
.pub-main h2{font-size:clamp(24px,2.6vw,32px);line-height:1.2;margin:46px 0 12px;color:#1A1A1A;letter-spacing:-.01em}
.pub-main h2:first-child{margin-top:0}
.pub-main h3{font-size:19px;margin:0 0 6px;color:#1A1A1A}
.pub-main p{margin:0 0 14px;color:#3B3B3B}
.pub-main ul{padding-left:22px;color:#3B3B3B}
.pub-main li{margin:0 0 8px}
.pub-sub{color:#575757;font-size:17px;max-width:760px}
.pub-rule{width:56px;height:3px;background:#C4A052;border:0;margin:0 0 14px}
.pub-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(270px,100%),1fr));gap:16px;margin:18px 0 8px}
.pub-card{background:#F3F1EB;border:1px solid #DED9CC;border-radius:12px;padding:20px 20px 16px;min-width:0}
.pub-card h3 a{color:#1A1A1A;text-decoration:none;display:inline-flex;align-items:center;min-height:32px}
.pub-card h3 a::after{content:" \2192";color:#7D6020;margin-left:6px}
.pub-card h3 a:hover{color:#7D6020}
.pub-card p{margin:0;color:#3B3B3B;font-size:15.5px}
.pub-split{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:26px;align-items:start;margin:20px 0}
.pub-split>*{min-width:0}
.pub-panel{background:#F3F1EB;border:1px solid #DED9CC;border-radius:12px;padding:22px 24px}
.pub-check{list-style:none;padding:0 !important;margin:10px 0 0}
.pub-check li{position:relative;padding-left:30px;margin:0 0 10px}
.pub-check li::before{content:"";position:absolute;left:0;top:5px;width:16px;height:16px;border-radius:50%;background:#C4A052;box-shadow:inset 0 0 0 4px #F3F1EB}
.pub-steps{counter-reset:s;list-style:none;padding:0 !important;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));gap:16px;margin:18px 0}
.pub-steps li{counter-increment:s;background:#F3F1EB;border:1px solid #DED9CC;border-radius:12px;padding:20px;margin:0}
.pub-steps li::before{content:counter(s);display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:#0A0A0A;color:#C4A052;font-weight:800;margin-bottom:10px}
.pub-steps b{display:block;color:#1A1A1A;font-size:17.5px;margin-bottom:4px}
.pub-note{border-left:4px solid #C4A052;background:#F3F1EB;padding:16px 20px;border-radius:0 10px 10px 0;margin:22px 0;color:#3B3B3B}
.pub-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:16px 0;border:1px solid #DED9CC;border-radius:10px}
.pub-table{width:100%;border-collapse:collapse;font-size:15.5px;min-width:520px;background:#FAFAFA}
.pub-table th,.pub-table td{text-align:left;padding:12px 14px;border-bottom:1px solid #DED9CC;vertical-align:top;color:#1A1A1A}
.pub-table th{background:#ECE8DD;font-size:14px;letter-spacing:.02em}

/* ---- FAQ ---- */
.pub-faq details{background:#F3F1EB;border:1px solid #DED9CC;border-radius:10px;margin:0 0 10px;padding:0 18px}
.pub-faq summary{cursor:pointer;font-weight:700;color:#1A1A1A;min-height:52px;display:flex;align-items:center;padding:10px 0}
.pub-faq details p{margin:0 0 16px}

/* ---- forms ---- */
.pub-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:4px 18px}
.pub-form .wide{grid-column:1/-1}
.pub-form label{display:block;font-weight:700;color:#1A1A1A;margin:12px 0 6px;font-size:15px}
.pub-form input,.pub-form select,.pub-form textarea{width:100%;min-height:48px;padding:11px 13px;font:16px/1.4 inherit;font-family:inherit;color:#1A1A1A;background:#FAFAFA;border:1px solid #9A9384;border-radius:8px}
.pub-form textarea{min-height:130px;resize:vertical}
.pub-form .hint{font-size:14px;color:#575757;margin:6px 0 0}
.pub-hp{position:absolute !important;left:-10000px !important;width:1px;height:1px;overflow:hidden}
.pub-alert{border-radius:10px;padding:16px 20px;margin:0 0 20px;font-weight:600}
.pub-alert--ok{background:#E9F3EA;border:1px solid #9BC59F;color:#1E4D23}
.pub-alert--err{background:#FBECEA;border:1px solid #E0A49C;color:#7A1F14}

/* ---- documents (legal pages, business facts) ---- */
.pub-doc{max-width:820px}
.pub-doc h1{font-size:clamp(30px,3.6vw,40px);line-height:1.2;margin:4px 0 8px;color:#1A1A1A}
.pub-doc .updated{color:#575757;margin:0 0 30px}
.pub-doc h2{font-size:23px !important;margin:34px 0 10px !important;color:#1A1A1A}
.pub-doc h3{font-size:18.5px;margin:22px 0 8px}
.pub-doc strong{color:#1A1A1A}
.pub-doc .muted{color:#575757}
.pub-doc table{width:100%;border-collapse:collapse;margin:12px 0 20px;font-size:15.5px;table-layout:fixed}
.pub-doc th,.pub-doc td{border:1px solid #DED9CC;padding:10px 12px;text-align:left;vertical-align:top;overflow-wrap:anywhere}

/* ---- call-to-action band + footer ---- */
.pub-band{background:#0A0A0A;color:#FAFAFA;padding:44px 0;border-top:2px solid #C4A052;margin-top:34px}
.pub-band__in{display:flex;flex-wrap:wrap;gap:20px 40px;align-items:center;justify-content:space-between}
.pub-band h2{color:#FAFAFA;margin:0 0 8px;font-size:clamp(22px,2.4vw,28px)}
.pub-band p{color:#D4D9E0;margin:0;max-width:640px}
.pub-band .pub-ctas{margin-top:0}
.pub-foot{background:#1A1A1A;color:#C9CFD8;padding:44px 0 90px;font-size:15px}
.pub-foot__cols{display:grid;grid-template-columns:2fr repeat(4,1fr);gap:26px}
.pub-foot h2{color:#C4A052;font-size:13px;letter-spacing:.14em;text-transform:uppercase;margin:0 0 10px}
.pub-foot nav a{display:flex;align-items:center;min-height:36px;color:#E2E6EC;text-decoration:none}
.pub-foot nav a:hover{color:#C4A052}
.pub-foot p{margin:0 0 12px;color:#C9CFD8}
.pub-foot p a{color:#E2E6EC;display:inline-flex;align-items:center;min-height:32px}
.pub-brand--foot{font-size:19px;color:#FAFAFA;margin:0 0 8px}
.pub-copy{border-top:1px solid #2E2E2E;margin-top:26px;padding-top:18px;font-size:14px}
@media (max-width:900px){.pub-foot__cols{grid-template-columns:1fr 1fr}.pub-foot__cols>div:first-child{grid-column:1/-1}}
@media (max-width:480px){.pub-foot__cols{grid-template-columns:1fr}.pub-hero{padding:42px 0 40px}.pub-hero--home{padding:52px 0 48px}.pub-btn{width:100%}.pub-ctas{flex-direction:column}.pub-acct .pub-btn,.pub-menu__acct .pub-btn{width:auto}}

/* ---- the widget rail keeps its dark buttons on this light site (scoped variables, no layout change) ---- */
#translate-btn,#back-to-top{--bg:#0A0A0A;--gold:#C4A052}
#translatePanel{--panel:#1A1A1A;--bg:#0A0A0A;--ink:#FAFAFA;--mut:#A3B5CC;--gold:#C4A052}

@media print{.pub-top,.pub-band,.pub-foot,#translate-btn,#back-to-top{display:none !important}body.pub{background:#FAFAFA;color:#1A1A1A}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto !important;transition:none !important;animation:none !important}}
.pub-facts--light{margin:0 0 10px;padding:18px 22px !important;background:#F3F1EB;border:1px solid #DED9CC;border-radius:12px}
.pub-facts--light li{color:#575757}
.pub-facts--light b{color:#1A1A1A}
/* ---- hero with the silent background (home, about) ---- */
.pub-hero--media{position:relative;overflow:hidden;isolation:isolate}
.pub-hero--media>.pub-wrap{position:relative;z-index:2}
.pub-hero__bg{position:absolute;inset:0;z-index:0;pointer-events:none}
.pub-hero__bg img,.pub-hero__bg video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;max-width:none}
.pub-hero__bg video{opacity:0;transition:opacity .9s ease}
.pub-hero__bg video.on{opacity:1}
.pub-hero__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,10,.80) 0%,rgba(10,10,10,.70) 45%,rgba(10,10,10,.92) 100%)}
.pub-hero--media h1,.pub-hero--media .pub-lede{text-shadow:0 2px 18px rgba(0,0,0,.55)}
@media (prefers-reduced-motion:reduce){.pub-hero__bg video{display:none !important}}
