﻿/* Shared visual system, aligned with the light architecture hero. */
:root {
  --ink: #123f30;
  --green: #123f30;
  --paper: #faf8f2;
  --muted: #636860;
  --line: #e0ddd1;
  --gold: #a07737;
  --surface: #f2efe6;
}
body { font: 16px/1.75 Arial, Helvetica, sans-serif; }
main .section { padding-top: 88px; padding-bottom: 88px; }
main .section h2 { font-family: var(--serif); font-size: clamp(38px, 3.5vw, 53px); line-height: 1.12; letter-spacing: -1.5px; color: #173d30; }
main .section h2 em { color: var(--gold); }
main .section .eyebrow { font: 600 11px/1.6 Arial, Helvetica, sans-serif; letter-spacing: 2px; color: #315844; }
main .section .eyebrow:before { background: var(--gold); }
main .section p:not(.eyebrow) { font-family: Arial, Helvetica, sans-serif; }
.section-heading { margin-bottom: 38px; }
.section-heading > p, .about-text p, .service-detail p:not(.eyebrow), .service-summary p, .outlook p, .comparison-grid p, .comparison-grid li { font-size: 16px; line-height: 1.75; color: var(--muted); }
.button, .about-button { border-radius: 2px; background: #083d2e; color: #fff; font: 14px/1.5 Arial, Helvetica, sans-serif; padding: 15px 24px; box-shadow: none; }
.button:hover, .about-button:hover { background: #235943; box-shadow: 0 8px 20px #193d3010; }
.text-link { font: 14px/1.6 Arial, Helvetica, sans-serif; color: var(--ink); border-bottom-color: #b7bda9; }
.profile-grid { gap: 28px; }
.profile-panel { background: #f3f0e7; border-color: var(--line); border-radius: 3px; padding: 34px; }
.profile-panel h3 { color: var(--ink); font-size: 28px; }
.profile-panel dl { font-size: 15px; grid-template-columns: 125px 1fr; }
.profile-panel dt { font-size: 13px; color: #6d7465; }
.about-section { background-color: #faf8f2; }
.about-container { width: min(1320px, calc(100% - 80px)); gap: 70px; }
.pillar-label { font-size: 14px; }
.credential-info strong { font-size: 14px; }
.credential-info span { font-size: 13px; }
.pillar-icon { background: #f3eddc; color: var(--gold); }
.strength { background: #f1eee4; color: var(--ink); border-block: 1px solid #e6e1d3; }
.strength:before { color: #143c3203; }
.strength .eyebrow, .strength em { color: var(--gold); }
.strength p, .strength li p { color: var(--muted); font-size: 15px; line-height: 1.75; }
.strength li { border-bottom-color: #d9d8ca; padding: 21px 0; }
.strength li h3 { color: var(--ink); font-size: 25px; }
.strength li > span { color: var(--gold); }
.strength .button.light { background: #083d2e; border-color: #083d2e; color: #fff; }
.services { background: #faf8f2; }
.service-grid article { background: #fffdf7; border-color: var(--line); border-radius: 3px; overflow: hidden; }
.service-grid img { filter: saturate(.9); }
.card-body h3 { color: var(--ink); font-size: 28px; }
.card-body p { font-size: 15px; }
.card-body a { font-size: 13px; }
.service-summary { background: #f3f0e7; border-left: 2px solid var(--gold); padding: 35px; }
.service-summary h3 { color: var(--ink); }
.service-links { font-size: 14px; }
.service-detail { gap: 65px; }
.service-detail > img { border-radius: 3px; box-shadow: 0 12px 32px #2a382510; }
.investment-section { background: #f1eee4; color: var(--ink); }
.investment-section .eyebrow { color: #315844; }
.benefits-grid { gap: 28px; }
.benefits-grid article { background: #faf8f2; border: 1px solid var(--line); border-top: 2px solid #b0925b; border-radius: 2px; padding: 27px; }
.benefits-grid article > span { color: var(--gold); }
.benefits-grid h3 { color: var(--ink); font-size: 26px; }
.benefits-grid p { color: var(--muted); font-size: 15px; }
.investment-section .investment-context { font-size: 12px; color: #767b70; }
.comparison-grid article { background: #f3f0e7; border-color: var(--line); border-radius: 3px; }
.comparison-grid article:last-child { background: #faf8f2; color: var(--ink); border-top: 2px solid var(--gold); }
.comparison-grid h3 { color: var(--ink); }
.comparison-grid ul { color: var(--muted); }
.property-grid img { filter: saturate(.95); }
.property-grid article { border-radius: 3px; }
.property-grid article:nth-child(2) { margin-top: 0; }
.property-grid article > div { padding-top: 18px; }
.property-grid span { font: 10px/1.5 Arial, sans-serif; letter-spacing: 1.4px; }
.outlook > div { padding-top: 12px; }
.gives-section { background: #f1eee4; }
.gives-table { font-size: 15px; border: 1px solid var(--line); }
.gives-table caption { font-size: 13px; }
.gives-table thead { background: #143f30; }
.gives-table th, .gives-table td { padding: 17px 24px; }
.team { background: #f1eee4; }
.team-intro { font-size: 15px; }
.team-grid .team-card { box-shadow: 0 5px 18px #233d2808; border-radius: 3px; background: #faf8f2; }
.team-grid .team-info p { font-size: 11px; }
.team-bottom p { font-size: 14px; }
.contact-details { background: #f1eee4; border-top-color: var(--gold); }
.contact-details span { font: 600 11px/1.5 Arial, sans-serif; }
.contact > div > p:not(.eyebrow) { font-size: 16px; }
footer { background: #f1eee4; color: var(--ink); border-top: 1px solid #dcdacc; }
.footer > a:first-child { background: transparent; padding: 0; }
.footer p { color: #315344; font-size: 15px; }
.footer p span { color: #77755d; font-size: 13px; }
.footer > a:last-child { color: var(--ink); font-size: 13px; }
.copyright { border-top-color: #d9d8ca; color: #6d776a; font-size: 12px; }
@media(max-width:1100px) {
 .about-container { gap: 40px; }
 .about-pillars { gap: 9px; }
 .pillar-label { font-size: 12px; }
 .credential-info strong { font-size: 12px; }
 .credential-info span { font-size: 11px; }
 .strength-grid { gap: 50px; }
 .profile-panel dl { grid-template-columns: 105px 1fr; }
}
@media(max-width:900px) {
 .about-container { grid-template-columns: 1fr; width: min(680px, calc(100% - 40px)); }
 .about-visual { max-width: 500px; }
}
@media(max-width:760px) {
 main .section { padding-top: 62px; padding-bottom: 62px; }
 main .section h2 { font-size: clamp(34px, 7vw, 43px); letter-spacing: -1px; }
 main .section .eyebrow { font-size: 10px; letter-spacing: 1.5px; }
 .section-heading > p, .about-text p, .service-detail p:not(.eyebrow), .service-summary p, .outlook p, .comparison-grid p, .comparison-grid li { font-size: 15px; }
 .profile-panel { padding: 24px; }
 .profile-panel dl { font-size: 14px; grid-template-columns: 100px 1fr; }
 .service-detail { gap: 30px; }
 .service-summary { padding: 25px; }
 .benefits-grid article { padding: 23px; }
 .about-pillars { gap: 16px; }
 .pillar-label { font-size: 13px; }
 .gives-table th, .gives-table td { padding: 14px 12px; font-size: 13px; }
 .footer { gap: 22px; }
}
@media(max-width:480px) {
 .profile-panel dl { grid-template-columns: 85px 1fr; font-size: 13px; }
 .about-container { width: calc(100% - 32px); }
 .gives-table th, .gives-table td { font-size: 12px; }
}
