:root {
  --wine: #8f1714;
  --wine-deep: #651412;
  --ink: #18191d;
  --muted: #777a82;
  --canvas: #f5f4f1;
  --line: #e9e6e1;
  --white: #fff;
  --shadow: 0 16px 48px rgba(30,24,24,.065);
  font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
  color: var(--ink);
  background: var(--canvas);
  font-synthesis: none;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-height: 100dvh; }
button, a { -webkit-tap-highlight-color: transparent; }
button { font: inherit; cursor: pointer; }
a { color: inherit; text-decoration: none; }
a:focus-visible, button:focus-visible { outline: 3px solid #e7a6a3; outline-offset: 3px; }
[hidden] { display: none !important; }
.svg-sprite { position:absolute; width:0; height:0; overflow:hidden; }
.icon { width: 19px; height: 19px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; }
.page { width: min(100% - 28px, 520px); margin: 0 auto; padding: 0 0 30px; }
.topbar { display:flex; align-items:center; justify-content:space-between; padding:24px 1px 21px; }
.mini-brand { display:flex; gap:10px; align-items:center; font-size:12px; line-height:1.15; font-weight:800; letter-spacing:.13em; }
.mini-brand small { display:block; margin-top:4px; letter-spacing:.16em; font-size:8px; font-weight:700; color:var(--muted); }
.brand-logo { width:39px; height:39px; border-radius:9px; object-fit:contain; background:#fff; }
.mini-mark { width:33px; height:33px; border-radius:10px; display:grid; place-items:center; background:var(--wine); color:#fff; letter-spacing:-.14em; padding-right:3px; font-size:19px; }
.top-share { border:1px solid #e3e1de; background:white; color:#3c3d43; border-radius:100px; display:inline-flex; gap:8px; align-items:center; font-size:12px; font-weight:600; padding:9px 14px; transition:background .2s; }
.top-share:hover { background:#f6eeed; }
.top-share .icon { width:15px; height:15px; }
.profile { background:var(--white); border-radius:21px; box-shadow:var(--shadow); overflow:hidden; border:1px solid rgba(0,0,0,.035); }
.cover { height:210px; overflow:hidden; isolation:isolate; position:relative; background:radial-gradient(ellipse 85% 120% at 95% 105%, #ac322a 0%,transparent 67%), linear-gradient(117deg,#1e2027 0%,#2b2025 44%,#7e1715 100%); }
.cover-photo { width:100%; height:100%; object-fit:cover; position:absolute; inset:0; z-index:0; }
.cover:has(.cover-photo:not([hidden])) .cover-text, .cover:has(.cover-photo:not([hidden])) .cover-pattern { display:none; }
.cover-pattern { position:absolute; inset:-100px -10px -100px 38%; z-index:-1; transform:rotate(-22deg); opacity:.19; background:repeating-linear-gradient(90deg,transparent 0 42px,rgba(255,255,255,.45) 43px 44px,transparent 45px 90px); }
.cover::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 75%,rgba(0,0,0,.14) 100%); pointer-events:none; }
.cover-text { position:absolute; right:21px; top:24px; font-size:clamp(25px,8vw,42px); font-weight:850; color:rgba(255,255,255,.13); letter-spacing:-.045em; }
.profile-content { position:relative; }
.avatar-frame { position:absolute; left:28px; top:-54px; width:108px; height:108px; background:#e9dbd6; border:5px solid #fff; border-radius:28px; display:grid; place-items:center; overflow:hidden; box-shadow:0 8px 22px rgba(0,0,0,.1); }
.avatar-img { width:100%; height:100%; object-fit:cover; }
.initials { font-size:44px; line-height:1; font-weight:800; color:var(--wine); letter-spacing:-.08em; }
.profile-body { padding:68px 28px 28px; }
.identity { text-align:left; }
.company-label { display:inline-block; margin-bottom:8px; font-size:10px; color:var(--wine); font-weight:850; letter-spacing:.18em; }
h1 { margin:0; font-size:clamp(32px,9vw,42px); letter-spacing:-.06em; font-weight:780; line-height:1.1; }
.role { margin:10px 0 0; color:#45464d; font-size:15px; font-weight:620; }
.tagline { margin:10px 0 0; color:#85858b; font-size:13px; line-height:1.6; max-width:370px; }
.actions { margin-top:29px; }
.btn { display:inline-flex; justify-content:center; align-items:center; gap:11px; border-radius:13px; font-size:14px; font-weight:700; padding:15px; text-align:center; min-height:51px; border:1px solid transparent; transition:transform .18s,background .18s; }
.btn:hover { transform:translateY(-1px); }
.btn-main { width:100%; background:var(--wine); color:#fff; box-shadow:0 9px 18px rgba(143,23,20,.13); }
.btn-main:hover { background:var(--wine-deep); }
.two-actions { display:flex; gap:10px; margin-top:10px; }
.btn-soft { background:#f8f6f4; color:#3e4045; flex:1; border-color:#eeeae5; }
.btn-soft:hover { background:#f0eae6; }
.section { margin-top:26px; }
.section-title { display:flex; gap:12px; align-items:center; margin:0 4px 12px; }
.section-kicker { font-family:ui-monospace,monospace; font-size:12px; letter-spacing:.08em; color:#a0a0a3; }
h2 { margin:0; font-size:16px; letter-spacing:-.025em; font-weight:760; }
.content-card { background:#fff; border:1px solid #efede9; border-radius:17px; box-shadow:0 6px 20px rgba(0,0,0,.025); }
.about-card { padding:19px 22px; }
.about-card p { color:#53545b; font-size:14px; line-height:1.75; margin:0; white-space:pre-line; }
.contact-list { overflow:hidden; }
.contact-row { display:flex; gap:14px; align-items:center; min-height:75px; padding:15px 19px; }
.contact-row + .contact-row { border-top:1px solid #f1efeb; }
.contact-symbol { background:#f7eeec; color:var(--wine); width:42px; height:42px; border-radius:12px; flex-shrink:0; display:grid; place-items:center; }
.contact-data { flex:1; min-width:0; }
.contact-label { display:block; color:#919097; font-size:11px; line-height:1.4; font-weight:600; margin-bottom:3px; }
.contact-value { display:block; color:#25252a; font-weight:670; overflow-wrap:anywhere; line-height:1.4; font-size:13px; }
.contact-row a.contact-value:hover { color:var(--wine); }
.contact-row .right-arrow { width:17px; height:17px; color:#a9a6a4; }
.locations-list { display:grid; gap:12px; }
.location-card { padding:20px 21px; }
.location-heading { display:flex; align-items:center; gap:9px; margin:0; font-size:16px; font-weight:780; letter-spacing:-.02em; }
.location-heading .icon { color:var(--wine); width:20px; height:20px; }
.location-address { color:#52525a; font-size:13px; line-height:1.65; margin:12px 0 6px; }
.directions-link { display:inline-flex; align-items:center; gap:7px; color:var(--wine); font-size:13px; font-weight:730; margin-top:5px; }
.directions-link .icon { width:14px; height:14px; }
.directions-link:hover { text-decoration:underline; }
.hours-heading { font-size:12px; font-weight:760; margin:19px 0 11px; color:#5c5c64; }
.hours-list { display:grid; grid-template-columns: minmax(90px,1fr) minmax(0, 1.6fr); gap:9px 10px; margin:0; font-size:12px; line-height:1.4; }
.hours-list dt { color:#8a8990; }
.hours-list dd { margin:0; text-align:right; color:#333339; font-weight:670; overflow-wrap:anywhere; }
.social-list { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:10px; }
.social-link { display:flex; align-items:center; gap:11px; min-height:65px; background:white; padding:13px 14px; border:1px solid #efede9; border-radius:14px; font-size:13px; font-weight:720; transition:border .18s, transform .18s; }
.social-link:hover { border-color:#e2b5b2; transform:translateY(-2px); }
.social-monogram { width:34px; height:34px; background:#f6f1ef; display:grid; place-items:center; border-radius:9px; color:var(--wine); font-size:16px; font-weight:800; }
.social-link .icon { color:#9a9ba0; width:14px; height:14px; margin-left:auto; }
.page-footer { display:flex; align-items:center; justify-content:space-between; padding:30px 5px 0; color:#98989b; font-size:11px; gap:15px; }
.footer-brand { color:#424247; font-size:20px; font-weight:900; letter-spacing:-.06em; }
.footer-brand span { color:var(--wine); }
.toast { position:fixed; left:50%; bottom:24px; transform:translate(-50%,20px); padding:12px 18px; background:#24262c; box-shadow:0 15px 30px rgba(0,0,0,.15); color:#fff; border-radius:12px; opacity:0; pointer-events:none; font-size:13px; z-index:50; transition:transform .2s, opacity .2s; text-align:center; max-width:90vw; }
.toast.active { opacity:1; transform:translate(-50%,0); }
@media (max-width:420px) {
  .page { width:100%; padding:0 13px 26px; }
  .topbar { padding:14px 3px 15px; }
  .cover { height:187px; }
  .profile { border-radius:19px; }
  .avatar-frame { left:22px; top:-48px; width:96px; height:96px; border-radius:25px; }
  .profile-body { padding:61px 22px 24px; }
  .btn { font-size:13px; }
  .contact-row { padding:14px 15px; }
  .page-footer { flex-direction:column; align-items:center; gap:4px; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition-duration:.01ms !important; scroll-behavior:auto !important; } }
