/* House Book digital (page key hbd). Uses the theme's tokens; rules instead of shadows. */
.hbd-hero .page-hero-inner { max-width: 46rem; }
.hbd-hero-shots { display: flex; justify-content: center; align-items: flex-end; gap: clamp(16px, 3vw, 40px); padding-top: clamp(32px, 5vw, 64px); }
.hbd-phone { margin: 0; width: min(290px, 42vw); border: 1px solid var(--pietra); border-radius: 26px; overflow: hidden; background: var(--calce); }
.hbd-phone img { display: block; width: 100%; height: auto; }
.hbd-phone--lift { transform: translateY(-32px); }
.hbd-caption { margin-top: 14px; text-align: center; font-size: var(--t-small); color: var(--fumo); }

.hbd-story { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: clamp(32px, 6vw, 96px); align-items: center; }
.hbd-story-text { display: flex; flex-direction: column; gap: 18px; max-width: 36em; }
.hbd-story-photo { margin: 0; }
.hbd-story-photo img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }

.hbd-rows { display: flex; flex-direction: column; }
.hbd-row { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: 40px clamp(40px, 6vw, 96px); align-items: center; padding-block: clamp(40px, 5vw, 72px); border-bottom: 1px solid var(--pietra); }
.hbd-row:first-child { padding-top: 0; }
.hbd-row:last-child { border-bottom: 0; padding-bottom: 0; }
.hbd-row--flip .hbd-shots { order: 2; }
.hbd-row-text { display: flex; flex-direction: column; gap: 16px; max-width: 34em; }
.hbd-shots { display: flex; gap: 20px; justify-content: center; align-items: flex-end; }
.hbd-shots .hbd-phone { width: min(250px, 40vw); }
.hbd-desk { margin: 0; width: 100%; border: 1px solid var(--pietra); border-radius: 10px; overflow: hidden; background: var(--calce); }
.hbd-desk img { display: block; width: 100%; height: auto; }

.hbd-privacy { list-style: none; padding: 0; display: grid; gap: 0; border-top: 1px solid rgba(207, 198, 186, .28); }
.hbd-privacy li { padding: 18px 0; border-bottom: 1px solid rgba(207, 198, 186, .28); }

.hbd-now .narrow, #privacy-plain .narrow { display: flex; flex-direction: column; gap: 20px; }
.hbd-now .actions { padding-top: 8px; }
.hbd-gets { margin-top: 8px; }
.hbd-source { margin-top: 28px; font-size: var(--t-small); color: var(--fumo); }

@media (max-width: 860px) {
	.hbd-story, .hbd-row { grid-template-columns: 1fr; }
	.hbd-row--flip .hbd-shots { order: 0; }
	.hbd-phone--lift { transform: none; }
}
