.elementor-kit-6{--e-global-color-primary:#303030;--e-global-color-secondary:#BFB6A8;--e-global-color-text:#303030;--e-global-color-accent:#303030;--e-global-color-canavy0:#2E4657;--e-global-color-caink01:#171717;--e-global-color-cablsh1:#C6ACA3;--e-global-color-castone:#F3F1EF;--e-global-color-calinen:#F9F8F5;--e-global-color-casand1:#EDEAE2;--e-global-color-cacream:#F4EEE6;--e-global-color-camist1:#D3D3D3;--e-global-color-cawhite:#FFFFFF;--e-global-color-caslate:#5F6A70;--e-global-typography-primary-font-family:"Editors Note";--e-global-typography-primary-font-size:64px;--e-global-typography-primary-font-weight:100;--e-global-typography-primary-line-height:1.1em;--e-global-typography-secondary-font-family:"Editors Note";--e-global-typography-secondary-font-size:26px;--e-global-typography-secondary-font-weight:100;--e-global-typography-secondary-font-style:italic;--e-global-typography-secondary-line-height:1.4em;--e-global-typography-text-font-family:"Work Sans";--e-global-typography-text-font-size:17px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.7em;--e-global-typography-accent-font-family:"Questrial";--e-global-typography-accent-font-size:12px;--e-global-typography-accent-font-weight:400;--e-global-typography-accent-text-transform:uppercase;--e-global-typography-accent-line-height:1.4em;--e-global-typography-accent-letter-spacing:3px;--e-global-typography-cah2000-font-family:"Editors Note";--e-global-typography-cah2000-font-size:46px;--e-global-typography-cah2000-font-weight:100;--e-global-typography-cah2000-line-height:1.15em;--e-global-typography-cah3000-font-family:"Editors Note";--e-global-typography-cah3000-font-size:30px;--e-global-typography-cah3000-font-weight:100;--e-global-typography-cah3000-line-height:1.25em;--e-global-typography-cah4000-font-family:"Editors Note";--e-global-typography-cah4000-font-size:24px;--e-global-typography-cah4000-font-weight:100;--e-global-typography-cah4000-font-style:italic;--e-global-typography-cah4000-line-height:1.3em;--e-global-typography-cah5000-font-family:"Questrial";--e-global-typography-cah5000-font-size:14px;--e-global-typography-cah5000-font-weight:400;--e-global-typography-cah5000-text-transform:uppercase;--e-global-typography-cah5000-line-height:1.4em;--e-global-typography-cah5000-letter-spacing:3px;--e-global-typography-cah6000-font-family:"Questrial";--e-global-typography-cah6000-font-size:12px;--e-global-typography-cah6000-font-weight:400;--e-global-typography-cah6000-text-transform:uppercase;--e-global-typography-cah6000-line-height:1.4em;--e-global-typography-cah6000-letter-spacing:3px;--e-global-typography-calead0-font-family:"Work Sans";--e-global-typography-calead0-font-size:20px;--e-global-typography-calead0-font-weight:400;--e-global-typography-calead0-line-height:1.6em;--e-global-typography-cacapt0-font-family:"Work Sans";--e-global-typography-cacapt0-font-size:14px;--e-global-typography-cacapt0-font-weight:400;--e-global-typography-cacapt0-line-height:1.6em;--e-global-typography-canav00-font-family:"Questrial";--e-global-typography-canav00-font-size:13px;--e-global-typography-canav00-font-weight:400;--e-global-typography-canav00-text-transform:uppercase;--e-global-typography-canav00-line-height:1.4em;--e-global-typography-canav00-letter-spacing:2.5px;--e-global-typography-cascrlg-font-family:"Editors Note";--e-global-typography-cascrlg-font-size:40px;--e-global-typography-cascrlg-font-weight:100;--e-global-typography-cascrlg-font-style:italic;--e-global-typography-cascrlg-line-height:1.2em;--e-global-typography-cawater-font-family:"Editors Note";--e-global-typography-cawater-font-size:260px;--e-global-typography-cawater-font-weight:100;--e-global-typography-cawater-text-transform:uppercase;--e-global-typography-cawater-line-height:0.85em;--e-global-typography-cascrsm-font-family:"Editors Note";--e-global-typography-cascrsm-font-size:18px;--e-global-typography-cascrsm-font-weight:100;--e-global-typography-cascrsm-font-style:italic;--e-global-typography-cascrsm-line-height:1.3em;color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );text-transform:var( --e-global-typography-accent-text-transform );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );color:var( --e-global-color-cawhite );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-accent );border-radius:0px 0px 0px 0px;padding:20px 36px 19px 36px;}.elementor-kit-6 button:hover,.elementor-kit-6 button:focus,.elementor-kit-6 input[type="button"]:hover,.elementor-kit-6 input[type="button"]:focus,.elementor-kit-6 input[type="submit"]:hover,.elementor-kit-6 input[type="submit"]:focus,.elementor-kit-6 .elementor-button:hover,.elementor-kit-6 .elementor-button:focus{background-color:var( --e-global-color-canavy0 );color:var( --e-global-color-cawhite );}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 a{color:var( --e-global-color-accent );}.elementor-kit-6 a:hover{color:var( --e-global-color-canavy0 );}.elementor-kit-6 h1{color:var( --e-global-color-primary );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );}.elementor-kit-6 h2{color:var( --e-global-color-primary );font-family:var( --e-global-typography-cah2000-font-family ), Sans-serif;font-size:var( --e-global-typography-cah2000-font-size );font-weight:var( --e-global-typography-cah2000-font-weight );line-height:var( --e-global-typography-cah2000-line-height );}.elementor-kit-6 h3{color:var( --e-global-color-primary );font-family:var( --e-global-typography-cah3000-font-family ), Sans-serif;font-size:var( --e-global-typography-cah3000-font-size );font-weight:var( --e-global-typography-cah3000-font-weight );line-height:var( --e-global-typography-cah3000-line-height );}.elementor-kit-6 h4{color:var( --e-global-color-primary );font-family:var( --e-global-typography-cah4000-font-family ), Sans-serif;font-size:var( --e-global-typography-cah4000-font-size );font-weight:var( --e-global-typography-cah4000-font-weight );font-style:var( --e-global-typography-cah4000-font-style );line-height:var( --e-global-typography-cah4000-line-height );}.elementor-kit-6 h5{color:var( --e-global-color-accent );font-family:var( --e-global-typography-cah5000-font-family ), Sans-serif;font-size:var( --e-global-typography-cah5000-font-size );font-weight:var( --e-global-typography-cah5000-font-weight );text-transform:var( --e-global-typography-cah5000-text-transform );line-height:var( --e-global-typography-cah5000-line-height );letter-spacing:var( --e-global-typography-cah5000-letter-spacing );}.elementor-kit-6 h6{color:var( --e-global-color-accent );font-family:var( --e-global-typography-cah6000-font-family ), Sans-serif;font-size:var( --e-global-typography-cah6000-font-size );font-weight:var( --e-global-typography-cah6000-font-weight );text-transform:var( --e-global-typography-cah6000-text-transform );line-height:var( --e-global-typography-cah6000-line-height );letter-spacing:var( --e-global-typography-cah6000-letter-spacing );}.elementor-kit-6 label{color:var( --e-global-color-primary );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );text-transform:var( --e-global-typography-accent-text-transform );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-kit-6 input:not([type="button"]):not([type="submit"]),.elementor-kit-6 textarea,.elementor-kit-6 .elementor-field-textual{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );color:var( --e-global-color-primary );background-color:var( --e-global-color-cawhite );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-camist1 );border-radius:0px 0px 0px 0px;padding:14px 16px 14px 16px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1366px){.elementor-kit-6{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-6 h1{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-kit-6 h2{font-size:var( --e-global-typography-cah2000-font-size );line-height:var( --e-global-typography-cah2000-line-height );}.elementor-kit-6 h3{font-size:var( --e-global-typography-cah3000-font-size );line-height:var( --e-global-typography-cah3000-line-height );}.elementor-kit-6 h4{font-size:var( --e-global-typography-cah4000-font-size );line-height:var( --e-global-typography-cah4000-line-height );}.elementor-kit-6 h5{font-size:var( --e-global-typography-cah5000-font-size );line-height:var( --e-global-typography-cah5000-line-height );letter-spacing:var( --e-global-typography-cah5000-letter-spacing );}.elementor-kit-6 h6{font-size:var( --e-global-typography-cah6000-font-size );line-height:var( --e-global-typography-cah6000-line-height );letter-spacing:var( --e-global-typography-cah6000-letter-spacing );}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-kit-6 label{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-kit-6 input:not([type="button"]):not([type="submit"]),.elementor-kit-6 textarea,.elementor-kit-6 .elementor-field-textual{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}}@media(max-width:1024px){.elementor-kit-6{--e-global-typography-primary-font-size:50px;--e-global-typography-secondary-font-size:24px;--e-global-typography-text-font-size:17px;--e-global-typography-accent-font-size:12px;--e-global-typography-cah2000-font-size:38px;--e-global-typography-cah3000-font-size:27px;--e-global-typography-cah4000-font-size:22px;--e-global-typography-cah5000-font-size:14px;--e-global-typography-cah6000-font-size:12px;--e-global-typography-calead0-font-size:19px;--e-global-typography-cacapt0-font-size:14px;--e-global-typography-canav00-font-size:13px;--e-global-typography-cascrlg-font-size:34px;--e-global-typography-cawater-font-size:170px;--e-global-typography-cascrsm-font-size:18px;font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-6 h1{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-kit-6 h2{font-size:var( --e-global-typography-cah2000-font-size );line-height:var( --e-global-typography-cah2000-line-height );}.elementor-kit-6 h3{font-size:var( --e-global-typography-cah3000-font-size );line-height:var( --e-global-typography-cah3000-line-height );}.elementor-kit-6 h4{font-size:var( --e-global-typography-cah4000-font-size );line-height:var( --e-global-typography-cah4000-line-height );}.elementor-kit-6 h5{font-size:var( --e-global-typography-cah5000-font-size );line-height:var( --e-global-typography-cah5000-line-height );letter-spacing:var( --e-global-typography-cah5000-letter-spacing );}.elementor-kit-6 h6{font-size:var( --e-global-typography-cah6000-font-size );line-height:var( --e-global-typography-cah6000-line-height );letter-spacing:var( --e-global-typography-cah6000-letter-spacing );}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-kit-6 label{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-kit-6 input:not([type="button"]):not([type="submit"]),.elementor-kit-6 textarea,.elementor-kit-6 .elementor-field-textual{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-6{--e-global-typography-primary-font-size:38px;--e-global-typography-secondary-font-size:21px;--e-global-typography-text-font-size:16px;--e-global-typography-accent-font-size:12px;--e-global-typography-cah2000-font-size:32px;--e-global-typography-cah3000-font-size:24px;--e-global-typography-cah4000-font-size:20px;--e-global-typography-cah5000-font-size:13px;--e-global-typography-cah6000-font-size:12px;--e-global-typography-calead0-font-size:18px;--e-global-typography-cacapt0-font-size:14px;--e-global-typography-canav00-font-size:13px;--e-global-typography-cascrlg-font-size:28px;--e-global-typography-cawater-font-size:96px;--e-global-typography-cascrsm-font-size:16px;font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-6 h1{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-kit-6 h2{font-size:var( --e-global-typography-cah2000-font-size );line-height:var( --e-global-typography-cah2000-line-height );}.elementor-kit-6 h3{font-size:var( --e-global-typography-cah3000-font-size );line-height:var( --e-global-typography-cah3000-line-height );}.elementor-kit-6 h4{font-size:var( --e-global-typography-cah4000-font-size );line-height:var( --e-global-typography-cah4000-line-height );}.elementor-kit-6 h5{font-size:var( --e-global-typography-cah5000-font-size );line-height:var( --e-global-typography-cah5000-line-height );letter-spacing:var( --e-global-typography-cah5000-letter-spacing );}.elementor-kit-6 h6{font-size:var( --e-global-typography-cah6000-font-size );line-height:var( --e-global-typography-cah6000-line-height );letter-spacing:var( --e-global-typography-cah6000-letter-spacing );}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );padding:18px 26px 17px 26px;}.elementor-kit-6 label{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-kit-6 input:not([type="button"]):not([type="submit"]),.elementor-kit-6 textarea,.elementor-kit-6 .elementor-field-textual{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* Creative Atmosphere: navigation details (Elementor Site Settings > Custom CSS, written by kit.py)
   Why: Elementor's Nav Menu has no control for numbering items, and the live site's roman-numeral
   motif was hard-coded into the menu labels as HTML. Counters keep the labels plain and editable. */

/* Small "New" badge for menu items given the CSS class menu-new-badge (10Project until Nov 30) */
.elementor .elementor-element .menu-new-badge > a::after {
  content: "New";
  position: static; opacity: 1; width: auto; height: auto; transform: none;
  margin-left: 8px;
  padding: 2px 7px;
  font-size: 10px;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--e-global-color-cawhite);
  background: var(--e-global-color-accent);
}

