:root {
    color-scheme: light;
    font-family: Arial, sans-serif;
    --ch-primary: #2a9d8f;
    --ch-secondary: #f6f0e7;
    --ch-contrast: #d96c5f;
    --ch-dark: #0f4c3a;
    --ch-bg: #f6f0e7;
    --ch-surface-1: #fffaf3;
    --ch-surface-2: #d9c9b1;
    --ch-border: #d9c9b1;
    --ch-text: #0f4c3a;
    --ch-text-secondary: #786d61;
    --ch-text-muted: #a89b8c;
    --ch-terracotta: #b5523c;
    --ch-mustard: #d4a017;
    --ch-coral: #d96c5f;
    --ch-cream: #f6f0e7;
    --ch-sand: #d9c9b1;
    --ch-taupe: #a89b8c;
}

:root[data-theme="dark"] {
    color-scheme: dark;
    --ch-secondary: #d96c5f;
    --ch-contrast: #d96c5f;
    --ch-bg: #082f27;
    --ch-surface-1: #0f4c3a;
    --ch-surface-2: #176454;
    --ch-border: #2a9d8f;
    --ch-text: #f6f0e7;
    --ch-text-secondary: #d9c9b1;
    --ch-text-muted: #a89b8c;
}

/* MOV-1.2.53-003: remove persistent touch shading on every mobile browser. */
html { -webkit-tap-highlight-color: transparent; }
a, button, input, select, textarea, summary, label { -webkit-tap-highlight-color: rgba(0,0,0,0); }
a, button, summary { -webkit-touch-callout: none; touch-action: manipulation; }
a, button, summary, [role="button"] { user-select: none; -webkit-user-select: none; }
button:focus:not(:focus-visible), a:focus:not(:focus-visible), summary:focus:not(:focus-visible) { outline: none; }

* {
    box-sizing: border-box;
}

html,
body {
    margin: 0;
    min-height: 100%;
}

html { scroll-behavior: smooth; }

body { color: var(--ch-text); background: var(--ch-bg); transition: color 280ms ease, background-color 280ms ease; }

.site-frame {
    min-height: 100vh;
    display: grid;
    grid-template-rows: auto 1fr auto;
}

.site-frame__header,
.site-frame__main,
.site-frame__footer {
    min-width: 0;
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
}

/* MOV-1.2.43-007: shared spacing for every inner guest page. */
.guest-inner .site-frame__main { padding-top:150px; }

/* MOV-1.2.44-028: contextual banner, shared by all inner pages. */
.guest-inner .site-frame__main{padding-top:0}.page-banner{height:250px;position:relative;background-image:linear-gradient(180deg,#f6f0e755,#0f4c3a22),var(--banner-image);background-position:center,var(--banner-position);background-size:cover,var(--banner-size);background-repeat:no-repeat,var(--banner-repeat);isolation:isolate}.page-banner::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#082f2788,transparent 60%);z-index:-1}
