/* Professional · Nameplate — frosted glass door, engraved brass plate. Signature: light catches the plate once. */
.pro-b { --door: #16302b; --door-2: #1d3d37; --brass: #b8914a; --brass-hi: #ecd29a; --cream: #f2efe6; --ink: #13201d; background: var(--door); color: var(--cream); font: 400 18px/1.65 "Source Serif 4", Georgia, serif; }
:where(.pro-b) a { color: inherit; }
.br-door { position: relative; min-height: min(94vh, 860px); display: grid; align-content: center; justify-items: center; text-align: center; gap: 14px; padding: clamp(40px, 7vw, 96px) clamp(16px, 4vw, 48px); overflow: hidden; }
.br-glass { position: absolute; inset: clamp(14px, 3vw, 36px); border-radius: 4px; overflow: hidden; box-shadow: inset 0 0 0 10px var(--door-2), inset 0 0 0 12px #0c1d1a; }
.br-glass img { width: 100%; height: 100%; object-fit: cover; }
.br-glass::after { content: ""; position: absolute; inset: 0; background: radial-gradient(ellipse 75% 65% at 50% 50%, rgba(12,29,26,.88), rgba(12,29,26,.62) 70%, rgba(12,29,26,.45)); }
.br-plate { position: relative; padding: 26px clamp(26px, 5vw, 64px) 22px; border-radius: 3px; color: #2a1d05; overflow: hidden;
  background: #a8843f; box-shadow: inset 0 0 0 3px #a8843f, inset 0 0 0 4px #6e5121, 0 18px 30px -16px rgba(0,0,0,.6); }
.br-plate h1 { font: 400 clamp(1.8rem, 5vw, 3.6rem)/1.05 "Marcellus", serif; letter-spacing: .08em; text-transform: uppercase; color: #2e2108; text-shadow: 0 1px 0 rgba(255,226,160,.45); }
.br-plate p { margin: 8px 0 0; font: 400 .95rem/1 "Marcellus", serif; letter-spacing: .3em; text-transform: uppercase; }
.br-line { position: relative; color: var(--cream); font-size: clamp(1.15rem, 2.2vw, 1.45rem); max-width: 34ch; margin-top: 18px; }
.br-open { position: relative; color: var(--cream); font-weight: 600; }
.br-acts { position: relative; display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.br-btn { display: inline-flex; align-items: center; min-height: 50px; padding: 12px 22px; border-radius: 2px; background: var(--brass); color: #1b1305; text-decoration: none; font: 400 .95rem/1 "Marcellus", serif; letter-spacing: .14em; text-transform: uppercase; }
.br-btn.ghost { background: transparent; color: var(--cream); box-shadow: inset 0 0 0 1.5px var(--cream); }
.br-sample { position: absolute; right: calc(clamp(14px, 3vw, 36px) + 18px); bottom: calc(clamp(14px, 3vw, 36px) + 16px); font: 600 11px/1 system-ui; text-transform: uppercase; background: rgba(0,0,0,.5); color: #fff; padding: 4px 7px; border-radius: 3px; }
.br-practice { padding: clamp(56px, 8vw, 104px) clamp(16px, 4vw, 48px); max-width: 1180px; margin: 0 auto; }
.br-practice h2, .br-visit h2 { font: 400 clamp(1.6rem, 3vw, 2.2rem)/1.1 "Marcellus", serif; color: var(--brass-hi); margin-bottom: 24px; }
.br-cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 40px; }
.br-cols h3 { font: 400 1.6rem/1.15 "Marcellus", serif; margin-bottom: 14px; padding-bottom: 14px; border-bottom: 1px solid rgba(184,145,74,.5); }
.br-cols ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; color: #d6d2c6; }
.br-visit { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 5vw, 72px); padding: clamp(48px, 7vw, 88px) clamp(16px, 4vw, 48px); max-width: 1180px; margin: 0 auto; border-top: 1px solid rgba(184,145,74,.35); }
@media (max-width: 760px) { .br-visit { grid-template-columns: 1fr; } }
.br-visit .br-btn.ghost { color: var(--cream); box-shadow: inset 0 0 0 1.5px var(--brass); }
.br-visit dl > div { border-bottom: 1px solid rgba(242,239,230,.12); }
.br-visit .closed { color: #7f8f8a; }
.br-foot { padding: 28px clamp(16px, 4vw, 48px); text-align: center; color: #9fb0ab; font-family: "Marcellus", serif; letter-spacing: .04em; }

@media (prefers-reduced-motion: no-preference) { .js-tpl .br-plate:not(.in) { opacity: 0; } .js-tpl .br-plate:not(.in) h1 { letter-spacing: .2em; } .br-plate { transition: opacity .8s; } .br-plate h1 { transition: letter-spacing 1.2s cubic-bezier(.16,1,.3,1); } }
