/* Donis Visuals / Media That Moves. Brand layer for the existing site. */
:root {
  --ink: #101111;
  --paper: #ffffff;
  --muted: #555856;
  --line: rgba(16,17,17,.15);
  --brand-bronze: #b18a6b;
  --brand-bronze-ink: #79573e;
  --brand-stone: #d6d0ca;
  --brand-slate: #393b3d;
  --acid: #b18a6b;
  --sans: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
  --serif: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
}
body { background: var(--paper); color: var(--ink); }
h1,h2,h3 { color: inherit; }
p { color: var(--muted); }
.nav {
  height: 90px;
  border-color: rgba(214,208,202,.7);
  background: linear-gradient(125deg,rgba(255,255,255,.94),rgba(255,255,255,.8));
  box-shadow: inset 0 1px white, 0 8px 30px rgba(16,17,17,.06);
}
.brand {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
  flex: none;
  width: 260px;
  line-height: 1;
  letter-spacing: normal;
}
.brand .brand-logo {
  display: block;
  width: 260px;
  height: auto;
  object-fit: contain;
  flex: none;
}
.brand small {
  display: block;
  margin: 0 0 0 79px;
  color: var(--ink);
  font: 400 12px/1.2 var(--sans);
  letter-spacing: .2em;
  text-transform: uppercase;
  white-space: nowrap;
}
.navlinks { color: var(--ink); gap: 18px; font-size: 14px; }
.navlinks a:hover { opacity: 1; color: var(--brand-bronze-ink); }
.navlinks .book { color: white; }
.book,.btn.primary {
  color: white;
  background: var(--ink);
  border-color: var(--ink);
  box-shadow: none;
}
.book:hover,.btn.primary:hover {
  background: var(--brand-slate);
  color: white;
  border-color: var(--brand-bronze);
}
.btn:not(.primary):hover { background: #f2efec; border-color: var(--brand-bronze); }
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible {
  outline: 3px solid var(--brand-bronze-ink);
  outline-offset: 5px;
}
.menu { color: var(--ink); }
.brand-hero { padding-top: 174px; padding-bottom: 36px; }
.brand-hero h1 {
  font-family: var(--sans);
  font-weight: 500;
  font-size: clamp(64px,7.6vw,112px);
  letter-spacing: -.065em;
  line-height: 1.01;
  margin: 23px 0 25px;
}
.brand-hero h1 em { font-style: normal; color: var(--brand-bronze-ink); }
.brand-hero p { max-width: 590px; font-size: 18px; line-height: 1.7; }
.label,.eyebrow,.step-number { color: var(--brand-bronze-ink); }
.liquid {
  background: linear-gradient(135deg,rgba(255,255,255,.95),rgba(246,244,242,.8));
  border-color: rgba(214,208,202,.65);
  box-shadow: inset 0 1px white,0 8px 30px rgba(16,17,17,.05);
}
.soft-panel,.background-note,.format-guide { background: #f6f4f2; }
.sample-card { background: #f4f2f0; border-color: #e6e1dc; }
.sample-card:hover { box-shadow: 0 12px 30px rgba(16,17,17,.1); }
.service-icon { color: var(--brand-bronze-ink); }
.brand-service-icon { object-fit: contain; }
.signature { background: #fff; border-color: #e4ded8; }
.signature:hover { background: #faf9f7; }
.signature span { color: var(--brand-bronze-ink); }
.signature p,.new-service p,.new-package>p,.extras-stack p { color: var(--muted); }
.info-detail summary {
  color: var(--brand-bronze-ink);
  background: #f4efea;
  border-color: #d8c7b8;
}
.info-detail summary:hover,.info-detail[open]>summary { background: #e9ddd3; }
.info-detail summary:focus-visible { outline-color: var(--brand-bronze-ink); }
.audience-card.liquid,.capability-card.liquid {
  background: #f6f4f2;
  border-color: #e4ded8;
}
.audience-card strong,.service-buy a { color: var(--brand-bronze-ink); }
.new-package.highlight-package {
  border-color: var(--brand-bronze);
  background: linear-gradient(135deg,#fff,#f0e8e1);
}
.new-package ul,.new-service,.service-buy { border-color: #ded7d0; }
.new-package li:before { color: var(--brand-bronze-ink); }
.new-package .package-badge { background: var(--ink); color: white; }
.size-options input:checked+span { background: var(--ink); border-color: var(--ink); color: white; }
.showcase-card { border-color: #ded7d0; }
.showcase-stat { border-color: #ded7d0; }
.showcase-stat>strong { color: var(--ink); }
.location-card { background: #f4f1ee; border-color: #ded7d0; }
.location-line { background: var(--brand-bronze); }
.location-label,.location-caption,.location-card .city { color: var(--brand-bronze-ink); }
.process-grid article,.agent-note,.extras-stack article { border-color: #ded7d0; }
.closing { border-color: #ded7d0; background: #f5f1ed; }
.booking-form input,.booking-form select,.booking-form textarea { color: var(--ink); border-color: #c6bdb4; }
.brand-contact-link { display: flex; align-items: center; gap: 12px; overflow-wrap: anywhere; }
.brand-contact-link img { width: 24px; height: 24px; object-fit: contain; flex: none; }
.refined-footer {
  background: var(--ink);
  color: white;
  padding-top: 50px;
}
.refined-footer .brand { display: flex; width: 280px; }
.refined-footer .brand-logo { width: 280px; }
.refined-footer .brand small { color: white; margin-left: 85px; }
.refined-footer p { color: #d6d0ca; }
.refined-footer nav a { color: #f4f1ee; }
.refined-footer nav a:hover { color: #d2b69f; }
.refined-footer .footer-bottom { color: #d6d0ca; border-color: #393b3d; }
.brand-socials { display: flex; gap: 12px; margin-top: 20px; }
.brand-socials a {
  display: flex; width: 44px; height: 44px;
  align-items: center; justify-content: center;
  border: 1px solid #56514c; border-radius: 50%;
}
.brand-socials a:hover { border-color: var(--brand-bronze); background: #242423; }
.brand-socials img { width: 22px; height: 22px; object-fit: contain; }
@media(max-width:1100px) {
  .navlinks { gap: 12px; }
  .navlinks .book { padding: 12px; }
  .brand,.brand .brand-logo { width: 232px; }
  .brand small { margin-left: 69px; font-size: 11px; }
}
@media(max-width:960px) {
  .navlinks { top: 100px; background: #fffffff5; border-color: #ded7d0; gap: 0; }
  .navlinks .book { color: white; }
}
@media(max-width:760px) {
  .nav { height: 78px; padding: 0 18px; }
  .brand,.brand .brand-logo { width: 230px; }
  .brand small { margin-left: 68px; font-size: 11px; }
  .navlinks { top: 88px; }
  .brand-hero { padding: 138px 22px 32px; }
  .brand-hero h1 { font-size: clamp(58px,14.5vw,86px); letter-spacing: -.06em; }
  .brand-hero p { font-size: 17px; }
  .refined-footer .brand,.refined-footer .brand-logo { width: min(280px,100%); }
  .refined-footer .brand small { margin-left: 85px; }
  .showcase-stat { border-color: #ded7d0; }
}
@media(max-width:350px) {
  .brand,.brand .brand-logo { width: 198px; }
  .brand small { margin-left: 56px; font-size: 10px; }
  .brand-hero h1 { font-size: 54px; }
}
@media(prefers-reduced-motion:reduce) {
  .brand-socials a { transition: none; }
}
