
/* Portfolio home — hero, pillars, featured grid, philosophy (top banner: globalstyle .page-header) */

main {
overflow: visible;
}

.hero-portfolio {
padding:clamp(4rem, 7vw, 10rem) 0 clamp(3rem, 6vw, 5rem);
}

.hero-portfolio__grid {
display: grid;
grid-template-columns: minmax(0, 320px) minmax(0, 1fr);
gap: clamp(2rem, 5vw, 4rem);
align-items: stretch;
text-align: left;
}

.hero-portfolio__photo-wrap {
width: 100%;
max-width: 300px;
min-height: 0;
align-self: stretch;
border-radius: var(--radius-lg);
overflow: hidden;
box-shadow: var(--shadow-card);
}

.hero-portfolio__photo {
width: 100%;
height: 100%;
display: block;
object-fit: cover;
object-position: center 22%;
}

.hero-portfolio__intro {
display: flex;
flex-direction: column;
justify-content: center;
min-height: 0;
align-self: stretch;
}

.hero-portfolio__hi {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 0.35em .5em;
margin-bottom: 1rem;
line-height: 1.2;
}

.hero-portfolio__hi-text {
font-size: clamp(1.05rem, 2.5vw, 2rem);
font-weight: 600;
flex-shrink: 0;
}

.hero-portfolio__name {
display: block;
height: clamp(3rem, 7vw, 10rem);
width: auto;
max-width: min(100%, clamp(200px, 55vw, 380px));
object-fit: contain;
object-position: left center;
flex-shrink: 1;
}

.hero-portfolio__tagline {
font-size: clamp(1.05rem, 2.5vw, 2rem);
font-weight: 600;
line-height: 1.45;
max-width: 36ch;
}

/* .section-block: end of css/globalstyle.css */

.pillars-grid {
display: grid;
grid-template-columns: repeat(4, minmax(0, 1fr));
grid-template-rows: auto 1fr;
gap: clamp(1rem, 1vw, 1rem);
}

/* Subgrid: labels share one row, body copy tops align across columns */
.pillar-card {
display: grid;
grid-template-rows: subgrid;
grid-row: span 2;
min-width: 0;
}

.pillar-card__label {
font-size: 0.7rem;
font-weight: 600;
letter-spacing: 0.12em;
text-transform: uppercase;
color: var(--warm-gray);
/* margin-bottom: 1rem; */
}

.pillar-card__text {
align-self: start;
}

.work-cards {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: clamp(1.25rem, 2.5vw, 1.75rem);
}

/* Featured cards: shared border; only coming-soon cards are shadowless/static */
.featured-work {
position: relative;
z-index: 1;
overflow: visible;
}

.featured-work .work-card {
border: 1px solid var(--mid-gray);
}

.featured-work .work-card--coming-soon {
box-shadow: none;
}

.featured-work .work-card--coming-soon:hover {
transform: none;
box-shadow: none;
}

.work-card__status {
display: inline-block;
margin-bottom: 0.5rem;
padding: 0.2rem 0.55rem;
border-radius: 999px;
font-size: 0.68rem;
letter-spacing: 0.08em;
text-transform: uppercase;
font-weight: 600;
color: var(--warm-gray);
background: var(--bg-subtle);
}

.philosophy-section {
position: relative;
overflow-x: clip;
overflow-y: visible;
background: var(--white);
padding: clamp(4rem, 8vw, 6rem) 0;
}

.philosophy-section > .container {
position: relative;
z-index: 1;
}

.philosophy-section__flower {
position: absolute;
left: 0;
top: 0;
transform: translate(-28%, -55%);
z-index: 2;
line-height: 0;
pointer-events: none;
}

.philosophy-section__flower img {
display: block;
width: clamp(56px, 10vw, 88px);
height: auto;
}

.philosophy-section__blobs {
position: absolute;
right: 0;
top: 58%;
transform: translateY(-38%);
z-index: 0;
line-height: 0;
pointer-events: none;
max-width: min(220px, 42vw);
}

.philosophy-section__blobs img {
display: block;
width: 100%;
height: auto;
}

section {
padding: clamp(4rem, 8vw, 6rem) 0;
}

@media (max-width: 900px) {
.pillars-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: auto 1fr auto 1fr;
}

.work-cards {
    grid-template-columns: repeat(2, 1fr);
}
}

@media (max-width: 640px) {
.hero-portfolio__grid {
    grid-template-columns: 1fr;
    text-align: center;
    align-items: center;
}

.hero-portfolio__photo-wrap {
    align-self: center;
    justify-self: center;
    margin-inline: auto;
    max-width: 260px;
    width: min(100%, 260px);
    aspect-ratio: 4 / 5;
    height: auto;
}

.hero-portfolio__intro {
    justify-self: stretch;
    width: 100%;
    max-width: 100%;
}

.hero-portfolio__photo {
    object-position: center center;
}

.hero-portfolio__hi {
    justify-content: center;
}

.hero-portfolio__name {
    max-width: min(100%, clamp(180px, 72vw, 340px));
    height: clamp(1.75rem, 6vw, 2.85rem);
}

.hero-portfolio__tagline {
    max-width: none;
}

.pillars-grid {
    grid-template-columns: 1fr;
    grid-template-rows: repeat(4, auto 1fr);
}

.work-cards {
    grid-template-columns: 1fr;
}

.philosophy-section__flower {
    transform: translate(-16%, -55%);
}

.philosophy-section__blobs {
    top: 52%;
    transform: translateY(-35%);
    max-width: min(160px, 38vw);
}
}
