@font-face {
  font-family: 'Libre Baskerville';
  src: url('https://calabasascreative.com/wp-content/uploads/2026/07/cc-home/fonts/libre-baskerville-latin.woff2') format('woff2');
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
}

:root {
  --cc-ink: #171717;
  --cc-paper: #eeece7;
  --cc-warm: #c7aa82;
  --cc-muted: #746f67;
  --cc-line: rgba(23, 23, 23, .16);
  --cc-serif: 'Libre Baskerville', Baskerville, 'Baskerville Old Face', 'Iowan Old Style', 'Times New Roman', serif;
  /* Baskerville is the single client-facing type family. The variable name is
   * retained so existing component rules stop using the old sans fallback. */
  --cc-sans: 'Libre Baskerville', Baskerville, 'Baskerville Old Face', 'Iowan Old Style', 'Times New Roman', serif;
}

/* Smooth in-page navigation while keeping anchored content clear of the
 * shared sticky header. Respect the visitor's reduced-motion preference. */
html {
  scroll-behavior: smooth;
}
[id] {
  scroll-margin-top: 110px;
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}

/* Camera-lens pointer: a restrained editorial detail for precise pointing devices. */
@media (pointer: fine) and (hover: hover) {
  html,
  body.cc-staging-controls-active {
    cursor: url('https://calabasascreative.com/wp-content/uploads/2026/07/cc-home/cc-camera-cursor.svg') 16 16, auto;
  }

  body.cc-staging-controls-active a,
  body.cc-staging-controls-active button,
  body.cc-staging-controls-active [role='button'],
  body.cc-staging-controls-active input[type='submit'],
  body.cc-staging-controls-active input[type='button'],
  body.cc-staging-controls-active input[type='checkbox'],
  body.cc-staging-controls-active input[type='radio'] {
    cursor: url('https://calabasascreative.com/wp-content/uploads/2026/07/cc-home/cc-camera-cursor.svg') 16 16, pointer;
  }

  body.cc-staging-controls-active input,
  body.cc-staging-controls-active textarea,
  body.cc-staging-controls-active select {
    cursor: text;
  }
}

/* The pointer itself remains the compact camera-lens SVG. This companion
 * layer gives each primary mouse click a restrained shutter release, lens
 * glint, and editorial flash without changing the page layout. */
.cc-camera-click-indicator,
.cc-camera-flash {
  position: fixed;
  z-index: 100000;
  left: var(--cc-camera-x, 50vw);
  top: var(--cc-camera-y, 50vh);
  width: 1px;
  height: 1px;
  pointer-events: none;
}
.cc-camera-click-indicator { transform: translate(-50%, -50%); }
.cc-camera-click-indicator__ring,
.cc-camera-click-indicator__shutter,
.cc-camera-click-indicator__glint {
  position: absolute;
  display: block;
  border-radius: 50%;
  opacity: 0;
}
.cc-camera-click-indicator__ring {
  width: 44px;
  height: 44px;
  left: -22px;
  top: -22px;
  border: 1px solid rgba(199, 170, 130, .92);
  box-shadow: 0 0 0 1px rgba(238, 236, 231, .44), 0 0 24px rgba(199, 170, 130, .46);
}
.cc-camera-click-indicator__shutter {
  width: 18px;
  height: 18px;
  left: -9px;
  top: -9px;
  border: 2px solid var(--cc-paper);
  background: rgba(23, 23, 23, .78);
  box-shadow: inset 0 0 0 3px rgba(199, 170, 130, .55);
}
.cc-camera-click-indicator__glint {
  width: 5px;
  height: 5px;
  left: -8px;
  top: -8px;
  background: var(--cc-paper);
  box-shadow: 0 0 10px 3px rgba(245, 242, 236, .9);
}
.cc-camera-click-indicator.is-active .cc-camera-click-indicator__ring {
  animation: cc-camera-ring 420ms cubic-bezier(.16, 1, .3, 1) both;
}
.cc-camera-click-indicator.is-active .cc-camera-click-indicator__shutter {
  animation: cc-camera-shutter 260ms cubic-bezier(.22, .61, .36, 1) both;
}
.cc-camera-click-indicator.is-active .cc-camera-click-indicator__glint {
  animation: cc-camera-glint 250ms ease-out both;
}
.cc-camera-flash {
  z-index: 99999;
  inset: 0;
  width: auto;
  height: auto;
  background: radial-gradient(circle 110px at var(--cc-camera-x, 50vw) var(--cc-camera-y, 50vh), rgba(255,255,255,.82) 0%, rgba(255,255,255,.35) 26%, rgba(255,255,255,0) 72%);
  opacity: 0;
  mix-blend-mode: screen;
}
.cc-camera-flash.is-active { animation: cc-camera-flash 250ms ease-out both; }
@keyframes cc-camera-ring {
  0% { opacity: 0; transform: scale(.38); }
  12% { opacity: 1; }
  100% { opacity: 0; transform: scale(1.9); }
}
@keyframes cc-camera-shutter {
  0% { opacity: 0; transform: scale(.72) rotate(0deg); }
  18% { opacity: 1; transform: scale(1.04) rotate(20deg); }
  48% { opacity: 1; transform: scale(.88) rotate(72deg); }
  100% { opacity: 0; transform: scale(.62) rotate(120deg); }
}
@keyframes cc-camera-glint {
  0% { opacity: 0; transform: translate(-5px, -4px) scale(.4); }
  20% { opacity: 1; }
  100% { opacity: 0; transform: translate(13px, 11px) scale(2.4); }
}
@keyframes cc-camera-flash {
  0% { opacity: 0; }
  18% { opacity: .94; }
  100% { opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .cc-camera-click-indicator.is-active .cc-camera-click-indicator__ring,
  .cc-camera-click-indicator.is-active .cc-camera-click-indicator__shutter,
  .cc-camera-click-indicator.is-active .cc-camera-click-indicator__glint,
  .cc-camera-flash.is-active { animation: none; }
  .cc-camera-click-indicator.is-active .cc-camera-click-indicator__ring,
  .cc-camera-click-indicator.is-active .cc-camera-click-indicator__shutter,
  .cc-camera-click-indicator.is-active .cc-camera-click-indicator__glint { opacity: 0; }
  .cc-camera-flash.is-active { opacity: .2; }
}

/* Journal cards and full article routes. */
.single-post #main,
.single-post #content.blog-wrapper,
.single-post #content.blog-wrapper > .row,
.single-post #content.blog-wrapper > .row > .large-9.col,
.single-post #content.blog-wrapper article.post,
.single-post #content.blog-wrapper article.post > .article-inner,
.single-post #content.blog-wrapper article.post .entry-content {
  max-width: none;
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
}

.single-post #content.blog-wrapper > .row {
  display: block;
}

.single-post #content.blog-wrapper > .row > .large-9.col {
  flex-basis: 100%;
}

.single-post #content.blog-wrapper > .row > .post-sidebar,
.single-post article.post > .article-inner > .entry-header,
.single-post article.post > .article-inner > .blog-share,
.single-post article.post > .article-inner > .entry-meta,
.single-post article.post > .article-inner > .author-box,
.single-post article.post > .article-inner > #nav-below {
  display: none;
}

.single-post .cc-journal-article-page {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
}

.cc-journal-article__full-link {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  margin: 22px 0 0;
  color: var(--cc-ink) !important;
  font-family: var(--cc-sans);
  font-size: 10px;
  line-height: 1.2;
  letter-spacing: .2em;
  text-transform: uppercase;
  text-decoration: none;
  border-bottom: 1px solid var(--cc-warm);
  padding-bottom: 8px;
}

.cc-journal-article__full-link span {
  transition: transform .3s ease;
}

.cc-journal-article__full-link:hover,
.cc-journal-article__full-link:focus-visible {
  color: var(--cc-warm) !important;
}

.cc-journal-article__full-link:hover span,
.cc-journal-article__full-link:focus-visible span {
  transform: translateX(5px);
}

.cc-journal-full-hero {
  background: var(--cc-ink);
  color: var(--cc-paper);
}

.cc-journal-full-hero__inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 64px 28px 82px;
  display: grid;
  grid-template-columns: minmax(0, .86fr) minmax(0, 1.14fr);
  gap: clamp(36px, 6vw, 104px);
  align-items: end;
}

.cc-journal-full-hero__copy h1 {
  margin: 22px 0 26px;
  color: var(--cc-paper);
  font-family: var(--cc-serif);
  font-size: clamp(48px, 6.6vw, 104px);
  font-weight: 400;
  line-height: .94;
  letter-spacing: -.055em;
  max-width: 760px;
}

.cc-journal-full-hero__copy .cc-eyebrow {
  color: var(--cc-warm);
}

.cc-journal-full-hero__lead {
  max-width: 620px;
  margin: 0 0 34px;
  color: rgba(238, 236, 231, .72);
  font-family: var(--cc-sans);
  font-size: clamp(16px, 1.5vw, 22px);
  line-height: 1.55;
}

.cc-journal-full-hero__copy .cc-text-link {
  color: var(--cc-paper) !important;
}

.cc-journal-full-hero__media {
  height: clamp(430px, 64vw, 720px);
  margin: 0;
  overflow: hidden;
  background: rgba(238, 236, 231, .12);
}

.cc-journal-full-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.cc-journal-article-page__body {
  max-width: 980px;
  margin: 0 auto;
  padding: 90px 28px 120px;
}

.cc-journal-article-page__copy {
  max-width: 780px;
  margin: 0 auto;
}

.cc-journal-article-page__copy > p {
  margin: 0 0 28px;
  color: var(--cc-muted);
  font-family: var(--cc-serif);
  font-size: clamp(20px, 2.1vw, 30px);
  line-height: 1.45;
}

.cc-journal-article-page__copy > p:first-child {
  color: var(--cc-ink);
  font-size: clamp(26px, 2.8vw, 40px);
  line-height: 1.3;
}

.cc-journal-article-page__gallery {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  margin-top: 68px;
}

.cc-journal-article-page__figure {
  margin: 0;
}

.cc-journal-article-page__figure:first-child {
  grid-column: 1 / -1;
}

.cc-journal-article-page__figure img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  display: block;
}

.cc-journal-article-page__figure:first-child img {
  aspect-ratio: 16 / 9;
}

.cc-journal-article-page__figure figcaption {
  margin-top: 10px;
  color: var(--cc-muted);
  font-family: var(--cc-sans);
  font-size: 10px;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.cc-journal-article-page__back {
  display: inline-flex;
  margin-top: 64px;
  color: var(--cc-ink) !important;
  font-family: var(--cc-sans);
  font-size: 10px;
  letter-spacing: .2em;
  text-transform: uppercase;
  text-decoration: none;
  border-bottom: 1px solid var(--cc-warm);
  padding-bottom: 8px;
}

.cc-journal-article-page__back:hover,
.cc-journal-article-page__back:focus-visible {
  color: var(--cc-warm) !important;
}

@media (max-width: 800px) {
  .cc-journal-full-hero__inner {
    grid-template-columns: 1fr;
    padding: 42px 20px 54px;
  }

  .cc-journal-full-hero__copy h1 {
    font-size: clamp(48px, 14vw, 78px);
  }

  .cc-journal-full-hero__media {
    height: 74vw;
    min-height: 320px;
  }

  .cc-journal-article-page__body {
    padding: 60px 20px 80px;
  }

  .cc-journal-article-page__gallery {
    grid-template-columns: 1fr;
    gap: 28px;
    margin-top: 48px;
  }

  .cc-journal-article-page__figure:first-child {
    grid-column: auto;
  }
}

/* Editorial scrollbar treatment: slim ink rail, paper track, warm hover state. */
html,
body.cc-staging-controls-active,
body.cc-staging-controls-active .cc-home,
body.cc-staging-controls-active .cc-editorial-page,
body.cc-staging-controls-active .cya11y-menu,
body.cc-staging-controls-active .cky-modal,
body.cc-staging-controls-active .cky-preference-center {
  scrollbar-color: var(--cc-ink) var(--cc-paper);
  scrollbar-width: thin;
}
html::-webkit-scrollbar,
body.cc-staging-controls-active::-webkit-scrollbar,
body.cc-staging-controls-active .cc-home::-webkit-scrollbar,
body.cc-staging-controls-active .cc-editorial-page::-webkit-scrollbar,
body.cc-staging-controls-active .cya11y-menu::-webkit-scrollbar,
body.cc-staging-controls-active .cky-modal::-webkit-scrollbar,
body.cc-staging-controls-active .cky-preference-center::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}
html::-webkit-scrollbar-track,
body.cc-staging-controls-active::-webkit-scrollbar-track,
body.cc-staging-controls-active .cc-home::-webkit-scrollbar-track,
body.cc-staging-controls-active .cc-editorial-page::-webkit-scrollbar-track,
body.cc-staging-controls-active .cya11y-menu::-webkit-scrollbar-track,
body.cc-staging-controls-active .cky-modal::-webkit-scrollbar-track,
body.cc-staging-controls-active .cky-preference-center::-webkit-scrollbar-track {
  background: var(--cc-paper);
}
html::-webkit-scrollbar-thumb,
body.cc-staging-controls-active::-webkit-scrollbar-thumb,
body.cc-staging-controls-active .cc-home::-webkit-scrollbar-thumb,
body.cc-staging-controls-active .cc-editorial-page::-webkit-scrollbar-thumb,
body.cc-staging-controls-active .cya11y-menu::-webkit-scrollbar-thumb,
body.cc-staging-controls-active .cky-modal::-webkit-scrollbar-thumb,
body.cc-staging-controls-active .cky-preference-center::-webkit-scrollbar-thumb {
  min-height: 48px;
  background: var(--cc-ink);
  border: 2px solid var(--cc-paper);
  border-radius: 999px;
}
html::-webkit-scrollbar-thumb:hover,
body.cc-staging-controls-active::-webkit-scrollbar-thumb:hover,
body.cc-staging-controls-active .cc-home::-webkit-scrollbar-thumb:hover,
body.cc-staging-controls-active .cc-editorial-page::-webkit-scrollbar-thumb:hover,
body.cc-staging-controls-active .cya11y-menu::-webkit-scrollbar-thumb:hover,
body.cc-staging-controls-active .cky-modal::-webkit-scrollbar-thumb:hover,
body.cc-staging-controls-active .cky-preference-center::-webkit-scrollbar-thumb:hover {
  background: var(--cc-warm);
}
html::-webkit-scrollbar-corner,
body.cc-staging-controls-active::-webkit-scrollbar-corner,
body.cc-staging-controls-active .cc-home::-webkit-scrollbar-corner,
body.cc-staging-controls-active .cc-editorial-page::-webkit-scrollbar-corner,
body.cc-staging-controls-active .cya11y-menu::-webkit-scrollbar-corner,
body.cc-staging-controls-active .cky-modal::-webkit-scrollbar-corner,
body.cc-staging-controls-active .cky-preference-center::-webkit-scrollbar-corner {
  background: var(--cc-paper);
}

/* Shared staging header + editorial footer */
body.cc-staging-controls-active #header { background: var(--cc-paper); }
body.cc-staging-controls-active #masthead { background: var(--cc-ink); }
body.cc-staging-controls-active #masthead .header-inner { min-height: 78px; }
body.cc-staging-controls-active #logo a::before { width: 32px; height: 32px; background-image: url('https://calabasascreative.com/wp-content/uploads/2026/07/cc-home/icon.png'); }
body.cc-staging-controls-active #logo a::after { color: #f5f2ec; }
body.cc-staging-controls-active #masthead .header-social-icons a { color: #f5f2ec !important; }
body.cc-staging-controls-active #masthead .header-social-icons a:hover { color: var(--cc-warm) !important; }
body.cc-staging-controls-active #wide-nav { background: var(--cc-paper); border-bottom: 1px solid var(--cc-line); }
body.cc-staging-controls-active #wide-nav .nav-top-link { color: var(--cc-ink); font-family: Arial, sans-serif; font-size: 10px; font-weight: 500; letter-spacing: .18em; }
body.cc-staging-controls-active #wide-nav .nav-top-link:hover,
body.cc-staging-controls-active #wide-nav .active > .nav-top-link { color: var(--cc-warm); }
body.cc-staging-controls-active #wide-nav .nav > li { margin: 0 13px; }
body.cc-staging-controls-active #wide-nav { position: relative; }
body.cc-staging-controls-active #wide-nav::before { display: none; }
body.cc-staging-controls-active #masthead { position: relative; }
body.cc-staging-controls-active #masthead .header-inner { position: static; }
body.cc-staging-controls-active #masthead #logo { position: absolute; left: 24px; top: 50%; z-index: 3; margin: 0 !important; transform: translateY(-50%); }
body.cc-staging-controls-active #header .header-bg-container { display: none; }
body.cc-staging-controls-active #footer { display: none; }
.cc-site-footer { position: relative; z-index: 2; padding: 82px 24px 24px; background: var(--cc-paper); color: var(--cc-ink); border-top: 1px solid var(--cc-line); }
.cc-site-footer * { box-sizing: border-box; }
.cc-site-footer__inner { display: grid; grid-template-columns: 1.65fr repeat(4, 1fr); gap: 32px; width: min(1200px, 100%); margin: 0 auto; }
.cc-site-footer__brand { display: flex; flex-direction: column; align-items: center; padding-right: 50px; text-align: center; }
.cc-site-footer__logo { display: inline-flex; flex-direction: column; align-items: center; gap: 16px; color: var(--cc-ink) !important; text-decoration: none; }
.cc-site-footer__logo img { width: 112px; height: 112px; object-fit: contain; }
.cc-site-footer__wordmark { font-family: var(--cc-sans); font-size: 16px; line-height: 1.4; letter-spacing: .3em; }
.cc-site-footer__brand p { max-width: 240px; margin: 30px 0 0; font-family: var(--cc-sans); font-size: 12px; line-height: 1.75; letter-spacing: .02em; text-transform: uppercase; color: var(--cc-ink); }
.cc-site-footer__column { display: flex; flex-direction: column; gap: 10px; padding-left: 22px; border-left: 1px solid var(--cc-line); }
.cc-site-footer__column span { margin-bottom: 9px; font-family: Arial, sans-serif; font-size: 9px; letter-spacing: .18em; text-transform: uppercase; }
.cc-site-footer__column a { width: fit-content; color: var(--cc-muted) !important; font-family: Arial, sans-serif; font-size: 11px; text-decoration: none; }
.cc-site-footer__column a:hover { color: var(--cc-ink) !important; }
.cc-site-footer__connect { gap: 22px; }
.cc-site-footer__connect > span { margin-bottom: 10px; }
.cc-site-footer__connect a {
  display: flex;
  align-items: center;
  min-height: 28px;
  margin-left: 18px;
  color: var(--cc-ink) !important;
}
.cc-site-footer__connect a:hover { color: var(--cc-warm) !important; }
.cc-site-footer__connect .cc-social-icon { display: block; width: 27px; height: 27px; }
.cc-site-footer__connect .cc-social-vimeo {
  display: block;
  width: 27px;
  color: currentColor;
  font-family: Arial, sans-serif;
  font-size: 31px;
  font-style: italic;
  font-weight: 900;
  line-height: .75;
  text-align: center;
  transform: translateX(-1px);
}
.cc-site-footer__connect .cc-social-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.cc-site-footer__bottom { display: flex; justify-content: space-between; gap: 20px; width: min(1200px, 100%); margin: 72px auto 0; padding-top: 18px; border-top: 1px solid var(--cc-line); color: var(--cc-muted); font-family: Arial, sans-serif; font-size: 9px; letter-spacing: .12em; text-transform: uppercase; }
.cc-site-footer__legal { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 8px 22px; text-align: right; }
.cc-site-footer__legal a { color: inherit !important; text-decoration: none; }
.cc-site-footer__legal a:hover { color: var(--cc-ink) !important; }

/* Staging page-build motion: containers wipe into place before their content
 * settles in. The motion classes are added at the end of the document so the
 * site remains fully readable if JavaScript is unavailable. */
html.cc-motion-ready .cc-wipe-container {
  opacity: 0;
  clip-path: none;
  transform: translateY(12px);
}
html.cc-motion-start.cc-loaded .cc-wipe-container {
  animation: cc-container-wipe 760ms cubic-bezier(.22, .61, .36, 1) var(--cc-wipe-delay, 0ms) both;
}
html.cc-motion-ready .cc-motion-item {
  opacity: 0;
  transform: translateY(12px);
}
html.cc-motion-start.cc-loaded .cc-motion-item {
  animation: cc-element-rise 640ms cubic-bezier(.22, .61, .36, 1) var(--cc-item-delay, 0ms) both;
}
@keyframes cc-container-wipe {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes cc-element-rise {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Safety net for browsers that pause or fail to commit CSS animations. */
html.cc-motion-fallback .cc-wipe-container,
html.cc-motion-fallback .cc-motion-item,
html.cc-motion-fallback .cc-footer-item {
  opacity: 1 !important;
  clip-path: none !important;
  transform: none !important;
  animation: none !important;
}

/* Footer content enters in document order: brand, column headings/links,
 * then the bottom legal row. */
html.cc-motion-ready .cc-footer-item {
  opacity: 0;
  transform: translateY(14px);
}
html.cc-footer-visible.cc-loaded .cc-footer-item {
  animation: cc-footer-item-in 650ms cubic-bezier(.22, .61, .36, 1) var(--cc-footer-delay, 0ms) both;
}
@keyframes cc-footer-item-in {
  from { opacity: 0; transform: translateY(14px); }
  to { opacity: 1; transform: translateY(0); }
}
html.cc-footer-visible.cc-loaded .cc-site-footer__logo img {
  animation: cc-footer-mark-in 1250ms cubic-bezier(.16, 1, .3, 1) 180ms both;
  transform-origin: 50% 50%;
}
html.cc-footer-visible.cc-loaded .cc-site-footer__wordmark {
  animation: cc-footer-wordmark-in 780ms cubic-bezier(.22, .61, .36, 1) 580ms both;
}
@keyframes cc-footer-mark-in {
  from { opacity: 0; transform: translateY(-18px) rotate(-22deg) scale(.78); }
  70% { opacity: 1; transform: translateY(3px) rotate(4deg) scale(1.02); }
  to { opacity: 1; transform: translateY(0) rotate(0) scale(1); }
}
@keyframes cc-footer-wordmark-in {
  from { opacity: 0; transform: translateY(10px); letter-spacing: .42em; }
  to { opacity: 1; transform: translateY(0); letter-spacing: .3em; }
}
.cc-site-footer__copyright .cc-type-char {
  display: inline-block;
  opacity: 0;
}
html.cc-footer-visible .cc-site-footer__copyright .cc-type-char {
  animation: cc-type-char-in 80ms linear var(--cc-type-delay, 0ms) both;
}
@keyframes cc-type-char-in {
  from { opacity: 0; transform: translateY(3px); }
  to { opacity: 1; transform: translateY(0); }
}

/* A soft warm sheen gives both the header icon and footer mark a tactile
 * response without changing the logo artwork. */
body.cc-staging-controls-active #masthead #logo a,
.cc-site-footer__logo {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}
.cc-logo-sheen {
  position: absolute;
  z-index: 8;
  top: -35%;
  bottom: -35%;
  left: -42%;
  width: 34%;
  pointer-events: none;
  opacity: 0;
  background: linear-gradient(105deg, transparent 0%, rgba(255,255,255,.08) 35%, rgba(255,255,255,.72) 49%, rgba(199,170,130,.72) 53%, transparent 72%);
  transform: translateX(-180%) skewX(-16deg);
}
body.cc-staging-controls-active #masthead #logo a:hover .cc-logo-sheen,
body.cc-staging-controls-active #masthead #logo a:focus-visible .cc-logo-sheen,
.cc-site-footer__logo:hover .cc-logo-sheen,
.cc-site-footer__logo:focus-visible .cc-logo-sheen {
  opacity: 1;
  animation: cc-logo-sheen-pass 900ms cubic-bezier(.22, .61, .36, 1) both;
}
@keyframes cc-logo-sheen-pass {
  from { opacity: 0; transform: translateX(-180%) skewX(-16deg); }
  12% { opacity: 1; }
  to { opacity: 0; transform: translateX(520%) skewX(-16deg); }
}
@media (max-width: 900px) {
  .cc-site-footer__inner { grid-template-columns: 1.5fr repeat(2, 1fr); row-gap: 42px; }
  .cc-site-footer__brand { grid-row: span 2; }
}

/* Mobile staging polish: keep the header clear, the video in one viewport,
   and floating controls above the browser chrome. */
@media (max-width: 560px) {
  body.cc-staging-controls-active #masthead { overflow: visible; }
  body.cc-staging-controls-active #masthead .header-inner {
    padding-left: 62px;
    padding-right: 12px;
  }
  body.cc-staging-controls-active #masthead #logo {
    left: 10px;
    z-index: 20;
    width: 42px;
  }
  body.cc-staging-controls-active #masthead::before {
    left: 58px;
    max-width: calc(100% - 70px);
    overflow: hidden;
    font-size: 9px;
    letter-spacing: .10em;
    text-align: left;
    text-overflow: ellipsis;
    transform: translateY(-50%);
  }
  body.cc-staging-controls-active #masthead::after { display: none; }
  body.cc-staging-controls-active #masthead .nav-icon,
  body.cc-staging-controls-active #masthead .nav-toggle {
    position: absolute;
    top: 50%;
    right: 12px;
    z-index: 30;
    margin: 0 !important;
    transform: translateY(-50%);
  }
  body.cc-staging-controls-active #masthead .header-button {
    position: relative;
    z-index: 25;
  }
  body.cc-staging-controls-active #masthead .nav-icon,
  body.cc-staging-controls-active #masthead .nav-toggle {
    width: 42px;
    min-width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  body.cc-staging-home-active .cc-hero {
    height: clamp(560px, calc(100svh - 64px), 760px);
    min-height: 0;
    overflow: hidden;
  }
  body.cc-staging-home-active .cc-hero__fallback {
    opacity: .42;
  }
  body.cc-staging-home-active .cc-hero__video,
  body.cc-staging-home-active .cc-hero__veil {
    height: 100%;
    max-height: 100%;
    overflow: hidden;
  }
  body.cc-staging-home-active .cc-hero__video {
    top: -2px;
    bottom: auto;
    height: calc(100% + 4px);
  }
  body.cc-staging-home-active .cc-hero__video video {
    position: absolute;
    top: 0;
    left: 50%;
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    max-height: none;
    min-width: 0;
    min-height: 0;
    object-fit: cover;
    object-position: center;
    transform: translateX(-50%);
  }
  body.cc-staging-home-active .cc-hero__content > .cc-eyebrow { display: none; }
  body.cc-staging-home-active .cc-hero__audio-mute,
  body.cc-staging-home-active .cc-hero__audio-volume { display: none; }
  body.cc-staging-home-active .cc-hero__audio-controls {
    right: 18px;
    bottom: 16px;
    max-width: none;
    gap: 0;
    flex-wrap: nowrap;
  }

  body.cc-staging-controls-active .cky-btn-revisit-wrapper,
  body.cc-staging-controls-active .cya11y-menu-btn {
    bottom: 24px !important;
  }
  body.cc-staging-controls-active .cky-btn-revisit-wrapper {
    right: 18px !important;
    left: auto !important;
  }
  body.cc-staging-controls-active .cya11y-menu-btn {
    right: auto !important;
    left: 18px !important;
  }
}
@media (max-width: 560px) {
  body.cc-staging-controls-active #masthead .header-inner { min-height: 64px; }
  body.cc-staging-controls-active #logo a::after { font-size: 10px; }
  .cc-site-footer { padding: 58px 18px 20px; }
  .cc-site-footer__inner { grid-template-columns: 1fr 1fr; gap: 38px 18px; }
  .cc-site-footer__brand { grid-column: span 2; grid-row: auto; padding-right: 0; }
  .cc-site-footer__column { padding-left: 16px; }
  .cc-site-footer__bottom { display: block; margin-top: 52px; line-height: 2; }
  .cc-site-footer__bottom span { display: block; }
  .cc-site-footer__legal { justify-content: flex-start; gap: 8px 16px; margin-top: 4px; text-align: left; }
}

body.cc-staging-controls-active #logo a::after { color: #f5f2ec !important; }

/* Brand typography: use Baskerville consistently across editorial and utility copy. */
body.cc-staging-controls-active #masthead,
body.cc-staging-controls-active #wide-nav,
body.cc-staging-controls-active #wide-nav .nav-top-link,
body.cc-staging-controls-active .header-social-icons,
body.cc-staging-controls-active #logo a::after { font-family: var(--cc-sans) !important; }
body.cc-staging-controls-active .cc-home,
body.cc-staging-controls-active .cc-virtual-staging,
body.cc-staging-controls-active .cc-portfolio,
body.cc-staging-controls-active .cc-site-footer { font-family: var(--cc-serif); }
body.cc-staging-controls-active,
body.cc-staging-controls-active #main {
  font-family: var(--cc-serif) !important;
}
body.cc-staging-controls-active #main p,
body.cc-staging-controls-active #main li,
body.cc-staging-controls-active #main .cc-scroll-detail {
  font-family: var(--cc-serif) !important;
  font-weight: 400;
}
body.cc-staging-controls-active .cc-eyebrow,
body.cc-staging-controls-active .cc-hero__copy,
body.cc-staging-controls-active .cc-button,
body.cc-staging-controls-active .cc-section__intro,
body.cc-staging-controls-active .cc-service p,
body.cc-staging-controls-active .cc-play,
body.cc-staging-controls-active .cc-work__label small,
body.cc-staging-controls-active .cc-work__card p,
body.cc-staging-controls-active .cc-split__copy p,
body.cc-staging-controls-active .cc-video-card p,
body.cc-staging-controls-active .cc-vs-hero p,
body.cc-staging-controls-active .cc-vs-section__heading small,
body.cc-staging-controls-active .cc-vs-pair figcaption,
body.cc-staging-controls-active .cc-vs-note,
body.cc-staging-controls-active .cc-vs-footer p,
body.cc-staging-controls-active .cc-portfolio-hero p,
body.cc-staging-controls-active .cc-portfolio-nav,
body.cc-staging-controls-active .cc-portfolio-section__meta,
body.cc-staging-controls-active .cc-portfolio-card figcaption,
body.cc-staging-controls-active .cc-site-footer__wordmark,
body.cc-staging-controls-active .cc-site-footer__brand p,
body.cc-staging-controls-active .cc-site-footer__column,
body.cc-staging-controls-active .cc-site-footer__bottom,
body.cc-staging-controls-active .cky-modal,
body.cc-staging-controls-active .cky-btn { font-family: var(--cc-sans) !important; }
body.cc-staging-controls-active .cky-title,
body.cc-staging-controls-active .cky-preference-title { font-family: var(--cc-serif) !important; }

