@font-face{
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/barlow-condensed-400.woff2') format('woff2');
}
@font-face{
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('../fonts/barlow-condensed-500.woff2') format('woff2');
}
@font-face{
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../fonts/barlow-condensed-600.woff2') format('woff2');
}
@font-face{
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../fonts/barlow-condensed-700.woff2') format('woff2');
}
@font-face{
  font-family: 'Barlow Condensed';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/barlow-condensed-400italic.woff2') format('woff2');
}
@font-face{
  font-family: 'Barlow Condensed';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url('../fonts/barlow-condensed-600italic.woff2') format('woff2');
}
@font-face{
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/barlow-400.woff2') format('woff2');
}
@font-face{
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../fonts/barlow-600.woff2') format('woff2');
}
@font-face{
  font-family: 'Dancing Script';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('../fonts/dancing-script-400-700.woff2') format('woff2');
}
:root{
  --corritore-navy: #000E2C;
  --corritore-navy-bright: #002169;
  --corritore-rust: #884325;
  --corritore-gray: #4A4A4A;
  --corritore-gray-light: #B2B2AD;
  --corritore-cream: #F2EEE3;
  --corritore-tan: #D8D3BD;
}

body, p, li, .entry-content{
  font-family: 'Barlow Condensed', sans-serif;
}
h1, h2, h3, h4, h5, h6,
.wp-block-heading{
  font-family: "ivypresto-display", serif;
  font-weight: 400;
}
#masthead .onepress-menu > li > a{
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 20px;
  font-weight: 400;
  letter-spacing: 0px;
  text-align: center;
  text-transform: uppercase;
  position: relative;
}
/* Desktop nav hover: an animated underline instead of the color swap
   functions.php outputs (main_menu_hoveractive_color) — override that back
   to the resting color and add the same underline treatment as the mobile
   drawer, excluding the "Discuss a Project" pill button. */
#masthead .onepress-menu > li:not(.header-nav-buttons) > a:hover{
  color: #fff !important;
  text-decoration: none !important;
}
#masthead .onepress-menu > li:not(.header-nav-buttons) > a::after{
  content: "";
  position: absolute;
  left: 0;
  bottom: -4px;
  width: 100%;
  height: 2px;
  background: #fff;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s ease;
}
#masthead .onepress-menu > li:not(.header-nav-buttons) > a:hover::after{
  transform: scaleX(1);
}
.wp-block-button__link,
.kt-btn,
.wp-block-kadence-advancedbtn a{
  font-family: 'Barlow Condensed', sans-serif;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.fa6, .fa6b, .fa6l{
  font-family: 'Font Awesome 6 Pro' !important;
}
.fa6b{
  font-weight: bold !important;
}
.fa6l{
  font-weight: 300 !important
}
.fa-twitter:before {
  content: "\e61b"  !important;
  font-family: 'Font Awesome 6 Brands';
}
.no-sidebar .entry-content > .alignfull{
  max-width: 100vw;
  max-width: calc(var(--vw, 1vw) * 100);
  width: 100vw;
  width: calc(var(--vw, 1vw) * 100);
  transform: translateX(-50%);
  left: 50%;
  position: relative;
}
.kt-inner-column-height-full.kt-tab-layout-inherit:not(.kt-row-layout-row)>.wp-block-kadence-column>.kt-inside-inner-col, .kt-inner-column-height-full.kt-tab-layout-row>.wp-block-kadence-column>.kt-inside-inner-col{
  height: 100% !important;
}
.no-sidebar .entry-content > .alignfull{
  transform: unset;
  width: 100%;
  width: 100vw;
  position: relative;
  left: 50%;
  margin-left: -50%;
  margin-left: -50vw;
}
.no-sidebar .entry-content > .alignfull{
	margin-top: 0;
	margin-bottom: 0;
}

.wp-block-media-text:not(.has-media-on-the-right) .wp-block-media-text__content{
  padding-right: 0;
}
.wp-block-media-text.has-media-on-the-right .wp-block-media-text__content{
  padding-left: 0;
}
.wp-block-columns{
  margin-bottom: 0;
}
p:empty{
  display: none;
}
#back-to-top{
  position: fixed;
  bottom: 0;
  right: 10px;
  background: gray;
  padding: 5px 10px;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
  color: #fff;
  border: 0;
}
.tab-slider .kt-tabs-title-list{
  display: none !important;
}
.tab-slider .kt-tabs-content-wrap .wp-block-kadence-tab{
  padding: 0 !important;
  outline: none !important;
  border: 0 !important
}
.tab-slider .kt-tabs-content-wrap .ab-block-container{
  position: relative;
}
.tab-slider .kt-tabs-content-wrap .ab-block-container:before{
  content: '';
  padding-bottom: 30%;
  display: block;
  position: relative;
}
.tab-slider .kt-tabs-content-wrap .ab-block-container .ab-container-content{
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  left: 50%;
  width: 100%;
  z-index: 20
}
.thumbnail.square, .thumbnail.rectangular{
  position: relative;
}
.thumbnail.square:before, .thumbnail.rectangular:before{
  content: '';
  padding-bottom: 100%;
  position: relative;
  display: block;
}
.thumbnail.rectangular:before{
  padding-bottom: 56%;
}
.thumbnail.square img, .thumbnail.rectangular img{
  position: absolute; top: 0; left: 0; right: 0; bottom: 0;
  height: 100%; width: 100%; object-fit: cover;
}
#page .pagination{
  display: block;
  margin: 20px 0;
}
#page .pagination .page-numbers{
  padding: 3px 12px 5px;
  border: 1px solid;
  margin-right: 5px;
  border-radius: 2px;
  text-decoration: none !important
}
#page .pagination .page-numbers.current, #page .pagination .page-numbers:hover{
  background: #ddd;
  text-decoration: none;
}
#page .gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), #page .gform_wrapper select, #page .gform_wrapper textarea{
  width: 100%;
  padding: 10px;
  border: 1px solid #707070 !important;
  line-height: unset;
  box-shadow: none;
  background: #fff;
  min-height: unset;
  outline: none;
}
#page .gform_wrapper .gform_footer{
  margin-top: 20px;
}
.kb-blocks-bg-video-container .fluid-width-video-wrapper{
  padding-top: 0 !important;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
.offset-to-left, .offset-to-right{
  width: calc(100% + ((100vw - 1140px) / 2));
}
.offset-to-left{
  margin-left: calc(((100vw - 1140px) / 2)* -1);
}
@media (max-width: 1200px){
  .offset-to-left, .offset-to-right{
    width: 100%;
  }
  .offset-to-left{
    margin-left:0
  }
  #nav_menu-2 ul, #nav_menu-2 ul li{
    padding: 0;
  }
  .container{
    width: 100%;
  }
  #nav-toggle span, #nav-toggle span:before, #nav-toggle span:after{
    background: #fff;
  }
  #nav-toggle{
    position: relative;
    top: 0;
    display: block
  }
  .onepress-menu{
    top: 0 !important;
    height: 100% !important;
    position: fixed !important;
    bottom: 0;
    right: 0;
    max-width: 400px;
    padding-top: 70px;
    padding-left: 30px;
    padding-right: 30px;
    margin-top: 0 !important;
    background: #000e2c !important;
    /* #masthead sits at z-index:1000, above this menu's default 800 — once
       open, the drawer should cover the header (logo included), not sit
       behind it. */
    z-index: 1001 !important;
  }
  .onepress-menu.onepress-menu-mobile a{
    color: #fff ;
  }
  .onepress-menu.onepress-menu-mobile li{
    background: #000e2c;
  }
  .onepress-menu.onepress-menu-mobile li a{
    padding-left: 0; padding-right: 0;
    text-transform: none;
  }
  .onepress-menu ul, .onepress-menu ul li a{
    background: transparent;
  }
  .onepress-menu a{
    font-size: 20px;
  }
  .onepress-menu li.current-menu-item > a{
    color: #d8d3bd !important;
  }
  /* Hover: an animated underline instead of a color change — excludes the
     "Discuss a Project" pill button, which already has its own outline. */
  .onepress-menu.onepress-menu-mobile > li:not(.header-nav-buttons) > a{
    position: relative;
  }
  .onepress-menu.onepress-menu-mobile > li:not(.header-nav-buttons) > a::after{
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 2px;
    background: #a6672f;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.3s ease;
  }
  .onepress-menu.onepress-menu-mobile > li:not(.header-nav-buttons) > a:hover::after{
    transform: scaleX(1);
  }
  .onepress-menu .nav-toggle-subarrow{
    left: unset !important;
    right: 0;
  }
  .onepress-menu .nav-toggle-subarrow{
    border-left: 0 !important;
  }
  .onepress-menu.onepress-menu-mobile li{
    border-top: 1px solid rgba(216, 211, 189, 0.25);
  }

  #masthead .onepress-menu.onepress-menu-mobile > li > a, .onepress-menu.onepress-menu-mobile .nav-toggle-subarrow{
    padding: 20px 0;
    text-align: left;
  }
  .onepress-menu{
    transition: right .2s;
    right: -100%;
  }
  .onepress-menu.onepress-menu-mobile{
    right: 0;
    box-shadow: 2px -5px 9px #a6a6a6
  }
  .onepress-menu.onepress-menu-mobile ul li a{
    padding: 12px 20px;
    text-align: left;
  }
  .onepress-menu{
    transform: none;
  }
  #nav-toggle.nav-is-visible {
    position: fixed;
    top: 30px;
    z-index: 10000000;
    right: 30px;
  }
  #nav-toggle.nav-is-visible span:before, #nav-toggle.nav-is-visible span:after{
    background: #fff;
  }
  .onepress-menu li ul:before{
    display: none;
  }
  .onepress-menu > li >ul{
    padding: 0 0px 0 20px !important;
  }
  #nav-toggle span{
    width: 36px;
  }
  #nav-toggle span:before, #nav-toggle span:after{
    width: 30px;
  }
  #nav-toggle.nav-is-visible span:after{
    top: 10px;
  }
  #nav-toggle.nav-is-visible span:before{
    top: -10px;
  }
  #content-inside {
    padding: 0 25px;
  }
  .entry-content > .alignfull.gb-block-container:not(.full-width-content) > div > .gb-container-content,
  .entry-content > .alignfull:not(.full-width-content) > div > .kt-row-column-wrap,
  .entry-content > .alignfull:not(.full-width-content) > .kt-row-column-wrap{
    padding-left: 25px !important;
    padding-right: 25px !important;
  }
  #masthead .overlay{
    position: fixed;
    top: 0; left: 0; bottom: 0;
    background: #000;
    opacity: 0;
    right: -100%;
    transition: opacity .5s;
    z-index: 100;
    width: 0;
  }
  #masthead .nav-is-visible + .overlay{
    right: 0;
    width: 100%;
    opacity: 0.6;
  }
}

