/* Inner-page hero (HERO-02 family). Shared by every page hero pattern: 7/5 grid, watercolor wash at one edge, framed photo. */
.cc-hero2 { position: relative; overflow: hidden; isolation: isolate; padding-block: 6rem; border-bottom: 1px solid var(--wp--preset--color--line); }
.cc-hero2 .cc-wash { position: absolute; top: 0; bottom: 0; z-index: -1; margin: 0 !important; pointer-events: none; }
.cc-hero2 .cc-wash img { display: block; width: 100%; height: 100%; object-fit: cover; -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 45%); mask-image: linear-gradient(to right, transparent 0%, #000 45%); }
.cc-hero2 .cc-wash--l { left: 0; width: min(24%, 340px); opacity: .7; transform: scaleX(-1); }
.cc-hero2 .cc-wash--l img { object-position: right top; }
.cc-hero2 .cc-wash--r { right: 0; width: min(32%, 460px); }
.cc-hero2 .cc-wash--r img { object-position: right bottom; }

.cc-hero2 .cc-hero2__wrap { box-sizing: border-box; max-width: 1200px; margin-inline: auto !important; padding-inline: 1.5rem; }
.cc-hero2 .cc-hero2__wrap > * { margin: 0; }
.cc-hero2 .cc-hero2__grid { box-sizing: border-box; display: grid; grid-template-columns: 1fr; gap: 3rem; align-items: center; }
.cc-hero2 .cc-hero2__grid > *, .cc-hero2 .cc-hero2__text > * { margin: 0; }
@media (min-width: 1024px) { .cc-hero2 .cc-hero2__grid { grid-template-columns: repeat(12, minmax(0, 1fr)); } .cc-hero2 .cc-hero2__text { grid-column: span 7; } .cc-hero2 .cc-hero2__photo { grid-column: span 5; } .cc-hero2--plain .cc-hero2__text { grid-column: span 12; } }
.cc-hero2 .cc-hero2__text { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; }
.cc-hero2 .cc-crumb { display: flex; align-items: center; gap: .5rem; margin-bottom: 1rem; font: 600 .75rem/1rem var(--wp--preset--font-family--label); letter-spacing: .18em; text-transform: uppercase; color: var(--wp--preset--color--gold-deep); }
.cc-hero2 .cc-crumb a { color: inherit; text-decoration: none; }
.cc-hero2 .cc-crumb a:hover { color: var(--wp--preset--color--ink); }
.cc-hero2 .cc-crumb strong { color: var(--wp--preset--color--ink); font-weight: 600; }
.cc-hero2 .cc-crumb__sep { color: var(--wp--preset--color--gold-light); font: 400 .9375rem/1 var(--wp--preset--font-family--body); letter-spacing: 0; }
.cc-hero2 .is-style-script { margin-top: .75rem !important; margin-bottom: -.25rem !important; margin-left: .25rem !important; color: var(--wp--preset--color--gold-deep); }
.cc-hero2 .cc-hero2__title { margin-bottom: 1rem; font-size: 4rem; line-height: 4.25rem; letter-spacing: -0.025em; font-weight: 500; }
.cc-hero2 .cc-hero2__lead { max-width: 36rem; line-height: 1.625; }
.cc-hero2 .cc-hero2__frame { position: relative; box-sizing: border-box; padding: .5rem; background: var(--wp--preset--color--paper); box-shadow: 0 1px 2px color-mix(in srgb, var(--wp--preset--color--ink) 8%, transparent); }
.cc-hero2 .cc-hero2__frame figure { position: relative; margin: 0; overflow: hidden; }
.cc-hero2 .cc-hero2__frame figure::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, color-mix(in srgb, var(--wp--preset--color--navy-deep) 20%, transparent), transparent 60%); pointer-events: none; }
.cc-hero2 .cc-hero2__frame img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.cc-hero2--portrait .cc-hero2__frame { padding: .75rem; border: 1px solid var(--wp--preset--color--line); }
.cc-hero2--portrait .cc-hero2__frame img { aspect-ratio: 4 / 5; }
@media (max-width: 781px) { .cc-hero2 { padding-block: 3.5rem; } .cc-hero2 .cc-hero2__title { font-size: 2.5rem; line-height: 2.75rem; } }

.cc-hero2 .cc-hero2__btns { margin-top: 1.5rem; gap: 1rem; }
.cc-hero2 .cc-hero2__btns .is-style-outline .wp-block-button__link { border-color: var(--wp--preset--color--navy); color: var(--wp--preset--color--navy); }

