/* Decorative transparent PNGs only. No guide, labels, panels or mascot actions. */
.mark .brand-mascot{display:block;width:42px;height:42px;object-fit:contain;flex-shrink:0}
.section-perch{position:relative;height:0;z-index:5;pointer-events:none;user-select:none}
.section-perch img{position:absolute;right:30%;height:280px;width:auto;max-width:none;top:-190px;display:block}
/* The approach CTA follows the heading rather than floating across it. */
.manifesto .sticky-cta{position:relative;top:auto;height:auto;justify-content:center;padding:0;margin-top:36px;z-index:3}
.manifesto .sticky-cta a{background:none;color:var(--bone);border:1px solid #ede7da66;border-radius:0;padding:14px 20px;font-size:10px;letter-spacing:.12em}
.manifesto .sticky-cta a:hover{background:#ede7da14}
.manifesto .sticky-cta a:focus-visible{outline:2px solid var(--bone);outline-offset:5px}
.manifesto .manifesto-seam{top:auto;bottom:18%}

/* Transparent figures fill deliberately reserved columns beside project copy. */
.project-figure{margin:0;pointer-events:none;user-select:none}
.project-figure img{display:block;width:100%;height:auto;object-fit:contain}
.isler-head.has-project-mascot{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:0;min-height:470px;padding-right:38%;max-width:none}
.has-project-mascot.isler-head .depth{margin-bottom:30px}
.has-project-mascot.isler-head .isler-p{margin-top:26px;max-width:450px}
.project-figure-intro{position:absolute;right:1%;top:50%;transform:translateY(-50%);width:min(29%,340px)}
.underground .isler-head.has-project-mascot{width:calc(100% - 10vw);margin:0 5vw 18vh}
.project-figure-flip img{transform:scaleX(-1)}
.is-row.has-project-mascot{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:24px 5vw}
.is-row.has-project-mascot>:is(.is-meta,.is-h,.is-side){grid-column:1}
.is-row>.project-figure-row{grid-column:2;grid-row:1 / span 3;width:min(100%,340px);justify-self:center;align-self:center}
.is-row.has-project-mascot:nth-child(even){grid-template-columns:minmax(0,1fr) minmax(0,1.5fr)}
.is-row.has-project-mascot:nth-child(even)>:is(.is-meta,.is-h,.is-side){grid-column:2}
.is-row.has-project-mascot:nth-child(even)>.project-figure-row{grid-column:1}
.underground .is-row.has-project-mascot{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:5vw;align-items:center}
.underground .has-project-mascot .gallery-project{grid-column:1;grid-row:1;width:100%;min-width:0}
.underground .is-row>.project-figure-row{grid-column:2;grid-row:1}
.underground .is-row.has-project-mascot:nth-child(even){grid-template-columns:minmax(0,1fr) minmax(0,1.5fr)}
.underground .has-project-mascot:nth-child(even) .gallery-project{grid-column:2}
.underground .is-row:nth-child(even)>.project-figure-row{grid-column:1}
.section-ornament{margin:0;pointer-events:none;user-select:none}
.section-ornament img{display:block;width:100%;height:auto;object-fit:contain}
.surec-lead{min-width:0}
.surec .surec-head{align-items:start}
.ornament-drawing{width:220px;margin:32px 0 0 30px}
.ornament-tools{width:min(100%,220px);margin:30px auto 0}
.contact-details{grid-column:2;grid-row:1 / span 2;position:relative;z-index:3;display:flex;flex-direction:column;gap:35px}
.contact-details .cta-list{width:100%;position:static}
.ornament-rest{width:220px;align-self:flex-end}
.ornament-rest img{transform:scaleX(-1)}
.underground .contact-details{display:flex;flex-direction:row;align-items:center;gap:8vw;max-width:1000px}
.underground .contact-details .cta-list{flex:1;max-width:440px;margin-top:0}
.underground .ornament-rest{width:min(28vw,300px);flex-shrink:0;align-self:center}
@media(max-width:1024px){
 .isler-head.has-project-mascot{min-height:360px}
 .underground .is-row.has-project-mascot{gap:30px;grid-template-columns:minmax(0,1.5fr) minmax(0,.8fr)}
 .underground .is-row.has-project-mascot:nth-child(even){grid-template-columns:minmax(0,.8fr) minmax(0,1.5fr)}
}
@media(max-width:700px){
 .manifesto .sticky-cta{margin-top:28px}
 .isler-head.has-project-mascot{padding-right:0;min-height:0}
 .underground .isler-head.has-project-mascot{width:100%;margin:0 0 8vh}
 .project-figure-intro{position:static;transform:none;width:170px;margin:26px 12px 0 auto}
 .is-row.has-project-mascot,.underground .is-row.has-project-mascot{display:flex;flex-direction:column;align-items:stretch;gap:24px}
 .is-row>.project-figure-row{width:170px;align-self:flex-end;margin-right:12px}
 .is-row:nth-child(even)>.project-figure-row{align-self:flex-start;margin-left:12px;margin-right:0}
 .ornament-drawing{width:150px;margin:24px 0 0 auto}
 .ornament-tools{width:140px;margin:24px 0 0 auto}
 .contact-details,.underground .contact-details{flex-direction:column;align-items:stretch;gap:24px}
 .ornament-rest,.underground .ornament-rest{width:165px;align-self:flex-start}
 .ornament-rest img{transform:none}
}
@media(max-width:1024px){
 .section-perch img{height:240px;top:-163px}
}
@media(max-width:700px){
 .mark .brand-mascot{width:34px;height:34px}
 .section-perch img{right:18px;height:180px;top:-122px}
 .hero-foot{align-items:flex-start;flex-direction:column;gap:10px;max-width:calc(100% - 210px);font-size:9px}
 .hero-foot>div:last-child{line-height:1.5}
}
@media(max-width:480px){
 .mark .brand-mascot{width:30px;height:30px}
 .mark{gap:6px}
}
@media(max-width:360px){
 .bar{padding-left:14px;padding-right:14px}
 .mark{font-size:12px;gap:4px}
 .mark .brand-mascot{width:26px;height:26px}
 .bar-right{gap:7px}
 .bar-right .pill{font-size:8px;padding:9px 8px}
 .section-perch img{height:155px;top:-105px;right:12px}
 .hero-foot{max-width:150px;font-size:8px}
}

.is-row:has(>.project-evidence)>.project-figure-row{grid-row:1 / span 4}
.underground .is-row>.project-figure-row{grid-row:1}

/* Consistent footing without modifying or darkening the approved PNGs. */
.project-figure-row{position:relative;padding-bottom:10px}
.project-figure-row::after{content:'';position:absolute;left:18%;right:18%;bottom:0;height:12px;border-radius:50%;background:radial-gradient(ellipse,#100b0880,transparent 70%);z-index:-1}
@media(max-width:700px){.is-row>.project-figure-row{width:150px}.project-figure-intro{width:145px}.ornament-drawing{width:130px;margin-top:14px}}

/* Project details: the same decorative PNG rhythm as the home page.
   Text keeps its own column; figures never become controls or reading content. */
.case .cs-mascot{position:relative;isolation:isolate;margin:0;width:210px;max-width:100%;pointer-events:none;user-select:none;align-self:end}
.case .cs-mascot img{display:block;width:100%;height:auto;object-fit:contain}
.case .cs-mascot::after{content:'';position:absolute;left:16%;right:16%;bottom:-3px;height:12px;background:radial-gradient(ellipse,#14131024,transparent 70%);border-radius:50%;z-index:-1}
.case .dark .cs-mascot::after,.case .cs-end .cs-mascot::after{background:radial-gradient(ellipse,#0008,transparent 70%)}
.case .cs-mascot--inward img{transform:scaleX(-1)}
.case .cs-hero-details{position:relative;z-index:3;display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:7vw;align-items:center;margin-top:38px}
.case .cs-hero-copy{min-width:0}
.case .cs-hero-copy .cs-lead{margin-top:0}
.case .cs-hero-copy .cs-facts{margin-top:38px}
.case .cs-mascot--hero{width:240px;align-self:center}
.case .cs-label-illustrated .cs-aside{position:sticky;top:120px;display:flex;flex-direction:column;align-items:flex-start;gap:38px}
.case .cs-label-illustrated span{position:static}
.case .cs-mascot--aside{align-self:center}
.case .cs-cta-illustrated{display:block}
.case .cs-contact-stage{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:7vw;align-items:end;width:100%;border-bottom:6px solid #89765b}
.case .cs-contact-stage::after{content:'';position:absolute;z-index:-1;top:100%;left:calc(-1 * var(--pad));right:calc(-1 * var(--pad));height:100vh;background:#28231c;border-top:6px solid #89765b}
.case .cs-contact-stage .cs-contact-copy{padding-bottom:32px}
.case .cs-end .cs-all,.case .cs-end .cs-foot{position:relative;z-index:1}
.case .cs-contact-copy{display:flex;flex-direction:column;align-items:flex-start;gap:28px;min-width:0}
.case .cs-mascot--end{width:220px;align-self:end;transform:translateY(29%)}
.case .cs-mascot--end::after{display:none}
@media(max-width:1024px){
 .case .cs-label-illustrated,.case .cs-label-illustrated .cs-aside{display:contents}
 .case .cs-label-illustrated span{grid-column:1;grid-row:1}
 .case .cs-label-illustrated+.cs-body{grid-column:1;grid-row:2}
 .case .cs-mascot--aside{grid-column:1;grid-row:3;width:140px;justify-self:end;margin:0 12px 0 0}
 .case .cs-block:nth-of-type(odd) .cs-mascot--aside{justify-self:start;margin:0 0 0 12px}
 .case .cs-hero-details{gap:32px}
}
@media(max-width:700px){
 .case .cs-hero-details{grid-template-columns:minmax(0,1fr);gap:28px;margin-top:28px}
 .case .cs-mascot--hero{width:150px;justify-self:end;margin-right:12px}
 .case .cs-hero-copy .cs-facts{margin-top:32px}
 .case .cs-cta-illustrated{padding-bottom:88px}
 .case .cs-contact-stage{grid-template-columns:minmax(0,1fr);gap:0}
 .case .cs-contact-stage .cs-contact-copy{padding-bottom:0}
 .case .cs-mascot--end{width:140px;justify-self:end;margin-right:12px}
}

/* The hanging-leg pose belongs on a real layout edge, never over a ground shadow. */
.contact-details{border-bottom:6px solid #89765b;margin-bottom:100px}
.contact-details .cta-list{padding-bottom:26px}
.contact-details .ornament-rest{position:relative;align-self:flex-end;transform:translateY(29%)}
.underground .contact-details{align-items:flex-end}
@media(max-width:700px){.contact-details{margin-bottom:70px}.contact-details .cta-list{padding-bottom:0}.contact-details .ornament-rest{align-self:flex-end}}