@media (max-width: 600px){
  .wp-block-media-text.is-stacked-on-mobile{
    display: block;
  }
  .wp-block-media-text .wp-block-media-text__media{
    margin-bottom: 20px;
  }
  .wp-block-media-text .wp-block-media-text__content{
    padding-left: 0;
    padding-right: 0;
  }
  /* Section spacer blocks: same class everywhere, so resizing them for
     mobile is one rule instead of hunting down each block's own height. */
  body.home .entry-content .corritore-spacer{
    height: 24px !important;
  }

  /* Sideways section label (writing-mode:vertical-rl) reads fine as a
     desktop accent next to a wide layout, but on a narrow phone it just
     burns several hundred px of scroll for two words. Lay it flat instead. */
  body.home .entry-content .corritore-vertical-title{
    writing-mode: horizontal-tb !important;
    transform: none !important;
    white-space: normal !important;
    text-align: center !important;
    font-size: 40px !important;
    line-height: 1.2 !important;
    margin: 0 0 20px !important;
  }
}

/* Content images full-width on mobile — some carry a fixed inline `width`
   left over from being resized in the editor (e.g. Scottsdale Quarter at
   width:491px), which stops them filling their column like their unresized
   siblings do at narrow viewports. Applies to every entry-content image,
   not just is-resized ones, and #page gives it enough specificity to beat
   the site-wide alignfull column padding rule. */
@media (max-width: 600px){
  #page .entry-content .wp-block-image,
  #page .entry-content .wp-block-image img,
  #page .entry-content img.wp-image-197,
  #page .entry-content .kadence-column23_61ac12-77 figure{
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
  }
  #page .entry-content .kadence-column23_61ac12-77 .kt-inside-inner-col{
    padding-left: 0 !important;
  }
  /* Featured Projects list (Desert Ridge / Scottsdale Quarter / Westgate...)
     is an alignnone row, capped to the narrow content column width by
     Gutenberg by default. Break it out to the full viewport on mobile. */
  #page .entry-content .kb-row-layout-id23_a10301-01{
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding-left: 25px !important;
    padding-right: 25px !important;
    box-sizing: border-box !important;
  }
  /* "View Projects" / "Discuss a Project" style button groups are
     right/left-justified for desktop's wider layout; center them on mobile. */
  #page .entry-content .wp-block-buttons{
    justify-content: center !important;
  }
  /* Section h2s scale down from the desktop 45px. */
  #page .entry-content h2{
    font-size: clamp(30px, 8vw, 45px) !important;
    line-height: 1.3 !important;
  }
  /* Checklist items inherit the parent theme's default li margin-left
     (2.5em, for plain bullet lists) — but these already carry their own
     check-circle icon via ::before, so the indent just misaligns them from
     the heading/button above. Flush left to match. */
  #page .entry-content .corritore-check-list li{
    margin-left: 0 !important;
  }
  /* Final CTA section (heading, button, copyright/contact footer text
     underneath it) — left-aligned for desktop's wider layout, centered on
     mobile to match the rest of the page's centered sections. */
  #page .kb-row-layout-id23_a10701-01,
  #page .kb-row-layout-id23_a10701-01 p,
  #page .kb-row-layout-id23_a10701-01 h1,
  #page .kb-row-layout-id23_a10701-01 h2,
  #page .kb-row-layout-id23_a10701-01 h3{
    text-align: center !important;
  }
  #page .kb-row-layout-id23_a10701-01 .wp-block-buttons{
    justify-content: center !important;
  }
  /* "This is not a leasing platform..." quote — right-aligned for desktop,
     centered on mobile. */
  #page .entry-content .has-text-align-right{
    display: block !important;
    text-align: center !important;
  }
}

/* Brand-logo strip: a 6-column Kadence row. Below the point where 6 fit,
   Kadence collapses it straight to 1 column, so each logo gets its own
   full-width row — a long scroll of mostly-empty space. 3-per-row keeps it
   compact instead. (.kt-has-6-columns is unique to this row on the page.) */
@media (max-width: 1200px){
  .kt-has-6-columns{
    grid-template-columns: repeat(3, 1fr) !important;
    row-gap: 48px !important;
    column-gap: 32px !important;
  }
  /* Kill the site-wide 25px mobile side padding for this specific row only
     — it already sits directly under a full-bleed photo. */
  #page .entry-content .kb-row-layout-id23_05f836-f9 .kt-row-column-wrap{
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* =======================================================================
   Corritore homepage — section rhythm & list styling
   Scoped to body.home so it can't affect other pages/posts.
   ======================================================================= */

/* Vertical rhythm between sections comes from explicit Spacer blocks in
   the content (class corritore-spacer below), not padding here — keeps
   every gap an intentional, individually-editable value instead of a
   blanket rule, and gives mobile a single selector to resize against. */

/* "The Corritore Approach" band (heading, lead images, 01–04): items
   02/03/04 get a divider line instead of a full gap between them. The
   divider itself is the Row Layout block's own native top border
   (borderStyle attribute, set per-row in the editor/content) — not CSS —
   so there's nothing to maintain here. */

/* Checklist items carry a FontAwesome icon in place of a bullet. */
body.home .entry-content .wp-block-list{
  list-style: none;
  padding-left: 0;
  margin: 0;
}
body.home .entry-content .wp-block-list li{
  margin-bottom: 0.6em;
}
body.home .entry-content .wp-block-list li:last-child{
  margin-bottom: 0;
}
body.home .entry-content i.fa-solid,
body.home .entry-content i.fa-regular{
  display: inline-block;
  width: 1.1em;
  margin-right: 0.5em;
  text-align: center;
}
body.home .entry-content .corritore-x-icon{
  opacity: 0.55;
}

/* Reusable check-circle list style. Add the "corritore-check-list" CSS
   class (List block → Advanced → Additional CSS Class(es)) to any list
   to get the 35x35 check-circle icon and hairline dividers below — the
   icon comes from this stylesheet via ::before, so list items stay
   plain text and nothing needs to be re-uploaded per list. Icon source:
   assets/icons/icon-check-circle.svg. */
body.home .entry-content .corritore-check-list li{
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 20px 0;
  margin-bottom: 0;
  border-bottom: 1px solid rgba(216, 211, 189, 0.3);
  font-family: "ivypresto-display", serif;
  font-weight: 600;
}
body.home .entry-content .corritore-check-list li::before{
  content: "";
  display: block;
  flex-shrink: 0;
  width: 35px;
  height: 35px;
  background: url(../assets/icons/icon-check-circle.svg) no-repeat center / contain;
}
body.home .entry-content .corritore-check-list li:first-child{
  padding-top: 0;
}
body.home .entry-content .corritore-check-list li:last-child{
  padding-bottom: 0;
  border-bottom: none;
}

/* Header "Discuss a Project" nav button: outline pill, matching the
   in-page buttons, instead of a plain solid rectangle. */
#masthead .header-nav-buttons a{
  display: inline-block;
  border: 2px solid currentColor;
  border-radius: 9999px;
  padding: 10px 22px;
}
/* Border uses currentColor, so forcing white text on hover (instead of the
   theme's hoveractive accent color) whitens the outline too. */
#masthead .onepress-menu > li.header-nav-buttons > a:hover{
  color: #fff !important;
  text-decoration: none !important;
}
/* Nav drawer (phone through tablet, up to the 1200px drawer breakpoint):
   "Discuss a Project" needs its own row instead of crowding the link list. */
@media (max-width: 1200px){
  #masthead .header-nav-buttons a{
    margin-top: 44px !important;
    width: 100% !important;
    text-align: center !important;
    padding: 10px !important;
    text-decoration: none !important;
  }
}

/* =======================================================================
   Corritore homepage — type scale, from the XD file's Dev Mode specs
   (Character Styles panel). Sizes live here, once, instead of being set
   per-block, so every heading/paragraph of a given kind stays consistent
   even as content sections get added or edited.
   Every font-family on this site is one of: Barlow, Barlow Condensed, or
   IvyPresto Display (via the client's Adobe Fonts kit) — no other typeface
   should be introduced.
   ======================================================================= */