/* Slow scrolling strip of short phrases (Home). Elementor V3 has no marquee widget.
   The Heading widget holds the phrases twice so the loop is seamless; it stops for reduced-motion users. */
.ca-marquee { overflow: hidden; }
.ca-marquee .elementor-heading-title { display: flex; width: max-content; white-space: nowrap; animation: ca-marquee 50s linear infinite; }
.ca-marquee .elementor-heading-title span { padding-right: 32px; }
.ca-marquee:hover .elementor-heading-title { animation-play-state: paused; }
@keyframes ca-marquee { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) {
  .ca-marquee .elementor-heading-title { animation: none; width: auto; white-space: normal; flex-wrap: wrap; justify-content: center; }
  .ca-marquee .elementor-heading-title span:nth-child(n+9) { display: none; }
}

/* Overlapping round client photos beside the review line (Home hero) */
.ca-avatars .elementor-widget-image + .elementor-widget-image { margin-left: -12px; }

/* Underlined text links, Davey & Krista style ("Explore branding —"). Class added to Heading widgets. */
.ca-link a { border-bottom: 1px solid currentColor; padding-bottom: 4px; }
.ca-link a:hover { color: var(--e-global-color-canavy0); }

/* Giant faded background words (decorative; aria-hidden). Kept on one line and clipped by the section. */
.ca-watermark .elementor-heading-title { white-space: nowrap; pointer-events: none; user-select: none; }

