@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap');
:root{--ink:#242424;--muted:#686868;--paper:#ffffff;--back:#171717;--line:#e3e3e3;--accent:#e8441e;--accent-ink:#b32e12;--on-red:#111111;--space:clamp(8px,1.5svh,13px)}
*{box-sizing:border-box}
body{margin:0;background:var(--back);color:var(--ink);font:16px/1.5 'DM Sans',Arial,sans-serif;min-height:100svh;display:grid;place-items:center}
a{color:inherit;text-decoration:none}button,input{font:inherit}button{color:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.symbols{position:absolute;width:0;height:0;overflow:hidden}
.page{width:min(100%,470px);padding:max(8px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));display:grid;gap:8px}
.topbar{height:clamp(44px,8svh,64px);display:flex;justify-content:space-between;align-items:center;gap:12px;padding:0 3px}
.brand{height:100%;width:118px;display:flex;align-items:center;line-height:0;background:transparent}.brand img{display:block;max-height:100%;width:100%;object-fit:contain}
.share-button{display:flex;align-items:center;gap:8px;min-height:44px;padding:8px 12px;border:1px solid #e8441e66;background:#ffffff08;color:#fafafa;border-radius:24px;font-size:12px;font-weight:600}.share-button svg{width:19px;height:19px}.share-button:hover{background:#ffffff18}.topbar :focus-visible{outline-color:var(--accent)}
.card{padding:clamp(14px,2.5svh,22px);display:grid;gap:var(--space);background:var(--paper);border:1px solid var(--line);border-radius:22px;box-shadow:0 12px 45px #00000024}
.profile-row{display:flex;align-items:center;gap:14px}.profile-button{padding:0;border:0;background:none;display:grid;justify-items:center;gap:3px;flex:none;min-width:64px}.portrait{width:clamp(58px,10svh,78px);height:clamp(58px,10svh,78px);object-fit:cover;border-radius:50%;border:3px solid white;box-shadow:0 0 0 1px var(--line)}.profile-button>span{font-size:11px;color:#b32e12;line-height:16px;font-weight:600}.profile-button:hover>span{text-decoration:underline;text-underline-offset:3px}.name-block{min-width:0}.eyebrow{display:block;font-size:10px;line-height:1.4;letter-spacing:1.1px;font-weight:700}.name-block>.eyebrow{color:var(--muted);margin-bottom:5px}
h1,h2{font-family:Manrope,Arial,sans-serif}h1{margin:0;font-size:clamp(23px,7.2vw,31px);font-weight:800;line-height:1.08;letter-spacing:-1.1px}h1>span{white-space:nowrap}.name-dot{color:var(--accent)}.specialty{margin:9px 0 0;font-size:13px;line-height:20px;font-weight:600;text-align:center;white-space:nowrap;letter-spacing:-.2px}
.button{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:46px;border:0;border-radius:11px;font-size:15px;font-weight:700;padding:10px 14px}.primary{background:var(--ink);color:white}.primary:hover{background:#383838}.save-contact>svg:first-child{margin-right:auto}.save-contact .end-icon{margin-left:auto;color:var(--accent);width:19px;height:19px}
.contact-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.contact{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:58px;padding:6px 2px;background:#fff2ed;border:1px solid #f4d3c9;border-radius:11px;color:#b32e12}.contact>span{font-size:12px;line-height:16px;font-weight:600}.contact>svg{width:21px;height:21px}.contact:hover{background:#ffe3d9}
.book{display:grid;grid-template-columns:clamp(78px,17svh,104px) minmax(0,1fr);gap:12px;align-items:center;padding:9px 12px 9px 6px;background:#252525;color:white;border:1px solid #ffffff1a;border-radius:14px;min-width:0}.book-image-link{display:block;height:clamp(100px,19svh,150px);border-radius:7px}.book-cover{display:block;width:100%;height:100%;object-fit:contain}.book-copy{min-width:0}.book .eyebrow{font-size:9px;letter-spacing:.7px;color:var(--accent)}.book h2{font-size:clamp(18px,5vw,22px);line-height:1.25;letter-spacing:-.6px;margin:4px 0}.book-copy>p{font-size:12px;line-height:1.4;color:#e7e7e7;margin:0}.book-cta{display:flex;align-items:center;justify-content:space-between;gap:6px;min-height:44px;font-size:13px;font-weight:700;color:var(--accent)}.book-cta>svg{width:19px;height:19px}.book-cta:hover{color:white}
dialog{width:min(430px,calc(100% - 28px));max-height:calc(100svh - 28px);padding:32px 25px 22px;border:1px solid var(--line);border-radius:22px;background:var(--paper);color:var(--ink);text-align:center;overflow-y:auto;overscroll-behavior:contain}dialog::backdrop{background:#171717d4;backdrop-filter:blur(5px)}body:has(dialog[open]){overflow:hidden}.close{position:absolute;top:6px;right:8px;border:0;background:none;width:44px;height:44px;font-size:29px;line-height:1}.share-qr{display:block;width:min(240px,40svh,100%);height:auto;margin:10px auto 16px}dialog h2{font-size:25px;line-height:1.2;letter-spacing:-.7px;margin:12px 0 10px}dialog p{font-size:14px;color:var(--muted);margin:10px 0}.share-secondary{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px;font-size:13px}.share-secondary button{border:0;background:none;padding:0;font:inherit}.share-secondary a,.share-secondary button{display:flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:4px}#share-status{font-size:12px;min-height:18px;margin:8px 0 0}#manual-link{max-width:100%;width:100%;margin-top:10px;font-size:12px;padding:8px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#about-dialog{text-align:left}#about-dialog h2{padding-right:16px;font-size:24px}.about-lead{font-weight:600;color:var(--ink)}.about-copy p{font-size:15px;line-height:1.7;margin:17px 0}.about-contact{display:grid;border-top:1px solid var(--line);padding-top:12px}.about-contact a{font-size:14px;min-height:44px;display:flex;align-items:center;color:#b32e12;overflow-wrap:anywhere}
@media(max-width:350px){.page{padding-inline:10px}.card{padding-inline:12px}.profile-row{gap:10px}.name-block>.eyebrow{font-size:9px;letter-spacing:.6px}.specialty{font-size:11.5px;letter-spacing:-.3px}.book{gap:8px;padding-right:9px}.book .eyebrow{font-size:8px;letter-spacing:.4px}.book h2{font-size:18px}.book-copy>p{font-size:11px}.book-cta{font-size:12px}.contact-grid{gap:5px}}
@media(max-height:600px){:root{--space:8px}.page{gap:6px}.topbar{height:44px}.card{padding-block:12px;border-radius:18px}.portrait{width:56px;height:56px}.profile-button{min-width:58px}.profile-button>span{font-size:10px;line-height:14px}h1{font-size:25px;line-height:1.04}.name-block>.eyebrow{margin-bottom:4px}.specialty{margin-top:6px;line-height:18px}.contact{min-height:50px;padding-block:4px;gap:2px}.contact>svg{width:19px;height:19px}.button{min-height:44px;padding-block:9px}.book{padding-block:5px;grid-template-columns:76px minmax(0,1fr)}.book-image-link{height:102px}.book-copy>p{font-size:11px;line-height:1.35}.book h2{font-size:19px}.book .eyebrow{font-size:8px}.book-cta{font-size:12px}.book-cta>svg{width:16px;height:16px}}
@media(max-height:510px){:root{--space:6px}.page{padding-block:4px}.topbar{height:40px}.brand{width:96px}.card{padding-block:10px}.portrait{width:48px;height:48px}h1{font-size:23px}.name-block>.eyebrow{display:none}.profile-button{min-width:52px}.specialty{margin-top:4px}.book-image-link{height:92px}.book-copy>p{display:none}.contact{min-height:46px}.book{grid-template-columns:70px minmax(0,1fr)}}
@media(orientation:landscape) and (max-height:510px) and (min-width:600px){.page{width:min(100%,750px);padding-inline:16px}.topbar{height:40px}.card{grid-template-columns:1.1fr 1fr;column-gap:22px;row-gap:10px;padding:14px 18px}.identity{grid-column:1}.action-row{grid-column:1}.contact-grid{grid-column:1}.book{grid-column:2;grid-row:1/4;grid-template-columns:1fr;gap:0;text-align:center;padding:6px 14px}.book-image-link{height:104px}.book .eyebrow{font-size:9px}.book h2{font-size:19px}.book-cta{justify-content:center;gap:10px}.specialty{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Main actions stay on one row in the mobile card. */
.action-row{display:grid;grid-template-columns:1fr 1.15fr;gap:8px;min-width:0}
.action-row .button{padding-inline:9px;font-size:13px;gap:6px;white-space:nowrap}
.about-button{background:var(--accent);color:var(--on-red);font-weight:800;box-shadow:0 3px 10px #e8441e26}
.about-button:hover{background:#f15530}
.about-button svg{width:17px;height:17px;stroke-width:2}
.action-row .save-contact>svg:first-child{width:18px;height:18px;margin-right:0}
.profile-button{gap:0}
.portrait{box-shadow:0 0 0 2px var(--accent)}
.book .eyebrow{display:table;max-width:100%;background:var(--accent);color:var(--on-red);padding:2px 5px;border-radius:3px}
.book-cta{background:var(--accent);color:var(--on-red);padding:0 9px;margin-top:5px;border-radius:7px}
.book-cta:hover{background:#f15530;color:var(--on-red)}
.share-secondary a,.share-secondary button,#about-dialog>.eyebrow{color:var(--accent-ink)}
@media(max-width:350px){.action-row{gap:6px}.action-row .button{padding-inline:6px;font-size:12px;gap:4px}.about-button svg{display:none}}
#about-dialog .about-lead{font-size:16px;font-weight:700;color:var(--ink);line-height:1.6}
.about-copy p{font-size:16px}
.about-resource{margin:16px 0;padding:12px 14px;border-left:3px solid var(--accent);background:#fff2ed;border-radius:0 9px 9px 0}
.about-resource a{color:var(--accent-ink);font-weight:700;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.about-resource>a{display:flex;align-items:center;min-height:44px;font-size:16px}
.about-resource p{margin:10px 0 0}