/* Mobile navigation: keep the dark drawer legible when the theme reveals
 * second-level links over the page backdrop. */
body.cc-staging-controls-active #main-menu .nav-sidebar > li > a.nav-top-link {
  color: #f5f2ec !important;
  font-family: var(--cc-sans) !important;
  letter-spacing: .12em;
}
body.cc-staging-controls-active #main-menu .nav-sidebar > li > ul.sub-menu {
  margin: 0 18px 12px !important;
  padding: 7px 0 8px;
  border-top: 1px solid rgba(245, 242, 236, .18);
  border-bottom: 1px solid rgba(245, 242, 236, .12);
  background: rgba(23, 23, 23, .72);
}
body.cc-staging-controls-active #main-menu .nav-sidebar > li > ul.sub-menu > li > a.nav-top-link {
  display: block;
  padding: 11px 18px 11px 28px;
  color: rgba(245, 242, 236, .82) !important;
  font-family: var(--cc-sans) !important;
  font-size: 11px !important;
  font-weight: 500;
  letter-spacing: .08em;
  line-height: 1.35;
  text-align: left;
  text-transform: uppercase;
}
body.cc-staging-controls-active #main-menu .nav-sidebar > li > ul.sub-menu > li > a.nav-top-link:hover,
body.cc-staging-controls-active #main-menu .nav-sidebar > li > ul.sub-menu > li.current-menu-item > a.nav-top-link,
body.cc-staging-controls-active #main-menu .nav-sidebar > li > ul.sub-menu > li.active > a.nav-top-link {
  color: var(--cc-warm) !important;
  background: rgba(199, 170, 130, .14);
}
body.cc-staging-controls-active .cc-home h1,
body.cc-staging-controls-active .cc-home h2,
body.cc-staging-controls-active .cc-home h3,
body.cc-staging-controls-active .cc-virtual-staging h1,
body.cc-staging-controls-active .cc-virtual-staging h2,
body.cc-staging-controls-active .cc-virtual-staging h3,
body.cc-staging-controls-active .cc-portfolio h1,
body.cc-staging-controls-active .cc-portfolio h2,
body.cc-staging-controls-active .cc-portfolio h3 { font-family: var(--cc-serif) !important; }
body.cc-staging-controls-active .cc-site-footer__wordmark,
body.cc-staging-controls-active .cc-site-footer__brand p,
body.cc-staging-controls-active .cc-site-footer__column span,
body.cc-staging-controls-active .cc-site-footer__column a,
body.cc-staging-controls-active .cc-site-footer__bottom { font-family: var(--cc-sans) !important; }

body.cc-staging-home-active { background: var(--cc-paper); color: var(--cc-ink); }
body.cc-staging-home-active #main { overflow: hidden; }
body.cc-staging-home-active .cc-home { font-family: Georgia, 'Times New Roman', serif; }
body.cc-staging-home-active .cc-home * { box-sizing: border-box; }
body.cc-staging-home-active .cc-home a { color: inherit; }
body.cc-staging-home-active .cc-home p { margin: 0; }
body.cc-staging-home-active #logo img { display: none; }
body.cc-staging-home-active #logo a { display: inline-flex; align-items: center; gap: 10px; }
body.cc-staging-home-active #logo a::before { content: ''; width: 32px; height: 32px; display: block; background: url('https://calabasascreative.com/wp-content/uploads/2026/07/cc-home/calabasas-creative-logo-2024.svg') center / contain no-repeat; }
body.cc-staging-home-active #logo a::after { content: 'CALABASAS CREATIVE'; color: #262626; font-family: Arial, sans-serif; font-size: 13px; font-weight: 500; letter-spacing: .2em; white-space: nowrap; }