body.home .entry-content h2{
  font-size: 45px;
  line-height: 60px;
}
body.home .entry-content h3{
  font-size: 35px;
}
body.home .entry-content h4{
  font-size: 30px;
}
body.home .entry-content p,
body.home .entry-content li{
  font-size: 20px;
}
/* Fine-print micro text, e.g. the hero's "PLACEMAKING STRATEGY · ..." line. */
body.home .entry-content .corritore-micro{
  font-size: 14px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

/* Sideways section label, e.g. "What Makes / Retail Work" next to the
   Projects Work/Fail comparison. */
body.home .entry-content .corritore-vertical-title{
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  white-space: nowrap;
  margin: 0 auto;
  font-family: "ivypresto-display", serif;
  font-weight: 400;
  font-style: normal;
}

/* Small caps eyebrow label used above several section headings. */
body.home .entry-content .corritore-eyebrow{
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-bottom: 0.5em;
}

/* Intro copy under the hero ("John Corritore works directly...") — the
   theme's default content width (892px) was narrower than the row itself
   (1250px), making the wrapper look off-center/cramped; widen it to match
   the row and match the XD spec's 25px size. */
body.home .entry-content .corritore-intro-copy{
  max-width: 1250px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  font-size: 25px;
}

/* Final CTA heading ("Many conversations begin with an informal
   discussion...") — line-height per the XD spec. Spacing down to the
   button below it comes from the corritore-spacer block placed after it
   in content, matching this site's existing rhythm convention rather than
   margin here. */
body.home .entry-content .corritore-cta-heading{
  line-height: 60px;
}

/* Checklists with a thin rule between each item. Parent theme
   (onepress-hammersmith) sets `.entry-content li{margin-left:2.5em}` for
   its default bullet indent — cancel it here since these items carry
   their own icon instead of a list-style bullet. */
body.home .entry-content .corritore-divided-list li{
  margin-left: 0;
  padding-bottom: 1.2em;
  margin-bottom: 1.2em;
  border-bottom: 1px solid rgb(255 255 255 / 30%);
}
body.home .entry-content .corritore-divided-list li:last-child{
  border-bottom: none;
}

/* Hero (.corritore-hero — the Kadence Row Layout with the "Place on
   purpose." headline). Headline uses IvyPresto Display italic, sized per
   the reference prototype's clamp so it scales with viewport width; thin
   rules bracket the headline and the tagline below the logo, matching the
   design comp. */
body.home .entry-content .corritore-hero h1{
  position: relative;
  font-family: 'Dancing Script', cursive;
  font-weight: 400;
  font-size: clamp(44px, 6.5vw, 88px);
  padding-bottom: 20px;
  margin-bottom: 40px;
}
body.home .entry-content .corritore-hero h1 em{
  font-style: italic;
}
body.home .entry-content .corritore-hero h1::after{
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 140px;
  height: 1px;
  background: rgba(255, 255, 255, 0.5);
}
body.home .entry-content .corritore-hero p{
  position: relative;
  padding-top: 20px;
  margin-top: 40px;
}
body.home .entry-content .corritore-hero p::before{
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 140px;
  height: 1px;
  background: rgba(255, 255, 255, 0.5);
}

/* =======================================================================
   Corritore homepage — hero entrance animation & rotating background
   The 4 banner photos live in the row's own Kadence "Slider" background
   setting (Background > Type > Slider, editable in the block panel) —
   Kadence/Splide already handles the crossfade, autoplay and dot nav.
   This section only adds a continuous Ken Burns zoom/pan to each slide's
   background div (.kb-bg-slide-0..3 — a child of the <li> Splide animates,
   so the two transforms don't fight each other) plus a one-time intro:
   tagline wipe -> rule -> logo -> the first slide flashing from black &
   white to color as it comes into view.
   ======================================================================= */
.corritore-hero .kb-blocks-bg-slider::before{
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(to bottom, rgba(0,0,0,0.12) 0%, rgba(0,0,0,0.28) 40%, rgba(0,0,0,0.55) 100%);
  pointer-events: none;
}
.corritore-hero .kb-blocks-bg-slider::after{
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  background: radial-gradient(ellipse at center, rgba(255,247,230,0.5) 0%, rgba(255,247,230,0) 58%);
  opacity: 0;
  pointer-events: none;
  mix-blend-mode: screen;
  animation: corritoreHeroGlowBloom 1.4s ease-out 5s 1;
}
/* Kadence's default dot nav sits just below the slider (bottom:-25px,
   meant for an inline gallery); pull it up inside the photo instead, like
   a normal hero slider's dots. */
.corritore-hero .splide__pagination{
  bottom: 30px !important;
}
.corritore-hero .kb-bg-slide{
  will-change: transform, filter;
  /* Vibrant grade — punches up the photography so the hero matches the
     saturated photos used throughout the rest of the site. */
  filter: saturate(1.35) contrast(1.08) brightness(0.88);
}
/* Kadence's navy row overlay muddies the photos; the gradient veil above
   (::before) already handles text legibility. */
.corritore-hero > .kt-row-layout-overlay{
  opacity: 0 !important;
}
.corritore-hero .kb-bg-slide-0{
  filter: grayscale(100%) saturate(1) contrast(1.05) brightness(0.7);
  animation:
    corritoreHeroKb1 26s ease-in-out infinite alternate,
    corritoreHeroColorize 1.3s ease-out 5s 1 forwards;
}
.corritore-hero .kb-bg-slide-1{
  animation: corritoreHeroKb2 22s ease-in-out infinite alternate;
}
.corritore-hero .kb-bg-slide-2{
  animation: corritoreHeroKb3 24s ease-in-out infinite alternate;
}
.corritore-hero .kb-bg-slide-3{
  animation: corritoreHeroKb4 23s ease-in-out infinite alternate;
}

#page .credibility-bar-wrapper .kb-gallery-figure .kb-gallery-image-contain {
    padding-bottom: 50%;	
}

@keyframes corritoreHeroKb1{0%{transform:scale(1) translate(0,0)}100%{transform:scale(1.09) translate(-1.5%,-1%)}}
@keyframes corritoreHeroKb2{0%{transform:scale(1.09) translate(1.5%,0.5%)}100%{transform:scale(1) translate(-1%,1%)}}
@keyframes corritoreHeroKb3{0%{transform:scale(1) translate(-1%,0.5%)}100%{transform:scale(1.1) translate(1%,-1.5%)}}
@keyframes corritoreHeroKb4{0%{transform:scale(1) translate(1%,0)}100%{transform:scale(1.08) translate(-1%,-0.5%)}}

@keyframes corritoreHeroColorize{
  0%{ filter: grayscale(100%) saturate(1) contrast(1.05) brightness(0.7); }
  100%{ filter: grayscale(0%) saturate(1.35) contrast(1.08) brightness(0.88); }
}
@keyframes corritoreHeroGlowBloom{0%{opacity:0}35%{opacity:1}100%{opacity:0}}

/* Tagline wipes in left-to-right, like it's being written */
body.home .entry-content .corritore-hero h1{
  clip-path: inset(0 100% 0 0);
  animation: corritoreHeroWipe 2.8s cubic-bezier(0.16,1,0.3,1) 0.15s 1 forwards;
}
@keyframes corritoreHeroWipe{ to{ clip-path: inset(0 0% 0 0); } }

/* Rule beneath the tagline expands in, overlapping the wipe's tail */
body.home .entry-content .corritore-hero h1::after{
  width: 0;
  animation: corritoreHeroRuleExpand 0.6s cubic-bezier(0.34,1.56,0.64,1) 2.6s 1 forwards;
}
/* Rule above the caption follows the colorize flash */
body.home .entry-content .corritore-hero p::before{
  width: 0;
  animation: corritoreHeroRuleExpand 0.6s cubic-bezier(0.34,1.56,0.64,1) 5.25s 1 forwards;
}
@keyframes corritoreHeroRuleExpand{ to{ width: 140px; } }

/* Logo pops into view, then bounces + glows in sync with the colorize flash */
body.home .entry-content .corritore-hero .wp-block-image{
  opacity: 0;
  transform: translateY(10px) scale(0.94);
  animation: corritoreHeroLogoIn 0.6s cubic-bezier(0.34,1.56,0.64,1) 2.8s 1 forwards;
}
body.home .entry-content .corritore-hero .wp-block-image img{
  animation:
    corritoreHeroLogoPop 0.6s ease-out 5s 1,
    corritoreHeroLogoGlow 1.3s ease-out 5s 1;
}
@keyframes corritoreHeroLogoIn{ to{ opacity: 1; transform: translateY(0) scale(1); } }
@keyframes corritoreHeroLogoPop{0%{transform:scale(1)}35%{transform:scale(1.045)}100%{transform:scale(1)}}
@keyframes corritoreHeroLogoGlow{
  0%{ filter: drop-shadow(0 0 0 rgba(255,255,255,0)); }
  35%{ filter: drop-shadow(0 0 26px rgba(255,255,255,0.9)); }
  100%{ filter: drop-shadow(0 0 0 rgba(255,255,255,0)); }
}

/* Caption fades in last, once the rule above it has landed */
body.home .entry-content .corritore-hero p{
  opacity: 0;
  animation: corritoreHeroFadeIn 0.7s ease 5.45s 1 forwards;
}
@keyframes corritoreHeroFadeIn{ to{ opacity: 1; } }

/* Logo docking: the fixed header's own logo stays hidden on the homepage
   until hero-logo-dock.js's animated clone arrives and hands off to it
   (see functions.php / assets/hero-logo-dock.js). At the same moment, the
   tagline/logo/rules/caption clear out of the hero, leaving just the
   photography — hero-logo-dock.js also clears their entrance animations
   first so this plain opacity transition can actually take over. */
.corritore-hero-content-fade-out h1,
.corritore-hero-content-fade-out .wp-block-image,
.corritore-hero-content-fade-out h1::after,
.corritore-hero-content-fade-out p::before,
.corritore-hero-content-fade-out p{
  opacity: 0;
  transition: opacity 0.6s ease;
}
body.home #masthead .site-branding .custom-logo-link{
  opacity: 0;
}
body.home #masthead .site-branding .custom-logo-link.corritore-logo-revealed{
  opacity: 1;
  transition: opacity 0.35s ease;
}
.corritore-hero-logo-clone{
  position: fixed;
  z-index: 9999;
  pointer-events: none;
}
.corritore-hero-logo-clone-flying{
  transition:
    top 0.95s cubic-bezier(0.16,1,0.3,1),
    left 0.95s cubic-bezier(0.16,1,0.3,1),
    width 0.95s cubic-bezier(0.16,1,0.3,1);
}

@media (prefers-reduced-motion: reduce){
  .corritore-hero .kb-bg-slide{
    animation: none !important;
    transform: none !important;
    filter: none !important;
  }
  .corritore-hero .kb-blocks-bg-slider::after{
    animation: none !important;
    opacity: 0 !important;
  }
  body.home .entry-content .corritore-hero h1,
  body.home .entry-content .corritore-hero p,
  body.home .entry-content .corritore-hero .wp-block-image,
  body.home .entry-content .corritore-hero .wp-block-image img{
    animation: none !important;
    clip-path: none !important;
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
  }
  body.home .entry-content .corritore-hero h1::after,
  body.home .entry-content .corritore-hero p::before{
    animation: none !important;
    width: 140px !important;
  }
  body.home #masthead .site-branding .custom-logo-link{
    opacity: 1 !important;
  }
  .corritore-hero-logo-clone-flying{
    transition: none !important;
  }
}

/* Sub pages */

