/* PHOMI Mineral Premium — shared editorial projects, scoped from legacy portfolio. */
.phomi-project-page { background:var(--phomi-surface); color:var(--phomi-dark); padding-top:var(--phomi-nav-h); padding-bottom:var(--phomi-section-bottom); }
:is(.phomi-project-page,.phomi-home-projects) > .container,.phomi-project-section.container { max-width:1320px; }
.phomi-project-breadcrumb { display:flex; flex-wrap:wrap; gap:10px; font-size:.78rem; color:var(--phomi-text-muted); padding:24px 0; }
.phomi-project-breadcrumb a { color:inherit; }
.phomi-project-eyebrow { display:block; color:var(--phomi-blue-ink); font-size:.7rem; font-weight:650; letter-spacing:.12em; text-transform:uppercase; margin:0 0 12px; }
.phomi-project-intro { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:clamp(28px,5vw,72px); padding:24px 0 var(--phomi-section-bottom); }
.phomi-project-intro--empty { grid-template-columns:1fr; }
.phomi-project-intro h1 { font-size:clamp(2.5rem,4.2vw,4.6rem); line-height:1.07; letter-spacing:-.045em; margin:0 0 22px; font-weight:650; }
.phomi-project-intro h1 em { color:var(--phomi-blue-ink); font-style:normal; }
.phomi-project-intro p { max-width:47ch; font-size:1rem; line-height:1.75; color:var(--phomi-text-muted); margin:0 0 24px; }
.phomi-project-intro__photo { display:block; position:relative; color:var(--phomi-dark); padding-top:16px; }
.phomi-project-intro__photo::before { content:''; position:absolute; width:20px; height:46px; top:0; right:18px; background:var(--phomi-blue); transform:skew(-22deg); z-index:1; }
.phomi-project-intro__photo img { width:100%; height:auto; max-height:52vh; object-fit:cover; aspect-ratio:1.25; display:block; }
.phomi-project-intro__photo > span { display:flex; justify-content:space-between; gap:16px; padding:14px 0; border-bottom:1px solid var(--phomi-border); font-size:.85rem; }
.phomi-project-link { display:inline-flex; align-items:center; gap:16px; color:var(--phomi-blue-ink); text-decoration:none; font-size:.88rem; font-weight:550; min-height:44px; }
.phomi-project-link:hover { color:var(--phomi-dark); text-decoration:underline; text-underline-offset:5px; }
.phomi-project-listing { border-top:1px solid var(--phomi-border); padding-top:var(--phomi-head-gap); scroll-margin-top:calc(var(--phomi-nav-h) + 16px); }
.phomi-project-section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:24px; margin-bottom:24px; }
.phomi-project-page h2,.phomi-home-projects h2,.phomi-project-section h2 { font-size:clamp(1.8rem,3vw,2.9rem); line-height:1.15; font-weight:600; letter-spacing:-.03em; margin:0 0 12px; }
.phomi-project-section-heading h2 { margin-bottom:0; }
.phomi-project-section-heading > p { font-size:.85rem; color:var(--phomi-text-muted); margin:0; }
.phomi-project-filters { display:flex; flex-wrap:wrap; align-items:flex-end; gap:16px; padding:20px; margin-bottom:28px; background:var(--phomi-mist); }
.phomi-project-filters label { flex:1 1 160px; max-width:280px; font-size:.75rem; font-weight:600; }
.phomi-project-filters select { display:block; width:100%; margin-top:8px; min-height:46px; padding:10px 30px 10px 12px; background:var(--phomi-surface); color:var(--phomi-dark); border:1px solid var(--phomi-border); border-radius:0; font:inherit; font-size:.85rem; }
.phomi-project-button { display:inline-flex; align-items:center; justify-content:center; gap:16px; min-height:46px; padding:12px 18px; color:var(--phomi-surface); background:var(--phomi-blue-ink); border:1px solid var(--phomi-blue-ink); border-radius:0; font:inherit; font-size:.85rem; font-weight:600; text-decoration:none; }
.phomi-project-button:hover { background:var(--phomi-dark); border-color:var(--phomi-dark); color:var(--phomi-surface); }
.phomi-project-reset { min-height:46px; display:inline-flex; align-items:center; color:var(--phomi-blue-ink); font-size:.85rem; text-decoration:underline; }
.phomi-project-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.phomi-project-card { min-width:0; background:var(--phomi-surface); border:1px solid var(--phomi-border); color:var(--phomi-dark); }
.phomi-project-card__image { display:block; overflow:hidden; background:var(--phomi-mist); }
.phomi-project-card__image img { display:block; width:100%; height:auto; aspect-ratio:1.5; object-fit:cover; transition:transform .25s ease; }
.phomi-project-card:hover .phomi-project-card__image img { transform:scale(1.025); }
.phomi-project-card__placeholder { display:grid; place-items:center; aspect-ratio:1.5; color:var(--phomi-blue-ink); }
.phomi-project-card__body { padding:20px; }
.phomi-project-card :is(h2,h3,h4) { font-size:1.28rem; font-weight:600; line-height:1.3; letter-spacing:-.02em; margin:0 0 10px; }
.phomi-project-card :is(h2,h3,h4) a { color:var(--phomi-dark); text-decoration:none; }
.phomi-project-card p { color:var(--phomi-text-muted); font-size:.84rem; line-height:1.6; margin:0 0 8px; }
.phomi-project-card .phomi-project-eyebrow { font-size:.62rem; }
.phomi-project-empty { padding:44px 24px; background:var(--phomi-mist); }
.phomi-project-pagination { display:flex; flex-wrap:wrap; gap:8px; margin-top:28px; }
.phomi-project-pagination a { display:grid; place-items:center; min-width:44px; height:44px; border:1px solid var(--phomi-border); color:var(--phomi-dark); }
.phomi-project-pagination a[aria-current] { background:var(--phomi-blue-ink); color:var(--phomi-surface); }
.phomi-project-cta { display:flex; align-items:center; flex-wrap:wrap; gap:24px; padding:clamp(24px,4vw,48px); margin-top:var(--phomi-section-top); background:var(--phomi-mist); border-top:3px solid var(--phomi-blue-ink); }
.phomi-project-cta > div:first-child { flex:1 1 340px; }
.phomi-project-cta p { max-width:58ch; margin:0; color:var(--phomi-text-muted); line-height:1.7; }
.phomi-project-cta small { display:block; font-size:.7rem; color:var(--phomi-text-muted); margin-top:10px; }
.phomi-home-projects { padding:var(--phomi-section-top) 0 var(--phomi-section-bottom); background:var(--phomi-graphite); color:var(--phomi-surface); }
.phomi-home-projects .phomi-project-section-heading :is(.phomi-project-eyebrow,.phomi-project-link) { color:var(--phomi-blue); }
.phomi-project-grid--featured { grid-template-columns:1fr; }
.phomi-project-grid--featured .phomi-project-card { display:grid; grid-template-columns:1.6fr 1fr; align-items:center; }
.phomi-project-grid--featured .phomi-project-card__image img { max-height:50vh; }
.phomi-project-grid--featured .phomi-project-card__body { padding:clamp(24px,4vw,56px); }
.phomi-project-grid--featured .phomi-project-card h3 { font-size:clamp(1.6rem,2.6vw,2.8rem); }
.phomi-project-single__heading { max-width:920px; padding:20px 0 28px; }
.phomi-project-single__heading h1 { font-size:clamp(2.2rem,4vw,4.2rem); line-height:1.12; letter-spacing:-.04em; font-weight:600; margin:0 0 20px; }
.phomi-project-single__heading > p { color:var(--phomi-text-muted); font-size:1rem; line-height:1.75; max-width:64ch; }
.phomi-project-single__tags { font-size:.8rem; color:var(--phomi-blue-ink); margin-top:16px; }
.phomi-project-hero { margin:0; }
.phomi-project-photo { display:block; position:relative; color:var(--phomi-dark); background:var(--phomi-mist); cursor:zoom-in; }
.phomi-project-photo img { display:block; width:100%; height:auto; object-fit:cover; }
.phomi-project-hero img { aspect-ratio:2; max-height:62vh; object-position:center top; }
.phomi-project-photo > span { position:absolute; bottom:14px; right:14px; width:44px; height:44px; display:grid; place-items:center; background:var(--phomi-surface); font-size:1.4rem; }
.phomi-project-page figcaption { font-size:.73rem; line-height:1.5; color:var(--phomi-text-muted); margin-top:10px; }
.phomi-project-story { display:grid; grid-template-columns:1.5fr 1fr; gap:clamp(28px,6vw,80px); padding:var(--phomi-section-top) 0 var(--phomi-section-bottom); }
.phomi-project-prose { max-width:65ch; color:var(--phomi-text-muted); line-height:1.8; }
.phomi-project-facts { margin:0; align-self:start; border-top:1px solid var(--phomi-border); }
.phomi-project-facts > div { display:grid; grid-template-columns:1fr 1.4fr; gap:20px; padding:16px 0; border-bottom:1px solid var(--phomi-border); font-size:.85rem; }
.phomi-project-facts dt { color:var(--phomi-text-muted); font-weight:400; }
.phomi-project-facts dd { margin:0; overflow-wrap:anywhere; }
.phomi-project-materials,.phomi-project-gallery-section,.phomi-project-installation,.phomi-project-related { padding-top:var(--phomi-head-gap); margin-bottom:var(--phomi-section-bottom); border-top:1px solid var(--phomi-border); }
.phomi-project-materials__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.phomi-project-material { display:grid; grid-template-columns:100px 1fr; align-items:center; gap:20px; padding:18px; border:1px solid var(--phomi-border); color:var(--phomi-dark); }
.phomi-project-material > img { width:100%; height:auto; aspect-ratio:1; object-fit:cover; }
.phomi-project-material strong,.phomi-project-material > span > span { display:block; }
.phomi-project-material > span > span:not(.phomi-project-link) { color:var(--phomi-text-muted); font-size:.8rem; margin-top:6px; }
.phomi-project-gallery { display:grid; grid-template-columns:1fr 1fr; gap:28px; }
.phomi-project-gallery figure { margin:0; min-width:0; }
.phomi-project-gallery img { aspect-ratio:.9; max-height:75vh; }
.phomi-project-installation p { max-width:75ch; color:var(--phomi-text-muted); line-height:1.8; }
.phomi-project-credit { font-size:.75rem; color:var(--phomi-text-muted); }
.phomi-project-back { margin:24px 0 0; }
.phomi-project-section { padding-top:32px; padding-bottom:32px; }
.phomi-variant-projects .phomi-project-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
:is(.phomi-project-page,.phomi-home-projects,.phomi-project-section,.phomi-variant-projects) :is(a,button,select):focus-visible { outline:2px solid var(--phomi-blue-ink); outline-offset:4px; }
@media (max-width:991px) {
 .phomi-project-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
 .phomi-project-intro { gap:28px; }
 .phomi-project-story { grid-template-columns:1fr; }
 .phomi-project-materials__grid { grid-template-columns:1fr; }
}
@media (max-width:767px) {
 .phomi-project-intro,.phomi-project-grid--featured .phomi-project-card { grid-template-columns:1fr; }
 .phomi-project-intro { padding-top:12px; }
 .phomi-project-intro h1 { font-size:clamp(2.35rem,8vw,3.5rem); }
 .phomi-project-intro__photo img { max-height:48vh; aspect-ratio:1.5; }
 .phomi-project-section-heading { align-items:flex-start; flex-direction:column; gap:12px; }
 .phomi-project-hero img { aspect-ratio:1.35; max-height:52vh; }
 .phomi-project-cta { display:block; }
 .phomi-project-cta .phomi-project-button { margin-top:20px; width:100%; }
 .phomi-project-cta .phomi-project-link { margin-top:8px; }
}
@media (max-width:639px) {
 .phomi-project-grid,.phomi-variant-projects .phomi-project-grid,.phomi-project-gallery { grid-template-columns:1fr; }
 .phomi-project-filters { gap:12px; padding:16px; }
 .phomi-project-filters label { max-width:none; flex-basis:100%; }
 .phomi-project-filters button { flex:1; }
 .phomi-project-gallery img { aspect-ratio:1; max-height:65vh; }
 .phomi-project-material { grid-template-columns:76px 1fr; gap:14px; padding:12px; }
 .phomi-project-cta small { overflow-wrap:anywhere; }
}
@media (prefers-reduced-motion:reduce) { .phomi-project-card__image img { transition:none; } .phomi-project-card:hover .phomi-project-card__image img { transform:none; } }
