:root { color-scheme: light; --ink:#343434; --muted:#62665f; --paper:#f5f5f3; --green:#38573b; }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:white; font-family:Arial,Helvetica,sans-serif; line-height:1.7; }
a { color:var(--green); text-underline-offset:4px; }
h1,h2,h3 { line-height:1.25; font-weight:400; }
h2 { font-family:Georgia,'Times New Roman',serif; font-size:clamp(28px,3vw,36px); text-align:center; color:var(--muted); }
h3 { font-size:22px; }
p { margin:0 0 18px; }
.container { max-width:1160px; margin-inline:auto; padding-inline:24px; }
.hero { min-height:400px; display:grid; place-items:center; position:relative; isolation:isolate; overflow:hidden; }
.hero img { position:absolute; width:100%; height:100%; object-fit:cover; z-index:-2; }
.hero::after { content:''; position:absolute; inset:0; background:rgb(0 0 0 / 35%); z-index:-1; }
.hero h1 { color:white; font-size:clamp(34px,6vw,64px); font-weight:700; letter-spacing:6px; text-transform:uppercase; text-align:center; padding:24px; max-width:900px; }
.offerings { padding-block:36px 60px; }
.services { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:30px; padding-top:26px; }
.card img { width:100%; aspect-ratio:1; height:auto; object-fit:cover; }
.services .card img { border-radius:50%; }
.card h3 { text-align:center; }
.card p { font-size:16px; }
.contact { background:var(--paper); padding-block:40px 48px; }
.center { text-align:center; }
form { max-width:650px; margin:28px auto 0; }
label { display:block; margin-block:18px 5px; }
label > span { font-size:14px; }
input,textarea,button { font:inherit; }
input:not([type=checkbox]),textarea { width:100%; border:1px solid #a4aaa0; border-radius:3px; background:white; color:var(--ink); padding:12px; }
textarea { resize:vertical; }
.checkbox { display:flex; gap:12px; align-items:flex-start; margin-block:22px; }
.checkbox input { width:20px; height:20px; flex-shrink:0; margin-top:3px; }
button { min-width:125px; min-height:48px; padding:10px 28px; border:0; border-radius:3px; background:var(--green); color:white; cursor:pointer; }
button:disabled { opacity:.6; cursor:wait; }
#form-status { margin-top:18px; }
.honeypot { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.social { text-align:center; padding-block:24px; }
.details { padding-block:16px 40px; }
.detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:48px; padding-block:26px; }
.detail-grid .card img { max-height:370px; }
.closing { font-family:Georgia,serif; text-align:center; font-size:23px; padding-block:24px; }
footer { text-align:center; padding:36px 24px; border-top:1px solid #e3e3df; font-size:14px; }
.preview-notice { text-align:center; padding:6px; background:#fff1cd; color:#4c3b15; font-size:13px; }
.notice { max-width:650px; margin:24px auto; padding:24px; border:1px solid #d4d7cf; }
.signup { max-width:650px; min-height:70vh; padding-block:70px; }
.signup h1 { font-family:Georgia,serif; font-size:40px; margin-top:54px; }
.brand { text-transform:uppercase; letter-spacing:2px; font-size:16px; }
.skip { position:absolute; top:-70px; left:16px; background:white; padding:12px; z-index:10; }
.skip:focus { top:8px; }
:where(a,button,input,textarea):focus-visible { outline:3px solid #7c4e8d; outline-offset:4px; }
@media(max-width:900px) { .services { grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px; } }
@media(max-width:580px) { .hero { min-height:330px; } .hero h1 { letter-spacing:3px; } .services,.detail-grid { grid-template-columns:1fr; } .services .card { max-width:380px; margin-inline:auto; } .detail-grid { gap:28px; } }