/* Sub page header */
#header-section.no-transparent #masthead{
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.08);
}
#header-section.no-transparent #masthead .onepress-menu > li:not(.header-nav-buttons) > a{
  color: var(--corritore-gray) !important;
}
#header-section.no-transparent #masthead .onepress-menu > li:not(.header-nav-buttons) > a:hover{
  color: var(--corritore-navy) !important;
}
#header-section.no-transparent #masthead .onepress-menu > li:not(.header-nav-buttons) > a::after{
  background: var(--corritore-navy);
}
#header-section.no-transparent #masthead .onepress-menu > li.current-menu-item:not(.header-nav-buttons) > a::after{
  transform: scaleX(1);
}
#header-section.no-transparent #masthead .header-nav-buttons a{
  background: var(--corritore-navy-bright) !important;
  border-color: var(--corritore-navy-bright);
  color: #fff !important;
}
@media (max-width: 1200px){
  #header-section.no-transparent #nav-toggle span,
  #header-section.no-transparent #nav-toggle span::before,
  #header-section.no-transparent #nav-toggle span::after{
    background: var(--corritore-navy);
  }
  #header-section.no-transparent #nav-toggle.nav-is-visible span{
    background: transparent;
  }
  #header-section.no-transparent #nav-toggle.nav-is-visible span::before,
  #header-section.no-transparent #nav-toggle.nav-is-visible span::after{
    background: #fff;
  }
  #header-section.no-transparent #masthead .onepress-menu.onepress-menu-mobile > li:not(.header-nav-buttons) > a{
    color: #fff !important;
  }
  #header-section.no-transparent #masthead .header-nav-buttons a{
    background: transparent !important;
    border-color: #fff;
  }
}

/* Type scale */
body.corritore-subpage .entry-content h1,
body.corritore-subpage .entry-content h2{
  font-size: 45px;
  line-height: 60px;
  margin-bottom: 0.4em;
}
body.corritore-subpage .entry-content h3{
  font-size: 30px;
  line-height: 42px;
}
body.corritore-subpage .entry-content p,
body.corritore-subpage .entry-content li{
  font-size: 20px;
  line-height: 30px;
}
#page.site .entry-content h2 a,
#page.site .entry-content h3 a{
  color: inherit;
  text-decoration: none;
}
/* Label */
body.corritore-subpage .entry-content .corritore-label{
  font-size: 25px;
  line-height: 37px;
  text-transform: uppercase;
  margin-bottom: 0.4em;
}
/* CTA heading */
body.corritore-subpage .entry-content .corritore-cta-heading{
  line-height: 60px;
}
/* Italic sub-heading */
body.corritore-subpage .entry-content .corritore-italic-heading{
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 35px;
  line-height: 45px;
  font-weight: 600;
  font-style: italic;
  text-transform: uppercase;
}
body.corritore-subpage .entry-content .corritore-card-title{
  font-size: 25px;
  line-height: 35px;
  margin-bottom: 10px;
}
body.corritore-subpage .entry-content .wp-block-image{
  margin-bottom: 0;
}
body.corritore-subpage .entry-content .wp-block-image img{
  width: 100%;
}

/* Page hero */
.corritore-page-hero .kt-inside-inner-col{
  max-width: 620px;
}
.corritore-page-hero .corritore-page-title{
  margin-bottom: 0.35em;
}
.corritore-page-hero p:last-child{
  margin-bottom: 0;
}
/* Project hero */
.corritore-project-hero .kt-inside-inner-col{
  max-width: none;
  text-align: center;
}
body.corritore-subpage .entry-content .corritore-project-title{
  font-size: 60px;
  line-height: 70px;
  margin-bottom: 10px;
}

/* Mobile spacing */
@media (max-width: 767px){
  body.corritore-subpage .entry-content .corritore-spacer{
    height: 24px !important;
  }
  body.corritore-subpage .entry-content .corritore-spacer--desktop-only{
    display: none;
  }
  body.corritore-subpage .entry-content h1,
  body.corritore-subpage .entry-content h2{
    font-size: clamp(30px, 8vw, 45px);
    line-height: 1.3;
  }
  body.corritore-subpage .entry-content .corritore-project-title{
    font-size: 44px;
    line-height: 1.2;
  }
}

/* About */
body.corritore-subpage .entry-content .corritore-quote{
  font-style: italic;
}
body.corritore-subpage .entry-content .corritore-role{
  font-size: 25px;
  line-height: 30px;
}
.corritore-places .corritore-places__small-image{
  max-width: 390px;
}
body.corritore-subpage .entry-content .corritore-feature__title{
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 22px;
  line-height: 35px;
  margin: 0;
}
body.corritore-subpage .entry-content .corritore-feature__title::before{
  content: "";
  display: block;
  width: 60px;
  height: 52px;
  margin-bottom: 16px;
  background: no-repeat left bottom / contain;
}
.corritore-feature__title--handoffs::before{ background-image: url(../assets/icons/icon-handoffs.svg) !important; }
.corritore-feature__title--led::before{ background-image: url(../assets/icons/icon-led.svg) !important; }
.corritore-feature__title--partners::before{ background-image: url(../assets/icons/icon-partners.svg) !important; }
body.corritore-subpage .entry-content .corritore-feature__text{
  margin: 0;
}
@media (max-width: 767px){
  .corritore-features .kt-row-column-wrap{
    grid-template-columns: 1fr !important;
    row-gap: 30px !important;
  }
}

/* Approach cards */
.corritore-method-card{
  max-width: 406px;
  overflow: visible !important;
}
.corritore-method-card .kt-row-column-wrap,
.corritore-method-card .wp-block-kadence-column,
.corritore-method-card .kt-inside-inner-col{
  position: relative;
  z-index: 1;
}
.corritore-method-card .kt-inside-inner-col{
  display: flex;
  flex-direction: column;
  height: 100%;
}
body.corritore-subpage .entry-content .corritore-method-card__title{
  margin-bottom: 6px;
}
body.corritore-subpage .entry-content .corritore-read-more{
  margin: auto 0 0;
  padding-top: 40px;
}
body.corritore-subpage .entry-content .corritore-read-more a{
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-size: 20px;
  text-transform: uppercase;
  text-decoration: none;
  color: #fff;
}
body.corritore-subpage .entry-content .corritore-read-more a::after{
  content: "";
  width: 25px;
  height: 25px;
  background: url(../assets/icons/icon-play-circle.svg) no-repeat center / contain;
  transition: transform 0.3s ease;
}
body.corritore-subpage .entry-content .corritore-read-more a:hover::after{
  transform: translateX(4px);
}
/* Card accent photo */
body.corritore-subpage .entry-content .corritore-method-card__accent{
  position: absolute;
  z-index: -1;
  margin: 0;
}
/* Accent photos behind cards */
.corritore-method-card--experience .corritore-method-card__accent{
  width: 319px;
  left: 199px;
  top: 145px;
  clip-path: polygon(177px 0, 100% 0, 100% 100%, 0 100%, 0 105px, 177px 105px);
}
.corritore-method-card--ecosystem{
  margin-left: 186px;
}
.corritore-method-card--ecosystem .corritore-method-card__accent{
  width: 199px;
  left: -129px;
  top: -129px;
  clip-path: polygon(0 0, 100% 0, 100% 99px, 99px 99px, 99px 100%, 0 100%);
}
body.corritore-subpage .entry-content .corritore-method-card__accent img{
  aspect-ratio: 319 / 229;
  object-fit: cover;
}
.corritore-method-card--ecosystem .corritore-method-card__accent img{
  aspect-ratio: 199 / 229 !important;
}
@media (min-width: 768px){
  .corritore-method-grid > .kt-row-column-wrap > .wp-block-kadence-column:last-child > .kt-inside-inner-col{
    align-items: flex-end;
  }
  .corritore-method-grid > .kt-row-column-wrap > .wp-block-kadence-column:last-child .corritore-method-card{
    width: 100%;
    margin-right: 142px;
  }
}
@media (max-width: 1100px){
  .corritore-method-card--ecosystem{ margin-left: 80px; }
  .corritore-method-grid > .kt-row-column-wrap > .wp-block-kadence-column:last-child .corritore-method-card{ margin-right: 60px; }
}
@media (max-width: 767px){
  .corritore-method-card,
  .corritore-method-card--ecosystem{
    max-width: none;
    margin-left: 0;
  }
  body.corritore-subpage .entry-content .corritore-method-card__accent{
    display: none;
  }
}

/* Brokerage box */
body.corritore-subpage .entry-content .corritore-brokerage__title{
  font-size: 30px;
  line-height: 42px;
}
.corritore-brokerage__box{
  max-width: 687px;
  margin-left: auto !important;
  margin-right: auto !important;
  overflow: visible !important;
}
body.corritore-subpage .entry-content .corritore-brokerage__image{
  width: 429px;
  max-width: none;
  margin: 30px -186px -280px auto;
  position: relative;
}
.corritore-brokerage{
  padding-bottom: 300px;
}
@media (max-width: 1100px){
  body.corritore-subpage .entry-content .corritore-brokerage__image{
    width: 100%;
    max-width: 429px;
    margin: 30px auto 0;
  }
}

/* Consulting */
/* Vertical title */
body.corritore-subpage .entry-content .corritore-vertical-title{
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  white-space: nowrap;
  margin: 0 auto;
  font-family: "ivypresto-display", serif;
  font-size: 80px;
  line-height: 100px;
}
body.corritore-subpage .entry-content .corritore-numbered-list{
  list-style: none;
  counter-reset: corritore-num;
  margin: 0;
  padding: 0;
}
body.corritore-subpage .entry-content .corritore-numbered-list li{
  counter-increment: corritore-num;
  display: flex;
  align-items: baseline;
  gap: 16px;
  margin: 0;
  padding: 14px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.8);
}
body.corritore-subpage .entry-content .corritore-numbered-list li::before{
  content: counter(corritore-num, decimal-leading-zero);
  font-family: "ivypresto-display", serif;
  font-size: 25px;
  min-width: 26px;
}
body.corritore-subpage .entry-content .corritore-stat-number{
  font-family: "ivypresto-display", serif;
  font-size: 180px;
  line-height: 1;
  margin-bottom: 30px;
}
body.corritore-subpage .entry-content .corritore-stat-label{
  font-size: 25px;
  line-height: 35px;
  font-weight: 700;
  text-transform: uppercase;
}
body.corritore-subpage .entry-content .corritore-subheading{
  font-size: 30px;
  line-height: 45px;
}
@media (max-width: 767px){
  body.corritore-subpage .entry-content .corritore-vertical-title{
    writing-mode: horizontal-tb;
    transform: none;
    white-space: normal;
    font-size: 44px;
    line-height: 1.2;
    margin: 0;
  }
  body.corritore-subpage .entry-content .corritore-stat-number{
    font-size: 120px;
    margin-bottom: 10px;
  }
}

