/* Shared project opening, based on the approved Breadboard Fuzz frame. */
.project-page{margin:0;--project-paper:var(--study-background,#F8F8F6);--project-ink:var(--study-ink,#0D2565);background:var(--project-paper);color:var(--project-ink)}
.project-page a{color:inherit;text-decoration:none}
.project-page .project-page-header{position:absolute;inset:0 0 auto;background:var(--project-paper);color:var(--project-ink)}
.project-page .project-shell{box-sizing:border-box;width:100%;max-width:1120px;margin:0 auto;padding:0 32px 48px}
.project-opening{padding:32px 0 44px;min-width:0}
.project-masthead{height:132px;margin:0 0 42px;border-bottom:1px solid currentColor}
.project-opening .project-opening-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:48px;align-items:start;margin:0;padding:0}
.project-opening .project-copy,.project-opening .handbag-main{min-width:0}
.project-opening .project-kicker{font-size:20px;line-height:1.4;margin:0 0 22px;max-width:450px;letter-spacing:0;text-transform:none;opacity:1}
.project-opening .project-title{font-weight:400;font-size:clamp(46px,5.1vw,64px);line-height:1.13;letter-spacing:-.5px;white-space:normal;text-wrap:balance;max-width:none;margin:0 0 24px}
.project-opening .project-intro{width:100%;max-width:45ch;font-size:24px;line-height:1.48;margin:0}
.project-opening .project-visual{width:100%;min-width:0;margin:0;align-self:center;justify-self:center}
.project-opening .project-visual img{max-width:100%}
.project-opening .handbag-photo{max-width:360px;padding-top:12px}
.project-opening .handbag-object{max-width:350px;margin:24px auto 0}
.project-opening .restitch-preview{max-width:400px;padding-top:12px}
.project-opening .restitch-preview figcaption{font-size:15px;line-height:1.4}
.project-opening .tidle-demo{min-height:350px;border-radius:28px 22px 31px 24px;overflow:hidden}
.project-opening .tidle-project-strapline{font-size:24px;line-height:1.3;margin:0 0 20px}
.project-opening .tidle-project-link{margin-top:26px;font-size:18px;border:0;border-bottom:1px solid currentColor;border-radius:0;padding:0 0 4px}
.project-opening .project-photo-lead{padding-top:12px}
.project-photo-lead .photograph{width:100%;max-width:300px;margin:0 auto}
.project-photo-lead .photograph>a{border-radius:18px 14px 21px 16px}
.project-photography .project-title{font-size:clamp(46px,4.5vw,60px)}
.project-photography .project-intro{font-size:22px}
.project-photography .project-meta{font-size:14px;line-height:1.4;gap:12px 24px}
.project-photography .photo-gallery{max-width:880px;margin:24px auto 0}
.project-shell .tidle-features{padding:16px 0 48px}
.project-shell .tidle-gallery{padding:36px 0 48px}
.project-shell .tidle-screens{min-width:0;max-width:100%}
.project-footer{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;margin-top:36px;padding:22px 0 12px;border-top:1px solid color-mix(in srgb,currentColor 25%,transparent);font-size:18px}
.project-footer a{padding:10px 0}.project-footer a:hover{text-decoration:underline;text-underline-offset:5px}
.project-page .photography-footer{width:calc(100% - 64px);max-width:1056px}
@media(min-width:1536px){
 .project-page .project-shell{max-width:1536px;padding-inline:50px}
 .project-opening{padding-top:15px}
 .project-masthead{height:146px;margin-bottom:46px}
 .project-opening .project-opening-grid{grid-template-columns:minmax(0,480px) minmax(0,1fr);gap:25px}
 .project-opening .project-title{font-size:66px}
 .project-opening .project-kicker{font-size:22px;margin-bottom:29px}
 .project-opening .project-intro{font-size:27px;line-height:1.42;max-width:453px}
 .project-photography .project-title{font-size:60px}
 .project-photography .project-intro{font-size:22px}
 .project-page .photography-footer{max-width:1436px;width:calc(100% - 100px)}
}
@media(max-width:999px){
 .project-page .project-shell{max-width:760px;padding:0 24px 36px}
 .project-opening{padding:26px 0 36px}
 .project-masthead{height:132px;margin-bottom:32px}
 .project-opening .project-opening-grid{grid-template-columns:minmax(0,1fr);gap:28px}
 .project-opening .project-kicker{font-size:18px;line-height:1.4;margin-bottom:19px}
 .project-opening .project-title{font-size:clamp(40px,8.8vw,60px);line-height:1.15;margin-bottom:22px}
 .project-opening .project-intro{font-size:23px;line-height:1.48}
 .project-opening .project-visual{max-width:520px;padding-top:0}
 .project-opening .handbag-object{display:none}
 .project-opening .handbag-photo{max-width:320px}
 .project-opening .restitch-preview{max-width:400px}
 .project-opening .project-photo-lead{max-width:300px;justify-self:end}
 .project-opening .project-photo-lead .photograph{max-width:280px}
 .project-photography .project-intro{font-size:20px}
 .project-page .photography-footer{max-width:712px;width:calc(100% - 48px)}
 .project-shell .tidle-features{gap:24px}
}
@media(max-width:700px){
 .project-opening .project-title{font-size:clamp(40px,8.8vw,60px)!important;line-height:1.15!important;text-align:left!important}
 .project-opening .tidle-demo{min-height:260px}
 .project-opening .project-photo-lead{max-width:260px}
 .project-opening .project-photo-lead .photograph{width:100%;max-width:260px}
 .project-opening .project-meta{font-size:13px}
 .project-footer{font-size:16px;gap:12px}
}
@media(max-width:380px){
 .project-page .project-shell{padding-inline:18px}
 .project-opening .project-title{font-size:39px!important;letter-spacing:-.5px}
 .project-opening .project-intro{font-size:21px;line-height:1.5}
 .project-photography .project-intro{font-size:19px}
 .project-page .photography-footer{width:calc(100% - 36px)}
}