/* Scrolling watermark (Home hero: "Creative Atmosphere"). The words are repeated inside the Heading widget
   so the loop is seamless; reuses the ca-marquee keyframes and stops for reduced-motion users. */
.ca-watermark--scroll .elementor-heading-title { display: flex; width: max-content; animation: ca-marquee 70s linear infinite; }
.ca-watermark--scroll .elementor-heading-title span { padding-right: 0.35em; }
@media (prefers-reduced-motion: reduce) { .ca-watermark--scroll .elementor-heading-title { animation: none; } }

/* Links inside text on dark (charcoal) sections */
.ca-on-dark a { color: var(--e-global-color-casand1); text-decoration: underline; text-underline-offset: 3px; }
.ca-on-dark a:hover { color: var(--e-global-color-cawhite); }

/* Fixed hero photo on service pages. Elementor only applies "fixed" above its largest breakpoint (1366px),
   so this extends it to laptops; phones and tablets keep a normal scrolling background. */
@media (min-width: 1025px) { .ca-hero-fixed { background-attachment: fixed; } }

/* Respect reduced-motion settings for Elementor entrance animations: show content immediately, no movement. */
@media (prefers-reduced-motion: reduce) {
  .elementor-invisible { visibility: visible !important; }
  .elementor-element.animated { animation: none !important; }
}