/* Projects grid */
.corritore-projects-filter{
  display: flex;
  justify-content: center;
  gap: 20px;
  width: 100vw;
  margin: 0 0 90px calc(50% - 50vw);
  padding: 30px 25px;
  background: #a6672f;
  scroll-margin-top: 20px;
}
#page .corritore-projects .corritore-projects-filter__button{
  position: relative;
  flex: 0 1 340px;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 84px;
  padding: 14px 24px;
  border: 2px solid rgba(255, 255, 255, 0.6);
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 26px;
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: 0.04em;
  text-align: center;
  text-transform: uppercase;
  text-decoration: none;
  color: #fff;
  transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease;
}
#page .corritore-projects .corritore-projects-filter__button:hover,
#page .corritore-projects .corritore-projects-filter__button:focus-visible{
  background: rgba(255, 255, 255, 0.14);
  border-color: #fff;
  color: #fff;
  text-decoration: none;
}
#page .corritore-projects .corritore-projects-filter__button.is-active{
  background: #fff;
  border-color: #fff;
  color: #000e2c;
}
.corritore-projects-filter__button.is-active::after{
  content: "";
  position: absolute;
  left: 50%;
  bottom: -14px;
  margin-left: -12px;
  border: 12px solid transparent;
  border-bottom: 0;
  border-top-color: #fff;
}

/* Portfolio: a tab's page panel (e.g. the Retail Clients logo wall) replaces its project grid */
.corritore-portfolio-panel:not(.is-active),
.corritore-projects.has-panel .corritore-projects-grid,
.corritore-projects.has-panel .corritore-projects-empty,
.corritore-projects.has-panel .corritore-projects-more{
  display: none !important;
}
body.corritore-subpage .entry-content .corritore-portfolio-panel__intro{
  max-width: 820px;
  margin: 0 auto;
}

/* Retail tab: band pointing to the client tabs */
.corritore-projects-crosslink{
  width: 100vw;
  margin: 90px 0 -90px calc(50% - 50vw);
  padding: 70px 25px;
  background: #f8f7f5;
  text-align: center;
}
.corritore-projects-crosslink[hidden]{
  display: none !important;
}
body.corritore-subpage .entry-content .corritore-projects-crosslink__text{
  max-width: 760px;
  margin: 0 auto 35px;
  font-family: ivypresto-display, serif;
  font-size: 34px;
  line-height: 1.3;
  color: #000e2c;
}
.corritore-projects-crosslink__buttons{
  justify-content: center;
  gap: 20px;
}
#page .corritore-projects .corritore-projects-crosslink .wp-block-button__link{
  background: transparent;
  border: 1px solid var(--corritore-navy-bright);
  border-radius: 24px;
  color: var(--corritore-navy);
  font-family: "Barlow Condensed", sans-serif;
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 31px;
  text-transform: uppercase;
  text-decoration: none;
  padding: 6px 30px;
  min-width: 283px;
  box-shadow: none;
  transition: background 0.3s, color 0.3s;
}
#page .corritore-projects .corritore-projects-crosslink .wp-block-button__link:hover,
#page .corritore-projects .corritore-projects-crosslink .wp-block-button__link:focus-visible{
  background: var(--corritore-navy-bright);
  color: #fff;
}
.corritore-projects-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px 100px;
}
.corritore-projects-grid.is-staggered{
  gap: 0 100px;
}
.corritore-projects-grid__col{
  display: flex;
  flex-direction: column;
  gap: 60px;
}
.corritore-projects-grid__col--right{
  align-items: flex-end;
  padding-top: 85px;
}
.corritore-project-card{
  width: 100%;
}
.corritore-project-card.is-tall{
  width: 82%;
}
.corritore-project-card__link{
  display: block;
  text-decoration: none !important;
}
.corritore-project-card__image{
  margin: 0 0 20px;
  overflow: hidden;
  aspect-ratio: 592 / 372;
}
.corritore-project-card.is-tall .corritore-project-card__image{
  aspect-ratio: 491 / 524;
}
.corritore-project-card__image img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}
.corritore-project-card__link:hover img{
  transform: scale(1.04);
}
#page .entry-content .corritore-project-card__title{
  font-size: 30px;
  line-height: 35px;
  color: var(--corritore-navy);
  margin: 0;
}
.corritore-projects-more{
  justify-content: center;
  margin-top: 80px;
}
.corritore-projects-more[hidden],
.corritore-projects-empty[hidden]{
  display: none !important;
}
.corritore-projects-load-more{
  min-width: 283px;
  cursor: pointer;
}
.corritore-projects-empty{
  text-align: center;
}
@media (max-width: 767px){
  .corritore-projects-filter{
    gap: 8px;
    margin-bottom: 50px;
    padding: 20px 15px;
  }
  #page .corritore-projects .corritore-projects-filter__button{
    flex: 1 1 0;
    min-height: 64px;
    padding: 8px 6px;
    font-size: 17px;
    letter-spacing: 0.02em;
  }
  .corritore-projects-crosslink{
    margin-top: 60px;
    margin-bottom: -50px;
    padding: 50px 20px;
  }
  .corritore-projects-crosslink__buttons{
    gap: 12px;
  }
  body.corritore-subpage .entry-content .corritore-projects-crosslink__text{
    font-size: 26px;
    margin-bottom: 25px;
  }
  .corritore-projects-grid,
  .corritore-projects-grid.is-staggered{
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .corritore-projects-grid__col{
    gap: 40px;
  }
  .corritore-projects-grid__col--right{
    padding-top: 0;
  }
  .corritore-project-card.is-tall{
    width: 100%;
  }
  .corritore-project-card .corritore-project-card__image,
  .corritore-project-card.is-tall .corritore-project-card__image{
    aspect-ratio: 592 / 372;
  }
}

/* Project single */
.corritore-project-facts .corritore-italic-heading{
  margin-bottom: 20px;
}
body.corritore-subpage .entry-content .corritore-check-divider-list{
  list-style: none;
  margin: 0;
  padding: 0;
}
body.corritore-subpage .entry-content .corritore-check-divider-list li{
  display: flex;
  align-items: baseline;
  gap: 14px;
  margin: 0;
  padding: 11px 0;
  border-bottom: 1px solid var(--corritore-gray-light);
}
body.corritore-subpage .entry-content .corritore-check-divider-list li::before{
  content: "";
  flex-shrink: 0;
  width: 15px;
  height: 11px;
  background: url(../assets/icons/icon-check.svg) no-repeat center / contain;
}
body.corritore-subpage .entry-content .corritore-check-divider-list a{
  color: inherit;
}
.corritore-project-gallery .kb-gallery-type-thumbslider{
  max-width: 994px;
  margin: 0 auto;
}
.corritore-project-gallery .kb-gallery-type-thumbslider .splide__arrow{
  background: transparent;
  border: 0;
  box-shadow: none;
}
.corritore-project-gallery .kb-gallery-type-thumbslider .splide__arrow--prev{ left: -60px; }
.corritore-project-gallery .kb-gallery-type-thumbslider .splide__arrow--next{ right: -60px; }
.corritore-project-gallery .kb-gallery-type-thumbslider .splide__arrow svg{
  fill: var(--corritore-gray);
}
@media (max-width: 1100px){
  .corritore-project-gallery .kb-gallery-type-thumbslider .splide__arrow--prev{ left: 10px; }
  .corritore-project-gallery .kb-gallery-type-thumbslider .splide__arrow--next{ right: 10px; }
}

/* In the News */
.corritore-news a{
  text-decoration: none;
}
.corritore-news-featured{
  display: grid;
  grid-template-columns: 530px 1fr;
  gap: 78px;
  align-items: center;
  padding-bottom: 80px;
  border-bottom: 1px solid #707070;
}
.corritore-news-featured__image img,
.corritore-news-item__image img{
  display: block;
  width: 100%;
  height: auto;
  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.16);
}
#page .entry-content .corritore-news-featured__title{
  font-size: 45px;
  line-height: 60px;
  margin: 0 0 25px;
}
#page .entry-content .corritore-news-item__title{
  font-size: 30px;
  line-height: 42px;
  margin: 0 0 20px;
}
#page .entry-content .corritore-news a{
  color: var(--corritore-navy);
}
#page .entry-content .corritore-news-date{
  font-weight: 700;
  margin-bottom: 15px;
}
#page .entry-content .corritore-news-excerpt p{
  margin-bottom: 0;
}
#page .entry-content .corritore-news .corritore-news-more{
  display: inline-block;
  margin-top: 30px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--corritore-gray);
  text-decoration: underline;
  text-underline-offset: 4px;
}
#page .entry-content .corritore-news .corritore-news-more:hover{
  color: var(--corritore-rust);
}
.corritore-news-item{
  display: grid;
  grid-template-columns: 180px 327px 1fr;
  gap: 34px;
  padding: 42px 0;
  border-bottom: 1px solid #707070;
}
.corritore-news-item:last-child{
  border-bottom: 0;
  padding-bottom: 0;
}
.corritore-news-item__body{
  padding-left: 60px;
}
@media (max-width: 1100px){
  .corritore-news-featured{
    grid-template-columns: 1fr 1fr;
    gap: 40px;
  }
  .corritore-news-item{
    grid-template-columns: 240px 1fr;
  }
  .corritore-news-item__date{
    grid-column: 1 / -1;
    margin: 0 !important;
  }
  .corritore-news-item__body{
    padding-left: 0;
  }
}
@media (max-width: 767px){
  .corritore-news-featured,
  .corritore-news-item{
    grid-template-columns: 1fr;
    gap: 24px;
  }
  #page .entry-content .corritore-news-featured__title{
    font-size: 32px;
    line-height: 1.3;
  }
}
/* Single news */
.corritore-news-single .corritore-title-band.alignfull{
  background: var(--corritore-navy);
  padding: 80px 25px;
  text-align: center;
}
#page .corritore-title-band__eyebrow,
#page .entry-content .corritore-title-band__eyebrow a{
  color: #fff;
  text-decoration: none;
  transition: opacity 0.3s;
  font-size: 20px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
