/* Universal public website. Deliberately isolated from installed classic sites. */
body.website-theme-universal {
    --wa-bg: #f8f8f3;
    --wa-ink: #223731;
    --wa-muted: #596b63;
    --wa-brand: var(--website-accent, #25635c);
    --wa-blue: var(--wa-brand);
    --wa-brand-dark: #1c4b45;
    --wa-line: #dce3dc;
    --wa-shadow: 0 15px 40px rgba(34,55,49,.07);
    --wa-radius: 16px;
    background: var(--wa-bg);
    color: var(--wa-ink);
    font-family: "Segoe UI", system-ui, sans-serif;
}
body.website-theme-universal :is(h1, h2, h3, .public-brand strong, .public-process li strong, .public-process li > span) { font-family: inherit; }
body.website-theme-universal :is(a, button, input, select, textarea):focus-visible { outline: 3px solid var(--wa-brand); outline-offset: 4px; }
body.website-theme-universal .public-header { border-color: var(--wa-line); background: #f8f8f3; }
body.website-theme-universal .public-nav-row { min-height: 96px; }
body.website-theme-universal .public-brand strong { font-size: 20px; font-weight: 750; letter-spacing: -.035em; }
body.website-theme-universal .public-brand small { margin-top: 5px; color: var(--wa-muted); font-size: 10px; letter-spacing: .09em; }
body.website-theme-universal .public-brand-mark { width: 44px; height: 44px; border-color: var(--wa-line); border-radius: 12px; background: #edf0e8; }
body.website-theme-universal .public-navigation a { color: var(--wa-ink); font-size: 14px; font-weight: 600; }
body.website-theme-universal .public-navigation .public-nav-cta { padding: 12px 19px; border-radius: 10px; color: #fff; }
body.website-theme-universal .public-eyebrow { color: var(--wa-brand); font-size: 11px; font-weight: 750; letter-spacing: .14em; }
body.website-theme-universal .public-button { min-height: 52px; border-radius: 10px; padding-inline: 24px; font-size: 14px; font-weight: 650; gap: 24px; box-shadow: none; }
body.website-theme-universal .public-button.is-primary { color: #fff; background: var(--wa-brand); box-shadow: none; }
body.website-theme-universal .public-button.is-primary:hover { background: var(--wa-brand-dark); }
body.website-theme-universal .public-button.is-secondary { border-color: #c5d2c8; background: transparent; color: var(--wa-ink); }
body.website-theme-universal .public-button.is-secondary:hover { background: #edf0e8; }
body.website-theme-universal .universal-hero { padding-block: clamp(40px,6vw,86px) clamp(64px,8vw,110px); }
body.website-theme-universal .universal-hero-grid { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,.9fr); align-items: center; gap: clamp(34px,6vw,92px); }
body.website-theme-universal .universal-hero-copy { padding-block: 24px; }
body.website-theme-universal .universal-hero h1 { max-width: 12ch; margin: 18px 0 26px; font-size: clamp(42px,5.8vw,78px); line-height: 1.06; letter-spacing: -.055em; font-weight: 620; text-wrap: balance; }
body.website-theme-universal .universal-hero-intro { max-width: 46ch; margin: 0; color: var(--wa-muted); font-size: clamp(16px,1.4vw,18px); line-height: 1.8; }
body.website-theme-universal .universal-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
body.website-theme-universal .universal-hero-visual { position: relative; overflow: hidden; min-width: 0; aspect-ratio: 4/4.7; border-radius: 130px 16px 16px 16px; background: #e8ebe2; }
body.website-theme-universal .universal-hero-visual > img { display: block; width: 100%; height: 100%; object-fit: cover; }
body.website-theme-universal .universal-space-art { position: absolute; inset: 0; overflow: hidden; background: linear-gradient(115deg,#ebeee5 0 45%,#dde3d9 45% 100%); }
body.website-theme-universal .universal-space-art::after { position: absolute; content: ""; inset: 76% 0 0; background: #cdd7c9; }
body.website-theme-universal .universal-space-window { position: absolute; inset: 12% 26% 25% 18%; border: 12px solid #f7f8f1; border-radius: 80px 80px 0 0; background: #9bb4a5; box-shadow: 18px 10px 0 rgba(45,77,54,.06), inset 0 0 0 4px #587c69; }
body.website-theme-universal .universal-space-window::before { content: ""; position: absolute; left: 48%; top: 0; bottom: 0; width: 5px; background: #f4f7eb; }
body.website-theme-universal .universal-space-window::after { content: ""; position: absolute; left: 0; right: 0; top: 54%; height: 5px; background: #f4f7eb; }
body.website-theme-universal .universal-space-light { position: absolute; left: 18%; top: 68%; width: 60%; height: 35%; background: rgba(252,252,228,.5); transform: skewX(-35deg); }
body.website-theme-universal .universal-space-plinth { position: absolute; z-index: 1; right: 4%; bottom: 12%; width: 50%; height: 19%; background: #e6deca; box-shadow: -8px 10px 0 rgba(58,75,58,.07); }
body.website-theme-universal .universal-space-vase { position: absolute; z-index: 2; right: 16%; bottom: 31%; width: 14%; height: 17%; border-radius: 30% 30% 44% 44%; background: #597865; }
body.website-theme-universal .public-section { padding-block: clamp(58px,7vw,100px); }
body.website-theme-universal :is(.public-about-copy h2, .public-section-heading h2, .public-process h2, .public-contact h2) { font-family: inherit; font-size: clamp(30px,3.7vw,49px); line-height: 1.14; letter-spacing: -.04em; font-weight: 600; }
body.website-theme-universal .public-section-heading { gap: clamp(24px,5vw,64px); margin-bottom: 36px; }
body.website-theme-universal .public-featured-offers { border-block: 1px solid var(--wa-line); background: #fff; }
body.website-theme-universal :is(.public-offer-card, .public-post-card, .public-agent-card) { border-color: var(--wa-line); border-radius: 16px; box-shadow: none; }
body.website-theme-universal :is(.public-offer-photo, .public-post-image) { background: #eaf0e7; }
body.website-theme-universal .public-offer-card h3 { font-family: inherit; }
body.website-theme-universal .public-about-grid { grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: clamp(40px,7vw,100px); }
body.website-theme-universal .universal-about-visual { min-height: 390px; border: 0; border-radius: 16px; background: #e8ede2; box-shadow: none; }
body.website-theme-universal .universal-plan-art { position: absolute; inset: 15%; border: 7px solid #658674; background: #f7f8f1; box-shadow: 16px 16px 0 #d9e3d4; }
body.website-theme-universal .universal-plan-art i { position: absolute; display: block; border: 3px solid #658674; }
body.website-theme-universal .universal-plan-art i:nth-child(1) { top: -3px; right: -3px; width: 43%; height: 58%; }
body.website-theme-universal .universal-plan-art i:nth-child(2) { bottom: -3px; left: -3px; width: 41%; height: 33%; }
body.website-theme-universal .universal-plan-art i:nth-child(3) { bottom: 7%; right: 8%; width: 26%; height: 15%; border-radius: 30%; background: #e2e8da; }
body.website-theme-universal .universal-plan-art i:nth-child(4) { top: 15%; left: 10%; width: 22%; height: 28%; border-radius: 6px; background: #e2e8da; }
body.website-theme-universal .public-services { border-top: 1px solid var(--wa-line); background: var(--wa-bg); }
body.website-theme-universal .public-service-grid { gap: 20px; }
body.website-theme-universal .public-service-card { min-height: 230px; padding: 28px; border: 1px solid var(--wa-line); border-radius: 16px; background: #fff; box-shadow: none; }
body.website-theme-universal .public-service-card > span { position: static; color: var(--wa-brand); font-family: inherit; font-size: 14px; font-weight: 650; }
body.website-theme-universal .public-service-card h3 { margin: 36px 0 12px; font-family: inherit; font-size: 23px; font-weight: 600; }
body.website-theme-universal .public-process { background: #e7eee6; color: var(--wa-ink); padding-block: clamp(58px,7vw,94px); }
body.website-theme-universal .public-process :is(h2, .public-eyebrow) { color: var(--wa-ink); }
body.website-theme-universal .public-process :is(p, li small) { color: var(--wa-muted); }
body.website-theme-universal .public-process li { padding: 22px 0; border: 0; border-bottom: 1px solid #c9d6ca; border-radius: 0; background: transparent; }
body.website-theme-universal .public-process li > span { border: 1px solid #bdcec0; border-radius: 50%; background: transparent; color: var(--wa-brand); font-family: inherit; font-size: 15px; }
body.website-theme-universal .public-process li strong { font-family: inherit; font-weight: 650; }
body.website-theme-universal .public-contact-card { border-color: var(--wa-line); border-radius: 20px; background: #fff; box-shadow: none; }
body.website-theme-universal .public-contact-card::after { display: none; }
body.website-theme-universal .public-contact-actions a { border-color: var(--wa-line); border-radius: 10px; background: #f6f8f2; box-shadow: none; }
body.website-theme-universal .public-contact-form { border-color: var(--wa-line); }
body.website-theme-universal .public-contact-form :is(input, textarea) { border-color: #becfc2; border-radius: 8px; color: var(--wa-ink); }
body.website-theme-universal .public-footer { background: #1e3830; }
body.website-theme-universal .public-brand.is-footer { color: #fff; }
body.website-theme-universal .public-brand.is-footer small { color: #bfcdc4; }
body.website-theme-universal .public-brand.is-footer .public-brand-mark { background: #e7eee6; }
body.website-theme-universal .public-footer-grid h2 { font-family: inherit; font-weight: 650; }
body.website-theme-universal :is(.public-slider, .public-slider--cards .public-slider-shade) { background: #294a3e; }
body.website-theme-universal .public-slider--split .public-slider-shade { background: linear-gradient(90deg,#294a3e 0 50%,rgba(41,74,62,.08) 72%); }
body.website-theme-universal .public-slider-copy h1 { font-family: inherit; font-size: clamp(42px,5.8vw,76px); line-height: 1.1; }
body.website-theme-universal :is(.public-slider .public-eyebrow, .public-slider-copy p:not(.public-eyebrow)) { color: #e0eadf; }
body.website-theme-universal :is(.public-standard-hero, .public-posts-hero, .public-single-post-header, .public-home-posts--news) { background: #edf1e8; }
body.website-theme-universal .public-standard-hero h1 { font-family: inherit; }
@media (max-width: 960px) {
    body.website-theme-universal .universal-hero-grid { grid-template-columns: minmax(0,1fr) minmax(0,.85fr); gap: 30px; }
    body.website-theme-universal .public-about-grid { grid-template-columns: minmax(0,1fr); }
    body.website-theme-universal .universal-about-visual { min-height: 320px; }
    body.website-theme-universal .public-navigation { background: #f8f8f3; }
}
@media (max-width: 720px) {
    body.website-theme-universal .public-nav-row { min-height: 80px; gap: 15px; }
    body.website-theme-universal .universal-hero { padding-block: 30px 50px; }
    body.website-theme-universal .universal-hero-grid { grid-template-columns: minmax(0,1fr); gap: 36px; }
    body.website-theme-universal .universal-hero-copy { padding: 0; }
    body.website-theme-universal .universal-hero h1 { max-width: 15ch; font-size: clamp(40px,9vw,62px); }
    body.website-theme-universal .universal-hero-visual { aspect-ratio: 6/5; border-top-left-radius: 90px; }
    body.website-theme-universal .universal-hero-actions { gap: 10px; }
    body.website-theme-universal .universal-hero-actions .public-button { flex: 1 1 auto; }
    body.website-theme-universal .public-service-grid { grid-template-columns: minmax(0,1fr); }
    body.website-theme-universal .public-service-card { min-height: 0; }
    body.website-theme-universal .public-service-card h3 { margin-top: 24px; }
    body.website-theme-universal .public-section-heading { grid-template-columns: minmax(0,1fr); gap: 16px; }
}
@media (max-width: 620px) {
    body.website-theme-universal .public-slider--cards .public-slider-shade { background: linear-gradient(100deg,rgba(29,56,47,.82),rgba(41,74,62,.44)); }
}
@media (prefers-reduced-motion: reduce) {
    body.website-theme-universal :is(.public-button, .public-offer-card, .public-service-card, .public-post-card) { transition: none; }
}
