/*
Theme Name: Barton Storefront
Theme URI: https://drdianebarton.com/
Author: Dependent Media
Author URI: https://dependentmedia.com/
Description: "Open on Dixie Highway": a block theme for Barton Chiropractic Clinic (Dr. Diane Barton, D.C.), Homewood, Illinois. Her own storefront (cream sign, teal letters, glass door with a live OPEN sign), gold-leaf lettering on window glass, a felt letter board, pencil marks on a door frame, a cross-stitch sampler, a clipboard and a cork board by the door.
Version: 1.0.0
Requires at least: 6.5
Requires PHP: 8.1
License: GPL-2.0-or-later
Text Domain: barton-storefront
*/

/* ============================================================================================================== tokens */
:root {
	--ink: #1C2A2D; --ink-soft: #4A5859; --teal: #13716F; --teal-deep: #0B4F50; --teal-bright: #2BA3A6; --sign: #F4EFC9;
	--paper: #FBF7EC; --stucco: #EDE4D1; --stone: #A88A6A; --gold: #E2BE62; --gold-deep: #7E5C12; --terra: #A9502E;
	--glass: #132F37; --night: #0F2128; --alu: #9AA3A8; --open: #237A4B; --open-glow: #6BD49B;
	--gilt: linear-gradient(180deg, #F7E3A0 0%, #E2BE62 46%, #C79A34 54%, #F0D387 100%);
	--shade: 0 1px 0 rgba(28, 42, 45, .08), 0 10px 26px -14px rgba(28, 42, 45, .35);
	--radius: 10px;
	--ease: cubic-bezier(.2, .7, .2, 1);
	--display: "DM Serif Display", "Iowan Old Style", Georgia, serif;
	--sans: "Archivo", system-ui, -apple-system, "Segoe UI", sans-serif;
	--script: "Yellowtail", "Brush Script MT", cursive;
}
[hidden] { display: none !important; }
html { scroll-behavior: smooth; scroll-padding-top: 6.5rem; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body {
	background-color: var(--paper);
	background-image: radial-gradient(rgba(126, 92, 18, .045) 1px, transparent 1.2px);
	background-size: 7px 7px;
	-webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; overflow-x: clip;
}
::selection { background: var(--gold); color: var(--ink); }
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible { outline: 3px solid var(--teal-bright); outline-offset: 3px; border-radius: 4px; }
.bc-sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.bc-skip { position: absolute; left: 1rem; top: -4rem; z-index: 100; background: var(--ink); color: #fff; padding: .7rem 1rem; border-radius: 6px; font-weight: 700; }
.bc-skip:focus { top: 1rem; }
img { max-width: 100%; height: auto; }
.bc-anchor { position: relative; top: -7rem; height: 0; }

/* ============================================================================================================ type */
h1 em, h2 em, h3 em, .bc-gilt em { font-style: italic; color: var(--teal); }
.bc-eyebrow {
	font: 700 .8rem/1.2 var(--sans); font-stretch: 118%; letter-spacing: .16em; text-transform: uppercase; color: var(--teal-deep);
	display: block; margin: 0 0 .9rem;
}
.bc-eyebrow::before { content: ""; display: inline-block; vertical-align: middle; width: 1.6rem; height: 3px; margin: -.2em .65rem 0 0; background: var(--teal); border-radius: 2px; }
.bc-eyebrow--gold { color: var(--gold); }
.bc-eyebrow--gold::before { background: var(--gold); }
.bc-lead { font-size: var(--wp--preset--font-size--md); line-height: 1.55; color: var(--ink-soft); max-width: 40rem; }
.bc-fine { font-size: .95rem; color: var(--ink-soft); }
.bc-center { text-align: center; }
.bc-arrow { font-weight: 700; text-decoration: none; border-bottom: 2px solid currentColor; padding-bottom: 2px; }
.bc-arrow::after { content: " →"; }
.bc-crumbs { font-size: .88rem; margin: 0 0 1.1rem; color: rgba(244, 239, 201, .82); }
.bc-crumbs a { color: var(--sign); }
.bc-crumbs span { margin: 0 .5rem; opacity: .6; }
.bc-ticks { list-style: none; padding: 0; margin: 1rem 0; display: grid; gap: .55rem; }
.bc-ticks li { position: relative; padding-left: 2rem; }
.bc-ticks li::before { content: ""; position: absolute; left: 0; top: .3rem; width: 1.2rem; height: 1.2rem; border-radius: 4px; background: var(--teal) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3.2 3.2L15 6.8' fill='none' stroke='%23F4EFC9' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat; }

/* gold leaf on glass (page heads, the window section) */
.bc-gilt, .bc-gilt em {
	color: var(--gold); background: var(--gilt); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
	filter: drop-shadow(0 2px 0 #5A3F0A) drop-shadow(0 0 1px rgba(0, 0, 0, .4));
}
.bc-gilt em { font-style: italic; }

/* ========================================================================================================= buttons */
.wp-block-button__link, .bc-btn, .bc-cta {
	box-shadow: 0 3px 0 var(--teal-deep), 0 10px 18px -12px rgba(11, 79, 80, .7);
	transition: transform .18s var(--ease), box-shadow .18s var(--ease), background-color .18s;
}
.wp-block-button__link:hover, .bc-btn:hover, .bc-cta:hover { transform: translateY(-2px); }
.wp-block-button__link:active, .bc-btn:active, .bc-cta:active { transform: translateY(1px); box-shadow: 0 1px 0 var(--teal-deep); }
.is-style-ghost .wp-block-button__link, .bc-btn--ghost {
	background: transparent; color: var(--teal-deep); border: 2px solid var(--teal); box-shadow: 0 3px 0 rgba(19, 113, 111, .25);
}
.is-style-ghost .wp-block-button__link:hover, .bc-btn--ghost:hover { background: rgba(19, 113, 111, .08); color: var(--teal-deep); }
.is-style-gold .wp-block-button__link { background: var(--gold); color: var(--ink); box-shadow: 0 3px 0 #8E6A1B, 0 10px 18px -12px rgba(0, 0, 0, .6); }
.is-style-gold .wp-block-button__link:hover { background: #EDCB72; color: var(--ink); }
.is-style-link .wp-block-button__link { background: none; color: var(--teal); padding: 0; box-shadow: none; text-decoration: underline; }
.bc-btn { display: inline-flex; align-items: center; justify-content: center; background: var(--teal); color: #fff; font-weight: 700; padding: .8rem 1.2rem; border-radius: 6px; text-decoration: none; }
.bc-btn:hover { color: #fff; background: var(--teal-deep); }
.bc-center-buttons { justify-content: center; margin-top: 2.2rem; }

/* ========================================================================================================= top bar + header */
header.wp-block-template-part { position: sticky; top: calc(var(--bc-topbar-h) * -1); z-index: 50; }
:root { --bc-topbar-h: 2.4rem; }
.bc-topbar { background: var(--teal-deep); color: var(--sign); font-size: .9rem; height: var(--bc-topbar-h); display: flex; align-items: center; overflow: hidden; }
.bc-topbar__row { display: flex; align-items: center; gap: 1.4rem; justify-content: flex-end; flex-wrap: nowrap; white-space: nowrap; width: 100%; }
@media (max-width: 600px) { .bc-topbar__call { display: none; } .bc-topbar__row { justify-content: center; } .bc-topbar__row .bc-status { margin-right: 0; } }
.bc-topbar__row .bc-status { margin-right: auto; }
.bc-topbar a { color: var(--sign); font-weight: 700; text-decoration: none; }
.bc-topbar a:hover { text-decoration: underline; }
.bc-status { display: inline-flex; align-items: center; gap: .5rem; font-weight: 600; }
.bc-status__dot { width: .62rem; height: .62rem; border-radius: 50%; background: var(--gold); box-shadow: 0 0 0 3px rgba(226, 190, 98, .25); flex: none; }
.bc-status[data-state="open"] .bc-status__dot { background: var(--open-glow); box-shadow: 0 0 0 3px rgba(107, 212, 155, .25); animation: bc-pulse 2.4s ease-in-out 3; }
.bc-status[data-state="closed"] .bc-status__dot { background: #F08A6A; box-shadow: 0 0 0 3px rgba(240, 138, 106, .22); }
@keyframes bc-pulse { 50% { box-shadow: 0 0 0 7px rgba(107, 212, 155, 0); } }

.bc-header {
	position: relative; background: rgba(251, 247, 236, .96); backdrop-filter: blur(6px);
	border-bottom: 3px solid var(--teal); box-shadow: 0 2px 0 var(--paper), 0 3px 0 rgba(19, 113, 111, .35); padding-top: .7rem; padding-bottom: .7rem;
	transition: box-shadow .2s;
}
.bc-header.is-scrolled { box-shadow: 0 2px 0 var(--paper), 0 3px 0 rgba(19, 113, 111, .35), 0 14px 28px -20px rgba(28, 42, 45, .55); }
.bc-header__row { gap: 1.2rem; align-items: center; }
.bc-brand { display: inline-flex; flex-direction: column; text-decoration: none; color: var(--ink); line-height: 1; flex: none; }
.bc-brand__sign {
	display: inline-flex; flex-direction: column; align-items: center; background: linear-gradient(#F8F4D6, #ECE5B8); padding: .38rem .7rem .32rem;
	border: 3px solid #3A3A34; border-radius: 4px; box-shadow: 0 2px 0 rgba(0, 0, 0, .18);
}
.bc-brand__pill { font: 900 .78rem/1 var(--sans); font-stretch: 125%; letter-spacing: .28em; text-transform: uppercase; background: var(--teal); color: var(--sign); padding: .22rem .65rem .2rem .9rem; border-radius: 99px; }
.bc-brand__word { font: 900 1.18rem/1 var(--sans); font-stretch: 112%; letter-spacing: .02em; text-transform: uppercase; color: var(--teal); margin-top: .2rem; }
.bc-brand__sub { font: 600 .74rem/1.2 var(--sans); letter-spacing: .08em; text-transform: uppercase; color: var(--ink-soft); margin-top: .38rem; text-align: center; }
.bc-nav { flex: 1 1 auto; }
.bc-nav .wp-block-navigation__container { gap: .2rem 1.35rem; }
.bc-nav .wp-block-navigation-item__content { color: var(--ink); text-decoration: none; padding: .35rem 0; position: relative; }
.bc-nav .wp-block-navigation-item__content::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: var(--gold); transform: scaleX(0); transform-origin: left; transition: transform .22s var(--ease); border-radius: 2px; }
.bc-nav .wp-block-navigation-item__content:hover::after, .bc-nav [aria-current="page"]::after { transform: scaleX(1); }
.bc-nav [aria-current="page"] { color: var(--teal-deep); }
.bc-nav-cta { display: none !important; }
.bc-cta { display: inline-flex; align-items: center; background: var(--teal); color: #fff; font-weight: 700; padding: .72rem 1.15rem; border-radius: 6px; text-decoration: none; white-space: nowrap; }
.bc-cta:hover { color: #fff; background: var(--teal-deep); }
.bc-nav .wp-block-navigation__responsive-container-open { color: var(--ink); background: var(--sign); border: 2px solid var(--teal); border-radius: 6px; padding: .35rem; }
.bc-nav .wp-block-navigation__responsive-container.is-menu-open { background: var(--paper); padding: 1.4rem; }
.bc-nav .is-menu-open .wp-block-navigation__container { gap: .4rem; font-size: 1.35rem; }
.bc-nav .is-menu-open .bc-nav-cta { display: block !important; margin-top: .6rem; }
.bc-nav .is-menu-open .bc-nav-cta .wp-block-navigation-item__content { background: var(--teal); color: #fff; padding: .7rem 1.1rem; border-radius: 6px; font-size: 1.1rem; }
.bc-nav .is-menu-open .bc-nav-cta--call .wp-block-navigation-item__content { background: transparent; color: var(--teal-deep); border: 2px solid var(--teal); }
.bc-nav .is-menu-open .wp-block-navigation-item__content::after { display: none; }
@media (max-width: 1180px) { .bc-nav .wp-block-navigation__container { gap: .2rem 1rem; } .bc-brand__sub { display: none; } }
.bc-nav .wp-block-navigation-item__content { white-space: nowrap; }
@media (max-width: 1000px) { .bc-nav .wp-block-navigation__container { gap: .2rem .8rem; } .bc-nav { font-size: .9rem; } .bc-header__row { gap: .8rem; } }
@media (max-width: 899px) {
	.bc-header__ctas { display: none; }
	.bc-topbar__addr { display: none; }
}

/* =================================================================================================================== hero */
.wp-site-blocks > main, .wp-site-blocks > footer { margin-block-start: 0; }
.bc-hero { padding-top: clamp(1.4rem, 2.6vw, 2.2rem); padding-bottom: 0; position: relative; }
.bc-hero__top { display: grid; grid-template-columns: minmax(0, 1fr) minmax(17rem, 21rem); gap: clamp(1.5rem, 4vw, 3.5rem); align-items: start; }
.bc-hero__words .bc-eyebrow { margin-bottom: .7rem; }
.bc-hero__title { font-size: clamp(2.6rem, 1.2rem + 3.3vw, 4.15rem); margin: 0; max-width: 17ch; line-height: 1.03; }
.bc-hero__words .bc-lead { margin-top: .9rem; font-size: clamp(1.08rem, 1rem + .3vw, 1.2rem); max-width: 44rem; }
.bc-hero__buttons { margin-top: 1.2rem; }
.bc-hero__today { position: relative; }
.bc-hero__script { font: 400 clamp(1.6rem, 1.2rem + 1vw, 2.1rem)/1 var(--script); color: var(--terra); margin: 0 0 .5rem .3rem !important; transform: rotate(-4deg); transform-origin: left; }
@media (min-width: 861px) {
	.bc-hero__title em { display: block; }
	.bc-hero__title { max-width: none; }
	.bc-hero__words .bc-lead { max-width: 46rem; }
	.bc-hero__today { padding-top: 1.55rem; }
	/* "Caring since 1987" painted across the top of the hours sign */
	.bc-hero__script { position: absolute; top: .1rem; left: 50%; z-index: 2; margin: 0 !important; padding: 0 .55rem .1rem; background: var(--paper); white-space: nowrap; transform: translateX(-50%) rotate(-3deg); transform-origin: center; }
}
.bc-hero .bc-today { padding: .85rem 1.1rem .8rem; }
.bc-hero .bc-today__status { margin-bottom: .4rem; font-size: 1.05rem; }
.bc-hero .bc-hours { font-size: .9rem; }
.bc-hero .bc-hours th, .bc-hero .bc-hours td { padding-top: .14rem; padding-bottom: .14rem; }
.bc-hero .bc-today__links { margin-top: .5rem; font-size: .9rem; }
.bc-hours--grouped th { white-space: nowrap; }
.bc-hours--grouped td { white-space: nowrap; }
@media (max-width: 860px) { .bc-hero__top { grid-template-columns: 1fr; } .bc-hero__title { max-width: 13ch; } }

/* the "today" sign */
.bc-today {
	background: #FFFDF5; border: 2px solid var(--ink); border-radius: 8px; padding: 1.1rem 1.2rem 1rem; box-shadow: 6px 6px 0 var(--teal), var(--shade); position: relative;
}
.bc-today::before, .bc-today::after { content: ""; position: absolute; top: -.55rem; width: .9rem; height: .9rem; border-radius: 50%; background: var(--alu); border: 2px solid var(--ink); }
.bc-today::before { left: 1rem; } .bc-today::after { right: 1rem; }
.bc-today__eyebrow { font: 800 .74rem/1.2 var(--sans); font-stretch: 118%; letter-spacing: .14em; text-transform: uppercase; color: var(--teal-deep); margin: 0 0 .35rem; }
.bc-today__status { font-size: 1.12rem; margin: 0 0 .6rem; }
.bc-today__status .bc-status[data-state="open"] { color: var(--open); }
.bc-today__status .bc-status[data-state="closed"] { color: var(--terra); }
.bc-today__status .bc-status[data-state="appt"] { color: var(--gold-deep); }
.bc-today__links { display: flex; flex-wrap: wrap; gap: .3rem 1rem; margin: .7rem 0 0; font-size: .95rem; }
.bc-today__call { font-weight: 800; }
.bc-hours { width: 100%; border-collapse: collapse; font-size: .95rem; font-variant-numeric: tabular-nums; }
.bc-hours th { text-align: left; font-weight: 600; padding: .22rem .5rem .22rem 0; }
.bc-hours td { text-align: right; padding: .22rem 0; }
.bc-hours tr + tr { border-top: 1px dashed rgba(28, 42, 45, .18); }
.bc-hours .is-today th, .bc-hours .is-today td { color: var(--teal-deep); font-weight: 800; }
.bc-hours .is-today th::before { content: "▸ "; color: var(--teal); }

/* the drawn storefront */
.bc-shop { margin-top: clamp(1.6rem, 3vw, 2.8rem); position: relative; }
.bc-hero .bc-shop { margin-top: clamp(1.2rem, 2.2vw, 2rem); }
@media (min-width: 761px) { .bc-hero .bc-shop__svg { margin-top: -2.4vw; } }
.bc-shop__frame { overflow: hidden; line-height: 0; }
.bc-shop__svg { display: block; width: 100%; height: auto; }
@media (max-width: 760px) {
	.bc-hero .bc-shop__frame { height: 330px; }
	.bc-hero .bc-shop__svg { width: auto; height: 100%; max-width: none; position: relative; left: 50%; transform: translateX(-42%); }
}
.bc-shop--small .bc-shop__frame { border-radius: var(--radius); box-shadow: var(--shade); }
.bcs-signtext { font-family: var(--sans); font-weight: 900; font-stretch: 125%; }
.bcs-script { font-family: var(--display); font-style: italic; }
.bcs-glasstext text { fill: #2BA3A6; stroke: #F4EFC9; stroke-width: .8px; paint-order: stroke; }
.bcs-sky1 { stop-color: var(--sky1, #BFE0E8); } .bcs-sky2 { stop-color: var(--sky2, #F2F2E4); }
.bcs-stucco { fill: #EDE4D1; }
.bcs-room { fill: #F2E3BF; transition: fill .6s; }
.bcs-tint { fill: #132F37; opacity: .18; transition: opacity .6s; }
.bcs-roomglow { opacity: .55; transition: opacity .6s; }
.bcs-ceil { fill: #FFF3CF; }
.bcs-doorway { fill: #FFE7A8; }
.bcs-moon, .bcs-cones, .bcs-streetlamp__glow { opacity: 0; transition: opacity .8s; }
.bcs-moon__bite { fill: var(--sky1, #0E1E2C); }
.bcs-clouds { opacity: .85; }
.bc-shop[data-tod="dawn"] { --sky1: #F3C79E; --sky2: #FBE8CF; }
.bc-shop[data-tod="day"] { --sky1: #B9DDE6; --sky2: #EEF5EE; }
.bc-shop[data-tod="dusk"] { --sky1: #2E4A6E; --sky2: #EDA56A; }
.bc-shop[data-tod="night"] { --sky1: #0D1C2A; --sky2: #23415B; }
.bc-shop[data-tod="dusk"] .bcs-cones, .bc-shop[data-tod="night"] .bcs-cones { opacity: 1; }
.bc-shop[data-tod="dusk"] .bcs-streetlamp__glow, .bc-shop[data-tod="night"] .bcs-streetlamp__glow { opacity: 1; }
.bc-shop[data-tod="night"] .bcs-moon { opacity: 1; }
.bc-shop[data-tod="night"] .bcs-sun, .bc-shop[data-tod="night"] .bcs-clouds { opacity: 0; }
.bc-shop[data-tod="dusk"] .bcs-sun { transform: translateY(40px); }
.bc-shop[data-tod="dusk"] .bcs-clouds { opacity: .35; }
.bc-shop[data-tod="dusk"] .bcs-stucco, .bc-shop[data-tod="night"] .bcs-stucco { fill: #B9AF9B; }
.bc-shop[data-tod="night"] .bcs-stucco { fill: #6F6A60; }
.bcs-sun { transition: transform 1s, opacity .8s; }
.bcs-nb { fill: #E0D3B8; } .bcs-walk { fill: #D2CBBD; }
.bc-shop[data-tod="dusk"] .bcs-nb { fill: #B3A68D; } .bc-shop[data-tod="night"] .bcs-nb { fill: #5E584D; }
.bc-shop[data-tod="dusk"] .bcs-walk { fill: #AFA899; } .bc-shop[data-tod="night"] .bcs-walk { fill: #77736A; }
/* the lights are on when the office is open */
.bc-is-closed .bcs-room, .bc-is-appt .bcs-room { fill: #3A4A50; }
.bc-is-closed .bcs-tint, .bc-is-appt .bcs-tint { opacity: .55; }
.bc-is-closed .bcs-roomglow, .bc-is-appt .bcs-roomglow { opacity: 0; }
.bc-is-closed .bcs-ceil, .bc-is-appt .bcs-ceil { fill: #59666B; }
.bcs-opensign__bg { fill: #C0392B; stroke: #F4EFC9; stroke-width: 2; }
.bcs-opensign__word, .bcs-opensign__sub { fill: #FFF8E6; }
.bcs-opensign__sub { font-family: var(--sans); font-weight: 700; }
.bcs-opensign[data-state="open"] .bcs-opensign__bg { fill: #1F7A45; }
.bcs-opensign[data-state="appt"] .bcs-opensign__bg { fill: #8A6514; }
.bcs-opensign { transform-box: fill-box; transform-origin: 50% -40%; }
.bcs-opensign.is-flipping { animation: bc-flip .9s var(--ease); }
@keyframes bc-flip { 0% { transform: rotateY(0) rotate(0); } 40% { transform: rotate(8deg) scaleX(.1); } 70% { transform: rotate(-5deg) scaleX(1); } 100% { transform: rotate(0); } }
.bcs-vinyl text { font-family: var(--sans); font-weight: 700; }
.bcs-door { transform-box: view-box; transform-origin: 372px 467px; transition: transform .7s var(--ease); }
.bc-shop.is-door-open .bcs-door { transform: perspective(600px) rotateY(-62deg); }
.bcs-deco { display: none; }
.bc-season-fall .bcs-deco--fall, .bc-season-winter .bcs-deco--winter, .bc-season-spring .bcs-deco--spring, .bc-season-summer .bcs-deco--summer { display: inline; }
.bcs-deco.is-new { animation: bc-dress .7s var(--ease); }
@keyframes bc-dress { from { opacity: 0; transform: translateY(-14px); } }
.bcs-canopy { fill: #6E9B58; transition: fill .6s, opacity .6s; }
.bc-season-fall .bcs-canopy { fill: #D9822B; } .bc-season-fall .bcs-canopy circle:nth-child(2n) { fill: #E2BE62; }
.bc-season-winter .bcs-canopy { opacity: 0; }
.bc-season-spring .bcs-canopy { fill: #8DBB6A; } .bc-season-spring .bcs-canopy circle:nth-child(2n) { fill: #F2B8C6; }
.bcs-flowers__plants { fill: #5B7B4A; }
.bcs-flowers__blooms, .bcs-pots { fill: #F2B8C6; }
.bc-season-fall .bcs-flowers__blooms, .bc-season-fall .bcs-pots { fill: #C8552B; }
.bc-season-fall .bcs-flowers__blooms circle:nth-child(3n) { fill: #E2A24A; }
.bc-season-winter .bcs-flowers__plants { fill: #2F5D46; }
.bc-season-winter .bcs-flowers__blooms, .bc-season-winter .bcs-pots { fill: #C0392B; }
.bc-season-summer .bcs-flowers__blooms, .bc-season-summer .bcs-pots { fill: #F2C14E; }
.bc-season-summer .bcs-flowers__blooms circle:nth-child(2n) { fill: #E87A9A; }
.bc-dress { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .4rem .5rem; padding: .8rem 1rem 1rem; background: #4A4F52; color: #fff; }
.bc-dress__label { font: 400 1.25rem/1 var(--script); color: var(--sign); margin-right: .3rem; }
.bc-dress__btn { font: 700 .86rem/1 var(--sans); letter-spacing: .04em; padding: .5rem .8rem; border-radius: 99px; border: 2px solid rgba(244, 239, 201, .5); background: transparent; color: var(--sign); cursor: pointer; }
.bc-dress__btn:hover { border-color: var(--sign); }
.bc-dress__btn[aria-pressed="true"] { background: var(--sign); color: var(--ink); border-color: var(--sign); }

/* ================================================================================================================ sections */
.bc-section { padding-top: clamp(3.5rem, 7vw, 6.5rem); padding-bottom: clamp(3.5rem, 7vw, 6.5rem); position: relative; }
.bc-section__head { margin-bottom: clamp(1.6rem, 3vw, 2.6rem); max-width: 46rem; }
.bc-section__head h2 { margin: 0; }
.bc-section__head .bc-lead { margin-top: 1rem; }
.bc-aside { margin-top: 2rem; padding: 1rem 1.2rem; border-left: 4px solid var(--gold); background: rgba(226, 190, 98, .13); border-radius: 0 8px 8px 0; max-width: 52rem; }
.bc-aside p { margin: 0; }

/* "Step inside": gold leaf on three panes of glass */
.bc-inside { background: linear-gradient(var(--stucco), var(--paper)); }
.bc-panes, .bc-steps { grid-template-columns: repeat(auto-fit, minmax(min(15rem, 100%), 1fr)) !important; gap: clamp(1rem, 2vw, 1.6rem); }
.bc-pane {
	position: relative; overflow: hidden; color: rgba(244, 239, 201, .92); padding: 1.6rem 1.5rem 1.7rem; border-radius: 4px;
	background: linear-gradient(165deg, #1D4550 0%, #132F37 60%, #0F262D 100%);
	border: 10px solid var(--alu); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .08), 0 2px 0 #6F777B, var(--shade);
}
.bc-pane::before { content: ""; position: absolute; inset: 0; background: linear-gradient(125deg, rgba(255, 255, 255, .13) 0 22%, transparent 22.2% 60%, rgba(255, 255, 255, .06) 60.2% 66%, transparent 66.2%); pointer-events: none; }
.bc-pane__num { font: 400 3.2rem/1 var(--display); margin: 0; color: var(--gold); background: var(--gilt); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; filter: drop-shadow(0 2px 0 #5A3F0A); }
.bc-pane__title { font-size: 2rem; margin: .3rem 0 .6rem; color: var(--gold); background: var(--gilt); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; filter: drop-shadow(0 2px 0 #5A3F0A); }
.bc-pane p:last-child { margin: 0; }

/* the felt letter board */
.bc-boardsec { background: var(--paper); }
.bc-board-cols { gap: clamp(1.5rem, 4vw, 4rem); align-items: center; }
.bc-board { perspective: 900px; }
.bc-board__frame {
	padding: 1.3rem 1.4rem 1.4rem; border-radius: 6px; position: relative;
	background: repeating-linear-gradient(180deg, #202325 0 3px, #2B2F31 3px 34px);
	border: 16px solid #A87B4F; border-image: linear-gradient(135deg, #C2925F, #8C613A 40%, #B88653 70%, #7A532F) 1;
	box-shadow: inset 0 0 22px rgba(0, 0, 0, .55), 0 18px 34px -18px rgba(28, 42, 45, .7);
	transform: rotateX(4deg) rotate(-.6deg);
}
.bc-board__head, .bc-board__foot { font: 800 1.05rem/34px var(--sans); font-stretch: 75%; letter-spacing: .2em; color: var(--gold); margin: 0; text-align: center; }
.bc-board__rows { list-style: none; margin: 0; padding: 0; }
.bc-board__rows li { font: 700 clamp(1.05rem, .9rem + .6vw, 1.4rem)/34px var(--sans); font-stretch: 78%; letter-spacing: .14em; text-align: center; color: #F3F1EA; text-shadow: 0 1px 0 rgba(0, 0, 0, .6); }
.bc-board__rows a { color: #F3F1EA; text-decoration: none; display: inline-block; padding: 0 .3rem; border-radius: 3px; }
.bc-board__rows a:hover { color: var(--gold); }
.bc-board__rows a:hover .bc-l { color: var(--gold); }
.bc-board__rows a:focus-visible { outline-color: var(--gold); }
.bc-l { display: inline-block; transform: rotate(var(--r, 0deg)) translateY(var(--y, 0)); transition: transform .3s var(--ease); }
.bc-board.is-ready .bc-l { opacity: 0; transform: translateY(-16px) rotate(var(--r, 0deg)); }
.bc-board.is-in .bc-l { opacity: 1; transform: rotate(var(--r, 0deg)) translateY(var(--y, 0)); transition: opacity .2s, transform .45s var(--ease); transition-delay: calc(var(--k) * 14ms); }
.bc-svc-list { display: grid; gap: .9rem; margin-top: 1.6rem; }
.bc-svc { display: grid; grid-template-columns: 3rem 1fr; gap: .1rem 1rem; align-items: start; padding: 1rem 1.1rem; background: #FFFDF5; border: 1px solid rgba(28, 42, 45, .12); border-radius: var(--radius); box-shadow: var(--shade); }
.bc-svc > * { grid-column: 2; margin: 0 !important; }
.bc-svc__icon { grid-column: 1 !important; grid-row: 1 / span 3; color: var(--teal); width: 3rem; height: 3rem; display: grid; place-items: center; background: var(--sign); border-radius: 50%; }
.bc-svc__icon svg { width: 1.9rem; height: 1.9rem; }
.bc-svc h3 { font-size: 1.35rem; }
.bc-svc p { font-size: 1rem; }
.bc-svc__more { margin-top: .3rem !important; font-weight: 700; }
.bc-svc__more a { text-decoration: none; }
.bc-boardsec .bc-center { margin-top: 2.4rem; }

/* pencil marks on the door frame */
.bc-whosec { background: linear-gradient(var(--paper), var(--stucco)); }
.bc-chart-cols { gap: clamp(1.5rem, 5vw, 5rem); align-items: center; }
.bc-chart { display: flex; flex-direction: column; align-items: center; }
.bc-chart__frame {
	position: relative; width: min(100%, 20rem); height: 34rem; border-radius: 4px 4px 0 0;
	background: linear-gradient(90deg, #E9E2D2 0 14%, #F9F6EE 14% 86%, #E9E2D2 86%), #F9F6EE;
	border: 2px solid #D5CCB8; border-bottom: 0; box-shadow: inset -10px 0 18px -14px rgba(0, 0, 0, .35), 0 20px 30px -24px rgba(28, 42, 45, .6);
}
.bc-chart__frame::after { content: ""; position: absolute; left: -1.4rem; right: -1.4rem; bottom: -1.2rem; height: 1.2rem; background: linear-gradient(#B48A5E, #8C613A); border-radius: 2px; }
.bc-chart__ruler { position: absolute; left: 0; top: 0; bottom: 0; width: 14%; background: repeating-linear-gradient(0deg, transparent 0 calc(16.66% - 2px), rgba(28, 42, 45, .45) calc(16.66% - 2px) 16.66%); pointer-events: none; }
.bc-mark {
	position: absolute; left: 8%; right: 4%; bottom: var(--h); transform: translateY(50%); display: flex; align-items: center; gap: .5rem;
	background: none; border: 0; padding: .25rem 0; cursor: pointer; color: #5D6668; font: inherit; text-align: left;
}
.bc-mark__line { flex: 0 0 34%; height: 2px; background: #6F777B; border-radius: 2px; transition: background .2s, height .2s; }
.bc-mark__label { font: 400 1.35rem/1.05 var(--script); color: #4F5A5C; transition: color .2s, transform .2s; }
.bc-mark:hover .bc-mark__label { color: var(--teal-deep); transform: translateX(3px); }
.bc-mark[aria-expanded="true"] .bc-mark__line { background: var(--teal); height: 4px; }
.bc-mark[aria-expanded="true"] .bc-mark__label { color: var(--teal-deep); }
.bc-mark[aria-expanded="true"] .bc-mark__label::after { content: " ★"; font-family: var(--sans); font-size: .9rem; color: var(--gold-deep); }
.bc-chart__caption { font: 400 1.1rem/1 var(--script); color: var(--ink-soft); margin: 2rem 0 0; }
.bc-who-panels { margin-top: 1.6rem; }
.bc-who { background: #FFFDF5; border-radius: var(--radius); padding: 1.3rem 1.4rem; box-shadow: var(--shade); border-top: 5px solid var(--teal); }
.bc-who.is-new { animation: bc-rise .4s var(--ease); }
@keyframes bc-rise { from { opacity: 0; transform: translateY(10px); } }
.bc-who__title { font-size: 1.6rem; margin: 0 0 .3rem; }
.bc-who__lead { font-weight: 700; margin: 0 0 .4rem; }
.bc-who__more { font: 800 .78rem/1 var(--sans); letter-spacing: .12em; text-transform: uppercase; color: var(--gold-deep); margin: 1rem 0 .4rem; }
.bc-who__links { margin: 0; padding-left: 1.1rem; }
@media (max-width: 781px) { .bc-chart__frame { height: 26rem; } }

/* the sampler */
.bc-samplersec { background: var(--stucco); }
.bc-sampler-cols { gap: clamp(1.5rem, 5vw, 5rem); align-items: center; }
.bc-sampler { margin: 0; padding: 18px; background: linear-gradient(135deg, #6B4428, #4A2D19 50%, #6B4428); border-radius: 4px; box-shadow: 0 24px 40px -24px rgba(28, 42, 45, .8), inset 0 0 0 2px rgba(255, 255, 255, .08); }
.bc-sampler__cloth {
	position: relative; padding: clamp(1.6rem, 4vw, 2.6rem) clamp(1.3rem, 4vw, 2.8rem) 2.2rem;
	background-color: #F6F0DE;
	background-image: linear-gradient(rgba(126, 92, 18, .08) 1px, transparent 1px), linear-gradient(90deg, rgba(126, 92, 18, .08) 1px, transparent 1px);
	background-size: 6px 6px; box-shadow: inset 0 0 0 10px #F6F0DE, inset 0 0 0 13px rgba(169, 80, 46, .55), inset 0 0 30px rgba(126, 92, 18, .18);
}
.bc-sampler__title { font: 400 clamp(1.8rem, 1.3rem + 1.5vw, 2.4rem)/1.1 var(--script); color: var(--terra); text-align: center; margin: 0 0 1.1rem; }
.bc-sampler__lines { list-style: none; margin: 0; padding: 0; counter-reset: s; }
.bc-sampler__lines li { font: 400 clamp(1.02rem, .95rem + .35vw, 1.2rem)/1.35 var(--display); text-align: center; padding: .3rem 0; color: var(--teal-deep); }
.bc-sampler__lines li:nth-child(3n+2) { color: var(--terra); }
.bc-sampler__lines li:nth-child(3n) { color: var(--gold-deep); }
.bc-sampler.is-ready .bc-sampler__lines li { clip-path: inset(0 100% 0 0); }
.bc-sampler.is-in .bc-sampler__lines li { clip-path: inset(0 0 0 0); transition: clip-path .9s steps(18) calc(var(--i) * .16s); }
.bc-sampler__motto { font: 400 1.7rem/1 var(--script); color: var(--teal); text-align: center; margin: 1.3rem 0 0; }
.bc-sampler__corner { position: absolute; top: 1.3rem; width: 1.6rem; color: var(--terra); }
.bc-sampler__corner svg { fill: currentColor; display: block; }
.bc-sampler__corner--tl { left: 1.4rem; } .bc-sampler__corner--tr { right: 1.4rem; }
.bc-sampler__stitchrow { display: block; height: 10px; margin: 1.2rem auto 0; width: 70%; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10'%3E%3Cpath d='M2 2l6 6M8 2L2 8' stroke='%2313716F' stroke-width='1.6'/%3E%3C/svg%3E") repeat-x; }

/* the window: newest articles as posters on dark glass */
.bc-windowsec { background: linear-gradient(170deg, #1D4550 0%, #132F37 55%, #0F262D 100%); color: rgba(244, 239, 201, .9); border-top: 14px solid var(--alu); border-bottom: 14px solid var(--alu); overflow: hidden; }
.bc-windowsec::before { content: ""; position: absolute; inset: 0; background: linear-gradient(115deg, rgba(255, 255, 255, .07) 0 18%, transparent 18.2% 70%, rgba(255, 255, 255, .04) 70.2% 76%, transparent 76.2%); pointer-events: none; }
.bc-windowsec .bc-lead { color: rgba(244, 239, 201, .85); }
.bc-window-posts .wp-block-post-template, .bc-posts .wp-block-post-template { grid-template-columns: repeat(auto-fill, minmax(min(16.5rem, 100%), 1fr)) !important; gap: clamp(1.4rem, 3vw, 2.4rem); }
.bc-poster { position: relative; background: #FFFDF5; color: var(--ink); padding: .7rem .7rem 1rem; box-shadow: 0 16px 28px -16px rgba(0, 0, 0, .8); transform: rotate(var(--tilt, -1deg)); transition: transform .3s var(--ease); height: 100%; }
.wp-block-post:nth-child(2) .bc-poster { --tilt: 1.2deg; } .wp-block-post:nth-child(3) .bc-poster { --tilt: -.4deg; }
.bc-poster:hover { transform: rotate(0) translateY(-4px); }
.bc-poster::before, .bc-poster::after { content: ""; position: absolute; top: -.7rem; width: 4.2rem; height: 1.4rem; background: rgba(244, 239, 201, .72); box-shadow: 0 1px 2px rgba(0, 0, 0, .2); }
.bc-poster::before { left: .2rem; transform: rotate(-24deg); } .bc-poster::after { right: .2rem; transform: rotate(22deg); }
.bc-poster__img { margin: 0 0 .7rem; } .bc-poster__img img { display: block; }
.bc-poster__date { font: 700 .78rem/1 var(--sans); letter-spacing: .12em; text-transform: uppercase; color: var(--terra); margin: 0 .2rem .4rem; }
.bc-poster__title { font-size: 1.35rem; margin: 0 .2rem; line-height: 1.15; }
.bc-poster__title a { color: var(--ink); text-decoration: none; }
.bc-poster__title a:hover { color: var(--teal); text-decoration: underline; }

/* first visit: the clipboard */
.bc-visitsec { background: var(--paper); }
.bc-visit-cols { gap: clamp(1.5rem, 5vw, 5rem); align-items: center; }
.bc-clip { max-width: 30rem; margin: 0 auto; transform: rotate(1.5deg); }
.bc-clip__board { position: relative; padding: 2.6rem 1.1rem 1.2rem; border-radius: 16px; background: linear-gradient(140deg, #A0703F, #85572E 45%, #9A6A3A); box-shadow: 0 26px 40px -26px rgba(28, 42, 45, .9), inset 0 0 0 2px rgba(255, 255, 255, .1); }
.bc-clip__clip { position: absolute; left: 50%; top: -.9rem; transform: translateX(-50%); width: 9rem; height: 3.4rem; border-radius: 10px 10px 6px 6px; background: linear-gradient(#E4E8EA, #9AA3A8 55%, #C9D0D3); box-shadow: 0 4px 8px rgba(0, 0, 0, .35); }
.bc-clip__clip::after { content: ""; position: absolute; left: 50%; top: .6rem; width: 3rem; height: .9rem; transform: translateX(-50%); border-radius: 99px; background: #6F777B; }
.bc-clip__paper { background: #FFFEF9; padding: 1.4rem 1.3rem 1.5rem; box-shadow: 0 2px 0 rgba(0, 0, 0, .1); }
.bc-clip__letterhead { font: 800 .95rem/1.2 var(--sans); font-stretch: 112%; text-transform: uppercase; letter-spacing: .08em; color: var(--teal); text-align: center; border-bottom: 2px solid var(--teal); padding-bottom: .5rem; margin: 0 0 1rem; }
.bc-clip__letterhead small { display: block; font: 500 .72rem/1.4 var(--sans); letter-spacing: .02em; text-transform: none; color: var(--ink-soft); margin-top: .2rem; }
.bc-clip__title { font: 400 1.6rem/1.1 var(--display); margin: 0 0 .8rem; }
.bc-clip__steps { list-style: none; margin: 0; padding: 0; display: grid; gap: .85rem; }
.bc-clip__steps li { display: grid; grid-template-columns: 1.6rem 1fr; gap: .1rem .7rem; font-size: .98rem; line-height: 1.45; }
.bc-clip__steps strong { grid-column: 2; }
.bc-clip__steps li > span:last-child { grid-column: 2; color: var(--ink-soft); }
.bc-check { grid-row: 1 / span 2; width: 1.4rem; height: 1.4rem; border: 2px solid var(--ink); border-radius: 3px; position: relative; margin-top: .1rem; }
.bc-check::after { content: ""; position: absolute; left: .32rem; top: -.05rem; width: .45rem; height: .9rem; border: solid var(--terra); border-width: 0 3px 3px 0; transform: rotate(40deg); }
.bc-clip.is-ready .bc-check::after { clip-path: inset(100% 0 0 0); }
.bc-clip.is-in .bc-check::after { clip-path: inset(0 0 0 0); transition: clip-path .35s ease-out calc(.3s + var(--i) * .35s); }
.bc-clip__steps li { --i: 0; }

/* find us */
.bc-findsec { background: var(--stucco); }
.bc-find { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(16rem, .9fr); gap: clamp(1.2rem, 3vw, 2.4rem); align-items: stretch; }
@media (max-width: 860px) { .bc-find { grid-template-columns: 1fr; } }
.bc-map { margin: 0; }
.bc-map__img { position: relative; aspect-ratio: 3 / 2; border: 10px solid #FFFDF5; box-shadow: var(--shade); border-radius: 3px; overflow: hidden; container-type: inline-size; }
.bc-map__img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.bc-map__labels { position: absolute; inset: 0; pointer-events: none; }
.bc-map__label { position: absolute; transform: translate(-50%, -50%) rotate(var(--a)); white-space: nowrap; font: 700 clamp(.6rem, 1.5cqw, .9rem)/1 var(--sans); color: var(--ink); text-shadow: 0 0 3px #F6EED8, 0 0 3px #F6EED8, 0 0 3px #F6EED8; }
.bc-map__label--hwy { font-stretch: 80%; letter-spacing: .1em; text-transform: uppercase; color: #6E2A1C; font-size: clamp(.66rem, 1.7cqw, 1rem); }
.bc-map__label--park { font: italic 600 clamp(.6rem, 1.45cqw, .86rem)/1 var(--display); color: #3E5B2C; }
.bc-map__label--rail { font-size: clamp(.58rem, 1.35cqw, .82rem); }
.bc-map__pin { position: absolute; transform: translate(-50%, -100%); }
.bc-map__pin span { position: absolute; left: 1.5rem; bottom: 1.6rem; white-space: nowrap; background: var(--teal); color: #fff; font: 800 clamp(.66rem, 1.6cqw, .95rem)/1 var(--sans); padding: .38rem .55rem; border-radius: 4px; box-shadow: 0 6px 12px -6px rgba(0, 0, 0, .6); }
@container (max-width: 520px) { .bc-map__label.is-minor { display: none; } }
.bc-map figcaption { font-size: .8rem; color: var(--ink-soft); margin-top: .5rem; }
.bc-map figcaption a { color: var(--ink-soft); }
.bc-addr { background: #FFFDF5; border-radius: var(--radius); padding: 1.5rem 1.4rem; box-shadow: var(--shade); border-top: 6px solid var(--teal); }
.bc-addr__eyebrow { font: 800 .76rem/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--teal-deep); margin: 0 0 .6rem; }
.bc-addr__street { font: 400 1.75rem/1.12 var(--display); margin: 0 0 .8rem; }
.bc-addr__buttons { display: flex; flex-wrap: wrap; gap: .6rem; margin: 1.1rem 0; }
.bc-addr__buttons .bc-btn { font-size: .95rem; padding: .7rem 1rem; }
.bc-addr__phone { font-weight: 700; margin: 0; }

/* the cork board by the door (call to action) */
.bc-corkboard { padding-top: clamp(3rem, 6vw, 5.5rem); padding-bottom: clamp(3rem, 6vw, 5.5rem); background: var(--paper); }
.bc-corkboard__board {
	display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(14rem, .8fr); gap: clamp(1.2rem, 3vw, 2.6rem); align-items: start;
	padding: clamp(1.4rem, 4vw, 3rem); border: 18px solid #8C613A; border-image: linear-gradient(135deg, #B48A5E, #7A532F 45%, #A57A4E 75%, #6E4A2A) 1;
	background-color: #C29A6B;
	background-image: radial-gradient(rgba(90, 58, 26, .5) 1px, transparent 1.6px), radial-gradient(rgba(255, 236, 200, .35) 1px, transparent 1.6px), radial-gradient(rgba(90, 58, 26, .35) 1.5px, transparent 2px);
	background-size: 9px 9px, 13px 13px, 23px 23px; background-position: 0 0, 4px 6px, 11px 3px;
	box-shadow: inset 0 0 40px rgba(60, 36, 14, .45), 0 24px 40px -26px rgba(28, 42, 45, .8);
}
@media (max-width: 820px) { .bc-corkboard__board { grid-template-columns: 1fr; } }
.bc-flyer-cta { position: relative; background: #FFFEF8; padding: 2rem clamp(1.2rem, 3vw, 2.2rem) 0; box-shadow: 0 18px 26px -16px rgba(40, 24, 8, .75); transform: rotate(-1deg); }
.bc-flyer-cta::before { content: ""; position: absolute; left: 50%; top: -.55rem; width: 1.4rem; height: 1.4rem; border-radius: 50%; background: radial-gradient(circle at 35% 35%, #F08A6A, #C0392B 60%, #7E2318); box-shadow: 0 3px 4px rgba(0, 0, 0, .4); transform: translateX(-50%); }
.bc-flyer-cta__eyebrow { font: 800 .8rem/1 var(--sans); font-stretch: 118%; letter-spacing: .16em; text-transform: uppercase; color: var(--teal-deep); text-align: center; margin: 0 0 .8rem; }
.bc-flyer-cta__title { text-align: center; font-size: clamp(2rem, 1.4rem + 2.6vw, 3.2rem); margin: 0 auto .8rem; max-width: 18ch; }
.bc-flyer-cta__lead { text-align: center; max-width: 36rem; margin: 0 auto 1.3rem; color: var(--ink-soft); }
.bc-flyer-cta__buttons { justify-content: center; margin-bottom: 1.6rem; }
.bc-tabs { display: flex; margin: 0 calc(clamp(1.2rem, 3vw, 2.2rem) * -1); border-top: 2px dashed rgba(28, 42, 45, .35); }
.bc-tabs a {
	flex: 1 1 0; min-width: 0; height: 9.4rem; display: flex; align-items: center; justify-content: center; gap: .15rem; writing-mode: vertical-rl; transform-origin: top center;
	font: 700 .78rem/1 var(--sans); letter-spacing: .03em; color: var(--ink); text-decoration: none; background: #FFFEF8; border-left: 1px dashed rgba(28, 42, 45, .3);
	transition: transform .25s var(--ease);
}
.bc-tabs a:first-child { border-left: 0; }
.bc-tabs a:hover { transform: rotate(-3deg) translateY(2px); }
.bc-tabs a span { display: block; white-space: nowrap; }
.bc-tabs a span + span { font-weight: 800; }
.bc-tabs a.is-torn { color: transparent; pointer-events: none; clip-path: polygon(0 0, 100% 0, 100% 9%, 82% 12%, 64% 8%, 46% 13%, 28% 9%, 12% 12%, 0 9%); }
.bc-tabs a.is-tearing { animation: bc-tear .8s ease-in forwards; }
@keyframes bc-tear { 30% { transform: rotate(-12deg) translateY(10px); } 100% { transform: rotate(-30deg) translateY(160px); opacity: 0; } }
@media (max-width: 600px) { .bc-tabs a:nth-child(n+6) { display: none; } }
.bc-corkboard__notes { display: grid; gap: 1.4rem; }
.bc-note { position: relative; background: #FFFDF5; padding: 1.3rem 1.2rem 1.1rem; box-shadow: 0 14px 22px -14px rgba(40, 24, 8, .7); }
.bc-note::before { content: ""; position: absolute; left: 50%; top: -.5rem; width: 1.1rem; height: 1.1rem; border-radius: 50%; background: radial-gradient(circle at 35% 35%, #7FD1D3, #13716F 65%, #0B4F50); transform: translateX(-50%); box-shadow: 0 2px 3px rgba(0, 0, 0, .4); }
.bc-note--card { background: var(--sign); transform: rotate(2deg); }
.bc-note--hours { transform: rotate(-1.4deg); }
.bc-note p { margin: 0 0 .5rem; }
.bc-note__script { font: 400 1.8rem/1 var(--script); color: var(--terra); }
.bc-note__title { font: 800 .78rem/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--teal-deep); }
.bc-note a { font-weight: 700; }

/* ===================================================================================================================== footer */
.bc-footer { background: var(--night); color: rgba(244, 239, 201, .86); padding-bottom: 2rem; margin-top: 0; }
.bc-footer__street { line-height: 0; background: var(--paper); }
.bc-footer__street svg { display: block; width: 100%; height: clamp(70px, 9vw, 130px); }
.bc-footer__grid { display: grid; grid-template-columns: 1.3fr 1fr 1.1fr 1.1fr; gap: 2rem; padding-top: 2.6rem; padding-bottom: 2rem; }
@media (max-width: 960px) { .bc-footer__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .bc-footer__grid { grid-template-columns: 1fr; } }
.bc-footer a { color: var(--sign); }
.bc-footer a:hover { color: var(--gold); }
.bc-footer__h { font: 800 .8rem/1 var(--sans); letter-spacing: .16em; text-transform: uppercase; color: var(--gold); margin: .3rem 0 1rem; }
.bc-footer__motto { font: 400 1.9rem/1 var(--script); color: var(--gold); margin: 1.1rem 0 .4rem; }
.bc-footer__since { font-size: .92rem; margin: 0; }
.bc-footer__phone { font: 400 1.6rem/1.2 var(--display); }
.bc-brand--night .bc-brand__sub { color: rgba(244, 239, 201, .75); }
.bc-hours--night th, .bc-hours--night td { color: rgba(244, 239, 201, .86); }
.bc-hours--night tr + tr { border-top-color: rgba(244, 239, 201, .14); }
.bc-hours--night .is-today th, .bc-hours--night .is-today td { color: var(--gold); }
.bc-hours--night .is-today th::before { color: var(--gold); }
.bc-footer__base { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem 1.5rem; border-top: 1px solid rgba(244, 239, 201, .16); padding-top: 1.2rem; font-size: .88rem; }
.bc-footer__base p { margin: 0; }

/* ====================================================================================================== inner page heads */
.bc-pagehead--glass {
	position: relative; overflow: hidden; color: rgba(244, 239, 201, .9); padding-top: clamp(2.6rem, 6vw, 5rem); padding-bottom: clamp(2.6rem, 6vw, 4.6rem);
	background: linear-gradient(170deg, #1D4550 0%, #132F37 55%, #0F262D 100%); border-bottom: 14px solid var(--alu); box-shadow: inset 0 -2px 0 #6F777B;
}
.bc-pagehead--glass::before { content: ""; position: absolute; inset: 0; background: linear-gradient(120deg, rgba(255, 255, 255, .08) 0 16%, transparent 16.2% 72%, rgba(255, 255, 255, .05) 72.2% 78%, transparent 78.2%); pointer-events: none; }
.bc-pagehead--glass h1 { margin: 0; max-width: 18ch; font-size: clamp(2.5rem, 1.6rem + 3.6vw, 4.6rem); }
.bc-pagehead__lead { font-size: var(--wp--preset--font-size--md); max-width: 42rem; margin-top: 1.1rem !important; color: rgba(244, 239, 201, .88); }
.bc-pagehead__lead a { color: var(--sign); }
.bc-pagehead--plain, .bc-pagehead--post { padding-top: clamp(2.4rem, 5vw, 4rem); padding-bottom: 1.5rem; }
.bc-pagehead--post { background: linear-gradient(170deg, #1D4550 0%, #132F37 60%, #0F262D 100%); color: rgba(244, 239, 201, .9); border-bottom: 14px solid var(--alu); padding-bottom: clamp(2rem, 4vw, 3rem); }
.bc-pagehead__title { color: var(--sign); font-size: clamp(2.1rem, 1.5rem + 2.6vw, 3.6rem); max-width: 24ch; margin: 0; }
.bc-pagehead__date { font: 700 .82rem/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--gold); margin-top: 1rem; }
.bc-search { max-width: 34rem; margin-top: 1.6rem; }
.bc-search .wp-block-search__inside-wrapper { background: #FFFDF5; border-radius: 8px; padding: .3rem; border: 0; }
.bc-search input { border: 0; background: transparent; font: inherit; padding: .6rem .8rem; }
.bc-search .wp-block-search__button { background: var(--teal); color: #fff; border-radius: 6px; font-weight: 700; border: 0; padding: .6rem 1.1rem; margin-left: .3rem; }

/* ============================================================================================================ services page */
.bc-svcsec { padding-top: clamp(2.4rem, 5vw, 4rem); }
.bc-svcrow { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.4fr); gap: clamp(1rem, 4vw, 4rem); padding: clamp(1.8rem, 4vw, 3rem) 0; border-top: 2px solid rgba(28, 42, 45, .12); }
.bc-svcrow:first-child { border-top: 0; }
@media (max-width: 760px) { .bc-svcrow { grid-template-columns: 1fr; } }
.bc-svcrow__head h2 { margin: 0; font-size: clamp(2rem, 1.5rem + 2vw, 3rem); }
.bc-svcrow__body > p:first-child { margin-top: 0; }
.bc-svcrow__links { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1rem; }
.bc-svcrow__links a { display: inline-block; padding: .45rem .8rem; border-radius: 99px; background: var(--sign); color: var(--teal-deep); font-weight: 700; font-size: .92rem; text-decoration: none; border: 1px solid rgba(19, 113, 111, .3); }
.bc-svcrow__links a:hover { background: var(--teal); color: #fff; }

/* ================================================================================================================ about page */
.bc-aboutsec { padding-top: clamp(2.4rem, 5vw, 4rem); }
.bc-about-cols { gap: clamp(1.5rem, 5vw, 4.5rem); align-items: start; }
.bc-portrait { margin: 0; }
.bc-portrait__frame { padding: 14px; background: linear-gradient(135deg, #C7A15A, #8E6A1B 45%, #D9B66A 70%, #8E6A1B); box-shadow: var(--shade); transform: rotate(-1.5deg); }
.bc-portrait__placeholder { aspect-ratio: 4 / 5; background: repeating-linear-gradient(135deg, var(--sign) 0 14px, #EFE8C2 14px 28px); display: grid; place-items: center; align-content: center; gap: 1rem; text-align: center; padding: 1rem; border: 6px solid #FFFDF5; }
.bc-portrait__mono { font: 400 4.6rem/1 var(--display); color: var(--teal); }
.bc-portrait__note { font-size: .9rem; font-weight: 700; color: var(--ink-soft); max-width: 14rem; }
.bc-portrait figcaption { text-align: center; font: 400 1.5rem/1 var(--script); color: var(--terra); margin-top: 1rem; }
.bc-diplomasec { background: var(--stucco); }
.bc-diplomas { display: grid; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); gap: clamp(1rem, 3vw, 2.4rem); }
.bc-diploma { margin: 0; padding: 12px; background: linear-gradient(135deg, #3A2A1C, #1F160E 50%, #3A2A1C); box-shadow: 0 18px 28px -18px rgba(28, 42, 45, .8); }
.bc-diploma:nth-child(2) { transform: rotate(.8deg); } .bc-diploma:nth-child(3) { transform: rotate(-.6deg); }
.bc-diploma__paper { background: #FFFDF2; border: 8px solid #EFE7CF; outline: 1px solid #C9B98F; outline-offset: -14px; padding: 1.6rem 1.2rem; text-align: center; min-height: 13rem; display: flex; flex-direction: column; justify-content: center; }
.bc-diploma__paper p { margin: 0; }
.bc-diploma__school { font: 400 1.45rem/1.15 var(--display); color: var(--ink); }
.bc-diploma__place { font-size: .9rem; color: var(--ink-soft); margin-top: .3rem !important; }
.bc-diploma__degree { font: 400 1.5rem/1.1 var(--script); color: var(--teal-deep); margin-top: .9rem !important; }
.bc-diploma__year { font: 800 .9rem/1 var(--sans); letter-spacing: .3em; color: var(--gold-deep); margin-top: .6rem !important; }
.bc-diploma__big { font: 400 3.4rem/1 var(--display); color: var(--teal); margin-top: .4rem !important; }
.bc-diploma__paper::after { content: ""; display: block; width: 3.4rem; height: 3.4rem; margin: 1rem auto 0; border-radius: 50%; background: radial-gradient(circle at 40% 35%, #F0D387, #C79A34 60%, #8E6A1B); box-shadow: 0 2px 0 rgba(0, 0, 0, .2); }
.bc-two { gap: clamp(1.5rem, 5vw, 4.5rem); }

/* ============================================================================================================== new patients */
.bc-download { display: flex; align-items: center; gap: 1rem; padding: 1rem 1.1rem; background: #FFFDF5; border: 2px solid var(--teal); border-radius: var(--radius); text-decoration: none; color: var(--ink); box-shadow: 0 4px 0 rgba(19, 113, 111, .25); margin: 1.2rem 0; max-width: 28rem; transition: transform .2s var(--ease); }
.bc-download:hover { transform: translateY(-2px); color: var(--ink); }
.bc-download__icon { flex: none; width: 2.8rem; height: 3.4rem; display: grid; place-items: center; background: var(--teal); color: #fff; font: 900 1rem/1 var(--sans); border-radius: 4px 12px 4px 4px; }
.bc-download--pdf .bc-download__icon { background: var(--terra); font-size: .78rem; }
.bc-download strong { display: block; font-size: 1.05rem; }
.bc-download small { color: var(--ink-soft); font-size: .86rem; }
.bc-downloads { list-style: none; padding: 0; margin: 1rem 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(17rem, 1fr)); gap: .3rem 1.2rem; }
.bc-downloads .bc-download { margin: .4rem 0; max-width: none; height: calc(100% - .8rem); }
.bc-whatsec { background: var(--stucco); }
.bc-steps { counter-reset: step; }
.bc-step { background: #FFFDF5; padding: 1.4rem 1.3rem; border-radius: var(--radius); box-shadow: var(--shade); position: relative; counter-increment: step; }
.bc-step::before { content: counter(step); position: absolute; right: 1rem; top: .5rem; font: 400 3rem/1 var(--display); color: rgba(19, 113, 111, .18); }
.bc-step h3 { margin: 0 0 .5rem; font-size: 1.5rem; }
.bc-step p { margin: 0; }
.wp-block-details { background: #FFFDF5; border-radius: 8px; padding: .9rem 1.1rem; margin: 0 0 .7rem; box-shadow: 0 1px 0 rgba(28, 42, 45, .12); border-left: 4px solid var(--teal); }
.wp-block-details summary { font-weight: 700; cursor: pointer; }
.wp-block-details p { margin: .6rem 0 0; }

/* ===================================================================================================== contact page + form */
.bc-contactsec { padding-top: clamp(2.4rem, 5vw, 4rem); }
.bc-contact { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(16rem, .9fr); gap: clamp(1.4rem, 4vw, 3.2rem); align-items: start; }
@media (max-width: 860px) { .bc-contact { grid-template-columns: 1fr; } }
.bc-apptcard { position: relative; background: #FFFEF8; border-radius: 6px; padding: 0 clamp(1.2rem, 3vw, 2.2rem) 2rem; box-shadow: 0 2px 0 rgba(28, 42, 45, .12), 0 28px 44px -30px rgba(28, 42, 45, .8); border: 1px solid rgba(28, 42, 45, .14); }
.bc-apptcard::before { content: ""; display: block; height: 14px; margin: 0 calc(clamp(1.2rem, 3vw, 2.2rem) * -1) 1.6rem; background: var(--teal); border-radius: 6px 6px 0 0; box-shadow: inset 0 -4px 0 var(--gold); }
.bc-apptcard__eyebrow { font: 800 .78rem/1 var(--sans); font-stretch: 118%; letter-spacing: .18em; text-transform: uppercase; color: var(--teal-deep); margin: 0 0 .4rem; }
.bc-apptcard__title { margin: 0 0 .6rem; }
.bc-apptcard__lead { color: var(--ink-soft); margin-bottom: 1.4rem; }
.bc-nf .nf-form-fields-required { font-size: .85rem; color: var(--ink-soft); margin-bottom: .8rem; }
.bc-nf nf-fields-wrap { display: flex; flex-wrap: wrap; gap: 0 1.4rem; }
.bc-nf nf-field { flex: 1 1 100%; }
.bc-nf nf-field:has(.bc-half) { flex: 1 1 calc(50% - .7rem); min-width: 13rem; }
.bc-nf .nf-field-container { margin-bottom: 1.2rem; }
.bc-nf .nf-field-label label { font: 700 .95rem/1.3 var(--sans); color: var(--ink); }
.bc-nf .ninja-forms-req-symbol { color: var(--terra); }
.bc-nf input[type="text"], .bc-nf input[type="email"], .bc-nf input[type="tel"], .bc-nf textarea, .bc-nf .nf-element:not([type="radio"]):not([type="checkbox"]):not([type="button"]):not([type="submit"]) {
	width: 100%; font: inherit; color: var(--ink); background: transparent; border: 0; border-bottom: 2px solid rgba(28, 42, 45, .55); border-radius: 0; padding: .55rem .1rem;
	background-image: linear-gradient(var(--teal), var(--teal)); background-size: 0 2px; background-position: 0 100%; background-repeat: no-repeat; transition: background-size .3s var(--ease);
}
.bc-nf textarea { min-height: 7rem; border: 2px solid rgba(28, 42, 45, .35); border-radius: 6px; padding: .7rem; background-image: repeating-linear-gradient(transparent 0 1.9rem, rgba(19, 113, 111, .12) 1.9rem 2rem); background-size: auto; }
.bc-nf .nf-element:focus { outline: none; background-size: 100% 2px; border-bottom-color: var(--teal); }
.bc-nf textarea:focus { border-color: var(--teal); outline: 3px solid rgba(43, 163, 166, .3); }
.bc-nf .nf-error .nf-element { border-bottom-color: var(--terra) !important; }
.bc-nf .nf-error-msg, .bc-nf .nf-error-required { color: #9A3B1E; font-size: .88rem; font-weight: 600; margin-top: .3rem; }
.bc-nf .bc-chips-field ul { list-style: none; padding: 0; margin: .5rem 0 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.bc-nf .bc-chips-field li { margin: 0 !important; position: relative; }
.bc-nf .bc-chips-field input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.bc-nf .bc-chips-field li label { display: inline-block; padding: .5rem .9rem; border: 2px solid rgba(28, 42, 45, .3); border-radius: 99px; font-weight: 600; font-size: .95rem; cursor: pointer; background: #fff; margin: 0 !important; }
.bc-nf .bc-chips-field input:checked + label, .bc-nf .bc-chips-field label.nf-checked-label { background: var(--teal); border-color: var(--teal); color: #fff; }
.bc-nf .bc-chips-field input:focus-visible + label { outline: 3px solid var(--teal-bright); outline-offset: 2px; }
.bc-nf .bc-chips-field li label::before, .bc-nf .bc-chips-field li label::after { display: none !important; }
.bc-nf input[type="submit"], .bc-nf input[type="button"] { font: 700 1.05rem/1 var(--sans); background: var(--teal); color: #fff; border: 0; border-radius: 6px; padding: 1rem 1.6rem; cursor: pointer; box-shadow: 0 3px 0 var(--teal-deep); }
.bc-nf input[type="submit"]:hover { background: var(--teal-deep); }
.bc-nf .nf-field-description { font-size: .88rem; color: var(--ink-soft); }
.bc-contactcard { background: #FFFDF5; border-radius: var(--radius); padding: 1.4rem 1.3rem; box-shadow: var(--shade); border-top: 6px solid var(--teal); }
.bc-contactcard__title { font: 400 1.6rem/1.1 var(--display); margin: 0 0 .8rem; }
.bc-contactcard__list { list-style: none; padding: 0; margin: 0 0 1.2rem; display: grid; gap: .55rem; }
.bc-contactcard__list span { display: block; font: 800 .72rem/1.2 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--ink-soft); }
.bc-contactcard__hours-title { font: 800 .76rem/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--teal-deep); margin: 0 0 .4rem; }
.bc-contactcard__fb { font-size: .92rem; margin: 1rem 0 0; }
.bc-contact__side { display: grid; gap: 1.6rem; }
.bc-plaque { position: relative; background: linear-gradient(160deg, #1D4550, #132F37); color: rgba(244, 239, 201, .92); padding: 1.6rem 1.4rem 1.3rem; border-radius: 6px; border: 6px solid var(--alu); text-align: center; }
.bc-plaque__title { font: 400 1.6rem/1 var(--script); color: var(--gold); margin: 0 0 .7rem; }
.bc-plaque strong { color: var(--gold); }
.bc-plaque__thanks { font: 400 1.4rem/1 var(--display); margin: .8rem 0 0; }

/* =============================================================================================================== privacy page */
.bc-privsec { padding-top: clamp(2.4rem, 5vw, 4rem); padding-bottom: 1rem; }
.bc-privtext { padding-top: 1rem; }
.bc-prose h2 { font-size: var(--wp--preset--font-size--lg); }
.bc-prose h3 { font-size: 1.3rem; margin-top: 2rem; }

/* ======================================================================================================= blog list + article */
.bc-posts { padding-top: clamp(2.4rem, 5vw, 4rem); padding-bottom: 2rem; }
.bc-flyer { background: #FFFDF5; height: 100%; padding: .7rem .7rem 1.2rem; box-shadow: var(--shade); border-radius: 3px; position: relative; transition: transform .25s var(--ease); }
.bc-flyer:hover { transform: translateY(-4px) rotate(-.4deg); }
.bc-flyer::before { content: ""; position: absolute; left: 50%; top: -.5rem; width: 1rem; height: 1rem; border-radius: 50%; background: radial-gradient(circle at 35% 35%, #7FD1D3, #13716F 65%, #0B4F50); transform: translateX(-50%); box-shadow: 0 2px 3px rgba(0, 0, 0, .4); z-index: 2; }
.bc-flyer__img { margin: 0 0 .8rem; } .bc-flyer__img img { display: block; }
.bc-flyer__date { font: 700 .76rem/1 var(--sans); letter-spacing: .12em; text-transform: uppercase; color: var(--terra); margin: 0 .3rem .45rem; }
.bc-flyer__title { font-size: 1.4rem; line-height: 1.15; margin: 0 .3rem .5rem; }
.bc-flyer__title a { color: var(--ink); text-decoration: none; }
.bc-flyer__title a:hover { color: var(--teal); text-decoration: underline; }
.bc-flyer__excerpt { margin: 0 .3rem; font-size: .96rem; color: var(--ink-soft); }
.bc-flyer__excerpt p { margin: 0; }
.bc-pager { margin-top: 2.6rem; gap: .4rem; font-weight: 700; }
.bc-pager a, .bc-pager .page-numbers { padding: .45rem .75rem; border-radius: 6px; text-decoration: none; }
.bc-pager .current { background: var(--teal); color: #fff; }
.bc-single__image { margin-top: clamp(1.6rem, 4vw, 3rem) !important; }
.bc-single__image img { border: 10px solid #FFFDF5; box-shadow: var(--shade); max-height: 34rem; object-fit: cover; }
.bc-article { padding-top: clamp(1.6rem, 4vw, 3rem); padding-bottom: 2rem; font-size: 1.12rem; }
.bc-article h2 { font-size: clamp(1.6rem, 1.3rem + 1.2vw, 2.2rem); margin-top: 2.4rem; }
.bc-article h3 { font-size: 1.4rem; margin-top: 2rem; }
.bc-article img { border-radius: 4px; }
.bc-article .alignleft, .bc-article .alignright { max-width: 45%; }
.bc-single__nav { padding-top: 1.5rem; padding-bottom: 1rem; border-top: 2px solid rgba(28, 42, 45, .12); gap: 1rem; font-weight: 700; }
.bc-single__nav a { text-decoration: none; }

/* ======================================================================================================== reveal on scroll */
.js .bc-reveal { opacity: 0; transform: translateY(18px); transition: opacity .7s var(--ease), transform .7s var(--ease); transition-delay: var(--d, 0s); }
.js .bc-reveal.is-in, .bc-noreveal .bc-reveal { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; transition-delay: 0s !important; }
	.bc-board.is-ready .bc-l, .bc-sampler.is-ready .bc-sampler__lines li, .bc-clip.is-ready .bc-check::after { opacity: 1 !important; clip-path: none !important; transform: none !important; }
}

/* ========================================================================================================== the sent screen */
.bc-success { text-align: center; padding: 1.2rem .5rem .6rem; }
.bc-success:focus { outline: none; }
.bc-success__sign { width: 9rem; margin: 0 auto 1rem; }
.bc-success__sign svg { display: block; width: 100%; height: auto; overflow: visible; }
.bc-success__swing { transform-origin: 50% 0; animation: bc-swing 2.4s ease-out 1; }
@keyframes bc-swing { 0% { transform: rotate(18deg); } 30% { transform: rotate(-12deg); } 55% { transform: rotate(7deg); } 80% { transform: rotate(-3deg); } 100% { transform: rotate(0); } }
.bc-success__eyebrow { font: 800 .78rem/1 var(--sans); letter-spacing: .16em; text-transform: uppercase; color: var(--teal-deep); margin: 0 0 .4rem; }
.bc-success__title { font: 400 clamp(2rem, 1.5rem + 2vw, 2.8rem)/1.05 var(--display); margin: 0 0 .7rem; }
.bc-success__title span { color: var(--teal); font-style: italic; display: block; }
.bc-success__lead { max-width: 30rem; margin: 0 auto .7rem; color: var(--ink-soft); }
.bc-success__note { font-weight: 700; }
.bc-success__links { display: flex; flex-wrap: wrap; gap: .7rem; justify-content: center; margin-top: 1.2rem; }
.bc-confetti { position: fixed; inset: 0; pointer-events: none; z-index: 200; width: 100vw; height: 100vh; }

/* =========================================================================================================== small screens */
@media (max-width: 781px) {
	.bc-board-cols, .bc-chart-cols, .bc-sampler-cols, .bc-visit-cols, .bc-about-cols { gap: 2rem; }
	.bc-board__frame { transform: none; border-width: 12px; padding: 1rem .6rem; }
	.bc-board__rows li { letter-spacing: .08em; }
	.bc-hero .bc-lead { font-size: 1.12rem; }
}
.bc-btn.bc-btn--ghost { background: transparent; color: var(--teal-deep); border: 2px solid var(--teal); box-shadow: 0 3px 0 rgba(19, 113, 111, .25); }
.bc-btn.bc-btn--ghost:hover { background: rgba(19, 113, 111, .08); color: var(--teal-deep); }