#page .entry-content .corritore-title-band__eyebrow a:hover,
#page .entry-content .corritore-title-band__eyebrow a:focus-visible{
  color: #fff;
  text-decoration: none;
  opacity: 0.7;
}
#page .entry-content .corritore-title-band__title{
  color: #fff;
  max-width: 900px;
  margin: 0 auto;
}
.corritore-news-single__body{
  max-width: 860px;
  margin: 0 auto;
  padding: 70px 0 90px;
}
.corritore-news-single__image{
  margin: 0 0 40px;
}
.corritore-news-single__image img{
  width: 100%;
  height: auto;
}
.corritore-news-single__actions{
  gap: 20px;
  margin-top: 40px;
}

/* Contact */
body.corritore-subpage .entry-content .corritore-contact-label{
  margin-bottom: 2px;
}
body.corritore-subpage .entry-content .corritore-contact-value{
  font-size: 25px;
  font-weight: 700;
  margin-bottom: 20px;
}
body.corritore-subpage .entry-content .corritore-contact-value a{
  color: var(--corritore-gray);
  text-decoration: none;
}
body.corritore-subpage .entry-content .corritore-contact-value a:hover{
  color: var(--corritore-rust);
}
.corritore-contact .kb-advanced-form{
  display: flex;
  flex-wrap: wrap;
  gap: 25px 37px;
}
.corritore-contact .kb-advanced-form > .kb-adv-form-field{
  flex: 1 1 calc(50% - 19px);
  max-width: calc(50% - 19px) !important;
  margin: 0;
}
.corritore-contact .kb-advanced-form > .kb-adv-form-field:has(textarea),
.corritore-contact .kb-advanced-form > .wp-block-kadence-advanced-form-submit{
  flex-basis: 100%;
  max-width: 100% !important;
}
.corritore-contact .kb-advanced-form label{
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 20px;
  line-height: 30px;
  font-weight: 400;
  color: var(--corritore-gray);
  margin-bottom: 4px;
}
.corritore-contact .kb-advanced-form .kb-adv-form-required{
  color: #a6672f;
}
.corritore-contact .kb-advanced-form input.kb-field,
.corritore-contact .kb-advanced-form textarea.kb-field{
  width: 100%;
  background: #f3f3f3;
  border: 1px solid #f3f3f3 !important;
  border-radius: 26px;
  padding: 11px 21px;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 20px;
  line-height: 30px;
  color: var(--corritore-gray);
  box-shadow: none;
}
.corritore-contact .kb-advanced-form textarea.kb-field{
  min-height: 263px;
  resize: vertical;
}
.corritore-contact .kb-advanced-form input.kb-field:focus,
.corritore-contact .kb-advanced-form textarea.kb-field:focus{
  border-color: var(--corritore-navy-bright) !important;
  outline: none;
}
.corritore-contact .kb-advanced-form .kb-field::placeholder{
  color: #818181;
}
.corritore-contact .kb-advanced-form .kb-adv-form-submit-button{
  width: 100%;
  margin-top: 25px;
  padding: 8px 20px;
  background: var(--corritore-navy-bright);
  border: 1px solid var(--corritore-navy-bright);
  border-radius: 24px;
  color: #fff;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background 0.3s ease;
}
.corritore-contact .kb-advanced-form .kb-adv-form-submit-button:hover{
  background: var(--corritore-navy);
}
@media (max-width: 767px){
  .corritore-contact .kb-advanced-form > .kb-adv-form-field{
    flex-basis: 100%;
    max-width: 100% !important;
  }
}
/* Single news body */
.corritore-news-single .entry-content > p{
  max-width: 860px;
  margin-left: auto;
  margin-right: auto;
}
.corritore-news-single .corritore-news-single__body{
  padding-bottom: 30px;
}
.corritore-news-single .entry-content > p:last-of-type{
  margin-bottom: 90px;
}

/* Load More button */
.corritore-projects .corritore-projects-more{
  display: flex;
  justify-content: center;
}
#page .corritore-projects .corritore-projects-load-more{
  background: transparent;
  border: 1px solid var(--corritore-navy-bright);
  border-radius: 24px;
  color: var(--corritore-navy);
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 6px 30px;
  min-width: 283px;
  box-shadow: none;
  transition: background 0.3s ease, color 0.3s ease;
}
#page .corritore-projects .corritore-projects-load-more:hover{
  background: var(--corritore-navy-bright);
  color: #fff;
}

/* Project gallery */
.corritore-project-gallery .wp-block-kadence-advancedgallery{
  max-width: 994px;
  margin-left: auto !important;
  margin-right: auto !important;
}
.corritore-project-gallery .splide__arrow{
  opacity: 1 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  width: 40px;
  height: 40px;
}
.corritore-project-gallery .splide__arrow svg{
  fill: var(--corritore-gray) !important;
  width: 22px;
  height: 22px;
}
.corritore-project-gallery .kb-blocks-thumbnail-slider .splide__arrow,
.corritore-project-gallery .kb-gallery-thumbnail-slider .splide__arrow{
  display: none;
}

/* Contact form */
#page .corritore-contact form.kb-advanced-form{
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 25px 37px;
}
#page .corritore-contact form.kb-advanced-form > .kb-adv-form-field{
  flex: 0 0 calc(50% - 19px) !important;
  max-width: calc(50% - 19px) !important;
  width: auto !important;
  margin: 0 !important;
}
#page .corritore-contact form.kb-advanced-form > .kb-adv-form-field:has(textarea),
#page .corritore-contact form.kb-advanced-form > .kb-submit-field{
  flex-basis: 100% !important;
  max-width: 100% !important;
}
#page .entry-content .corritore-contact-value a{
  color: var(--corritore-gray);
}
#page .entry-content .corritore-contact-value a:hover{
  color: var(--corritore-rust);
}
@media (max-width: 767px){
  #page .corritore-contact form.kb-advanced-form > .kb-adv-form-field{
    flex-basis: 100% !important;
    max-width: 100% !important;
  }
}


/* Outline buttons */
body.corritore-subpage .entry-content .wp-block-button.is-style-outline .wp-block-button__link{
  font-size: 20px;
  font-weight: 600;
  line-height: 31px;
  letter-spacing: 0.02em;
  padding: 7px 20px;
  min-width: 192px;
  border-width: 1px;
  text-align: center;
}
body.corritore-subpage .corritore-featured-projects .wp-block-button__link{
  min-width: 283px !important;
}

/* Projects grid columns */
.corritore-projects-grid.is-staggered{
  gap: 0 16px;
}
.corritore-project-card.is-tall{
  width: 83%;
}

/* Numbered lists */
body.corritore-subpage .entry-content .corritore-numbered-list{
  max-width: 277px;
}
body.corritore-subpage .entry-content .corritore-numbered-list li{
  padding: 25px 0;
}
body.corritore-subpage .entry-content .corritore-numbered-list li:first-child{
  padding-top: 0;
}

/* Project lists */
body.corritore-subpage .entry-content .corritore-check-divider-list{
  max-width: 277px;
}
body.corritore-subpage .entry-content .corritore-check-divider-list li{
  padding: 24px 0;
}
body.corritore-subpage .entry-content .corritore-check-divider-list li:first-child{
  padding-top: 8px;
}

/* Gallery sizes */
.corritore-project-gallery [id^="kb-slider-"] .kb-gallery-image-contain{
  padding-bottom: 62.8% !important;
}
.corritore-project-gallery [id^="kb-thumb-slider"]{
  max-width: 695px;
  margin: 0 auto;
}
.corritore-project-gallery [id^="kb-thumb-slider"] .kb-gallery-image-contain{
  padding-bottom: 109% !important;
}
.corritore-project-gallery [id^="kb-thumb-slider"] .splide__arrow{
  display: none !important;
}
.corritore-project-gallery [id^="kb-slider-"] .splide__arrow--prev{ left: -70px !important; }
.corritore-project-gallery [id^="kb-slider-"] .splide__arrow--next{ right: -70px !important; }
@media (max-width: 1150px){
  .corritore-project-gallery [id^="kb-slider-"] .splide__arrow--prev{ left: 10px !important; }
  .corritore-project-gallery [id^="kb-slider-"] .splide__arrow--next{ right: 10px !important; }
  .corritore-project-gallery [id^="kb-slider-"] .splide__arrow svg{ fill: #fff !important; }
}

/* News image crops */
.corritore-news-featured__image img{
  aspect-ratio: 530 / 526;
  object-fit: cover;
  object-position: center center;
}
.corritore-news-item__image img{
  aspect-ratio: 327 / 325;
  object-fit: cover;
  object-position: center center;
}
.corritore-news-item{
  padding: 43px 0 61px;
}
@media (max-width: 767px){
  body.corritore-subpage .entry-content .corritore-numbered-list,
  body.corritore-subpage .entry-content .corritore-check-divider-list{
    max-width: none;
  }
  body.corritore-subpage .entry-content .corritore-numbered-list li{
    padding: 16px 0;
  }
}
/* Projects grid spacing */
.corritore-projects-grid.is-staggered .corritore-projects-grid__col{
  gap: 72px;
}
@media (max-width: 767px){
  .corritore-projects-grid.is-staggered .corritore-projects-grid__col{
    gap: 40px;
  }
}

/* Card Read More at bottom */
.corritore-method-card > .kt-row-column-wrap{
  align-items: stretch !important;
  height: 100%;
}
.corritore-method-card > .kt-row-column-wrap > .wp-block-kadence-column{
  align-self: stretch !important;
  display: flex;
  flex-direction: column;
}
.corritore-method-card > .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col{
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  justify-content: flex-start !important;
}
body.corritore-subpage .entry-content .corritore-method-card .corritore-read-more{
  margin-top: auto !important;
  margin-bottom: 0;
  padding-top: 30px;
}
/* Read More hover */
#page .entry-content .corritore-read-more a,
#page .entry-content .corritore-read-more a:hover,
#page .entry-content .corritore-read-more a:focus{
  color: #fff !important;
  text-decoration: none !important;
}
#page .entry-content .corritore-read-more a{
  position: relative;
}
#page .entry-content .corritore-read-more a::before{
  content: "";
  position: absolute;
  left: 0;
  bottom: -3px;
  width: calc(100% - 37px);
  height: 1px;
  background: #fff;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s ease;
}
#page .entry-content .corritore-read-more a:hover::before,
#page .entry-content .corritore-read-more a:focus::before{
  transform: scaleX(1);
}
.corritore-method-card > .kt-row-column-wrap{
  align-content: stretch !important;
  grid-template-rows: 1fr;
}