/* Portfolio cards: gentle image zoom on hover (stays inside the frame). */
.ca-work .elementor-widget-image { overflow: hidden; }
.ca-work .elementor-widget-image img { transition: transform .6s ease; }
.ca-work:hover .elementor-widget-image img, .ca-work:focus-within .elementor-widget-image img { transform: scale(1.04); }
@media (prefers-reduced-motion: reduce) { .ca-work .elementor-widget-image img { transition: none; } .ca-work:hover .elementor-widget-image img { transform: none; } }

/* In-page jump links land below the sticky header */
[id] { scroll-margin-top: 120px; }

/* Portfolio filter tabs (script in Perfmatters: ca-portfolio-filter.js) */
.ca-work.is-hidden { display: none; }
.ca-filter-tab a { padding-bottom: 6px; border-bottom: 1px solid transparent; }
.ca-filter-tab.is-active a, .ca-filter-tab a:hover { border-bottom-color: currentColor; }

/* Footer: roman numerals before menu items */
.ca-foot-list .ca-roman { display: inline-block; width: 2.4em; color: var(--e-global-color-caslate); }

/* Footer Instagram (Smash Balloon feed 1, Kristen 2026-10-19): one row of photos, wider than the screen and centred,
   so the outer photos run off both edges. Flex centring overflows equally left and right; the widget clips it.
   Phones get 3 posts (plugin setting), each 40% of the screen; larger screens get 9 at 12.5% each. */