.cc-hero { position: relative; min-height: min(780px, 84vh); display: grid; align-items: end; color: #fff; overflow: hidden; background: #141414; }
.cc-hero__fallback, .cc-hero__video, .cc-hero__veil { position: absolute; inset: 0; width: 100%; height: 100%; }
.cc-hero__fallback { object-fit: cover; object-position: center; opacity: .55; }
.cc-hero__video { pointer-events: none; transform: scale(1.18); }
.cc-hero__video video { display: block; width: 100%; height: 100%; border: 0; object-fit: cover; object-position: center; }
.cc-hero__veil { background: linear-gradient(90deg, rgba(0,0,0,.64), rgba(0,0,0,.06) 70%), linear-gradient(0deg, rgba(0,0,0,.58), transparent 55%); }
.cc-hero__content { position: relative; z-index: 2; width: min(1280px, calc(100% - 48px)); padding: 150px 0 90px; margin: 0 auto; }
.cc-eyebrow { font-family: Arial, sans-serif; font-size: 10px; letter-spacing: .25em; text-transform: uppercase; }
.cc-hero h1, .cc-hero .cc-eyebrow { color: #fff !important; }
.cc-hero h1 { max-width: 610px; margin: 22px 0 20px; font-size: clamp(48px, 7vw, 94px); font-weight: 400; line-height: .96; letter-spacing: -.045em; }
.cc-hero__copy { max-width: 450px; font-family: Arial, sans-serif; font-size: 15px; line-height: 1.65; color: rgba(255,255,255,.86) !important; }
.cc-button { position: relative; isolation: isolate; display: inline-flex; align-items: center; gap: 18px; overflow: hidden; padding: 15px 22px; border: 1px solid currentColor; font-family: Arial, sans-serif; font-size: 10px; letter-spacing: .18em; text-transform: uppercase; text-decoration: none; transition: background .25s, color .25s; }
.cc-button::after { content: ''; position: absolute; z-index: 1; top: -80%; bottom: -80%; left: -30%; width: 24%; pointer-events: none; opacity: 0; background: linear-gradient(90deg, transparent, rgba(255,255,255,.48), transparent); transform: translateX(-260%) rotate(18deg); transition: opacity .18s ease, transform .7s cubic-bezier(.22,.61,.36,1); }
.cc-button > * { position: relative; z-index: 2; }
.cc-button:hover { background: #fff; color: var(--cc-ink); }
.cc-button:hover::after, .cc-button:focus-visible::after { opacity: 1; transform: translateX(650%) rotate(18deg); }
.cc-button:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.cc-hero .cc-button { margin-top: 30px; }

.cc-section { padding: 100px 24px; }
.cc-section__inner { width: min(1200px, 100%); margin: 0 auto; }
.cc-section--paper { background: var(--cc-paper); }
.cc-section--dark { background: var(--cc-ink); color: #f5f2ec; }
.cc-section__heading { margin: 12px 0 46px; font-size: clamp(38px, 5vw, 66px); font-weight: 400; line-height: 1; letter-spacing: -.04em; }
.cc-section__intro { max-width: 520px; color: var(--cc-muted); font-family: Arial, sans-serif; line-height: 1.7; }
.cc-section--dark .cc-section__intro { color: rgba(245,242,236,.68); }

.cc-services { display: grid; grid-template-columns: repeat(3, 1fr); gap: 34px 46px; }
.cc-service { border-top: 1px solid var(--cc-line); padding-top: 15px; }
.cc-service { display: block; text-decoration: none; }
.cc-service__media { position: relative; aspect-ratio: 1.42; overflow: hidden; background: #d5d0c8; }
.cc-service__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.cc-service:hover img { transform: scale(1.04); }
.cc-service h3 { margin: 20px 0 9px; font-size: 20px; font-weight: 400; text-transform: uppercase; letter-spacing: .02em; }
.cc-service p { max-width: 260px; font-family: Arial, sans-serif; font-size: 12px; line-height: 1.6; color: var(--cc-muted); }
.cc-play { position: absolute; left: 50%; top: 50%; width: 52px; height: 52px; display: grid; place-items: center; border-radius: 50%; background: rgba(15,15,15,.78); color: #fff; transform: translate(-50%, -50%); font-family: Arial, sans-serif; }

.cc-work { display: grid; grid-template-columns: 1.1fr 2fr; gap: 40px; align-items: end; margin-bottom: 42px; }
.cc-work__label { font-size: clamp(35px, 4vw, 57px); line-height: .98; }
.cc-work__label small { display: block; margin-bottom: 20px; font-family: Arial, sans-serif; font-size: 10px; letter-spacing: .2em; text-transform: uppercase; }
.cc-work__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.cc-work__card > .cc-image-picture { display: block; width: 100%; overflow: hidden; aspect-ratio: 1.16 / 1; }
.cc-work__card > .cc-image-picture img { display: block; width: 100%; height: 100%; aspect-ratio: auto; object-fit: cover; object-position: center; }
.cc-work__card p { margin-top: 11px; font-family: Arial, sans-serif; font-size: 11px; line-height: 1.3; color: rgba(245,242,236,.72); }

.cc-split { display: grid; grid-template-columns: 1fr 1fr; min-height: 560px; }
.cc-split__image img { width: 100%; height: 100%; min-height: 500px; object-fit: cover; }
.cc-split__copy { display: flex; flex-direction: column; justify-content: center; padding: 70px clamp(30px, 8vw, 120px); }
.cc-split__copy h2 { margin: 18px 0 25px; font-size: clamp(42px, 5vw, 74px); font-weight: 400; line-height: .95; letter-spacing: -.05em; }
.cc-split__copy p { max-width: 420px; font-family: Arial, sans-serif; font-size: 14px; line-height: 1.75; color: var(--cc-muted); }
.cc-split__copy .cc-button { align-self: flex-start; margin-top: 34px; }
.cc-split--dark .cc-split__copy { background: var(--cc-ink); color: #f5f2ec; }
.cc-split--dark .cc-split__copy p { color: rgba(245,242,236,.72); }

.cc-video-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.cc-video-card { min-width: 0; }
.cc-video-card__frame { aspect-ratio: 16 / 9; background: #242424; }
.cc-video-card iframe { width: 100%; height: 100%; border: 0; }
.cc-video-card h3 { margin: 17px 0 7px; font-size: 22px; font-weight: 400; }
.cc-video-card p { font-family: Arial, sans-serif; font-size: 11px; color: rgba(245,242,236,.65); }

.cc-cta { padding: 120px 24px; text-align: center; }
.cc-cta h2 { margin: 0 auto 18px; max-width: 850px; font-size: clamp(42px, 6vw, 82px); font-weight: 400; line-height: .98; letter-spacing: -.05em; }
.cc-cta p { max-width: 620px; margin: 0 auto; font-size: 21px; line-height: 1.5; color: var(--cc-muted); }
.cc-cta .cc-button { margin-top: 38px; background: var(--cc-ink); color: #fff; }
.cc-cta .cc-button:hover { background: transparent; color: var(--cc-ink); }

@media (max-width: 800px) {
  .cc-hero { min-height: 720px; }
  .cc-hero__content { width: min(100% - 36px, 620px); padding-bottom: 58px; }
  .cc-section { padding: 70px 18px; }
  .cc-services, .cc-video-grid { grid-template-columns: 1fr 1fr; gap: 26px 16px; }
  .cc-work { display: block; }
  .cc-work__label { margin-bottom: 34px; }
  .cc-work__grid { grid-template-columns: repeat(2, 1fr); }
  .cc-split { grid-template-columns: 1fr; }
  .cc-split__image { order: 0; }
  .cc-split__image img { min-height: 360px; max-height: 560px; }
  .cc-split__copy { order: 1; padding: 55px 28px 65px; }
}

/* Homepage comp pass: tighter scale, image assignments, and the original editorial sequence. */
body.cc-staging-home-active .cc-home { font-family: var(--cc-serif); }
body.cc-staging-home-active .cc-hero { min-height: min(620px, 39vw); }
body.cc-staging-home-active .cc-hero__fallback { opacity: .42; }
body.cc-staging-home-active .cc-hero__video { transform: scale(1.08); }
body.cc-staging-home-active .cc-hero__veil { background: linear-gradient(90deg, rgba(0,0,0,.7), rgba(0,0,0,.08) 72%), linear-gradient(0deg, rgba(0,0,0,.52), transparent 65%); }
body.cc-staging-home-active .cc-hero__content { width: min(1200px, calc(100% - 48px)); padding: 80px 0 64px; }
body.cc-staging-home-active .cc-hero > .cc-image-picture { position: absolute; inset: 0; z-index: 0; display: block; width: 100%; height: 100%; }
body.cc-staging-home-active .cc-hero__video { z-index: 1; }
body.cc-staging-home-active .cc-hero__veil { z-index: 2; }
body.cc-staging-home-active .cc-hero__content { z-index: 3; }
body.cc-staging-home-active .cc-hero h1 { max-width: 410px; margin: 18px 0 16px; font-size: clamp(46px, 5.1vw, 74px); line-height: .93; }
body.cc-staging-home-active .cc-hero__copy { max-width: 330px; font-size: 12px; line-height: 1.45; }
body.cc-staging-home-active .cc-hero .cc-button { margin-top: 24px; padding: 12px 16px; font-size: 9px; }
body.cc-staging-home-active .cc-hero__audio { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
body.cc-staging-home-active .cc-hero__audio-controls { position: absolute; right: 24px; bottom: 26px; z-index: 4; display: flex; align-items: center; gap: 10px; color: #f5f2ec; font-family: var(--cc-sans); font-size: 9px; letter-spacing: .16em; text-transform: uppercase; }
body.cc-staging-home-active .cc-hero__audio-button,
body.cc-staging-home-active .cc-hero__audio-mute { display: inline-flex; align-items: center; gap: 8px; min-height: 34px; padding: 9px 12px; border: 1px solid rgba(245,242,236,.72); border-radius: 0; background: rgba(23,23,23,.28); color: #f5f2ec; font-family: inherit; font-size: inherit; letter-spacing: inherit; line-height: 1; text-transform: inherit; transition: background .25s ease, border-color .25s ease, color .25s ease; }
body.cc-staging-home-active .cc-hero__audio-button:hover,
body.cc-staging-home-active .cc-hero__audio-button:focus-visible,
body.cc-staging-home-active .cc-hero__audio-mute:hover,
body.cc-staging-home-active .cc-hero__audio-mute:focus-visible { background: var(--cc-warm); border-color: var(--cc-warm); color: var(--cc-ink); }
body.cc-staging-home-active .cc-hero__audio-icon { display: inline-block; width: 11px; color: var(--cc-warm); font-size: 11px; letter-spacing: 0; text-align: center; }
body.cc-staging-home-active .cc-hero__audio-volume { display: inline-flex; align-items: center; gap: 7px; min-height: 34px; padding: 9px 12px; box-sizing: border-box; border: 1px solid rgba(245,242,236,.72); border-radius: 0; background: rgba(23,23,23,.28); color: #f5f2ec !important; font-family: inherit; font-size: inherit; letter-spacing: inherit; line-height: 1; text-transform: inherit; transition: background .25s ease, border-color .25s ease, color .25s ease; }
body.cc-staging-home-active .cc-hero__audio-volume { height: 34px; padding-top: 0; padding-bottom: 0; }
body.cc-staging-home-active .cc-hero__audio-volume > span { color: inherit !important; }
body.cc-staging-home-active .cc-hero__audio-volume:hover,
body.cc-staging-home-active .cc-hero__audio-volume:focus-within { background: var(--cc-warm); border-color: var(--cc-warm); color: var(--cc-ink) !important; }
body.cc-staging-home-active .cc-hero__audio-volume input { display: block; align-self: center; width: 72px; height: 14px; margin: 0; padding: 0; appearance: none; -webkit-appearance: none; border: 0; outline: 0; background: transparent; accent-color: var(--cc-warm); cursor: pointer; }
body.cc-staging-home-active .cc-hero__audio-volume input::-webkit-slider-runnable-track { height: 2px; border: 0; border-radius: 0; background: linear-gradient(90deg, var(--cc-warm) 0 var(--cc-volume-percent, 58%), rgba(245,242,236,.5) var(--cc-volume-percent, 58%) 100%); }
body.cc-staging-home-active .cc-hero__audio-volume input::-webkit-slider-thumb { width: 14px; height: 14px; margin-top: -6px; appearance: none; -webkit-appearance: none; border: 0; border-radius: 50%; background: var(--cc-warm); box-shadow: 0 0 0 1px rgba(245,242,236,.25); }
body.cc-staging-home-active .cc-hero__audio-volume input::-moz-range-track { height: 2px; border: 0; border-radius: 0; background: rgba(245,242,236,.5); }
body.cc-staging-home-active .cc-hero__audio-volume input::-moz-range-progress { height: 2px; border: 0; border-radius: 0; background: var(--cc-warm); }
body.cc-staging-home-active .cc-hero__audio-volume input::-moz-range-thumb { width: 14px; height: 14px; border: 0; border-radius: 50%; background: var(--cc-warm); box-shadow: 0 0 0 1px rgba(245,242,236,.25); }
body.cc-staging-home-active .cc-hero__audio-controls.is-muted .cc-hero__audio-volume input::-webkit-slider-thumb,
body.cc-staging-home-active .cc-hero__audio-controls.is-muted .cc-hero__audio-volume input::-moz-range-thumb { background: rgba(245,242,236,.65); }
body.cc-staging-home-active .cc-hero__audio-controls.is-awaiting-play .cc-hero__audio-button { border-color: var(--cc-warm); box-shadow: 0 0 0 3px rgba(199,170,130,.16); }

@media (min-width: 801px) {
  body.cc-staging-home-active .cc-hero__audio-controls { align-items: stretch; }
  body.cc-staging-home-active .cc-hero__audio-button,
  body.cc-staging-home-active .cc-hero__audio-mute,
  body.cc-staging-home-active .cc-hero__audio-volume {
    box-sizing: border-box;
    height: 34px;
    min-height: 34px;
    margin: 0;
    padding-top: 0;
    padding-bottom: 0;
    align-self: stretch;
    vertical-align: top;
  }
}

body.cc-staging-home-active .cc-section { padding: 70px 24px; }
body.cc-staging-home-active .cc-services-section { padding-top: 58px; padding-bottom: 70px; }
body.cc-staging-home-active .cc-section__inner { width: min(1160px, 100%); }
body.cc-staging-home-active .cc-section__heading { margin: 10px 0 36px; font-size: clamp(17px, 2.2vw, 29px); text-align: center; }
body.cc-staging-home-active .cc-services-section > .cc-section__inner > .cc-eyebrow { display: block; text-align: center; }
body.cc-staging-home-active .cc-services { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 34px 42px; max-width: 1080px; margin: 0 auto; }
body.cc-staging-home-active .cc-service { border-top: 0; padding-top: 0; }
body.cc-staging-home-active .cc-service__media { aspect-ratio: 1.5; }
body.cc-staging-home-active .cc-service h3 { margin: 14px 0 8px; font-size: 15px; letter-spacing: .02em; }
body.cc-staging-home-active .cc-service p { max-width: 220px; font-size: 10px; line-height: 1.45; }
body.cc-staging-home-active .cc-play { width: 44px; height: 44px; font-size: 13px; }

body.cc-staging-home-active .cc-featured-section {
  padding-top: 34px;
  padding-bottom: 42px;
  padding-left: clamp(24px, 4.9vw, 100px);
  padding-right: clamp(24px, 4.9vw, 100px);
}
body.cc-staging-home-active .cc-featured-section > .cc-section__inner {
  width: 100%;
  max-width: none;
}
body.cc-staging-home-active .cc-featured-section .cc-work { width: 100%; }
body.cc-staging-home-active .cc-work { grid-template-columns: 175px minmax(0, 1fr); gap: 20px 28px; align-items: start; margin: 0; }
body.cc-staging-home-active .cc-work__label { font-size: clamp(20px, 2.1vw, 31px); line-height: 1; }
body.cc-staging-home-active .cc-work__label small { margin-bottom: 17px; font-size: 8px; }
body.cc-staging-home-active .cc-work > .cc-button { grid-column: 1; align-self: end; justify-self: start; padding: 10px 13px; font-size: 8px; }
body.cc-staging-home-active .cc-work__grid { grid-column: 2; grid-row: 1 / span 2; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; height: auto; }
body.cc-staging-home-active .cc-work__grid > a:not(:has(img)) { display: none; }
body.cc-staging-home-active .cc-work__card > .cc-image-picture { aspect-ratio: 1.28 / 1; }
body.cc-staging-home-active .cc-work__card > .cc-image-picture img { display: block; width: 100%; height: 100%; aspect-ratio: auto; object-fit: cover; object-position: center; }
body.cc-staging-home-active .cc-work__card > .cc-linked-image-sheen { display: block; width: 100%; aspect-ratio: 1.28 / 1; overflow: hidden; }
body.cc-staging-home-active .cc-work__card > .cc-linked-image-sheen > .cc-image-picture { display: block; width: 100%; height: 100%; aspect-ratio: auto; overflow: hidden; }
body.cc-staging-home-active .cc-work__card > .cc-linked-image-sheen > .cc-image-picture img { display: block; width: 100%; height: 100%; aspect-ratio: auto; object-fit: cover; object-position: center; }
body.cc-staging-home-active .cc-work__card p { margin-top: 9px; font-size: 10px; line-height: 1.3; }
body.cc-staging-home-active .cc-work__card p small { color: var(--cc-muted); font-size: 8px; letter-spacing: .08em; text-transform: uppercase; }

body.cc-staging-home-active .cc-strategists-section,
body.cc-staging-home-active .cc-design-section,
body.cc-staging-home-active .cc-perspective-section { min-height: 500px; }
body.cc-staging-home-active .cc-strategists-section .cc-split__image img,
body.cc-staging-home-active .cc-design-section .cc-split__image img,
body.cc-staging-home-active .cc-perspective-section .cc-split__image img { min-height: 500px; object-fit: cover; }
body.cc-staging-home-active .cc-strategists-section .cc-split__image img { object-position: center; }
body.cc-staging-home-active .cc-split__copy { padding: 58px clamp(32px, 7vw, 96px); }
body.cc-staging-home-active .cc-split__copy h2 { margin: 16px 0 20px; font-size: clamp(38px, 4.6vw, 65px); }
body.cc-staging-home-active .cc-split__copy p { max-width: 390px; font-size: 12px; line-height: 1.6; }
body.cc-staging-home-active .cc-split__copy .cc-button { margin-top: 24px; padding: 11px 15px; font-size: 8px; }
body.cc-staging-home-active .cc-strategists-section .cc-split__copy { padding: 58px clamp(32px, 6.5vw, 132px); }
body.cc-staging-home-active .cc-strategists-section .cc-eyebrow {
  color: rgba(245, 242, 236, .72);
  font-size: 10px;
  letter-spacing: .25em;
}
body.cc-staging-home-active .cc-strategists-section .cc-split__copy h2 {
  max-width: 760px;
  margin: 24px 0 28px;
  color: rgba(199, 170, 130, .55);
  font-size: clamp(44px, 4.2vw, 78px);
  line-height: .9;
  letter-spacing: -.05em;
}
body.cc-staging-home-active .cc-strategists-section .cc-split__copy .cc-button {
  margin-top: 0;
  padding: 12px 20px;
  font-size: 9px;
}
body.cc-staging-home-active .cc-design-section .cc-split__copy {
  padding: 58px clamp(32px, 6.5vw, 132px);
}
body.cc-staging-home-active .cc-design-section .cc-split__copy h2 {
  max-width: 520px;
  margin: 18px 0 25px;
  font-size: clamp(44px, 4.2vw, 68px);
  line-height: .92;
}
body.cc-staging-home-active .cc-design-section .cc-split__copy p {
  max-width: 610px;
  font-size: 14px;
  line-height: 1.5;
}
body.cc-staging-home-active .cc-design-section .cc-split__copy .cc-button {
  margin-top: 28px;
  padding: 12px 20px;
  font-size: 9px;
}
body.cc-staging-home-active .cc-design-section .cc-split__image img { object-position: center; }

body.cc-staging-home-active .cc-insights-section { padding-top: 52px; padding-bottom: 66px; }
body.cc-staging-home-active .cc-insights-section {
  padding-left: clamp(24px, 4vw, 82px);
  padding-right: clamp(24px, 4vw, 82px);
}
body.cc-staging-home-active .cc-insights-section > .cc-section__inner {
  width: 100%;
  max-width: none;
}
body.cc-staging-home-active .cc-insights-heading { display: flex; align-items: center; justify-content: space-between; margin-bottom: 20px; }
body.cc-staging-home-active .cc-text-link { display: inline-flex; align-items: center; gap: 12px; color: inherit; font-family: var(--cc-sans); font-size: 9px; letter-spacing: .12em; text-transform: uppercase; text-decoration: none; }
body.cc-staging-home-active .cc-text-link:hover { color: var(--cc-warm); }
body.cc-staging-home-active .cc-insights-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
body.cc-staging-home-active .cc-insight-card { text-decoration: none; }
body.cc-staging-home-active .cc-insight-card img { display: block; width: 100%; aspect-ratio: 1.42; object-fit: cover; margin-bottom: 13px; }
body.cc-staging-home-active .cc-insight-card h3 { margin: 0 0 13px; font-size: 17px; font-weight: 400; line-height: 1.05; }
body.cc-staging-home-active .cc-insight-card small { color: var(--cc-muted); font-family: var(--cc-sans); font-size: 8px; letter-spacing: .14em; text-transform: uppercase; }

body.cc-staging-home-active .cc-perspective-section .cc-split__copy { justify-content: center; }
body.cc-staging-home-active .cc-perspective-section .cc-split__copy {
  padding: 58px clamp(32px, 6.5vw, 132px);
}
body.cc-staging-home-active .cc-perspective-section .cc-split__copy h2 {
  max-width: 560px;
  margin-top: 0;
  color: rgba(199, 170, 130, .55);
  font-size: clamp(44px, 4.2vw, 78px);
  line-height: .9;
}
body.cc-staging-home-active .cc-perspective-section .cc-split__copy p {
  max-width: 540px;
  color: rgba(245, 242, 236, .62);
  font-size: 14px;
  line-height: 1.6;
}
body.cc-staging-home-active .cc-perspective-section .cc-split__copy p + p { margin-top: 16px; }
body.cc-staging-home-active .cc-perspective-section .cc-text-link {
  margin-top: 26px;
  font-size: 9px;
}
body.cc-staging-home-active .cc-perspective-section .cc-split__image img { object-position: center; }

body.cc-staging-home-active .cc-cta { padding: 82px 24px 92px; }
body.cc-staging-home-active .cc-cta h2 { max-width: 760px; margin-bottom: 18px; font-size: clamp(20px, 2.85vw, 37px); line-height: 1; letter-spacing: -.045em; }
body.cc-staging-home-active .cc-cta p {
  width: 100%;
  max-width: 1600px;
  margin-right: auto;
  margin-left: auto;
  font-size: clamp(17px, 1.25vw, 26px);
  line-height: 1.42;
  text-align: center;
}
body.cc-staging-home-active .cc-cta .cc-button {
  margin-top: 28px;
  padding: 13px 20px;
  color: #fff !important;
  font-size: 9px;
}
body.cc-staging-home-active .cc-cta .cc-button span { color: #fff !important; }

@media (max-width: 900px) {
  body.cc-staging-home-active .cc-hero { min-height: 520px; }
  body.cc-staging-home-active .cc-work { grid-template-columns: 1fr; }
  body.cc-staging-home-active .cc-work__grid { grid-column: 1; grid-row: auto; }
  body.cc-staging-home-active .cc-work > .cc-button { grid-column: 1; }
  body.cc-staging-home-active .cc-strategists-section,
  body.cc-staging-home-active .cc-design-section,
  body.cc-staging-home-active .cc-perspective-section { min-height: 0; }
  body.cc-staging-home-active .cc-strategists-section .cc-split__image img,
  body.cc-staging-home-active .cc-design-section .cc-split__image img,
  body.cc-staging-home-active .cc-perspective-section .cc-split__image img { min-height: 390px; }
}

@media (max-width: 560px) {
  body.cc-staging-home-active .cc-hero { min-height: 600px; }
  body.cc-staging-home-active .cc-hero__content { width: calc(100% - 36px); padding-bottom: 48px; }
  body.cc-staging-home-active .cc-hero h1 { max-width: 300px; font-size: 52px; }
  body.cc-staging-home-active .cc-hero__audio-controls { right: 18px; bottom: 16px; max-width: calc(100% - 36px); gap: 6px; flex-wrap: wrap; justify-content: flex-end; }
  body.cc-staging-home-active .cc-hero__audio-volume { height: 32px; min-height: 32px; padding: 0 7px; }
  body.cc-staging-home-active .cc-hero__audio-volume span { display: none; }
  body.cc-staging-home-active .cc-hero__audio-volume input { width: 58px; }
  body.cc-staging-home-active .cc-hero__audio-button,
  body.cc-staging-home-active .cc-hero__audio-mute { min-height: 32px; padding: 8px 9px; font-size: 8px; }
  body.cc-staging-home-active .cc-section { padding-left: 18px; padding-right: 18px; }
  body.cc-staging-home-active .cc-services { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 14px; }
  body.cc-staging-home-active .cc-service h3 { font-size: 13px; }
  body.cc-staging-home-active .cc-service p { font-size: 9px; }
  body.cc-staging-home-active .cc-work__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.cc-staging-home-active .cc-insights-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 14px; }
  body.cc-staging-home-active .cc-insights-heading { align-items: flex-start; gap: 16px; }
  body.cc-staging-home-active .cc-insight-card h3 { font-size: 14px; }
  body.cc-staging-home-active .cc-split__copy { padding: 52px 24px 60px; }
}
@media (max-width: 560px) {
  body.cc-staging-controls-active #masthead #logo { left: 18px; }
}

@media (max-width: 520px) {
  body.cc-staging-home-active #logo a::after { font-size: 10px; letter-spacing: .12em; }
  .cc-services, .cc-video-grid { grid-template-columns: 1fr; }
  .cc-hero h1 { font-size: 54px; }
  .cc-cta p { font-size: 17px; }
}

body.cc-virtual-staging-active { background: var(--cc-paper); color: var(--cc-ink); }
body.cc-virtual-staging-active #main { overflow: hidden; }
body.cc-virtual-staging-active .cc-virtual-staging { font-family: Georgia, 'Times New Roman', serif; }
body.cc-virtual-staging-active .cc-virtual-staging * { box-sizing: border-box; }
body.cc-virtual-staging-active .cc-virtual-staging a { color: inherit; }
body.cc-virtual-staging-active #logo img { display: none; }
body.cc-virtual-staging-active #logo a { display: inline-flex; align-items: center; gap: 10px; }
body.cc-virtual-staging-active #logo a::before { content: ''; width: 32px; height: 32px; display: block; background: url('https://calabasascreative.com/wp-content/uploads/2026/07/cc-home/calabasas-creative-logo-2024.svg') center / contain no-repeat; }
body.cc-virtual-staging-active #logo a::after { content: 'CALABASAS CREATIVE'; color: #262626; font-family: Arial, sans-serif; font-size: 13px; font-weight: 500; letter-spacing: .2em; white-space: nowrap; }
.cc-vs-hero { padding: 0; background: var(--cc-ink); color: #f5f2ec; }
.cc-vs-hero__inner { width: 100%; margin: 0 auto; display: grid; grid-template-columns: minmax(0, .96fr) minmax(0, 1.04fr); min-height: min(760px, calc(100vh - 82px)); }
.cc-vs-section__inner { width: min(1200px, 100%); margin: 0 auto; }
.cc-vs-hero__copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(58px, 8vw, 128px) clamp(28px, 6vw, 96px); }
.cc-vs-hero__media { min-height: 560px; overflow: hidden; background: #b6a998; }
.cc-vs-hero__media img { display: block; width: 100%; height: 100%; min-height: 100%; object-fit: cover; object-position: center; }
.cc-vs-hero h1, .cc-vs-hero .cc-eyebrow { color: #fff !important; }
.cc-vs-hero h1 { max-width: 820px; margin: 18px 0 20px; font-size: clamp(52px, 8vw, 104px); font-weight: 400; line-height: .92; letter-spacing: -.055em; }
.cc-vs-hero p { max-width: 560px; margin: 0; font-family: Arial, sans-serif; font-size: 15px; line-height: 1.7; color: rgba(245,242,236,.76); }
.cc-vs-section { padding: 100px 24px; background: var(--cc-paper); }
.cc-vs-section + .cc-vs-section { padding-top: 0; }
.cc-vs-section__heading { margin: 0 0 38px; font-size: clamp(38px, 5vw, 64px); font-weight: 400; line-height: 1; letter-spacing: -.045em; }
.cc-vs-section__heading small { display: block; margin-bottom: 18px; font-family: Arial, sans-serif; font-size: 10px; letter-spacing: .22em; text-transform: uppercase; }
.cc-vs-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 54px 26px; }
.cc-vs-pair { margin: 0; }
.cc-vs-pair__images { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.cc-vs-pair__images a { display: block; overflow: hidden; background: #d7d1c8; }
.cc-vs-pair__images img { display: block; width: 100%; aspect-ratio: 1.45; object-fit: cover; transition: transform .45s; }
.cc-vs-pair__images img.cc-media-fade { opacity: 0; transition: opacity 560ms cubic-bezier(.22, .61, .36, 1), transform .45s; }
.cc-vs-pair__images img.cc-media-fade.is-loaded { opacity: 1; }
/* Always reveal the staging gallery after page readiness, even if a browser
 * defers an individual lazy-image load event. The image request itself still
 * remains lazy and uses the normal fade when available. */
.cc-loaded .cc-vs-pair__images img.cc-media-fade { opacity: 1; }
.cc-vs-pair__images img.cc-media-fade {
  /* Comparison images are functional content, so never leave one side hidden
   * while its partner has already rendered. */
  opacity: 1;
  transform: none;
}
.cc-vs-pair__images a:hover img { transform: scale(1.035); }
.cc-vs-pair figcaption { display: flex; justify-content: space-between; gap: 20px; margin-top: 14px; font-family: Arial, sans-serif; font-size: 10px; letter-spacing: .18em; text-transform: uppercase; }
.cc-vs-pair figcaption span:last-child { color: var(--cc-muted); }
.cc-vs-note { max-width: 680px; margin: 0 0 42px; font-family: Arial, sans-serif; font-size: 14px; line-height: 1.7; color: var(--cc-muted); }
.cc-vs-footer { padding: 95px 24px; background: linear-gradient(180deg, rgba(23,23,23,.68) 0%, rgba(23,23,23,.88) 100%), linear-gradient(90deg, rgba(23,23,23,.92) 0%, rgba(23,23,23,.68) 100%), var(--cc-vs-footer-bg, none) center / cover no-repeat, var(--cc-ink); color: #f5f2ec; text-align: center; isolation: isolate; overflow: hidden; }
.cc-vs-footer h2 { margin: 0 auto 20px; max-width: 700px; font-size: clamp(40px, 6vw, 76px); font-weight: 400; line-height: .96; letter-spacing: -.05em; }
.cc-vs-footer p { margin: 0 auto 32px; font-family: Arial, sans-serif; color: rgba(245,242,236,.7); }
.cc-vs-footer .cc-button { color: #f5f2ec; }
@media (max-width: 700px) { .cc-vs-footer { background-position: 64% center; } }
.cc-vs-suite { padding: 116px 24px 122px; background: #e4e0d8; border-top: 1px solid var(--cc-line); border-bottom: 1px solid var(--cc-line); }
.cc-vs-suite__inner { width: min(1280px, 100%); margin: 0 auto; }
.cc-vs-suite__header { display: grid; grid-template-columns: minmax(220px, .6fr) minmax(0, 1.4fr); gap: 40px; align-items: center; margin-bottom: 52px; }
.cc-vs-suite__header h2 { max-width: 760px; margin: 18px 0 0; color: var(--cc-ink); font-family: var(--cc-serif); font-size: clamp(42px, 5vw, 76px); font-weight: 400; line-height: .94; letter-spacing: -.06em; }
.cc-vs-suite__header p { max-width: 560px; margin: 0; padding-left: 28px; border-left: 1px solid var(--cc-line); color: var(--cc-muted); font-family: var(--cc-sans); font-size: 15px; line-height: 1.7; }
.cc-vs-suite__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--cc-line); border-bottom: 1px solid var(--cc-line); }
.cc-vs-suite__card { min-width: 0; padding: 24px 24px 32px 0; color: var(--cc-ink); }
.cc-vs-suite__card + .cc-vs-suite__card { padding-left: 24px; border-left: 1px solid var(--cc-line); }
.cc-vs-suite__card figure { margin: 0 0 25px; overflow: hidden; background: var(--cc-paper); }
.cc-vs-suite__card img { display: block; width: 100%; height: clamp(220px, 23vw, 330px); object-fit: cover; transition: transform .6s ease, filter .3s ease; }
.cc-vs-suite__card:hover img { transform: scale(1.025); filter: brightness(.94); }
.cc-vs-suite__number { display: block; margin-bottom: 18px; color: var(--cc-warm); font-family: var(--cc-sans); font-size: 10px; letter-spacing: .18em; }
.cc-vs-suite__card .cc-eyebrow { display: block; margin-bottom: 12px; color: var(--cc-warm); }
.cc-vs-suite__card h3 { margin: 0 0 16px; color: var(--cc-ink); font-family: var(--cc-serif); font-size: clamp(24px, 2vw, 32px); font-weight: 400; line-height: 1.1; letter-spacing: -.03em; }
.cc-vs-suite__card p { max-width: 340px; min-height: 80px; margin: 0; color: var(--cc-muted); font-family: var(--cc-sans); font-size: 13px; line-height: 1.65; }
.cc-vs-suite__footer { display: grid; grid-template-columns: minmax(220px, .6fr) minmax(0, 1.4fr); gap: 40px; align-items: start; padding-top: 42px; }
.cc-vs-suite__footer-side { min-width: 0; }
.cc-vs-suite__footer-side > .cc-eyebrow { display: block; }
.cc-vs-suite__footer-copy p { max-width: 720px; margin: 0; color: var(--cc-ink); font-family: var(--cc-serif); font-size: clamp(26px, 3vw, 42px); line-height: 1; letter-spacing: -.04em; }
.cc-vs-suite__footer-copy { padding-top: 36px; }
.cc-vs-suite__footer-copy .cc-text-link { display: inline-flex; align-self: end; justify-self: start; margin-top: 10px; }
.cc-vs-suite__footer-media { margin: 20px 0 0; overflow: hidden; background: #d7d1c8; }
.cc-vs-suite__footer-media img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; transition: transform .7s cubic-bezier(.2,.7,.2,1); }
.cc-vs-suite__footer-media:hover img { transform: scale(1.025); }
@media (max-width: 700px) {
  .cc-vs-hero__inner { grid-template-columns: 1fr; min-height: 0; }
  .cc-vs-hero__copy { padding: 78px 18px 64px; }
  .cc-vs-hero__media { min-height: 0; aspect-ratio: 16 / 9; }
  .cc-vs-section { padding: 70px 18px; }
  .cc-vs-grid { grid-template-columns: 1fr; gap: 38px; }
  .cc-vs-pair figcaption { font-size: 9px; }
  .cc-vs-suite { padding: 76px 18px 82px; }
  .cc-vs-suite__header { grid-template-columns: 1fr; gap: 24px; margin-bottom: 36px; }
  .cc-vs-suite__grid { grid-template-columns: 1fr; border-bottom: 0; }
  .cc-vs-suite__card,
  .cc-vs-suite__card + .cc-vs-suite__card { padding: 24px 0 32px; border-left: 0; border-bottom: 1px solid var(--cc-line); }
  .cc-vs-suite__card img { height: 58vw; min-height: 220px; max-height: 360px; }
  .cc-vs-suite__footer { grid-template-columns: 1fr; gap: 24px; padding-top: 36px; }
  .cc-vs-suite__footer-copy { padding-top: 0; }
  .cc-vs-suite__footer-media { margin-top: 18px; }
  .cc-vs-suite__footer-media img { aspect-ratio: 16 / 10; }
}

/* Shared staging controls: CookieYes consent UI + ADA launcher */
body.cc-staging-controls-active .cky-btn-revisit-wrapper { bottom: 50px !important; background: var(--cc-ink) !important; border: 1px solid var(--cc-warm) !important; border-radius: 50% !important; box-shadow: 0 0 0 4px var(--cc-warm), 0 6px 18px rgba(23,23,23,.2) !important; }
body.cc-staging-controls-active .cky-btn-revisit { background: transparent !important; border: 0 !important; border-radius: 50% !important; }
body.cc-staging-controls-active .cky-btn-revisit img { filter: brightness(0) invert(1); }
body.cc-staging-controls-active .cky-btn-revisit-wrapper:hover { background: var(--cc-warm) !important; transform: scale(1.04); }
@media (hover: hover) and (min-width: 701px) {
  /* Match the consent control's discoverability with a quiet ADA launcher
   * label that expands toward the available space on the left. */
  body.cc-staging-controls-active .cya11y-menu-btn::before {
    content: 'ADA Settings';
    position: absolute;
    top: 50%;
    right: calc(100% + 14px);
    padding: 10px 13px;
    color: #f5f2ec;
    background: var(--cc-ink);
    border: 1px solid var(--cc-warm);
    box-shadow: 0 6px 18px rgba(23,23,23,.18);
    font-family: var(--cc-sans);
    font-size: 10px;
    font-weight: 400;
    letter-spacing: .16em;
    line-height: 1;
    text-transform: uppercase;
    white-space: nowrap;
    pointer-events: none;
    opacity: 0;
    transform: translate(8px, -50%);
    transition: opacity .22s ease, transform .22s ease;
  }
  body.cc-staging-controls-active .cya11y-menu-btn:hover::before,
  body.cc-staging-controls-active .cya11y-menu-btn:focus-visible::before {
    opacity: 1;
    transform: translate(0, -50%);
  }
}
body.cc-staging-controls-active .cky-consent-container,
body.cc-staging-controls-active .cky-modal { font-family: Arial, sans-serif !important; }
body.cc-staging-controls-active .cky-consent-container .cky-consent-bar,
body.cc-staging-controls-active .cky-modal { background: var(--cc-paper) !important; border: 1px solid var(--cc-line) !important; border-radius: 0 !important; box-shadow: 0 18px 50px rgba(23,23,23,.2) !important; color: var(--cc-ink) !important; }
body.cc-staging-controls-active .cky-title,
body.cc-staging-controls-active .cky-preference-title { font-family: Georgia, 'Times New Roman', serif !important; color: var(--cc-ink) !important; font-weight: 400 !important; letter-spacing: -.02em; }
body.cc-staging-controls-active .cky-notice-des,
body.cc-staging-controls-active .cky-preference-content-wrapper,
body.cc-staging-controls-active .cky-accordion-header-des { color: var(--cc-muted) !important; line-height: 1.6 !important; }
body.cc-staging-controls-active .cky-btn { border-radius: 0 !important; border: 1px solid var(--cc-ink) !important; box-shadow: none !important; font-family: Arial, sans-serif !important; font-size: 10px !important; font-weight: 500 !important; letter-spacing: .16em !important; text-transform: uppercase !important; }
body.cc-staging-controls-active .cky-btn:hover { background: var(--cc-warm) !important; border-color: var(--cc-warm) !important; color: var(--cc-ink) !important; }
body.cc-staging-controls-active .cky-btn-reject,
body.cc-staging-controls-active .cky-btn-preferences { background: transparent !important; color: var(--cc-ink) !important; }
body.cc-staging-controls-active .cky-btn-accept { background: var(--cc-ink) !important; color: #fff !important; }
body.cc-staging-controls-active .cky-btn-accept:hover { background: var(--cc-warm) !important; color: var(--cc-ink) !important; }
body.cc-staging-controls-active .cky-accordion-btn { color: var(--cc-ink) !important; }
body.cc-staging-controls-active .cky-preference-center { background: var(--cc-paper) !important; }
body.cc-staging-controls-active .cky-preference-center button:focus-visible,
body.cc-staging-controls-active .cky-btn:focus-visible,
body.cc-staging-controls-active .cky-btn-revisit:focus-visible { outline: 2px solid var(--cc-warm) !important; outline-offset: 3px !important; }
@media (max-width: 520px) {
  body.cc-staging-controls-active .cky-modal { width: calc(100% - 28px) !important; max-height: calc(100vh - 28px) !important; }
  body.cc-staging-controls-active .cky-btn { min-height: 42px !important; }
}

body.cc-portfolio-active { background: var(--cc-paper); color: var(--cc-ink); }
body.cc-portfolio-active #main { overflow: hidden; }
body.cc-portfolio-active .cc-portfolio { font-family: Georgia, 'Times New Roman', serif; }
body.cc-portfolio-active .cc-portfolio * { box-sizing: border-box; }
body.cc-portfolio-active .cc-portfolio a { color: inherit; }
body.cc-portfolio-active #logo img { display: none; }
body.cc-portfolio-active #logo a { display: inline-flex; align-items: center; gap: 10px; }
body.cc-portfolio-active #logo a::before { content: ''; width: 32px; height: 32px; display: block; background: url('https://calabasascreative.com/wp-content/uploads/2026/07/cc-home/calabasas-creative-logo-2024.svg') center / contain no-repeat; }
body.cc-portfolio-active #logo a::after { content: 'CALABASAS CREATIVE'; color: #262626; font-family: Arial, sans-serif; font-size: 13px; font-weight: 500; letter-spacing: .2em; white-space: nowrap; }
.cc-portfolio-hero { padding: 88px 24px 0; background: var(--cc-paper); color: var(--cc-ink); }
.cc-portfolio-hero .cc-portfolio__inner { display: grid; grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr); gap: 0; align-items: stretch; width: min(1240px, 100%); min-height: 620px; margin: 0 auto; }
.cc-portfolio-hero__copy { display: flex; flex-direction: column; justify-content: center; padding: 76px clamp(28px, 6vw, 96px) 76px 0; }
.cc-portfolio-hero__media { min-height: 620px; background: #d7d0c5; }
.cc-portfolio-hero__media img { display: block; width: 100%; height: 100%; min-height: 620px; object-fit: cover; }
.cc-portfolio-hero h1 { max-width: 620px; margin: 16px 0 25px; color: var(--cc-ink) !important; font-size: clamp(29px, 4vw, 60px); font-weight: 400; line-height: .96; letter-spacing: -.045em; }
.cc-portfolio-hero p { max-width: 500px; margin: 0; font-family: Arial, sans-serif; font-size: 16px; line-height: 1.65; color: var(--cc-muted); }
.cc-portfolio-nav { display: flex; flex-wrap: wrap; gap: 10px 24px; padding: 26px 24px; border-top: 1px solid var(--cc-line); border-bottom: 1px solid var(--cc-line); background: var(--cc-paper); font-family: Arial, sans-serif; font-size: 10px; letter-spacing: .18em; text-transform: uppercase; }
.cc-portfolio-nav__inner { width: min(1200px, 100%); margin: 0 auto; }
.cc-portfolio-nav a { margin-right: 24px; text-decoration: none; }
.cc-portfolio-nav a:hover { color: var(--cc-warm); }
.cc-portfolio-intro { padding: 125px 24px; background: var(--cc-ink); color: #f5f2ec; }
.cc-portfolio-intro__inner { display: grid; grid-template-columns: .42fr 1fr; gap: 60px; width: min(1080px, 100%); margin: 0 auto; }
.cc-portfolio-intro .cc-eyebrow { color: var(--cc-warm); }
.cc-portfolio-intro__side { min-width: 0; }
.cc-portfolio-intro__media { margin: 20px 0 0; overflow: hidden; background: #2a2926; }
.cc-portfolio-intro__media img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.cc-portfolio-intro p { max-width: 780px; margin: 0; font-size: clamp(30px, 4vw, 57px); line-height: 1.03; letter-spacing: -.04em; }
.cc-portfolio-approach-media { padding: 24px 24px 0; background: var(--cc-paper); }
.cc-portfolio-approach-media__inner { width: min(1240px, 100%); margin: 0 auto; }
.cc-portfolio-approach-media figure { margin: 0; overflow: hidden; background: #d8d1c7; }
.cc-portfolio-approach-media img { display: block; width: 100%; aspect-ratio: 2.05 / 1; object-fit: cover; }
.cc-portfolio-approach-media figcaption { padding: 14px 2px 2px; color: var(--cc-muted); font-family: Arial, sans-serif; font-size: 10px; letter-spacing: .16em; text-transform: uppercase; }
.cc-portfolio-section { padding: 112px 24px 0; background: var(--cc-paper); }
.cc-portfolio-section:last-of-type { padding-bottom: 126px; }
/* The portfolio CTA is also a section, so :last-of-type does not select the
 * final project. Give the final supplied property its intended closing space. */
.cc-portfolio-section#topanga { padding-bottom: 126px; }
.cc-portfolio-section h2 { margin: 0 0 10px; font-size: clamp(42px, 5vw, 76px); font-weight: 400; line-height: .92; letter-spacing: -.06em; }
.cc-portfolio-section__meta { margin: 0 0 38px; font-family: Arial, sans-serif; font-size: 11px; letter-spacing: .17em; text-transform: uppercase; color: var(--cc-muted); }
.cc-portfolio-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
.cc-portfolio-card { display: block; overflow: hidden; padding: 16px 16px 18px; text-decoration: none; background: #d8d1c7; }
.cc-portfolio-card img { display: block; width: 100%; aspect-ratio: 1.24; object-fit: cover; transition: transform .5s; }
.cc-portfolio-card:hover img { transform: scale(1.035); }
.cc-portfolio-card--wide { grid-column: span 2; }
.cc-portfolio-card--wide img { aspect-ratio: 1.7; }
.cc-portfolio-card figcaption { padding: 14px 2px 0; font-family: Arial, sans-serif; font-size: 10px; letter-spacing: .14em; text-transform: uppercase; }
.cc-portfolio-cta { padding: 115px 24px 130px; background: #e4e0d8; color: var(--cc-ink); text-align: center; }
.cc-portfolio-cta h2 { max-width: 780px; margin: 0 auto 28px; font-size: clamp(42px, 6vw, 80px); font-weight: 400; line-height: .95; letter-spacing: -.05em; }
.cc-portfolio-cta .cc-button { background: var(--cc-ink); color: #fff; }
@media (max-width: 700px) {
  .cc-portfolio-hero { padding: 0 18px; }
  .cc-portfolio-hero .cc-portfolio__inner { display: flex; flex-direction: column; gap: 0; min-height: 0; }
  .cc-portfolio-hero__copy { padding: 75px 0 62px; }
  .cc-portfolio-hero__media, .cc-portfolio-hero__media img { min-height: 380px; height: 64vw; }
  .cc-portfolio-intro { padding: 75px 18px; }
  .cc-portfolio-intro__inner { display: block; }
  .cc-portfolio-intro__media { margin-top: 18px; }
  .cc-portfolio-intro__media img { aspect-ratio: 16 / 10; }
  .cc-portfolio-intro p { margin-top: 30px; font-size: clamp(30px, 8vw, 46px); }
  .cc-portfolio-approach-media { padding: 18px 18px 0; }
  .cc-portfolio-approach-media img { aspect-ratio: 1.35 / 1; }
  .cc-portfolio-section { padding: 70px 18px 0; }
  .cc-portfolio-nav { padding: 18px; }
  .cc-portfolio-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }
  .cc-portfolio-card { padding: 10px 10px 12px; }
  .cc-portfolio-card--wide { grid-column: span 2; }
}

/* Keep the supplied app mark at left and center the wordmark in the header. */
body.cc-staging-controls-active #logo img { display: none !important; }
body.cc-staging-controls-active #masthead::before {
  content: 'CALABASAS CREATIVE';
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 2;
  color: #f5f2ec;
  font-family: var(--cc-sans) !important;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: .2em;
  line-height: 1;
  white-space: nowrap;
  transform: translate(-50%, -50%);
  pointer-events: none;
}
body.cc-staging-controls-active #masthead .header-social-icons {
  display: none !important;
}
body.cc-staging-controls-active #masthead::after {
  content: 'SOUTHERN CALIFORNIA & BEYOND';
  position: absolute;
  top: 50%;
  right: 24px;
  z-index: 2;
  color: #f5f2ec;
  font-family: var(--cc-sans) !important;
  font-size: 11px;
  font-weight: 400;
  letter-spacing: .18em;
  line-height: 1;
  text-align: right;
  white-space: nowrap;
  transform: translateY(-50%);
  pointer-events: none;
}
body.cc-staging-controls-active #logo a {
  display: block;
  width: 32px;
  height: 32px;
}
body.cc-staging-controls-active #logo a::before {
  content: '';
  display: block;
  width: 32px;
  height: 32px;
  background-image: url('https://calabasascreative.com/wp-content/uploads/2026/07/cc-home/icon.png') !important;
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}
body.cc-staging-controls-active #logo a::after {
  content: none !important;
}

/* Primary navigation dropdowns: quiet paper-and-ink panels with a warm
 * accent, sized for the editorial header rather than the theme defaults. */
body.cc-staging-controls-active #wide-nav .nav,
body.cc-staging-controls-active #wide-nav .nav > li {
  overflow: visible;
}
body.cc-staging-controls-active #wide-nav .nav > li {
  position: relative;
}
body.cc-staging-controls-active #wide-nav .nav > li.menu-item-has-children > .nav-top-link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}
body.cc-staging-controls-active #wide-nav .nav > li.menu-item-has-children > .nav-top-link::after {
  content: '⌄';
  color: var(--cc-warm);
  font-size: 11px;
  line-height: 1;
  transform: translateY(-1px);
}
body.cc-staging-controls-active #wide-nav .nav > li > .sub-menu {
  position: absolute;
  top: calc(100% + 1px);
  left: 50%;
  z-index: 20;
  display: block;
  width: max-content;
  min-width: 218px;
  max-width: 270px;
  margin: 0;
  padding: 12px 0;
  background: var(--cc-ink);
  border: 1px solid rgba(199, 170, 130, .55);
  box-shadow: 0 18px 42px rgba(23, 23, 23, .18);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translate(-50%, 10px);
  transition: opacity 240ms ease, transform 240ms ease, visibility 240ms ease;
}
body.cc-staging-controls-active #wide-nav .nav > li:hover > .sub-menu,
body.cc-staging-controls-active #wide-nav .nav > li:focus-within > .sub-menu,
body.cc-staging-controls-active #wide-nav .nav > li.cc-nav-open > .sub-menu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translate(-50%, 0);
}
body.cc-staging-controls-active #wide-nav .sub-menu li {
  display: block;
  width: 100%;
  margin: 0 !important;
  padding: 0;
}
body.cc-staging-controls-active #wide-nav .sub-menu li a.nav-top-link {
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 38px;
  padding: 10px 18px;
  color: #f5f2ec !important;
  font-family: var(--cc-sans) !important;
  font-size: 9px !important;
  font-weight: 500;
  letter-spacing: .14em;
  line-height: 1.35;
  white-space: normal;
  text-transform: uppercase;
}
body.cc-staging-controls-active #wide-nav .sub-menu li a.nav-top-link:hover,
body.cc-staging-controls-active #wide-nav .sub-menu li.active > a.nav-top-link,
body.cc-staging-controls-active #wide-nav .sub-menu li.current-menu-item > a.nav-top-link {
  color: var(--cc-warm) !important;
  background: rgba(199, 170, 130, .14);
}

/* Header entrance choreography: the nav follows the mark, while the centered
 * wordmark drops in and the regional line arrives from the right. */
html.cc-loading body.cc-staging-controls-active #wide-nav .nav > li {
  opacity: 0;
  transform: translateY(9px);
}
html.cc-loaded body.cc-staging-controls-active #wide-nav .nav > li {
  animation: cc-nav-item-in 640ms cubic-bezier(.22, .61, .36, 1) both;
}
html.cc-loaded body.cc-staging-controls-active #wide-nav .nav > li:nth-child(1) { animation-delay: 80ms; }
html.cc-loaded body.cc-staging-controls-active #wide-nav .nav > li:nth-child(2) { animation-delay: 145ms; }
html.cc-loaded body.cc-staging-controls-active #wide-nav .nav > li:nth-child(3) { animation-delay: 210ms; }
html.cc-loaded body.cc-staging-controls-active #wide-nav .nav > li:nth-child(4) { animation-delay: 275ms; }
html.cc-loaded body.cc-staging-controls-active #wide-nav .nav > li:nth-child(5) { animation-delay: 340ms; }
html.cc-loaded body.cc-staging-controls-active #wide-nav .nav > li:nth-child(6) { animation-delay: 405ms; }
html.cc-loaded body.cc-staging-controls-active #wide-nav .nav > li:nth-child(7) { animation-delay: 470ms; }
html.cc-loading body.cc-staging-controls-active #logo a::before,
html.cc-loading body.cc-staging-controls-active #masthead::before,
html.cc-loading body.cc-staging-controls-active #masthead::after {
  opacity: 0;
}
html.cc-loaded body.cc-staging-controls-active #logo a::before {
  animation: cc-header-logo-in 1600ms cubic-bezier(.16, 1, .3, 1) 70ms both;
  transform-origin: 50% 50%;
}
html.cc-loaded body.cc-staging-controls-active #masthead::before {
  animation: cc-header-wordmark-drop 900ms cubic-bezier(.22, .61, .36, 1) 280ms both;
}
html.cc-loaded body.cc-staging-controls-active #masthead::after {
  animation: cc-header-tagline-slide 900ms cubic-bezier(.22, .61, .36, 1) 430ms both;
}
@keyframes cc-nav-item-in {
  from { opacity: 0; transform: translateY(9px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes cc-header-logo-in {
  from { opacity: 0; transform: rotate(-180deg) scale(.72); }
  68% { opacity: 1; transform: rotate(8deg) scale(1.03); }
  to { opacity: 1; transform: rotate(0deg) scale(1); }
}
@keyframes cc-header-wordmark-drop {
  from { opacity: 0; transform: translate(-50%, -78%); }
  to { opacity: 1; transform: translate(-50%, -50%); }
}
@keyframes cc-header-tagline-slide {
  from { opacity: 0; transform: translate(24px, -50%); }
  to { opacity: 1; transform: translate(0, -50%); }
}

/* The mobile drawer uses the same nested menu data, but keeps the submenu
 * open and readable within the drawer instead of floating over the page. */
body.cc-staging-controls-active .off-canvas .nav li.menu-item-has-children > .sub-menu {
  display: block;
  position: static;
  min-width: 0;
  max-width: none;
  padding: 0 0 8px 14px;
  background: transparent;
  border: 0;
  box-shadow: none;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: none;
}
body.cc-staging-controls-active .off-canvas .nav li.menu-item-has-children > .sub-menu a.nav-top-link {
  min-height: 34px;
  color: var(--cc-ink) !important;
  font-size: 10px !important;
}

@media (prefers-reduced-motion: reduce) {
  .cc-button::after { opacity: 0 !important; transition: none !important; transform: none !important; }
  html.cc-loading body.cc-staging-controls-active #wide-nav .nav > li,
  html.cc-loading body.cc-staging-controls-active #logo a::before,
  html.cc-loading body.cc-staging-controls-active #masthead::before,
  html.cc-loading body.cc-staging-controls-active #masthead::after {
    opacity: 1;
    transform: none;
  }
  html.cc-loaded body.cc-staging-controls-active #wide-nav .nav > li,
  html.cc-loaded body.cc-staging-controls-active #logo a::before,
  html.cc-loaded body.cc-staging-controls-active #masthead::before,
  html.cc-loaded body.cc-staging-controls-active #masthead::after {
    animation: none !important;
  }
}

@media (max-width: 560px) {
  body.cc-staging-controls-active #masthead::before { font-size: 10px; letter-spacing: .14em; }
  body.cc-staging-controls-active #masthead::after { right: 18px; font-size: 7px; letter-spacing: .08em; }
}

/* Shared page system for the new service, studio, contact, schedule, and insight routes. */
body.cc-staging-controls-active .cc-editorial-page { margin: 0; background: var(--cc-paper); color: var(--cc-ink); font-family: var(--cc-serif); }
body.cc-staging-controls-active .cc-editorial-page * { box-sizing: border-box; }
body.cc-staging-controls-active .cc-editorial-page a { color: inherit; }
body.cc-staging-controls-active .cc-legal-page { margin: 0; background: var(--cc-paper); color: var(--cc-ink); font-family: var(--cc-serif); }
body.cc-staging-controls-active .cc-legal-page * { box-sizing: border-box; }
body.cc-staging-controls-active .cc-legal-page a { color: var(--cc-ink); text-decoration: underline; text-decoration-color: var(--cc-warm); text-underline-offset: 3px; }
.cc-legal-hero { padding: 100px 24px 76px; background: var(--cc-ink); color: #f5f2ec; }
.cc-legal-hero__inner, .cc-legal-content { width: min(1040px, 100%); margin: 0 auto; }
.cc-legal-hero .cc-eyebrow { color: var(--cc-warm); }
.cc-legal-hero h1 { margin: 18px 0 0; color: #f5f2ec !important; font-size: clamp(54px, 7vw, 96px); font-weight: 400; line-height: .95; letter-spacing: -.06em; }
.cc-legal-hero p { max-width: 680px; margin: 25px 0 0; color: rgba(245,242,236,.72); font-family: var(--cc-sans); font-size: 12px; letter-spacing: .08em; line-height: 1.6; text-transform: uppercase; }
.cc-legal-content { padding: 80px 24px 120px; }
.cc-legal-content h2 { margin: 42px 0 12px; font-size: clamp(28px, 3vw, 42px); font-weight: 400; line-height: 1; letter-spacing: -.04em; }
.cc-legal-content p, .cc-legal-content li { max-width: 760px; color: var(--cc-muted); font-family: var(--cc-sans); font-size: 15px; line-height: 1.75; }
.cc-legal-content ul { max-width: 760px; padding-left: 22px; color: var(--cc-muted); font-family: var(--cc-sans); font-size: 15px; line-height: 1.75; }
@media (max-width: 800px) {
  .cc-legal-hero { padding: 68px 18px 54px; }
  .cc-legal-content { padding: 58px 18px 82px; }
}
.cc-editorial-hero { padding: 88px 24px 0; background: var(--cc-paper); }
.cc-editorial-hero__inner { display: grid; grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr); align-items: stretch; width: min(1240px, 100%); min-height: 620px; margin: 0 auto; }
.cc-editorial-hero__copy { display: flex; flex-direction: column; justify-content: center; padding: 76px clamp(28px, 6vw, 96px) 76px 0; }
.cc-editorial-hero h1 { max-width: 620px; margin: 16px 0 25px; color: var(--cc-ink) !important; font-size: clamp(58px, 8vw, 120px); font-weight: 400; line-height: .88; letter-spacing: -.065em; }
.cc-editorial-page--photography .cc-editorial-hero h1 { max-width: 100%; font-size: clamp(29px, 4vw, 60px); line-height: .96; letter-spacing: -.045em; }
.cc-editorial-hero p { max-width: 500px; margin: 0; color: var(--cc-muted); font-family: var(--cc-sans); font-size: 16px; line-height: 1.65; }
.cc-editorial-hero .cc-button { align-self: flex-start; margin-top: 34px; background: var(--cc-ink); color: #fff; }
.cc-editorial-hero .cc-button:hover { background: var(--cc-warm); color: var(--cc-ink); }
.cc-editorial-hero__media { min-height: 620px; background: #d7d0c5; }
.cc-editorial-hero__media img { display: block; width: 100%; height: 100%; min-height: 620px; object-fit: cover; }
.cc-editorial-intro { padding: 125px 24px; background: var(--cc-ink); color: #f5f2ec; }
.cc-editorial-intro__inner { display: grid; grid-template-columns: .42fr 1fr; gap: 60px; width: min(1080px, 100%); margin: 0 auto; }
.cc-editorial-intro .cc-eyebrow { color: var(--cc-warm); }
.cc-editorial-page--insights .cc-editorial-intro__inner > .cc-eyebrow::after {
  content: '';
  display: block;
  width: 100%;
  height: clamp(180px, 18vw, 280px);
  margin-top: 24px;
  background: url('https://calabasascreative.com/wp-content/uploads/2026/07/cc-home/6029-fairview-pl-28.jpg?ver=2026.08.04.6') center center / cover no-repeat;
}
@media (min-width: 761px) {
  .cc-editorial-page--insights .cc-editorial-intro__inner > p {
    margin-top: 40px;
  }
}
.cc-editorial-page--contact .cc-editorial-intro__inner > .cc-eyebrow::after {
  content: '';
  display: block;
  width: 100%;
  height: clamp(180px, 18vw, 280px);
  margin-top: 24px;
  background: url('https://calabasascreative.com/wp-content/uploads/2026/07/cc-home/1394-doral-circle.png?ver=2026.08.04.6') center center / cover no-repeat;
}
.cc-editorial-page--studio .cc-editorial-intro__inner > .cc-eyebrow::after {
  content: '';
  display: block;
  width: 100%;
  height: clamp(180px, 18vw, 280px);
  margin-top: 24px;
  background: url('https://calabasascreative.com/wp-content/uploads/2026/07/cc-home/editorialdesign2.png?ver=2026.08.04.6') center center / cover no-repeat;
}
@media (min-width: 761px) {
  body.cc-staging-controls-active .cc-editorial-page--studio .cc-editorial-intro__inner > p {
    margin-top: 40px !important;
  }
}
.cc-editorial-page--services .cc-editorial-intro__inner > .cc-eyebrow::after {
  content: '';
  display: block;
  width: 100%;
  height: clamp(180px, 18vw, 280px);
  margin-top: 24px;
  background: url('https://calabasascreative.com/wp-content/uploads/2026/07/cc-home/pat-kitchen-view.png?ver=2026.08.04.6') center center / cover no-repeat;
}
@media (min-width: 761px) {
  /* Align the services statement with the image edge below its label. */
  .cc-editorial-page--services .cc-editorial-intro__inner > p {
    margin-top: 40px;
  }
}
.cc-editorial-intro p,
.cc-portfolio-intro p {
  max-width: 780px;
  margin: 0;
  font-family: var(--cc-serif) !important;
  font-size: clamp(30px, 4vw, 57px);
  line-height: 1.03;
  letter-spacing: -.04em;
}
/* Property Videos carries a longer editorial statement. Give it a calmer
 * reading measure without changing the concise statements on other pages. */
.cc-editorial-page--property-videos .cc-editorial-intro p {
  max-width: 820px;
  font-size: clamp(28px, 3.2vw, 48px);
  line-height: 1.16;
}
@media (min-width: 761px) {
  /* The services image is rendered below the eyebrow in the left grid cell;
   * start the accompanying property-video copy at that same image edge. */
  .cc-editorial-page--property-videos .cc-editorial-intro__inner > p {
    margin-top: 38px;
  }
}
/* The About statement is intentionally long; use a calmer half-scale reading size. */
.cc-editorial-page--about .cc-editorial-intro p {
  max-width: 780px;
  font-size: clamp(15px, 1.7vw, 24px);
  line-height: 1.35;
}
body.cc-staging-controls-active .cc-editorial-page--photography .cc-editorial-intro p {
  max-width: 780px;
  font-size: clamp(15px, 2vw, 29px) !important;
  line-height: 1.3 !important;
}
.cc-editorial-cards { padding: 110px 24px 125px; background: var(--cc-paper); }
.cc-editorial-cards__inner { display: grid; grid-template-columns: repeat(3, 1fr); width: min(1080px, 100%); margin: 0 auto; border-top: 1px solid var(--cc-line); }
.cc-editorial-card { min-height: 260px; padding: 25px 28px 30px 0; border-right: 1px solid var(--cc-line); }
.cc-editorial-card:is(a) { display: block; color: inherit; text-decoration: none; transition: background .25s, transform .25s; }
.cc-editorial-card:is(a):hover { background: rgba(184, 151, 104, .08); transform: translateY(-2px); }
.cc-editorial-card:is(a):focus-visible { outline: 2px solid var(--cc-warm); outline-offset: -2px; }
.cc-editorial-card:not(:first-child) { padding-left: 28px; }
.cc-editorial-card:last-child { border-right: 0; }
.cc-editorial-card__number { display: block; margin-bottom: 68px; color: var(--cc-warm); font-family: var(--cc-sans); font-size: 10px; letter-spacing: .16em; }
.cc-editorial-card h3 { margin: 0 0 13px; font-size: 28px; font-weight: 400; line-height: 1; }
.cc-editorial-card p { max-width: 250px; margin: 0; color: var(--cc-muted); font-family: var(--cc-sans); font-size: 13px; line-height: 1.6; }
.cc-editorial-page--process .cc-editorial-cards__inner { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.cc-editorial-page--process .cc-editorial-card { min-height: 300px; }
.cc-editorial-page--process .cc-editorial-card p { max-width: 280px; }
@media (min-width: 801px) {
  .cc-editorial-page--content-creation .cc-editorial-cards__inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .cc-editorial-page--content-creation .cc-editorial-card {
    min-height: 280px;
    padding: 30px 40px 36px;
  }
  .cc-editorial-page--content-creation .cc-editorial-card:nth-child(2n) {
    border-right: 0;
  }
  .cc-editorial-page--content-creation .cc-editorial-card:nth-child(2n + 1) {
    border-right: 1px solid var(--cc-line);
  }
  .cc-editorial-page--content-creation .cc-editorial-card:nth-child(n + 3) {
    border-top: 1px solid var(--cc-line);
  }
  .cc-editorial-page--content-creation .cc-editorial-card p {
    max-width: 420px;
  }
}

.cc-parent-links { padding: 112px 24px 122px; color: #f5f2ec; background: var(--cc-ink); border-top: 1px solid rgba(245,242,236,.14); border-bottom: 1px solid rgba(245,242,236,.14); }
.cc-parent-links__inner { width: min(1280px, 100%); margin: 0 auto; }
.cc-parent-links__header { display: grid; grid-template-columns: minmax(220px, .6fr) minmax(0, 1.4fr); gap: 40px; align-items: end; margin-bottom: 52px; }
.cc-parent-links__header .cc-eyebrow { color: var(--cc-warm); }
.cc-parent-links__header h2 { max-width: 780px; margin: 18px 0 20px; color: #f5f2ec; font-family: var(--cc-serif); font-size: clamp(42px, 5vw, 76px); font-weight: 400; line-height: .94; letter-spacing: -.06em; }
.cc-parent-links--about .cc-parent-links__header h2 { max-width: 520px; font-size: clamp(21px, 2.5vw, 38px); line-height: 1; letter-spacing: -.045em; }
.cc-parent-links--photography .cc-parent-links__header h2 { max-width: 520px; font-size: clamp(21px, 2.5vw, 38px); line-height: 1; letter-spacing: -.045em; }
@media (min-width: 761px) {
  .cc-parent-links--photography .cc-parent-links__header { align-items: start; }
  .cc-parent-links--photography .cc-parent-links__header > div:last-child { padding-top: 4px; }
  .cc-parent-links--journal .cc-parent-links__header { align-items: start; }
  .cc-parent-links--journal .cc-parent-links__header > div:last-child { padding-top: 10px; }
  .cc-parent-links--journal .cc-parent-links__header h2 { margin-top: 0; }
}
.cc-parent-links--about .cc-parent-links__header > div:last-child { padding-bottom: 34px; }
@media (min-width: 761px) {
  .cc-parent-links--about .cc-parent-links__header { align-items: start; }
  .cc-parent-links--about .cc-parent-links__header > div:last-child {
    padding-top: 4px;
    padding-bottom: 0;
  }
}
.cc-parent-links__header p { max-width: 560px; margin: 0; color: rgba(245,242,236,.68); font-family: var(--cc-sans); font-size: 15px; line-height: 1.7; }
.cc-parent-links__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid rgba(245,242,236,.2); border-bottom: 1px solid rgba(245,242,236,.2); }
.cc-parent-link-card { position: relative; display: block; min-width: 0; min-height: 255px; padding: 24px 24px 34px 0; color: #f5f2ec; text-decoration: none; transition: background .3s ease, transform .3s ease; }
.cc-parent-link-card + .cc-parent-link-card { padding-left: 24px; border-left: 1px solid rgba(245,242,236,.2); }
@media (min-width: 801px) {
  .cc-parent-links--journal .cc-parent-link-card:first-child { padding-left: 24px; }
  .cc-parent-links--journal .cc-parent-link-card__media { height: clamp(240px, 25vw, 480px); aspect-ratio: auto; }
}
.cc-parent-link-card:hover { color: #f5f2ec; background: rgba(184,151,104,.12); transform: translateY(-3px); }
.cc-parent-link-card:focus-visible { outline: 2px solid var(--cc-warm); outline-offset: -2px; }
.cc-parent-link-card__number { display: block; margin-bottom: 58px; color: var(--cc-warm); font-family: var(--cc-sans); font-size: 10px; letter-spacing: .18em; }
.cc-parent-link-card h3 { max-width: 290px; margin: 0 0 14px; color: #f5f2ec; font-family: var(--cc-serif); font-size: clamp(28px, 3vw, 42px); font-weight: 400; line-height: .98; letter-spacing: -.04em; }
.cc-parent-link-card p { max-width: 315px; margin: 0; color: rgba(245,242,236,.68); font-family: var(--cc-sans); font-size: 13px; line-height: 1.65; }
.cc-parent-link-card__arrow { position: absolute; right: 24px; bottom: 28px; color: var(--cc-warm); font-family: var(--cc-serif); font-size: 24px; line-height: 1; transition: transform .25s ease; }
.cc-parent-link-card:hover .cc-parent-link-card__arrow { transform: translateX(5px); }
.cc-parent-links__header-media { min-width: 0; }
.cc-parent-links__header-media figure { margin: 22px 0 0; overflow: hidden; aspect-ratio: 4 / 3; background: #2b2927; }
.cc-parent-links__header-media img,
.cc-parent-link-card__media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .7s cubic-bezier(.22,.61,.36,1), opacity .45s ease; }
.cc-parent-links__header-media img { opacity: .92; }
.cc-parent-links__header-media figure:hover img,
.cc-parent-link-card:hover .cc-parent-link-card__media img { transform: scale(1.035); }
.cc-parent-link-card--image { min-height: 0; padding-top: 24px; }
.cc-parent-link-card--image + .cc-parent-link-card--image { padding-left: 24px; }
.cc-parent-link-card__media { display: block; width: 100%; margin: 0 0 24px; overflow: hidden; aspect-ratio: 16 / 9; background: #2b2927; }
.cc-parent-link-card--image .cc-parent-link-card__number { margin-bottom: 24px; }
.cc-parent-link-card--image h3 { max-width: none; }
.cc-parent-links--photography .cc-parent-links__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cc-parent-links--journal .cc-parent-links__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cc-parent-links--journal .cc-parent-link-card__media { aspect-ratio: 16 / 9; }
.cc-parent-links--video .cc-parent-links__header {
  grid-template-columns: minmax(280px, .62fr) minmax(0, 1.38fr);
  align-items: start;
}
.cc-parent-links--video .cc-parent-links__header-media figure {
  margin-top: 22px;
}
.cc-parent-links--video .cc-parent-links__header-media img { opacity: .92; }
.cc-parent-links--video .cc-parent-links__header-media figure:hover img,
.cc-parent-links--video .cc-parent-link-card:hover .cc-parent-link-card__media img { transform: scale(1.035); }
.cc-parent-links--video .cc-parent-links__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cc-parent-links--video .cc-parent-link-card__media > .cc-linked-image-sheen,
.cc-parent-links--video .cc-parent-link-card__media > .cc-linked-image-sheen > .cc-image-picture { display: block; width: 100%; height: 100%; }
@media (min-width: 821px) {
  .cc-parent-links--video .cc-parent-link-card--image { padding: 24px 24px 34px; }
  .cc-parent-links--video .cc-parent-link-card + .cc-parent-link-card { border-left: 0; box-shadow: inset 1px 0 rgba(245,242,236,.2); }
}
.cc-parent-links--video .cc-parent-link-card__number { margin-bottom: 24px; }
.cc-parent-links--video .cc-parent-link-card h3 { max-width: none; }
.cc-editorial-cta { position: relative; isolation: isolate; overflow: hidden; padding: 115px 24px 130px; background: #e4e0d8; text-align: center; }
.cc-editorial-cta::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 0;
  background: var(--cc-cta-sketch, none) right 9% center / auto 90% no-repeat;
  mix-blend-mode: multiply;
  opacity: .16;
  pointer-events: none;
}
.cc-editorial-cta > * { position: relative; z-index: 1; }
.cc-editorial-page--photography .cc-editorial-cta { --cc-cta-sketch: url('https://calabasascreative.com/wp-content/uploads/2026/07/cc-home/cta-sketches/cta-sketch-01.webp'); }
.cc-editorial-page--video .cc-editorial-cta { --cc-cta-sketch: url('https://calabasascreative.com/wp-content/uploads/2026/07/cc-home/cta-sketches/cta-sketch-02.webp'); }
.cc-editorial-page--design .cc-editorial-cta { --cc-cta-sketch: url('https://calabasascreative.com/wp-content/uploads/2026/07/cc-home/cta-sketches/cta-sketch-03.webp'); }
.cc-editorial-page--content-creation .cc-editorial-cta { --cc-cta-sketch: url('https://calabasascreative.com/wp-content/uploads/2026/07/cc-home/cta-sketches/cta-sketch-04.webp'); }
.cc-editorial-page--property-videos .cc-editorial-cta { --cc-cta-sketch: url('https://calabasascreative.com/wp-content/uploads/2026/07/cc-home/cta-sketches/cta-sketch-05.webp'); }
.cc-editorial-page--drone .cc-editorial-cta { --cc-cta-sketch: url('https://calabasascreative.com/wp-content/uploads/2026/07/cc-home/cta-sketches/cta-sketch-06.webp'); }
.cc-editorial-page--floor-plans .cc-editorial-cta { --cc-cta-sketch: url('https://calabasascreative.com/wp-content/uploads/2026/07/cc-home/cta-sketches/cta-sketch-07.webp'); }
.cc-editorial-page--about .cc-editorial-cta { --cc-cta-sketch: url('https://calabasascreative.com/wp-content/uploads/2026/07/cc-home/cta-sketches/cta-sketch-08.webp'); }
.cc-editorial-page--our-approach .cc-editorial-cta { --cc-cta-sketch: url('https://calabasascreative.com/wp-content/uploads/2026/07/cc-home/cta-sketches/cta-sketch-09.webp'); }
.cc-editorial-page--process .cc-editorial-cta { --cc-cta-sketch: url('https://calabasascreative.com/wp-content/uploads/2026/07/cc-home/cta-sketches/cta-sketch-10.webp'); }
.cc-editorial-page--testimonials .cc-editorial-cta { --cc-cta-sketch: url('https://calabasascreative.com/wp-content/uploads/2026/07/cc-home/cta-sketches/cta-sketch-11.webp'); }
.cc-editorial-page--contact .cc-editorial-cta { --cc-cta-sketch: url('https://calabasascreative.com/wp-content/uploads/2026/07/cc-home/cta-sketches/cta-sketch-12.webp'); }
.cc-editorial-page--schedule .cc-editorial-cta { --cc-cta-sketch: url('https://calabasascreative.com/wp-content/uploads/2026/07/cc-home/cta-sketches/cta-sketch-13.webp'); }
.cc-editorial-page--journal .cc-editorial-cta { --cc-cta-sketch: url('https://calabasascreative.com/wp-content/uploads/2026/07/cc-home/cta-sketches/cta-sketch-14.webp'); }
.cc-editorial-page--guides-resources .cc-editorial-cta { --cc-cta-sketch: url('https://calabasascreative.com/wp-content/uploads/2026/07/cc-home/cta-sketches/cta-sketch-15.webp'); }
.cc-editorial-page--market-insights .cc-editorial-cta { --cc-cta-sketch: url('https://calabasascreative.com/wp-content/uploads/2026/07/cc-home/cta-sketches/cta-sketch-16.webp'); }
.cc-editorial-cta h2 { max-width: 760px; margin: 16px auto 22px; font-size: clamp(23px, 3.5vw, 46px); font-weight: 400; line-height: 1; letter-spacing: -.045em; }
.cc-editorial-cta p { margin: 0; color: var(--cc-muted); font-family: var(--cc-sans); font-size: 15px; }
.cc-editorial-cta__actions { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px; margin-top: 35px; }
.cc-editorial-cta .cc-button { background: var(--cc-ink); color: #fff; }
.cc-editorial-cta .cc-button--light { background: transparent; color: var(--cc-ink); }
.cc-editorial-cta .cc-button:hover { background: var(--cc-warm); color: var(--cc-ink); }
@media (max-width: 800px) {
  .cc-editorial-hero { padding: 40px 18px 0; }
  .cc-editorial-hero__inner { display: flex; flex-direction: column; min-height: 0; }
  .cc-editorial-hero__copy { padding: 65px 0 55px; }
  .cc-editorial-hero__media, .cc-editorial-hero__media img { min-height: 430px; height: 58vw; }
  .cc-editorial-intro { padding: 75px 18px; }
  .cc-editorial-intro__inner { display: block; }
  .cc-editorial-intro p { margin-top: 30px; font-size: clamp(30px, 7vw, 48px); }
  .cc-editorial-cards { padding: 75px 18px; }
  .cc-editorial-cards__inner { grid-template-columns: 1fr; }
  .cc-editorial-card, .cc-editorial-card:not(:first-child) { min-height: 0; padding: 28px 0; border-right: 0; border-bottom: 1px solid var(--cc-line); }
  .cc-editorial-card:last-child { border-bottom: 0; }
  .cc-editorial-card__number { margin-bottom: 30px; }
  .cc-parent-links { padding: 78px 18px 86px; }
  .cc-parent-links__header { grid-template-columns: 1fr; gap: 24px; }
  .cc-parent-links--about .cc-parent-links__header > div:last-child { padding-bottom: 0; }
  .cc-parent-links__grid { grid-template-columns: 1fr; border-bottom: 0; }
  .cc-parent-link-card, .cc-parent-link-card + .cc-parent-link-card { min-height: 0; padding: 24px 0 30px; border-left: 0; border-bottom: 1px solid rgba(245,242,236,.2); }
  .cc-parent-link-card:last-child { border-bottom: 0; }
  .cc-parent-link-card__number { margin-bottom: 30px; }
  .cc-parent-links__header-media figure { margin-top: 20px; aspect-ratio: 16 / 10; }
  .cc-parent-link-card--image,
  .cc-parent-link-card--image + .cc-parent-link-card--image { padding: 24px 0 30px; }
  .cc-parent-link-card__media { margin-bottom: 22px; }
  .cc-parent-links--photography .cc-parent-links__grid { grid-template-columns: 1fr; }
  .cc-parent-links--video .cc-parent-links__header-media figure { margin-top: 20px; aspect-ratio: 16 / 10; }
  .cc-parent-links--video .cc-parent-links__grid { grid-template-columns: 1fr; }
  .cc-editorial-cta { padding: 78px 18px 90px; }
  .cc-editorial-cta::before { background-position: 80% 82%; background-size: auto 55%; opacity: .12; }
}

@media (min-width: 801px) and (max-width: 1100px) {
  .cc-editorial-page--process .cc-editorial-cards__inner { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cc-editorial-page--process .cc-editorial-card:nth-child(2n) { border-right: 0; }
  .cc-editorial-page--process .cc-editorial-card:nth-child(2n + 1) { border-right: 1px solid var(--cc-line); }
  .cc-editorial-page--process .cc-editorial-card:nth-child(n + 3) { border-top: 1px solid var(--cc-line); }
}

/* Page-specific editorial buildout: supporting imagery, statements, and inquiry flow. */
.cc-journal-print { padding: 116px 24px 122px; background: #e4e0d8; border-top: 1px solid var(--cc-line); border-bottom: 1px solid var(--cc-line); }
.cc-journal-print__inner { width: min(1280px, 100%); margin: 0 auto; }
.cc-journal-print__header { display: grid; grid-template-columns: minmax(220px, .6fr) minmax(0, 1.4fr); gap: 40px; align-items: end; margin-bottom: 52px; }
.cc-journal-print__header h2 { max-width: 760px; margin: 18px 0 0; color: var(--cc-ink); font-family: var(--cc-serif); font-size: clamp(42px, 5vw, 76px); font-weight: 400; line-height: .94; letter-spacing: -.06em; }
.cc-journal-print__header p { max-width: 520px; margin: 0; color: var(--cc-muted); font-family: var(--cc-sans); font-size: 15px; line-height: 1.7; }
@media (min-width: 801px) {
  .cc-journal-print__header { grid-template-rows: auto auto; column-gap: 40px; row-gap: 18px; align-items: center; }
  .cc-journal-print__header > div { display: contents; }
  .cc-journal-print__header .cc-eyebrow { grid-column: 1; grid-row: 1; }
  .cc-journal-print__header h2 { grid-column: 1; grid-row: 2; margin: 0; font-size: clamp(26px, 3vw, 46px); line-height: 1; letter-spacing: -.04em; }
  .cc-journal-print__header p { grid-column: 2; grid-row: 2; align-self: center; }
}
.cc-journal-print__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; border-top: 1px solid var(--cc-line); border-bottom: 1px solid var(--cc-line); }
.cc-journal-print__card { min-width: 0; padding: 24px 24px 32px 0; }
.cc-journal-print__card + .cc-journal-print__card { padding-left: 24px; border-left: 1px solid var(--cc-line); }
.cc-journal-print__card figure { margin: 0 0 24px; overflow: hidden; background: var(--cc-paper); }
.cc-journal-print__card img { display: block; width: 100%; height: clamp(240px, 25vw, 360px); object-fit: cover; transition: transform .6s ease, filter .3s ease; }
.cc-journal-print__card:hover img { transform: scale(1.025); filter: brightness(.93); }
.cc-journal-print__number { display: block; margin-bottom: 24px; color: var(--cc-warm); font-family: var(--cc-sans); font-size: 10px; letter-spacing: .18em; }
.cc-journal-print__card h3 { margin: 0 0 14px; color: var(--cc-ink); font-family: var(--cc-serif); font-size: clamp(28px, 3vw, 42px); font-weight: 400; line-height: .98; letter-spacing: -.04em; }
.cc-journal-print__card p { max-width: 340px; min-height: 74px; margin: 0; color: var(--cc-muted); font-family: var(--cc-sans); font-size: 13px; line-height: 1.65; }
.cc-journal-print__link { display: inline-flex; align-items: center; gap: 10px; margin-top: 25px; color: var(--cc-ink); font-family: var(--cc-sans); font-size: 10px; letter-spacing: .16em; text-decoration: none; text-transform: uppercase; }
.cc-journal-print__link span { color: var(--cc-warm); font-size: 16px; transition: transform .25s ease; }
.cc-journal-print__link:hover span { transform: translateX(4px); }
.cc-journal-print__footer { display: grid; grid-template-columns: minmax(220px, .6fr) minmax(0, 1.4fr); gap: 40px; margin-top: 52px; padding-top: 68px; padding-bottom: 68px; border-top: 1px solid var(--cc-line); align-items: start; }
.cc-journal-print__footer-side { min-width: 0; }
.cc-journal-print__footer-media { margin: 20px 0 22px; overflow: hidden; background: #d7d1c8; }
.cc-journal-print__footer-media img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; transition: transform .6s ease, filter .3s ease; }
.cc-journal-print__footer-media:hover img { transform: scale(1.025); filter: brightness(.93); }
.cc-journal-print__footer-copy { align-self: start; padding-top: 52px; }
.cc-journal-print__footer-copy p { max-width: 720px; margin: 0; color: var(--cc-ink); font-family: 'Libre Baskerville', Baskerville, 'Baskerville Old Face', 'Iowan Old Style', 'Times New Roman', serif !important; font-size: clamp(26px, 3vw, 42px); font-weight: 400; line-height: 1; letter-spacing: -.04em; }
.cc-journal-print__footer .cc-text-link { align-self: end; justify-self: start; }
.cc-process-flow { padding: 116px 24px 122px; background: #e4e0d8; border-top: 1px solid var(--cc-line); border-bottom: 1px solid var(--cc-line); }
.cc-process-flow__inner { width: min(1280px, 100%); margin: 0 auto; }
.cc-process-flow__header { display: grid; grid-template-columns: minmax(220px, .6fr) minmax(0, 1.4fr); grid-template-rows: auto auto; column-gap: 40px; row-gap: 18px; align-items: center; margin-bottom: 52px; }
.cc-process-flow__header > div { display: contents; }
.cc-process-flow__header .cc-eyebrow { grid-column: 1; grid-row: 1; }
.cc-process-flow__header h2 { grid-column: 1; grid-row: 2; max-width: 760px; margin: 0; color: var(--cc-ink); font-family: var(--cc-serif); font-size: clamp(26px, 3vw, 46px); font-weight: 400; line-height: 1; letter-spacing: -.04em; }
.cc-process-flow__header p { grid-column: 2; grid-row: 2; align-self: center; max-width: 520px; margin: 0; color: var(--cc-muted); font-family: var(--cc-sans); font-size: 15px; line-height: 1.7; }
.cc-process-flow__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--cc-line); border-bottom: 1px solid var(--cc-line); }
.cc-process-flow__card { min-width: 0; min-height: 300px; padding: 24px 24px 32px 0; }
.cc-process-flow__card + .cc-process-flow__card { padding-left: 24px; border-left: 1px solid var(--cc-line); }
.cc-process-flow__media { width: 100%; height: clamp(220px, 15vw, 300px); margin: 0 0 22px; overflow: hidden; background: #d7d1c8; }
.cc-process-flow__media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .6s cubic-bezier(.22,.61,.36,1); }
.cc-process-flow__grid img.cc-media-fade { opacity: 1; transform: none; transition-delay: 0ms !important; }
.cc-process-flow__card:hover .cc-process-flow__media img { transform: scale(1.035); }
.cc-process-flow__number { display: block; margin-bottom: 28px; color: var(--cc-warm); font-family: var(--cc-sans); font-size: 10px; letter-spacing: .18em; }
.cc-process-flow__card .cc-eyebrow { display: block; margin-bottom: 14px; color: var(--cc-warm); }
.cc-process-flow__card h3 { margin: 0 0 14px; color: var(--cc-ink); font-family: var(--cc-serif); font-size: clamp(28px, 2.5vw, 40px); font-weight: 400; line-height: .98; letter-spacing: -.04em; }
.cc-process-flow__card p { max-width: 280px; margin: 0; color: var(--cc-muted); font-family: var(--cc-sans); font-size: 13px; line-height: 1.65; }
.cc-process-flow__footer { display: grid; grid-template-columns: minmax(220px, .6fr) minmax(0, 1.4fr); gap: 40px; align-items: start; margin-top: 28px; padding-top: 88px; border-top: 1px solid var(--cc-line); }
.cc-process-flow__footer-side { min-width: 0; }
.cc-process-flow__footer-copy { align-self: start; padding-top: 45.6px; }
.cc-process-flow__footer p { max-width: 720px; margin: 0; color: var(--cc-ink); font-family: var(--cc-serif); font-size: clamp(26px, 3vw, 42px); line-height: 1; letter-spacing: -.04em; }
.cc-process-flow__footer .cc-text-link { display: flex; width: max-content; align-items: center; align-self: end; justify-self: start; margin-top: 10px; }
.cc-process-flow__result-media { margin: 20px 0 0; overflow: hidden; background: #d7d1c8; }
.cc-process-flow__result-media img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; transition: transform .7s cubic-bezier(.22,.61,.36,1), filter .3s ease; }
.cc-process-flow__result-media:hover img { transform: scale(1.02); filter: brightness(.95); }
.cc-about-studio { padding: 116px 24px 122px; background: var(--cc-paper); border-top: 1px solid var(--cc-line); border-bottom: 1px solid var(--cc-line); }
.cc-about-studio__inner { width: min(1280px, 100%); margin: 0 auto; }
.cc-about-studio__header { display: grid; grid-template-columns: minmax(220px, .6fr) minmax(0, 1.4fr); gap: 40px; align-items: end; margin-bottom: 52px; }
.cc-about-studio__header h2 { max-width: 760px; margin: 18px 0 0; color: var(--cc-ink); font-family: var(--cc-serif); font-size: clamp(21px, 2.5vw, 38px); font-weight: 400; line-height: 1; letter-spacing: -.045em; }
.cc-about-studio__header p { max-width: 560px; margin: 0; color: var(--cc-muted); font-family: var(--cc-sans); font-size: 15px; line-height: 1.7; }
.cc-about-studio__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--cc-line); border-bottom: 1px solid var(--cc-line); }
.cc-about-studio__card { min-width: 0; min-height: 300px; padding: 24px 24px 32px 0; }
.cc-about-studio__card + .cc-about-studio__card { padding-left: 24px; border-left: 1px solid var(--cc-line); }
.cc-about-studio__number { display: block; margin-bottom: 56px; color: var(--cc-warm); font-family: var(--cc-sans); font-size: 10px; letter-spacing: .18em; }
.cc-about-studio__card .cc-eyebrow { display: block; margin-bottom: 14px; color: var(--cc-warm); }
.cc-about-studio__card h3 { margin: 0 0 14px; color: var(--cc-ink); font-family: var(--cc-serif); font-size: clamp(28px, 2.5vw, 40px); font-weight: 400; line-height: .98; letter-spacing: -.04em; }
.cc-about-studio__card p { max-width: 300px; margin: 0; color: var(--cc-muted); font-family: var(--cc-sans); font-size: 13px; line-height: 1.65; }
.cc-about-studio__footer { display: grid; grid-template-columns: minmax(220px, .6fr) minmax(0, 1.4fr); gap: 40px; align-items: start; padding-top: 42px; }
.cc-about-studio__footer-side { min-width: 0; }
.cc-about-studio__footer-side > .cc-eyebrow { display: block; }
.cc-about-studio__footer-copy { padding-top: 36px; }
.cc-about-studio__footer-copy p { max-width: 720px; margin: 0; color: var(--cc-ink); font-family: var(--cc-serif); font-size: clamp(26px, 3vw, 42px); line-height: 1; letter-spacing: -.04em; }
.cc-about-studio__footer-copy .cc-text-link { display: inline-flex; align-self: end; justify-self: start; margin-top: 10px; }
.cc-about-studio__footer-media { margin: 20px 0 0; overflow: hidden; background: #d7d1c8; }
.cc-about-studio__footer-media img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; transition: transform .7s cubic-bezier(.22,.61,.36,1); }
.cc-about-studio__footer-media:hover img { transform: scale(1.02); }
.cc-founder { padding: 116px 24px 122px; background: #e4e0d8; border-bottom: 1px solid var(--cc-line); }
.cc-founder__inner { display: grid; grid-template-columns: minmax(0, .84fr) minmax(0, 1.16fr); gap: clamp(42px, 7vw, 120px); align-items: start; width: min(1180px, 100%); margin: 0 auto; }
.cc-founder__media { margin: 0; overflow: hidden; background: #d7d1c8; }
.cc-founder__media img { display: block; width: 100%; aspect-ratio: 2 / 3; object-fit: cover; object-position: center top; transition: transform .7s cubic-bezier(.22,.61,.36,1); }
.cc-founder__media:hover img { transform: scale(1.02); }
.cc-founder__copy { padding-top: 8px; }
.cc-founder__copy .cc-eyebrow { display: block; margin-bottom: 22px; color: var(--cc-warm); }
.cc-founder__copy h2 { margin: 0 0 38px; color: var(--cc-ink); font-family: var(--cc-serif); font-size: clamp(50px, 5.2vw, 82px); font-weight: 400; line-height: .92; letter-spacing: -.06em; }
.cc-founder__copy p { max-width: 670px; margin: 0 0 20px; color: var(--cc-muted); font-family: var(--cc-sans); font-size: 15px; line-height: 1.75; }
.cc-founder__copy p:last-child { margin-bottom: 0; }
.cc-design-suite { padding: 116px 24px 122px; background: #e4e0d8; border-top: 1px solid var(--cc-line); border-bottom: 1px solid var(--cc-line); }
.cc-design-suite__inner { width: min(1280px, 100%); margin: 0 auto; }
.cc-design-suite__header { display: grid; grid-template-columns: minmax(220px, .6fr) minmax(0, 1.4fr); gap: 40px; align-items: end; margin-bottom: 52px; }
.cc-design-suite__header h2 { max-width: 760px; margin: 18px 0 0; color: var(--cc-ink); font-family: var(--cc-serif); font-size: clamp(42px, 5vw, 76px); font-weight: 400; line-height: .94; letter-spacing: -.06em; }
.cc-design-suite__header p { max-width: 560px; margin: 0; color: var(--cc-muted); font-family: var(--cc-sans); font-size: 15px; line-height: 1.7; }
.cc-design-suite__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--cc-line); border-bottom: 1px solid var(--cc-line); }
.cc-design-suite__card { min-width: 0; padding: 24px 24px 32px 0; color: var(--cc-ink); }
.cc-design-suite__card + .cc-design-suite__card { padding-left: 24px; border-left: 1px solid var(--cc-line); }
.cc-design-suite__card figure { margin: 0 0 25px; overflow: hidden; background: var(--cc-paper); }
.cc-design-suite__card img { display: block; width: 100%; height: clamp(220px, 23vw, 330px); object-fit: cover; transition: transform .6s ease, filter .3s ease; }
.cc-design-suite__card:hover img { transform: scale(1.025); filter: brightness(.94); }
.cc-design-suite__number { display: block; margin-bottom: 18px; color: var(--cc-warm); font-family: var(--cc-sans); font-size: 10px; letter-spacing: .18em; }
.cc-design-suite__card .cc-eyebrow { display: block; margin-bottom: 12px; color: var(--cc-warm); }
.cc-design-suite__card h3 { margin: 0 0 14px; color: var(--cc-ink); font-family: var(--cc-serif); font-size: clamp(28px, 3vw, 42px); font-weight: 400; line-height: .98; letter-spacing: -.04em; }
.cc-design-suite__card p { max-width: 340px; min-height: 80px; margin: 0; color: var(--cc-muted); font-family: var(--cc-sans); font-size: 13px; line-height: 1.65; }
.cc-design-suite__link { display: inline-flex; align-items: center; gap: 10px; margin-top: 25px; color: var(--cc-ink); font-family: var(--cc-sans); font-size: 10px; letter-spacing: .16em; text-decoration: none; text-transform: uppercase; }
.cc-design-suite__link span { color: var(--cc-warm); font-size: 16px; transition: transform .25s ease; }
.cc-design-suite__link:hover span { transform: translateX(4px); }
.cc-design-suite__footer { display: grid; grid-template-columns: minmax(220px, .6fr) minmax(0, 1.4fr); gap: 40px; padding-top: 42px; }
.cc-design-suite__footer p { max-width: 720px; margin: 0; color: var(--cc-ink); font-family: var(--cc-serif); font-size: clamp(26px, 3vw, 42px); line-height: 1; letter-spacing: -.04em; }
.cc-design-suite__footer .cc-text-link { align-self: end; justify-self: start; margin-top: 10px; }
.cc-floor-plan-suite { padding: 116px 24px 122px; background: var(--cc-paper); border-top: 1px solid var(--cc-line); border-bottom: 1px solid var(--cc-line); }
.cc-floor-plan-suite__inner { width: min(1280px, 100%); margin: 0 auto; }
.cc-floor-plan-suite__header { margin-bottom: 52px; }
.cc-floor-plan-suite__header > .cc-eyebrow { display: block; margin-bottom: 18px; }
.cc-floor-plan-suite__header-row { display: grid; grid-template-columns: minmax(220px, .6fr) minmax(0, 1.4fr); gap: 40px; align-items: center; }
.cc-floor-plan-suite__header h2 { max-width: 760px; margin: 0; color: var(--cc-ink); font-family: var(--cc-serif); font-size: clamp(29px, 3.5vw, 53px); font-weight: 400; line-height: 1; letter-spacing: -.045em; }
.cc-floor-plan-suite__header p { max-width: 560px; margin: 0; color: var(--cc-muted); font-family: var(--cc-sans); font-size: 15px; line-height: 1.7; }
.cc-floor-plan-suite__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--cc-line); border-bottom: 1px solid var(--cc-line); }
.cc-floor-plan-suite__card { min-width: 0; padding: 24px 24px 32px 0; color: var(--cc-ink); }
.cc-floor-plan-suite__card + .cc-floor-plan-suite__card { padding-left: 24px; border-left: 1px solid var(--cc-line); }
.cc-floor-plan-suite__card figure { margin: 0 0 25px; overflow: hidden; background: var(--cc-paper); }
.cc-floor-plan-suite__card img { display: block; width: 100%; height: clamp(220px, 23vw, 330px); object-fit: cover; transition: transform .6s ease, filter .3s ease; }
.cc-floor-plan-suite__card:hover img { transform: scale(1.025); filter: brightness(.94); }
.cc-floor-plan-suite__number { display: block; margin-bottom: 18px; color: var(--cc-warm); font-family: var(--cc-sans); font-size: 10px; letter-spacing: .18em; }
.cc-floor-plan-suite__card .cc-eyebrow { display: block; margin-bottom: 12px; color: var(--cc-warm); }
.cc-floor-plan-suite__card h3 { margin: 0 0 14px; color: var(--cc-ink); font-family: var(--cc-serif); font-size: clamp(28px, 3vw, 42px); font-weight: 400; line-height: .98; letter-spacing: -.04em; }
.cc-floor-plan-suite__card p { max-width: 340px; min-height: 80px; margin: 0; color: var(--cc-muted); font-family: var(--cc-sans); font-size: 13px; line-height: 1.65; }
.cc-floor-plan-suite__link { display: inline-flex; align-items: center; gap: 10px; margin-top: 25px; color: var(--cc-ink); font-family: var(--cc-sans); font-size: 10px; letter-spacing: .16em; text-decoration: none; text-transform: uppercase; }
.cc-floor-plan-suite__link span { color: var(--cc-warm); font-size: 16px; transition: transform .25s ease; }
.cc-floor-plan-suite__link:hover span { transform: translateX(4px); }
.cc-floor-plan-suite__footer { display: grid; grid-template-columns: minmax(220px, .6fr) minmax(0, 1.4fr); gap: 40px; padding-top: 42px; }
.cc-floor-plan-suite__footer p { max-width: 720px; margin: 0; color: var(--cc-ink); font-family: var(--cc-serif); font-size: clamp(26px, 3vw, 42px); line-height: 1; letter-spacing: -.04em; }
.cc-floor-plan-suite__footer .cc-text-link { display: inline-flex; align-self: end; justify-self: start; margin-top: 10px; }
.cc-floor-plan-suite__footer-media { margin: 64px 0 0; overflow: hidden; border-top: 1px solid var(--cc-line); background: var(--cc-paper); }
.cc-floor-plan-suite__footer-media img { display: block; width: 100%; height: clamp(300px, 46vw, 620px); object-fit: cover; object-position: center; transition: transform .8s ease; }
.cc-floor-plan-suite__footer-media:hover img { transform: scale(1.015); }
.cc-floor-plan-suite__examples { margin-top: 96px; padding-top: 64px; border-top: 1px solid var(--cc-line); }
.cc-floor-plan-suite__examples-header { margin-bottom: 38px; }
.cc-floor-plan-suite__examples-header > .cc-eyebrow { display: block; margin-bottom: 16px; }
.cc-floor-plan-suite__examples-header-row { display: grid; grid-template-columns: minmax(220px, .6fr) minmax(0, 1.4fr); gap: 40px; align-items: center; }
.cc-floor-plan-suite__examples-header h3 { max-width: 700px; margin: 0; color: var(--cc-ink); font-family: var(--cc-serif); font-size: clamp(34px, 4vw, 58px); font-weight: 400; line-height: .96; letter-spacing: -.055em; }
.cc-floor-plan-suite__examples-header p { max-width: 560px; margin: 0; color: var(--cc-muted); font-family: var(--cc-sans); font-size: 15px; line-height: 1.7; }
.cc-floor-plan-suite__examples-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.cc-floor-plan-suite__example { min-width: 0; margin: 0; border: 1px solid var(--cc-line); background: var(--cc-paper); }
.cc-floor-plan-suite__example-media { display: flex; align-items: center; justify-content: center; aspect-ratio: 4 / 3; overflow: hidden; background: #f7f6f2; }
.cc-floor-plan-suite__example-media img { display: block; width: 100%; height: 100%; object-fit: contain; transition: transform .7s ease; }
.cc-floor-plan-suite__example:hover .cc-floor-plan-suite__example-media img { transform: scale(1.02); }
.cc-floor-plan-suite__example figcaption { padding: 18px 20px 24px; border-top: 1px solid var(--cc-line); }
.cc-floor-plan-suite__example-number { display: block; margin-bottom: 14px; color: var(--cc-warm); font-family: var(--cc-sans); font-size: 10px; letter-spacing: .18em; }
.cc-floor-plan-suite__example .cc-eyebrow { display: block; margin-bottom: 11px; color: var(--cc-warm); }
.cc-floor-plan-suite__example h4 { margin: 0 0 12px; color: var(--cc-ink); font-family: var(--cc-serif); font-size: clamp(26px, 2.6vw, 36px); font-weight: 400; line-height: .98; letter-spacing: -.04em; }
.cc-floor-plan-suite__example p { max-width: 330px; margin: 0; color: var(--cc-muted); font-family: var(--cc-sans); font-size: 13px; line-height: 1.65; }
.cc-editorial-gallery { padding: 112px 24px 126px; background: var(--cc-paper); }
.cc-editorial-gallery__header { width: min(1280px, 100%); margin: 0 auto 48px; }
.cc-editorial-gallery__header h2 { max-width: 760px; margin: 18px 0 0; font-size: clamp(42px, 5vw, 76px); font-weight: 400; line-height: .94; letter-spacing: -.06em; }
.cc-editorial-page--journal .cc-editorial-gallery__header h2 { font-size: clamp(21px, 2.5vw, 38px); }
.cc-editorial-page--guides-resources .cc-editorial-gallery__header h2 { font-size: clamp(21px, 2.5vw, 38px); }
.cc-editorial-page--market-insights .cc-editorial-gallery__header h2 { font-size: clamp(21px, 2.5vw, 38px); }
.cc-editorial-page--content-creation .cc-editorial-gallery__header h2 { font-size: clamp(21px, 2.5vw, 38px); }
.cc-editorial-page--video .cc-editorial-gallery__header h2 { font-size: clamp(21px, 2.5vw, 38px); }
.cc-editorial-page--drone .cc-editorial-gallery__header h2,
.cc-editorial-page--floor-plans .cc-editorial-gallery__header h2,
.cc-editorial-page--about .cc-editorial-gallery__header h2,
.cc-editorial-page--our-approach .cc-editorial-gallery__header h2,
.cc-editorial-page--process .cc-editorial-gallery__header h2 {
  font-size: clamp(29px, 3.5vw, 53px);
  line-height: 1;
  letter-spacing: -.045em;
}
.cc-editorial-page--testimonials .cc-editorial-gallery__header h2 { font-size: clamp(29px, 3.5vw, 53px); line-height: 1; letter-spacing: -.045em; }
/* The About gallery uses the full available image frame, so its heading must
 * begin on that same frame edge rather than in a narrower centered measure. */
.cc-editorial-page--about .cc-editorial-gallery__header,
.cc-editorial-page--contact .cc-editorial-gallery__header {
  width: 100%;
  margin-left: 0;
  margin-right: 0;
}
@media (min-width: 1101px) {
  .cc-editorial-page--content-creation .cc-editorial-gallery__header h2 {
    max-width: none;
    white-space: nowrap;
    font-size: clamp(21px, 2.2vw, 34px);
  }
}
.cc-editorial-gallery__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; width: min(1280px, 100%); margin: 0 auto; }
.cc-editorial-gallery__item { display: flex; min-width: 0; margin: 0; flex-direction: column; }
.cc-editorial-gallery__item img { display: block; width: 100%; height: clamp(260px, 25vw, 360px); aspect-ratio: auto; object-fit: cover; }
.cc-editorial-gallery__item figcaption { margin-top: 13px; color: var(--cc-muted); font-family: var(--cc-sans); font-size: 10px; letter-spacing: .16em; text-transform: uppercase; }
.cc-editorial-video-showcase { padding: 112px 24px 126px; background: var(--cc-ink); color: #f5f2ec; }
.cc-editorial-video-showcase__inner { width: min(1280px, 100%); margin: 0 auto; }
.cc-editorial-video-showcase__header { width: min(760px, 100%); margin-bottom: 48px; }
.cc-editorial-video-showcase__header .cc-eyebrow { color: var(--cc-warm); }
.cc-editorial-video-showcase__header h2 { max-width: 760px; margin: 18px 0 20px; color: #f5f2ec; font-size: clamp(42px, 5vw, 76px); font-weight: 400; line-height: .94; letter-spacing: -.06em; }
.cc-editorial-video-showcase__header p { max-width: 620px; margin: 0; color: rgba(245,242,236,.7); font-family: var(--cc-sans); font-size: 15px; line-height: 1.7; }
.cc-editorial-video-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 42px 18px; }
.cc-editorial-video-card { min-width: 0; margin: 0; }
.cc-editorial-video-card__trigger { display: block; width: 100%; padding: 0; color: inherit; text-align: left; background: transparent; border: 0; border-radius: 0; cursor: inherit; }
.cc-editorial-video-card__frame { position: relative; display: block; overflow: hidden; aspect-ratio: 16 / 9; background: #242424; }
.cc-editorial-video-card__frame::after { position: absolute; inset: 0; content: ''; background: linear-gradient(180deg, transparent 52%, rgba(23,23,23,.52)); pointer-events: none; }
.cc-editorial-video-card__frame img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .55s cubic-bezier(.2,.7,.2,1), filter .35s ease; }
.cc-editorial-video-card__play { position: absolute; right: 18px; bottom: 18px; z-index: 1; display: inline-flex; align-items: center; gap: 18px; padding: 12px 14px 12px 16px; color: var(--cc-ink); background: var(--cc-warm); font-family: var(--cc-sans); font-size: 9px; letter-spacing: .16em; line-height: 1; text-transform: uppercase; opacity: 0; transform: translateY(7px); transition: opacity .25s ease, transform .25s ease, background .25s ease; }
.cc-editorial-video-card__play b { font-size: 15px; font-weight: 400; line-height: .6; }
.cc-editorial-video-card__trigger:hover .cc-editorial-video-card__frame img,
.cc-editorial-video-card__trigger:focus-visible .cc-editorial-video-card__frame img { filter: brightness(.82); transform: scale(1.035); }
.cc-editorial-video-card__trigger:hover .cc-editorial-video-card__play,
.cc-editorial-video-card__trigger:focus-visible .cc-editorial-video-card__play { opacity: 1; transform: translateY(0); }
.cc-editorial-video-card__trigger:focus-visible { outline: 1px solid var(--cc-warm); outline-offset: 7px; }
.cc-editorial-video-card__meta { display: flex; align-items: baseline; gap: 14px; margin-top: 15px; }
.cc-editorial-video-card__meta > span { color: var(--cc-warm); font-family: var(--cc-sans); font-size: 10px; letter-spacing: .16em; }
.cc-editorial-video-card__title { min-width: 0; color: #f5f2ec; font-family: var(--cc-serif); font-size: 22px; font-weight: 400; line-height: 1.05; }
.cc-video-modal[hidden] { display: none; }
.cc-video-modal { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; padding: 28px; }
.cc-video-modal__backdrop { position: absolute; inset: 0; background: rgba(23,23,23,.88); backdrop-filter: blur(7px); }
.cc-video-modal__dialog { position: relative; z-index: 1; display: flex; flex-direction: column; width: min(1180px, 100%); max-height: calc(100vh - 56px); overflow: auto; color: var(--cc-ink); background: var(--cc-paper); box-shadow: 0 24px 80px rgba(0,0,0,.28); }
.cc-video-modal__header { display: flex; align-items: flex-start; justify-content: space-between; gap: 28px; padding: 24px 28px 22px; }
.cc-video-modal__header .cc-eyebrow { color: var(--cc-muted); }
.cc-video-modal__header h2 { max-width: 820px; margin: 10px 0 6px; color: var(--cc-ink); font-family: var(--cc-serif); font-size: clamp(27px, 3vw, 46px); font-weight: 400; letter-spacing: -.035em; line-height: .98; }
.cc-video-modal__header p { margin: 0; color: var(--cc-muted); font-family: var(--cc-sans); font-size: 10px; letter-spacing: .16em; text-transform: uppercase; }
.cc-video-modal__close { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; width: 42px; height: 42px; padding: 0; color: var(--cc-ink); background: transparent; border: 1px solid var(--cc-line); border-radius: 0; font-family: var(--cc-sans); font-size: 29px; font-weight: 300; line-height: 1; cursor: inherit; transition: color .25s ease, background .25s ease, border-color .25s ease; }
.cc-video-modal__close:hover, .cc-video-modal__close:focus-visible { color: var(--cc-ink); background: var(--cc-warm); border-color: var(--cc-warm); outline: 0; }
.cc-video-modal__player { position: relative; aspect-ratio: 16 / 9; background: #090909; }
.cc-video-modal__player iframe { display: block; width: 100%; height: 100%; border: 0; }
.cc-video-modal__nav { position: absolute; top: 50%; display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 64px; padding: 0; color: var(--cc-paper); background: rgba(23,23,23,.68); border: 1px solid rgba(245,242,236,.4); border-radius: 0; font-family: var(--cc-serif); font-size: 30px; font-weight: 400; line-height: 1; opacity: 0; pointer-events: none; transform: translateY(-50%); transition: opacity .25s ease, background .25s ease, color .25s ease; cursor: inherit; }
.cc-video-modal__nav--prev { left: 18px; }
.cc-video-modal__nav--next { right: 18px; }
.cc-video-modal__dialog:hover .cc-video-modal__nav,
.cc-video-modal__nav:focus-visible { opacity: 1; pointer-events: auto; }
.cc-video-modal__nav:hover, .cc-video-modal__nav:focus-visible { color: var(--cc-ink); background: var(--cc-warm); border-color: var(--cc-warm); outline: 0; }
.cc-video-modal__footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 16px 28px 18px; color: var(--cc-muted); font-family: var(--cc-sans); font-size: 9px; letter-spacing: .16em; text-transform: uppercase; }
.cc-video-modal__footer a { color: var(--cc-ink); text-decoration: none; }
.cc-video-modal__footer a:hover, .cc-video-modal__footer a:focus-visible { color: var(--cc-warm); }
.cc-video-modal__footer a span { margin-left: 7px; color: var(--cc-warm); font-size: 14px; }
body.cc-video-modal-open { overflow: hidden; }
.cc-image-lightbox[hidden] { display: none; }
.cc-image-lightbox { position: fixed; inset: 0; z-index: 100001; display: flex; align-items: center; justify-content: center; padding: 28px; opacity: 0; pointer-events: none; transition: opacity .42s ease; }
.cc-image-lightbox.is-open { opacity: 1; pointer-events: auto; }
.cc-image-lightbox__backdrop { position: absolute; inset: 0; background: rgba(23,23,23,.88); backdrop-filter: blur(7px); opacity: 0; transition: opacity .48s ease; }
.cc-image-lightbox.is-open .cc-image-lightbox__backdrop { opacity: 1; }
.cc-image-lightbox__dialog { position: relative; z-index: 1; display: flex; flex-direction: column; width: min(1280px, 100%); max-height: calc(100vh - 56px); overflow: auto; color: var(--cc-ink); background: var(--cc-paper); box-shadow: 0 24px 80px rgba(0,0,0,.28); opacity: 0; transform: translateY(16px) scale(.985); transition: opacity .5s ease, transform .65s cubic-bezier(.22,.61,.36,1); }
.cc-image-lightbox.is-open .cc-image-lightbox__dialog { opacity: 1; transform: translateY(0) scale(1); }
.cc-image-lightbox__header { display: flex; align-items: flex-start; justify-content: space-between; gap: 28px; padding: 24px 28px 22px; }
.cc-image-lightbox__header .cc-eyebrow { color: var(--cc-muted); }
.cc-image-lightbox__header h2 { max-width: 900px; margin: 10px 0 0; color: var(--cc-ink); font-family: var(--cc-serif); font-size: clamp(27px, 3vw, 46px); font-weight: 400; letter-spacing: -.035em; line-height: .98; }
.cc-image-lightbox__close { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; width: 42px; height: 42px; padding: 0; color: var(--cc-ink); background: transparent; border: 1px solid var(--cc-line); border-radius: 0; font-family: var(--cc-sans); font-size: 29px; font-weight: 300; line-height: 1; cursor: inherit; transition: color .25s ease, background .25s ease, border-color .25s ease; }
.cc-image-lightbox__close:hover, .cc-image-lightbox__close:focus-visible { color: var(--cc-ink); background: var(--cc-warm); border-color: var(--cc-warm); outline: 0; }
.cc-image-lightbox__stage { display: flex; align-items: center; justify-content: center; min-height: 320px; max-height: calc(100vh - 200px); padding: 0 28px 28px; background: #090909; }
.cc-image-lightbox__stage img { display: block; max-width: 100%; max-height: calc(100vh - 240px); width: auto; height: auto; object-fit: contain; opacity: 0; transform: scale(.975); transition: opacity .62s ease, transform .8s cubic-bezier(.22,.61,.36,1); }
.cc-image-lightbox__stage img.is-loaded { opacity: 1; transform: scale(1); }
.cc-image-lightbox__footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 16px 28px 18px; color: var(--cc-muted); font-family: var(--cc-sans); font-size: 9px; letter-spacing: .16em; text-transform: uppercase; }
.cc-image-lightbox__footer span:first-child { max-width: 72%; }
body.cc-image-lightbox-open { overflow: hidden; }

@media (prefers-reduced-motion: reduce) {
  .cc-image-lightbox,
  .cc-image-lightbox__backdrop,
  .cc-image-lightbox__dialog,
  .cc-image-lightbox__stage img { transition: none; }
  .cc-image-lightbox__dialog,
  .cc-image-lightbox__stage img { transform: none; }
}
.cc-lightbox-trigger { cursor: zoom-in; transition: filter .25s ease; }
.cc-lightbox-trigger:not(.cc-editorial-gallery__item):hover { filter: brightness(.88); }
.cc-lightbox-trigger:focus-visible { outline: 1px solid var(--cc-warm); outline-offset: 7px; }
.cc-editorial-gallery__item.cc-lightbox-trigger { cursor: zoom-in; }
.cc-editorial-gallery__item.cc-lightbox-trigger:hover img { filter: brightness(.88); }
.cc-editorial-gallery__item.cc-lightbox-trigger:focus-visible { outline: 1px solid var(--cc-warm); outline-offset: 7px; }
.cc-vs-compare-modal[hidden] { display: none; }
.cc-vs-compare-modal { position: fixed; inset: 0; z-index: 100002; display: flex; align-items: center; justify-content: center; padding: 28px; }
.cc-vs-compare-modal__backdrop { position: absolute; inset: 0; background: rgba(23,23,23,.9); backdrop-filter: blur(8px); }
.cc-vs-compare-modal__dialog { position: relative; z-index: 1; display: flex; flex-direction: column; width: min(1220px, 100%); max-height: calc(100vh - 56px); overflow: auto; color: var(--cc-ink); background: var(--cc-paper); box-shadow: 0 24px 80px rgba(0,0,0,.3); }
.cc-vs-compare-modal__header { display: flex; align-items: flex-start; justify-content: space-between; gap: 28px; padding: 24px 28px 22px; }
.cc-vs-compare-modal__header .cc-eyebrow { color: var(--cc-muted); }
.cc-vs-compare-modal__header h2 { max-width: 840px; margin: 10px 0 6px; color: var(--cc-ink); font-family: var(--cc-serif); font-size: clamp(27px, 3vw, 46px); font-weight: 400; letter-spacing: -.035em; line-height: .98; }
.cc-vs-compare-modal__header p { margin: 0; color: var(--cc-muted); font-family: var(--cc-sans); font-size: 10px; letter-spacing: .16em; text-transform: uppercase; }
.cc-vs-compare-modal__close { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; width: 42px; height: 42px; padding: 0; color: var(--cc-ink); background: transparent; border: 1px solid var(--cc-line); border-radius: 0; font-family: var(--cc-sans); font-size: 29px; font-weight: 300; line-height: 1; cursor: inherit; transition: color .25s ease, background .25s ease, border-color .25s ease; }
.cc-vs-compare-modal__close:hover, .cc-vs-compare-modal__close:focus-visible { color: var(--cc-ink); background: var(--cc-warm); border-color: var(--cc-warm); outline: 0; }
.cc-vs-compare-modal__stage { position: relative; isolation: isolate; aspect-ratio: 3 / 2; min-height: 320px; overflow: hidden; background: #090909; cursor: ew-resize; touch-action: none; --cc-compare-position: 50%; }
.cc-vs-compare-modal__stage img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; }
.cc-vs-compare-modal__before { z-index: 1; }
.cc-vs-compare-modal__after { position: absolute; inset: 0; z-index: 2; overflow: hidden; clip-path: inset(0 0 0 var(--cc-compare-position)); will-change: clip-path; }
.cc-vs-compare-modal__after img { opacity: .22; transition: opacity .7s ease; }
.cc-vs-compare-modal__after.is-ready img, .cc-vs-compare-modal__after img.is-revealed { opacity: 1; }
.cc-vs-compare-modal__stage.is-animating .cc-vs-compare-modal__after { transition: none; }
.cc-vs-compare-modal__divider { position: absolute; top: 0; bottom: 0; left: var(--cc-compare-position); z-index: 4; display: flex; align-items: center; justify-content: center; width: 2px; background: rgba(245,242,236,.92); box-shadow: 0 0 0 1px rgba(23,23,23,.14), 0 0 20px rgba(23,23,23,.28); transform: translateX(-50%); pointer-events: none; will-change: left; }
.cc-vs-compare-modal__divider span { display: inline-flex; flex: 0 0 50px; align-items: center; justify-content: center; width: 50px; min-width: 50px; height: 50px; min-height: 50px; padding: 10px; box-sizing: border-box; color: var(--cc-ink); background: var(--cc-paper); border: 1px solid var(--cc-warm); border-radius: 50%; font-family: var(--cc-sans); font-size: 19px; line-height: 1; white-space: nowrap; box-shadow: 0 5px 15px rgba(23,23,23,.24); }
.cc-vs-compare-modal__range { position: absolute; inset: 0; z-index: 5; width: 100%; height: 100%; margin: 0; opacity: 0; pointer-events: none; cursor: ew-resize; touch-action: none; -webkit-user-select: none; user-select: none; -webkit-appearance: none; appearance: none; }
.cc-vs-compare-modal__range:focus-visible { outline: 2px solid var(--cc-warm); outline-offset: -6px; opacity: .08; }
.cc-vs-compare-modal__label { position: absolute; top: 18px; z-index: 4; padding: 8px 10px; color: var(--cc-paper); background: rgba(23,23,23,.6); font-family: var(--cc-sans); font-size: 9px; letter-spacing: .18em; text-transform: uppercase; pointer-events: none; }
.cc-vs-compare-modal__label--before { left: 18px; }
.cc-vs-compare-modal__label--after { right: 18px; }
.cc-vs-compare-modal__nav { position: absolute; top: 50%; z-index: 6; display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 64px; padding: 0; color: var(--cc-paper); background: rgba(23,23,23,.68); border: 1px solid rgba(245,242,236,.4); border-radius: 0; font-family: var(--cc-serif); font-size: 30px; font-weight: 400; line-height: 1; opacity: 0; pointer-events: none; transform: translateY(-50%); transition: opacity .25s ease, background .25s ease, color .25s ease; cursor: inherit; }
.cc-vs-compare-modal__nav--prev { left: 18px; }
.cc-vs-compare-modal__nav--next { right: 18px; }
.cc-vs-compare-modal__dialog:hover .cc-vs-compare-modal__nav, .cc-vs-compare-modal__nav:focus-visible { opacity: 1; pointer-events: auto; }
.cc-vs-compare-modal__nav:hover, .cc-vs-compare-modal__nav:focus-visible { color: var(--cc-ink); background: var(--cc-warm); border-color: var(--cc-warm); outline: 0; }
.cc-vs-compare-modal__wipe-note { position: absolute; right: 18px; bottom: 18px; z-index: 4; padding: 8px 10px; color: var(--cc-paper); background: rgba(23,23,23,.6); font-family: var(--cc-sans); font-size: 9px; letter-spacing: .12em; text-transform: uppercase; pointer-events: none; }
.cc-vs-compare-modal__footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 16px 28px 18px; color: var(--cc-muted); font-family: var(--cc-sans); font-size: 9px; letter-spacing: .16em; text-transform: uppercase; }
body.cc-vs-compare-open { overflow: hidden; }
.cc-editorial-statement { display: grid; grid-template-columns: 1fr 1fr; min-height: 620px; background: var(--cc-ink); color: #f5f2ec; }
.cc-editorial-statement__copy { display: flex; flex-direction: column; justify-content: center; padding: 90px clamp(28px, 8vw, 120px); }
.cc-editorial-statement__copy .cc-eyebrow { color: var(--cc-warm); }
.cc-editorial-statement__copy h2 { max-width: 650px; margin: 18px 0 28px; color: #f5f2ec; font-size: clamp(46px, 5.4vw, 82px); font-weight: 400; line-height: .94; letter-spacing: -.065em; }
.cc-editorial-page--photography .cc-editorial-statement__copy h2 { font-size: clamp(32px, 3.8vw, 57px); line-height: 1; letter-spacing: -.045em; }
.cc-editorial-statement__copy p { max-width: 480px; margin: 0; color: rgba(245,242,236,.7); font-family: var(--cc-sans); font-size: 15px; line-height: 1.75; }
.cc-editorial-statement__copy .cc-text-link { align-self: flex-start; margin-top: 38px; color: #f5f2ec !important; font-family: var(--cc-sans); font-size: 10px; letter-spacing: .17em; text-decoration: none; text-transform: uppercase; }
.cc-editorial-statement__copy .cc-text-link span { margin-left: 12px; color: var(--cc-warm); }
.cc-editorial-statement__media { min-height: 620px; }
.cc-editorial-statement__media img { display: block; width: 100%; height: 100%; min-height: 620px; object-fit: cover; }
.cc-editorial-form-section { padding: 118px 24px 126px; background: #e4e0d8; }
.cc-editorial-form-section__inner { display: grid; grid-template-columns: minmax(260px, .75fr) minmax(0, 1.25fr); gap: clamp(50px, 8vw, 130px); align-items: start; width: min(1120px, 100%); margin: 0 auto; }
.cc-editorial-form-section__intro h2 { max-width: 440px; margin: 18px 0 22px; font-size: clamp(45px, 5vw, 74px); font-weight: 400; line-height: .94; letter-spacing: -.06em; }
.cc-editorial-form-section__intro p { max-width: 390px; margin: 0; color: var(--cc-muted); font-family: var(--cc-sans); font-size: 15px; line-height: 1.75; }
.cc-editorial-form { min-width: 0; padding: 34px 36px 38px; background: var(--cc-paper); border: 1px solid var(--cc-line); }
.cc-editorial-form .wpforms-container { max-width: none !important; margin: 0 !important; }
.cc-editorial-form .wpforms-form .wpforms-title,
.cc-editorial-form .wpforms-form .wpforms-description { display: none; }
.cc-editorial-form .wpforms-form .wpforms-field-container { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 20px; }
.cc-editorial-form .wpforms-form .wpforms-field { min-width: 0; padding: 0 !important; }
.cc-editorial-form .wpforms-form .wpforms-field-name,
.cc-editorial-form .wpforms-form .wpforms-field-textarea { grid-column: 1 / -1; }
.cc-editorial-form .wpforms-form .wpforms-field-label { margin: 0 0 8px; color: var(--cc-ink); font-family: var(--cc-sans); font-size: 10px; font-weight: 500; letter-spacing: .14em; line-height: 1.4; text-transform: uppercase; }
.cc-editorial-form .wpforms-form .wpforms-required-label { color: var(--cc-warm); }
.cc-editorial-form .wpforms-form input[type=text],
.cc-editorial-form .wpforms-form input[type=email],
.cc-editorial-form .wpforms-form input[type=tel],
.cc-editorial-form .wpforms-form input[type=date],
.cc-editorial-form .wpforms-form input[type=time],
.cc-editorial-form .wpforms-form select,
.cc-editorial-form .wpforms-form textarea { width: 100%; min-height: 44px; padding: 10px 0 !important; color: var(--cc-ink) !important; background: transparent !important; border: 0 !important; border-bottom: 1px solid var(--cc-line) !important; border-radius: 0 !important; box-shadow: none !important; font-family: var(--cc-sans) !important; font-size: 14px !important; line-height: 1.45 !important; }
.cc-editorial-form .wpforms-form textarea { min-height: 112px; resize: vertical; }
.cc-editorial-form .wpforms-form input::placeholder,
.cc-editorial-form .wpforms-form textarea::placeholder { color: var(--cc-muted); opacity: .72; }
.cc-editorial-form .wpforms-form input:focus,
.cc-editorial-form .wpforms-form select:focus,
.cc-editorial-form .wpforms-form textarea:focus { border-bottom-color: var(--cc-warm) !important; outline: 0 !important; box-shadow: 0 2px 0 var(--cc-warm) !important; }
.cc-editorial-form .wpforms-form .wpforms-field-description { margin-top: 8px; color: var(--cc-muted); font-family: var(--cc-sans); font-size: 11px; line-height: 1.5; }
.cc-editorial-form .wpforms-submit-container { margin-top: 26px; padding: 0 !important; }
.cc-editorial-form .wpforms-form button[type=submit],
.cc-editorial-form .wpforms-form .wpforms-submit { min-height: 48px; padding: 14px 22px !important; color: #fff !important; background: var(--cc-ink) !important; border: 1px solid var(--cc-ink) !important; border-radius: 0 !important; box-shadow: none !important; font-family: var(--cc-sans) !important; font-size: 10px !important; font-weight: 500 !important; letter-spacing: .18em; text-transform: uppercase; transition: background .25s, border-color .25s, color .25s; }
.cc-editorial-form .wpforms-form button[type=submit]:hover,
.cc-editorial-form .wpforms-form .wpforms-submit:hover { color: var(--cc-ink) !important; background: var(--cc-warm) !important; border-color: var(--cc-warm) !important; }
.cc-editorial-form .wpforms-form .wpforms-error { color: #8f3d32; font-family: var(--cc-sans); font-size: 11px; }
.cc-editorial-form .wpforms-confirmation-container-full { margin: 0 !important; padding: 22px !important; color: var(--cc-ink) !important; background: transparent !important; border: 1px solid var(--cc-warm) !important; font-family: var(--cc-sans); font-size: 14px; line-height: 1.65; }
.cc-editorial-form__fallback { margin: 0; color: var(--cc-muted); font-family: var(--cc-sans); font-size: 14px; line-height: 1.7; }
.cc-schedule-form { display: flex; flex-direction: column; gap: 30px; }
.cc-schedule-form .wpforms-container { order: 1; }
.cc-schedule-guidance { order: 2; padding: 24px 26px 26px; color: #f5f2ec; background: var(--cc-ink); border-left: 3px solid var(--cc-warm); }
.cc-schedule-guidance .cc-eyebrow { color: var(--cc-warm); }
.cc-schedule-guidance h3 { max-width: 360px; margin: 15px 0 12px; color: #f5f2ec; font-family: var(--cc-serif); font-size: clamp(28px, 3vw, 42px); font-weight: 400; line-height: .98; letter-spacing: -.045em; }
.cc-schedule-guidance p { max-width: 430px; margin: 0; color: rgba(245,242,236,.72); font-family: var(--cc-sans); font-size: 13px; line-height: 1.65; }
.cc-schedule-guidance__details { display: grid; gap: 16px; margin: 24px 0 0; }
.cc-schedule-guidance__details div { display: grid; grid-template-columns: minmax(120px, .75fr) minmax(0, 1.25fr); gap: 18px; padding-top: 14px; border-top: 1px solid rgba(245,242,236,.2); }
.cc-schedule-guidance__details dt { color: rgba(245,242,236,.58); font-family: var(--cc-sans); font-size: 9px; letter-spacing: .15em; text-transform: uppercase; }
.cc-schedule-guidance__details dd { margin: 0; color: #f5f2ec; font-family: var(--cc-sans); font-size: 12px; line-height: 1.45; }
.cc-schedule-guidance__range { display: flex; align-items: center; gap: 9px; margin-top: 22px; color: rgba(245,242,236,.58); font-family: var(--cc-sans); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.cc-schedule-guidance__dot { width: 7px; height: 7px; flex: 0 0 7px; background: var(--cc-warm); border-radius: 50%; }
.cc-schedule-form .wpforms-form input[name*="[7]"],
.cc-schedule-form .wpforms-form select[name*="[7]"] { cursor: pointer; }
.cc-schedule-form .wpforms-form [id$="-field_8-container"] { display: none !important; }
.cc-schedule-form .wpforms-form input[aria-invalid="true"] { border-bottom-color: #8f3d32 !important; box-shadow: 0 2px 0 #8f3d32 !important; }
.cc-schedule-inline-error { margin: 9px 0 0; color: #8f3d32; font-family: var(--cc-sans); font-size: 11px; line-height: 1.5; }

.cc-testimonials-live { padding: 112px 24px 120px; background: var(--cc-paper); }
.cc-testimonials-live__inner { width: min(1200px, 100%); margin: 0 auto; }
.cc-testimonials-live__header { display: flex; align-items: end; justify-content: space-between; gap: 40px; padding-bottom: 38px; border-bottom: 1px solid var(--cc-line); }
.cc-testimonials-live__header h2 { max-width: 520px; margin: 16px 0 0; color: var(--cc-brown, #64564b); font-family: var(--cc-serif); font-size: clamp(42px, 5vw, 72px); font-weight: 400; line-height: .94; letter-spacing: -.06em; }
.cc-testimonials-live__header p { max-width: 320px; margin: 0; color: var(--cc-muted); font-family: var(--cc-sans); font-size: 14px; line-height: 1.65; }
.cc-testimonial-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 30px; }
.cc-testimonial-card { min-height: 260px; padding: 34px 0 26px; border-bottom: 1px solid var(--cc-line); }
.cc-testimonial-card blockquote { max-width: 340px; margin: 0; color: var(--cc-brown, #64564b); font-family: var(--cc-serif); font-size: clamp(11.5px, 1.1vw, 16px); font-weight: 400; line-height: 1.08; letter-spacing: -.035em; }
.cc-testimonial-card footer { display: flex; flex-direction: column; gap: 5px; margin-top: 42px; color: var(--cc-muted); font-family: var(--cc-sans); font-size: 10px; letter-spacing: .12em; line-height: 1.4; text-transform: uppercase; }
.cc-testimonial-card footer strong { color: var(--cc-ink); font-size: 11px; font-weight: 500; letter-spacing: .14em; }
.cc-testimonial-card footer a { width: fit-content; color: var(--cc-muted) !important; text-decoration: none; }
.cc-testimonial-card footer a:hover { color: var(--cc-warm) !important; }
.cc-testimonials-live__empty { grid-column: 1 / -1; margin: 0; padding: 34px 0; color: var(--cc-muted); font-family: var(--cc-sans); font-size: 14px; }
.cc-testimonial-submit { padding: 118px 24px 126px; color: #f5f2ec; background: var(--cc-ink); }
.cc-testimonial-submit__inner { display: grid; grid-template-columns: minmax(260px, .75fr) minmax(0, 1.25fr); gap: clamp(50px, 8vw, 130px); align-items: start; width: min(1120px, 100%); margin: 0 auto; }
.cc-testimonial-submit__intro .cc-eyebrow { color: var(--cc-warm); }
.cc-testimonial-submit__intro h2 { max-width: 470px; margin: 18px 0 22px; color: #f5f2ec; font-family: var(--cc-serif); font-size: clamp(42px, 5vw, 70px); font-weight: 400; line-height: .94; letter-spacing: -.06em; }
.cc-testimonial-submit__intro p { max-width: 380px; margin: 0; color: rgba(245,242,236,.68); font-family: var(--cc-sans); font-size: 14px; line-height: 1.75; }
.cc-testimonial-submit__form { background: var(--cc-paper); }
.cc-testimonial-submit__form .wpforms-form .wpforms-field-checkbox { grid-column: 1 / -1; padding-top: 4px !important; }
.cc-testimonial-submit__form .wpforms-form .wpforms-field-checkbox ul { display: flex; gap: 10px; margin: 0; padding: 0; list-style: none; }
.cc-testimonial-submit__form .wpforms-form .wpforms-field-checkbox li { display: flex; align-items: flex-start; gap: 9px; margin: 0; }
.cc-testimonial-submit__form .wpforms-form .wpforms-field-checkbox label { color: var(--cc-muted); font-family: var(--cc-sans); font-size: 11px; font-weight: 400; line-height: 1.5; }
.cc-testimonial-submit__form .wpforms-form .wpforms-field-checkbox input { margin: 2px 0 0; accent-color: var(--cc-warm); }
.cc-testimonial-submit__form .wpforms-form .wpforms-field-checkbox ul { align-items: flex-start; gap: 0 !important; }
.cc-testimonial-submit__form .wpforms-form .wpforms-field-checkbox li { align-items: flex-start; gap: 0 !important; }
.cc-testimonial-submit__form .wpforms-form .wpforms-field-checkbox li > input[type="checkbox"] { flex: 0 0 auto; margin: 2px 7px 0 0 !important; }
.cc-testimonial-submit__form .wpforms-form .wpforms-field-checkbox li > label.wpforms-field-label-inline { display: inline-block; margin: 0 !important; line-height: 1.45; }
.cc-testimonial-submit__form .wpforms-form .wpforms-field-checkbox .wpforms-field-description { margin-top: 12px !important; }
.cc-testimonial-submit__form .wpforms-form .wpforms-field-name .wpforms-field-row { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; width: 100% !important; max-width: none !important; margin: 0 !important; }
.cc-testimonial-submit__form .wpforms-form .wpforms-field-name .wpforms-field-row-block { float: none !important; width: auto !important; max-width: none !important; margin: 0 !important; }
.cc-testimonial-submit__form .wpforms-form .wpforms-field-name input,
.cc-testimonial-submit__form .wpforms-form .wpforms-field-email input,
.cc-testimonial-submit__form .wpforms-form .wpforms-field-text input { width: 100% !important; max-width: none !important; }

@media (max-width: 800px) {
  .cc-testimonials-live__header { display: block; }
  .cc-testimonials-live__header p { margin-top: 24px; }
  .cc-testimonial-grid { grid-template-columns: 1fr; }
  .cc-testimonial-card { min-height: 0; }
  .cc-testimonial-submit__inner { grid-template-columns: 1fr; gap: 42px; }
}

@media (max-width: 560px) {
  .cc-testimonial-submit__form .wpforms-form .wpforms-field-name .wpforms-field-row { grid-template-columns: 1fr; }
}

@media (max-width: 800px) {
  .cc-journal-print { padding: 78px 18px 86px; }
  .cc-journal-print__header, .cc-journal-print__footer { grid-template-columns: 1fr; gap: 24px; }
  .cc-journal-print__grid { grid-template-columns: 1fr; border-bottom: 0; }
  .cc-journal-print__card, .cc-journal-print__card + .cc-journal-print__card { padding: 24px 0 30px; border-left: 0; border-bottom: 1px solid var(--cc-line); }
  .cc-journal-print__card:last-child { border-bottom: 0; }
  .cc-journal-print__card img { height: clamp(220px, 58vw, 340px); }
  .cc-journal-print__card p { min-height: 0; }
.cc-journal-print__footer { margin-top: 36px; padding-top: 48px; padding-bottom: 48px; }
  .cc-journal-print__footer-copy { padding-top: 0; }
  .cc-journal-print__footer-media { margin-top: 18px; }
  .cc-journal-print__footer-media img { aspect-ratio: 16 / 10; }
  .cc-journal-print__footer .cc-text-link { justify-self: start; }
  .cc-process-flow { padding: 78px 18px 86px; }
  .cc-process-flow__header, .cc-process-flow__footer { grid-template-columns: 1fr; gap: 24px; }
  .cc-process-flow__header { grid-template-rows: auto auto auto; }
  .cc-process-flow__header .cc-eyebrow { grid-column: 1; grid-row: 1; }
  .cc-process-flow__header h2 { grid-column: 1; grid-row: 2; }
  .cc-process-flow__header p { grid-column: 1; grid-row: 3; }
  .cc-process-flow__grid { grid-template-columns: 1fr; border-bottom: 0; }
  .cc-process-flow__card, .cc-process-flow__card + .cc-process-flow__card { min-height: 0; padding: 24px 0 30px; border-left: 0; border-bottom: 1px solid var(--cc-line); }
  .cc-process-flow__card:last-child { border-bottom: 0; }
  .cc-process-flow__media { height: auto; aspect-ratio: 16 / 10; margin-bottom: 20px; }
  .cc-process-flow__number { margin-bottom: 24px; }
  .cc-process-flow__footer { margin-top: 18px; padding-top: 56px; }
  .cc-process-flow__footer-copy { padding-top: 0; }
  .cc-process-flow__footer .cc-text-link { justify-self: start; }
  .cc-process-flow__result-media { margin-top: 18px; }
  .cc-process-flow__result-media img { aspect-ratio: 16 / 10; }
  .cc-about-studio { padding: 78px 18px 86px; }
  .cc-about-studio__header, .cc-about-studio__footer { grid-template-columns: 1fr; gap: 24px; }
  .cc-about-studio__grid { grid-template-columns: 1fr; border-bottom: 0; }
  .cc-about-studio__card, .cc-about-studio__card + .cc-about-studio__card { min-height: 0; padding: 24px 0 30px; border-left: 0; border-bottom: 1px solid var(--cc-line); }
  .cc-about-studio__card:last-child { border-bottom: 0; }
  .cc-about-studio__number { margin-bottom: 30px; }
  .cc-about-studio__footer-copy .cc-text-link { justify-self: start; }
  .cc-about-studio__footer-copy { padding-top: 0; }
  .cc-about-studio__footer-media { margin-top: 18px; }
  .cc-about-studio__footer-media img { aspect-ratio: 16 / 10; }
  .cc-founder { padding: 78px 18px 86px; }
  .cc-founder__inner { grid-template-columns: 1fr; gap: 34px; }
  .cc-founder__media { max-width: 480px; }
  .cc-founder__copy { padding-top: 0; }
  .cc-founder__copy h2 { margin-bottom: 26px; }
  .cc-founder__copy p { font-size: 14px; line-height: 1.7; }
  .cc-design-suite { padding: 78px 18px 86px; }
  .cc-design-suite__header, .cc-design-suite__footer { grid-template-columns: 1fr; gap: 24px; }
  .cc-design-suite__grid { grid-template-columns: 1fr; border-bottom: 0; }
  .cc-design-suite__card, .cc-design-suite__card + .cc-design-suite__card { padding: 24px 0 30px; border-left: 0; border-bottom: 1px solid var(--cc-line); }
  .cc-design-suite__card:last-child { border-bottom: 0; }
  .cc-design-suite__card img { height: clamp(220px, 58vw, 340px); }
  .cc-design-suite__card p { min-height: 0; }
  .cc-design-suite__footer .cc-text-link { justify-self: start; }
  .cc-floor-plan-suite { padding: 78px 18px 86px; }
  .cc-floor-plan-suite__footer { grid-template-columns: 1fr; gap: 24px; }
  .cc-floor-plan-suite__header-row { grid-template-columns: 1fr; gap: 24px; }
  .cc-floor-plan-suite__grid { grid-template-columns: 1fr; border-bottom: 0; }
  .cc-floor-plan-suite__card, .cc-floor-plan-suite__card + .cc-floor-plan-suite__card { padding: 24px 0 30px; border-left: 0; border-bottom: 1px solid var(--cc-line); }
  .cc-floor-plan-suite__card:last-child { border-bottom: 0; }
  .cc-floor-plan-suite__card img { height: clamp(220px, 58vw, 340px); }
  .cc-floor-plan-suite__card p { min-height: 0; }
  .cc-floor-plan-suite__footer .cc-text-link { justify-self: start; }
  .cc-floor-plan-suite__footer-media { margin-top: 46px; }
  .cc-floor-plan-suite__footer-media img { height: clamp(250px, 72vw, 420px); }
  .cc-floor-plan-suite__examples { margin-top: 68px; padding-top: 48px; }
  .cc-floor-plan-suite__examples-header { margin-bottom: 28px; }
  .cc-floor-plan-suite__examples-header-row { grid-template-columns: 1fr; gap: 24px; }
  .cc-floor-plan-suite__examples-grid { grid-template-columns: 1fr; gap: 18px; }
  .cc-floor-plan-suite__example-media { aspect-ratio: 4 / 3; }
  .cc-editorial-gallery { padding: 76px 18px 86px; }
  .cc-editorial-gallery__header { margin-bottom: 32px; }
  .cc-editorial-gallery__grid { grid-template-columns: 1fr; gap: 28px; }
  .cc-editorial-gallery__item { overflow: hidden; background: #d7d1c8; }
  .cc-editorial-gallery__item img, .cc-editorial-gallery__item:first-child img { height: clamp(250px, 72vw, 420px); aspect-ratio: auto; object-fit: cover; }
  .cc-editorial-video-showcase { padding: 76px 18px 86px; }
  .cc-editorial-video-showcase__header { margin-bottom: 32px; }
  .cc-editorial-video-grid { grid-template-columns: 1fr; gap: 32px; }
  .cc-editorial-video-card__play { opacity: 1; transform: none; }
  .cc-video-modal { padding: 14px; }
  .cc-video-modal__dialog { max-height: calc(100vh - 28px); }
  .cc-video-modal__header { padding: 18px 18px 16px; }
  .cc-video-modal__header h2 { font-size: 29px; }
  .cc-video-modal__footer { padding: 13px 18px 15px; }
  .cc-video-modal__nav { width: 42px; height: 52px; opacity: 1; pointer-events: auto; }
  .cc-video-modal__nav--prev { left: 10px; }
  .cc-video-modal__nav--next { right: 10px; }
  .cc-image-lightbox { padding: 14px; }
  .cc-image-lightbox__dialog { max-height: calc(100vh - 28px); }
  .cc-image-lightbox__header { padding: 18px 18px 16px; }
  .cc-image-lightbox__header h2 { font-size: 29px; }
  .cc-image-lightbox__stage { min-height: 220px; padding: 0 14px 18px; }
  .cc-image-lightbox__stage img { max-height: calc(100vh - 190px); }
  .cc-image-lightbox__footer { align-items: flex-start; flex-direction: column; padding: 13px 18px 15px; }
  .cc-image-lightbox__footer span:first-child { max-width: none; }
  .cc-vs-compare-modal { padding: 14px; }
  .cc-vs-compare-modal__dialog { max-height: calc(100vh - 28px); }
  .cc-vs-compare-modal__header { padding: 18px 18px 16px; }
  .cc-vs-compare-modal__header h2 { font-size: 29px; }
  .cc-vs-compare-modal__stage { min-height: 220px; aspect-ratio: 4 / 3; }
  .cc-vs-compare-modal__label { top: 12px; font-size: 8px; }
  .cc-vs-compare-modal__label--before { left: 12px; }
  .cc-vs-compare-modal__label--after { right: 12px; }
  .cc-vs-compare-modal__divider span { flex-basis: 42px; width: 42px; min-width: 42px; height: 42px; min-height: 42px; padding: 8px; font-size: 16px; }
  .cc-vs-compare-modal__nav { width: 42px; height: 52px; opacity: 1; pointer-events: auto; }
  .cc-vs-compare-modal__nav--prev { left: 10px; }
  .cc-vs-compare-modal__nav--next { right: 10px; }
  .cc-vs-compare-modal__wipe-note { right: 12px; bottom: 12px; font-size: 8px; }
  .cc-vs-compare-modal__footer { align-items: flex-start; flex-direction: column; padding: 13px 18px 15px; }
  .cc-editorial-statement { display: flex; flex-direction: column; }
  .cc-editorial-statement__copy { padding: 76px 18px 72px; }
  .cc-editorial-statement__media, .cc-editorial-statement__media img { min-height: 420px; height: 64vw; }
  .cc-editorial-form-section { padding: 76px 18px 84px; }
  .cc-editorial-form-section__inner { display: block; }
  .cc-editorial-form-section__intro { margin-bottom: 42px; }
  .cc-editorial-form { padding: 24px 20px 28px; }
  .cc-schedule-guidance { padding: 22px 20px 24px; }
  .cc-schedule-guidance__details div { grid-template-columns: 1fr; gap: 6px; }
}

@media (max-width: 560px) {
  .cc-editorial-form .wpforms-form .wpforms-field-container { display: block; }
  .cc-editorial-form .wpforms-form .wpforms-field { margin-bottom: 20px; }
}

/* Final shared header and editorial type overrides. */
body.cc-staging-controls-active #masthead .header-nav-main .html_topbar_left,
body.cc-staging-controls-active #masthead .header-nav-main .html_topbar_right { display: none !important; }
body.cc-staging-controls-active .cc-editorial-page h1,
body.cc-staging-controls-active .cc-editorial-page h2,
body.cc-staging-controls-active .cc-editorial-page h3 { font-family: var(--cc-serif) !important; }
body.cc-staging-controls-active .cc-editorial-page p,
body.cc-staging-controls-active .cc-editorial-page .cc-eyebrow,
body.cc-staging-controls-active .cc-editorial-page .cc-button,
body.cc-staging-controls-active .cc-editorial-page .cc-text-link,
body.cc-staging-controls-active .cc-editorial-page .cc-editorial-gallery__item figcaption { font-family: var(--cc-sans) !important; }

/* Final mobile header/control placement. The theme's menu lives in the
 * mobile-left flex column, so moving only the list item leaves its parent in
 * the middle of the header. */
@media (max-width: 560px) {
  body.cc-staging-controls-active #masthead .header-inner > .show-for-medium.flex-left {
    position: absolute;
    top: 50%;
    right: 12px;
    left: auto;
    z-index: 30;
    display: block;
    width: 42px;
    height: 42px;
    margin: 0 !important;
    padding: 0;
    transform: translateY(-50%);
  }
  body.cc-staging-controls-active #masthead .header-inner > .show-for-medium.flex-left .mobile-nav.nav-left,
  body.cc-staging-controls-active #masthead .header-inner > .show-for-medium.flex-left .nav-icon {
    width: 42px;
    height: 42px;
    margin: 0;
    padding: 0;
  }
  body.cc-staging-controls-active #masthead .header-inner > .show-for-medium.flex-left .nav-icon {
    position: static;
    top: auto;
    right: auto;
    left: auto;
    transform: none;
  }
  body.cc-staging-controls-active .cky-btn-revisit-wrapper {
    bottom: 24px !important;
    right: 18px !important;
    left: auto !important;
  }
}

/* Final staged button contract: keep every editorial CTA readable over ink. */
body.cc-staging-controls-active a.cc-button,
body.cc-staging-controls-active button.cc-button,
body.cc-staging-controls-active .cc-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  color: #fff !important;
  background: var(--cc-ink) !important;
  border: 1px solid var(--cc-ink) !important;
  font-family: var(--cc-sans) !important;
  font-size: 10px !important;
  line-height: 1.3 !important;
  text-decoration: none !important;
  -webkit-text-fill-color: #fff !important;
}
body.cc-staging-controls-active a.cc-button *,
body.cc-staging-controls-active button.cc-button *,
body.cc-staging-controls-active .cc-button * {
  color: inherit !important;
  -webkit-text-fill-color: inherit !important;
  visibility: visible !important;
  opacity: 1 !important;
}
body.cc-staging-controls-active a.cc-button:hover,
body.cc-staging-controls-active a.cc-button:focus-visible,
body.cc-staging-controls-active button.cc-button:hover,
body.cc-staging-controls-active button.cc-button:focus-visible,
body.cc-staging-controls-active .cc-button:hover {
  color: var(--cc-ink) !important;
  background: var(--cc-warm) !important;
  border-color: var(--cc-warm) !important;
}
body.cc-staging-controls-active .cc-button span,
body.cc-staging-controls-active .cc-button small,
body.cc-staging-controls-active .cc-button strong { color: inherit !important; }
body.cc-staging-controls-active .cc-editorial-cta .cc-button--light {
  color: var(--cc-ink) !important;
  background: transparent !important;
  border-color: var(--cc-ink) !important;
  -webkit-text-fill-color: var(--cc-ink) !important;
}
body.cc-staging-controls-active .cc-editorial-cta .cc-button--light:hover,
body.cc-staging-controls-active .cc-editorial-cta .cc-button--light:focus-visible {
  color: var(--cc-ink) !important;
  background: var(--cc-warm) !important;
  border-color: var(--cc-warm) !important;
  -webkit-text-fill-color: var(--cc-ink) !important;
}

/* Final gallery frame lock: equal columns and equal image heights across every editorial page. */
body.cc-staging-controls-active .cc-editorial-gallery__grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}
body.cc-staging-controls-active .cc-editorial-gallery__item {
  align-self: start;
}
body.cc-staging-controls-active .cc-editorial-gallery__item img {
  width: 100% !important;
  height: clamp(260px, 25vw, 360px) !important;
  aspect-ratio: auto !important;
  object-fit: cover !important;
}
@media (max-width: 800px) {
  body.cc-staging-controls-active .cc-editorial-gallery__grid {
    grid-template-columns: 1fr !important;
  }
  body.cc-staging-controls-active .cc-editorial-gallery__item img {
    height: clamp(250px, 72vw, 420px) !important;
    aspect-ratio: auto !important;
    object-fit: cover !important;
  }
}

/* Contact service-area map: an editorial, dependency-free location panel
 * that keeps the coverage story useful without adding a third-party map API. */
.cc-service-area {
  padding: 118px 24px 126px;
  background: var(--cc-paper);
}
.cc-service-area__inner {
  display: grid;
  grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr);
  gap: clamp(48px, 8vw, 128px);
  align-items: center;
  width: min(1280px, 100%);
  margin: 0 auto;
}
.cc-service-area__copy h2 {
  max-width: 520px;
  margin: 18px 0 26px;
  color: var(--cc-ink);
  font-size: clamp(43px, 5vw, 74px);
  font-weight: 400;
  line-height: .94;
  letter-spacing: -.06em;
}
.cc-service-area__copy p {
  max-width: 440px;
  margin: 0;
  color: var(--cc-muted);
  font-family: var(--cc-sans);
  font-size: 15px;
  line-height: 1.75;
}
.cc-service-area__note {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 34px;
  color: var(--cc-ink);
  font-family: var(--cc-sans);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: .16em;
  line-height: 1.4;
  text-transform: uppercase;
}
.cc-service-area__note-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  flex: 0 0 8px;
  border-radius: 50%;
  background: var(--cc-warm);
  box-shadow: 0 0 0 4px rgba(181, 148, 105, .16);
}
.cc-service-area__map {
  position: relative;
  min-height: clamp(440px, 42vw, 580px);
  overflow: hidden;
  isolation: isolate;
  background: #1b1a19;
  border: 1px solid rgba(181, 148, 105, .38);
}
.cc-service-area__map::before,
.cc-service-area__map::after {
  position: absolute;
  z-index: 1;
  content: '';
  pointer-events: none;
}
.cc-service-area__map::before {
  inset: 0;
  background-image: linear-gradient(rgba(245,242,236,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(245,242,236,.045) 1px, transparent 1px);
  background-size: 54px 54px;
}
.cc-service-area__map::after {
  inset: 16px;
  border: 1px solid rgba(245,242,236,.15);
}
.cc-service-area__terrain {
  position: absolute;
  z-index: 0;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: .52;
}
.cc-service-area__terrain path {
  fill: none;
  stroke: rgba(245,242,236,.2);
  stroke-width: 1;
  vector-effect: non-scaling-stroke;
}
.cc-service-area__coast {
  position: absolute;
  z-index: 2;
  top: 4%;
  left: 14%;
  width: 26%;
  height: 92%;
  border-right: 1px solid rgba(210, 181, 139, .65);
  border-radius: 0 55% 48% 0 / 0 42% 58% 0;
  opacity: .82;
  transform: rotate(9deg);
}
.cc-service-area__pin {
  position: absolute;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: rgba(245,242,236,.78);
  font-family: var(--cc-sans);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: .12em;
  line-height: 1;
  text-transform: uppercase;
  transform: translate(-50%, -50%);
  white-space: nowrap;
}
.cc-service-area__pin i {
  display: block;
  width: 10px;
  height: 10px;
  flex: 0 0 10px;
  border: 2px solid #1b1a19;
  border-radius: 50%;
  background: var(--cc-warm);
  box-shadow: 0 0 0 4px rgba(181,148,105,.18);
}
.cc-service-area__pin strong {
  color: inherit;
  font: inherit;
  font-weight: 500;
}
.cc-service-area__pin--calabasas strong,
.cc-service-area__pin--los-angeles strong { color: #f5f2ec; }
.cc-service-area__pin--calabasas i {
  width: 13px;
  height: 13px;
  flex-basis: 13px;
  background: #f5f2ec;
  box-shadow: 0 0 0 5px rgba(245,242,236,.15), 0 0 24px rgba(210,181,139,.55);
}
.cc-service-area__pin--secondary {
  gap: 6px;
  font-size: 8px;
  letter-spacing: .08em;
}
.cc-service-area__pin--secondary i {
  width: 8px;
  height: 8px;
  flex-basis: 8px;
  border-width: 1px;
  box-shadow: 0 0 0 3px rgba(181,148,105,.16);
}
.cc-service-area__pin--santa-barbara { left: 12%; top: 28%; }
.cc-service-area__pin--ventura { left: 18%; top: 37%; }
.cc-service-area__pin--oxnard { left: 18%; top: 44%; }
.cc-service-area__pin--simi-valley { left: 25%; top: 33%; }
.cc-service-area__pin--moorpark { left: 24%; top: 39%; }
.cc-service-area__pin--agoura-hills { left: 29%; top: 36%; }
.cc-service-area__pin--westlake { left: 28%; top: 45%; }
.cc-service-area__pin--thousand-oaks { left: 27%; top: 51%; }
.cc-service-area__pin--santa-clara { left: 40%; top: 27%; }
.cc-service-area__pin--malibu { left: 23%; top: 55%; }
.cc-service-area__pin--santa-monica { left: 31%; top: 59%; }
.cc-service-area__pin--calabasas { left: 33%; top: 40%; }
.cc-service-area__pin--los-angeles { left: 43%; top: 57%; }
.cc-service-area__pin--pasadena { left: 52%; top: 43%; }
.cc-service-area__pin--hermosa-beach { left: 37%; top: 69%; }
.cc-service-area__pin--long-beach { left: 49%; top: 73%; }
.cc-service-area__pin--anaheim { left: 57%; top: 69%; }
.cc-service-area__pin--costa-mesa { left: 57%; top: 76%; }
.cc-service-area__pin--irvine { left: 62%; top: 82%; }
.cc-service-area__pin--palm-springs { left: 79%; top: 56%; }
.cc-service-area__pin--san-diego { left: 78%; top: 91%; }
.cc-service-area__scale {
  position: absolute;
  z-index: 3;
  right: 32px;
  bottom: 30px;
  display: flex;
  align-items: center;
  gap: 10px;
  color: rgba(245,242,236,.58);
  font-family: var(--cc-sans);
  font-size: 9px;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.cc-service-area__scale i {
  display: block;
  width: 34px;
  height: 1px;
  background: var(--cc-warm);
}
@media (max-width: 800px) {
  .cc-service-area { padding: 76px 18px 86px; }
  .cc-service-area__inner { display: block; }
  .cc-service-area__copy { margin-bottom: 42px; }
  .cc-service-area__map { min-height: 440px; }
  .cc-service-area__pin { font-size: 8px; letter-spacing: .09em; }
  .cc-service-area__pin--secondary { gap: 4px; font-size: 7px; letter-spacing: .05em; }
  .cc-service-area__scale { right: 24px; bottom: 24px; }
}

/* Staged media loading: keep the first view immediate, then reveal supporting
 * imagery softly as each file is decoded. */
.cc-media-fade {
  opacity: 0;
  transform: translateY(4px);
  will-change: opacity, transform;
  transition: opacity 560ms cubic-bezier(.22, .61, .36, 1) var(--cc-media-delay, 0ms), transform 560ms cubic-bezier(.22, .61, .36, 1) var(--cc-media-delay, 0ms);
}
.cc-media-fade.is-loaded {
  opacity: 1;
  transform: none;
}
img.cc-media-fade {
  transition: opacity 560ms cubic-bezier(.22, .61, .36, 1) var(--cc-media-delay, 0ms), transform 560ms cubic-bezier(.22, .61, .36, 1) var(--cc-media-delay, 0ms) !important;
}

/* Picture wrappers preserve the existing card and lightbox layout. */
.cc-image-picture {
  display: contents;
}

.cc-image-picture > img {
  display: block;
}

/* Image-level loading treatment: a quiet one-pixel warm line gives each
 * frame an intentional loading state without adding a bulky spinner. */
.cc-image-loader {
  position: relative;
  overflow: hidden;
}
.cc-image-loader::before {
  content: '';
  position: absolute;
  z-index: 3;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  pointer-events: none;
  background: linear-gradient(90deg, transparent 0%, var(--cc-warm) 36%, #f5f2ec 50%, var(--cc-warm) 64%, transparent 100%);
  transform: translateX(-100%) scaleX(.2);
  transform-origin: left center;
  opacity: 0;
}
.cc-image-loader:not(.is-loaded)::before {
  animation: cc-image-loader-line 1500ms cubic-bezier(.22, .61, .36, 1) infinite;
  opacity: .9;
}
.cc-image-loader.is-loaded::before {
  animation: none;
  opacity: 0;
  transition: opacity 420ms ease;
}
@keyframes cc-image-loader-line {
  0% { transform: translateX(-100%) scaleX(.2); opacity: 0; }
  16% { opacity: .85; }
  68% { transform: translateX(52%) scaleX(1); opacity: .9; }
  100% { transform: translateX(100%) scaleX(.2); opacity: 0; }
}

/* The preloader uses the supplied brand mark and exits after the first view
 * has loaded, with a timeout safety net for slow or blocked media. */
.cc-page-preloader {
  position: fixed;
  inset: 0;
  z-index: 99998;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 18px;
  background: rgba(238, 236, 231, .985);
  color: var(--cc-ink);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 480ms ease, visibility 480ms ease;
}
html.cc-loading,
html.cc-loading body {
  overflow: hidden;
}
html.cc-loading .cc-page-preloader {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
html.cc-loaded .cc-page-preloader {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
html.cc-loaded .cc-page-preloader.is-complete {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  display: none !important;
}
.cc-page-preloader__mark {
  display: grid;
  place-items: center;
  width: 74px;
  height: 74px;
  animation: cc-preloader-spin 1.8s linear infinite;
}
.cc-page-preloader__mark img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.cc-page-preloader__label {
  font-family: var(--cc-sans);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: .24em;
  line-height: 1;
  text-transform: uppercase;
}
@keyframes cc-preloader-spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}
@media (prefers-reduced-motion: reduce) {
  img.cc-media-fade {
    transition: none !important;
  }
  .cc-page-preloader__mark {
    animation: none;
  }
  .cc-page-preloader {
    transition: opacity 180ms ease, visibility 180ms ease;
  }
  html.cc-motion-ready .cc-wipe-container,
  html.cc-motion-ready .cc-motion-item,
  html.cc-motion-ready .cc-footer-item {
    opacity: 1;
    clip-path: none;
    transform: none;
    animation: none !important;
  }
  .cc-site-footer__copyright .cc-type-char {
    opacity: 1;
    animation: none !important;
  }
  .cc-logo-sheen {
    display: none;
  }
}

/* Logo hover treatment: rotate the C mark itself and briefly flash the mark
 * white. The sheen stays clipped to the mark, so the wordmark never flashes. */
body.cc-staging-controls-active #masthead #logo a > .cc-logo-sheen,
body.cc-staging-home-active #masthead #logo a > .cc-logo-sheen,
body.cc-portfolio-active #masthead #logo a > .cc-logo-sheen,
body.cc-virtual-staging-active #masthead #logo a > .cc-logo-sheen {
  top: 0;
  bottom: auto;
  left: -8px;
  width: 48px;
  height: 32px;
}
body.cc-staging-controls-active #masthead #logo a:hover::before,
body.cc-staging-controls-active #masthead #logo a:focus-visible::before,
body.cc-staging-home-active #masthead #logo a:hover::before,
body.cc-staging-home-active #masthead #logo a:focus-visible::before,
body.cc-portfolio-active #masthead #logo a:hover::before,
body.cc-portfolio-active #masthead #logo a:focus-visible::before,
body.cc-virtual-staging-active #masthead #logo a:hover::before,
body.cc-virtual-staging-active #masthead #logo a:focus-visible::before {
  animation: cc-logo-mark-hover 880ms cubic-bezier(.22, .61, .36, 1) both;
  transform-origin: 50% 50%;
}
@keyframes cc-logo-mark-hover {
  0% { filter: none; transform: rotate(0deg) scale(1); }
  12% { filter: brightness(0) invert(1); transform: rotate(28deg) scale(1.06); }
  24% { filter: brightness(0) invert(1); transform: rotate(76deg) scale(1.04); }
  58% { filter: brightness(0) invert(1); transform: rotate(238deg) scale(1.02); }
  82% { filter: none; transform: rotate(330deg) scale(1); }
  100% { filter: none; transform: rotate(360deg) scale(1); }
}
.cc-site-footer__logo > .cc-logo-sheen {
  top: 0;
  bottom: auto;
  left: 0;
  width: 112px;
  height: 112px;
}
html.cc-footer-visible .cc-site-footer__logo:hover img,
html.cc-footer-visible .cc-site-footer__logo:focus-visible img {
  animation: cc-footer-mark-hover 880ms cubic-bezier(.22, .61, .36, 1) both;
  transform-origin: 50% 50%;
}
@keyframes cc-footer-mark-hover {
  0% { filter: none; transform: rotate(0deg) scale(1); }
  12% { filter: brightness(0) invert(1); transform: rotate(28deg) scale(1.06); }
  24% { filter: brightness(0) invert(1); transform: rotate(76deg) scale(1.04); }
  58% { filter: brightness(0) invert(1); transform: rotate(238deg) scale(1.02); }
  82% { filter: none; transform: rotate(330deg) scale(1); }
  100% { filter: none; transform: rotate(360deg) scale(1); }
}
@media (prefers-reduced-motion: reduce) {
  body.cc-staging-controls-active #masthead #logo a:hover::before,
  body.cc-staging-controls-active #masthead #logo a:focus-visible::before,
  body.cc-staging-home-active #masthead #logo a:hover::before,
  body.cc-staging-home-active #masthead #logo a:focus-visible::before,
  body.cc-portfolio-active #masthead #logo a:hover::before,
  body.cc-portfolio-active #masthead #logo a:focus-visible::before,
  body.cc-virtual-staging-active #masthead #logo a:hover::before,
  body.cc-virtual-staging-active #masthead #logo a:focus-visible::before,
  html.cc-footer-visible .cc-site-footer__logo:hover img,
  html.cc-footer-visible .cc-site-footer__logo:focus-visible img {
    animation: none;
    filter: none;
    transform: none;
  }
}

/* Schedule intro: image-led split panel matching the editorial comp. */
.cc-editorial-intro--schedule {
  padding: 0;
}
.cc-editorial-intro--schedule .cc-editorial-intro__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 0;
  width: 100%;
  max-width: none;
  min-height: 620px;
}
.cc-editorial-intro--schedule .cc-editorial-intro__media {
  min-height: 620px;
  background: #211b17;
  overflow: hidden;
}
.cc-editorial-intro--schedule .cc-editorial-intro__media img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 620px;
  object-fit: cover;
  object-position: center;
}
.cc-editorial-intro--schedule .cc-editorial-intro__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  padding: 86px clamp(28px, 6vw, 96px);
}
.cc-editorial-intro--schedule .cc-editorial-intro__copy .cc-eyebrow {
  margin-bottom: 28px;
  color: var(--cc-warm);
}
.cc-editorial-intro--schedule .cc-editorial-intro__copy p {
  max-width: 680px;
}

@media (max-width: 800px) {
  .cc-editorial-intro--schedule .cc-editorial-intro__inner {
    display: flex;
    flex-direction: column;
    min-height: 0;
  }
  .cc-editorial-intro--schedule .cc-editorial-intro__media,
  .cc-editorial-intro--schedule .cc-editorial-intro__media img {
    min-height: 0;
    height: 58vw;
  }
  .cc-editorial-intro--schedule .cc-editorial-intro__copy {
    padding: 75px 18px;
  }
}

/* Keep the Schedule hero image on the same full-width right edge as the section below. */
.cc-editorial-page--schedule .cc-editorial-hero {
  padding-right: 0;
}
.cc-editorial-page--schedule .cc-editorial-hero__inner {
  width: 100%;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
}

/* Non-homepage containers begin directly beneath the shared navigation. */
body.cc-staging-controls-active .cc-editorial-hero,
body.cc-staging-controls-active .cc-portfolio-hero,
body.cc-staging-controls-active .cc-legal-hero {
  padding-top: 0;
}

/* The legal template adds a separate Flatsome content inset; keep it flush as well. */
body.cc-staging-controls-active .cc-legal-page {
  margin-top: -30px;
}

/* Keep the Photography hero media flush with the viewport's right edge. */
@media (min-width: 801px) {
  .cc-editorial-page--photography .cc-editorial-hero {
    padding-right: 0;
  }

  .cc-editorial-page--photography .cc-editorial-hero__inner {
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
  }

  /* Keep every desktop page hero image anchored to the viewport's right edge. */
  .cc-editorial-page .cc-editorial-hero,
  .cc-portfolio .cc-portfolio-hero {
    padding-right: 0;
  }

  .cc-editorial-page .cc-editorial-hero__inner,
  .cc-portfolio .cc-portfolio-hero .cc-portfolio__inner {
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
  }
}

/* Keep the Journal hero image flush with the full-width section below it. */
@media (min-width: 801px) {
  body.cc-staging-home-active .cc-editorial-page--journal .cc-editorial-hero {
    padding-right: 0;
  }

  body.cc-staging-home-active .cc-editorial-page--journal .cc-editorial-hero__inner {
    width: 100%;
    max-width: none;
    margin-right: 0;
  }

  body.cc-staging-home-active .cc-editorial-page--journal .cc-editorial-hero__media {
    margin-right: 0;
  }
}

/* Content Creation: a fuller campaign system with the same editorial language as Design. */
.cc-content-suite {
  padding: 116px 24px 122px;
  background: var(--cc-paper);
  border-top: 1px solid var(--cc-line);
  border-bottom: 1px solid var(--cc-line);
}
.cc-content-suite__inner {
  width: min(1280px, 100%);
  margin: 0 auto;
}
.cc-content-suite__footer {
  display: grid;
  grid-template-columns: minmax(220px, .6fr) minmax(0, 1.4fr);
  gap: 40px;
}
.cc-content-suite__header {
  margin-bottom: 52px;
}
.cc-content-suite__header > .cc-eyebrow {
  display: block;
  margin-bottom: 18px;
}
.cc-content-suite__header-row {
  display: grid;
  grid-template-columns: minmax(220px, .6fr) minmax(0, 1.4fr);
  gap: 40px;
  align-items: center;
}
.cc-content-suite__header h2 {
  max-width: 760px;
  margin: 0;
  color: var(--cc-ink);
  font-family: var(--cc-serif);
  font-size: clamp(42px, 5vw, 76px);
  font-weight: 400;
  line-height: .94;
  letter-spacing: -.06em;
}
.cc-content-suite__header p {
  max-width: 560px;
  margin: 0;
  color: var(--cc-muted);
  font-family: var(--cc-sans);
  font-size: 15px;
  line-height: 1.7;
}
.cc-content-suite__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--cc-line);
  border-bottom: 1px solid var(--cc-line);
}
.cc-content-suite__card {
  min-width: 0;
  padding: 30px 36px 38px 0;
  color: var(--cc-ink);
}
.cc-content-suite__card + .cc-content-suite__card {
  padding-left: 0;
  border-left: 0;
}
.cc-content-suite__card:nth-child(even) {
  padding-left: 36px;
  border-left: 1px solid var(--cc-line);
}
.cc-content-suite__card:nth-child(n + 3) {
  padding-top: 38px;
  border-top: 1px solid var(--cc-line);
}
.cc-content-suite__card figure {
  margin: 0 0 25px;
  overflow: hidden;
  background: var(--cc-paper);
}
.cc-content-suite__card img {
  display: block;
  width: 100%;
  height: clamp(190px, 17vw, 280px);
  object-fit: cover;
  transition: transform .6s ease, filter .3s ease;
}
.cc-content-suite__card:hover img {
  transform: scale(1.025);
  filter: brightness(.94);
}
.cc-content-suite__number {
  display: block;
  margin-bottom: 18px;
  color: var(--cc-warm);
  font-family: var(--cc-sans);
  font-size: 10px;
  letter-spacing: .18em;
}
.cc-content-suite__card .cc-eyebrow {
  display: block;
  margin-bottom: 12px;
  color: var(--cc-warm);
}
.cc-content-suite__card h3 {
  margin: 0 0 14px;
  color: var(--cc-ink);
  font-family: var(--cc-serif);
  font-size: clamp(25px, 2.2vw, 34px);
  font-weight: 400;
  line-height: .98;
  letter-spacing: -.04em;
}
.cc-content-suite__card p {
  max-width: 300px;
  min-height: 104px;
  margin: 0;
  color: var(--cc-muted);
  font-family: var(--cc-sans);
  font-size: 13px;
  line-height: 1.65;
}
.cc-content-suite__link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 25px;
  color: var(--cc-ink);
  font-family: var(--cc-sans);
  font-size: 10px;
  letter-spacing: .16em;
  text-decoration: none;
  text-transform: uppercase;
}
.cc-content-suite__link span {
  color: var(--cc-warm);
  font-size: 16px;
  transition: transform .25s ease;
}
.cc-content-suite__link:hover span {
  transform: translateX(4px);
}
.cc-content-suite__footer {
  padding-top: 42px;
  align-items: start;
}
.cc-content-suite__footer-side {
  min-width: 0;
}
.cc-content-suite__footer-media {
  margin: 20px 0 0;
  overflow: hidden;
  background: #d8d2c9;
}
.cc-content-suite__footer-media img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  transition: transform .7s cubic-bezier(.2,.7,.2,1);
}
.cc-content-suite__footer-media:hover img {
  transform: scale(1.025);
}
.cc-content-suite__footer-copy p {
  max-width: 720px;
  margin: 0;
  color: var(--cc-ink);
  font-family: var(--cc-serif);
  font-size: clamp(26px, 3vw, 42px);
  line-height: 1;
  letter-spacing: -.04em;
}
@media (min-width: 801px) {
  .cc-editorial-page--content-creation .cc-content-suite__footer-copy {
    padding-top: 46px;
  }
}
.cc-content-suite__footer-copy .cc-text-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 26px;
}

@media (max-width: 800px) {
  .cc-content-suite {
    padding: 78px 18px 86px;
  }
  .cc-content-suite__footer {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .cc-content-suite__header-row {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .cc-content-suite__header h2 {
    font-size: clamp(42px, 11vw, 64px);
  }
  .cc-content-suite__grid {
    grid-template-columns: 1fr;
    border-bottom: 0;
  }
  .cc-content-suite__card,
  .cc-content-suite__card + .cc-content-suite__card {
    min-height: 0;
    padding: 24px 0 30px;
    border-left: 0;
    border-bottom: 1px solid var(--cc-line);
  }
  .cc-content-suite__card:nth-child(even) {
    padding-left: 0;
    border-left: 0;
  }
  .cc-content-suite__card:nth-child(n + 3) {
    padding-top: 24px;
    border-top: 0;
  }
  .cc-content-suite__card:last-child {
    border-bottom: 0;
  }
  .cc-content-suite__card img {
    height: clamp(220px, 58vw, 340px);
  }
  .cc-content-suite__card p {
    min-height: 0;
  }
  .cc-content-suite__footer-media {
    margin-top: 18px;
  }
  .cc-content-suite__footer-media img {
    aspect-ratio: 16 / 10;
  }
  .cc-content-suite__footer-copy .cc-text-link {
    justify-self: start;
  }
}

.cc-journal-articles {
  padding: 116px 24px 122px;
  background: var(--cc-paper);
  border-top: 1px solid var(--cc-line);
  border-bottom: 1px solid var(--cc-line);
}
.cc-journal-articles__inner { width: min(1280px, 100%); margin: 0 auto; }
.cc-journal-articles__header,
.cc-journal-articles__footer {
  display: grid;
  grid-template-columns: minmax(220px, .6fr) minmax(0, 1.4fr);
  gap: 40px;
}
.cc-journal-articles__header {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(72px, 8vw, 128px);
  align-items: center;
  margin-bottom: 52px;
}
.cc-journal-articles__header > * { min-width: 0; }
.cc-journal-articles__header h2 {
  max-width: 760px;
  margin: 18px 0 0;
  color: var(--cc-ink);
  font-family: var(--cc-serif);
  font-size: clamp(21px, 2.5vw, 38px);
  font-weight: 400;
  line-height: .94;
  letter-spacing: -.06em;
}
.cc-journal-articles__header p {
  max-width: 520px;
  margin: 0;
  justify-self: center;
  align-self: center;
  color: var(--cc-muted);
  font-family: var(--cc-sans);
  font-size: 15px;
  line-height: 1.7;
}
.cc-journal-articles__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  border-top: 1px solid var(--cc-line);
  border-bottom: 1px solid var(--cc-line);
}
.cc-journal-article { min-width: 0; padding: 24px 24px 36px 0; }
.cc-journal-article:nth-child(even) { padding-left: 24px; border-left: 1px solid var(--cc-line); }
.cc-journal-article:nth-child(n + 3) { border-top: 1px solid var(--cc-line); }
.cc-journal-article figure { margin: 0 0 24px; overflow: hidden; background: #e4e0d8; }
.cc-journal-article img {
  display: block;
  width: 100%;
  height: clamp(260px, 30vw, 420px);
  object-fit: cover;
  transition: transform .6s ease, filter .3s ease;
}
.cc-journal-article:hover img { transform: scale(1.025); filter: brightness(.94); }
.cc-journal-article__number {
  display: block;
  margin-bottom: 24px;
  color: var(--cc-warm);
  font-family: var(--cc-sans);
  font-size: 10px;
  letter-spacing: .18em;
}
.cc-journal-article h3 {
  max-width: 600px;
  margin: 14px 0;
  color: var(--cc-ink);
  font-family: var(--cc-serif);
  font-size: clamp(15px, 1.7vw, 26px);
  font-weight: 400;
  line-height: .98;
  letter-spacing: -.05em;
}
.cc-journal-article > p {
  max-width: 520px;
  margin: 0;
  color: var(--cc-muted);
  font-family: var(--cc-sans);
  font-size: 14px;
  line-height: 1.7;
}
.cc-journal-article__details { margin-top: 24px; border-top: 1px solid var(--cc-line); }
.cc-journal-article__details summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 0;
  color: var(--cc-ink);
  cursor: pointer;
  font-family: var(--cc-sans);
  font-size: 10px;
  letter-spacing: .16em;
  list-style: none;
  text-transform: uppercase;
}
.cc-journal-article__details summary::-webkit-details-marker { display: none; }
.cc-journal-article__details summary span { color: var(--cc-warm); font-size: 16px; transition: transform .25s ease; }
.cc-journal-article__details[open] summary span { transform: rotate(90deg); }
.cc-journal-article__body {
  padding: 0 0 8px;
  color: var(--cc-muted);
  font-family: var(--cc-sans);
  font-size: 14px;
  line-height: 1.75;
}
.cc-journal-article__body p { margin: 0 0 16px; }
.cc-journal-article__body p:last-child { margin-bottom: 0; }
.cc-journal-articles__footer { padding-top: 42px; }
.cc-journal-articles__footer p {
  max-width: 720px;
  margin: 0;
  color: var(--cc-ink);
  font-family: var(--cc-serif);
  font-size: clamp(26px, 3vw, 42px);
  line-height: 1;
  letter-spacing: -.04em;
}
.cc-journal-articles__footer .cc-text-link { display: inline-flex; margin-top: 26px; }

@media (max-width: 800px) {
  .cc-journal-articles { padding: 78px 18px 86px; }
  .cc-journal-articles__header,
  .cc-journal-articles__footer { grid-template-columns: 1fr; gap: 24px; }
  .cc-journal-articles__header p { justify-self: start; }
  .cc-journal-articles__header h2 { font-size: clamp(21px, 5.5vw, 32px); }
  .cc-journal-articles__grid { grid-template-columns: 1fr; border-bottom: 0; }
  .cc-journal-article,
  .cc-journal-article:nth-child(even),
  .cc-journal-article:nth-child(n + 3) {
    padding: 24px 0 30px;
    border-left: 0;
    border-top: 0;
    border-bottom: 1px solid var(--cc-line);
  }
  .cc-journal-article:last-child { border-bottom: 0; }
  .cc-journal-article img { height: clamp(220px, 58vw, 340px); }
}

/* Scroll choreography for interior pages: reveal each section first, then
 * cascade its cards and editorial details in document order. The homepage
 * keeps its established first-load entrance timing. */
html.cc-motion-ready .cc-scroll-container {
  opacity: 0;
  clip-path: none;
  transform: translateY(12px);
  animation: none !important;
}
html.cc-motion-ready.cc-loaded .cc-scroll-container.cc-scroll-visible {
  animation: cc-container-wipe 760ms cubic-bezier(.22, .61, .36, 1) both !important;
}
html.cc-motion-ready .cc-scroll-item {
  opacity: 0;
  transform: translateY(12px);
  animation: none !important;
}
html.cc-motion-ready.cc-loaded .cc-scroll-item.cc-scroll-visible {
  animation: cc-element-rise 640ms cubic-bezier(.22, .61, .36, 1) var(--cc-scroll-item-delay, 0ms) both !important;
}
html.cc-scroll-enabled .cc-scroll-detail {
  opacity: 0;
  transform: translateY(12px);
}
html.cc-scroll-enabled.cc-loaded .cc-scroll-detail.cc-scroll-visible {
  animation: cc-element-rise 560ms cubic-bezier(.22, .61, .36, 1) var(--cc-scroll-detail-delay, 0ms) both;
}
html.cc-motion-fallback .cc-scroll-detail {
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
}

@media (prefers-reduced-motion: reduce) {
  html.cc-scroll-enabled .cc-scroll-detail {
    opacity: 1;
    transform: none;
    animation: none !important;
  }
}

/* Contact page interaction polish */
body.cc-staging-controls-active .cc-editorial-page--contact .cc-editorial-form .wpforms-form select {
  min-height: 48px;
  padding: 11px 42px 11px 14px !important;
  color: var(--cc-ink) !important;
  background-color: var(--cc-paper) !important;
  border: 1px solid rgba(23, 23, 23, .22) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  cursor: pointer;
  appearance: auto;
}

body.cc-staging-controls-active .cc-editorial-page--contact .cc-editorial-form .wpforms-form select:hover {
  background-color: var(--cc-paper) !important;
  border-color: var(--cc-warm) !important;
}

body.cc-staging-controls-active .cc-editorial-page--contact .cc-editorial-form .wpforms-form select:focus {
  background-color: var(--cc-paper) !important;
  border-color: var(--cc-warm) !important;
  outline: 0 !important;
  box-shadow: 0 0 0 2px rgba(199, 170, 130, .28) !important;
}

body.cc-staging-controls-active .cc-editorial-page--contact .cc-editorial-form .wpforms-form select option {
  color: var(--cc-ink);
  background: var(--cc-paper);
  font-family: var(--cc-sans);
}

@media (hover: hover) {
  body.cc-staging-controls-active .cc-editorial-page--contact a.cc-button,
  body.cc-staging-controls-active .cc-editorial-page--contact .cc-editorial-form .wpforms-form button[type="submit"],
  body.cc-staging-controls-active .cc-editorial-page--contact .cc-editorial-form .wpforms-form .wpforms-submit {
    transition:
      background-color 0.3s ease,
      border-color 0.3s ease,
      color 0.3s ease,
      transform 0.3s ease,
      box-shadow 0.3s ease;
  }

  body.cc-staging-controls-active .cc-editorial-page--contact a.cc-button:hover,
  body.cc-staging-controls-active .cc-editorial-page--contact a.cc-button:focus-visible,
  body.cc-staging-controls-active .cc-editorial-page--contact .cc-editorial-form .wpforms-form button[type="submit"]:hover,
  body.cc-staging-controls-active .cc-editorial-page--contact .cc-editorial-form .wpforms-form button[type="submit"]:focus-visible,
  body.cc-staging-controls-active .cc-editorial-page--contact .cc-editorial-form .wpforms-form .wpforms-submit:hover,
  body.cc-staging-controls-active .cc-editorial-page--contact .cc-editorial-form .wpforms-form .wpforms-submit:focus-visible {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(23, 23, 23, 0.12);
  }

  body.cc-staging-controls-active .cc-editorial-page--contact a.cc-button span {
    display: inline-block;
    transition: transform 0.3s ease;
  }

  body.cc-staging-controls-active .cc-editorial-page--contact a.cc-button:hover span,
  body.cc-staging-controls-active .cc-editorial-page--contact a.cc-button:focus-visible span {
    transform: translateX(5px);
  }

  body.cc-staging-controls-active .cc-editorial-page--contact a.cc-text-link {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: inherit;
    font-family: var(--cc-sans) !important;
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    text-decoration: none;
    transition: color 0.25s ease;
  }

  body.cc-staging-controls-active .cc-editorial-page--contact a.cc-text-link span {
    color: var(--cc-warm);
    display: inline-block;
    transition: transform 0.25s ease;
  }

  body.cc-staging-controls-active .cc-editorial-page--contact a.cc-text-link:hover,
  body.cc-staging-controls-active .cc-editorial-page--contact a.cc-text-link:focus-visible {
    color: var(--cc-warm);
  }

  body.cc-staging-controls-active .cc-editorial-page--contact a.cc-text-link:hover span,
  body.cc-staging-controls-active .cc-editorial-page--contact a.cc-text-link:focus-visible span {
    transform: translateX(5px);
  }

  body.cc-staging-controls-active .cc-editorial-page--contact a.cc-editorial-card {
    position: relative;
    transition:
      background-color 0.3s ease,
      border-color 0.3s ease,
      transform 0.3s ease,
      box-shadow 0.3s ease;
  }

  body.cc-staging-controls-active .cc-editorial-page--contact a.cc-editorial-card::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 2px;
    width: 0;
    background: var(--cc-warm);
    transition: width 0.3s ease;
  }

  body.cc-staging-controls-active .cc-editorial-page--contact a.cc-editorial-card:hover,
  body.cc-staging-controls-active .cc-editorial-page--contact a.cc-editorial-card:focus-visible {
    background: rgba(184, 151, 104, 0.1);
    border-color: var(--cc-warm);
    box-shadow: 0 8px 20px rgba(23, 23, 23, 0.08);
    transform: translateY(-2px);
  }

  body.cc-staging-controls-active .cc-editorial-page--contact a.cc-editorial-card:hover::after,
  body.cc-staging-controls-active .cc-editorial-page--contact a.cc-editorial-card:focus-visible::after {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.cc-staging-controls-active .cc-editorial-page--contact a.cc-button,
  body.cc-staging-controls-active .cc-editorial-page--contact a.cc-button span,
  body.cc-staging-controls-active .cc-editorial-page--contact a.cc-text-link,
  body.cc-staging-controls-active .cc-editorial-page--contact a.cc-text-link span,
  body.cc-staging-controls-active .cc-editorial-page--contact a.cc-editorial-card {
    transition: none !important;
  }

  body.cc-staging-controls-active .cc-editorial-page--contact a.cc-button:hover,
  body.cc-staging-controls-active .cc-editorial-page--contact a.cc-button:focus-visible,
  body.cc-staging-controls-active .cc-editorial-page--contact a.cc-editorial-card:hover,
  body.cc-staging-controls-active .cc-editorial-page--contact a.cc-editorial-card:focus-visible {
    box-shadow: none;
    transform: none;
  }
}

.cc-guides-library {
  background: var(--cc-paper);
  color: var(--cc-ink);
  padding: clamp(5rem, 9vw, 9rem) 0;
}

.cc-guides-library__inner {
  width: min(1400px, calc(100% - 4rem));
  margin: 0 auto;
}

.cc-guides-library__header {
  display: grid;
  grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr);
  gap: clamp(2rem, 6vw, 8rem);
  align-items: center;
  margin-bottom: clamp(3rem, 6vw, 6rem);
}

.cc-guides-library__header-side {
  display: grid;
  align-content: start;
  gap: 1.35rem;
}

.cc-guides-library__header-media {
  width: min(100%, 31rem);
  margin: 0 0 .9rem;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  background: rgba(23, 23, 23, .06);
}

.cc-guides-library__header-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cc-guides-library__header-side .cc-eyebrow {
  display: block;
}

.cc-guides-library__header-copy {
  align-self: center;
}

.cc-guides-library__header h2 {
  margin: .75rem 0 0;
  max-width: 12ch;
  color: var(--cc-ink);
  font-family: var(--cc-serif);
  font-size: clamp(2.5rem, 5vw, 6rem);
  font-weight: 400;
  line-height: .95;
}

.cc-guides-library__header p {
  margin: 0;
  max-width: 42rem;
  color: var(--cc-muted);
  font-size: clamp(1rem, 1.35vw, 1.35rem);
  line-height: 1.6;
}

.cc-guides-library__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(2rem, 4vw, 4rem);
}

.cc-guide-entry {
  display: flex;
  flex-direction: column;
  min-width: 0;
  border-top: 1px solid var(--cc-line);
  padding-top: 1.25rem;
}

.cc-guide-entry__media {
  margin: 0 0 1.75rem;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  background: var(--cc-paper);
}

.cc-guide-entry__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Preserve the natural proportions of floor plans and other guide artwork. */
.cc-guides-library__header-media img,
.cc-guide-entry__media img {
  object-fit: contain;
  object-position: center;
}

.cc-guide-entry__media figcaption {
  margin-top: .7rem;
  color: var(--cc-muted);
  font-family: var(--cc-sans);
  font-size: .7rem;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.cc-guide-entry__content h3 {
  margin: .75rem 0 1rem;
  color: var(--cc-ink);
  font-family: var(--cc-serif);
  font-size: clamp(.9rem, 1.4vw, 1.5rem);
  font-weight: 400;
  line-height: .98;
}

.cc-guide-entry__lead {
  color: var(--cc-muted);
  font-size: 1.05rem;
  line-height: 1.55;
}

.cc-guide-entry__body {
  margin-top: 1.5rem;
  color: var(--cc-muted);
  font-size: .96rem;
  line-height: 1.65;
}

.cc-guide-entry__body p {
  margin: 0 0 1rem;
}

.cc-guide-entry__resources {
  margin-top: 1.8rem;
  padding-top: 1.2rem;
  border-top: 1px solid var(--cc-line);
}

.cc-guide-entry__resources .cc-eyebrow {
  display: block;
  margin-bottom: .75rem;
}

.cc-guide-entry__resources ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.cc-guide-entry__resources li {
  padding: .55rem 0;
  border-bottom: 1px solid var(--cc-line);
  color: var(--cc-ink);
  font-size: .92rem;
}

.cc-guide-entry__link {
  display: inline-flex;
  margin-top: 1.75rem;
  color: var(--cc-ink);
}

@media (max-width: 900px) {
  .cc-guides-library__inner {
    width: min(100% - 2rem, 44rem);
  }

  .cc-guides-library__header {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }

  .cc-guides-library__header-copy {
    order: -1;
  }

  .cc-guides-library__header-media {
    width: 100%;
    max-width: none;
  }

  .cc-guides-library__header h2 {
    max-width: 15ch;
  }

  .cc-guides-library__grid {
    grid-template-columns: 1fr;
    gap: 3.5rem;
  }
}

/* 2026-08-05: calmer editorial scale for service and portfolio headings. */
.cc-editorial-hero h1 {
  font-size: clamp(29px, 4vw, 60px);
  line-height: .96;
  letter-spacing: -.045em;
}
.cc-editorial-page--video .cc-editorial-intro p,
.cc-editorial-page--design .cc-editorial-intro p,
.cc-editorial-page--content-creation .cc-editorial-intro p,
.cc-editorial-page--drone .cc-editorial-intro p,
.cc-editorial-page--testimonials .cc-editorial-intro p {
  font-size: clamp(21px, 2.8vw, 40px);
  line-height: 1.22;
}
.cc-parent-links__header h2,
.cc-editorial-statement__copy h2 {
  font-size: clamp(29px, 3.8vw, 57px);
  line-height: 1;
  letter-spacing: -.045em;
}
.cc-parent-links--design .cc-parent-links__header h2 {
  font-size: clamp(29px, 3.5vw, 53px);
}
.cc-portfolio-intro p {
  font-size: clamp(21px, 2.8vw, 40px);
  line-height: 1.18;
}
.cc-portfolio-section h2 {
  font-size: clamp(29px, 3.5vw, 53px);
  line-height: .98;
  letter-spacing: -.045em;
}
.cc-portfolio-cta h2 {
  font-size: clamp(21px, 3vw, 40px);
  line-height: 1;
  letter-spacing: -.04em;
}
.cc-vs-hero h1 {
  font-size: clamp(26px, 4vw, 52px);
  line-height: .98;
  letter-spacing: -.04em;
}
.cc-vs-suite__header h2,
.cc-content-suite__header h2 {
  font-size: clamp(29px, 3.5vw, 53px);
  line-height: 1;
  letter-spacing: -.045em;
}
.cc-vs-suite__footer-copy p,
.cc-content-suite__footer-copy p {
  font-size: clamp(18px, 2.1vw, 29px);
  line-height: 1.18;
}
.cc-vs-footer h2 {
  font-size: clamp(20px, 3vw, 38px);
  line-height: 1;
}
@media (min-width: 801px) {
  .cc-editorial-page--video .cc-editorial-statement__copy h2,
  .cc-editorial-page--design .cc-editorial-statement__copy h2,
  .cc-editorial-page--drone .cc-editorial-statement__copy h2 {
    max-width: none;
    white-space: nowrap;
  }
}

/* 2026-08-05: final page-specific typography balance. */
body.cc-staging-controls-active .cc-editorial-page--our-approach .cc-editorial-hero h1,
body.cc-staging-controls-active .cc-editorial-page--process .cc-editorial-hero h1,
body.cc-staging-controls-active .cc-editorial-page--testimonials .cc-editorial-hero h1 {
  font-size: clamp(24px, 2vw, 30px) !important;
  line-height: 1 !important;
}
body.cc-staging-controls-active .cc-editorial-page--our-approach .cc-editorial-intro p,
body.cc-staging-controls-active .cc-editorial-page--process .cc-editorial-intro p,
body.cc-staging-controls-active .cc-editorial-page--testimonials .cc-editorial-intro p {
  font-size: clamp(18px, 1.95vw, 28px) !important;
  line-height: 1.28 !important;
}
body.cc-staging-controls-active .cc-editorial-page--our-approach .cc-editorial-statement__copy h2,
body.cc-staging-controls-active .cc-editorial-page--process .cc-editorial-statement__copy h2 {
  font-size: clamp(22px, 2.65vw, 40px) !important;
  line-height: 1.03 !important;
}
body.cc-staging-controls-active .cc-editorial-page--testimonials .cc-testimonials-live__header h2 {
  font-size: clamp(24px, 3vw, 49px) !important;
  line-height: 1 !important;
}
@media (min-width: 1100px) {
  body.cc-staging-controls-active .cc-editorial-page--our-approach .cc-editorial-statement__copy h2,
  body.cc-staging-controls-active .cc-editorial-page--process .cc-editorial-statement__copy h2 {
    max-width: none !important;
    white-space: nowrap;
  }
}

/* 2026-08-05: unified editorial typography scale and floating-control sizing. */
body.cc-staging-controls-active .cc-editorial-page .cc-editorial-hero h1 {
  font-size: clamp(24px, 2.4vw, 36px) !important;
  line-height: 1 !important;
  letter-spacing: -.035em !important;
}

body.cc-staging-controls-active .cc-editorial-page .cc-editorial-intro p,
body.cc-staging-controls-active .cc-editorial-page .cc-portfolio-intro p {
  font-size: clamp(18px, 2.15vw, 30px) !important;
  line-height: 1.28 !important;
}

body.cc-staging-controls-active .cc-editorial-page .cc-editorial-statement__copy h2,
body.cc-staging-controls-active .cc-editorial-page .cc-parent-links__header h2,
body.cc-staging-controls-active .cc-editorial-page .cc-testimonials-live__header h2,
body.cc-staging-controls-active .cc-editorial-page .cc-guides-library__header h2,
body.cc-staging-controls-active .cc-editorial-page .cc-portfolio-section h2,
body.cc-staging-controls-active .cc-editorial-page .cc-portfolio-cta h2 {
  font-size: clamp(22px, 2.65vw, 40px) !important;
  line-height: 1.04 !important;
  letter-spacing: -.035em !important;
}

body.cc-staging-controls-active .cc-guides-library__header {
  align-items: end;
}

body.cc-staging-controls-active .cc-guides-library__header-copy {
  align-self: end;
  padding-bottom: 0;
}

body.cc-staging-controls-active .cc-guides-library__header h2 {
  margin: 0;
}

@media (min-width: 901px) {
  body.cc-staging-controls-active .cc-guides-library__header {
    grid-template-columns: minmax(0, 1.04fr) minmax(360px, .96fr);
    grid-template-rows: auto auto 1fr;
    column-gap: clamp(3rem, 7vw, 7rem);
    row-gap: 18px;
    align-items: start;
    padding: clamp(2rem, 3.5vw, 3.5rem) 0;
    border-top: 1px solid var(--cc-line);
    border-bottom: 1px solid var(--cc-line);
  }

  body.cc-staging-controls-active .cc-guides-library__header-side {
    display: contents;
  }

  body.cc-staging-controls-active .cc-guides-library__header-media {
    grid-column: 1;
    grid-row: 1 / 4;
    width: 100%;
    height: clamp(360px, 36vw, 460px);
    max-width: none;
    margin: 0;
    aspect-ratio: auto;
    align-self: start;
  }

  body.cc-staging-controls-active .cc-guides-library__header-side .cc-eyebrow {
    grid-column: 2;
    grid-row: 1;
    align-self: start;
  }

  body.cc-staging-controls-active .cc-guides-library__header-side > p {
    grid-column: 2;
    grid-row: 3;
    align-self: start;
    max-width: 38rem;
    margin-top: 6px;
  }

  body.cc-staging-controls-active .cc-guides-library__header-copy {
    grid-column: 2;
    grid-row: 2;
    align-self: start;
  }

  body.cc-staging-controls-active .cc-guides-library__header h2 {
    max-width: 18ch;
    margin: 0;
  }
}

body.cc-staging-controls-active .cky-btn-revisit-wrapper,
body.cc-staging-controls-active .cya11y-menu-btn {
  width: 50px !important;
  min-width: 50px !important;
  height: 50px !important;
  min-height: 50px !important;
  box-sizing: border-box !important;
}

@media (min-width: 1100px) {
  body.cc-staging-controls-active .cc-editorial-page--video .cc-editorial-statement__copy h2,
  body.cc-staging-controls-active .cc-editorial-page--design .cc-editorial-statement__copy h2,
  body.cc-staging-controls-active .cc-editorial-page--drone .cc-editorial-statement__copy h2,
  body.cc-staging-controls-active .cc-editorial-page--content-creation .cc-editorial-statement__copy h2,
  body.cc-staging-controls-active .cc-editorial-page--contact .cc-editorial-statement__copy h2,
  body.cc-staging-controls-active .cc-editorial-page--schedule .cc-editorial-statement__copy h2,
  body.cc-staging-controls-active .cc-editorial-page--journal .cc-editorial-statement__copy h2,
  body.cc-staging-controls-active .cc-editorial-page--guides-resources .cc-editorial-statement__copy h2,
  body.cc-staging-controls-active .cc-editorial-page--market-insights .cc-editorial-statement__copy h2 {
    max-width: none !important;
    white-space: nowrap;
  }
}

@media (max-width: 900px) {
  body.cc-staging-controls-active .cc-guides-library__header {
    align-items: start;
  }

  body.cc-staging-controls-active .cc-guides-library__header-copy {
    align-self: start;
  }
}
/* Floor plans: preserve the source artwork's aspect ratio everywhere it is shown. */
.cc-editorial-page--floor-plans img[src*="floorplan"],
.cc-editorial-page--floor-plans img[src*="floor-plan"] {
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-width: 100%;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  object-position: center;
}

.cc-editorial-page--floor-plans .cc-editorial-hero__media {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f7f6f2;
}

.cc-floor-plan-suite__footer-media,
.cc-floor-plan-suite__example-media {
  overflow: hidden;
}

.cc-floor-plan-suite__footer-media img,
.cc-floor-plan-suite__example-media img {
  display: block;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
}

/* Detail views should fit the complete plan instead of forcing it into a box. */
.cc-image-lightbox__stage {
  display: flex;
  align-items: center;
  justify-content: center;
}

.cc-image-lightbox__stage img {
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: 100%;
  max-height: calc(100vh - 180px);
  aspect-ratio: auto !important;
  object-fit: contain !important;
}

/* Photography parent links: keep both media cards identical and ensure the
 * linked-image sheen wrapper fills, rather than re-sizes, the 16:9 frame. */
.cc-parent-links--photography .cc-parent-link-card,
.cc-parent-links--photography .cc-parent-link-card + .cc-parent-link-card {
  padding: 24px 24px 34px !important;
}

.cc-parent-links--photography .cc-parent-link-card + .cc-parent-link-card {
  border-left: 0 !important;
  box-shadow: inset 1px 0 rgba(245, 242, 236, .2);
}

.cc-parent-links--photography .cc-parent-link-card__media > .cc-linked-image-sheen,
.cc-parent-links--photography .cc-parent-link-card__media .cc-linked-image-sheen > picture,
.cc-parent-links--photography .cc-parent-link-card__media .cc-linked-image-sheen > picture > img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
}

.cc-parent-links--photography .cc-parent-link-card__media .cc-linked-image-sheen > picture > img {
  aspect-ratio: auto !important;
  object-fit: cover !important;
  object-position: center !important;
}

/* Safari can leave custom lazy-load fades transparent after a rapid scroll.
 * Gallery and film grids load as complete visual sets, so never hide a poster
 * behind the staged-media opacity treatment. */
.cc-editorial-gallery__item img.cc-media-fade,
.cc-editorial-video-card__frame img.cc-media-fade {
  opacity: 1 !important;
}

/* Floor-plan feature cards share one media canvas and a calmer title scale. */
.cc-floor-plan-suite__card,
.cc-floor-plan-suite__card + .cc-floor-plan-suite__card {
  padding: 24px 24px 32px !important;
}

.cc-floor-plan-suite__card + .cc-floor-plan-suite__card {
  border-left: 0 !important;
  box-shadow: inset 1px 0 var(--cc-line);
}

.cc-floor-plan-suite__card figure {
  display: flex;
  align-items: center;
  justify-content: center;
  height: clamp(220px, 23vw, 330px);
}

.cc-floor-plan-suite__card img,
.cc-floor-plan-suite__card img[src*="floorplan"] {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  aspect-ratio: auto !important;
  object-fit: cover !important;
}

.cc-floor-plan-suite__card img[src*="floorplan"] {
  object-fit: contain !important;
}

.cc-floor-plan-suite__card h3 {
  font-size: clamp(24px, 2.3vw, 34px);
  line-height: 1;
}

@media (max-width: 800px) {
  .cc-floor-plan-suite__card,
  .cc-floor-plan-suite__card + .cc-floor-plan-suite__card {
    padding: 24px 0 30px !important;
  }

  .cc-floor-plan-suite__card + .cc-floor-plan-suite__card {
    box-shadow: none;
  }

  .cc-floor-plan-suite__card figure {
    height: clamp(220px, 58vw, 340px);
  }
}

/* The long About introduction needs a smaller reading scale than the shared
 * editorial intro rule while retaining its exact desktop image alignment. */
body.cc-staging-controls-active .cc-editorial-page--about .cc-editorial-intro p {
  font-size: clamp(15px, 1.7vw, 24px) !important;
  line-height: 1.35 !important;
}