/* List 08–14 */
body.corritore-subpage .entry-content .corritore-numbered-list[start="8"]{
  counter-reset: corritore-num 7;
}
@media (min-width: 1101px){
  .corritore-help .corritore-numbered-list li{
    white-space: nowrap;
  }
}
/* Brands case cards */
.corritore-case-row .kt-inside-inner-col{
  height: 100%;
}
.corritore-case-card > .wp-block-group__inner-container,
.corritore-case-feature > .wp-block-group__inner-container{
  display: contents;
}
body.corritore-subpage .entry-content .corritore-case-card{
  display: flex;
  flex-direction: column;
  height: 100%;
  margin: 0;
  padding: 27px 25px 43px;
  background: #fff;
}
body.corritore-subpage .entry-content .corritore-case-card .corritore-card-title{
  margin: 24px 0 0;
  color: #000e2c;
}
body.corritore-subpage .entry-content .corritore-case-summary{
  margin: 0 0 49px;
  color: #4a4a4a;
}
body.corritore-subpage .entry-content .corritore-case-stats{
  display: grid;
  grid-template-columns: 264px 1fr;
  row-gap: 22px;
  list-style: none;
  margin: 0 0 34px;
  padding: 0;
}
body.corritore-subpage .entry-content .corritore-case-stats li{
  margin: 0;
  padding: 0;
  font-size: 20px;
  line-height: 30px;
  color: #4a4a4a;
}
body.corritore-subpage .entry-content .corritore-case-stats strong{
  display: block;
  margin-bottom: 5px;
  font-size: 25px;
  font-weight: 700;
  line-height: 30px;
  color: #a6672f;
}
body.corritore-subpage .entry-content .corritore-case-btn{
  margin-top: auto;
}
body.corritore-subpage .entry-content .corritore-case-btn .wp-block-button__link{
  min-width: 252px;
  color: #a6672f;
  border-color: #a6672f;
  background: transparent;
  text-transform: uppercase;
}
body.corritore-subpage .entry-content .corritore-case-btn .wp-block-button__link:hover{
  color: #fff;
  background: #a6672f;
}
/* Gainey stat card (background image + overlay set on the Kadence row) */
body.corritore-subpage .entry-content .corritore-case-feature-row{
  margin-top: 46px;
  background-color: #000e2c;
}
body.corritore-subpage .entry-content .corritore-case-feature{
  display: grid;
  grid-template-columns: 456px 1fr;
  align-items: center;
  margin: 0;
  padding: 35px 51px 34px;
  background: transparent;
  color: #fff;
}
body.corritore-subpage .entry-content .corritore-case-feature__title{
  margin: 0 0 18px;
  font-size: 35px;
  line-height: 35px;
  color: #fff;
}
body.corritore-subpage .entry-content .corritore-case-feature__intro p{
  max-width: 302px;
  margin: 0;
  color: #fff;
}
body.corritore-subpage .entry-content .corritore-case-feature .corritore-case-stats{
  grid-template-columns: 279px 1fr;
  row-gap: 59px;
  margin: 0;
  padding: 18px 0 18px 93px;
  border-left: 1px solid #fff;
}
body.corritore-subpage .entry-content .corritore-case-feature .corritore-case-stats li{
  color: #fff;
}
body.corritore-subpage .entry-content .corritore-case-feature .corritore-case-stats strong{
  margin-bottom: 17px;
  font-size: 35px;
  font-weight: 600;
  font-style: italic;
  text-transform: uppercase;
  color: #fff;
}
@media (max-width: 1100px){
  body.corritore-subpage .entry-content .corritore-case-stats{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  body.corritore-subpage .entry-content .corritore-case-feature{
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr);
    gap: 40px;
  }
  body.corritore-subpage .entry-content .corritore-case-feature .corritore-case-stats{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding-left: 40px;
    row-gap: 30px;
  }
}
@media (max-width: 767px){
  body.corritore-subpage .entry-content .corritore-case-card{
    padding: 20px 20px 30px;
  }
  body.corritore-subpage .entry-content .corritore-case-btn .wp-block-button__link{
    min-width: 0;
  }
  body.corritore-subpage .entry-content .corritore-case-feature-row{
    margin-top: 30px;
  }
  body.corritore-subpage .entry-content .corritore-case-feature{
    grid-template-columns: 1fr;
    gap: 25px;
    padding: 30px 20px;
  }
  body.corritore-subpage .entry-content .corritore-case-feature__title{
    font-size: 28px;
    line-height: 34px;
  }
  body.corritore-subpage .entry-content .corritore-case-feature .corritore-case-stats{
    padding: 25px 0 0;
    border-left: 0;
    border-top: 1px solid #fff;
  }
  body.corritore-subpage .entry-content .corritore-case-feature .corritore-case-stats strong{
    margin-bottom: 4px;
    font-size: 28px;
  }
}
/* Experience copy */
body.corritore-subpage .entry-content .corritore-experience .wp-block-kadence-column:last-child p{
  max-width: 390px;
  margin-bottom: 30px;
}
body.corritore-subpage .entry-content .corritore-experience .wp-block-kadence-column:last-child p:last-child{
  margin-bottom: 0;
}
/* Project details */
body.corritore-subpage .entry-content .corritore-project-hero .corritore-project-location{
  max-width: 820px;
  margin-left: auto;
  margin-right: auto;
}
body.corritore-subpage .entry-content .corritore-project-meta{
  font-size: 25px;
  line-height: 30px;
  margin-bottom: 25px;
}
body.corritore-subpage .entry-content .corritore-project-meta strong{
  font-weight: 700;
}
body.corritore-subpage .entry-content .corritore-check-plain-list{
  list-style: none;
  margin: 0;
  padding: 0;
}
body.corritore-subpage .entry-content .corritore-check-plain-list li{
  display: flex;
  align-items: baseline;
  gap: 14px;
  margin: 0 0 19px;
  padding: 0;
}
body.corritore-subpage .entry-content .corritore-check-plain-list li::before{
  content: "";
  flex-shrink: 0;
  width: 15px;
  height: 11px;
  background: url(../assets/icons/icon-check.svg) no-repeat center / contain;
}
body.corritore-subpage .entry-content .corritore-check-plain-list a{
  color: inherit;
}
.corritore-project-facts .corritore-italic-heading{
  margin-top: 30px;
  margin-bottom: 30px;
}
/* Projects grid rhythm */
.corritore-projects-grid.is-staggered .corritore-projects-grid__col{
  gap: 0;
}
#page .corritore-project-card__image{
  margin-bottom: 22px;
}
#page .entry-content .corritore-project-card__title{
  line-height: 35px;
}
.corritore-projects-grid.is-staggered .corritore-project-card:nth-child(odd){
  margin-bottom: 79px;
}
.corritore-projects-grid.is-staggered .corritore-project-card:nth-child(even){
  margin-bottom: 164px;
}
.corritore-projects-grid.is-staggered .corritore-project-card:last-child{
  margin-bottom: 0;
}
@media (max-width: 767px){
  .corritore-projects-grid.is-staggered .corritore-project-card:nth-child(n){
    margin-bottom: 40px;
  }
}
/* Approach tablet */
@media (max-width: 1100px){
  .corritore-brokerage{
    padding-bottom: 0 !important;
  }
  body.corritore-subpage .entry-content .corritore-brokerage__image{
    margin-bottom: 0;
  }
}
@media (max-width: 1024px){
  body.corritore-subpage .entry-content .corritore-method-card__accent{
    display: none;
  }
  .corritore-method-card,
  .corritore-method-card--ecosystem,
  .corritore-method-grid > .kt-row-column-wrap > .wp-block-kadence-column:last-child .corritore-method-card{
    max-width: none;
    width: 100%;
    margin-left: 0;
    margin-right: 0 !important;
  }
}
/* Tablet grids */
@media (min-width: 768px) and (max-width: 1024px){
  .corritore-method-grid .corritore-spacer{
    height: 40px !important;
  }
  .corritore-method-grid .corritore-spacer--desktop-only{
    display: none;
  }
  .corritore-featured-projects__grid > .kt-row-column-wrap{
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    column-gap: 24px !important;
  }
}
/* Consulting tablet */
@media (min-width: 768px) and (max-width: 1024px){
  .corritore-experience > .kt-row-column-wrap{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 40px !important;
    row-gap: 40px !important;
    align-items: center;
  }
  .corritore-experience > .kt-row-column-wrap > .wp-block-kadence-column:last-child{
    grid-column: 1 / -1;
  }
  .corritore-help .kb-row-layout-wrap > .kt-row-column-wrap,
  .corritore-audiences .kb-row-layout-wrap > .kt-row-column-wrap,
  .corritore-brands .kb-row-layout-wrap > .kt-row-column-wrap{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 40px !important;
  }
  .corritore-help .corritore-numbered-list{
    max-width: none !important;
  }
}
/* Mobile hero titles */
@media (max-width: 767px){
  .corritore-page-title br{
    display: none;
  }
}
@media (max-width: 767px){
  .corritore-projects-grid.is-staggered .corritore-project-card.is-tall,
  .corritore-projects-grid.is-staggered .corritore-project-card.is-wide{
    width: 100%;
  }
  .corritore-projects-grid.is-staggered .corritore-projects-grid__col--right:empty{
    display: none;
  }
}
/* About tablet */
@media (min-width: 768px) and (max-width: 1024px){
  .corritore-places > .kt-row-column-wrap{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 30px !important;
    row-gap: 0 !important;
  }
  .corritore-places > .kt-row-column-wrap > .wp-block-kadence-column:first-child,
  .corritore-places > .kt-row-column-wrap > .wp-block-kadence-column:first-child > .kt-inside-inner-col{
    display: contents;
  }
  .corritore-places > .kt-row-column-wrap > .wp-block-kadence-column:first-child > .kt-inside-inner-col > *:not(.wp-block-image){
    grid-column: 1 / -1;
  }
  .corritore-places .corritore-places__small-image{
    grid-column: 1;
    max-width: none;
  }
  .corritore-places > .kt-row-column-wrap > .wp-block-kadence-column:last-child{
    grid-column: 2;
    align-self: end;
  }
  body.corritore-subpage .entry-content .corritore-places img{
    aspect-ratio: 4 / 3 !important;
  }
  .corritore-features > .kt-row-column-wrap{
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    column-gap: 20px !important;
  }
  .corritore-bio > .kt-row-column-wrap{
    align-items: stretch !important;
  }
  .corritore-bio > .kt-row-column-wrap > .wp-block-kadence-column:first-child .kt-inside-inner-col,
  .corritore-bio .corritore-bio__portrait{
    height: 100%;
  }
  body.corritore-subpage .entry-content .corritore-bio .corritore-bio__portrait img{
    height: 100%;
    aspect-ratio: auto !important;
    object-fit: cover;
  }
}
@media (min-width: 768px) and (max-width: 1024px){
  .corritore-bio > .kt-row-column-wrap > .wp-block-kadence-column:first-child .kt-inside-inner-col{
    position: relative;
  }
  body.corritore-subpage .entry-content .corritore-bio .corritore-bio__portrait{
    position: absolute;
    inset: 0;
    height: auto;
  }
}
/* Contact tablet */
@media (min-width: 768px) and (max-width: 1024px){
  .corritore-contact > .kt-row-column-wrap{
    grid-template-columns: minmax(0, 1fr) !important;
    row-gap: 50px !important;
  }
  .corritore-contact > .kt-row-column-wrap > .wp-block-kadence-column:first-child > .kt-inside-inner-col{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 40px;
    align-content: start;
  }
  .corritore-contact > .kt-row-column-wrap > .wp-block-kadence-column:first-child > .kt-inside-inner-col > *{
    grid-column: 1;
  }
  .corritore-contact .corritore-contact__image{
    grid-column: 2 !important;
    grid-row: 1 / span 9;
    align-self: center;
  }
  .corritore-contact > .kt-row-column-wrap > .wp-block-kadence-column:first-child .wp-block-spacer:last-of-type{
    display: none;
  }
}
@media (max-width: 1024px){
  .corritore-project-summary > .kt-row-column-wrap{
    padding-bottom: 80px !important;
  }
}
/* Approach cards mobile order */
@media (max-width: 767px){
  .corritore-method-grid > .kt-row-column-wrap{
    display: flex !important;
    flex-direction: column;
    gap: 24px;
  }
  .corritore-method-grid > .kt-row-column-wrap > .wp-block-kadence-column,
  .corritore-method-grid > .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col{
    display: contents;
  }
  .corritore-method-grid .wp-block-spacer{
    display: none;
  }
  .corritore-method-card--identity{ order: 1; }
  .corritore-method-card--experience{ order: 2; }
  .corritore-method-card--ecosystem{ order: 3; }
  .corritore-method-card--viability{ order: 4; }
}
/* News tablet */
@media (min-width: 768px) and (max-width: 1024px){
  #page .entry-content .corritore-news-featured__title{
    font-size: 34px;
    line-height: 44px;
  }
}
@media (min-width: 768px) and (max-width: 1024px){
  .corritore-news-featured{
    align-items: start;
    padding-bottom: 60px;
  }
  #page .entry-content .corritore-news-featured__title{
    margin-bottom: 18px;
  }
}
/* About features mobile */
@media (max-width: 767px){
  .corritore-features > .kt-row-column-wrap{
    row-gap: 22px !important;
  }
  .corritore-features .kt-inside-inner-col{
    display: grid;
    grid-template-columns: 52px 1fr;
    column-gap: 16px;
    align-items: center;
  }
  body.corritore-subpage .entry-content .corritore-feature__title{
    display: contents;
  }
  body.corritore-subpage .entry-content .corritore-feature__title::before{
    grid-row: 1 / span 2;
    width: 44px;
    height: 44px;
    margin: 0;
  }
  body.corritore-subpage .entry-content .corritore-feature__text{
    grid-column: 2;
  }
  .corritore-bio .corritore-spacer{
    height: 16px !important;
  }
}
/* Consulting mobile type */
@media (max-width: 767px){
  body.corritore-subpage .entry-content .corritore-vertical-title{
    font-size: 34px;
    line-height: 1.2;
    margin-bottom: 10px;
  }
  body.corritore-subpage .entry-content .corritore-italic-heading{
    font-size: 24px;
    line-height: 32px;
  }
  body.corritore-subpage .entry-content .corritore-numbered-list li::before{
    font-size: 20px;
  }
  body.corritore-subpage .entry-content .corritore-stat-number{
    font-size: 80px;
    margin-bottom: 8px;
  }
  body.corritore-subpage .entry-content .corritore-stat-label{
    font-size: 20px;
    line-height: 26px;
  }
  body.corritore-subpage .entry-content .corritore-subheading{
    font-size: 24px;
    line-height: 32px;
  }
}
@media (max-width: 767px){
  #page .entry-content p.corritore-vertical-title{
    font-size: 34px !important;
    line-height: 1.2 !important;
  }
}

