/* The Wizard — ten editable Gutenberg blurb layouts. Scoped to avoid changing
   existing blocks, classic pages, galleries or older pattern markup. */
.wiz-blurb {
    box-sizing: border-box;
    padding: clamp(54px, 6vw, 100px) clamp(18px, 3.8vw, 56px);
    background-color: var(--wiz-bg, #272c33);
    color: var(--wiz-text, #f3f4f5);
}
.wiz-blurb * { box-sizing: border-box; }
.wiz-blurb-shell {
    max-width: 1280px;
    margin-inline: auto;
    container-type: inline-size;
}
.wiz-blurb-intro {
    max-width: 760px;
    margin: 0 0 clamp(28px, 4vw, 55px);
}
.wiz-blurb .wiz-blurb-section-label,
.wiz-blurb .wiz-blurb-eyebrow {
    margin: 0 0 10px;
    font-size: 11px;
    line-height: 1.55;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
    opacity: .77;
}
.wiz-blurb .wiz-blurb-section-title {
    margin: 0 0 15px;
    max-width: 760px;
    font-size: clamp(30px, 3.3vw, 52px);
    line-height: 1.16;
    letter-spacing: -.035em;
    overflow-wrap: normal;
}
.wiz-blurb .wiz-blurb-section-intro {
    margin: 0;
    max-width: 670px;
    font-size: clamp(15px, 1.2vw, 18px);
    line-height: 1.65;
    opacity: .82;
}
.wiz-blurb .wiz-blurb-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    align-items: stretch;
    gap: clamp(18px, 2.2vw, 30px);
    width: 100%;
    margin: 0;
}
.wiz-blurb .wiz-blurb-grid--3 {grid-template-columns: repeat(3, minmax(0,1fr)) !important;}
.wiz-blurb .wiz-blurb-grid--4 {grid-template-columns: repeat(4, minmax(0,1fr)) !important;}
.wiz-blurb .wiz-blurb-grid > .wp-block-column {
    min-width: 0;
    width: auto !important;
    flex: none !important;
    margin: 0 !important;
}
.wiz-blurb .wiz-blurb-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    height: 100%;
    padding: clamp(20px, 2vw, 32px);
    border-radius: 20px;
    background: var(--wiz-card, #34383c);
    color: var(--wiz-text, #f4f3f0);
}
.wiz-blurb .wiz-blurb-copy {
    display: flex;
    flex: 1 0 auto;
    flex-direction: column;
    align-items: flex-start;
    min-width: 0;
    margin: 0 0 clamp(24px,2.5vw,34px);
    gap: 9px;
}
.wiz-blurb .wiz-blurb-copy > * {margin-block: 0;}
.wiz-blurb .wiz-blurb-card-title {
    margin: 0;
    line-height: 1.2;
    font-size: clamp(21px, 1.75vw, 30px);
    font-weight: 650;
    letter-spacing: -.025em;
    overflow-wrap: anywhere;
}
.wiz-blurb .wiz-blurb-description {
    margin: 0;
    max-width: 43ch;
    font-size: clamp(14px, 1vw, 16px);
    line-height: 1.6;
    opacity: .84;
}
.wiz-blurb .wiz-blurb-meta {
    font-size: 13px;
    font-weight: 600;
    opacity: .75;
    letter-spacing: .02em;
}
.wiz-blurb .wiz-blurb-email,
.wiz-blurb .wiz-blurb-link {
    margin-top: 8px;
    font-size: clamp(13px, 1vw, 15px);
    line-height: 1.6;
    overflow-wrap: anywhere;
}
.wiz-blurb .wiz-blurb-email a,
.wiz-blurb .wiz-blurb-link a {
    color: inherit;
    text-decoration: none;
    border-bottom: 1px solid currentColor;
    padding-bottom: 2px;
}
.wiz-blurb .wiz-blurb-email a:hover,
.wiz-blurb .wiz-blurb-link a:hover {opacity: .7;}
.wiz-blurb .wiz-blurb-number {
    margin-bottom: 6px;
    font-size: clamp(28px,3.6vw,48px);
    font-weight: 300;
    letter-spacing: -.04em;
    line-height: 1;
}
.wiz-blurb .wiz-blurb-image {
    margin: auto 0 0;
    width: 100%;
    overflow: hidden;
    border-radius: 13px;
}
.wiz-blurb .wiz-blurb-image img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border: 0;
    border-radius: inherit;
    box-shadow: none;
}
/* 01: open editorial portraits */
.wiz-blurb--editorial .wiz-blurb-card {background: transparent; border: 0; border-top: 1px solid currentColor; border-radius: 0; padding: 25px 0 0;}
.wiz-blurb--editorial .wiz-blurb-image img {aspect-ratio: 5 / 4;}
.wiz-blurb--editorial .wiz-blurb-card-title {font-size:clamp(29px,3vw,44px);}
/* 02: compact directory with grounded portrait thumbnails */
.wiz-blurb--directory .wiz-blurb-card {border:1px solid color-mix(in srgb,currentColor 10%,transparent);}
.wiz-blurb--directory .wiz-blurb-image img {aspect-ratio:4 / 4.4;}
.wiz-blurb--directory .wiz-blurb-meta {order:-1;}
/* 03: product-like tiles with tidy four-column labels */
.wiz-blurb--products {background:color-mix(in srgb,var(--wiz-bg,#272c33) 88%,var(--wiz-card,#34383c) 12%);}
.wiz-blurb--products .wiz-blurb-card {padding:clamp(15px,1.5vw,23px);border-radius:15px;}
.wiz-blurb--products .wiz-blurb-card-title {font-size:clamp(18px,1.35vw,23px);}
.wiz-blurb--products .wiz-blurb-image {border-radius:8px;}
.wiz-blurb--products .wiz-blurb-image img {aspect-ratio:3 / 4;}
/* 04: deep charcoal contact panels in either active theme */
.wiz-blurb--contact {background: #171c22; color:#f4f5f6;}
.wiz-blurb--contact .wiz-blurb-card {background:#242a31;color:#f4f5f6;border-radius:16px;}
.wiz-blurb--contact .wiz-blurb-image img {aspect-ratio:16 / 10;}
.wiz-blurb--contact .wiz-blurb-copy {margin-bottom:30px;}
/* 05: numbered line-work instead of another card grid */
.wiz-blurb--services .wiz-blurb-card {background:transparent;border-radius:0;border-top:1px solid currentColor;padding:24px 0 0;}
.wiz-blurb--services .wiz-blurb-image {border-radius:0;}
.wiz-blurb--services .wiz-blurb-image img {aspect-ratio:5 / 4;}
/* 06: full atmospheric dark collection, wide imagery */
.wiz-blurb--collections {background:#141a20;color:#f4f5f7;}
.wiz-blurb--collections .wiz-blurb-card {background:#222930;color:#f4f5f7;border:1px solid #39424a;}
.wiz-blurb--collections .wiz-blurb-image img {aspect-ratio:3 / 2;}
.wiz-blurb--collections .wiz-blurb-card-title {font-size:clamp(28px,3vw,39px);}
/* 07: restrained four-person team rows */
.wiz-blurb--people .wiz-blurb-card {background:transparent;border:1px solid color-mix(in srgb,currentColor 18%,transparent);border-radius:12px;padding:clamp(15px,1.6vw,24px);}
.wiz-blurb--people .wiz-blurb-copy {gap:10px;}
.wiz-blurb--people .wiz-blurb-card-title {font-size:clamp(19px,1.5vw,23px);}
.wiz-blurb--people .wiz-blurb-image {border-radius:6px;}
.wiz-blurb--people .wiz-blurb-image img {aspect-ratio:4 / 5;}
/* 08: professional case studies, elegant bottom-weighted images */
.wiz-blurb--cases .wiz-blurb-card {background:transparent;border-radius:0;padding:0;}
.wiz-blurb--cases .wiz-blurb-copy {border-top:2px solid currentColor;padding-top:20px;}
.wiz-blurb--cases .wiz-blurb-image img {aspect-ratio:16 / 11;}
.wiz-blurb--cases .wiz-blurb-card-title {font-size:clamp(23px,2vw,30px);}
/* 09: oversized signature presentation */
.wiz-blurb--signature .wiz-blurb-card {border:1px solid color-mix(in srgb,currentColor 13%,transparent);border-radius:28px;padding:clamp(25px,3.5vw,48px);}
.wiz-blurb--signature .wiz-blurb-card-title {font-size:clamp(30px,3vw,46px);font-weight:500;}
.wiz-blurb--signature .wiz-blurb-image img {aspect-ratio:3 / 2;}
/* 10: minimal information highlights */
.wiz-blurb--highlights .wiz-blurb-card {background:transparent;border-top:3px solid currentColor;border-radius:0;padding:24px 0 0;}
.wiz-blurb--highlights .wiz-blurb-image {border-radius:9px;}
.wiz-blurb--highlights .wiz-blurb-image img {aspect-ratio:4 / 3;}
.wiz-blurb--highlights .wiz-blurb-card-title {font-size:clamp(19px,1.6vw,25px);}
/* Container breakpoints react to actual canvas width, not browser width. */
@container (max-width: 1050px) {
    .wiz-blurb .wiz-blurb-grid--4 {grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@container (max-width: 850px) {
    .wiz-blurb .wiz-blurb-grid--3 {grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@container (max-width: 640px) {
    .wiz-blurb .wiz-blurb-grid--2,
    .wiz-blurb .wiz-blurb-grid--3,
    .wiz-blurb .wiz-blurb-grid--4 {grid-template-columns:minmax(0,1fr) !important;}
    .wiz-blurb .wiz-blurb-card {min-width:0;}
    .wiz-blurb--people .wiz-blurb-image img {aspect-ratio:4 / 3;}
}
/* Older browsers: safe viewport fallback. */
@media (max-width: 781px) {
    .wiz-blurb {padding:50px 18px;}
    .wiz-blurb .wiz-blurb-grid--2,
    .wiz-blurb .wiz-blurb-grid--3,
    .wiz-blurb .wiz-blurb-grid--4 {grid-template-columns:minmax(0,1fr) !important;}
}