.ca-ig-feed { overflow: hidden; }
.ca-ig-feed #sb_instagram { padding: 0 !important; width: 100% !important; }
.ca-ig-feed #sb_instagram #sbi_images { display: flex !important; flex-wrap: nowrap; justify-content: center; gap: 10px !important; padding: 0 !important; }
.ca-ig-feed #sb_instagram #sbi_images .sbi_item { flex: 0 0 12.5vw; width: 12.5vw !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }
.ca-ig-feed #sb_instagram .sbi_photo { transition: opacity .3s ease; }
.ca-ig-feed #sb_instagram .sbi_photo:hover { opacity: .85; }
.ca-ig-feed #sb_instagram #sbi_load, .ca-ig-feed #sb_instagram .sb_instagram_header { display: none !important; }
@media (max-width: 767px) {
  .ca-ig-feed #sb_instagram #sbi_images .sbi_item { flex-basis: 40vw; width: 40vw !important; }
  .ca-ig-feed #sb_instagram #sbi_images .sbi_item:nth-child(n+4) { display: none !important; }  /* newest three, so the latest posts sit in view */
}

/* Footer feature link bar: items wrap and stay centred on small screens */
.ca-feature-links .elementor-nav-menu { flex-wrap: wrap; justify-content: center; }

/* Top bar CTA (header): one Text Editor widget the owner edits often (grant, 10Project, booking dates).
   Plain text and links = small caps; italic text = the script font. Centred and allowed to wrap on phones. */
.ca-topbar-cta p {
  margin: 0; line-height: 1.4;
  font-family: var(--e-global-typography-accent-font-family), sans-serif;
  font-size: 10px; letter-spacing: 2px; text-transform: uppercase;
  color: var(--e-global-color-casand1);
}
.ca-topbar-cta em {
  font-family: var(--e-global-typography-cascrsm-font-family), serif;
  font-weight: 100; font-size: 15px; letter-spacing: 0; text-transform: none;
  margin-right: 4px;
}
.ca-topbar-cta a { color: var(--e-global-color-casand1); margin-left: 4px; }
.ca-topbar-cta a:hover { color: var(--e-global-color-cawhite); }
@media (max-width: 767px) { .ca-topbar-cta p { text-align: center; line-height: 1.7; } .ca-topbar-cta a { white-space: nowrap; } }  /* the link drops to its own line whole */

/* Home: client logo bar. Logos share one height so wide and narrow marks look balanced */
.ca-logos img { height: 52px; width: auto; max-width: none; filter: grayscale(1); opacity: .75; transition: filter .3s ease, opacity .3s ease; }
.ca-logos img:hover { filter: none; opacity: 1; }  /* grey like the live strip, colour on hover */
@media (max-width: 1024px) { .ca-logos img { height: 44px; } }
@media (max-width: 767px) { .ca-logos img { height: 36px; } }

/* Google review strip (template "CA Block: Google Reviews"), after the Davey & Krista review cards.
   ca-site.js duplicates the cards and adds .is-looping for a seamless sideways scroll; without it the row swipes. */