/* Client image ratios: no cropping */
.corritore-project-card .corritore-project-card__image,
.corritore-project-card.is-tall .corritore-project-card__image{
  aspect-ratio: auto !important;
}
.corritore-project-card__image img{
  height: auto;
}
.corritore-featured-projects__grid > .kt-row-column-wrap{
  align-items: start;
}
@media (min-width: 768px) and (max-width: 1024px){
  .corritore-featured-projects__grid > .kt-row-column-wrap{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    row-gap: 30px !important;
  }
}

/* Home: featured projects ([corritore_featured_projects]) */
.corritore-featured-projects{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: 1250px;
  margin: 0 auto;
  padding: 24px 0;
}
.corritore-featured-projects__col{
  padding: 24px 0;
}
.corritore-featured-project{
  margin-bottom: 90px;
}
.corritore-featured-project:last-child{
  margin-bottom: 0;
}
.corritore-featured-project--slot-2{
  width: 79.02%;
  margin-left: auto;
}
.corritore-featured-project--slot-3{
  width: 80.49%;
}
.corritore-featured-project__image{
  display: block;
  margin-bottom: 21.6px;
}
.corritore-featured-project--slot-1 .corritore-featured-project__image{
  margin-bottom: 26.6px;
}
.corritore-featured-project__image img{
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;
}
.corritore-featured-project--slot-2 .corritore-featured-project__image img{
  aspect-ratio: 4 / 5;
}
.corritore-featured-project--slot-3 .corritore-featured-project__image img{
  aspect-ratio: 1 / 1;
}
.entry-content .corritore-featured-project__title a{
  color: inherit;
  text-decoration: none;
}
@media (max-width: 767px){
  .corritore-featured-projects{
    display: flex;
    flex-direction: column;
    gap: 50px;
    padding: 48px 0;
  }
  .corritore-featured-projects__col{
    display: contents;
  }
  .corritore-featured-project{
    order: var(--order);
    margin-bottom: 0;
  }
}
@media (max-width: 600px){
  .corritore-featured-project--slot-2,
  .corritore-featured-project--slot-3{
    width: 100%;
  }
}

/* Insights (single post) */
.corritore-insight-single__body{
  padding-bottom: 100px;
}
body.corritore-subpage .entry-content .corritore-insight-single__meta{
  margin: 0 0 30px;
  font-size: 18px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
/* Insight links use navy (not the site's brown link color) */
#page .entry-content .corritore-insight-single__meta a,
#page .entry-content .corritore-insight-related a,
#page .entry-content .corritore-insight-cta a,
#page .entry-content .corritore-insights-list h3 a,
#page .entry-content .corritore-insights-list .corritore-news-more{
  color: var(--corritore-navy);
}
#page .entry-content .corritore-insight-single__meta a{
  text-decoration: none;
  font-weight: 600;
}
#page .entry-content .corritore-insight-single__meta a:hover,
#page .entry-content .corritore-insight-related a:hover,
#page .entry-content .corritore-insight-cta a:hover,
#page .entry-content .corritore-insights-list h3 a:hover,
#page .entry-content .corritore-insights-list .corritore-news-more:hover{
  color: var(--corritore-navy-bright);
}
#page .entry-content .corritore-insight-cta a{
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
}
body.corritore-subpage .entry-content .corritore-insight-single__body h2{
  margin: 50px 0 15px;
  font-size: 32px;
  line-height: 1.25;
}
body.corritore-subpage .entry-content .corritore-insight-single__body ul{
  margin: 0 0 25px;
  padding-left: 22px;
}
body.corritore-subpage .entry-content .corritore-insight-single__body li{
  margin-bottom: 10px;
}
body.corritore-subpage .entry-content .corritore-insight-cta{
  margin-top: 50px;
  font-size: 22px;
}
/* John's notes stay visible in the editor only, until he supplies the text */
.corritore-editor-note{
  display: none !important;
}
.corritore-insight-related{
  margin-top: 60px;
  padding-top: 30px;
  border-top: 1px solid rgba(72, 72, 72, 0.2);
}
body.corritore-subpage .entry-content .corritore-insight-related__label{
  margin-bottom: 10px;
  font-size: 18px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
body.corritore-subpage .entry-content .corritore-insight-related ul{
  list-style: none;
  padding: 0;
  margin: 0;
}
body.corritore-subpage .entry-content .corritore-insight-related a{
  font-family: ivypresto-display, serif;
  font-size: 24px;
  line-height: 1.4;
}
@media (max-width: 767px){
  body.corritore-subpage .entry-content .corritore-insight-single__body h2{
    font-size: 26px;
  }
}

/* Project page: a single photo in the slider spot */
.corritore-project-gallery .corritore-project-gallery__single{
  max-width: 994px;
  margin: 0 auto;
}
.corritore-project-gallery .corritore-project-gallery__single img{
  display: block;
  width: 100%;
  height: auto;
}
