/* heru-projects: Projects block family (featured-project, projects-archive, project-hero, project-overview, project-narrative, project-quote, project-endcap). Colours via site tokens, fonts as named. Hover rules sit inside the hover-capable query. */
.fp-feat,.proj-arch,.proj-hero,.proj-ov,.proj-end,.proj-narr,.proj-quote{--cream:var(--wp--preset--color--light-gray);--surface:var(--wp--preset--color--heru-surface);--deep:var(--wp--preset--color--heru-sand-deep);--ink:var(--wp--preset--color--heru-ink);--ink-mid:var(--wp--preset--color--heru-ink-mid);--ink-light:var(--wp--preset--color--heru-ink-light);--rule:var(--wp--preset--color--heru-rule);--taupe:var(--wp--preset--color--secondary);--primary:var(--wp--preset--color--primary);--gutter:clamp(1.25rem,5vw,8.125rem);}
[hidden]{display:none;}
/* featured-project */
.fp-band{background:var(--wp--preset--color--light-gray);border-top:1px solid var(--wp--preset--color--secondary);padding:clamp(2.75rem,6vw,3.75rem) clamp(1.25rem,5vw,8.125rem) clamp(3.25rem,7vw,4.5rem);}
.fp-band .fp-inner{max-width:1180px;margin:0 auto;display:flex;flex-direction:column;gap:1.5rem;}
.fp-eyebrow{display:inline-flex;align-items:center;gap:.625rem;font-family:'Inter',sans-serif;font-size:.72rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--wp--preset--color--accent-1);margin:0;}
.fp-eyebrow::before{content:none;width:28px;height:1px;background:var(--wp--preset--color--accent-1);}
.fp-single{display:block;}
.fp-feat{display:block;background:var(--surface);border:1px solid var(--rule);text-decoration:none;color:inherit;transition:border-color .2s ease;font-family:'Manrope',sans-serif;}
@media (hover:hover) and (pointer:fine){.fp-feat:hover{border-color:var(--wp--preset--color--accent-1);}}
.fp-feat .fp-feat-image{position:relative;height:440px;background-color:var(--deep);background-size:cover;background-position:center;border-bottom:1px solid var(--rule);}
.fp-feat .fp-feat-body{padding:clamp(1.75rem,4vw,3rem);display:flex;flex-direction:column;gap:1rem;}
.fp-feat .fp-feat-meta{display:flex;flex-wrap:wrap;gap:.5rem;font-family:'Inter',sans-serif;font-weight:300;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mid);margin:0;}
.fp-feat .fp-feat-meta span:not(:last-child)::after{content:'\00B7';margin-left:.5rem;color:var(--rule);}
.fp-feat .fp-feat-body h3{font-family:'Jost',sans-serif;font-weight:500;font-size:clamp(1.75rem,3vw,2.125rem);line-height:1.15;color:var(--ink);letter-spacing:-.01em;margin:0;}
.fp-feat .fp-feat-tagline{font-family:'Jost',sans-serif;font-style:italic;font-weight:300;font-size:1rem;line-height:1.55;color:var(--ink-mid);margin:0;}
.fp-feat .fp-feat-text{font-family:'Inter',sans-serif;font-weight:300;font-size:.95rem;line-height:1.7;color:var(--ink-mid);margin:0;}
.fp-feat .fp-feat-link{align-self:flex-start;font-family:'Inter',sans-serif;font-weight:500;font-size:.875rem;color:var(--wp--preset--color--accent-1);border-bottom:1px solid var(--wp--preset--color--accent-1);padding-bottom:2px;}
/* projects-archive (modifier gives higher specificity than the base .proj-arch rules below) */
.proj-arch{font-family:'Manrope',sans-serif;}
.proj-arch *,.proj-arch *::before,.proj-arch *::after{box-sizing:border-box;margin:0;padding:0;}
/* taxonomy grids (grade, sector, authority, topic, filtered), moved from Custom CSS */
.proj-arch .proj-filter{background:var(--cream);padding:clamp(1.75rem,4vw,3.125rem) var(--gutter);}
.proj-arch .proj-filter-inner{max-width:1180px;margin:0 auto;display:flex;flex-direction:column;gap:1.25rem;}
.proj-arch .proj-filter-row{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem .75rem;}
.proj-arch .proj-filter-label{font-family:'Manrope',sans-serif;font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);margin-right:.5rem;}
.proj-arch .proj-pill{font-family:'Inter',sans-serif;font-size:.8125rem;line-height:1;color:var(--ink-mid);background:var(--surface);border:1px solid var(--rule);border-radius:100px;padding:.6rem 1.1rem;text-decoration:none;transition:background .15s,border-color .15s,color .15s;}
@media (hover:hover) and (pointer:fine){.proj-arch .proj-pill:hover{border-color:var(--wp--preset--color--heru-taupe-hover);color:var(--ink);}}
.proj-arch .proj-pill.is-active{background:var(--primary);border-color:var(--primary);color:var(--wp--preset--color--white);}
.proj-arch .proj-grid-sec{background:var(--wp--preset--color--white);padding:clamp(3rem,6vw,4rem) var(--gutter);}
.proj-arch .proj-grid-inner{max-width:1180px;margin:0 auto;display:flex;flex-direction:column;gap:2rem;}
.proj-arch .proj-grid-head h2{font-family:'Jost',sans-serif;font-weight:600;font-size:clamp(1.5rem,2.4vw,2rem);line-height:1.15;color:var(--ink);letter-spacing:-.01em;}
.proj-arch .proj-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;list-style:none;padding:0;margin:0;}
.proj-arch .proj-grid>li{margin:0;}
.proj-arch .proj-card{display:flex;flex-direction:column;height:100%;background:var(--surface);border:1px solid var(--rule);padding:10px;text-decoration:none;color:inherit;overflow:hidden;transition:border-color .2s,transform .2s,box-shadow .2s;}
@media (hover:hover) and (pointer:fine){.proj-arch .proj-card:hover{border-color:var(--wp--preset--color--accent-1);transform:translateY(-2px);box-shadow:0 6px 24px color-mix(in srgb,var(--wp--preset--color--heru-ink) 7%,transparent);}}
.proj-arch .proj-card-img{position:relative;aspect-ratio:16/10;background-color:var(--deep);background-size:cover;background-position:center;}
.proj-arch .proj-card-meta{padding:1.5rem 1rem 1.75rem;display:flex;flex-direction:column;gap:.5rem;}
.proj-arch .proj-card-grade{font-family:'Manrope',sans-serif;font-weight:600;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--wp--preset--color--accent-1);}
.proj-arch .proj-card-meta h3{font-family:'Manrope',sans-serif;font-weight:700;font-size:1.3rem;line-height:1.2;color:var(--ink);}
.proj-arch .proj-card-meta p{font-family:'Manrope',sans-serif;font-weight:300;font-size:.875rem;line-height:1.5;color:var(--ink-mid);}
.proj-arch .proj-grid-empty{font-family:'Manrope',sans-serif;font-size:.95rem;line-height:1.6;color:var(--ink-mid);}
.proj-arch .proj-grid-empty a{color:var(--wp--preset--color--accent-1);}
@media(max-width:960px){.proj-arch .proj-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:600px){.proj-arch .proj-grid{grid-template-columns:1fr;}}
/* archive page rules */
.proj-arch.proj-arch--archive .eyebrow{display:inline-flex;align-items:center;gap:.625rem;font-family:'Inter',sans-serif;font-size:.72rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--wp--preset--color--accent-1);}
.proj-arch.proj-arch--archive .eyebrow::before{content:none;width:28px;height:1px;background:var(--wp--preset--color--accent-1);}
.proj-arch.proj-arch--archive .proj-filter{background:var(--cream);padding:clamp(1.75rem,4vw,3.125rem) var(--gutter);}
.proj-arch.proj-arch--archive .proj-filter-inner{max-width:1180px;margin:0 auto;display:flex;flex-direction:column;gap:1.25rem;}
.proj-arch.proj-arch--archive .proj-filter-row{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem .75rem;padding-bottom:1.25rem;border-bottom:1px solid var(--rule);}
.proj-arch.proj-arch--archive .proj-filter-row:last-child{border-bottom:none;padding-bottom:0;}
.proj-arch.proj-arch--archive .proj-filter-label{font-family:'Manrope',sans-serif;font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);margin-right:.5rem;}
.proj-arch.proj-arch--archive .proj-pill{font-family:'Inter',sans-serif;font-size:.8125rem;line-height:1;color:var(--ink-mid);background:var(--surface);border:1px solid var(--rule);border-radius:100px;padding:.6rem 1.1rem;text-decoration:none;cursor:pointer;-webkit-appearance:none;appearance:none;transition:background .15s ease,border-color .15s ease,color .15s ease;}
@media (hover:hover) and (pointer:fine){.proj-arch.proj-arch--archive .proj-pill:hover{border-color:var(--wp--preset--color--heru-taupe-hover);color:var(--ink);}}
.proj-arch.proj-arch--archive .proj-pill.is-active{background:var(--primary);border-color:var(--primary);color:var(--wp--preset--color--white);}
.proj-arch.proj-arch--archive .proj-feat{background:var(--cream);border-top:1px solid var(--taupe);padding:clamp(2.75rem,6vw,3.75rem) var(--gutter) clamp(3.25rem,7vw,4.5rem);}
.proj-arch.proj-arch--archive .proj-feat-inner{max-width:1180px;margin:0 auto;display:flex;flex-direction:column;gap:1.5rem;}
.proj-arch.proj-arch--archive .proj-feat-card{display:block;background:var(--surface);border:1px solid var(--rule);text-decoration:none;color:inherit;transition:border-color .2s ease;}
@media (hover:hover) and (pointer:fine){.proj-arch.proj-arch--archive .proj-feat-card:hover{border-color:var(--wp--preset--color--accent-1);}}
.proj-arch.proj-arch--archive .proj-feat-image{position:relative;min-height:380px;height:clamp(300px,38vw,466px);background-color:var(--deep);background-size:cover;background-position:center;border-bottom:1px solid var(--rule);}
.proj-arch.proj-arch--archive .proj-feat-image::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(45deg,transparent 0 12px,rgba(31,35,48,.03) 12px 13px);}
.proj-arch.proj-arch--archive .proj-feat-label{position:absolute;bottom:15px;left:15px;background:var(--surface);font-family:'Inter',sans-serif;font-style:italic;font-size:.72rem;color:var(--ink-light);padding:.3rem .625rem;letter-spacing:.02em;}
.proj-arch.proj-arch--archive .proj-feat-body{padding:clamp(1.75rem,4vw,3rem);display:flex;flex-direction:column;gap:1rem;}
.proj-arch.proj-arch--archive .proj-feat-meta{display:flex;flex-wrap:wrap;gap:.5rem;font-family:'Inter',sans-serif;font-weight:300;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mid);}
.proj-arch.proj-arch--archive .proj-feat-meta span:not(:last-child)::after{content:'\00B7';margin-left:.5rem;color:var(--rule);}
.proj-arch.proj-arch--archive .proj-feat-body h3{font-family:'Jost',sans-serif;font-weight:500;font-size:clamp(1.75rem,3vw,2.125rem);line-height:1.15;color:var(--ink);letter-spacing:-.01em;}
.proj-arch.proj-arch--archive .proj-feat-tagline{font-family:'Jost',sans-serif;font-style:italic;font-weight:300;font-size:1rem;line-height:1.55;color:var(--ink-mid);}
.proj-arch.proj-arch--archive .proj-feat-text{font-family:'Inter',sans-serif;font-weight:300;font-size:.95rem;line-height:1.7;color:var(--ink-mid);max-width:66ch;}
.proj-arch.proj-arch--archive .proj-feat-link{align-self:flex-start;font-family:'Inter',sans-serif;font-weight:500;font-size:.875rem;color:var(--wp--preset--color--accent-1);text-decoration:none;border-bottom:1px solid var(--wp--preset--color--accent-1);padding-bottom:2px;}
.proj-arch.proj-arch--archive .proj-grid-sec{background:var(--wp--preset--color--white);padding:clamp(3rem,6vw,4rem) var(--gutter);}
.proj-arch.proj-arch--archive .proj-grid-inner{max-width:1180px;margin:0 auto;display:flex;flex-direction:column;gap:2rem;}
.proj-arch.proj-arch--archive .proj-grid-head h2{font-family:'Jost',sans-serif;font-weight:600;font-size:clamp(1.5rem,2.4vw,2rem);line-height:1.15;color:var(--ink);letter-spacing:-.01em;}
.proj-arch.proj-arch--archive .proj-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;}
.proj-arch.proj-arch--archive .proj-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--rule);text-decoration:none;color:inherit;overflow:hidden;transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease;}
@media (hover:hover) and (pointer:fine){.proj-arch.proj-arch--archive .proj-card:hover{border-color:var(--wp--preset--color--accent-1);transform:translateY(-2px);box-shadow:0 6px 24px rgba(31,35,48,.07);}}
.proj-arch.proj-arch--archive .proj-card[hidden]{display:none;}
.proj-arch.proj-arch--archive .proj-card-img{position:relative;aspect-ratio:4/3;background-color:var(--deep);background-size:cover;background-position:center;border-bottom:1px solid var(--rule);}
.proj-arch.proj-arch--archive .proj-card-img::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(45deg,transparent 0 10px,rgba(31,35,48,.03) 10px 11px);}
.proj-arch.proj-arch--archive .proj-card-chip{position:absolute;bottom:.75rem;left:.75rem;background:var(--wp--preset--color--white);font-family:'Manrope',sans-serif;font-size:.68rem;color:var(--ink-mid);padding:.25rem .5rem;border-radius:2px;}
.proj-arch.proj-arch--archive .proj-card-meta{padding:1.5rem 1.5rem 1.75rem;display:flex;flex-direction:column;gap:.5rem;}
.proj-arch.proj-arch--archive .proj-card-grade{font-family:'Manrope',sans-serif;font-weight:600;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--wp--preset--color--accent-1);}
.proj-arch.proj-arch--archive .proj-card-meta h3{font-family:'Manrope',sans-serif;font-weight:700;font-size:1.3rem;line-height:1.2;color:var(--ink);}
.proj-arch.proj-arch--archive .proj-card-meta p{font-family:'Manrope',sans-serif;font-weight:300;font-size:.875rem;line-height:1.5;color:var(--ink-mid);}
.proj-arch.proj-arch--archive .proj-grid-empty{font-family:'Manrope',sans-serif;font-size:.95rem;line-height:1.6;color:var(--ink-mid);padding:.5rem 0;}
.proj-arch.proj-arch--archive .proj-grid-empty a{color:var(--wp--preset--color--accent-1);}
.proj-arch.proj-arch--archive .proj-grid-empty[hidden]{display:none;}
.proj-arch.proj-arch--archive .proj-browse{background:var(--deep);border-top:1px solid var(--rule);padding:clamp(3.5rem,7vw,5rem) var(--gutter);}
.proj-arch.proj-arch--archive .proj-browse-inner{max-width:1180px;margin:0 auto;display:flex;flex-direction:column;gap:2.5rem;}
.proj-arch.proj-arch--archive .proj-browse-head{max-width:720px;display:flex;flex-direction:column;gap:1rem;}
.proj-arch.proj-arch--archive .proj-browse-head h2{font-family:'Jost',sans-serif;font-weight:500;font-size:clamp(1.6rem,2.6vw,2.1rem);line-height:1.15;color:var(--ink);letter-spacing:-.01em;}
.proj-arch.proj-arch--archive .proj-browse-head h2 em{font-style:italic;color:var(--wp--preset--color--accent-1);}
.proj-arch.proj-arch--archive .proj-browse-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;}
.proj-arch.proj-arch--archive .proj-browse-col h4{font-family:'Jost',sans-serif;font-weight:500;font-size:1.2rem;color:var(--ink);margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:1px solid var(--rule);}
.proj-arch.proj-arch--archive .proj-browse-col ul{list-style:none;display:flex;flex-direction:column;gap:.7rem;}
.proj-arch.proj-arch--archive .proj-browse-col a{font-family:'Manrope',sans-serif;font-size:.95rem;color:var(--ink-mid);text-decoration:none;transition:color .15s ease;}
@media (hover:hover) and (pointer:fine){.proj-arch.proj-arch--archive .proj-browse-col a:hover{color:var(--wp--preset--color--accent-1);}}
.proj-arch.proj-arch--archive .proj-browse-col .ct{color:var(--ink-light);font-size:.85rem;margin-left:.25rem;}
@media (max-width:960px){.proj-arch.proj-arch--archive .proj-grid{grid-template-columns:repeat(2,1fr);}.proj-arch.proj-arch--archive .proj-browse-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:600px){.proj-arch.proj-arch--archive .proj-grid{grid-template-columns:1fr;}.proj-arch.proj-arch--archive .proj-browse-grid{grid-template-columns:1fr;}}
/* project-hero */
.proj-hero{position:relative;overflow:hidden;background:var(--primary);padding:clamp(4rem,9vw,7rem) var(--gutter);}
.proj-hero *,.proj-hero *::before,.proj-hero *::after{box-sizing:border-box;margin:0;}
.proj-hero .ph-bg{position:absolute;inset:0;background-color:var(--taupe);background-image:var(--ph-bg);background-size:cover;background-position:center;opacity:.55;}
.proj-hero .ph-overlay{position:absolute;inset:0;background:linear-gradient(90deg,var(--wp--preset--color--primary) 0%,rgba(57,64,62,.6) 55%,rgba(57,64,62,.25) 100%);}
.proj-hero .ph-inner{position:relative;z-index:1;max-width:1180px;margin:0 auto;display:flex;flex-direction:column;gap:1.75rem;}
.proj-hero .ph-content{max-width:800px;display:flex;flex-direction:column;gap:1.5rem;}
.proj-hero .eyebrow{font-family:'Inter',sans-serif;font-size:.75rem;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--wp--preset--color--accent-1);}
.proj-hero h1{font-family:'Jost',sans-serif;font-weight:600;font-size:clamp(2.25rem,4.5vw,3.25rem);line-height:1.08;color:var(--cream);letter-spacing:-.01em;max-width:18ch;}
.proj-hero h1 em{font-style:italic;color:var(--wp--preset--color--accent-1);}
.proj-hero .ph-sum{font-family:'Manrope',sans-serif;font-size:1.125rem;line-height:1.7;color:var(--wp--preset--color--white);max-width:640px;}
.proj-hero .ph-meta{display:flex;flex-wrap:wrap;gap:0;border-top:1px solid rgba(244,241,236,.22);padding-top:1.5rem;}
.proj-hero .ph-fact{display:flex;flex-direction:column;gap:.45rem;padding:0 2rem;position:relative;}
.proj-hero .ph-fact:first-child{padding-left:0;}
.proj-hero .ph-fact + .ph-fact::before{content:'';position:absolute;left:0;top:.15rem;bottom:.15rem;width:1px;background:rgba(244,241,236,.2);}
.proj-hero .ph-fact-label{font-family:'Inter',sans-serif;font-size:.7rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:rgba(244,241,236,.55);}
.proj-hero .ph-fact-value{font-family:'Manrope',sans-serif;font-size:.95rem;font-weight:600;color:var(--cream);text-decoration:none;transition:color .2s ease;}
@media (hover:hover) and (pointer:fine){.proj-hero .ph-fact-value:hover{color:var(--wp--preset--color--accent-1);}}
@media (max-width:680px){.proj-hero .ph-meta{flex-direction:column;gap:1.25rem;}.proj-hero .ph-fact{padding:0;}.proj-hero .ph-fact + .ph-fact::before{display:none;}}
/* project-overview */
.proj-ov{font-family:'Manrope',sans-serif;}
.proj-ov *,.proj-ov *::before,.proj-ov *::after{box-sizing:border-box;margin:0;padding:0;}
.proj-ov .po-topics{background:var(--cream);padding:clamp(1.5rem,3vw,2.5rem) var(--gutter);}
.proj-ov .po-topics-inner{max-width:1180px;margin:0 auto;display:flex;align-items:center;flex-wrap:wrap;gap:.6rem .75rem;}
.proj-ov .po-topics-label{font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);margin-right:.5rem;}
.proj-ov .po-tag{font-family:'Inter',sans-serif;font-size:.8125rem;color:var(--ink-mid);background:var(--surface);border:1px solid var(--rule);border-radius:100px;padding:.55rem 1.05rem;text-decoration:none;transition:border-color .15s ease,color .15s ease;}
@media (hover:hover) and (pointer:fine){.proj-ov .po-tag:hover{border-color:var(--wp--preset--color--accent-1);color:var(--wp--preset--color--accent-1);}}
.proj-ov .po-intro{background:var(--cream);border-top:1px solid var(--rule);padding:clamp(2.5rem,5vw,4rem) var(--gutter) clamp(3rem,6vw,4.5rem);}
.proj-ov .po-intro-inner{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(2rem,5vw,4rem);align-items:start;}
.proj-ov .po-intro-text{display:flex;flex-direction:column;gap:1.5rem;}
.proj-ov .po-lead{font-family:'Jost',sans-serif;font-weight:500;font-size:clamp(1.4rem,2.2vw,1.75rem);line-height:1.4;color:var(--ink);letter-spacing:-.005em;}
.proj-ov .po-body{font-family:'Inter',sans-serif;font-weight:300;font-size:1.0625rem;line-height:1.8;color:var(--ink-mid);}
.proj-ov .po-facts{background:var(--surface);border:1px solid var(--rule);padding:clamp(1.75rem,3vw,2.25rem) clamp(1.5rem,2.5vw,2rem) clamp(1.25rem,2.5vw,1.75rem);position:relative;}
.proj-ov .po-facts-mark{position:absolute;top:-1px;left:clamp(1.5rem,2.5vw,2rem);background:var(--wp--preset--color--accent-1);color:var(--wp--preset--color--white);font-family:'Inter',sans-serif;font-size:.7rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;padding:.4rem .875rem;}
.proj-ov .po-facts dl{margin-top:.75rem;}
.proj-ov .po-fact{display:grid;grid-template-columns:96px 1fr;gap:1rem;padding:.8rem 0;border-bottom:1px solid var(--rule);align-items:baseline;}
.proj-ov .po-fact:last-child{border-bottom:none;padding-bottom:0;}
.proj-ov .po-fact dt{font-family:'Inter',sans-serif;font-size:.75rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-light);}
.proj-ov .po-fact dd{font-family:'Jost',sans-serif;font-weight:500;font-size:1.05rem;line-height:1.35;color:var(--ink);}
.proj-ov .po-fact dd a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--rule);transition:border-color .15s ease,color .15s ease;}
@media (hover:hover) and (pointer:fine){.proj-ov .po-fact dd a:hover{color:var(--wp--preset--color--accent-1);border-color:var(--wp--preset--color--accent-1);}}
@media (max-width:860px){.proj-ov .po-intro-inner{grid-template-columns:1fr;}}
/* project-narrative */
.proj-narr{background:var(--wp--preset--color--white);padding:clamp(3rem,7vw,5rem) var(--gutter);}
.proj-narr *,.proj-narr *::before,.proj-narr *::after{box-sizing:border-box;margin:0;padding:0;}
.proj-narr .pn-inner{max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:2.75rem;}
.proj-narr .pn-sec{display:flex;flex-direction:column;gap:1.5rem;}
.proj-narr h2{font-family:'Jost',sans-serif;font-weight:500;font-size:clamp(1.6rem,2.8vw,2.125rem);line-height:1.18;color:var(--ink);letter-spacing:-.01em;}
.proj-narr h2 em{font-style:italic;color:var(--wp--preset--color--accent-1);}
.proj-narr p{font-family:'Inter',sans-serif;font-weight:300;font-size:1.0625rem;line-height:1.8;color:var(--ink-mid);}
.proj-narr ul{list-style:none;display:flex;flex-direction:column;gap:.75rem;margin:.25rem 0;}
.proj-narr li{position:relative;padding-left:1.5rem;font-family:'Inter',sans-serif;font-weight:300;font-size:1.0625rem;line-height:1.65;color:var(--ink-mid);}
.proj-narr li::before{content:'';position:absolute;left:0;top:.7rem;width:8px;height:1px;background:var(--wp--preset--color--accent-1);}
/* project-quote */
.proj-quote{background:var(--primary);padding:clamp(4rem,9vw,6.25rem) var(--gutter);}
.proj-quote *,.proj-quote *::before,.proj-quote *::after{box-sizing:border-box;margin:0;padding:0;}
.proj-quote .pq-inner{max-width:1000px;margin:0 auto;display:flex;gap:2.5rem;align-items:flex-start;}
.proj-quote .pq-mark{font-family:'Manrope',sans-serif;font-weight:400;font-size:7.5rem;line-height:.78;color:var(--wp--preset--color--accent-1);flex:0 0 auto;}
.proj-quote .pq-body{display:flex;flex-direction:column;gap:1.5rem;}
.proj-quote .pq-text{font-family:'Inter',sans-serif;font-weight:400;font-size:clamp(1.5rem,2.8vw,2.125rem);line-height:1.3;color:var(--cream);letter-spacing:-.01em;}
.proj-quote .pq-cite{font-family:'Inter',sans-serif;font-weight:500;font-size:.95rem;letter-spacing:.02em;color:rgba(244,241,236,.7);}
@media (max-width:680px){.proj-quote .pq-inner{gap:1rem;}.proj-quote .pq-mark{font-size:4.5rem;}}
/* project-endcap */
.proj-end{font-family:'Manrope',sans-serif;}
.proj-end *,.proj-end *::before,.proj-end *::after{box-sizing:border-box;margin:0;padding:0;}
.proj-end .eyebrow{display:inline-flex;align-items:center;gap:.625rem;font-family:'Inter',sans-serif;font-size:.72rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--wp--preset--color--accent-1);}
.proj-end .eyebrow::before{content:none;width:28px;height:1px;background:var(--wp--preset--color--accent-1);}
.proj-end h2{font-family:'Jost',sans-serif;font-weight:500;font-size:clamp(1.75rem,3vw,2.375rem);line-height:1.12;color:var(--ink);letter-spacing:-.015em;}
.proj-end h2 em{font-style:italic;color:var(--wp--preset--color--accent-1);}
.proj-end .pe-inner{max-width:1180px;margin:0 auto;display:flex;flex-direction:column;gap:2.5rem;}
.proj-end .pe-head{max-width:720px;display:flex;flex-direction:column;gap:1rem;}
.proj-end .pe-services{background:var(--cream);padding:clamp(3rem,6vw,4.5rem) var(--gutter);}
.proj-end .pe-svc-inner{max-width:1180px;margin:0 auto;display:flex;flex-direction:column;gap:2.5rem;}
.proj-end .pe-svc-head{max-width:760px;display:flex;flex-direction:column;gap:1rem;}
.proj-end .pe-svc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;}
.proj-end .pe-svc-grid.pe-svc-grid--1{grid-template-columns:1fr;}
.proj-end .pe-svc-grid.pe-svc-grid--3{grid-template-columns:repeat(3,1fr);}
.proj-end .pe-svc-card{display:flex;flex-direction:column;gap:.875rem;padding:2rem 2.25rem;background:var(--surface);border:1px solid var(--wp--preset--color--heru-border-soft);}
.proj-end .pe-svc-label{font-family:'Inter',sans-serif;font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--wp--preset--color--heru-gold);}
.proj-end .pe-svc-title{font-family:'Jost',sans-serif;font-weight:600;font-size:1.5rem;line-height:1.2;color:var(--ink);letter-spacing:-.005em;}
.proj-end .pe-svc-body{font-family:'Inter',sans-serif;font-size:.95rem;font-weight:400;line-height:1.65;color:var(--ink-mid);}
.proj-end .pe-svc-more{margin-top:.25rem;font-family:'Inter',sans-serif;font-size:.875rem;font-weight:600;color:var(--wp--preset--color--heru-green-link);text-decoration:none;display:inline-flex;align-items:center;gap:.4rem;}
@media (hover:hover) and (pointer:fine){.proj-end .pe-svc-more:hover{text-decoration:underline;}}
@media (max-width:980px){.proj-end .pe-svc-grid.pe-svc-grid--3{grid-template-columns:repeat(2,1fr);}}
@media (max-width:780px){.proj-end .pe-svc-grid,.proj-end .pe-svc-grid.pe-svc-grid--1,.proj-end .pe-svc-grid.pe-svc-grid--3{grid-template-columns:1fr;}}
.proj-end .pe-related{background:var(--cream);border-top:1px solid var(--rule);padding:clamp(3rem,6vw,4.5rem) var(--gutter);}
.proj-end .proj-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;}
.proj-end .proj-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--rule);text-decoration:none;color:inherit;overflow:hidden;transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease;}
@media (hover:hover) and (pointer:fine){.proj-end .proj-card:hover{border-color:var(--wp--preset--color--accent-1);transform:translateY(-2px);box-shadow:0 6px 24px rgba(31,35,48,.07);}}
.proj-end .proj-card[hidden]{display:none;}
.proj-end .proj-card-img{position:relative;aspect-ratio:4/3;background-color:var(--deep);background-size:cover;background-position:center;border-bottom:1px solid var(--rule);}
.proj-end .proj-card-img::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(45deg,transparent 0 10px,rgba(31,35,48,.03) 10px 11px);}
.proj-end .proj-card-meta{padding:1.5rem 1.5rem 1.75rem;display:flex;flex-direction:column;gap:.5rem;}
.proj-end .proj-card-grade{font-family:'Manrope',sans-serif;font-weight:600;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--wp--preset--color--accent-1);}
.proj-end .proj-card-meta h3{font-family:'Manrope',sans-serif;font-weight:700;font-size:1.3rem;line-height:1.2;color:var(--ink);}
.proj-end .proj-card-meta p{font-family:'Manrope',sans-serif;font-weight:300;font-size:.875rem;line-height:1.5;color:var(--ink-mid);}
.proj-end .pe-browse{margin-top:.5rem;padding-top:2.25rem;border-top:1px solid var(--rule);display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.625rem;}
.proj-end .pe-all{display:inline-flex;align-items:center;padding:.5rem 1rem;font-family:'Inter',sans-serif;font-size:.8125rem;font-weight:500;color:var(--wp--preset--color--accent-1);text-decoration:none;border:1px solid var(--wp--preset--color--accent-1);border-radius:100px;transition:background .15s ease,color .15s ease;}
@media (hover:hover) and (pointer:fine){.proj-end .pe-all:hover{background:var(--wp--preset--color--accent-1);color:var(--wp--preset--color--white);}}
@media (max-width:960px){.proj-end .proj-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:600px){.proj-end .proj-grid{grid-template-columns:1fr;}}
