:root{color-scheme:light;--ink:#2d2c2b;--muted:#626e70;--teal:#157b70;--line:#dce8e5}
*{box-sizing:border-box}
body{margin:0;background:#fff;color:var(--ink);font-family:Arial,"Helvetica Neue",sans-serif;-webkit-font-smoothing:antialiased}
.page{width:min(100% - 48px,860px);margin:auto;padding:50px 0 24px}
.brand{text-align:center}.brand img{display:inline-block;width:320px;max-width:100%;height:auto}
.intro{text-align:center;padding-top:8px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:3px;color:var(--teal);margin:0 0 18px}
h1{font-size:clamp(30px,5.3vw,49px);font-weight:700;letter-spacing:-1.4px;line-height:1.18;margin:0 0 14px}.specialty{font-size:clamp(17px,2.5vw,21px);margin:0;color:var(--muted)}
.accent{width:42px;height:3px;background:var(--teal);margin:30px auto}
.notice{display:inline-flex;align-items:center;gap:9px;background:#edf5f2;border-radius:40px;padding:10px 16px;font-size:13px;color:#23685f;margin:0}.notice span{height:6px;width:6px;border-radius:50%;background:var(--teal);flex-shrink:0}
.invitation{font-size:15px;line-height:1.8;color:var(--muted);margin:18px 0 30px}
.actions{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:620px;margin:auto}.button{min-height:60px;border:1px solid var(--line);border-radius:8px;color:var(--teal);display:flex;align-items:center;justify-content:center;gap:12px;font-size:16px;font-weight:700;text-decoration:none;transition:background .15s,border-color .15s}.button svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.button.primary{background:var(--teal);color:white;border-color:var(--teal)}.button:hover{background:#edf5f2;border-color:var(--teal)}.button.primary:hover{background:#195e56}.button:focus-visible,.details a:focus-visible{outline:3px solid #23796f;outline-offset:5px}
.details{display:grid;grid-template-columns:1fr 1.15fr 1.2fr;gap:24px;border-top:1px solid var(--line);padding-top:30px;margin-top:48px}.details h2{font-size:10px;letter-spacing:1.8px;color:var(--teal);margin:0 0 12px}.details a,.details address{font-size:15px;line-height:1.7;color:var(--ink);text-decoration:none;font-style:normal;overflow-wrap:anywhere}.details a:hover{text-decoration:underline}footer{text-align:center;font-size:11px;line-height:1.8;color:var(--muted);margin-top:56px}footer span{padding:0 7px}
@media(max-width:560px){.page{width:calc(100% - 40px);padding-top:30px}.brand img{width:260px}.intro{padding-top:8px}h1{letter-spacing:-.8px}.eyebrow{font-size:10px;letter-spacing:2px}.accent{margin:24px auto}.actions{grid-template-columns:1fr;gap:10px}.button{min-height:58px}.details{grid-template-columns:1fr;gap:24px;text-align:center;margin-top:32px;padding-top:28px}.details h2{margin-bottom:5px}.invitation{font-size:14px}.desktop-break{display:none}footer{margin-top:32px;font-size:10px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* Accent taken from the business card; darker teal keeps text readable. */
.accent,.notice span{background:#20b9a7}.button svg,.details h2,.eyebrow{color:#157b70}

