/* Reveal and inspiration sections share the main site margins. */
@media (min-width:900px){
 #sketch-to-reality{padding:24px 0;scroll-margin-top:0}
 #sketch-to-reality .arch-compare-heading{gap:28px;margin-bottom:22px;align-items:center}
 #sketch-to-reality .arch-compare-kicker{font-size:9px;margin-bottom:12px}
 #sketch-to-reality h2{font-size:clamp(42px,4.2vw,64px);line-height:1.04}
 #sketch-to-reality .arch-compare-heading>p{font-size:14px;line-height:1.7;max-width:36ch}
 #sketch-to-reality .arch-compare-grid{gap:28px}
 #sketch-to-reality .arch-compare-caption{padding-top:12px;gap:10px;align-items:center}
 #sketch-to-reality .arch-compare-caption h3{font-size:26px}
 #sketch-to-reality .arch-compare-caption span{font-size:8px}
 #sketch-to-reality .arch-compare-explainer{font-size:10px;line-height:1.5;margin-top:14px;max-width:none}
 #sketch-to-reality .arch-compare-stage{left:16px;right:16px;top:16px}
 #sketch-to-reality .arch-compare-stage span{font-size:8px;padding:8px 10px}
}
#sketch-to-reality .arch-compare-visual img{object-fit:contain}
/* Three home films lead into one continuous editorial video gallery. */
.weekly-edit{scroll-margin-top:0;background:#1e211e;color:#f3eee6;padding:30px 0 26px}
.weekly-heading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;margin-bottom:24px;text-align:center}
.weekly-heading h2{font-size:clamp(38px,4vw,58px);line-height:1.08}
.weekly-heading>p{color:#c4c2b9;max-width:50ch;font-size:13px;line-height:1.65;margin:0 auto}
.weekly-track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,2.4vw,36px);width:100%;margin:auto}
.weekly-card{min-width:0}
.weekly-frame{position:relative;aspect-ratio:9/16;background:#302f29;overflow:hidden}
.weekly-frame video{display:block;width:100%;height:100%;object-fit:contain;outline-offset:-4px}
.weekly-caption{padding-top:15px;text-align:center}
.weekly-caption h3{font-family:var(--serif);font-size:clamp(21px,1.9vw,27px);font-weight:400;line-height:1.13;min-height:2.26em;margin:0 0 8px;color:inherit}
.weekly-caption p{font-size:12px;line-height:1.65;color:#c4c2b9;margin:0 auto;max-width:37ch}
.weekly-foot{border-top:1px solid #555950;margin-top:22px;padding-top:16px;display:flex;flex-direction:column;justify-content:center;gap:6px;align-items:center;text-align:center}
.weekly-foot p,.weekly-library-foot p{font-size:10px;color:#b6b7ad;line-height:1.5}
.weekly-edit .text-link,.weekly-library .text-link{font-size:11px;letter-spacing:.07em;color:#f3eee6;border-color:#86877a}
.weekly-motion-ready{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .9s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--motion-order,0)*100ms)}
.weekly-motion-ready.is-visible{opacity:1;transform:translateY(0)}
#portfolio-page.weekly-library{background:#1e211e;color:#f3eee6}
#portfolio-page.weekly-library .weekly-library-wrap{width:calc(100% - 112px);max-width:1510px;margin:auto;padding:36px 0 60px}
#portfolio-page.weekly-library .weekly-back{display:inline-flex;margin-bottom:30px;gap:12px}
#portfolio-page.weekly-library .weekly-heading{margin-bottom:38px}
#portfolio-page.weekly-library h1{font-family:var(--serif);font-size:clamp(45px,5.1vw,76px);font-weight:400;line-height:1.05;letter-spacing:-.035em;margin:0;color:inherit}
#portfolio-page.weekly-library .weekly-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:54px 32px;width:100%;margin:auto}
#portfolio-page.weekly-library .weekly-caption h3{font-size:27px}
#portfolio-page.weekly-library .weekly-caption p{font-size:14px}
#portfolio-page.weekly-library .weekly-library-foot{display:flex;align-items:center;justify-content:space-between;gap:28px;padding-top:28px;margin-top:45px;border-top:1px solid #555950}
@media(min-width:900px) and (max-height:720px){
 .weekly-edit{padding-top:32px}
 .weekly-heading{margin-bottom:18px}
 .weekly-heading h2{font-size:40px}
 .weekly-caption{padding-top:10px}
 .weekly-caption h3{font-size:21px}
 .weekly-caption p{font-size:11px}
}
@media(max-width:899px){
 .weekly-edit{padding:34px 0}
 .weekly-heading{align-items:center;gap:10px}
 .weekly-heading>p{max-width:44ch;font-size:12px}
 .weekly-track{gap:22px}
 .weekly-caption h3{font-size:21px;min-height:3.39em}
 #portfolio-page.weekly-library .weekly-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 24px;max-width:none}
}
@media(max-width:599px){
 .weekly-heading{display:block;margin-bottom:26px}
 .weekly-heading h2{font-size:43px}
 .weekly-heading>p{max-width:none;margin-top:12px}
 .weekly-track{grid-template-columns:1fr;gap:34px}
 .weekly-caption h3{min-height:0;font-size:27px;margin-bottom:10px}
 .weekly-caption p{font-size:13px}
 .weekly-foot{margin-top:30px;gap:6px}
 .weekly-foot p{max-width:none}
 #portfolio-page.weekly-library .weekly-library-wrap{padding:24px 0 38px}
 #portfolio-page.weekly-library .weekly-gallery{grid-template-columns:1fr;gap:38px}
 #portfolio-page.weekly-library .weekly-heading{margin-bottom:28px}
 #portfolio-page.weekly-library .weekly-heading>p{max-width:33ch}
 #portfolio-page.weekly-library .weekly-library-foot{align-items:flex-start;flex-direction:column;gap:20px}
}
@media(prefers-reduced-motion:reduce){.weekly-motion-ready{opacity:1;transform:none;transition:none}}

/* Retained individual design-note pages. */
#portfolio-page.weekly-entry .page-head{padding-top:24px}
#portfolio-page.weekly-entry .page-head h1{font-size:clamp(40px,4vw,65px);margin:10px 0 12px}
#portfolio-page.weekly-entry .page-head .eyebrow{margin:12px 0 0}
#portfolio-page.weekly-entry .edit-layout{display:grid;grid-template-columns:minmax(230px,.65fr) minmax(0,1fr);gap:clamp(30px,5vw,70px);align-items:start;max-width:1180px}
#portfolio-page .weekly-detail-film{width:auto;max-width:100%;height:min(650px,calc(100svh - var(--header) - 270px));min-height:340px;aspect-ratio:9/16;object-fit:contain;background:#302e29;margin:auto}
#portfolio-page.weekly-entry .edit-layout>div:first-child>p{max-width:38ch;margin:12px auto!important;font-size:11px}
#portfolio-page.weekly-entry .edit-layout>div>p{font-size:15px;line-height:1.7}
#portfolio-page.weekly-entry .facts{margin:25px 0;font-size:14px}
#portfolio-page.weekly-entry .consider{font-size:14px}
#portfolio-page.weekly-entry .consider h2{margin-bottom:15px}
#portfolio-page.weekly-entry .work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
#portfolio-page.weekly-entry .work-caption{position:static}
#portfolio-page.weekly-entry .edit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
#portfolio-page.weekly-entry .edit-card .media{height:440px;aspect-ratio:auto;background:#e4ddd2}
#portfolio-page.weekly-entry .edit-card img{object-fit:contain}

@media(max-width:899px){#portfolio-page.weekly-entry .edit-layout{grid-template-columns:1fr}}

/* Match the surrounding sections at every responsive breakpoint. */
@media(max-width:1250px){#portfolio-page.weekly-library .weekly-library-wrap{width:calc(100% - 76px)}}
@media(max-width:700px){#portfolio-page.weekly-library .weekly-library-wrap{width:calc(100% - 40px)}}
/* The portrait starts with the copy; the original photo is framed higher. */
@media(min-width:701px){#about .about-layout{align-items:start}#about .portrait img{object-position:center 48%}}
#contact{position:relative;isolation:isolate;overflow:hidden;background:#434343}
#contact .sketch-layer{opacity:.16;background-position:center 52%;background-size:cover;background-repeat:no-repeat}

/* Project invitations use the same editorial title treatment as Contact. */
#portfolio-page .cta-band h2{font-family:var(--serif);font-weight:400;font-size:clamp(44px,4.3vw,65px);line-height:1.06;letter-spacing:-.035em;max-width:17ch}
#portfolio-page .cta-band h2 em{font-family:inherit;font-weight:400;font-style:italic}
