/* Public site static pages — shared with the homepage visual language */
.public-site-page-layout {
    --home-green-950:#092f2c;--home-green-900:#0d4039;--home-green-800:#165349;--home-green-700:#25665a;
    --home-gold-500:#d5aa61;--home-cream-100:#fbf8f1;--home-cream-200:#f5efe3;--home-ink:#17312d;--home-muted:#6f7771;
    background:#fff;
}
.site-page { color:var(--home-ink); background:#fff; }
.site-page-hero { position:relative; overflow:hidden; padding:5.3rem 0 4.6rem; text-align:center; background:radial-gradient(circle at 50% 0,#fff8e9 0,transparent 35%),linear-gradient(180deg,#f7f0e4,#fbfaf7); border-bottom:1px solid #eee6db; }
.site-page-hero::before,.site-page-hero::after { position:absolute; width:14rem; height:14rem; content:""; color:#708c75; opacity:.1; border:1px solid currentColor; border-radius:50%; }
.site-page-hero::before { inset-inline-start:-6rem; inset-block-start:-7rem; }
.site-page-hero::after { inset-inline-end:-5rem; inset-block-end:-9rem; }
.site-page-hero__inner { position:relative; z-index:1; max-width:54rem; }
.site-page-hero__eyebrow,.site-kicker,.site-section-heading>span { display:block; margin-bottom:.7rem; color:#a67c3f; font-size:.78rem; font-weight:800; }
.site-page-hero h1 { margin:0; color:var(--home-green-950); font-size:clamp(2rem,4vw,3.2rem); font-weight:900; line-height:1.45; letter-spacing:-.035em; }
.site-page-hero p { max-width:44rem; margin:1rem auto 0; color:#52605b; font-size:.92rem; line-height:2.05; }
.site-page-section { padding:4.7rem 0; }
.site-page-section--tint { background:#fbfaf7; border-block:1px solid #f0eae1; }
.site-story { display:grid; grid-template-columns:1.1fr .9fr; gap:4rem; align-items:start; }
.site-story__copy h2,.site-section-heading h2,.site-contact-copy h2 { margin:.2rem 0 1rem; color:var(--home-green-950); font-size:1.65rem; font-weight:850; line-height:1.6; }
.site-story__copy p,.site-contact-copy>p { margin:.7rem 0; color:#65716c; font-size:.88rem; line-height:2.1; }
.site-story__principles { display:grid; gap:.7rem; }
.site-story__principles article { display:grid; grid-template-columns:3.3rem 1fr; gap:1rem; padding:1.15rem; background:#fff; border:1px solid #e9e2d7; border-radius:.9rem; box-shadow:0 .65rem 1.8rem rgb(52 50 42 / 5%); }
.site-story__principles article>span { width:3.1rem; height:3.1rem; display:grid; place-items:center; color:#fff; font-size:.74rem; font-weight:850; background:var(--home-green-800); border-radius:50%; }
.site-story__principles h3 { margin:.05rem 0 .3rem; font-size:.92rem; }
.site-story__principles p { margin:0; color:#6d7772; font-size:.78rem; line-height:1.85; }
.site-section-heading { max-width:43rem; margin:0 auto 2rem; text-align:center; }
.site-section-heading h2 { margin:0; }
.site-value-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }
.site-value-grid article { min-height:11rem; padding:1.4rem; background:#fff; border:1px solid #eae2d6; border-radius:.9rem; }
.site-value-grid strong { display:block; margin-bottom:.65rem; color:#26423b; font-size:.95rem; }
.site-value-grid p { margin:0; color:#727b76; font-size:.78rem; line-height:1.95; }
.site-page-cta { padding:0 0 4.2rem; }
.site-page-cta__inner { min-height:8.7rem; display:flex; align-items:center; justify-content:space-between; gap:2rem; padding:1.6rem 2rem; color:#fff; background:linear-gradient(120deg,#092e2b,#0d463e 60%,#07302d); border-radius:1rem; box-shadow:0 1.2rem 3rem rgb(8 52 46 / 14%); }
.site-page-cta__inner span { color:#ddb66e; font-size:.76rem; }
.site-page-cta__inner h2 { margin:.35rem 0 0; color:#fff; font-size:1.4rem; }
.site-contact-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:4rem; }
.site-contact-card { display:flex; align-items:center; gap:1rem; max-width:28rem; margin-top:1.5rem; padding:1rem; background:#fbfaf7; border:1px solid #e8dfd2; border-radius:.85rem; }
.site-contact-card>span { width:3rem; height:3rem; display:grid; place-items:center; color:#fff; background:var(--home-green-800); border-radius:50%; }
.site-contact-card small,.site-contact-card a { display:block; }
.site-contact-card small { color:#808680; font-size:.72rem; }
.site-contact-card a { margin-top:.2rem; color:var(--home-green-900); font-size:.92rem; font-weight:800; text-decoration:none; direction:ltr; }
.site-contact-note { max-width:31rem; margin-top:1rem!important; padding:.8rem 1rem; color:#866a3d!important; font-size:.76rem!important; background:#fff9ec; border:1px solid #eee0bd; border-radius:.7rem; }
.site-contact-help { display:grid; gap:.55rem; padding:1.3rem; background:#fbfaf7; border:1px solid #eee6dc; border-radius:1rem; }
.site-contact-help h2 { margin:.1rem .35rem .5rem; font-size:1rem; }
.site-contact-help a { display:block; padding:1rem; color:inherit; text-decoration:none; background:#fff; border:1px solid #e9e2d7; border-radius:.75rem; transition:transform 150ms ease,border-color 150ms ease; }
.site-contact-help a:hover { transform:translateY(-1px); border-color:#d5b374; }
.site-contact-help strong,.site-contact-help span { display:block; }
.site-contact-help strong { font-size:.85rem; }
.site-contact-help span { margin-top:.3rem; color:#75807b; font-size:.74rem; line-height:1.8; }
.site-faq-list { max-width:58rem; display:grid; gap:.7rem; }
.site-faq-list details { overflow:hidden; background:#fff; border:1px solid #e8e1d6; border-radius:.85rem; }
.site-faq-list summary { position:relative; padding:1.2rem 1.3rem; color:#284039; font-size:.9rem; font-weight:800; cursor:pointer; list-style:none; }
.site-faq-list summary::-webkit-details-marker { display:none; }
.site-faq-list summary::after { position:absolute; inset-inline-end:1.2rem; content:"+"; color:#a67c3f; font-size:1.2rem; }
.site-faq-list details[open] summary::after { content:"−"; }
.site-faq-list details>div { padding:0 1.3rem 1.25rem; color:#6c7671; font-size:.82rem; line-height:2; border-top:1px solid #f0ebe4; }
.site-legal-layout { display:grid; grid-template-columns:14rem minmax(0,1fr); gap:3.5rem; align-items:start; }
.site-legal-nav { position:sticky; top:1.2rem; display:grid; gap:.2rem; padding:1rem; background:#fbfaf7; border:1px solid #ebe4da; border-radius:.85rem; }
.site-legal-nav strong { margin-bottom:.5rem; font-size:.8rem; }
.site-legal-nav a { padding:.48rem .55rem; color:#64706b; font-size:.75rem; text-decoration:none; border-radius:.45rem; }
.site-legal-nav a:hover { color:var(--home-green-900); background:#fff; }
.site-legal-content { max-width:52rem; }
.site-legal-content section { scroll-margin-top:2rem; padding:0 0 2rem; margin:0 0 2rem; border-bottom:1px solid #eee8df; }
.site-legal-content section:last-child { border-bottom:0; }
.site-legal-content h2 { margin:0 0 .7rem; color:#284039; font-size:1.12rem; }
.site-legal-content p { margin:0; color:#66716c; font-size:.84rem; line-height:2.15; }
@media(max-width:991.98px){.site-value-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.site-story,.site-contact-grid{gap:2rem}.site-legal-layout{grid-template-columns:11rem minmax(0,1fr);gap:2rem}}
@media(max-width:767.98px){.site-page-hero{padding:3.5rem 0 3.2rem}.site-page-hero p{font-size:.84rem}.site-page-section{padding:3rem 0}.site-story,.site-contact-grid,.site-legal-layout{grid-template-columns:1fr}.site-story{gap:2rem}.site-value-grid{grid-template-columns:1fr}.site-value-grid article{min-height:0}.site-page-cta{padding-inline:.75rem}.site-page-cta__inner{align-items:stretch;flex-direction:column;text-align:center}.site-page-cta__inner .home-btn{width:100%}.site-legal-nav{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.site-legal-nav strong{grid-column:1/-1}.site-contact-grid{gap:2rem}}
@media(max-width:479.98px){.site-page-hero h1{font-size:1.8rem}.site-page-hero p{font-size:.8rem}.site-story__principles article{grid-template-columns:2.8rem 1fr;padding:.9rem}.site-story__principles article>span{width:2.7rem;height:2.7rem}.site-legal-nav{grid-template-columns:1fr}.site-faq-list summary{padding-inline:1rem 2.5rem}.site-faq-list details>div{padding-inline:1rem}}

/* ==========================================================================
   Public site shell + static-page visual system
   Header/footer/buttons now share one context with the homepage.
   ========================================================================== */

.public-site-shell {
    --home-green-950: #092f2c;
    --home-green-900: #0d4039;
    --home-green-800: #165349;
    --home-green-700: #25665a;
    --home-gold-500: #d5aa61;
    --home-gold-300: #ead2a6;
    --home-cream-50: #fffdfa;
    --home-cream-100: #fbf8f1;
    --home-cream-200: #f5efe3;
    --home-ink: #17312d;
    --home-muted: #66736d;
    --home-line: #e9e2d7;
    --home-shadow-sm: 0 .6rem 1.8rem rgb(43 48 42 / 7%);
    --home-shadow: 0 1.25rem 3.5rem rgb(43 48 42 / 10%);
    --home-type-micro: .6875rem;
    --home-type-xs: .75rem;
    --home-type-sm: .8125rem;
    --home-type-base: .875rem;
    --home-type-md: 1rem;
    color: var(--home-ink);
    background: #fff;
}

/* Shared header/footer typography must not depend on the current page type. */
.public-site-shell .home-brand small {
    font-size: var(--home-type-xs);
    line-height: 1.45;
}

.public-site-shell .home-nav a,
.public-site-shell .home-btn {
    font-size: var(--home-type-sm);
}

.public-site-shell .home-footer section h2 {
    font-size: var(--home-type-base);
}

.public-site-shell .home-footer__brand p,
.public-site-shell .home-footer section > p,
.public-site-shell .home-footer section > a,
.public-site-shell .home-footer section > span {
    font-size: var(--home-type-xs);
    line-height: 1.9;
}

.public-site-shell .home-footer__bottom p {
    font-size: var(--home-type-micro);
}

/* --------------------------------------------------------------------------
   Static page canvas
   -------------------------------------------------------------------------- */

.public-site-page-layout .public-main {
    overflow: clip;
    background:
        radial-gradient(circle at 10% 8%, rgb(213 170 97 / 6%), transparent 24rem),
        linear-gradient(180deg, #fff 0%, #fdfbf7 100%);
}

.site-page {
    position: relative;
    color: var(--home-ink);
    background: transparent;
}

/* --------------------------------------------------------------------------
   Internal hero — same calm visual language as homepage, but more editorial.
   -------------------------------------------------------------------------- */

.site-page-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: clamp(4.2rem, 8vw, 6.5rem) 0 clamp(3.8rem, 7vw, 5.6rem);
    text-align: center;
    background:
        radial-gradient(circle at 50% -10%, #fff9e9 0 10%, transparent 34%),
        radial-gradient(circle at 14% 36%, rgb(77 118 97 / 11%), transparent 25rem),
        radial-gradient(circle at 88% 28%, rgb(213 170 97 / 12%), transparent 25rem),
        linear-gradient(180deg, #f7f0e4 0%, #fbfaf7 72%, #fff 100%);
    border-bottom: 1px solid #eee6db;
}

.site-page-hero::before {
    position: absolute;
    z-index: -1;
    width: 23rem;
    height: 23rem;
    inset-block-start: -13rem;
    inset-inline-start: -8rem;
    content: "";
    border: 1px solid rgb(37 102 90 / 13%);
    border-radius: 50%;
    box-shadow:
        0 0 0 3.5rem rgb(37 102 90 / 2%),
        0 0 0 7rem rgb(37 102 90 / 1.5%);
}

.site-page-hero::after {
    position: absolute;
    z-index: -1;
    width: 18rem;
    height: 18rem;
    inset-inline-end: -7rem;
    inset-block-end: -11rem;
    content: "";
    background:
        radial-gradient(circle at 50% 50%, rgb(213 170 97 / 15%), transparent 55%);
    border: 1px solid rgb(213 170 97 / 17%);
    border-radius: 50%;
}

.site-page-hero__inner {
    position: relative;
    z-index: 1;
    max-width: 56rem;
}

.site-page-hero__inner::before {
    display: block;
    width: 3.5rem;
    height: 1px;
    margin: 0 auto .9rem;
    content: "";
    background: linear-gradient(90deg, transparent, var(--home-gold-500), transparent);
}

.site-page-hero__eyebrow,
.site-kicker,
.site-section-heading > span {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    margin-bottom: .75rem;
    color: #9d7337;
    font-size: var(--home-type-xs);
    font-weight: 800;
    letter-spacing: .01em;
}

.site-page-hero__eyebrow::before,
.site-page-hero__eyebrow::after {
    width: .35rem;
    height: .35rem;
    content: "";
    background: var(--home-gold-500);
    border-radius: 50%;
    opacity: .65;
}

.site-page-hero h1 {
    max-width: 48rem;
    margin: 0 auto;
    color: var(--home-green-950);
    font-size: clamp(2rem, 4.2vw, 3.4rem);
    font-weight: 900;
    line-height: 1.5;
    letter-spacing: -.035em;
}

.site-page-hero p {
    max-width: 43rem;
    margin: 1rem auto 0;
    color: #53625c;
    font-size: var(--home-type-base);
    line-height: 2.05;
}

/* --------------------------------------------------------------------------
   Generic content sections
   -------------------------------------------------------------------------- */

.site-page-section {
    position: relative;
    padding: clamp(3.6rem, 7vw, 5.4rem) 0;
}

.site-page-section--tint {
    background:
        radial-gradient(circle at 86% 10%, rgb(213 170 97 / 5%), transparent 20rem),
        linear-gradient(180deg, #fbfaf7, #f8f5ef);
    border-block: 1px solid #f0eae1;
}

.site-story {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(20rem, .92fr);
    align-items: center;
    gap: clamp(2.5rem, 6vw, 5.5rem);
}

.site-story__copy {
    max-width: 43rem;
}

.site-story__copy h2,
.site-section-heading h2,
.site-contact-copy h2 {
    margin: .2rem 0 1rem;
    color: var(--home-green-950);
    font-size: clamp(1.45rem, 2.4vw, 1.9rem);
    font-weight: 850;
    line-height: 1.65;
}

.site-story__copy p,
.site-contact-copy > p {
    margin: .8rem 0;
    color: #61706a;
    font-size: var(--home-type-base);
    line-height: 2.15;
}

.site-story__principles {
    position: relative;
    display: grid;
    gap: .8rem;
    padding: 1rem;
    background:
        linear-gradient(145deg, rgb(251 248 241 / 85%), rgb(255 255 255 / 95%));
    border: 1px solid #eee5d8;
    border-radius: 1.25rem;
    box-shadow: var(--home-shadow);
}

.site-story__principles::before {
    position: absolute;
    width: 6rem;
    height: 6rem;
    inset-block-start: -1.5rem;
    inset-inline-end: -1.5rem;
    content: "❧";
    color: var(--home-green-700);
    font-family: serif;
    font-size: 5rem;
    line-height: 1;
    opacity: .08;
    transform: rotate(25deg);
}

.site-story__principles article {
    position: relative;
    display: grid;
    grid-template-columns: 3.4rem minmax(0, 1fr);
    align-items: center;
    gap: 1rem;
    padding: 1.05rem 1.1rem;
    background: rgb(255 255 255 / 88%);
    border: 1px solid #ece4d9;
    border-radius: .85rem;
    box-shadow: 0 .4rem 1.1rem rgb(52 50 42 / 4%);
}

.site-story__principles article > span {
    width: 3.15rem;
    height: 3.15rem;
    display: grid;
    place-items: center;
    color: #fff;
    font-size: var(--home-type-xs);
    font-weight: 850;
    background:
        linear-gradient(145deg, var(--home-green-700), var(--home-green-950));
    border: 3px solid #edf3ee;
    border-radius: 50%;
    box-shadow: 0 .5rem 1rem rgb(9 47 44 / 14%);
}

.site-story__principles h3 {
    margin: .05rem 0 .25rem;
    color: #29443d;
    font-size: var(--home-type-md);
}

.site-story__principles p {
    margin: 0;
    color: #6b7771;
    font-size: var(--home-type-xs);
    line-height: 1.9;
}

.site-section-heading {
    max-width: 46rem;
    margin: 0 auto 2.4rem;
    text-align: center;
}

.site-section-heading > span {
    justify-content: center;
}

.site-section-heading h2 {
    margin: 0;
}

/* --------------------------------------------------------------------------
   About value cards
   -------------------------------------------------------------------------- */

.site-value-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .9rem;
}

.site-value-grid article {
    position: relative;
    min-height: 12.5rem;
    overflow: hidden;
    padding: 1.55rem 1.35rem;
    background:
        linear-gradient(155deg, #fff, #fdfbf6);
    border: 1px solid #e9e1d5;
    border-radius: 1rem;
    box-shadow: var(--home-shadow-sm);
    transition:
        transform 160ms ease,
        border-color 160ms ease,
        box-shadow 160ms ease;
}

.site-value-grid article::before {
    display: block;
    width: 2.6rem;
    height: .2rem;
    margin-bottom: 1.15rem;
    content: "";
    background: linear-gradient(90deg, var(--home-gold-500), transparent);
    border-radius: 999px;
}

.site-value-grid article::after {
    position: absolute;
    width: 6rem;
    height: 6rem;
    inset-inline-end: -3rem;
    inset-block-end: -3rem;
    content: "";
    background: rgb(37 102 90 / 4%);
    border-radius: 50%;
}

.site-value-grid article:hover {
    transform: translateY(-3px);
    border-color: #d9bc84;
    box-shadow: var(--home-shadow);
}

.site-value-grid strong {
    display: block;
    margin-bottom: .65rem;
    color: #26423b;
    font-size: var(--home-type-md);
}

.site-value-grid p {
    margin: 0;
    color: #697670;
    font-size: var(--home-type-xs);
    line-height: 2;
}

/* --------------------------------------------------------------------------
   Page CTA
   -------------------------------------------------------------------------- */

.site-page-cta {
    padding: 0 .75rem 4.8rem;
}

.site-page-cta__inner {
    position: relative;
    min-height: 10rem;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    padding: 2rem 2.3rem;
    color: #fff;
    background:
        radial-gradient(circle at 0 100%, rgb(213 170 97 / 17%), transparent 17rem),
        linear-gradient(120deg, #092e2b, #0d463e 60%, #07302d);
    border: 1px solid rgb(255 255 255 / 8%);
    border-radius: 1.2rem;
    box-shadow: 0 1.4rem 3.6rem rgb(8 52 46 / 18%);
}

.site-page-cta__inner::after {
    position: absolute;
    width: 10rem;
    height: 10rem;
    inset-inline-end: -3rem;
    inset-block-start: -5rem;
    content: "❧";
    color: #fff;
    font-family: serif;
    font-size: 9rem;
    line-height: 1;
    opacity: .05;
    transform: rotate(30deg);
}

.site-page-cta__inner > * {
    position: relative;
    z-index: 1;
}

.site-page-cta__inner span {
    color: #e4bf78;
    font-size: var(--home-type-xs);
}

.site-page-cta__inner h2 {
    margin: .4rem 0 0;
    color: #fff;
    font-size: 1.5rem;
    line-height: 1.6;
}

/* --------------------------------------------------------------------------
   Contact
   -------------------------------------------------------------------------- */

.site-contact-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(20rem, .92fr);
    gap: clamp(2.5rem, 6vw, 5rem);
    align-items: start;
}

.site-contact-card {
    display: flex;
    align-items: center;
    gap: 1rem;
    max-width: 31rem;
    margin-top: 1.6rem;
    padding: 1.15rem;
    background:
        linear-gradient(145deg, #fff, #fbfaf6);
    border: 1px solid #e7ddce;
    border-radius: 1rem;
    box-shadow: var(--home-shadow-sm);
}

.site-contact-card > span {
    width: 3.4rem;
    height: 3.4rem;
    display: grid;
    flex: 0 0 auto;
    place-items: center;
    color: #fff;
    font-size: 1.05rem;
    background: linear-gradient(145deg, var(--home-green-700), var(--home-green-950));
    border-radius: .9rem;
    box-shadow: 0 .55rem 1.2rem rgb(9 47 44 / 16%);
}

.site-contact-card small,
.site-contact-card a {
    display: block;
}

.site-contact-card small {
    color: #7d857f;
    font-size: var(--home-type-xs);
}

.site-contact-card a {
    margin-top: .2rem;
    color: var(--home-green-900);
    font-size: var(--home-type-md);
    font-weight: 800;
    text-decoration: none;
    direction: ltr;
}

.site-contact-note {
    max-width: 33rem;
    margin-top: 1rem !important;
    padding: .9rem 1rem;
    color: #816331 !important;
    font-size: var(--home-type-xs) !important;
    background: #fff9ec;
    border: 1px solid #ecdcb7;
    border-radius: .75rem;
}

.site-contact-help {
    display: grid;
    gap: .65rem;
    padding: 1.1rem;
    background:
        radial-gradient(circle at 100% 0, rgb(213 170 97 / 8%), transparent 12rem),
        #f9f6ef;
    border: 1px solid #ebe2d5;
    border-radius: 1.15rem;
    box-shadow: var(--home-shadow-sm);
}

.site-contact-help h2 {
    margin: .25rem .4rem .55rem;
    color: var(--home-green-950);
    font-size: var(--home-type-md);
}

.site-contact-help a {
    position: relative;
    display: block;
    padding: 1.05rem 1rem;
    color: inherit;
    text-decoration: none;
    background: #fff;
    border: 1px solid #e8e0d4;
    border-radius: .8rem;
    transition:
        transform 150ms ease,
        border-color 150ms ease,
        box-shadow 150ms ease;
}

.site-contact-help a:hover {
    transform: translateY(-2px);
    border-color: #d5b374;
    box-shadow: 0 .55rem 1.2rem rgb(52 50 42 / 7%);
}

.site-contact-help strong,
.site-contact-help span {
    display: block;
}

.site-contact-help strong {
    color: #2c453e;
    font-size: var(--home-type-base);
}

.site-contact-help span {
    margin-top: .3rem;
    color: #727e78;
    font-size: var(--home-type-xs);
    line-height: 1.85;
}

/* --------------------------------------------------------------------------
   FAQ
   -------------------------------------------------------------------------- */

.site-faq-list {
    max-width: 62rem;
    display: grid;
    gap: .75rem;
}

.site-faq-list details {
    overflow: hidden;
    background: #fff;
    border: 1px solid #e7dfd3;
    border-radius: .95rem;
    box-shadow: 0 .35rem 1.1rem rgb(52 50 42 / 4%);
    transition:
        border-color 150ms ease,
        box-shadow 150ms ease;
}

.site-faq-list details[open] {
    border-color: #dbc18f;
    box-shadow: 0 .65rem 1.8rem rgb(52 50 42 / 6%);
}

.site-faq-list summary {
    position: relative;
    min-height: 4rem;
    display: flex;
    align-items: center;
    padding: 1rem 1.25rem 1rem 3.4rem;
    color: #284039;
    font-size: var(--home-type-base);
    font-weight: 800;
    cursor: pointer;
    list-style: none;
}

.site-faq-list summary::-webkit-details-marker {
    display: none;
}

.site-faq-list summary::after {
    position: absolute;
    inset-inline-end: 1.2rem;
    width: 1.9rem;
    height: 1.9rem;
    display: grid;
    place-items: center;
    content: "+";
    color: #906a31;
    font-size: 1.05rem;
    background: #fbf5e9;
    border: 1px solid #ead9b8;
    border-radius: 50%;
}

.site-faq-list details[open] summary::after {
    content: "−";
    background: #f5ead5;
}

.site-faq-list details > div {
    padding: 1rem 1.3rem 1.25rem;
    color: #65716c;
    font-size: var(--home-type-sm);
    line-height: 2.05;
    background: #fffdfa;
    border-top: 1px solid #f0e9df;
}

/* --------------------------------------------------------------------------
   Legal / policy pages
   -------------------------------------------------------------------------- */

.site-legal-layout {
    display: grid;
    grid-template-columns: 15rem minmax(0, 1fr);
    gap: clamp(2.2rem, 5vw, 4.2rem);
    align-items: start;
}

.site-legal-nav {
    position: sticky;
    top: 1.4rem;
    display: grid;
    gap: .2rem;
    padding: 1rem;
    background:
        linear-gradient(155deg, #fcfaf5, #f7f3eb);
    border: 1px solid #e8dfd2;
    border-radius: 1rem;
    box-shadow: var(--home-shadow-sm);
}

.site-legal-nav strong {
    margin: .15rem .5rem .7rem;
    color: var(--home-green-950);
    font-size: var(--home-type-sm);
}

.site-legal-nav a {
    position: relative;
    padding: .58rem .65rem;
    color: #5f6d67;
    font-size: var(--home-type-xs);
    text-decoration: none;
    border-radius: .55rem;
}

.site-legal-nav a::before {
    position: absolute;
    width: .25rem;
    height: .25rem;
    inset-inline-start: .1rem;
    inset-block-start: 50%;
    content: "";
    background: var(--home-gold-500);
    border-radius: 50%;
    opacity: 0;
    transform: translateY(-50%);
}

.site-legal-nav a:hover {
    color: var(--home-green-900);
    background: #fff;
}

.site-legal-nav a:hover::before {
    opacity: .8;
}

.site-legal-content {
    max-width: 55rem;
    padding: 0 1.65rem;
    background: #fff;
    border: 1px solid #eee7dc;
    border-radius: 1.1rem;
    box-shadow: var(--home-shadow-sm);
}

.site-legal-content section {
    scroll-margin-top: 2rem;
    padding: 1.65rem 0;
    margin: 0;
    border-bottom: 1px solid #eee8df;
}

.site-legal-content section:last-child {
    border-bottom: 0;
}

.site-legal-content h2 {
    position: relative;
    margin: 0 0 .75rem;
    padding-inline-start: 1rem;
    color: #284039;
    font-size: 1.08rem;
    line-height: 1.7;
}

.site-legal-content h2::before {
    position: absolute;
    width: .3rem;
    height: 1.15rem;
    inset-inline-start: 0;
    inset-block-start: .25rem;
    content: "";
    background: linear-gradient(180deg, var(--home-gold-500), #ead5ae);
    border-radius: 999px;
}

.site-legal-content p {
    margin: 0;
    color: #606e68;
    font-size: var(--home-type-sm);
    line-height: 2.15;
}

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */

@media (max-width: 991.98px) {
    .site-value-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .site-story,
    .site-contact-grid {
        gap: 2.2rem;
    }

    .site-legal-layout {
        grid-template-columns: 12rem minmax(0, 1fr);
        gap: 2rem;
    }
}

@media (max-width: 767.98px) {
    .site-page-hero {
        padding: 3.5rem 0 3.2rem;
    }

    .site-page-hero h1 {
        font-size: clamp(1.8rem, 8vw, 2.25rem);
    }

    .site-page-hero p {
        font-size: var(--home-type-sm);
    }

    .site-page-section {
        padding: 3.2rem 0;
    }

    .site-story,
    .site-contact-grid,
    .site-legal-layout {
        grid-template-columns: 1fr;
    }

    .site-story {
        gap: 2rem;
    }

    .site-value-grid {
        grid-template-columns: 1fr;
    }

    .site-value-grid article {
        min-height: 0;
    }

    .site-page-cta__inner {
        align-items: stretch;
        flex-direction: column;
        text-align: center;
    }

    .site-page-cta__inner .home-btn {
        width: 100%;
    }

    .site-legal-nav {
        position: static;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .site-legal-nav strong {
        grid-column: 1 / -1;
    }

    .site-legal-content {
        padding-inline: 1rem;
    }

    .site-contact-grid {
        gap: 2rem;
    }

    .site-faq-list summary {
        font-size: var(--home-type-sm);
    }
}

@media (max-width: 479.98px) {
    .site-page-hero {
        padding-inline: .25rem;
    }

    .site-page-hero h1 {
        font-size: 1.82rem;
    }

    .site-page-hero p {
        font-size: var(--home-type-sm);
    }

    .site-story__principles {
        padding: .65rem;
    }

    .site-story__principles article {
        grid-template-columns: 2.85rem minmax(0, 1fr);
        padding: .85rem;
    }

    .site-story__principles article > span {
        width: 2.7rem;
        height: 2.7rem;
    }

    .site-legal-nav {
        grid-template-columns: 1fr;
    }

    .site-faq-list summary {
        min-height: 3.7rem;
        padding-inline: 1rem 3rem;
    }

    .site-faq-list details > div {
        padding-inline: 1rem;
    }

    .site-contact-card {
        align-items: flex-start;
    }
}

/* Contact inbox form */
.site-contact-layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:3.2rem;align-items:start}.site-contact-form-card{padding:1.35rem;background:#fbfaf7;border:1px solid #e8dfd2;border-radius:1.2rem;box-shadow:0 1rem 3rem rgb(20 48 43 / 7%)}.site-contact-form-card header{margin-bottom:1rem}.site-contact-form-card header>span{color:#a67c3f;font-size:.72rem;font-weight:800}.site-contact-form-card header h2{margin:.25rem 0;color:var(--home-green-950);font-size:1.2rem}.site-contact-form-card header p{margin:0;color:#74807b;font-size:.76rem;line-height:1.8}.site-contact-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.site-field{display:grid;gap:.35rem}.site-field--wide,.site-contact-form>.public-form-security,.site-contact-form__submit{grid-column:1/-1}.site-field>span{color:#43534d;font-size:.72rem;font-weight:750}.site-field>span small,.site-field>small{color:#8a938f;font-weight:400}.site-field input,.site-field select,.site-field textarea{width:100%;padding:.72rem .8rem;color:#263d37;background:#fff;border:1px solid #ddd5ca;border-radius:.72rem;outline:none;font:inherit;font-size:.78rem}.site-field textarea{resize:vertical;line-height:1.9}.site-field input:focus,.site-field select:focus,.site-field textarea:focus{border-color:#8fa99d;box-shadow:0 0 0 .18rem rgb(71 112 98 / 9%)}.site-contact-form__submit{min-height:3rem;color:#fff;background:#0c5148;border:0;border-radius:.78rem;font:inherit;font-size:.8rem;font-weight:850;cursor:pointer}.site-contact-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;margin-top:1.3rem}.site-contact-shortcuts a{padding:.85rem 1rem;color:inherit;text-decoration:none;background:#fff;border:1px solid #ece4d9;border-radius:.8rem}.site-contact-shortcuts strong,.site-contact-shortcuts span{display:block}.site-contact-shortcuts strong{font-size:.75rem}.site-contact-shortcuts span{margin-top:.25rem;color:#78827e;font-size:.68rem}.site-form-alert{margin-bottom:.8rem;padding:.65rem .75rem;border-radius:.65rem;font-size:.74rem}.site-form-alert.is-success{color:#225d4a;background:#edf8f3;border:1px solid #cce8dc}.site-form-alert.is-error{color:#8a4138;background:#fff3f1;border:1px solid #efd2cd}@media(max-width:767.98px){.site-contact-layout{grid-template-columns:1fr;gap:2rem}.site-contact-form{grid-template-columns:1fr}.site-field--wide,.site-contact-form>.public-form-security,.site-contact-form__submit{grid-column:auto}.site-contact-shortcuts{grid-template-columns:1fr}}

/* Contact form security — full-width, native to the contact card. */
.site-contact-form > .public-form-security--contact {
    grid-column: 1 / -1;
    width: 100%;
    max-width: none;
    margin: .05rem 0 0;
    padding: .72rem .78rem;
    background: rgba(244, 239, 231, .42);
    border: 1px solid rgba(125, 110, 90, .14);
    border-radius: .8rem;
}

@media (max-width: 767.98px) {
    .site-contact-form > .public-form-security--contact {
        grid-column: auto;
        padding: .65rem;
    }
}


/* Managed FAQ & legal content */
.site-faq-layout{display:grid;grid-template-columns:13rem minmax(0,1fr);gap:2rem;align-items:start}.site-faq-categories{position:sticky;top:6rem;display:grid;gap:.2rem;padding:.8rem;background:#fff;border:1px solid #ebe5dc;border-radius:1rem;box-shadow:var(--home-shadow-sm)}.site-faq-categories>strong{padding:.35rem .5rem;color:var(--home-green-950);font-size:var(--home-type-sm)}.site-faq-categories a{display:flex;justify-content:space-between;padding:.55rem .6rem;color:#66746e;text-decoration:none;border-radius:.6rem;font-size:var(--home-type-xs)}.site-faq-categories a:hover{color:var(--home-green-800);background:#f6f8f5}.site-faq-groups{display:grid;gap:2rem}.site-faq-group{scroll-margin-top:6rem}.site-faq-group>header{display:flex;align-items:center;gap:.8rem;margin-bottom:.7rem}.site-faq-group>header>span{display:grid;place-items:center;width:2.35rem;height:2.35rem;color:#8b754d;background:#faf5e9;border:1px solid #eadfc8;border-radius:50%;font-size:.7rem;font-weight:800}.site-faq-group h2{margin:0;color:var(--home-green-950);font-size:1.05rem}.site-faq-group header p{margin:.1rem 0 0;color:#8a958f;font-size:.7rem}.site-faq-list{display:grid;gap:.55rem}.site-faq-list details{background:#fff;border:1px solid #e8e4dc;border-radius:.8rem}.site-faq-list summary{padding:.85rem 1rem;color:#344c45;cursor:pointer;font-size:var(--home-type-sm);font-weight:750}.site-faq-list details>div{padding:0 1rem 1rem;color:#68766f;font-size:var(--home-type-xs);line-height:2.1}.site-legal-version{display:flex;gap:.45rem;margin-top:1rem}.site-legal-version span{padding:.32rem .58rem;color:#d8e6df;background:rgb(255 255 255/7%);border:1px solid rgb(255 255 255/10%);border-radius:999px;font-size:.68rem}.site-legal-layout--managed{grid-template-columns:15rem minmax(0,1fr);gap:2.3rem}.site-legal-nav__contact{margin-top:.55rem!important;padding-top:.7rem!important;color:#8b7043!important;border-top:1px solid #ece5da}.site-legal-content>section{position:relative;scroll-margin-top:6rem;padding:1.25rem 1.35rem;background:#fff;border:1px solid #e9e4dc;border-radius:1rem}.site-legal-content>section+section{margin-top:.8rem}.site-legal-content__index{display:block;color:#aa8950;font-size:.65rem;font-weight:800}.site-legal-content__body{color:#637169;font-size:var(--home-type-xs);line-height:2.2}@media(max-width:991.98px){.site-faq-layout,.site-legal-layout--managed{grid-template-columns:1fr}.site-faq-categories,.site-legal-nav{position:static;display:flex;overflow:auto;white-space:nowrap}.site-faq-categories>strong,.site-legal-nav strong{display:none}.site-faq-categories a,.site-legal-nav a{flex:0 0 auto}}