/* Hero extras seen in the template */
.cc-hero2 .cc-hero2__photo { position: relative; }
.cc-hero2 .cc-hero2__photo > *, .cc-hero2 .cc-hero2__frame > * { margin-block: 0; }
.cc-hero2 .cc-hero2__frame { position: relative; }
.cc-hero2 .cc-hero2__label { display: flex; align-items: center; gap: 1.5rem; margin-top: 1.5rem !important; }
.cc-hero2 .cc-hero2__label > * { margin: 0; }
.cc-hero2 .cc-hero2__label-line { width: 6rem; height: 1px; background: var(--wp--preset--color--line); }
.cc-hero2 .cc-hero2__gold { width: 4rem; height: 2px; margin: 0 0 1rem !important; background: var(--wp--preset--color--gold-deep); }
.cc-hero2 .cc-hero2__feats { display: flex; flex-wrap: wrap; align-items: center; gap: 1.5rem; padding-top: .5rem; margin-top: 1rem !important; }
.cc-hero2 .cc-hero2__feats > * { margin: 0; }
.cc-hero2 .cc-hero2__feat { display: flex; align-items: center; gap: .5rem; font: 500 .8125rem/1.125rem var(--wp--preset--font-family--label); letter-spacing: .14em; text-transform: uppercase; color: var(--wp--preset--color--text); }
.cc-hero2 .cc-hero2__feat::before { content: ""; width: 20px; height: 20px; background: var(--wp--preset--color--gold-deep); -webkit-mask: var(--cc-icon) center / contain no-repeat; mask: var(--cc-icon) center / contain no-repeat; }
.cc-hero2 .cc-hero2__feat--blue::before { background: var(--wp--preset--color--wash-blue); }
.cc-hero2 .cc-hero2__badge { position: absolute; left: 1rem; bottom: 1rem; display: flex; align-items: center; gap: .5rem; margin: 0; padding: .375rem .75rem; background: color-mix(in srgb, var(--wp--preset--color--paper) 95%, transparent); border: 1px solid var(--wp--preset--color--line); font: 600 .75rem/1.0625rem var(--wp--preset--font-family--label); letter-spacing: .14em; text-transform: uppercase; color: var(--wp--preset--color--ink); }
.cc-hero2 .cc-hero2__badge::before { content: ""; width: .375rem; height: .375rem; background: var(--wp--preset--color--gold); }
.cc-hero2 .cc-hero2__cap { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .75rem .5rem .25rem; font-size: .9375rem; color: var(--wp--preset--color--muted); }
.cc-hero2 .cc-hero2__cap > * { margin: 0; }
.cc-hero2 .cc-hero2__cap em { font-style: italic; }
.cc-hero2 .cc-hero2__cap-r { font: 600 .6875rem/1rem var(--wp--preset--font-family--label); letter-spacing: .1em; text-transform: uppercase; color: var(--wp--preset--color--gold-deep); }
.cc-hero2 .cc-hero2__tab { position: absolute; left: -1rem; bottom: -1rem; display: none; margin: 0; padding: .5rem 1rem; background: var(--wp--preset--color--canvas-statement); border: 1px solid var(--wp--preset--color--line); font-size: 26px; line-height: 1; color: var(--wp--preset--color--navy); }
@media (min-width: 640px) { .cc-hero2 .cc-hero2__tab { display: block; } }
.cc-hero2 .cc-hero2__stats { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; margin-top: 3rem !important; padding-top: 2rem; border-top: 1px solid var(--wp--preset--color--line); }
@media (min-width: 782px) { .cc-hero2 .cc-hero2__stats { grid-template-columns: repeat(4, 1fr); } }
.cc-hero2 .cc-hero2__stat > * { margin: 0; }
.cc-hero2 .cc-hero2__stat-k { font: 600 .6875rem/1rem var(--wp--preset--font-family--label); letter-spacing: .16em; text-transform: uppercase; color: var(--wp--preset--color--muted); }
.cc-hero2 .cc-hero2__stat-v { margin-top: .25rem !important; font: 600 1.75rem/1.2 var(--wp--preset--font-family--display); color: var(--wp--preset--color--navy); }
.cc-hero2--aside .cc-hero2__grid { grid-template-columns: 1fr; align-items: end; }
@media (min-width: 1024px) { .cc-hero2--aside .cc-hero2__grid { grid-template-columns: 1fr auto; } .cc-hero2--aside .cc-hero2__text { grid-column: auto; } }
.cc-hero2 .cc-hero2__aside { box-sizing: border-box; display: flex; align-items: center; gap: .75rem; padding: 1rem; background: var(--wp--preset--color--paper); border-left: 2px solid var(--wp--preset--color--gold-deep); align-self: start; }
@media (min-width: 1024px) { .cc-hero2 .cc-hero2__aside { align-self: end; } }
.cc-hero2 .cc-hero2__aside > * { margin: 0; }
.cc-hero2 .cc-hero2__aside-ico { color: var(--wp--preset--color--gold-deep); line-height: 0; }
.cc-hero2 .cc-hero2__aside-ico::before { content: ""; display: inline-block; width: 28px; height: 28px; background: currentColor; -webkit-mask: var(--cc-icon) center / contain no-repeat; mask: var(--cc-icon) center / contain no-repeat; }
.cc-hero2 .cc-hero2__aside-t > * { margin: 0; }
.cc-hero2 .cc-hero2__aside-k { font: 600 .75rem/1.0625rem var(--wp--preset--font-family--label); letter-spacing: .12em; text-transform: uppercase; color: var(--wp--preset--color--navy); }
.cc-hero2 .cc-hero2__aside-v { font-size: .9375rem; color: var(--wp--preset--color--muted); }