.ca-reviews { overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding: 4px 0 8px; }
.ca-reviews::-webkit-scrollbar { display: none; }
.ca-reviews.is-looping { overflow: hidden; scroll-snap-type: none; }
.elementor .elementor-element.ca-reviews-track { width: max-content; max-width: none; }
.ca-reviews.is-looping .ca-reviews-track { animation: ca-marquee var(--ca-loop, 120s) linear infinite; }
.ca-reviews.is-looping:hover .ca-reviews-track, .ca-reviews.is-looping:focus-within .ca-reviews-track { animation-play-state: paused; }
.elementor .elementor-element.ca-review {
  position: relative; flex: 0 0 380px; width: 380px; margin-right: 24px; scroll-snap-align: start;
  border: 1px solid var(--e-global-color-casand1); border-radius: 16px;
}
.ca-review-g-wrap { position: absolute !important; top: 22px; right: 24px; width: 20px !important; }
.ca-review-g { display: block; width: 20px; height: 20px; }
.ca-review-name .elementor-heading-title { letter-spacing: 1.5px; font-weight: 600; padding-right: 28px; }
.ca-review-meta p { margin: 0; font-size: 12px; color: var(--e-global-color-caslate); }
.ca-stars { color: #FBBC04; letter-spacing: 2px; margin-right: 4px; }
.ca-review-text p {
  margin: 0; font-size: 14px; line-height: 1.6; color: var(--e-global-color-primary);
  display: -webkit-box; -webkit-line-clamp: 6; -webkit-box-orient: vertical; overflow: hidden;
}
.ca-review-text strong { font-weight: 600; }
.elementor .elementor-element.ca-review-link { margin-top: auto; }
.ca-review-link .elementor-heading-title { font-size: 10px; letter-spacing: 2px; }
@media (max-width: 767px) { .elementor .elementor-element.ca-review { flex-basis: 290px; width: 290px; margin-right: 16px; } }
@media (prefers-reduced-motion: reduce) { .ca-reviews.is-looping .ca-reviews-track { animation: none; } .ca-reviews.is-looping { overflow-x: auto; } }

/* Project cards styled like the Portfolio gallery, used in project sliders (service_page.project_card) */
.elementor .elementor-element.ca-proj-card { flex: 0 0 400px; width: 400px; margin-right: 20px; scroll-snap-align: start; }
.ca-proj-card .elementor-heading-title { color: var(--e-global-color-primary); }
.ca-proj-card .elementor-widget-heading:last-child .elementor-heading-title { letter-spacing: 3px; text-transform: uppercase; }
@media (max-width: 767px) { .elementor .elementor-element.ca-proj-card { flex-basis: 290px; width: 290px; margin-right: 14px; } }
.elementor .elementor-element.ca-proj-card.ca-proj-grid { flex: 0 1 auto; width: var(--width); margin-right: 0; }  /* grid cards take the Elementor width setting */
/* Project card photos keep one landscape shape everywhere (like the portfolio), instead of a fixed height that turns tall in narrow cards */
.elementor .elementor-element.ca-proj-card img { height: auto !important; aspect-ratio: 6 / 5; object-fit: cover; }

/* FAQ, open-line style (service_page.faq_section, class .ca-faq on the charcoal FAQ band). It is a Toggle widget since
   2026-10-20 so every question starts closed (Kristen); the accordion .elementor-kit-6s stay for any older FAQ still on a page. */
.elementor .elementor-element.ca-faq .elementor-accordion-item, .elementor .elementor-element.ca-faq .elementor-toggle-item { border: 0 !important; border-bottom: 1px solid rgba(232, 225, 214, .22) !important; margin: 0 !important; }
.elementor .elementor-element.ca-faq .elementor-accordion-item:first-child, .elementor .elementor-element.ca-faq .elementor-toggle-item:first-child { border-top: 1px solid rgba(232, 225, 214, .22) !important; }
.elementor .elementor-element.ca-faq .elementor-tab-title,
.elementor .elementor-element.ca-faq .elementor-tab-content { background: transparent !important; border: 0 !important; }
.elementor .elementor-element.ca-faq .elementor-tab-title .elementor-accordion-title, .elementor .elementor-element.ca-faq .elementor-tab-title .elementor-toggle-title {
  font-family: var(--e-global-typography-primary-font-family), serif; font-weight: 100; font-style: normal;
  font-size: 26px; line-height: 1.25; letter-spacing: 0; color: var(--e-global-color-cawhite); transition: color .25s ease;
}
.elementor .elementor-element.ca-faq .elementor-tab-title.elementor-active .elementor-accordion-title, .elementor .elementor-element.ca-faq .elementor-tab-title.elementor-active .elementor-toggle-title,
.elementor .elementor-element.ca-faq .elementor-tab-title:hover .elementor-accordion-title, .elementor .elementor-element.ca-faq .elementor-tab-title:hover .elementor-toggle-title { color: var(--e-global-color-casand1); }
.elementor .elementor-element.ca-faq .elementor-accordion-icon, .elementor .elementor-element.ca-faq .elementor-toggle-icon {
  width: 38px; height: 38px; border: 1px solid rgba(232, 225, 214, .45); border-radius: 50%;
  display: inline-flex !important; align-items: center; justify-content: center; font-size: 12px; flex: 0 0 38px; margin: 0 !important;
}
.elementor .elementor-element.ca-faq .elementor-tab-title { display: flex; align-items: center; flex-direction: row-reverse; justify-content: space-between; gap: 20px; }
.elementor .elementor-element.ca-faq .elementor-tab-title.elementor-active .elementor-accordion-icon, .elementor .elementor-element.ca-faq .elementor-tab-title.elementor-active .elementor-toggle-icon { background: var(--e-global-color-casand1); border-color: var(--e-global-color-casand1); color: var(--e-global-color-accent); }
.elementor .elementor-element.ca-faq .elementor-tab-title.elementor-active .elementor-accordion-icon i, .elementor .elementor-element.ca-faq .elementor-tab-title.elementor-active .elementor-toggle-icon i { color: var(--e-global-color-accent) !important; }
.elementor .elementor-element.ca-faq .elementor-tab-content p { margin: 0; max-width: 60ch; line-height: 1.7; }
@media (max-width: 767px) {
  .elementor .elementor-element.ca-faq .elementor-tab-title .elementor-accordion-title, .elementor .elementor-element.ca-faq .elementor-tab-title .elementor-toggle-title { font-size: 21px; }
  .elementor .elementor-element.ca-faq .elementor-tab-content { padding-right: 0 !important; }
}
.elementor .elementor-element.ca-faq .elementor-accordion-icon svg, .elementor .elementor-element.ca-faq .elementor-toggle-icon svg { width: 12px; height: 12px; fill: var(--e-global-color-casand1); }
.elementor .elementor-element.ca-faq .elementor-tab-title.elementor-active .elementor-accordion-icon svg, .elementor .elementor-element.ca-faq .elementor-tab-title.elementor-active .elementor-toggle-icon svg { fill: var(--e-global-color-accent) !important; }

/* Journal: category tiles (square photo in a white frame) and search box */
.ca-cat-tile img { aspect-ratio: 1 / 1; height: auto !important; object-fit: cover; }
.ca-cat-tile:hover img { opacity: .9; }
.ca-journal-search .elementor-search-form__input { font-family: var(--e-global-typography-primary-font-family), serif; font-style: italic; font-size: 16px; }
.elementor .elementor-element.ca-journal-search { width: 100%; max-width: 360px; }

/* Single post: previous / next links get room so long titles don't run into each other */
.ca-post-nav .elementor-post-navigation { gap: 40px; align-items: flex-start; padding: 24px 0; }
.ca-post-nav .elementor-post-navigation__prev, .ca-post-nav .elementor-post-navigation__next { flex: 1 1 0; min-width: 0; max-width: 44%; }
.ca-post-nav .elementor-post-navigation__link a { gap: 14px; align-items: flex-start; }
.ca-post-nav .post-navigation__prev--title, .ca-post-nav .post-navigation__next--title { white-space: normal; overflow: visible; text-overflow: clip; line-height: 1.3; }
.ca-post-nav .elementor-post-navigation__separator-wrapper { flex: 0 0 auto; align-self: stretch; }
@media (max-width: 767px) {
  .ca-post-nav .elementor-post-navigation { flex-direction: column; gap: 24px; }
  .ca-post-nav .elementor-post-navigation__prev, .ca-post-nav .elementor-post-navigation__next { max-width: 100%; }
  .ca-post-nav .elementor-post-navigation__next a { justify-content: flex-start; text-align: left; }
  .ca-post-nav .elementor-post-navigation__separator-wrapper { display: none; }
}

/* Propel Grant application window (ca-site.js section 5 adds body.ca-propel-is-before / -open / -after).
   Messages are hidden until the script decides; outside the window the form is hidden and the matching message shows. */
.elementor .elementor-element.ca-propel-msg { display: none; }
body.ca-propel-is-before .elementor-element.ca-propel-before,
body.ca-propel-is-after .elementor-element.ca-propel-after { display: flex; }
body.ca-propel-is-before .elementor-element.ca-propel-form,
body.ca-propel-is-after .elementor-element.ca-propel-form { display: none; }

/* Page-end CTA testimonials (Kristen, 2026-10-20): all quotes are in the HTML, only the first shows by default;
   ca-site.js (section 6) swaps in a random one on each page load with an inline style. */
.ca-cta-quotes .ca-cta-quote:not(:first-child) { display: none; }


/* Creative Atmosphere: blog post content (Elementor Site Settings > Custom CSS, written by kit.py)
   Why: Elementor's Post Content widget has no controls for the elements inside the post body
   (lists, quotes, captions, spacing between headings). Fonts and colours come from the Kit's variables,
   so changing the Kit still restyles posts. Scoped to the widget class .ca-post-content only. */
.ca-post-content { overflow-wrap: break-word; }
.ca-post-content p { margin: 0 0 1.25em; }
.ca-post-content h2 { margin: 1.7em 0 0.5em; }
.ca-post-content h3 { margin: 1.5em 0 0.45em; }
.ca-post-content h4, .ca-post-content h5, .ca-post-content h6 { margin: 1.4em 0 0.4em; }
.ca-post-content > .elementor-widget-container > :first-child { margin-top: 0; }
.ca-post-content a { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.ca-post-content a:hover { text-decoration-color: var(--e-global-color-secondary); }
.ca-post-content ul, .ca-post-content ol { margin: 0 0 1.5em; padding-left: 1.4em; }
.ca-post-content li { margin-bottom: 0.5em; padding-left: 0.2em; }
.ca-post-content li::marker { color: var(--e-global-color-accent); }
.ca-post-content blockquote {
  margin: 2em 0; padding: 0.25em 0 0.25em 1.5em;
  border-left: 2px solid var(--e-global-color-secondary);
}
.ca-post-content blockquote p {
  font-family: var(--e-global-typography-secondary-font-family), serif;
  font-weight: var(--e-global-typography-secondary-font-weight);
  font-style: italic;
  font-size: var(--e-global-typography-secondary-font-size);
  line-height: var(--e-global-typography-secondary-line-height);
  margin-bottom: 0.5em;
}
.ca-post-content blockquote cite {
  font-family: var(--e-global-typography-accent-font-family), sans-serif;
  font-size: 12px; letter-spacing: 3px; text-transform: uppercase; font-style: normal;
  color: var(--e-global-color-caslate);
}
.ca-post-content figure { margin: 2em 0; }
.ca-post-content img { height: auto; max-width: 100%; display: block; }
.ca-post-content figcaption, .ca-post-content .wp-caption-text {
  margin-top: 0.75em; text-align: center;
  font-family: var(--e-global-typography-cacapt0-font-family), sans-serif;
  font-size: var(--e-global-typography-cacapt0-font-size);
  color: var(--e-global-color-caslate);
}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Editors Note';
	font-style: normal;
	font-weight: 100;
	font-display: swap;
	src: url('https://creativeatmosphere.ca/wp-content/uploads/2026/10/EditorsNote-Thin.woff2') format('woff2'),
		url('https://creativeatmosphere.ca/wp-content/uploads/2026/10/EditorsNote-Thin.woff') format('woff');
}
@font-face {
	font-family: 'Editors Note';
	font-style: italic;
	font-weight: 100;
	font-display: swap;
	src: url('https://creativeatmosphere.ca/wp-content/uploads/2026/10/EditorsNote-ThinItalic.woff2') format('woff2'),
		url('https://creativeatmosphere.ca/wp-content/uploads/2026/10/EditorsNote-ThinItalic.woff') format('woff');
}
/* End Custom Fonts CSS */