@font-face{font-family:Cormorant;src:url('/assets/fonts/cormorant-garamond-latin-500-normal.woff2') format('woff2');font-display:swap;font-weight:500}
    @font-face{font-family:Cormorant;src:url('/assets/fonts/cormorant-garamond-latin-400-italic.woff2') format('woff2');font-display:swap;font-weight:400;font-style:italic}
    @font-face{font-family:Outfit;src:url('/assets/fonts/outfit-latin-400-normal.woff2') format('woff2');font-display:swap;font-weight:400}
    @font-face{font-family:Outfit;src:url('/assets/fonts/outfit-latin-500-normal.woff2') format('woff2');font-display:swap;font-weight:500}
    :root{--paper:#fffbf5;--ink:#134e4a;--muted:#5d6f69;--line:#dedfd4;--gold:#9b7650;--sans:Outfit,system-ui,sans-serif;--serif:Cormorant,Georgia,serif}
    *{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible{outline:3px solid #0f766e;outline-offset:5px}::selection{background:#c5e7de}
    .page{min-height:100svh;position:relative;isolation:isolate;padding:42px 24px 30px;overflow:clip}
    .page:before,.page:after{content:"";position:absolute;z-index:-1;pointer-events:none;width:760px;height:990px;border:1px solid #134e4a0c;border-radius:50%;transform:rotate(35deg);top:145px;left:calc(50% - 850px)}
    .page:after{width:960px;height:1170px;left:calc(50% + 70px);top:-370px;transform:rotate(-30deg)}
    .topline{max-width:1120px;margin:auto;display:flex;justify-content:space-between;gap:18px;align-items:center;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
    .wordmark{font-size:16px;letter-spacing:-.02em;text-transform:none;color:var(--ink);font-weight:500;text-decoration:none}
    .top-meta{display:flex;align-items:center;gap:22px}.language-switch{display:flex;align-items:center;gap:9px;font-size:11px;letter-spacing:.04em}.language-switch a{text-decoration:none;padding:5px 0;color:var(--muted)}.language-switch a[aria-current="page"]{color:var(--ink);border-bottom:1px solid currentColor}.language-switch a:hover{color:var(--ink)}
    .location{display:flex;align-items:center;gap:8px}.location:before{content:"";width:5px;height:5px;border-radius:50%;background:#5b8c77}
    main{max-width:558px;margin:42px auto 0}.intro{text-align:center}.portrait-wrap{width:112px;height:134px;position:relative;margin:0 auto 21px}.portrait-wrap:before{content:"";position:absolute;inset:-3px 3px 3px -3px;border:1px solid #9b76502e;border-radius:62px 62px 12px 12px;z-index:-1}.portrait{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 28%;border-radius:62px 62px 12px 12px;background:#f0ece4}
    .name{font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:500;margin:0 0 11px}h1{font-family:var(--serif);font-weight:500;font-size:46px;line-height:1.04;letter-spacing:-.035em;margin:0}h1 em{font-weight:400}.bio{font-size:15px;line-height:1.6;color:var(--muted);margin:16px 0 29px}.bio span{display:block}
    .links{display:grid;gap:12px}.link-card{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr) 25px;gap:15px;align-items:center;padding:21px 23px;border:1px solid var(--line);border-radius:15px;background:#ffffffa6;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;min-height:108px}.link-card:hover{transform:translateY(-3px);border-color:#8aafa1;box-shadow:0 10px 24px #134e4a0b}.icon{width:44px;height:44px;border-radius:50%;border:1px solid #134e4a26;display:grid;place-items:center}.icon svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}.card-title{display:block;font-family:var(--serif);font-size:27px;font-weight:500;letter-spacing:-.02em;line-height:1.13}.card-copy{display:block;font-size:13px;line-height:1.5;margin-top:5px;color:var(--muted)}.arrow{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.4;transition:transform .2s}.link-card:hover .arrow{transform:translate(2px,-2px)}
    .featured{background:var(--ink);border-color:var(--ink);color:var(--paper)}.featured .icon{border-color:#b6d3c94d}.featured .card-copy{color:#d4e5dc}.featured .card-title{color:#fffaf2}.tag{display:inline-block;vertical-align:middle;font-family:var(--sans);font-size:9px;line-height:1.3;letter-spacing:.1em;text-transform:uppercase;border:1px solid #e2ebd94d;border-radius:4px;padding:4px 6px;margin:0 0 7px;color:#e3ecd9}.event{background:#f4eddf;border-color:#e5dbc9}.event .icon{color:#866545;border-color:#a0855d40}.event .tag{border-color:#c9b693;color:#725539;margin-bottom:6px}.event .card-title{font-size:25px}
    .signature{display:flex;align-items:center;justify-content:center;gap:13px;font-size:11px;letter-spacing:.025em;margin:25px 0 0;color:#6b786e}.signature:before,.signature:after{content:"";width:24px;height:1px;background:#cbd1c4}.footer{display:flex;justify-content:center;gap:21px;margin-top:24px;font-size:11px;color:var(--muted)}.footer a{text-decoration:none;text-underline-offset:4px}.footer a:hover{text-decoration:underline}.preview{position:fixed;bottom:14px;right:17px;border:1px solid #dedfd4;background:#fffbf5e8;padding:7px 11px;border-radius:30px;color:#66746c;font-size:10px;letter-spacing:.04em;backdrop-filter:blur(8px)}
    @media(min-width:1100px){.page{padding-top:32px}main{margin-top:30px}.intro{position:relative}.portrait-wrap{height:120px;width:102px;margin-bottom:18px}.bio{margin-bottom:26px}.link-card{min-height:100px;padding-top:18px;padding-bottom:18px}.signature{margin-top:22px}}
    @media(max-width:600px){.page{padding:25px 19px 24px}.topline{font-size:9px;letter-spacing:.11em}.wordmark{font-size:14px}.location{gap:5px}main{margin-top:34px}.portrait-wrap{width:94px;height:112px;margin-bottom:20px}.name{font-size:10px;margin-bottom:10px}h1{font-size:40px}.bio{font-size:14px;margin:14px 0 25px}.link-card{grid-template-columns:38px minmax(0,1fr) 18px;gap:13px;padding:18px 16px;min-height:108px;border-radius:13px}.icon{width:36px;height:36px}.icon svg{width:21px;height:21px}.card-title{font-size:26px}.card-copy{font-size:12px}.event .card-title{font-size:24px}.tag{font-size:8px}.signature{font-size:10px;gap:10px;margin-top:23px}.footer{margin-top:22px}.preview{position:static;width:fit-content;margin:24px auto 0;padding:5px 10px;font-size:9px}}
    @media(max-width:350px){.page{padding-left:14px;padding-right:14px}.location{font-size:8px}.card-title{font-size:23px}.event .card-title{font-size:22px}.link-card{gap:10px;padding:16px 13px}}
    @media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

    .newsletter-card{margin-top:12px;padding:23px;border:1px solid var(--line);border-radius:15px;background:#ffffffa6}.newsletter-heading{display:flex;align-items:center;gap:15px;margin-bottom:20px}.newsletter-heading h2{margin:0}.newsletter-card .card-copy{margin-top:5px}.newsletter-form label.email-label{display:block;margin-bottom:7px;font-size:13px;font-weight:500}.newsletter-row{display:flex;gap:9px}.newsletter-row input{flex:1;min-width:0;width:100%;border:1px solid #8b806f;border-radius:8px;padding:12px 13px;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.4}.newsletter-row button{flex-shrink:0;border:1px solid var(--ink);border-radius:8px;padding:12px 17px;background:var(--ink);color:var(--paper);font:500 14px var(--sans);cursor:pointer}.newsletter-row button:hover{background:#115e59}.newsletter-row button:disabled{opacity:.65;cursor:wait}.newsletter-form input:focus-visible,.newsletter-form button:focus-visible{outline:3px solid #0f766e;outline-offset:3px}.newsletter-consent{display:flex;align-items:flex-start;gap:10px;margin-top:14px;font-size:14px;line-height:1.5;color:var(--muted)}.newsletter-consent input{flex-shrink:0;width:18px;height:18px;margin:2px 0 0;accent-color:var(--ink)}.newsletter-consent a{text-underline-offset:3px}.newsletter-status{margin:12px 0 0;font-size:14px;line-height:1.5;color:var(--ink)}.newsletter-status:empty{display:none}.newsletter-status[data-state="error"]{color:#9c302a}.newsletter-form [aria-invalid="true"]{border-color:#9c302a}.newsletter-honeypot{display:none}
    @media(max-width:600px){.newsletter-card{padding:19px 16px;border-radius:13px}.newsletter-heading{gap:13px}.newsletter-heading .card-title{font-size:26px}.newsletter-heading .card-copy{font-size:13px}}
    @media(max-width:460px){.newsletter-row{flex-direction:column}.newsletter-row button{min-height:46px}}

.appointment-card{margin-top:18px;padding:24px;border:1px solid #c8d8cf;border-radius:18px;background:#edf3ed}
.appointment-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.appointment-eyebrow{margin:0 0 6px;color:var(--muted);font-size:11px;letter-spacing:.1em;text-transform:uppercase}
.appointment-top h2{margin:0;font:500 30px/1.1 var(--serif);letter-spacing:-.02em}
.appointment-mode{display:flex;align-items:center;gap:6px;border:1px solid #b8cfc2;border-radius:20px;padding:6px 10px;font-size:12px}
.appointment-mode:before{content:"";width:6px;height:6px;border-radius:50%;background:#44745c}
.appointment-slot{display:flex;align-items:center;gap:16px;margin:22px 0}
.mini-calendar{flex:0 0 58px;border:1px solid #bbcbc0;border-radius:10px;overflow:hidden;text-align:center;background:var(--paper)}
.mini-calendar span{display:block;background:#d9e6dc;padding:5px 4px;font-size:10px;letter-spacing:.06em;text-transform:uppercase}
.mini-calendar strong{display:block;padding:4px;font:500 32px/1.15 var(--serif)}
.appointment-caption{margin:0 0 4px;font-size:12px;color:var(--muted)}
.appointment-date{margin:0;font-size:16px;line-height:1.4;font-weight:500}
.appointment-meta{margin:5px 0 0;font-size:12px;line-height:1.5;color:var(--muted)}
.appointment-button{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:46px;padding:12px 15px;background:var(--ink);color:var(--paper);border-radius:9px;font-size:14px;line-height:1.4;text-decoration:none}
.appointment-button:hover{background:#115e59}
@media(max-width:600px){.appointment-card{padding:20px 16px}.appointment-top h2{font-size:28px}.appointment-slot{gap:12px}.appointment-mode{font-size:11px}.appointment-meta{font-size:12px}}
