/* This stylesheet applies only to the Chrysalis case study. */
.chrysalis-case-study{max-width:1440px;margin-inline:auto}
.chrysalis-case-study .project-heading{max-width:1120px}
.chrysalis-case-study .project-heading h1{font-size:clamp(54px,7.8vw,112px);max-width:1050px}
.chrysalis-case-study .project-services{color:var(--olive);line-height:1.8}
.chrysalis-introduction{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(30px,6vw,90px);padding:64px 0 48px;align-items:start}
.chrysalis-lead{font-family:'Italiana',Georgia,serif;color:var(--olive);font-size:clamp(27px,2.7vw,38px);line-height:1.25;letter-spacing:-.02em;margin:0}
.chrysalis-copy{max-width:590px;font-size:15px;line-height:1.85}
.chrysalis-copy p{margin:0 0 15px}
.chrysalis-copy p:last-child{margin-bottom:0}
.chrysalis-case-study .section-index{color:var(--olive);line-height:1.7;margin:0 0 18px}
.chrysalis-scope{padding:28px 0 48px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 3fr;gap:24px}
.chrysalis-scope h2{font-weight:400}
.chrysalis-scope ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:28px;row-gap:13px;font-size:12px;line-height:1.65}
.chrysalis-section{border-top:1px solid var(--line);padding:60px 0}
.chrysalis-section-intro{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,90px)}
.chrysalis-section h2{font-family:'Italiana',Georgia,serif;font-size:clamp(38px,4.3vw,60px);font-weight:400;line-height:1.08;letter-spacing:-.035em;color:var(--olive);max-width:470px;margin:0}
.chrysalis-website{padding:65px 0 70px;border-top:2px solid var(--olive)}
.chrysalis-website .chrysalis-section-intro{grid-template-columns:1.15fr 1fr}
.chrysalis-website h2{font-size:clamp(46px,5.7vw,80px);max-width:580px}
/* Uploaded artifacts stay uncropped and legible. Empty asset containers collapse. */
.chrysalis-visuals:empty{display:none}
.chrysalis-visuals{max-width:900px;margin:36px auto 0}
.chrysalis-website .chrysalis-visuals{max-width:1120px}
.chrysalis-visuals figure{margin:0;min-width:0}
.chrysalis-visuals img{display:block;width:100%;height:auto;object-fit:contain}
.chrysalis-visuals figcaption{font-size:11px;line-height:1.7;margin-top:10px}
.chrysalis-artifact-row,.chrysalis-photo-row{display:grid;grid-template-columns:repeat(var(--columns,2),minmax(0,1fr));align-items:start;gap:20px;margin-bottom:24px}
.chrysalis-photo-row{display:flex;gap:18px;align-items:start}
.chrysalis-photo-row>figure{flex:var(--image-ratio,1) 1 0}
.chrysalis-feature{margin-bottom:28px!important}
.chrysalis-mobile-view{max-width:280px;justify-self:center}
.chrysalis-case-study .project-navigation{margin-top:20px}
/* Only the separate editing preview reveals these named placements. */
.chrysalis-placement-plan{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:30px}
.chrysalis-upload-slot{border:1px dashed var(--olive);padding:28px 20px;font-size:13px;color:var(--olive);line-height:1.6}
.chrysalis-website .chrysalis-upload-slot:first-child{grid-column:1/-1;padding-block:65px}
.chrysalis-editing-note{padding:20px 5.5%;font-size:13px;line-height:1.8;border-bottom:1px solid var(--line)}
.chrysalis-editing-note a{text-decoration:underline}
@media(max-width:900px){.chrysalis-scope{grid-template-columns:1fr}.chrysalis-scope ul{grid-template-columns:repeat(2,minmax(0,1fr))}.chrysalis-photo-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.chrysalis-introduction,.chrysalis-section-intro,.chrysalis-website .chrysalis-section-intro{grid-template-columns:1fr;gap:25px}.chrysalis-introduction{padding:36px 0}.chrysalis-section{padding:38px 0}.chrysalis-website{padding:42px 0}.chrysalis-copy{font-size:14px;line-height:1.8}.chrysalis-scope{padding:25px 0 35px;gap:8px}.chrysalis-scope ul{font-size:11px;column-gap:20px;row-gap:11px}.chrysalis-artifact-row{grid-template-columns:1fr;gap:22px}.chrysalis-photo-row{gap:12px}.chrysalis-photo-row>figure:only-child{grid-column:1/-1;max-width:400px;margin-inline:auto}.chrysalis-visuals{margin-top:26px}.chrysalis-placement-plan{grid-template-columns:1fr}.chrysalis-case-study .project-heading h1{font-size:clamp(48px,12vw,74px)}}

/* Compact, uncropped website mockups: homepage feature above a supporting pair. */
.chrysalis-website .chrysalis-website-gallery{max-width:900px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
.chrysalis-website-gallery .chrysalis-website-homepage{grid-column:1/-1;width:100%;max-width:620px;justify-self:center}
@media(max-width:650px){.chrysalis-website .chrysalis-website-gallery{grid-template-columns:1fr;gap:18px;max-width:440px}.chrysalis-website-gallery .chrysalis-website-homepage{grid-column:auto}}
