.lagoria-public-site {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    color: #1F2933;
    background: radial-gradient(circle at top left, rgb(111 168 67 / 10%), transparent 34rem),
        linear-gradient(180deg, #FBFCFA 0, #F6F8F4 18rem);
    --public-primary: #6FA843;
    --public-primary-dark: #527F31;
    --public-primary-soft: #EAF3E3;
    --public-secondary: #24313D;
    --public-surface: #FFF;
    --public-border: #E2E8DD;
    --public-text: #1F2933;
    --public-muted: #667085;
    --public-shadow-soft: 0 18px 42px rgb(31 41 51 / 8%);
    --public-shadow-card: 0 10px 24px rgb(31 41 51 / 5.5%);
}

.lagoria-public-header {
    min-height: 76px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 12px clamp(20px, 5vw, 72px);
    background: #fff;
    border-bottom: 1px solid #E2E8DD;
    box-shadow: 0 2px 10px rgb(36 49 61 / 5%);
}

.lagoria-public-brand {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: #24313D;
    font-size: 1.2rem;
    font-weight: 750;
    text-decoration: none;
}

.lagoria-public-brand img { width: 42px; height: 42px; }
.lagoria-public-desktop-menu, .lagoria-public-mobile-menu nav { display: flex; align-items: center; gap: clamp(12px, 2.4vw, 32px); }
.lagoria-public-header nav a, .lagoria-public-footer a { color: #344054; font-weight: 600; text-decoration: none; }
.lagoria-public-header nav a:hover, .lagoria-public-footer a:hover { color: #527F31; text-decoration: underline; }
.lagoria-public-header .lagoria-public-login { color: #fff; background: #6FA843; border-radius: 999px; padding: 10px 20px; }
.lagoria-public-mobile-menu { display: none; }
.lagoria-public-main { width: 100%; flex: 1; margin: 0 auto; }
.lagoria-public-main .container { width: 100%; max-width: 1180px; margin-inline: auto; padding-inline: 1.25rem; }
.lagoria-public-main .content-page > .container { width: 100%; max-width: 1180px; padding-inline: 1.25rem; }
.lagoria-public-main .page-header { margin-bottom: 24px; }
.lagoria-public-main .page-header h1 { color: #24313D; font-size: clamp(2rem, 4vw, 2.55rem); font-weight: 750; line-height: 1.12; }
.lagoria-public-main article.content { color: #344054; line-height: 1.65; }
.lagoria-public-main article.content h2 { margin-top: 1.8em; color: #24313D; font-size: 1.45rem; font-weight: 720; }
.lagoria-public-main article.content a { color: #527F31; }
.lagoria-public-footer { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px 28px; padding: 24px; background: #fff; border-top: 1px solid #E2E8DD; }
.lagoria-public-main .list-items { display: grid; gap: 18px; }
.lagoria-public-main .content-item, .lagoria-public-main .single-content { padding: 24px; border: 1px solid #E2E8DD; border-radius: 18px; background: #fff; box-shadow: 0 4px 18px rgb(36 49 61 / 5%); }
.lagoria-disabled-nav { display: grid; grid-template-columns: 24px 1fr; align-items: center; gap: 4px 12px; padding: 8px 16px; color: #98A2B3; cursor: default; }
.lagoria-disabled-nav small { grid-column: 2; font-size: .72rem; }
.lagoria-document-nav-link { display: block; padding: 8px 16px; color: #344054; font-weight: 500; text-decoration: none; }
.lagoria-document-nav-link:hover { color: #527F31; text-decoration: underline; }
.local-import-retry-banner { margin: 16px; }

/* The published website documents keep their original content classes. Share
   their presentation through the same stylesheet used by the app and generator. */
.lagoria-public-main .hero { padding: 3rem 0 1.5rem; }
.lagoria-public-main .hero-inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, 440px); align-items: center; gap: 2rem; }
.lagoria-public-main .hero-content { max-width: 760px; }
.lagoria-public-main .site-kicker { margin-bottom: .8rem; color: var(--public-primary-dark); font-size: .78rem; font-weight: 800; text-transform: uppercase; }
.lagoria-public-main .hero-title { max-width: 780px; margin: 0 0 1rem; color: var(--public-text); font-size: clamp(2.15rem, 4.5vw, 4.15rem); font-weight: 850; letter-spacing: 0; line-height: 1.04; }
.lagoria-public-main .hero-subtitle { max-width: 680px; margin: 0 0 1.35rem; color: var(--public-muted); font-size: 1.08rem; line-height: 1.55; }
.lagoria-public-main .search { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .75rem; max-width: 760px; }
.lagoria-public-main .search-field { display: flex; align-items: center; min-height: 54px; padding: 0 1rem; background: var(--public-surface); border: 1px solid var(--public-border); border-radius: 8px; box-shadow: var(--public-shadow-card); }
.lagoria-public-main .search-icon { display: inline-block; flex: 0 0 16px; width: 16px; height: 16px; margin-right: .75rem; position: relative; border: 2px solid var(--public-muted); border-radius: 50%; }
.lagoria-public-main .search-icon::after { content: ""; position: absolute; right: -4px; bottom: -5px; width: 2px; height: 7px; background: var(--public-muted); border-radius: 999px; transform: rotate(-45deg); }
.lagoria-public-main .search input[type="search"] { width: 100%; min-width: 0; padding: 0; border: 0; outline: 0; background: transparent; color: var(--public-text); font: inherit; }
.lagoria-public-main .btn { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: .8rem 1.25rem; border: 0; border-radius: 8px; font-weight: 800; text-decoration: none; cursor: pointer; transition: background .18s ease, box-shadow .18s ease, transform .18s ease; }
.lagoria-public-main .btn-primary, .lagoria-public-main .btn-dark { background: var(--public-primary); box-shadow: 0 10px 22px rgb(82 127 49 / 20%); color: #FFF; }
.lagoria-public-main .btn-primary:hover, .lagoria-public-main .btn-dark:hover { background: var(--public-primary-dark); color: #FFF; transform: translateY(-1px); }
.lagoria-public-main .hero-preview { padding: 1rem; background: var(--public-surface); border: 1px solid var(--public-border); border-radius: 8px; box-shadow: var(--public-shadow-soft); }
.lagoria-public-main .preview-topbar { display: flex; gap: .45rem; margin-bottom: .85rem; }
.lagoria-public-main .preview-topbar span { width: 36px; height: 8px; background: var(--public-border); border-radius: 999px; }
.lagoria-public-main .preview-panel { display: grid; grid-template-columns: 1fr .85fr; gap: .8rem; }
.lagoria-public-main .preview-map { aspect-ratio: 1; position: relative; background: linear-gradient(90deg, transparent 47%, rgb(36 49 61 / 18%) 48%, rgb(36 49 61 / 18%) 52%, transparent 53%), linear-gradient(0deg, transparent 47%, rgb(36 49 61 / 18%) 48%, rgb(36 49 61 / 18%) 52%, transparent 53%), var(--public-primary-soft); border: 1px solid var(--public-border); border-radius: 8px; }
.lagoria-public-main .preview-map::after { content: ""; position: absolute; top: 42%; left: 50%; width: 26px; height: 26px; background: var(--public-primary); border: 4px solid var(--public-surface); border-radius: 50%; box-shadow: 0 8px 20px rgb(82 127 49 / 28%); transform: translate(-50%, -50%); }
.lagoria-public-main .preview-metrics { padding: 1rem; background: #F8FAF7; border: 1px solid var(--public-border); border-radius: 8px; }
.lagoria-public-main .preview-score { margin-bottom: 1rem; color: var(--public-primary-dark); font-size: 2.3rem; font-weight: 850; line-height: 1; }
.lagoria-public-main .preview-lines, .lagoria-public-main .preview-list { display: grid; gap: .55rem; }
.lagoria-public-main .preview-lines span, .lagoria-public-main .preview-list span { display: block; height: 8px; background: var(--public-border); border-radius: 999px; }
.lagoria-public-main .preview-lines span:nth-child(1) { width: 90%; }
.lagoria-public-main .preview-lines span:nth-child(2) { width: 72%; }
.lagoria-public-main .preview-lines span:nth-child(3) { width: 58%; }
.lagoria-public-main .preview-list { gap: .6rem; margin-top: .9rem; }
.lagoria-public-main .preview-list span { height: 13px; }
.lagoria-public-main .preview-list span:nth-child(2) { width: 78%; }
.lagoria-public-main .features, .lagoria-public-main .how-it-works, .lagoria-public-main .cta-section, .lagoria-public-main .contact { padding: 2.25rem 0; }
.lagoria-public-main .features-cards { margin-top: 1.5rem; }
.lagoria-public-main .cards, .lagoria-public-main .steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.lagoria-public-main .card, .lagoria-public-main .step, .lagoria-public-main .content-page .content, .lagoria-public-main .content-page .list-item { background: var(--public-surface); border: 1px solid var(--public-border); border-radius: 8px; box-shadow: var(--public-shadow-card); }
.lagoria-public-main .card { min-height: 205px; padding: 1.25rem; transition: box-shadow .18s ease, transform .18s ease; }
.lagoria-public-main .card:hover { box-shadow: var(--public-shadow-soft); transform: translateY(-2px); }
.lagoria-public-main .card-icon { position: relative; width: 34px; height: 34px; margin-bottom: 1rem; background: var(--public-primary-soft); border-radius: 8px; }
.lagoria-public-main .card-icon::before { content: ""; position: absolute; top: 7px; left: 11px; width: 12px; height: 12px; background: var(--public-primary); border-radius: 50%; }
.lagoria-public-main .card-icon::after { content: ""; position: absolute; top: 18px; left: 9px; width: 16px; height: 8px; border: 2px solid var(--public-secondary); border-top: 0; }
.lagoria-public-main .card-body { padding: 0; }
.lagoria-public-main .card-title, .lagoria-public-main .step h3 { margin: 0 0 .55rem; color: var(--public-text); font-size: 1.08rem; font-weight: 800; letter-spacing: 0; }
.lagoria-public-main .card-text, .lagoria-public-main .step p, .lagoria-public-main .contact-subtitle, .lagoria-public-main .cta-subtitle { color: var(--public-muted); }
.lagoria-public-main .section-title { margin: 0 0 1.25rem; color: var(--public-text); font-size: clamp(1.65rem, 2.6vw, 2.4rem); font-weight: 850; letter-spacing: 0; text-align: center; }
.lagoria-public-main .steps { margin-top: 1.25rem; }
.lagoria-public-main .step { padding: 1.25rem; text-align: left; }
.lagoria-public-main .step-number { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; margin-bottom: 1rem; background: var(--public-primary-soft); border-radius: 8px; color: var(--public-primary-dark); font-weight: 850; }
.lagoria-public-main .cta-section .container, .lagoria-public-main .contact .container { padding-top: 2rem; padding-bottom: 2rem; background: var(--public-surface); border: 1px solid var(--public-border); border-radius: 8px; box-shadow: var(--public-shadow-card); text-align: center; }
.lagoria-public-main .hero-cta { display: flex; flex-wrap: wrap; justify-content: center; gap: .75rem; margin-top: 1.25rem; }
.lagoria-public-main .contact-subtitle, .lagoria-public-main .cta-subtitle { max-width: 680px; margin: 0 auto 1.25rem; }
.lagoria-public-main .content-page { padding: 3rem 0; }
.lagoria-public-main .content-page .content, .lagoria-public-main .content-page .list-item { padding: 1.5rem; }
.lagoria-public-main .content-page .content p, .lagoria-public-main .content-page .content ul, .lagoria-public-main .content-page .content ol, .lagoria-public-main .content-page .list-item p { margin-bottom: 1rem; }
.lagoria-public-main .content-page img { max-width: 100%; height: auto; }
.lagoria-public-main .sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

@media (max-width: 960px) {
    .lagoria-public-main .hero-inner { grid-template-columns: 1fr; }
    .lagoria-public-main .hero-preview { max-width: 520px; }
    .lagoria-public-main .cards, .lagoria-public-main .steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
    .lagoria-public-main .container { padding-inline: 1rem; }
    .lagoria-public-main .hero { padding-top: 2rem; }
    .lagoria-public-main .hero-inner { grid-template-columns: minmax(0, 1fr); }
    .lagoria-public-main .hero-content, .lagoria-public-main .hero-preview { min-width: 0; }
    .lagoria-public-main .hero-title { font-size: clamp(2rem, 8vw, 2.15rem); }
    .lagoria-public-main .search, .lagoria-public-main .cards, .lagoria-public-main .steps { grid-template-columns: 1fr; }
    .lagoria-public-main .btn { width: 100%; }
}

@media (max-width: 760px) {
    .lagoria-public-header { min-height: 68px; }
    .lagoria-public-desktop-menu { display: none; }
    .lagoria-public-mobile-menu { display: block; }
    .lagoria-public-mobile-menu summary { cursor: pointer; color: #24313D; font-weight: 650; list-style: none; }
    .lagoria-public-mobile-menu summary::-webkit-details-marker { display: none; }
    .lagoria-public-mobile-menu nav { position: absolute; z-index: 5; top: 62px; right: 16px; display: grid; min-width: 220px; gap: 0; padding: 8px; border: 1px solid #E2E8DD; border-radius: 14px; background: #fff; box-shadow: 0 8px 24px rgb(36 49 61 / 16%); }
    .lagoria-public-mobile-menu nav a { padding: 12px; }
    .lagoria-public-main { width: 100%; margin: 0 auto; }
    .lagoria-public-main .content-item, .lagoria-public-main .single-content { padding: 16px; }
}

/* SLICE-1921: the same semantic rows become cards on small screens. */
.system-info-table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.system-info-table caption { text-align: left; font-size: 1.25rem; font-weight: 600; margin: 1rem 0; }
.system-info-table th, .system-info-table td { text-align: left; vertical-align: top; padding: .75rem; border-bottom: 1px solid var(--mud-palette-lines-default); overflow-wrap: anywhere; }
.system-info-table thead th:first-child { width: 22%; }
.system-info-table thead th:nth-child(2) { width: 22%; }
.system-info-fields { margin: 0; }
.system-info-fields > div { display: grid; grid-template-columns: minmax(7rem, 40%) minmax(0, 1fr); gap: .5rem; margin-bottom: .4rem; }
.system-info-fields dt { font-weight: 500; }
.system-info-fields dd { margin: 0; min-width: 0; overflow-wrap: anywhere; }
.system-info-value summary { cursor: pointer; }
.system-info-value > span { display: block; overflow-wrap: anywhere; }
.system-info-copy { font: inherit; padding: .3rem .6rem; border-radius: .3rem; color: var(--mud-palette-primary); background: transparent; border: 1px solid currentColor; cursor: pointer; }
.system-info-mobile-label { display: none; }
@media (max-width: 700px) {
    .system-info-table, .system-info-table tbody, .system-info-table tr, .system-info-table th, .system-info-table td { display: block; width: 100%; }
    .system-info-table thead { display: none; }
    .system-info-table tr { margin-bottom: 1rem; border: 1px solid var(--mud-palette-lines-default); border-radius: .5rem; }
    .system-info-table th, .system-info-table td { border: 0; }
    .system-info-table th { font-size: 1.1rem; padding-bottom: 0; }
    .system-info-mobile-label { display: inline; }
    .system-info-fields > div { grid-template-columns: minmax(0, 1fr); gap: .1rem; margin-bottom: .75rem; }
}
